(57)【要約】【課題】推定モデルを特定の場所に効率良く適応させる。【解決手段】実施形態に係る情報処理装置は、画像取得部と、適応化部と、終了条件取得部と、終了制御部とを備える。画像取得部は、特定の場所に設置された撮像装置により撮像された入力画像を取得する。適応化部は、推定モデルのパラメータを下位層から上位層に向かい順次に選択し、選択したパラメータを入力画像に含まれる対象物の位置または数の推定誤差を小さくするように修正することにより、画像に含まれる対象物の位置または数を検出するための推定モデルを特定の場所に適応させる適応化処理を実行する。終了条件取得部は、適応化処理の終了条件を取得する。終了制御部は、終了条件を満たした場合に、適応化処理を終了させる。【選択図】図４
2018005405.tif 000002
【特許請求の範囲】
【請求項１】
特定の場所に設置された撮像装置により撮像された入力画像を取得する画像取得部と、
前記推定モデルのパラメータを下位層から上位層に向かい順次に選択し、選択したパラメータを前記入力画像に含まれる前記対象物の位置または数の推定誤差を小さくするように修正することにより、画像に含まれる対象物の位置または数を検出するための推定モデルを前記特定の場所に適応させる適応化処理を実行する適応化部と、
前記適応化処理の終了条件を取得する終了条件取得部と、
前記終了条件を満たした場合に、前記適応化処理を終了させる終了制御部と、
を備える情報処理装置。
【請求項２】
前記終了条件は、前記推定誤差の値であり、
前記終了制御部は、前記推定誤差が取得した値以下となった場合に、前記適応化処理を終了させる
請求項１に記載の情報処理装置。
【請求項３】
前記終了条件は、前記適応化処理を開始してからの経過時間であり、
前記終了制御部は、前記適応化処理を開始してから、取得した前記経過時間を超えた場合に、前記適応化処理を終了させる
請求項１に記載の情報処理装置。
【請求項４】
前記画像取得部は、複数の前記入力画像を取得し、
前記適応化部は、複数の前記入力画像に含まれる前記対象物の位置または数の前記推定誤差を小さくするように、選択したパラメータを修正する
請求項１から３の何れか１項に記載の情報処理装置。
【請求項５】
前記適応化部は、
前記推定モデルのパラメータを、下位層から上位層に向かい順次に１つずつ選択するパラメータ選択部と、
それぞれの前記入力画像に含まれる前記対象物の位置または数を前記推定モデルを用いて推定する推定部と、
それぞれの前記入力画像について、前記入力画像に含まれる前記対象物の位置または数の推定結果と、前記入力画像に含まれる前記対象物の位置または数の正解情報とに基づき前記推定誤差を算出する誤差算出部と、
前記推定部に対して選択されたパラメータの値の変更を指示してそれぞれの前記入力画像についての前記推定誤差を前記誤差算出部から受け取り、選択されたパラメータについて、取得した複数の前記入力画像の合計の前記推定誤差が最小となるような値を特定する探索部と、
前記推定モデルにおける選択されたパラメータの値を、特定された値に修正するモデル修正部と、
を有し、
前記パラメータ選択部は、前記終了制御部から終了指示を受け取り、前記終了指示を受け取った場合、パラメータの選択処理を終了する
請求項４に記載の情報処理装置。
【請求項６】
前記推定モデルは、木構造に接続された複数のノードを有し、それぞれのノードに画像を分類するためのパラメータが割り当てられ、末端のノードにラベルが割り当てられたランダムフォレストである
請求項５に記載の情報処理装置。
【請求項７】
前記対象物は、人であり、
前記推定モデルは、それぞれのノードに画像の特徴量に応じて画像を分類するためのパラメータが割り当てられ、
前記推定部は、前記入力画像から少なくとも１つの局所画像を抽出し、それぞれの前記局所画像を前記推定モデルに応じて分類して、それぞれの前記局所画像に対応する前記ラベルを取得し、取得した前記ラベルに基づき前記入力画像に含まれる前記人の数を推定する
請求項６に記載の情報処理装置。
【請求項８】
前記画像取得部は、
前記撮像装置により撮像された撮像画像を予め定められた大きさの複数の前記入力画像に分割し、
分割した複数の前記入力画像のうち、前記推定モデルを用いて前記対象物の位置または数を推定した推定結果と、前記入力画像に含まれる前記対象物の位置または数の正解情報との誤差が予め定められた値以上となる前記入力画像を選択し、
前記適応化部は、選択された前記入力画像を用いて、前記適応化処理を実行する
請求項１から７の何れか１項に記載の情報処理装置。
【請求項９】
ユーザにより入力された前記正解情報を取得する正解取得部をさらに備える
請求項８に記載の情報処理装置。
【請求項１０】
前記終了条件取得部は、ユーザにより入力された前記終了条件を取得する
請求項１から９の何れか１項に記載の情報処理装置。
【請求項１１】
特定の場所に設置された撮像装置により撮像された入力画像を取得する画像取得ステップと、
前記推定モデルのパラメータを下位層から上位層に向かい順次に選択し、選択したパラメータを前記入力画像に含まれる前記対象物の位置または数の推定誤差を小さくするように修正することにより、画像に含まれる対象物の位置または数を検出するための推定モデルを前記特定の場所に適応させる適応化処理を実行する適応化ステップと、
前記適応化処理の終了条件を取得する終了条件取得ステップと、
前記終了条件を満たした場合に、前記適応化処理を終了させる終了制御ステップと、
を実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
汎用環境の学習用データを用いて機械学習した回帰モデルである推定モデルを、特定の環境下に適応させる適応化装置が知られている。例えば、画像に含まれる人の数を推定する汎用の推定モデルを、駅の通路等を撮像した画像から通行者の数を推定する推定システムに適応させる場合、適応化装置は、駅の通路等に設置された撮像装置により撮像された画像を用いて、汎用の推定モデルを修正する。このような適応化技術は、例えば、ドメインアダプテーション、転移学習またはノウレッジトランスファー等と呼ばれる。
【０００３】
ところで、適応化装置は、汎用の推定モデルを特定の環境化に適応させる場合、推定モデルに含まれるパラメータを修正する。しかし、推定モデルは、数多くのパラメータを含む。従って、適応化装置は、非常に多くの時間および演算量コストをかけて、それらのパラメータを適切に調整しなければならなかった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−８７９７３号公報
【特許文献２】特開２０１５−１５８７１２号公報
【非特許文献】
【０００５】
【非特許文献１】Shaoqing  Ren，  Xudong  Cao，  Yichen  Wei，  Jian  Sun，  “Global  Refinement  of  Random  Forest”，IEEE  Conference  on  Computer  Vision  and  Pattern  Recognition  (CVPR),  2015,  pp  723-730
【発明の概要】
【発明が解決しようとする課題】
【０００６】
発明が解決しようとする課題は、推定モデルを特定の場所に効率良く適応させることにある。
【課題を解決するための手段】
【０００７】
実施形態に係る情報処理装置は、画像取得部と、適応化部と、終了条件取得部と、終了制御部とを備える。前記画像取得部は、特定の場所に設置された撮像装置により撮像された入力画像を取得する。前記適応化部は、前記推定モデルのパラメータを下位層から上位層に向かい順次に選択し、選択したパラメータを前記入力画像に含まれる前記対象物の位置または数の推定誤差を小さくするように修正することにより、画像に含まれる対象物の位置または数を推定するための推定モデルを前記特定の場所に適応させる適応化処理を実行する。前記終了条件取得部は、前記適応化処理の終了条件を取得する。前記終了制御部は、前記終了条件を満たした場合に、前記適応化処理を終了させる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る推定システムを示す図。
【図２】推定システムにおける処理手順を示すフローチャート。
【図３】推定モデルの一例を示す図。
【図４】モデル適応化機能の構成の一例を示す図。
【図５】モデル適応化機能による処理手順を示すフローチャート。
【図６】撮像画像を分割して生成した複数の入力画像の一例を示す図。
【図７】正解情報の入力画面の一例を示す図。
【図８】終了条件の入力画面の一例を示す図。
【図９】適応化処理の処理手順を示すフローチャート。
【図１０】推定処理の手順の一例を示すフローチャート。
【図１１】入力画像の一例を示す図。
【図１２】入力画像から抽出された複数の局所画像の一例を示す図。
【図１３】１つの局所画像の一例を示す図。
【図１４】末端のノードにラベルが割り当てられた推定モデルを示す図。
【図１５】局所画像中における人の位置を示すベクトル情報を示す図。
【図１６】推定モデルにより分類されるラベルの一例を示す図。
【図１７】局所画像の密度マップの一例を示す図。
【図１８】入力画像の全体の密度マップの一例を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら本実施形態に係る推定システム１０について説明する。なお、以下の実施形態では、同一の参照符号を付した部分は略同一の構成および動作をするので、相違点を除き重複する説明を適宜省略する。
【００１０】
図１は、実施形態に係る推定システム１０を示す図である。推定システム１０は、対象物を撮像した画像に基づき、対象物の位置または数を推定する。本実施形態において、対象物は、人である。本実施形態において、推定システム１０は、駅等における特定の位置から撮像した画像に含まれる人の位置または数を推定する。なお、対象物は、人に限らず、例えば車両または微生物等であってもよい。
【００１１】
推定システム１０は、撮像装置１２と、情報処理装置２０と、入力装置２２と、表示装置２４とを備える。
【００１２】
撮像装置１２は、対象物が通過または滞在する所定空間を撮像可能な特定の場所に設置される。撮像装置１２は、特定の場所から所定空間を撮像する。例えば、対象物が人である場合、撮像装置１２は、駅等の人が移動する移動面を、上方から所定の角度で撮像する。撮像装置１２は、所定のフレームレートで画像を撮像し、撮像して得られたそれぞれの画像を情報処理装置２０に与える。撮像装置１２が撮像した画像は、可視光画像、赤外線画像、距離画像等の種々の画像であってよい。
【００１３】
情報処理装置２０は、撮像装置１２が撮像した画像を用いた種々の画像処理を行い、撮像装置１２が撮像した画像を分割した複数の入力画像のそれぞれについて、入力画像に含まれる対象物の位置または数を推定する。対象物が人である場合、情報処理装置２０は、入力画像に含まれる人の位置または数を推定する。情報処理装置２０は、例えば、専用または汎用コンピュータである。情報処理装置２０は、ＰＣ、あるいは、画像を保存および管理するサーバに含まれるコンピュータであってもよい。
【００１４】
情報処理装置２０は、処理回路３２、記憶回路３４、通信部３６、各部を接続するバス３０を備える。情報処理装置２０は、例えば、バス３０を介して撮像装置１２と接続される。
【００１５】
処理回路３２は、対象物推定機能４２と、モデル適応化機能５０とを有する。モデル適応化機能５０は、画像取得機能５２と、正解取得機能５４と、適応化機能５６と、終了条件取得機能５８と、終了制御機能６０とを含む。これらの各処理機能は、後述する。
【００１６】
情報処理装置２０にて行われる各処理機能は、コンピュータによって実行可能なプログラムの形態で記憶回路３４へ記憶されている。処理回路３２は、プログラムを記憶回路３４から読み出し、実行することで各プログラムに対応する機能を実現するプロセッサである。各プログラムを読み出した状態の処理回路３２は、図１の処理回路３２内に示された各機能を有することになる。なお、図１においては単一の処理回路３２にて、対象物推定機能４２およびモデル適応化機能５０にて行われる処理機能が実現されるものとして説明したが、複数の独立したプロセッサを組み合わせて処理回路３２を構成し、各プロセッサがプログラムを実行することにより機能を実現するものとしても構わない。各処理機能がプログラムとして構成され、１つの回路が各プログラムを実行する場合であってもよいし、特定の機能が専用の独立したプログラム実行回路に実装される場合であってもよい。
【００１７】
なお、処理回路３２の有する対象物推定機能４２は、推定装置の一例である。また、処理回路３２の有するモデル適応化機能５０は、適応化装置の一例である。また、画像取得機能５２、正解取得機能５４、適応化機能５６、終了条件取得機能５８および終了制御機能６０は、それぞれ、画像取得部、正解取得部、適応化部、終了条件取得部および終了制御部の一例である。
【００１８】
上記説明において用いた「プロセッサ」という文言は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＧＰＵ（Ｇｒａｐｈｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）或いは、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）、プログラマブル論理デバイス（例えば、単純プログラマブル論理デバイス（Ｓｉｍｐｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ：ＳＰＬＤ）、複合プログラマブル論理デバイス（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ：ＣＰＬＤ）およびフィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ：ＦＰＧＡ））の回路を意味する。プロセッサは、記憶回路３４に保存されたプログラムを読み出し実行することで機能を実現する。なお、記憶回路３４にプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成しても構わない。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。
【００１９】
記憶回路３４は、処理回路３２が行う各処理機能に伴うデータ等を必要に応じて記憶する。また、記憶回路３４は、処理回路３２により実行されるプログラムを記憶する。
【００２０】
また、本実施形態に係る記憶回路３４は、対象物の位置または数の推定に用いられる回帰モデルである推定モデル４０を記憶する。さらに、本実施形態に係る記憶回路３４は、撮像装置１２により撮像された画像を記憶する。また、本実施形態に係る記憶回路３４は、推定処理および推定モデル４０の適応化処理に用いられる各種の設定値、および、ユーザインターフェース画像等を記憶する。本実施形態に係る記憶回路３４は、推定処理および推定モデル４０の適応化処理の過程において生成した各種のデータを記憶する。また、本実施形態に係る記憶回路３４は、入力画像に含まれる対象物（例えば人）の位置または数を示す正解情報を記憶してもよい。
【００２１】
例えば、記憶回路３４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。また、記憶回路３４が行う処理は、情報処理装置２０の外部の記憶装置で代替されてもよい。記憶回路３４は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体であってもよい。また、記憶媒体は１つに限られず、複数の媒体から、上述した実施形態における処理が実行される場合も、実施形態における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００２２】
通信部３６は、有線または無線で接続された外部装置と情報の入出力を行うインターフェースである。通信部３６は、ネットワークに接続して通信を行ってもよい。
【００２３】
入力装置２２は、操作者からの各種指示や情報入力を受け付ける。入力装置２２は、例えば、マウスまたはトラックボール等のポインティングデバイス、あるいはキーボード等の入力デバイスである。本実施形態に係る入力装置２２は、入力画像に含まれる人の位置または数の正解情報を、ユーザの操作に応じて取得してもよい。
【００２４】
表示装置２４は、画像データ等の各種の情報を表示する。表示装置２４は、例えば、液晶表示器等の表示デバイスである。本実施形態に係る表示装置２４は、入力画像に含まれる対象物の位置または数の正解情報の入力を、ユーザに促してもよい。
【００２５】
本実施形態の入力装置２２、表示装置２４は、有線または無線で情報処理装置２０に接続している。入力装置２２、表示装置２４は、ネットワークを介して情報処理装置２０と接続してもよい。
【００２６】
図２は、実施形態に係る推定システム１０における処理手順を示すフローチャートである。
【００２７】
まず、Ｓ１１１において、情報処理装置２０は、汎用の推定モデル４０を導入する。具体的には、情報処理装置２０は、ネットワークまたはメディア等を介して汎用の推定モデル４０を取得して、処理回路３２により参照可能なように記憶回路３４に記憶させる。
【００２８】
汎用の推定モデル４０は、汎用の環境下で撮像された学習用サンプル（画像および正解情報）を用いて機械学習した知識データである。すなわち、汎用の推定モデル４０は、複数の条件をカバーする大量のサンプル（画像および正解情報）から機械学習した知識データである。
【００２９】
続いて、Ｓ１１２において、情報処理装置２０は、導入された汎用の推定モデル４０を、特定の場所に適応させる。例えば、情報処理装置２０は、ユーザによる適応化開始指示に応じて、処理回路３２が有するモデル適応化機能５０の動作を開始させる。モデル適応化機能５０は、特定の場所に設置された撮像装置１２により撮像された画像に基づき、推定モデル４０を特定の場所に適応させるべく、推定モデル４０を修正する。つまり、情報処理装置２０は、推定モデル４０を特定の場所に調整する。これにより、情報処理装置２０は、推定モデル４０により、特定の場所に設置された撮像装置１２により撮像された画像から対象物の位置または数を推定した場合に、推定誤差を小さくすることができる。
【００３０】
推定モデル４０の適応化が成功した場合、Ｓ１１３において、適応化後の推定モデル４０を用いた推定処理を開始する。例えば、情報処理装置２０は、ユーザによる推定開始指示に応じて、処理回路３２が有する対象物推定機能４２の動作を開始させる。対象物推定機能４２は、適応化後の推定モデル４０を用いて、撮像装置１２により撮像された画像から対象物の位置または数を推定する。
【００３１】
ここで、本実施形態において、対象物推定機能４２は、例えば特許文献２に示したような、群衆解析技術を用いて画像に含まれる対象物の位置または数を推定する。なお、対象物推定機能４２における推定処理については、図１０以降を参照して後述する。
【００３２】
図３は、推定モデル４０の一例を示す図である。推定モデル４０は、与えられた変量に応じた応答を得るための回帰モデルである。本実施形態において、推定モデル４０は、画像に含まれる対象物の位置または数を検出するための階層型の回帰モデルである。
【００３３】
例えば、推定モデル４０は、ランダムフォレストである。ランダムフォレストは、複数のノードを有する。複数のノードは、リンクにより木構造に接続される。また、複数のノードのそれぞれには、パラメータが割り当てられている。パラメータは、与えられた変量を分類するための情報である。また、末端のノードには、ラベルが割り当てられている。ラベルは、変量が与えられた場合の応答として出力される。
【００３４】
図３において、Ｗａ，ｂは、パラメータを表す。ａは、そのパラメータが割り当てられているノードの階層を表す。ａは、自然数であって、値が小さい方が上位階層を表す。ｂは、自然数であって、同一階層中のノードを識別するインデックスを表す。また、図３において、Ｌｃは、ラベルを表す。ｃは、自然数であって、末端のノードを識別するインデックスを表す。
【００３５】
例えば、推定モデル４０は、変量ｘが与えられた場合、何らかの応答ｙを出力する。具体的には、推定モデル４０は、変量ｘが与えられた場合、最上位ノードから下位層に向かい、ノードを辿る。この場合、推定モデル４０は、それぞれのノードにおいて、変量ｘを、割り当てられたパラメータＷａ，ｂに示された条件で分類することにより、次の階層のノードを選択する。例えば、図３の例においては、推定モデル４０は、最上位のノードにおいて、変量ｘをパラメータＷ１，１によって分類し、分類結果に基づき第２階層の２つのノードのうちの何れか一方のノードを選択する。そして、推定モデル４０は、末端のノードまで辿りつくと、その末端のノードに割り当てられたラベルＬｃを、変量ｘに対応する応答ｙとして出力する。
【００３６】
このような階層構造の推定モデル４０は、応答ｙに与える影響度が、下位層のノードに割り当てられたパラメータよりも、上位層のノードに割り当てられたパラメータの方が大きい。例えば、図３の例であれば、パラメータＷ２，１は、パラメータＷ３，１よりも上位のノードに割り当てられている。パラメータＷ３，１は、ラベルＬ１およびラベルＬ２を出力する場合に、影響を与える。これに対して、パラメータＷ２，１は、ラベルＬ１、ラベルＬ２およびラベルＬ３を出力する場合に、影響を与える。従って、パラメータＷ２，１は、パラメータＷ３，１よりも応答に与える影響度が大きい。
【００３７】
本実施形態において、推定モデル４０は、変量ｘとして、所定の形状および所定の大きさの局所画像を表す複数種類の特徴量が与えられる。推定モデル４０のそれぞれのノードには、局所画像を表す複数種類の特徴量に応じて、その局所画像を分類するためのパラメータが割り当てられている。例えば、パラメータは、何れかの特徴量を分類する閾値である。
【００３８】
そして、末端のノードには、ラベルＬが割り当てられている。ラベルＬは、局所画像に含まれる対象物の位置を表すベクトル情報を識別する。このような推定モデル４０は、局所画像を表す複数の特徴量を変量ｘとして受け取り、局所画像における対象物の位置を表すベクトル情報を応答ｙとして出力する。対象物推定機能４２は、この推定モデル４０を用いて、撮像装置１２により撮像した画像から、その画像に含まれる対象物の位置または数を推定する。
【００３９】
なお、本実施形態において、推定モデル４０は、ランダムフォレストである。しかし、推定モデル４０は、階層型であれば、どのようなモデルであってもよい。
【００４０】
図４は、モデル適応化機能５０の構成の一例を示す図である。モデル適応化機能５０は、画像取得機能５２と、正解取得機能５４と、適応化機能５６と、終了条件取得機能５８と、終了制御機能６０とを有する。
【００４１】
画像取得機能５２は、特定の場所に設置された撮像装置１２により撮像された撮像画像を取得する。画像取得機能５２は、例えば、複数の撮像画像を取得する。画像取得機能５２は、予め保存されている複数の撮像画像を記憶回路３４から取得してもよいし、撮像処理中の撮像装置１２から複数の撮像画像を取得してもよい。画像取得機能５２は、取得した撮像画像を所定の大きさおよび形状の複数の入力画像に分割する。
【００４２】
正解取得機能５４は、画像取得機能５２が取得した複数の入力画像のそれぞれについて、含まれる対象物の位置または数を示す正解情報を取得する。正解取得機能５４は、正解情報を記憶回路３４から取得してもよい。また、正解取得機能５４は、入力装置２２および表示装置２４を介して、ユーザにより入力された正解情報を取得してもよい。これにより、正解取得機能５４は、正確な正解情報を取得することができる。また、正解取得機能５４は、推定モデル４０を用いた推定処理とは異なる人検出処理（例えば、顔検出処理等）により検出された正解情報を取得してもよい。これにより、正解取得機能５４は、ユーザの入力を受けずに正解情報を取得することができる。
【００４３】
適応化機能５６は、画像取得機能５２が取得した複数の入力画像に基づき、記憶回路３４に記憶された推定モデル４０を特定の場所に適応させる適応化処理を実行する。つまり、情報処理装置２０は、複数の入力画像に基づき、推定モデル４０を特定の場所に調整する。これにより、情報処理装置２０は、推定モデル４０により、特定の場所に設置された撮像装置１２により撮像された画像から対象物の位置または数を推定した場合に、推定誤差を小さくすることができる。
【００４４】
より具体的には、適応化機能５６は、推定モデル４０のパラメータを下位層から上位層に向かい順次に１つずつ選択する。そして、適応化機能５６は、入力画像に含まれる対象物の位置または数の推定誤差を小さくするように、選択したパラメータを修正することにより適応化処理を実行する。また、例えば、複数の入力画像を取得した場合には、適応化機能５６は、複数の入力画像に含まれる対象物の位置または数の合計の推定誤差を小さくするように、選択したパラメータを修正する。
【００４５】
終了条件取得機能５８は、適応化機能５６による適応化処理の終了条件を取得する。終了条件取得機能５８は、予め保存されている終了条件を記憶回路３４から取得してよい。また、終了条件取得機能５８は、入力装置２２および表示装置２４を介してユーザにより入力された終了条件を取得する。これにより、終了条件取得機能５８は、ユーザが希望する終了条件を取得することができる。
【００４６】
例えば、終了条件は、推定誤差の値であってよい。また、例えば、終了条件は、適応化処理を開始してからの経過時間であってよい。また、終了条件は、推定誤差の値および適応化処理を開始してからの経過時間の両者であってもよい。
【００４７】
終了制御機能６０は、終了条件を満たした場合に、適応化機能５６による適応化処理を終了させる。より具体的には、終了制御機能６０は、適応化機能５６がパラメータを下位層から上位層に向かい順次に選択しながらパラメータを修正している途中において、終了条件を満たした場合、パラメータの選択および修正を終了させる。
【００４８】
例えば、終了条件が推定誤差の値である場合、終了制御機能６０は、推定誤差が取得した値以下となったことに応じて適応化処理を終了させる。また、例えば、終了条件が適応化処理を開始してからの経過時間である場合、終了制御機能６０は、適応化処理を開始してから、取得した経過時間を超えたことに応じて、適応化処理を終了させる。また、例えば、終了条件が、推定誤差の値および経過時間の両者である場合、終了制御機能６０は、推定誤差が取得した値以下となったこと、または、適応化処理を開始してから経過時間を超えたことに応じて、適応化処理を終了させる。
【００４９】
適応化機能５６は、パラメータ選択機能７２と、推定機能７４と、誤差算出機能７６と、探索機能７８と、モデル修正機能８０とを含む。パラメータ選択機能７２、推定機能７４、誤差算出機能７６、探索機能７８およびモデル修正機能８０は、それぞれ、パラメータ選択部、推定部、誤差算出部、探索部およびモデル修正部の一例である。
【００５０】
パラメータ選択機能７２は、推定モデル４０のパラメータを、下位層から上位層に向かい順次に１つずつ選択する。例えば、パラメータ選択機能７２は、同一階層に複数のパラメータが存在する場合、同一階層の複数のパラメータの中からランダムに１つのパラメータを選択してもよい。また、この場合、例えば、パラメータ選択機能７２は、同一階層の複数のパラメータの中から、予め定められたインデックスの順に１つのパラメータを選択してもよい。
【００５１】
推定機能７４は、画像取得機能５２が取得したそれぞれの入力画像を受け取る。推定機能７４は、それぞれの入力画像に含まれる対象物の位置または数を、推定モデル４０を用いて推定する。推定機能７４は、パラメータ選択機能７２により選択されたパラメータの値が、探索機能７８により変更される。推定機能７４は、選択されたパラメータの値が変更される毎に、選択されたパラメータの値が変更された推定モデル４０を用いて、それぞれの入力画像に含まれる対象物の位置または数を推定する。そして、推定機能７４は、それぞれの入力画像についての推定結果を誤差算出機能７６に与える。
【００５２】
誤差算出機能７６は、それぞれの入力画像に含まれる対象物の位置または数の正解情報を、正解取得機能５４から受け取る。また、誤差算出機能７６は、推定機能７４により推定された、それぞれの入力画像に含まれる対象物の位置または数の推定結果を受け取る。誤差算出機能７６は、それぞれの入力画像について、推定結果と正解情報とに基づき推定誤差を算出する。誤差算出機能７６は、それぞれの入力画像についての推定誤差を探索機能７８に与える。
【００５３】
探索機能７８は、推定機能７４に対して、パラメータ選択機能７２により選択されたパラメータの値の変更を指示する。そして、探索機能７８は、選択されたパラメータの値の変更を指示する毎に、推定機能７４に、それぞれの入力画像に含まれる対象物の位置または数を推定させる。
【００５４】
探索機能７８は、選択されたパラメータの値の変更を指示したことに応じて、それぞれの入力画像についての推定誤差を誤差算出機能７６から受け取る。そして、探索機能７８は、選択されたパラメータについて、取得した複数の入力画像の合計の推定誤差が最小となるような値を特定する。
【００５５】
例えば、探索機能７８は、推定機能７４に対して、パラメータ選択機能７２により選択されたパラメータについて、とり得る範囲の値を所定間隔で変更することを指示する。この場合、推定機能７４は、選択されたパラメータの値を、とり得る範囲で所定間隔で変更して、それぞれの入力画像に含まれる対象物の位置または数の推定結果を出力する。そして、探索機能７８は、選択されたパラメータについて、取り得る範囲の値の中から、取得した複数の入力画像の合計の推定誤差が最小となるような値を特定する。
【００５６】
なお、探索機能７８は、選択されたパラメータについて、取得した複数の入力画像の合計の推定誤差が変更前よりも少なくとも小さくなるような値を特定してもよい。
【００５７】
モデル修正機能８０は、選択されたパラメータについて、複数の入力画像の合計の推定誤差が最小または変更前より少なくとも小さくなるような値が特定された場合、推定モデル４０における選択されたパラメータの値を修正する。そして、モデル修正機能８０は、パラメータの値を修正した後、パラメータ選択機能７２に次のパラメータを選択させる。
【００５８】
ここで、パラメータ選択機能７２は、終了制御機能６０から終了指示を受け取る。パラメータ選択機能７２は、終了指示を受け取った場合、パラメータの選択処理を終了する。パラメータの選択処理を終了すると、適応化機能５６は、推定モデル４０のパラメータの修正処理を終了する。このように、適応化機能５６は、パラメータを下位層から上位層に向かい順次に選択しながらパラメータを修正している途中において、終了条件を満たした場合、パラメータの選択および修正を終了することができる。
【００５９】
図５は、モデル適応化機能５０による処理手順を示すフローチャートである。モデル適応化機能５０は、汎用の推定モデル４０を、特定の場所に適応させる場合、図５に示す処理を実行する。
【００６０】
まず、Ｓ１４１において、画像取得機能５２は、撮像装置１２により撮像された所定数の撮像画像を取得する。続いて、Ｓ１４２において、画像取得機能５２は、撮像装置１２により撮像された撮像画像を予め定められた大きさの複数の入力画像に分割する。例えば、画像取得機能５２は、例えば、図６に示すように、１つの撮像画像を４分割して、同一の大きさの４つの入力画像を生成する。
【００６１】
続いて、Ｓ１４３において、正解取得機能５４は、それぞれの入力画像について正解情報を取得する。例えば、正解取得機能５４は、図７に示すように、入力画像を表示して、それぞれの入力画像について、対象物（例えば人）の位置または数の正解情報をユーザに入力させる。正解取得機能５４は、例えば、入力画像毎にボックスを表示し、ボックスに入力された数値を対象物の数の正解情報としてもよい。また、正解取得機能５４は、ユーザに入力画像上の対象物をポイントさせて、ポイント位置を対象物の位置の正解情報としてもよい。
【００６２】
続いて、Ｓ１４４において、画像取得機能５２は、複数の入力画像のうち、対象物の位置または数の推定結果と、正解情報との誤差が予め定められた値以上となる入力画像を、適応化処理に用いる入力画像として選択する。この場合、例えば、画像取得機能５２は、それぞれの入力画像について、対象物推定機能４２により推定モデル４０を用いて対象物の位置または数を推定させて、推定結果を取得してもよい。これにより、画像取得機能５２は、複数の入力画像のうち、推定結果の誤差を小さくすべき入力画像を用いて適応化処理を実行させることができる。
【００６３】
なお、画像取得機能５２は、Ｓ１４４の処理を実行しなくてもよい。すなわち、画像取得機能５２は、Ｓ１４２で取得した全ての入力画像を用いて適応化処理を実行させてもよい。
【００６４】
続いて、Ｓ１４５において、終了条件取得機能５８は、適応化処理の終了条件を取得する。例えば、終了条件取得機能５８は、図８に示すようなインターフェース画像を表示して、ユーザにより入力された推定誤差の値または経過時間を終了条件として取得してよい。また、終了条件取得機能５８は、予め保存されている終了条件を記憶回路３４から取得してもよい。
【００６５】
続いて、Ｓ１４６において、適応化機能５６は、推定モデル４０を特定の場所に適応させる適応化処理を実行する。より具体的には、適応化機能５６は、推定モデル４０のパラメータを下位層から上位層に向かい順次に１つずつ選択する。そして、適応化機能５６は、選択したパラメータを、複数の入力画像に含まれる対象物の位置または数の推定誤差を小さくするように修正する。
【００６６】
なお、Ｓ１４６において、終了制御機能６０は、終了条件を満たした場合に、適応化機能５６による適応化処理を終了させる。例えば、終了条件が推定誤差の値である場合、終了制御機能６０は、推定誤差が取得した値以下となった場合に、適応化処理を終了させる。また、例えば、終了条件が適応化処理を開始してからの経過時間である場合、終了制御機能６０は、適応化処理を開始してから、取得した経過時間を超えた場合に、適応化処理を終了させる。
【００６７】
続いて、Ｓ１４７において、画像取得機能５２は、全ての撮像画像について処理を終えたか否かを判断する。全ての撮像画像について処理を終えていない場合（Ｓ１４７のＮｏ）、画像取得機能５２は、処理をＳ１４１に戻して、Ｓ１４１から処理を繰り返す。全ての撮像画像について処理を終えた場合（Ｓ１４７のＹｅｓ）、本フローを終了する。
【００６８】
図９は、Ｓ１４６の適応化処理の処理手順を示すフローチャートである。適応化機能５６および終了制御機能６０は、図５のＳ１４６において、図９に示す処理を実行する。
【００６９】
まず、Ｓ１５１において、適応化機能５６は、推定モデル４０の中から１つのパラメータＷｊを選択する。この場合、適応化機能５６は、未選択のパラメータのうち、最下層のパラメータＷｊを選択する。なお、同一階層に未選択の複数のパラメータが存在する場合、適応化機能５６は、同一階層に複数のパラメータの中からランダムに１つのパラメータを選択してもよいし、例えばインデックスの順に１つのパラメータを選択してもよい。
【００７０】
続いて、Ｓ１５２において、適応化機能５６は、選択したパラメータＷｊについて、推定誤差が最も小さくなる値を探索して特定する。
【００７１】
例えば、画像取得機能５２が、ｎ個（ｎは自然数）の入力画像｛Ｒ１，Ｒ２，…，Ｒｎ｝を選択したとする。また、正解取得機能５４が、ｎ個の入力画像｛Ｒ１，Ｒ２，…，Ｒｎ｝のそれぞれに対応するｎ個の正解情報｛Ｔ１，Ｔ２，…，Ｔｎ｝を取得したとする。
【００７２】
また、現在の推定モデル４０に含まれるパラメータ群を｛Ｗ１，Ｗ２，…，Ｗｍ｝とする。また、現在の推定モデル４０を用いて推定された入力画像Ｒｉに含まれる対象物の推定結果が、Ｅｉ（Ｗ１，Ｗ２，…，Ｗｍ）であるとする。ｉは、１以上ｎ以下の自然数である。
【００７３】
この場合、推定誤差Ｄ（Ｗ１，Ｗ２，…，Ｗｍ）は、下記の式（１）のように表される。
【００７４】
Ｄ（Ｗ１，Ｗ２，…，Ｗｍ）＝Σ（｜Ｅｉ（Ｗ１，Ｗ２，…，Ｗｍ）−Ｔｉ｜）…（１）
【００７５】
なお、式（１）において、｜Ｅｉ（Ｗ１，Ｗ２，…，Ｗｍ）−Ｔｉ｜は、対象物（例えば人）の位置を推定する場合であれば、距離を表し、対象物（例えば人）の数を推定する場合であれば、差の絶対値を表す。また、式（１）において、Σ（ｘｉ）は、ｉを１からｎまで１ずつ変化させた場合のｘｉの合計値を表す。
【００７６】
適応化機能５６は、ｊ番目のパラメータＷｊを選択した場合（ｊは、１からｍまでの何れかの自然数）、パラメータＷｊがとり得る値の中から、式（１）で示したＤ（Ｗ１，…，Ｗｊ，…，Ｗｍ）が最も小さくなるようなパラメータＷｊの値を探索する。これにより、適応化機能５６は、選択したパラメータＷｊについて、推定誤差が最小となる値を特定することができる。
【００７７】
続いて、Ｓ１５３において、適応化機能５６は、推定モデル４０における、選択したパラメータＷｊを特定した値に修正する。
【００７８】
続いて、Ｓ１５４において、終了制御機能６０は、終了条件を満たしているか否かを判断する。終了条件を満たしていない場合（Ｓ１５４のＮｏ）、終了制御機能６０は、処理をＳ１５１に戻して、適応化機能５６に次のパラメータを選択させて、選択したパラメータを修正させる。また、終了条件を満たしている場合（Ｓ１５４のＹｅｓ）、終了制御機能６０は、本フローを終了して、処理を図５のフローに戻す。
【００７９】
（効果）
以上のように本実施形態に係るモデル適応化機能５０は、推定モデル４０を、撮像装置１２が設置されている特定の場所に適応させる場合、推定モデル４０のパラメータを下位層から順に選択して修正する。これにより、モデル適応化機能５０によれば、他のパラメータの調整結果に与える影響が少ないパラメータから順に調整することができる。
【００８０】
例えば、推定モデル４０における、互いに最下層のノードに割り当てられている第１のパラメータおよび第２のパラメータを調整することを考える。まず、第１のパラメータを推定誤差が最小になるように調整する。その後、第２のパラメータを推定誤差が最小になるように調整する。この場合、第２のパラメータを調整した後も、推定誤差が最小となる第１のパラメータの値は変化しない。従って、このような手順でパラメータを調整した場合、再度、第１のパラメータの調整をする必要が無くなる。このため、モデル適応化機能５０によれば、少ない調整数で、効率良く、推定誤差を小さくすることができる。
【００８１】
さらに、本実施形態に係るモデル適応化機能５０は、推定モデル４０を特定の場所に適応させる場合、取得した終了条件を満たした場合に適応化処理を終了する。これにより、モデル適応化機能５０によれば、制限されたコストで、効率良く、推定誤差を小さくすることができる。
【００８２】
（推定処理）
つぎに、ランダムフォレストである推定モデル４０を用いた対象物の数の推定処理について説明する。
【００８３】
図１０は、推定処理の手順の一例を示すフローチャートである。ランダムフォレストで表された推定モデル４０を用いて、撮像装置１２により撮像された入力画像から人の数を推定する場合、例えば、対象物推定機能４２は、図１０に示す処理に従って処理を実行する。
【００８４】
まず、Ｓ２１１において、対象物推定機能４２は、入力画像を取得する。例えば、対象物推定機能４２は、図１１に示すような、複数の対象物（人）を含む入力画像を取得する。
【００８５】
続いて、Ｓ２１２において、対象物推定機能４２は、入力画像から、対象物を含む複数の局所画像を抽出する。複数の局所画像は、全て同一の形状および大きさである。例えば、対象物推定機能４２は、図１２に示すように、入力画像から、点線で示す複数の局所画像を抽出する。局所画像は、他の局所画像と一部が重複していてもよい。図１３は、抽出された１つの局所画像の一例を示す。なお、図１２および図１３の例では、局所画像は矩形であるが、局所画像はどのような形状であってもよい。
【００８６】
続いて、対象物推定機能４２は、抽出した局所画像毎に、Ｓ２１４からＳ２１６までの処理を実行する（Ｓ２１３とＳ２１７との間のループ処理）。Ｓ２１４において、対象物推定機能４２は、対象の局所画像について複数の特徴量を算出する。
【００８７】
ここで、ランダムフォレストで表された推定モデル４０の各ノードには、画像の特徴量により局所画像を分類するためのパラメータが割り当てられている。推定モデル４０により分類される特徴量は、例えば、画像を構成する画素の画素値を離散化して一次元に並べた特徴量、この特徴量を隣接画素値の差（すなわち勾配）で正規化した特徴量、および、ＳＩＦＴ（Scale-Invariant  Feature  Transform）特徴量等である。推定モデル４０は、これ以外の特徴量により局所画像を分類するためのパラメータを含んでよい。対象物推定機能４２は、対象の局所画像についての、推定モデル４０が分類で用いる特徴量を算出する。
【００８８】
続いて、Ｓ２１５において、対象物推定機能４２は、算出した特徴量を用いて推定モデル４０を探索して、対象の局所画像に対応するラベルを取得する。
【００８９】
ここで、推定モデル４０は、図１４に示すように、末端のノードにラベルが割り当てられている。それぞれのラベルは、局所画像中における対象物（人）の位置を表すベクトル情報に対応している。
【００９０】
ベクトル情報は、図１５に示すように、局所画像中の所定の位置Ｐに対する、対象物の特定部位（例えば人の頭）の方向および距離を表す。例えば、図１５の例においては、ベクトル情報は、３人の位置および距離を表すベクトルＶ１、Ｖ２およびＶ３を含む。なお、ベクトル情報は、１つの対象物の位置を示してもよいし、２つの対象物の位置を示してもよいし、４つ以上の対象物を示してもよい。
【００９１】
推定モデル４０は、予め機械学習により、ベクトル情報を識別するラベルが末端ノードに割り当てられている。また、推定モデル４０は、予め機械学習により、特徴量を分類するためのパラメータがそれぞれのノードに割り当てられている。
【００９２】
従って、対象物推定機能４２は、図１６に示すように、局所画像から算出した複数種類の特徴量を推定モデル４０に与えることにより、何れかの末端ノードに割り当てられたラベル（ベクトル情報）を取得することができる。
【００９３】
続いて、Ｓ２１６において、対象物推定機能４２は、取得したラベルに対応する、局所画像の密度マップを生成する。局所画像の密度マップは、図１７に示すような、局所画像におけるそれぞれの位置に対する、対象物の確率密度を表す。対象物推定機能４２は、ラベルに対応させて予め記憶されている密度マップを取得してもよいし、ラベルに対応するベクトル情報から確率密度を算出してもよい。なお、局所画像の密度マップは、３次元空間における対象物の確率密度を表してもよい。
【００９４】
対象物推定機能４２は、全ての局所画像について、Ｓ２１４〜Ｓ２１６の処理を終了すると、Ｓ２１３とＳ２１７との間のループを抜けて、処理をＳ２１８に進める。
【００９５】
Ｓ２１８において、対象物推定機能４２は、それぞれの局所画像の密度マップを、入力画像における対応する位置に配置して、入力画像の全体の密度マップを生成する。例えば、対象物推定機能４２は、図１８に示すような密度マップを生成する。入力画像の全体の密度マップは、入力画像の全体におけるそれぞれの位置に対する対象物の確率密度を表す。なお、入力画像の全体の密度マップは、３次元空間における対象物の確率密度を表してもよい。
【００９６】
続いて、Ｓ２１９において、対象物推定機能４２は、入力画像の全体の密度マップを積分する。そして、対象物推定機能４２は、積分値を、入力画像に含まれる対象物の数として出力する。
【００９７】
以上の処理を実行することにより、対象物推定機能４２は、ランダムフォレストである推定モデル４０を用いて、入力画像から対象物の数を推定することができる。
【００９８】
なお、実施形態におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、上述した実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。また、実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって実施形態における機能を実現することが可能な機器、装置を総称している。
【００９９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１００】
１０  推定システム
１２  撮像装置
２０  情報処理装置
２２  入力装置
２４  表示装置
３２  処理回路
３４  記憶回路
３６  通信部
４０  推定モデル
４２  対象物推定機能
５０  モデル適応化機能
５２  画像取得機能
５４  正解取得機能
５６  適応化機能
５８  終了条件取得機能
６０  終了制御機能
７２  パラメータ選択機能
７４  推定機能
７６  誤差算出機能
７８  探索機能
８０  モデル修正機能
【図１】
2018005405.tif 000003
【図２】
2018005405.tif 000004
【図３】
2018005405.tif 000005
【図４】
2018005405.tif 000006
【図５】
2018005405.tif 000007
【図６】
2018005405.tif 000008
【図７】
2018005405.tif 000009
【図８】
2018005405.tif 000010
【図９】
2018005405.tif 000011
【図１０】
2018005405.tif 000012
【図１１】
2018005405.tif 000013
【図１２】
2018005405.tif 000014
【図１３】
2018005405.tif 000015
【図１４】
2018005405.tif 000016
【図１５】
2018005405.tif 000017
【図１６】
2018005405.tif 000018
【図１７】
2018005405.tif 000019
【図１８】
2018005405.tif 000020