(57)【要約】【課題】拡大するフィルタ処理を行う場合でも、小さいサイズの２次元画像を用いた学習を行うことができるようにする。【解決手段】情報処理装置は、２次元画像に対してフィルタ処理を行うフィルタ処理手段（１０４）と、フィルタ処理手段が入力データサイズに対して出力データサイズを縮小するフィルタ処理を行う場合には、縮小するフィルタ処理の入力データの座標情報を保存する座標情報保存手段（１０３）と、フィルタ処理手段が入力データサイズに対して出力データサイズを拡大するフィルタ処理を行う場合には、座標情報保存手段により保存された座標情報を用いて、フィルタ処理手段のフィルタ処理の出力データの座標情報を復元する座標情報復元手段（１０５）とを有する。【選択図】図１
2020190926.tif 000002
【特許請求の範囲】
【請求項１】
２次元画像に対してフィルタ処理を行うフィルタ処理手段と、
前記フィルタ処理手段が入力データサイズに対して出力データサイズを縮小するフィルタ処理を行う場合には、前記縮小するフィルタ処理の入力データの座標情報を保存する座標情報保存手段と、
前記フィルタ処理手段が入力データサイズに対して出力データサイズを拡大するフィルタ処理を行う場合には、前記座標情報保存手段により保存された座標情報を用いて、前記フィルタ処理手段のフィルタ処理の出力データの座標情報を復元する座標情報復元手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記座標情報保存手段は、前記フィルタ処理手段が入力データサイズに対して出力データサイズを縮小するフィルタ処理を行う場合には、前記縮小する縮小率に応じて、前記フィルタ処理手段のフィルタ処理の入力データをシフトした複数のシフトデータを前記フィルタ処理手段に出力し、
前記フィルタ処理手段は、複数のシフトデータに対して、前記縮小するフィルタ処理を行い、複数の出力データを出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記座標情報保存手段は、前記複数のシフトデータに対応する複数のシフト量を前記座標情報として保存することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記座標情報復元手段は、前記フィルタ処理手段が入力データサイズに対して出力データサイズを拡大するフィルタ処理を行う場合には、前記拡大する拡大率に応じて、前記フィルタ処理手段のフィルタ処理の複数の出力データをそれぞれシフトした複数のシフトデータを統合することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記座標情報復元手段は、加算、平均化または乗算により、前記統合を行うことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記座標情報復元手段は、前記統合の後のデータのうちの外周のデータを削除することを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記フィルタ処理手段は、前記縮小するフィルタ処理を行った後に、前記拡大するフィルタ処理を行うことを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記フィルタ処理手段は、複数のフィルタ処理を行うことを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
学習フェーズでは、前記フィルタ処理手段のフィルタ処理に用いるフィルタパラメータは、前記フィルタ処理手段の最後のフィルタ処理の出力データを基に更新されることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記学習フェーズでは、前記フィルタ処理手段の最後のフィルタ処理の出力データサイズを調節する場合、前記入力データサイズを変更、または、前記フィルタ処理手段にフィルタを追加することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記学習フェーズでは、前記入力データサイズに対して前記出力データサイズを拡大するフィルタ処理を前記フィルタ処理手段が含む場合、前記入力データサイズを変更、または、前記フィルタ処理手段にフィルタを追加することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
推定フェーズでは、前記フィルタ処理手段の最後のフィルタ処理の出力データを基に、前記２次元画像の中の物体の位置を推定する推定手段をさらに有することを特徴とする請求項８〜１１のいずれか１項に記載の情報処理装置。
【請求項１３】
２次元画像に対してフィルタ処理を行うフィルタ処理手段を有する情報処理装置の情報処理方法であって、
前記フィルタ処理手段が入力データサイズに対して出力データサイズを縮小するフィルタ処理を行う場合には、前記縮小するフィルタ処理の入力データの座標情報を保存する座標情報保存ステップと、
前記フィルタ処理手段が入力データサイズに対して出力データサイズを拡大するフィルタ処理を行う場合には、前記座標情報保存ステップで保存された座標情報を用いて、前記フィルタ処理手段のフィルタ処理の出力データの座標情報を復元する座標情報復元ステップと
を有することを特徴とする情報処理方法。
【請求項１４】
コンピュータを、請求項１〜１２のいずれか１項に記載された情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
画像上の対象物体の領域を算出するために機械学習が用いられる。非特許文献１には、画像上の対象物体の領域を算出する方法として、ニューラルネットワークによるフィルタ処理を用いて算出する方法が開示されている。非特許文献２には、バックプロパゲーションのフィルタ処理が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｓ．  Ｖａｒａｄａｒａｊａｎ，  ａｎｄ  Ｍ．  Ｍ．  Ｓｒｉｖａｓｔａｖａ．  Ｗｅａｋｌｙ  Ｓｕｐｅｒｖｉｓｅｄ  Ｏｂｊｅｃｔ  Ｌｏｃａｌｉｚａｔｉｏｎ  ｏｎ  ｇｒｏｃｅｒｙ  ｓｈｅｌｖｅｓ  ｕｓｉｎｇ  ｓｉｍｐｌｅ  ＦＣＮ  ａｎｄ  Ｓｙｎｔｈｅｔｉｃ  Ｄａｔａｓｅｔ．  ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ，  ａｒＸｉｖ：１８０３．０６８１３，  ２０１８．
【非特許文献２】Ｄ．  Ｅ．  Ｒｕｍｅｌｈａｒｔ，  Ｇ．  Ｅ．  Ｈｉｎｔｏｎ  ａｎｄ  Ｒ．  Ｊ．  Ｗｉｌｌｉａｍｓ．  Ｌｅａｒｎｉｎｇ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｂｙ  ｂａｃｋ−ｐｒｏｐａｇａｔｉｎｇ  ｅｒｒｏｒｓ．  Ｎａｔｕｒｅ  ３２３，  ５３３−５３６，１９８６．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１では、入力データを拡大するフィルタ処理を行うと、出力データが周期性を持って変化するため、その周期のそれぞれの位相に対応できる十分に大きいサイズの画像で学習をしなければ、領域算出の精度が下がってしまう。
【０００５】
本発明の目的は、拡大するフィルタ処理を行う場合でも、小さいサイズの２次元画像を用いた学習を行うことができるようにすることである。
【課題を解決するための手段】
【０００６】
本発明の一観点によれば、情報処理装置は、２次元画像に対してフィルタ処理を行うフィルタ処理手段と、前記フィルタ処理手段が入力データサイズに対して出力データサイズを縮小するフィルタ処理を行う場合には、前記縮小するフィルタ処理の入力データの座標情報を保存する座標情報保存手段と、前記フィルタ処理手段が入力データサイズに対して出力データサイズを拡大するフィルタ処理を行う場合には、前記座標情報保存手段により保存された座標情報を用いて、前記フィルタ処理手段のフィルタ処理の出力データの座標情報を復元する座標情報復元手段とを有する。
【発明の効果】
【０００７】
本発明によれば、拡大するフィルタ処理を行う場合でも、小さいサイズの２次元画像を用いた学習を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置の構成例を示すブロック図である。
【図２】学習フェーズの情報処理方法を示すフローチャートである。
【図３】推定フェーズの情報処理方法を示すフローチャートである。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
図１は、本発明の第１の実施形態による情報処理装置１の構成例を示す図である。情報処理装置１は、２次元画像１１を入力とし、出力装置１３とフィルタ更新装置１２に接続される。情報処理装置１は、物体（対象）が写った２次元画像１１と、その２次元画像１１の中心が物体の中心か否かを示すラベル列を入力して、フィルタ更新装置１２により２次元画像１１の各画素の物体の中心らしさを計算する関数を学習する。また、情報処理装置１は、学習後は、物体が写った２次元画像１１を入力して、その２次元画像１１上の物体の中心の位置を推定し、出力装置１３へ出力する。
【００１０】
情報処理装置１は、データ取得部１０１と、フィルタ保持部１０２と、座標情報保存部１０３と、フィルタ処理部１０４と、座標情報復元部１０５と、出力データ生成部１０６とを有する。
【００１１】
データ取得部１０１は、２次元画像１１を取得する。学習フェーズでは、データ取得部１０１は、教師データとして用いる２次元画像１１を取得する。２次元画像１１は、主に物体が写った画像である。学習フェーズ後の推定フェーズでは、データ取得部１０１は、任意の２次元画像１１を取得する。
【００１２】
フィルタ保持部１０２は、フィルタ処理部１０４に順次出力する２つ以上のフィルタパラメータを保持する。フィルタパラメータは、入力データに対して空間フィルタ処理を行う時に用いるパラメータである。例えば、空間フィルタ処理として線形フィルタを適用する場合、フィルタ保持部１０２は、その線形フィルタのパラメータ（係数）を保持する。また、最大値フィルタなどの非線形フィルタを適用する場合、フィルタ保持部１０２は、フィルタ処理の種類やカーネルサイズや入力から出力のサイズ変化率などのパラメータを保持する。また、フィルタ保持部１０２は、２つ以上のフィルタパラメータを出力する順番も保持する。
【００１３】
サイズ変化率は、以下のように定める。十分に大きく異なるサイズの２つの入力データがフィルタ処理部１０４のフィルタに与えられる。その２つの入力データの横方向のサイズは、それぞれ、ｓｘ１およびｓｘ２である。２つの出力データの横方向のサイズは、それぞれ、ｔｘ１およびｔｘ２である。サイズｓｘ１、ｓｘ２、ｔｘ１およびｔｘ２が［数１］のような定数αおよびβを用いて表せるとき、αが横方向のサイズ変化率である。
【００１４】
【数１】
2020190926.tif 000003
【００１５】
縦方向のサイズ変化率も同様に表される。以下、フィルタ処理部１０４が入力データサイズに対して出力データサイズを縮小するフィルタ処理を、縮小するフィルタという。また、フィルタ処理部１０４が入力データサイズに対して出力データサイズを拡大するフィルタ処理を、拡大するフィルタという。縮小するフィルタは、例えば、サイズ変化率（縮小率）が縦方向と横方向のそれぞれで０．５である。拡大するフィルタは、例えば、サイズ変化率（拡大率）が縦方向と横方向のそれぞれで２である。
【００１６】
座標情報保存部１０３は、フィルタ保持部１０２が保持するフィルタパラメータを出力する順番に基づき、次に行うフィルタ処理のサイズ変化率を判断する。座標情報保存部１０３は、次に行うフィルタ処理のサイズ変化率が０．５の場合、データ取得部１０１が取得した２次元画像１１をそれぞれの座標軸方向にシフトしたシフトデータを生成する。座標軸ごとにシフトする大きさは、サイズ変化率をｒとしたとき、［数２］で表される整数ｓである。
【００１７】
【数２】
2020190926.tif 000004
【００１８】
サイズ変化率ｒが０．５である場合、整数ｓは０か１のどちらかである。サイズ変化率ｒが１より小さい場合、フィルタの入力データに対応する出力データは分解能が低下し、情報ロスが出る。情報量を失わないために、座標情報保存部１０３が複数のシフトデータを生成してから、フィルタ処理部１０４がフィルタ処理を行う。フィルタ処理部１０４がシフトデータごとにフィルタ処理を行うことで、分解能が低下する前の情報量を保つことができる。
【００１９】
フィルタ処理部１０４は、フィルタ保持部１０２から入力したフィルタパラメータを基に、座標情報保存部１０３から入力した２次元画像１１またはシフトデータに対してフィルタ処理を行い、フィルタ処理データを生成する。
【００２０】
座標情報復元部１０５は、フィルタ処理部１０４が行ったフィルタ処理のサイズ変化率ｒが２の場合、フィルタ処理部１０４が生成したフィルタ処理データを２次元画像１１のそれぞれの座標軸方向にシフトし、和を取る。座標軸ごとにシフトする大きさは、サイズ変化率をｅとしたとき、［数３］で表される整数ｓである。
【００２１】
【数３】
2020190926.tif 000005
【００２２】
サイズ変化率ｅが２である場合、整数ｓは０か１のどちらかである。サイズ変化率ｅが１より大きい場合、フィルタの入力データの情報量に対して、フィルタの出力データのサイズが大きくなるため、データを補完する部分は他の部分と依存関係が生じ、周期性が現れる。周期性を相殺するために、座標情報保存部１０３がシフトデータとして複数の入力データを生成し、座標情報復元部１０５は、フィルタ処理部１０４がフィルタ処理したフィルタ処理データを異なる位相かつ同じ重みで足し合わせる。このように足し合わせると、データの利用方法が一定になり、周期性が相殺される。
【００２３】
出力データ生成部１０６は、推定部であり、フィルタ保持部１０２が保持するフィルタパラメータをすべて処理したフィルタ処理データを基に、物体の領域を検出してその領域の重心を推定し、その重心を２次元画像１１の中の物体の中心の位置として出力装置１３へ出力する。
【００２４】
以上のように、学習フェーズでは、情報処理装置１は、物体が写った２次元画像１１と、その２次元画像１１の中心が物体の領域の画像重心近傍か否かを示すラベルを入力して学習する。また、学習フェーズ後の推定フェーズでは、情報処理装置１は、任意の２次元画像１１を入力して、その２次元画像１１に学習フェーズで写っていた物体の中心またはその近傍の領域を推定し、出力装置１３へ出力する。
【００２５】
情報処理装置１は、フィルタ処理部１０４のフィルタの出力データサイズが入力データサイズより縮小されている場合、座標情報保持部１０３がサイズ変化率ｒに応じて複数のシフトデータを生成することで、データ利用履歴の情報ロスを防ぐ。
【００２６】
また、情報処理装置１は、フィルタ処理部１０４のフィルタの出力データサイズが入力データサイズより拡大されている場合、拡大に伴うデータ補完から周期性が生まれる。座標情報復元部１０５は、入力データを拡大するフィルタ処理部１０４の処理の後に、縮小するフィルタ処理の時に保持した複数のフィルタ処理データをデータ利用履歴が一定になるように統合することで、周期性を生じさせないようにする。そのため、その周期のすべての位相に対応する画像は、フィルタ処理部１０４のフィルタに入力可能な最小サイズまたはそれ以上の任意のサイズの画像でよい。情報処理装置１は、そのような画像による学習でも、高精度に物体の領域を算出できる。
【００２７】
図２は、学習フェーズにおける情報処理装置１の情報処理方法を示すフローチャートである。学習フェーズでは、情報処理装置１は、フィルタ更新装置１２によって、フィルタ保持部１０２が保持するフィルタパラメータを更新する学習処理を行う。
【００２８】
ステップＳ１１０１では、データ取得部１０１は、学習に用いる複数の２次元画像１１を教師データとして取得し、２次元画像１１を座標情報保存部１０３に出力する。２次元画像１１は、所定サイズのカラー画像であり、各色が３つの整数値を保持する２次元配列のデータである。３つの整数値は、赤、青および緑の３原色に関する輝度を表す値である。
【００２９】
なお、情報処理装置１は、複数（例えば３２）の２次元画像１１を並列に処理するが、説明の簡単のため、以下、１つの２次元画像１１の処理について説明する。
【００３０】
２次元画像１１は、フィルタ処理部１０４の入力データの初期値として用いられる。座標情報保存部１０３は、シフト量を保存するためのスタック型の配列であるシフトスタックを用意し、シフトスタックの中身を空の状態にしておく。
【００３１】
また、フィルタ更新装置１２は、学習に用いる教師データの２次元画像１１のラベルを入力する。ラベルは、２次元画像１１の画像の中心位置が画像に写っていることが検出された物体の中心付近である場合には１で表現され、２次元画像１１の画像の中心位置が物体の中心付近でない場合には０で表現される。物体の中心付近とは、物体の領域の画像重心から所定の距離以内であることを示す。
【００３２】
ステップＳ１１０２では、フィルタ保持部１０２は、複数のフィルタパラメータおよびフィルタパラメータを出力する順番を座標情報保存部１０３およびフィルタ処理部１０４に出力する。複数のフィルタパラメータは、少なくとも、縮小するフィルタのパラメータと、拡大するフィルタのパラメータとを有する。例えば、縮小するフィルタのサイズ変化率は０．５であり、拡大するフィルタのサイズ変化率は２である。
【００３３】
ステップＳ１１０３では、座標情報保存部１０３は、複数のフィルタパラメータのうちの１回目のフィルタパラメータを参照し、１回目のフィルタパラメータを用いるフィルタが縮小するフィルタであるか否かを判定する。座標情報保存部１０３は、１回目のフィルタパラメータを用いるフィルタが縮小するフィルタである場合には、２次元画像１１をシフトしたシフトデータを生成する。上記のように、縮小するフィルタのサイズ変化率が０．５の場合、シフト量は０または１である。
【００３４】
座標情報保存部１０３は、２次元画像１１に対して、縦方向にシフト量ＳＨＩＦＴｘ、かつ横方向にシフト量ＳＨＩＦＴｙシフトさせ、第１〜第４のシフトデータを生成する。第１のシフトデータは、縦方向のシフト量ＳＨＩＦＴｘが０、かつ横方向のシフト量ＳＨＩＦＴｙが０であるシフトデータである。第２のシフトデータは、縦方向のシフト量ＳＨＩＦＴｘが０、かつ横方向のシフト量ＳＨＩＦＴｙが１であるシフトデータである。第３のシフトデータは、縦方向のシフト量ＳＨＩＦＴｘが１、かつ横方向のシフト量ＳＨＩＦＴｙが０であるシフトデータである。第４のシフトデータは、縦方向のシフト量ＳＨＩＦＴｘが１、かつ横方向のシフト量ＳＨＩＦＴｙが１であるシフトデータである。第１〜第４のシフトデータは、それぞれ、２次元画像１１の座標がシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙである場所をコーナーとする２次元画像である。
【００３５】
また、座標情報保存部１０３は、上記の第１〜第４のシフトデータに対応する４種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを第１〜第４のシフトデータの座標情報としてスタックに保存しておく。座標情報保存部１０３は、第１〜第４のシフトデータをフィルタ処理部１０４に出力する。
【００３６】
なお、座標情報保存部１０３は、１回目のフィルタパラメータを用いるフィルタが縮小するフィルタでない場合には、２次元画像１１をフィルタ処理部１０４に出力する。
【００３７】
ステップＳ１１０４では、フィルタ処理部１０４は、フィルタが縮小するフィルタである場合には、第１〜第４のシフトデータに対して、それぞれ、１回目のフィルタパラメータを用いた縮小するフィルタ処理を実行し、第１〜第４のフィルタ処理データを生成する。そして、フィルタ処理部１０４は、第１〜第４のフィルタ処理データを座標復元部１０５に出力する。
【００３８】
また、フィルタ処理部１０４は、フィルタが縮小するフィルタでない場合には、２次元画像１１に対して、１回目のフィルタパラメータを用いたフィルタ処理を実行し、フィルタ処理データを出力する。フィルタ処理部１０４は、第１〜第４のフィルタ処理データまたは１種類のフィルタ処理データを座標情報復元部１０５に出力する。
【００３９】
フィルタ処理部１０４は、線形フィルタ処理を実行する場合には、フィルタ保持部１０２から入力したフィルタパラメータ（フィルタ係数）を用いてフィルタ処理を実行し、フィルタ処理データを出力する。フィルタ処理部１０４は、最大値フィルタ、ＲｅＬＵ関数などの活性化関数、バッチノーマライゼーション、またはデコンボリューションなどのフィルタ処理を行う場合には、以下のフィルタパラメータを基にフィルタ処理を実行する。その場合のフィルタパラメータは、フィルタ保持部１０２から入力したカーネルサイズおよび画像のサイズ変化率などのパラメータである。フィルタ処理部１０４は、ステップＳ１１０７のフィルタ更新処理において、フィルタパラメータを更新する勾配方向の判断をするために、ステップＳ１１０４の処理を行う度、フィルタ処理データを保存しておく。
【００４０】
ステップＳ１１０５では、座標情報復元部１０５は、ステップＳ１１０４で実行したフィルタが拡大するフィルタでない場合、フィルタ処理部１０４が出力する第１〜第４のフィルタ処理データまたは１種類のフィルタ処理データを座標情報保存部１０３に出力する。
【００４１】
ステップＳ１１０６では、座標情報保存部１０３は、フィルタ処理部１０４が複数のフィルタパラメータのうちのすべてをフィルタパラメータのフィルタ処理を実行していない場合には、ステップＳ１１０３に戻る。座標情報保存部１０３は、複数のフィルタパラメータのうちの１回目のフィルタパラメータの処理を終えた段階であるので、２回目のフィルタパラメータの処理を行うため、ステップＳ１１０３に戻る。
【００４２】
ステップＳ１１０３では、座標情報保存部１０３は、複数のフィルタパラメータのうちの２回目のフィルタパラメータを参照し、２回目のフィルタパラメータを用いるフィルタが縮小するフィルタであるか否かを判定する。座標情報保存部１０３は、２回目のフィルタパラメータを用いるフィルタが縮小するフィルタである場合には、上記と同様に、座標情報復元部１０５から入力したフィルタ処理データをシフトした複数のシフトデータを生成する。そして、座標情報保存部１０３は、上記と同様に、複数のシフトデータに対応する複数のシフト量を複数のシフトデータの座標情報としてスタックに保存し、シフトデータをフィルタ処理部１０４に出力する。
【００４３】
まず、１回目のフィルタが縮小するフィルタでなく、２回目のフィルタが縮小するフィルタである場合を説明する。その場合、座標情報保存部１０３は、上記と同様に、１種類のフィルタ処理データに対して、縦方向にシフト量ＳＨＩＦＴｘ、かつ横方向にシフト量ＳＨＩＦＴｙシフトさせ、第１〜第４のシフトデータを生成する。そして、座標情報保存部１０３は、第１〜第４のシフトデータに対応する４種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを第１〜第４のシフトデータの座標情報としてスタックに保存し、第１〜第４のシフトデータをフィルタ処理部１０４に出力する。
【００４４】
次に、１回目のフィルタが縮小するフィルタであり、２回目のフィルタも縮小するフィルタである場合を説明する。その場合、座標情報保存部１０３は、第１〜第４のフィルタ処理データのそれぞれに対して、縦方向にシフト量ＳＨＩＦＴｘ、かつ横方向にシフト量ＳＨＩＦＴｙシフトさせ、第１〜第１６のシフトデータを生成する。シフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙは、それぞれ、０または１である。座標情報保存部１０３は、第１〜４のフィルタ処理データのそれぞれに対して、４種類のシフトを行い、第１〜第１６のシフトデータを生成し、第１〜第１６のシフトデータをフィルタ処理部１０４に出力する。また、座標情報保存部１０３は、第１〜第１６のシフトデータに対応する１６種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを第１〜第１６のシフトデータの座標情報としてスタックに保存する。
【００４５】
ここで、第１〜第４のシフトデータは、上記の第１のフィルタ処理データをシフトしたデータである。第５〜第８のシフトデータは、上記の第２のフィルタ処理データをシフトしたデータである。第９〜第１２のシフトデータは、上記の第３のフィルタ処理データをシフトしたデータである。第１３〜第１６のシフトデータは、上記の第４のフィルタ処理データをシフトしたデータである。
【００４６】
また、座標情報保存部１０３は、２回目のフィルタパラメータを用いるフィルタが縮小するフィルタでない場合（拡大するフィルタである場合を含む）には、上記と同様に、座標情報復元部１０５から入力したフィルタ処理データをフィルタ処理部１０４に出力する。
【００４７】
ステップＳ１１０４では、フィルタ処理部１０４は、フィルタが縮小するフィルタである場合には、入力したデータに対して、それぞれ、２回目のフィルタパラメータを用いたフィルタ処理を実行し、フィルタ処理データを生成する。
【００４８】
まず、１回目および２回目のフィルタが縮小するフィルタでない場合を説明する。その場合、フィルタ処理部１０４は、１種類のフィルタ処理データに対して、２回目のフィルタパラメータを用いたフィルタ処理を実行し、フィルタ処理データを生成する。そして、フィルタ処理部１０４は、フィルタ処理データを座標情報復元部１０５に出力する。
【００４９】
次に、１回目のフィルタが縮小するフィルタであり、２回目のフィルタが縮小するフィルタでない場合を説明する。その場合、フィルタ処理部１０４は、第１〜第４のフィルタ処理データに対して、それぞれ、２回目のフィルタパラメータを用いたフィルタ処理を実行し、第１〜第４のフィルタ処理データを生成する。そして、フィルタ処理部１０４は、第１〜第４のフィルタ処理データを座標情報復元部１０５に出力する。
【００５０】
次に、１回目のフィルタが縮小するフィルタでなく、２回目のフィルタが縮小するフィルタである場合を説明する。その場合、フィルタ処理部１０４は、第１〜第４のシフトデータに対して、それぞれ、２回目のフィルタパラメータを用いたフィルタ処理を実行し、第１〜第４のフィルタ処理データを生成する。そして、フィルタ処理部１０４は、第１〜第４のフィルタ処理データを座標情報復元部１０５に出力する。
【００５１】
次に、１回目および２回目のフィルタが縮小するフィルタである場合を説明する。その場合、フィルタ処理部１０４は、第１〜第１６のシフトデータに対して、２回目のフィルタパラメータを用いたフィルタ処理を実行し、第１〜第１６のフィルタ処理データを生成する。そして、フィルタ処理部１０４は、第１〜第１６のフィルタ処理データを座標情報復元部１０５に出力する。
【００５２】
ステップＳ１１０５では、座標情報復元部１０５は、ステップＳ１１０４で実行したフィルタが拡大するフィルタでない場合には、フィルタ処理部１０４が出力するフィルタ処理データを座標情報保存部１０３およびフィルタ更新装置１２に出力する。
【００５３】
また、座標情報復元部１０５は、ステップＳ１１０４で実行したフィルタが拡大するフィルタである場合には、座標情報保存部１０３が最後にスタックに保存したシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを取り出す。上記のように、拡大するフィルタのサイズ変化率が２の場合、シフト量は０または１である。また、縮小するフィルタのサイズ変化率が０．５の場合の、シフト量は０または１である。拡大するフィルタのサイズ変化率（＝２）が縮小するフィルタのサイズ変化率（＝０．５）の逆数である場合、座標情報復元部１０５は、スタックに保存されているシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを用いることができる。
【００５４】
１回目のフィルタが縮小するフィルタであり、２回目のフィルタが拡大するフィルタである場合を説明する。その場合、座標情報復元部１０５は、座標情報保存部１０３が最後にスタックに保存した４種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを取り出す。そして、座標情報復元部１０５は、第１〜第４のフィルタ処理データに対して、縦方向にシフト量ＳＨＩＦＴｘかつ横方向にシフト量ＳＨＩＦＴｙシフトさせ、第１〜第４のシフトデータを生成することにより、第１〜第４のフィルタ処理データの座標情報を復元する。第１のシフトデータは、第１のフィルタ処理データに対して、縦方向のシフト量ＳＨＩＦＴｘが０、かつ横方向のシフト量ＳＨＩＦＴｙが０であるシフトデータである。第２のシフトデータは、第２のフィルタ処理データに対して、縦方向のシフト量ＳＨＩＦＴｘが０、かつ横方向のシフト量ＳＨＩＦＴｙが１であるシフトデータである。第３のシフトデータは、第３のフィルタ処理データに対して、縦方向のシフト量ＳＨＩＦＴｘが１、かつ横方向のシフト量ＳＨＩＦＴｙが０であるシフトデータである。第４のシフトデータは、第４のフィルタ処理データに対して、縦方向のシフト量ＳＨＩＦＴｘが１、かつ横方向のシフト量ＳＨＩＦＴｙが１であるシフトデータである。
【００５５】
そして、座標情報復元部１０５は、シフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを基に第１〜第４のシフトデータの座標の位置を合わせて、位置を合わせた第１〜第４のシフトデータを座標ごとに加算（統合）し、統合データを生成する。なお、座標情報復元部１０５は、加算の代わりに、平均化または乗算を行うことにより、統合してもよい。
【００５６】
そして、座標情報復元部１０５は、統合データのうち周期性が残っている最外周の１画素のデータを削除する。この後のフィルタは、削除によるデータサイズ変更に合わせたフィルタ処理を行う。座標情報復元部１０５は、削除後の統合データをフィルタ処理データとして座標情報保存部１０３およびフィルタ更新装置１２に出力する。座標情報復元部１０５は、統合データを生成することにより、フィルタ処理データの周期性を取り除くことができる。
【００５７】
ステップＳ１１０６では、座標情報保存部１０３は、フィルタ処理部１０４が複数のフィルタパラメータのうちのすべてをフィルタパラメータのフィルタ処理を実行していない場合には、ステップＳ１１０３に戻り、３回目のフィルタパラメータの処理を繰り返す。
【００５８】
その後、ステップＳ１１０５において、１回目および２回目のフィルタが縮小するフィルタであり、３回目のフィルタが拡大するフィルタである場合の座標情報復元部１０５の処理を説明する。その場合、座標情報復元部１０５は、座標情報保存部１０３が最後にスタックに保存した１６種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを取り出す。座標情報復元部１０５は、第１〜第１６のフィルタ処理データに対して、それぞれ、１６種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙのシフトを行い、第１〜第１６のシフトデータを生成することにより、第１〜第１６のフィルタ処理データの座標情報を復元する。ここで、これらの第１〜第１６のシフトデータは、それぞれ、座標情報保存部１０３により生成された第１〜第１６のシフトデータを基に生成されたデータである。
【００５９】
座標情報復元部１０５は、第１〜第４のシフトデータに対応するシフト量ＳＨＩＦＴｘとＳＨＩＦＴｙを基に第１〜第４のシフトデータの座標の位置を合わせて、位置を合わせた第１〜第４のシフトデータを座標ごとに加算し、第１の統合データを生成する。
【００６０】
座標情報復元部１０５は、第５〜第８のシフトデータに対応するシフト量ＳＨＩＦＴｘとＳＨＩＦＴｙを基に第５〜第８のシフトデータの座標の位置を合わせて、位置を合わせた第５〜第８のシフトデータを座標ごとに加算し、第２の統合データを生成する。
【００６１】
座標情報復元部１０５は、第９〜第１２のシフトデータに対応するシフト量ＳＨＩＦＴｘとＳＨＩＦＴｙを基に第９〜第１２のシフトデータの座標の位置を合わせて、位置を合わせた第９〜第１２のシフトデータを座標ごとに加算し、第３の統合データを生成する。
【００６２】
座標情報復元部１０５は、第１３〜第１６のシフトデータに対応するシフト量ＳＨＩＦＴｘとＳＨＩＦＴｙを基に第１３〜第１６のシフトデータの座標の位置を合わせ、位置を合わせた第１３〜第１６のシフトデータを座標毎に加算し、第４の統合データを生成する。
【００６３】
そして、座標情報復元部１０５は、第１〜第４の統合データのそれぞれに対して、周期性が残っている最外周の１画素のデータを削除する。座標情報復元部１０５は、削除後の第１〜第４の統合データを第１〜第４のフィルタ処理データとして座標情報保存部１０３に出力する。
【００６４】
ステップＳ１１０６では、座標情報保存部１０３は、フィルタ処理部１０４が複数のフィルタパラメータのうちのすべてをフィルタパラメータのフィルタ処理を実行していない場合には、ステップＳ１１０３に戻り、４回目のフィルタパラメータの処理を繰り返す。
【００６５】
その後、ステップＳ１１０５において、１回目および２回目のフィルタが縮小するフィルタであり、３回目および４回目のフィルタが拡大するフィルタである場合の座標情報復元部１０５の処理を説明する。その場合、座標情報復元部１０５は、座標情報保存部１０３のスタックに残っている４種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを取り出す。そして、座標情報復元部１０５は、フィルタ処理部１０４から入力した第１〜第４のフィルタ処理データに対して、それぞれ、４種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙのシフトを行い、第１〜第４のシフトデータを生成する。これにより、座標情報復元部１０５は、第１〜第４のフィルタ処理データの座標情報を復元する。
【００６６】
座標情報復元部１０５は、４種類のシフト量ＳＨＩＦＴｘとＳＨＩＦＴｙを基に第１〜第４のシフトデータの座標の位置を合わせて、位置を合わせた第１〜第４のシフトデータを座標ごとに加算し、統合データを生成する。
【００６７】
そして、座標情報復元部１０５は、統合データに対して、周期性が残っている最外周の１画素のデータを削除する。座標情報復元部１０５は、削除後の統合データをフィルタ処理データとして座標情報保存部１０３に出力する。
【００６８】
ステップＳ１１０６において、座標情報保存部１０３は、フィルタ処理部１０４が複数のフィルタパラメータのうちのすべてをフィルタパラメータのフィルタ処理を実行した場合には、ステップＳ１１０７に進む。この場合、座標情報復元部１０５は、座標情報保存部１０３に対して、１つの座標サイズのフィルタ処理データ（２つの実数を含む）を出力している。そのような出力サイズになるように、２次元画像１１のサイズおよびフィルタ処理部１０４のフィルタが調整されている。すべてのフィルタパラメータのフィルタにおいて、拡大するフィルタの数は、縮小するフィルタの数以下である。
【００６９】
なお、出力サイズが１つの座標にならない場合、フィルタ処理部１０４は、フィルタの最後に平均値フィルタなどを追加して、出力サイズが１つの座標になるように調整することができる。
【００７０】
上記の２つの実数は、２次元画像１１の中心が物体の中心付近である確からしさと、２次元画像１１の中心が物体の中心付近でない確からしさを表す。情報処理装置１は、複数の２次元画像１１について、上記の処理を並列に行う。
【００７１】
ステップＳ１１０７では、フィルタ更新装置１２は、複数の２次元画像１１のラベルと、座標情報復元部１０５が最後に出力する複数の２次元画像１１についてのフィルタ処理データを基に、フィルタパラメータの更新を行う。なお、１つの２次元画像１１について複数のフィルタ処理データが存在する場合には、フィルタ更新装置１２は、複数のフィルタ処理データを基に、フィルタパラメータの更新を行う。
【００７２】
複数の２次元画像１１は、教師データである。２次元画像１１のラベルは、２次元画像１１の画像の中心位置が物体の中心付近である場合には１で表現され、２次元画像１１の画像の中心位置が物体の中心付近でない場合には０で表現される。
【００７３】
フィルタ処理データは、２次元画像１１の中心が物体の中心付近である確からしさを表す実数と、２次元画像１１の中心が物体の中心付近でない確からしさを表す実数を含む。フィルタ更新装置１２は、フィルタ処理データがラベルに近づくように、フィルタパラメータを更新する。具体的には、フィルタ更新装置１２は、ラベルが物体の中心付近であることを表す１である場合、フィルタ処理データは物体の中心付近である確からしさの方が物体の中心付近でない確からしさより高くなるように、フィルタパラメータを更新する。また、フィルタ更新装置１２は、ラベルが物体の中心付近でないことを表す０である場合、フィルタ処理データは物体の中心付近でない確からしさの方が物体の中心付近である確からしさより高くなるように、フィルタパラメータを更新する。
【００７４】
例えば、フィルタ更新装置１２は、フィルタ処理データの物体の中心付近である確からしさに関して、ソフトマックス関数を適用した結果に対する交差エントロピー誤差を用いて、フィルタパラメータを更新する。その場合、フィルタ更新装置１２は、非特許文献２の方法を用いて、勾配法を基に更新を行うことができる。フィルタ更新装置１２は、フィルタ処理部１０４のフィルタ処理の最中に適用されたフィルタパラメータに対して、他の層の出力結果の情報を利用することで、高速にフィルタパラメータを更新できる。
【００７５】
フィルタ更新装置１２は、更新後のフィルタパラメータをフィルタ保持部１０２に出力する。フィルタ保持部１０２は、更新後のフィルタパラメータを保持する。
【００７６】
ステップＳ１１０８では、情報処理装置１は、学習処理の終了判定を行う。上記の複数の２次元画像１１の一部は、複数のテスト用２次元画像である。フィルタ更新装置１２は、テスト用２次元画像に対しては、上記のステップＳ１１０７でフィルタパラメータの更新を行わず、テスト用２次元画像以外の２次元画像１１に対して、上記のステップＳ１１０７でフィルタパラメータの更新を行う。
【００７７】
テスト用２次元画像以外の２次元画像１１は、教師データとしての学習のためのフィルタパラメータの更新処理に用いられるため、フィルタ処理データが、上記のように、ラベルに近づいていく。フィルタ処理データは、テスト用２次元画像に関しても、教師データとして用いた２次元画像１１と同様に、ラベルに近づくことが期待されるが、フィルタパラメータの更新処理には用いられないため、保証できないことがある。第１の実施形態では、テスト用２次元画像と対応するラベルの一致度を精度として扱い、更新処理の終了の判定に利用する。
【００７８】
情報処理装置１は、テスト用２次元画像を入力データとした場合の最終的に得られるフィルタ処理データの物体の中心付近である確からしさと物体の中心付近でない確からしさのうちの値の大きい方と、ラベルとの一致度を比較する。情報処理装置１は、複数のテスト用２次元画像について、直前のステップＳ１１０７の処理と過去数回分のステップＳ１１０７の処理において、一致度の改善があった場合には、まだ改善の見込みがあるものとして、ステップＳ１１０２に戻る。ステップＳ１１０２では、フィルタ保持部１０２は、更新後の複数のフィルタパラメータおよびフィルタパラメータを出力する順番を座標情報保存部１０３およびフィルタ処理部１０４に出力し、上記の処理を繰り返す。
【００７９】
また、情報処理装置１は、複数のテスト用２次元画像について、直前のステップＳ１１０７の処理と過去数回分のステップＳ１１０７の処理において、一致度の改善がない場合には、改善の見込みがないものとして、学習処理を終了する。
【００８０】
図３は、推定フェーズにおける情報処理装置１の情報処理方法を示すフローチャートである。推定フェーズでは、情報処理装置１は、任意の２次元画像１１の中の物体の中心位置を出力装置１３に出力する。フィルタ保持部１０２は、学習フェーズで更新されたフィルタパラメータを保持している。
【００８１】
ステップＳ１２０１では、データ取得部１０１は、物体の写った２次元画像１１を取得し、２次元画像１１を座標情報保存部１０３に出力する。この２次元画像１１は、図２の学習処理の時の２次元画像１１以上の任意のサイズのカラー画像である。
【００８２】
ステップＳ１２０２では、情報処理装置１は、図２のステップＳ１１０２と同様の処理を行う。
【００８３】
ステップＳ１２０３では、情報処理装置１は、図２のステップＳ１１０３と同様の処理を行う。
【００８４】
ステップＳ１２０４では、情報処理装置１は、図２のステップＳ１１０４と同様の処理を行う。なお、図２のステップＳ１１０７のフィルタ更新処理は行わないため、フィルタ処理部１０４は、フィルタ処理データを保存しなくてもよい。
【００８５】
ステップＳ１２０５では、情報処理装置１は、図２のステップＳ１１０５と同様の処理を行う。
【００８６】
ステップＳ１２０６では、情報処理装置１は、図２のステップＳ１１０６と同様の処理を行う。情報処理装置は、フィルタ処理部１０４が複数のフィルタパラメータのうちのすべてをフィルタパラメータのフィルタ処理を実行した場合には、ステップＳ１２０９に進む。
【００８７】
ステップＳ１２０９では、出力データ生成部１０６は、座標情報復元部１０５から最後のフィルタ処理データを入力し、２次元画像１１の中の物体の中心位置の座標を推定する。ステップＳ１２０１の２次元画像１１のサイズは、図２のステップＳ１１０１の２次元画像１１のサイズ以上である。したがって、座標情報復元部１０５が出力データ生成部１０６に出力する最後のフィルタ処理データは、１つの座標以上のサイズであり、各座標に対して、物体の中心付近である確からしさを表す実数と、物体の中心付近でない確からしさを表す実数を含む。
【００８８】
まず、複数のフィルタパラメータのフィルタの中で縮小するフィルタの数と拡大するフィルタの数が同じ場合について説明する。その場合、座標情報復元部１０５は、最後の１種類のフィルタ処理データを出力データ生成部１０６に出力する。出力データ生成部１０６は、フィルタ処理データを基に、物体の中心付近である確からしさが物体の中心付近でない確からしさ高い座標の領域を算出する。物体の中心付近とは、物体の領域の画像重心から所定の距離以内であることを示す。出力データ生成部１０６は、算出した領域が上記の所定の距離を半径とする円の面積より大きい場合には、算出した領域の重心を算出し、その重心を物体の中心座標として出力とする。なお、２次元画像１１が複数の物体を含む場合には、出力データ生成部１０６は、複数の物体の中心座標を出力することができる。また、出力データ生成部１０６は、算出した領域が上記の所定の距離を半径とする円の面積より小さい場合には、算出した領域がノイズであり、２次元画像１１内に物体が存在しないと判断し、物体の中心座標を出力しない。なお、出力データ生成部１０６は、物体の中心の位置または物体の全体の位置を推定し、その推定した物体の中心の位置または物体の全体の位置を出力装置１３に出力することができる。
【００８９】
次に、複数のフィルタパラメータのフィルタの中で縮小するフィルタの数が拡大するフィルタの数より多い場合について説明する。例えば、座標情報復元部１０５は、第１〜第４のフィルタ処理データを出力データ生成部１０６に出力する。出力データ生成部１０６は、４種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを用いて、第１〜第４のフィルタ処理データの座標（ｘ，ｙ）の要素の値を、それぞれ、座標（２ｘ＋ＳＨＩＦＴｘ，２ｙ＋ＳＨＩＦＴｙ）へコピーしたデータを生成する。例えば、出力データ生成部１０６は、第１のフィルタ処理データの座標（ｘ，ｙ）の要素の値を、座標（２ｘ＋０，２ｙ＋０）へコピーしたデータを生成する。また、出力データ生成部１０６は、第２のフィルタ処理データの座標（ｘ，ｙ）の要素の値を、座標（２ｘ＋０，２ｙ＋１）へコピーしたデータを生成する。これにより、座標情報復元部１０５は、第１〜第４のフィルタ処理データを統合した２倍に拡大した統合データを得ることができる。
【００９０】
次に、座標情報復元部１０５が１６個以上のフィルタ処理データを出力データ生成部１０６に出力する場合を説明する。その場合、出力データ生成部１０６は、ステップＳ１１０５と同様に、４つのフィルタ処理データを単位として上記の統合を行う処理を繰り返し、最終的に１つの統合データを得る。
【００９１】
すなわち、出力データ生成部１０６は、縮小するフィルタの数が拡大するフィルタの数より多い数だけ、フィルタ処理データの座標（ｘ，ｙ）の要素の値を、座標（２ｘ＋ＳＨＩＦＴｘ，２ｙ＋ＳＨＩＦＴｙ）へコピーしたデータを生成する処理を繰り返す。
【００９２】
その後、出力データ生成部１０６は、統合データを用いて、上記と同様に、物体の中心座標を出力する。
【００９３】
次に、第１の実施形態の効果を説明する。座標情報保存部１０３は、縮小するフィルタ処理の場合、複数のシフトデータを生成することにより、座標情報のロスを防ぐことができる。座標情報復元部１０５は、拡大するフィルタの場合、フィルタ処理データのサイズが大きくなる分のデータの補完部分に周期性が生じるが、統合データを生成することにより、周期性を相殺することができる。
【００９４】
（第２の実施形態）
第１の実施形態では、フィルタ保持部１０２は、学習フェーズの初期値として、ランダムのフィルタパラメータを保持することができる。本発明の第２の実施形態では、フィルタ保持部１０２は、学習フェーズの初期値として、事前に他のデータセット等で更新されたフィルタパラメータを用いる。事前に他のデータセット等で更新されたフィルタパラメータは、ランダムのフィルタパラメータより、２次元画像１１を分類する性能が高い。学習フェーズでは、情報処理装置１は、ファインチューニングで、学習に用いる時間を削減しつつ、高精度のフィルタパラメータを得ることができる。
【００９５】
ただし、事前に他のデータセット等で更新されたフィルタパラメータは、座標情報保存部１０３および座標情報復元部１０５の使用を前提としていないため、変更が必要になる。以下、第２の実施形態が第１の実施形態と異なる点を説明する。
【００９６】
ファインチューニングの際に用いる２次元画像１１は、第１の実施形態と同様に、フィルタ処理に入力可能な最小サイズまたはそれ以上の任意のサイズでよい。
【００９７】
ステップＳ１１０２では、フィルタ保持部１０２は、事前に更新された複数のフィルタパラメータおよびフィルタパラメータを出力する順番を保持する。複数のフィルタパラメータのフィルタが拡大するフィルタを含む場合、上記のように、座標情報復元部１０５は、最外周の１画素のデータを削除する。事前に更新された複数のフィルタパラメータは、そのような削除を前提としていない。そのため、フィルタ保持部１０２は、フィルタ処理部１０４が、拡大するフィルタ処理の後に、データサイズを調整するように、事前に更新された複数のフィルタパラメータを変更する。
【００９８】
また、事前に更新された複数のフィルタパラメータのフィルタ処理は、２次元画像１１の周囲部分に定数値を入力してフィルタ処理のサイズを調整する処理（以下、パディングという）を含んでいる場合がある。その場合、フィルタ保持部１０２は、フィルタ処理部１０４がパディングを行わないようにし、後で２次元画像１１のサイズを調整するように、事前に更新された複数のフィルタパラメータを変更する。
【００９９】
第１の実施形態では、フィルタ処理部１０４が最後に出力するフィルタ処理データが、１つの座標サイズになるように、複数のフィルタパラメータが調整されていた。しかし、事前に更新された複数のフィルタパラメータが用いられる場合、フィルタ処理部１０４が最後に出力するフィルタ処理データは、１つの座標サイズになるとは限らない。そこで、情報処理装置１は、フィルタ処理部１０４が最後に出力するフィルタ処理データが、１つの座標サイズになるように、２次元画像１１のサイズを決定する。
【０１００】
例えば、情報処理装置１は、２次元画像１１のサイズを少しずつ変更しながら、フィルタ処理部１０４が最後に出力するフィルタ処理データのサイズが１つの座標サイズになるような、２次元画像１１のサイズを探索する。最後のフィルタ処理データのサイズが１つの座標サイズに１になるような２次元画像１１のサイズが存在しない場合、フィルタ保持部１０２は、新たにランダムな値で係数を初期化した線形フィルタを最後に加えるように、複数のフィルタパラメータを変更する。情報処理装置１は、この線形フィルタのサイズが縦横共に２以上の整数の全探索により、最後のフィルタ処理データのサイズが１つの座標サイズになるような２次元画像１１のサイズを決定する。
【０１０１】
ステップＳ１１０５及びステップＳ１２０５の処理では、座標情報復元部１０５は、拡大するフィルタの場合、フィルタ処理データをシフトして加算する代わりに、シフトして平均化する。事前に更新された複数のフィルタパラメータは、データレベルが増加する加算を前提とせず、データレベルが増加しない平均化を前提としているためである。
【０１０２】
情報処理装置１は、上記の処理を行うことにより、事前に更新された複数のフィルタパラメータを用いることができる。
【０１０３】
第１および第２の実施形態によれば、座標情報保存部１０３は、縮小するフィルタの場合、座標情報のロスを防ぐため、第１〜第４のシフトデータを生成し、４種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを保存する。フィルタ処理部１０４が入力データを拡大するフィルタ処理を行うと、拡大に伴うデータ補完により処理に周期性が生じ、第１〜第４のフィルタ処理データが周期性を持つ。座標情報復元部１０５は、入力データを拡大するフィルタ処理の後に、保存された４種類のシフト量ＳＨＩＦＴｘおよびＳＨＩＦＴｙを基に、第１〜第４のフィルタ処理データを統合することにより統合データを生成することにより、周期性を相殺する。
【０１０４】
以上の処理により、情報処理装置１は、学習フェーズで、拡大するフィルタ処理を行う場合でも、小さいサイズの２次元画像１１を用いた学習を行うことができ、推定フェーズでは、高精度に対象物体の中心位置を推定できる。学習フェーズで用いる２次元画像１１は、フィルタ処理部１０４のフィルタ処理に入力可能な最小サイズまたはそれ以上の任意のサイズでよい。
【０１０５】
学習フェーズでは、フィルタ処理部１０４の最後のフィルタ処理の出力データサイズを調節する場合、入力データサイズを変更、または、フィルタ処理部１０４にフィルタを追加することができる。また、学習フェーズでは、入力データサイズに対して出力データサイズを拡大するフィルタ処理をフィルタ処理部１０４が含む場合、入力データサイズを変更、または、フィルタ処理部１０４にフィルタを追加することができる。
【０１０６】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０７】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０８】
１  情報処理装置、１０３  座標情報保存部、１０４  フィルタ処理部、１０５  座標情報復元部
【図１】
2020190926.tif 000006
【図２】
2020190926.tif 000007
【図３】
2020190926.tif 000008