完成プロジェクト/チュートリアル
新作無料 【リリース日】2018年5月28日
Open CVで有名な日本作家さんから、VTuberになるために作られたアセットが新登場!!!
スマートフォンやWebカメラで自分の顔を映せば、
アバター(3Dキャラクター)があなたとそっくりな動きをしてくれます。
前々から「OpenCVとDlibならパペ文字作れるんじゃないかな?」と思っていたら、
やってくれました!ついに夢のアセットが登場しちゃいましたね!!
ブレンドシェイプによる表情や、IKにも対応していて、かなり実用性高いですよ。
これをベースにオリジナル要素を追加してパペ文字を超えよう!
WebCamTextureの映像を使用して制御することが出来るサンプルプロジェクトです。あなたはWebCamTextureのみを使用して3Dモデルの頭の向きと顔の表情を操作することが出来ます。
- このサンプルプロジェクトでは次の手順で3Dモデルの頭の向きと顔の表情を制御しています。
必要アセット
OpenCV for Unity($102.60)
スマートフォンのカメラに写った「模様」や「顔のパーツ」をリアルタイムで検出して、ゲームオブジェクトを引っ付けたり、照合して使うAR系スクリプトです。
Dlib FaceLandmark Detector($43.20)
「Dlib」と呼ばれる画像検出系の一種で「顔器官検出」をしてくれるAR系スクリプト。
顔のランドマークをリアルタイムに検出して、三本髭や耳をカメラに同期して合成するあの人気アプリが作れちゃいます。
追記 2018年5月29日 15:00
Dlibのサンプルデータ利用時における大切なお知らせ
こんにちは~!
— izm (@izm) May 29, 2018
dlibの、付属のFace Landmark Detectionのサンプルで使われている学習済モデルは商用利用に制限がある iBUG 300-W データセットを使っています。
もし作者がデータセットを差し替えていない場合は商用利用制限に注意してほしい、と記載いただけると嬉しいです。
というわけでみんなdlib標準使ってVTuberやって収益化するとちょっとまずいんで、自前で学習しなおしましょうね♪
https://twitter.com/izm/status/1001337105719545857
記事後半では、
「2大アセット紹介」と「今なら間に合う!Unity公式VTuberイベント」をご紹介!
顔のランドマークと同期してアバターと一緒になる
1. WebCamTextureMatSourceGetter - WebCamTextureからOpenCVのMatクラスに変換する。
2. DlibFaceLandmarkGetter - OpenCVのMatクラスから顔のランドマークポイントを取得する。
WebCamTextureからOpenCVのMatクラスに変換
↓
OpenCVのMatクラスから顔のランドマークを取得してアバターに適応
すると、カメラに映った被写体とそっくりに動いてくれます。
お手軽バーチャルYoutuberさんの誕生だ!
頭の向き&IKで自然なアニメーションが作れる
3. DlibHeadRotationGetter - 顔のランドマークポイントから頭の向きを推定する。
4. HeadLookAtIKController - 推定した頭の向き
Animator.SetLookAtPosition() メソッドに設定しIKを制御する。
5. HeadRotationController - 推定した頭の向きを使用して3Dモデルの頭の回転を制御する。
被写体が向いてる方向に、キャラクターが動く回転に対応!
そして、リアルなアニメが作れる「IK制御」が含まれています。
頭の方向が変わればバストアップ部分も自然な感じに動いてくれるのはVTuberさんにとって重要なポイントですよね。
顔の表情や口パクなど「ブレンドシェイプ」対応
6. UnityChanDlibFaceBlendShapeController - 顔のランドマークポイントを使用して3Dモデルの顔のブレンドシェイプを制御する。
「ニヘラ〜」とした表情など、被写体の顔とそっくりな表情なる顔のブレンドシェイプ制御に対応してます。
顔の表情は、バーチャルYoutuberさんにとって大切な要素ですよね。
Dlib FaceLandmark Detectorは表情を読み取り機能フル活用だ!
今すぐ試そう!サンプルデモ
スマートフォンとブラウザでお試しできます!
参考動画
FaceMaskExample using OpenCV for Unity and Dlib FaceLandmark Detector - YouTube(2:54)
こちらのフェイスマスクを応用したのが今回の「CV VTuber Example」ですね。
アセット説明
Unity 5.3.8 以降のバージョンが必要Works with Unity Cloud Build
iOS & Android support
Windows10 UWP support
WebGL support
Win & Mac & Linux Standalone support
Preview support in the Editor
このアセットの動作には“OpenCV for Unity”と“Dlib FaceLandmark Detector”が必要です。
Official Site | ExampleCode | Android Demo WebGL Demo | Demo Video
Features:
- CVVTuberExample(Computer Vision Virtual YouTuber Example)は人型の3Dモデル ("Unity-chan!" Model)をWebCamTextureの映像を使用して制御することが出来るサンプルプロジェクトです。あなたはWebCamTextureのみを使用して3Dモデルの頭の向きと顔の表情を操作することが出来ます。
- このサンプルプロジェクトでは次の手順で3Dモデルの頭の向きと顔の表情を制御しています。
1. WebCamTextureMatSourceGetter - WebCamTextureからOpenCVのMatクラスに変換する。
2. DlibFaceLandmarkGetter - OpenCVのMatクラスから顔のランドマークポイントを取得する。
3. DlibHeadRotationGetter - 顔のランドマークポイントから頭の向きを推定する。
4. HeadLookAtIKController - 推定した頭の向きAnimator.SetLookAtPosition() メソッドに設定しIKを制御する。
5. HeadRotationController - 推定した頭の向きを使用して3Dモデルの頭の回転を制御する。
6. UnityChanDlibFaceBlendShapeController - 顔のランドマークポイントを使用して3Dモデルの顔のブレンドシェイプを制御する。
Examples:
UnityChan CV VTuber Example
System Requirements
Build Win Standalone & Preview Editor : Windows 7 or later
Build Mac Standalone & Preview Editor : OSX 10.9 or later
まだ間に合う!Unity公式イベントで豪華賞品&賞金ゲット
VTuberによる VTuberのための
VTuberアセット紹介VTuber動画コンテスト
【開催期間】2018年4月25日〜2018年6月15日(金)
イベントページはこちら
出典:VTuberをかわいく見せるアセット紹介VTuber動画コンテスト開催中! – Unity公式 Asset Portal
確実に参加できる部門を紹介!今なら確実に間に合う
- なめらかVTuber部門
- フェイスリグ部門 ←オススメ!
- リップシンク部門 ←オススメ! 口のランドマークと同期
- 誰でもVTuber部門 ←オススメ! 手軽になれるので間違い無くコレ!
「最優秀賞」&「審査員特別賞」が豪華!
↓おそらくこちらの商品??具体的な型番が載ってないので間違ってたらごめんなさい
出典:[富士通WEB MART] MRヘッドセット+コントローラ FMVHDS1 : 富士通パソコン
「富士通Windows Mixed Reality Headset + コントローラー」
価格57,024円 / 価格.comによる2018年4月26日時点での最安値は¥45,480
+
Unityアセットストアバウチャー: $100 USD or $50 USD
受賞すればいきなり6万円相当のプレゼントがGETできちゃいます!
優勝すればアセットの元が取れちゃいますよ。
必要アセット2つ紹介
OpenCV for Unity
スクリプト/機能統合
$102.60 【更新日】2018年5月28日
アップグレード $54.00
スマートフォンのカメラに写った「模様」や「顔のパーツ」をリアルタイムで検出して、ゲームオブジェクトを引っ付けたり、照合して使うスクリプトです。
こちらは日本作家さんのアセットです!
OpenCVとは
インテルが作った画像処理&解析技術のオープンソースライブラリです。
これをクローンとして、日本作者さんがOpenCV for Unityを開発されたとのこと。
OpenCV Java 3.2.0と同じAPIが利用できます。(link)
OpenCV for Untiy ExampleScene Setup Tutorial for Unity5 - YouTube(3:20)
OpenCV(オープンシーヴィ、英語: Open Source Computer Vision Library)とはインテルが開発・公開したオープンソースのコンピュータビジョン向けライブラリ。
画像処理・画像解析および機械学習等の機能を持つC/C++、Java、Python、MATLAB用ライブラリ。プラットフォームとしてmacOSやFreeBSD等全てのPOSIXに準拠したUnix系OS、Linux、Windows、Android、iOS等をサポートしている。
カメラからリアルタイム画像検出
まるで焼き肉パーティー!
WebCamTextureを使ってリアルタイムにARマーカーや顔を検出してくれます。
MarkerBased AR Example using OpenCV for Unity - YouTube(2:04)
カメラからARマーカーの画像検出してリアルタイムにポジションを同期します。
ARの基本機能を行うための必要アセットです。
ちなみに、アセットストアにはOpenCVを移植したアセットが他にもありますが、
OpenCV for Unityは世界で一番人気なメジャーアセットだ!
- OpenCV Javaのクローンとして作っているので、OpenCV Java 3.4.1と同じAPIを利用できます(link)。
- WebCamTextureを使ってリアルタイムの画像処理が可能です。(iPhone5でリアルタイムな顔検出がスムーズに動作します。)
- UnityのTexture2DとOpenCVのMatを相互に変換するメソッドを用意しています。
- OpenCV for Unityの多くのクラスで"IDisposable"を実装しているので、"using"を使ってリソースを管理できます。
サンプル画像 5枚 13秒で一周します。
2017年9月13日に紹介しました。
OpenCV for Unity
スクリプト/機能統合
$43.20 【更新日】2018年5月14日
画像検出系アセット「OpenCV for Unity」の性能をさらにパワーアップ!
Dlib19.0 C++ Libraryを使用した「Dlib」と呼ばれる画像検出系の一種で、
目や鼻、口の位置や様子など「顔器官検出」に特化した技術です。
追記 2018年5月29日 15:00
Dlibのサンプルデータ利用時における大切なお知らせ
こんにちは~!
— izm (@izm) May 29, 2018
dlibの、付属のFace Landmark Detectionのサンプルで使われている学習済モデルは商用利用に制限がある iBUG 300-W データセットを使っています。
もし作者がデータセットを差し替えていない場合は商用利用制限に注意してほしい、と記載いただけると嬉しいです。
というわけでみんなdlib標準使ってVTuberやって収益化するとちょっとまずいんで、自前で学習しなおしましょうね♪
https://twitter.com/izm/status/1001337105719545857
※アセットの利用には「OpenCV for Unity」が必要です。
緑色のラインで「眉毛の位置」「目」「鼻筋」「口の形状」「輪郭」のランドマークをしっかり捉えてくれます。
白髪メガネのおじさんも、メガネフレームを回避して目の位置を特定。
位置や方向がわかれば「目からビーム!」なんてことができる。
目、口が開いてるか、閉じてるかも検出できちゃいますよ。
(これによりアバターの目や口と同期できるのです)
猫の顔認識
人間ではなく猫のモフモフした顔も、学習データから検出することができるそうです。
- ObjectDetectorはHOG特徴量を用いて物体を検出します。 同梱の顔の検出器だけではなく、自分で訓練した物体検出器を使用することも可能です。詳細はこちらのページを参照してください。
サンプルシーン: CatDetectionExample
マルチプラットフォーム対応
Unity Editor、Windows、Mac、Linux、iOS、Android、WindowsStoreApp8.1、WindowsPhone8.1、Win10 UWP Desktop、Win10 UWP Mobile、Win10 UWP RaspberryPi2
Dlib FaceLandmark Detector MultiPlatform Demo - YouTube(3:29)
とても参考になったサイトさま
Dlib FaceLandmark Detectorについての事前知識、セットアップ方法がわかりやすい
こちらのサイトさまの情報をかなり参考にさせて頂いております。
比較検証動画
dlib vs OpenCV face detection - YouTube(3:48)
赤いボックスが今回のアセットDlibで、青や水色のサークルがOpenCVの検出。
2014年1月8日に投稿された動画だからちょっと古い・・・。
最新のDlibやOpenCVでなら違う結果になるかも。
下記は個人的な感想です。
Dlib
・確実に顔だけを検出している。正確さを重視している。
・タクシーのガラスに映った顔はOpenCVは検出できたけど、Dlibは無反応
・顔が半分だったり、横顔は検出されない
OpenCV
・顔の一部が画面に入っただけで瞬時に判定
・顔じゃ無くても判定してしまう(赤背景にアルファベット。ネクタイとか)
・横顔でも検出する
2014/01/08に公開
赤いボックスはdlibの顔検出器で、サークルはOpenCVの顔検出器からのものです。どちらも同じスピードで動作し、同じ数の真の顔を検出しますが、OpenCVには多くの間違いがあります。
これはOpenCV 2.4.7とdlib 18.6を使って行いました。
詳細については、http://dclib.blogspot.com/2014/02/dliをご覧ください。
パブリッシャーのアセット(記録用)
サンプルシーンは全部無料!
顔の入れ替え
目、鼻、口など顔の表面を、別の誰かと入れ替える面白アプリが作れます。
こちらも「OpenCV for Unity」と「Dlib FaceLandmark Detector」2つ必要です。
女子ウケがとても良くて、テレビでもよく紹介されてましたね。
そして今回追加された「CV VTuber Example」
まさかアセットストアにVTuberさん専用のアセットが登場するとは・・・
専用で作られたアセットは私が知る限り第一人者。パイオニアだと思います。
パペ文字スタイルの技術が使えるようになるとは・・・
新時代の幕開けだ!
【新サイト】アセット割引情報ベータ
$43.20 => 無料化 100%OFF!!
【過去ログ】無料アセット
【過去ログ】作者セール&注目アセット
この作品はユニティちゃんライセンス条項の元に提供されています