Schi Heil と叫ぶために

hiroakiuno's blog

スマイルシャッターは盲点だった

手ぶれ補正革命が引き起こした光学高倍率ズーム戦争と第二次画素戦争もそこそこ落ち着いた感のあるデジタルカメラ。次の革命が起こるまでには暫く時間がかかると判断したのかどうかか知らないが、谷間世代を埋める役としてここ最近は顔認識(顔検出)がセールスポイントになっている。といっても、さすがに画像の中身を理解してタグをつけるということは今の技術レベルでは無理なので、やっていることは顔を検出してピントを顔に合わせたり、顔がキレイに見えるような画像処理をするという話になる。顔認識と書くと確かにセールストーク的には聞こえがよく、谷間感(こんな日本語あるのか?)は感じないかもしれないが、私はかなり微妙だと思っていた。というのもピント調整はまだしも、画像処理は後から高性能なコンピューターでやればよいから。少なくとも画像認識の応用としてはつまらない。

そんな中スマイルシャッター機能搭載というサイバーショットが出た。撮影した画像をどうするかではなくシャッターを押すタイミングに画像認識を用いる発想に思わずそう来たかと思ってしまった。派手さはないが非常に斬新だと思う。

画像認識の応用で実用化されている代表的なものものといえば、郵便番号を読み取る OCR や最近では指紋認証があるだろう。OCR は10クラスの識別だが文字なので他に比べて非常に簡単。指紋認識はそれに比べるとはるかに複雑だが、あらかじめ登録した指紋との類似性なので答えがある問題となる。一方の笑顔検出はそもそも笑顔の定義が難しいし、笑顔は無数にあるので学習が必要になる。で、どうやっているのか非常に気になるが、さすがにアルゴリズムを詳しく解説している記事はない。とりあえずニュースサイトからそのヒントとなる部分を拾ってみた。

「スマイルシャッター機能を作るにあたって、世界中の笑顔を集めて、スーパーコンピュータで解析した。笑顔を検出する精度には絶対の自信がある」と同社のスマイルシャッター機能の優位をアピール。
ソニー、「スマイルシャッター」のサイバーショット、CMなどを公開

平常時の顔と笑ったときの顔をデータベース化して解析したことで本機能の搭載が可能となっており、具体的には口角(口の両端)の変化や目の細まり具合からその顔が笑顔かどうかを判断しているという。ただ、複数人数の笑顔への変化は認識できず、複数の顔をカメラが認識している場合には、任意の1人を選択することになる。また、検知レベルの設定(3段階)も可能で、ほほえみから大爆笑までさまざまな笑い顔を写真に収めることが可能だ。
合い言葉は「はい、ソニー」:ソニー、笑顔をとらえるサイバーショット「DSC-T200」 - ITmedia LifeStyle

目や口角、歯の見え方の変化が、笑顔と判定するキーになるが、どの程度の笑顔で撮影するかを「スマイルレベル」として3段階で設定することができる。

ソニー、笑顔でシャッターが切れる「サイバーショットDSC-T200/T70」

同機能の開発に当たり,世界中の笑顔を解析したという。笑顔の程度を人が判断した上で「口角」「歯」「笑いじわ」「目」「頬」などのどこに笑顔の特徴があるのかをスーパーコンピュータを使って解析し,数値化した。この解析結果に基づき,デジタル・カメラで撮影している顔に対して笑顔かそうでないかを判定してシャッターを切っているという。CCDの映像から顔(笑顔)を検出して笑顔と判定し,シャッターを切って写真を撮影するまでの時間は,周囲の明るさにもよるが,およそ0.3秒以内という。筆者の場合,被写体の笑顔に気付いた頃には既に写真が撮れているという状態だった。

笑顔でシャッターが切れるカメラ - ニュース - nikkei BPnet

要するに、目、歯、口の形や色を特徴量として大量の教師データで学習したというところか。笑顔データベースというのがあるのかどうか知らないが、笑顔じゃない画像も学ばなければならないわけでそれなりに手間のかかる作業だと思う。具体的な特徴量や学習の方法までは分からないが、研究ではないので一般的な手法を用いたのだろう。また、多少誤りがあってもデジカメなのでフィルムがもったいないということにはならないから、やや甘めにパラメータを設定して笑顔をこぼさないようにしてあるのではないだろうか。

これを機会にデジカメの機能としての画像認識合戦が盛り上がり、谷間世代からヒーローが生まれて欲しいと思う。