(57)【要約】【課題】処理を簡略することで高速に画像中の人物を検出できる人物検出装置を提供する。【解決手段】検出対象の画像データから画像パッチを切り取って予め作成された学習モデルに入力することで、画像パッチが人物領域とどの程度重なっているかを示す第１の値を算出し、第１の値が予め設定された第１閾値以上であるか否かを判定する手段と、第１の値が第１閾値以上である場合、学習モデルを用いて画像パッチが人物領域からどの程度ずれているかを示す第２の値を算出し、第２の値に基づいて画像パッチを変化させ、変化させた領域を記録する手段と、記録した領域のピクセルに同一のスコアを与え、記録した領域同士が重複する部分のスコアを加算し、縦の１列及び横の１行毎にスコアの平均値を算出し、算出した平均値が予め設定された第２閾値以上になる列及び行を境界線とし、境界線で囲まれた領域を人物検出領域とする手段と、を有する。【選択図】図８
2010102396.tif 000002
【特許請求の範囲】
【請求項１】
学習されたモデルを用い、画像データ中の人物領域を検出する人物検出装置であって、
検出対象の画像データ中の所定領域を画像パッチとして切り取って予め作成された学習モデルに入力することで、前記画像パッチが人物領域とどの程度重なっているかを示す第１の値を算出し、前記第１の値が予め設定された第１閾値以上であるか否かを判定する第１の値算出判定手段と、
前記第１の値が前記第１閾値以上である場合、前記学習モデルを用いて、前記画像パッチが人物領域からどの程度ずれているかを示す第２の値を算出し、前記第２の値に基づいて前記画像パッチを変化させ、変化させた領域を記録する領域記録手段と、
記録した領域のピクセルに同一のスコアを与え、前記記録した領域同士が重複する部分のスコアを加算し、縦の１列及び横の１行毎にスコアの平均値を算出し、算出した平均値が予め設定された第２閾値以上になる列及び行を境界線とし、前記境界線で囲まれた領域を人物検出領域とするスコア算出判定手段と、
を有することを特徴とする人物検出装置。
【請求項２】
少なくとも１人の人物が映っている画像データが入力され、前記画像データ中の人物領域が指定された場合、前記画像データ中の複数の領域毎に、前記指定された人物領域に基づいて学習サンプルを生成する学習サンプル生成手段と、
前記学習サンプルに基づいて、計算結果として出力される値のエラーが減るように前記学習を行い、前記学習モデルを作成するモデル作成手段と、
を有することを特徴とする請求項１記載の人物検出装置。
【請求項３】
前記学習サンプルは、前記画像データ中の所定の領域が前記指定された人物領域からどの程度ずれているかを示す値、及び、前記画像データ中の所定の領域が前記指定された人物領域とどの程度重なっているかを示す値であることを特徴とする請求項２記載の人物検出装置。
【請求項４】
前記指定された人物領域とは、前記画像データ中の人物の頭又は顔から、少なくとも首又は肩までを含む領域であることを特徴とする請求項３記載の人物検出装置。
【請求項５】
前記第１の値算出判定手段及び前記領域記録手段は、
パラメータとして予め設定された前記画像パッチの移動量及び前記検出対象の画像データの縮小率を変化させながら処理を繰り返し行い、
全てのパラメータでの処理が終了したら、前記スコア算出判定手段の処理に移行することを特徴とする請求項１から４のいずれか１項に記載の人物検出装置。
【請求項６】
少なくとも１人の人物が映っている画像データが入力され、前記画像データ中の人物領域が指定された場合、前記画像データ中の複数の領域毎に、前記指定された人物領域に基づいて学習サンプルを生成する学習サンプル生成手段と、
前記学習サンプルに基づいて、計算結果として出力される値のエラーが減るように前記学習を行い、前記学習モデルを作成するモデル作成手段と、
を有することを特徴とする人物検出装置。
【請求項７】
前記学習サンプルは、前記画像データ中の所定の領域が前記指定された人物領域からどの程度ずれているかを示す値、及び、前記画像データ中の所定の領域が前記指定された人物領域とどの程度重なっているかを示す値であることを特徴とする請求項６記載の人物検出装置。
【請求項８】
前記指定された人物領域とは、前記画像データ中の人物の頭又は顔から、少なくとも首又は肩までを含む領域であることを特徴とする請求項７記載の人物検出装置。
【請求項９】
学習されたモデルを用い、画像データ中の人物領域を検出する人物検出方法であって、
検出対象の画像データ中の所定領域を画像パッチとして切り取って予め作成された学習モデルに入力することで、前記画像パッチが人物領域とどの程度重なっているかを示す第１の値を算出し、前記第１の値が予め設定された第１閾値以上であるか否かを判定する第１の値算出判定ステップと、
前記第１の値が前記第１閾値以上である場合、前記学習モデルを用いて、前記画像パッチが人物領域からどの程度ずれているかを示す第２の値を算出し、前記第２の値に基づいて前記画像パッチを変化させ、変化させた領域を記録する領域記録ステップと、
記録した領域のピクセルに同一のスコアを与え、前記記録した領域同士が重複する部分のスコアを加算し、縦の１列及び横の１行毎にスコアの平均値を算出し、算出した平均値が予め設定された第２閾値以上になる列及び行を境界線とし、前記境界線で囲まれた領域を人物検出領域とするスコア算出判定ステップと、
を有することを特徴とする人物検出方法。
【請求項１０】
少なくとも１人の人物が映っている画像データが入力され、前記画像データ中の人物領域が指定された場合、前記画像データ中の複数の領域毎に、前記指定された人物領域に基づいて学習サンプルを生成する学習サンプル生成ステップと、
前記学習サンプルに基づいて、計算結果として出力される値のエラーが減るように前記学習を行い、前記学習モデルを作成するモデル作成ステップと、
を有することを特徴とする人物検出方法。
【請求項１１】
学習されたモデルを用い、画像データ中の人物領域を検出するためのプログラムであって、
検出対象の画像データ中の所定領域を画像パッチとして切り取って予め作成された学習モデルに入力することで、前記画像パッチが人物領域とどの程度重なっているかを示す第１の値を算出し、前記第１の値が予め設定された第１閾値以上であるか否かを判定する第１の値算出判定処理と、
前記第１の値が前記第１閾値以上である場合、前記学習モデルを用いて、前記画像パッチが人物領域からどの程度ずれているかを示す第２の値を算出し、前記第２の値に基づいて前記画像パッチを変化させ、変化させた領域を記録する領域記録処理と、
記録した領域のピクセルに同一のスコアを与え、前記記録した領域同士が重複する部分のスコアを加算し、縦の１列及び横の１行毎にスコアの平均値を算出し、算出した平均値が予め設定された第２閾値以上になる列及び行を境界線とし、前記境界線で囲まれた領域を人物検出領域とするスコア算出判定処理と、
をコンピュータに実行させることことを特徴とするプログラム。
【請求項１２】
少なくとも１人の人物が映っている画像データが入力され、前記画像データ中の人物領域が指定された場合、前記画像データ中の複数の領域毎に、前記指定された人物領域に基づいて学習サンプルを生成する学習サンプル生成処理と、
前記学習サンプルに基づいて、計算結果として出力される値のエラーが減るように前記学習を行い、前記学習モデルを作成するモデル作成処理と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の人物を検出する人物検出装置、人物検出方法及びプログラムに関する。
【背景技術】
【０００２】
パターン認識（Regression）を用いて画像中の人物を検出する技術は、例えば、顔の一部（例えば目、鼻、口など）や頭部、肌の色を検出することで行われている（例えば、特許文献１、非特許文献１参照）。このような人物検出では、一般的に、検出対象の画像データに対して、所定領域の画像パッチを細かくずらすラスタスキャンを行い、顔か否かを判断している。また、画像データは多段階にサイズを変えられ、サイズ毎にラスタスキャンが行われる。よって、検出処理に時間がかかるという問題があった。
【特許文献１】特許第３８１０９４３号公報
【非特許文献１】Ming Hsuan,David J.Kriegman,Narendra Ahuja、「Detecting Faces in Images: A Survey」、IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE、２００２年、VOL.24、NO.1
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上記事情に鑑みてなされたものであり、画像中の人物検出において、画像サイズを変える段階数を減らし、かつ、画像パッチをずらす幅を大きくすることで、処理時間を減少させ、高速に人物を検出できる人物検出装置、人物検出方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
かかる目的を達成するために、本発明の人物検出装置は、第１の態様として、学習されたモデルを用い、画像データ中の人物領域を検出する人物検出装置であって、検出対象の画像データ中の所定領域を画像パッチとして切り取って予め作成された学習モデルに入力することで、画像パッチが人物領域とどの程度重なっているかを示す第１の値を算出し、第１の値が予め設定された第１閾値以上であるか否かを判定する第１の値算出判定手段と、第１の値が第１閾値以上である場合、学習モデルを用いて、画像パッチが人物領域からどの程度ずれているかを示す第２の値を算出し、第２の値に基づいて画像パッチを変化させ、変化させた領域を記録する領域記録手段と、記録した領域のピクセルに同一のスコアを与え、記録した領域同士が重複する部分のスコアを加算し、縦の１列及び横の１行毎にスコアの平均値を算出し、算出した平均値が予め設定された第２閾値以上になる列及び行を境界線とし、境界線で囲まれた領域を人物検出領域とするスコア算出判定手段と、を有することを特徴とする。
【０００５】
本発明の人物検出装置は、第２の態様として、少なくとも１人の人物が映っている画像データが入力され、画像データ中の人物領域が指定された場合、画像データ中の複数の領域毎に、指定された人物領域に基づいて学習サンプルを生成する学習サンプル生成手段と、学習サンプルに基づいて、計算結果として出力される値のエラーが減るように学習を行い、学習モデルを作成するモデル作成手段と、を有することを特徴とする。
【０００６】
本発明の人物検出方法は、第１の態様として、学習されたモデルを用い、画像データ中の人物領域を検出する人物検出方法であって、検出対象の画像データ中の所定領域を画像パッチとして切り取って予め作成された学習モデルに入力することで、画像パッチが人物領域とどの程度重なっているかを示す第１の値を算出し、第１の値が予め設定された第１閾値以上であるか否かを判定する第１の値算出判定ステップと、第１の値が第１閾値以上である場合、学習モデルを用いて、画像パッチが人物領域からどの程度ずれているかを示す第２の値を算出し、第２の値に基づいて画像パッチを変化させ、変化させた領域を記録する領域記録ステップと、記録した領域のピクセルに同一のスコアを与え、記録した領域同士が重複する部分のスコアを加算し、縦の１列及び横の１行毎にスコアの平均値を算出し、算出した平均値が予め設定された第２閾値以上になる列及び行を境界線とし、境界線で囲まれた領域を人物検出領域とするスコア算出判定ステップと、を有することを特徴とする。
【０００７】
本発明の人物検出方法は、第２の態様として、少なくとも１人の人物が映っている画像データが入力され、画像データ中の人物領域が指定された場合、画像データ中の複数の領域毎に、指定された人物領域に基づいて学習サンプルを生成する学習サンプル生成ステップと、学習サンプルに基づいて、計算結果として出力される値のエラーが減るように学習を行い、学習モデルを作成するモデル作成ステップと、を有することを特徴とする。
【０００８】
本発明のプログラムは、第１の態様として、学習されたモデルを用い、画像データ中の人物領域を検出するためのプログラムであって、検出対象の画像データ中の所定領域を画像パッチとして切り取って予め作成された学習モデルに入力することで、画像パッチが人物領域とどの程度重なっているかを示す第１の値を算出し、第１の値が予め設定された第１閾値以上であるか否かを判定する第１の値算出判定処理と、第１の値が第１閾値以上である場合、学習モデルを用いて、画像パッチが人物領域からどの程度ずれているかを示す第２の値を算出し、第２の値に基づいて画像パッチを変化させ、変化させた領域を記録する領域記録処理と、記録した領域のピクセルに同一のスコアを与え、記録した領域同士が重複する部分のスコアを加算し、縦の１列及び横の１行毎にスコアの平均値を算出し、算出した平均値が予め設定された第２閾値以上になる列及び行を境界線とし、境界線で囲まれた領域を人物検出領域とするスコア算出判定処理と、をコンピュータに実行させることことを特徴とする。
【０００９】
本発明のプログラムは、第２の態様として、少なくとも１人の人物が映っている画像データが入力され、画像データ中の人物領域が指定された場合、画像データ中の複数の領域毎に、指定された人物領域に基づいて学習サンプルを生成する学習サンプル生成処理と、学習サンプルに基づいて、計算結果として出力される値のエラーが減るように学習を行い、学習モデルを作成するモデル作成処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像中の人物検出において処理時間を減少させることにより、高速に画像中の人物を検出することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
【００１２】
図１は、本発明の人物検出装置の一実施形態としてのＰＣ（Personal Computer）の構成を示す図である。図１に示すように、ＰＣ１は、少なくともＣＰＵ（Central Processing Unit）１１と、メモリ１２と、記憶手段１３、通信手段１４と、出力手段１５と、操作手段１６と、を備える情報処理装置である。これら各手段１１〜１６は、データの伝送路であるバスラインによって接続されている。
【００１３】
ＣＰＵ１１は、プログラムの演算処理を行い、ＰＣ１内の各手段に命令を送りその動作を制御する。ここでいうプログラムには、後述する本発明の一実施形態としての人物検出方法の実行に係るものを含む。
【００１４】
メモリ１２は、例えば、任意のアドレスを指定して読み書きすることが可能なＲＡＭ（Random Access Memory）、読み込みのみ可能なＲＯＭ（Read Only Memory）等からなる。ＲＡＭは、ＣＰＵ１１が演算処理を実行する際に、記憶手段１３（又はＲＯＭ）から各種データや上記プログラムを一時的に読み込み、演算処理のワークスペースとして使用される。ＲＯＭは、ハードウェアを構成する各手段の基本入出力システム（ＢＩＯＳ：Basic Input Output System）等を格納するための記憶装置である。
【００１５】
記憶手段１３は、各種データ及び上記プログラムを格納、保持する装置である。記憶手段１３は、例えば、ハードディスク、可搬性記録媒体等が挙げられる。なお、本実施形態では大量の電子データを取り扱うため、記憶手段１３としては大容量かつ高速な機能を有するものが好ましい。
【００１６】
通信手段１４は、ＰＣ１と外部装置（ＰＣ１以外の装置・機器。例えばスキャナ、カメラ、ＵＳＢメモリ等）とを接続し、通信を行うためのインターフェース装置である。通信手段１４は、例えば、ルータ、スイッチングハブ等の基幹ネットワークとの接続に用いられる装置等も含む。
【００１７】
出力手段１５は、ＰＣ１の操作者（ユーザ）に対して、各種データ（例えば、画像データ）を出力するための装置である。出力手段１５の例としては、画面表示部（グラフィックスボード及びディスプレイ）、音声出力部（スピーカ）、印刷部（プリンタ）などが挙げられる。
【００１８】
操作手段１６は、ＰＣ１の操作者が各種データ（例えば、パラメータ）を入力する操作を行うための装置である。操作手段１６の例としては、キーボードやマウス、タッチパネル等が挙げられる。
【００１９】
記録媒体読取手段１７は、例えば、ＩＣカード、フロッピー（登録商標）ディスク、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disc）等の可搬性記録媒体の記録情報（例えば、画像データ）を読み込む処理を実行する。
【００２０】
以上のように構成された本実施形態のＰＣ１の動作（本発明の人物検出方法の一実施形態）について説明する。本実施形態のＰＣ１の動作は、学習のプロセスと、テスト（認識・検出）のプロセスとの２つに分けられる。すなわち、テストのプロセスを行う前提として、予め学習のプロセスを行っておく必要がある。
【００２１】
まず学習のプロセスについて説明する。図２は、学習のプロセスの概要を模式的に示すイメージ図である。ＰＣ１には、操作者の操作により、複数の画像データと、それら複数の画像データ毎の正解データとが入力される。画像データは、１人以上の人物（人間）の上半身を含むものとする。また、正解データは、画像データ中の人物の頭部周辺のデータである。なお、頭部周辺のデータとは、頭や顔だけでなく、少なくとも首又は肩までを含むものとする。
【００２２】
ＰＣ１は、学習データ作成プログラムにより、１つの画像データ毎に、正解データに基づいて大量の学習サンプルを生成する（学習サンプル生成機能）。学習サンプルは、画像データ中の所定領域が正解データからどの程度ずれているかを示す値、及び、画像データ中の所定領域が正解データとどの程度重なっているかを示す値である。
【００２３】
ＰＣ１は、学習プログラムにより、初期パラメータ（ランダム値等）が設定された初期モデルに対して大量の学習サンプルを入力し、計算の結果として初期モデルから出力される推定結果（推定値）のエラーが減るようにチューニング（学習）を行い、学習モデルを作成する（モデル作成機能）。作成された学習モデルは、テストのプロセスで使用される。
【００２４】
なお、ＰＣ１は、上記チューニングとして、初期モデルから出力される推定結果と正解データとの誤差（エラー）を計算し、その誤差が少なくなる方向にパラメータを変更する。この変更方法は、例えばニューラルネットワークの場合、最急降下法を使用することによって自動的に誤差が減る方向にパラメータを変更できる。
【００２５】
また、上記モデル（又は識別器）とは、学習サンプル等のデータが入力されたときに、内部で所定の計算を行い、最終的に求めたい推定結果（推定値）を出力するものである。その例としては、ニューラルネットワーク、ＧＭＭ（ガウス混合モデル）、ＨＭＭ（隠れマルコフモデル）、ＳＶＭ（サポートベクタマシン）などが挙げられる。
【００２６】
ここで、図２に示す学習のプロセスの具体例について、図３〜図７を参照しながら以下に説明する。
【００２７】
ＰＣ１は、操作者による操作手段１６の操作を受け付け、複数の画像データを入力する（ステップＳ１）。入力される画像データの例を図４に示す。図４（ａ）〜（ｃ）に示すように、各画像データには、人物の少なくとも上半身が含まれている。なお、これらの画像データは、通信手段１４を介して外部装置から入力されてもよいし、又は、記録媒体読取手段１７を介して記録媒体から入力されてもよい。
【００２８】
ＰＣ１は、入力した各画像データを、出力手段１５の一例であるディスプレイ等に画面表示し、画像データ毎に正解データ（正解領域）を指定するように操作者に促す。操作者は、画面表示される画像データ毎に、操作手段１６の一例であるマウスをドラッグするなどの操作を行い、画像データ中に正解データを指定する。これによりＰＣ１は、画像データ毎の正解データを入力する（ステップＳ２）。なお、正解データとは、画像データ中の人物の頭部周辺の領域を示すデータであり、その領域としては、上述したように、人物の頭や顔だけでなく少なくとも首や肩までを含むものとする。図４（ａ）〜（ｃ）に示す各画像データに正解データが指定された様子を図５（ａ）〜（ｃ）に示す。図５（ａ）〜（ｃ）に示すように、各画像データ中において、各人物の頭部周辺の領域（四角形で囲まれた部分）が正解データ（正解領域）として指定されている。
【００２９】
ＰＣ１は、学習データ作成プログラムにより、画像データ毎に、指定された正解データに基づいて大量の学習サンプル（学習データ）を生成する（ステップＳ３）。学習サンプルとは、上述したように、画像データ中の所定領域（推定領域）が正解領域からどの程度ずれているかを示す値、及び、画像データ中の所定領域（推定領域）が正解領域に対してどの程度重なっているかを示す値である。
【００３０】
ここで、学習サンプルの生成（算出）について、図５（ａ）の画像データを例として説明する。図６に示すように、ＰＣ１は、図５（ａ）の画像データにおいて、正解データ（正解領域）とは位置及び大きさが異なる複数の推定領域（ａ）〜（ｄ）を指定し、複数の推定領域毎に、学習サンプルとしてF-measure、Cx、Cy、Csizeを算出する。Cx、Cy、Csize（変化量）は、推定領域が正解領域からどの程度ずれているかを示す値である。Cxはｘ方向の移動量、Cyはｙ方向の移動量を示す値であり、単位はピクセルである。Csizeは、大きさの変化量を示す値であり、倍率である。F-measureは、推定領域が正解領域に対してどの程度重なっているかを示す値である。
【００３１】
ここで、F-measureの算出について、図７を参照して説明する。図７は、図６（ａ）の推定領域のF-measureの算出例を示している。すなわち、図７において、点線で示す推定領域は、図６（ａ）に示す領域と同じである。また、図７では、推定領域と正解領域とが重なっている領域を重複領域として示している。F-measureを算出する前に、まず再現率（Recall）と適合率（Precision）を求める。再現率は、重複領域／正解領域で算出される。再現率の算出結果を［１］とする。また、適合率は、重複領域／推定領域で算出される。適合率の算出結果を［２］とする。F-measureは、これら［１］と［２］を以下の式に代入して算出される。
F-measure＝（２×［１］×［２］）／（［１］＋［２］）
【００３２】
以上のようにして、ＰＣ１は、１つの画像データから、複数の指定領域毎の学習サンプル（F-measure、Cx、Cy、Csize）を生成する。図６に示す例では、推定領域（ａ）の学習サンプルとして、F-measure=0.22、Cx=23(pixel)、Cy=4(pixel)、Csize=0.82(倍)が算出されている。その他の推定領域（ｂ）及び（ｃ）も同様に学習サンプルが算出されている。なお、推定領域（ｄ）は、F-measure=0.00、すなわち正解領域と重なっていないので、Cx、Cy、Csizeが学習サンプルとして算出されていない。つまり、ＰＣ１は、まずF-measureを算出し、算出したF-measureが予め設定された閾値以上かどうかを判定し、閾値以上である場合にCx、Cy、Csizeを算出する。よって、算出したF-measureが予め設定された閾値未満である場合は、Cx、Cy、Csizeの算出は行われない。
【００３３】
また、図６に示す例では、推定領域を（ａ）〜（ｄ）の４つを例としているが、実際には大量である。そして、大量の推定領域毎に学習サンプルが算出（生成）される。このように本実施形態では、１つの画像データから大量の学習サンプルを取得することができるので、その学習サンプルを基に学習したモデルを用いたテスト（認識・検出）では、検出精度が高くなる。
【００３４】
ＰＣ１は、学習プログラムにより、大量の学習サンプルを基に学習を実施し、学習モデルを作成する（ステップＳ４）。上述したように、初期モデルに対して大量の学習サンプルが入力されることで、学習が実施される。学習は、当該モデルから出力される推定結果（F-measure、Cx、Cy、Csize）の誤差（エラー）が少なくなるように行われる。この学習の結果として、学習モデルが作成される。この学習モデルは、例えば記憶手段１３又は外部装置等に保持され、後述するテストのプロセスで使用される。
【００３５】
次にテスト（認識・検出）のプロセスについて説明する。図８は、テストのプロセスの概要を模式的に示すイメージ図である。ＰＣ１には、操作者の操作により、テストの対象となる画像データと、各種パラメータとが入力される。画像データは、必ずしも人物が映っている必要はない。また、上記学習のプロセスで作成された学習モデルがＰＣ１以外に保存されている場合は、操作者の操作により、ＰＣ１に入力される。また、各種パラメータは、画像パッチの移動量、テスト対象の画像データの縮小率、F-measure判定に用いる閾値（第１閾値）、スコア判定に用いる閾値（第２閾値）などがある。
【００３６】
ＰＣ１は、テストプログラムにより、入力したパラメータに従い、テスト対象の画像データ中の所定領域を画像パッチとして切り取り、学習モデルに入力する。そして、ＰＣ１は、学習モデルを用いてF-measure（第１の値）を算出し、そのF-measureが第１閾値以上であるか否かを判定する（F-measure算出判定機能）。
【００３７】
ＰＣ１は、テストプログラムにより、F-measureが第１閾値以上である場合、学習モデルを再び用いて変化量Cx、Cy、Csize（第２の値）を算出し、算出した変化量に応じて当該画像パッチの位置（ｘ、ｙ）と大きさ（倍率）を変化させ、変化させた長方形領域を記録する（長方形領域記録機能）。なお、F-measureが第１閾値未満である場合、長方形領域の記録は行わない。
【００３８】
ＰＣ１は、入力したパラメータに従い、画像パッチの移動量及びテスト対象の画像データの縮小率を変化させ、F-measure算出判定機能及び長方形領域記録機能を繰り返し行う。全てのパラメータでの処理が終わったら、以下のスコア統合に移行する。
【００３９】
ＰＣ１は、スコア統合プログラムにより、記録した全ての長方形領域内のピクセルに所定のスコア（例えば「１」）を与える。これにより、長方形同士が重なっている部分のスコアは加算される。例えば、３つの長方形領域が重なっている部分のスコアは、１＋１＋１で「３」になる。ＰＣ１は、縦の１列毎及び横の１行毎においてスコアの平均値を算出し、算出した平均値が第２閾値以上になる列及び行を境界線として決定する（スコア算出判定機能）。そして、ＰＣ１は、決定した境界線で囲まれた領域を最終的な人物検出領域として出力する。出力内容としては、例えば、画像データの中にいる人数、頭部位置の座標、頭部領域の大きさなどが挙げられる。
【００４０】
ここで、図８に示すテスト（認識・検出）のプロセスの具体例について、図９〜図１４を参照しながら以下に説明する。
【００４１】
ＰＣ１は、操作者による操作手段１６の操作を受け付け、テストの対象となる画像データ及び各種パラメータを入力する（ステップＳ１１）。テスト対象の画像データの例を図１０に示す。なお、テスト対象の画像データは、通信手段１４を介して外部装置から入力されてもよいし、又は、記録媒体読取手段１７を介して記録媒体から入力されてもよい。また、各種パラメータの例としては、画像パッチの移動量、テスト対象の画像データの縮小率、F-measure判定に用いる閾値（第１閾値）、スコア判定に用いる閾値（第２閾値）などが挙げられる。
【００４２】
また、上記学習のプロセスで作成された学習モデルがＰＣ１以外に保存されている場合は、操作者の操作により、ステップＳ１１の段階でＰＣ１に入力される。
【００４３】
ＰＣ１は、テストプログラムにより、テスト対象の画像データの中から所定領域を画像パッチとして切り取り、学習モデルに入力する（ステップＳ１２）。このときの例を図１１（ａ）に示す。図１１（ａ）に示す符号２０が、画像パッチとして切り取られる領域である。ここでの例では、画像パッチの切り取り開始地点を、図１１（ａ）に示すようにテスト対象の画像データの左上としているが、これに限定されない。また、図１１（ａ）に示すテスト対象の画像データの縮小率は、等倍（１００％）とする。
【００４４】
ＰＣ１は、画像パッチを学習モデルに入力し、学習モデルを用いてF-measure（第１の値）を算出し、そのF-measureが第１閾値以上であるか否かを判定する（ステップＳ１３）。
【００４５】
ＰＣ１は、F-measureが第１閾値以上である場合（ステップＳ１３／ＹＥＳ）、学習モデルを再び用いて変化量Cx、Cy、Csize（第２の値）を算出し、算出した変化量に応じて、切り取った画像パッチ２０の位置（ｘ、ｙ）と大きさ（倍率）を変化させ、変化させた長方形領域を記録する（ステップＳ１４）。なお、F-measureが第１閾値未満である場合（ステップＳ１３／ＮＯ）、ＰＣ１は、変化量の算出及び長方形領域の記録は行わずにステップＳ１５へ進む。
【００４６】
ＰＣ１は、等倍のテスト対象の画像データにおいて、画像パッチの移動が全て終了したか、すなわち、画像パッチの切り取り終了地点（例えば、図１１（ａ）の画像データの右下）まで切り取りを行ったかどうかを判断する（ステップＳ１５）。
【００４７】
ＰＣ１は、ステップＳ１５での判断の結果、画像パッチの移動が全て終了していない場合は、パラメータとして入力された画像パッチの移動量に基づいて切り取り位置をずらし、新たに画像パッチの切り取りを行い、学習モデルに入力する（ステップＳ１５／ＮＯ〜ステップＳ１２）。なお、画像パッチの移動量（幅）は、従来よりも大きい値とすることができる。その理由は、変化量を基にした長方形領域を記録するようにしているので、画像パッチを細かくずらしてスキャンする必要がないからである。このように、本実施形態では、従来に比べ、画像パッチをずらす幅を大きくすることができるので、処理時間を減少させることができる。図１１（ａ）に示す符号２１が、画像パッチとして新たに切り取られる領域である。画像パッチ２１は、パラメータとして入力された画像パッチの移動量分、画像パッチ２０から移動させた位置の領域である。この画像パッチ２１に対しても、上記同様にステップＳ１３〜Ｓ１４の処理を行う。
【００４８】
このようにして、ある倍率のテスト対象の画像データにおいて、少しずつ位置をずらしながら画像パッチが切り取られ、切り取られた画像パッチのF-measureが第１閾値以上である場合に、その画像パッチを変化量分変化させた長方形領域が記録される。画像パッチの切り取りは、画像パッチの切り取り終了地点（例えば、図１１（ａ）の画像データの右下）まで行われたら終了する。
【００４９】
ＰＣ１は、ステップＳ１５での判断の結果、画像パッチの移動が全て終了した場合は、テスト対象の画像データの縮小が終了したかどうかを判断する（ステップＳ１６）。ここでは、縮小率のパラメータとして、例えば固定値０．７が予め入力（設定）されたものとする。この固定値は、テスト対象の画像データの縮小サイズを決めるための値である。そして、テスト対象の画像データは、最初に等倍（１００％）でテストされた後、上記固定値を基に算出される大きさで順次テストが行われる。つまり、１００％の次は１００×０．７＝７０％の大きさとなり、その次は７０×０．７＝４９％の大きさとなる。このように、本実施形態では、従来０．９程度であった縮小率を、例えば０．７といった小さい値に設定することができるので、従来に比べて画像サイズ変更の段階数を減らすことができる。なお、縮小サイズが画像パッチのサイズ以下になった時点で、テスト対象の画像データの縮小を終了する。
【００５０】
ＰＣ１は、ステップＳ１６での判断の結果、縮小サイズが画像パッチのサイズ以下になっていない場合は、縮小率を別の値に変更し、変更した倍率のテスト対象の画像データの中から所定領域を画像パッチとして切り取り、学習モデルに入力する（ステップＳ１６／ＮＯ〜ステップＳ１２）。例えば、図１１（ａ）に示す１００％の画像データにおける画像パッチの切り取りが終了した場合、ＰＣ１は、テスト対象の画像データのサイズを次の７０％に変更する。そして、ＰＣ１は、図１１（ｂ）に示す７０％の大きさの画像データにおいて、画像パッチの切り取り開始地点を画像データの左上とし、点線で示す領域を画像パッチとして切り取り、学習モデルに入力する。この画像パッチに対しても、上記同様にステップＳ１３〜Ｓ１４の処理を行う。７０％の大きさの画像データにおける画像パッチの切り取り処理が終了したら、テスト対象の画像データのサイズを次ぎの４９％に変更し、上記同様に処理を行う。なお、４９％の大きさのテスト対象の画像データのイメージは、図１１（ｃ）に示すようになる。
【００５１】
ＰＣ１は、ステップＳ１６での判断の結果、縮小サイズが画像パッチのサイズ以下になった場合は、スコア統合プログラムにより、記録した各長方形領域内にスコアを与えた上でスコアの平均を縦／横で算出し、その算出結果に基づいて境界線を決定し、決定した境界線で囲まれた領域を人物検出領域として出力する（ステップＳ１６／ＹＥＳ〜ステップＳ１７）。
【００５２】
ここで、ステップＳ１７におけるスコア統合について具体的に説明する。上記ステップＳ１４で記録された長方形領域を、例えば、図１２（ａ）に示す長方形領域３１、３２として説明する。
【００５３】
まず、ＰＣ１は、例えば図１２（ｂ）に示すように、記録した全ての長方形領域内のピクセル毎に所定のスコア（例えば「１」）を与える。長方形領域３１、３２は、図１２（ａ）に示すように互いに重なる領域同士であるので、重なった部分のスコアは加算される。すなわち、図１２（ｃ）に示すように、長方形領域３１、３２が重なった部分の各ピクセルのスコアは、１＋１で「２」となる。ここでは、例として長方形領域を２つとして説明したが、実際には、多量の長方形領域が記録され、それら長方形領域はそれぞれ、部分的に重なった状態となっている。
【００５４】
次に、ＰＣ１は、記録された領域の縦の１列毎及び横の１行毎に、スコアの平均値を算出する。図１３を用いて説明する。図１３は、記録された複数の長方形領域を重ねた場合のスコアの加算例を示す図である。なお、図１３では、横の並びを「行」、縦の並びを「列」とする。ＰＣ１は、縦の１列毎にスコアの平均を算出し、算出した平均値が第２閾値以上になる列を境界線として決定する。図１３の例では、Ｂ列のスコアの平均値が第２閾値以上となり、Ａ列のスコアの平均値が第２閾値未満であるので、Ｂ列が境界線（太線の実線）として決定されている。同様に、ＰＣ１は、横の１行毎にスコアの平均を算出し、算出した平均値が第２閾値以上になる行を境界線として決定する。図１３の例では、Ｂ行のスコアの平均値が第２閾値以上となり、Ａ行のスコアの平均値が第２閾値未満であるので、Ｂ行が境界線（太線の実線）として決定されている。
【００５５】
そして、ＰＣ１は、図１４に示すように、決定した縦・横の境界線で囲まれた領域を、最終的な人物検出領域として出力する。出力の例としては、人物検出領域の画像データをＰＣ１に画面表示してもよいし、ＰＣ１以外の外部装置へ伝送してもよい。また、画像データ以外の出力例としては、画像データの中にいる人数、頭部位置の座標、頭部領域の大きさなどを示すデータが挙げられる。
【００５６】
なお、上記説明では、全ての長方形領域の記録が終了した後に各長方形領域内にスコアを与え、重複部分のスコアを加算するように説明したが、ステップＳ１４で長方形領域が記録される度にその長方形領域内にスコアを与えるようにし、先に記録されている長方形領域と重なった部分についてはスコアを加算するようにしてもよい。
【００５７】
また、上記説明では、学習のプロセスとテストのプロセスの両方を１つの装置（ＰＣ１）で実行するようにしたが、各プロセスを別々の装置で実行するようにしてもよい。その場合、学習のプロセスで作成された学習モデルを、テストのプロセスを実行する装置へ入力する必要がある。
【００５８】
以上説明したように本実施形態によれば、従来方法に比べて、画像サイズを変える段階数を減らすことができ、かつ、画像パッチをずらす幅を大きくすることができるので、処理時間を減少させることができる。よって、高速に画像中の人物を検出できる。
【００５９】
また、本実施形態によれば、学習のプロセスにおいて、１つの画像データから大量の学習サンプルを生成して学習を行うことで、人物検出の精度が高くなる。
【００６０】
上記特許文献１や非特許文献１に開示されている、顔の一部や頭部、肌の色等を検出する人物検出方法には、例えば以下のような問題がある。顔の一部を検出する方法では、正面に近い顔しか検出できないという問題がある。また、肌の色を検出する方法では、後ろ向きの人物を検出できないという問題がある。また、頭部を検出する方法では、頭部には特徴（情報量）が少ないので、誤検出が起こりやすいという問題がある。これに対し、本実施形態では、顔だけでなく首や肩の情報を使うことにより、顔の向きに左右されることなく、後ろ姿であっても、人物を検出できる。すなわち本実施形態では、情報量（特徴量）が少ない場合でも、人物を検出することができる。
【００６１】
以上、本発明の実施形態について説明したが、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
【００６２】
例えば、上述した各実施形態における動作（各フローチャートに示す動作）は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成によって実行することも可能である。
【００６３】
ソフトウェアによる処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させてもよい。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させてもよい。
【００６４】
例えば、プログラムは、図１に示すハードディスクやＲＯＭに予め記録しておくことが可能である。あるいは、プログラムは、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的、あるいは、永続的に格納（記録）しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。
【００６５】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送してもよい。または、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送してもよい。コンピュータでは、転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることが可能である。
【００６６】
また、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。
【図面の簡単な説明】
【００６７】
【図１】本発明の一実施形態であるＰＣの構成を示すブロック図である。
【図２】本発明の一実施形態であるＰＣで行われる学習のプロセスの概要を示すイメージ図である。
【図３】本発明の一実施形態であるＰＣで行われる学習のプロセスの流れを示すフローチャートである。
【図４】本発明の一実施形態であるＰＣに学習対象として入力される画像データの各例を示す図である。
【図５】本発明の一実施形態であるＰＣに入力される画像データ中に指定された正解データの各例を示す図である。
【図６】本発明の一実施形態であるＰＣで行われる学習サンプル生成の例を説明する図である。
【図７】本発明の一実施形態であるＰＣで行われるF-measure算出の例を説明する図である。
【図８】本発明の一実施形態であるＰＣで行われるテストのプロセスの概要を示すイメージ図である。
【図９】本発明の一実施形態であるＰＣで行われるテストのプロセスの流れを示すフローチャートである。
【図１０】本発明の一実施形態であるＰＣにテスト対象として入力される画像データの例を示す図である。
【図１１】本発明の一実施形態であるＰＣにテスト対象として入力される画像データを縮小率毎に示す図である。
【図１２】本発明の一実施形態であるＰＣで行われるスコア統合の一例を説明する図である。
【図１３】本発明の一実施形態であるＰＣで行われるスコアの平均算出の一例を説明する図である。
【図１４】本発明の一実施形態であるＰＣから出力される人物検出領域の一例を示す図である。
【符号の説明】
【００６８】
１    ＰＣ
１１    ＣＰＵ
１２    メモリ
１３    記憶手段
１４    通信手段
１５    出力手段
１６    操作手段
１７    記録媒体読取手段
２０    切り取られる画像パッチ
２１    切り取られる画像パッチ
３１    記録された長方形領域
３２    記録された長方形領域
【図１】
2010102396.tif 000003
【図２】
2010102396.tif 000004
【図３】
2010102396.tif 000005
【図４】
2010102396.tif 000006
【図５】
2010102396.tif 000007
【図６】
2010102396.tif 000008
【図７】
2010102396.tif 000009
【図８】
2010102396.tif 000010
【図９】
2010102396.tif 000011
【図１０】
2010102396.tif 000012
【図１１】
2010102396.tif 000013
【図１２】
2010102396.tif 000014
【図１３】
2010102396.tif 000015
【図１４】
2010102396.tif 000016