OpenCV/OpenGLによる映像処理(3年後期実験課題)

2009年度の優秀作品

UFO 大垣 慶介 くん

特徴点追跡アルゴリズムを利用することで,画像中の同一物体がどのように動いたのか(オプティカルフロー)を求めることができます。ノートPCにUSBカメラを固定し,事前に撮影した画像と比較することで,オプティカルフローを求めます。オプティカルフローからノートPCがどの程度傾いているのかを推定し,それに応じた処理を行うことで,傾きセンサと同様の機能を実現しています。

TAのコメント:ノートPCを傾けることで,画面に表示されるUFOの動きを制御するゲームです。傾きセンサを搭載しないノートPCで,カメラ入力だけを手掛かりに傾きを推定している点が評価されました。

ハンバーガーイーター 森 功 くん

OpenCVを用いてカメラからの画像を取り組み,Haar分類器でプレイヤの顔を特定して,口の位置を検出しています。そこに,OpenGLで作成したハンバーガーの3Dオブジェクトを用意し,テクスチャ機能を使ってプレイヤのレイヤーとハンバーガーのレイヤーを合成しています。

TAのコメント:画面の中を飛んでくるハンバーガーを自分の口でキャッチするゲームです。一生懸命口をあけてカメラの前を動き回る滑稽さが評価されました。

keysic 河野 一歩 くん

各文字の画像ファイルをテクスチャとしてブロックを生成しし,落ちてくるブロックとキー入力とのタイミングをOpenGLのキー入力関数を用いて計っています。キーを打つタイミングによって,Exellent/Good/Badの点数が与えられています。

TAのコメント:上から落ちてくるブロックのタイミングに合わせてキーボードを打ち込むことで,ピアノのように楽曲を演奏できる音楽ゲームです。音を扱った唯一の作品として評価されました。

残像 大津 恭平 くん

カメラで撮影した画像の各画素の輝度値の変化から前景領域を抽出し,前景の過去数フレーム分を現在の画像に重ね描きすることで,残像表現を実現しています。

TAのコメント:実空間における動きが残像を伴って画面に表示される作品です。VFX映画のような遊び心のある映像効果が評価されました。

カメラ目線 加藤 由訓 くん

OpenCVには様々な識別器が収録されています。ここでは,目の検出機能を用いて,画像中から目の位置を求め,そこにあらかじめ用意しておいたカメラ目線の画像を重ね描きしています。

TAのコメント:カメラに写っている人が,実際にはどこを見ていても,必ずカメラ目線になってしまうという作品です。自分の顔が勝手に書き換えられる楽しさが評価されました。

Solar System Simulator 甲斐 常伸 くん

OpenGLのテクスチャマッピング機能を活用し,適切な視点計算でこれを実現しています。

TAのコメント:太陽系の惑星の自転や公転,地軸の傾きをシミュレートして配置し,それを自由な視点から眺めたり,一つの惑星を自動的に追尾することを可能にした作品です。美しい完成度の高い映像が評価されました。

Fractal 河野 瑛 くん

OpenGLで多角形を描くのと同様にマンデルプロ集合やジュリア集合を複素平面上に描くことにより,フラクタルを生成しています。

TAのコメント:フラクタル図形を描きだす作品です。フラクタルとは,部分と全体が自己相似な図形のことで,拡大しても同じような形が現れる図形です。美しい映像が評価されました。

指でお絵描き 中村 真也 くん

カメラで撮影した画像中の赤の成分が強い領域を肌色として検出し,そのライブ画像上に指先の軌跡を重ね描きしています。指先と肌領域の重心との距離から,指を伸ばして描くモードと,手を握って描かないモードを切り替えています。

TAのコメント:指先の描く軌跡で実空間中に落書きをしているような体験ができる作品です。シンプルな処理によって,遅延のない直観的な操作を実現している点が評価されました。

Magic Slider 中島 直哉 くん

OpenGLライブラリが提供するキー入力・マウス操作による画面操作と,OpenCVライブラリを使った物体追跡による遠隔操作を実現しています。物体追跡には特定領域の色の分布を用いる手法を使っています。

TAのコメント:マウス・キーボード・遠隔操作の複数の操作に対応できるスライダーインタフェースです。多機能な実装が評価されました。

ロボット 佐々木 達哉 くん

ロボットの各部位を行列によって階層構造化して表現することで,体の姿勢・向きを制御しています。行列演算を深く理解することで,このように3次元オブジェクトの構造的な制御が可能になります。

TAのコメント:ロボットの姿勢を制御して表示する作品です。複雑な構造をきちんと扱った点が評価されました。

2010年度の優秀作品

背景差分法による拡張現実アプリ集 木下 僚 くん

Webカメラで撮った映像をOpenCVを用いて加工・出力する拡張現実感アプリです。神隠し(急に消えてしまう「神隠し」にあったような効果を得ることができます)/迷彩(あらかじめ撮影した写真の一部を手を使って消すことができます)/タイムリープ(3秒前の過去と現在が混ざった不思議な映像を作り出します)/ノイズ(動いているものがノイズとして表示されます)。これらの映像を得るベースになっているのは,背景差分法をはじめとする画像差分計算です。背景差分法やコマ間の差分計算をOpenCV組み込みの関数を用いずに自分で実装し,高速でなめらかな処理を行うことができました。

TAのコメント:木下くんは6つのARアプリケーションを作ってくれましたが,ここではその内の4つを紹介しています。使用している技術は背景差分処理とスーパーインポーズだけと言ってもいいのですが,背景差分処理の高速化を行うなど,基礎的な部分で頑張ってくれたことが違和感の無いアプリケーションの実現につながり,高い評価を得ました。またデモが非常にうまく,特に「タイムリープ」では,過去の自分にジャンケンで勝つというデモをタイミングバッチリに行ってくれました。

3Dシューティングゲーム 板持 貴之 くん

キーボードで画面中央に映っている自機を操作し,弾を撃って敵を倒す3Dシューティングゲームもどきです。GLSLを用いてシャドウマッピングを行っています。これにより,映っている球体そのものの陰影だけでなく,足場などの物体が地面に落とす影も描画できています。また,ビルボーディング技術を用い,敵キャラの体力を示すバーが常にカメラの方向を向くように描画しています。

TAのコメント:OpenGLには影(落ち影)を表現することができないという欠点があります。その欠点を見つけ出し,それを解決するためにGLSLに挑戦してくれたことが,高い評価になっています。ゲーム自体の表示の仕方にも工夫が施されており,完成度の高いゲームになっているんじゃないかと思います。

ボールと影 天野 宗佑 くん

Webカメラで取り込んだ画像を色情報で2値化し,当たり判定を作ることで,画面中を跳ね回るボールにあたかも触れているかのような感覚を得られる拡張現実感アプリケーションです。画像の2値化やボールの反射の仕方を工夫することで,見た目にも綺麗で楽しいアプリケーションとなっています。

TAのコメント:Webカメラで取り込んだ画像を処理し,仮想のボールに触れることができるアプリケーションです。シンプルな2値化画像とカラフルなボールからなる映像のセンスが良いため,高い評価になっています。落ちてきたボールを手ですくったり,指で輪を作ることでボールを閉じ込めるなど,デモの面白さも印象的でした。

Street View 片岡 拓朗 くん

特殊な機材やGPSを使わずに,Webカメラの動画とプログラミングだけでGoogle ストリートビューのようなアプリケーションを作りました。OpenCVのテンプレートマッチングを利用してフレーム間の移動距離を推定し,動画から適当な間隔でフレームを切り出します。これに,手作業による間引きを加えて風景画像とします。この画像をキー操作に応じて順次読み込むことで,ストリートビューを実現しました。前進・後退・右折・左折時にはアニメーションを付け,動きをわかりやすくしました。

TAのコメント:Googleストリートビューを自分で実装してしまおうというチャレンジ精神と,それを実現するための工夫が評価されました。さながら3DダンジョンRPGのように,2号館の廊下を徘徊することができます。完全に自動で風景画像をつくるためには,2号館のような真っ白な壁の廊下ではなく,情報量が多くテンプレートマッチングしやすい廊下を選ぶ必要があります。

擬似タッチディスプレイ 毛利 圭佑 くん

PCのディスプレイをカメラで撮影することで,普通のスクリーンをタッチスクリーンのように使うことができるプログラムです。OpenCVを用いて,ディスプレイに特定の画像を表示し,ディスプレイの座標系とカメラの座標系の対応をとります。そこに肌色領域の凸領域の輪郭の角度変化から抽出した指先の座標を組み合わせる事で,指先の位置とスクリーン上の点を対応させています。

TAのコメント:画像処理を用いて擬似的なタッチディスプレイにしようというアプリケーションです。座標系の位置合わせや,色検出以外の手法も組み合わせた指先検出など,調査や工夫をしっかりと行っていることから高い評価を得ました。このようなタイプのアプリケーションでは棒の先に色のついたマーカーを付けるなどして,指示している場所を検出しやすくするというのが定番ですが,肌色で指を検出した後に,曲率を用いて指先を検出するという工夫をしています。

Change Face 山田 剛史 くん

ライブラリを最適化したり,処理内容を工夫することで,キャプチャ,顔検知といった,処理負荷の重い処理を,2つのカメラ映像に対してリアルタイムに行い,2つの映像の顔を交換しています。顔検知に成功した場合,次のフレームの探索範囲を絞り込んだり,処理の重いフレームと軽いフレームを用意してバランスを取ったり,同期する必要のない処理を非同期に行うなどして,処理負荷を軽減しています。カメラ同士の顔の交換のみならず,アニメーション内の顔とカメラの顔の交換,といったこともできるので,キャラクターになりきることもできます。

TAのコメント:2つの映像中の顔を入れ替えるというアプリケーションです。その機能自体ももちろん面白いのですが,最も評価された点は処理の高速化です。顔検出やカメラ画像の取得などの遅い処理を高速化するために,最新のLinuxカーネルを導入したり,並列分散処理をOpenMPを用いて実装するなど,ソフトウェア,システムレベルでの最適化が非常に優れていました。

22.5°系折紙シミュレータ 西村 光平 くん

単純な命令列から折紙を折る過程をシミュレートする作品です。多数のノードとポリゴンにより1枚の紙を構成し,ノードの移動から折り線を計算してポリゴンを更新します。z座標の設定により,紙の重なりと影をそれらしく演出しています。

TAのコメント:折紙のシミュレータをOpenGLを用いて作成しています。折紙をシミュレートしようというアイディアと,ソフトウェアとしての使いやすさを意識した作り込みが評価されました。ボタンひとつでワイヤフレームの状態に切り替えられるなど,バックグラウンドで何を行っているかが分かりやすい形でデモをしてくれたのも良かったです。

絶対に勝てないジャンケン 佐藤 和博 くん

カメラに向かってじゃんけんをし,コンピュータに必ず負けてしまうゲームです。キャプチャした画像をHSV色空間に変換後,H成分が肌色に相当する画素を抽出,ラベリング処理によって隣接画素をグループ化し面積最大のものを手領域と判断します。続いて,手領域を囲みこむ凸包の面積と,凸包内の肌色部分面積との比率及び,凸包の縦横比などを用いて,グー・チョキ・パーの判別をしています。

TAのコメント:手がジャンケンのどれを表しているのかを自動的に識別するアプリケーションです。手の形状識別自体は,実験中に参考資料として配布するOpenCVの参考書のサンプルとして挙げられているものですが,問題点を見つけ出しそれを改良した点が評価されました。具体的には,カメラで撮影される手の向きに制約を設けることで,凸包の縦横比を識別に有用な特徴として導入しています。このように,ちょっとした制約をつけることでも認識精度が向上することがあります。

Orchestra4U 谷合 竜典 くん

体の動きに応じて音楽の音量操作を行うことで,誰でも気軽にオーケストラの指揮を体感できるようにしたシステムです。音楽的知識は一切不要で,カメラの前で音楽に合わせて思うままに指揮を振るだけで,その動きの激しさに応じて演奏の音量がリアルタイムに変わります。曲も音楽CDから抽出したファイルなど,好きな曲を自由に指定できます。激しさ検出はOpenCVによる差分画像,表示はOpenGLの2次元描画などで,使用した機能の1つ1つは基本的なものばかりですが,アイディアの実現に向かって,いくつかの問題に対して解決方法を模索しながら,1つのシステムとして形にするところに苦労しました。

TAのコメント:画像処理に音声処理を組み合わせたアプリケーションです。出力音声の大きさを制御するために,カメラからの入力を用いています。個々の要素で適切な工夫を行っており,アプリケーション全体の完成度の高さが評価を得ました。また,本人が非常に楽しそうに,デモを熱演してくれたのも印象的でした。

マウスでマウス 垣内 紀明 くん

カメラの前で口を動かすことでマウスポインタを操作できるアプリケーションです。カメラで撮影した画像の画素のRGB値から唇の赤紫色を検出し,その領域の重心を求めて口の位置として認識します。口の移動をマウスポインタの移動に対応させているほか,舌を出す動作をマウスの左ボタンを押す動作に対応させているので,左クリックやドラッグ&ドロップもできます。

TAのコメント:口や舌をマウス代わりに使おうという斬新なインタフェースです。肌に対してわずかに青い唇や舌を検出するため,照明条件がやや厳しかったのですが,口で移動, 舌でクリックという基本動作の割り振りがインタフェースとしてよく工夫されていた点が評価されました。

2011年度の優秀作品

パネキット風工作シミュレータ 前田 一樹 くん

板状のパーツを組み合わせてラジコンを作る物理エンジン付き工作シミュレータです。慣性テンソルと運動量保存則を用いてそれなりにリアルな挙動を実現しました。タイヤを使用した車やジェットエンジンを使用した飛行機等が製作可能です。

TAのコメント:シミュレータの概観, 内部で行われている物理演算, 全てにおいて, 商品のような完成度の高さです。

テレイドスコープ 小林 諭 くん

Webカメラの映像をもとに万華鏡のような写像パターンを生成するアプリケーションです。写像の回転や拡大・縮小を直感的なマウス操作で行うことが可能です。また, 正三角形と正方形の2種類の図形を元とするパターンが描画できます。OpenCVの関数を用いず画素データを直接参照し, また再帰による効率的なアルゴリズムを用いることで高速な描画を実現しています。

TAのコメント:関数を用いない, 独自の描写手法がきれいな模様を生み出します。次にどういった模様ができるのか, 見ている人をワクワクさせます。

ルービックキューブシミュレータ 亀甲 博貴 くん

OpenGLで描画される, 中央の1つを除いた26個の立方体から成る3×3×3ルービックキューブのシミュレータです。キーボードの入力で視点移動とキューブの回転ができる他, LBL(LayerByLayer)法と呼ばれる解法を用いて6面完成を行ないます。またWebカメラから実物のルービックキューブの色を認識し, シミュレータ上で再現します。

TAのコメント:高度な演算を行い, さらに, 実物のルービックキューブを用いることで, コンピュータ内で閉じることなく, 実世界をも巻き込んだシミュレータになっています。カラフルなルービックキューブがくるくる回る様子は, 見ていてとても鮮やかです。

Galaxy 岩田 児太郎 くん

星の数, 塵の量, 全体の横幅や奥行き, 渦巻きの程度, 配色をパラメトリックに指定することによって, インタラクティブにいろいろな形の銀河を生成し眺めることができるプログラムです。1万を超えるパーティクルを使って描画しているおかげで, 見た目に自然な銀河が再現できたのではないかと思います。

TAのコメント:膨大な数のパーティクルを用いて描かれた, 完成度の高い美しい銀河からは, OpenGLの高度な描写技術が伺えます。

パーティクル 高松 幸広 くん

OpenGLを主に用いて, パーティクルの飛び散る様子を描いた映像作品です。小さな正方形を3次元空間上に最大1000個描画し, 次のフレームにどこに移動するかを一つ一つ計算して描画しています。立方体の内側に視点を置き, 内側にテクスチャを張ることでつなぎ目のあまり見えない背景を作り, その中でパーティクルが飛び散る様子を再現しました。マウスの左ドラッグで視点移動し, 右ドラッグでズームイン/アウトすることができるようになっています。また, 自動で視点が動いて, より映像作品として楽しめるような工夫をしました。YouTube

TAのコメント:綺麗なパーティクルの描写に加え, 多様な機能を付け加え, それらをより一層美しく見せようとする姿勢から, 作品に対する熱い想いが伝わります。

OpenGL/CVを用いたARTool 田中 晋太郎 くん

実現したかったことは, マーカーを認識し, マーカーによって座標系を定義, その座標系に3Dオブジェクトを描画できるようにするということです。ポイントは, 四角形の抽出, 透視投影変換行列の計算と, ある程度のフレームレートを実現するためのマルチスレッド化です。時間がなくてスクリーンショットではあんまり粋な3Dオブジェクトを描画していませんが, 某初音さん等のモデリングデータを読みこませれば手のひらを歩かせることも可能です。

TAのコメント:マーカーを使ったARをOpenCVで実装したものです。AR実現のための行列計算をしっかり行っていて完成度が高かったことや処理を高速化するためにマルチスレッド化をするなどの工夫が見られた点が評価されました。

立方体の取り扱い 中村 新芽 くん

3D物体の動き全般を扱うためのクラスの作成をしました。物体から見て前方方向への移動, 視点から見て奥への移動, 元座標軸のz軸回りの回転や視点からみて縦回転など, 移動, 回転を物体の姿勢によらず自由に行えるメソッドを持たせました。発表用の作品というよりは習作に近いです。発表では地面との衝突を簡略化した計算で行って立方体が地面で飛び跳ねる様子を見せました。

TAのコメント:物体ごとの細かな操作を直観的に行えるものになっており, デモの見せ方も良くできていました。物体をマウスクリックで扱う手法も用いており, 全体的な完成度が高かったのが評価ポイントです。

ウェブカメラでカメラを動かすFPS 後藤 正太郎 くん

ウェブカメラを動かすことでゲーム内のカメラを直感的に操作できる3Dシューティングゲームです。1フレーム毎にウェブカメラから画像を取得し,現在の画像と直前の画像を比較してオプティカルフロー(画像間で同一物体がどのように動いたかを表すベクトル量)を求めます。これをウェブカメラの角度変化とみなし,その値に合わせてゲーム内のカメラの角度をリアルタイムに動かしています。

TAのコメント:カメラより得られた画像からオプティカルフローを取得し, それをゲームの入力に用いるという直観的な操作方法とゲームとしてのクオリティも高かったことが評価されました。

動画スタンプ 小林 尚生 くん

動画をスタンプのように板に張り付けるというものです。カメラから取得した画像ををテクスチャとして用いています。スタンプの動きの部分にも力を入れました。張り付けられた動画は, 張り付けられた後も動くようにしています。

TAのコメント:動画をスタンプにするというユニークな作品で, 実験で学習した動画処理やテクスチャマッピングをうまく組み合わせている点が評価ポイントです。

Cover the Numbers 槙 佑馬 くん

プロジェクタによりスクリーンに投影された数字を手でタッチして消していくアプリケーションです。カメラとスクリーンの位置合わせをして, カメラから取得した画像に対して肌色認識を用いて人間の手の位置を取得しています。

TAのコメント:プロジェクタに映した画像に手で触れて操作するという, 実世界とコンピュータとの連携をうまく実現したところが評価されました。

2012年度の優秀作品

同時翻訳アプリ 荒巻 祐治 くん

カメラで認識した画像から文字を抜き出し,それを他の言語に変換したうえで,元の画像に重ねて表示するアプリケーションです。カメラからの画像の取得と,最終結果の表示にOpenCVの機能を利用しています。文字を抽出するところと,結果に日本語を含めるところに苦労しました。

TAのコメント:外部の文字認識ライブラリを用いた作品ですが,ただ文字を認識するだけでなく,翻訳して付加表示する機能まで備えたことで,実用性のあるARアプリの好例として評価されました。AR研究者である先生からも高評価でした。

流体と剛体の物理シュミレーション 輿石 誠 くん

波動方程式を利用した流体と剛体の物理シュミレーションで,剛体と流体,剛体と剛体の衝突する様子が見れます。流体面にOpenCVでとりこんだ画像や,カメラでキャプチャした動画をテクスチャマッピングしてそれらが歪む様子も見れます。またトラックバーによる流速や粘性など詳細なパラメータの設定も可能です。

TAのコメント:波動計算の高速化や剛体シミュレーションなどの高度な内容を含み,結果も非常に綺麗でした。時間を持て余していたようなので,いろいろ無茶な注文をしたら,次の回にはできていたので驚きました。

3Dゲームフィールドメーカー 高橋 一成 くん

OpenGLを使った,3Dゲーム用のマップ制作ソフトです。3D空間でキャラクターを操作して,任意の位置に樹木,ネギ,病院などのオブジェクトを配置することができます。特に樹木は力を入れたオブジェクトで,独自のアルゴリズムによって再帰的に生成されます。乱数を使って枝の本数,角度,葉の位置などをを調整しているので,同じ木は2つとできません。

TAのコメント:3Dモデルの高度な操作や描画はもちろんのこと,起動直後のメニュー画面の動作までよく作りこまれており,完成度の高さが評価されました。よくゲームに出てくる“にゅる”っとした動きはシグモイド関数だったんですね,勉強になりました。

OpenCV・GLを用いたゲームの視覚的効果に関する指向的試行 前田 嵩樹 くん

OpenCV・GLを用いてゲームを作成する際のゲームのエフェクトや背景について工夫を行った。また,カメラからキャプチャした映像を用いたゲームのシステムを構築した。

TAのコメント:某市販ゲームの魔法エフェクトを彷彿させる非常に美しい3Dエフェクトを見せてくれました。また,背景描画も,手前は濃く,遠くの物体は薄く表示することで遠近感にも工夫を凝らしており,個々の要素の質の高さを評価しました。

シャバドゥビタッチヘンシーン!! 山本 紘暉 くん

仮面ライダーウィザードの変身シーンを再現。実際に自分に変身画像を重ねて楽しむ。ベルトの声も出してくれる。

TAのコメント:プロジェクタを用いた派手な変身アプリですが,実際のスクリーンとカメラからの画像座標との位置合わせなど,地味な部分もしっかり工夫して実装したところが評価されました。また,変身がキマったときのドヤ顔が印象的でした。

PTAMでどこでもMMD on Linux 稲原 宗能 くん

PTAMを用いて特徴点さえあればどこにでも3Dモデル(MMD)を置けて,音楽(wavファイル)と一緒に踊ってくれるアプリケーション。

TAのコメント:コンピュータビジョンを研究している人でなければ知らないようなPTAMと呼ばれる手法(ツール)をしっかり使いこなし,キャラクターのアニメーション表示まで行った点が評価されました。

人体モデルの姿勢制御 吉橋 亮太 くん

関節をもった人体ポリゴンモデルの姿勢を動かすことができます。またWebカメラを使い,カラーマーカー追跡によるモーションキャプチャのようなこともできます。

TAのコメント:人体モデルのアニメーションに用いられたボーンやスキンメッシュと呼ばれるテクニックをはじめ,クォータニオンや,2つのカメラを用いた奥行き推定など,難しい技術や概念をよく理解し,一からすべて自分で実装した点を高く評価しました。全課題を3日で終わらせてしまったことにも驚きです。

VRFPS~ファントム・バレット~ 平木 剛史 くん

現実空間を3DマッピングしたVR空間で,実際に体を動かして操作する3Dシューティングゲームです。XtionProLiveを用いて得た,深度情報とRGB情報をもとに,VR空間を実現しています。VR空間は実際に撮影した映像を使用でき,リアリティは抜群です。また,骨格認識を用いて,人間の動作を検出し,VR空間上での動作に反映することで,インタラクティブなインターフェースを実現しています。

TAのコメント:近年Kinectなどの奥行きセンサーを用いた研究が盛んですが,学生実験にまでその潮流が到来したことを実感する作品でした。一方で,デバイスの目新しさのみに頼らず,ボーンを用いたアクション認識など,“骨のある”仕事が評価されました。

RHYTHMIC NOTES 宇田 川祐志 くん

主にOpenGLを用いて作った,3Dの音楽ゲーム。上から降ってくるノートに合わせてタイミングよくキーボードを叩くだけの,操作が簡単なゲームです。

TAのコメント:ベーシックなリズムゲームを,巧みな3D描画でクールに仕上げ,観客のハートを鷲掴みにしました。ゲームロジックの実装に終わらず,全体のビジュアルにもこだわって美しく仕上げた点を評価しました。

3D Explorer 川本 貴史 くん

3D Explorerはディレクトリ構造を3Dで表示し,視覚的にディレクトリ構造を理解するための自己満ソフトです。

TAのコメント:いままでのゲームやCGエフェクト,ARアプリなどとは異なり,OSのシステム面を扱ったアプリケーションは斬新であり,3DCGによる可視化もエレガントな仕上がりでした。

2013年度の優秀作品

OpenCVでボケ近似 クーメリ アカキ ヨハンネス くん

単純なblurとは異なる”ボケ”(bokeh)を近似的に表現するアプリケーションです。OpenGLのdepth bufferをレンズからの距離として利用し,ボケのかかり具合を変化させています。

TAのコメント:ピントのずれに起因するボケの原理を理解してシミュレートした点だけでなく,リアルタイムで各種パラメータを操作できる完成度の高いデモや伝わりやすいプレゼンなど,総合的に高い評価を得ました。

不思議なルーム ナムスライジャブ ビャンバジャブ くん

頭を動かしても画像がそれに反応して実際画面の後ろに立体物があるかのように見えます。また右クリックでメニューから"Do Harlem Shake"とすると部屋が"Harlem Shake"します。またをそれを止めたり,再生したりすることが出来ます。

TAのコメント:単純な顔認識によるヘッドトラッキングとそれによるカメラ位置の操作だけでなく,実世界における画面の見え方まで考慮した透視投影を行っている点が評価されました。

Easy Composer 西田 典起 くん

カメラで写した楽譜を認識して,演奏・録音します。カメラでの撮影は連続して行うことが可能で,気に入った小節を好きなところに挟んだり順番を変えたりして遊ぶことができます。

TAのコメント:4分音符・2分音符・休符など,性質の異なる音符を識別するために,テンプレートマッチング,色識別,機械学習といった様々な方法でトライした経過が見て取れました。楽譜すべてを無理に1つの手法で読み取るのではなく,それぞれの手法で得意な種類の音符を読むようにしているのがスマートです。

画像電卓 シュ カイ くん

数字や符号を認識し,計算し答えを返すアップリケーション。ビデオカメラで式を取って,キーボードで“Y”と押すと答えが出る。最低限の計算ができる。

TAのコメント:ブラー,エッジ検出,モルフォロジー変換によるノイズ除去に始まり,交点とその位置から数字を判別する独自のアルゴリズムなど,随所に創意工夫を見受けられました。簡単な足し引きではあるものの,実演ではきちんと電卓が動作していました。

テクスチャによる現実加工プログラム 李 尭希 くん

テクスチャ画像を用いて写真や動画に書きこんで遊ぶプログラム。クリックした箇所の周辺領域のマスクを自動的に生成し,好きなテクスチャを重畳することができます。

TAのコメント:ペイントソフトに実装されているような自動範囲選択,いわゆる「マジックワンド」の機能を実装し,カメラからの映像にも適用できるようにした作品です。エッジ抽出による方法と色の似た領域を取る方法の両方で範囲選択に成功しています。

高速なオプティカルフローアルゴリズムの提案 伏見 遼平 くん

立体視に応用することを目指し,高速なオプティカルフローアルゴリズムを提案しました。

TAのコメント:他のアルゴリズムとの比較を行い,利点,欠点を明らかにしながら提案手法を説明する態度がとてもよかったと思います。多くの部分を自身で実装していたのも印象的でした。

CV beat 小野 裕也 くん

スクリーンに現れるノートを音楽に合わせてタッチする,体感型リズムゲームです。 矩形抽出によってスクリーンの範囲を取得し,HSV色空間の色相を使って肌色=手の領域を認識しています。

TAのコメント:スクリーン領域抽出や手の検出を既存の関数をうまく活用して効率的に実装しつつ,フレーム描画間隔を一定にして音ズレを防止するなどきちんと音楽ゲームとして成立させるための工夫が感じられました。自らスクリーンの前に立っての体を張ったデモが印象的でした。

透明マント 興梠 智紀 くん

指定した範囲の色が透明になるというコンセプトです。

TAのコメント:ただ単に決め打ちでマスクするだけではなく,RGBをHSVに変換し,マスクする色相を調節できるようにすることで任意のマントを透明マントにすることができるようにする,モルフォロジー変換によるノイズ除去を行う,といった数多くの工夫がありました。

三次元迷路 原田 和紀 くん

高さ・重力のある迷路を自動生成し,プレイヤーを操作して動きまわったり,コンピュータにゴールを目指させたりするソフトウェアです。

TAのコメント:今回は迷路を題材としたものが三作品ありましたが,その中でも,迷路を立体的に拡張し,カメラワークについて工夫がなされていた本作品が高く評価されました。多くのノンプレイヤーキャラクターが三次元迷路を一斉に探索する様は壮観です。

RED MAGIC 武藤 将生 くん

OepnCVでの色認識,OpenGLでの2Dパーティクル描画,OepnGLのGLSLでの画面生成を組み合わせたメディアアート作品。赤いもの(設定により変更可能)をカメラの前で動かし続けることで音楽が流れるとともに,現実世界を覆う「結界」が晴れていく。

TAのコメント:シェーダを用いて,高級な3D描画に成功した作品です。多くの作品が二週間という短い期間もあって,外見のブラッシュアップを疎かにしがちななか,その努力が高く評価されました。

2014年度の優秀作品

流体の表現 小川 徹 くん

SPH法による流体のシミュレーションです。液面をマーチングキューブ法で計算し, GLSLを使って屈折を考えたレンダリングを行っています。

TAのコメント:流体のダイナミクスとレンダリングの双方をリアルタイムで実現したことに加え,混色まで綺麗に表現したことが,技術的に非常に高く評価されました。

再現!手書き立体からの擬似3D空間 石見 和也 くん

球を操って擬似3D空間を体験できる作品です。手書きの擬似3D物体との当たり判定や,物体の裏に隠れてしまう様子などをも再現することで,あたかもそこに3D空間があるかのように表現しています。

TAのコメント:手書き絵が,2Dのまま奥行きを持つ」というコンセプトが面白かったです。元の絵の絵「絵らしさ」を損なわないまま,その絵の中に世界が広がっていく様子がイメージできました。

FaceConnect ?顔でつながるSNS? 大坪 篤史 くん

二人で一緒に写真を撮り,両方の顔を認証することが友達申請の代わりとなるSNSです。「友達申請のためには一緒に自撮りをするのが必須」という制約を付けることで,日常の出会いを促進させます。node.jsとsocket.ioでのサーバ・クライアント間のリアルタイム双方向通信に,opencvの顔認識(Haar分類器)・人物判別(local binary pattern histogram)を組み込んで作りました。

TAのコメント:コンセプトのユニークさに加えて,画像処理とwebプログラミングを組み合わせて完成度の高いアプリケーションを作り上げた点が総合的に高く評価されました。

L-system による植物のCG作成 小野寺 尚人 くん

L-system を用いた,樹木のモデリングツールです。単純な生成規則と確率的変化を組み合わせることで,様々なオブジェクトを作ることができます。

TAのコメント:非常にリアルな樹木がランダムに生成されていく様子は,見ていて感動でした。木は様々なシーンで必要になる上に種類が多いので,自動生成は非常に嬉しいと思います。

サイトスワップ自動判別器+シミュレータ 宮田 圭介 くん

カメラの前で色のついたボールでジャグリングをすることによって,OpenCVによってそのサイトスワップを自動で判別し,OpenGLでそれをシミュレートしてくれます。

TAのコメント:ジャグリングという独自性のある点に着目した作品でした。プログラムの方もボールの動きを認識し,結果から人間の動きのシミュレーションもできていて,使ってみたいと思わされました。

sudokuMan ヴー バン タン くん

数独の枠が入っている画像から数独の枠を抽出し,数字を認識して数独の問題を解くというアプリです。直接画像で認識するのと,カメラで画像をキャッチして認識するのという二つのやり方があります。カメラで認識を行う場合,’r’キーを押してキャッチした画像を認識します。事前にニューラルネットワークを学習させたので,params.xmlからモデルをロードすれば良いです。再学習を行う場合は,NEED_PROCESSINGとNEED_TRAININGを1にセットして,画像の前処理とモデルの学習を自動的に行います。

TAのコメント:数字を認識するというよく扱われる問題ですが,ニューラルネットワークを用いてしっかりと認識している点が面白かったです。画像の認識から解答を出すまでを実現できています。

棋譜取りくん 谷合 廣紀 くん

自動で将棋の棋譜をとってくれるプログラムです。入力画像から盤面位置を推定し,その盤面に対して駒の画像でテンプレートマッチングを行い駒の位置を推定します。

TAのコメント:カメラから将棋の盤面を認識する,実用的なアプリです。マス目を利用したキャリブレーションとテンプレートマッチングの技法を適切に用い,デモでは正確な動作を見せてくれました。

aMAZIng grace 勝元 甫 くん

どこか不思議な雰囲気,複雑に入り組んだ通路。数多くの階段で階層を移動しゴールを目指す,グラフィカルな探索型3D迷路ゲーム。かつてのウィンドウズのスクリーンセーバー「3D迷路」のイメージを元に「階層移動の有る3D迷路」を製作し,グラフィックやオリジナルのゲーム要素,そして多大なるパズルへのこだわりを追加した作品となります。

TAのコメント:グラフィック,サウンド,プログラム全て含めたゲームとしての完成度の高さに驚かされました。カメラの動き等,3Dプログラムの細かい部分もよく作り込まれています。

魔法陣作り 斎藤 僚介 くん

魔法陣を生成,発動できるアプリケーションです。キーを押すごとに新しい図形を対称に配置することで魔法陣のような図形を生成します。できた魔法陣は上昇や回転,振動をさせたり描画した線からパーティクルを発生させたりすることで,実際に魔術が発動した気分を味わえます。

TAのコメント:魔法陣や手動で作ると意外と面倒なので,ぜひゲーム作りで使いたいと感じました。陣に合ったエフェクトが生成される点もナイスです。

「お一人様」に優しいプリクラ機 稲田 弥鶴 くん

一人でも楽しめる,一人だから楽しめる。そんなプリクラアプリケーションを目指しています。

TAのコメント:ネタアプリとしての完成度とツボを抑えたプレゼンテーションが素晴らしく,会場は爆笑でした。きっとプリクラ界に新たなブームを巻き起こせるでしょう。

2015年度の優秀作品

3Dスタイリッシュ弾幕シューティングゲーム 河村 圭悟 くん

3Dの弾幕シューティングゲームです。多くの敵弾をできるだけ処理落ちなく管理できるよう工夫しています。3Dであることを活かしたゲームづくりを心がけたつもりです。

TAのコメント:大量の弾を処理できるデータ構造を考慮したためゲームのコントロールがスムーズで,グラフィックも非常に綺麗で,完成度の高さに驚かされました。発表の時には,作品のどこで何を頑張ったかが伝わってきました。

演奏位置のリアルタイム推定 大川 達也 くん

バイオリン奏者の映像から検出した弓と右手の動きを,譜面データと照合し,現在の曲中の位置とテンポを推定する。この推定結果に合わせて音声データを調整し再生する。弓の検出にあたっては,空間的なパターンを重みとして畳み込んだ積分値を放射状に探索して最大となる位置を用いています。また,右手の検出には,弓に沿った領域で同様の探索を行っています。全てをリアルタイムで行うので,奏者に合わせてBGMを流したり,別の音源をアフレコすることができます。リアルタイムなのに「アフ」レコ。

TAのコメント:独自の形状モデルによるバイオリンの弓領域の検出や手の動きを用いた演奏箇所の推定など,多くの部分に工夫がみられました。発表ではバイオリンの生演奏を用いたデモがあり,非常に印象的でした。

雷描画シミュレーション 江口 知弘 くん

雷のメカニズムである絶縁破壊をシミュレーションすることでリヒテンベルク図形を描画します。

TAのコメント:雷を確率的にシミュレーションする作品です。独自のアルゴリズムで,雷光が形から色まで綺麗に描画されました。方向によって確率を変化させることにより雷光に指向性を与え,自然感を増やしつつ三次元に拡張するといった工夫がありました。

ペーパークラフトビューアー 齋藤雄太 くん

ペーパークラフトの展開図の画像から,自動で完成形の画像を表示する

TAのコメント:はじめは複雑なモデルにも対応できるようにと取り組んでいましたが,「まずはシンプルなモデルで確実にできるように」と方向転換したのが非常に良かったと思います。それでもいくつか難しい課題が出てきたのですが,それを一つ一つ解決していった姿勢が印象的でした。

G-Buffer によるスクリーンスペースエフェクト 平井 健太朗 くん

G-Bufferに書きだした情報を元にした遅延シェーディングやアンビエントオクルージョン,リフレクションなどの各種スクリーンスペースエフェクトにより,リアルタイムで高い画面効果を演出しています。

TAのコメント:遅延シェーディングやアンビエントアクルージョン,リフレクション,ライトブルームなどを自作のライブラリを用いてリアルタイムで綺麗な画面効果を実現できてます。完成度だけでなく,技術的にも非常に高く評価されました。

Diceoon 根本 卓 くん

サイコロの目の数を数え,その位置・大きさに応じて図形を描いていくスプラトゥーン風陣取りゲーム。

TAのコメント:サイコロの目の数を画像から自動判別するプログラムです。カメラとサイコロの位置関係によっては横の面が映り込んでしまうという課題に対し,モルフォロジーを用いて解決に取り組んでくれました。非常に良いチャレンジだったと思います。

ホッケーゲーム 高田 祐樹 くん

OpenGLを用いて3Dホッケーゲームを作成した。一人用で,ホッケーの玉をぶつけて色を薄くしていき真っ白にして消すことがクリアの条件となる。

TAのコメント:ホッケーゲームは題材としてよく使われていますが,3Dに拡張したのは面白かったです。玉の速度,合体,反射の判定やフィールドを傾ける機能など多くの工夫が見受けられました。ゲームの完成度としても高く評価されました。

バーチャルきぐるみ 水谷 陽太 くん

体に色のついたマーカーを取り付けるとカメラがそれを認識し,撮影された人と同じポーズを取った3Dモデルが表示されます。

TAのコメント:画像処理による身体状態の推定とそれに基づく3Dモデルの構築,さらにそれを用いたアプリケーション制作まで幅広く取り組んでくれました。デモも楽しいものとなっており,全体として非常にまとまりのよい作品でした。

Perlinノイズによるボクセルワールド 鈴木 諒 くん

OpenGLとGLUTを用いて,Minecraftのような立方体(Voxel)で形成された世界を歩き回ることができるゲームを作りました。2次元のPerlinノイズをハイトマップとみなして地形を生成し,さらに時間軸を加えた3次元のPerlinノイズにより波打つ海面を表現しています。また,動作を軽くするため,ボクセルの不要な面を除去するなど効率的に描画する方法を複数実装しました。

TAのコメント:パーリンノイズといったリアリティテクスチャを作成方法をよく理解し,それを用いて地形や波を描画した作品で,結果も非常に綺麗でした。描画の効率化も考慮し,様々な工夫を凝らして計算量を驚くほど減らせたことも高く評価されました。

Text detection 小穴 智大 くん

画像を入力として,その中のテキストを抽出する。

TAのコメント:近年の文献を参考にしながら,いくつかの技術を組み合わせてテキスト抽出を実装していた点が高い評価を得ました。アルゴリズムを組み合わせることで精度が上がっていく様子が明確に表現されていました。

2016年度の優秀作品

Amazon Image Search 栗田 啓大 くん

本のカバー画像から作者とタイトルを取得し,その本をAmazon.comで検索するシステムです。

TAのコメント:本の著者名やタイトルなどの検索に有用な語句を精度良く抜き出すための工夫や,1つのウェブアプリケーションとしての完成度の高さが高い評価を得ました。発表では,映像に写った本の認識から検索まで行われる様子を実際に披露してくれました。

写真の遠近感強調 小杉 哲 くん

画像のぼけ具合から奥行きを推定し,それを利用してぼけを強調することで遠近感をつけるプログラムです。スマートフォンで実行できることを目指して高速化を試みました。

TAのコメント:平滑化前後でのエッジの鈍り具合の変化を利用した,独自の奥行き推定アルゴリズムを組んでくれました。ノイズ除去や補間などの細かい部分についても計算時間を減らす工夫がなされており,通常よりも短時間での遠近感強調が可能な完成度の高い作品となっていました。

音声の視覚的表現 田中 大揮 くん

音声を取り込んで,その周波数に応じた波をカメラ映像に映し出します。 波は検出した口から立っているように見えます。また,ランダムに出力される音声に対して同じ高さの声を出す音痴矯正ゲームもあります。

TAのコメント:より正確に口から波紋を出すために,位置推定による口の検出精度の向上や丸みのある波の表現を行ってくれました。また,声のピッチによって波の波長を変えるなど,音声の視覚化のための工夫も見られました。発表では自分で声を出してデモをしていたのも印象的でした。

花火シミュレーション 加藤 尚輝 くん

OpenGLのalpha値の混合処理を利用した花火のシミュレーションです。打ち上げスケジュールを入力したり,キーボード操作で花火を打ち上げることもできます。

TAのコメント:実際の花火に近づくよう,飛散する火花の球面均等配置や色の混合処理,重力の再現といった様々な工夫がなされていました。数種類の花火が実装されており,見た目にも非常に綺麗な花火シミュレーションになっていました。

DARUMA 競技だるまさんがころんだ 横瀬 哲也 くん

子供遊び「だるまさんがころんだ」で問題になりがち(?)な,「鬼ではない人(=子)が動いたか,動いていないか」を定量的に測定して表示するプログラムです。2つのカメラを使用し,一方は鬼の顔を撮影して「鬼が振り返ったかどうか」を顔認識の手法を用いて判定します。もう一方のカメラは子を撮影し,「子がどこにいるか」および「子がどれだけ動いたか」を背景差分と輪郭検出を併用して判定しています。

TAのコメント:しばしば喧嘩の種になる「動いた」「動いていない」を,検出した顔領域を用いた独自の判定手法によって定量評価していました。発表時には鬼の振り返り映像を予め用意しており,一人でも「だるまさんがころんだ」を遊べるようにしてデモを行っていたのが印象的でした。

Aircraft in the cave 関根 歩 くん

謎の飛行物体VICを操作し,おちてくる岩を避けながら洞窟の奥を目指します。時間と共に洞窟は狭くなっていくので,できる限り早く進みましょう。軌跡を蓄積バッファで表現し,壁や岩をパーリンノイズで表現しました。また,人のみた感じに合うようにライトや判定をうまく配置しました。結果として岩の隙間をダッシュで抜けるのが楽しくなっています。

TAのコメント:蓄積バッファによる残像の表現や,奥の方ほど暗く見えるような光源設定など,よりグラフィックが綺麗に見えるような工夫が凝らされていました。また,パーリンノイズによる地形生成や当たり判定の調整など,ゲームのリアリティ向上にもこだわって作ってくれました。

立体ピクロス自動解答機 三橋 遼 くん

立体ピクロスの3面のヒントが与えられたら,答えを探してくれます。その探索の様子を,モデルを表示しながら見せてくれるアプリケーションです。

TAのコメント:パズルのソルバーを実装し,答えの形が現れるまで順に解かれていく様子を示してくれました。ブロックが徐々に透明化されて消えていくなど,演出面においても工夫が見られました。発表時には自作の問題が解かれていく様子が綺麗に映し出されており,とても好評でした。

putting master 中村 朋生 くん

パター練習の補助をするアプリです。カップとボールとの距離の計測とパターの成功・失敗判定を自動で行います。その際,ボールの軌跡と成功・失敗数のカウントを記録して表示・保存します。

TAのコメント:円検出によるボールの追跡が上手くいかない問題に対し,色情報やフレーム間差分を利用する工夫によって解決していました。他にも,画面から得られる情報を上手く生かし,独自のアルゴリズムによる状態判別や距離計測を行った努力が評価されました。

typereader 坪田 亘記 くん

キーボードの文字入力を,入力時の画像から判断するプログラムです。入力された文字とその時の画像をデータとして集め,それを用いて機械学習を行い,入力された文字を画像から予測できるようにします。全く同じ環境でのみそれなり(約80%)に動作します。

TAのコメント:学習画像に対して平滑化,縮小などの前処理を施すことで,SVMの学習時間の短縮を図る工夫が評価されました。発表時にも,学習データの採取,SVMの学習,リアルタイムな入力キー予測までの一連の流れを見せてくれました。

The Typewriter 山口 紗穂 さん

リズムゲームとタイピングゲームの要素をあわせ持ったゲームです。曲に合わせて表示される文章をタイピングします。

TAのコメント:音楽と画面の同期や,キー入力のタイミング判定・正誤判定など,リズムゲームとタイピングゲームを両立するための実装をしっかり行ってくれました。また,複数音を同時に鳴らす工夫としてマルチスレッドでの処理も実装されていました。

2017年度の優秀作品

暖炉の部屋 加地 佑季 さん

光が物体に反射して生じる間接光の寄与を計算することで、光の暖かさを表現。インスタントラジオシティというリアルタイムのレンダリングのための手法を用いた。

TAのコメント:暖かい雰囲気のある光環境を高速に計算できるインスタントラジオシティ法は,光源からフォトンを飛ばして当たったところを仮想の光源とするものです。これをOpenGLで計算するにあたって,一旦光源位置をカメラ視点としてレンダリングし情報収集するという面白いハックを実装していました。また仮想光源がその面自身を明るく照らさないようにする調整などがなされ,デモではきれいなCGを見せてくれました。

夜の水槽 磯崎 希 くん

レイトレーシングの一種であるスフィアトレーシングを用いたデモです。暗闇の中にある水槽の中をライトが動き回り,中身を照らして回るという内容です。

TAのコメント:ポリゴンではなく,陰関数で表現されるような複雑な形状を扱えるスフィアトレーシングを実装した作品です。影の計算,テクスチャ,アニメーションまで実現し,さらに波の作る光の模様をパーリンノイズで表現するといった工夫をしており,幻想的な雰囲気のある夜の水槽がとても美しいと高評価でした。

劣化映像再現 板橋 一葉 くん

昨今はディジタルの時代だが、あえてアナログ的な映像(フィルム)の劣化を再現した。染み状の汚れの付加、垂直線の付加。

TAのコメント:映像の劣化を表現の一つとして用いるという一風変わったテーマに取り組んだ作品です。劣化の原因や現れ方を,再現するという観点から丁寧に調査し実装してくれました。フィルム特有のシミや縦線などは見ていて自然で,古き良き味わいが感じられました。

Smart Video Player(略称:スマビ)  米田 昌弘 くん

画面への注視を認識して再生・一時停止をする動画プレイヤー。動画の視聴中にわざわざ一時停止ボタンを押さなくて良い!

TAのコメント:認識した顔のパーツの位置関係から顔の向きを計算し,動画を見ているかを判定しています。動画再生処理自体は既存の動画プレイヤーで行い,これをAppleScriptで制御することで,CVと動画再生の並列化を行っていました。さらに動画プレイヤーに備わった機能がそのまま使えて完成度も高く,実用的で,使いたいという声も多くありました。

SWAP 長谷川 浩市 くん

本作品は,画像認識による顔検出を利用した歩きスマホ防止Androidアプリです。従来の歩きスマホ防止アプリは加速度センサーのみを用いて実装されているため,マップを開いたまま歩き,たまに止まってマップを見たりなどのユースケースに対応できないことがあります。そこで,加速度センサーに加えopenCVを用いた顔検出を行うことで,より正確に歩きスマホを検知し,より柔軟なユースケースに対応できる歩きスマホ防止アプリとして本作品を作りました。

TAのコメント:モバイル端末向けということで,カメラ以外のセンサと組み合わせた作品です。成果物を自分で使ってみるだけでなく,ユーザテストを実施したり,さらなる改善への検討を行うなど,企画→実装だけでは終わらないリアルなソフトウェア開発を実践できていました。

Face Reenactment Simple (FRS)  チョン ロンヒン くん

FRS is a simple reenactment program the transfer facial expression from user to a picture. The main contribution here is that we optimised existing framework with OpenGL and hence allow real-time performance.

TAのコメント:リアルタイムに自分の顔を個人差成分と表情成分に分解し,表情のみを別の人の顔写真に転送することでなりきりができる作品です。顔検出にOpenCVを,特徴点抽出にDlibを,顔形状処理にeosを用いています。撮影・検出・合成をパイプライン化したり,GPUを活用するなど,性能の低いコンピュータでもリアルタイムに実行できるような高速化の工夫をしてくれました。顔写真の表情が変化していくデモはとても印象的でした。

エアー卓球 亀井 郁夫 くん

OpenCVとOpenGLを組み合わせて,卓球ゲームを作った。カメラに写った人物の顔と赤色のラケットを認識して,バーチャルな空間内で卓球を楽しめる。テクスチャや相手プレーヤーの動作,サウンドまでこだわった。

TAのコメント:シンプルな卓球ゲームですが,自分の顔の位置に連動してゲーム内での視点位置が動き立体感があります。さらにラケットも現実のラケットの位置が反映され,こだわりの軽快なサウンドもあわせて,非常に臨場感のある仕上がりになっています。他にもスレッドを分けて各処理をスムーズに進めたり,ネットの透過をOpenGLで扱う工夫なども評価されました。相手CPUになかなか勝てずデモが盛り上がりました。

Poker Assistance オンカンチヤナボラパット くん

自動でポーカーの役を判定し、勝敗を教えてくれるプログラムです。

TAのコメント:トランプの絵柄は配置がほぼ固定されている事を利用し,左上にある数字・マークを抜き出して,パターンマッチングで絵柄を認識しています。トランプの特徴にあったアルゴリズムで,安定した認識ができていました。カード検出・識別・役の強さの判定までがリアルタイムにスムーズに行われる,完成度の高いデモを見せてくれました。

電車ごっこ 出川 祐也 くん

手の位置を検出し,それに応じて電車が加減速します。あたかも電車のコントローラを動かしているかのような操作感を楽しめます。停止位置に上手く停めることができるでしょうか。

TAのコメント:ハンドルを動かすジェスチャーが操作になる運転シミュレータです。運転台ディスプレイのランプ・7セグの再現,線路・風景の描写など,電車を実際に運転しているような臨場感を意識した作りこみをしてくれました。照明条件に左右されないよう起動時に手の色を登録したり,線路に沿って曲がりくねる座標系の取り扱いなど技術的な工夫も多くありました。

直感的お絵かき 安藤 慎太郎 くん

色と形状から手にあたる領域を見つけた後に,指の位置と本数を求め,得られる情報を利用して直感的にお絵かきが出来るようにしました。人差し指で絵を描けるのはもちろんのこと,3本指だと太い線が描かれます。また,パーの状態では手のひらが消しゴム領域となり,直感的に描いたものを消すことができます。

TAのコメント:インターフェースがとても分かりやすく,本当に直感的に使えるつくりになっていると感心させられる作品でした。指を認識する時,手全体の輪郭から適切なくぼみ(指と指の間)を見つけることで,指の本数や指の座標を正確に認識しています。手の形状の特徴を認識に利用するという素直な手法でしたが,よく考えられた認識手法でした。

2018年度の優秀作品

PCB-Annotator 矢作 優知 くん

PCB-Annotatorは半田付け時の汚れた手でPCを触ることなく、プリント基板上の部品に関する情報を得るためのアプリケーションです。手元の様子をカメラで撮影し、ピンセットをポインターとして用い、指示した位置の部品の名前や素子の値などをカメラ映像に重ねて表示することができます。プリント基板という複雑な背景の上でも、小さなピンセットの先端位置を取得することができます。

TAのコメント:日常生活の中で課題に思っていることから着想を得て、課題を解決するためのアプリケーションとして作成してくれました。ピンセットの検出やポインタの位置検出のため、平滑化やコントラスト調整をするなどの工夫に加え、基盤位置の認識や部品情報を表示する位置合わせなどの精度が高く、アプリケーションとしてよく作り込まれている印象があり、高い評価を受けました。

zozopy  加藤 滉貴 くん

第2世代zozosuitを検出して姿勢推定を補助するライブラリです。 opencv単体では難しかった腕のひねり等をzozosuitのマーカを利用して検出します。

TAのコメント:小さいマーカーのパターンの認識をロバストに実装した点に加え、カメラの解像度の限界により当初の目標を断念したものの、マーカー検出のためのライブラリとして他の作品作りの基礎となるような新しい価値を作った点が印象的でした。発表では自身も実際にzozosuitを着て来たり、ライブラリを利用した「腕のひねりと向きを検出するアプリケーション」でデモをしたりとわかりやすい発表をしてくれたように思います。

3Dセルオートマトンの実装  伊藤 彰秀 くん

これは、セルオートマトンの一種であるConwayのライフゲームを拡張したものである。 3次元空間への拡張や、状態数の変更、寿命の概念の追加などを行い、従来のライフゲームとは異なるものを実装することで、見栄えを良くした。 また、キーボード入力によって、セルの編集やセルの更新速度の変更を行えるようにした。

TAのコメント:Conwayによるライフゲームを3次元空間に拡張し、その様子を表示する作品です。寿命の概念を追加し、各状態に色相を対応させることで、見た目に楽しいデモになっていました。また、大量のボクセルを描画する上で、周囲のセルが生きていて見えないものはレンダリングしないという方針をとることで、処理の高速化も図られていました。

遠近両用イラスト 粟根 啓太 くん

鑑賞者が見たいところにピントを調節できるイラスト作品です。奥行き方向と左右方向の2つのパラメータでぼかしを調節することができます。

TAのコメント:デジタルイラストのレイヤー構造に着目し、各レイヤーのイラストの奥行き関係に従ったぼかしをかけることで遠近感のある表現を実現した作品です。各レイヤーにおけるイラストの透明部分との境界でぼかしが不自然になってしまう問題を他レイヤーを参照して解決する、といった細やかな工夫により、デモではボケ表現が効果的な美しいイラストを見せてくれました。

OpenGLで地形描画 原 悠輔 くん

国土地理院提供の地形データの上に、GPSログなどの移動記録や地名情報を表示できるアプリケーションです。自由に視点を変えられるモードと、移動記録の周囲を自動で回り続けるモードがあります。

TAのコメント:大量のポリゴンデータを描画するために頂点配列を利用しただけでなく、あらかじめ粗さの異なる頂点配列を用意し、カメラ位置からの距離が大きいほど粗く描画することによって描画速度を向上させ、発表ではリアルタイムで地形データが描画されている様子が示されました。GPSログのプロットも可能で、実際に発表者が踏破したルートを表示するデモを実現していました。

Easy Scanner 橋本 大世 くん

カメラで撮った普通の写真をスキャン風の画像に変換するプログラムです。 写真内の紙や本などを検出して抜き出す機能に加え,複数枚の画像を合成して白飛びを除去する機能もあります。

TAのコメント:写真から紙や本を検出して正面から撮影したように変換するプログラムですが、「前景と背景の色が近い問題」「照明により一部が白飛びしている問題」という2つの難題に取り組んでいます。前者は検出された頂点の候補から頂点らしさを評価する過程を学習することで、後者は白飛び位置の異なる複数視点の画像を特徴点マッチングにより合成することで、それぞれ解決していました。

Curl Noise Fire 本田 悠太郎 くん

Transform Feedbackを使用し、CPUではなくGPUで演算することで、大量のパーティクル描画。 パーティクルに位置情報を元にCurl Noiseを適用することで炎のような動きを再現しています。

TAのコメント:GPUで計算し、その計算結果をCPUではなくGPU内で保管・更新するTransform Feedbackという手法を用いることで、多数のパーティクルを高速に描画する工夫をしてくれました。発表では大量のパーティクルが炎のように高く舞う様子がスクリーンに投影され、美しくも迫力のあるデモを行ってくれたのが印象的でした。

川柳の 画像検出 プログラム  菅原 尚史 くん

入力画像の文字領域に対して文字認識を行い,川柳や俳句のような五・七・五の組み合わせを検出するプログラムです.文字認識にはtesseract-ocrという文字認識のエンジンを,五・七・五の検出にはmecabという形態素解析のエンジン(C++のライブラリとして使用)を利用しました.

TAのコメント:文章から音数をカウントし、五七五のリズムを見つけ出す課題について、文字領域の検出および文字認識を行うことで画像入力への対応を可能とした作品です。発表では、文学作品やニュース記事を入力としたデモを行い、見事に五七五を発見することに成功していました。地道な実装だけでなく、身近な文章から意外なリズムを抽出する楽しさによって、発表を盛り上げてくれました。

OpenCVによる"お手軽"VTuberアプリ  立花 斐斗 くん

facerigやBlender、Live2Dといった、有料だったり操作が難しかったりするソフトを使わなくても、初心者でも簡単にVTuberになれるソフトを目指して開発しました。 1枚のキャラクター画像と数ステップの簡単な設定だけでVtuberによるゲーム実況動画をつくることができます。

TAのコメント:身近になった「自分の動きに合わせて二次元のキャラクターを動かす」ためのフレームワークをシンプルな仕組みで実現してくれました。対象とするキャラクターのモデリングが必要なくどのような画像にも適応できるため、従来の「初期コストが高い」という課題も解決されています。発想はシンプルながら実際のデモでは違和感なく動いており、デモを用いたキャラクターがプレゼンテーションをしているかのような発表も評価されました。

AIR GUITAR  ククルプラソン チャンヤ さん

OpenCVを用いて,手の動作でギターが弾けるアプリケーションを作りました。ギターがなくてもギターを楽しめます! 肌色の検出と輪郭検出によって手・指を認識し、指先の位置からギターのコードを検出し、そのコードを合わせて音声が鳴らします。

TAのコメント:左手の形からコードを判定するために様々な手法を検討しただけでなく、右手の動きとUP奏法/DOWN奏法の対応づけや複数音声の同時再生など、ギターを弾く体験の再現にこだわりが見られました。また、本物のギターを持ち込んだり、デモ画面にギターの画像を表示したりと、こだわりが伝わるような発表が印象的でした。

2019年度の優秀作品

ラテアートシミュレータ 森 直也 くん

Stable Fluidsという高速で安定な流体ソルバーを使って,PC上でラテアートを作る練習ができるようにしました.

TAのコメント:ラテアートをコンピュータ上で描けるようにしようという、切り口が斬新な作品です。Stable Fluidsとよばれる流体シミュレーションの手法を実装し、その結果をOpenGLを用いて表示していました。発表では徹夜で練習したというラテアートを実際に実演してくれ、会場をおおいに沸かせました。ミルクの注ぎ方を調節できるといった細かい点にまでのこだわりが感じられました。

Hands-Free Presentation 内藤 壮俊 くん

キーボード入力を使わずにプレゼンテーションが行えるアプリケーションを制作しました。画面に表示されている黄色のカーソルは顔の向きに応じて動き、プレゼンターはこれを使ってページ切り替えを行います。カメラとディスプレイさえあれば操作できるので、コンピュータから離れていてもリモート操作が可能であり、さらにリモコンも不要なので両手が自由に使え、ジェスチャーが阻害されることもありません。

TAのコメント:OpenCVのFacemark APIを用いて顔のランドマークを取得し、そこから計算した顔の向きを用いてスライドのページ切り替えを実現したアプリケーションです。得られたランドマークの3次元座標をスクリーン上の座標系に変換する計算や平滑化など認識側の工夫だけでなく、画面上に視線の先を描画し画面切り替えまでの時間によって色を変化させるなど、細かいインターフェースまで作り込めています。スライドの内容も全てコードで生成していました。最終プレゼンは全て自分の作ったシステムを使って行ってくれ、実用に耐えるアプリケーションの完成度の高さが評価されました。

puyo3D 生野 駿 くん

SEGAの作っているゲームであるぷよぷよを三次元に拡張しました.ぷよがこっちを見たり,まばたきしたりと可愛らしくなるようにしています.

TAのコメント:あの有名なゲーム、ぷよぷよを三次元空間で遊べるようにした作品です。視点移動や内側を見るために外側を透明表示に切り替えられる機能など三次元に拡張したことに伴う機能実装はもちろんですが、「ぷよ」がまばたきをする、カメラの方向を見続ける、同じ色が繋がる、効果音を付けるなど、細やかな描画が見事な作品でした。プレゼンでも「ぷよ」に対する愛情が強く伝わる、最高のテンションでの発表でした。

ファイヤーディアボロジャグリング 竹内 優稀 くん

ディアボロ(ジャグリング道具)の位置と大きさを検出し、その周りに炎のエフェクトを表示します。黄色いものであれば形状に関わらず検出します。映像に上書きするモードと、スクリーンを用いてプロジェクションマッピングするモードがあります。

TAのコメント:ディアボロというジャグリングのパフォーマンスに合わせて炎のエフェクトを描画する作品です。OpenCVでディアボロの位置を検出し、その位置に合わせてOpenGLでエフェクトを表示していました。ディアボロの大きさによってエフェクトの強さが変わるなど、自身のジャグリングの知見を活かしてくれていました。発表では実際にステージ上でのディアボロを実演しながらエフェクトをプロジェクションマッピングし、リアルタイムな追従性と迫力のある視覚的効果が素晴らしかったです。

画面破壊kit 大森 拓郎 くん

イライラしたときに画面を割ることはできないので、それをプログラムとして描画して楽しむ作品です。派生機能としてカメラを接続するとカメラを割ったような画像も生成できます。

TAのコメント:PCの内臓カメラの映像から手の大きさの変化を取得し、画面を殴るような動作に応じて画面割れのエフェクトが現れるアプリケーションです。デスクトップのスクリーンショットを取得し、ガラス画像を重ねて描画するというシンプルな解決方法でこれを実現しており、マルチスレッド化するなどの工夫も見られました。デスクトップ画面とカメラ映像それぞれで体験できるモードが用意されており、すぐに配布できそうなクオリティでした。画面を破壊するだけの機能に絞った点が作品の完成度の高さに繋がったと思います。

シンプルなシューティングゲーム 海野 良介 くん

OpenCVとOpenGLを用いて手を動かして遊べるシンプルなシューティングゲームを作りました.サウンドや画面などできる限りゲームっぽくなるように工夫をしました.また,カメラが使えないといった環境でも遊べるようにマウス操作にも対応できるようにしました.

TAのコメント:OpenCVで手の位置や動きを認識し、それを用いて操作できるOpenGL上で動くシューティングゲームです。3次元空間での操作を2次元の手の位置からうまく行えるようにしたり、加速度を用いて弾の発射を認識したりする手法などの工夫が評価されました。シンプルな作品ながら、プレゼンテーションの際安定したデモを行うことができていた点が良かったです。

顔検出バランス迷路 上野 爽 くん

OpenGLを用いて画面に描画した迷路の中で小球を転がし、落とさないようにゴールまで運ぶゲームです。カメラに写った顔が、撮影画像内のどこの位置にあるか(上下左右)をOpenCVで判定し、その位置と同じ方向に迷路が傾きます。

TAのコメント:検出された顔の位置に応じて盤面の傾きを操作する迷路を作成しました。当たり判定を通常時と壁の端に分けるといった工夫やボールの回転に応じて模様が変化する様子がよくできており、こだわりを感じました。早い段階から実装が進んでおり、完成度を高める時間を十分に取れていたと思います。迷路のコースはテキストファイルから生成できるようになっています。難易度の高いゲームでしたが、面白さに振り切ったゴール画面の実装もされており、デモが盛り上がりました。

ストライクボール自動判定機 西山 晃人 くん

テレビ中継されるアングルで保存した野球の映像を用いて、ストライクボールを自動で判定する装置を作った。処理過程では、大津の二値化、Haar-like分類器、HOG特徴分類器、SVM、Hough変換などの手法を用いて実装した。

TAのコメント:審判を確保できないような野球のゲームに使うことを想定した、OpenCVの画像処理をフルに用いて動画からボールがストライクゾーンに入っているかどうかを判定する作品です。野球における画像の特徴をうまく利用し、選手やボールの位置をフレーム単位でトラッキングして判定を行っていました。実験で学んだ画像処理の知見を活用し、実用的な作品にまで完成度を高めていた点が評価されました。

Silent Voice(顔認識発声プログラム) 安 在帥 くん

顔認識技術で口の形を読み取り、それに当てはまる言葉を合成してくれるプログラム

TAのコメント:カメラ映像からの口の形を取得し、「あいうえお」のそれぞれに対応した音声を再生するアプリケーションを作成しました。dlibで取得した唇の特徴点同士の距離をgnuplot上にプロットし、クラスターごとにパラメータを決定することで口の形から対応する文字を決定するという目的を達成しています。映像からの音声合成という難しい課題に取り組んだ点が例年にない面白さの発表となりました。

OpenGL × Tokyo2020 下野 明佳里 さん

来年は東京オリンピックということで、東京オリンピックのエンブレムとOpenGLを組み合わせたアニメーションを作成しました。影の描画はステンシルバッファとブレンディングを用いて行いました。

TAのコメント:リオデジャネイロオリンピック閉会式での次回東京大会のトーキョーショーからヒントを得て、2020年大会のエンブレムのグラフィックスを再現した作品です。フレームの物体の影をステンシルバッファを用いて描画した技術力と、動きのあるダイナミックな表示が特徴的でした。タイムリーな話題をうまく作品に組み込んだ点や、影を表示するための試行錯誤の過程を示していた点が評価されました。

2020年度はオンライン化

2020年度は実験をオンラインで行いました.その記録を公開しています

2020年度の優秀作品

ちぎれるディスプレイ 荒巻 美南海 さん

物体が複数デバイスのディスプレイ間をシームレスに移動する不思議な空間です。この空間内に漂っているたくさんのボールを取り合うゲームで遊ぶことができます。

TAのコメント:PCおよびスマートフォン間をまたいでボールをシームレスに移動させたいという目標に向けて非常に完成度の高いアプリケーションを実装したことが評価されました。様々なライブラリを駆使しつつ、完成度を高めるためにパラメータ調整や細かな工夫をこだわりを持って行っていたことが印象的でした。手に持って動かせるディスプレイ同士がつながっているという不思議な感覚を、是非体験してみたいと思いました。

連続体のシミュレーション 韓 佳峻 くん

The Moving Least Squares Material Point Methodという連続体シミュレーション手法で四種類の物質(水、雪、ゼリー、砂)をシミュレーションします。さらにCompatible Particle-In-Cell (CPIC) によって、剛体と連続体のTwo-Way Rigid Body Couplingを実現し、連続体のカット、砂時計、水車などをシミュレーションできます。

TAのコメント:連続体のシミュレーションを実装して、水・雪・ゼリー・砂の動きを描画するアプリケーションです。2018年に発表された手法をゼロから実装して、作品として完成度の高い仕上がりでした。自由落下だけでなく、連続体のカットや砂時計など、現実世界に近いシミュレーションで見ている人を楽しませる工夫が感じられました。実装の難しさに加え、CUDAによる高速化も行われていて、細部までこだわっている素晴らしい作品でした。

“密”を自動で検出する自撮りカメラ 北林 遼大 くん

自撮りをする際、どうしても”密”になりがちだ。本カメラは、OpenCVを用いた顔認識をリアルタイムで行うことにより、密を自動で検知し、自撮り中の密の回避をサポートするためのものである。 顔の位置関係や大きさなどから密であるかどうかを判定し、密でない時のみ写真や動画の撮影を行うことができる。

備考: ※プライバシー保護のため一部ぼかし加工を加えておりますが、これは本アプリの機能ではありません

TAのコメント:SNSへ投稿されている自撮り写真に対する日頃感じている違和感を元にした、面白いアプリケーションでした。タイムリーなアプリケーションであったことに加え、OpenCVの顔検出機能を利用しつつ、横顔対応や奥行き方向に距離をとっている場合への対応などが工夫されていたことが評価されました。

kaiyan 小林 亮太 くん

このアプリケーションは、オンライン化が進むウィズコロナ時代の会議を“受け流す”ためのツールです。カメラから取り込まれた映像は OpenCV と Dlib によって処理され、「眠っている」状態を検知して目の画像を上書きすることで、あたかも真面目に会議に参加しているかのような映像を作り出します。

TAのコメント:PCのwebカメラの映像から目が閉じたことを検知し、開いている目の画像を合成することで、居眠りをしていても起きているように見える映像をリアルタイムに出力するアプリケーションです。細部まで非常に丁寧な実装になっていて、全く違和感のない映像が出力されていました。瞬きと居眠りの差別化・居眠り直前の目の画像を合成・Dlibを用いた目のトラッキングなどの工夫が完成度の高さにつながっていました。

変顔採点 大西 由真 くん

変顔の出来を採点してくれるプログラム

TAのコメント:変顔を採点するアプリケーションです。Dlibによって取得した顔の特徴点を、あらかじめ用意した平均の顔と比較することで、点数を算出します。顔の特徴点の標準化や、人間の感覚に近い点数への変換などのこだわり工夫がありました。シンプルでインパクトのあるアイディアで、パーティーなどで重宝する面白いアプリケーションになる可能性を感じさせられました。

大喜利対戦bot for discord 福岡 蒼一朗 くん

フジテレビ系列大喜利バラエティIPPONグランプリのような大喜利対戦ができるdiscord botです。 コマンドで回答者選出からフリップの投稿、点数集計などを全て行うことができ、それに応じたエフェクトや動画処理を行います。

TAのコメント:オンラインでIPPONグランプリを開催できるシステムです。描画の部分はOpenCV/GLを用い、通信やデータのやり取りにはDiscordを用いて実装をしていました。オンラインでIPPONグランプリを行うという発想がユニークで素晴らしいものだと感じました。加えて、動作も安定していて、IPPONグランプリを開催する上で必要となるものを不足なく実装しているため、今からでもオンラインIPPONグランプリを開催できるほどのクオリティでした。

脳トレ色分けゲーム 下島 銀士 くん

自身の顔と手元の加速度センサーを用いて操作するゲームです。シンプルなルールかつかわいい見た目ですがその難易度は侮るなかれ!ボールの見た目以外にも、物理演算、シリアル通信、マルチスレッドなどのこだわりが詰まっています。

TAのコメント:かわいいボールを画面内のバーを操作して振り分けるゲームです。様々な技術を取り入れた上でマルチスレッド化をすることによりゲームとして遊べるレベルの速度を実現していました。これに加えて、物理演算を自作しボールのぷにぷに感にこだわったことや、友人からフィードバックをもらってボールをかわいくしたことも素晴らしかったと思います。

ぐぐルンです 大村 瞬也 さん

文字だけのメニューに画像を載せて、わかりやすいものにするアプリケーションです。文字の読み取り精度を上げ、かつ出力動画のfpsをなるべく落とさないように工夫しました。

TAのコメント:カメラに映っているテキストに対して、Google画像検索による画像をテキスト付近に合成するというアプリケーションです。テキストにグレー化や2値化を施すことで、文字認識の精度を向上させるという工夫も見られました。また、並列化を施すことで画像表示の高速化を行っていました。異国の地での飲食店のメニューを見るときに使うなど、観光など様々なシチュエーションでの使用が考えられ、とても実用的な作品でした。

OpenCVを使った指文字認識 宮瀬 環 さん

HSV系を使った肌色検出をもとに、手の向きや指の本数を判定して指文字を読むアプリケーションです。46種類ある指文字を分類した上で判定することで細かい違いに対応できるようにしました。

TAのコメント:指文字は種類が多く似たような形のものがあり、認識は難しかったのではないでしょうか。指文字の特徴を丁寧に観察・分類し、少しずつ候補を絞っていく方法を考えて実装し、指文字の判定を実現しました。また、手の向きの検出や別の手を誤認識しない対策もされていました。指文字を用いたコミュニケーションや指文字の練習の支援につながりそうだと感じました。

Happy Birthday to Me! 本堂 楓馬 くん

ロウソクの火と煙のシミュレータです。空気の流れや温度のほかにロウの密度を計算することで、ロウソクの青い炎と赤い炎を描き分けています。キーを押すと火が消えて一定時間だけ煙が上がり、ケーキがなくても誕生日を盛り上げてくれます。

TAのコメント:ロウソクの振る舞いを物理的に考察し、いかにロウソクらしさを再現するかを工夫していました。きれいなロウソクが再現されていたことに加え、それを実現するためのモデルについてわかりやすく発表できた点が評価されました。実は発表の日が本人の誕生日というサプライズがあり、発表が盛り上がりました。

2021年度の優秀作品

Air Board 梶谷 優貴 さん

「キーボードに触れずにパソコンを操作したい」という願いを叶えるAir Board。音楽、動画、検索アプリに対応しています。手の形を認識して動画の再生や早送り、音量調節や画面のスクロールを行ったり、空中タッチパネル式のキーボード入力で見たいコンテンツの検索を行ったりすることができます。

TAのコメント:手が汚れていてキーボードに触れたくないときに大活躍のアプリです。指先の検出を用いた“キーボードモード”と、手の形による直感的な操作を可能にした“ハンドモード”の2種類を搭載し、それらを実際にブラウザの自動操作に結びつけるところまで実装され、非常にクオリティの高い作品に仕上がっていました。デモビデオも、作品制作に至るシチュエーションがわかりやすく紹介されていて、自由課題への熱意が伝わってくる作品でした。

Protecting Private sPace Program 沈 有方 くん

プライベート空間を大切にしたいあなたに贈るプログラム。
機能1:扉が開いたことをカメラが検出し、パソコンの画面を自動的に切り替えます
機能2:手のジェスチャーを認識し、任意の相手からあなたの携帯に自動的に電話をかけてくれます
上手に活用して「あなたの人生を、より豊かに。」

TAのコメント:不意に画面を覗かれる事故を防ぐことを目的とした、輪郭抽出を利用して扉の開閉を検知し自動で別の画面に遷移する機能と、電話がかかってきたフリをしたいときに、ジェスチャ操作で着信を装える機能を備えたアプリケーションです。キャッチーな名前の考案や凝ったデモビデオの制作など、課題への熱意が印象的でした。親に勤勉さをアピールしたいとき、友達に意地を張りたいとき、色々な場面で活躍が期待できそうですね。

Emotion Amplifier 秋本 哲夫 くん

画面から顔検出および表情解析を行い、その感情に応じた画像処理を行う作品です。用途に応じた様々な形での感情増幅フィルターを提案しています。

TAのコメント:オンライン会議におけるコミュニケーションのとりにくさに着目したアプリケーションです。表情解析のアルゴリズムを用いて、“驚き”のスコアが大きいほどショッキングな色合い、“悲しみ”のスコアが大きいほどブルーな色合い、というように感情に呼応した画面の変化を実装してくれました。色合いだけでなく、画面内に現れたキャラクターの表情も一緒に変化するなど、多彩なエフェクトを取り入れたユニークな作品でした。

コエカタマリン再現してみた 熊谷 はるか さん

画面に向かって話すと、音声認識をして、文字化したものが口から出てきます。

TAのコメント:CVと音声認識を組み合わせて、某国民的アニメのひみつ道具を再現した作品です。リアルタイムな顔検出により、顔の向いている方へ自分が発した声が形を成して飛んでいく、という不思議な体験を実現してくれました。「口から何か出したい」というシンプルで独特な発想もさることながら、実装にいたる様々な検討を一つの作品としてまとめあげた熱心な姿勢が印象的でした。

タッチ! ZHAN Zhijie くん

世界中1520万人以上の音ゲーマーに愛されているPCゲーム「osu!」をpythonのmediapipe(OpenCV)&pyglet(OpenGL)で再現し、曲のリズムに合わせて手を空中で適宜な位置に振り回すことで点数を稼ぐゲームである。 osu!コミュニティに作られた数十万のosu!譜面のどれであってもすぐ遊べるので可能性は無限大!

TAのコメント:音楽ゲーム「osu!」を再現したゲームで、カメラからの入力映像に譜面を重ね、ノーツにタイミング良く触れることで得点が入る仕様になっています。マルチスレッドにすることで滑らかな動作を実現しており、処理の遅延を感じさせない仕上がりでした。osu!で提供されている好きな曲で遊ぶことができ、何度でも楽しめそうで、ぜひ体験してみたいと思いました。

バーチャルチェロプレイヤー 澤野 令 くん

楽器がなくても演奏できるバーチャルなチェロです。右手と弓が連動するようになっており、右手を動かすことで弓の角度が変わり、演奏する弦を変更できます。また、左手の位置と指の曲げる本数で音の高さを変更することができます。実際のチェロとは違い、手の平を正面に向けて演奏する仕様ですが、本来の演奏スタイルから手の裏表をひっくり返すだけなので、チェロ経験者なら、簡単な曲を演奏することができます。

TAのコメント:手の動きを認識してチェロを演奏する作品です。右手に追従した弓の動きの再現や左手の位置と形による音の高さの変化など、実際のチェロの演奏に近づける工夫が評価されました。デモビデオではバーチャルチェロのソロ演奏だけでなく、実際のチェロとの二重奏も披露してくれました。チェロをいつでも弾きたい玄人にも、楽器に手を出してみたい素人にも、万人に触ってみてほしいですね。

抵抗の仕分け 竹島 優太 くん

Wiiの「みんなのリズム天国」に収録された「しわけ」というゲームを元に、A/Bボタンを押すのではなく実際に手を動かして遊ぶリズムゲームを作りました。飛んでくる 4.7 kΩ抵抗と 0 Ω抵抗を仕分けます。

TAのコメント:ボタン操作のリズムゲームに着想を得て、実際に叩き落とす動作とキャッチする動作で抵抗のしわけを行うゲームを作成してくれました。手の動きの識別に工夫を凝らし、重心位置の変化を利用することで精度良く判別を行なっていたほか、オブジェクトの表示には3Dモデルを用いることで、リアルな質感が再現されていました。抵抗のしわけというテーマも電気系ならではのアイデアで面白かったです。

ArUco racegame 岡本 一真 くん

ARマーカーを傾ける動作をハンドル操作のようにみたてて、これを入力デバイスとするレースゲームを作成しました。

TAのコメント:スマホに表示されたArUcoマーカをPCカメラで認識することで操作するレースゲームです。アクセル/ブレーキに対応するマーカを指で隠すと加速/減速されるほか、スマホ(マーカ)を傾けることでハンドル操作が可能です。2自由度方程式を用いた車体のシミュレーション、速度感と曲がり具合を強調するための追従カメラの移動の工夫等、こだわりに満ち溢れ、非常にリアルな車の動きが再現されていました。

SPACE (Simulator of Planetary Appearance - Complete Edition -) 杉崎 勇介 くん

惑星が太陽の周りを回る様子を見ることができるシミュレーションアプリです。一人称視点操作や撮影モードなどの機能に加え、太陽+8つの惑星にちなんだ合計9つのミニゲームで遊ぶこともできます。

TAのコメント:OpenGLを用いて、機能盛沢山な太陽系シミュレータを作成してくれました。太陽の周りに複数光源を設置するという工夫により、惑星群の美麗なグラフィックを実現していました。また、インベーダーゲームやブロック崩し、火花のアニメーションなど、太陽と各惑星に関連させた機能が一つ一つ丁寧に作りこまれていました。とても満足度高く、遊びがいのある作品になっていたと思います。

The Shortest Path/Past and Cycles 村本 剛毅 くん

時点Bが、より過去の時点Aと同じ状態をとったときに、
(1)時点Aから時点Bへ時間0でワープする路 = Shortest Path/Past
(2)時点Aから時点Bで閉じられるループを循環し続ける路 = Cycles
を考えます。

TAのコメント:“状態”に対する“時間”の不確定性に着目した作品です。自分が過去に操作したカーソルの動きに伴って、現在の自分の意思とは無関係にカーソルが画面上を動き続けるさまは不思議な感覚を与え、聴覚的なエフェクトも相まって作品の空間に深く入り込ませるような仕上がりとなっていました。独特で哲学的な発表も含めて、一つのアート作品という印象を受けました。

2022年度の優秀作品

MENKO 青木 麻純 さん

面子を題材にした一人用ゲームです。物理演算ライブラリを使用し、面子の動きをシミュレーションしています。様々なアニメーションを駆使し、飽きさせない見た目となっています。また、作品全体を通して3D感溢れる作品となっていますのでその点にも注目です。

TAのコメント:OpenGLを用いた「めんこ」を題材にした3Dゲームです。ゲーム本体の部分は、物理演算によるメンコの再現やアニメーションを用いた演出などハイクオリティなものに仕上がっていました。また、画面の切り替わりでのローディング画面の挿入、カーソルが滑らかに動くUIなど細かなところまでこだわることで全体の完成度を高めていた点が高評価につながりました。

クロスハッチングと輪郭線によるイラスト風3DCG 坂野 達郎 さん

GLSLでクロスハッチングによる濃淡表現と輪郭線描画を実装し、3DCGをイラスト風に出力できるようにしました。カメラや光源を動かしながら、リアルタイムに出力結果を得ることができます。

TAのコメント:3Dモデルに対して輪郭線とクロスハッチング (網掛け) を描画することで、まるでイラストのような見た目の3DCGを描画するアプリケーションです。カメラをリアルタイムで動かしながら出力結果を確認することができ、イラストと3Dのいいとこ取りをしたような作品に仕上がっています。輪郭線を完全に描画するために法線情報・深度情報の両方を用いるなど、とてもよく考えて実装されていると感じました。

顔認識型ブロック崩し 中村 将矢 さん

OpenCVを用いてカメラ画像から認識した顔をもとにブロックを作成し、ブロック崩しゲームを遊ぶことができます。認識した顔の数に応じてステージが増え、すべての顔の画像に対するステージをクリアするとゲームクリアとなります。

TAのコメント:OpenCVで顔認識を行い、検出した顔をブロックにしてブロック崩しが遊べるゲームを作ってくれました。オートプレイができるなど機能が充実しており、UIにもこだわりが感じられ、ゲームとしての完成度も高い作品となっていました。実際の顔をブロック崩しにするという発想が面白く、集合写真等を読み込ませてみたら複数人でわいわい盛り上がれそうだなと思いました。

顔情報によるデータの暗号化 西井 遥紀 さん

顔認証の技術を応用して、顔情報から暗号化鍵を一意に生成し、データを暗号化/復号化するプログラムです。鍵生成にはLSHという類似した顔情報から同じ値を計算する技術を使用しました。さらに、画像ファイルを簡単な編集作業を加えて部分的に暗号化し、見た目が怪しまれず、また単体で復号可能な画像形式で保存することを可能にしました。

TAのコメント:顔情報を鍵とすることで画像データなどを暗号化するアプリです。顔情報そのままではわずかな表情の違いでも異なる鍵が生成されるという問題に対して、LSH(局所性鋭敏型ハッシュ)を用いることで解決していました。高度な技術を用いたアプリケーションを実現させ、プレゼンでも自分の顔を用いた暗号化とその復号を実演できた点が素晴らしかったです。

懐かしのCCレモンゲーム 川島 勇希 さん

mediapipeを用いて、手の形を計測し学習データを作成し、機械学習を用いて「溜め」「防御」「攻撃」の3つの手を分類できるようにしました。この学習結果をゲームに取り込むことによって、コンピュータ相手にリズム良くCCレモンのゲームができまるようになっています。

TAのコメント:「CCレモンゲーム」をCPUと対戦できるようにしたアプリケーションです。3つの手の出し方に個人差などがあるという問題に対して、ただMediaPipeで手を認識するだけではなく、機械学習を用いて高速で正確な判定を実現したことで、ゲーム本来のテンポの良さを壊さずに実装されていた点が評価されました。また、CPUの手の表示方法もシンプルながらユーモアがあり、完成度の高い作品となりました。

CASTOUCH (Camera Assist Screen TOUCH) 川原 大樹 さん

CASTOUCHは、ただの白いスクリーンをタッチスクリーンに変える魔法です。スクリーンの前で指示棒を動かすことで、誰でも簡単に線を引いたり、スタンプを押したりできます。
お天気キャスターごっこや、豊かなプレゼンに、いかがですか?

TAのコメント:OpenCVによる画像処理でスクリーンの抽出・指示棒の検出を行い、なんの仕掛けもない普通のスクリーンをまるでタッチパネルのように操作できるという作品です。デモでは実際にお天気キャスター風のスーツを着て発表をしてくれました。オリジナリティのあるタッチ検出方法が興味深く、一方で実用性の面でも申し分ない、完成度の高い作品に仕上がっていたと思います。

ノベルゲームメーカー 棟方 晟啓 さん

Live2Dや3DCGの時代に、あえてノベルゲーム風であることを望む変わり者へ贈るプログラム。カメラ映像やマイク入力からノベルゲーム風の画面を生成します。イメージとしては、Live2Dをノベルゲーム風にしたものと言えばいいかもしれません。

TAのコメント:顔と声を認識することによって、まるで自分がノベルゲーム内のキャラクターになったかのような映像を生成できるツールを作ってくれました。背景やキャラクターの画像は手の形によって切り替えられるようになっており、キーボードやマウスを使わずとも殆どの操作が行えるようになっています。仕様面でもデザイン面でも実際のゲームを再現しようという意気込みが伝わってくる作品でした。

空中文字認識システムを用いた発表ツール Air Point 平林 晴馬 さん

本作品は、空中に書いた文字を認識できるツールとして、機械学習によって自作したスケード分類器を用いてレーザーポインタをトラッキングし、ペン機能や消しゴム機能、undoやredoを実装したものです。また、これを用いて発表ツールを作成し、手の動きでスライドや動画を操作できるようにもしました。

TAのコメント:カメラでレーザーポインタを認識してペン代わりにすることでPCの画面上に文字を書けるアプリです。カスケード分類器で認識するために自らの手で大量の学習画像を用意したことが印象的でした。また、Undo機能などの手書きソフト用の実装だけでなく、手の認識を用いたプレゼンテーションソフトとしての実装も行い、自作ソフトによる見事なプレゼンを披露してくれました。

Random街3D 相園 悠之 さん

配列として与えられた小さな地図から自然に拡張した地図を作成し、街の3Dモデルを描画します。街として自然な見た目になるように頑張りました。

TAのコメント:小さい地図の情報を渡すことでそれを拡張、表示するアプリケーションです。文字列による小地図から「市街地の周りは住宅街」などの情報を読み取ってそれに従うことで拡張を行い、街並みの中もランダム生成することで画一的なものを避けることで、自然な街並みを作るという点にこだわった作品となりました。時間経過による太陽の移動の再現や視点移動なども可能で、ずっと眺めていられそうな作品です。

間取り図から簡単バーチャルルームツアー 趙 在瀛 さん

部屋の間取り図のみから寸法を計算し、バーチャルルームとして3D化してくれるプログラムです。家具のサイズや色は自由に変更できるため、引っ越し前の家具選びや部屋の模様替えのシミュレーションなど、様々な用途に使えます。見た目はほのぼの系ゲーム風でポップな感じですが、意外と実用性のあるプログラムです。

TAのコメント:部屋の間取りを読み込むと、OpenGLを用いて作ったバーチャルルーム内でレイアウトのお試しができるツールを作ってくれました。引っ越しの際に自分が実際に直面した「部屋の寸法がわからず、事前に家具を購入できない」という課題の解決策となっています。メインの機能部分はもちろん、SEやBGMなど細部にもこだわっており、触っていてとても楽しい作品になっていると思います。

2023年度の優秀作品

HYOKIN 〜表情筋トレーニングゲーム〜 日野 玲 さん

その表情筋、鍛えてますか?
これからは表情筋トレーニングも常識となる時代。その最先端をゆくゲーム、ここに現る。
流れてくる顔型のノーツに対し、タイミングよくその表情を浮かべることでスコアを稼ぐ、シンプルなリズムゲームです。

TAのコメント:表情筋というテーマに着目し、ユニークなデモビデオと共に爽快なゲームを紹介してくれました。高難易度モードではたくさんの顔が流れてくるので、プレイヤーが変顔を強いられる光景は面白く、発表では教室全体が笑い声に包まれていました。デザインやシステム、UI面などの細かい部分までこだわりが見られ、ゲーム体験そのものが完成度の高い仕上がりになっていました。

ぱちぱちぱくぱくゲーム 大佐 健人 さん

目と口だけになったアバターを、自分の顔と連動させて遊ぶ3Dゲームです。
目をぱちぱちさせたり、口をぱくぱくさせたりすると、落ちてきたアイテムをゲットできます。

TAのコメント:プレイヤーが自身の両目と口を実際に開けたり閉じたり、文字通り「ぱちぱち」「ぱくぱく」して落下したアイテムを取得するという、極めてシンプルなゲームです。OpenCVとOpenGLのいいとこ取りで、そのミニマムな見た目とゲーム性とは裏腹にどこかしらか癖になる要素があり、プレイヤーの心を魅了します。目と口の開閉判定には自身でリサーチした論文の手法を盛り込むなど、随所にこだわりが感じられる作品でもありました。

Drop Snap 佐々木 一晴 さん

写真をピクセルアートに変換する機能を備えた、縦スクロール型のアクションゲームです。
ピクセルアートで使われている色によってアイテムが変わるので、毎回違ったゲーム体験ができます。

TAのコメント:プレイヤーの選んだ画像を可愛らしいピクセルアートにしつつ、画像に使われている色によってゲーム内で使用できるスキルが決定される独創的なアクションゲームです。オマケであるはずのゲーム部分も、Unityや画像生成AIを駆使して細部まで作り込まれていてとてもクオリティが高いものに仕上がっていました。実際に遊ばせてもらいましたが、ゲーム自体もちょうどいい難易度で、授業後も生徒同士で盛り上がっていたのが印象的です。

GaitPass 山下 倫宏 さん

英語で歩容(歩き方の特徴)を意味する「Gait」と、
通過を意味する「Pass」という名前を持つ、歩容認証のアプリです。
アプリを立ち上げるだけで、人の歩く姿から個人を認証し、誰が通過したのかを記録することができます。

TAのコメント:カメラで人の歩き方の特徴を歩容画像として捉えて機械学習させることで、歩き方だけで誰が歩いているかを特定するというツールです。背景差分から人の領域を検出し、機械学習の精度向上のためにノイズ処理を行うなどの工夫がされていました。実際にアプリケーションとして利用者登録などの機能が実装されており、近未来を彷彿とさせるような仕上がりとなっています。

OpenGLで消しピンを再現 井上 景太 さん

机の上で消しゴムを指で弾いて相手の消しゴムを落とす「消しピン」をOpenGLで再現しました。弾く方向や強さ、カバーの有無をキーボードで操作することで戦略的なゲームが楽しめます。

TAのコメント:一般的な消しピンの実装のみに留まらず、「消しゴムのカバーを外すことで摩擦により弾き飛ばされにくくなる」、「消しゴムの動きに回転をかけられる」などの、オリジナリティに富んだ発展的なアイデアをしっかり実装していました。シンプルながらも、物理演算を用いてOpenGLのみで消しピンを実現するという高度な実装力にはじまり、消しゴムのテクスチャのこだわり、細かい仕様などの作り込みには感服しました。

オンラインミーティングモニター 曹 徳宇 さん

オンライン授業や会議で使用されることを想定し、ウェブカメラから表情を読み取り、理解度や集中度の推定や居眠りの判定などを行うアプリケーションです。
これらの情報を元にバーチャル背景を変更したり、ChatGPTと連携して予め選択した「学校の先生」や「会議の主催者」などの役割として参加者にメッセージを送ったりします。

TAのコメント:検出した表情に応じてバーチャル背景を変化させ、参加者の状態を可視化するというアイデアを形にしたツールです。Webアプリケーションの自作、ChatGPTとの連携や並列処理の実装など、技術面も含めて素晴らしい出来となっていました。発表ではChatGPTの人格に「モンスターペアレント」を指定して実演するという予想外の使い方を見せ、使用したいシチュエーションに応じて役割を指定できるという柔軟性を十全に発揮してくれました。

VS嵐のゲーム「ジャングルビンゴ」をOpenGLで体感 金井 瞭真 さん

「ジャングルビンゴ」という立体迷路の中を進んでいき、屋上の穴を開けてビンゴを作るという既存のテレビ番組に登場するゲームを再現しました。
迷路の中に入るとタイマーがスタートし、ビンゴが完成するまでの時間を競うゲームです。

TAのコメント:5×5×5という巨大な立体迷路を自らの手で作り、OpenGLでは再現が難しい凹多角形も工夫して実装していたことが印象的でした。複雑な3次元構造を2次元に落とし込む都合上、画面が見づらくなってしまうという課題に対して、プレイヤーが現在位置や迷路の構造を把握しやすくなるような工夫を凝らすことで解決を図っています。自分の好きなものを再現する試みであったという点も含め、強い熱意を感じる作品となっていました。

筋トレ評価アプリ 穐山 公宏 さん

約4分間の筋トレメニューに対して、自分の達成度をスコア化します。トレーニングの最後には今回の総スコアと、これまでの自分のスコアをグラフで可視化することで、成長を記録できます。

TAのコメント:カメラの前で腕立て伏せなどのトレーニングをこなすだけで、自動的に回数を記録してくれるツールです。既存のトレーニングメニューに含まれる計7つのメニューすべての動きに対して評価が実装されており、過去のスコアデータまでもが閲覧できるという実用性の高いツールになっています。誰でも簡単にすぐに使えて、単調でモチベーション維持が難しかったトレーニングもやる気に溢れること間違いないでしょう。

PDF Table to CSV 杉本 将太郎 さん

pdfファイル内にある表を自動的に検知し、それをcsvファイルとして書き出すプログラムです。

TAのコメント:OCRを用いてpdfファイル内の表から文字の情報と座標の取得を行い、ハフ変換により検出した線分の集合から推定した表構造と合わせることで、表の形式を維持したままcsvファイルに変換するという、画像処理の粋を集めた作品になります。pdfをcsvに変換する既存ツールとの比較も行っており、これらよりも高い精度を発揮していたという結果からも、ツールの完成度と努力が窺えます。

Print Scanner 伊藤 寛子 さん

カメラスキャンした手書きプリントの画像から、赤い文字を抽出し、赤シートで消えやすい色に置き換える iOS アプリです。インクの滲みなどによって、赤色で書いた文字が赤シートで消えなくなる現象を防ぎます。

TAのコメント:RGB色空間からHSV色空間への変換を用いて画像内の赤色領域を抽出し、赤シートで消えやすい色で塗りつぶすツールです。機能としてはシンプルながら、アプリケーションとしての実装に力を入れていたことにより、今後の拡張性を感じさせてくれる作品でした。日常生活で抱えている不満を自作ツールで解決するという姿勢も含めて、非常に実用性のある素晴らしいツールに仕上がっていたと感じます。