技術

ACM CHI2024参加

2024年7月10日 (水) 投稿者: メディア技術コース

メディア学部・技術コースの加藤です。

先月、5月10〜18日の間、国際学会ACM CHI2024に参加するためにハワイ出張に行きました。

ヒューマン・コンピュータ・インタラクション(HCI)の研究分野において最も規模が大きく、権威のある国際学会です。

20240604-00216

今回、LINEヤフー研究所、お茶の水女子大学、東京大学との共同研究 FoodSkinという研究の口頭発表をしてきました。

ACM CHIという学会ですが、なんと来年は日本(横浜)にて開催されます!https://chi2025.acm.org/

せっかくなので来年は学生を連れて行きたいなぁ。

 

Kunihiro Kato*, Kaori Ikematsu*, Hiromi Nakamura, Hinako Suzaki, and Yuki Igarashi. FoodSkin: Fabricating Edible Gold Leaf Circuits on Food Surfaces. In Proceedings of the 2024 CHI Conference on Human Factors in Computing Systems (CHI'24), Article No.358, pp.1–17, (2024). (*joint first authors) [DOI] [Video] [Presentation Video]

2024年7月10日 (水)

情報システムにおけるストックホルム症候群

2024年7月 8日 (月) 投稿者: メディア技術コース

 企業や学校などあらゆる組織で情報システム(近年のバズワードで言うとDX)が活用されるようになりました。東京工科大学でも遅ればせながら2023年度からペーパーレスが実現され、教職員の物品購入や出張外出経費精算をPCだけで行えるようになりました。以前は紙に書いて(またはPCで印刷して)捺印して提出だったのを変えたのはたいへん素晴らしいことです。
 
 とは言え、今回の学内のシステムはお世辞にも素晴らしいとは言えない代物でした。いろいろ細かい文句を言うとたぶん100個ぐらいこのブログ記事が書けます。ただ、そのようなシステムは珍しいことではないです(だからそれで良いとは思いませんが)。私はこれまで大企業、ベンチャー企業、外資系企業、大学で勤務してきましたが、これぞ素晴らしい出来栄えの社内ITシステムだ、というものは皆無ではないもののほとんどありません。
 
 話を新しい学内システムに戻すと、ほかの多くの教員と同様、私も使い方がわからなくなると事務局の担当部門に内線電話で質問します。操作方法を逐一指示してもらい、それで解決します。担当の事務の方々はいやな態度を微塵にも出さずていねいに対応して下さり、頭の下がる思いです。
 
 一度操作方法がうまく行けば、その途中状態を保存しておき(保存できます)あとで再利用すればいい、という誘惑にかられます。事務の担当者と話すと、それはやらない方がいい、とおっしゃいます。なぜか。それは、面倒でも操作を何回も繰り返す方が結局ちゃんと身に付くからです。
 
 確かに、このような社内申請は同じ種類で中身が異なるものを何度も繰り返し行います。そうすれば、まるでジャングルのような込み入ったところでもいつも同じ場所を通るうちにやがて進み方を憶えて速く進めるのと同様、事務作業は効率よくできるようになります。初めて行う操作でわからないときは電話で尋ね、二度目からは忘れた場合でもマニュアルのどこを読めばいいかわかるので何とかなります。
 
 習うより慣れろ、という何ともアナログな昭和な感じのやり方ですが、使うシステムに文句をいうよりもさっさと身に付けるのが得策です(ついでにこのようなブログネタを一個増やしてくれたのだからそれもお得でした)。
 
 もしかしたらこのシステムを提供した会社はそこまでちゃんと見越してジャングルのようなソフトを開発したのかもしれません。皮肉ではなく本当にそう思います。事実そのシステムは長年多くの企業で採用されているようです。
 
 事務の方も言われていましたが、慣れて行けばだんだん負荷も少なくなっていくのでそれはそれでいいですよとのことです。私はまるで「ストックホルム症候群」のようですね、と申し上げました。ストックホルム症候群をその方はご存じなかったので、ぜひ今すぐ検索してみてくださいね、と言って長い電話を切りました。
 
 ちなみに最初のほうで言及した「これぞ素晴らしい出来栄えの社内システム」の一例はまたの機会でご紹介します。
 
メディア学部 柿本正憲

2024年7月 8日 (月)

点群データの問題と見せかけて透視投影の問題(続き)

2024年5月31日 (金) 投稿者: メディア技術コース

 前回記事の続きです。
 
 実世界を計測してxyz座標を得た点群データに対し、これを直接CG画像として描画する研究事例を授業で紹介しました。
 
 1_20240521164801
 
 この画像を見ると描画時の視点に近い方は点群がまばらに分布しています。一方遠くの方は密に分布し、画面上で一定サイズに設定した円盤状の点はすき間なく描画されています。なぜそのように見えてしまうのか、という問題でした。
 
 レーザーを照射した計測点の位置に対して、描画時の仮想視点が前方にありその視野角が計測時の視野角より大きいから、というのがその答えです。これを図示して考えてみます。
 
 Photo_20240521174101
 
 左の図のうち、白く描いたのはレーザー計測時のレーザー光線です。一定範囲の視野角の中で多数のレーザー光を照射しますがここでは6本だけ模式的に示しています。赤く描いたのは描画時に設定したカメラ(視点)位置から視界が拡がる様子です。長短の水平線は視界を区切るために設定する必要のあるクリッピング面です。
 
 右の図は描画時にシステムが実行する投影変換(透視投影)の結果です。ちょうど左図の視界の台形(逆台形)部分が正方形になるような空間の変換が行われます(もちろん実際には3次元空間でのことで、台形は四錐台に、正方形は立方体になります)。左の赤い線は「カメラ座標系」での視界で、右の赤い四角は「正規化デバイス座標系」(あるいはクリッピング座標系)での視界です。
 
 正規化デバイス座標系の図に付記した小さな矢印は視点からの視線の向きです。視点に近い方ではレーザー光線の間隔が大きく、遠い方ではその間隔が小さいことがわかります。
 
 各点群は必ずどれか1本のレーザー光線上の1点に位置します。視点からの距離によってレーザー光線の分布間隔が狭くなっていくことが、近くの点群はまばらに見え遠くの点群が密に見える理由です。
 
 点群の性質に関する問題のように見えて実は透視投影を理解しているかを判定することができる問題です。研究としての意味は薄いですが、3次元CG技術の教育上はたいへん興味深い問題と言えます。
 
メディア学部 柿本正憲

2024年5月31日 (金)

点群データの問題と見せかけて透視投影の問題

2024年5月29日 (水) 投稿者: メディア技術コース

 メディア学部3年次前期の専門科目「3次元コンピュータグラフィックス論」では毎週の授業で事前に履修生から質問を募り、授業時間ではその回答に時間を割いています。その質問の中で面白いトピックがあったので紹介します。
 
 その日の授業テーマは「モデリングシステム」です。その中で実物を直接計測してCGモデルを作成する技術をいくつか紹介しました。計測した点群情報を直接CG表示する事例として、メディア学部の演習講師でもある渡邉賢悟先生の研究を紹介しました。以下はそのスライドです。
 
 1_20240521164801
 
 これに対して次のような質問がありました。
 
『画像を見ると、端の方が中心に比べて点群の間隔が広くなっているように見えるのですが、レーザー計測には近い距離ほど計測しづらいという特徴があるのでしょうか?』
 
 私の回答は以下の通りです。
 
--------------------------
 いいえ。
 
 計測点から一定間隔でレーザー照射向きの角度を変えながら計測します。むしろ遠くなるほど範囲が拡がり点群の間隔も広くなります。
 
 ではなぜ近い所がまばらになって見えるのか。ちょっと考えてみてください。
 
 これがわかった人は空間把握と分析の感覚が鋭いと思います。
 
 私も考え付くのに少し時間がかかりました。その理由はおそらく「計測した際のレーザー発生点よりも描画の際の視点がより前方にあり視野角も広いから」だと思います。描画時の視点に近い場所はより強く拡大され、結果的にまばらに見えてしまうのでしょう。
 
 授業中に板書で図示して説明します。
 
 この質問は、点群に関する知識や性質を問うというより、透視投影を理解しているかを問うクイズのようなものですね。興味深いです。
--------------------------
 
 長くなりますのでこれの解説は次回とします。
 
メディア学部 柿本正憲

2024年5月29日 (水)

ルールベースと生成AIを併用したTRPGゲームマスターのシステムを試作

2024年3月 6日 (水) 投稿者: メディア技術コース

皆さん、こんにちは。メディア技術コースの松吉です。

2024年2月29日と3月1日に開催された人工知能学会 言語・音声理解と対話処理研究会 第100回研究会という研究発表会で発表した研究について紹介します。本学大学院の三上・兼松研究室に所属する武田さんが以下の研究タイトルで外部発表してくれました。

テーブルトーク・ロールプレイングゲーム(TRPG)とは、物語のシナリオに従って、人間同士で会話を交わしながらRPGの冒険や戦闘を繰り広げていく、複数人参加型のゲームです。コントローラーのボタンをポチポチ押すのではなく、自由会話により物語が進んでいくことがTRPGのウリです。TRPGでは、参加者のうち1名が司会を務めます。この司会者はゲームマスターと呼ばれます。ゲームマスターは、事前にシナリオを読み込んで本番に備え、ゲーム本番ではルールブックを参照してルールに従ってTRPGを仕切ります。ゲームマスターは、プレイヤーたちと会話し、物語がうまく進行するように努めます。

テレビゲームやソーシャルゲームのRPGも楽しいですが、複数人で自由会話によりワイワイ遊べるTRPGもとても楽しいゲームです。動画配信サイトなどでTRPGのゲームプレイを見たことがある人も結構いるのではないかと思います。

TRPGを遊ぶうえで、ゲームマスターが不足しているという問題があります。武田さんは、この問題を解決することを目的に、コンピューターにTRPGのゲームマスターを担当させるという研究に取り組み、ゲームマスターのプログラムを試作しました。現在の生成AIは悪意なくハルシネーション(事実ではないこと)を出力してしまいます。ですので、「シナリオを元にルールに従って正確な発言を行う」仕組みと「生成AIを用いて自由度の高い応答を返す」仕組みの両方を採用したシステムとしました。システムの全体像を以下に示します (クリックで大きい画像が表示されます)。各部分を詳しく説明することはしませんが、プレイヤーの発言を自動解析し、それに基づいて図の左下のほうでゲームマスターの発言を自動生成しています。

Takedaai

実際に、コンピューターのゲームマスターシステムに仕切らせて、人間のプレイヤー3名にTRPGを遊んでもらうという評価実験を実施しました。複数人の自由会話によりゲームを進めていますので、構造が複雑でないシナリオでも、エンディングまで5~6回、ゲーム進行不能という状況が発生しました。ですが、事後のアンケートにおいて、プレイヤーから「親近感が湧いて遊びやすかった」、「プレイヤー間の会話にシステムがツッコミを入れてて楽しかった」などの好意的なコメントをもらうことができました。

まだまだ改善すべき点があり、人間のゲームマスターと比べると、うまくできないことが多いです。ですが、ゲーム進行の正確さと柔軟さを兼ね備えたシステムとして、及第点以上の「第1歩」になったのではないかと思います。

本学のメディア学部では、TRPGに限らず、広くゲームやゲームAI、ゲームストーリー等について研究している研究室が複数あります。これらに興味がある方はぜひメディア学部の各研究室の研究活動を調べてみてください。

 

(文責: 松吉俊)

 

2024年3月 6日 (水)

用語発明術の重要性

2024年2月16日 (金) 投稿者: メディア技術コース

 前回記事では、研究の過程や発表において、新たに考案した物事や概念に新しい名前を考えて付与することについて話しました。良い名前の条件も紹介しました。
 
 今日の記事では研究に限らず、専門性を含む活動全般でそのような「用語発明」が重要であることを話します。
 
 プログラミングはその典型的な活動です。少しでも経験したことのある人は分かると思いますが、プログラムを書くことは新しい名前を発明することの連続です。
 
 特定のデータを表すためには変数名を発明する必要があります。ある一つのまとまった処理の単位に対しては関数名を考案する必要があります。このときも前回紹介した良い名前の条件、特に(2)(具体的)(3)(そもそも何なのかの前提)(6)(誤解されない)がプログラミングにおいても重視されます。
 
 名前を付けるということは、当たり前ですがあとでその名称を使う場合があるということです。使われる状況としてさまざまな場面が想定されます。適切な名称であればその事物あるいは機能が何であるかすぐ理解できます。そうすると、その名称を使うプログラムを読むときに進行中の思考を円滑に展開できます。そのような名称を付けるのは簡単なようで意外と難しいです。
 
 一般に良い名前を付けるには時間をかけて考える必要があるということは前回記事でも言いました。プログラミングでも同じで、変数名一つ付けるのに半日かけるというようなことも珍しくないです。これはひとえに、後から名前を使う場面(自分以外の人が使うこともある)での思考の流れを妨げないためです。
 
 そこまで神経質にならなくてもよいのでは、と思うかもしれません。確かに、1回使えばいいだけのプログラムや行数の短いプログラムならそれでいいでしょう。でもどんどん機能追加して行数が長くなるプログラムでは、各種名称が適切であることは重要です。最初の命名時に時間をかけて熟慮する必要があります。
 
 そのほかにもプログラミングにおいて各種の名称を付けることがなぜ大事か、なぜ時間をかける必要があるか、学会誌の記事としてそのことを紹介しました。プログラミングをある程度行う人であればぜひ読んでみて欲しいです。
 
柿本正憲, 命名に時間をかけよう, 特集 フレッシュマンに向けたプログラミングのススメ, 情報処理, Vol.60, No.6, pp.494-497, June 2019
 
 冒頭で「専門性を含む活動全般で」用語発明が重要であることを話すと言いながら、プログラミングだけの話になりました。あと一回まったく別の事例をいずれ紹介します。

メディア学部 柿本正憲

2024年2月16日 (金)

プログラミング教育は本当に必要なくなったのか?

2023年12月11日 (月) 投稿者: メディア技術コース

昔からプログラミングは必要なのか,その教育も必要なのか的なお話をちらほら聞きます.特に,去年末(3.0)から今年の頭(3.5)に公開され,流行り始めたChatGPTがプログラミングコードも生成してくれるので,そのような意見が強まった気がします.しかし,本当にプログラミング教育は意味をなさなくなってきたものでしょうか?このことに対して,私が学部生であった2006年とその10年後の2016年の出来事を思い出したものです.

2006年は,ちょうどグーグル機械翻訳サービスが始まった時期です.どこの大学・学科でも学部生は必須で英語を必須科目として受講すると思いますが,ある日クラスメートが講師の先生に「機械翻訳が発達すれば,こんなに英語を勉強する必要があるのか」問いかけたものです.当時,留学1年も立たず日本語もそこまで流暢にしゃべれなかった私は使えるかと思って,あれこれ性能チェックをしたものでしたが,当時の機械翻訳の性能なんてそんなに使えるレベルのものではないのが分かっていたので,考慮する価値のないお話だと思っていました.しかし,それに対する先生の対応が素晴らしかったのだけは覚えています.細かい文言はもはや思い出せませんが,肝心な内容は次のようなものだったと覚えています.

そうかも知れません.しかし,その翻訳が正しいかどうかをチェックするにも英語能力は必要になります.

2016年にはそのグーグル翻訳が,翻訳エンジンをニューラルネット基盤に変えるとの発表があり,2017年当たりからはグーグル翻訳は物凄く改善された話をあちこち耳にしてきたものです.今度はどこかの教室での雑談ではなく,れっきとしたニュースメディアにも似たような話をしているのをみかけたものです.しかしながら,上記の指摘はいくら技術が発達してきても通用する話だと思います.当時の記事でも,似たような話でまとまった気がします.同じ論理がプログラミング教育にも通用するものではないでしょうか.プログラミングもある種の言語であり,似たような話になってくると思います.実際,「プログラミング言語」と呼びますね?

その特殊な言語を仕事としては使わない人ならば,多くの学習時間を費やさず通訳家を雇うのは悪くない選択肢だと思います.しかしながら,一回切りで終わる程度の頻度ではなく,ずっと何かをやっていくような状況,つまり仕事としてその言語を使い続ける分には,最初から通訳なしに自分でもお話できるようになるのがベストだと思います.

もし,それが本当に難しく,常に通訳を伴うような状況を想定しても,通訳が正しいかどうかを判断する程度の能力は必要です.社会学あたりには似たような状況の「プリンシパル=エージェント問題」というものもあるそうです.しかし,まだ意思も持たず依頼主を騙したことで利益も得ない人工知能ツールにそのようなややこしい概念まで入れなくても,それが出力してくれるものが正しいものなのかが判断できる程度の能力を備える必要はあると思います.

 

メディア学部 盧 承鐸

2023年12月11日 (月)

八王子市内の飲食店を元気にするプロジェクト演習『企業・団体のプロモーション技法』の活動事例

2023年11月24日 (金) 投稿者: メディア技術コース

人体を健康メディアとしてとらえメディアをつかって自らの健康をデザインするための研究を行なうという新しい研究領域としての健康メディアデザイン研究室の千種(ちぐさ)です。

今回はメディア学部のプロジェクト演習「企業・団体のプロモーション技法」の1コマの活動を紹介したいと思います。このプロジェクト演習は企業やボランティア団体の活動を支援するためにイベント広報や販売促進用の出版物・紙媒体を制作する課題を100分で、課題提示・デザイン制作・デザインレビュー、を実施するユニークな演習です。

この演習の目的は以下としています。
・実際に使用されるデザインを制作する
・短時間でイメージをデザインに落とし込むトレーニングを半年間で14回実施
・多くの学生のデザイン制作物とそのデザインレビューに参加
・プロのデザイナーによるデザイン制作事例を見る
・学生本人のポートフォリオを14回の授業で14件を増やし充実させる

これらを授業時間内の百分間で完了させるためのポイントは以下の4点です。
1.デザイン制作時間を考慮した課題設定
2.最初は名刺デザインから、店舗用ポップ、イベントポスターと段々と高度化した課題
3.デザインツールcanvaのテンプレートベーストデザイン、高度な編集をワンクリックで実現
4.毎回のデザインレビューにより学生個人の飛躍的なレベルアップ

この回の課題は八王子市大横町にあるカフェGrassHopperIIのメニューのリニューアルデザイン制作でした。
この時点までに使用されていたメニューはワードで制作した文字情報のみの簡素なものでしたので、オーナーの沼田氏と交渉して、メニューのリニューアルをこのプロジェクト演習の課題にさせていただくことの了解をいただきました。

Menuold

実際に演習で完成したメニュー案10点ほどの中からオーナーに選んでもらったのが神田柊吾さん(3年生)がデザインした下のメニューになります。美味しそうなメニューのイメージが伝わって、オーナーにも大変に喜んでもらいました。

Menunew
後日、神田さんと千種でお店を訪問して、簡単な授賞式を行ない、副賞としてカレーをご馳走になりました。

Photo_20231123143201


2023年11月24日 (金)

視点のすぐ近くは見えない

2023年11月22日 (水) 投稿者: メディア技術コース

 前回記事は講義「CG数理の基礎」での投影変換の授業紹介でした。まだ読んでいない人は参照してください。
 
 履修生からの以下の質問への回答を今日の記事で紹介します。
 
---
後方クリッピング面があるのは無限に続くのを防ぐ目的であると理解できるのですが、前方クリッピング面はなぜあるのでしょうか? カメラの座標を原点とした四角錐型では不都合があるのでしょうか?
---
 
 投影変換の設定として3次元空間(カメラ座標系)に六面体(四錐台)の視界を設けます。6つの「クリッピング面」で最終表示対象の範囲になるように切り取ることになります。視点から視線方向を向いて上下左右を4つの面で切り取るのは直感的にわかります。
 
 なのに、なぜ目の前の前方クリッピング面と視点から遠くの後方クリッピング面で前後を切り取るのか、確かに理解しがたいですね。特に目の前の場所を前方クリッピング面で範囲外に設定する理由が。
 
 簡単に答えを言うと「0で割り算できないから」です。ここで、前回記事の図を再度掲載します。
 
 Projectionxform
 
 視点から前方クリッピング面までの距離は変数nで示されています。前方クリッピング面の4頂点は変数l, r, t, b, nを使って表されます。冒頭の質問にあるように四角錐の視界を使うということは前方クリッピング面が無限に小さくなり視点(原点)に収斂(しゅうれん)することになります。つまり、l, r, t, b, nは全部0になり、4頂点とも(0,0,0)になります。
 
 この場合、後方クリッピング面の4頂点のxy座標は計算できません。いずれも0分の0になってしまいます。投影変換(透視投影)行列の要素も、16要素のうち4つについて0分の0が生じて設定不能です。
 
 数式の計算ができないから、という理由では納得しづらいでしょう。もう少し直感的な理由として幾何学的な説明をしてみましょう。それは「無限に大きくするという計算はできないから」ということになります。
 
 近くの物は大きく見え、遠くの物は小さく見えるように変換するのが透視投影です。前方クリッピング面を視点に収斂させて四角錐の視界にしてしまうと、限りなく視点に近い物を無限に大きくすることになります。これは不可能だから、ほんの少しでよいので視点から離れた位置に前方クリッピング面を設定するのです。必然的に四角錐ではなく四錐台の視界になります。
 
 実務的には、前方クリッピング面までの距離nと後方クリッピング面までの距離fとの比(f/n)が1万程度を超えない設定ならばその後のCGの計算処理には支障ないです。n=10cmとすればf=1000mと設定できます。これなら大抵のCGの場面で切り取っても大丈夫そうですね。
 
 宇宙空間のように遠い場所は一度に扱えないし、f/nの値が百万とかの設定もNGなのはなぜ、という疑問も生じますが、その話題は別の機会にしましょう。
 
 現実世界でも視点に限りなく近い場所の物を見るということはないですから、四角錐の視界を設定できなくても、四錐台の視界で十分と言えるでしょう。
 
メディア学部 柿本正憲

2023年11月22日 (水)

3次元から2次元への計算

2023年11月20日 (月) 投稿者: メディア技術コース

 2年次後期の講義科目「CG数理の基礎」はCG技術の基本的な概念や手法を理解することを目的にしています。画素を塗りつぶす過程、頂点を変換する過程、など地味な内容です。数少ない3次元CGの話題として、先日の授業では投影変換を取り上げました。
 
 CGの場面を構成する部品(キャラクタ)は多くの場合、多数の三角形(3頂点)の組合せです。制作者の想像上の3次元空間に存在する各頂点が、最終表示に使う現実の2次元平面画面のどの場所に対応するかをコンピュータが計算します。
 
 部品(model)各頂点の(x_m, y_m, z_m)の数値は「ビューイングパイプライン」と呼ばれる4種類の行列の乗算を経て画面(screen)上の点(x_s, y_s)に変換されます。この過程で3次元から2次元に変わる本質的な変換が投影変換です。投影変換としてCGでよく使われる透視投影は次の図のように「カメラ座標系」から「正規化デバイス座標系」に変換します。
 
Projectionxform

 カメラ座標系ではビューボリューム(視界)という六面体をデザイナーが設定します。視界は最終的な表示画面の範囲に対応させる3次元の範囲です。原点から放射状に拡がるこの形状はフラスタム(四錐台)と呼ばれます。視界のことをビューフラスタムと呼ぶこともあります。
 
 カメラ座標系の原点はカメラ位置(視点)で-z方向が視線です。視点から離れると視界が段々拡がるのは直感的にも理解しやすいでしょう。そして変換後の正規化デバイス座標系では視界が立方体に変形します。カメラ座標系の各三角形(図には描いていない)は正規化デバイス座標系の三角形に変換されます。
 
 図aの視点に近い小さな長方形(前方クリッピング面)が図cで同じ向きの一辺が2の正方形に変形します。前方クリッピング面のちょうど反対側の大きな長方形(後方クリッピング面)も図c右奥の一辺2の正方形に縮小されます。これに伴い、視点に近い三角形は拡大され視点から遠い三角形は縮小されます。人間がものを見るときの結果と同じです。
 
 この投影変換により画面で表示される形に近いものになります。その証拠に、投影変換の次の段階「ビューポート変換」にはxy座標だけが送られz座標は無視されます。つまり大まかには投影変換により3次元形状が2次元形状になると思って構わないのです。
 
 この授業で履修生から次のような質問がありました。
 
---
後方クリッピング面があるのは無限に続くのを防ぐ目的であると理解できるのですが、前方クリッピング面はなぜあるのでしょうか? カメラの座標を原点とした四角錐型では不都合があるのでしょうか?
---
 
上下左右の範囲を視界として区切るのは直感的です。後方を区切るのはまだしも、手前まで区切るのは確かに人間の視界とは違いますね。この回答は次回紹介します。
 
メディア学部 柿本正憲


2023年11月20日 (月)

より以前の記事一覧