説明

画像処理装置、画像処理装置の制御方法、および、プログラム

【課題】ラベリング処理を効率的に実行する画像処理装置を実現する。
【解決手段】仮ラベルデータ生成部は、入力画像において所定の順番に従って画素に着目して現画素が前記有効画素であり、かつ、直前画素が現画素に隣接する有効画素でない場合には新たに発行した識別子を現画素の仮ラベルとして現画素に割り当てた仮ラベルデータを生成し、現画素が有効画素であり、かつ、直前画素が現画素に隣接する有効画素である場合には直前画素の仮ラベルを現画素の仮ラベルとして現画素に割り当てた仮ラベルデータを生成する。連結情報生成部は、現画素が有効画素である場合には直前画素に該当せず、かつ、現画素に隣接する有効画素の仮ラベルと現画素の仮ラベルとを連結関係にある仮ラベルとして対応付けた連結情報を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、画像処理装置および画像処理装置の制御方法ならびに当該方法をコンピュータに実行させるためのプログラムに関する。詳しくは、物体にラベルを付与する画像処理像装置および画像処理装置の制御方法ならびに当該方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【0002】
従来、画像処理装置において、画像内の物体を識別するために物体ごとに一意な識別子をラベルとして付与するラベリング処理が実行されることがあった。例えば、動画に含まれる各画像から移動する物体を検出して追跡する処理においてラベリング処理が用いられる。
【0003】
このラベリング処理においては、まず、画像処理装置は、所定の順番に従って画素に着目(スキャン)し、着目した着目画素が移動体の領域内の画素であるか否かを判別する。このスキャンにおいては、例えば、画像において上から下へ行の各々が順に着目され、行の各々においては左から右の方向へ順に画素が着目される。このように1ラインごとにスキャンを行うスキャニングはラスタスキャンと呼ばれる。そして、画像処理装置は、様々な手法を用いて移動体の領域内の画素に仮ラベルを付与する。
【0004】
ここで、仮ラベリングの手法として、例えば、着目した着目画素の左隣の画素と真上の画素との仮ラベル値を参照し、小さい方の仮ラベル値を着目画素に付与する手法が提案されている(例えば、特許文献1参照。)。この手法を用いて、例えば、座標が(0,0)、(1,0)、(0,1)、(1,1)の4つの画素を含む画像に仮ラベルを付与する場合を考える。ここで、1行目において(0,0)、(1,0)の順に、2行目において(0,1)、(1,1)の順に画素が着目され、1および2行目において(1,0)、(0,1)、(1,1)の画素のみが有効画素であったものとする。画像処理装置は、着目した順に従って、(1,0)の画素に仮ラベル値1、(0,1)の画素に仮ラベル値2を付与する。(1,1)の画素に対しては、画像処理装置は、真上の(1,0)の仮ラベル値1と左隣の(0,1)の仮ラベル2とのうちの小さい方の仮ラベル値1を付与する。
【0005】
仮ラベルの付与後において、画像処理装置は、互いの座標間の距離が一定値以内の画素群ごとに、一意な本ラベルを発行し、その画素群の仮ラベルと本ラベルとを対応付けたラベル変換テーブルを作成する。例えば、前述の例においては、仮ラベルが付与された(1,0)、(0,1)、(1,1)の画素は互いに隣接しているため、これらの画素の集合に対して本ラベル値1が発行される。そして、この本ラベル値1に、これらの画素の仮ラベル値1および2が対応付けられる。本ラベル発行後に、画像処理装置は、仮ラベリングの際と同一の順番に従って画素に着目する。そして、画像処理装置は、着目した画素に仮ラベルが付与されていれば、ラベル変換テーブルを参照して、仮ラベルを本ラベルに変換する本ラベリング処理を実行する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−105369号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述の従来技術では、本ラベリング処理の高速化が困難であった。上述の仮ラベリング処理においては、画像処理装置が着目した画素の真上の画素の仮ラベルを参照するため、着目する順(すなわち、ラスタスキャンの順)と異なる順番に仮ラベルが画素に付与されるおそれがある。この結果、本ラベリング処理において、ラベル変換テーブルが、着目した順と異なる順に不規則に参照されるおそれがあった。例えば、この仮ラベリング手法を使用した場合、前述のように(1,0)、(0,1)、(1,1)の画素にそれぞれ仮ラベル値1、2、1が付与される。この場合、ラスタスキャンの順、すなわち(1,0)、(0,1)、(1,1)の順とは無関係に不規則にラベル変換テーブルが参照されてしまう。有効画素数が多いほど、ラベル変換テーブルが不規則に参照される影響が大きくなり、ラベル変換テーブルへのアクセス効率が低下してしまう。この結果、本ラベリング処理の効率が低下し、ラベリング処理の高速化が困難になるという問題があった。
【0008】
本技術はこのような状況に鑑みて生み出されたものであり、ラベリング処理を効率的に実行する画像処理装置を実現することを目的とする。
【課題を解決するための手段】
【0009】
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、所定値の画素値を有する画素である有効画素を含む入力画像において所定の順番に従って上記画素に着目して当該着目された画素である現画素が上記有効画素であり、かつ、上記現画素の1つ前に着目された画素である直前画素が上記現画素に隣接する上記有効画素でない場合には新たに発行した識別子を上記現画素の仮ラベルとして上記現画素に割り当てた仮ラベルデータを生成し、上記現画素が上記有効画素であり、かつ、上記直前画素が上記現画素に隣接する上記有効画素である場合には上記直前画素の上記仮ラベルを上記現画素の仮ラベルとして上記現画素に割り当てた上記仮ラベルデータを生成する仮ラベルデータ生成部と、上記現画素が上記有効画素である場合には上記現画素に隣接する上記有効画素の上記仮ラベルと上記現画素の上記仮ラベルとを連結関係にある仮ラベルとして対応付けた連結情報を生成する連結情報生成部とを具備する画像処理装置、および、その制御方法ならびに当該方法をコンピュータに実行させるためのプログラムである。これにより、現画素が有効画素であり、かつ、直前画素が現画素に隣接する有効画素でない場合には新たな仮ラベルが現画素に割り当てられ、現画素が有効画素であり、かつ、直前画素が現画素に隣接する有効画素である場合には直前画素の仮ラベルが現画素に割り当てられるという作用をもたらす。
【0010】
また、この第1の側面において、いずれかの上記仮ラベルから当該仮ラベルと上記連結関係にある上記仮ラベルを辿っていくことにより相互に上記連結関係にある上記仮ラベルからなる集合を生成して当該集合の各々を識別するための識別子である本ラベルと上記仮ラベルとを対応付けたラベル変換テーブルを生成するラベル変換テーブル生成部と、上記仮ラベルデータにおける上記画素に上記所定の順番に従って着目して上記ラベル変換テーブルにおいて上記着目した画素の上記仮ラベルに対応付けられた上記本ラベルを上記仮ラベルの代わりに上記画素に割り当てた本ラベルデータを生成する本ラベルデータ生成部とをさらに具備してもよい。これにより、本ラベルと仮ラベルとを割り当てたラベル変換テーブルが生成され、そのラベル変換テーブルにおいて仮ラベルに対応する本ラベルが仮ラベルの代わりに割り当てられるという作用をもたらす。
【0011】
また、この第1の側面において、上記ラベル変換テーブルは、エントリ番号を有する複数のエントリを備え、上記ラベル変換テーブル生成部は、上記複数のエントリの各々の上記エントリ番号を上記仮ラベルの値として当該仮ラベルに対応する上記本ラベルを上記エントリに記録してもよい。これにより、エントリ番号が仮ラベルの値として仮ラベルに対応する本ラベルがエントリに記録されるという作用をもたらす。
【0012】
また、この第1の側面において、上記ラベル変換テーブル生成部は、上記連結情報における上記仮ラベルから当該仮ラベルと上記連結関係にある上記仮ラベルを辿って上記連結関係のある他の上記仮ラベルを辿れなくなった上記仮ラベルを起点仮ラベルとして決定する起点仮ラベル決定部と、上記決定された起点仮ラベルについて上記本ラベルを発行する本ラベル発行部と、上記起点仮ラベルの決定において辿った上記仮ラベルからなる上記集合において当該集合内の上記仮ラベルに対して上記起点仮ラベルについて発行された上記本ラベルを対応付けたテーブルを上記ラベル変換テーブルとして生成するラベル対応関係決定部とを備えてもよい。これにより、起点仮ラベルが決定され、その起点仮ラベルについて本ラベルが発行され、集合内の仮ラベルに対して起点仮ラベルについて発行された本ラベルが対応付けられるという作用をもたらす。
【0013】
また、この第1の側面において、検出対象画像において所定の物体を検出して当該検出された物体の領域内の画素との間において座標が一致する上記有効画素を含む画像を上記入力画像として生成する物体検出部をさらに具備してもよい。これにより、検出対象画像において検出された物体の領域内の画素との間において座標が一致する有効画素を含む画像が入力画像として生成されるという作用をもたらす。
【発明の効果】
【0014】
本技術によれば、画像処理装置がラベリング処理を効率的に実行することができるという優れた効果を奏し得る。
【図面の簡単な説明】
【0015】
【図1】実施の形態における画像処理装置の一構成例を示すブロック図である。
【図2】実施の形態におけるラベル付与部の一構成例を示すブロック図である。
【図3】実施の形態における仮ラベルデータ生成部の動作の一例を示す表である。
【図4】実施の形態における連結情報テーブル生成部の動作の一例を示す表である。
【図5】実施の形態における2値画像の一例を示す図である。
【図6】実施の形態における仮ラベルデータの一例を示す図である。
【図7】(a)実施の形態における連結情報テーブルの一例である。(b)実施の形態におけるラベル変換テーブルの一例である。
【図8】実施の形態における本ラベルデータの一例を示す図である。
【図9】実施の形態における画像処理装置の動作の一例を示すフローチャートである。
【図10】実施の形態における仮ラベルデータ生成処理の一例を示すフローチャートである。
【図11】実施の形態における連結情報テーブルエントリ追加処理の一例を示すフローチャートである。
【図12】実施の形態におけるラベル変換テーブル生成処理の一例を示すフローチャートである。
【図13】実施の形態における起点仮ラベル決定処理の一例を示すフローチャートである。
【図14】実施の形態における本ラベル発行処理の一例を示すフローチャートである。
【図15】実施の形態におけるラベル対応関係決定処理の一例を示すフローチャートである。
【図16】実施の形態における本ラベルデータ生成処理の一例を示すフローチャートである。
【図17】実施の形態における起点仮ラベルを探索中のラベル変換テーブルの一例である。
【図18】実施の形態における起点本ラベル配列の一例を示す図である。
【図19】実施の形態における本ラベルを付与中のラベル変換テーブルの一例である。
【図20】実施の形態における1行目のラベルの変換処理を説明するための図である。
【図21】実施の形態における2行目のラベルの変換処理を説明するための図である。
【図22】変形例におけるラベル変換テーブルの一例を示す図である。
【発明を実施するための形態】
【0016】
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(ラベリング処理:直前画素の仮ラベルを現画素に割り当てる例)
2.変形例
【0017】
<1.第1の実施の形態>
[画像処理装置の構成例]
図1は、実施の形態における画像処理装置100の一構成例を示すブロック図である。この画像処理装置100は、入力された検出対象画像に対して所定の画像処理を実行するものであり、前処理部110、移動体検出部120、ラベル付与部200、移動体追跡処理部130、および、後処理部140を備える。ここで、検出対象画像は、例えば、動画を構成するフレームのそれぞれであり、2次元格子上に配列された画素からなる画像である。
【0018】
前処理部110は、移動体検出部120以降における処理の実行を容易にするための画像処理を前処理として実行するものである。例えば、手ブレを検出して、そのブレを補正する処理などが前処理として実行される。手ブレの検出方式はとしては、動画におけるフレームの各々に基づいてカメラの動きのベクトルを求めるベクトル検出方式などが用いられる。前処理部110は、前処理を施した検出対象画像を移動体検出部120に信号線119を介して出力する。
【0019】
移動体検出部120は、移動する物体を移動体として検出するものである。この移動体検出部120は、例えば、動画における今回の検出対象画像(フレーム)と前回の検出対象画像(フレーム)とを比較することにより、移動体を検出する。そして、移動体検出部120は、検出した移動体の領域内の画素の画素値を2値のうちの一方の値(例えば、1)とし、それ以外の画素の画素値を他方の値(例えば、0)とした画像(以下、「2値画像」と称する。)を検出対象画像から生成する。以下、移動体として検出された物体の領域内の画素を「有効画素」と称し、それ以外の画素を「無効画素」と称する。移動体検出部120は、生成した2値画像をラベル付与部200に信号線129を介して出力する。
【0020】
なお、移動体検出部120は、パターンマッチングなどを行うことにより人物の顔等の物体を認識して、その物体の領域内の画素を有効画素、それ以外の画素を無効画素として2値画像を生成してもよい。また、移動体は、特許請求の範囲に記載の物体の一例である。また、2値画像は、特許請求の範囲に記載の入力画像の一例である。
【0021】
ラベル付与部200は、移動体の領域ごとに、その領域を識別するための識別子を本ラベルとして付与する(割り当てる)ものである。ラベル付与部200は、移動体の領域内の画素のそれぞれの座標と、その領域に割り当てた本ラベルとを含む本ラベルデータを生成して移動体追跡処理部130に信号線209を介して出力する。
【0022】
移動体追跡処理部130は、移動体を追跡する処理を実行するものである。具体的には、移動体追跡処理部130は、前回の本ラベルデータと今回の本ラベルデータとを比較して、サイズや位置が近い本ラベル同士を対応付ける。前回の本ラベルと対応付けられた今回の本ラベルは、前回検出された移動体と同一の移動体の本ラベルであるとして扱われる。移動体追跡処理部130は、本ラベル同士を対応付けたデータを後処理部140へ信号線139を介して出力する。
【0023】
後処理部140は、本ラベルの対応関係から、移動体の追跡結果を生成するものである。例えば、後処理部140は、今回の本ラベルデータにおいて前回と対応するものが見つからなかった本ラベルに対応する移動体を新たに出現した移動体であると判断する。また、後処理部140は、前回の本ラベルデータにおいて今回と対応するものが見つからなかった本ラベルに対応する移動体を消失した移動体であると判断する。後処理部140は、移動体ごとに、判断結果と、移動体の領域内の画素の座標および本ラベルとを含む追跡結果を生成して出力する。この判断結果は、その移動体が前回にも検出されたか否か、および、新たに出現した移動体であるか否か、ならびに、消失した移動体であるか否かについて判断された結果を含む。
【0024】
[ラベル付与部の構成例]
図2は、実施の形態におけるラベル付与部200の一構成例を示すブロック図である。このラベル付与部200は、仮ラベル付与部210、仮ラベルデータ保持部220、連結情報テーブル保持部230、ラベル変換テーブル生成部240、起点本ラベル配列保持部250、および、ラベル変換テーブル保持部260を備える。また、ラベル付与部200は、本ラベルデータ生成部270および本ラベルデータ保持部280を備える。
【0025】
仮ラベル付与部210は、2値画像において画素に仮ラベルを割り当てて、仮ラベルデータおよび連結情報テーブルを生成するものである。この仮ラベル付与部210は、仮ラベルデータ生成部211および連結情報テーブル生成部212を備える。
【0026】
仮ラベルデータ生成部211は、2値画像において順に画素に着目して、着目した画素が有効画素である場合に、その画素に仮ラベルを割り当てた仮ラベルデータを生成するものである。詳細には、仮ラベルデータ生成部211は、次の手順に従って仮ラベルデータを生成する。まず、仮ラベルデータ生成部211は、2値画像においてラスタスキャンを行う。このラスタスキャンにおいては、例えば、画像において上から下へ行の各々が順に着目され、行の各々においては左から右の方向へ順に画素が着目される。以下、仮ラベルデータ生成部211が着目した画素を「現画素」と称し、現画素の1つ前に着目された画素を「直前画素」と称する。例えば、現画素の座標を(m,n)とした場合、直前画素の座標は、(m−1,n)とされる。
【0027】
なお、一定の順に従って画像が着目されるのであれば、画素に着目する順は任意である。仮ラベルデータ生成部211は、例えば、画像の左から右へ列の各々に順に着目し、列の各々においては上から下へ順に画素に着目してもよい。
【0028】
そして、仮ラベルデータ生成部211は、現画素が有効画素であるか否かを判断する。現画素が無効画素である場合には、ラスタスキャンの順における次の画素が着目される。現画素が有効画素である場合には、仮ラベルデータ生成部211は、直前画素が現画素に隣接する有効画素であるか否かを判断する。直前画素が現画素に隣接する有効画素でないとき(言い換えれば、直前画素が無効画素であるとき、または、直前画素が現画素に隣接していないとき)、仮ラベルデータ生成部211は、新たに発行した識別子を現画素の仮ラベルとして現画素に割り当てる。直前画素が現画素に隣接する有効画素であるとき、仮ラベルデータ生成部211は、直前画素の仮ラベルを現画素の仮ラベルとして現画素に割り当てる。仮ラベルデータ生成部211は、画素ごとに、その画素の座標と画素に割り当てた仮ラベルとを対応付けたデータを仮ラベルデータとして生成して仮ラベルデータ保持部220に保持する。また、仮ラベルデータ生成部211は、ラスタスキャンにおいて着目した画素の画素値および座標を連結情報テーブル生成部212に出力する。
【0029】
連結情報テーブル生成部212は、互いに連結関係にある仮ラベル同士を対応付けた連結情報テーブルを生成するものである。この連結情報テーブルは、連結情報テーブル保持部230に保持される。
【0030】
ここで、画素間に連結関係があるか否かは、2次元座標系における画素間の距離が一定の値(例えば、21/2)以下であるか否かにより判断される。互いに連結関係にある仮ラベルが付与された画素は、同一の移動体の領域内の画素として扱われる。ここで、連結情報テーブル生成部212は、現画素の仮ラベルと直前画素の仮ラベルとを対応付けたエントリについては連結情報テーブルに追加しない。前述したように直前画素および現画素の仮ラベルは同一であり、このエントリはラベル変換テーブルの生成に必要でないためである。また、連結情報テーブル生成部212は、連結情報テーブルに同じエントリを2つ以上、追加しない。連結情報テーブルの無駄を省くためである。なお、現画素および直前画素の仮ラベルからなるエントリや、重複するエントリを連結情報テーブル生成部212が追加し、これらのエントリの処理をラベル変換テーブル生成部240がスキップする構成とすることもできる。
【0031】
例えば、距離が21/2以下の画素間に連結関係があると定義した場合を考える。この場合、現画素(m,n)と連結する画素の座標は、(m−1,n−1)、(m,n−1)、(m+1,n−1)、(m−1,n)、(m+1,n)、(m−1,n+1)、(m,n+1)、および、(m+1,n+1)の8つである。このうち、(m−1,n)は直前画素であるから、連結情報テーブルに追加する対象から除かれる。また、ラスタスキャンにおいて、(m+1,n)、(m−1,n+1)、(m,n+1)、および、(m+1,n+1)は、現画素より後に着目されるため、未だ仮ラベルが付与されていない。このため、現画素に着目した時点においては、これらの画素が連結情報テーブルに追加されることはない。したがって、連結情報テーブル生成部212は、(m−1,n−1)、(m,n−1)、および、(m+1,n−1)の3つの画素について有効画素であるか否かを判断すればよい。
【0032】
現画素と、(m−1,n−1)、(m,n−1)、および、(m+1,n−1)のうちのいずれかと、が有効画素である場合について考える。この場合、連結情報テーブル生成部212は、現画素の仮ラベルと、有効画素(M、n−1)の仮ラベルとを対応付けたエントリを、新規に追加するエントリを生成する。ここで、Mは、m−1、m、または、m+1である。このエントリが直前エントリと重複しない場合、連結情報テーブル生成部212は、その候補を連結情報テーブルに追加する。ここで、直前エントリは、追加するエントリの候補の直前に追加されたエントリ、言い換えれば、現画素に着目した時点における最後のエントリである。
【0033】
なお、連結情報テーブル生成部212は、画素間の距離が21/2以下であるか否か以外の条件に従って連結関係を判断することもできる。例えば、距離が1以下の画素間に連結関係があると定義した場合、連結情報テーブル生成部212は、(m,n−1)の画素についてのみ、有効画素であるか否かを判断すればよい。また、距離が2以下の画素間に連結関係があると定義した場合、連結情報テーブル生成部212は、(m−1、n−1)、(m,n−1)、(m+1,n−1)、および、(m,n−2)の画素について有効画素であるか否かを判断すればよい。また、連結情報テーブル生成部212は、特許請求の範囲に記載の連結情報生成部の一例である。
【0034】
ラベル変換テーブル生成部240は、仮ラベルと本ラベルとを対応付けたラベル変換テーブルを連結情報テーブルから生成するものである。ラベル変換テーブル生成部240は、例えば、次の手順に従ってラベル変換テーブルを生成する。
【0035】
まず、ラベル変換テーブル生成部240は、連結情報テーブルにおいて連結元仮ラベルLpfから連結先仮ラベルLptへと連結関係にある仮ラベルを辿ってゆき、他に連結関係のある仮ラベルを辿れなくなった仮ラベルを求める。求められた仮ラベルは、互いに連結関係にある仮ラベルの集合において、最初に発行された仮ラベルである。この仮ラベルを以下、「起点仮ラベル」と称する。ラベル変換テーブル生成部240は、互いに連結関係のある仮ラベルからなる集合(言い換えれば、同じ移動体の領域内の画素群)ごとに起点仮ラベルを求める。
【0036】
次に、ラベル変換テーブル生成部240は、起点仮ラベルの各々について本ラベルを発行する。ラベル変換テーブル生成部240は、それらの起点仮ラベルに対し、発行した本ラベルを対応付けた起点本ラベル配列を、起点本ラベル配列保持部250に保持する。
【0037】
そして、ラベル変換テーブル生成部240は、起点仮ラベルの探索において辿った全ての仮ラベルに対して、その起点仮ラベルについて発行された本ラベルを対応付けたテーブルをラベル変換テーブルとして生成する。生成されたラベル変換テーブルは、ラベル変換テーブル保持部260に保持される。
【0038】
本ラベルデータ生成部270は、ラベル変換テーブルおよび仮ラベルデータから本ラベルデータを生成するものである。具体的には、本ラベルデータ生成部270は、仮ラベルデータにおいてラスタスキャンを行う。このラスタスキャンの順は、仮ラベルを割り当てた際のラスタスキャンの順と同じものである。そして、本ラベルデータ生成部270は、ラスタスキャンにおいて着目した現画素の仮ラベルに対応する本ラベルをラベル変換テーブルから読み出し、読み出した本ラベルを仮ラベルの代わりに現画素に割り当てる。本ラベルデータ生成部270は、画素ごとに、その画素の座標と画素に割り当てた本ラベルとを対応付けたデータを本ラベルデータとして生成して本ラベルデータ保持部280に保持する。
【0039】
図3は、実施の形態における仮ラベルデータ生成部211の動作の一例を示す表である。仮ラベルデータ生成部211は、ラスタスキャンにおいて着目した現画素の画素値P(m,n)が1である(すなわち、有効画素である)か否かを判断する。P(m,n)が0である場合、仮ラベルデータ生成部211は、その座標について無効な値(例えば、0)の仮ラベルを割り当てる。P(m,n)が1である場合、仮ラベルデータ生成部211は、現画素に隣接する直前画素の仮ラベル値Lp(m−1,n)が0以外の値である(すなわち、その直前画素が有効画素である)か否かを判断する。Lp(m−1,n)が0以外の値である場合、仮ラベルデータ生成部211は、Lp(m−1,n)の値の仮ラベルを現画素に割り当てる。Lp(m−1,n)が0である場合、仮ラベルデータ生成部211は、新たに発行した値の仮ラベルを現画素に割り当てる。
【0040】
図4は、実施の形態における連結情報テーブル生成部212の動作の一例を示す表である。連結情報テーブル生成部212は、現画素の画素値P(m,n)が1であるか否かを判断する。P(m,n)が1である場合、連結情報テーブル生成部212は、現画素と連結関係にある画素の仮ラベル値Lp(M,n−1)のうちのいずれかが0以外の値(有効な値)であるか否かを判断する。ここで、Mは、m−1、m、または、m+1である。Lp(M,n−1)のうちのいずれかが有効な値である場合、連結情報テーブル生成部212は、Lp(m,n)と、有効な仮ラベル値Lp(M,n−1)とを対応付けたエントリが直前エントリと重複するか否かを判断する。Lp(m,n)およびLp(M,n−1)からなるエントリが直前エントリと重複しなければ、連結情報テーブル生成部212は、そのエントリを連結情報テーブルに新たに追加する。
【0041】
図5は、実施の形態における2値画像の一例を示す図である。2値画像において、網掛けの画素は検出対象画像において検出された移動体の領域内の画素(すなわち、有効画素)であり、それ以外の画素は移動体の領域外の画素(すなわち、無効画素)である。有効画素の画素値は、例えば1であり、無効画素の画素値は、例えば0である。なお、有効画素および無効画素のそれぞれの画素値は1および0に限定されない。例えば、有効画素の画素値を0とし、無効画素の画素値を255としてもよい。
【0042】
図6は、実施の形態における仮ラベルデータ保持部220に保持された仮ラベルデータの一例を示す図である。この仮ラベルデータにおいて、網掛けの画素は有効画素であり、そうでない画素は無効画素である。有効画素には有効な値(例えば、0以外の値)の仮ラベルが割り当てられ、無効画素には無効な値(例えば、0)の仮ラベルが割り当てられる。そして、この仮ラベルは、画素に着目した順に沿って規則的に発行される。例えば、2値画像において(0,0)乃至(4,0)が無効画素であり、(5,0)が有効画素であった場合について考える。この場合、着目された無効画素(0,0)乃至(4,0)には無効な値(例えば、0)の仮ラベルが割り当てられる。そして、次に着目された現画素(5,0)は有効画素であり、その直前画素(4,0)は無効画素であるから、現画素(5,0)には新たに発行した1の値の仮ラベルが割り当てられる。続いて着目された(6,0)および(7,0)が無効画素であり、(8,0)が有効画素であった場合、同様に、(6,0)および(7,0)に0が割り当てられ、(8,0)には新たに発行した2の値が割り当てられる。そして、次に着目された現画素(9,0)が有効画素であった場合、直前画素(8,0)が有効画素であるため、その直前画素の仮ラベル値である2が、現画素(9,0)に割り当てられる。
【0043】
図7は、実施の形態における連結情報テーブルLおよびラベル変換テーブルHの一例である。図7(a)は連結情報テーブル保持部230に保持された連結情報テーブルLの一例である。この連結情報テーブルLは、結合元仮ラベル値Lpfと結合先仮ラベル値Lptとを対応付けたエントリを1つ以上有する。結合元仮ラベル値Lpfの配列には、現画素の仮ラベル値が保持され、結合先仮ラベル値Lptの配列には、現画素と連結関係にある有効画素の仮ラベル値が保持される。例えば、仮ラベルデータにおいて現画素(4,1)の仮ラベル値が4であり、その現画素と連結関係にある有効画素(5,0)の仮ラベル値が1であり、この連結関係が最初に見つかった場合を考える。この場合、4が最初の結合元仮ラベル値Lpf[0]に保持され、1が最初の結合先仮ラベル値Lpt[0]に保持される。
【0044】
図7(b)は、ラベル変換テーブル保持部260に保持されたラベル変換テーブルHの一例である。このラベル変換テーブルHは、各々にエントリ番号が割り当てられた複数のエントリを有する。このエントリ番号は、例えば、先頭からのメモリオフセット値である。エントリの各々には、そのエントリのメモリオフセット値と同じ値の仮ラベルに対応する本ラベルが保持される。例えば、仮ラベル値1乃至9に対して、本ラベル値1が対応付けられた場合、ラベル変換テーブルHにおいてメモリオフセット値1乃至9のエントリに本ラベル値1が保持される。なお、メモリオフセット値0の領域は、有効な本ラベル値を保持する領域として用いられない。
【0045】
図8は、実施の形態における本ラベルデータの一例を示す図である。この本ラベルデータにおいては、画素の各々について仮ラベルに代えて本ラベルが割り当てられる。例えば、仮ラベルデータにおいて(4,1)に4の仮ラベル値が割り当てられ、ラベル変換テーブルにおいて仮ラベル値4に本ラベル値1が対応付けられた場合について考える。この場合、(4,1)に対して、仮ラベル値4の代わりに本ラベル値1が割り当てられる。この結果、2値画像において互いに連結関係にある有効画素からなる領域の各々に対して異なる本ラベルが割り当てられる。例えば、有効画素(2,4)と有効画素(2,5)との間の距離は21/2以下であるから互いに連結関係にあり、これらには同じ値の本ラベル値1が割り当てられる。一方、無効画素(2,6)を挟む有効画素(2,7)と有効画素(2,5)との間の距離は、21/2より大きく連結関係にないため、(2,7)には(2,5)とは異なる本ラベル値3が割り当てられる。
【0046】
[画像処理装置の動作例]
次に、図9を参照して、上述の実施の形態における画像処理装置100の動作の一例について説明する。この動作は、例えば、動画に含まれる検出対象画像が画像処理装置100に入力されたときに開始する。画像処理装置100は、検出対象画像に対し、カメラのブレ補正などの前処理を実行する(ステップS910)。そして、画像処理装置100は、前回の検出対象画像と今回の検出対象画像とから移動体を検出して、移動体の領域内の画素を有効画素とし、移動体の領域外の画素を無効画素とした2値画像を生成する(ステップS911)。
【0047】
画像処理装置100は、2値画像から仮ラベルデータおよび連結情報テーブルを生成するための仮ラベルデータ生成処理を実行する(ステップS920)。画像処理装置100は、連結情報テーブルからラベル変換テーブルを生成するためのラベル変換テーブル生成処理を実行する(ステップS940)。画像処理装置100は、仮ラベルデータおよびラベル変換テーブルから本ラベルデータを生成するための本ラベルデータ生成処理を実行する(ステップS980)。
【0048】
画像処理装置100は、前回および今回の本ラベルデータを比較して、サイズや位置が近い領域の本ラベル同士を対応付ける(ステップS991)。画像処理装置100は、本ラベルの対応関係から、移動体ごとに出現および消失を判定し、追跡結果を出力する(ステップS992)。ステップS992の後、画像処理装置100は、今回の検証対象画像に対する画像処理を終了する。
【0049】
[ラベル付与部の動作例]
次に、図10乃至15を参照して、実施の形態におけるラベル付与部200の動作の一例について説明する。図10は、実施の形態における仮ラベルデータ生成処理の一例を示すフローチャートである。画像処理装置100におけるラベル付与部200は、仮ラベル値の計数値である仮ラベルカウンタCpを0に初期化する(ステップS921)。ラベル付与部200は、2値画像においてラスタスキャンを行う。ここで、2値画像における画素の水平座標は0乃至W−1であり、垂直座標は0乃至H−1とする。ラスタスキャンにおいては、(0,0)から(W−1,H−1)へ順に画素が着目される。ラベル付与部200は、着目した画素を現画素として次のステップS923乃至S930を実行する(ステップS922)。ステップS922の後、ラベル付与部200は、仮ラベルデータ生成処理を終了する。
【0050】
ラベル付与部200は、現画素が有効画素である(すなわち、現画素の画素値P(m,n)が1である)か否かを判断する(ステップS923)。現画素が有効画素である場合(ステップS923:Yes)、ラベル付与部200は、直前画素が現画素に隣接する(言い換えれば、m≠0である)か否かを判断する(ステップS924)。直前画素が現画素に隣接する場合(ステップS924:Yes)、ラベル付与部200は、直前画素が有効画素である(すなわち、直前画素の仮ラベル値Lp(m,n−1)≠0)か否かを判断する(ステップS925)。直前画素が有効画素である場合(ステップS925:Yes)、ラベル付与部200は、直前画素の仮ラベル値Lp(m,n−1)を現画素の仮ラベル値L(m,n)として現画素に割り当てる(ステップS926)。
【0051】
直前画素が現画素に隣接しない場合(ステップS924:No)、または、直前画素が有効画素でない場合(ステップS925:No)、ラベル付与部200は、現画素に新規に仮ラベルを割り当てる。具体的には、仮ラベルカウンタCpをインクリメントし、インクリメント後の仮ラベルカウンタCpの値を現画素の仮ラベル値Lp(m,n)として現画素に割り当てる(ステップS928)。ステップS926またはS928の後、ラベル付与部200は、連結情報テーブルにエントリを追加するための連結情報テーブルエントリ追加処理を実行する(ステップS930)。
【0052】
現画素が有効画素でない場合(ステップS923:No)、ラベル付与部200は、無効な値(例えば、0)の仮ラベルを現画素の仮ラベル値Lp(m,n)として現画素に割り当てる(ステップS927)。ステップS927またはステップS930の後、ラベル付与部200は、ステップS922に戻る。
【0053】
図11は、連結情報テーブルエントリ追加処理の一例を示すフローチャートである。ラベル付与部200は、現画素が2値画像における1行目の画素であるか否かを判断する(ステップS931)。
【0054】
現画素が2行目以降の画素である場合(ステップS931:No)、ラベル付与部200は、水平座標M(Mは、m−1乃至m+1)について次のステップS933乃至S935の処理を実行する(ステップS932)。
【0055】
ラベル付与部200は、現画素に連結する画素の仮ラベル値Lp(M,n−1)が0より大きいか否かを判断する(ステップS933)。Lp(M,n−1)が0より大きい場合(ステップS933:Yes)、ラベル付与部200は、Lp(m,n)およびLp(M,n−1)からなるエントリが連結情報テーブルにおける直前エントリと重複するか否かを判断する(ステップS934)。Lp(m,n)およびLp(M,n−1)のエントリが直前エントリと重複しない場合(ステップS934:No)、ラベル付与部200は、そのエントリを連結情報テーブルに追加する(ステップS935)。
【0056】
Lp(M,n−1)が0である場合(ステップS933:No)、または、直前エントリと重複する場合(ステップS934:Yes)、もしくは、ステップS935の後、ラベル付与部200は、ステップS932に戻る。
【0057】
現画素が1行目の画素である場合(ステップS931:Yes)、または、ステップS932の後、ラベル付与部200は、連結情報テーブルエントリ追加処理を終了する。
【0058】
図12は、実施の形態におけるラベル変換テーブル生成処理の一例を示すフローチャートである。ラベル変換テーブル生成処理においてラベル付与部200は、起点仮ラベルを決定するための起点仮ラベル決定処理を実行し(ステップS945)、本ラベルを発行するための本ラベル発行処理を実行する(ステップ960)。そして、ラベル付与部200は、仮ラベルと本ラベルとの対応関係を決定するためのラベル対応関係決定処理を実行する(ステップS970)。ラベル対応関係決定処理の後、ラベル付与部200は、ラベル変換テーブル生成処理を終了する。
【0059】
図13は、実施の形態における起点仮ラベル決定処理の一例を示すフローチャートである。ラベル付与部200は、連結情報テーブルLのエントリの数をNとして保持する。また、ラベル付与部200は、仮ラベルの各々に対する本ラベルの値を全て0に初期化したラベル変換テーブルHを生成する(ステップS946)。
【0060】
ラベル付与部200は、0乃至N−1の変数iについて次のステップS948乃至S955を実行する(ステップS947)。ステップS947の後、ラベル付与部200は、起点仮ラベル決定処理を終了する。
【0061】
ラベル付与部200は、連結情報テーブルLを参照し、i番目の連結元仮ラベル値Lpf[i]を変数aに保持し、i番目の連結先仮ラベル値Lpt[i]を変数bに保持する(ステップS948)。ラベル付与部200は、ラベル変換テーブルHにおいて、a番目のエントリH[a]が0であるか否かを判断する(ステップS949)。H[a]が0でない場合(ステップS949:No)、ラベル付与部200は、変数aをH[a]により更新する(ステップS950)。ステップS950の後、ラベル付与部200は、ステップS949に戻る。
【0062】
H[a]が0である場合(ステップS949:Yes)、ラベル付与部200は、ラベル変換テーブルHにおいて、b番目のエントリH[b]が0であるか否かを判断する(ステップS951)。H[b]が0でない場合(ステップS951:No)、ラベル付与部200は、変数bをH[b]により更新する(ステップS952)。ステップS952の後、ラベル付与部200は、ステップS951に戻る。
【0063】
H[b]が0である場合(ステップS951:Yes)、ラベル付与部200は、aがbより大きいか否かを判断する(ステップS953)。なお、仮ラベルデータ生成処理において同じ値のLpfおよびLptが、連結情報テーブルLに保持されることはないため、aおよびbが同じ値となることはない。
【0064】
aがbより大きい場合(ステップS953:Yes)、ラベル付与部200は、H[a]をbにより更新する(ステップS954)。aがbより小さい場合(ステップS953:No)、ラベル付与部200は、H[b]をaにより更新する(ステップS955)。ステップS954またはS955の後、ラベル付与部200は、ステップS947に戻る。
【0065】
起点仮ラベル決定処理により、ラベル変換テーブルHにおいて起点仮ラベルに対応するエントリに0が保持される。また、起点仮ラベル以外の仮ラベルに対応するエントリには、起点仮ラベルを辿るための値(例えば、起点仮ラベルのエントリを示すポインタやポインタのポインタ)が保持される。
【0066】
図14は、実施の形態における本ラベル発行処理の一例を示すフローチャートである。ラベル付与部200は、仮ラベルの各々に対応するエントリを有し、それらのエントリの値を全て0に初期化した起点本ラベル配列Tを生成する。また、ラベル付与部200は、仮ラベルの個数をNpとして保持し、本ラベル値の計数値である本ラベルカウンタCnpを0に初期化する(ステップS961)。
【0067】
ラベル付与部200は、0乃至Np−1の変数jについて次のステップS963およびS964を実行する(ステップS962)。ステップS962の後、ラベル付与部200は、起点仮ラベル決定処理を終了する。
【0068】
ラベル付与部200は、変数jの値が起点仮ラベルの値である(すなわち、j番目のエントリH[j]=0)か否かを判断する(ステップS963)。H[j]=0である場合(ステップS963:Yes)、ラベル付与部200は、起点本ラベル配列におけるj番目のエントリT[j]を本ラベルカウンタCnpの値により更新し、Cnpをインクリメントして本ラベルを発行する(ステップS964)。H[j]≠0である場合(ステップS963:No)、または、ステップS964の後、ラベル付与部200は、ステップS962に戻る。
【0069】
本ラベル発行処理により、起点本ラベル配列において、起点仮ラベルと同じ値のエントリに本ラベルが保持され、他のエントリには0の値が保持される。
【0070】
図15は、実施の形態におけるラベル対応関係決定処理の一例を示すフローチャートである。ラベル付与部200は、Np−1乃至0の変数kについて次のステップS972乃至S977を実行する(ステップS971)。ステップS971の後、ラベル付与部200は、ラベル対応関係決定処理を終了する。
【0071】
ラベル付与部200は、ラベル変換テーブルHにおいてk番目のエントリH[k]が0であるか否かを判断する(ステップS972)。H[k]が0でない場合(ステップS972:No)、ラベル付与部200は、変数kの値を変数tに保持する(ステップS973)。そして、ラベル付与部200は、ラベル変換テーブルHにおいてH[t]が0であるか否かを判断する(ステップS974)。H[t]が0でない場合(ステップS974:No)、ラベル付与部200は、変数tの値をH[t]により更新する(ステップS975)。ステップS975の後、ラベル付与部200は、ステップS974に戻る。
【0072】
H[t]が0である場合(ステップS974:Yes)、ラベル付与部200は、仮ラベル値kに対し、本ラベル値T[t]を対応付ける。具体的には、ラベル付与部200は、ラベル変換テーブルHにおいてH[k]をT[t]により更新する(ステップS976)。
【0073】
H[k]が0である場合(ステップS972:Yes)、ラベル付与部200は、仮ラベル値kに対し、本ラベル値T[k]を対応付ける。具体的には、ラベル付与部200は、ラベル変換テーブルHにおいてH[k]をT[k]により更新する(ステップS977)。ステップS976またはS977の後、ラベル付与部200は、ステップ971に戻る。
【0074】
ラベル対応関係決定処理により、ラベル変換テーブルにおいて起点仮ラベルと連結関係にある仮ラベルの各々に対し、その起点仮ラベルについて発行された本ラベルが対応付けられる。
【0075】
図16は、実施の形態における本ラベルデータ生成処理の一例を示すフローチャートである。ラベル付与部200は、仮ラベルデータにおいてラスタスキャンを行う。このラスタスキャンにおいて着目した画素を現画素としてラベル付与部200は、次のステップS982およびS983を実行する(ステップS981)。ステップS981の後、ラベル付与部200は、本ラベルデータ生成処理を終了する。
【0076】
ラベル付与部200は、現画素の仮ラベル値Lp(m,n)が無効な値(例えば、0)であるか否かを判断する(ステップS982)。Lp(m,n)≠0である場合(ステップS982:No)、ラベル付与部200は、仮ラベルデータにおいて仮ラベル値Lp(m,n)を、その仮ラベル値に対応する本ラベル値H[Lp(m,n)]に置き換える(ステップS983)。ステップS983の後、ラベル付与部200は、ステップS981に戻る。
【0077】
本ラベルデータ生成処理により、仮ラベルデータにおいて仮ラベルが本ラベルに置き換えられる。仮ラベルが本ラベルに置き換えられた仮ラベルデータは、本ラベルデータとして出力される。
【0078】
なお、ラベル付与部200は、仮ラベルデータにおいて仮ラベルを本ラベルに更新したものを本ラベルデータとして生成しているが、仮ラベルデータと別途に本ラベルデータを生成してもよい。この場合、ラベル付与部200は、仮ラベルデータから現画素の仮ラベルを読み出し、別途に生成した本ラベルデータにおいて、その現画素の座標と同じ座標の画素に対し、仮ラベルと対応する本ラベルを対応付ける。
【0079】
続いて、図17乃至図19を参照して、連結情報テーブルLからラベル変換テーブルHを生成する処理について説明する。図17は、実施の形態における起点仮ラベルを探索中のラベル変換テーブルHの一例である。
【0080】
2値画像の画素について、1乃至17の値の仮ラベルが付与された場合について考える。また、仮ラベルデータは図6に例示した構成であり、連結情報テーブルLは図7(a)に例示した構成であるものとする。この場合、メモリオフセット値が1乃至17のエントリを有するラベル変換テーブルHが生成される。初期状態においては、エントリの各々には0の値が保持される。
【0081】
i=0の場合、連結情報テーブルにおいてLpf[0]=4であり、Lpt[0]=1である。つまり、4の仮ラベルと1の仮ラベルとが連結関係にある。また、初期状態のラベル変換テーブルHにおいてH[4]およびH[1]はいずれも0である。この場合、H[4]の値が、4と連結関係にある1の値により更新される。
【0082】
i=1の場合、連結情報テーブルにおいてLpf[1]=5であり、Lpt[1]=2である。この場合、H[5]の値が、5と連結関係にある2の値により更新される。i=2の場合、連結情報テーブルにおいてLpf[2]=6であり、Lpt[2]=3である。この場合、H[6]の値が、6と連結関係にある3の値により更新される。
【0083】
i=3の場合、連結情報テーブルにおいてLpf[3]=6であり、Lpt[3]=4である。また、i=2の状態のラベル変換テーブルHにおいてH[6]およびH[4]は0でない。この状態のラベル変換テーブルHにおいて、メモリオフセット値6に対応付けられた仮ラベルH[6](=3)を辿り、その仮ラベル値3に対応付けられた仮ラベル値H[3]を辿ると、H[3]は無効な値0である。一方、メモリオフセット値4に対応付けられた仮ラベルH[4](=1)を辿り、その仮ラベル値1に対応付けられた仮ラベル値H[1]を辿ると、H[1]は無効な値0である。連結関係のある他の仮ラベルを辿れなくなったときの仮ラベルはそれぞれ3と1とであるため、H[3]の値が、3と連結関係にある1の値により更新される。
【0084】
このようにしてiが0から13となるまでラベル変換テーブルHを更新してゆくと、互いに連結関係にある仮ラベルの集合において最初に発行された仮ラベル(起点仮ラベル)をメモリオフセット値とするエントリに0の値が保持される。それ以外のエントリには、起点仮ラベルを辿るための値が保持される。例えば、仮ラベル1乃至9および11が互いに連結関係にある場合、この集合において最初に発行された仮ラベルの値は1である。したがって、メモリオフセット値が1のエントリに0の値が保持される。メモリオフセット値2乃至4のエントリには、起点仮ラベルの値を示すポインタの値である1が保持される。メモリオフセット値5のエントリには、起点仮ラベルを示すポインタのポインタ値である2が保持されている。
【0085】
図18は、実施の形態における起点本ラベル配列Tの一例を示す図である。この起点本ラベル配列Tは、メモリオフセット値が仮ラベル値と同じ値のエントリを有し、初期状態においては、それらのエントリには0の値が保持される。なお、メモリオフセット値0の領域は、有効な値を保持する領域として用いられない。ここで、ラベル変換テーブルHにおいて、起点仮ラベルの値である1、10、および、16をメモリオフセット値とするエントリに0が保持され、それ以外のエントリには0以外の値が保持されたものとする。この場合、それらの起点仮ラベル1、10、および、16について、本ラベル値1、2、および、3が発行される。そして、起点本ラベル配列Tにおけるオフセット値1、10、および、16のエントリに本ラベルの値である1、2、および、3が保持される。
【0086】
図19は、実施の形態における本ラベルを付与中のラベル変換テーブルHの一例である。k=17の場合、H[17]が0でないことから17は起点仮ラベル値ではない。H[17]は10であり、10から辿ったH[10]が0であることから10が起点仮ラベル値である。この起点仮ラベル値10に対し、起点本ラベル配列Tにおいて本ラベル値2が対応付けられている。このため、H[17]は2に更新される。
【0087】
k=16の場合、H[16]が0であるから16は起点仮ラベル値である。この起点仮ラベル値16に対し、起点本ラベル配列Tにおいて本ラベル値3が対応付けられている。このため、H[16]は3に更新される。
【0088】
このようにして、kが17から0になるまでラベル変換テーブルHを更新してゆくと、起点仮ラベルに至るまで辿った仮ラベルの各々に対し、その起点仮ラベルについて発行された本ラベルが対応付けられた状態となる。
【0089】
図20および図21を参照して、本ラベリングにおけるラベル変換テーブルHへのアクセス効率について説明する。図20は、実施の形態における1行目のラベルの変換処理を説明するための図である。図20の上段に示すように、初期状態における仮ラベルデータの1行目の(5,0)、(8,0)、(9,0)の画素について、それぞれ1、2、2の値の仮ラベルが割り当てられている。このため、ラスタスキャンにおいて、1、2、2の仮ラベル値が順に仮ラベルデータから読み出される。
【0090】
ラベル付与部200は、仮ラベル値が1である(5,0)に着目時に、ラベル変換テーブルHにおいてメモリオフセット値が1のエントリを参照する。このエントリには1の値の本ラベルが保持されているため、(5,0)に対して1の値の本ラベルが割り当てられる。
【0091】
続いて、ラベル付与部200は、仮ラベル値が2である(8,0)および(9,0)に着目時に、ラベル変換テーブルHにおいてメモリオフセット値が2のエントリを参照する。このエントリには1の値の本ラベルが保持されているため、(8,0)および(9,0)に対し、2の値の仮ラベルの代わりに1の値の本ラベルが割り当てられる。この結果、図20の下段に示すように、仮ラベルデータの1行目において仮ラベルが本ラベルに変換された状態となる。仮ラベルデータにおける網掛けは、ラベルが変換された画素である。
【0092】
図21は、実施の形態における2行目のラベルの変換処理を説明するための図である。図21の上段に示すように、1行目を変換後の仮ラベルデータ220の2行目の(1,1)、(2,1)、(4,1)、(7,1)の画素について、それぞれ3、3、4、5の値の仮ラベルが割り当てられている。このため、ラスタスキャンにおいて、3、3、4、5の仮ラベル値が順に仮ラベルデータ220から読み出される。
【0093】
ラベル付与部200は、仮ラベル値が3である(1,1)および(2,1)の着目時に、ラベル変換テーブルHにおいてオフセット値が3のエントリを参照する。このエントリには1の値の本ラベルが保持されているため、(1,1)および(2,1)に対し、3の値の仮ラベルの代わりに1の値の本ラベルが割り当てられる。同様に、(4,1)、(7,1)の画素に対し、4、5の値の仮ラベルの代わりに1の値の本ラベルが割り当てられる。この結果、図21の下段に示すように、仮ラベルデータの2行目において仮ラベルが本ラベルに変換された状態となる。仮ラベルデータにおける網掛けは、ラベルが変換された画素である。
【0094】
図20および図21に例示したように、ラスタスキャンを行って本ラベリングを行った場合、その順に沿ってラベル変換テーブルHがアクセスされる。このため、ラベル変換テーブルHのアクセス効率が向上する。
【0095】
このように本技術の実施の形態によれば、画像処理装置100は、画素に順に着目して、着目した現画素が有効画素であり、かつ、直前画素が現画素に隣接する前記有効画素でない場合には新規の仮ラベルを現画素に割り当てる。一方、画像処理装置100は、現画素が有効画素であり、かつ、直前画素が現画素に隣接する有効画素である場合に、その直前画素の仮ラベルを現画素の仮ラベルとして現画素に割り当てる。これにより、着目した順番に沿って発行された仮ラベルが画素に割り当てられる。したがって、本ラベリングにおいて、その順番に沿ってラベル変換テーブルがアクセスされる。この結果、ラベル変換テーブルのアクセス効率が向上してラベリング処理を高速に実行することができる。
【0096】
また、本ラベリングにおいてラベル変換テーブルへのアクセスの遅延を抑制する目的でラベル変化テーブル内のある程度の数のエントリをキャッシュに保持しておく手法があるが、この手法を用いる場合、キャッシュの制御が簡易なもので済む。これは、ラスタスキャンの順に沿って仮ラベルが発行されており、キャッシュに必要なエントリ数を予測することが容易であるためである。
【0097】
さらに、本技術の実施の形態によれば、簡易な構成でラベリング処理を高速化することができるため、単位時間当たりの画像の処理数(フレームレート)を増加することができる。フレームレートの増加により、ビデオカメラや監視カメラシステムなどにおいて顔等の物体認識を実行する際に認識精度を容易に向上させることができる。
【0098】
<1.変形例>
図22を参照して、上述の実施の形態における変形例について説明する。図22は、
実施の形態における変形例のラベル変換テーブルの一例である。図7(b)に例示したラベル変換テーブルにおいては本ラベルのみが保持され、メモリオフセット値が仮ラベルの値を表わしていたのに対し、図22に例示したラベル変換テーブルには、本ラベルに加えて、仮ラベルの値が保持される。これにより、画像処理装置100は、メモリオフセット値と異なる値の仮ラベル値を画素に割り当てることができる。
【0099】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【0100】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。
【0101】
なお、本技術は以下のような構成もとることができる。
(1)所定値の画素値を有する画素である有効画素を含む入力画像において所定の順番に従って前記画素に着目して当該着目された画素である現画素が前記有効画素であり、かつ、前記現画素の1つ前に着目された画素である直前画素が前記現画素に隣接する前記有効画素でない場合には新たに発行した識別子を前記現画素の仮ラベルとして前記現画素に割り当てた仮ラベルデータを生成し、前記現画素が前記有効画素であり、かつ、前記直前画素が前記現画素に隣接する前記有効画素である場合には前記直前画素の前記仮ラベルを前記現画素の仮ラベルとして前記現画素に割り当てた前記仮ラベルデータを生成する仮ラベルデータ生成部と、
前記現画素が前記有効画素である場合には前記現画素に隣接する前記有効画素の前記仮ラベルと前記現画素の前記仮ラベルとを連結関係にある仮ラベルとして対応付けた連結情報を生成する連結情報生成部と
を具備する画像処理装置。
(2)いずれかの前記仮ラベルから当該仮ラベルと前記連結関係にある前記仮ラベルを辿っていくことにより相互に前記連結関係にある前記仮ラベルからなる集合を生成して当該集合の各々を識別するための識別子である本ラベルと前記仮ラベルとを対応付けたラベル変換テーブルを生成するラベル変換テーブル生成部と、
前記仮ラベルデータにおける前記画素に前記所定の順番に従って着目して前記ラベル変換テーブルにおいて前記着目した画素の前記仮ラベルに対応付けられた前記本ラベルを前記仮ラベルの代わりに前記画素に割り当てた本ラベルデータを生成する本ラベルデータ生成部と
をさらに具備する前記(1)記載の画像処理装置。
(3)前記ラベル変換テーブルは、エントリ番号を有する複数のエントリを備え、
前記ラベル変換テーブル生成部は、前記複数のエントリの各々の前記エントリ番号を前記仮ラベルの値として当該仮ラベルに対応する前記本ラベルを前記エントリに記録する
前記(2)記載の画像処理装置。
(4)前記ラベル変換テーブル生成部は、
前記連結情報における前記仮ラベルから当該仮ラベルと前記連結関係にある前記仮ラベルを辿って前記連結関係のある他の前記仮ラベルを辿れなくなった前記仮ラベルを起点仮ラベルとして決定する起点仮ラベル決定部と、
前記決定された起点仮ラベルについて前記本ラベルを発行する本ラベル発行部と、
前記起点仮ラベルの決定において辿った前記仮ラベルからなる前記集合において当該集合内の前記仮ラベルに対して前記起点仮ラベルについて発行された前記本ラベルを対応付けたテーブルを前記ラベル変換テーブルとして生成するラベル対応関係決定部と
を備える前記(2)または(3)記載の画像処理装置。
(5)検出対象画像において所定の物体を検出して当該検出された物体の領域内の画素との間において座標が一致する前記有効画素を含む画像を前記入力画像として生成する物体検出部をさらに具備する
前記(1)乃至(4)のいずれかに記載の画像処理装置。
(6)所定値の画素値を有する画素である有効画素を含む入力画像において所定の順番に従って前記画素に着目して当該着目された画素である現画素が前記有効画素であり、かつ、前記現画素の1つ前に着目された画素である直前画素が前記現画素に隣接する前記有効画素でない場合には新たに発行した識別子を前記現画素の仮ラベルとして前記現画素に割り当てた仮ラベルデータを生成し、前記現画素が前記有効画素であり、かつ、前記直前画素が前記現画素に隣接する前記有効画素である場合には前記直前画素の前記仮ラベルを前記現画素の仮ラベルとして前記現画素に割り当てた前記仮ラベルデータを生成する仮ラベルデータ生成手順と、
前記現画素が前記有効画素である場合には前記現画素に隣接する前記有効画素の前記仮ラベルと前記現画素の前記仮ラベルとを連結関係にある仮ラベルとして対応付けた連結情報を生成する連結情報生成手順と
を具備する画像処理装置の制御方法。
(7)所定値の画素値を有する画素である有効画素を含む入力画像において所定の順番に従って前記画素に着目して当該着目された画素である現画素が前記有効画素であり、かつ、前記現画素の1つ前に着目された画素である直前画素が前記現画素に隣接する前記有効画素でない場合には新たに発行した識別子を前記現画素の仮ラベルとして前記現画素に割り当てた仮ラベルデータを生成し、前記現画素が前記有効画素であり、かつ、前記直前画素が前記現画素に隣接する前記有効画素である場合には前記直前画素の前記仮ラベルを前記現画素の仮ラベルとして前記現画素に割り当てた前記仮ラベルデータを生成する仮ラベルデータ生成手順と、
前記現画素が前記有効画素である場合には前記現画素に隣接する前記有効画素の前記仮ラベルと前記現画素の前記仮ラベルとを連結関係にある仮ラベルとして対応付けた連結情報を生成する連結情報生成手順と
をコンピュータに実行させるためのプログラム。
【符号の説明】
【0102】
100 画像処理装置
110 前処理部
120 移動体検出部
130 移動体追跡処理部
140 後処理部
200 ラベル付与部
210 仮ラベル付与部
211 仮ラベルデータ生成部
212 連結情報テーブル生成部
220 仮ラベルデータ保持部
230 連結情報テーブル保持部
240 ラベル変換テーブル生成部
250 起点本ラベル配列保持部
260 ラベル変換テーブル保持部
270 本ラベルデータ生成部
280 本ラベルデータ保持部

【特許請求の範囲】
【請求項1】
所定値の画素値を有する画素である有効画素を含む入力画像において所定の順番に従って前記画素に着目して当該着目された画素である現画素が前記有効画素であり、かつ、前記現画素の1つ前に着目された画素である直前画素が前記現画素に隣接する前記有効画素でない場合には新たに発行した識別子を前記現画素の仮ラベルとして前記現画素に割り当てた仮ラベルデータを生成し、前記現画素が前記有効画素であり、かつ、前記直前画素が前記現画素に隣接する前記有効画素である場合には前記直前画素の前記仮ラベルを前記現画素の仮ラベルとして前記現画素に割り当てた前記仮ラベルデータを生成する仮ラベルデータ生成部と、
前記現画素が前記有効画素である場合には前記現画素に隣接する前記有効画素の前記仮ラベルと前記現画素の前記仮ラベルとを連結関係にある仮ラベルとして対応付けた連結情報を生成する連結情報生成部と
を具備する画像処理装置。
【請求項2】
いずれかの前記仮ラベルから当該仮ラベルと前記連結関係にある前記仮ラベルを辿っていくことにより相互に前記連結関係にある前記仮ラベルからなる集合を生成して当該集合の各々を識別するための識別子である本ラベルと前記仮ラベルとを対応付けたラベル変換テーブルを生成するラベル変換テーブル生成部と、
前記仮ラベルデータにおける前記画素に前記所定の順番に従って着目して前記ラベル変換テーブルにおいて前記着目した画素の前記仮ラベルに対応付けられた前記本ラベルを前記仮ラベルの代わりに前記画素に割り当てた本ラベルデータを生成する本ラベルデータ生成部と
をさらに具備する請求項1記載の画像処理装置。
【請求項3】
前記ラベル変換テーブルは、エントリ番号を有する複数のエントリを備え、
前記ラベル変換テーブル生成部は、前記複数のエントリの各々の前記エントリ番号を前記仮ラベルの値として当該仮ラベルに対応する前記本ラベルを前記エントリに記録する
請求項2記載の画像処理装置。
【請求項4】
前記ラベル変換テーブル生成部は、
前記連結情報における前記仮ラベルから当該仮ラベルと前記連結関係にある前記仮ラベルを辿って前記連結関係のある他の前記仮ラベルを辿れなくなった前記仮ラベルを起点仮ラベルとして決定する起点仮ラベル決定部と、
前記決定された起点仮ラベルについて前記本ラベルを発行する本ラベル発行部と、
前記起点仮ラベルの決定において辿った前記仮ラベルからなる前記集合において当該集合内の前記仮ラベルに対して前記起点仮ラベルについて発行された前記本ラベルを対応付けたテーブルを前記ラベル変換テーブルとして生成するラベル対応関係決定部と
を備える請求項2記載の画像処理装置。
【請求項5】
検出対象画像において所定の物体を検出して当該検出された物体の領域内の画素との間において座標が一致する前記有効画素を含む画像を前記入力画像として生成する物体検出部をさらに具備する
請求項1記載の画像処理装置。
【請求項6】
所定値の画素値を有する画素である有効画素を含む入力画像において所定の順番に従って前記画素に着目して当該着目された画素である現画素が前記有効画素であり、かつ、前記現画素の1つ前に着目された画素である直前画素が前記現画素に隣接する前記有効画素でない場合には新たに発行した識別子を前記現画素の仮ラベルとして前記現画素に割り当てた仮ラベルデータを生成し、前記現画素が前記有効画素であり、かつ、前記直前画素が前記現画素に隣接する前記有効画素である場合には前記直前画素の前記仮ラベルを前記現画素の仮ラベルとして前記現画素に割り当てた前記仮ラベルデータを生成する仮ラベルデータ生成手順と、
前記現画素が前記有効画素である場合には前記現画素に隣接する前記有効画素の前記仮ラベルと前記現画素の前記仮ラベルとを連結関係にある仮ラベルとして対応付けた連結情報を生成する連結情報生成手順と
を具備する画像処理装置の制御方法。
【請求項7】
所定値の画素値を有する画素である有効画素を含む入力画像において所定の順番に従って前記画素に着目して当該着目された画素である現画素が前記有効画素であり、かつ、前記現画素の1つ前に着目された画素である直前画素が前記現画素に隣接する前記有効画素でない場合には新たに発行した識別子を前記現画素の仮ラベルとして前記現画素に割り当てた仮ラベルデータを生成し、前記現画素が前記有効画素であり、かつ、前記直前画素が前記現画素に隣接する前記有効画素である場合には前記直前画素の前記仮ラベルを前記現画素の仮ラベルとして前記現画素に割り当てた前記仮ラベルデータを生成する仮ラベルデータ生成手順と、
前記現画素が前記有効画素である場合には前記現画素に隣接する前記有効画素の前記仮ラベルと前記現画素の前記仮ラベルとを連結関係にある仮ラベルとして対応付けた連結情報を生成する連結情報生成手順と
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2013−114278(P2013−114278A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−256889(P2011−256889)
【出願日】平成23年11月25日(2011.11.25)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】