【連載】

コンピュータビジョンのセカイ - 今そこにあるミライ

9 人間の顔があるかを判断する「顔検出」技術(2) - テンプレートマッチング

9/85

「パターン認識」による顔検出の基本的な流れ

顔検出の目的は、画像中を探索して「人間の顔の映っている領域」を探してくることです。その基本的な処理の流れとしては、対象の静止画像一枚に対して、画像全体に顔の大きさの探索窓(顔検出処理を行う判定領域)を動かし、探索窓が通過する座標ごとに「探索窓内の画像が、顔画像であるどうか」の判定を行います。こうした探索窓領域ごとの判定処理を画像中すべてに行うことで、最終的に顔の領域だと判定された探索窓の場所を、検出した顔の位置として教えてくれるのが顔検出の処理の流れです。

探索窓

探索窓ごとに「この画像は顔の画像か顔ではない画像(非顔)か」を判定するわけですが、このように「ある入力データ(ここでは判定領域ごとに切り取った顔画像)が数あるパターンの中である特定の1つパターンに相当すると計算機により判定する」技術を、一般的に「パターン認識」と呼びます。例えば、声をマイクから入力してそれがどんな日本語の文章かを判定するという「音声認識」もパターン認識技術で実現されています。コンピュータビジョン分野でも、最新技術の多くがこのパターン認識により実現されています。

過去のパターン認識手法:「テンプレートマッチング」

旧来のパターン認識は、あらかじめ用意したテンプレートと入力画像がどれくらい似ているかの類似度を単純に比較する「テンプレートマッチング」という手法で実現されていました。テンプレートマッチングでは、テンプレートとほぼ同じ入力画像が得られた場合は正しく判定されます。ただ、テンプレートマッチングでは、入力画像とテンプレートを単純比較しているにすぎません。よって、入力画像のノイズや照明変化が大きい場合など、テンプレート画像からの変化が激しい画像に対しては、途端にパターン認識の正解率が下がってしまいます。また、テンプレートマッチングではパターン認識した対象ごとにテンプレートが必要で、顔検出のように「どんな人間でも顔として検出してくれる」という目的は達成するには、下手すれば世界中の人間の顔のテンプレートを用意する事態にもなりかねません。

そこで登場してきたのが機械学習という技術です。機械学習とは、大量のサンプルデータを用いて、パターン認識を実際に行う「識別器」のパラメータの値を決定させることです。識別器では「特徴量」という、入力データからパターン識別が行い易い、つまり、パターンAとパターンBを識別しやすい特徴的な値を用いて、この特徴量がパターンAなのかパターンBなのかを判定します。例えば画像だと、色の分布であるヒストグラムであるとか、ある領域の平均の色の値ですとか、元データから出た計算した統計的な値を特徴量として使用します。

パターン認識のイメージ図

パターン認識用の識別器の最適なパラメータを決めることを「学習する」と呼びます。また、学習に用いるサンプルデータのことを「学習データ」と呼びます。この大量の学習データを用いて機械学習の各種アルゴリズムを用いる事で、学習前は値が定まっていない識別器のパラメータの値を確定させることが、「学習」という作業に相当します。

通常、学習データには、正解データと非正解データを共に大量に用意しておく必要があります。なぜなら、少数のデータだとそのデータに似たようなデータにしか対応できない識別器が出来上がってしまうわけです。従って、バリエーションが豊富な大量のデータにより学習を行うことで、学習データに含まれていたデータのバリエーションに対応が可能な識別器を作成することができます。このように「(計算)機械」において、高精度の識別器ができあがる手続きが、人間の学習の過程に類似しているので「機械学習」と呼ばれるわけです。

例えば顔検出の場合、正解データには年齢や性別や国籍などがそれぞれ違う、大量の人間の顔の画像を用意します。一方、非正解データには人間の顔ではないこれまたさまざまな画像を用意します。正解データには「正解」とラベル付けしておき、非正解データには「不正解」と同じくラベル付けしておきます。そして、これらの正解か不正解かがラベル付けされた学習データを用いて、学習アルゴリズムを実行します。つまり機械学習とは、「今後どのような新しい特徴量が入力されてもパターン認識結果の間違いが一番小さくなるように、大量の学習データ群をもとに識別器の最適パラメータを計算する」ことに相当します。

9/85

インデックス

連載目次
第85回 点群応用(建築編) - LIDARを用いた高精度/広域3Dスキャン
第84回 点群応用(建築編) - 3Dスキャンが活きる建築物の規模
第83回 点群応用(建築編) - 高精度かつ広域な建築物の3Dスキャン
第82回 まだまだ使える人が少ない3D点群処理
第81回 3Dデータで処理を行う利点とは?
第80回 点群データを取得・解析する技術「3D点群」はデプスセンサと何が違うのか?
第79回 動きに反応して映像が変わるインタラクティブなプロジェクションマッピング
第78回 プロジェクションマッピングの原理
第77回 「プロジェクションマッピング」とはどういったものか?
第76回 顔や視線でコントロール
第75回 手や指の動きだけでコントロール
第74回 3Dジェスチャー認識のおおまかな原理
第73回 全身の人物姿勢情報を活用したアプリ例 - 腕の動きからのジェスチャー認識
第72回 Kinectはどのように人物姿勢推定の性能を向上させたのか?
第71回 Kinectの人物姿勢推定手法は学習時にどのような処理を行っているのか?
第70回 どうやってKinectは人体パーツを識別しているのか?
第69回 「人体パーツ識別技術」により実現されているKinect向け人物姿勢推定技術
第68回 まだ完全には解けていない人物姿勢推定の問題
第67回 3D人物姿勢推定の仕組みとナチュラルユーザーインタフェース
第66回 3Dデプスセンサーーを用いた注目の新ベンチャー企業(後編)
第65回 3Dデプスセンサーを用いた注目の新ベンチャー企業(前編)
第64回 アクティブステレオ方式とは違う3D形状の動画計測方式 - ToF形式
第63回 Kinectで3D撮影を行うための条件
第62回 モーションセンサとして見た場合のKinect
第61回 Kinectセンサの動作原理を読み解く
第60回 kinectを用いたビジネスのアイデアを競う「Kinect for Windows Contest」
第59回 Kinectがもたらしたセンシング革命
第58回 Kinectの登場がもたらしたコンピュータビジョン革命
第57回 Kinectなどで使われるデプスセンサを用いた3Dコンピュータビジョン技術
第56回 組込分野でのコンピュータビジョンは使いやすくなったのか(後編)
第55回 組込分野でのコンピュータビジョンは使いやすくなったのか(前編)
第54回 デジタルビデオの安定化処理の注意点
第53回 デジタルビデオの安定化処理の手順
第52回 デジタルビデオの安定化技術の概要
第51回 2種類のオプティカルフローの計算手法
第50回 画素ごと独立した移動量パラメータを割り当てる「オプティカルフロー」
第49回 パラメトリックモーション - 特定の1つの動き表現モデル
第48回 デジタルビデオ安定化技術
第47回 動画に対するシーム・カービング
第46回 メッシュ変形ベースのリターゲティング手法
第45回 重要度マップへの「主観」の追加
第44回 自動作成を行うために用いられることの多い3つの重要度マップ手法
第43回 元画像を「縮小」する時に自然にリサイズする技術 - リターゲティング
第42回 漫画カメラで使われる漫画風画像生成とトゥーンシェーディングの違い
第41回 iPhoneアプリ「漫画カメラ」で使われている画像処理手法その2
第40回 iPhoneアプリ「漫画カメラ」で使われている画像処理手法その1
第39回 iPhoneアプリ「漫画カメラ」に見るコンピュータビジョンの実応用例
第38回 パッチマッチによる画像編集の1つ - リシャッフリング
第37回 パッチ探索をランダムに実行することで高速化を目指す「パッチマッチ」
第36回 インペインティングの手法の1つ - パッチベースの手法
第35回 2つの目的で使われるコンピュータビジョンのインペインティング
第34回 人工知能/ロボット応用で使われるコンピュータビジョン技術(後編)
第33回 人工知能/ロボット応用で使われるコンピュータビジョン技術(前編)
第32回 ホモグラフィ変換における画像間のレジストレーション処理
第31回 張り合わせ先の座標系モデルと移動量の算出
第30回 各画像の「移動量」と「変形量」の算出による特徴点の対応づけ
第29回 キーポイントの検出とSIFT記述子の計算
第28回 パノラマ画像の生成手順
第27回 "画像の張り合わせ"で手軽に作れるようになったパノラマ画像
第26回 身近になったコンピュータビジョン技術を用いた写真・映像の編集技術
第25回 進むステレオカメラのDepth Mapを用いた3D道路表面モデリングの研究
第24回 車線逸脱警告システムにおけるレーン検出の仕組み
第23回 パーティクルフィルタによる観測技術
第22回 前方衝突防止システム - 人物をトラッキングする手法
第21回 前方衝突防止システム - 「平行等位ステレオ」による3次元形状復元
第20回 ビジョンべースの自動車運転手支援システム - 前方衝突防止システム
第19回 MAP推定はどのように行われるのか
第18回 超解像の計算アルゴリズム「MAP推定」
第17回 超解像で高画質化処理を担当する「ボケ補正」
第16回 入力画像が2枚以上(動画)の場合における画像レジストレーション
第15回 1枚画の静止画における画像レジストレーション
第14回 画像の劣化に対する「高解像度化」と「高画質化」のための3つの技術
第13回 超解像における劣化関数で改善すべき2種類の劣化
第12回 高解像かつ高画質の映像を作り出す技術 - 超解像
第11回 「顔検出」を高速化する技術
第10回 顔検出の主流アルゴリズム「Viola-Jones法」
第9回 人間の顔があるかを判断する「顔検出」技術(2) - テンプレートマッチング
第8回 人間の顔があるかを判断する「顔検出」技術(1) - 「顔検出」と「顔認識」
第7回 拡張現実感「AR」(3) - 「ARToolkit」の登場によりARが一気に普及期へ
第6回 拡張現実感「AR」(2) - マーカ有りARとマーカレスARの仕組み
第5回 拡張現実感「AR」(1)
第4回 動画編集技術「マッチムーブ」(3)
第3回 動画編集技術「マッチムーブ」(2)
第2回 動画編集技術「マッチムーブ」(1)
第1回 身近なものとなってきたコンピュータビジョンの世界

もっと見る



関連製品をチェック

人気記事

一覧

イチオシ記事

新着記事