現代では顔検出機能は当たり前な技術 |
顔検出の技術は古くからあり、カメラにも組み込まれていた。 クラシックな一眼レフは光学ファインダーなので、あまり恩恵はないけど、ライブビュー方式のコンデジなどは顔検出や顔追尾のコマーシャルを昔から訴求していた。
トップの写真は SONY ILCE-9 で撮影した写真だけど、カメラ自体は顔検出・顔追尾を行っていた様だ。 ただし、写真の EXIF情報 には残されていないので、自作ソフトウェアで顔検出・眼検出した情報を重ねている。 背景のオッサンに対して顔検出しているのが気に喰わないけど、有償の機械学習による分類器を買わなくても検出は可能だ。 なお、水色の矩形枠は自作ソフトが検出した人体枠である。
SONY機でも顔検出情報が記録される事はある |
自作アプリで顔検出してみた |
この手のアプリケーションソフトを作っていると、EXIF情報に撮影距離情報が記録されていない事がネックとなる。 カメラ自身は撮影距離が判っているので、有り得ない小顔とか大顔を排除できるけど、撮影されてしまった写真の撮影距離が判らない場合、アプリケーションソフトではあり得る顔の大きさを特定できないので、異常な小顔や大顔を排除できない。
また、対象となる顔の大きさが判れば、顔を認識できる程度まで画像を小さくリサイズできるので、処理を高速にすることも可能になる。
精度に疑問は残るが、ニコンやキヤノンの画像は撮影距離情報を基にリサイズ率を設定出来るので効率的な検出が可能である。 人物の大きさが変化しない監視カメラの様な場合は人体検出や顔検出は簡単なのである。
心霊写真の例 |
撮影倍率が低い写真は人体検出で充分 |
人体用の分類器がタコなので、検出されない人体も多いが、ライブビューなどの動画なら検出されるチャンスが格段に増えるので、検出された部分を仮想的に継続する事で検出意思一致度は格段に向上する。
この辺のパラメーターは写真を撮る人じゃないと決定は難しいんだけど、ソニーさんは判ってない気がする。