TOP > 国内特許検索 > 画像処理装置および画像処理方法 > 明細書

明細書 :画像処理装置および画像処理方法

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4934809号 (P4934809)
公開番号 特開2008-097529 (P2008-097529A)
登録日 平成24年3月2日(2012.3.2)
発行日 平成24年5月23日(2012.5.23)
公開日 平成20年4月24日(2008.4.24)
発明の名称または考案の名称 画像処理装置および画像処理方法
国際特許分類 G06T   7/60        (2006.01)
G06T   1/20        (2006.01)
FI G06T 7/60 110
G06T 1/20 A
請求項の数または発明の数 10
全頁数 24
出願番号 特願2006-281710 (P2006-281710)
出願日 平成18年10月16日(2006.10.16)
審査請求日 平成21年9月9日(2009.9.9)
特許権者または実用新案権者 【識別番号】504136568
【氏名又は名称】国立大学法人広島大学
発明者または考案者 【氏名】石井 抱
【氏名】山本 健吉
【氏名】藤原 健介
個別代理人の代理人 【識別番号】100088155、【弁理士】、【氏名又は名称】長谷川 芳樹
【識別番号】100113435、【弁理士】、【氏名又は名称】黒木 義樹
審査官 【審査官】佐藤 実
参考文献・文献 特開平04-353981(JP,A)
特開平05-012444(JP,A)
特開平02-059977(JP,A)
特開2005-267362(JP,A)
特開昭61-145689(JP,A)
特開平07-098763(JP,A)
調査した分野 G06T 7/00~7/60
G06T 1/20
特許請求の範囲 【請求項1】
撮像装置が撮像した画像フレームを入力し、前記画像フレームを構成する要素毎にラベルを付ける画像処理装置であって、
所定の順序を有する複数のラベルを保持するラベル保持手段と、
前記撮像装置が撮像した画像フレームを入力する入力手段と、
前記入力手段が入力した画像フレーム内の各要素を順番に指定することにより、現時点要素を特定する情報及び前記現時点要素がラベル付けの対象となる注目要素であるか否かを表す情報を出力する注目要素選定手段と、
前記注目要素選定手段が情報を出力する度に、前記現時点要素を特定する情報及び前記現時点要素が前記注目要素であるか否かを表す情報に基づいて、前記注目要素選定手段が選定した注目要素に前記ラベル保持手段が保持しているラベルを付けるラベル付け手段と、
を備え、
前記画像フレームを構成する各要素は複数の画素からなり、
前記注目要素選定手段は、
一定の判断基準を超える画素を所定の個数以上有している要素をラベル付けの対象となる注目要素として選定し、
前記ラベル付け手段は、
前記注目要素選定手段が現時点における注目要素を選定する前に選定され、且つ前記現時点における注目要素と前記画像フレーム上で隣接する他の注目要素がある場合には、前記他の注目要素に付けられたラベルである先ラベルを前記現時点における注目要素に付け、
前記先ラベルが複数の場合には、前記現時点における注目要素に該複数の先ラベルのうち前記順序上で最も先立つラベルを付け、前記他の注目要素に該複数の先ラベルのうち前記順序上で最も先立つラベルを付けなおすことを特徴とする画像処理装置。
【請求項2】
前記ラベル付け手段が前記複数の先ラベルのうち前記順序上で最も先立つラベルを前記他の注目要素に付けなおす際に、該他の注目要素に既に付けられていたラベルを再利用ラベルとして保持する再利用ラベル保持手段を更に備え、
前記ラベル付け手段は、前記注目要素選定手段が選定した注目要素にラベルを付ける際に、前記再利用ラベル保持手段が保持している再利用ラベルを付けることを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記判断基準は、画素の輝度であることを特徴とする請求項1記載の画像処理装置。
【請求項4】
前記入力手段が入力した一つの画像フレームを複数の前記要素からなる複数のブロックに分けるブロック分け手段を更に備え、
前記注目要素選定手段は、ラベル付けの対象となる注目要素を選定する処理を前記複数のブロックにおいて並列的に行い、
前記ラベル付け手段は、前記注目要素選定手段が選定した注目要素にラベルを付ける処理を前記複数のブロックにおいて並列的に行うことを特徴とする請求項1~3の何れか1項に記載の画像処理装置。
【請求項5】
同じラベルが付けられた一つ以上の要素の群における重心位置を算出する重心位置算出手段と、
任意のブロックにおける要素群の重心位置と、他のブロックにおける要素群の重心位置との間の距離を計算する距離計算手段と、
前記距離計算手段が計算した距離値が所定の閾値以下である場合に、前記任意のブロックにおける前記要素群と、前記他のブロックにおける前記要素群とに、同じラベルを付けなおす統合手段と、
を更に備えることを特徴とする請求項4記載の画像処理装置。
【請求項6】
撮像装置が撮像した画像フレームを入力し、前記画像フレームを構成する要素毎にラベルを付ける画像処理方法であって、
入力手段が、前記撮像装置が撮像した画像フレームを入力する入力ステップと、
注目要素選定手段が、前記入力手段が入力した画像フレーム内の各要素を順番に指定することにより、現時点要素を特定する情報及び前記現時点要素がラベル付けの対象となる注目要素であるか否かを表す情報を出力する注目要素選定ステップと、
ラベル付け手段が、前記注目要素選定手段が情報を出力する度に、前記現時点要素を特定する情報及び前記現時点要素が前記注目要素であるか否かを表す情報に基づいて、前記注目要素選定手段が選定した注目要素に、所定の順序を有する複数のラベルを保持するラベル保持手段が保持しているラベルを付けるラベル付けステップと、
を備え、
前記画像フレームを構成する各要素は複数の画素からなり、
前記注目要素選定ステップにおいては、
一定の判断基準を超える画素を所定の個数以上有している要素がラベル付けの対象となる注目要素として選定され、
前記ラベル付けステップにおいて、前記ラベル付け手段は、
前記注目要素選定手段が現時点における注目要素を選定する前に選定され、且つ前記現時点における注目要素と前記画像フレーム上で隣接する他の注目要素がある場合には、前記他の注目要素に付けられたラベルである先ラベルを前記現時点における注目要素に付け、
前記先ラベルが複数の場合には、前記現時点における注目要素に該複数の先ラベルのうち前記順序上で最も先立つラベルを付け、前記他の注目要素に該複数の先ラベルのうち前記順序上で最も先立つラベルを付けなおすことを特徴とする画像処理方法。
【請求項7】
前記ラベル付け手段が前記複数の先ラベルのうち前記順序上で最も先立つラベルを前記他の注目要素に付けなおす際に、該他の注目要素に既に付けられていたラベルが再利用ラベルとして再利用ラベル保持手段に保持され、
前記ラベル付けステップにおいては、前記ラベル付け手段が、前記注目要素選定手段が選定した注目要素にラベルを付ける際に、前記再利用ラベル保持手段に保持されている再利用ラベルを付けることを特徴とする請求項6記載の画像処理方法。
【請求項8】
前記判断基準は、画素の輝度であることを特徴とする請求項6記載の画像処理方法。
【請求項9】
ブロック分け手段が、前記入力手段が入力した一つの画像フレームを複数の前記要素からなる複数のブロックに分けるブロック分けステップを更に備え、
前記注目要素選定ステップにおいては、ラベル付けの対象となる注目要素を選定する処理が前記複数のブロックにおいて並列的に行われ、
前記ラベル付けステップにおいては、前記注目要素選定手段が選定した注目要素にラベルを付ける処理が前記複数のブロックにおいて並列的に行われることを特徴とする請求項6~8の何れか1項に記載の画像処理方法。
【請求項10】
重心位置算出手段が、同じラベルが付けられた一つ以上の要素の群における重心位置を算出する重心位置算出ステップと、
距離計算手段が、任意のブロックにおける要素群の重心位置と、他のブロックにおける要素群の重心位置との間の距離を計算する距離計算ステップと、
統合手段が、前記距離計算手段が計算した距離値が所定の閾値以下である場合に、前記任意のブロックにおける前記要素群と、前記他のブロックにおける前記要素群とに、同じラベルを付けなおす統合ステップと、
を更に備えることを特徴とする請求項9記載の画像処理方法。
発明の詳細な説明 【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関するものである。
【背景技術】
【0002】
近年、例えば非特許文献1に記載されたような実時間高速ビジョンシステムが知られている。このような撮像装置においては、例えば1000FPSといった高速での撮像、及び例えば1024×1024ピクセルといった高解像度での撮像が可能である。
【0003】
このような撮像装置から取得した高速および高解像度の画像データに対して例えば画像認識等の処理を行うために、任意の基準によって選択され且つ互いに連結されている画素群に対して同じ番号(ラベル)を付けるという、いわゆるラベリングが一般的に行われている。

【非特許文献1】T.M. Bernard, B.Y. Zavidovique, F.J. Devos, “A programmable artificial retina”, IEEE J. Solid-StateCircuits, Vol.28, No.7, pp.789-797, 1993.
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来のラベリング手法においては、撮像装置から取得した1フレームの画像データに対して、2回の走査を行っている。すなわち、1回目の走査で仮ラベルを付けた後、2回目の走査で付けなおしを行い、真ラベル付きの画像データを得る。このことにより、正しいラベルが付けられた画像データを得られるが、2回の走査を行うために長い処理時間が必要とされる。更に、仮ラベル付きの画像データを2回目の走査時まで一時的に記憶しておかなければならず、そのためには大きなメモリ領域が必要とされる。これらのことは、画像データのサイズが大きければ大きいほど、深刻な問題となる。
【0005】
また、従来のラベリング手法において、例えば使用可能なメモリ量の事情により、使えるラベル番号の数が一定個数に限定されている場合がある。このような場合に、例えばノイズに対してまでもラベルを付けてしまうと、必要なデータに付けられるべきラベルが足りなくなる可能性がある。このことは、例えば、いわゆるゴマ塩ノイズが多ければ多いほど、また実装されるハードウェアに備えられるメモリ量が少なければ少ないほど、深刻な問題となる。
【0006】
そこで、本発明は上記に鑑みてなされたもので、撮像された画像データに対してラベリングを行う際に、高速な処理を可能とし、更に該処理で必要とされるメモリ量を低減することの可能な画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の画像処理装置は、撮像装置が撮像した画像フレームを入力し、画像フレームを構成する要素毎にラベルを付ける画像処理装置であって、所定の順序を有する複数のラベルを保持するラベル保持手段と、撮像装置が撮像した画像フレームを入力する入力手段と、入力手段が入力した画像フレーム内の各要素を順番に指定することにより、ラベル付けの対象となる注目要素を選定する注目要素選定手段と、注目要素選定手段が選定した注目要素にラベル保持手段が保持しているラベルを付けるラベル付け手段と、を備え、ラベル付け手段は、注目要素選定手段が現時点における注目要素を選定する前に選定され、且つ現時点における注目要素と画像フレーム上で隣接する他の注目要素がある場合には、他の注目要素に付けられたラベルである先ラベルを現時点における注目要素に付け、先ラベルが複数の場合には、現時点における注目要素に該複数の先ラベルのうち順序上で最も先立つラベルを付け、他の注目要素に該複数の先ラベルのうち順序上で最も先立つラベルを付けなおす。
【0008】
また、本発明の画像処理方法は、撮像装置が撮像した画像フレームを入力し、画像フレームを構成する要素毎にラベルを付ける画像処理方法であって、入力手段が、撮像装置が撮像した画像フレームを入力する入力ステップと、注目要素選定手段が、入力手段が入力した画像フレーム内の各要素を順番に指定することにより、ラベル付けの対象となる注目要素を選定する注目要素選定ステップと、ラベル付け手段が、注目要素選定手段が選定した注目要素に、所定の順序を有する複数のラベルを保持するラベル保持手段が保持しているラベルを付けるラベル付けステップと、を備え、ラベル付けステップにおいて、ラベル付け手段は、注目要素選定手段が現時点における注目要素を選定する前に選定され、且つ現時点における注目要素と画像フレーム上で隣接する他の注目要素がある場合には、他の注目要素に付けられたラベルである先ラベルを現時点における注目要素に付け、先ラベルが複数の場合には、現時点における注目要素に該複数の先ラベルのうち順序上で最も先立つラベルを付け、他の注目要素に該複数の先ラベルのうち順序上で最も先立つラベルを付けなおす。
【0009】
このような本発明の画像処理装置および画像処理方法によれば、入力された画像フレーム内の一つ以上の画素からなる要素が現時点における注目要素(以下、「現時点注目要素」ともいう。)として選定されたときに、ラベル付け手段は、当該選定された現時点注目要素にラベル保持手段が保持しているラベルを付ける。このとき、ラベル付け手段は、現時点以前に選定され、且つ現時点注目要素と画像フレーム上で隣接する他の注目要素(以下、「先時点隣接注目要素」ともいう。)がある場合には、当該先時点隣接注目要素に付けられたラベル(先ラベル)と同じラベル番号を現時点注目要素に付ける。複数の注目要素が隣接していることは、当該複数の注目要素が同一の撮像対象物を表している場合が多いと想定され、上記隣接する先時点隣接注目要素と現時点注目要素とには同一のラベル番号が付けられる。
【0010】
また、ラベル付け手段は、先ラベルが複数の場合に、該複数の先ラベルのうち所定の順序上で最も先立つラベルを現時点注目要素に付ける。更に、ラベル付け手段は、該最も先立つラベルを先時点隣接注目要素に付けなおす。先ラベルが複数の場合は、先時点隣接注目要素が複数有る場合である。このとき、当該複数の先時点隣接注目要素同士が互いに隣接していない場合には、当該複数の先時点隣接注目要素が現時点注目要素を介して隣接している(つながっている)にもかかわらず、現時点以前のラベリングにおいて当該複数の先時点隣接注目要素には互いに異なるラベル番号が付けられている。これに対して、ラベル付け手段は、当該最も先立つラベルを先時点隣接注目要素に付けなおすことにより、現時点注目要素を介してつながっているにもかかわらず互いに異なるラベル番号が付けられている複数の先時点隣接注目要素と、当該現時点注目要素とに、全て同じラベル番号を付けることができる。
【0011】
以上のことにより、つながっている全ての注目要素に同じラベル番号を付けるために、画像フレームに対して例えば2回の走査を行う必要がなくなり、1回の走査だけでも正しいラベリングを行うことができる。したがって、ラベリングにかかる処理時間を短縮することができる。
【0012】
また、画像フレームに対する1回目の走査でラベリングが完了されるため、例えば仮ラベル付きの画像データを2回目の走査時まで一時的に記憶しておく必要がなくなる。このため、ラベリングを完了するために必要なメモリ量を低減することができる。
【0013】
また、画像処理装置は、ラベル付け手段が複数の先ラベルのうち順序上で最も先立つラベルを他の注目要素に付けなおす際に、該他の注目要素に既に付けられていたラベルを再利用ラベルとして保持する再利用ラベル保持手段を更に備え、ラベル付け手段は、注目要素選定手段が選定した注目要素にラベルを付ける際に、再利用ラベル保持手段が保持している再利用ラベルを付けることも好適である。
【0014】
また、画像処理方法は、ラベル付け手段が複数の先ラベルのうち順序上で最も先立つラベルを他の注目要素に付けなおす際に、該他の注目要素に既に付けられていたラベルが再利用ラベルとして再利用ラベル保持手段に保持され、ラベル付けステップにおいては、ラベル付け手段が、注目要素選定手段が選定した注目要素にラベルを付ける際に、再利用ラベル保持手段に保持されている再利用ラベルを付けることも好適である。
【0015】
この発明によれば、再利用ラベル保持手段が、ラベルの付けなおしの際に削除されるラベル(既に付けられていたラベル)を再利用ラベルとして保持する。そして、この再利用ラベルは、ラベル付け手段によるラベリングの際に再び使用される。このことにより、装置全体で使用可能なメモリ量(ラベル番号の限度量)を効果的に活用することが可能となる。
【0016】
また、画像処理装置において、画像フレームを構成する各要素は複数の画素からなり、注目要素選定手段は、一定の判断基準を超える画素を所定の個数以上有している要素をラベル付けの対象となる注目要素として選定することも好適である。
【0017】
また、画像処理方法において、画像フレームを構成する各要素は複数の画素からなり、注目要素選定ステップにおいては、一定の判断基準を超える画素を所定の個数以上有している要素がラベル付けの対象となる注目要素として選定されることも好適である。
【0018】
この発明によれば、注目要素選定手段による処理は、複数の画素からなる「要素」を単位として行われる。このとき、注目要素選定手段は、一定の判断基準を超える画素を所定の個数以上有している要素を注目要素として選定する。一方、例えば僅かな個数のノイズが要素に含まれているときなど、一定の判断基準を超える画素であってもその数が所定の個数Xにいたっていない場合には、注目セルとして選定されない。このことにより、ノイズ画素に対する対応性(耐ノイズ性)を高めることができる。また、例えば注目要素として選定されない要素にはラベルを付けないようにすることができ、その結果、装置全体で使用可能なメモリ量(ラベル番号の限度量)を効果的に活用することが可能となる。
【0019】
また、画像処理装置において、上記判断基準は、画素の輝度であっても良い。
【0020】
また、画像処理方法において、上記判断基準は、画素の輝度であっても良い。
【0021】
この発明によれば、上記判断基準として画素の輝度が用いられている。画素の輝度は、当該画素がノイズであるか否かを判断するのに好適な基準となるからである。
【0022】
また、画像処理装置は、入力手段が入力した一つの画像フレームを複数の要素からなる複数のブロックに分けるブロック分け手段を更に備え、注目要素選定手段は、ラベル付けの対象となる注目要素を選定する処理を複数のブロックにおいて並列的に行い、ラベル付け手段は、注目要素選定手段が選定した注目要素にラベルを付ける処理を複数のブロックにおいて並列的に行うことも好適である。
【0023】
また、画像処理方法は、ブロック分け手段が、入力手段が入力した一つの画像フレームを複数の要素からなる複数のブロックに分けるブロック分けステップを更に備え、注目要素選定ステップにおいては、ラベル付けの対象となる注目要素を選定する処理が複数のブロックにおいて並列的に行われ、ラベル付けステップにおいては、注目要素選定手段が選定した注目要素にラベルを付ける処理が複数のブロックにおいて並列的に行われることも好適である。
【0024】
この発明によれば、ブロック分け手段が、一つの画像フレームを複数のブロックに分ける。このとき、一つのブロックは複数の上記要素からなる。そして、注目要素選定手段およびラベル付け手段により行われる各処理は、上記複数のブロック毎に並列的に行われる。このことにより、各処理にかかる時間を短縮することができ、リアルタイム処理を可能とする。
【0025】
また、画像処理装置は、同じラベルが付けられた一つ以上の要素の群における重心位置を算出する重心位置算出手段と、任意のブロックにおける要素群の重心位置と、他のブロックにおける要素群の重心位置との間の距離を計算する距離計算手段と、距離計算手段が計算した距離値が所定の閾値以下である場合に、任意のブロックにおける要素群と、他のブロックにおける要素群とに、同じラベルを付けなおす統合手段と、を更に備えることも好適である。
【0026】
また、画像処理方法は、重心位置算出手段が、同じラベルが付けられた一つ以上の要素の群における重心位置を算出する重心位置算出ステップと、距離計算手段が、任意のブロックにおける要素群の重心位置と、他のブロックにおける要素群の重心位置との間の距離を計算する距離計算ステップと、統合手段が、距離計算手段が計算した距離値が所定の閾値以下である場合に、任意のブロックにおける要素群と、他のブロックにおける要素群とに、同じラベルを付けなおす統合ステップと、を更に備えることも好適である。
【0027】
この発明によれば、重心位置算出手段が、同じラベルが付けられた一つ以上の要素の群における重心位置を算出すると、距離計算手段が、任意のブロックにおける要素群の重心位置と、他のブロックにおける要素群の重心位置との間の距離を計算する。そして、上記距離値が所定の閾値以下である場合に、統合手段が、当該距離にかかる複数の要素群に同じラベルを付けなおす。
【0028】
上述したように、注目要素選定手段およびラベル付け手段により行われる各処理がブロック毎に並列的に行われる場合には、例えば複数のブロックに跨って存在する撮像対象物の場合に、ブロック毎に異なるラベルが付けられる可能性がある。これに対して、本発明においては、統合手段が、同一の撮像対象物を表している(距離が所定の閾値以下である)にもかかわらず異なるラベルが付けられている要素群同士を同一のラベルに統合する(同じラベルを付けなおす)。このことにより、同一の撮像対象物を表している画像データには、同一のラベルを付けることができる。
【発明の効果】
【0029】
本発明によれば、撮像された画像データに対してラベリングを行う際に、高速な処理を可能とし、更に該処理で必要とされるメモリ量を低減することができる。
【発明を実施するための最良の形態】
【0030】
以下、添付図面を参照して本発明にかかる画像処理装置および画像処理方法の好適な実施形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明のものと必ずしも一致していない。
【0031】
まず、本発明の一実施形態に係る画像処理システム1の全体構成について説明する。図1は、画像処理システム1の構成概要図である。図1に示すように、画像処理システム1は、ラベリング装置100(画像処理装置)および撮像装置200を備えている。画像処理システム1においては、撮像装置200が撮像した画像データに対して、ラベリング装置100がリアルタイムでラベリングを行う。以下、画像処理システム1の各構成要素について詳細に説明する。
【0032】
撮像装置200は、入射する光信号を電気信号に変換することで撮像対象物を撮像するものであり、本実施形態においては、高速かつ高解像度で動画を連続的に撮像可能なビデオカメラである。撮像装置200は、2×2[ピクセル]の画素領域を有し、Y[FPS]でビデオ撮像を行い、1ピクセルあたりの諧調数はM[bit]である。以下、本実施形態においては、例えば、N=10と設定され、Y=1000と設定され、M=10と設定されている。
【0033】
撮像装置200は、例えば黒い紙を背景にして動く複数の白いマーカを撮像対象物とする。図2は、撮像装置200により撮像された一つの画像フレームをイメージした図である。1024×1024ピクセルの1フレームには、マーカ1~3が撮像対象物として撮像されている。当該画像フレームにおいては、最左上のピクセルを基準点(0,0)とするxy座標を用いて、各ピクセルを表すことができる。すなわち、最右上のピクセルはxy座標上で(1023,0)に相当し、最左下のピクセルはxy座標上で(0,1023)に相当し、最右下のピクセルはxy座標上で(1023,1023)に相当する。このことは以下において同じである。撮像装置200は、例えば周知のTMDS(Transition Minimized Differential Signaling)シリアル通信により、撮像した画像データをフレーム単位でラベリング装置100に出力する。
【0034】
図1に戻り、ラベリング装置100は、撮像装置200より撮像された画像フレームを入力され、撮像対象物である各マーカに対応する部分にリアルタイムでラベルを付けるものである。ラベリング装置100は、図1に示されたように、第1ラベリング部110及び第2ラベリング部120を備えている。
【0035】
第1ラベリング部110は、ハードウェア上でラベリングを行うものであって、物理的には、例えば通常のFPGA(Field Programmable Gate Array)ボード上に組み込まれることができる。このFPGAボードは、CPU、メモリ、通信インタフェイス、表示インタフェイス等を備えた通常のコンピュータシステム内に設けられることができる。第1ラベリング部110は、機能的には、入力部111(入力手段)、ブロック分け部112(ブロック分け手段)、注目セル選定部113(注目要素選定手段)、ラベル付け部114(ラベル付け手段)、及びラベル保持部115(ラベル保持手段、再利用ラベル保持手段)を備えて構成される。以下、第1ラベリング部110の各構成要素について詳細に説明する。
【0036】
入力部111は、例えばTMDSシリアル通信により、撮像装置200により撮像された画像フレーム(図2)を入力するものである。入力部111は、入力された画像フレームに対して、例えば固定パタンノイズの除去やシェーディング補正の処理を施した後に、当該画像フレームをブロック分け部112に出力する。
【0037】
ブロック分け部112は、入力部111から画像フレームを入力され、当該一つの画像フレームを複数のブロックに分けるものである。図3は、ブロック分け部112のブロック分け動作を説明するための図である。図3に示すように、本実施形態において、ブロック分け部112は、1024×1024ピクセルの一つの画像フレームを、64×1024ピクセルの16個のブロックに分ける。このことにより、後述する以後の処理において、ブロック毎の並列処理が行われることができる。ブロック分け部112は、ブロック分けした画像フレームを注目セル選定部113に出力する。
【0038】
図1に戻り、注目セル選定部113は、ブロック分け部112からブロック分けされた画像フレームを入力され、当該画像フレームを構成する各セルを順番に指定していくとともに、指定した当該セルがラベル付けの対象となる「注目セル」であるか、或いはラベル付けの対象とならない「背景セル」であるかを判断する(以下、「注目セル選定処理」ともいう。)ものである。注目セル選定部113は、上記注目セル選定処理を、ブロック分けされた16個のそれぞれのブロック毎に並列的に行う。ここで、「セル(cell)」とは、画像フレームを構成する要素であって、複数の画素からなる集合をいう。本実施形態においては、1セルは、例えば、8×8ピクセルである。すなわち、一つのブロック(64×1024ピクセル)は8×128セルからなり、一つの画像フレーム(16×64×1024ピクセル)は16×8×128セルからなる。
【0039】
以下、注目セル選定部113により行われる処理について具体的に説明する。注目セル選定部113は、まず、処理対象となるブロック(並列処理される16個のブロックのうち一つのブロック)において、現時点で考慮対象となる一つのセル(以下、「現時点セル」ともいう。)を特定する(以下、「現時点セル特定処理」ともいう。)。図4は、注目セル選定部113による現時点セル特定処理を説明するための図である。図4に示すように、注目セル選定部113は、当該ブロックを構成する全てのセルに対して順番に現時点セルを特定していくために、例えば当該ブロックの最左上のセルから最右下のセルまで、同じ行における各セルにおいては右方向へ、且つ各行においては下方向へ進みながら順番に現時点セルを特定する。
【0040】
次に、注目セル選定部113は、現時点セルにおいて、一定の判断基準を超える画素がいくつあるかをカウントする。本実施形態において、上記判断基準は、セルを構成している各画素の輝度値である。具体的に、注目セル選定部113は、一つのセル内の8×8ピクセルの画素のうち、輝度値の閾値であるI[cd/m]を越える輝度値を有する画素がいくつあるかをカウントする。
【0041】
そして、注目セル選定部113は、現時点セル内において、I[cd/m]を越える輝度値を有する画素が所定の個数X個以上である場合に、当該現時点セルを「注目セル」として選定する。一方、注目セル選定部113は、現時点セル内において、I[cd/m]を越える輝度値を有する画素が所定の個数X個以上でない場合に、当該現時点セルを「背景セル」として選定する。本実施形態においては、黒い紙を背景にして動く白いマーカを撮像対象物としているため、画像データにおいて白いマーカの部分はその輝度値が高く、「注目セル」として選定されやすい。また、黒い紙の部分はその輝度値が低く、「背景セル」として選定されやすい。なお、本実施形態においては、例えば、I=120として設定され、X=10として設定されている。
【0042】
注目セル選定部113は、一つのセルに対して上記現時点セル特定処理および注目セル選定処理を終えると、当該現時点セルを特定する情報と、当該現時点セルが注目セルであるか或いは背景セルであるかを表す情報とをラベル付け部114に出力する。この出力処理は、ブロック分けされた16個のそれぞれのブロック毎に並列的に行われる。
【0043】
図1に戻り、ラベル付け部114は、注目セル選定部113より、現時点セルを特定する情報と、当該現時点セルが注目セルであるか否かを表す情報とを入力され、現時点セルが注目セルである場合に、ラベル保持部115が保持しているラベルを当該注目セルに付ける、つまりラベリングを行うものである。一方、ラベル付け部114は、現時点セルが背景セルである場合には、ラベリングを行わない。ラベル付け部114は、上記ラベリングをブロック分けされた16個のそれぞれのブロック毎に並列的に行う。
【0044】
ラベリングに用いられるラベルは、ラベル保持部115に保持されており、各ラベルは使用されるための所定の順序を有する。ラベル保持部115は、上記順序にしたがって複数のラベルを保持するものであって、メインキュー(ラベル保持手段)と再利用キュー(再利用ラベル保持手段)とを備える。メインキューは、優先的に使われるラベルを上記順序にしたがって保持しているものであり、再利用キューは、メインキューに保持されていたラベルが全て使われた後に使われるラベルを保持しているものである。
【0045】
図5は、ラベル保持部115にラベルが保持されている様子を示す図である。図5(A)および図5(B)はラベル保持部115のメインキューをイメージしており、ラベル保持部115のメインキューにはラベリング時に用いられるラベルが左から右の順番に格納されている。本実施形態においては、図5(A)に示されるように、合計1024個のラベル番号が使用可能と設定されており、各ラベルは数字の大きさによりその順序が決められている。つまり、ラベル番号1はラベル番号2より順序上先立ち、図5(A)のメインキューにおいてはラベル番号1はラベル番号2より左に格納されている。そして、各ラベルが使用される際にはメインキューの左から右に順番に使用され、例えば図5(A)においてはラベル番号1の次にラベル番号2の順番で使用される。図5(B)は、ラベル番号1とラベル番号2とが順に使用された後に、メインキューに残されたラベル(以後使用可能なラベル)を示している。
【0046】
以下、ラベル付け部114により行われるラベリングについて、図6~9を更に参照しながら具体的に説明する。図6~9は、処理対象となるブロック(並列処理される16個のブロックのうち一つのブロック)を構成する8×128セルのうちで、4つのセル(セルa、セルb、セルc、セルd)からなる一部分のみをイメージしている。また、各図においては、説明の便宜のために、各セルには符号(a、b、c、d)を付しており、その符号は当該セルの左上に表示されている。また、上述したように、注目セル選定部113は、ブロックの最左上のセルから最右下のセルまで、同じ行における各セルにおいては右方向へ、且つ各行においては下方向へ進みながら順番に現時点セルを特定している。このため、図6~9においては、セルa、セルb、セルc、セルdの順番で、各セルは現時点セルとして特定されたこととなる。以下、任意の時点における現時点セルより先に現時点セルとして特定されたセルを「先時点セル」ともいう。すなわち、例えばセルdが現時点セルとして特定された時点では、セルa、セルb、セルcが先時点セルである。また、以下の説明においては、セルdは、現時点セルであって且つ注目セルであることとする。
【0047】
ラベル付け部114が注目セルdにラベリングを行う方法は、当該注目セルdに隣接する先時点セルに付けられたラベル(以下、「先ラベル」ともいう。)の様子によって、後述するケース1~4にて説明される4つの方法に分けられる。以下の説明における「隣接」とは、説明の便宜のために、当該注目セルと一面が接することをいう。すなわち、注目セルdにおいて、セルaは先時点セルではあるが、隣接していない。一方、注目セルdにおいて、セルbおよびセルcは先時点セルであり且つ隣接している。以下、ラベル付け部114のラベリング方法をケース毎に説明する。
【0048】
[ケース1]
ケース1における状況は、図6により示されている。すなわち、図6(A)に示されているように、隣接する先時点セルであるセルbとセルcには、ラベルが付いていない。このことにより、現時点以前の時点において、セルbとセルcは背景セルであったことが分かる。この場合に、ラベル付け部114は、ラベル保持部115のメインキューに保持されたラベルのうち順序上最も先立つラベル番号を注目セルdに付ける。例えば、図5(A)においては、順序上最も先立つラベル番号は、メインキューの最も左側に格納されているラベル番号1である。図6(B)には、このことが図示されており、注目セルdにはラベル番号1が付けられている。
【0049】
[ケース2]
ケース2における状況は、図7により示されている。すなわち、図7(A)に示されているように、隣接する先時点セルであるセルbにはラベルが付いておらず、隣接する先時点セルであるセルcにはラベル(先ラベル)が付いている。このことにより、現時点以前の時点において、セルbは背景セルであって、セルcは注目セルであったことが分かる。また、セルcとセルdとは隣接しているため、セルcとセルdとは同じ撮像対象物(マーカ)の異なる一部分にそれぞれ対応していることが分かる。この場合に、ラベル付け部114は、先ラベルと同じラベル番号を注目セルdに付ける。図7(B)では、先ラベルであるセルcのラベル番号1が注目セルdに付けられている。
【0050】
[ケース3]
ケース3における状況は、図8により示されている。すなわち、図8(A)に示されているように、隣接する先時点セルであるセルbにはラベル(先ラベル)が付いており、隣接する先時点セルであるセルcにはラベルが付いていない。このことにより、現時点以前の時点において、セルbは注目セルであって、セルcは背景セルであったことが分かる。また、セルbとセルdとは隣接しているため、セルbとセルdとは同じ撮像対象物(マーカ)の異なる一部分にそれぞれ対応していることが分かる。この場合に、ラベル付け部114は、先ラベルと同じラベル番号を注目セルdに付ける。図8(B)では、先ラベルであるセルbのラベル番号1が注目セルdに付けられている。
【0051】
[ケース4]
ケース4における状況は、図9により示されている。すなわち、図9(A)に示されているように、先時点セルであるセルbとセルcの両方に、ラベル(互いに異なる先ラベル)が付いている。このことにより、現時点以前の時点において、セルbとセルcは注目セルであったことが分かる。また、セルbとセルcとセルdとは隣接しているため(セルdを介してつながっているため)、セルbとセルcとセルdとは同じ撮像対象物の異なる一部分にそれぞれ対応していることが予想される。この場合に、ラベル付け部114は、先ラベルのうちで順序上最も先立つものを注目セルdに付ける。図9(B)にはこのことが示されており、先ラベルであるセルcのラベル番号2ではなく、それより順序上先立つ先ラベルであるセルbのラベル番号1が注目セルdに付けられている。なお、図示はしないが、例えば、先時点セルであるセルbとセルcに同じラベル番号が付いている場合には、ラベル付け部114はその番号を注目セルdに付ける。
【0052】
この後、ラベル付け部114は、順序上最も先立つものではない先ラベルを、順序上最も先立つ先ラベルに付けなおす。すなわち、図9(B)の一例において、セルcに付けられているラベル番号2を、それより順序上先立つ先ラベルであるセルbのラベル番号1に付けなおす。図9(C)にはこのことが示されており、セルcに付けられているラベル番号がラベル番号2からラベル番号1に変更されており、結果的には、セルbとセルcとセルdとに同じラベルが付けられている。
【0053】
ラベル番号が付けなおされることにより削除されたラベル番号は、ラベル保持部115の再利用キューに格納される。図5(C)は、図9の場合において削除されたラベル番号2がラベル保持部115の再利用キューに格納された様子を示す。ラベル保持部115の再利用キューに格納されたラベル番号は、ラベル保持部115のメインキューに格納されたラベル番号が全て使われた後に使われる。すなわち、図5の例において、ラベル付け部114は、メインキューに格納されたラベル番号のうちで順序上最後であるラベル番号1024を使用した後に、再利用キューにおいて順序上最先であるラベル番号2を再び使用する。
【0054】
以上より、ラベル付け部114によるラベリング方法について説明した。このラベリングとともに、ラベル付け部114は、各ラベルにおける0次モーメント及び1次モーメントを計算する。本実施形態において、各モーメントは、例えば以下のように定義する。
【数1】
JP0004934809B2_000002t.gif
【数2】
JP0004934809B2_000003t.gif
【数3】
JP0004934809B2_000004t.gif
ただし、m[N]はラベル番号Nの0次モーメントであり、mx1[N]はラベル番号Nのx軸に関しての1次モーメントであり、my1[N]はラベル番号Nのy軸に関しての1次モーメントである。また、K(x,y,N)は、座標(x,y)のピクセルがラベル番号Nが貼られたセルに含まれる場合には「1」、含まれない場合には「0」となる関数である。
【0055】
このようなモーメント計算処理は、各セルにラベリングを行うとともに行われる。すなわち、上記ケース1においては、ラベル番号1がラベリングのために初めて用いられており、ラベリング後、上記数式(1)~(3)により、ラベル番号1の0次モーメントm[1]、ラベル番号1のx軸に関しての1次モーメントmx1[1]、ラベル番号1のy軸に関しての1次モーメントmy1[1]がそれぞれ計算される。また、上記ケース2~4においては、ラベル番号1が注目セルへのラベリングのために複数回にわたって用いられており、ラベル番号1が使用されるたびに、上記数式(1)~(3)により、m[1]、mx1[1]、my1[1]が更新される。また、ケース4においては、セルcに付けられるラベルがラベル番号2からラベル番号1へと変更されており、この場合においては、ラベル番号1に対しては上記数式(1)~(3)によりm[1]、mx1[1]、my1[1]が更新され、ラベル番号2に対しては既に求めていたm[2]、mx1[2]、my1[2]が削除される。そして、例えば後ほどラベル番号2が再利用される際には、ラベル番号2に対するm[2]、mx1[2]、my1[2]が改めて計算される。
【0056】
ラベル付け部114は、以上の説明したようなラベリング及びモーメント計算処理を一つのブロック内の全てのセルに対して行う。また、上述したように、ラベル付け部114は、ブロック分けされた16個のそれぞれのブロック毎に並列的にラベリング及びモーメント計算処理を行うため、一つのブロックでラベリング及びモーメント計算処理が終了すると、撮像装置200から入力された一つの画像フレームの全体に対するラベリング及びモーメント計算処理が終了することとなる。
【0057】
図10は、例えば図2に示した画像フレームに対して、以上で説明したようなラベリングを行った場合のラベル付き画像フレームの一例を示す。図10において、一つの画像フレームは16個のブロックに分けられており、ラベリングはブロック毎に行われている。なお、図10に関する詳細については後述する。ラベル付け部114は、図10に示したようなラベル付き画像フレーム、及び当該ラベル付き画像フレームで使用された各ラベル番号におけるモーメント計算値を第2ラベリング部120に出力する。
【0058】
図1に戻り、第2ラベリング部120は、第1ラベリング部110により行われたラベリングの結果に対して、ソフトウェア上で補正を行うものである。第1ラベリング部110により行われたラベリングの結果においては、例えば図10におけるマーカ2の一例から分かるように、ブロック毎に異なる複数の画素データの集合(セル群2とセル群3)が一つの撮像対象物(マーカ2)を表す場合に、それぞれの画素データの集合にブロック毎に異なるラベル番号(ラベル番号2とラベル番号3)が付けられる。このことは、第1ラベリング部110はブロック毎に独立的にラベリングを行うことに起因する。第2ラベリング部120は、このことに対する補正をソフトウェア上で行う。
【0059】
第2ラベリング部120は、図1に示されるように、物理的には、CPU、メモリ、通信インタフェイス、表示インタフェイス等を備えた通常のコンピュータシステム内に設けられることができる。また、第2ラベリング部120と第1ラベリング部110との間は、例えばPCI(Peripheral Component Interconnect)バスにより接続されており、ラベル付き画像データ等の送受信が可能なように設けられている。第2ラベリング部120は、機能的には、入力部121、重心位置算出部122(重心位置算出手段)、距離計算部123(距離計算手段)、統合部124(統合手段)、及び出力部125を備えて構成される。以下、第2ラベリング部120の各構成要素について詳細に説明する。
【0060】
入力部121は、第1ラベリング部110より、ラベル付き画像フレーム、及び当該ラベル付き画像フレームで使用された各ラベル番号におけるモーメント計算値を入力するものである。入力部121は、入力した当該ラベル付き画像フレームを統合部124に出力し、当該ラベル付き画像フレームで使用された各ラベル番号におけるモーメント計算値を重心位置算出部122に出力する。
【0061】
重心位置算出部122は、入力部121より、各ラベル番号のモーメント計算値を入力され、ラベル番号毎の画像フレーム内での重心位置を算出するものである。すなわち、重心位置算出部122は、同じラベルが付けられたセル群に対して画像フレーム内での重心位置を算出する。具体的に、重心位置算出部122は、例えば下記の数式に基づいて、ラベル番号Nが付けられたセル群の重心位置(x[N],y[N])を算出する。
【数4】
JP0004934809B2_000005t.gif
【数5】
JP0004934809B2_000006t.gif
ただし、x[N]はラベル番号Nが付けられたセル群の重心位置のx座標であり、y[N]はラベル番号Nが付けられたセル群の重心位置のy座標である。
【0062】
重心位置算出部122は、図10に示されたような例において、ブロック1ではラベル番号1が付けられたセル群(マーカ1を表す画素データの集合、セル群1)における重心位置(x[1],y[1])を算出し、ブロック10ではラベル番号2が付けられたセル群(マーカ2を表す画素データの集合、セル群2)における重心位置(x[2],y[2])を算出し、ブロック11ではラベル番号3が付けられたセル群(マーカ2を表す画素データの集合、セル群3)における重心位置(x[3],y[3])を算出し、ブロック16ではラベル番号4が付けられたセル群(マーカ3を表す画素データの集合、セル群4)における重心位置(x[4],y[4])を算出する。また、図10においては、重心位置算出部122が算出した重心位置を、各マーカを表す円の中の点として示している。重心位置算出部122は、このようにして算出したそれぞれのセル群の重心位置を表す情報を距離計算部123に出力する。
【0063】
距離計算部123は、重心位置算出部122より、各セル群における重心位置を表す情報を入力され、任意のブロックにおける或るセル群の重心位置と、他のブロックにおける或るセル群の重心位置との間の距離を計算するものである。具体的に、距離計算部123は、まず、二つのブロック間の境界(以下、「ブロック境界」ともいう。)から一定の範囲内に重心位置を有するセル群を特定し、該セル群を特定する情報および該セル群の重心位置を表す情報を当該ブロック境界毎に格納する。そして、距離計算部123は、任意のブロック境界に関連付けられて格納されたセル群が複数有る場合に、当該セル群の間の重心位置間の距離を求める。
【0064】
具体的に、図10に示した一例において、距離計算部123は、まず、それぞれのブロック境界(B,B,…,B,B10,B11,…,B15)から一定の範囲内に重心位置を有するセル群を特定する。本実施形態においては、上記一定の範囲が、例えば上下64ピクセル(上下ブロック一つ分)と設定されている。この場合に、距離計算部123は、例えば、ブロック境界Bに対してセル群1を特定し、ブロック境界B10に対してセル群2とセル群3とを特定し、ブロック境界B15に対してセル群4を特定する。
【0065】
次に、距離計算部123は、上記特定したそれぞれのセル群の重心位置を表す情報を当該ブロック境界毎に格納する。本実施形態においては、距離計算部123は、例えば2次元配列であるboundary[B][xy]を用意し、ブロック境界Bに関連付けて、ラベル番号Nが付けられたセル群の重心位置xyを表す情報をboundary[B][xy]に格納する。なお、上記数式(4)、(5)に基づいて、重心位置xy=(x[N],y[N])である。すなわち、図10に示した一例において、距離計算部123は、例えば、ブロック境界Bに関連付けて、セル群1の重心位置(x[1],y[1])を表す情報をboundary[B][xy]に格納する。また、距離計算部123は、ブロック境界B10に関連付けて、セル群2の重心位置(x[2],y[2])を表す情報をboundary[B10][xy]に格納し、セル群3の重心位置(x[3],y[3])を表す情報をboundary[B10][xy]に格納する。また、距離計算部123は、ブロック境界B15に関連付けて、セル群4の重心位置(x[4],y[4])を表す情報をboundary[B15][xy]に格納する。
【0066】
次に、距離計算部123は、任意のブロック境界に関連付けられて格納された情報が複数有る場合に、当該重心位置間の距離を計算する。すなわち、図10に示した一例において、距離計算部123は、まず、2次元配列であるboundary[B][xy]の各行を走査し、複数の値が格納されている行を見つけ出す。図10に示した一例では、B10行において、セル群2の重心位置(x[2],y[2])と、セル群3の重心位置(x[3],y[3])とが格納されていることが見つけられる。次に、距離計算部123は、重心位置(x[2],y[2])と重心位置(x[3],y[3])との間の距離dを求める。なお、図10において例示はしないが、距離計算部123は、同じブロック内に存在する複数のセル群間においては、重心位置間の距離を求める処理を行わない。次に、距離計算部123は、当該求めた距離dと、当該距離dに係る複数のセル群を特定する情報(セル群2を特定する情報およびセル群3を特定する情報)とを統合部124に出力する。
【0067】
統合部124は、距離計算部123により上記求められた距離と、当該距離に係る複数のセル群を特定する情報とを入力される。また、統合部124は、入力部121より、図10に示したようなラベル付き画像フレームを入力される。そして、統合部124は、距離計算部123により入力された当該距離が所定の閾値D以下である場合に、入力部121により入力された当該ラベル付き画像フレームにおいて、当該距離に係る複数のセル群に同じラベルを付けなおす。
【0068】
すなわち、図10に示した一例において、統合部124は、重心位置(x[2],y[2])と重心位置(x[3],y[3])との間の距離dが所定の閾値D以下の場合に、セル群2とセル群3とに付けられている互いに異なるラベル番号(ラベル番号2とラベル番号3)を例えばラベル番号2に統合する。つまり、セル群3にラベル番号2を付けなおす。このことにより、同じ撮像対象物(マーカ2)を表す画像データであるセル群2とセル群3とに、同じラベル番号が付けられることとなる。一方、統合部124は、距離dが所定の閾値D以下でない場合には、セル群2とセル群3とに付けられているラベル番号をそのままにする。この場合は、例えば、セル群2とセル群3とが互いに異なる撮像対象物を表している場合である。
【0069】
統合部124は、以上のようにしてラベルを付けなおした画像フレームを出力部125(図1)に出力する。出力部125は、統合部124より入力された当該画像フレームを、例えば位置追跡装置等の他の装置(図示せず)に出力することができる。このことにより、例えば位置追跡装置等は画像フレームに付けられているラベルを例えば撮像対象物の各マーカの位置を認識して追跡するときに用いることができる。
【0070】
続いて、画像処理システム1により行われる動作(画像処理方法)について、図11等を参照しながら説明する。図11は、画像処理システム1の全体の動作を示すシーケンス図である。
【0071】
まず、撮像装置200が、例えば複数の撮像対象物を撮像して(ステップS101)、当該撮像した画像データをフレーム単位で(上記図2を参照)ラベリング装置100に出力する(ステップS102)。
【0072】
次に、ラベリング装置100の第1ラベリング部110の入力部111が、ステップS102にて撮像装置200より出力された画像フレームを入力し、例えば固定パタンノイズの除去やシェーディング補正の処理を施す。その後、入力部111が当該画像フレームをブロック分け部112に出力する(ステップS103)。
【0073】
次に、ブロック分け部112が、ステップS103にて入力部111より入力した当該一つの画像フレームを16個の複数のブロックに分ける(上記図3を参照)。ブロック分け部112は、当該ブロック分けした画像フレームを注目セル選定部113に出力する(ステップS104)。
【0074】
次に、注目セル選定部113が、ステップS104にてブロック分け部112によりブロック分けされた画像フレームを入力し、当該ブロック分けされた16個のそれぞれのブロック毎に並列的に注目セル選定処理を行う(ステップS105)。
【0075】
図12は、ステップS105における注目セル選定処理を説明するためのフローチャートである。図12に示すように、注目セル選定部113は、まず、処理対象となるブロック(並列処理される16個のブロックのうち一つのブロック)において、一つの現時点セルを特定する。このとき、注目セル選定部113は、例えば図4を参照しながら上記説明した現時点セル特定方法を用いる(ステップS201)。
【0076】
次に、注目セル選定部113は、ステップS201にて特定した現時点セル内の例えば8×8ピクセルの画素のうち、輝度値の閾値であるI[cd/m]を越える輝度値を有する画素がいくつあるかをカウントする(ステップS202)。
【0077】
次に、注目セル選定部113は、ステップS202にてカウントした画素数が所定の閾値X個以上であるか否かを判断する(ステップS203)。上記画素数が所定の閾値X個以上である場合(ステップS203:YES)には、注目セル選定部113は、当該現時点セルを「注目セル」として選定する(ステップS204)。一方、上記画素数が所定の閾値X個以上でない場合(ステップS203:NO)には、注目セル選定部113は、当該現時点セルを「背景セル」として選定する(ステップS205)。
【0078】
以上のように注目セル選定処理が終わると、注目セル選定部113は、当該現時点セルを特定する情報と、当該現時点セルが注目セルであるか或いは背景セルであるかを表す情報とをラベル付け部114に出力する(図11のステップS105)。
【0079】
次に、ラベル付け部114が、ステップS105にて注目セル選定部113より出力された現時点セルを特定する情報と、当該現時点セルが注目セルであるか否かを表す情報とを入力し、ブロック分けされた16個のそれぞれのブロック毎に並列的にラベリングを行う(ステップS106)。
【0080】
図13は、ステップS106におけるラベリングの方法を説明するためのフローチャートである。図13に示すように、ラベル付け部114は、まず、現時点セルが注目セルであるか否かを判断する(ステップS301)。
【0081】
ステップS301にて、現時点セルが注目セルではなく背景セルである場合(ステップS301:NO)には、ラベル付け部114は、以後に説明するラベリングを行わずに、ステップS106における処理を終了する。
【0082】
一方、ステップS301にて、現時点セルが注目セルである場合(ステップS301:YES)には、ラベル付け部114は、先ラベルがあるか否かを確認する(ステップS302)。
【0083】
ステップS302にて、先ラベルが無い場合(ステップS302:NO)には、ラベル付け部114は、ラベル保持部115のメインキューに保持されたラベルのうち順序上最も先立つラベル番号を当該注目セルに付ける。また、例えば、ラベル保持部115のメインキューに保持されていた全てのラベルが既に使われている場合には、ラベル付け部114は、ラベル保持部115の再利用キューに保持されたラベルのうち順序上最も先立つラベル番号を当該注目セルに付ける。なお、以上の場合は、前述したケース1に相当する(ステップS303)。
【0084】
ステップS302にて、先ラベルが有る場合(ステップS302:YES)には、ラベル付け部114は、当該先ラベルが複数有るか否かを判断する(ステップS304)。
【0085】
ステップS304にて、先ラベルが一つのみである場合(ステップS304:NO)には、ラベル付け部114は、当該一つのみの先ラベルと同じラベル番号を当該注目セルに付ける。なお、この場合は、前述したケース2および3に相当する(ステップS305)。
【0086】
ステップS304にて、先ラベルが複数有る場合(ステップS304:YES)には、ラベル付け部114は、当該先ラベルのうちで順序上最も先立つものを当該注目セルに付ける(ステップS306)。なお、図面にて例示はしないが、複数の先ラベルが全て同じである場合には、ラベル付け部114は、同じである当該先ラベルを当該注目セルに付ける。
【0087】
次に、ラベル付け部114は、複数の先ラベルのうちで順序上最も先立つものではない先ラベルを、順序上最も先立つ先ラベルに付けなおす。ラベル番号が付けなおされることにより削除されたラベル番号は、ラベル保持部115の再利用キューに格納される(ステップS307)。なお、ステップS306およびステップS307における場合は、前述したケース4に相当する。
【0088】
以上で説明したラベリングとともに、ラベル付け部114は、各ラベルにおける0次モーメント及び1次モーメントを前述した数式(1)~(3)に基づいて計算あるいは更新する(図11のステップS107)。
【0089】
次に、処理対象となるブロック(並列処理される16個のブロックのうち一つのブロック)の全てのセルにおいて、上記ステップS105~ステップS107の処理が終了したか否かが判断される(ステップS108)。本実施形態においては、注目セル選定部113が例えば図4を参照しながら上記説明した現時点セル特定方法を用いて現時点セルを特定している。このため、例えば、処理対象ブロックの最右下のセルに対して上記ステップS105~ステップS107の処理が終了した時点を、当該処理対象ブロック内の全てのセルに対して上記処理が終了した時点として判断することができる。
【0090】
ステップS108にて、処理対象ブロックの全てのセルに対してステップS105~ステップS107の処理が終了してはいない場合(ステップS108:NO)には、処理の流れはステップS105に移行する。
【0091】
一方、ステップS108にて、処理対象となる一つのブロックの全てのセルに対してステップS105~ステップS107の処理が終了した場合(ステップS108:YES)には、ステップS103にて入力した一つの画像フレーム全体に対してステップS105~ステップS107の処理が終了したこととなる。そして、ラベル付け部114は、例えば図10に示したようなラベル付き画像フレームと、当該ラベル付き画像フレームで使用された各ラベル番号におけるモーメント計算値とを、第2ラベリング部120に出力する(ステップS109)。
【0092】
次に、第2ラベリング部120の入力部121が、ステップS109にかかる入力を受ける。入力部121は、当該入力したラベル付き画像フレームを統合部124に出力し、当該ラベル付き画像フレームで使用された各ラベル番号におけるモーメント計算値を重心位置算出部122に出力する(ステップS110)。
【0093】
次に、重心位置算出部122が、ステップS110にて入力部121より入力されたモーメント計算値をもとに、例えば前述した数式(4)および(5)に基づいて、同じラベルが付けられたセル群毎(ラベル番号毎)の画像フレーム内での重心位置を算出する。重心位置算出部122は、算出したセル群毎の重心位置を表す情報を距離計算部123に出力する(ステップS111)。
【0094】
次に、距離計算部123が、ステップS111にて重心位置算出部122より算出されたセル群毎の重心位置を表す情報を入力され、任意のブロック境界から一定の範囲内にある重心位置のうちで、任意のブロックにおける或るセル群の重心位置と、他のブロックにおける或るセル群の重心位置との間の距離を計算する。この距離計算処理は、前述したように、例えば2次元配列をベースにして行われることができる。次に、距離計算部123は、当該求めた距離と、当該距離に係る複数のセル群を特定する情報とを統合部124に出力する(ステップS112)。
【0095】
次に、統合部124が、ステップS112にて距離計算部123により求められた距離と、当該距離に係る複数のセル群を特定する情報とを入力される。そして、統合部124は、ステップS112にて計算された当該距離が所定の閾値D以下である場合に、ステップS110にて入力部121により入力されたラベル付き画像フレームにおいて、当該距離に係る複数のセル群に同じラベルを付けなおす。そして、統合部124が、ラベルを付けなおした画像フレームを出力部125に出力する(ステップS113)。
【0096】
最後に、出力部125が、ステップS113にて統合部124より入力した画像フレームを例えば位置追跡装置等の他の装置に出力する(ステップS114)。
【0097】
続いて、本実施形態にかかる画像処理システム1の作用及び効果について説明する。本実施形態の画像処理システム1によれば、入力された画像フレーム内の任意のセルが現時点における注目セル(以下、「現時点注目セル」ともいう。)として選定されたときに、ラベル付け部114は、当該選定された現時点注目セルにラベル保持部115が保持しているラベルを付ける。このとき、ラベル付け部114は、当該現時点注目セルと画像フレーム上で隣接し、且つ現時点以前の時点において注目セルであった先時点セル(以下、「先時点隣接注目セル」ともいう。)がある場合には、当該先時点隣接注目セルに付けられたラベル(先ラベル)と同じラベル番号を当該現時点注目セルに付ける。複数の注目セルが隣接していることは、当該複数の注目セルが同一の撮像対象物を表している場合が多いと想定され、当該複数の注目セルには同一のラベル番号が付けられる。
【0098】
また、ラベル付け部114は、先ラベルが複数の場合に、該複数の先ラベルのうち所定の順序上で最も先立つラベルを現時点注目セルに付ける。更に、ラベル付け部114は、該最も先立つラベルを先時点隣接注目セルに付けなおす。先ラベルが複数の場合は、先時点隣接注目セルが複数有る場合である。このとき、当該複数の先時点隣接注目セル同士が互いに隣接していない場合には、当該複数の先時点隣接注目セルが現時点注目セルを介して隣接している(つながっている)にもかかわらず、現時点以前のラベリングにおいて当該複数の先時点隣接注目セルには互いに異なるラベル番号が付けられている。これに対して、ラベル付け部114は、当該最も先立つラベルを先時点隣接注目セルに付けなおすことにより、現時点注目セルを介してつながっているにもかかわらず互いに異なるラベル番号が付けられている複数の先時点隣接注目セルと、当該現時点注目セルとに、全て同じラベル番号を付けることができる。
【0099】
以上のことにより、つながっている全ての注目セルに同じラベル番号を付けるために、画像フレームに対して例えば2回の走査を行う必要がなくなり、1回の走査だけでも正しいラベリングを行うことができる。したがって、ラベリングにかかる処理時間を短縮することができる。
【0100】
また、画像フレームに対する1回目の走査でラベリングが完了されるため、例えば仮ラベル付きの画像データを2回目の走査時まで一時的に記憶しておく必要がなくなる。このため、ラベリングを完了するために必要なメモリ量を低減することができる。
【0101】
また、本実施形態においては、ラベル保持部115の再利用キューに、ラベルの付けなおしの際に削除されるラベル(既に付けられていたラベル)が再利用ラベルとして保持される。そして、この再利用ラベルは、ラベル付け部114によるラベリングの際に再び使用される。このことにより、装置全体で使用可能なメモリ量(ラベル番号の限度量)を効果的に活用することが可能となる。
【0102】
また、本実施形態においては、注目セル選定部113による処理は、複数の画素からなるセルを単位として行われる。このとき、注目セル選定部113は、一定の判断基準を超える画素を所定の個数X以上有しているセルを注目セルとして選定する。一方、例えば僅かな個数のノイズがセルに含まれているときなど、一定の判断基準を超える画素であってもその数が所定の個数Xにいたっていない場合には、注目セルとして選定されない。このことにより、ノイズ画素に対する対応性(耐ノイズ性)を高めることができる。また、例えば注目セルとして選定されないセルにはラベルを付けないようにすることができ、その結果、装置全体で使用可能なメモリ量(ラベル番号の限度量)を効果的に活用することが可能となる。
【0103】
また、本実施形態においては、上記判断基準として画素の輝度が用いられている。画素の輝度は、当該画素がノイズであるか否かを判断するのに好適な基準となるからである。
【0104】
また、本実施形態においては、ブロック分け部112が、一つの画像フレームを複数のブロックに分ける。このとき、一つのブロックは複数のセルからなる。そして、注目セル選定部113およびラベル付け部114により行われる各処理は、上記複数のブロック毎に並列的に行われる。このことにより、各処理にかかる時間を短縮することができ、リアルタイム処理を可能とする。
【0105】
また、本実施形態においては、重心位置算出部122が、同じラベルが付けられた一つ以上のセルの群における重心位置を算出すると、距離計算部123が、任意のブロックにおけるセル群の重心位置と、他のブロックにおけるセル群の重心位置との間の距離を計算する。そして、上記距離が所定の閾値D以下である場合に、統合部124が、当該距離にかかる複数のセル群に同じラベルを付けなおす。
【0106】
本実施形態においては、注目セル選定部113およびラベル付け部114により行われる各処理は、上述したようにブロック毎に並列的に行われる。このため、例えば複数のブロックに跨って存在する撮像対象物の場合には、ブロック毎に異なるラベルが付けられる可能性がある。これに対して、本実施形態においては、統合部124が、同一の撮像対象物を表しているにもかかわらず異なるラベルが付けられているセル群同士を同一のラベルに統合する。このことにより、同一の撮像対象物を表している画像データには、同一のラベルを付けることができる。また、この統合処理は、画像データではなく、配列(例えば上述した2次元配列のboundary[B][xy]など)をベースにして行われることができるため、長い処理時間を必要としない。
【0107】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されないことは言うまでもない。
【0108】
例えば、上記実施形態においては、「隣接」とは、任意のセルと一面が接すること(いわゆる4近傍型のラベリング)として説明したが、これに限られることなく、いわゆる8近傍型のラベリングにおいても、本発明の概念を適用することができる。
【0109】
また、上記実施形態においては、撮像対象物であるマーカの数として例えば3つを一例として説明したが、これよりもっと多くの撮像対象物に対しても本発明の概念を適用することができる。
【0110】
更に、例えば、上記実施形態においては、背景セルにはラベルを付けないこととしたが、これに限られることなく、背景セルには当該セルが背景セルであることを表すラベルを付けても良い。
【図面の簡単な説明】
【0111】
【図1】画像処理システムの構成概要図である。
【図2】撮像装置により撮像された一つの画像フレームをイメージした図である。
【図3】ブロック分け動作を説明するための図である。
【図4】現時点セル特定処理を説明するための図である。
【図5】ラベルが保持されている様子を示す図である。
【図6】ラベリング方法を説明するための図である。
【図7】ラベリング方法を説明するための図である。
【図8】ラベリング方法を説明するための図である。
【図9】ラベリング方法を説明するための図である。
【図10】ラベル付き画像フレームの一例を示す図である。
【図11】画像処理システムの全体の動作を示すシーケンス図である。
【図12】注目セル選定処理を説明するためのフローチャートである。
【図13】ラベリングの方法を説明するためのフローチャートである。
【符号の説明】
【0112】
1…画像処理システム、100…ラベリング装置、110…第1ラベリング部、111…入力部、112…ブロック分け部、113…注目セル選定部、114…ラベル付け部、115…ラベル保持部、120…第2ラベリング部、121…入力部、122…重心位置算出部、123…距離計算部、124…統合部、125…出力部、200…撮像装置。
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12