ARKit4 関連調査 その3 「Expanded Face Tracking Support」
ARKit4の主要機能として紹介されたExpanded Face Tracking Supportについてまとめました。
Expanded Face Tracking Supportとは
既存機能であるFaceTrackingが強化され、デバイス制限が緩和されました。
このビデオでは最後の2分くらいでしか説明されていません。
既存機能の拡張なので 使い方や内容にもあまり変更がない為と思われます。
※この記事もあまり調査する内容がありませんでした。。
そもそもFace Trackingとは
フロントカメラにより顔検出及び顔追跡が出来る機能です。ARKit1から実装されています。
顔にある52箇所を特徴点として取得し、フレーム毎にその動きを追跡・更新します。顔の動きを追跡出来るので、表情に合わせてお面を被せるという用途が一般的です。
ただし、表情を追跡し続けるには顔の深度まで取得出来る高精度なカメラが必要です。よって、この機能を利用出来るのはtrueDepthCameraを搭載した端末のみでした。
※ホームボタンがなく顔認証でロック解除出来る端末です。(iPhone X等)
true Depth Cameraのセンサー
ARKit2では目線と舌の動き(出てるか出てないか)が取得可能になり、ARKit3からは同時に3人までの顔追跡が可能になりました。
また、フロントカメラでARモードを利用しながらリアカメラでFaceTrackingモードを起動する事が出来るようになったので、リア側の表情に合わせてフロント側のAR表現を変更することも可能です。個人的にFaceTrackingではこれが一番すごい拡張だったと思ってます。
この辺りはARKit3のSamplerをご確認頂けると嬉しいです。
ARKit4での変更点
ARKit4からは、機械学習データにより深度を推定する事でtrueDepthCameraが無い端末でも3人までの顔追跡が可能になりました。
ただし、高精度な機械判定が必要な為、A12 Bionic以上のチップを搭載した端末のみが対象となります。
2020年7月時点での対象端末
・iPhone SE(第2世代)
・iPad mini(第5世代)
・iPad Air (第3世代)
では、深度を取得する為に必要だったtrueDepthCameraはもう要らないのか?と言うとそうでも無いです。
一番下の段。右側のtrueDepthCameraが無い端末では、Depthデータを自由に取得する事はできません。実際に取得しておらず推定だからと思います。
Depthデータって?
端末と被写体との距離データです。
iPhone/iPadでは、背面のデュアルカメラによる視差やtrueDepthCamera、LiDARなどで取得しています。
Depthの何が良いか と言うと...
・VSLAM(ジャイロ+画像解析)以上に、環境検出を高速化
・奥行きデータを元に物体を3Dで再現(フォトグラメトリ)
・奥行きにより表現を変える(オクルージョンなど)
のようなことが可能になります。私は特に3D再現の用途で利用します。
なので、顔の深度データを取得して3D再現するような用途がある場合は、trueDepthCameraがまだ必要です。
例:顔の奥行きデータを元に物体を3Dで再現
因みに「Expanded Face Tracking Support」に関してはこちらの記事に詳しく書かれております。もし気になる方はこちらもご参考にどうぞ!
まとめ
以上、ここまでお読み頂きありがとう御座いました。
iPad(LiDAR有)が間に合わなかったので「Expanded Face Tracking Support」について先に書きましたが、今日届きました!
次回こそDepth APIについて纏める予定です。