CanonのデジカメIXY 900ISには顔検出機能があります。カメラの方で、画面上の人間の顔を検出して、その検出した顔に最適なピントと露出を自動的に設定するというものらしいです。(フェイスキャッチテクノロジー)。一度顔を検出すると、その顔が画面上を移動しても、追いかけて行くそうです。一画面で認識可能な顔の数は9人。9人がいっせいに動いても、追随するのでしょうか?写真を撮りなれている方には不要(無用)な機能かもしれませんが、技術的にはなかなか面白い技術です。
フジフィルムの製品にもこの機能があります。FinePix S6000fd、FinePix F31fd、FinePix Z5fdです。こちらの方は「世界最速」で最短約0.05秒で最大10人の顔を一度に検出し、ピントや露出を合わせるそうです。こちらはIC化してあり、この速度が実現できるそうです。
ちょっとだけ、その機能を確認してみました。機種はFinePixZ5fdです。実際にZ5fdを手にとって、近くにあった人物の写真で、顔検出させてみました。顔の額と顎がLCDの上下端にどうにか入るドアップ状態から、顔のサイズがLCDの横サイズの1/10くらいの小ささまで、顔検出がなされています。ただし、顔の角度が約20度以上傾くと、検出できませんでした。また、横を向いた状態では全く認識しません。
この機能は、画像を取ったカメラで再生する場合も有効の様です。見たい画像を表示させ顔検出ボタンを押下すると、検出した顔部分が枠で囲まれます。もう一度顔検出ボタンを押下すると、検出した顔のアップが表示されます。
<追記>この機能は、顔検出を有効にして撮った画像のみ、再生の時も、顔検出をする仕様の様です。ですから、顔検出をOFFにして、人物を撮った後、その画像を再生した時には、顔を検出をさせることは出来ないようです。ちょっとがっかりです。撮影時の顔検出情報(座標情報?)を画像に付加して、再生時にそれを参照しているのか、それとも、顔検出の有無のみのフラグだけを立てておいて、再生時はそのフラグが立っていれば、その画像に対して、再び顔検出を行うのか?再生画像に対しては常に顔検出が使えるようにして欲しかったです。
ここでまた実験です。
1人の人物の顔が写った画像(320×160)を用意して、同じ画像11個をPCのCRT画面上に表示させます。この状態で、Z5dfをCRT画面に向けてみました。デジカメのLCDから見える
CRTの画面はかなりちらついて見えます。しかし、そのような状態でも、最大8から9の枠が画面に表示されます(顔検出をしているということですね)。ただし、顔検出枠も表示がちらつきます。これは画面のちらつきに応じてその都度、顔検出をしている様に見えます。これが正しいとすると、かなりの検出速度だなあと思います。ちなみに、写真などで顔検出をさせた場合、顔検出枠のちらつきはほとんどありません。
また、顔が画面内を移動した場合の追従性はどうでしょうか?文章で表現するのは難しいのですが、ゆっくりと移動させた場合でも、顔を見失う(枠が表示されない)ことがよくある様です。人物が画面内を移動してるときなどは、この性能からすると、追従は無理だと思います。止まっている人物がターゲットの様です。
<追記> 従って、ちょこまか動く被写体(たとえば、子供)を写す場合は、この機能はなかなか有効に働きません。私の場合、子供を撮ることが多いのですが、多くの場合走り回っていることが多いんです。その時にはこの機能はあまり有効に使えないのは残念です。
実際にこのカメラを使うときは、今まで以上にラフに人物写真が確実に撮れるようになると思いますが、この機能、いろいろ遊ぶには面白いと思います。
再生時の画像に対しても顔検出が可能というのは、面白いのですが、撮った憶えのないところに顔が検出されたら、ちょっと不気味ですね。