(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176912
(43)【公開日】2024-12-19
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06F 17/18 20060101AFI20241212BHJP
G06T 7/00 20170101ALI20241212BHJP
G06F 17/16 20060101ALI20241212BHJP
【FI】
G06F17/18 D
G06T7/00 350A
G06F17/16 J
【審査請求】未請求
【請求項の数】22
【出願形態】OL
(21)【出願番号】P 2023095782
(22)【出願日】2023-06-09
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】堤 隆之
【テーマコード(参考)】
5B056
5L096
【Fターム(参考)】
5B056AA06
5B056HH03
5L096DA02
5L096FA69
5L096GA51
(57)【要約】
【課題】スコアマップからのピーク位置の検出を高速化する。
【解決手段】スコアマップからピーク位置を検出する情報処理装置。注目位置がピーク位置を示すか否かを判定する。注目位置におけるスコアと、注目位置の周りの所定サイズの領域に含まれる第1の位置におけるスコアとの関係に基づいて、新たな注目位置を選択する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
スコアマップからピーク位置を検出する情報処理装置であって、
注目位置がピーク位置を示すか否かを判定する判定手段と、
前記注目位置におけるスコアと、前記注目位置の周りの所定サイズの領域に含まれる第1の位置におけるスコアとの関係に基づいて、新たな注目位置を選択する選択手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記選択手段は、前記注目位置におけるスコアが前記第1の位置におけるスコア以下であると判定されると、前記第1の位置を前記新たな注目位置として選択することを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記第1の位置は、前記注目位置よりも前記スコアマップの主走査方向の下流に位置することを特徴とする、請求項1に記載の情報処理装置。
【請求項4】
前記選択手段は、前記注目位置におけるスコアが前記第1の位置におけるスコアより大きいと判定されると、前記第1の位置とは異なる第2の位置を前記新たな注目位置として選択することを特徴とする、請求項2に記載の情報処理装置。
【請求項5】
前記第1の位置は、前記注目位置よりも前記スコアマップの主走査方向の下流に位置し、前記第2の位置は、前記第1の位置よりも前記スコアマップの主走査方向の下流に位置することを特徴とする、請求項4に記載の情報処理装置。
【請求項6】
前記判定手段は、前記選択手段によって前記注目位置として選択されなかった位置を、ピーク位置を示さないと判定することを特徴とする、請求項1に記載の情報処理装置。
【請求項7】
前記判定手段は、前記注目位置がピーク位置を示すか否かを判定基準に従って判定し、
前記判定基準は、前記注目位置におけるスコアと、前記注目位置の周りの前記所定サイズの領域に含まれる各位置におけるスコアとが、所定の関係を満たすことである、請求項1に記載の情報処理装置。
【請求項8】
前記所定の関係は、前記注目位置におけるスコアと、前記所定サイズの領域に含まれる前記第1の位置におけるスコアとの間の第1の関係を含み、
前記選択手段は、前記注目位置におけるスコアと前記第1の位置におけるスコアとが前記第1の関係を満たさないと判定されると、前記第1の位置を新たな注目位置として選択することを特徴とする、請求項7に記載の情報処理装置。
【請求項9】
前記選択手段は、前記注目位置におけるスコアと前記第1の位置におけるスコアとが前記第1の関係を満たすと判定されると、前記第1の位置とは異なる第2の位置を前記新たな注目位置として選択することを特徴とする、請求項8に記載の情報処理装置。
【請求項10】
前記第1の関係は、前記注目位置におけるスコアが前記第1の位置におけるスコアよりも大きいことであることを特徴とする、請求項8に記載の情報処理装置。
【請求項11】
前記第1の位置は、前記注目位置よりも前記スコアマップの主走査方向の下流に位置し、前記第2の位置は、前記第1の位置よりも前記スコアマップの主走査方向の下流に位置することを特徴とする、請求項9に記載の情報処理装置。
【請求項12】
前記判定手段は、前記スコアマップの主走査方向に沿って位置する複数の前記注目位置のそれぞれについてピーク位置を示すか否かを判定し、
前記選択手段は、前記注目位置と新たな注目位置との間隔を決定し、前記間隔に基づいて前記新たな注目位置を選択することを特徴とする、請求項1に記載の情報処理装置。
【請求項13】
前記選択手段は、前記スコアマップの主走査方向に沿って前記注目位置に続くN個の連続する位置におけるそれぞれのスコアよりも、前記注目位置におけるスコアの方が大きいと判定されると、前記間隔をN+1に決定することを特徴とする、請求項12に記載の情報処理装置。
【請求項14】
前記情報処理装置は、前記スコアマップのうち主走査方向に沿って互いに間隔Mを有するように選択された複数の位置の中からピーク位置を検出し、
前記選択手段は、前記複数の位置のうち、前記注目位置に続くN個の位置におけるそれぞれのスコアよりも、前記注目位置におけるスコアの方が大きいと判定されると、前記間隔をM×(N+1)に決定することを特徴とする、請求項12に記載の情報処理装置。
【請求項15】
注目位置におけるスコアを閾値と比較する比較手段をさらに備え、
前記判定手段は、前記注目位置におけるスコアが閾値以上であると判定されると、前記注目位置がピーク位置を示すか否かを判定することを特徴とする、請求項1に記載の情報処理装置。
【請求項16】
前記スコアマップは画像の各位置に検出対象物体が存在する尤度を示し、
前記判定手段による判定結果に基づいて、前記画像中の前記検出対象物体の位置を推定する推定手段をさらに備えることを特徴とする、請求項1に記載の情報処理装置。
【請求項17】
スコアマップからピーク位置を検出する情報処理装置であって、
注目位置を選択する選択手段と、
前記注目位置におけるスコアを閾値と比較する比較手段と、
前記注目位置におけるスコアが閾値以上であると判定されていることに応じて、前記注目位置がピーク位置を示すか否かを判定基準に従って判定する判定手段と、を備え、
前記判定基準は、前記注目位置におけるスコアと、前記注目位置の周りの所定サイズの領域に含まれる各位置におけるスコアとが、前記各位置について定められた関係を満たすことを含み、
前記選択手段は、前記判定基準のうちの一部を満たすように、前記注目位置を選択することを特徴とする、情報処理装置。
【請求項18】
前記選択手段は、固定サイズの領域から1つの前記注目位置を選択することを特徴とする、請求項17に記載の情報処理装置。
【請求項19】
入力画像の各位置に物体が存在する尤度に基づいて前記スコアマップを生成する生成手段と、
前記ピーク位置について、前記入力画像上での前記物体の位置を判定する判定手段と、
をさらに有することを特徴とする、請求項1に記載の情報処理装置。
【請求項20】
スコアマップからピーク位置を検出する情報処理方法であって、
注目位置がピーク位置を示すか否かを判定する工程と、
前記注目位置におけるスコアと、前記注目位置の周りの所定サイズの領域に含まれる第1の位置におけるスコアとの関係に基づいて、新たな注目位置を選択する工程と、
を有することを特徴とする情報処理方法。
【請求項21】
スコアマップからピーク位置を検出する情報処理方法であって、
注目位置を選択する工程と、
前記注目位置におけるスコアを閾値と比較する工程と、
前記注目位置におけるスコアが閾値以上であると判定されていることに応じて、前記注目位置がピーク位置を示すか否かを判定基準に従って判定する工程と、を有し、
前記判定基準は、前記注目位置におけるスコアと、前記注目位置の周りの所定サイズの領域に含まれる各位置におけるスコアとが、前記各位置について定められた関係を満たすことを含み、
前記注目位置は、前記判定基準のうちの一部を満たすように選択されることを特徴とする、情報処理方法。
【請求項22】
コンピュータを、請求項1から19のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、情報処理方法、及びプログラムに関し、特にニューラルネットワークを用いて生成されるスコアマップからピーク位置を検出する技術に関する。
【背景技術】
【0002】
情報処理の分野においては、スコアマップからピーク位置を検出する処理が用いられることがある。例えば、CNNに代表される階層的な演算手法(深層学習技術に基づくパターン認識手法)が、物体の変動に対して頑健な物体検出手法として注目されている。頑健な物体検出を行うために、CNNの最終層が出力したスコアマップのピーク位置を抽出することがある。このスコアマップは、各位置についてのスコアを示すことができる。また、このスコアは、例えば対応する位置に物体が存在する尤度を示すことができる。この場合、抽出されたピーク位置は、物体の位置の推定結果を示すことができる。
【0003】
特許文献1及び非特許文献1は、スコアマップからピーク位置を検出する方法を開示している。特許文献1は、注目画素の値が全ての周辺画素の値よりも大きいか、又は周辺画素の値のうち最も大きい値と等しいと判定された場合に、この注目画素をピーク画素として抽出する方法を提案している。また、非特許文献1は、色ヒストグラムと類似尺度の上限とを利用して照合する領域を減らすことにより、ピーク点を高速に探索する方法を提案している。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】電子情報通信学会論文 D-II Vol. J81-D-II No.9 pp.2035-2042
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年、スコアマップのサイズは大きくなる傾向にある。このため、ピーク位置を検出する処理の高速化が求められている。
【0007】
特許文献1の方法によれば、全ての注目画素に対してピーク画素か否かを判定する処理が行われる。このため、特許文献1の方法が必要とする処理時間は比較的長い。特許文献1の方法では、特に、スコアマップにピーク点が多く存在する場合に処理を高速化することが難しい。また、非特許文献1の方法では、予め指定された画像との類似度に基づいて処理の一部がスキップされる。このように、非特許文献1の方法では、類似画像を予め用意する必要があるため、適用可能なケースが限られる。特に、非特許文献1の方法は、機械学習を用いた認識処理には適していない。
【0008】
本発明は、スコアマップからのピーク位置の検出を高速化することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一実施形態に係る情報処理装置は以下の構成を備える。すなわち、
スコアマップからピーク位置を検出する情報処理装置であって、
注目位置がピーク位置を示すか否かを判定する判定手段と、
前記注目位置におけるスコアと、前記注目位置の周りの所定サイズの領域に含まれる第1の位置におけるスコアとの関係に基づいて、新たな注目位置を選択する選択手段と、
を備える。
【発明の効果】
【0010】
スコアマップからのピーク位置の検出を高速化することができる。
【図面の簡単な説明】
【0011】
【
図1】一実施形態に係る情報処理装置のハードウェア構成例を示す図。
【
図3】一実施形態に係る情報処理方法のフローチャート。
【
図4】一実施形態に係る情報処理方法のフローチャート。
【
図5】一実施形態に係る情報処理方法のフローチャート。
【
図8】一実施形態に係る情報処理方法のフローチャート。
【
図11】縮小処理を用いる場合の注目画素の選択方法について説明する図。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0013】
(全体構成)
一実施形態に係る情報処理装置は、スコアマップからピーク位置を検出する。一実施形態に係る情報処理装置は、撮像装置又はスマートフォンであってもよい。また、
図1(B)及び(C)等に示される情報処理装置が有する各処理部の機能は、プロセッサを用いて実現することができる。もっとも、少なくとも一部の処理部が専用のハードウェアによって実現されてもよい。また、情報処理装置は、例えばネットワークを介して接続された複数の情報処理装置によって構成されていてもよい。
【0014】
図1(A)は、一実施形態に係る情報処理装置のハードウェア構成例を示す。CNN処理部101はスコアマップを生成する。例えば、CNN処理部101は、処理対象の画像に対して物体検出処理を行うことにより、スコアマップを生成することができる。CNN処理部101は、入力画像の各位置に物体が存在する尤度に基づいてスコアマップを生成することができる。CNN処理部101は、スコアマップ以外の特徴マップを生成してもよい。
【0015】
画像入力部102は、処理対象の画像(入力画像)を取得する。画像入力部102は光電変換デバイスであってもよい。光電変換デバイスは、レンズのような光学系、及びセンサを有していてもよい。また、光電変換デバイスは、センサを制御するドライバー回路、及びADコンバーター等を有していてもよい。センサは、例えばCharge-Coupled Devices(CCD)又はComplimentary Metal Oxide Semiconductor(CMOS)であってもよい。
【0016】
Central Processing Unit(CPU)103は、情報処理装置全体の制御を行う。Read Only Memory(ROM)104は、CPU103の動作を規定する命令及びパラメータを格納することができる。Random Access Memory(RAM)105は、CPU103が動作のために用いるワークメモリである。RAM105は、例えば大容量のDynamic Random Access Memory(DRAM)でありうる。
【0017】
ユーザインターフェース部106は、情報処理装置のユーザから入力を取得する。また、ユーザインターフェース部106は、情報処理装置のユーザに対して情報を出力する。ユーザインターフェース部106は、例えば、物体検出処理のような処理結果を表示する表示装置を含んでいてもよい。また、ユーザインターフェース部106は、ユーザ入力を受け取るボタン又はタッチパネルであってもよい。ユーザインターフェース部106は、Graphical User Interface(GUI)を介して、ユーザから入力を取得し、又はユーザに対して情報を出力してもよい。例えば、ユーザは、GUIを用いて、物体検出処理のタスクを指定してもよい。
【0018】
データバス107は、上述の各部間のデータ転送路である。
【0019】
このように、CPU103のようなプロセッサが、ROM104又はRAM105のようなメモリに格納されたプログラムを実行することにより、
図1(B)及び(C)等に示される各部の機能を実現することができる。なお、CNN処理部101は専用のハードウェアであってもよい。一方で、CNN処理部101の機能がCPU103のようなプロセッサによって実現されてもよい。
【0020】
以下では、情報処理装置が処理対象画像から検出対象物体(以下、単に物体と呼ぶ)の検出を行う例について主に説明する。
図1(A)の例において、CNN処理部101は、処理対象画像に対してニューラルネットワーク(例えばCNN)における処理を行うことにより、特徴マップを生成する。特徴マップは、例えば、二次元座標を用いて表すことのできる特徴データである。CNN処理部101は、CPU103からの指示に従って指定されたCNN演算を実行することができる。CNN処理部101は、生成した特徴マップをRAM105に格納する。そして、CPU103は物体検出において、CNN処理部101が生成した特徴マップに基づいて、各種の検出タスクを行う。
【0021】
図2(A)~(C)は、CNN処理部101が出力する特徴マップの例を示す。CNN処理部101は、CNNにおける処理を行うことにより、画像204に対応する特徴マップを出力する。この例において、CNN処理部101は、特徴マップとして、スコアマップ201、領域幅マップ202、及び領域高さマップ203を出力する。このように、CNN処理部101は、物体に対応する複数の特徴マップを生成することができる。CNN処理部101が用いるCNNは、これらの特徴マップを出力するように学習されている。
【0022】
図2(A)~(C)の例において、スコアマップ201、領域幅マップ202、及び領域高さマップ203は、8列×6行の値を有している。このように、各マップは、縦及び横方向に配列された複数の値によって表される。以下では、マップ上の1つの位置のことを、画素と呼ぶことがある。1つの画素は、マップの1つの位置に対応している。また、1つの画素は、画像204の特定の位置に対応している。この例において、マップ上の2つの画素の位置関係は、画像204上の対応する2つの位置の位置関係と同様である。
【0023】
本実施形態において、スコアマップ201は画像の各位置に検出対象物体が存在する尤度を示す。スコアマップ201の各値(スコア)は、画像204の対応する位置に物体が存在する信頼度を示す。具体的には、スコアマップ201の各値は、対応する位置に物体が存在する可能性が高いほど大きな値を有する。ここで、スコアマップの値が所定の閾値より大きい場合に、この値に対応する画像204上の位置に物体が存在すると判定することができる。また、スコアマップのピーク位置(スコアが極大になる位置)に対応する画像204上の位置に、物体の中心が存在すると判定することができる。例えば、
図2(A)の例では、スコアマップ201において、スコア255を有する位置201a及び201bが、物体の中心位置に対応すると判定できる。上述のように、スコアマップ上の1つの位置のことを画素と呼ぶことがある。また、スコアマップ上の1つの位置におけるスコアのことを、対応する画素のスコアと呼ぶことがある。
【0024】
領域幅マップ202及び領域高さマップ203の各値は、画像204の対応する位置に物体が存在する場合における、物体の領域幅及び領域高さの推定値を示す。したがって、位置201aに対応する物体の領域幅及び領域高さ(W1,H1)、並びに位置201bに対応する物体の領域幅及び領域高さ(W2,H2)を、領域幅マップ202及び領域高さマップ203から取得することができる。こうして、特徴マップを用いて、画像204から、物体(例えば人物の頭部)の領域(位置及び大きさ)を検出することができる。
【0025】
(物体検出処理)
次に、一実施形態に係る、物体検出処理を行う情報処理装置の構成について説明する。
図1(B)は、物体検出処理を行う情報処理装置120が有する機能構成の例を示す。一実施形態において、情報処理装置120は、
図1(A)に示す情報処理装置と同じ装置である。すなわち、情報処理装置120は、CNN処理部101が生成した特徴マップに対する処理により、物体の領域を検出する。しかしながら、情報処理装置120は、
図1(A)に示す情報処理装置とは別の装置であってもよい。また、情報処理装置120は、
図1(A)に示す情報処理装置とは別の装置によって生成された特徴マップに対する処理を行ってもよい。
図1(B)に示すように、情報処理装置120は、ピーク検出部121、リスト処理部122、及び領域判定部123を有する。
【0026】
ピーク検出部121は、特徴マップに含まれるスコアマップからピーク位置を検出する。この処理により、物体の中心位置に対応しない位置を、以降の処理対象から除外することができる。そして、ピーク検出部121は、検出したピーク位置を示すリスト(以後、ピークリストと呼ぶ)を生成する。ピーク検出部121が行う処理の詳細については後述する。
【0027】
リスト処理部122は、ピーク検出部121が生成したピークリストに対する処理を行う。例えば、リスト処理部122は、ピークリストに含まれるピーク位置を、スコア順(例えば降順)に並べ替えることができる。また、リスト処理部122は、スコアマップ201に示されるスコアに基づいて、一部のピーク位置をピークリストから除外することができる。例えば、リスト処理部122は、閾値以下のスコアを有するピーク位置(すなわち信頼度が低い物体位置)をピークリストから除外することができる。このような処理により、検出結果の統合処理のような後続する処理を単純化することができる。
【0028】
領域判定部123は、ピークリストに含まれるピーク位置、並びに特徴マップに含まれる領域幅マップ及び領域高さマップに基づいて、入力画像上での物体の位置及び領域を判定する。例えば、領域判定部123は、ピーク位置に対応する入力画像上の位置を、物体の中心位置と判定することができる。また、領域判定部123は、領域幅マップ及び領域高さマップを参照することにより、ピーク位置に対応する物体領域の幅及び高さを取得することができる。そして、領域判定部123は、ピーク位置、及びピーク位置に対応する物体領域の幅及び高さに基づいて、入力画像上での物体の位置及び領域を判定することができる。このとき、領域判定部123は、ピークマップ上の位置、並びに領域幅マップ及び領域高さマップが示す物体領域の幅及び高さに対して、スケール変換又は線形補正を行うことにより、入力画像上での物体の位置及び領域を判定してもよい。例えば、領域判定部123は、
図2(A)に示す(W1,H1)又は(W2,H2)を算出することができる。このように、領域判定部123は、ピーク位置について、入力画像上での物体の位置を判定することができる。
【0029】
また、領域判定部123は、物体検出結果の統合を行ってもよい。例えば、物体が画像に大きく写っている場合、又はピーク検出において用いられるスコアの閾値が低い場合がある。このような場合には、物体が1つしかないにもかかわらず、互いに近接した複数の位置が物体位置の推定結果として得られることがある。このような場合、物体の検出結果を1つに絞るため、領域判定部123は、複数の検出結果(例えば中心位置)を1つに合成してもよい。検出結果の合成には、例えば、Non-Maximum Suppression(NMS)技術を用いることができる。
【0030】
次に、一実施形態に係る、物体検出方法について説明する。
図3は、物体検出タスクのフローチャートの例を示す。この処理によれば、CNN処理部101の最終層から出力された特徴マップに基づいて、物体及びその領域が検出される。
【0031】
S301において、ピーク検出部121は、スコアマップからピーク位置を検出する処理を行う。上述のように、ピーク検出部121は、検出されたピーク位置を示すピークリストを生成することができる。この処理により、S302~S304の処理を高速化することができる。すなわち、後述するS302~S304は、ピークリストに格納されているピーク位置に対する処理のみを行うことができる。S301の詳細については後述する。
【0032】
S302において、リスト処理部122は、上述のように、S301で得られたピークリストに対する処理を行う。S303において、領域判定部123は、上述のように、ピークリストに示されるピーク位置のそれぞれについて、入力画像上での物体の位置及びその領域を判定する。S304において、領域判定部123は、上述のように、S303で得られた物体検出結果に対する統合処理を行う。このように、S301~S304の処理により、入力画像から物体を検出することができる。
【0033】
(ピーク検出処理)
上記のように、物体検出処理においては、スコアマップにおけるピーク位置を検出する処理が行われる。以下では、この処理についてより詳細に説明する。なお、以下に説明するピーク位置検出処理の対象は、上記のような物体検出のためのスコアマップには限られない。任意の種類のスコアマップに対して以下のようなピーク位置検出処理を行うことができる。また、スコアマップは、二次元のマップであってもよいし、多次元のマップであってもよい。
【0034】
以下に、一実施形態に係る、ピーク検出処理を行う情報処理装置の構成について説明する。
図1(C)は、ピーク検出処理を行う情報処理装置150が有する機能構成の例を示す。一実施形態において、情報処理装置150は、
図1(B)に示すピーク検出部121に相当する。一実施形態において、情報処理装置150は、
図1(A)に示す情報処理装置とは別の装置であってもよい。例えば、情報処理装置150は、
図1(A)に示す情報処理装置とは別の装置によって生成されたスコアマップに対する処理を行ってもよい。
図1(C)に示すように、情報処理装置150は、候補抽出部151、比較部152、及びピーク判定部153を有する。
【0035】
候補抽出部151は、ピーク位置候補を抽出する。比較部152及びピーク判定部153による処理は後述する注目位置(又はその一部)に対して行われる。また、候補抽出部151によって抽出されたピーク位置候補は、後に注目位置として用いられる。このように、候補抽出部151は、注目位置を選択しているということができる。
【0036】
本実施形態において、候補抽出部151は、注目位置におけるスコアと、注目位置の周りの所定サイズの領域に含まれる第1の位置におけるスコアとの関係に基づいて、ピーク位置候補(すなわち新たな注目位置)を選択する。この注目位置は、以前に候補抽出部151によって抽出されているピーク位置候補である。このように、候補抽出部151は、注目位置の近傍において新たな注目位置を選択することができる。
【0037】
比較部152は、注目位置におけるスコアを閾値と比較する。例えば、比較部152は、注目位置についてスコアマップが示すスコアが、閾値hよりも小さいか否かを判定することができる。比較部152は、注目位置を、ピーク判定処理の対象から除外するか否かを決定するために、このような処理を行うことができる。
【0038】
ピーク判定部153は、注目位置がピーク位置を示すか否かを判定する。この処理を、以下ではピーク判定処理と呼ぶことがある。ピーク判定部153は、注目位置がピーク位置を示すか否かを判定基準に従って判定することができる。この判定基準は、注目位置におけるスコアと、注目位置の周りの所定サイズの領域に含まれるに各位置におけるスコアとが、所定の関係を満たすことである。このような判定基準が満たされることが判定された場合に、ピーク判定部153は、注目位置がピーク位置を示すと判定することができる。このように、ピーク判定部153は、注目位置を示す注目画素のスコアと、その周辺画素のスコアとを比較することにより、ピーク位置を示すピーク画素の判定を行うことができる。
【0039】
ここで、注目位置(ピーク位置候補)として選択されなかった位置に対する、ピーク判定部153による判定はスキップされる。すなわち、ピーク判定部153は、候補抽出部151によって注目位置(ピーク位置候補)として選択されなかった位置は、ピーク位置を示さないと判定することができる。このため、候補抽出部151によって選択される注目位置(ピーク位置候補)の数を減らすことにより、ピーク判定処理に要する時間を短くすることができる。
【0040】
また、ピーク判定部153は、比較部152による判定に従って、注目位置に対する判定をスキップすることができる。例えば、ピーク判定部153は、注目位置におけるスコアが閾値h以上であると判定されていることに応じて、注目位置に対するピーク判定処理がピーク位置を示すか否かを判定することができる。一方で、ピーク判定部153は、注目位置におけるスコアが閾値hより小さいと判定されたことに応じて、注目位置がピーク位置を示すか否かの判定をスキップすることができる。
【0041】
このような構成により、小さいスコアを有するピーク位置が検出されないように、ピーク検出が行われる。本実施形態においては、小さいスコアを有する位置に対する、ピーク判定処理もスキップすることができる。このような構成によれば、ピーク判定部153がスコアマップの全ての位置に対してピーク判定処理を行う場合と比較して、処理時間を短くすることができる。もっとも、ピーク判定部153が、比較部152による判定に従って、注目位置に対する判定をスキップすることは必須ではない。また、情報処理装置150が比較部152を有することも必須ではない。
【0042】
図6(A)~(E)は、ピーク画素の判定方法の一例を示す。注目位置に対するピーク判定処理のために、ピーク判定部153は、
図6(A)に示す3×3画素の近傍フィルタ601を用いることができる。すなわち、ピーク画素の判定は、注目画素Sのスコアと、注目位置の近傍画素のスコアと、の関係に基づいて行うことができる。この例において、注目画素Sの近傍画素は画素S1~S8である。
図6(B)は、注目画素Sがピーク位置を示す場合に満たされる、注目画素Sのスコアとその近傍画素S1~S8のスコアとの関係に関する条件602を示す。
【0043】
図6(C)は、ピーク位置検出処理の対象である6×8画素のスコアマップ603を示す。
図6(C)には、注目画素Sに対応する、近傍フィルタ内の領域Rが点線矩形で示されている。条件602は、スコアマップ603上の注目画素の画素位置によって異なる。
図6(C)において各画素に付されている記号A~Eは、
図6(B)のtypeに対応し、この記号の画素に対するピーク判定処理において用いられる条件を示す。例えば、
図6(C)に示される注目画素Sには記号Aが付されている。このため、注目画素Sに対するピーク判定処理においては
図6(B)に示されるtype=Aの条件が用いられる。すなわち、注目画素Sがピーク画素と判定される条件は、(注目画素のスコア≧近傍画素S1~S4のそれぞれのスコア)かつ(注目画素のスコアS>近傍画素S5~S8のそれぞれのスコア)である。なお、この例において、スコアマップ603の外周部の画素(ハッチング部)ドット画素領域)は、ピーク画素の判定対象から除外される。
【0044】
なお、ピーク画素の判定条件は特に限定されない。一方で、
図6(B)に示される条件602を用いることにより、同じスコアを有する複数の画素が隣接している場合であっても、複数の画素のうちの1つをピーク画素として抽出することができる。例えば、
図6(D)に示す条件604を用いることも考えられる。条件604においては、注目画素Sのスコアが近傍画素S1~S8のそれぞれのスコアよりも大きい(>)場合に、注目画素Sがピーク画素と判定される。一方で、条件602を用いることにより、注目画素と近傍画素のスコアが同じになりやすい場合(例えば、大きな顔を検出する場合)において、ピーク画素を検出しやすくなる。また、
図6(E)に示す条件605を用いることも考えられる。条件605においては、注目画素Sのスコアが近傍画素S1~S8のそれぞれのスコア以上である(≧)場合に、注目画素Sがピーク画素と判定される。一方で、条件602を用いることにより、注目画素と近傍画素のスコアが同じになりやすい場合(例えば、大きな顔を検出する場合)において、同じ物体を表す複数のピーク画素の検出を抑制しやすくなる。検出されるピーク画素を減らすことにより、後段の処理速度を向上させることができる。
【0045】
条件602を用いる場合、多くの画素については、type=Aの条件が用いられる。一方で、注目画素のスコアが、スコアマップ603の外周部にある隣接画素のスコアと同じ場合であっても、注目画素がピーク画素として抽出されるように、外周部の近傍の画素についてはtype=B~Eの条件が用いられる。
【0046】
以下に、
図4のフローチャートを参照して、一実施形態に係るピーク位置検出方法について具体的に説明する。例えば、S301の処理は以下のように行うことができる。
【0047】
S401で、候補抽出部151は、注目画素が選択される行を設定する。1回目のS401の処理においては、候補抽出部151は注目画素が選択される行としてスコアマップの1行目を選択する。2回目以降のS401の処理においては、候補抽出部151は注目画素が選択される行をスコアマップの副走査方向へ移動させる。
【0048】
S402では、候補抽出部151は、注目画素が選択される列を設定する。S401で注目画素が選択される行が設定された直後のS402では、候補抽出部151は注目画素が選択される列としてスコアマップの1列目を選択する。他の場合において、候補抽出部151は注目画素が選択される列をスコアマップの主走査方向へ移動させる。このときの移動量は、後述する移動量dcolによって示される。こうして、S401及び402において、注目画素が選択される行及び列が設定され、この行及び列に従う注目画素が選択される。そして、選択された注目画素に対して、S410、S408、及びS411の処理が行われる。
【0049】
このように、候補抽出部151は、スコアマップの主走査方向に沿って位置する複数の注目位置を選択する。後述するように、候補抽出部151は、注目位置と新たな注目位置との間隔(移動量dcol)を決定する。そして、候補抽出部151は、この間隔(移動量dcol)に基づいて新たな注目位置を選択する。この結果として、ピーク判定部153は、スコアマップの主走査方向に沿って位置する複数の注目位置(候補抽出部151によって選択された複数の注目位置のうちの少なくとも一部)のそれぞれについてピーク位置を示すか否かを判定することになる。
【0050】
ただし、設定された行及び列に従う注目画素が、外周部の画素のようなピーク画素として判定されない画素である場合、候補抽出部151は注目画素が選択される列をスコアマップの主走査方向へさらに移動させることができる。このときの移動量dcolは1に設定されてもよい。また、S402において、注目画素が選択される列をスコアマップの主走査方向へ移動できない場合(すなわち最後の列が設定されていた場合)、S402のループは終了し、処理はS401に戻る。このときも、候補抽出部151は、移動量dcolを1に設定することができる。
【0051】
S410は、後述するS411(ピーク判定処理)の前処理である。S410において、候補抽出部151は、ピーク位置候補(すなわち、新たな注目位置)を選択する。S410には、S403~S405が含まれる。これらの処理においては、注目画素Sにおけるスコアとその右隣の画素S4におけるスコアとの比較結果に基づいて、S402において注目画素を決定するために用いる移動量dcolが設定される。
【0052】
S403において、候補抽出部151は、注目位置におけるスコアと、注目位置の周りの所定サイズの領域に含まれる第1の位置におけるスコアとを比較する。この第1の位置は、例えば、注目位置よりもスコアマップの主走査方向の下流に位置している。この例において、第1の位置は、注目位置に隣接する位置である。すなわち、候補抽出部151は、注目画素Sのスコアと、その右隣の画素S5のスコアとを比較する。もっとも、後述するピーク位置を検出する処理と縮小処理とを組み合わせる場合のように、第1の位置が注目位置に隣接する位置よりも下流にあってもよい。
【0053】
本実施形態において、候補抽出部151は、注目位置におけるスコアが第1の位置におけるスコアより大きいか否かを判定する。候補抽出部151が、注目画素Sのスコア>画素S5のスコアと判定した場合、処理はS404に進む。候補抽出部151が、注目画素Sのスコア≦画素S5のスコアと判定した場合、処理はS405に進む。
【0054】
S404は、注目位置におけるスコアが第1の位置におけるスコアより大きいとの判定に応じて行われる。S404において、候補抽出部151は、移動量dcolを2に設定する。この場合、続くS408及びS411の後に行われるS402において、注目画素が選択される列は2列移動するため、画素S5は注目画素として選択されない。すなわち、画素S5は、S411における、ピーク判定処理の対象から除外される。言い換えれば、候補抽出部151は、第1の位置(画素S5)とは異なる第2の位置(画素S5の右隣)を、ピーク位置候補として選択することができる。この場合における第2の位置は、注目位置(注目画素S)及び第1の位置(画素S5)よりもスコアマップの主走査方向の下流に位置する。この例において、第2の位置は、第1の位置に隣接する位置である。もっとも、後述する5×5画素の近傍フィルタを用いる場合及びピーク位置を検出する処理と縮小処理とを組み合わせる場合のように、第2の位置が第1の位置に隣接する位置よりも下流にあってもよい。
【0055】
S404は、注目位置におけるスコアが第1の位置におけるスコア以下であるとの判定に応じて行われる。S405において、候補抽出部151は、移動量dcolを1に設定する。この場合、続くS408及びS411の後に行われるS402において、注目画素が選択される列は1列移動するため、画素S5が注目画素として選択される。このように、候補抽出部151は、第1の位置(画素S5)を新たなピーク位置候補として選択することができる。
【0056】
上記のような移動量dcolの設定についてさらに説明する。上述のように、注目画素は主走査方向に移動する。そして、注目画素Tにおけるスコアが右隣の画素T+1(すなわち画素S5)におけるスコアよりも大きいことは、画素T+1におけるスコアが左隣の画素T(すなわち画素S4)よりも小さいことを意味する。このため、画素T+1が条件602に従ってピーク位置を示すと判定されることはない。したがって、注目画素の右隣の画素T+1についての、ピーク判定処理をスキップすることができる。このように、注目画素の右隣についてのピーク位置の判定をスキップするために、移動量dcolが2に設定される。一方で、注目画素Tにおけるスコアが右隣の画素T+1(すなわち画素S5)におけるスコア以下である場合、画素T+1が条件602に従ってピーク位置を示すと判定される可能性がある。このため、注目画素の右隣の画素T+1についてのピーク位置の判定をスキップしないように、移動量dcolが1に設定される。
【0057】
続いて、S408及びS411の処理が行われる。本実施形態において、S408及びS411における処理は注目位置を対象とする。S410で選択された新たな注目位置(ピーク位置候補)は、次のループにおいて用いられる。
【0058】
S408において、比較部152は、着目位置をピーク判定の対象から除外するか否かを判定する、判定除外処理を行う。比較部152は、注目画素におけるスコアと閾値hとを比較する。比較部152が注目画素Sのスコア<閾値hと判定した場合、処理はS402に戻り、次の注目画素が選択される。すなわち、注目画素に対するS411の処理は行われない。このような構成により、小さいスコアを有するピーク画素の抽出が抑制される。
【0059】
S411において、ピーク判定部153は、着目位置に対するピーク判定処理を行う。こうして、ピーク判定部153はピーク位置の抽出を行う。S411はS406及びS407を含む。S411において、ピーク判定部153は、上述のように、注目画素がピーク位置を示すか否かを判定する。例えば、ピーク判定部153は、注目画素Sにおけるスコアと、その近傍画素S1~S8におけるスコアとを比較する。全ての比較結果が条件602を満たしている場合、ピーク判定部153は注目画素がピーク画素であると判定し、処理はS407に進む。条件602を満たさない比較結果が存在する場合、注目画素はピーク画素と判定されず、処理はS402に戻る。
【0060】
S407において、ピーク判定部153は、S406でピーク画素と判定された注目画素の情報をピークリストに格納する。注目画素の情報は、例えば、注目画素におけるスコア、及びスコアマップ上の注目画素の位置情報を含むことができる。ピークリストは、メモリ上の配列として実装することができる。
【0061】
以上の処理により、ピークリストを生成することができる。ピークリストに示される、ピーク判定部153による判定結果に基づいて、領域判定部123は上述したように入力画像中の検出対象物体の位置を推定することができる。
【0062】
図4の例では、前処理S410、判定除外処理S408、及びピーク判定処理S411がこの順に行われている。このように、処理速度向上のために、ピーク判定処理S411の前に判定除外処理S408を行うことができる。また、処理速度向上のために、注目画素に対する処理よりも前のループにおいて、この注目画素に対してピーク判定処理を行うかどうか(すなわち画素をピーク位置候補として抽出するかどうか)を決定する前処理S410を行うことができる。上述のように、前処理S410では、次の画素についてピーク判定処理をスキップすることを決定できる。また、判定除外処理S408でも、注目画素に対するピーク判定処理をスキップすることを決定できる。このように、前処理S410及び判定除外処理S408によって処理負荷の大きいピーク判定処理S411をスキップできるため、処理速度が向上する。
【0063】
このような手法によれば、全ての画素についてピーク判定処理を行う場合と比較して、処理速度を向上させることができる。例えば、入力画像から検出される物体が少数であり、判定除外処理S408によって大半の画素がピーク判定処理の対象から外れる場合に、効果的に処理速度を向上させることができる。
【0064】
上記のように、ピーク判定部153は、注目位置におけるスコアと、注目位置の周りの所定サイズの領域に含まれる各位置におけるスコアとが、所定の関係を満たす場合に、注目位置がピーク位置を示すと判定することができる。この所定の関係は、所定サイズの領域に含まれる各位置について定められた関係を含むことができる。例えば、所定の関係は、注目位置(例えば注目画素S)におけるスコアと、所定サイズの領域に含まれる第1の位置(例えば画素S5)におけるスコアとの間の第1の関係を含むことができる。
図6(B)の例において、第1の関係(type=A)は、注目画素Sのスコア>画素S5のスコアである。
【0065】
候補抽出部151によるピーク位置候補(すなわち新たな注目位置)の選択方法としては、例えば、以下の方法を採用可能である。候補抽出部151は、注目位置に対するピーク判定処理において、注目位置におけるスコアと第1の位置におけるスコアとが第1の関係を満たさないとの判定に応じて、第1の位置をピーク位置候補として選択することができる。これは、
図4の例において、注目画素Sのスコア≦画素S5のスコアの場合に移動量dcolを1に設定することに相当する。また、候補抽出部151は、第1の位置に対するピーク判定処理において、第1の位置におけるスコアと注目位置におけるスコアとが第2の関係を満たすとの判定に応じて、第1の位置をピーク位置候補として選択することができる。ここで、上記の所定の関係は、注目位置(例えば注目画素S)におけるスコアと、所定サイズの領域に含まれる第2の位置(例えば画素S4)におけるスコアとの間の第2の関係を含むことができる。
図6(B)の例において、第2の関係は、注目画素Sのスコア≧画素S4のスコアである。
図6(B)に示す条件602(type=A)によれば、第1の位置に対するピーク判定処理において第2の関係を満たすことと、注目位置に対するピーク判定処理において第1の関係を満たさないこととは、等価である。
【0066】
また、候補抽出部151は、注目位置に対するピーク判定処理において、注目位置におけるスコアと第1の位置におけるスコアとが第1の関係を満たすとの判定に応じて、第1の位置とは異なる第2の位置をピーク位置候補として選択することができる。これは、
図4の例において、注目画素Sのスコア>画素S5のスコアの場合に移動量dcolを2に設定することに相当する。また、候補抽出部151は、第1の位置に対するピーク判定処理において、第1の位置におけるスコアと注目位置におけるスコアとが上記の第2の関係を満たさないとの判定に応じて、第2の位置をピーク位置候補として選択することができる。
図6(B)に示す条件602(type=A)によれば、第1の位置に対するピーク判定処理において第2の関係を満たさないことと、注目位置に対するピーク判定処理において第1の関係を満たすこととは、等価である。
【0067】
このように、前処理S410において、候補抽出部151は、ピーク判定処理で用いられる判定基準のうちの一部を満たすように、新たな注目位置を選択する。言い換えれば、候補抽出部151は、ピーク判定部153が注目位置に対するピーク判定処理で用いる条件のうちの一部についての判定を、ピーク位置候補(新たな注目位置)に対して先に行っている。具体的には、候補抽出部151は、注目画素の周辺にある画素に対して、ピーク判定処理で用いる条件のうちの一部についての判定を行っている。そして、候補抽出部151は、ピーク判定処理で用いる条件のうちの一部を満たさない位置を、ピーク判定処理の対象から除外している。このような構成により、ピーク判定回数が削減される。
【0068】
上述のように、候補抽出部151は、注目位置におけるスコアが第1の位置におけるスコアより大きいとの判定に応じて、第1の位置をピーク位置候補として選択せずに、第2の位置をピーク位置候補として選択することができる。一実施形態において、ピーク判定処理で用いられる判定基準は、注目位置におけるスコアが、注目位置の周りの所定サイズの領域に含まれる各位置におけるスコアのそれぞれ以上であることを少なくとも要求する。既に説明したように、上記の所定の関係は、所定サイズの領域に含まれる各位置について定められた関係を含むことができる。ここで、特定の位置について定められた関係は、注目位置におけるスコアが、特定の位置におけるスコアよりも大きいこと、又は特定の位置におけるスコア以上であることを要求することができる。例えば、条件602を満たすためには、typeにかかわらず、少なくとも注目画素Sのスコアが他の画素(S1~S8)のスコア以上であることが必要である。このため、typeにかかわらず、注目位置におけるスコアが第1の位置におけるスコアより大きければ、第1の位置がピーク位置を示すと判定されることはない。このため、候補抽出部151は、第1の位置をピーク位置候補として選択する必要はない。
【0069】
上記の条件602のような例においては、注目位置に対するピーク判定を行う(例えば注目画素Sのスコアと画素S5のスコアとを比較する)ことにより、第1の位置をピーク位置候補として選択するか否かを判定できる。このような構成において、候補抽出部151は、ピーク判定部153によるスコア比較結果に基づいて、ピーク位置候補を選択(又は移動量dcolを決定)してもよい。別の例として、ピーク判定部153は、候補抽出部151が注目位置におけるスコアに基づいてピーク候補位置を選択するために行ったスコア比較結果を、注目位置に対するピーク判定のために参照してもよい。
【0070】
一方で、
図4に示すように、注目位置におけるスコアに基づいてピーク候補位置を選択する前処理S410は、注目位置に対する判定除外処理S408の前に行うことができる。また、この前処理S410は、注目位置に対するピーク判定処理S411とは独立に行うことができる。判定除外処理S408によれば、注目位置に対する以降の処理を省略することができる。一方で、前処理S410を判定除外処理S408よりも前に行うことにより、注目位置におけるスコアが閾値未満であっても、S410におけるピーク候補位置の選択(例えば移動量dcolの決定)が行われる。このため、注目位置におけるスコアが閾値未満であっても、注目画素の次の画素(例えば右隣の画素)に対するピーク判定処理をスキップするか否かを判定することができる。
【0071】
ここまで、3×3画素の近傍フィルタを用いたピーク検出方法について説明した。しかしながら、異なる近傍フィルタを用いる場合も、同様の手法を採用することができる。以下では、5×5画素の近傍フィルタを用いる場合について説明する。
【0072】
図7(A)は、ピーク判定部153が用いることができる5×5画素の近傍フィルタ701を示す。
図7(B)は、注目画素Sがピーク位置を示す場合に満たされる、注目画素Sのスコアとその近傍画素S1~S24のスコアとの関係に関する条件702を示す。
図7(C)はピーク位置検出処理の対象であるスコアマップ703を示す。スコアマップ703は、
図6(C)に示すスコアマップ603と同じである。
【0073】
5×5画素の近傍フィルタを用いたピーク検出処理は、
図5に示すフローチャートに従って行うことができる。例えば、S301の処理は以下のように行うことができる。
【0074】
S501及びS502は、
図4に示すS401及びS402と同様に行われる。
【0075】
S510は、後述するS511(ピーク判定処理)の前処理である。S510には、S503~S505及びS518~S519が含まれる。S510においては、注目画素Sにおけるスコアと、その右側に連続する画素S5,S17におけるスコアとの比較結果に基づいて、移動量dcolが設定される。
【0076】
S503において、候補抽出部151は、S403と同様に、注目画素Sのスコアと、その右隣の画素S5のスコアとを比較する。候補抽出部151が、注目画素Sのスコア>画素S5のスコアと判定した場合、処理はS518に進む。S518において、候補抽出部151は、移動量dcolを1に設定する。S503において候補抽出部151が、注目画素Sのスコア≦画素S5のスコアと判定した場合、処理はS505に進む。
【0077】
S518において、候補抽出部151は、S403と同様の方法で、注目画素Sのスコアと、注目画素Sより2つ右側にある画素S17のスコアとを比較する。候補抽出部151が、注目画素Sのスコア>画素S17のスコアと判定した場合、処理はS504に進む。S504において、候補抽出部151は移動量dcolを2に設定する。S518において候補抽出部151が、注目画素Sのスコア≦画素S5のスコアと判定した場合、処理はS519に進む。S519において、候補抽出部151は移動量dcolを3に設定する。
【0078】
このように、候補抽出部151は、スコアマップの主走査方向に沿って、注目位置に続くN個の連続する位置のそれぞれにおけるスコアを、注目位置におけるスコアと比較する。そして、候補抽出部151は、N個の連続する位置におけるそれぞれのスコアよりも、注目位置におけるスコアの方が大きいとの判定に応じて、移動量dcolをN+1に決定することができる。
【0079】
なお、注目画素Tにおけるスコアが2つ右側の画素T+2(すなわち画素S17)におけるスコアよりも大きいことは、画素T+2におけるスコアが2つ左側の画素T(すなわち画素S16)よりも小さいことを意味する。このため、画素T+2が条件702に従ってピーク位置を示すと判定されることはない。したがって、注目画素の右隣の画素T+2についての、ピーク判定処理をスキップすることができる。S519においては、S503における判定により、画素T+1は条件702に従ってピーク位置を示すと判定されないことが示されるため、移動量dcolを3に設定することができる。
【0080】
S508は、
図4に示すS408と同様に行われる。S511も、近傍フィルタ701及び条件702が用いられることを除き、
図4に示すS411と同様に行われる。
【0081】
このように、より大きい近傍フィルタを用いることにより、ピーク判定処理をスキップできる画素数(すなわち移動量dcol)を増やすことができるため、さらに高速にピーク位置を検出することができる。
【0082】
上記の実施形態では、注目画素Sのスコアと、その右側の画素(例えばS5)のスコアとを比較することにより、右側の画素についてのピーク判定処理をスキップするか否かが決定された。一方で、主走査方向がスコアマップの縦方向である場合、注目画素のスコアと、その下側の画素のスコアとを比較することにより、下側の画素についてのピーク判定処理をスキップするか否かを決定することができる。
【0083】
また、
図3に示すフローチャートにおいては、ピーク位置を検出する処理S301とは別に、ピークリストに対する処理S302が行われる。しかしながら、S407でソート処理が行われてもよい。この場合、S302におけるソート処理を省略することができる。
【0084】
また、ピーク位置を検出する処理と縮小処理とを組み合わせることができる。例えば、スコアマップのうち主走査方向に沿って互いに間隔Mを有するように選択された複数の位置の中からピーク位置を検出することができる。主走査方向に1/2の縮小を行うケース(M=2)について、
図11を参照しながら説明する。
図11には、スコアマップ1101が示されている。スコアマップ1101には、ピーク画素の判定対象から除外される外周部の画素(濃いハッチング)に加えて、縮小処理のために参照されない画素(薄いハッチング)が示されている。注目画素Sが画素Xである場合、注目画素Sの右側の画素S5は画素X+2であり、主走査方向の次の画素は画素X+4である。このため、S404において移動量dcolは4に設定される。また、S405において移動量dcolは2に設定される。
【0085】
一般に、1/Mの縮小処理を行う場合に、候補抽出部151は、注目位置に続く位置のスコアよりも、注目位置におけるスコアの方が大きいとの判定に応じて、移動量dcolを2×Mに設定することができる。また、一般に、1/Mの縮小処理を行う場合に、候補抽出部151は、注目位置に続くN個の位置におけるそれぞれのスコアよりも、注目位置におけるスコアの方が大きいとの判定に応じて、移動量dcolをM×(N+1)に決定することができる。ここで、注目位置に続く位置は、スコアマップのうち主走査方向に沿って互いに間隔Mを有するように選択された複数の位置に含まれている。このような実施形態によれば、特にピーク位置が多く存在するスコアマップから、より高速にピーク位置を検出できる。
【0086】
(ピーク検出処理の変形例)
上述の実施形態では、1画素単位で前処理S410が行われた。具体的には、主走査方向の移動量を設定することにより、注目位置の近傍において1つの新たなピーク位置候補が選択された。以下の例では、2×2画素単位で前処理が行われる。そして、2×2画素ブロックから1つのピーク画素候補が選択される。この場合、固定された移動量(すなわち、主走査方向に2画素単位及び副走査方向に2行単位)で、処理対象の2×2画素ブロックが移動する。
【0087】
本変形例におけるピーク検出処理は、
図8に示すフローチャートに従って行うことができる。S801及びS802において、候補抽出部151は、処理対象となる2×2画素ブロックを設定する。処理を繰り返しながら、候補抽出部151は画素ブロックを移動させることができる。
【0088】
例えば、S801において、候補抽出部151は、画素ブロックを副走査方向に移動させる。候補抽出部151は、画素ブロックを2行移動させることができる。
図9に示すように、候補抽出部151は、画素ブロックをラインAからラインBに移動させることができる。なお、
図9に示すスコアマップ603は、
図6に示したものと同じである。また、S802において、候補抽出部151は、画素ブロックを主走査方向に移動させる。候補抽出部151は、画素ブロックを2画素移動させることができる。
図9に示すように、候補抽出部151は、画素ブロックを位置901から位置902に移動させることができる。
【0089】
前処理S810には、S821及びS822が含まれる。S810において、候補抽出部151は、S801及びS802で設定された固定サイズの領域から1つ又は複数のピーク位置候補(すなわち注目位置)を選択することができる。以下の例において、候補抽出部151は、2×2画素ブロックの中からピーク位置候補を選択する。本変形例においても、候補抽出部151は、ピーク判定処理で用いられる、
図6に示される条件602を用いて、ピーク位置候補を選択することができる。なお、この例で用いられる近傍フィルタは、
図6に示す近傍フィルタ601である。
【0090】
S821において、候補抽出部151は、2×2画素ブロックに含まれる各画素のスコアを取得する。
【0091】
S822において、候補抽出部151は、S821で取得したスコアに基づいて、2×2画素ブロックの中からピーク位置候補を抽出する。候補抽出部151は、
図10(B)に示すフローチャートに従って、ピーク位置候補を決定することができる。
【0092】
S1011において、候補抽出部151は、2×2画素ブロックの左上の画素を、ピーク位置候補として選択するか否かを判定する。ここで、候補抽出部151は、ピーク判定処理で用いられる判定基準のうちの一部を満たすように、ピーク位置候補(すなわち注目位置)を選択することができる。例えば、候補抽出部151は、2×2画素ブロックの左上の画素のスコアと、2×2画素ブロックのその他の各画素のスコアとを比較することにより、この判定を行うことができる。候補抽出部151は、条件602に従ってこの判定を行うことができる。
【0093】
図10(A)に示される条件1003Aを参照して、S1011における処理について説明する。条件1003A~1003Dは、type=Aの場合における条件を示している。条件1003Aは、左上画素に対して近傍フィルタ601を適用する場合における、他の画素の画素位置を示す。すなわち、左上画素が注目画素Sである場合、右上、左下、及び右下画素は、それぞれ画素S5、S7、及びS8である。
【0094】
また、条件1003Aは、左上画素がピーク位置候補として判定されるための、左上画素のスコアと、その他の各画素のスコアとの間の関係についての条件を示す。条件1003Aによれば、左上画素がピーク位置候補として判定されるための条件は、左上画素のスコア>右上画素、左下画素、及び右下画素の各スコアである。この条件1003Aは、ピーク判定処理で用いられる条件602の一部となっている。例えば、条件602によれば、注目画素Sがピーク位置候補として判定されるための条件は、左上画素(注目画素S)のスコア>右上画素(画素S5)、左下画素(画素S7)、及び右下画素(画素S8)の各スコアである。この条件が満たされる場合、右上画素(画素S5)、左下画素(画素S7)、及び右下画素(画素S8)のスコアは、左上画素(注目画素S)のスコアよりも小さい。したがって、右上画素、左下画素、及び右下画素は、ピーク画素として判定されない。このため、右上画素、左下画素、及び右下画素を、ピーク位置候補から除外することができる。このため、候補抽出部151は、左上画素をピーク位置候補として選択することができる。反対に、条件1003Aが満たされない場合、左上画素はピーク画素として判定されない。このため、候補抽出部151は、左上画素をピーク位置候補から除外することができる。
【0095】
一方で、条件1003Aが満たされない場合、処理はS1012に進む。S1012において、候補抽出部151は、2×2画素ブロックの右上画素を、ピーク位置候補として選択するか否かを判定する。候補抽出部151は、条件1003Bを満たす場合に、右上画素をピーク位置候補として選択することができる。この条件1003Bも、ピーク判定処理で用いられる条件602の一部となっている。条件1003Bは、右上画素のスコア>左下画素のスコア、右上画素のスコア>右下画素のスコア、及び右上画素のスコア≧左上画素のスコアである場合に満たされる。この場合、左下画素及び右下画素のスコアは右上画素のスコアよりも小さいため、ピーク画素として判定されない。また、S1011において、左上画素は既にピーク画素候補から外れている。このため、2×2画素ブロックにおいてピーク画素と判定されうるのは右上画素だけである。このため、候補抽出部151は、右上画素をピーク位置候補として選択することができる。反対に、条件1003Bが満たされない場合、右上画素はピーク画素として判定されない。このため、候補抽出部151は、右上画素をピーク位置候補から除外することができる。
【0096】
さらに、条件1003Bが満たされない場合、処理はS1013に進む。S1012において、候補抽出部151は、2×2画素ブロックの左下画素を、ピーク位置候補として選択するか否かを判定する。候補抽出部151は、条件1003Cを満たす場合に、右上画素をピーク位置候補として選択することができる。この条件1003Cも、ピーク判定処理で用いられる条件602の一部となっている。条件1003Cは、左下画素のスコア>右下画素のスコア、左下画素のスコア≧左上画素のスコア、及び左下画素のスコア≧右上画素のスコアである場合に満たされる。この場合、右下画素のスコアは左下画素のスコアよりも小さいため、ピーク画素として判定されない。また、S1011及びS1012において、左上画素及び右上画素は既にピーク画素候補から外れている。このため、2×2画素ブロックにおいてピーク画素と判定されうるのは左下画素だけである。このため、候補抽出部151は、左下画素をピーク位置候補として選択することができる。反対に、条件1003Cが満たされない場合、左下画素はピーク画素として判定されない。このため、候補抽出部151は、左下画素をピーク位置候補から除外することができる。
【0097】
さらに、条件1003Cが満たされない場合、処理はS1014に進む。S1012において、候補抽出部151は、2×2画素ブロックの右下画素を、ピーク位置候補として選択する。左上画素、右上画素、及び左下画素は既にピーク画素候補から外れているため、候補抽出部151は、右下画素をピーク位置候補として選択することができる。この場合、条件1003Dが満たされているか否かを判定することは不要である。なお、条件1003Dは、ピーク判定処理で用いられる条件602の一部であり、右下画素がピーク画素として判定されるための必要条件である。一方で、条件1003A~Cが満たされない場合、条件1003Dは満たされる。
【0098】
このように、条件602を用いる場合、候補抽出部151は、2×2画素ブロックのうち、ピーク画素として判定されうる1つの画素を、ピーク位置候補として選択することができる。また、この場合、ピーク位置候補として選択されなかった3つの画素は、ピーク画素と判定されないことが確定している。すなわち、ピーク位置候補に対するピーク判定処理を行うことにより、2×2画素ブロックに対するピーク抽出は完了する。このため、S801及びS802における移動量を変更する必要はない。すなわち、固定の移動量dcol=2を使用することができる。上記のように、候補抽出部151は、ピーク判定のために用いられる条件602のうちの一部を規定している、固定サイズの領域内の各位置に対応する条件1003A~1003Dに従って、ピーク位置候補(すなわち注目位置)を選択することができる。
【0099】
S808及びS811の処理は、
図4に示すS408及びS411と同様に行われる。ただし、S808及びS811の処理は、S810で選択されたピーク位置候補(注目画素)に対して行われる。なお、S810とS808の順序を入れ替えてもよい。この場合、S808において、比較部152は、2×2画素のスコアの最大値と閾値hとを比較してもよい。2×2画素のスコアの最大値が閾値hより小さい場合、この2×2画素ブロックに対するS810及びS811の処理を省略することができる。このような構成によっても、2×2の各画素ブロックについて、いくつかの画素に対するピーク判定処理をスキップすることができる。
【0100】
本変形例によれば、2×2画素単位でピーク位置候補を選択することにより、ピーク判定処理の回数を削減できる。このため、ピーク位置の検出を高速化できる。
【0101】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0102】
本明細書の開示は、以下の情報処理装置、情報処理方法及びプログラムを含む。
(項目1)
スコアマップからピーク位置を検出する情報処理装置であって、
注目位置がピーク位置を示すか否かを判定する判定手段と、
前記注目位置におけるスコアと、前記注目位置の周りの所定サイズの領域に含まれる第1の位置におけるスコアとの関係に基づいて、新たな注目位置を選択する選択手段と、
を備えることを特徴とする情報処理装置。
(項目2)
前記選択手段は、前記注目位置におけるスコアが前記第1の位置におけるスコア以下であると判定されると、前記第1の位置を前記新たな注目位置として選択することを特徴とする、項目1に記載の情報処理装置。
(項目3)
前記第1の位置は、前記注目位置よりも前記スコアマップの主走査方向の下流に位置することを特徴とする、項目1から2のいずれか1項目に記載の情報処理装置。
(項目4)
前記選択手段は、前記注目位置におけるスコアが前記第1の位置におけるスコアより大きいとの判定に応じて、前記第1の位置とは異なる第2の位置を前記新たな注目位置として選択することを特徴とする、項目1から3のいずれか1項目に記載の情報処理装置。
(項目5)
前記第1の位置は、前記注目位置よりも前記スコアマップの主走査方向の下流に位置し、前記第2の位置は、前記第1の位置よりも前記スコアマップの主走査方向の下流に位置することを特徴とする、項目4に記載の情報処理装置。
(項目6)
前記判定手段は、前記選択手段によって前記注目位置として選択されなかった位置を、ピーク位置を示さないと判定することを特徴とする、項目1から5のいずれか1項目に記載の情報処理装置。
(項目7)
前記判定手段は、前記注目位置がピーク位置を示すか否かを判定基準に従って判定し、
前記判定基準は、前記注目位置におけるスコアと、前記注目位置の周りの前記所定サイズの領域に含まれる各位置におけるスコアとが、所定の関係を満たすことである、項目1から6のいずれか1項目に記載の情報処理装置。
(項目8)
前記所定の関係は、前記注目位置におけるスコアと、前記所定サイズの領域に含まれる前記第1の位置におけるスコアとの間の第1の関係を含み、
前記選択手段は、前記注目位置におけるスコアと前記第1の位置におけるスコアとが前記第1の関係を満たさない判定されると、前記第1の位置を新たな注目位置として選択することを特徴とする、項目7に記載の情報処理装置。
(項目9)
前記選択手段は、前記注目位置におけるスコアと前記第1の位置におけるスコアとが前記第1の関係を満たすと判定されると、前記第1の位置とは異なる第2の位置を前記新たな注目位置として選択することを特徴とする、項目8に記載の情報処理装置。
(項目10)
前記第1の関係は、前記注目位置におけるスコアが前記第1の位置におけるスコアよりも大きいことであることを特徴とする、項目9に記載の情報処理装置。
(項目11)
前記第1の位置は、前記注目位置よりも前記スコアマップの主走査方向の下流に位置し、前記第2の位置は、前記第1の位置よりも前記スコアマップの主走査方向の下流に位置することを特徴とする、項目9から10のいずれか1項に記載の情報処理装置。
(項目12)
前記判定手段は、前記スコアマップの主走査方向に沿って位置する複数の前記注目位置のそれぞれについてピーク位置を示すか否かを判定し、
前記選択手段は、前記注目位置と新たな注目位置との間隔を決定し、前記間隔に基づいて前記新たな注目位置を選択することを特徴とする、項目1から11のいずれか1項目に記載の情報処理装置。
(項目13)
前記選択手段は、前記スコアマップの主走査方向に沿って前記注目位置に続くN個の連続する位置におけるそれぞれのスコアよりも、前記注目位置におけるスコアの方が大きいと判定されると、前記間隔をN+1に決定することを特徴とする、項目12に記載の情報処理装置。
(項目14)
前記情報処理装置は、前記スコアマップのうち主走査方向に沿って互いに間隔Mを有するように選択された複数の位置の中からピーク位置を検出し、
前記選択手段は、前記複数の位置のうち、前記注目位置に続くN個の位置におけるそれぞれのスコアよりも、前記注目位置におけるスコアの方が大きいと判定されると、前記間隔をM×(N+1)に決定することを特徴とする、項目12に記載の情報処理装置。
(項目15)
注目位置におけるスコアを閾値と比較する比較手段をさらに備え、
前記判定手段は、前記注目位置におけるスコアが閾値以上であると判定されると、前記注目位置がピーク位置を示すか否かを判定することを特徴とする、項目1から14のいずれか1項目に記載の情報処理装置。
(項目16)
前記スコアマップは画像の各位置に検出対象物体が存在する尤度を示し、
前記判定手段による判定結果に基づいて、前記画像中の前記検出対象物体の位置を推定する推定手段をさらに備えることを特徴とする、項目1から15のいずれか1項目に記載の情報処理装置。
(項目17)
スコアマップからピーク位置を検出する情報処理装置であって、
注目位置を選択する選択手段と、
前記注目位置におけるスコアを閾値と比較する比較手段と、
前記注目位置におけるスコアが閾値以上であると判定されていることに応じて、前記注目位置がピーク位置を示すか否かを判定基準に従って判定する判定手段と、を備え、
前記判定基準は、前記注目位置におけるスコアと、前記注目位置の周りの所定サイズの領域に含まれる各位置におけるスコアとが、前記各位置について定められた関係を満たすことを含み、
前記選択手段は、前記判定基準のうちの一部を満たすように、前記注目位置を選択することを特徴とする、情報処理装置。
(項目18)
前記選択手段は、固定サイズの領域から1つの前記注目位置を選択することを特徴とする、項目17に記載の情報処理装置。
(項目19)
入力画像の各位置に物体が存在する尤度に基づいて前記スコアマップを生成する生成手段と、
前記ピーク位置について、前記入力画像上での前記物体の位置を判定する判定手段と、
をさらに有することを特徴とする、項目1から18のいずれか1項目に記載の情報処理装置。
(項目20)
スコアマップからピーク位置を検出する情報処理方法であって、
注目位置がピーク位置を示すか否かを判定する工程と、
前記注目位置におけるスコアと、前記注目位置の周りの所定サイズの領域に含まれる第1の位置におけるスコアとの関係に基づいて、新たな注目位置を選択する工程と、
を有することを特徴とする情報処理方法。
(項目21)
スコアマップからピーク位置を検出する情報処理方法であって、
注目位置を選択する工程と、
前記注目位置におけるスコアを閾値と比較する工程と、
前記注目位置におけるスコアが閾値以上であると判定されていることに応じて、前記注目位置がピーク位置を示すか否かを判定基準に従って判定する工程と、を有し、
前記判定基準は、前記注目位置におけるスコアと、前記注目位置の周りの所定サイズの領域に含まれる各位置におけるスコアとが、前記各位置について定められた関係を満たすことを含み、
前記注目位置は、前記判定基準のうちの一部を満たすように選択されることを特徴とする、情報処理方法。
(項目22)
コンピュータを、項目1から19のいずれか1項目に記載の情報処理装置として機能させるためのプログラム。
【0103】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0104】
150:情報処理装置、151:候補抽出部、152:比較部、153:ピーク判定部