Multidevice FaceTracker

iPhoneXで使用することができるARKitのFace Trackingの機能を、その他のデバイスで実現できるようにしました。

Technical Point

iphoneXの場合赤外線でフェイストラッキングしています。 今回は代替の手段として、画像認識ベースのdlibというライブラリを選択しました。dlibの顔検出を使うと目、鼻、口、輪郭といった顔のパーツを検出することができます。

dlibでフェイストラッキングをする付属している際はライブラリにFace Landmark Detectionの学習済モデルを使っているケースが多いのですが、この学習モデルには商用利用に制限という問題があります。

そのため商用利用する場合にはFace Landmark Detectionの学習済モデルを自身で作成する必要があります。
dlibには学習するためのサンプルコードがあり、サンプルデータのように画像と顔のポイントの位置がかかれたXMLを作ることで比較的容易に学習データが作ることができます。

今回はtrainとtestの画像を200枚づつ用意しました。MacBook Proで学習せた場合には40分くらいで学習が終わります。
dlibに付属しているFace Landmark Detectionの学習済モデルに比べると、瞬きや、顔の左右の認識の制度が若干甘いですが、動画のように実用に耐えうる精度がでていると思います。

Enox SoftwareがUnityのアセットストアで配布している 「CV VTuber Example」でもdlibが使われています、今回のExampleも「CV VTuber Example」を参考に制作しています。

Contact

ARKitを用いたアプリ開発のご依頼・ご相談は下記フォームよりお問い合わせください。

(c) る株式会社