自由気ままな旅に出ています


by pepo629
カレンダー
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

いつでも“ベストショット”

Yahoo news から。

旅行や結婚式の集合写真の中で、一人だけ目を閉じてしまった。友人に笑われ、自分もなんだか損をした気分になってくる――そんな経験はないだろうか? まばたきは生理現象だから仕方ないが、シャッターのタイミングに重なるのは運が悪い。

 しかし安心してほしい。いつでも“ベストショット”を撮影できるデジタルカメラ向けの技術が開発されている。




 電気通信大学、大学院電気通信学研究科の金子正秀教授の研究室で開発したのは、集合写真に写っているすべての人がしっかり目を開けている写真を出力する技術だ。その仕組みは、シャッターを押してから0.5秒の間に15枚を連続撮影し、撮影画像の中に全員が目を閉じていないベストショットがあればOK。誰かがまばたきをしていたら、ほかの画像から目の部分を切り出して“はめ込む”というものだ。

 仕組みは理解できるが、よく考えるといくつかの疑問が浮かんでくる。大勢が写っている集合写真の中で、目を閉じている人間をどうやって判別するのか。はめ込む際に目の部分がずれたりしないのか。デジカメ内蔵のCPUで処理をまかなえるのか。そもそも、デジタルカメラで0.5秒間に15フレームもの連続撮影が行えるのか。東京・調布市にある電気通信大学を訪ね、詳しい話を聞いた。

 金子教授によると、開発のきっかけは、ロボット用アプリケーションとして開発を進めていた顔認識技術だという。たとえば、パートナーロボットの中には、カメラの映像からユーザーの顔を識別し、話かけるものがある。

 「学生と話をしているときに、顔認識技術をデジタルカメラに応用することを考えました。もちろん、現在でも写真をPCに取り込んで画像を合成することは可能ですが、自動的にベストショットを出力するデジカメができたら面白いだろうと」(金子教授)。

●まばたきを判別

 しかし、顔の一部を合成する場合は、同じアングルの画像が少なくとも2つ以上必要になる。また多くの人が一度に写る記念撮影の場合、まばたきしてしまう人も1人とは限らない。

 「一般的に、人のまばたきの回数は1分間に約20回。一回あたり0.2秒から0.3秒といわれています。このため、幅をとって0.5秒間に15枚の連写を行うことにしました。0.5秒あれば、撮影画像の中に目を開いた画像があることになります」。

 今のところ、そのスピードで撮影できる汎用のデジタルカメラはビデオしか存在しない。解像度こそ640×480ピクセルに制限されてしまうものの、毎秒30フレームの撮影が可能なビデオカメラなら0.5秒の間に15フレームを取り込める。そこで実験では、ソニーのDVカムコーダー「DCR-VX2000」を使用した。

 撮影した15枚の画像は、PCに取り込み、専用のアプリーションで処理するのだが、検出精度を向上させるため、開発したソフトウェアは、「顔」「目」「まばたき」の順番で対象を絞り込んでいく形とした。

 まず、最初に入力した画像から肌色の部分を抜き出し、特徴点抽出の技術と合わせて“顔の領域”を推定する。次に、顔領域の中で黒っぽく、かつ輝度の高い部分を特定して“目の候補領域”とする。

 「肌色と黒という色の違いで区別すると同時に、顔領域に低輝度通過フィルタをかけています。これは、目や髪の毛は輝度が高いことを利用した検出方法です」。

 並行して、両目と思われる黒い部分が横に直線で並んでいる場所を選ぶ。こちらは、人間の目が横に並んでいることを利用した判別方法だ。

 実験には、研究室内で撮影した画像を使用した。「計98人が写っている48枚の画像に対して、正確に検出できたのは75人分でした。検出率は76.5%ですから、顔の検出率向上は今後の課題といえます」。

 うまく抽出できなかった原因はいくつかあった。たとえば撮影時に照明が暗すぎたり、逆に飛んでしまっている場合は肌色の検出が困難だ。また目を検出する段階では、「もともと目が細い人が、低い解像度で写っている場合」(同氏)が難しい。アップなら認識できるものの、ロングで撮影した場合は、目を開いていても“閉じている”と判別されることがあったという。

 目の場所が特定できたら、次は目が開いているかどうかを判別する(まばたき検出)。ここで使用するのは、「高次局所自己相関特徴量」と呼ばれる手法。15枚の画像を時系列に並べ、目の部分を用意したパターンと照らし合わせて目の状態を特定する。パターン検出としては一般的な手法だが、まばたき検出用に11通りのパターンを作成。これにより、前述の顔検出で成功した75人分の写真のうち、72人分が正しく認識できたという。検出率は96%だから、かなりの精度だ。

 最終的には、15枚の画像すべてに対してこれらの処理を行い、誰も目を閉じていない画像があればそのまま出力する。ない場合には、目を閉じている人が少ない画像を選び、まばたきしている人の目をほかの画像と入れ替える。目の周囲を拒形に切り取り、貼り付けて境目をぼかすというレタッチ技を自動処理で行うわけだ。なお、記念写真では人は静止していることが前提になるため、不自然な境界線ができることは少ないという。

 気になる処理時間は、5人が写っている場合で1フレームあたり8~10秒、15フレームなら2~2分半程度だった。使用したのは、Pentium 4/2.2GHz、1Gバイトメモリの標準的なWindowsマシンだ。

 「人数が多ければ処理時間も増えますが、アルゴリズムを最適化し、またデジカメ用に専用LSIなどを起こすことができれば、処理時間を短縮できるでしょう」。たとえば“最初の1コマでまばたきをしていると判別したら、0.2秒(まばたきにかかる時間)分の画像をスキップする”などして、処理速度は短縮できるという。

 まばたき検出には、これまでも複数の方法があった。ただし、従来の技術は主に自動車運転中の“いねむり検出”がメインで、目を正面から捉えなければならなかったり、解像度が高い画像を前提にしているるなど、制約が大きかった。対して“ベストショット技術”は、複数の人数に適用できるうえ、従来技術が苦手としていた“複雑な背景”の画像や“解像度の低い画像”にも強い。

 「目の部分の画素数がわずか26×4ピクセルという低解像度でも検出できた。たとえば実用的に認識できる下限を“両目で40画素”と仮定した場合、横1000画素程度の写真なら、人の肩幅などを考慮しても、1つの画面に30人程度が収まる計算になります」。

 これはつまり、解像度さえ確保できれば、より大人数の集合写真にも対応できるということだ。もちろんデジタルカメラの性能向上が前提となるが、最近では家庭用ハイビジョンカムコーダーも登場しており、あるいはカムコーダー用のアプリケーションにする方法もあるだろう。金子教授は、「まだ手を挙げるメーカーはないが、ライセンスなどの形で技術供与することは可能だ。数年のうちに実用化できればと考えている」と話していた。

 このほか、ベストショットを応用して、片方の目だけを閉じた「ウインク画像」を作成するアプリケーションも開発中だ。下の写真のように、できあがったウインク画像は少し不自然だが、デジカメのオマケ機能としては面白いかもしれない。
[PR]
by pepo629 | 2005-06-08 15:43 | Trivia