(57)【特許請求の範囲】
【請求項１】
物体領域の位置及び大きさを検出する手段を実現するデータ処理装置において格子状に配置された配列演算ユニットの各々に対して、
前記配列演算ユニットを初期化する手段と、
入力すべき粗エッジ情報画像がなければ処理を終了する手段と、
前記粗エッジ情報画像の帯域画素値を入力する手段と、
前記粗エッジ情報画像の前記帯域画素値を重複情報画像の帯域画素値に変換する手段と、
前記重複情報画像から計算した移動量を移動量画像の帯域画素値に画像化する手段と、
前記移動量画像の前記帯域画素値が指し示す移動位置に前記重複情報画像の前記帯域画素値を移動する手段と、
前記重複情報画像の前記帯域画素値を前記重複情報画像の移動元の前記帯域画素値の合計に更新する手段と、
前記重複情報画像の前記帯域画素値を出力する手段と、
を備えたことを特徴とする視覚装置。
【発明の詳細な説明】
技術分野
本発明は、画像中の物体の数を数える視覚装置及びその方法に関し、詳しくは、ビデオカメラやデジタルカメラなどで撮影された三原色波長、可視光波長、赤外線波長、紫外線波長、その他全ての電磁波のうち任意の帯域から構成される画像中の移動物体又は静止物体の数を数えるものに関する。
背景技術
従来からビデオカメラやデジタルカメラを用いて複数の物体を１つの画面に収まるように撮影し、デジタル技術を用いて画面中の物体の数を数える装置が開発されてきた。代表的な例としては、顕微鏡を介して撮影された細胞の数を数える装置が挙げられる。細胞の染色体は紫色に染色されるので、画像中ある一定以上の大きさの紫色の領域を切り出して１つの塊にすることで、細胞の数を数えることができる。しかしながら細胞を染色しては困る場合や染色できない場合において、細胞の数を数えることは容易ではない。というのも一般的に細胞は透明であるので、細胞全体を１つの塊にするために色情報はあまり役に立たない。勿論細胞の画像を拡大すれば核やミトコンドリアの陰影を捉えることができるが、このような場合はむしろ例外である。そのため光の屈折、反射により映し出される細胞の輪郭からエッジ情報を生成する場合が多い。このエッジ情報を用いれば理論上細胞全体を１つの塊にできるはずであるが、実際にはエッジ情報が不完全である場合が殆どなので、細胞の形や大きさといった情報を用いてエッジ情報を補完している。しかもこのエッジ情報から細胞全体を１つの塊にするためには、塗り潰しなど計算量の多い画像処理を施す必要があり、当然のことながらエッジ情報に切れ目があってはいけない。その上細胞の中から移動している細胞だけを選び切り出すとなるとオプティカルフローなどの計算を行わざるを得ず、結局計数の精度を上げるためには高額の装置が必要となり、一方で安い装置を使うと、計算時間が膨大になる。
ところで細胞など一部の例外を除いて一般的な物体には色がある。例えばおおざっぱに言って、おたまじゃくしの背中はこげ茶色であり、りんごは赤色、黄色、緑色であり、馬は黒色、茶色、灰色であり、カラスは黒色である。したがってこのような物体を数えるためには画像中から物体固有の色情報を見つけ出せば良さそうだが、事はそう簡単ではない。一つには、色情報は太陽光や照明の明るさ、及びカメラの性能により大きく左右されてしまう。また類似色の物体が撮影環境にあると、対象物体とそれ以外を区別をすることが難しい。そこで形や大きさなどの情報を用いて背景から対象物体を切り出してから、その物体の数を数える方が一般的であり、色情報は対象物体を絞り込んで計算量を低減するために用いられる程度である。もし視覚装置が色情報の変化を物体の動きとして捉えれば照明やカメラの性能はあまり問題ではなくなるが、物体の動きから物体の形を正確に再現することが難しくなるばかりか、エッジ情報で囲まれた領域を塗り潰すことにより物体領域を確定しなければならないといった問題が生じてしまい、色情報の変化を活用した視覚装置は十分に研究されてこなかった。
これらのことを考慮すると、視覚装置が色情報の変化などから物体の動きを捉えてエッジ情報を生成し、このエッジ情報から物体を切り出して１つの塊にすることができれば、物体の特徴や撮影環境に依存することなく物体の数を数えることができるようになる。しかも物体自体を振動させるか、カメラを振動させるか、さもなくば撮影された画像を振動させることにより色情報からエッジ情報を生成することができれば、物体が静止しているとしても視覚装置は物体の数を数えることができるものと期待される。
さてここで、カメラが撮影した物体の数を数えることができる前述の視覚装置があるものとする。もしカメラが撮影した物体が静止していれば、視覚装置は常時静止物体の数を数えることができる。しかしながらもし物体が移動していれば、カメラが移動物体を撮影している間しか視覚装置は移動物体の数を数えることができない。シャーレの中の細胞のように事前に静止物体及び移動物体の位置が特定されるならば問題はないが、部屋中や屋外空間を動き回る人間や動物などを数えるとなると、部屋の全域や屋外空間がカメラの画角に収まり切らないか、カメラからの距離により人間や動物などが画像中で大きくなったり小さくなったりするので、カメラを固定していると視覚装置の用途が制限される。さらに視覚装置は部屋のインテリアと人間や動物とを区別しなければならないので、物体を認識するために膨大な計算量が必要となる。
これらのことを考慮すると、移動カメラが部屋中や屋外空間から人間や動物など特定の物体を探索してこれらの物体だけを撮影し、これらの物体が画像中で適当な大きさになるように視覚装置がカメラの倍率を調整することができれば、視覚装置はこれらの物体を容易に認識することができるばかりか、人間や動物など事前に位置を特定することができない移動物体の数を数えることができるようになる。勿論人間や動物などが寝ていてほとんど動かないとしても、視覚装置は人間や動物などを他の静止物体と区別して人間や動物などの数を数えることができるものと期待される。
そこで、本発明は、動画像中の移動物体又は全物体のいずれかを選択的に選んで生成したエッジ情報を基にして、高速に移動物体又は全物体の数を数えることを目的とする。さらには動画像から移動物体及び静止物体の数を数えることにより、動画像中の移動物体及び静止物体の割合を高速に計算することも目的とする。加えて移動カメラで撮影可能な範囲に存在する移動物体及び静止物体を探索することにより、移動物体及び静止物体の数を高速に数えることも目的とする。
発明の開示
視覚装置ａは、動画像中の移動物体に対して、前記動画像のフレーム画像を取得する手段と、前記フレーム画像をデジタル画像として順次記憶する手段と、前記デジタル画像から移動物体粗エッジ情報画像を生成する手段と、前記デジタル画像を用いて前記移動物体粗エッジ情報画像から移動物体形成エッジ情報画像を生成する手段と、前記移動物体形成エッジ情報画像によって区分される移動物体領域の位置及び大きさを検出する手段と、移動物体領域数を数える手段と、前記移動物体領域数を保持する手段と、を有する視覚装置である。前記フレーム画像を取得する前記手段において、前記動画像がアナログ信号の場合は、前記フレーム画像をデジタル信号に変換して前記デジタル画像にする。前記動画像が前記デジタル信号の場合は、圧縮されていれば展開し、圧縮されていなければそのまま入力し、その後前記動画像の中から前記フレーム画像を切り出して前記デジタル画像にする。前記フレーム画像を前記デジタル画像として順次記憶する前記手段では、前記フレーム画像の全ての画素を二次元の位相関係を保ったままメモリに記憶する。前記デジタル画像から前記移動物体粗エッジ情報画像を生成する前記手段では、前記デジタル画像の画素毎に移動物体のエッジ情報を生成する。前記デジタル画像を用いて前記移動物体粗エッジ情報画像から前記移動物体形成エッジ情報画像を生成する前記手段では、前記デジタル画像を用いて、前記移動物体の前記エッジ情報をより的確で明瞭な前記エッジ情報に形成する。前記移動物体形成エッジ情報画像によって区分される前記移動物体領域の前記位置及び前記大きさを検出する前記手段では、前記移動物体領域の境界にある前記エッジ情報の重心位置及び前記移動物体領域の境界にある前記エッジ情報の数を１つの画素に代表させる。前記移動物体領域数を数える前記手段では、前記移動物体領域を代表する前記画素の数を数える。前記移動物体領域数を保持する前記手段では、前記移動物体領域を代表する前記画素の数を２の補数表現や浮動小数点表現など出力先が必要とする形式で出力する。前記手段は各々並列に動作させることができ、また前記移動物体粗エッジ情報画像を生成する前記手段、前記移動物体形成エッジ情報画像を生成する前記手段、及び前記移動物体領域の前記位置及び前記大きさを検出する前記手段は、各々の内部でも画素毎に並列に動作させることができる。しかもこれらの前記手段は全て局所処理によって実現される。したがって前記視覚装置は前記移動物体の形や大きさに依存することなく、高速に前記移動物体領域数を数えることができる。また色情報の分類などによって前記移動物体領域を抽出する場合に比べて、前記エッジ情報は照明などの影響を受け難く、しかも透明な前記移動物体に対しても染色することなく、前記エッジ情報は屈折や反射を利用することにより生成されるので、前記視覚装置の応用範囲は広い。したがって前記移動物体の計数に関する諸問題が好適に解決される。
視覚装置ｂは、動画像中の移動物体に対して、動画像のフレーム画像を取得する手段と、前記フレーム画像をデジタル画像として順次記憶する手段と、前記デジタル画像から移動物体粗エッジ情報画像を生成する手段と、前記デジタル画像を用いて前記移動物体粗エッジ情報画像から移動物体形成エッジ情報画像を生成する手段と、前記移動物体形成エッジ情報画像を用いて背景から移動物体領域を分離する手段と、前記移動物体領域の位置及び大きさを検出する手段と、移動物体領域数を数える手段と、前記移動物体領域数を保持する手段と、を有する視覚装置である。視覚装置ｂは、視覚装置ａに、前記移動物体形成エッジ情報画像を用いて前記背景から前記移動物体領域を分離する前記手段を追加したものである。前記移動物体形成エッジ情報画像を用いて前記背景から前記移動物体領域を分離する前記手段では、前記移動物体の前記エッジ情報を境界として、前記背景に含まれる画素と前記移動物体領域に含まれる前記画素を異なるグループに分類することができる。これに伴い、前記移動物体領域の前記位置及び前記大きさを検出する前記手段では、前記移動物体領域の前記重心位置及び前記移動物体領域に含まれる前記画素の数を１つの前記画素に代表させる。前記手段は各々並列に動作させることができ、また前記移動物体粗エッジ情報画像を生成する前記手段、前記移動物体形成エッジ情報画像を生成する前記手段、前記背景から前記移動物体領域を分離する前記手段、及び前記移動物体領域の前記位置及び前記大きさを検出する前記手段は、各々の内部でも画素毎に並列に動作させることができる。しかもこれらの前記手段は全て局所処理によって実現される。したがって前記視覚装置は前記移動物体の形や大きさに依存することなく、高速に前記移動物体領域数を数えることができる。また色情報の分類などによって前記移動物体領域を抽出する場合に比べて、前記エッジ情報によって前記背景から分離された前記移動物体領域は照明などの影響を受け難く、しかも透明な前記移動物体に対しても染色することなく、前記エッジ情報は屈折や反射を利用することにより生成されるので、前記視覚装置の応用範囲は広い。したがって前記移動物体の計数に関する諸問題が好適に解決される。
視覚装置ｃは、視覚装置ａ又は視覚装置ｂに対して、前記デジタル画像を振動させる手段を有することにより、前記移動物体の代りに全物体に対して全物体領域数を数えることを特徴とする視覚装置である。視覚装置ａに対して前記デジタル画像を振動させる前記手段を追加した場合、以下のようになる。前記フレーム画像を取得する手段において、前記動画像がアナログ信号の場合は、前記フレーム画像をデジタル信号に変換して前記デジタル画像にする。前記動画像が前記デジタル信号の場合は、圧縮されていれば展開し、圧縮されていなければそのまま入力し、その後前記動画像の中から前記フレーム画像を切り出して前記デジタル画像にする。前記フレーム画像を前記デジタル画像として順次記憶する前記手段では、前記フレーム画像の全ての前記画素を二次元の位相関係を保ったままメモリに記憶する。前記振動画像から前記全物体粗エッジ情報画像を生成する前記手段では、前記デジタル画像を画像単位又は画素単位で上下左右に振動させることにより前記振動画像を生成する。これにより、前記振動画像中の前記全物体はあたかも移動しているかのように見える。前記振動画像から前記全物体粗エッジ情報画像を生成する前記手段では、前記振動画像の前記画素毎に前記全物体の前記エッジ情報を生成する。前記デジタル画像を用いて前記全物体粗エッジ情報画像から前記全物体形成エッジ情報画像を生成する前記手段では、前記デジタル画像を用いて、前記全物体の前記エッジ情報をより的確で明瞭な前記エッジ情報に形成する。前記全物体形成エッジ情報画像によって区分される前記全物体領域の前記位置及び前記大きさを検出する前記手段では、前記全物体領域の境界にある前記エッジ情報の前記重心位置及び前記全物体領域の境界にある前記エッジ情報の数を１つの画素に代表させる。前記全物体領域数を数える前記手段では、前記全物体領域を代表する前記画素の数を数える。前記全物体領域数を保持する前記手段と、前記全物体領域を代表する前記画素の数を２の補数表現や浮動小数点表現など出力先が必要とする形式で出力する。前記手段は各々並列に動作させることができ、また前記全物体粗エッジ情報画像を生成する前記手段、前記全物体形成エッジ情報画像を生成する前記手段、及び前記全物体領域の前記位置及び前記大きさを検出する前記手段は、各々の内部でも画素毎に並列に動作させることができる。しかもこれらの前記手段は全て局所処理によって実現される。したがって前記視覚装置は前記全物体の形や大きさに依存することなく、高速に前記全物体領域数を数えることができる。また色情報の分類などによって前記全物体領域を抽出する場合に比べて、前記エッジ情報は照明などの影響を受け難く、しかも透明な前記全物体に対しても染色することなく、前記エッジ情報は屈折や反射を利用することにより生成されるので、前記視覚装置の応用範囲は広い。したがって前記全物体の計数に関する諸問題が好適に解決される。
一方で、視覚装置ｂに対して前記デジタル画像を振動させる前記手段を追加した場合、以下のようになる。前記全物体形成エッジ情報画像を用いて前記背景から前記全物体領域を分離する前記手段では、前記全物体の前記エッジ情報を境界として、前記背景に含まれる前記画素と前記全物体領域に含まれる前記画素を異なるグループに分類することができる。これに伴い、前記全物体領域の前記位置及び前記大きさを検出する前記手段では、前記全物体領域の重心位置及び前記全物体領域に含まれる前記画素の数を１つの前記画素に代表させる。前記手段は各々並列に動作させることができ、また前記全物体粗エッジ情報画像を生成する前記手段、前記全物体形成エッジ情報画像を生成する前記手段、及び前記全物体領域の前記位置及び前記大きさを検出する前記手段は、各々の内部でも画素毎に並列に動作させることができる。しかもこれらの前記手段は全て局所処理によって実現される。したがって前記視覚装置は前記全物体の形や大きさに依存することなく、高速に前記全物体領域数を数えることができる。また色情報の分類などによって前記全物体領域を抽出する場合に比べて、前記エッジ情報によって前記背景から分離された前記全物体領域は照明などの影響を受け難く、しかも透明な前記全物体に対しても染色することなく、前記エッジ情報は屈折や反射を利用することにより生成されるので、前記視覚装置の応用範囲は広い。したがって前記全物体の計数に関する諸問題が好適に解決される。
視覚装置ａと、視覚装置ａに対して前記デジタル画像を振動させる前記手段を追加した視覚装置ｃとを組み合せた場合、視覚装置ａと視覚装置ｃとの間で、前記デジタル画像から前記移動物体粗エッジ情報画像を生成する前記手段と、前記振動画像から前記全物体粗エッジ情報画像を生成する前記手段と、を共有することができ、前記デジタル画像を用いて前記移動物体粗エッジ情報画像から前記移動物体形成エッジ情報画像を生成する前記手段と、前記デジタル画像を用いて前記全物体粗エッジ情報画像から前記全物体形成エッジ情報画像を生成する前記手段と、を共有することができ、前記移動物体形成エッジ情報画像によって区分される前記移動物体領域の前記位置及び前記大きさを検出する前記手段と、前記全物体形成エッジ情報画像によって区分される前記全物体領域の前記位置及び前記大きさを検出する前記手段と、を共有することができ，前記移動物体領域数を数える前記手段と、前記全物体領域数を数える前記手段と、を共有することができ、前記移動物体領域数を保持する前記手段と、前記全物体領域数を保持する前記手段と、を共有することができる。もしハードウェア量の制約があればこれらの前記手段を共有しても構わない。もちろん共有しなければ、それだけ計数時間を短くすることができる。また色情報の分類などによって前記移動物体領域及び前記全物体領域を抽出する場合に比べて、前記エッジ情報は照明などの影響を受け難く、しかも透明な前記移動物体及び前記全物体に対しても染色することなく、前記エッジ情報は屈折や反射を利用することにより生成されるので、前記視覚装置の応用範囲は広い。したがって前記移動物体及び前記全物体の計数に関する諸問題が好適に解決される。
一方で、視覚装置ｂと、視覚装置ｂに対して前記デジタル画像を振動させる前記手段を追加した視覚装置ｃとを組み合せた場合、視覚装置ｂと視覚装置ｃとの間で、前記デジタル画像から前記移動物体粗エッジ情報画像を生成する前記手段と、前記振動画像から前記全物体粗エッジ情報画像を生成する前記手段と、を共有することができ、前記デジタル画像を用いて前記移動物体粗エッジ情報画像から前記移動物体形成エッジ情報画像を生成する前記手段と、前記デジタル画像を用いて前記全物体粗エッジ情報画像から前記全物体形成エッジ情報画像を生成する前記手段と、を共有することができ、前記移動物体形成エッジ情報画像を用いて前記背景から前記移動物体領域を分離する前記手段と、前記全物体形成エッジ情報画像を用いて前記背景から前記全物体領域を分離する前記手段と、を共有することができ、前記移動物体領域の前記位置及び前記大きさを検出する前記手段と、前記全物体領域の前記位置及び前記大きさを検出する前記手段と、を共有することができ、前記移動物体領域数を数える前記手段と、前記全物体領域数を数える前記手段と、を共有することができ、前記移動物体領域数を保持する前記手段と、前記全物体領域数を保持する前記手段と、を共有することができる。もしハードウェア量の制約があればこれらの前記手段を共有しても構わない。もちろん共有しなければ、それだけ計数時間を短くすることができる。また色情報の分類などによって前記移動物体領域及び前記全物体領域を抽出する場合に比べて、前記エッジ情報によって前記背景から分離された前記移動物体領域及び前記全物体領域は照明などの影響を受け難く、しかも透明な前記移動物体及び前記全物体に対しても染色することなく、前記エッジ情報は屈折や反射を利用することにより生成されるので、前記視覚装置の応用範囲は広い。したがって前記移動物体及び前記全物体の計数に関する諸問題が好適に解決される。
さらに視覚装置ａと、視覚装置ａに対して前記デジタル画像を振動させる前記手段を追加した視覚装置ｃとを組み合せた視覚装置か、又は視覚装置ｂと、視覚装置ｂに対して前記デジタル画像を振動させる前記手段を追加した視覚装置ｃとを組み合せた視覚装置は、前記移動物体領域数と、前記全物体領域数から前記移動物体領域数を引いた静止物体領域数と、を保持する機能か、又は前記移動物体の割合と、前記全物体から前記移動物体を除いた静止物体の割合と、を保持する機能か、を備えることができる。前者の場合、前記全物体領域数を保持する前記手段において、前記全物体領域数から前記移動物体領域数を引くことで前記静止物体領域数を求めることができる。そこで前記全物体領域数を保持する前記手段において、必要に応じて前記全物体領域数の代りに前記静止物体領域数を出力することができる。後者の場合、前記移動物体領域数を保持する前記手段において、前記移動物体領域数を前記全物体領域数で割ることで前記移動物体の割合を求めることができる。そこで前記移動物体領域数を保持する前記手段において、必要に応じて前記移動物体領域数の代りに前記移動物体領域の割合を出力することができる。また前記全物体領域数を保持する前記手段において、前記全物体領域数から前記移動物体領域数を引くことで前記静止物体領域数を求めることができるので、前記静止物体領域数を前記全物体領域数で割ることで前記静止物体の割合を求めることができる。そこで前記全物体領域数を保持する前記手段において、必要に応じて前記全物体領域数の代りに前記静止物体領域の割合を出力することができる。
なお視覚装置ａ、視覚装置ｂ及び視覚装置ｃにおいて、ビデオカメラによって撮影された前記動画像は複数の前記フレーム画像を連続させることにより、前記フレーム画像中の前記移動物体が移動しているように見せかけている。したがってデジタルカメラやスキャナなどによって異なる時刻か異なる場所で作成された前記静止画像を連続させることにより、前記静止画像中の前記移動物体が移動しているように見せかけることができる。前記ビデオカメラの代りに前記デジタルカメラや前記スキャナなどを用いることにより、移動速度が遅い前記移動物体の前記移動物体領域数を数える際に前記静止画像の撮影時刻の間隔を容易に調整することができる。またシャーレの中の全細胞の数を数えるといった必ずしも前記ビデオカメラを必要としないような場合において、前記ビデオカメラの代りに高解像度の前記デジタルカメラを用いることができるので、安くしかも精度の高い視覚装置を実現することができる。したがって前記移動物体及び前記全物体の計数に関する諸問題が好適に解決される。
視覚装置ｄは、移動カメラによって撮影された動画像中の任意物体に対して、前記動画像のフレーム画像を取得する手段と、前記フレーム画像をデジタル画像として順次記憶する手段と、前記デジタル画像から任意物体粗エッジ情報画像を生成する手段と、前記任意物体粗エッジ情報画像によって区分される任意物体領域の位置及び大きさを検出する手段と、前記移動カメラの向き及び倍率を環境座標の位置に変換する手段と、前記任意物体領域の前記位置及び前記大きさを前記環境座標の前記位置に変換する手段と、複数の前記任意物体領域に対する前記環境座標の前記位置の中から１つを選択する手段と、外部からの制御命令を入力する手段と、前記移動カメラを振動させる振動命令を生成する手段と、前記移動カメラが移動すべき前記環境座標の前記位置を制御する手段と、前記移動カメラを制御するカメラ命令を生成する手段と、を有する視覚装置である。前記移動力メラが撮影した前記任意物体が適当な大きさで撮影されるように前記視覚装置は前記移動カメラの前記向き及び前記倍率を調整する。前記動画像から前記任意物体のエッジ情報を生成し、前記エッジ情報を縮退する一連の処理は、全て局所処理によって実現される。これにより前記視覚装置は前記任意物体の形や大きさに依存することなく、高速に前記任意物体を適切な大きさで撮影することができる。また色情報の分類などによって前記任意物体の領域を抽出する場合に比べて、前記エッジ情報は照明などの影響を受け難いので、前記視覚装置の応用範囲は広い。したがって前記任意物体の撮影に関する諸問題が好適に解決される。
視覚装置ｅは、視覚装置ｄに対して、前記デジタル画像を用いて前記任意物体粗エッジ情報画像から前記任意物体形成エッジ情報画像を生成する手段と、前記任意物体形成エッジ情報画像を用いて背景から前記任意物体領域を分離する手段と、前記任意物体領域を正規化する手段と、任意物体正規化画像を保持する手段と、前記任意物体正規化画像を認識する手段と、認識結果を保持する手段と、前記環境座標で表された環境地図を生成する手段と、前記環境地図を保持する手段と、前記環境地図における前記任意物体の前記位置を推定する手段、任意物体数を数える手段と、前記任意物体数を保持する手段と、前記任意物体形成エッジ情報画像を幾何解析する手段、を有する視覚装置である。視覚装置ｅの特徴は以下の通りである。第一に前記動画像から前記任意物体の前記エッジ情報を生成し、前記エッジ情報を用いて前記背景から分離した前記任意物体領域を正規化する一連の処理は、全て局所処理によって実現される。これにより前記視覚装置は前記任意物体の形や大きさに依存することなく、高速に前記任意物体正規化画像を生成することができるので、前記視覚装置の応用範囲は広い。したがって前記任意物体の抽出及び正規化に関する諸問題が好適に解決される。第二に、前記動画像から前記任意物体の前記エッジ情報を生成し、前記エッジ情報を用いて前記背景から分離した前記任意物体領域を正規化する一連の処理は、全て局所処理によって実現される。これにより前記視覚装置は前記任意物体の形や大きさに依存することなく、高速に前記任意物体正規化画像を生成することができる。しかも前記任意物体正規化画像は前記背景を含まないので、前記任意物体正規化画像を認識する方法は、前記背景に囲まれた前記任意物体領域を認識する場合に比べて、前記背景や前記任意物体領域の前記位置及び前記大きさなどの影響を受け難いので、前記視覚装置の応用範囲は広い。したがって前記任意物体の認識に関する諸問題が好適に解決される。第三に、前記任意物体正規化画像を認識した結果と前記移動カメラの前記向き及び前記倍率から前記任意物体の種別と前記環境座標中の位置を表す環境データが作成されるので、前記視覚装置は前記環境データの集合である前記環境地図を作成することができる。前記環境地図は一定期間の前記環境データを含んでいるので、前記任意物体の前記種別毎に分布や移動状況を記録することができ、前記視覚装置の応用範囲は広い。したがって前記任意物体の記録に関する諸問題が好適に解決される。第四に、前記環境地図を用いると、未だ認識されていない前記任意物体の前記環境座標中の前記位置を求めることができる。また前記移動カメラが撮影可能な範囲に存在する前記任意物体の実際の位置を推定することができるので、前記視覚装置の応用範囲は広い。したがって前記任意物体の探索に関する諸問題が好適に解決される。第五に、前記環境地図に含まれる前記環境データの中から特定の前記認識結果を示すものを抽出して数えることで、前記視覚装置は前記任意物体のうち特定の前記種別に属するものの数を数えることができるので、前記視覚装置の応用範囲は広い。したがって前記任意物体の計数に関する諸問題が好適に解決される。第六に、前記任意物体から生成した前記エッジ情報の大ざっぱな形状を解析することにより、前記任意物体正規化画像中の前記任意物体の前記種別を推定できるので、前記任意物体正規化画像を認識する前記手段はより高速で正確に前記任意物体正規化画像を認識することができる。また前記任意物体正規化画像中の前記任意物体が認識の対象でない場合には、前記任意物体正規化画像を認識する前記手段が前記認識結果を生成する前に前記環境地図を生成することができるので、前記視覚装置の応用範囲は広い。したがって前記任意物体の認識、探索及び計数に関する諸問題が好適に解決される。
視覚装置ｆは、デジタル画像を振動させる手段を実現するデータ処理装置において格子状に配置された配列演算ユニットの各々に対して、前記配列演算ユニットを初期化する手段と、入力すべき前記デジタル画像がなければ処理を終了する手段と、前記デジタル画像の各帯域画素値を入力する手段と、前記デジタル画像の前記各帯域画素値を上下左右に振動させる手段と、振動画像の各帯域画素値を出力する手段と、を備えたことを特徴とする視覚装置である。つまり、これは前記配列演算ユニットが提供する前記デジタル画像の振動機能をデジタル技術で実現するためのアルゴリズムの実装形態である。前記配列演算ユニットを格子状に配置し、前記配列演算ユニットを近傍同士相互に結合し、前記配列演算ユニットの各パラメータの初期値を設定した後に、前記デジタル画像を画素単位で適宜入力し、前記デジタル画像の各帯域画素値の振動から前記振動画像の各帯域画素値の出力までを順次行い、前記デジタル画像が入力されなくなるまで繰り返す。これにより汎用的なプロセッサを利用することができ、前記パラメータの修正を容易にすることができる。
視覚装置ｇは、デジタル画像から粗エッジ情報画像を生成する手段を実現するデータ処理装置において格子状に配置された配列演算ユニットの各々に対して、前記配列演算ユニットを初期化する手段と、入力すべき前記デジタル画像がなければ処理を終了する手段と、前記デジタル画像の各帯域画素値を入力する手段と、前記デジタル画像の前記各帯域画素値を平滑化して平滑化画像の各帯域画素値を生成する手段と、前記平滑化画像の前記各帯域画素値の対数を取って対数変換画像の各帯域画素値を生成する手段と、前記対数変換画像の前記各帯域画素値を鮮鋭化して鮮鋭化画像の各帯域画素値を生成する手段と、前記鮮鋭化画像の前記各帯域画素値から１入力前鮮鋭化画像の各帯域画素値を引いて時間差分画像の各帯域画素値を生成する手段と、前記鮮鋭化画像の前記各帯域画素値を前記１入力前鮮鋭化画像の前記各帯域画素値に置き換える手段と、前記時間差分画像の前記各帯域画素値に対してラプラシアンを計算して時間差分ラプラシアン画像の各帯域画素値を生成する手段と、前記時間差分ラプラシアン画像の前記各帯域画素値のゼロ点を抽出して時間差分ゼロ点画像の各帯域画素値を生成する手段と、前記時間差分ゼロ点画像の前記各帯域画素値の最大値を求めて最大値時間差分ゼロ点画像の帯域画素値を生成する手段と、前記鮮鋭化画像の前記各帯域画素値に対して前記ラプラシアンを計算してラプラシアン画像の各帯域画素値を生成する手段と、前記ラプラシアン画像の前記各帯域画素値の前記ゼロ点を抽出してゼロ点画像の各帯域画素値を生成する手段と、前記ゼロ点画像の前記各帯域画素値の最大値を求めて最大値ゼロ点画像の帯域画素値を生成する手段と、前記最大値ゼロ点画像の前記帯域画素値と前記最大値時間差分ゼロ点画像の前記帯域画素値のうち大きい方を求めて混成ゼロ点画像の帯域画素値を生成する手段と、前記混成ゼロ点画像の孔を除去して孔除去混成ゼロ点画像の帯域画素値を生成する手段と、前記孔除去混成ゼロ点画像の孤立点および孤立孔を除去してノイズ除去混成ゼロ点画像の帯域画素値を生成する手段と、前記ノイズ除去混成ゼロ点画像の前記各帯域画素値を反転して粗エッジ情報画像の帯域画素値を生成する手段と、前記粗エッジ情報画像の前記帯域画素値を出力する手段と、を備えたことを特徴とする視覚装置である。つまり、これは前記配列演算ユニットが提供する前記粗エッジ情報画像の生成機能をデジタル技術で実現するためのアルゴリズムの実装形態である。前記配列演算ユニットを格子状に配置し、前記配列演算ユニットを近傍同士相互に結合し、前記配列演算ユニットの各パラメータの初期値を設定した後に、前記デジタル画像を画素単位で適宜入力し、前記デジタル画像の平滑化から前記粗エッジ情報画像の各帯域画素値の出力までを順次行い、前記デジタル画像が入力されなくなるまで繰り返す。これにより汎用的なプロセッサを利用することができ、前記パラメータの修正を容易にすることができる。なお前記配列演算ユニットは、近傍にある前記配列演算ユニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必要はない。というのも、近傍にある前記配列演算ユニットから各種前記画像の前記近傍画素を受信することができない場合には、受信待ちをしている前記配列演算ユニットは自分自身の前記帯域画素値を代用することができるからである。このとき前記配列演算ユニットが生成する各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、視覚装置ｇでは、殆んどのノイズは前記手段の各々において吸収されてしまうのである。自分自身の前記帯域画素値を代用する手段により、辺縁処理とタイムアウト処理が同時に、しかも簡単に実現される。
視覚装置ｈは、粗エッジ情報画像から形成エッジ情報画像を生成する手段を実現するデータ処理装置において格子状に配置された配列演算ユニットの各々に対して、前記配列演算ユニットを初期化する手段と、入力すべきデジタル画像又は前記粗エッジ情報画像がなければ処理を終了する手段と、前記デジタル画像の各帯域画素値及び前記粗エッジ情報画像の帯域画素値を入力する手段と、前記デジタル画像の前記各帯域画素値と前記粗エッジ情報画像の前記帯域画素値を分離する手段と、前記デジタル画像の前記各帯域画素値を平滑化して平滑化画像の各帯域画素値を生成する手段と、前記平滑化画像の前記各帯域画素値の対数を取って対数変換画像の各帯域画素値を生成する手段と、前記対数変換画像の前記各帯域画素値を鮮鋭化して鮮鋭化画像の各帯域画素値を生成する手段と、前記鮮鋭化画像の前記各帯域画素値に対してラプラシアンを計算してラプラシアン画像の各帯域画素値を生成する手段と、前記ラプラシアン画像の前記各帯域画素値のゼロ点を抽出してゼロ点画像の各帯域画素値を生成する手段と、前記ゼロ点画像の前記各帯域画素値の最大値を求めて最大値ゼロ点画像の帯域画素値を生成する手段と、前記最大値ゼロ点画像の前記帯域画素値を反転して基礎エッジ情報画像の帯域画素値を生成する手段と、前記基礎エッジ情報画像の前記帯域画素値に近づくように前記粗エッジ情報画像の帯域画素値を整形する手段と、前記粗エッジ情報画像の前記帯域画素値の線幅を補間して形成エッジ情報画像の帯域画素値を生成する手段と、前記形成エッジ情報画像の前記帯域画素値を出力する手段と、を備えたことを特徴とする視覚装置である。つまり、これは前記配列演算ユニットが提供する前記形成エッジ情報画像の生成機能をデジタル技術で実現するためのアルゴリズムの実装形態である。前記配列演算ユニットを格子状に配置し、前記配列演算ユニットを近傍同士相互に結合し、前記配列演算ユニットの各パラメータの初期値を設定した後に、前記デジタル画像及び前記粗エッジ情報画像を画素単位で適宜入力し、前記デジタル画像と前記粗エッジ情報画像の分離から前記形成エッジ情報画像の各帯域画素値の出力までを順次行い、前記デジタル画像及び前記粗エッジ情報画像が入力されなくなるまで繰り返す。これにより汎用的なプロセッサを利用することができ、前記パラメータの修正を容易にすることができる。なお前記配列演算ユニットは、近傍にある前記配列演算ユニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必要はない。というのも、近傍にある前記配列演算ユニットから各種前記画像の前記近傍画素を受信することができない場合には、受信待ちをしている前記配列演算ユニットは自分自身の前記帯域画素値を代用することができるからである。このとき前記配列演算ユニットが生成する各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、視覚装置ｈでは、殆んどのノイズは前記手段の各々において吸収されてしまうのである。自分自身の前記帯域画素値を代用する手段により、辺縁処理とタイムアウト処理が同時に、しかも簡単に実現される。
請求項１の発明は、物体領域の位置及び大きさを検出する手段を実現するデータ処理装置において格子状に配置された配列演算ユニットの各々に対して、前記配列演算ユニットを初期化する手段と、入力すべき粗エッジ情報画像がなければ処理を終了する手段と、前記粗エッジ情報画像の帯域画素値を入力する手段と、前記粗エッジ情報画像の前記帯域画素値を重複情報画像の帯域画素値に変換する手段と、前記重複情報画像から計算した移動量を移動量画像の帯域画素値に画像化する手段と、前記移動量画像の前記帯域画素値が指し示す移動位置に前記重複情報画像の前記帯域画素値を移動する手段と、前記重複情報画像の前記帯域画素値を前記重複情報画像の移動元の前記帯域画素値の合計に更新する手段と、前記重複情報画像の前記帯域画素値を出力する手段と、を備えたことを特徴とする視覚装置である。つまり、これは前記配列演算ユニットが提供する、前記粗エッジ情報画像が指し示す前記物体領域の前記位置及び前記大きさを表す前記重複情報画像の生成機能をデジタル技術で実現するためのアルゴリズムの実装形態である。前記配列演算ユニットを格子状に配置し、前記配列演算ユニットを近傍同士相互に結合し、前記配列演算ユニットの各パラメータの初期値を設定した後に、前記粗エッジ情報画像を画素単位で適宜入力し、前記重複情報画像への変換から前記重複情報画像の各帯域画素値の出力までを順次行い、前記粗エッジ情報画像が入力されなくなるまで繰り返す。これにより汎用的なプロセッサを利用することができ、前記パラメータの修正を容易にすることができる。なお前記配列演算ユニットは、近傍にある前記配列演算ユニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必要はない。というのも、近傍にある前記配列演算ユニットから各種前記画像の前記近傍画素を受信することができない場合には、受信待ちをしている前記配列演算ユニットは０に相当する画素値を代用することができるからである。このとき前記配列演算ユニットが生成する各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、本発明では、殆んどのノイズは前記手段の各々において吸収されてしまうのである。この０に相当する前記帯域画素値を代用する手段により、辺縁処理とタイムアウト処理が同時に、しかも簡単に実現される。
本発明は、前記粗エッジ情報画像の代りに形成エッジ情報画像を入力することができる。前記形成エッジ情報画像が指し示す前記物体領域の前記位置及び前記大きさを表す前記重複情報画像を生成するために、前記配列演算ユニットを格子状に配置し、前記配列演算ユニットを近傍同士相互に結合し、前記配列演算ユニットの各パラメータの初期値を設定した後に、前記形成エッジ情報画像を画素単位で適宜入力し、前記重複情報画像への変換から前記重複情報画像の各帯域画素値の出力までを順次行い、前記形成エッジ情報画像が入力されなくなるまで繰り返す。これにより汎用的なプロセッサを利用することができ、前記パラメータの修正を容易にすることができる。なお前記配列演算ユニットは、近傍にある前記配列演算ユニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必要はない。というのも、近傍にある前記配列演算ユニットから各種前記画像の前記近傍画素を受信することができない場合には、受信待ちをしている前記配列演算ユニットは０に相当する前記帯域画素値を代用することができるからである。このとき前記配列演算ユニットが生成する各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、本発明では、殆んどのノイズは前記手段の各々において吸収されてしまうのである。この０に相当する前記帯域画素値を代用する手段により、辺縁処理とタイムアウト処理が同時に、しかも簡単に実現される。
また本発明は、前記粗エッジ情報画像の代りに前記物体領域画像を入力することができる。前記物体領域画像が指し示す前記物体領域の前記位置及び前記大きさを表す前記重複情報画像を生成するために、前記配列演算ユニットを格子状に配置し、前記配列演算ユニットを近傍同士相互に結合し、前記配列演算ユニットの各パラメータの初期値を設定した後に、前記物体領域画像を画素単位で適宜入力し、前記重複情報画像への変換から前記重複情報画像の各帯域画素値の出力までを順次行い、前記物体領域画像が入力されなくなるまで繰り返す。これにより汎用的なプロセッサを利用することができ、前記パラメータの修正を容易にすることができる。なお前記配列演算ユニットは、近傍にある前記配列演算ユニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必要はない。というのも、近傍にある前記配列演算ユニットから各種前記画像の前記近傍画素を受信することができない場合には、受信待ちをしている前記配列演算ユニットは０に相当する前記帯域画素値を代用することができるからである。このとき前記配列演算ユニットが生成する各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、本発明では、殆んどのノイズは前記手段の各々において吸収されてしまうのである。この０に相当する前記帯域画素値を代用する手段により、辺縁処理とタイムアウト処理が同時に、しかも簡単に実現される。
視覚装置ｊは、物体領域を正規化する手段を実現するデータ処理装置において格子状に配置された配列演算ユニットの各々に対して、前記配列演算ユニットを初期化する手段と、入力すべき物体領域画像又はデジタル画像がなければ処理を終了する手段と、前記物体領域画像の帯域画素値及び前記デジタル画像の各帯域画素値を入力する手段と、前記物体領域画像の前記帯域画素値と前記デジタル画像の前記各帯域画素値を分離して更新物体領域画像の帯域画素値及び更新デジタル画像の各帯域画素値を生成する手段と、前記更新物体領域画像から計算した移動量を移動量画像の帯域画素値に画像化する手段と、前記移動量画像の前記帯域画素値が指し示す移動位置の重複数に従い移動可能画像の帯域画素値を生成する手段と、前記移動可能画像の判定に従い前記更新物体領域画像の前記帯域画素値を前記移動位置に移動する手段と、前記更新物体領域画像の前記帯域画素値の移動に合わせて前記更新デジタル画像の前記各帯域画素値を移動する手段と、前記物体領域に含まれない前記更新物体領域画像の前記帯域画素値に対して前記物体領域に含まれる近傍帯域画素値の平均値で補間する手段と、前記更新物体領域画像の前記帯域画素値の補間に合わせて前記更新デジタル画像の前記各帯域画素値を補間する手段と、前記更新デジタル画像を補間して生成した正規化画像の各帯域画素値を出力する手段と、を備えたことを特徴とする視覚装置である。つまり、これは前記配列演算ユニットが提供する、前記正規化画像の生成機能をデジタル技術で実現するためのアルゴリズムの実装形態である。前記配列演算ユニットを格子状に配置し、前記配列演算ユニットを近傍同士相互に結合し、前記配列演算ユニットの各パラメータの初期値を設定した後に、前記物体領域画像及び前記デジタル画像を画素単位で適宜入力し、前記物体領域画像と前記デジタル画像の分離から前記正規化画像の各帯域画素値の出力までを順次行い、前記物体領域画像及び前記デジタル画像が入力されなくなるまで繰り返す。これにより汎用的なプロセッサを利用することができ、前記パラメータの修正を容易にすることができる。なお前記配列演算ユニットは、近傍にある前記配列演算ユニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必要はない。というのも、近傍にある前記配列演算ユニットから各種前記画像の前記近傍画素を受信することができない場合には、受信待ちをしている前記配列演算ユニットは０に相当する画素値を代用することができるからである。このとき前記配列演算ユニットが生成する各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、視覚装置ｊでは、殆んどのノイズは前記手段の各々において吸収されてしまうのである。この０に相当する前記帯域画素値を代用する手段により、辺縁処理とタイムアウト処理が同時に、しかも簡単に実現される。
視覚装置ｋは、正規化画像を認識する手段のうちパターンマッチングを実現するデータ処理装置において格子状に配置された配列演算ユニットの各々に対して、前記配列演算ユニットを格子状に配置する手段と、前記配列演算ユニットを初期化する手段と、入力すべきテンプレート画像がなくなるまで前記テンプレート画像の帯域画素値を入力する手段と、入力すべき前記正規化画像がなければ処理を終了する手段と、前記正規化画像の帯域画素値を入力する手段と、マッチング結果を計算する手段と、マッチング結果画像を更新する手段と、前記マッチング結果画像の帯域画素値を出力する手段と、を備えたことを特徴とする視覚装置である。つまり、これは前記画像認識手段のうち前記配列演算ユニットが提供するパターンマッチングをデジタル技術で実現するためのアルゴリズムの実装形態である。前記配列演算ユニットを格子状に配置し、前記配列演算ユニットを近傍同士相互に結合し、前記配列演算ユニットの各パラメータの初期値を設定した後に、前記テンプレート画像及び前記正規化画像を画素単位で適宜入力し、前記マッチング結果の計算から前記マッチング結果画像の各帯域画素値の出力までを順次行い、前記正規化画像が入力されなくなるまで繰り返す。これにより汎用的なプロセッサを利用することができ、前記パラメータの修正を容易にすることができる。なお前記配列演算ユニットは、近傍にある前記配列演算ユニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必要はない。というのも、近傍にある前記配列演算ユニットから各種前記画像の前記近傍画素を受信することができない場合には、受信待ちをしている前記配列演算ユニットは自分自身の前記帯域画素値を代用することができるからである。このとき前記配列演算ユニットが生成する各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、視覚装置ｋでは、殆んどのノイズは前記手段の各々において吸収されてしまうのである。自分自身の前記帯域画素値を代用する手段により、辺縁処理とタイムアウト処理が同時に、しかも簡単に実現される。
視覚装置ｌは、形成エッジ情報画像を用いて物体領域を分離する手段を実現するデータ処理装置において格子状に配置された配列演算ユニットの各々に対して、前記配列演算ユニットを格子状に配置する手段と、前記配列演算ユニット中の非線形振動子と、前記非線形振動子の近傍にある前記非線形振動子とを結合値で接続する手段と、前記配列演算ユニットを初期化する手段と、入力すべき前記形成エッジ情報画像がなければ処理を終了する手段と、前記形成エッジ情報画像の帯域画素値を入力する手段と、外乱を計算する手段と、前記非線形振動子の近傍入力合計を計算する手段と、前記非線形振動子のパラメータを計算する手段と、前記非線形振動子の出力を計算する手段と、輪郭パラメータを計算する手段と、境界パラメータを計算する手段と、前記非線形振動子によって分離された前記物体領域を含む物体領域画像の帯域画素値を出力する手段と、を備えたことを特徴とする視覚装置である。つまり、これは前記配列演算ユニットが提供する前記物体領域画像の生成機能をデジタル技術で実現するためのアルゴリズムの実装形態である。前記配列演算ユニットを格子状に配置し、前記配列演算ユニットを近傍同士相互に結合し、前記配列演算ユニットの各パラメータの初期値を設定した後に、前記形成エッジ情報画像を画素単位で適宜入力し、前記外乱の計算から前記物体領域画像の各帯域画素値の出力までを順次行い、前記形成エッジ情報画像が入力されなくなるまで繰り返す。これにより汎用的なプロセッサを利用することができ、前記パラメータの修正を容易にすることができる。なお前記配列演算ユニットは、近傍にある前記配列演算ユニットから送信されてくる前記各パラメータや各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必要はない。というのも、近傍にある前記配列演算ユニットから前記各パラメータや各種前記画像の前記近傍画素を受信することができない場合には、受信待ちをしている前記配列演算ユニットは自分自身のパラメータ値や画素値を代用することができるからである。このとき前記配列演算ユニットが生成する前記各パラメータや各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、視覚装置ｌでは、殆んどのノイズは前記手段の各々において吸収されてしまうのである。自分自身の前記パラメータ値や前記帯域画素値を代用する手段により、辺縁処理とタイムアウト処理が同時に、しかも簡単に実現される。
視覚装置ｍは、データを入力する手段と、前記データを順次記憶する手段と、配列演算ユニット間で前記データを転送する手段と、前記データを用いて計算する手段と、前記データを出力する手段と、を有する前記配列演算ユニットに対して、前記配列演算ユニットを格子状に配置する手段と、前記配列演算ユニットの各々の位置関係から近傍同士を相互結合する手段と、隣接する前記配列演算ユニット間で前記データを通信する手段と、前記配列演算ユニットの各々を独立に動作させる手段と、を特徴とする視覚装置である。前記データを入力する前記手段と、前記データを順次記憶する前記手段と、前記配列演算ユニット間で前記データを転送する前記手段と、前記データを用いて計算する前記手段と、前記データを出力する前記手段に関して、各々の前記配列演算ユニットは格子状に配列された場所に関わらず同じ動作ステップを有している。これにより前記配列演算ユニットをハードウェアによって実装する場合には、前記配列演算ユニットを実現する同じ回路を平面上に規則正しく配置することができ、それらの回路は隣接するもののみを接続すれば良いので配線量も少なくて済み、取り扱う画像のサイズに合わせて回路の数を増減させるだけで良く、しかもそれぞれの回路は並列に動作させられる。また前記配列演算ユニットをソフトウェアによって実装する場合には、前記配列演算ユニットを格子状に並べた視覚装置を並列性の高いプログラムによって実行することができる。
視覚装置ｎは、配列演算ユニットは、入力したデータを処理する手段を備えたプロセッサと、前記データを処理するプログラムと変数を記憶するためのメモリと、隣接する前記配列演算ユニットと通信するためのコントローラと、を備え、前記コントローラは、入力した前記データを前記メモリに記憶する手段と、前記メモリ中の前記変数を隣接する前記配列演算ユニットに送信する手段と、隣接する前記配列演算ユニットから送信された前記変数を前記メモリに記憶する手段と、を備えたことを特徴とする視覚装置である。つまり、前記配列演算ユニットをハードウェアで実装するための回路である。前記配列演算ユニットは、入力された前記データを処理するための汎用プロセッサと、前記データを処理するプログラムと変数を記憶するための汎用メモリを用いることができる。前記コントローラは、前記配列演算ユニットが最大４近傍と相互結合している場合には、隣接した前記配列演算ユニットのみに変数を送信するだけで良いが、前記配列演算ユニットが８近傍以上と相互結合しなければならない場合、４近傍に含まれない前記配列演算ユニットの前記変数は、一旦隣りの前記配列演算ユニットに送信されるので、前記変数を自分に再度送信してもらうことで受信することができる。また前記メモリ中の前記各変数を隣接する前記配列演算ユニットに送信する前記手段で自分の前記変数を４近傍に含まれない前記配列演算ユニットに送信することもできる。これにより前記配列演算ユニットは、ハードウェアとしては隣接した前記配列演算ユニットのみと結線するにも関わらず、８近傍以上の前記配列演算ユニットと適切な前記データを通信することができる。また前記課題のうちハードウェアの実装及び実時間処理に関する諸問題が好適に解決される。
発明を実施するための最良の形態
以下、第１図ないし第１２図に示す１２個の視覚装置の実施形態を説明する。これらの実施形態は、ビデオカメラの撮像信号（フレーム画像１）を受信して適切なフォーマットとサイズのデジタル画像１１１に変換する画像取得手段１１（第１図参照）と、デジタル画像１１１を一定期間記憶する画像記憶手段１２（第１図参照）と、デジタル画像１１１をデジタル回路を用いて振動させる画像振動手段１３（第３図参照）と、２つのデジタル画像１１１から移動物体２又は静止物体３の粗エッジ情報１１２を生成するエッジ情報生成手段１４（第１図及び第３図参照）と、粗エッジ情報１１２をより的確で明瞭な形成エッジ情報１１４に形成するエッジ情報形成手段１５（第１図参照）と、形成エッジ情報１１４によって区分される領域を分離する物体／背景分離手段１６（第２図参照）と、形成エッジ情報１１４によって区分されたか若しくは分離された各領域の位置及び大きさを検出する位置／大きさ検出手段１７（第１図及び第２図参照）と、適当な大きさがある領域の位置から領域数を数える画素計数手段１８（第１図参照）と、領域数又は領域数の割合を出力する画素数保持手段１９（第１図及び第５図参照）等を利用したものであり、図面を参照して説明する。
第１図に示すように、移動物体計数部１０１は、ビデオカメラで撮影された動画像のフレーム画像１を画像取得手段１１に入力して、画像記憶手段１２、エッジ情報生成手段１４、エッジ情報形成手段１５、位置／大きさ検出手段１７、画素計数手段１８、画素数保持手段１９の順に受け渡すことで、フレーム画像１に写っている移動物体２の数を出力する。なお、フレーム画像１はデジタルカメラで連続撮影された静止画像でも良い。
画像取得手段１１がビデオカメラから動画像のフレーム画像１を入力する際に、動画像がアナログ信号の場合は、一般的なキャプチャーボードを用いることによりフレーム画像１をＡ／Ｄ変換によりデジタル信号に変換してデジタル画像１１１にする。なお特にＣＣＤ撮像素子などの電圧を直接入力できるならば、Ａ／Ｄ変換により適当なビット数のデジタル信号に変換するだけで良い。動画像がデジタル信号の場合は、圧縮されていれば展開し、圧縮されていなければそのまま入力する。これにより動画像中任意のフレーム画像１を切り出すことができるので、このフレーム画像１を切り出してデジタル画像１１１にする。変換されたデジタル画像１１１は適当なフォーマットに従いながら任意の画像サイズを有しているので、画像取得手段１１は画素単位で画像データを参照できるフォーマットに変換し、移動物体計数部１０１で必要とする画像サイズ分を切り出し、デジタル画像１１１として出力する。もし画像取得手段１１がデジタル画像１１１の全ての画素を並列に出力することができれば、画像取得手段１１から画像記憶手段１２への通信は、画素毎に並列に行うことができる。
画像記憶手段１２が画像取得手段１１からデジタル画像１１１を入力すると、移動物体計数部１０１の時間分解能若しくは各手段の計算能力に合わせて一定時間デジタル画像１１１を記憶する。つまりこの一定時間中にデジタル画像１１１が入力されても画像記憶手段１２は記憶画像を変更することがないので、後に続く各手段は異なるタイミングで同じデジタル画像１１１を入力することができる。しかも画像記憶手段１２はデジタル画像１１１に対して画像処理を施さないので、デジタル画像１１１の全ての画素に対して二次元の位相関係を保ったまま記憶している。もし画像記憶手段１２がデジタル画像１１１の全ての画素を並列に出力することができれば、画像記憶手段１２からエッジ情報生成手段１４への通信は、画素毎に並列に行うことができる。
エッジ情報生成手段１４が画像記憶手段１２からデジタル画像１１１を入力すると、直前に入力されたデジタル画像１１１と比較することにより移動物体２の粗エッジ情報画像１１３を生成する。エッジ情報生成手段１４は画素毎に近傍処理のみで粗エッジ情報画像１１３を生成することができるので、並列化に向いている。もしエッジ情報生成手段１４が粗エッジ情報画像１１３の全ての画素を並列に出力することができれば、エッジ情報生成手段１４からエッジ情報形成手段１５への通信は、画素毎に並列に行うことができる。
エッジ情報形成手段１５がエッジ情報生成手段１４から粗エッジ情報画像１１３を入力すると、画像記憶手段１２で記憶されていたデジタル画像１１１を参照して、粗エッジ情報画像１１３より的確で明瞭な移動物体２の形成エッジ情報画像１１５を生成する。エッジ情報形成手段１５は画素毎に近傍処理のみで形成エッジ情報画像１１５を生成することができるので、並列化に向いている。もしエッジ情報形成手段１５が形成エッジ情報画像１１５の全ての画素を並列に出力することができれば、エッジ情報形成手段１５から位置／大きさ検知手段１７への通信は、画素毎に並列に行うことができる。
位置／大きさ検出手段１７がエッジ情報形成手段１５から形成エッジ情報画像１１５を入力すると、形成エッジ情報１１４によって指し示された移動物体２の領域の位置及び大きさを検出する。位置／大きさ検出手段１７は画素毎に近傍処理のみで移動物体２の領域の位置及び大きさの検出結果を表す重複情報画像１３２を生成することができるので、並列化に向いている。もし位置／大きさ検出手段１７が重複情報画像１３２の全ての画素を並列に出力することができれば、位置／大きさ検出手段１７から画素計数手段１８への通信は、画素毎に並列に行うことができる。
画素計数手段１８が位置／大きさ検出手段１７から重複情報画像１３２を入力すると、適当な大きさの移動物体２の領域の位置を表す画素の数を数える。この処理は並列処理よりも逐次処理で行う方が便利である。そのため重複情報画像１３２の各画素は線形メモリに記憶される。移動物体２の領域の位置を表す画素の数は画素計数手段１８から画素数保持手段１９へ出力される。
画素数保持手段１９が画素計数手段１８から画素数を入力すると、画素数を２の補数表現や浮動小数点表現など出力先が必要とする形式に変換して、必要な期間出力する。つまり移動物体計数部１０１が移動物体数を出力することができる。
前記各手段が独立したハードウェアによって実装されれば並列に計算することができるので、移動物体計数部１０１は実時間性を有することができる。したがって移動速度が速い物体の数を数える際や、大量の動画像を短時間で処理する場合には適している。また、幾つかの手段が１つのプロセッサ上でソフトウェアによって実装されれば、計算速度は遅くなる代りに安価に製造することができる。したがって計数結果が出るまでに数分以上掛っても構わないような応用例に向いている。
さて、エッジ情報形成手段１５が生成した形成エッジ情報画像１１５を用いて位置／大きさ検出手段１７が移動物体２の領域の位置及び大きさを検出した場合、移動物体２の密度によっては移動物体２の領域の位置を表す画素の数が移動物体２の数と異なる可能性がある。主な原因は、形成エッジ情報１１４が移動物体２のエッジを正確に抽出しているとは限らないことと、位置／大きさ検出手段１７が形成エッジ情報１１４から移動物体２の形を判別しないことである。したがって移動物体２の密度が高くなると、異なる移動物体２から生成された形成エッジ情報１１４が組み合わさって、存在していない物体のエッジ情報と混同してしまう場合がある。この問題を解決するためには形成エッジ情報１１４から移動物体２の形を判別すればよい訳だが、従来の幾何解析方法では大域処理となるために計算量が多くなり、判別結果の精度を上げると計算時間が指数関数的に長くなる。そこで近傍処理によりこの問題を解決する手段として、物体／背景分離手段１６（第２図参照）を用いることができる。
物体／背景分離手段１６はエッジ情報形成手段１５から形成エッジ情報画像１１５を入力すると、物体領域１４１に含まれる画素と背景に含まれる画素を異なるグループに分離して、分離結果をグループ単位で順次出力する。なお物体領域１４１が隣接しているにも関わらず形成エッジ情報１１４により明確に区別される場合、物体／背景分離手段１６はこれらの物体領域を異なるグループに分離することができる。したがってグループの数は３以上になることもある。物体／背景分離手段１６は画素毎に近傍処理のみで物体領域１４１と背景を分離することができるので、並列化に向いている。もし物体／背景分離手段１６が物体領域画像１４２の全ての画素を並列に出力することができれば、物体／背景分離手段１６から位置／大きさ検出手段１７への通信は、画素毎に並列に行うことができる。
そこで第２図に示すように、物体／背景分離手段１６を用いることで、近傍処理のみで形成エッジ情報１１４を補完しながら移動物体２の領域とその他の背景領域を分離することができる。このとき移動物体２の領域が円形に類似していれば、言い換えれば移動物体２の領域に凹凸が少なければ、位置／大きさ検出手段１７は一定の大きさの領域のみを抜き出して位置を特定することができる。したがって移動物体２が円形に類似していることが事前に判っていれば、物体／背景分離手段１６を用いることで画素計数手段１８は特定の大きさの移動物体２の領域の位置を表す画素の数を数えることができる。つまり移動物体計数部１０１はより精度の高い移動物体数を出力することができる。
ここまでは動画像の２つ以上のフレーム画像１中の移動物体２の数を数える際に、移動物体計数部１０１がどのように動作するのかを説明してきた。次に動画像の１つのフレーム画像１中の移動物体２と静止物体３の総数、つまり全物体数を数える場合を説明する。
まず基本的な動作は前述した動画像のフレーム画像１を用いた移動物体２の数を数える場合と同じである。つまりフレーム画像１中の静止物体３を適当な方法で見かけ上フレーム画像１中の移動物体２に置き換えてしまえば良い。そうなれば静止物体３の粗エッジ情報１１２が生成されるので、移動物体計数部１０１は静止物体３の数も数えることができる。静止物体３を移動物体２に見せ掛ける方法として最も簡単なものが、振動台などを用いてビデオカメラ（デジタルカメラ）、若しくは静止物体３自体を細かく振動させることである。しかしながらこれらの方法は物理的な機構を必要とするため、移動物体計数部１０１が高価になったり複雑になったりする。一方で物理的な機構を利用しない手段として画像振動手段１３（第３図参照）がある。
画像振動手段１３は画像記憶手段１２からデジタル画像１１１を入力すると、デジタル画像１１１中で静止物体３が３画素前後の範囲で上下左右に振動するように、画像単位で一斉に、又は画素単位で個別に移動する。もし画像振動手段１３がデジタル画像１１１の全ての画素を並列に出力することができれば、画像振動手段１３からエッジ情報生成手段１４への通信は、画素毎に並列に行うことができる。
そこで第３図に示すように、画像振動手段１３は、画像取得手段１１で生成されたデジタル画像１１１中の静止物体３を３画素前後の範囲で上下左右に振動させる。これによりエッジ情報生成手段１４は静止物体３を移動物体２と見なして、静止物体３の粗エッジ情報１１２を生成することができるので、全物体計数部１０２は移動物体２と静止物体３の総数、つまり全物体数を数えることができる。
さらに移動物体２と静止物体３の如何に関わらず、物体／背景分離手段１６は形成エッジ情報１１４のみによって物体領域１４１と背景領域を分離する。そこで移動物体２及び静止物体３が円形に類似していることが事前に判っていれば、第４図に示すように、エッジ情報形成手段１５が生成した形成エッジ情報画像１１５を物体／背景分離手段１６に入力し、物体／背景分離手段１６が生成した物体領域画像１４２を位置／大きさ検出手段１７に入力することにより、位置／大きさ検出手段１７は特定の大きさの移動物体２及び静止物体３の領域の位置を表す画素の数を数えることができる。つまり全物体計数部１０２はより精度の高い全物体数を出力することができる。
さて、ここまで記述してきたように、視覚装置は動画像中の移動物体２の数を数える移動物体計数部１０１と殆ど同じ手段を備えた全物体計数部１０２を用いて、動画像のフレーム画像１中の移動物体２と静止物体３の総数を数えることができる。そこで１つの視覚装置を用いて移動物体２と静止物体３の数を並列に数える方法を考える。このとき移動物体２と静止物体３の数が求まるのならば、全物体に対する移動物体２の割合、又は静止物体３の割合を計算することは非常に容易である。そこで移動物体２と静止物体３の割合を求めるための視覚装置についても説明する。
移動物体２と全物体の数を求め、かつ移動物体２と静止物体３の割合を求める視覚装置の全体的な構成は、第５図に示す通り、大きく分けて移動物体計数部１０１と全物体計数部１０２からなる。移動物体計数部１０１と全物体計数部１０２は各々前述の手段から構成されている。なお移動物体計数部１０１と全物体計数部１０２の画像取得手段１１及び画像記憶手段１２は全く同じ動作をするので、第５図では画像取得手段１１及び画像記憶手段１２を共有している。したがって重要なことは、移動物体計数部１０１の画素数保持手段１９が全物体計数部１０２の画素計数手段１８から全物体数を入力し、全物体計数部１０２の画素数保持手段１９が移動物体計数部１０１の画素計数手段１８から移動物体数を入力することで、割合切替信号など外部からの信号により移動物体２と静止物体３の割合を計算して浮動小数点表記などに変換するよう切り替えられることである。当然の事ながら移動物体２と静止物体３の割合を計算する必要がないか、又は別の装置により実現するならば、このような機能を画素数保持手段１９に加える必要はない。逆に、移動物体数と静止物体数を同時に求める場合には、対応する機能を画素数保持手段１９に追加すれば良い。画素数保持手段１９に汎用プロセッサを用いることにより、視覚装置は用途に応じてこのような変更を自由に行うことができる。
さて、ここまで説明してきたように、移動物体計数部１０１及び全物体計数部１０２から構成される、視覚装置ａから視覚装置ｃは、ビデオカメラで撮影されたフレーム画像１中の移動物体２及び静止物体３の数を数えるための装置である。したがって移動物体２及び静止物体３がフレーム画像１に収まっていれば、これらの視覚装置は移動物体２及び静止物体３の数を数えることができる。しかしながら一旦移動物体２及び静止物体３がフレーム画像１から外れてしまうとこれらの視覚装置は移動物体２及び静止物体３の数を数えることができなくなってしまう。そこで以下では、移動カメラ１０（第６図参照）を用いて、常時移動物体２及び静止物体３を探索しながら数を数える、視覚装置ｄ及び視覚装置ｅについて説明する。
まず移動カメラ１０は水平方向及び垂直方向に移動する機構を備え、外部から移動角度を制御する命令を入力することにより、各々パン及びチルトをすることができるものとする。また移動カメラ１０は撮影画像の倍率を変更する機構を備え、外部から倍率を制御する命令を入力することにより、ズームをすることができるものとする。したがって移動カメラ１０は外部からの命令によりカメラ自体を細かく振動させることができる。これにより移動カメラ１０が撮影した動画像のフレーム画像１はブレを生じ、フレーム画像１中の物体はあたかも振動しているように撮影される。つまり移動カメラ１０を用いると、全物体計数部１０２の画像振動手段１３を用いることなく移動物体計数部１０１のみで全物体の領域を数えることができる。この方法は移動カメラ１０の物理的機構を使うために処理速度や計数精度などの点で問題もあるが、移動物体計数部１０１のみで移動物体２と全物体の両方の領域を数えることができるため、フレーム画像１では収まりきらないような広い場所にある移動物体２及び静止物体３を数える用途には向いている。
ここで移動カメラ１０はパン、チルト及びズームなどの移動命令により移動した現在の位置を必要に応じて出力できるものとし、さらに現在移動中であるか若しくは停止しているかといった移動カメラ１０の状態も必要に応じて出力できるものとする。このとき、もし視覚装置が移動カメラ１０のパン、チルト及びズームを制御することができれば、この視覚装置は、移動カメラ１０が移動物体２及び静止物体３を常時適切な大きさで撮影できるように、移動カメラ１０の向き及び倍率を変更することができるようになる。
そこで移動カメラ１０が移動物体２及び静止物体３を常時適切な大きさで撮影するための基本的な手段を備えた視覚装置ｄを第６図に示す。このとき視覚装置は機能に応じて３つの座標系、つまりカメラ座標系、画像座標系及び環境座標系を用いている。第一に、カメラ座標系は、文字通り移動カメラがパン、チルト及びズームを各々の最小制御単位で制御するために用いているカメラ内部の三次元球座標系である。一般にカメラ座標系の原点はホームポジションと呼ばれる移動カメラ固有の位置である。カメラ座標系は移動物体２及び静止物体３の物理的位置を表すことができる唯一の座標系である。それにも関わらずカメラ座標系は移動カメラ１０の機種毎に異なるため汎用性がない。そのため視覚装置は他の手段からカメラ座標系を秘匿する必要がある。第二に、画像座標系は、移動カメラ１０によって撮影されたフレーム画像１の中央を原点とする、画素を単位とした二次元座標系である。これはフレーム画像１中のどの画素に移動物体２及び静止物体３が位置するか表すために用いられる。したがって画像座標系はフレーム画像１中にある複数の物体の細かな位置を区別するのには適しているが、画像座標系だけでは移動物体２及び静止物体３の物理的位置を表すことができない。第三に、環境座標系は、視覚装置が内部で移動物体２及び静止物体３の位置を論理的に統一して表すために用いている三次元球座標系である。環境座標系は水平方向及び垂直方向にはラジアンを単位とした角度を用い、物体の大きさと物体までの距離の積を表すために、距離方向には１．０を単位とした実数を用いる。一般に物体の大きさが極端に変ることはないので、物体までの距離と移動カメラ１０の倍率は比例すると見なして良い。環境座標系の原点は任意である。つまり環境座標系は原則として環境座標系上の任意の２点の相対座標を表すために用いられる。視覚装置は移動カメラ１０によって撮影可能な環境中の物体を環境座標系に投影することで、複数の物体を区別することができる。
したがってカメラ座標系及び画像座標系は各々環境座標系と相互に座標変換をする必要がある。その役割を果たしている手段がカメラ／環境座標変換手段２０、画像／環境座標変換手段２１及び運動制御手段２３である。これらの手段は移動カメラ１０及び画像取得手段１１の仕様からカメラ座標系及び画像座標系の各単位を求め、環境座標系に変換するための行列を計算する。またカメラ座標系から環境座標系への変換行列の逆行列を計算することにより、環境座標系からカメラ座標系への変換行列も求めることができる。ただしカメラ座標系の原点が移動カメラ１０のホームポジションであるので、カメラ座標系から変換された環境座標系の位置は環境座標系上の移動カメラ１０のホームポジションからの相対位置となる。一方、環境座標系から変換されたカメラ座標系の位置はカメラ座標系上の移動カメラ１０の現在位置からの相対位置となる。加えて、画像座標系は二次元座標系であるため、画像座標系のみでは環境座標系に変換することはできない。そのため画像／環境座標変換手段２１では環境座標系で表された移動カメラ１０の向き及び倍率と、フレーム画像１中の移動物体２及び静止物体３の領域の大きさを用いて、随時変換行列を計算することにより、画像座標系から環境座標系に変換できるようにする。なお画像座標系から変換された環境座標系の位置は、画像の中心からの相対位置となる。
このことより、視覚装置ｄの残りの手段は、移動物体２及び静止物体３を常時適切な大きさで撮影するために、これら３つの座標系で表された移動物体２及び静止物体３の位置を生成及び変換するための手段であると考えることができる。そこでカメラ座標系、画像座標系及び環境座標系を踏まえて第６図を説明する。
まず画像取得手段１１、エッジ情報生成手段１４及び位置／大きさ検出手段１７は移動物体計数部１０１及び全物体計数部１０２から構成される視覚装置ａから視覚装置ｃで説明したものと同じである。ただし視覚装置ａから視覚装置ｃでは、エッジ情報形成手段１５が生成した形成エッジ情報画像１１５を位置／大きさ検出手段１７に入力していたが、視覚装置ｄでは、エッジ情報生成手段１４が生成した粗エッジ情報画像１１３を位置／大きさ検出手段１７に入力している。勿論この視覚装置において、エッジ情報形成手段１５を用いることにより形成エッジ情報画像１１５を位置／大きさ検出手段１７に入力することも可能であるが、ここでは以下のような理由によりこの視覚装置の性能はエッジ情報形成手段１５を用いなくても十分である。第一に、この視覚装置には、視覚装置ａから視覚装置ｃに求められたように移動物体２及び静止物体３の領域の数を数える必要がない。むしろこの視覚装置は移動物体２及び静止物体３を探索して、その方向に移動カメラ１０の向きと倍率を合わせることが重要である。しかも位置／大きさ検出手段１７は粗エッジ情報１１２からでも移動物体２及び静止物体３の領域のおおよその大きさを求めることは可能である。第二に、エッジ情報形成手段１５はエッジ情報生成手段１４が生成した粗エッジ情報画像１１３を用いて形成エッジ情報画像１１５を生成する。つまりエッジ情報形成手段１５が形成エッジ情報画像１１５を生成している間に移動物体２が移動してしまう。一般に移動カメラ１０は物理的な機構を有しているため移動カメラ１０の移動速度はあまり速くないと考えられる。そこでこの視覚装置が移動カメラ１０を移動させると、移動物体２の移動速度によっては移動カメラ１０の制御が間に合わなくなる可能性がある。これらのことより、視覚装置ｄは移動物体２及び静止物体３の的確で明瞭な形成エッジ情報１１４を必ずしも必要としない。
次に、カメラ／環境座標変換手段２０及び画像／環境座標変換手段２１は、位置／大きさ検出手段１７が生成した重複情報画像１３２で表される移動物体２及び静止物体３の領域の位置を環境座標系の位置に変換する。このときフレーム画像１中の移動物体２及び静止物体３の領域の位置の総数が２以上であれば、環境座標系上にも２つ以上の位置が存在することになる。そこで移動カメラ１０のパン、チルト及びズームを制御していずれか１つの物体に移動カメラ１０の向き及び倍率を合わせるために、環境座標系上の位置の中から１つを選択する必要がある。位置選択手段２２は一定の判断基準に従い、環境座標系上の１つの位置を選択する。ここで用いられる判断基準は主に次のようなものである。第一に、環境座標系上で物体が最も近いもの（若しくは最も大きいもの）を選択する。これは物体が遠かったり（若しくは小さかったり）した場合、エッジ情報生成手段１４がノイズを生成した可能性があるので、少しでも環境座標系上の位置に物体がある確率が高いものを選択する。第二に、環境座標系上の一定範囲内に複数の位置が集中している場合、このうちの１つを選択する。これは２つの可能性が考えられる。１つはエッジ情報生成手段１４が１つの物体に対して分散した粗エッジ情報１１２を生成した可能性であり、もう１つは実際に複数の物体が存在する可能性である。第三に、環境座標系上に多数の位置がほぼ同じ距離（若しくはほぼ同じ大きさ）である場合、原点に最も近い位置、すなわち移動カメラ１０の向きに最も近い位置を選択する。これらを用途や状況に応じて適宜組み合せることにより、位置選択手段２２は環境座標系上の１つの位置を選択することができる。
さて、視覚装置ｄは、位置選択手段２２で選択された位置の他に次のような位置に移動カメラ１０をパン、チルト及びズームすることが求められる。まずこの視覚装置は移動カメラ１０を振動させなければならない。そこで移動カメラ１０を振動させるために振動命令生成手段２５は移動カメラ１０が移動する位置を環境座標系上の位置として指定する。振動命令生成手段２５が指定する位置は極端に移動カメラ１０が振動しない範囲で疑似乱数などによって決定する。加えて、視覚装置ｄは、外部から制御命令を入力することにより移動カメラ１０をパン、チルト及びズームすることが求められる。一般的な用途では移動カメラ１０が現在向いている向きや倍率に対してパン、チルト及びズームがなされるので、制御命令入力手段２４を用いて、一旦制御命令を記憶した後に移動カメラ１０の現在位置を原点とした環境座標系上の位置を算出する。なお制御命令入力手段２４を改良することにより、移動カメラ１０を特定の位置に移動させることは容易に可能である。
そこで移動カメラ１０のパン、チルト及びズームを制御するために、運動制御手段２３が前述した環境座標系上の３つの位置から１つを選択する。運動制御手段２３が３つの位置から１つを選択する際には、制御命令入力手段２４、位置選択手段２２、振動命令生成手段２５の順番で入力位置がある手段から選択する。選択された位置は環境座標系からカメラ座標系に変換される。その後カメラ命令生成手段２６によって移動カメラ１０が認識することができる命令に置き換えられて移動カメラ１０に送信される。これにより視覚装置ｄは移動カメラ１０のパン、チルト及びズームを制御することができる。
なお移動カメラ１０の機種によっては移動カメラ１０に特定の命令を送信しないと移動カメラ１０の状態、すなわち移動カメラ１０の向き及び倍率や、移動カメラ１０が移動中か停止中かといった情報を得ることができない。そこで運動制御手段２３は３つの位置から１つを選んでカメラ命令生成手段２６に出力した後に、移動カメラ１０が移動中かどうかといった情報を問い合わせる命令を移動カメラ１０に送信するように、カメラ命令生成手段２６に指示し、移動カメラ１０からカメラ／環境座標変換手段２０を介してこの情報を受け取るまで待つ。もし受け取った情報が移動中であれば、移動カメラ１０が移動中かどうかといった情報を問い合わせる命令を移動カメラ１０に送信するように、再度カメラ命令生成手段２６に指示する。もし受け取った情報が停止中であれば、移動カメラ１０が現在の向き及び倍率を問い合わせる命令を移動カメラ１０に送信するように、カメラ命令生成手段２６に指示する。この期間中運動制御手段２３は３つの位置を選択しない。カメラ命令生成手段２６は運動制御手段２３からの指示に従い、対応する命令を移動カメラ１０に送信する。カメラ／環境座標変換手段２０は移動カメラ１０が移動中かどうかといった情報をそのまま運動制御手段２３に送信し、また移動カメラ１０の現在の向き及び倍率をカメラ座標系から環境座標系の位置に変換する。これにより視覚装置ｄは、移動カメラ１０の状態を逐次調査しながら、移動カメラ１０のパン、チルト及びズームを制御することができる。
ここまでは、移動カメラ１０がフレーム画像１中の移動物体２及び静止物体３を常時適切な大きさで撮影するための基本的な手段を備えた視覚装置ｄについて説明してきた。しかしながら移動カメラ１０が撮影している範囲に移動物体２及び静止物体３が常に存在するとは限らないし、何より移動物体２は移動カメラ１０が撮影している範囲からやがて他の位置に移動してしまうと考えるのが自然である。勿論移動物体２が移動すると、移動カメラ１０から見える移動物体２の形及び色も当然変化すると考えられる。そこで以下で説明する視覚装置ｅは、視覚装置ｄに対して、フレーム画像１中の移動物体２及び静止物体３の形及び色をより正確に認識するための幾つかの手段と、移動カメラ１０が一定時間内に撮影した移動物体２及び静止物体３の数をより正確に数えるための幾つかの手段と、移動カメラ１０が撮影可能な範囲にある移動物体２及び静止物体３の位置に向けてより正確に移動カメラ１０を移動させるための手段と、を追加したものであると見なすことができる。
第７図の視覚装置は、視覚装置ｄに対してエッジ情報形成手段１５、物体／背景分離手段１６、領域正規化手段２７及び正規化画像保持手段２８を追加することにより正規化画像１４５を生成するものである。エッジ情報形成手段１５及び物体／背景分離手段１６は、移動物体計数部１０１及び全物体計数部１０２から構成される視覚装置ａから視覚装置ｃのエッジ情報形成手段１５及び物体／背景分離手段１６と同じものである。
領域正規化手段２７は物体／背景分離手段１６及び画像取得手段１１から物体領域画像１４２及びデジタル画像１１１をそれぞれ入力すると、分離物体領域１４３をデジタル画像１１１から切り出し、分離物体領域１４３を変形しながらデジタル画像１１１の画像サイズに合わせて可能な限り補完及び拡大することで正規化画像１４５を生成する。領域正規化手段２７は画素毎に近傍処理のみで分離物体領域１４３を正規化することができるので、並列化に向いている。もし領域正規化手段２７が正規化画像１４５の全ての画素を並列に出力することができれば、領域正規化手段２７から正規化画像保持手段２８への通信は、画素毎に並列に行うことができる。
正規化画像保持手段２８は領域正規化手段２７から正規化画像１４５を入力すると、もし正規化画像１４５の出力先が適当なフォーマットの正規化画像１４５を要求するならば、正規化画像１４５の出力先が要求するフォーマットに正規化画像１４５を変換する。その後正規化画像保持手段２８は正規化画像１４５の出力先に確実に正規化画像１４５を送信するまで一定期間正規化画像１４５を記憶する。正規化画像保持手段２８は変換するフォーマットを限定すれば画素毎に近傍処理のみで正規化画像１４５を変換することができるので、並列化に向いている。もし正規化画像保持手段２８が正規化画像１４５の全ての画素を並列に出力することができれば、正規化画像保持手段２８から正規化画像１４５の出力先への通信は、画素毎に並列に行うことができる。
したがってエッジ情報形成手段１５、物体／背景分離手段１６、領域正規化手段２７及び正規化画像保持手段２８を用いることにより、たとえ視覚装置ｄが撮影した移動物体２及び静止物体３がフレーム画像１中の任意の位置に任意の大きさで存在しても、第７図の視覚装置はできる限り類似した移動物体２及び静止物体３の正規化画像１４５を生成することができる。これにより、正規化画像１４５の出力先が移動物体２及び静止物体３を認識する必要がある場合、正規化画像１４５の出力先はフレーム画像１中の移動物体２及び静止物体３の位置及び大きさをあまり考慮することなく適切な認識方法を用いることができるようになる。
なお第７図の視覚装置では、エッジ情報生成手段１４と、エッジ情報形成手段１５、物体／背景分離手段１６、領域正規化手段２７及び正規化画像保持手段２８との間で、各々の手段が入力する画像の解像度若しくは画像サイズを必ずしも一致させる必要はない。例えば、第７図の視覚装置において、エッジ情報生成手段１４にはデジタル画像１１１の解像度を低くした低解像度デジタル画像１１６を入力させ、一方、エッジ情報形成手段１５には、エッジ情報生成手段１４が生成した低解像度粗エッジ情報画像１１７の画像サイズを適当な方法でデジタル画像１１１の画像サイズに拡大した粗エッジ情報画像１１３を入力させ、物体／背景分離手段１６及び領域正規化手段２７にはデジタル画像１１１を入力させることにより、エッジ情報生成手段１４の負荷を低減することができる。つまりエッジ情報形成手段１５以降で生成される正規化画像１４５の品質をほとんど変えることなく、位置／大きさ検出手段１７以降の移動カメラ１０のパン、チルト及びズームの制御をより高速にすることができる。そこでこの方法をさらに進めると、エッジ情報形成手段１５には、エッジ情報生成手段１４が生成した低解像度粗エッジ情報画像１１７のうち粗エッジ情報１１２が存在する領域を切り出した切出粗エッジ情報画像１１９を入力させ、物体／背景分離手段１６及び領域正規化手段２７には、デジタル画像１１１から切出粗エッジ情報画像１１９と同じ位置の領域を切り出した切出デジタル画像１２０を入力させることにより、エッジ情報形成手段１５以降の正規化画像１４５の生成の負荷を低減することができる。ここで視覚装置ｄにより、移動カメラ１０が移動物体２及び静止物体３をフレーム画像１の中央に適切な大きさで撮影することができれば、デジタル画像１１１に対する切出粗エッジ情報画像１１９及び切出デジタル画像１２０の切出領域を事前に決定することができる。この方法により、第７図の視覚装置は１台の移動カメラ１０を用いることにより、広角カメラと高解像度カメラを用いた物体探索装置と同様の性能を達成することができる。
第８図の視覚装置は、第７図の視覚装置に対して画像認識手段２９及び認識結果保持手段３０を追加することにより認識結果を生成するものである。
画像認識手段２９は領域正規化手段２７から正規化画像１４５を入力すると、正規化画像１４５中の移動物体２及び静止物体３の正規化領域１４４を適当なパターン認識方法を用いて認識し、認識結果を出力する。画像認識手段２９に入力される正規化画像１４５は領域正規化手段２７によって移動物体２及び静止物体３の形を変形されているので、画像認識手段２９はストローク抽出法、フーリエ変換及びハフ変換など位置ずれに強い方法を用いた幾何解析を行うよりも、むしろ入力画像とテンプレート画像の比較をするパターンマッチングを行う方が適している。パターンマッチング法としては、誤差逆伝播法（バックプロパゲーション）によりテンプレート画像を学習することができるパーセプトロンなどのニューラルネットワークを用いることができる。またニューラルネットワークを用いた場合には、ニューラルネットワーク専用アクセラレータを用いることにより並列化及び高速化も可能である。正規化画像１４５の認識結果は画像認識手段２９から認識結果保持手段３０へ出力される。
認識結果保持手段３０が画像認識手段２９から正規化画像１４５の認識結果を入力すると、もし認識結果の出力先が適当なフォーマットの信号を要求するならば、認識結果の出力先が要求するフォーマットに認識結果を変換する。その後認識結果保持手段３０は認識結果の出力先に確実に認識結果を送信するまで一定期間認識結果を記憶する。
したがって画像認識手段２９及び認識結果保持手段３０を用いることにより、第８図の視覚装置は移動カメラ１０が適当な大きさで撮影した移動物体２及び静止物体３の認識結果を生成することができる。これにより認識結果の出力先は、移動カメラ１０が撮影した移動物体２及び静止物体３の認識装置として第８図の視覚装置を利用することができる。
第９図の視覚装置は、第８図の視覚装置に対して環境理解手段３１、計時手段３２及び環境地図保持手段３３を追加することにより環境地図を生成するものである。
計時手段３２はタイマー回路により現在時刻を１ミリ秒単位で出力する。現在時刻は絶えず計時手段３２から環境理解手段３１へ出力される。
環境理解手段３１は画像認識手段２９から移動物体２及び静止物体３の認識結果を入力すると、認識結果、移動カメラ１０の環境座標系上での位置及び現在時刻からなる環境データを作成する。また環境理解手段３１は画像／環境座標変換手段２１からフレーム画像１中の全ての移動物体２及び静止物体３の領域の環境座標系上での位置を入力すると、ヌルデータからなる認識結果、移動カメラ１０の環境座標系上での位置とフレーム画像１中の１つの移動物体２及び静止物体３の領域の環境座標系上での位置を加えた位置、及び現在時刻からなる環境データを、移動物体２及び静止物体３の領域の数だけ作成する。このとき環境地図は現在時刻より一定時間前に作成された環境データの集合となり、環境データ中の位置は移動カメラ１０のホームポジションを原点とする環境座標系によって表される。環境理解手段３１は環境地図に対して時刻の経過と共に環境データを追加及び削除する。また環境理解手段３１は重複した内容の環境データを削除すると共に、認識結果がヌルデータである環境データ中の位置が認識結果がヌルデータでない他の環境データ中の位置の近傍である場合、認識結果がヌルデータである環境データを削除する。加えて、認識結果がヌルデータでない環境データ中の位置が、認識結果がヌルデータでない他の環境データ中の位置の近傍である場合、もしこれらの環境データ中の認識結果が一致すれば、前者の環境データを削除する。環境データの記録時間と環境データ中の位置の近傍の範囲により、環境地図の精度が決定される。環境地図は環境理解手段３１から環境地図保持手段３３へ出力される。
環境地図保持手段３３が環境理解手段３１から環境地図を入力すると、もし環境地図の出力先が適当なフォーマットの信号を要求するならば、環境地図の出力先が要求するフォーマットに環境地図を変換する。その後環境地図保持手段３３は環境地図の出力先に確実に環境地図を送信するまで一定期間環境地図を記憶する。
したがって環境理解手段３１、計時手段３２及び環境地図保持手段３３を用いることにより、第９図の視覚装置は移動カメラ１０が撮影した移動物体２及び静止物体３の位置を特定することができる。これにより環境地図の出力先は、移動カメラ１０が撮影可能な移動物体２及び静止物体３の位置を特定する装置として第９図の視覚装置を利用することができる。
第１０図の視覚装置は、第９図の視覚装置に対して物体位置推定手段３４を追加することにより物体の推定位置に移動カメラ１０を制御するものである。
物体位置推定手段３４は環境理解手段３１から環境地図を入力すると、認識結果がヌルデータである環境データを１つ選択し、この環境データ中の位置を抜き出す。この位置からカメラ／環境座標変換手段２０によって計算された移動カメラ１０の環境座標系上での現在位置を引くことにより、物体位置推定手段３４は、移動カメラ１０の環境座標系上での現在位置を原点とした、過去に粗エッジ情報１１２が生成されているにも関わらずまだ認識結果が出ていない移動物体２及び静止物体３の環境座標系上での相対位置を求めることができる。ただし移動物体２の場合、現在この位置に移動物体２が存在するとは限らない。したがってこの位置は移動物体２及び静止物体３が存在する可能性がある移動物体２及び静止物体３の推定位置となる。一方で、もし環境地図の中に認識結果がヌルデータである環境データがなければ、移動カメラ１０が移動可能な範囲で適当な環境座標系上の位置を生成する。このとき適当な位置を生成する基準として次のようなものが考えられる。第一に、疑似乱数により任意の位置を生成する。第二に、環境地図中の環境データ中の位置の密度が低い位置を計算する。第三に、移動カメラ１０が移動可能な範囲中の位置を適当な順番で順次生成する。例えば、移動カメラ１０が移動可能な範囲において左上端の位置から右に向けて順番に位置を生成し、右端に到達したら一段下に降りた後左に向けて順番に位置を生成し、左端に到達したら一段下に降りた後右に向けて順番に位置を生成することを繰り返す。これらの基準を用途や状況に応じて組み合せることにより、まだ移動カメラ１０が撮影していない移動物体２及び静止物体３の推定位置を効率的に推定することができる。物体推定位置は物体位置推定手段３４から運動制御手段２３へ出力される。
ここで運動制御手段２３は、視覚装置ｄにおける運動制御手段２３を基にして次のように変更される。つまり移動カメラ１０のパン、チルト及びズームを制御するために、運動制御手段２３は制御命令入力手段２４、物体位置推定手段３４、位置選択手段２２及び振動命令生成手段２５の順番で入力位置がある手段から選択する。ただし運動制御手段２３は物体位置推定手段３４からの入力位置を連続して選択しないようにする必要がある。
したがって物体位置推定手段３４を用いることにより、第１０図の視覚装置は移動カメラ１０が撮影可能な範囲に存在する移動物体２及び静止物体３を探索することができる。これにより環境地図の出力先は、移動カメラ１０が撮影可能な移動物体２及び静止物体３の位置を特定する装置として第１０図の視覚装置を利用することができる。
第１１図の視覚装置は、第１０図の視覚装置に対して物体計数手段３５及び物体数保持手段３６を追加することにより任意物体数を生成するものである。
物体計数手段３５は環境理解手段３１から環境地図を入力すると、環境地図中、特定の物体を意味する認識結果を有する環境データの数を数えて、任意物体数を生成する。環境データ中の認識結果は、画像認識手段２９によって識別される物体の種類の中からいくつでも選択できる。任意物体数は物体計数手段３５から物体数保持手段３６へ出力される。なお用途に応じて必要があれば、物体計数手段３５を変更することにより、外部から計数すべき物体の種類を指定できるようにすることは容易である。
物体数保持手段３６が物体計数手段３５から任意物体数を入力すると、任意物体数の出力先に確実に任意物体数を送信するまで一定期間任意物体数を記憶する。
したがって物体計数手段３５及び物体数保持手段３６を用いることにより、第１１図の視覚装置は移動カメラ１０が撮影可能な範囲に存在する特定の移動物体２及び静止物体３の数を数えることができる。これにより任意物体数の出力先は、移動カメラ１０が撮影可能な特定の移動物体２及び静止物体３の数を数える装置として第１１図の視覚装置を利用することができる。
第１２図に示すように、視覚装置ｅは、第１１図の視覚装置に対して幾何解析手段３７を追加することにより環境地図の作成を的確で高速にするものである。
幾何解析手段３７はエッジ情報形成手段１５から形成エッジ情報画像１１５を入力すると、ストローク抽出法、フーリエ変換及びハフ変換などの幾何解析を行うことにより、フレーム画像１中の移動物体２及び静止物体３の形を推定し、幾何解析結果を生成する。従来の画像認識では画像自体から直接線分などを抽出したり位置や大きさなどに左右されないような各種変換などを用いることにより、画像中の物体を認識することを行ってきた。このため処理の単純さにも関わらず組み合わせの数が膨大となり、結果として膨大な計算量が必要となり、望みうる結果を得るまでに長時間掛ったり、若しくは品質の低い認識結果しか得られなかった。しかしながら視覚装置ｅでは、フレーム画像１中の移動物体２及び静止物体３のパターンに対する認識を物体／背景分離手段１６、領域正規化手段２７及び画像認識手段２９が行う。そこで、幾何解析手段３７は形成エッジ情報画像１１５を用いて、物体／背景分離手段１６、領域正規化手段２７及び画像認識手段２９が苦手としている移動物体２及び静止物体３の輪郭などの図形のみを、簡単な方法で大ざっぱに解析することにより、画像認識手段２９が不必要なパターンマッチングを省略し、環境理解手段３１が環境地図を的確で高速に作成することができると共に、幾何解析手段３７自体の負荷も低減することができる。幾何解析結果は幾何解析手段３７から画像認識手段２９及び環境理解手段３１へ出力される。そのため画像認識手段２９及び環境理解手段３１は各々次のように動作する。
画像認識手段２９は幾何解析手段３７から幾何解析結果を入力すると、まず画像認識手段２９が認識の対象としている図形であるかどうか判断する。もし幾何解析結果が対象外の図形であれば、画像認識手段２９は動作しない。幾何解析結果が対象図形であれば、画像認識手段２９は対象図形用のテンプレート画像を用いてパターンマッチングを行う。例えば誤差逆伝播法によって学習するパーセプトロンの場合、対象図形毎にパーセプトロンを学習させて学習データを作成し、その後幾何解析結果によって学習データを選択することにより、対象図形に対して効率的にパターンマッチングを行うようにする。つまり幾何解析結果が円形であれば、人の顔やボールなど円形の物体の学習データだけを利用し、幾何解析結果が三角形であれば、道路標識や山並みなど三角形の物体の学習データだけを利用する。これならば小規模のパーセプトロンによって多数の物体のパターンを認識することができるばかりでなく、パーセプトロン自体も効率よく学習することができる。
環境理解手段３１は幾何解析手段３７から幾何解析結果を入力すると、まず画像認識手段２９が認識の対象としている図形であるかどうか判断する。もし幾何解析結果が対象外の図形であれば、移動カメラ１０の環境座標系上の位置の近傍にある、認識結果がヌルデータである環境データを、環境理解手段３１は直ちに環境地図から削除する。これにより環境地図から不必要な環境データが削除され、物体位置推定手段３４などが不必要な物体推定位置を出力しなくても済む。幾何解析結果が対象図形の場合、画像認識手段２９から認識結果が入力されるまで待つ。
したがって幾何解析手段３７を用いることにより、視覚装置ｅは移動カメラ１０が撮影可能な範囲に存在する特定の移動物体２及び静止物体３の数を的確で高速に数えることができる。これにより任意物体数の出力先は、移動カメラ１０が撮影可能な特定の移動物体２及び静止物体３の数を高速に数える装置として視覚装置ｅを利用することができる。
さて、視覚装置ａから視覚装置ｅにおいて用いられている画像記憶手段１２、画像振動手段１３、エッジ情報生成手段１４、エッジ情報形成手段１５、物体／背景分離手段１６、位置／大きさ検出手段１７、領域正規化手段２７、正規化画像保持手段２８及び画像認識手段２９は、配列演算ユニット４０（ＡＲＲＡＹ ＯＰＥＲＡＴＩＯＮ ＵＮＩＴ）から構成されるデータ処理装置１１０を用いることにより実装することができる。そこで以下では、配列演算ユニット４０を利用したデータ処理装置１１０の実施形態を挙げ、視覚装置ｆから視覚装置ｈまで、請求項１に記載された視覚装置、視覚装置ｊから視覚装置ｌを図面を参照して説明する。
まず配列演算ユニット４０は、入力画像の１つの画素とその近傍画素を用いることにより、出力画像の１つの画素を生成する。そこで第１３図に示したように、配列演算ユニット４０を入力画像のサイズに合わせて格子状に配列したデータ処理装置１１０を用いることにより、データ処理装置１１０は入力画像から出力画像を生成することができる。なお第１３図において、配列演算ユニット４０をＡＯＵと略記する。次に配列演算ユニット４０は専用ハードウェアによって実装されても良いし、汎用コンピュータ上でソフトウェアによって実装することもできる。つまり入力画像から出力画像を生成することができれば、実装手段は制限されない。したがって配列演算ユニット４０のアルゴリズムを示すことにより、データ処理装置１１０の画像処理を示すことができる。そこで配列演算ユニット４０のアルゴリズムを示すために、画像記憶手段１２（第１図及び第６図参照）、画像振動手段１３（第３図、第４図及び第５図参照）、エッジ情報生成手段１４（第１図及び第６図参照）、エッジ情報形成手段１５（第１図ないし第５図、第７図ないし第１２図参照）、物体／背景分離手段１６（第２、４、５、７図ないし第１２図参照）、位置／大きさ検出手段１７（第１図及び第６図参照）、領域正規化手段２７（第７図参照）、正規化画像保持手段２８（第７図参照）及び画像認識手段２９（第８図参照）で用いる数式について説明する。
幅ｗ、高さｈ、帯域数ｂの任意の２ｎ階調画像をｘ、ｙ、ｗとすると、ｘ、ｙ、ｗは各々位置ｐ（ｉ，ｊ，ｋ）の帯域画素値ｘｉｊｋ 、ｙｉｊｋ 、ｗｉｊｋ を用いて数式１、数式２及び数式３のように表される。なお太字はベクトルを示す。またｎは非負の整数、ｗ、ｈ、ｂ、ｉ、ｊ、ｋは自然数である。
0004324327.tif 000002
まず前記画像の各帯域画素値に対する点処理に関する関数について以下で説明する。
画像ｘを二値画像に変換する場合、数式４に従って帯域画素値を二値化する。
0004324327.tif 000003
画像ｘを帯域最大値画像に変換する場合、数式５に従ってｉ行ｊ列の画素の各帯域の値のうち最大値を選択する。なお前記帯域最大値画像は単帯域画像となるので、便宜上帯域数１の前記画像として取り扱うことにする。したがって関数Ｂｉｊｌ （ｘ）の第３添字は１となっている。
0004324327.tif 000004
画像ｘが二値画像であるとして、画像ｘを反転させる場合、数式６に従って計算する。
0004324327.tif 000005
画像ｘの位置ｐ（ｉ，ｊ，ｋ）における対数変換は数式７に従って行われる。ここでｅはオフセットであり、自然対数関数が出力する値が有効範囲に入るようにするために使われるので、一般にｅ＝１で十分である。この対数化により帯域画素値同士の除算を減算にすることができる。また画像ｘが２ｎ階調のデジタル画像であるとすると、帯域数に関わらず２ｎ個の要素を含むルックアップテーブルをメモリ上に持つならば、毎回自然対数関数を計算する必要もなく、標準的な対数表を持つ必要もなくなる。
0004324327.tif 000006
さて、画像の位置ｐ（ｉ，ｊ，ｋ）におけるｑ近傍の位置の集合Ｐｉｊｋ （ｑ）は数式８によって表される。ただしｑは４、８、２４、４８、８０、１２０、（２ｒ＋１）２−１と続く数列であり、ｒは自然数である。なお画像サイズをはみ出した位置が集合Ｐｉｊｋ （ｑ）に含まれる場合には、特に指定がない限り位置ｐ（ｉ，ｊ，ｋ）を代用するものとする。またこれ以外のときは、指定に従い、画素値が０に相当し、しかも画像に含まれない架空の位置を代用する。これにより辺縁処理は自動的に行われる。したがって集合Ｐｉｊｋ （ｑ）の要素の数Ｎｉｊｋ は常にｑとなる。
0004324327.tif 000007
そこで次に画像の各帯域画素値に対する最大８近傍の近傍処理に関する関数及びオペレータについて以下で説明する。
画像ｘの位置ｐ（ｉ，ｊ，ｋ）における振動は数式９に従って行われる。ここで位置ｐ（ｉ，ｊ，ｋ）のｑ近傍の中から１つの位置だけを選択する方法によって画像単位で振動させるか画素単位で振動させるかを決定することができる。もし画像ｘの全ての位置において、全く同じ方法によりｑ近傍の中から１つを選択すれば、画像ｘは画像単位で振動する。一方で画像ｘの各々の位置において、疑似乱数などを用いてランダムにｑ近傍の中から１つを選択すれば、画像ｘは画素単位で振動する。
0004324327.tif 000008
画像ｘの位置ｐ（ｉ，ｊ，ｋ）における平滑化は数式１０に従って行われる。ただしｉｎｔ（ｖ）は実数ｖの小数点以下切り捨てを意味するものとする。もし画像ｘの帯域画素値が整数値であるならば、ハードウェアの実装時にＮｉｊｋ ＝４のときｘｌｍｋ の総和に対して右シフト命令を２回、Ｎｉｊｋ ＝８のときｘｌｍｋ の総和に対して右シフト命令を３回実行するような回路に変更することにより、除算を実行する回路を省くことができる。
0004324327.tif 000009
ラプラシアンの計算であるが、これは数式１１に示すように単なる２階差分オペレータである。８近傍の方がノイズの微妙な変化を捉えてゼロ点およびゼロ交差が多くなり、本発明には向いている。ただしＮｉｊｋ が４か８であるので、もしハードウェアの実装時にＮｉｊｋ ＝４のときｘｉｊｋ に対して左シフト命令を２回、Ｎｉｊｋ ＝８のときｘｉｊｋ に対して左シフト命令を３回実行するような回路に変更することにより、実数の乗算を実行する回路を省くことができる。
0004324327.tif 000010
ラプラシアンによって求められた値からゼロ点を見付ける方法として、従来は正から負に変化する画素を見付けていたが、本発明では数式１２に従い、負から正にゼロ交差する画素の他に、負からゼロやゼロから正などゼロ点が経由したり、ゼロが継続する画素を見付けるようにする。本発明では、数式１２が見付けたゼロ点はエッジのある場所ではなく、ノイズのある場所、つまりエッジのない場所になる。また数式１２により実数値の二値化も同時に行っている。
0004324327.tif 000011
画像ｘが任意の二値画像であるとして、画像ｘのうち孔が空いている画素を埋める場合には、数式１３に従い計算する。ここでｆは埋めるべき孔の大きさを表すパラメータであり、一般にはｆ＝１で十分である。なお４近傍の場合にはその性質上対角線を検知することができないので、極力８近傍にした方がよい。
0004324327.tif 000012
画像ｘが任意の二値画像であるとして、画像ｘのうち孤立点ないし孤立孔を削除する場合には、数式１４に従い計算する。なお４近傍の場合にはその性質上対角線を検知することができないので、極力８近傍にした方がよい。
0004324327.tif 000013
画像ｘが任意の二値画像であるとして、画像ｘのうち線幅が１である画素を検知するために、４近傍画素を用いて数式１５に従い計算する。
0004324327.tif 000014
２つの画像ｘ、ｙが任意の二値画像であり、画像ｙが画像ｘのうち線幅が１である画素を検知した画像であるとすると、画像ｘのうち線幅が１である画素の線幅を拡張するために、４近傍画素を用いて数式１６に従い計算する。
0004324327.tif 000015
そこで数式１５の線幅検知と数式１６の線幅拡張を用いると、数式１７に従い二値画像の線幅補完を簡単に記述することができる。
0004324327.tif 000016
次に画像の各帯域画素値に対する近傍処理に関する関数及びオペレータについて以下で説明する。
２つの画像ｘ、ｙがある場合、これらの画像の最大値画像は数式１８に従って計算される。
0004324327.tif 000017
２つの画像ｘ、ｙがある場合、これらの画像の差分は数式１９に従って計算される。
0004324327.tif 000018
ここで数式１１のラプラシアンと数式１９の差分を用いると、数式２０に従い画像の鮮鋭化を簡単に記述することができる。
0004324327.tif 000019
２つの画像ｘ、ｙがあり、画像ｙが単帯域二値画像である場合、数式２１に従い、画像ｙの帯域画素値を用いて画像ｘの各帯域画素値をマスクすることができる。
0004324327.tif 000020
２つの画像ｘ、ｙがあり、画像ｘとｙが二値画像である場合、数式２２に従い、画像ｘを基に画像ｙを整形することができる。
0004324327.tif 000021
２つの画像ｘ、ｙがあり、画像ｙが二値画像である場合、数式２３に従い、画像ｙで指定されなかった画像ｘの帯域画素値を、画像ｘの帯域画素値の近傍のうち画像ｙで指定された画像ｘの帯域画素値の平均値で補間する。ただしｉｎｔ（ｖ）は実数ｖの小数点以下切り捨てを意味するものとする。
0004324327.tif 000022
さて本発明では、画素の位置や移動量なども画像データのように扱うことで処理を単純にしている。これを位置の画像化と呼ぶ。以下では画像化に関する幾つかの関数及びオペレータについて説明する。
まず位置ｐ（ｌ，ｍ，ｏ）のｌ、ｍ、ｏ各々の値を画像データとして帯域画素値に変換するオペレータを＃とし、変換された帯域画素値を＃ｐ（ｌ，ｍ，ｏ）とする。次に帯域画素値が位置ｐ（ｉ，ｊ，ｋ）から位置ｐ（ｉ＋ｌ，ｊ＋ｍ，ｋ＋ｏ）へ移動する場合を考える。このとき帯域画素値の移動量は位置ｐ（ｌ，ｍ，ｏ）として表されるものとする。つまり移動量はある位置からのベクトルと見なすことができる。最後に帯域画素値から位置を取り出すオペレータを＃−１とする。したがって＃−１＃ｐ（ｌ，ｍ，ｏ）＝ｐ（ｌ，ｍ，ｏ）となる。
そこで数式２４に従い、移動量ｐ（ｉ，ｊ，ｋ）を幅方向と高さ方向で表される平面内で１８０度反対方向に向けることができる。
0004324327.tif 000023
画像ｘがあり、画像ｘが単帯域二値画像である場合、画像ｘの位置ｐ（ｉ，ｊ，ｌ）における重心位置への移動量は数式２５に従い計算される。なお、本来重心を計算する際には除算を行う必要があるが、８近傍内への移動量を計算する際に除算は相殺されてしまうので、数式２５では除算が省かれている。
0004324327.tif 000024
移動量ｐ（ｉ，ｊ，ｋ）から、数式２６及び２７に従い８近傍内への移動量を計算し、移動量画像に画像化することができる。なお数式２７は、画像の離散化により数式２６では対応しきれない場合にのみ利用する。
0004324327.tif 000025
0004324327.tif 000026
したがって数式２５、２６及び２７を用いると、数式２８及び２９に従い、単帯域二値画像ｘの重心方向への移動量画像の帯域画素値を簡単に記述することができる。なお移動量画像の帯域数は１となる。
0004324327.tif 000027
一方で数式２４を用いると重心位置の反対位置を求めることができるので、数式３０に従い、単帯域二値画像ｘの重心と反対方向への移動量画像の帯域画素値を簡単に記述することができる。なお移動量画像の帯域数は１となる。
0004324327.tif 000028
２つの画像ｘ、ｙがあり、画像ｙが移動量画像である場合、数式３１に従い、画像ｙで指し示された移動位置に画像ｘの帯域画素値を移動した後、同じ帯域画素に移動した帯域画素値の合計を濃淡画像にすることができる。
0004324327.tif 000029
そこで数式４、２８、２９及び３１を用いることにより、数式３２又は３３に従い、単帯域濃淡画像ｘを近傍の重心方向に移動した後、同じ帯域画素に移動した帯域画素値の合計を簡単に記述することができる。
0004324327.tif 000030
２つの画像ｘ、ｙがあり、画像ｘが二値画像で、画像ｙが移動量画像である場合、画像ｘの各帯域画素値の移動先の位置を求めることができるので、移動先が重複する帯域画素値を見つけることができる。そこで画像ｘの各帯域画素値の移動先が重複することなく、しかも移動する各帯域画素値が存在することを表す移動可能画像の帯域画素値は、数式３４に従い生成される。なお移動可能画像の帯域数は１となる。
0004324327.tif 000031
３つの画像ｘ、ｙ、ｗがあり、画像ｙが移動可能画像であり、画像ｗが移動量画像である場合、数式３５に従い画像ｘの帯域画素値を移動することができる。
0004324327.tif 000032
そこで数式３０、３４及び３５を用いると、数式３６に従い、二値画像ｙから計算される重心位置と反対方向に画像ｘの帯域画素を移動することで得られる画像の帯域画素値を簡単に記述することができる。
0004324327.tif 000033
数式１から数式３６までを用いることにより、画像記憶手段１２（図１及び図６参照）、画像振動手段１３（第３図、第４図及び第５図参照）、エッジ情報生成手段１４（第１図及び第６図参照）、エッジ情報形成手段１５（第１図ないし第５図、第７図ないし第１２図参照）、物体／背景分離手段１６（第２、４、５、７図ないし第１２図参照）、位置／大きさ検出手段１７（第１図及び第６図参照）、領域正規化手段２７（第７図参照）、及び正規化画像保持手段２８（第７図参照）を実装することができるデータ処理装置１１０の全ての配列演算ユニット４０のアルゴリズムを記述することができる。以下では、データ処理装置１１０中の任意の配列演算ユニット４０のアルゴリズムを用いて、画像振動手段１３、エッジ情報生成手段１４、エッジ情報形成手段１５、位置／大きさ検出手段１７及び領域正規化手段２７に対応する視覚装置ｆから視覚装置ｈまで、請求項１に記載された視覚装置、視覚装置ｊについて説明する。
データ処理装置１１０によって実現される画像記憶手段１２（第１図及び第６図参照）がデジタル画像１１１を記憶するために、格子状に配列された配列演算ユニット４０は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット４０をＡＯＵｉｊ とすると、ＡＯＵｉｊ のアルゴリズムは第１４図のようになる。
ステップ１２０１で、ＡＯＵｉｊ を格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊ の近傍を決定するために必要である。
ステップ１２０２で、ＡＯＵｉｊ の近傍や変数の初期値を設定する。
ステップ１２０３で、順次入力されるデジタル画像１１１が無くなったかどうか判断する。もしデジタル画像１１１が無ければ（ステップ１２０３：ＹＥＳ）、アルゴリズムを終了する。もしデジタル画像１１１があれば（ステップ１２０３：ＮＯ）、ステップ１２０４に移行する。ただし特定の画像サイズのみに対して配列演算ユニット４０を実装する場合には、無限ループにしても良い。
ステップ１２０４で、デジタル画像１１１が準備されるまで入力待ちをする。
ステップ１２０５で、デジタル画像１１１のｉ行ｊ列の画素を帯域数分入力する。このためＡＯＵｉｊ は少なくとも帯域数分の画像データを記憶するメモリ４２を必要とする。
ステップ１２０６で、入力待ちの間出力できるように、デジタル画像１１１のｉ行ｊ列の画素を記憶する。
ステップ１２０７で、デジタル画像１１１の帯域画素値を出力する。その後ステップ１２０３に戻る。
これにより、配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、画像記憶手段１２に対応する視覚装置はデジタル画像１１１を記憶することができる。
データ処理装置１１０によって実現される視覚装置ｆの画像振動手段１３（第３図、第４図及び第５図）がデジタル画像１１１を振動させるために、格子状に配列された配列演算ユニット４０は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット４０をＡＯＵｉｊ とすると、ＡＯＵｉｊ のアルゴリズムは第１５図のようになる。
ステップ１３０１で、ＡＯＵｉｊ を格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊ の近傍を決定するために必要である。
ステップ１３０２で、ＡＯＵｉｊ の近傍や変数の初期値を設定する。
ステップ１３０３で、順次入力されるデジタル画像１１１が無くなったかどうか判断する。もしデジタル画像１１１が無ければ（ステップ１３０３：ＹＥＳ）、アルゴリズムを終了する。もしデジタル画像１１１があれば（ステップ１３０３：ＮＯ）、ステップ１３０４に移行する。ただし特定の画像サイズのみに対して配列演算ユニット４０を実装する場合には、無限ループにしても良い。
ステップ１３０４で、デジタル画像１１１のｉ行ｊ列の画素を帯域数分入力する。このためＡＯＵｉｊ は少なくとも帯域数分の画像データを記憶するメモリ４２を必要とする。
ステップ１３０５で、関数Ξｉｊｋ （ｘ）に従いデジタル画像１１１のｉ行ｊ列の画素を近傍画素の１つに移動させる。
ステップ１３０６で、デジタル画像１１１の帯域画素値を出力する。その後ステップ１３０３に戻る。
これにより、配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、画像振動手段１３に対応する視覚装置ｆはデジタル画像１１１を振動させることができる。
データ処理装置１１０によって実現される視覚装置ｇのエッジ情報生成手段１４（第１図及び第６図参照）がデジタル画像１１１から粗エッジ情報画像１１３を生成するために、格子状に配列された配列演算ユニット４０は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット４０をＡＯＵｉｊ とすると、エッジ情報生成手段１４に対するＡＯＵｉｊ のアルゴリズムは第１６図のようになる。
ステップ１４０１で、ＡＯＵｉｊ を格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊ の近傍を決定するために必要である。
ステップ１４０２で、ＡＯＵｉｊ の近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に４か８に決めても良いし、全部を４か８に統一しても良い。本発明のエッジ情報生成手段１４が生成する粗エッジ情報１１２の正確さを上げるためには近傍サイズｑを全て８に設定することが望ましい。しかしながら粗エッジ情報１１２を生成するための計算時間の制約や、デジタル画像１１１の帯域数などにより、エッジ情報生成手段１４は必要に応じて適宜近傍サイズを変えることで対処することができる。
ステップ１４０３で、デジタル画像１１１が終了したかどうか判断する。もしデジタル画像１１１が無ければ（ステップ１４０３：ＹＥＳ）、アルゴリズムを終了する。もしデジタル画像１１１があれば（ステップ１４０３：ＮＯ）、アルゴリズムを終了する。ただし特定の帯域数と画像サイズに対して配列演算ユニット４０を実装する場合には、無限ループにしても良い。
ステップ１４０４で、デジタル画像１１１のｉ行ｊ列の画素を帯域数分入力する。これは、ＡＯＵｉｊ がデジタル画像１１１のｉ行ｊ列の画素を一括して処理するためである。このためＡＯＵｉｊ は少なくとも帯域数分の画像データを記憶するメモリ４２を必要とする。
ステップ１４０５で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、入力したデジタル画像１１１の各帯域画素値に対して関数Ｓｉｊｋ （ｘ）に従い平滑化を行う。平滑化された帯域画素値は平滑化画像の帯域画素値として扱われる。ここで関数Ｓｉｊｋ （ｘ）は必要に応じて数回繰り返しても良い。一般的なカラー画像の場合、２回で十分である。
ステップ１４０６で、平滑化画像の各帯域画素値に対して関数Ｌｉｊｋ （ｘ）に従い対数変換を行う。対数変換された帯域画素値は対数変換画像の帯域画素値として扱われる。
ステップ１４０７で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、対数変換画像の各帯域画素値に対して関数Ｅｉｊｋ （ｘ）に従い鮮鋭化を行う。鮮鋭化された帯域画素値は鮮鋭化画像の帯域画素値として扱われる。
ステップ１４０８で、鮮鋭化画像の各帯域画素値に対して関数Ｄｉｊｋ （ｘ，ｙ）に従い１入力前鮮鋭化画像の各帯域画素値を引く。差分を計算された帯域画素値は時間差分画像の帯域画素値として扱われる。
ステップ１４０９で、１入力前鮮鋭化画像の各帯域画素値を鮮鋭化画像の対応する各帯域画素値で置き換える。
ステップ１４１０で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、時間差分画像の各帯域画素値に対してオペレータ∇２ｉｊｋ ｘに従いラプラシアンの計算を行う。ラプラシアンを計算された帯域画素値は時間差分ラプラシアン画像の帯域画素値として扱われる。
ステップ１４１１で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、時間差分ラプラシアン画像の各帯域画素値に対して関数Ｚｉｊｋ （ｘ）に従いゼロ点を抽出する。ゼロ点を抽出された帯域画素値は時間差分ゼロ点画像の帯域画素値として扱われる。
ステップ１４１２で、時間差分ラプラシアン画像の各帯域画素値に対して関数Ｂｉｊｌ （ｘ）に従い各帯域画素値のうち最大値を検出する。検出された最大値帯域画素値は最大値時間差分ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。
ステップ１４１３で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、鮮鋭化画像の各帯域画素値に対してオペレータ∇２ｉｊｋ ｘに従いラプラシアンの計算を行う。ラプラシアンを計算された帯域画素値はラプラシアン画像の帯域画素値として扱われる。
ステップ１４１４で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、ラプラシアン画像の各帯域画素値に対して関数Ｚｉｊｋ （ｘ）に従いゼロ点を抽出する。ゼロ点を抽出された帯域画素値はゼロ点画像の帯域画素値として扱われる。
ステップ１４１５で、ラプラシアン画像の各帯域画素値に対して関数Ｂｉｊｌ
（ｘ）に従い各帯域画素値のうち最大値を検出する。検出された最大帯域画素値は最大値ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。
ステップ１４１６で、ラプラシアン画像の各帯域画素値と時間差分ラプラシアン画像の各帯域画素値に対して関数Ｍｉｊｋ （ｘ，ｙ）に従い各々の画像の同じ位置にある帯域画素値のうち最大値を検出する。検出された最大帯域画素値は混成ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。
ステップ１４１７で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、混成ゼロ点画像の帯域画素値に対して関数Ｆｉｊｋ （ｘ）に従い孔を除去する。孔を除去された帯域画素値は孔除去混成ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。ここで関数Ｆｉｊｋ （ｘ）は必要に応じて数回繰り返しても良い。一般的なカラー画像の場合、１回で十分である。
ステップ１４１８で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、孔除去混成ゼロ点画像の帯域画素値に対して関数Ａｉｊｋ （ｘ）に従い孤立点および孤立孔を除去する。孤立点および孤立孔を除去された帯域画素値はノイズ除去混成ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。
ステップ１４１９で、ノイズ除去混成ゼロ点画像の帯域画素値に対して関数Ｉｉｊｋ （ｘ）に従い０と１を反転させる。反転された帯域画素値は粗エッジ情報画像１１３の帯域画素値として扱われる。
ステップ１４２０で、粗エッジ情報画像１１３の帯域画素値を出力する。その後ステップ１４０３に戻る。
これにより、配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、エッジ情報生成手段１４に対応する視覚装置ｇはデジタル画像１１１から粗エッジ情報画像１１３を生成することができる。
第１７図に示すように、データ処理装置１１０によって実現されるエッジ情報形成手段１５（第１図ないし第５図、図、第７図ないし第１２図参照）が、粗エッジ情報１１２から構成される視覚装置ｈの粗エッジ情報画像１１３及びデジタル画像１１１から、形成エッジ情報１１４から構成される形成エッジ情報画像１１５を生成するために、格子状に配列された配列演算ユニット４０は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット４０をＡＯＵｉｊ とすると、ＡＯＵｉｊ のアルゴリズムは第１８図のようになる。
ステップ１５０１で、ＡＯＵｉｊ を格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊ の近傍を決定するために必要である。
ステップ１５０２で、ＡＯＵｉｊ の近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に４か８に決めても良いし、全部を４か８に統一しても良い。本発明のエッジ情報形成手段１５が形成した形成エッジ情報１１４の正確さを上げるためには近傍サイズｑを全て８に設定することが望ましい。しかしながら粗エッジ情報１１２を形成するための計算時間の制約や、入力されるデジタル画像１１１の帯域数などにより、エッジ情報形成手段１５は必要に応じて適宜近傍サイズを変えることで対処することができる。
ステップ１５０３で、順次入力されるデジタル画像１１１又は粗エッジ情報画像１１３が無くなったかどうか判断する。もしデジタル画像１１１若しくは粗エッジ情報画像１１３のいずれかが無ければ（ステップ１５０３：ＹＥＳ）、アルゴリズムを終了する。もしデジタル画像１１１若しくは粗エッジ情報画像１１３のいずれかがあれば（ステップ１５０３：ＮＯ）、ステップ１５０４に移行する。ただし特定の帯域数と画像サイズに対して配列演算ユニット４０を実装する場合には、無限ループにしても良い。
ステップ１５０４で、デジタル画像１１１及び粗エッジ情報画像１１３のｉ行ｊ列の画素を帯域数分入力する。これは、ＡＯＵｉｊ がデジタル画像１１１及び粗エッジ情報画像１１３のｉ行ｊ列の画素を一括して処理するためである。このためＡＯＵｉｊ は少なくとも帯域数分の画像データを記憶するメモリ４２を必要とする。
ステップ１５０５で、デジタル画像１１１のｉ行ｊ列の画素と粗エッジ情報画像１１３のｉ行ｊ列の画素を分離する。これは、ＡＯＵｉｊ がデジタル画像１１１のｉ行ｊ列の画素と粗エッジ情報画像１１３のｉ行ｊ列の画素を各々独立した画像の画素として処理するためである。もしデジタル画像１１１のｉ行ｊ列の画素と粗エッジ情報画像１１３のｉ行ｊ列の画素が初めから分離されて入力されていれば、特に何もしない。
ステップ１５０６で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、入力したデジタル画像１１１の各帯域画素値に対して関数Ｓｉｊｋ （ｘ）に従い平滑化を行う。平滑化された帯域画素値は平滑化画像の帯域画素値として扱われる。ここで関数Ｓｉｊｋ （ｘ）は必要に応じて数回繰り返しても良い。一般的なカラー画像の場合、２回で十分である。
ステップ１５０７で、平滑化画像の各帯域画素に対して関数Ｌｉｊｋ （ｘ）に従い対数変換を行う。対数変換された帯域画素値は対数変換画像の帯域画素値として扱われる。
ステップ１５０８で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、対数変換画像の各帯域画素値に対して関数Ｅｉｊｋ （ｘ）に従い鮮鋭化を行う。鮮鋭化された帯域画素値は鮮鋭化画像の帯域画素値として扱われる。
ステップ１５０９で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、鮮鋭化画像の各帯域画素値に対してオペレータ∇２ｉｊｋ ｘに従いラプラシアンの計算を行う。ラプラシアンを計算された帯域画素値はラプラシアン画像の帯域画素値として扱われる。
ステップ１５１０で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、ラプラシアン画像の各帯域画素値に対して関数Ｚｉｊｋ （ｘ）に従いゼロ点を抽出する。ゼロ点を抽出された帯域画素値はゼロ点画像の帯域画素値として扱われる。
ステップ１５１１で、ゼロ点画像の各帯域画素値に対して関数Ｂｉｊｌ （ｘ）に従い各帯域画素値のうち最大値を検出する。検出された最大帯域画素値は最大値ゼロ点画像の帯域画素値として扱われる。なお便宜上帯域数は１である。
ステップ１５１２で、最大値ゼロ点画像の帯域画素値に対して関数Ｉｉｊｋ （ｘ）に従い０と１を反転させる。反転された帯域画素値は基礎エッジ情報画像の帯域画素値として扱われる。
ステップ１５１３で、入力した粗エッジ情報画像１１３の帯域画素値は初め整形粗エッジ情報画像の帯域画素値として扱われ、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、基礎エッジ情報画像の帯域画素値を用いて、整形粗エッジ情報画像の帯域画素値に対して関数Ｑｉｊｋ （ｘ，ｙ）に従い整形を行う。整形された帯域画素値は再び整形粗エッジ情報画像の帯域画素値として扱われる。ここで関数Ｑｉｊｋ （ｘ，ｙ）は本来整形粗エッジ情報画像の帯域画素値が変化しなくなるまで繰り返される。ただし計算時間の制約、入力される粗エッジ情報画像１１３の品質、形成される形成エッジ情報画像１１５に求められる品質などにより、整形処理は適当な繰り返し回数で計算を打ち切った方が良い。
ステップ１５１４で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、整形粗エッジ情報画像の帯域画素値に対して関数Ｃｉｊｋ （ｘ）に従い線幅補完を行う。補完された帯域画素値は形成エッジ情報画像１１５の帯域画素値として扱われる。
ステップ１５１５で、形成エッジ情報画像１１５の帯域画素値を出力する。その後ステップ１５０３に戻る。
これにより、配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、エッジ情報形成手段１５に対応する視覚装置ｈは粗エッジ情報画像１１３から形成エッジ情報画像１１５を生成することができる。
ここで粗エッジ情報画像１１３から形成エッジ情報画像１１５への形成とは、ある場面を撮影した低解像度のデジタル画像１１１から生成されたエッジ情報から、同じ場面を撮影した高解像度のデジタル画像１１１から生成されるべきエッジ情報を推定することであると見なすことができる。そこで自然数ｎに対して、第１９図に示すように、デジタル画像１１１の解像度を１／ｎに低くした低解像度デジタル画像１１６から、エッジ情報生成手段１４を用いて低解像度粗エッジ情報画像１１７を生成した場合、低解像度粗エッジ情報画像１１７をｎ倍拡大することにより粗エッジ情報画像１１３を生成することができる。ただしデジタル画像１１１の解像度を１／ｎにするためには、水平及び垂直方向に対して単純にデジタル画像１１１の連続するｎ個のうち１個を抽出すれば良い。また低解像度粗エッジ情報画像１１７をｎ倍拡大するためには、水平及び垂直方向に対して単純に低解像度粗エッジ情報画像１１７の連続する画素の間に帯域画素値が０である画素をｎ−１個埋めれば良い。このときｎがあまり大きくなければ、エッジ情報形成手段１５を実現するデータ処理装置１１０が、低解像度粗エッジ情報画像１１７を拡大した粗エッジ情報画像１１３を形成した形成エッジ情報画像１１５と、エッジ情報形成手段１５を実現するデータ処理装置１１０が、デジタル画像１１１から生成した粗エッジ情報画像１１３を形成した形成エッジ情報画像１１５とは、ほとんど同じものになる。この理由は、エッジ情報形成手段１５がデジタル画像１１１を用いて内部で生成したエッジ情報のうちどのエッジ情報を利用するのか参考にするために、エッジ情報形成手段１５が粗エッジ情報画像１１３を用いているだけだからである。したがって低解像度粗エッジ情報画像１１７を拡大した粗エッジ情報画像１１３をエッジ情報形成手段１５に入力した場合、低解像度デジタル画像１１６から低解像度粗エッジ情報画像１１７を生成するエッジ情報生成手段１３を実現するデータ処理装置１１０はハードウェア量を低減することができる。
さらにこの方法を発展させると、第２０図に示すように、デジタル画像１１１の解像度を低くした低解像度デジタル画像１１６から生成した低解像度粗エッジ情報画像１１７のうち、粗エッジ情報１１２の周辺を切り出した低解像度切出粗エッジ情報画像１１８を生成することができる。この低解像度切出粗エッジ情報画像１１８を拡大した切出粗エッジ情報画像１１９と、デジタル画像１１１のうち同じ領域を切り出した切出デジタル画像１２０をエッジ情報形成手段１４を実現するデータ処理装置１１０に入力すると、切出形成エッジ情報画像１２１を生成することができる。この場合、エッジ情報形成手段１４を実現するデータ処理装置１１０はハードウェア量を低減することができる。
第２１図に示すように、データ処理装置１１０によって実現される請求項１記載の位置／大きさ検出手段１７（第１図及び第６図参照）が粗エッジ情報１１２を画素とする粗エッジ情報画像１１３から重複情報１３１を画素とする重複情報画像１３２を生成するために、格子状に配列された配列演算ユニット４０は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット４０をＡＯＵｉｊ とすると、ＡＯＵｉｊ のアルゴリズムは第２２図のようになる。
ステップ１７０１で、ＡＯＵｉｊ を格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊ の近傍を決定するために必要である。
ステップ１７０２で、ＡＯＵｉｊ の近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に決めても良いし、全部を統一しても良い。本発明のデータ処理装置１１０が生成した重複情報画像１３２の正確さを上げるためには近傍サイズｑを全て大きな値に設定することが望ましい。しかしながら物体の粗エッジ情報１１２の重心を計算するための計算時間の制約や、入力される粗エッジ情報画像１１３のサイズなどにより、位置／大きさ検出手段１７は必要に応じて適宜近傍サイズを変えることで対処することができる。
ステップ１７０３で、順次入力される粗エッジ情報画像１１３が無くなったかどうか判断する。もし粗エッジ情報画像１１３が無ければ（ステップ１７０３：ＹＥＳ）、アルゴリズムを終了する。もし粗エッジ情報画像１１３があれば（ステップ１７０３：ＮＯ）、ステップ１７０４に移行する。ただし特定の画像サイズのみに対して配列演算ユニット４０を実装する場合には、無限ループにしても良い。
ステップ１７０４で、粗エッジ情報画像１１３のｉ行ｊ列の画素を１帯域分入力する。このためＡＯＵｉｊ は少なくとも１帯域分の画像データを記憶するメモリ４２を必要とする。
ステップ１７０５で、粗エッジ情報画像１１３の粗エッジ情報１１２を重複情報画像１３２の重複情報１３１に変換する。重複情報１３１は１か０に相当する帯域画素値となる。
ステップ１７０６で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、重複情報画像１３２の各帯域画素値に対して関数Δｉｊｌ （ｘ）に従い移動量を計算する。移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ１７０７で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、重複情報画像１３２の各帯域画素値に対して関数Λｉｊｌ （ｘ）に従い移動させる。移動した帯域画素値は新たに重複情報画像１３２の帯域画素値として扱われる。
ステップ１７０８で、ステップ１７０６からステップ１７０７までの繰り返し回数を表す移動回数が指定回数に達したかどうか判断する。もし移動回数が指定回数に達していなければ（ステップ１７０８：ＮＯ）、ステップ１７０６に戻る。もし移動回数が指定回数に達していれば（ステップ１７０８：ＹＥＳ）、ステップ１７０９に移行する。なおこの指定回数は粗エッジ情報画像１１３のサイズや粗エッジ情報１１２が表す物体のサイズ、さらには近傍のサイズｑにより決定される。利用目的に応じて適切なパラメータを設定すれば、指定回数を大目に決定しても問題はないが、あまり指定回数を多くしすぎると、位置及び大きさの検出に要する時間が長くなる。
ステップ１７０９で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、重複情報画像１３２の各帯域画素値に対して関数Δ’ｉｊｌ （ｘ）に従い移動量を計算する。移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ１７１０で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、重複情報画像１３２の各帯域画素値に対して関数Λ’ｉｊｌ （ｘ）に従い移動させる。移動した帯域画素値は新たに重複情報画像１３２の帯域画素値として扱われる。
ステップ１７１１で、重複情報画像１３２の帯域画素値を出力する。その後ステップ１７０３に戻る。
なお重複情報画像１３２の各重複情報１３１はその位置を中心とした周辺にある粗エッジ情報１１２の総数を表すので、結果的にその位置を中心とした物体の大きさを意味することになる。
これにより、配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、位置／大きさ検出手段１７に対応する請求項１記載の視覚装置は粗エッジ情報画像１１３から重複情報画像１３２を生成することができる。当然のことながら請求項１記載の視覚装置は粗エッジ情報画像１１３の代りに形成エッジ情報画像１１５からも重複情報画像１３２を生成することもできる。したがって配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、位置／大きさ検出手段１７に対応する視覚装置は形成エッジ情報画像１１５から重複情報画像１３２を生成することができる。
ここで第２２図のアルゴリズムにおいて粗エッジ情報１１２から構成される粗エッジ情報画像１１３の代りに物体領域１４１を表す物体領域画像１４２を用いると、第２３図に示すように、データ処理装置１１０によって実現される位置／大きさ検出手段１７（図２及び図４参照）は物体領域１４１を表す物体領域画像１４２からも重複情報１３１を表す重複情報画像１３２を生成することができる。ただし物体領域画像１４２を用いた場合、重複情報画像１３２の各重複情報１３１はその位置を中心とした物体領域１４１の画素の総数を表すので、結果的にその位置を中心とした物体の面積を意味することになる。したがって重複情報画像１３２から物体の大きさを求める場合には重複情報１３１の平方根を取るなど注意を要する。
第２４図に示すように、データ処理装置１１０によって実現される視覚装置ｊの領域正規化手段２７（第７図参照）が物体領域１４１を含む物体領域画像１４２及びデジタル画像１１１から正規化領域１４４を含む正規化画像１４５を生成するために、格子状に配列された配列演算ユニット４０は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット４０をＡＯＵｉｊ とすると、ＡＯＵｉｊ のアルゴリズムは第２５図のようになる。
ステップ２７０１で、ＡＯＵｉｊ を格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊ の近傍を決定するために必要である。
ステップ２７０２で、ＡＯＵｉｊ の近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に決めても良いし、全部を統一しても良い。本発明の領域正規化手段２７が生成した正規化画像１４５の正確さを上げるためには近傍サイズｑを全て大きな値に設定することが望ましい。しかしながら分離物体領域１４３を正規化するための計算時間の制約や、入力されるデジタル画像１１１のサイズなどにより、領域正規化手段２７は必要に応じて適宜近傍サイズを変えることで対処することができる。
ステップ２７０３で、順次入力される物体領域画像１４２又はデジタル画像１１１が無くなったかどうか判断する。もし物体領域画像１４２又はデジタル画像１１１が無ければ（ステップ２７０３：ＹＥＳ）、アルゴリズムを終了する。もし物体領域画像１４２又はデジタル画像１１１があれば（ステップ２７０３：ＮＯ）、ステップ２７０４に移行する。ただし特定の帯域数及び画像サイズのみに対して配列演算ユニット４０を実装する場合には、無限ループにしても良い。
ステップ２７０４で、物体領域画像１４２のｉ行ｊ列の画素を１帯域分と、デジタル画像１１１のｉ行ｊ列の画素を帯域数分を入力する。これは、ＡＯＵｉｊが物体領域画像１４２のｉ行ｊ列の画素とデジタル画像１１１のｉ行ｊ列の画素を一括して処理するためである。このためＡＯＵｉｊ は少なくとも総帯域数分の画像データを記憶するメモリ４２を必要とする。
ステップ２７０５で、物体領域画像１４２のｉ行ｊ列の画素とデジタル画像１１１のｉ行ｊ列の画素を分離する。これは、ＡＯＵｉｊ が物体領域画像１４２のｉ行ｊ列の画素とデジタル画像１１１のｉ行ｊ列の画素を各々独立した画像の画素として処理するためである。もし物体領域画像１４２のｉ行ｊ列の画素とデジタル画像１１１のｉ行ｊ列の画素が初めから分離されて入力されていれば、特に何もしない。物体領域画像１４２及びデジタル画像１１１は各々更新物体領域画像及び更新デジタル画像にコピーされる。
ステップ２７０６で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、更新物体領域画像の各帯域画素値に対して関数Ｒｉｊｌ （ｘ）に従い移動量を計算する。移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ２７０７で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、更新物体領域画像の各帯域画素値に対して関数Ｈｉｊｋ （ｘ，ｙ）に従い移動可能な移動先帯域画素値を見つけることができる。移動可能な移動先であるかどうかを表す値は移動可能画像の帯域画素値として扱われる。
ステップ２７０８で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、更新物体領域画像の各帯域画素値に対して関数Ｕｉｊｋ （ｘ，ｙ）に従い移動可能先に移動させる。移動した帯域画素値は新たに更新物体領域画像の帯域画素値として扱われる。
ステップ２７０９で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、更新デジタル画像の各帯域画素値に対して関数Ｕｉｊｋ （ｘ，ｙ）に従い移動可能先に移動させる。移動した帯域画素値は新たに更新デジタル画像の帯域画素値として扱われる。
ステップ２７１０で、ステップ２７０６からステップ２７０９までの繰り返し回数を表す移動回数が指定回数に達したかどうか判断する。もし移動回数が指定回数に達していなければ（ステップ２７１０：ＮＯ）、ステップ２７０６に戻る。もし移動回数が指定回数に達していれば（ステップ２７１０：ＹＥＳ）、ステップ２７１１に移行する。なおこの指定回数はデジタル画像１１１のサイズやデジタル画像１１１の分離物体領域１４３のサイズ、さらには近傍のサイズｑにより決定される。利用目的に応じて適切なパラメータを設定すれば、指定回数を大目に決定しても問題はないが、あまり指定回数を多くしすぎると、正規化に要する時間が長くなる。
ステップ２７１１で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、移動を完了した更新物体領域画像の各帯域画素値に対して関数Ｖｉｊｋ （ｘ，ｙ）に従い近傍の平均値で補間する。なおｘとｙは共に更新物体領域画像となる。平均値で埋められた帯域画素値は正規化された更新物体領域画像の帯域画素値として扱われる。
ステップ２７１２で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、移動を完了した更新デジタル画像の各帯域画素値に対して関数Ｖｉｊｋ （ｘ，ｙ）に従い近傍の平均値で埋める。これにより分離物体領域１４３は正規化画像１４５中の正規化領域１４４に変換される。なおｘは更新デジタル画像となり、ｙは更新物体領域画像となる。平均値で埋められた帯域画素値は正規化された更新デジタル画像の帯域画素値として扱われる。
ステップ２７１３で、ステップ２７１１からステップ２７１２までの繰り返し回数を表す補間回数が指定回数に達したかどうか判断する。もし補間回数が指定回数に達していなければ（ステップ２７１３：ＮＯ）、ステップ２７１１に戻る。もし補間回数が指定回数に達していれば（ステップ２７１３：ＹＥＳ）、ステップ２７１４に移行する。一般的に補間回数は近傍サイズｑの半分程度の回数で十分である。
ステップ２７１４で、ステップ２７０６からステップ２７１３までの繰り返し回数を表す継続回数が指定回数に達したかどうか判断する。もし継続回数が指定回数に達していなければ（ステップ２７１４：ＮＯ）、ステップ２７０６に戻る。もし継続回数が指定回数に達していれば（ステップ２７１４：ＹＥＳ）、ステップ２７１５に移行する。なおこの指定回数はデジタル画像１１１のサイズやデジタル画像１１１の分離物体領域１４３のサイズ、さらには近傍のサイズｑにより決定される。利用目的に応じて適切なパラメータを設定すれば、指定回数を大目に決定しても問題はないが、あまり指定回数を多くしすぎると、正規化に要する時間が長くなる。
ステップ２７１５で、更新デジタル画像の帯域画素値を正規化画像１４５の帯域画素値として出力する。その後ステップ２７０３に戻る。
これにより、配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、領域正規化手段２７に対応する視覚装置ｊが物体領域画像１４２及びデジタル画像１１１から正規化画像１４５を生成することができる。
データ処理装置１１０によって実現される正規化画像保持手段２８（第７図参照）が正規化画像１４５を記憶するために、格子状に配列された配列演算ユニット４０は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット４０をＡＯＵｉｊ とすると、ＡＯＵｉｊ のアルゴリズムは第２６図のようになる。
ステップ２８０１で、ＡＯＵｉｊ を格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊ の近傍を決定するために必要である。
ステップ２８０２で、ＡＯＵｉｊ の近傍や変数の初期値を設定する。
ステップ２８０３で、順次入力される正規化画像１４５が無くなったかどうか判断する。もし正規化画像１４５が無ければ（ステップ２８０３：ＹＥＳ）、アルゴリズムを終了する。もし正規化画像１４５があれば（ステップ２８０３：ＮＯ）、ステップ２８０４に移行する。ただし特定の画像サイズのみに対して配列演算ユニット４０を実装する場合には、無限ループにしても良い。
ステップ２８０４で、正規化画像１４５のｉ行ｊ列の画素を帯域数分入力する。このためＡＯＵｉｊ は少なくとも帯域数分の画像データを記憶するメモリ４２を必要とする。
ステップ２８０５で、出力先の装置が必要とすれば正規化画像１４５のフォーマットを変換する。特に正規化画像１４５の帯域数を１にしたり、デジタル画像１１１の帯域数が４以上の場合に正規化画像１４５の帯域数を３にして、アナログ信号を生成しやすくする場合に便利である。さもなくば何もしない。
ステップ２８０６で、処理速度の異なる出力先の装置に画像データを確実に送信できるように、正規化画像１４５のｉ行ｊ列の画素を記憶する。
ステップ２８０７で、正規化画像１４５の帯域画素値を出力する。その後ステップ２８０３に戻る。
これにより、配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、正規化画像保持手段２８に対応する視覚装置が正規化画像１４５を出力することができる。
さて、ここまでは画像記憶手段１２（第１図及び第６図参照）、画像振動手段１３（第３図、第４図及び第５図参照）、エッジ情報生成手段１４（第１図及び第６図参照）、エッジ情報形成手段１５（第１図ないし第５図、第７図ないし第１２図参照）、物体／背景分離手段１６（第２、４、５、７図ないし第１２図参照）、位置／大きさ検出手段１７（第１図及び第６図参照）、領域正規化手段２７（第７図参照）、及び正規化画像保持手段２８（第７図参照）のアルゴリズムを記述してきた。これらの手段は全て近傍処理によって実現できるので、これらの手段は格子状に配列した配列演算ユニット４０から構成されるデータ処理装置１１０を用いることができた。しかしながら画像認識手段２９（第８図参照）近傍処理のみで実現することは困難である。そこで画像認識手段２９において、格子状に配列した配列演算ユニット４０から構成されるデータ処理装置１１０が利用できるかどうか検討するために、画像認識手段２９の処理を詳しく分類する。
画像認識手段２９では、正規化画像１４５（第２４図参照）全体に渡って拡大された移動物体２又は静止物体３を事前に用意された候補の中から特定し、認識結果を生成することが求められる。移動物体２又は静止物体３を特定する最も基本的な方法は、移動物体２又は静止物体３のテンプレート画像１４６（第２７図参照）を可能な限り多数用意して、正規化画像１４５をテンプレート画像１４６と比較することにより、正規化画像１４５に最も似ているテンプレート画像１４６を見つけ出することである。しかしながら画像認識手段２９は、正規化画像１４５及びテンプレート画像１４６から任意の画素を抽出して比較しただけでは、正規化画像１４５に最も似ているテンプレート画像１４６を見つけることができないので、正規化画像１４５及びテンプレート画像１４６の全画素を比較する必要がある。そのため画像認識手段２９は最小自乗法やニューラルネットワークなどの大域処理を必要とする。データ処理装置１１０は近傍処理に適した構造をしているので、データ処理装置１１０のみを用いて画像認識手段２９を実現することは難しい。
ところで画像認識手段２９は正規化画像１４５から認識結果を生成する過程全般に渡って大域処理をする必要はない。つまり正規化画像１４５及びテンプレート画像１４６から任意の画素を抽出して比較した結果から認識結果を生成する過程において画像認識手段２９は大域処理を必要とするが、正規化画像１４５及びテンプレート画像１４６から任意の画素を抽出して比較する過程において画像認識手段２９は必ずしも大域処理を必要としない。ここで正規化画像１４５及びテンプレート画像１４６から任意の画素を抽出して比較する過程は最も基本的なパターンマッチングとなるので、このパターンマッチングが近傍処理によって実現できれば、このパターンマッチングの結果から認識結果を生成する過程のみを多数決など簡単な数値計算を実行する汎用プロセッサによって実現することができる。そこで以下では、データ処理装置１１０によってパターンマッチングを実現する方法について説明する。
まず正規化画像１４５をｘとし、ｎ個のテンプレート画像１４６をｙ１、ｙ２、、、ｙｈ、、、ｙｎとする。自然数ｇを用いると、マッチング結果画像１４７のｉ行ｊ列のマッチング結果δｉｊｌ は、数式３７に従って正規化画像１４５及びテンプレート画像１４６のｉ行ｊ列の画素を比較し、正規化画像１４５の画素に最も似ている画素を有するテンプレート画像１４６の番号を指し示す。なおマッチング結果画像１４７は単帯域画像となるので、便宜上帯域数１の画像として取り扱うことにする。したがってマッチング結果δｉｊｌ の第３添字は１となっている。
0004324327.tif 000034
ここで数式３７に従って生成されたマッチング結果δｉｊｌ はマッチング結果画像１４７全体において必ずしも統一されていない。テンプレート画像１４６が多数ある場合、マッチング結果画像１４７はむしろモザイク状になる可能性が高い。そこでデータ処理装置１１０がマッチング結果δｉｊｌ とそのｑ近傍内のマッチング結果に対するヒストグラムを計算し、マッチング結果δｉｊｌ を収斂する方法を以下に示す。
任意の単帯域画像ｘがマッチング結果画像１４７である場合、自然数ｇ、実数ｕとｖを用いると、マッチング画像１７２は数式３８及び３９に従って更新される。なおマッチング結果画像１４７は単帯域画像となるので、便宜上帯域数１の画像として取り扱うことにする。したがって関数Ψｉｊｌ （ｘ）の第３添字は１となっている。
0004324327.tif 000035
マッチング結果画像１４７が変化しなくなるまでデータ処理装置１１０が数式３８及び３９を繰り返し計算することにより、マッチング結果画像１４７全体のマッチング結果を収斂することができる。このとき正規化画像１４５とテンプレート画像１４６の組み合わせにより、マッチング結果は次のように収斂する。もし正規化画像１４５の約半分の画素が特定のテンプレート画像１４６の画素に最も類似していれば、マッチング結果画像１４７の殆んどのマッチング結果はこの特定のテンプレート画像１４６の番号に収斂する。しかしながら正規化画像１４５の幾つかの画素の塊が幾つかの異なるテンプレート画像１４６の画素の塊と類似していれば、マッチング結果画像１４７には０で囲まれた幾つかのテンプレート画像１４６の番号の塊ができる。さらに正規化画像１４５がテンプレート画像１４６の集合と相関がなければ、マッチング結果画像１４７のマッチング結果は殆んど０となる。したがってデータ処理装置１１０によって実現されるパターンマッチングは、正規化画像１４５に最も似ているテンプレート画像１４６を特定することは難しいが、テンプレート画像１４６の中から幾つかの似ているテンプレート画像１４６を選択することができると考えられる。そこでパターンマッチングの結果から認識結果を生成する過程では、パターンマッチングによって生成されたマッチング結果画像１４７が列挙するテンプレート画像１４６の類似候補の中から、最も有力な候補１つを選択するだけで良い。
第２７図に示すように、データ処理装置１１０によって実現される視覚装置ｋのパターンマッチングが、テンプレート画像１４６のうち正規化画像１４５に最も似ている画像の番号を示すマッチング結果から構成されるマッチング結果画像１４７を生成するために、格子状に配列された配列演算ユニット４０は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット４０をＡＯＵｉｊ とすると、ＡＯＵｉｊ のアルゴリズムは第２８図のようになる。
ステップ２９０１で、ＡＯＵｉｊ を格子上のｉ行ｊ列に配置する。これは論理的であれ物理的であれ、ＡＯＵｉｊ の近傍を決定するために必要である。
ステップ２９０２で、ＡＯＵｉｊ の近傍や変数の初期値を設定する。近傍の設定においては、前記各関数で使う近傍サイズｑを個別に決めても良いし、全部を統一しても良い。本発明のデータ処理装置１１０が生成したマッチング結果画像１４７の正確さを上げるためには近傍サイズｑを全て大きな値に設定することが望ましい。しかしながらマッチング結果を更新するための計算時間の制約や、入力される正規化画像１４５のサイズなどにより、パターンマッチングは必要に応じて適宜近傍サイズを変えることで対処することができる。
ステップ２９０３で、順次入力されるテンプレート画像１４６が無くなったかどうか判断する。もしテンプレート画像１４６が無ければ（ステップ２９０３：ＹＥＳ）、ステップ２９０５に移行する。もしテンプレート画像１４６があれば（ステップ２９０３：ＮＯ）、ステップ２９０４に移行する。
ステップ２９０４で、テンプレート画像１４６のｉ行ｊ列の画素を帯域数分入力する。このためＡＯＵｉｊ は少なくとも帯域数とテンプレート画像１４６の数を掛けた分の画像データを記憶するメモリ４２を必要とする。その後ステップ２９０３に戻る。
ステップ２９０５で、順次入力される正規化画像１４５が無くなったかどうか判断する。もし正規化画像１４５が無ければ（ステップ２９０５：ＹＥＳ）、アルゴリズムを終了する。もし正規化画像１４５があれば（ステップ２９０５：ＮＯ）、ステップ２９０６に移行する。ただし特定の画像サイズのみに対して配列演算ユニット４０を実装する場合には、無限ループにしても良い。
ステップ２９０６で、正規化画像１４５のｉ行ｊ列の画素を帯域数分入力する。このためＡＯＵｉｊ は少なくとも帯域数分の画像データを記憶するメモリ４２を必要とする。
ステップ２９０７で、正規化画像１４５とテンプレート画像１４６からマッチング結果画像１４７のマッチング結果δｉｊｌ を計算する。マッチング結果は正規化画像１４５に最も近いテンプレート画像１４６の番号を表す帯域画素値となる。
ステップ２９０８で、ＡＯＵｉｊ が近傍の配列演算ユニット４０と通信することにより、マッチング結果画像１４７の各帯域画素値に対して関数Ψｉｊｌ （ｘ）に従いマッチング結果を更新する。更新された帯域画素値は再びマッチング結果画像の帯域画素値として扱われる。ここで関数Ψｉｊｌ （ｘ）は本来マッチング結果画像１４７の帯域画素値が変化しなくなるまで繰り返される。ただし計算時間の制約、入力される正規化画像１４５の品質、更新されたマッチング結果画像１４７に求められる品質などにより、更新処理は適当な繰り返し回数で計算を打ち切った方が良い。
ステップ２９０９で、マッチング結果画像１４７の帯域画素値を出力する。その後ステップ２９０５に戻る。
これにより、配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、画像認識手段２９中のパターンマッチングに対応する視覚装置ｋは正規化画像１４５からマッチング結果画像１４７を生成することができる。
ここまでは配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、近傍処理のみからなる画像処理を行う方法について説明してきた。以下では配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、近傍処理のみで物体／背景分離手段１６（第２図及び第７図参照）を実現する視覚装置ｋについて説明する。
まず非線形振動子は一般に引き込み現象を起こす。この引き込み現象とは、リミットサイクルやアトラクタなどのような周期的挙動において、異なる周期を持つ非線形振動子が相互作用して簡単な定数比の周期で振動するよう制約される現象である。このとき１つの非線形振動子の振動を変化させると他の非線形振動子の振動も合わせて変化するので、これらの非線形振動子は同期している。しかも非線形振動子の相互作用を調整することにより、お互いの振動の位相差を極力小さくさせたり大きくさせたりできる。そこでこの相互作用を操作すると、非線形振動子の一群を、異なる位相を持つ複数のグループに分割することができる。物体／背景分離手段１６はこのような非線形振動子の引き込み現象を利用して、エッジ情報画像中のエッジ情報を境界とするように物体と背景を分離して、物体領域を表す物体領域画像を生成する。なお、ここでは非線形振動子としてファン・デル・ポールを用いた場合を例に説明する。
まず、格子状に配列した非線形振動子から構成される非線形振動子ネットワークにおいて、ｉ行ｊ列にある非線形振動子をωｉｊ とすると、非線形振動子ωｉｊ のｑ近傍にある非線形振動子の集合Ωｉｊ （ｑ）は数式４０によって表される。ただしｑは４、８、２４、４８、８０、１２０、（２ｒ＋１）２−１と続く数列であり、ｒは自然数である。なおネットワークサイズをはみ出した非線形振動子が近傍集合Ωｉｊ （ｑ）に含まれる場合には、非線形振動子ωｉｊ を代用するものとする。これにより辺縁処理は自動的に行われる。したがって近傍集合Ωｉｊ （ｑ）の要素の数は常にｑとなる。なおこのことから判る通り、非線形振動子ネットワークは単帯域画像と同じ扱いになる。表現を簡単にするため、非線形振動子ネットワークでは添字は幅方向と高さ方向の２つのみを使う。
0004324327.tif 000036
次に、非線形振動子はｑａ 近傍に含まれる近傍集合Ωｉｊ （ｑａ ）にある非線形振動子との間で数式４１に従い計算される結合値τｉｊｋｌ によって結合される。なお対数表を用いない場合には数式４２による近似も可能である。またμ、νは適当な正の定数である。
0004324327.tif 000037
非線形振動子ネットワークの全ての非線形振動子が完全に同位相で同期した場合、プロセッサで計算する限り、非線形振動子ωｉｊ は永久に同位相のまま動作し続けてしまう。そこで外乱ρｉｊ を与えればこのような状態を回避することができる。外乱としては疑似乱数を用いることもできるが、数式４３のような簡単な式で求めても十分である。なおζｉｊ はエッジ情報画像のｉ行ｊ列のエッジ情報の有無を表す。エッジ情報があれば１とし、なければ０とする。またκは適当な正の定数である。
0004324327.tif 000038
非線形振動子ωｉｊ が近傍集合Ωｉｊ （ｑａ ）の非線形振動子ωｋｌ と同期するために数式４４に従い近傍入力合計σｉｊ を計算する。
0004324327.tif 000039
ファン・デル・ポール非線形振動子ωｉｊ を構成する２つのパラメータφｉｊとψｉｊ は数式４５と数式４６に従って計算される。なおγ、εは適当な正の定数である。
0004324327.tif 000040
非線形振動子を物体領域と背景領域に分離するためには全ての非線形振動子の位相のずれを計算する必要があるが、単純に物体領域と背景領域の２つに分離するだけであるので、パラメータψｉｊ がしきい値θ以上か未満かで位相ずれを計算する。物体領域と背景領域を分離した結果を出力する出力λｉｊ は数式４７によって求められる。なおθは適当な正の定数である。
0004324327.tif 000041
エッジ情報が物体と背景を分離するのに不十分であった場合にはエッジ情報を補間しなければならない。そのために非線形振動子ωｉｊ のｑｂ 近傍にある非線形振動子の集合Ωｉｊ （ｑｂ ）中でいくつの非線形振動子が位相ずれを起こしているか求める必要がある。そこで数式４８によって輪郭パラメータηｉｊ を計算する。
0004324327.tif 000042
この結果を基にエッジ情報の補間割合を示す境界パラメータξｉｊ を数式４９によって計算する。なおα、β、ηｍｉｎ 、ηｍａｘ は適当な正の定数である。
0004324327.tif 000043
ここでは非線形振動子としてファン・デル・ポールの場合を説明したが、この他にブラッセレータのようなリミットサイクルで安定する非線形振動子や、ローレンツアトラクタやレスラー方程式のアトラクタを発生するカオス振動子など、引き込み現象を起こす任意の非線形振動子でも動作可能である。その場合はパラメータφｉｊ とψｉｊ を各々の非線形振動子のパラメータで置き換えるなり追加すれば良い。その際に適当なパラメータに近傍入力合計σｉｊ と外乱ρｉｊ を加えるだけである。但し、カオス振動子の場合には特に外乱ρｉｊ を必要としない。
数式４０から数式４９までを用いることにより、物体／背景分離手段１６（第２図及び第７図参照）を実装することができるデータ処理装置１１０の全ての配列演算ユニット４０のアルゴリズムを記述することができる。以下では、データ処理装置１１０中の任意の配列演算ユニット４０のアルゴリズムを用いて、物体／背景分離手段１６に対応する視覚装置ｌについて説明する。
第２９図に示すように、データ処理装置１１０によって実現される物体／背景分離手段１６が形成された三角形のエッジ情報１５１を用いて三角形の内側領域１５２と三角形の外側領域１５３に分離するために、格子状に配列された配列演算ユニット４０は同期して並列に動作する。格子上ｉ行ｊ列に配置された配列演算ユニット４０をＡＯＵｉｊ とすると、ＡＯＵｉｊ のアルゴリズムは第３０図のようになる。
ステップ１６０１で、ＡＯＵｉｊ を格子上のｉ行ｊ列に配置する。
ステップ１６０２で、数式４１及び４２に基づいて近傍同士ωｉｊ とωｋｌ を結合値τｉｊｋｌ で接続する。
ステップ１６０３で、非線形振動子のパラメータφｉｊ とψｉｊ に適当な初期値を設定する。
ステップ１６０４で、順次入力される形成エッジ情報画像１１５が無くなったかどうか判断する。もし形成エッジ情報画像１１５が無ければ（ステップ１６０４：ＹＥＳ）、アルゴリズムを終了する。もし形成エッジ情報画像１１５があれば（ステップ１６０４：ＮＯ）、ステップ１６０５に移行する。ただし特定の帯域数及び画像サイズのみに対して配列演算ユニット４０を実装する場合には、無限ループにしても良い。
ステップ１６０５で、形成エッジ情報１１４のζｉｊ を入力する。
ステップ１６０６で、直前に入力した形成エッジ情報１１４のζｉｊ から数式４３に従って外乱ρｉｊ を計算する。
ステップ１６０７で、近傍集合Ωｉｊ （ｑａ ）中の非線形振動子ωｋｌ がある配列演算ユニット４０のＡＯＵｋｌ からζｋｌ 、ξｋｌ 、ψｋｌ を入力して、合計値σｉｊ を数式４４に従って計算する。
ステップ１６０８で、非線形振動子のパラメータφｉｊ 、ψｉｊ を数式４５及び４６に従って計算する。即ち、これらの数式に示す微分方程式をルンゲ・クッタ法で解く。
ステップ１６０９で、非線形振動子の出力λｉｊ を数式４７に従って計算する。ここで、ψｉｊ ≧θであればλｉｊ ＝１とし、それ以外であればλｉｊ ＝０とする。
ステップ１６１０で、近傍集合Ωｉｊ （ｑｂ ）中の非線形振動子ωｋｌ がある配列演算ユニット４０のＡＯＵｋｌ からλｋｌ を入力して、輪郭パラメータηｉｊ を数式４８に従って計算する。
ステップ１６１１で、境界パラメータξｉｊ を数式４９に従って計算する。即ち、この数式に示す微分方程式を差分法若しくはルンゲ・クッタ法で解く。
ステップ１６１２で、ステップ１６０６からステップ１６１１までの繰り返し回数を表す分離回数が指定回数に達したかどうか判断する。もし分離回数が指定回数に達していなければ（ステップ１６１２：ＮＯ）、ステップ１６０６に戻る。もし分離回数が指定回数に達していれば（ステップ１６１２：ＹＥＳ）、ステップ１６１３に移行する。
ステップ１６１３で、物体領域画像１４２の帯域画素値となる非線形振動子の出力λｉｊ を出力する。その後ステップ１６０４に戻る。
なおステップ１６１２での分離回数を求めるには、次のような方法を用いることができる。物体／背景分離手段１６では、画像サイズが一定であれば非線形振動子の初期状態に関わらずおおよそ全ての形成エッジ情報１１４においてある一定時間で分離が終了するので、事前にこの時間を計っておいてステップ１６０６からステップ１６１１までの繰り返し回数を求めておけば良い。これは非線形振動子の初期状態が一定の範囲内にあれば、引き込み現象により非線形振動子が同期するまでの時間はあまり大差がないからである。
このように非線形振動子を計算するだけで、形成された三角形のエッジ情報１５１を用いて三角形の内側領域１５２と三角形の外側領域１５３を分離することができるのは、非線形振動子の性質である引き込み現象を利用しているからである。つまり、２つの非線形振動子を正の結合値で結合した場合は同位相になろうとし、負の結合値で結合した場合は位相差が極力大きくなろうとする。この性質を用いると、格子状に並んだ非線形振動子を近傍同士正の結合値で結合することで、直接結合していない非線形振動子同士が同位相になる。さらに形成エッジ情報１１４を挟む画素の場所にある非線形振動子同士を負の結合値で結合すると、エッジ情報の両側がお互いに位相を極力ずらし合う。このようにすることで、全ての非線形振動子を結合することもなく三角形のエッジ情報１５１の内側と外側とで各々異なる位相集合ができる。したがって物体／背景分離手段１６は第２９図のような三角形の内側領域１５２と三角形の外側領域１５３に分離する。このとき三角形の内側領域１５２と三角形の外側領域１５３の位相差は９０度を越えて可能な限り１８０度に近づき、三角形と背景領域が分離できる。
ここで重要なことは、本実施形態では、形成エッジ情報１１４が得られる度に次に示すような方法で結合値を擬似的に変更していることである。まず数式４１及び４２で定めたように、非線形振動子ωｋｌ を非線形振動子ωｉｊ に結合するための結合値をτｉｊｋｌ とする（ステップ１６０２参照）。形成エッジ情報ζｉｊ とζｋｌ は共に、エッジがある場合には１、ない場合には０である。形成エッジ情報ζｉｊ とζｋｌ を入力したら（ステップ１６０５参照）、配列演算ユニット４０のＡＯＵｋｌ からＡＯＵｉｊ に形成エッジ情報ζｋｌ が転送され、ＡＯＵｉｊ では結合値τｉｊｋｌ （１−ζｋｌ ）を計算して結合値τｉｊｋｌ の代用とする（ステップ１６０７参照）。この代用された結合値τｉｊｋｌ （１−ζｋｌ ）に対して境界パラメータξｉｊ が０から１までの倍率として作用する（ステップ１６０７参照）。
第３１図に示す通り、形成エッジ情報１１４が破線状態の三角形のエッジ情報１５４となった場合には破線の補間をする必要がある。まず初めに破線状態の三角形のエッジ情報１５４を用いてシステムを動作させる（ステップ１６０５参照）と、破線状態の三角形のエッジ情報１５４の内側と外側で位相差がおよそ９０度を越えるようになるが、三角形の内側と外側の境界部分は不明確である。そこで各ＡＯＵｉｊ が非線形振動子の出力λｉｊ を計算する（ステップ１６０９参照）。この出力λｉｊ が１の場合、近傍の非線形振動子のうちλｋｌ が１である非線形振動子をωｋｌ とすると、パラメータψｉｊ とψｋｌ が共にθ以上となる。つまりλｉｊ とλｋｌ はおよそ同位相であり、θが正値であれば最悪でも位相差が９０度を越えることはない。この位相差の最大値はθの値によって決まり、λｉｊ とλｋｌ が共に１となる範囲でθを大きくしていくと、この位相差は０度に近づいていく。したがってλｉｊ とλｋｌ と用いると、近傍の非線形振動子うちおよそ同位相であるものの数を表す輪郭パラメータηｉｊ は数式４８に従って計算される（ステップ１６１０参照）。続いてこの輪郭パラメータηｉｊ が近傍全体のうち、およそ半分であれば結合値の倍率である境界パラメータξｉｊ を数式４９に従って減少させ、それ以外であれば数式４９に従って増加させる（ステップ１６１１参照）。例えば、８近傍の場合は３から５の間であれば数式４９に従って境界パラメータを減少させるとよい。この過程を繰り返し動作させ続けると、第３１図に示す破線状態の三角形のエッジ情報１５４が与えられた場合、破線三角形の内側領域１５５と破線三角形の外側領域１５６に分離される。
第３２図に示す通り、２つの三角形が重なりあっている場合は、前方の三角形のエッジ情報１５７と後方の三角形のエッジ情報１５８が得られる。このとき前方三角形の内側領域１５９と後方三角形の内側領域１６０と二重三角形の背景領域１６１の３つの領域の非線形振動子の位相がお互いにずれることにより、３つの領域に分離される。また第３３図に示す通り、２つの重なった円形のエッジ情報１６２が破線であっても、前方円形の内側領域１６３と後方円形の内側領域１６４と二重円の背景領域１６５の３つに分離される。
これにより、配列演算ユニット４０から構成されるデータ処理装置１１０を用いて、物体／背景分離手段１６に対応する視覚装置ｌは形成エッジ情報画像１１５の形成エッジ情報１１４を境界として物体領域１４１と背景を分離することができる。
ここまで視覚装置ｆから視覚装置ｈ、請求項１に記載の視覚装置、視覚装置ｊから視覚装置ｌについて説明してきた。当然のことながらこれらの視覚装置は汎用のコンピュータによって実装することができるが、移動物体２を計数の対象とする場合、移動物体２の移動速度によっては前記手段の各々を高速に実行する必要がある。特にフレーム画像１の画像サイズ若しくは解像度を上げたとき、画像自体を処理対象とする画像記憶手段１２（第１図及び第６図参照）、画像振動手段１３（第３図、第４図及び第５図参照）、エッジ情報生成手段１４（第１図及び第６図参照）、エッジ情報形成手段１５（第１図ないし第５図、第７図ないし第１２図参照）、物体／背景分離手段１６（第２、４、５、７図ないし第１２図参照）、位置／大きさ検出手段１７（第１図及び第６図参照）、領域正規化手段２７（第７図参照）、正規化画像保持手段２８（第７図参照）及び画像認識手段２９（第８図参照）は、幅方向及び高さ方向の各々に対して画像サイズ若しくは解像度に比例して計算量が増大する。したがって視覚装置ｆから視覚装置ｈ、請求項１に記載の視覚装置、視覚装置ｊから視覚装置ｌは用途によっては望みうる性能を達成できない可能性がある。
そこでデジタル技術を用いて画像記憶手段１２、画像振動手段１３、エッジ情報生成手段１４、エッジ情報形成手段１５、物体／背景分離手段１６、位置／大きさ検出手段１７、領域正規化手段２７、及び正規化画像保持手段２８を実装するために、視覚装置ｍの配列演算ユニット４０はデータ処理装置１１０中で第１３図のように格子状に配列され、さらに配列演算ユニット４０はデータ処理装置１１０中の隣接する配列演算ユニット４０だけと相互に通信できるように配線される。つまり４近傍同士が直接配線されることになる。これにより８近傍同士を配線する場合に比べて、少ない電子部品と配線量で、同程度に高速に動作し、しかも将来近傍サイズを拡張する場合にも簡単に拡張性を有することができる。
視覚装置ｎの配列演算ユニット４０は第３４図に示す通り、画像処理における数式を計算するためのプロセッサ（ＰＲＯＣＥＳＳＯＲ）４１と、数式で使われる全てのパラメータ、定数、関数及びオペレータを記憶するためのメモリ（ＭＥＭＯＲＹ）４２と、近傍の配列演算ユニット４０と通信するためのコントローラ（ＣＯＮＴＲＯＬＥＲ）４３から構成され、プロセッサ４１はアドレスバス５１で指定したアドレス（ＡＤＤＲＥＳＳ）によりメモリ４２及びコントローラ４３の任意のメモリ素子及びレジスタを選択することができる。またプロセッサ４１はデータバス５２を介してメモリ４２及びコントローラ４３と双方向に通信可能に接続され、アドレスバス５１で指定された任意のメモリ素子及びレジスタのデータ（ＤＡＴＡ）にアクセスすることができる。配列演算ユニット４０が１つ以上の入力画素から構成される前入力データ群（ＦＲＯＮＴ ＩＮＰＵＴ ＤＡＴＡ ＳＥＴ）を入力すると、コントローラ４３は前入力データ群をメモリ４２に記憶させる。またコントローラ４３は、関数により作成されたメモリ４２中の計算データを隣接する配列演算ユニット４０に送信すると共に、隣接する配列演算ユニット４０から受信した計算データをメモリ４２に記憶させ、さらに必要ならば、入力した以外の配列演算ユニット４０に転送する。最終的にコントローラ４３は、出力画像の画像データを結果データ（ＲＥＳＵＬＴ ＤＡＴＡ）として出力する。
このように各配列演算ユニット４０にコントローラ４３を搭載する理由は、配列演算ユニット４０同士が通信している間にプロセッサ４１が動作できるので、プロセッサ４１は通信による待ち時間中にも計算することができて高速処理が実現できるからと、近傍の配列演算ユニット４０の数を変化させてもハードウェアを変更する必要もないからと、コントローラ４３が画像の辺縁処理、つまり画像中の縁の画素に対する例外処理を自動的に行えるので、プロセッサ４１のプログラムは辺縁処理をする必要がなくなり極めて単純になるからである。
プロセッサ４１とメモリ４２は汎用的なデジタル回路を用いることができる。コントローラ４３の具体的な回路図は第３５図に示す通りである。アドレスバッファ（ＡＤＤＲＥＳＳ ＢＵＦＦＥＲ）５３はアドレスバス（ＡＤＤＲＥＳＳＢＵＳ）５１を介してプロセッサ４１からアドレス（ＡＤＤＲＥＳＳ）を受取り、アドレスデコーダ（ＡＤＤＲＥＳＳ ＤＥＣＯＤＥＲ）５４によって各レジスタ及びその他の機能ブロックを選択する。データバッファ（ＤＡＴＡ ＢＵＦＦＥＲ）５５はデータバス（ＤＡＴＡ ＢＵＳ）５２を介してプロセッサ４１からデータ（ＤＡＴＡ）を受取り、アドレスデコーダ５４で選択されたレジスタと内部データバス５６を介して排他的に通信する。通信方向は読み出し（ＲＥＡＤ）によって指定される。アドレスがフラグレジスタ（ＦＬＡＧ ＲＥＧＩＳＴＥＲ）５７を指定した場合、データはフラグレジスタ５７に記憶され、フラグデコーダ（ＦＬＡＧ ＤＥＣＯＤＥＲ）５８によってデコードされ、複数信号（ＳＩＧＮＡＬＳ）として隣接する配列演算ユニット４０に送信される。複数信号はフラグエンコーダ（ＦＬＡＧ ＥＮＣＯＤＥＲ）５９によって受信され、解析された後にステータスレジスタ（ＳＴＡＴＵＳ ＲＥＧＩＳＴＥＲ）６０に記憶され、また受領（ＲＥＣＥＩＶＥ）として送信元の配列演算ユニット４０に返送される。受領は複数信号の送信元のフラグエンコーダ５９で受信され、結果として複数信号の送信完了が確認される。アドレスによってステータスレジスタ６０が選択されると、ステータスレジスタ６０の内容がデータバス５２を介してデータとしてプロセッサ４１に送信される。１つ以上の入力画像（ＩＮＰＵＴ ＩＭＡＧＥ）に対応した１つ以上の前入力送達（ＦＲＯＮＴ ＩＮＰＵＴ ＳＥＮＤ）をフラグエンコーダ５９が受信すると１つ以上の入力画像からなる前入力データ群（ＦＲＯＮＴ ＩＮＰＵＴ ＤＡＴＡ ＳＥＴ）が必要な記憶容量分用意された前入力データレジスタ６１（ＦＲＯＮＴ ＩＮＰＵＴ ＤＡＴＡ ＲＥＧＩＳＴＥＲ）に読み込まれる。アドレスによって前入力データレジスタ６１が選択されると、前入力データレジスタ６１の内容がデータとしてプロセッサ４１に送信される。プロセッサ４１が計算を完了したら、アドレスによって結果データレジスタ（ＲＥＳＵＬＴ ＤＡＴＡ ＲＥＧＩＳＴＥＲ）６２が選択され、結果データレジスタ６２が出力画像の画像データを結果データ（ＲＥＳＵＬＴ ＤＡＴＡ）として読み込む。これと同時に、フラグエンコーダ５９が結果送達（ＲＥＳＵＬＴＳＥＮＤ）を送信する。
近傍の配列演算ユニット４０から計算に必要なデータを求められたら、アドレスとして出力データレジスタ６３（ＯＵＴＰＵＴ ＤＡＴＡ ＲＥＧＩＳＴＥＲ）を選択し、近傍の配列演算ユニット４０に送信すべきデータを計算データ（ＣＡＬＣＵＲＡＴＩＯＮ ＤＡＴＡ）として出力データレジスタ６３に読み込む。その後、隣接する全ての配列演算ユニット４０に計算データとして送信される。上側の配列演算ユニット４０から複数信号（ＳＩＧＮＡＬＳ）を受信したら計算データを上入力データレジスタ（ＵＰＰＥＲ ＩＮＰＵＴ ＤＡＴＡ ＲＥＧＩＳＴＥＲ）６４に読み込む。その後、アドレスにより上入力データレジスタ６４が選択されたら、上入力データレジスタ６４の内容が計算データとして送信される。下側、左側、右側の配列演算ユニット４０から複数信号を受信した場合も同様であり、下入力データレジスタ６５、左入力データレジスタ６６、右入力データレジスタ６７が同様に動作する。
各種バッファ、各種レジスタ、アドレスデコーダ５４の各ブロックは汎用的な電子回路である。フラグデコーダ５８とフラグエンコーダ５９は具体的には第３６図と第３７図に示すような入出力信号を有する。種別（ＴＹＰＥ）は出力データレジスタ６３（ＯＵＴＰＵＴ ＤＡＴＡ ＲＥＧＩＳＴＥＲ）に読み込まれた内容の種類を５ビットで表す。このビット数は配列演算ユニット４０が送受信すべき全ての計算データを区別するのに十分な値である。カウント−Ｘ（ＣＯＵＮＴ−Ｘ）及びカウント−Ｙ（ＣＯＵＮＴ−Ｙ）は各々４ビットの符号なし整数を表し、配列演算ユニット４０の間の転送回数を示す。配列演算ユニット４０が計算データを送信する場合には各々のカウントが０となり、左右の配列演算ユニット４０から送信された計算データを再度送信する場合にはフラグエンコーダ５９のカウント−Ｘに１を足した値となり、上下の配列演算ユニット４０から送信された計算データを再度送信する場合にはフラグエンコーダ５９のカウント−Ｙに１を足した値となる。プロセッサ４１がフラグレジスタ５７の送達フラグ（ＳＥＮＤ ＦＬＡＧ）に上下左右のうちどの方向に出力データレジスタ６３の内容を送信するかを指定した後で、出力データレジスタ６３を指定するアドレスデコーダ５４の中央デコーディング（ＣＥＮＴＲＡＬ ＤＥＣＯＤＩＮＧ）をフラグデコーダ５８が受信すると、フラグデコーダ５８が送達（ＳＥＮＤ）を送達フラグの指定方向に合わせて出力する。送達フラグは４ビットで表し、配列演算ユニット４０の計算データを四方の配列演算ユニット４０に送信する場合にはプロセッサ４１が１１１１と設定し、右側の配列演算ユニット４０から送信された計算データを上下左側に転送する場合はプロセッサ４１が１１１０と設定し、左側から上下右側に転送する場合は１１０１と設定し、下側から上側に転送する場合は１０００と設定し、上側から下側に転送する場合は０１００と設定する。これにより、転送に重複がなくなり効率的に転送できるだけでなく、転送方向の決定規則が明確になっているので、種別、カウント−Ｘ及びカウント−Ｙを組み合わせることにより、フラグエンコーダ５９はどの配列演算ユニット４０からどの種別の計算データが送信されたかを判定することができる。結果データレジスタ６２に計算データが結果データとして読み込まれると同時にフラグデコーダ５８は、結果デコーディング（ＲＥＳＵＬＴ ＤＥＣＯＤＩＮＧ）を受信し、結果送達（ＲＥＳＵＬＴ ＳＥＮＤ）を送信する。
フラグエンコーダ５９は四方のうちいずれかでも送達を受信したら、受信方向の種別とカウント−Ｘ、カウント−Ｙを受信し、その部分のステータスレジスタ６０の内容を更新する。この更新と同時に受信方向に受領を１にして送信する。送信元の配列演算ユニット４０のフラグエンコーダ５９では受領が１になった瞬間に受信し、ステータスレジスタ６０の受領ステータス（ＲＥＣＥＩＶＥ ＳＴＡＴＵＳ）を更新する。これにより各配列演算ユニット４０ではプロセッサ４１がステータスレジスタ６０の受領ステータスを検査するだけで、どの入力データレジスタに有効な計算データが記憶されているか判断することができる。そこで例えば上入力データレジスタ６４に計算データが読み込まれていれば、プロセッサ４１がアドレスを指定することにより上入力データレジスタ６４からデータを読み込むことができるが、同時にアドレスデコーダ５４から上デコーディング（ＵＰＰＥＲ ＤＥＣＯＤＩＮＧ）がフラグエンコーダ５９に送信され、受領ステータスのうち上部分が０に戻され、上側に向いた受領が０として送信される。下左右側の場合も同様に動作する。フラグエンコーダ５９が１つでも入力画像用の前入力送達を受信したら、ステータスレジスタ６０のうち受信した前入力送達に対応する入力画像用の前入力送達ステータス（ＦＲＯＮＴ ＩＮＰＵＴ ＳＥＮＤ ＳＴＡＴＵＳ）を１にする。またプロセッサ４１が入力画像用の前入力データレジスタ６１からデータを読み込むとき、アドレスデコーダ５４がフラグエンコーダ５９に前デコーディング（ＦＲＯＮＴ ＤＥＣＯＤＩＮＧ）を送信し、受信した前入力送達に対応する前入力送達ステータスを０にする。プロセッサ４１はステータスレジスタ６０の内容を読み込むことにより、前入力データレジスタ６１に最新の入力画像が記憶されているかどうか判断することができる。
プロセッサ４１がコントローラ４３を介して四方の配列演算ユニット４０に計算データを送信する場合のアルゴリズムを第３８図に示す。第３８図は、プロセッサ４１によるプログラム制御と、フラグデコーダ５８及びフラグエンコーダ５９によるハードウェアロジックとの混成による処理を示すものである。第３８図に対して、ステップ７１では、プロセッサ４１がステータスレジスタ６０の内容を読み込む。ステップ７２では、読み込んだ内容のうち受領ステータスが全て０であるか否かを判断する。ＮＯなら処理を終了する。ＹＥＳならステップ７３に移行する。ステップ７３では、プロセッサ４１が隣接する配列演算ユニット４０に送信するデータの種別とカウンタと送信方向を決定し、その内容をフラグレジスタ５７に書き込む。ステップ７４では、プロセッサ４１が隣接する配列演算ユニット４０に送信するデータを出力データレジスタ６３に書き込む。ステップ７５では、出力データレジスタ６３の内容を計算データとして、隣接する配列演算ユニット４０に送信する。ステップ７６では、フラグレジスタ５７の送達フラグで指定された方向にのみ送達を１にして送信する。これによりプロセッサ４１の１回の送信アルゴリズムは終了する。プロセッサ４１は、送信すべきデータがメモリ４２内で更新される度にこの送信アルゴリズムを開始する。
コントローラ４３が上側の配列演算ユニット４０から計算データを受信する場合のアルゴリズムを第３９図に示す。第３９図は、フラグデコーダ５８及びフラグエンコーダ５９によるハードウェアロジックによる処理を示すものである。第３９図に対して、ステップ８１では、フラグエンコーダ５９が送達を入力する。ステップ８２では、送達が１であるか否かをフラグエンコーダ５９が判断する。ＮＯなら処理を終了する。ＹＥＳならステップ８３に移行する。ステップ８３では、上入力データレジスタ６４が上側から送信された計算データを読み込む。ステップ８４では、フラグエンコーダ５９がステータスレジスタ６０のうち上側用の受領ステータスを１にすると同時に受領を１にして上側の配列演算ユニット４０に送信する。下左右側の場合も同様である。これによりコントローラ４３の１回の受信アルゴリズムは終了する。コントローラ４３は常時上下左右の配列演算ユニット４０からの送達を監視し、この送達を受信する度にこの受信アルゴリズムを開始する。
プロセッサ４１が上入力データレジスタ６４からデータを受信する場合のアルゴリズムを第４０図に示す。第４０図は、プロセッサ４１によるプログラム制御と、フラグデコーダ５８及びフラグエンコーダ５９によるハードウェアロジックとの混成による処理を示すものである。第４０図に対して、ステップ９１では、プロセッサ４１がステータスレジスタ６０の内容を読み込む。ステップ９２では、読み込んだ内容のうち上側用の受領ステータスが１であるか否かを判断する。ＮＯなら処理を終了する。ＹＥＳならステップ９３に移行する。ステップ９３では、プロセッサ４１が上入力データレジスタ６４からデータを読み込む。ステップ９４では、フラグエンコーダ５９がステータスレジスタ６０のうち上側用の受領ステータスを０にすると同時に受領を０にして上側の配列演算ユニット４０に送信する。下左右側の場合も同様である。これによりプロセッサ４１の１回の受信アルゴリズムは終了する。プロセッサ４１は一定間隔でステータスレジスタ６０の内容を監視し、上下左右いずれかの受領ステータスが１である度にこの受信アルゴリズムを開始する。またプロセッサ４１が一定間隔でステータスレジスタ６０の内容を監視しなくても、割り込み処理により実装することもできる。
なおこの配列演算ユニット４０は、主に１つ以上の入力画像から１つの出力画像を生成することを前提に記述したが、用途に応じては計算途中の計算データを出力できるように回路を変更する必要がある。その際には、フラグデコーダ５８の結果送達を出力すべき計算データの数だけ増やし、結果データレジスタ６２に読み込まれた計算データに対応する結果送達のみを１にするようにプログラムを変更するだけで良い。
以上、本実施形態を説明したが、本発明は上述の実施形態には限定されることはなく、当業者であれば種々なる態様を実施可能であり、本発明の技術的思想を逸脱しない範囲において本発明の構成を適宜改変できることは当然であり、このような改変も、本発明の技術的範囲に属するものである。
産業上の利用可能性
視覚装置ａ及び視覚装置ｂによれば、明度、彩度、色相などを用いても動画像中から移動物体単体若しくはその一部を一塊の領域として切り出すことが困難である場合であっても、前記移動物体の数を数えることができる。例えば生きている透明なアメーバを数える場合、当然のことながらアメーバ全体に色を付けることはできない。また光源や背景を適当な色にしてもアメーバは同じ色になるか、光の屈折、反射などによりアメーバの中央と縁で異なる色になったりして、アメーバだけを塗り潰したような画像を得ることも難しい。大半の場合、光の屈折、反射などにより、アメーバの輪郭部分に特異な輝度値が現れる。そこで視覚装置ａ及び視覚装置ｂを用いれば、この特異な輝度値からエッジ情報を生成することによりアメーバ全体を背景から切り出すことができるので、アメーバの数を数えることが容易になる。同様のことがミジンコなどの微生物、白血球や精子などの細胞にも当てはまる。もちろんおたまじゃくしや人間の顔のような色情報によって背景と容易に区別できる移動物体に対しても利用することができる。このように移動物体、光源及び背景に特に手を加えることなく移動物体の数を数えることができるので、移動物体を撮影することができる既存の装置に視覚装置ａ及び視覚装置ｂを接続することで、移動物体用の物体計数装置を安価に実現することができる。その他に、動画像中に移動物体が有るか無いかを判定するといった前処理にも利用することができる。なお、背景から分離された物体領域を視覚装置ａ及び視覚装置ｂから直接取り出して別の装置に入力することで、移動物体を認識する際の前処理にも利用することができ、物体認識装置を安価に実現することもできる。
視覚装置ｃによれば、明度、彩度、色相などを用いても静止画像又は動画像のフレーム画像中から物体単体若しくはその一部を一塊の領域として切り出すことが困難である場合であっても、前記物体の数を数えることができる。例えば透明なビーズを数える場合、当然のことながらビーズに色を付けることはできない。また光源や背景を適当な色にしてもビーズは同じ色になるか、光の屈折、反射などによりビーズの中央と縁で異なる色になったりして、ビーズだけを塗り潰したような画像を得ることも難しい。大半の場合、光の屈折、反射などにより、ビーズの輪郭部分に特異な輝度値が現れる。そこで視覚装置ｃを用いれば、この特異な輝度値からエッジ情報を生成することによりビーズ全体を背景から切り出すことができるので、ビーズの数を数えることが容易になる。同様のことがミジンコなどの微生物、白血球や精子などの細胞にも当てはまる。もちろんおたまじゃくしや人間の顔のような色情報によって背景と容易に区別できる物体に対しても視覚装置ｃを利用することができる。このように物体、光源及び背景に特に手を加えることなく物体の数を数えることができるので、物体を撮影することができる既存の装置に視覚装置ｃを接続することで、物体用の物体計数装置を安価に実現することができる。その他に、静止画像中に物体が有るか無いかを判定するといった前処理にも利用することができる。なお、背景から分離された物体領域を視覚装置ｃから直接取り出して別の装置に入力することで、物体を認識する際の前処理にも利用することができ、物体認識装置を安価に実現することもできる。
視覚装置ａ、視覚装置ｂ及び視覚装置ｃによれば、明度、彩度、色相などを用いても動画像中から移動物体及び静止物体単体若しくはその一部を一塊の領域として切り出すことが困難である場合であっても、前記物体のうち移動物体の数と全ての物体の数を数えることができる。例えば透明なアメーバのうち生きているアメーバと全てのアメーバを数える場合、ある一定時間に移動したアメーバを生きていると見なすとする。動画像のうち一定時間離れた２つのフレーム画像か、一定時間を空けて撮影された２つの静止画像を用いることで、移動しているアメーバの数と全てのアメーバの数を数えることができる。同様のことがミジンコなどの微生物、白血球や精子などの細胞にも当てはまる。もちろんおたまじゃくしや人間の顔のような色情報によって背景と容易に区別できる物体に対しても視覚装置ａ、視覚装置ｂ及び視覚装置ｃを利用することができる。このように移動物体の数と全物体の数を１つの装置で数えることができるので、移動物体の数と全物体の数を数える物体計数装置を安価に実現することができる。その他に、動画像中に移動物体若しくは静止物体が有るか無いかを判定するといった前処理にも利用することができる。なお、背景から分離された物体領域を視覚装置ａ、視覚装置ｂ及び視覚装置ｃから直接取り出して別の装置に入力することで、移動物体若しくは静止物体を認識する際の前処理にも利用することができ、物体認識装置を安価に実現することもできる。
また視覚装置ａ、視覚装置ｂ及び視覚装置ｃによれば、明度、彩度、色相などを用いても動画像中から移動物体及び静止物体単体若しくはその一部を一塊の領域として切り出すことが困難か不可能である場合であっても、前記物体のうち移動物体の数と全物体の数を数え、移動物体と静止物体の数若しくは割合を計算することができる。例えば透明なアメーバの生存率を求める場合、ある一定時間に移動したアメーバを生きていると見なすとする。動画像のうち一定時間離れた２つのフレーム画像か、一定時間を空けて撮影された２つの静止画像を用いることで、視覚装置ａ、視覚装置ｂ及び視覚装置ｃは移動しているアメーバの数と全てのアメーバの数を数えることができるので、アメーバの生存率を簡単に求めることができる。同様のことがミジンコなどの微生物、白血球や精子などの細胞にも当てはまる。もちろんおたまじゃくしや人間の顔のような色情報によって背景と容易に区別できる物体に対しても視覚装置ａ、視覚装置ｂ及び視覚装置ｃを利用することができる。このように移動物体の数と静止物体の数を１つの装置で数えることができるので、移動物体と静止物体の割合を計算する装置を安価に実現することができる。その他に、動画像中に移動物体若しくは静止物体が有るか無いかを判定するといった前処理にも利用することができる。なお、背景から分離された物体領域を視覚装置ａ、視覚装置ｂ及び視覚装置ｃから直接取り出して別の装置に入力することで、移動物体若しくは静止物体を認識する際の前処理にも利用することができ、物体認識装置を安価に実現することもできる。
視覚装置ｄ及び視覚装置ｅによれば、三原色波長、可視光波長、赤外線波長、紫外線波長、その他全ての電磁波のうち任意の帯域から構成される動画像を用いて、視覚装置ｄ及び視覚装置ｅは移動カメラが撮影可能な範囲にある物体を探索することができる。物体が移動している場合には、移動物体の位置及び大きさを検知することにより、物体に向けて移動カメラの向きを合わせ、画像中の移動物体の大きさが一定になるように倍率を調整することができる。また物体が静止している場合には、移動カメラを細かく振動させることにより静止物体の位置及び大きさを検知することができるので、静止物体も移動物体と同様に移動カメラを制御することができる。さらに外部からも移動カメラを制御できるので、コンピュータなどと組み合せて利用することもできる。そこで視覚装置ｄ及び視覚装置ｅは以下のように利用することができる。例えば廊下など照明が安定している場所の他に玄関や屋外などノイズが多い場所などで人物や車や荷物などの物体を監視する場合、視覚装置ｄ及び視覚装置ｅはこれらの物体を適切な倍率で撮影できるように移動カメラを制御することができる。またコンビニエンスストアやスーパーマーケットなど動きの少ない場所でお客を集中的に撮影することで、視覚装置ｄ及び視覚装置ｅは万引き防止などの役に立つ。このように広範囲における物体の監視を１つの装置で行えることができるので、物体監視装置を安価に実現することができる。その他に、動画像中に特定の物体が有るか無いかを判定するといった前処理にも利用することができる。なお、背景から分離された物体領域を正規化した画像を視覚装置ｄ及び視覚装置ｅから直接取り出して別の装置に入力することで、移動物体若しくは静止物体を認識する際の前処理にも利用することができ、物体認識装置を安価に実現することもできる。
また視覚装置ｅによれば、三原色波長、可視光波長、赤外線波長、紫外線波長、その他全ての電磁波のうち任意の帯域から構成される動画像を用いて、視覚装置ｅは移動カメラが撮影可能な範囲にある物体を探索することができる。これらの物体は適切な認識方法によって幾つかの種類に分類された後、位置や時刻などの属性と一緒に記録される。したがって一定時間内に移動カメラが撮影可能な範囲にある特定の物体の数を数えたり、物体の移動の軌跡を記録することができる。例えばカラオケボックスや商店街などで、視覚装置ｅは客数や通行量などを計測することができる。またコンビニエンスストア、スーパーマーケット及び工場などで、お客の集まる場所を調査したり作業員の作業工程を記録することができる。またアミューズメントパークなどでは、「だるまさんがころんだ」といったような移動物体探索ゲームやシューティングゲームなどに用いることができる。さらに視覚装置ｅをロボットに組み込むことにより、産業ロボットは製造ライン中のワークを探索したり、近づいてくる人間などを検知して動作を停止したりすることができるし、視覚装置ｅは大型ロボットや盲導犬ロボットなどの移動ロボットの視覚機能を実現することができる。したがって自動車、バス、ダンプカーなどの車の前後左右に視覚装置ｅを据付れば、ドライバーの死角にある物体を見つけ出して警報を発することができるし、また近づいてくる車などの移動物体を事前に検知することもできるし、交通事故が発生した際の記録を取ることもできる。車いすに乗っている人にとっては首を回さずに視野を広げることができるので、特に後方から迫ってくる自転車や自動車を事前に察知することができ、事故防止にも役に立つ。さらに電車などの乗降口に視覚装置ｅを設置することにより、視覚装置ｅはドアに挟まれていたりドアの傍にいる乗客を見つけ出すこともできる。駅のプラットホームに視覚装置ｅを設置すれば、線路に落ちた物を見つけ出したり、プラットホームの線路脇にいる人物に警告をすることもできる。また視覚装置ｅを救助ロボットに設置すれば、救助ロボットは海岸、洋上及び河川などで遭難した人を見つけ出して自動的に近づくことにより救命胴衣やロープなどを遭難者まで運搬したり、遭難者を安全な場所に搬送したりすることができる。この救助ロボットは地震などで瓦礫の下敷になっている人を探すような場合にも利用できる。このように物体の探索、計数と移動軌跡の記録を１つの装置で行えることができるので、物体探索装置、物体認識装置、物体計数装置、及び物体記録装置などを安価に実現することができる。
視覚装置ｆによれば、デジタル画像の各画素を並列に入力して、デジタル画像を画像単位又は画素単位で振動させた後、デジタル画像の各画素を並列に出力することができる。視覚装置ｆは振動台などの物理的機構を使用しないので、デジタル画像を高速に振動させることができる。したがって移動物体が高速に移動しているためにデジタル画像中の全物体のエッジ情報を実時間で生成する必要がある場合、視覚装置ｆは必要な処理速度を達成することができる。
視覚装置ｇによれば、デジタル画像の各画素を並列に入力して、デジタル画像の各画素の粗エッジ情報を生成した後、粗エッジ情報を並列に出力することができる。生成された粗エッジ情報は物体の移動方向、移動速度及び物体と背景の色情報の差などによって影響を受けるため必ずしも正確ではないが、太陽光の当る屋外などノイズの多い環境でも特にデジタル画像を補正することなく任意の形状の移動物体の粗エッジ情報を生成できるため、視覚装置ｇは使用環境を限定することなく使用することができる。また視覚装置ｇは赤外線、紫外線、さらには放射線などに対しても可視光波長、特に三原色波長と同様に扱うことができ、しかも帯域数を増やすほどノイズの影響を減らすことができる。この際視覚装置ｇは記憶容量以外データ処理装置の回路を変更する必要がないので、容易に帯域数を増やすことができる。したがって屋内のみならず屋外でも活動するようなロボットに対して、視覚装置ｇは高速、かつ安価に移動物体の輪郭、位置及び大きさを提供することができる。しかも視覚装置ｇは対象物を限定しない視覚認識装置に対して前処理としても効果的に働く。
視覚装置ｈによれば、粗エッジ情報及びデジタル画像の各画素を並列に入力して、デジタル画像を利用して粗エッジ情報から形成エッジ情報を生成した後、形成エッジ情報を並列に出力することができる。視覚装置ｈは任意の方法によって生成された粗エッジ情報を、より明瞭で的確なエッジ情報に形成することができるので、粗エッジ情報を生成する手段に要する負荷を容易に低減することができる。しかも視覚装置ｈは粗エッジ情報の品質に余り影響されないので、デジタル画像を低解像度にした低解像度デジタル画像の特定領域から生成した粗エッジ情報をより明瞭で的確なエッジ情報に形成することができる。したがってハードウェア量や計算量を増やすことなく、視覚装置ｈは低倍率デジタル画像中の物体に対して高精細のエッジ情報を生成することができる。視覚装置ｈにより、これまで広角カメラと高精細カメラを用いてきた物体認識装置が１つのカメラで物体認識を実現できるようになる。
請求項１記載の発明によれば、エッジ情報を並列に入力して、エッジ情報で表される物体の位置及び大きさを検知した後、物体の位置及び大きさを重複情報として並列に出力することができる。多量のハードウェア量や計算量を要して検出された画像中の複数の物体の位置及び大きさと同程度かそれ以上の品質で、本発明は複数の物体のエッジ情報から位置及び大きさを一斉に検出することができる。ビデオカメラで撮影された動画像のフレーム画像若しくはデジタルカメラで撮影された静止画像から、その画像中の複数の物体の位置及び大きさを検出するための前処理にも利用され、静止画像及び動画像のパターン認識アルゴリズムなどを高速、かつ安価に実現することができる。
また請求項１記載の発明によれば、物体領域画像の各画素を並列に入力して、物体領域画像の各画素で表される物体の位置及び大きさを検知した後、物体の位置及び大きさを重複情報として並列に出力することができる。多量のハードウェア量や計算量を要して検出された画像中の複数の物体の位置及び大きさと同程度かそれ以上の品質で、本発明は複数の物体の領域から位置及び大きさを一斉に検出することができる。特に細胞や精子のような円形部分を有する物体、さらには人間の顔のような円形と見なせる物体の位置及び大きさを検出する際に、それらの物体の領域からエッジ情報を再度生成する必要がないので、静止画像及び動画像のパターン認識アルゴリズムなどを高速、かつ安価に実現することができる。
視覚装置ｊによれば、物体領域画像の各画素及びデジタル画像の各画素を並列に入力して、デジタル画像中の物体領域を正規化した後、正規化画像の各画素を並列に出力することができる。多量のハードウェア量や計算量を要して生成された位置ずれに弱く隙間の多い正規化画像と同程度かそれ以上の品質で、視覚装置ｊは物体領域画像の物体領域以外を用いてマスクされたデジタル画像の物体領域をデジタル画像のサイズに合わせて隙間を埋め合わせながら正規化することができる。ビデオカメラで撮影された動画像のフレーム画像若しくはデジタルカメラで撮影された静止画像から切り出された特定の物体を正規化するための前処理にも利用され、静止画像及び動画像のパターン認識アルゴリズムなどを高速、かつ安価に実現することができる。
視覚装置ｋによれば、幾つかのテンプレート画像の各画素を並列に入力して、正規化画像の各画素を並列に入力して、テンプレート画像とパターンマッチングをした後、マッチング結果画像の各画素を並列に出力することができる。位置や大きさの異なる同じ物体に対して正規化画像の再現性が高ければ、視覚装置ｋは近傍処理のみで正規化画像に類似した幾つかのテンプレート画像を選択することができる。そのため視覚装置ｋは最小自乗誤差やニューラルネットワークなどの大域処理を最小限に抑えることができるので、静止画像及び動画像のパターン認識アルゴリズムなどを高速、かつ安価に実現することができる。
視覚装置ｌによれば、形成エッジ情報を並列に入力して、非線形振動子を用いて物体領域と背景領域を分離した後、物体領域画像の各画素を並列に出力することができる。視覚装置ｌは、予めデジタル画像に関してエッジ情報の生成以外如何なる前処理も必要とせずに、デジタル画像中の物体の形、位置、向きに依存せず、またエッジ情報が破線であったり交差していても関係なく、さらにはデジタル画像中の物体領域が重なりあっていても、物体領域と背景領域を分離することができる。また視覚装置ｌは、デジタル技術を用いてハードウェアを実装することを容易とし、実時間画像処理に適した高速化を可能とする。
視覚装置ｍ及び視覚装置ｎによれば、視覚装置を高速に動作させることができる。特に画像サイズが大きくなっても並列性のために処理時間は変らない。そこで実時間性が必要な用途に対して視覚装置を利用することができる。またプログラムを変更するだけで、視覚装置ｆから視覚装置ｈ、請求項１、視覚装置ｊから視覚装置ｌまでの複数の手段を同一のチップで実現できるので、視覚装置を安価に製造することができる。さらに視覚装置ｆから視覚装置ｈ、請求項１に記載の視覚装置、視覚装置ｊから視覚装置ｌまでの複数の手段を１つのチップで実現できるので、このチップを移動カメラの中に容易に組み込むことができ、本発明は利便性を増すことができる。最後に、本発明は全て画素単位で信号を入出力しているので、複数のチップを積み重ねることにより配線量を抑えることができる。そこで三次元ＶＬＳＩなどの技術革新によって本発明は容易に処理性能を向上することができる。
【図面の簡単な説明】
第１図は、フレーム画像から移動物体数を数える視覚装置のブロック図である。第２図は、物体／背景分離手段を用いてフレーム画像から移動物体数を数える視覚装置のブロック図である。第３図は、フレーム画像から全物体数を数える視覚装置のブロック図である。第４図は、物体／背景分離手段を用いてフレーム画像から全物体数を数える視覚装置のブロック図である。第５図は、移動物体と静止物体の割合を求める視覚装置のブロック図である。第６図は、移動カメラを制御する視覚装置のブロック図である。第７図は、物体の正規化画像を生成する視覚装置のブロック図である。第８図は、物体の認識結果を出力する視覚装置のブロック図である。第９図は、環境地図を生成する視覚装置のブロック図である。第１０図は、環境地図を用いて移動カメラを制御する視覚装置のブロック図である。第１１図は、任意物体数を数える視覚装置のブロック図である。第１２図は、幾何解析により高速化した視覚装置のブロック図である。第１３図は、配列演算ユニットを格子状に配置されたブロック図である。第１４図は、本実施形態の画像記憶手段のアルゴリズムを示すフローチャートである。第１５図は、本実施形態の画像振動手段のアルゴリズムを示すフローチャートである。第１６図は、本実施形態のエッジ情報生成手段のアルゴリズムを示すフローチャートである。第１７図は、デジタル画像を用いて粗エッジ情報を形成エッジ情報に形成する場合の説明図である。第１８図は、本実施形態のエッジ情報形成手段のアルゴリズムを示すフローチャートである。第１９図は、低解像度デジタル画像から生成された低解像度粗エッジ情報を形成エッジ情報に形成する場合の説明図である。第２０図は、低解像度デジタル画像から生成された低解像度粗エッジ情報の領域を切り出してから形成エッジ情報に形成する場合の説明図である。第２１図は、エッジ情報画像中の物体の位置及び大きさを検出する場合の説明図である。第２２図は、本実施形態の位置／大きさ検出手段のアルゴリズムを示すフローチャートである。第２３図は、物体領域画像中の物体の位置及び大きさを検出する場合の説明図である。第２４図は、デジタル画像の切出領域を正規化する場合の説明図である。第２５図は、本実施形態の領域正規化手段のアルゴリズムを示すフローチャートである。第２６図は、本実施形態の正規化画像保持手段のアルゴリズムを示すフローチャートである。第２７図は、正規化画像に対してテンプレート画像の中からパターンマッチングをする場合の説明図である。第２８図は、本実施形態の画像認識手段のうちパターンマッチングのアルゴリズムを示すフローチャートである。第２９図は、三角形のエッジ情報が三角形の内側領域と外側領域に分離する状態を示す説明図である。第３０図は、本実施形態の物体／背景分離手段のアルゴリズムを示すフローチャートである。第３１図は、破線状態の三角形のエッジ情報が破線三角形の内側領域と外側領域に分離する状態を示す説明図である。第３２図は、三角形を２つ重ねたエッジ情報が２つの三角形領域と背景領域に分離する状態を示す説明図である。第３３図は、２つの円形物体領域を重ねた時の破線状態のエッジ情報が２つの円形領域と背景領域に分離した状態を示す説明図である。第３４図は、配列演算ユニットの内部構造のブロック図である。第３５図は、コントローラのブロック図である。第３６図は、フラグデコーダの入出力信号を示す説明図である。第３７図は、フラグエンコーダの入出力信号を示す説明図である。第３８図は、プロセッサがコントローラを介して隣接する配列演算ユニットにデータを送信するアルゴリズムを示すフローチャートである。第３９図は、コントローラが隣接する配列演算ユニットからデータを受信するアルゴリズムを示すフローチャートである。第４０図は、プロセッサが上入力レジスタからデータを受信するアルゴリズムを示すフローチャートである。
【図１】
0004324327.tif 000044
【図２】
0004324327.tif 000045
【図３】
0004324327.tif 000046
【図４】
0004324327.tif 000047
【図５】
0004324327.tif 000048
【図６】
0004324327.tif 000049
【図７】
0004324327.tif 000050
【図８】
0004324327.tif 000051
【図９】
0004324327.tif 000052
【図１０】
0004324327.tif 000053
【図１１】
0004324327.tif 000054
【図１２】
0004324327.tif 000055
【図１３】
0004324327.tif 000056
【図１４】
0004324327.tif 000057
【図１５】
0004324327.tif 000058
【図１６】
0004324327.tif 000059
【図１７】
0004324327.tif 000060
【図１８】
0004324327.tif 000061
【図１９】
0004324327.tif 000062
【図２０】
0004324327.tif 000063
【図２１】
0004324327.tif 000064
【図２２】
0004324327.tif 000065
【図２３】
0004324327.tif 000066
【図２４】
0004324327.tif 000067
【図２５】
0004324327.tif 000068
【図２６】
0004324327.tif 000069
【図２７】
0004324327.tif 000070
【図２８】
0004324327.tif 000071
【図２９】
0004324327.tif 000072
【図３０】
0004324327.tif 000073
【図３１】
0004324327.tif 000074
【図３２】
0004324327.tif 000075
【図３３】
0004324327.tif 000076
【図３４】
0004324327.tif 000077
【図３５】
0004324327.tif 000078
【図３６】
0004324327.tif 000079
【図３７】
0004324327.tif 000080
【図３８】
0004324327.tif 000081
【図３９】
0004324327.tif 000082
【図４０】
0004324327.tif 000083