>   >  Unityでつくるインタラクティブコンテンツ:第4回:顔検出まとめ
第4回:顔検出まとめ

第4回:顔検出まとめ

<2>顔検出アルゴリズムいろいろ

今回のサンプルでは、最も広く使われているOpenCVの顔検出アルゴリズムを利用しました。手軽に扱えるので他にもいろいろ試してみてください。最近では機械学習などを利用して、さらに高度な認識を行う手法がたくさん出てきています。「JIDO-RHYTHM」ではおそらく、iPhone XからサポートされたARKitを使っていると思います。ARKitでは、iOSのTrueDepthカメラを使った顔認証システムのデータをアプリケーションから使えるようになっています。

Unity-ARKitプラグインはそれをUnityから使えるようにしたものです。顔の位置だけではなく、パーツごとに顔を認識することができ、自分の顔と同じ表情をCGキャラクターに反映させるように使うことができます。ARKitをUnityで使う方法についてはたくさんの記事が公開されていますので、そちらに譲ります。余談ですが、最近顔検出を使ったコンテンツの相談がいくつかあり、いろいろ調べていた中では、Visage Technologiesのライブラリ「visage|SDK」がかなり優秀でした。

このライブラリは、「FaceRig」という顔の動きを高精度にCGアバターに反映させることのできるアプリケーションでも使われています。比較的値段の高いライブラリですが、WEBカメラだけで3Dメッシュを顔にぴったり合わせてくれます。Unityへのインテグレーションにも対応していて、いろいろ面白いコンテンツをつくることができそうです。

次回はセンサなどの外部デバイスをUnityで使うことを考えていきたいと思います。インタラクティブコンテンツは外部入力をいかにセンシングして処理するかが重要で、センサなどのハードウェアの連携ができれば表現が広がります。

例えば、これは壁にタッチすると反応するコンテンツによく使われる北陽電機の測域センサーです。

以下のムービーはこのセンサをUnityで使えるようにして、球を置いたり外したりしている様子です。ロケータがセンサの中心を表していて、そこから障害物までを線で表示するようなスクリプトを作成しました。ここから球の位置を特定することが可能になります。

このセンサは価格的に個人ではなかなか手に入れにくいものだと思いますが、実際の現場で使われているものの良い例として紹介したいと思います。



Profile.

高田稔則/Toshinori Takata(Codelight)
Codelight株式会社 代表取締役・インタラクションエンジニア
フリーランス、株式会社TBSテレビ等で映画CG制作、株式会社ソニー・コンピュータエンタテインメント(現 ソニー・インタラクティブエンタテインメント)でPS4のOSD開発などを経て2006年にCodelight株式会社を設立。インタラクティブコンテンツの制作を中核として、製造業向けのプロトタイプ開発なども行う
www.codelight.co.jp




その他の連載