みくだん

【Hitogata Tips】フェイストラッキングテクニック

2018/06/16
Hitogata関連
Hitogata Tips Vtuber
 このエントリでは、お手軽バーチャルYouTuberソフト『Hitogata』においてのフェイストラッキングのちょっとしたテクニックなどを記します。
 地味な内容ではありますが、徐々に増えているHitogata使用のVTuberの方々や、これから始める方々の手助けになればと思います。

【Hitogataにおいてフェイストラッキングの概要】

 Hitogataではディープラーニングによる画像認識・顔認識を利用しています。ラーニング結果は開発者でも予想が難しく、入力したサンプルデータによって偏りが出る事もあります。
 開発者のMoggさんが自身の顔だけを入力した場合には、当然Moggさんの顔や表情は細かく認識しますが、他の人の顔は認識しません。が、より多くのサンプルデータを学習させる事で、プログラム側で近似値を探して人の顔を認識するものです。
 Hitogataでは『VGGFace2 Dataset』を利用・学習させてますので、多くの人の顔を認識する事が可能となっていますし、Moggさん自身も自前PCをフル活用して結果向上を地道に繰り返しています。
(学習・解析には膨大な時間を必要とするそうです)

 なので、やはりプログラム側で認識しやすい顔と、トラッキングが外れやすい顔と得意不得意が出てきてしまっています。
 こればかりは、顔を変える訳にも行かず、また学習データで任意の方向性を付けるのも難しい問題になっています。

 beta v2世代になってから、かなり精度は向上しています。
 そこで、私自身が使用した中での話になりますが、いくつかTips的なものを記しておきます。


■明るすぎず暗すぎず、な撮影環境

 顔出し生放送をする訳ではありませんが、それでも照明など部屋環境を整える事は重要となります。
 とはいえ、特殊な照明や顔にバッチリ照明を照らす必要はありません。以前のエントリに記したように、部屋のシーリングライト(天井の照明)だけでも問題はありません。Webカメラの設定でフォローする事は可能です。

 Hitogataでは基本的に輝度(画素の明るさ)のみで顔認識をしています。が、厳密にいうと色情報がまったく関係無いといえばそうでもなく、色温度や色相の影響なども少々あったりします。
(大きく差異が出る訳ではありませんが、青より赤の方が輝度が出やすい傾向があったりします)

 基本は輝度で見ているので、人物の背景、服、照明を工夫すれば認識精度は上げやすくなります。

・高すぎる輝度は誤認識しやすい
原因:太陽光などのエネルギーが強い光が当たっていると顔自体を認識し辛くなる。
対策:カーテンなどを閉めて、直射日光が顔や人物に当たらないようにする

・元々部屋が暗い場合
原因:古いアパートなどで備え付けのライト等が元々暗い
対策:液晶モニタの調整で輝度などを上げ、照明代わりに使う

・デスクライトなどを当ててみたが…
原因:蛍光灯やLEDライト直接当てると明るすぎる(目にもよろしくない)
対策:要らないコピー用紙(なにか印刷してあっても良い)やトレーシングペーパー等をライトに被せて光を拡散させる(強すぎる光をフィルタする)

 要は、ポートレート撮る時のように程よい明かりを点けておけば良いという事になります。
 認識するのは、顎(とその影)、眉、目、鼻、口となっており、それぞれ陰影や特徴を得られやすい部分です。
 『カメラ画像』をONにし、『Webカメラコントロール』を使用して丁度良い感じになるよう、調整してみて下さい。
 Webカメラコントロールの内容は、Hitogata側では記録されず、Webカメラのドライバ側での記憶となるので、Windowsを再起動などさせると消えてしまいます。なので、Hitogataの初回起動時には必ず調整を行うようにすると良いでしょう。

 余談となりますが、レフ板等を使って顔を奇麗に撮るような事はしなくて大丈夫です。むしろレフ板などで首周りの陰影が薄くなってしまうと、顎のラインが認識し辛くなるので、トラッキング外れの原因になり得やすいです。
 あくまでも画面に出るのはアバターなので、自身の顔を美しく魅せる必要はありません。


■必ずしもアップで写す必要はない。画素数も多ければ良いというものではない。

 まず顔を撮るサイズですが、アップにする必要はありません。
 確かにアップで取れば細かい動きまでトラッキングできるようになりますが、細かい動きまで認識してしまうので、結果としてノイズ的な動きも多くトラッキングしてしまいます。
 歌う時のリップの動きが欲しい場合などはアップの方が良いですが、普段使いや生放送でやる場合には、アップでの撮影を避けた方が良いです。

 Hitogata beta2では動き平滑化の機能も備わっているので、感度スライダの調整を併用する事で、口の動きと体の動きを程よくトラッキングしてくれます。
Hitigata_Tips_A01 

 お勧めはバストサイズ(胸から上が写ったサイズ)です。また、構図的には少々アンバランスでも、頭の空間(マックスヘッドルーム)はやや空けて、顔が取得画像の中心に来るようにした方が良いです。

 また、顎の認識の問題で、Webカメラを下側に設置して、アオリ状態で撮る事も避けた方が良いでしょう。ベストは目線の高さと同じ位置にWebカメラを設置する事です。
 難しい場合は、モニタの上等に引っ掛けて、目の高さに近い位置から撮りましょう。
(俯瞰だと、眉のトラッキングでノイズ的動きが増えてしまう可能性もありますが、顔全体のトラッキングが外れるよりは良いかと)

 また、最近のWebカメラはフルHDサイズまで奇麗に取れるものも増えていますが、取得画素数が増えれば当然CPUの負荷も高まりFPSが落ちます。
 私の環境では、横幅が720pxを超えると途端にFPSが半減以下となり、CPUが唸り始めます。
 なので、標準である横640pxが程よい処理能力となるので、高品質Webカメラの必要性は薄いです。数千円程度で売られているカメラで十分です。
(当然、Webカメラ自身にあるセンサー画素数は高い方が綺麗には撮れます。またレンズが大きい方が明るく撮れます)

 同様な理由で、Webカメラではなく動画からフェイストラッキングを行う際も、大きな画素数は必要ありません。
 Webカメラでのリアルタイム処理に比べれば、動画からの処理の方が軽い状態ですので、ハーフHDサイズ(1280px × 720px)くらいの大きさでも綺麗に撮れます。
(第7世代のCPU以降であれば、フルHDでもスムーズにトラッキングしてくれますが、精度に大きく差が出てる様子はありませんでした)


■服や髪型も気にしてみよう

 お洒落をする必要はありませんが、トラッキング精度を高める為には着替えの検討も必要です。
 服は白系などの高反射(輝度が高くなりやすい)の色のものは避けましょう。黒や紺などのTシャツなど首周りまで見えて、かつ暗めの服の方が誤認識が少なくなります。
 勿論、アーティストや何かのキャラの顔がプリントされてあるシャツ等は避けましょう。

 髪も、前髪等はアップにしておでこを出しておきましょう。いわゆる姫カット(前ぱっつん)状態だと眉が認識できずに、ノイズが増える可能性があります。

 髭も剃りましょう。
 冗談抜きで、顎髭、口髭は誤認識の原因になりやすいです。
 試しに数日伸ばしっぱなしの状態と、奇麗に剃った時とで比べてみたら、特に顎認識のノイズに差が出ました。
 数値的な検証を行った訳ではありませんが、特に顎髭と鼻下の髭は影響が大きいです。恐らく影なのか(唇の動きでできる影)、輪郭なのか判断が付きにくくなっているのでしょう。

■ヘッドセットマイクの位置

 壁の薄さなどで大きな声を出せない環境だと難儀な問題です。
 マイクブースト機能で音量を上げるとノイジーになり、マイクを話すと声が拾えないなどで、仕方なく口元までマイクを寄せる事が多いでしょう。
 が、当然ながら、唇前にマイクがあると、これもまたトラッキング精度を下げる原因になります。

 そういう場合は、マイクアームを含め、顎下に下げてしまいましょう。もしくは顎のラインに添うように曲げてみても良いです。
 卓上マイクなら問題ありませんが、これはこれで環境音を拾いやすくなるので、一長一短ですね。
 また、ハンズフリーマイクのようなものでも良いですが、多くは音質が低質になります。
 ベストなのはピンマイクですが、個人で買うようなものではありませんね……。


■最後に

 HitogataはVR環境を整える必要が無く、Webカメラがあれば使えるソフトです。
 また、VTuber以外の用途でも使えます。
 MikuMikuDanceやMikuMikuMovingで使うためのモーション作成にも利用できますし、SkypeやDiscordでのカメラチャット(別途、デスクトップキャプチャツール等が必要)で、アバター表示させながらの会話などにも使えます。
 あとは単純に、自分の動きを真似るCGアバターが動く様を見るだけでも、なかなか楽しいものです。

 勇気ある方は、仕事のプレゼンテーションに使ってみるのも面白いかもしれません。
 私も何件か仕事の関係でHitogataを目前で見せた所、大抵の方は驚き、そして興味を惹かれていました。7年前のノートPC(Core i7 2720QM)でも余裕で動かせるので、なおさらです。

 また、既にHitogataを運用している方は、是非ともMoggさんにお声掛けして下さい。
 メールでも良いですし、Twitterをフォローするのも良いでしょう。

MoggさんのTwitter:@mogg_dev

 プログラマにとって、意図しない動作や不具合は許しがたい存在なので、遠慮せずに報告する事をお勧めします。
 また、Moggさんのブログにもある通り、『VTuberになりました』やソフトを使って楽しんでる事を伝えるだけでも、氏のモチベーションに繋がります。
 MMD関連ツールでもそうですが、ソフトやツールは使用者の結果が見れる訳ではありませんので、反応が少なくモチベーション維持に苦労しています(動画等の目に見える状態になる事が稀なので)。

 また、アバター作成用のパーツですが、Moggさん以外でHitogata用に作られたものは、まだありません(私が知らないだけかもですが)。
 苦労して作ったCGモデル(単体パーツであれ)を「自由に使っていいよ」という状態で配布する事自体がリスキーではありますが、指輪やリボン、ウェストポーチ等の小物でもアバターの個性に成りえますので、モデリングの練習がてらに作ったものをMMDアクセサリ・Hitogata用パーツとして配布してみる事もご検討下さい。

 以上です。
 それでは、良いアバターライフを。

関連記事
かんな@バーチャルJC
Admin: かんな@バーチャルJC
ニコニコ動画などでMMD動画をうpしてるしがないユーザーの一人。
バーチャルJC。文筆系の活動もしています。

VRChat & clusterユーザー:kanna3939
継続プレイゲーム:ウマ娘、原神、鳴潮、ゼンレスゾーンゼロ
Steamゲーム:Factorio、Satisfactory、
Hitogata関連