(57)【要約】【課題】機械学習を用いて、所定の環境に配置された撮像装置により得られる撮像画像に対する画像認識処理を行う際に、画像認識処理の精度を向上させる。【解決手段】第１の撮像画像に基づいて、第１の学習画像及び第１の学習画像の画像認識結果を示す第１の学習データを生成する。第１の学習データを用いた学習を行うことにより、第１の学習データと、第２の学習画像及び第２の学習画像の画像認識結果を示す予め用意された第２の学習データと、の双方に基づく判定器を生成する。【選択図】図３
2018148367.tif 000002
【特許請求の範囲】
【請求項１】
画像認識用の判定器を生成する画像処理装置であって、
第１の撮像画像に基づいて、第１の学習画像及び前記第１の学習画像の画像認識結果を示す第１の学習データを生成する生成手段と、
前記第１の学習データを用いた学習を行うことにより、前記第１の学習データと、第２の学習画像及び前記第２の学習画像の画像認識結果を示す予め用意された第２の学習データと、の双方に基づく判定器を生成する学習手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記学習手段は、前記第１の学習データと、前記第２の学習データと、の双方を用いて前記判定器の学習を行う、請求項１に記載の画像処理装置。
【請求項３】
前記学習手段は、前記第２の学習データを用いて学習が行われている前記判定器の追加学習を、前記第１の学習データを用いて行う、請求項１又は２に記載の画像処理装置。
【請求項４】
前記判定器は画像中の計数対象の数を推定するための判定器であり、前記第１の学習画像の画像認識結果は前記第１の学習画像中の計数対象の数であり、前記第２の学習画像の画像認識結果は前記第２の学習画像中の計数対象の数である、請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記生成手段は、前記第１の撮像画像の背景画像から前記第１の学習画像を生成する、請求項４に記載の画像処理装置。
【請求項６】
前記生成手段は、前記第１の撮像画像から前記第１の学習画像を抽出し、前記第１の撮像画像中の計数対象の位置情報を用いて前記第１の学習画像中の計数対象の数を決定する、請求項４に記載の画像処理装置。
【請求項７】
前記生成手段は、前記第１の撮像画像に対する計数対象の検出処理を行うことで前記第１の撮像画像中の計数対象の位置情報を生成する、請求項６に記載の画像処理装置。
【請求項８】
前記生成手段は、前記第１の撮像画像中の計数対象の密度情報に従って、前記第１の撮像画像から前記第１の学習画像を抽出する、請求項６又は７に記載の画像処理装置。
【請求項９】
前記生成手段は、前記第１の学習データを繰り返し生成し、前記学習手段は、前記第１の学習データを用いた学習を繰り返し行い、
前記画像処理装置は、前記学習を繰り返した期間、前記学習の繰り返し回数、及び前記学習が行われた判定器の判定精度、のうちの少なくとも１つに基づいて、前記学習の繰り返しを終了するか否かを判定する制御手段をさらに備える、請求項１から８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記学習手段により生成された判定器を用いて画像認識を行う認識手段をさらに備える、請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記判定器は、第１の撮像装置により得られた撮像画像に対する画像認識用の判定器であり、
前記第１の撮像画像は、前記第１の撮像装置により得られた撮像画像であり、
前記第２の学習データは、前記第１の撮像装置とは異なる第２の撮像装置により得られた第２の撮像画像に基づく、
請求項１から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
第１の撮像装置により撮像された画像に対する画像認識用の判定器を生成する画像処理装置であって、
前記第１の撮像装置により得られた第１の撮像画像に基づく第１の学習画像及び前記第１の学習画像の画像認識結果を示す第１の学習データと、前記第１の撮像装置とは異なる第２の撮像装置により得られた第２の撮像画像に基づく第２の学習画像及び前記第２の学習画像の画像認識結果を示す第２の学習データと、の双方に基づく判定器を生成する学習手段
を備えることを特徴とする画像処理装置。
【請求項１３】
画像認識用の判定器を生成する画像処理システムであって、
第１の撮像画像に基づいて、第１の学習画像及び前記第１の学習画像の画像認識結果を示す第１の学習データを生成する生成手段と、
前記第１の学習データを用いた学習を行うことにより、前記第１の学習データと、第２の学習画像及び前記第２の学習画像の画像認識結果を示す予め用意された第２の学習データと、の双方に基づく判定器を生成する学習手段と、
を備えることを特徴とする画像処理システム。
【請求項１４】
画像認識用の判定器を生成する画像処理システムが行う画像処理方法であって、
第１の撮像画像に基づいて、第１の学習画像及び前記第１の学習画像の画像認識結果を示す第１の学習データを生成する生成工程と、
前記第１の学習データを用いた学習を行うことにより、前記第１の学習データと、第２の学習画像及び前記第２の学習画像の画像認識結果を示す予め用意された第２の学習データと、の双方に基づく判定器を生成する学習工程と、
を有することを特徴とする画像処理方法。
【請求項１５】
コンピュータを、請求項１から１２のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理システム、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、撮像装置で所定の領域を撮影し、撮影された画像に対する画像認識を行うことにより、画像中の人物の数、又は異常の有無等の情報を得るシステムが提案されている。このようなシステムは、公共の空間における混雑の検知、又は混雑時における人の流れの把握等に用いることができるため、イベント時の混雑解消又は災害時の避難誘導に活用できることが期待されている。
【０００３】
このような画像認識方法として、予め用意された教師データを用いた機械学習によって認識モデルを生成し、得られた認識モデルを用いて画像認識を行う方法か提案されている。例えば、機械学習を用いた人数推定手法としては、人数が既知である画像を学習データとして用いて、サポートベクターマシン又は深層学習等の既知の機械学習手法に基づいて、認識モデルの学習を行う方法がある。具体例として、非特許文献１では、対象物体の密度マップを推定する密度マップ推定器の機械学習が行われる。そして、学習後の密度マップ推定器を用いて認識対象画像における密度マップを生成し、密度マップの積分を取ることで対象物体の数が推定される。また、非特許文献２では、固定サイズの小画像を入力とし、小画像中の人数を出力する回帰器の機械学習が行われる。そして、認識対象画像を小領域に分割した後、各小領域を固定サイズにリサイズして小画像を生成し、各小画像中の人数を学習後の回帰器で求め、各小画像について求められた人数の和を求めることで、認識対象画像中の人数が推定される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】V. Lempitsky et al. "Learning To Count Object in Images", Advances in Neural Information Processing Systems (NIPS), 2010.
【非特許文献２】池田浩雄他、「ＣＮＮを用いた群衆パッチ学習に基づく人数推定の高精度化」、ＦＩＴ２０１４  第１３回情報科学技術フォーラム、２０１４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、撮像時刻、撮像装置の向き、撮像装置の位置、撮像装置の画角、又は撮像装置が配置される空間、等が変化すると、撮像装置により得られる画像の傾向も変化する。そして、撮像装置により得られる画像の傾向が、認識モデルの学習に用いた画像の傾向と異なる場合、得られる画像認識結果の精度が低下するという課題が存在した。
【０００６】
本発明は、機械学習を用いて、所定の環境に配置された撮像装置により得られる撮像画像に対する画像認識処理を行う際に、画像認識処理の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。すなわち、
画像認識用の判定器を生成する画像処理装置であって、
第１の撮像画像に基づいて、第１の学習画像及び前記第１の学習画像の画像認識結果を示す第１の学習データを生成する生成手段と、
前記第１の学習データを用いた学習を行うことにより、前記第１の学習データと、第２の学習画像及び前記第２の学習画像の画像認識結果を示す予め用意された第２の学習データと、の双方に基づく判定器を生成する学習手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
機械学習を用いて、所定の環境に配置された撮像装置により得られる撮像画像に対する画像認識処理を行う際に、画像認識処理の精度を向上させることを目的とする。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る画像処理装置のハードウェア構成の一例を示す図。
【図２】一実施形態に係る画像処理装置の機能構成の一例を示す図。
【図３】一実施形態に係る画像処理の一例を示すフローチャート。
【図４】追加学習データの生成方法の一例を示すフローチャート。
【図５】追加学習データの生成方法の一例を示すフローチャート。
【図６】追加学習モードで表示されるＵＩの一例を示す図。
【図７】背景画像の生成方法の一例を示す図。
【図８】背景画像から追加学習データを生成する方法の一例を示す図。
【図９】人体追尾結果から追加学習データを生成する方法の一例を示す図。
【図１０】表示方法の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。ただし、本発明の範囲は以下の実施例に限定されない。
【００１１】
以下に説明する実施形態では、予め用意された教師データ、すなわち学習画像とこの学習画像の正しい画像認識結果とを示す学習データ、を用いて、予め学習されている画像認識用の判定器が用いられる。そして、特定のシーンにおいて撮像された撮像画像から生成された学習画像と、この学習画像の画像認識結果とを示す追加学習データを用いて、この判定器の追加学習が行われる。例えば、追加学習により、判定器のパラメータの更新が行われる。このような学習により、教師データと、追加学習データと、の双方に基づく判定器が生成される。そして、このような追加学習を行うことにより、特定のシーンにおいて撮像された撮像画像に対して画像認識を行う際の、判定器による認識精度を向上させることができる。
【００１２】
また、以下に説明するように、追加学習データを生成する際に、自動的に得られた学習画像の画像認識結果を用いることができる。すなわち、学習が行われる判定器を用いた認識方法とは別の方法を用いて自動的に得られた画像認識結果を用いて、追加学習データを生成することができる。このような構成によれば、ユーザが正しい認識結果を入力することなく追加学習データを生成することができるため、ユーザに対する負担を少なくなることができる。
【００１３】
以下では、撮像画像中に写っている計数対象の数を認識する応用例について説明する。すなわち、判定器としては画像中の計数対象の数を推定するための判定器が用いられる。また、教師データに含まれる学習画像の画像認識結果は、学習画像中の計数対象の数であり、追加学習データに含まれる学習画像の画像認識結果も、学習画像中の計数対象の数である。以下では、特に画像中の人体の数の推定が行われる。一方で、人体以外の計数対象の数の推定を行うことも可能である。
【００１４】
一方、本発明の応用例は、画像中に写っている計数対象の数を認識する場合に限られない。実際、本発明は、他の種類の画像認識を行う場合にも適用できる。例えば、画像から物体の輪郭を検出する場合、又は画像に対して文字認識を行う場合にも、本発明は適用可能である。
【００１５】
図１は、実施形態１に係る画像処理装置１００のハードウェア構成の一例を示す。画像処理装置１００は、ハードウェア構成として、ＣＰＵ１０と、メモリ１１と、ネットワークＩ／Ｆ１２と、表示装置１３と、入力装置１４と、を含む。ＣＰＵ１０は、画像処理装置１００の全体の制御を司る。メモリ１１は、ＣＰＵ１０が処理に利用するデータ及びプログラム等を記憶する。ネットワークＩ／Ｆ１２は、画像処理装置１００をネットワークに接続するインタフェースである。表示装置１３は画像を表示する装置であり、例えばＣＰＵ１０による処理の結果等を表示する液晶表示装置等でありうる。入力装置１４はユーザの操作に基づく入力を受け取る装置であり、例えばマウス又はボタン等である。ＣＰＵ１０がメモリ１１に記憶されたプログラムに基づき処理を実行することにより、図２に示す画像処理装置１００の機能構成、及び図３に示すフローチャートの処理が実現される。
【００１６】
図２は、画像処理装置１００の機能構成の一例を示す。画像処理装置１００は、機能構成として、画像取得部２０１、データ生成部２０６、学習部２０７、認識部２０８、及び表示部２０９を含む。また、画像処理装置１００は、背景生成部２０２、検出部２０３、追尾部２０４、及び位置取得部２０５をさらに含むが、後述するようにこれらの各部を含むことは必須ではない。なお、これらの機能構成は、複数の装置に分散されていてもよい。すなわち、画像処理システムが備える複数の装置が、それぞれこれらの機能構成のうち１以上を有していてもよい。画像処理システムが備えるこれらの装置がネットワークを介して通信しながら動作することによっても、画像処理装置１００の機能を実現できる。
【００１７】
画像取得部２０１は、追加学習に用いる画像を取得する。この画像を用いて、後述するようにデータ生成部２０６は追加学習データを生成する。また、画像取得部２０１は、人数を推定する対象となる画像を取得する。この画像に対して、認識部２０８は人物の数を推定する処理を行う。
【００１８】
上述したように、追加学習に用いる画像は、人数を推定する対象となる画像と同じシーンで撮像された画像である。同じシーンで撮像された画像とは、同じ撮像装置を用いて撮像された画像、同じ撮像時間帯において撮像された画像、地面に対する距離及び角度が同じ状態で撮像された画像、同じ位置で撮像された画像、同じ画角で撮像された画像、又は同じ空間で撮像された画像である。このように、同じシーンで撮像された画像は、他のシーンで撮像された画像と比較して、画像の傾向が類似している。したがって、人数を推定する対象となる画像と同じシーンで撮像された画像を、追加学習に用いる画像として用いることにより、このシーンにおける画像認識の精度を向上させることができる。
【００１９】
一実施形態において、画像取得部２０１により取得される画像は、同じ撮像装置により得られた撮像画像である。すなわち、追加学習に用いる画像と、人数を推定する対象となる画像とは、同じ撮像装置により得られた撮像画像である。このような実施形態においては、撮像装置により得られた撮像画像に基づく学習画像及びこの学習画像の画像認識結果を示す追加学習データを用いて、判定器の学習が行われる。一方で、予め用意された教師データは、幅広いシーンで利用可能である汎用的な判定器を生成するための学習データでありうる。このような教師データは、様々なシーンにおける撮像画像に基づく学習画像及びこの学習画像の画像認識結果を示す。したがって、一実施形態において、教師データは、追加学習データを生成するために用いられる撮像画像を撮像した撮像装置とは異なる撮像装置により得られた撮像画像に基づく学習画像及びこの学習画像の画像分析結果を含んでいる。後述するように、学習部２０７は、これらの追加学習データ及び教師データの双方に基づく判定器を生成することができる。このような処理により得られた判定器は、教師データのみを用いて学習を行った判定器よりも、追加学習データを生成するために用いられる撮像画像を撮像した撮像装置により撮像された撮像画像に対する高い画像認識精度を有する。このように、これらの処理によれば、撮像装置により得られた撮像画像に対する画像分析用の判定器を生成することができる。追加学習に用いる画像と、人数を推定する対象となる画像と、の双方を所定の位置姿勢を有するように保持された監視カメラ等の撮像装置により撮像する場合に、このような構成は画像認識処理の精度を特に向上させることができる。
【００２０】
画像処理装置１００は、撮像装置であってもよい。この場合、画像取得部２０１は、画像処理装置１００が備えるＣＭＯＳセンサ又はＣＣＤセンサ等の固体撮像素子から画像を取得してもよいし、ハードディスク等の記憶装置から画像を取得してもよい。一方、画像処理装置１００は、撮像装置とは別個の装置であってもよい。この場合、画像取得部２０１は、ネットワークを介して撮像装置から画像を取得してもよいし、画像処理装置１００が備える又はネットワーク上に存在する記憶装置に格納されている画像を取得してもよい。
【００２１】
背景生成部２０２は、画像取得部２０１が取得した追加学習に用いる画像の、背景画像を生成する。この背景画像を用いて、データ生成部２０６は、追加学習データを生成することができる。
【００２２】
検出部２０３は、画像取得部２０１が取得した追加学習に用いる画像に対する、計数対象検出処理を行うことで、この画像中の計数対象の位置情報を生成する。この場合、データ生成部２０６は、画像取得部２０１が取得した追加学習に用いる画像から学習画像を抽出し、追加学習に用いる画像中の計数対象の位置情報を用いて学習画像中の計数対象の数を決定する。このようにして、データ生成部２０６は、学習画像及び計数対象の数を示す追加学習データを生成する。
【００２３】
本実施形態において、検出部２０３は、画像に対し人体検出を行うことで、人体検出結果を得る。検出部２０３は、既知のパターン認識技術、又は機械学習を用いた認識技術等を利用して、人体検出を行うことができる。ここで、人体検出とは、画像中から人体の少なくとも一部の位置を特定する処理のことを指し、例えば、人の頭部、顔、又は手等の、人体の予め定められた部位の位置を特定する処理を指す。本実施形態において、検出部２０３は、人の頭部位置を検出する人体検出器を利用して、人の頭部の位置を検出する。人体検出結果は、画像上の任意の図形（矩形又は楕円等）として表現される。 
【００２４】
追尾部２０４は、人体の追尾結果を得る。例えば、追尾部２０４は、時間的に連続して撮影された画像のそれぞれに対して検出部２０３が処理を行うことにより得られた人体検出結果を用いて、検出された人体の画像間での対応付け処理を行う。対応付け処理は、従来技術に従って行うことができる。例えば、この処理は、各画像からの人体検出結果のうち、同一人体に対応する人体検出結果同士をペアリングするマッチング問題として定式化できる。具体的には、まず、異なる画像から検出された人体間の類似度を、人体を表す図形の位置若しくはサイズ、又は人体に対応する画像のから抽出された画像特徴量、等の特徴量に基づいて定義することができる。そして、類似度が高い人体の組み合わせをペアリングすることで、対応付けを行うことができる。具体的な対応付け方法としては、もっとも高い類似度を有する人体の組から順番にペアを作る方法や、全体の類似度の和が最大になるようペアを作る全体最適化方法を用いることができる。追尾部２０４は、対応付けされた人体検出結果には同一のＩＤを付与する。こうして、同一のＩＤで示される人体検出結果の組が、人体追尾結果として得られる。人体追尾結果は、検出部２０３により検出された人体の軌跡に相当する。本実施形態において、データ生成部２０６は、追尾部２０４による追尾結果を用いて、追加学習に用いる画像中での計数対象の密度情報を生成する。そして、データ生成部２０６は、この密度情報に従って、追加学習に用いる画像から学習画像を抽出する。
【００２５】
位置取得部２０５は、画像取得部２０１が取得した追加学習に用いる画像中における、計数対象の位置情報を取得する。本実施形態において、位置取得部２０５は、外部装置から人体の位置情報を取得する。外部装置は、人体の位置情報を計測する装置である。外部装置の例としては、ウルトラワイドバンドと呼ばれる周波数帯を用いた位置取得デバイス等が存在する。このような外部装置を人が携帯することで、人の三次元位置情報を高精度に取得することが可能となる。また、位置取得部２０５は、外部装置から取得した人体の位置情報を、画像取得部２０１が取得した画像における位置情報に変換することができる。例えば、位置取得部２０５は、ワールド座標系で表される三次元位置を、カメラ座標系で表される位置に変換するパラメータをあらかじめ求めておくことにより、人体の三次元位置を、画像上の二次元位置に変換することができる。
【００２６】
データ生成部２０６は、画像取得部２０１が取得した追加学習に用いる画像に基づいて、学習画像及び学習画像の画像認識結果を示す追加学習データを生成する。本実施形態において、データ生成部２０６は、背景生成部２０２、検出部２０３、及び位置取得部２０５のうち少なくとも１つにより得られた結果を用いて、追加学習データを生成する。また、データ生成部２０６は、追加学習データを生成する際に、さらに追尾部２０４により得られた結果を考慮することができる。また、データ生成部２０６は、様々な方法により追加学習データを生成し、それぞれを組み合わせて学習部２０７に出力することもできる。データ生成部２０６の詳しい処理については、図４〜５のフローチャートを参照して後述する。
【００２７】
一方で、追加学習データの生成方法は、背景生成部２０２、検出部２０３、又は位置取得部２０５を使用する方法には限られない。すなわち、データ生成部２０６は、任意の方法で学習画像の画像認識結果を取得し、追加学習データを生成することができる。一実施形態において、データ生成部２０６は、ユーザの入力を求めることなく、自動的に学習画像の画像認識結果を生成する。さらには、データ生成部２０６は、追加学習データを外部装置から取得してもよい。例えば、画像処理装置１００は、接続されている撮像装置が生成した追加学習データを取得することができるし、撮像装置による撮像画像に従って外部装置上で又はクラウド上で生成された追加学習データを取得することもできる。
【００２８】
学習部２０７は、データ生成部２０６が生成した追加学習データを用いて認識部２０８の更新を行う。このような追加学習により、学習部２０７は、追加学習データと、予め用意された教師データと、の双方を用いて学習が行われた判定器を生成するように、認識部２０８を更新することができる。具体的な学習方法としては、認識部２０８が用いる判定器の認識モデルに応じて、任意の公知の方法を採用することができる。
【００２９】
認識部２０８は、学習部２０７による追加学習により得られた判定器を用いて、画像分析を行う。本実施形態において、認識部２０８は、画像取得部２０１が取得した人数を推定する対象となる画像における、人体の数を推定する。
【００３０】
表示部２０９は、認識部２０８によって推定された人体の数を、表示装置１３に表示させる。
【００３１】
図３は、画像処理装置１００による画像処理の一例を示すフローチャートである。ステップＳ３０１において、画像処理装置１００は、追加学習モードを開始する。追加学習モードとは、追加学習データの生成、及び追加学習データを用いた認識部２０８の追加学習を行うモードのことである。
【００３２】
ステップＳ３０２において、画像取得部２０１は、追加学習に用いる画像を取得する。
【００３３】
ステップＳ３０３において、データ生成部２０６は、認識部２０８の追加学習に用いる追加学習データを生成する。詳細は後述する。
【００３４】
ステップＳ３０４において、学習部２０７は、データ生成部２０６が生成した追加学習データを用いて、認識部２０８が持つ認識モデルのパラメータを更新する。本実施形態においては、認識部２０８は深層ニューラルネットワークにより構成される認識モデルを用いて画像認識を行う。この場合、ステップＳ３０４においては、ステップＳ３０１の開始前の認識モデルのパラメータを初期値として、追加学習データを用いて認識モデルのパラメータを更新する。パラメータの更新には、逆誤差伝搬法など既知の手法を用いることができる。この際には、深層ニューラルネットワークの各階層のうち、所定の階層のパラメータのみを更新する構成を採用してもよい。
【００３５】
ステップＳ３０４においては、ステップＳ３０３で生成された追加学習データのみを用いて追加学習を行うことができる。一方で、ステップＳ３０４において、追加学習データに加えて、別の学習データを用いて追加学習を行うこともできる。例えば、追加学習前に認識部２０８の学習のために用いた教師データと、ステップＳ３０３で生成された追加学習データと、が混合された混合学習データを用いて、認識部２０８の追加学習を行ってもよい。このような構成によれば、認識部２０８の過学習が起こりにくくなり、人数推定精度を向上させることができる。
【００３６】
この際には、学習データにおけるラベルの分布が崩れないように教師データと追加学習データを混合することできる。例えば、あるラベルを有する所定数の学習データを、追加学習データとして教師データに混合する場合、教師データからは同じラベルを有する同じ数の学習データを除外することができる。本実施形態の場合、ラベルとは学習画像中の人体の数を指す。本実施形態においては、密度情報に従って学習画像が選択されるため、人体の数が少ない場合の学習データが追加学習データとして追加されやすい傾向にある。このような追加学習データを単純に教師データと混合して学習を行うと、判定器による人体の数の認識結果が小さくなる方向にバイアスがかかりやすい。一方、学習データにおける人体の数の分布が崩れないように、教師データから学習データを除外することにより、認識結果のバイアスを低減することができる。
【００３７】
ステップＳ３０３及びＳ３０４の処理は、繰り返し行うことができる。すなわち、データ生成部は追加学習データを繰り返し生成することができ、学習部２０７は追加学習データを用いた学習を繰り返し行うことができる。ステップＳ３０５において、学習部２０７は、この学習の繰り返しを終了するか否かを判定し、すなわち追加学習モードを終了するか否かを決定する。
【００３８】
追加学習モードを終了する条件は特に限定されない。例えば、学習を繰り返した期間、学習の繰り返し回数、及び学習された判定器の判定精度、のうちの少なくとも１つに基づいて、学習部２０７は追加学習モードを終了することができる。具体例としては、以下の（１）〜（４）のうち１つ以上を満たす場合に、学習部２０７は追加学習モードを終了することができる。
（１）追加学習モードの開始から所定の時間が経過している。
（２）追加学習データが所定の量蓄積されている。
（３）追加学習データを用いて追加学習が行われた認識部２０８の誤差が所定以下になっている。例えば、生成された追加学習データを、学習用データと評価用データに所定の割合で分割し、学習用データのみを用いて追加学習を行うことができる。そして、評価用データを用いて、認識部２０８による推定誤差を算出し、推定誤差が所定の目標値以下になった場合、十分な判定精度が得られたと判定することができる。
（４）ユーザが明示的に追加学習モードを終了させる指示を行っている。例えば表示部２０９は、図６に示すようなダイアログボックスを表示装置１３に表示させることにより、追加学習モードを終了するか否かをユーザに問い合わせることができる。この際、図６に示すように、追加学習モードの開始からの経過時間、追加学習データ数、認識部２０８による推定誤差等の数値をユーザに提示してもよい。また、表示部２０９は、目標に対する学習の進捗率をユーザに提示してもよい。学習の進捗率は、現在の認識部２０８による推定誤差をｅとしたとき、（Ｅ１−ｅ）／（Ｅ１−Ｅ２）により求めることができる。ここで、Ｅ１は認識部２０８の追加学習を行う前における認識部２０８による推定誤差、Ｅ２は推定誤差の目標値である。
【００３９】
ステップＳ３０６において、画像処理装置１００は、人数推定モードを開始する。人数推定モードとは、認識部２０８を用いて、画像取得部２０１が取得した画像中の人数を推定するモードのことである。
【００４０】
Ｓ３０７において、画像取得部２０１は、人数を推定する対象となる画像を取得する。
【００４１】
Ｓ３０８において、追加学習が行われた後の認識部２０８は、ステップＳ３０７で画像取得部２０１が取得した画像を対象に、人数推定を実施する。人数推定には、使用する認識モデルに基づいた任意の手法を用いることができる。例えば、密度マップ推定器を利用する場合は、画像の密度マップを求め、密度マップの積分を取ることで人数を推定することができる。また、回帰器を利用する場合は、画像を小領域に分割した後、各小領域を固定サイズにリサイズすることで小画像を生成し、各小画像中の人数を示す回帰値を回帰器で求めることができる。求められた人数の和が、画像中の人数の推定値となる。
【００４２】
小領域のサイズは固定されていてもよいし、画像上の位置に従って異なるサイズを有していてもよい。例えば、小領域のサイズと、画像上での人体の大きさと、の比率をほぼ一定にすることができる。画像上での人体の大きさは、ユーザがマウスなどの入力装置を用いて明示的に入力することができる。例えば、ユーザが、画像上の複数の地点における人体の平均的な大きさを入力することで、認識部２０８は、画像上の任意の点における人体の平均的な大きさを、補間により推定することが可能となる。また、画像上での人体の大きさは、統計処理により自動で推定することもできる。画像上の座標（ｘ，ｙ）における人体の大きさをｓとしたとき、ｓは、ｘ，ｙ，および未知の１個以上のパラメータによって表せると仮定できる。例えば、ｓ＝ａｘ＋ｂｙ＋ｃと仮定することができる。この例では、未知のパラメータはａ，ｂ，およびｃである。認識部２０８は、検出部２０３が検出した人体検出結果の集合を用いて、未知のパラメータを、例えば最小二乗法などの統計処理により求めることができる。
【００４３】
ステップＳ３０９において、表示部２０９は、認識部２０８により得られた人数推定結果を、表示装置１３に表示させる。表示部２０９は、ステップＳ３０６で取得した画像全体に写っている人数の推定結果を、表示装置１３に表示させることができる。
【００４４】
また、表示部２０９は、画像中の位置ごとに推定人数が分かるように、より詳細な表示を行ってもよい。例えば、表示装置１３は、ステップＳ３０６で取得した画像と、画像中の小領域の位置を示す情報と、小領域中に写っている人体の数と、を表示することができる。具体例として、表示装置１３は、小領域ごとに推定人数を表示することができる。図１０にその例を示す。図１０の例では、Ｓ３０８で得られた小領域１００１内の推定人数は１人であり、この数値が小領域１００１に重畳して表示されている。また、推定人数に応じた異なる画像処理を、小領域に対して施すことができる。例えば、表示装置１３は、推定人数が多い領域ほど領域が赤くなるように表示を行うことができる。また、ステップＳ３０８において密度マップを生成して人数推定を行った場合は、密度マップのピクセル値に応じた異なる画像処理を、画像に対して施すことができる。例えば、表示装置１３は、密度マップに示される密度が大きいピクセルほど赤くなるように表示を行うことができる。
【００４５】
ステップＳ３１０において、認識部２０８は、人数推定モードを終了するか否かを決定する。例えば、ユーザが明示的に人数推定モードを終了させる指示を入力したときに、認識部２０８は人数推定モードを終了することができる。人数推定モードを終了しない場合は、ステップＳ３０７に戻って人数推定処理が繰り返される。
【００４６】
以下で、ステップＳ３０３の処理について詳述する。追加学習データは、複数の方法により生成することができる。図４及び図５は、追加学習データを生成する方法の例を示すフローチャートである。
【００４７】
図４は、背景画像を用いて追加学習データを生成する例を示すフローチャートである。ステップＳ４０１において、背景生成部２０２は、画像取得部２０１が取得した画像をもとに背景画像を生成する。背景生成部２０２は、任意の方法で背景画像を生成することができる。例えば、背景生成部２０２は、画像取得部２０１が取得した複数枚の画像の平均画像を、背景画像として生成することができる。また、背景生成部２０２は、画像取得部２０１が取得した複数枚の画像の中央値画像を、背景画像として生成することができる。さらには、背景生成部２０２は、フレーム間差分法等を用いて連続して撮像された画像に動きがあるかどうかを判定し、動きがないと判定された画像を背景画像として採用することができる。
【００４８】
図７を参照して、背景画像の生成方法についてさらに説明する。図７（Ａ）、図７（Ｂ）、及び図７（Ｃ）は、撮像装置によって異なる時刻に撮像された画像を示す。図７（Ｄ）は、これら３枚の画像の中央値画像であり、この画像を背景画像として用いることができる。
【００４９】
ステップＳ４０２において、データ生成部２０６は、背景生成部２０２が生成した背景画像から追加学習データを生成する。本実施形態において、背景画像には人体が映っていないと推定される。こうして、追加学習データが生成される。図８を参照して、背景画像から回帰器を学習するための追加学習データを生成する方法についてさらに説明する。画像８０１は、背景生成部２０２により生成された背景画像である。画像８０１は、図８の太線で示されるように複数の小領域に分割される。この画像分割処理は、ステップＳ３０８と同様に行うことができる。そして、データ生成部２０６は、画像分割により得られた小領域８０２を固定サイズにリサイズして小画像を得ることができる。この小画像と、小画像中の人数が０人であることを示す情報と、は追加学習データとして用いることができる。
【００５０】
図５は、人体検出を用いて追加学習データを生成する例を示すフローチャートである。ステップＳ５０１において、検出部２０３は、画像取得部２０１が取得した画像を対象に人体検出を行い、人体検出結果を得る。
【００５１】
ステップＳ５０２において、追尾部２０４は、検出部２０３から人体検出結果を得て追尾処理を行い、人体追尾結果を得る。
【００５２】
ステップＳ５０３において、データ生成部２０６は、画像取得部２０１が取得した画像から小領域を抽出し、固定サイズにリサイズして小画像を得ることができる。また、データ生成部２０６は、ステップＳ５０１におおける人体検出結果を参照して、この小画像中の人数を得ることができる。この小画像と、小画像中の人数を示す情報と、は追加学習データとして用いることができる。小領域の抽出は、ステップＳ４０２と同様に行うことができる。
【００５３】
必須ではないが、ステップＳ５０３において、データ生成部２０６はさらに、画像取得部２０１が取得した画像のうち、追加学習データ生成に適した領域を判定することができる。そして、データ生成部２０６は、判定された領域から追加学習データを生成する。判定方法としては、任意の手法を用いることができる。例えば、人体の存在密度に従って、追加学習データの生成に適した領域を判定することができる。すなわち、人体が高密度で存在している領域は、人体同士の重なりが多く発生するため、人体検出処理を用いて人体の数を正確に検出できる可能性が低い。一方、人体が低密度で存在している領域は、人体検出処理を用いて人体の数を正確に検出できる可能性が高い。従って、より正確な追加学習データを得るために、学習部２０７は、人体の存在密度が所定値以下である領域から追加学習データを生成することができる。
【００５４】
人体の存在密度は、追尾部２０４により得られた人体追尾結果を利用して推定することができる。例えば、直近の所定数のフレームにおいて、ある人体が、他のすべての人体と所定以上の距離を保っていたならば、その人体の周囲には他の人体が存在しないと考えることができる。したがって、データ生成部２０６は、このような人体の周囲の領域においては、人体の存在密度が低いと判定することができる。また、データ生成部２０６は、その他の領域については、人体の存在密度が高いと判定することができる。
【００５５】
図９に、追加学習データ生成に適した領域の判定方法の例を示す。画像９０１上の枠は、人体追尾結果９０２、９０３、及び９０４を表す。図９の例では、人体追尾結果９０２及び９０３は、所定数のフレーム数にわたって所定の距離内に存在する。このため、データ生成部２０６は、人体追尾結果９０２及び９０３の周辺領域では人体の存在密度が高いと判定する。一方、人体追尾結果９０４は所定数のフレームにわたって他の人体追尾結果から所定距離以上離れている。このため、データ生成部２０６は、人体追尾結果９０４の周辺領域では人体の存在密度が低いと判定する。例えば回帰器を追加学習する場合であれば、データ生成部２０６は、人体追尾結果９０４の周囲から小領域９１１及び小領域９２２を抽出し、これらの小領域に写っている人体の数をさらに用いて追加学習データを生成する。
【００５６】
図５のフローチャートでは、人体追尾結果を利用して追加学習データを作成する場合について説明した。しかしながら、人体追尾を行わず、検出部２０３により得られた人体検出結果を利用してデータ生成部２０６が追加学習データを作成してもよい。例えば、検出部２０３により検出された人体の１つが、他の検出された人体の全てから所定距離以上離れているならば、この人体の周囲の領域は人体の存在密度が低いと判定することができる。
【００５７】
また、検出部２０３は、画像中の人体の位置情報として、画像中の各位置における人体の存在確率を求めてもよい。例えば、検出部２０３は、画像の各ピクセルについて、人体の存在確率を数値で表現した自信度マップを生成してもよい。この場合、データ生成部２０６は、自信度マップにおいて存在確率が極大となるピクセルのピークの鋭さが所定値以上である場合、このピクセルの周囲の領域は人体の存在密度が低いと判定することがでる。あるピクセルのピークの鋭さは、例えば、そのピクセルから所定範囲内の領域における存在確率値の和に対する、そのピクセルの存在確率値の比率により定義できる。
【００５８】
さらに、ステップＳ５０１において、検出部２０３が人体検出結果を得る代わりに、位置取得部２０５は外部装置を用いることで画像取得部２０１が取得した画像における人体の二次元位置を得ることができる。この二次元位置を人体検出結果として用いて、ステップＳ５０２以降の処理を行うこともできる。この例では、追加学習モードにおいて用いられる画像には、外部装置を携帯した人だけが写っていることが仮定される。
【００５９】
以上の実施形態によれば、特定のシーンで得られた撮像画像に基づいて追加学習データを構築し、追加学習を行うことで、特定のシーンで得られた撮像画像に対する人数推定処理の精度を向上させることができる。
【００６０】
以上の実施形態において、学習部２０７は、画像取得部２０１が取得した画像に基づいてデータ生成部２０６が生成した学習データを用いて、予め用意された教師データを用いて予め学習が行われている判定器の追加学習を行った。しかしながら、学習部２０７は、判定器の学習を最初から行ってもよい。すなわち、学習部２０７は、学習が行われていない判定器を用いて、予め用意された教師データと、画像取得部２０１が取得した画像に基づいてデータ生成部２０６が生成した学習データと、の双方を用いて、判定器の学習及び生成を行うことができる。
【００６１】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６２】
１００：画像処理装置、２０１：画像取得部、２０２：背景生成部、２０３：検出部、２０４：追尾部、２０５：位置取得部、２０６：データ生成部、２０７：学習部、２０８：認識部、２０９：表示部
【図１】
2018148367.tif 000003
【図２】
2018148367.tif 000004
【図３】
2018148367.tif 000005
【図４】
2018148367.tif 000006
【図５】
2018148367.tif 000007
【図６】
2018148367.tif 000008
【図７】
2018148367.tif 000009
【図８】
2018148367.tif 000010
【図９】
2018148367.tif 000011
【図１０】
2018148367.tif 000012