(57)【要約】【課題】アズビルト３Ｄ−ＣＡＤデータをリアルタイムで自動生成および更新可能な視覚情報処理装置および適用システムを実現する。【解決手段】移動可能な撮像装置１０から出力される画像情報を画像情報処理１００に入力し、この画像情報処理装置１００は、入力した画像情報を処理して移動空間に存在する物体のＣＡＤデータを自動的に生成し、自動的に更新する。【選択図】  図１
2004201085.tif 000002
【特許請求の範囲】
【請求項１】
移動可能な撮像装置で物体を撮影して得た画像情報を入力して前記物体のＣＡＤデータを生成する画像情報処理装置と、生成したＣＡＤデータを記憶する記憶装置を備えた視覚情報処理装置において、
前記画像情報処理装置は、生成した新生ＣＡＤデータが既に生成されている既成ＣＡＤデータの更新対象となるかどうかを判別する更新対象判別処理機能と、更新対象となる既成ＣＡＤデータと新生ＣＡＤデータの精度を比較するＣＡＤデータ精度比較処理機能と、新生ＣＡＤデータの精度が更新対象となる既成ＣＡＤデータの精度よりも高いときには該既成ＣＡＤデータを新生ＣＡＤデータで更新するＣＡＤデータ更新処理機能を有することを特徴とする視覚情報処理装置。
【請求項２】
移動可能な撮像装置で物体を撮影して得た画像情報を入力して前記物体のＣＡＤデータを生成する画像情報処理装置と、生成したＣＡＤデータを記憶する記憶装置を備えた視覚情報処理装置において、
前記画像情報処理装置は、ＣＡＤデータの輪郭線と実際の線を区別するようにしたことを特徴とする視覚情報処理装置。
【請求項３】
移動可能な撮像装置で物体を撮影して得た画像情報を入力して前記物体のＣＡＤデータを生成する画像情報処理装置と、生成したＣＡＤデータを記憶する記憶装置を備えた視覚情報処理装置において、
前記画像情報処理装置は、ＣＡＤデータに該ＣＡＤデータを生成した時間に関する情報をもたせるように構成したことを特徴とする視覚情報処理装置。
【請求項４】
請求項３において、画像情報処理装置は、ＣＡＤデータ更新時に前のＣＡＤデータを残すようにしたことを特徴とする視覚情報処理装置。
【請求項５】
移動可能な撮像装置で撮影して得た画像情報を入力して前記物体のＣＡＤデータを生成する画像情報処理装置と、生成したＣＡＤデータを記憶する記憶装置を備えた視覚情報処理装置において、
前記画像情報処理装置は、透過する面または鏡面と判断される面を鏡面的な面として仮定した場合に反射する先の虚像と対応する位置に該虚像の実像と判断されるＣＡＤデータが存在する場合に当該面を鏡面的な面と識別する鏡面識別手段を備えたことを特徴とする視覚情報処理装置。
【請求項６】
請求項１〜５の１項において、前記画像情報処理装置は、生成されるＣＡＤデータに対して、形状，大きさ，色等の幾何学的パターンで、あるいは発生する周期などの時間的なパターンで、あるいは前記幾何学的なパターンと時間的なパターンの両方で当該パターンに相当するＣＡＤデータを抽出し、抽出したＣＡＤデータは処理の対象外とするようにしたことを特徴とする視覚情報処理装置。
【請求項７】
請求項１〜６の１項において、複数の撮像装置で撮影して得た画像情報を入力する複数の画像情報処理装置を備え、夫々が生成および更新したＣＡＤデータを統合するようにしたことを特徴とする視覚情報処理装置。
【請求項８】
請求項１〜７の１項において、前記視覚情報処理装置は、生成および更新したＣＡＤデータを授受する手段を備え、画像情報処理装置は、他の視覚情報処理装置から取得したＣＡＤデータを統合する画像情報処理機能を備えたことを特徴とする視覚情報処理。
【請求項９】
請求項１〜８の１項において、前記視覚情報処理装置は、移動する撮像装置の位置または姿勢あるいはその両方を求める機能と、求めた位置情報または姿勢情報あるいはその両方を出力する機能を有することを特徴とする視覚情報処理装置。
【請求項１０】
請求項９において、前記視覚情報処理装置は、外部から入力する指令信号の所定のタイミングにより移動する撮像装置の位置または姿勢情報あるいはその両方を出力することを特徴とする視覚情報処理装置。
【請求項１１】
移動可能な撮像装置によって物体を撮影して得た画像情報を入力して前記物体のＣＡＤデータを生成する画像情報処理装置と、生成したＣＡＤデータを記憶する記憶装置を備えた視覚情報処理装置において、前記画像情報処理装置は、ＣＡＤデータの探索指令信号を入力とし、その指令信号に基づきＣＡＤデータを探索する探索機能と、探索したＣＡＤデータの情報を出力する機能を有することを特徴とする視覚情報処理装置。
【請求項１２】
請求項１１において、前記探索機能は、基本図形で探索する探索機能および／または探索用に読み出したＣＡＤデータで探索する探索機能を有することを特徴とする視覚情報処理装置。
【請求項１３】
請求項１２において、探索用に読み出すＣＡＤデータは、予め対象物体毎にいろいろな角度から撮影して生成するようにしたものであることを特徴とした視覚情報処理装置。
【請求項１４】
請求項１１〜１３の１項において、探索にはＣＡＤデータの幾何情報の特徴量および／または色情報の特徴量を利用するようにしたことを特徴とする視覚情報処理装置。
【請求項１５】
請求項１１〜１４の１項において、前記探索機能は、スケールファクタを可変にして形状の近いものを探索するようにしたことを特徴とする視覚情報処理装置。
【請求項１６】
請求項１１〜１５の１項において、前記画像情報処理装置は、基本図形または探索用のＣＡＤデータと所定の閾値に基づきマッチングした部分を特定の名前（ＩＤ）を付けて管理するようにしたことを特徴とする視覚情報処理装置。
【請求項１７】
請求項１１〜１６の１項において、前記画像情報処理装置は、探索時に知識データを利用するようにしたことを特徴とする視覚情報処理装置。
【請求項１８】
移動可能な撮像装置で物体を撮影して得た画像情報を入力して前記物体のＣＡＤデータを生成する画像情報処理装置と、生成したＣＡＤデータを記憶する記憶装置を備えた視覚情報処理装置において、
前記画像情報処理装置は、画像情報に基づいて撮像装置の移動情報を求めることができるときには入力する画像情報を処理して該撮像装置の位置と姿勢情報を求め、画像情報に基づいて撮像装置の移動情報を求めることができないときには撮像装置の移動情報信号または移動制御情報に基づいて該撮像装置の位置と姿勢情報を求めてＣＡＤデータ生成に使用する機能と、生成した新生データが既に生成されている既成ＣＡＤデータの更新対象となるかどうかを判別する更新対象判別処理機能と、更新対象となる既成ＣＡＤデータと新生ＣＡＤデータの精度を比較するＣＡＤデータ精度比較処理機能と、新生ＣＡＤデータの精度が更新対象となる既成ＣＡＤデータの精度よりも高いときには該既成ＣＡＤデータを新生ＣＡＤデータで更新するＣＡＤデータ更新処理機能を有することを特徴とする視覚情報処理装置。
【請求項１９】
請求項１〜１８の１項において、前記画像情報処理装置は、撮像装置および／または該撮像装置を移動する移動体の移動情報または移動制御情報を参照して画像情報における対象物体が動いているか停止しているかを判断する機能を有することを特徴とする視覚情報処理装置。
【請求項２０】
請求項１〜１９の１項に記載した視覚情報処理装置を適用したことを特徴とするマニピュレータ，移動ロボット，文字読み取り装置，物体認識装置，計測装置，ＣＡＤデータ生成装置，ナビゲーション装置，検査装置，ピッキング装置，自律制御型ロボット，監視装置，自動車，船，飛行機などのシステム。
【請求項２１】
ナビゲーション装置において、
当該ナビゲーション装置（１）とは別の１つまたは複数の他のナビゲーション装置（２）あるいは該ナビゲーション装置（２）に接続されているセンサまたは該ナビゲーション装置（２）の移動体に関する位置および／または姿勢情報を当該ナビゲーション装置（１）に取り込み可能または相互に授受可能にしたことを特徴とするナビゲーション装置。
【請求項２２】
ナビゲーション装置の制御装置において、
当該ナビゲーション装置（１）とは別の１つまたは複数の他のナビゲーション装置（２）あるいは該ナビゲーション装置（２）に接続されているセンサまたは該ナビゲーション装置（２）の移動体に関する位置および／または姿勢情報を当該ナビゲーション装置（１）に取り込み可能または相互に授受可能にしたことを特徴とするナビゲーション装置の制御装置。
【請求項２３】
自律制御型ロボットにおいて、
自律制御系とは別の独立系統によって該ロボットの動作の安全性を監視できるようにしたことを特徴とする自律制御型ロボット。
【請求項２４】
自律制御型ロボットの制御装置において、
自律制御系とは別の独立系統によって該ロボットの動作の安全性を監視できるようにしたことを特徴とする自律制御型ロボットの制御装置。
【請求項２５】
自律制御型ロボットにおいて、
ロボットの安全監視中に緊急対応が必要となった場合に自律制御系とは別の独立系統によって該ロボットの緊急対応制御を行なうことができるようにしたことを特徴とする自律制御型ロボット。
【請求項２６】
自律制御型ロボットの制御装置において、
ロボットの安全監視中に緊急対応が必要となった場合に自律制御系とは別の独立系統によって該ロボットの緊急対応制御を行なうことができるようにしたことを特徴とする自律制御型ロボットの制御装置。
【請求項２７】
請求項２０において、マンマシンインタフェースの部分に音声認識機能および／または音声合成機能をもたせたことを特徴とするシステム。
【請求項２８】
請求項２０に記載したシステムの制御装置において、マンマシンインタフェースの部分に音声認識機能および／または音声合成機能をもたせたことを特徴とするシステムの制御装置。
【請求項２９】
回転可能に設けた１次元または２次元のセンサと、このセンサと共に回転するように設けられて該センサの回転に同期させて該センサの信号を取り込んで画像情報信号として出力する信号処理回路を備えたことを特徴とする撮像装置。
【請求項３０】
複数の端末から送られてくる情報を情報処理センタで統合し、統合した情報をユーザに提供する情報統括提供サービスシステムにおいて、
前記情報は、ＣＡＤデータまたはＣＡＤデータと端末の状態情報を含むことを特徴とする情報統括提供サービスシステム。
【請求項３１】
１つまたは複数の端末から送られてくる情報を情報処理センタで統括監視する監視サービス提供システムにおいて、
ユーザからのリクエストにより監視対象ユーザを探索し、監視中は監視対象ユーザを追跡し、監視対象ユーザおよびその周辺を連続して監視するようにしたことを特徴とする監視サービス提供システム。
【請求項３２】
請求項１〜１９の１項に記載した視覚情報処理装置を適用したことを特徴とするマニピュレータ，移動ロボット，文字読み取り装置，物体認識装置，計測装置，ＣＡＤデータ生成装置，ナビゲーション装置，検査装置，ピッキング装置，自律制御型ロボット，監視装置，自動車，船，飛行機などの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、視覚情報処理装置および適用システムに関するものである。
【０００２】
【従来の技術】
【特許文献１】
特開２００２−３２７４１号公報
【特許文献２】
特開２００２−３２７４２号公報
【非特許文献１】
３Ｄ  Ｂｕｉｌｄｅｒ  （株）ケイ・ジー・ティーから販売されているソフトウェア
【０００３】
撮像装置で撮影して生成した画像情報に基づいて３Ｄ−ＣＡＤデータを生成する手法としては、複数枚の写真から３次元の座標を求める手法がある。例えば、米国の３Ｄ  Ｃｏｎｓｔｒｕｃｔｉｏｎ  Ｃｏｍｐａｕｙで開発され、日本では（株）ケイ・ジー・ティーから販売されている３Ｄ  Ｂｕｉｌｄｅｒというソフトウェアなどがある。複数枚の写真間の対応する点を人が一つ一つ入力すると、その点と撮影したカメラの位置と向きが３次元座標として計算され、対話形式でＣＡＤデータを作成したり、テクスチャマッピングを行なうことができる。
【０００４】
また、特開２００２−３２７４１号公報および特開２００２−３２７４２号公報には、初期画像で特徴点（ウィンドウ）を指定または特徴点位置設定データに基づき最初に特徴点を設定すれば、連続的に入力される画像情報の中で特徴点を自動追跡させて、対応点を人が一つ一つ入力しないで済むようにして、３次元座標を計算し、それらの点データを結んでテクスチャマッピングを行なうことができるシステムの概念が示されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、複数枚の写真の中の対応する特徴点を人が入力設定しないで済むようにしたり、テクスチャマッピングをしないで正確なＣＡＤデータを生成させることや、撮像カメラを積極的に移動させてＣＡＤデータをより正確に生成するようにすることや、ロボット等の制御にも利用できるように最初はそれなりの精度で生成させて撮像カメラを前後左右に近づけたり移動させることで精度を向上させていくことをリアルタイムで行なえるようにすることや、複数の撮像カメラを移動させて生成したＣＡＤデータを統合させることなどについては考えられていなかった。また、更にアズビルトのＣＡＤデータを生成した後あるいは生成しながら任意のＣＡＤデータを探索させる機能と組み合わせて、ロボット等の自動機械の視覚誘導制御装置や自動車などのナビゲーションシステムに適用することや、自律制御型ロボットなどに適用することなども考えられていなかった。
【０００６】
本発明の目的は、アズビルト３Ｄ−ＣＡＤデータをリアルタイムで自動的に生成および更新することを可能とし、また、ＣＡＤデータの探索機能と組み合わせて、ロボット等の各種の自動機械の視覚誘導制御装置として、また、ナビゲーションシステムなどとして適用可能な視覚情報処理装置およびその応用システムを提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、次のような手段を単独または選択的に組み合わせることによって目的を達成することができる視覚情報処理装置および適用システムを実現する。
【０００８】
第１の手段は、移動可能な撮像装置で物体を撮影して得た画像情報を入力して前記物体のＣＡＤデータを生成する画像情報処理装置と、生成したＣＡＤデータを記憶する記憶装置を備えた視覚情報処理装置において、前記画像情報処理装置に、生成した新生ＣＡＤデータが既に生成されている既成ＣＡＤデータの更新対象となるかどうかを判別する更新対象判別処理機能と、更新対象となる既成ＣＡＤデータと新生ＣＡＤデータの精度を比較するＣＡＤデータ精度比較処理機能と、新生ＣＡＤデータの精度が更新対象となる既成ＣＡＤデータの精度よりも高いときには該既成ＣＡＤデータを新生ＣＡＤデータで更新するＣＡＤデータ更新処理機能をもたせたことを特徴とする。
【０００９】
この第１の手段は、視覚情報処理装置において、移動可能な撮像装置によって得た画像情報を入力とし、入力画像を処理して移動空間に存在する物体のＣＡＤデータを生成する機能をもたせたので、移動空間に存在するいろいろな物体のＣＡＤデータを容易生成することが可能となる。
【００１０】
また、生成された新生ＣＡＤデータが既に生成されている既成ＣＡＤデータの更新対象となるか否かの更新対象判別処理機能と、新生ＣＡＤデータが既成ＣＡＤデータの更新対象となる場合には、新生ＣＡＤデータの精度と更新対象の以前に生成された既成ＣＡＤデータの精度を比較して精度が良くなる場合には該ＣＡＤデータを更新する機能ももたせたことによって、撮像装置が移動しながら物体に近づいて該物体のより詳細部の画像情報を得ることにより、物体のより詳細なＣＡＤデータを生成しながら更新することが可能となる。また、移動する撮像装置は、物体の上下左右および裏面の画像情報を入力することができるので、物体の正面だけの色や形状だけでなく、上下左右、更には裏面の色や形状までをＣＡＤデータとして生成することが可能となる。新生ＣＡＤデータが既成ＣＡＤデータの更新対象となるか否かの更新対象判別処理機能は、例えば、ＣＡＤデータの生成後に、同じ個所に以前に生成されたＣＡＤデータが存在しない場合には更新対象とせずにそのままＣＡＤデータを追加し、存在する場合には更新対象とするものである。新生ＣＡＤデータが既成ＣＡＤデータの更新対象となった場合には、新生ＣＡＤデータの精度と更新対象の既成ＣＡＤデータの精度を比較し、精度が良くなる場合にはＣＡＤデータを更新することにより、毎回同じ部位のＣＡＤデータが生成されてもより精度が良くなる場合以外には更新されることはなく、より精度が良くなる場合には更新されるので、この処理を繰り返し行なうようにすることで、移動空間に存在する物体は、そのＣＡＤデータが更新されるたびにより精度が良くなり、最終的には精度の良いＣＡＤデータを得ることができるようななる。このように、ＣＡＤデータの精度が良くなる更新のみを行なうようになれば、ＣＡＤデータは、撮像装置が対象から離れている段階で撮影して得た画像情報からはそれなりの精度で生成されるが、撮像装置が対象の近くへ寄って撮影した画像情報によれば生成精度をそれなりに上げることができるようになる。
【００１１】
運用においても、ＣＡＤデータの精度が良くない場合には、例えば、遠方の対象に対する大雑把な位置決め制御にＣＡＤデータを利用することができるし、その後、近くに寄れば、精度の上がったＣＡＤデータを使用して更に精度の良い位置決め制御を行なうことが可能となるので、精度の良くない最初の段階からでもＣＡＤデータを連続的に有効に利用することが可能となる。
【００１２】
また、このようなＣＡＤデータの更新機能があれば、移動していない物体の同じ部位については、ＣＡＤデータが何度生成されても同じようなＣＡＤデータが沢山蓄積されることはなく、同じような物体が幾つも生成される場合は、移動物体が含まれる場合であるので、トラッキングなどで移動前後の対応が取れるようにすることにより、煙や湯気などの動く対象物体の動きとか、移動するスポットライトあるいは移動する影などの追従も、ＣＡＤデータが逐次更新されていくので、その更新履歴を参照することで、容易に行なうことが可能となる。
【００１３】
第２の手段は、前記第１の手段のＣＡＤデータを自動生成あるいは自動更新する機能において、画像情報の特徴点をトラッキング追従させることにより対応点を関係付けした写真計測法で３次元の座標データを求めるようにするものである。
【００１４】
このような第２の手段は、前記第１の手段のＣＡＤデータを自動生成あるいは自動更新する機能に、画像情報の特徴点をトラッキング追従させることにより対応点を関係付けした写真計測法を用いて３次元の座標データを求めるようにしているので、移動する撮像装置で撮影して得られる画像情報は物体をいろいろな視点から撮影した複数枚の画像情報が得られると共に移動中に入力される画像情報は連続的となり、連続的となる画像情報の特徴点を連続的にトラッキング追従することができるので特徴点を見失うことなく、正しく対応点を関係付けした写真計測を行なうことが可能となる。ＣＡＤデータの自動更新は、自動生成後に同じ個所に存在し、今回生成されたデータの部位について前回生成したデータと判断される前のデータがあれば、それを削除するようなことを繰り返し行なうことにより、ＣＡＤデータの自動更新も行なえるようになる。ＣＡＤデータの自動更新が行なえるようになれば、ＣＡＤデータは、撮像装置が対象物体から離れている段階で得た画像情報からはそれなりの精度で生成され、撮像装置が対象物体の近くに寄って撮影した画像情報によればＣＡＤデータの生成精度をそれなりに上げることができ、このようにすることで、ＣＡＤデータの精度が良くない場合には、例えば、遠方の対象物体に対する大雑把な位置決め制御に利用することができるし、その後、近くに寄れば、精度の上がったＣＡＤデータに基づいて精度の良い位置決め制御を行なうことができるので、ＣＡＤデータ生成の最初の段階からでも該ＣＡＤデータを有効に利用することが可能となる。また、ＣＡＤデータの更新機能があれば、煙や湯気などの動く対象の動きとか、移動するスポットライトあるいは移動する影などの追従も、ＣＡＤデータが逐次更新されていくので、その更新内容を参照することで、容易に行なうことが可能となる。
【００１５】
第３の手段は、前記第１および第２の手段のＣＡＤデータを自動生成あるいは自動更新する機能において、画像の特徴点をトラッキング追従させることにより対応点を関係付けしたステレオ計測法で３次元の座標データを求めるようにするものである。
【００１６】
このような第３の手段は、前記第１および第２の手段のＣＡＤデータを自動生成する機能で、ステレオ計測法で３次元の座標データを求めるようにしているので、例えば、２台の撮像装置によって得た２つの画像情報から物体の３次元座標データをステレオ計測法で求めるようにすれば、２台の撮像装置を移動させる前から撮像装置の正面に位置して撮影されている物体の３次元座標データを求めることができるので、正面に位置させて撮影している物体のＣＡＤデータも撮像装置を移動する前の画像情報から得ることが可能となる。撮像装置を移動する前からＣＡＤデータを得ることが可能となれば、ロボット等の自動機械の視覚誘導制御装置として適用する場合に、最初から対象物体が見えている場合には、撮像装置を移動させてＣＡＤデータを生成する時間を省略して、対象物体にロボット等の自動機械がアクセスすること等を可能にすることができる。また、ＣＡＤデータの自動更新が容易に行なえれば、ＣＡＤデータは、撮像装置が対象物体から離れている段階ではそれなりの精度で生成され、撮像装置が対象物体の近くへ寄れば生成精度をそれなりに上げることができる。このようにすることで、ＣＡＤデータは、ＣＡＤデータの精度が良くない場合には、例えば、遠方の対象物体に対する大雑把な位置決め制御に利用することができるし、その後、近くに寄れば、精度の上がったＣＡＤデータに基づいて更に精度の良い位置決め制御を行なうように利用することができるので、最初の段階からでもＣＡＤデータを有効に利用することが可能となる。また、ＣＡＤデータの更新機能があれば、煙や湯気などの動く対象物体の動きとか、移動するスポットライトあるいは移動する影などの追従も、ＣＡＤデータが逐次に更新されていくので、その更新内容を参照することで、容易に行なうことが可能となる。
【００１７】
第４の手段は、移動可能な撮像装置で得た画像情報を処理して移動空間に存在する物体のＣＡＤデータを自動的に生成する機能を有し、このＣＡＤデータを自動的に生成する機能は、画像情報の特徴点をトラッキング追従させることにより対応点を関係付けしたステレオ計測法で３次元の座標データを求めるようにするものである。
【００１８】
このような第４の手段は、視覚情報処理装置において、移動可能な撮像装置で得た画像情報を処理して移動空間に存在する物体のＣＡＤデータを自動的に生成する機能をもたせたことは、前記第１および第２の手段と同じく、移動空間に存在するいろいろな物体のＣＡＤデータを容易に得ることが可能となることは勿論であり、ステレオ計測法で３次元の座標データを求めるようにしているので、例えば２台の撮像装置で得た２つの画像情報から物体の３次元座標データをステレオ計測法で求めるようにすれば、２台の撮像装置を移動させる前に該撮像装置の正面に位置して撮影されている物体の３次元座標データは、撮像装置を移動する前の画像情報に基づいて求めることができるので、正面に位置させて撮影している物体のＣＡＤデータを撮像装置が移動する前の画像情報から得ることが可能となる。撮像装置を移動する前からＣＡＤデータを得ることが可能となれば、ロボット等の自動機械の視覚誘導制御装置として適用する場合に、最初から対象物体が見えている場合には、撮像装置を移動させてＣＡＤデータを生成する時間を省略して、対象物体にロボット等の自動機械がアクセスすること等を可能とすることができる。このシステムは、ＣＡＤデータの自動更新機能がなくても、撮影距離を一定の間隔に設定して所定の精度で物体のＣＡＤデータを生成するような場合には、より簡単なシステムで自動生成のみを容易に実現して利用することが可能となる。
【００１９】
第５の手段は、前記第１〜第４の手段を選択的に適用して構成した視覚情報処理装置において、ＣＡＤデータは輪郭線と実際の線を区別するようにすることである。
【００２０】
このような第５の手段は、前記第１〜第４の手段を選択的に適用して構成した視覚情報処理装置において、ＣＡＤデータは、輪郭線と実際の線を区別するようにしていることから、物体の形状データを取り込む場合には輪郭線として検出された線もその物体の形状を示す線であるので、形状データとして蓄積しておくことができる。また、模様の線のように実際にそこに線が存在する場合の該線は、絶対的な位置の情報を有する形状データともなるし、その物体の模様を形成する模様の情報でもある。従って、生成されたＣＡＤデータで輪郭線と実際の線を区別して管理しておけば、形状データを取り扱いたい場合には、輪郭線と実際の線の両方を用いたより多くの情報を用いてより正確な形状を認識処理することが可能となる。
【００２１】
一方、パターンマッチングなどである模様を探索しようとする場合には、輪郭線のデータを一緒に取り扱うと模様にはない線が含まれてしまうので正しいマッチングがとれずに探索し難いが、その場合には、実際の線データのみを使用して探したい模様とのマッチングを行なえば、容易に模様を探索することができるようになる。それは、輪郭線と実際の線を区別して管理しておくので、必要な線の方だけを必要なときに効率良く使用することが可能となる。従って、模様のある物体と模様のない物体が混在する環境においても、ＣＡＤデータの生成と探索を効率的に行なうことができるようになる。また、スポットライトや影の輪郭線は、それがライト当たっている面の輪郭や当たっていない影の輪郭と分かっている場合には輪郭線になるが、光源や光源からの光を遮る物体が移動しなければ撮像装置が移動しただけでは変化しないので模様として取り扱える両方の特徴をもつので、分かった時点で実際（模様）の線から輪郭線に区別内容を変更しても良いし、光源や遮る物体が動くことが分かっていてもＣＡＤデータを利用する時間の間隔では動かない場合には、影をパターンマッチングの模様にするケースを考慮して、影等の輪郭線は、他の輪郭線や実際の線とは区別して管理するようにしても良い。
【００２２】
第６の手段は、前記第１〜５の手段を選択的に適用して構成した視覚情報処理装置において、ＣＡＤデータは、点と線と面データから構成することである。
【００２３】
このような第６の手段は、前記第１〜第５の手段を選択的に適用して構成した視覚情報処理装置において、ＣＡＤデータは、点と線と面データから構成する。そのために、円筒や立方体などのソリッドデータに置き換える処理を不要にすることができ、処理の簡単化や高速化を容易に図れるようになる。また、ＣＡＤデータを更新する場合も、ソリッドデータを更新する複雑な処理が不要となるので、更新処理も容易に実現できるようになる。更に、撮像装置を移動させながら得た画像情報に基づいてＣＡＤデータを生成しているために、対象物体を遠くから撮影している場合には、サイコロなどは立方体に見えるために立方体としてのＣＡＤデータを生成することになるが、撮像装置が近くに寄った場合には、サイコロの角は丸まっているので、厳密に言うと完全な立方体ではなくなる。このようなことは、周囲の総ての環境について言える。従って、このように移動する撮像装置で撮影して得た画像情報に基づいてＣＡＤデータを生成する場合の必要最小限のＣＡＤデータの構成単位は、点データと線データと面データまでで十分である。ソリッドデータを生成しても、それをより近くから見れば、最初に定義したソリッドではなくなる。遠くから見た建物は、直方体のようなものであっても、撮像装置が移動して建物の中に入れば、最初は直方体に見えていた建物は平面的な壁から構成されており、更に、壁も詳しく見れば複数の平面の集合体から構成されていることが見えてくるので、最初に直方体のようなソリッドデータに置き換えても、移動する撮像装置で撮影した画像情報に基づいてＣＡＤデータを生成する場合には、直ぐに更新が必要となってしまう。従って、必要最小限のＣＡＤデータを生成および更新するようにすることで、処理を容易に行なうことができるようになる。そして、このシステムの場合には、それが最も適したＣＡＤデータの構成でもあるということになる。
【００２４】
第７の手段は、前記第１〜第６の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも線のＣＡＤデータは関数表現されるようにすることである。
【００２５】
このような第７の手段は、前記第１〜第６の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも線のＣＡＤデータは関数表現されるようにしているので、例えば、どんなに長い直線でも始点と終点を結ぶ直線の式でＣＡＤデータを表現しておけば、始点と終点の座標の値が変わるだけで点データを増やす必要はない。また、曲線でも始点と終点と途中を経由する代表的な点を幾つか定義して、それらの点にフィッテイングする関数で表現することにより、例えば、短い直線データの集合体で曲線を表示する場合と比較して点データや線データの数は少なくなり、面データを構成する要素（線データ）の数も少なくなるので、ＣＡＤデータが多くなった場合にもＣＡＤデータのメモリ容量を節約することが可能となる。
【００２６】
第８の手段は、前記第１〜第７の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも面のＣＡＤデータに色情報をもたせるようにすることである。
【００２７】
このような第８の手段は、前記第１〜第７の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも面のＣＡＤデータに色情報をもたせるようにしているので、色情報を使ったマッチング検索などを行なうことができるようになる。物の境界は総て境界線とみれば、色情報は、線データにはなく面データにのみあるという考え方でもシステムには適用可能である。すなわち、移動する撮像装置で撮影して得た画像情報に基づいてＣＡＤデータを生成するときには、線に見えている部分も、近くで見れば細長い面積をもった面データとなる。もちろん、線に見える段階で線データに色情報をもたせることもできる。少なくとも面データに色情報があれば、色模様を使ったマッチングとか、交通信号機の赤，青，黄色の認識などにも適用可能なＣＡＤデータを生成することができる。
【００２８】
第９の手段は、前記第１〜８の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも面のＣＡＤデータの色情報に明るさの情報をもたせるようにすることである。
【００２９】
このような第９の手段は、前記第１〜第８の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも面のＣＡＤデータの色情報に明るさの情報をもたせるようにしているので、例えば、このシステムで生成したＣＡＤデータを用いて交通信号機の状態を認識しようとした場合には、ランプ方式の交通信号機では、赤の信号ランプが点灯してない場合にも赤い色をしているので、その信号ランプが点灯しているか否かを色情報だけでは認識し難いが、明るさの情報があればランプが点灯しているか否かは、点灯しているときと消灯しているときの明るさの比較で容易に認識することができるようになる。勿論、白黒処理の場合には、色情報は、グレースケールであるが、それは明るさの情報でもある。また、他の対象物体へ影響を与えるほど明るい面は、光源として予め分かっていれば、その光源の影響で生じている影がある場合には、それがその光源による影であることを幾何学的な位置関係から判断し易くなるので、ある明るさ以上の面は、光源とＣＡＤデータとして区別するようにすることができる。このときに、後で利用し易くするために、波長成分毎の明るさとか放射している方向による明るさの違いがあれば、その分布特性に関わる情報もＣＡＤデータの中に生成するようにしておくと良い。
【００３０】
第１０の手段は、前記第１〜第９の手段を選択的に適用して構成した視覚情報処理装置において、ＣＡＤデータに該ＣＡＤデータを生成した時間に関する情報をもたせるようにすることである。
【００３１】
このような第１０の手段は、前記第１〜第９の手段を選択的に適用して構成した視覚情報処理装置において、ＣＡＤデータに生成された時間に関する情報をもたせるようにしているので、生成されたＣＡＤデータを参照したときに該ＣＡＤデータが生成された時刻を参照することができるようになる。従って、例えば、現在生成した同じ場所のＣＡＤデータと前に生成されていたＣＡＤデータを比較したときに、違いがあった場合には、現在の時刻と前のＣＡＤデータに登録されていた時刻とから何時間前からの状態から変化したかということを認識することが可能となる。ＣＡＤデータを生成しながら生成されているＣＡＤデータを参照する場合に、生成時刻がＣＡＤデータにあれば、どちらが先に生成されたＣＡＤデータかも確認することができる。
【００３２】
第１１の手段は、前記第１〜１０の手段を選択的に適用して構成した視覚情報処理装置において、ＣＡＤデータ更新時に前のＣＡＤデータを残すようにすることである。
【００３３】
このような第１１の手段は、前記第１〜第１０の手段を選択的に適用して構成した視覚情報処理装置において、ＣＡＤデータ更新時に前のＣＡＤデータを残すようにしているので、更新によってＣＡＤデータが変更される経緯を残すことが可能となる。また、残したＣＡＤデータに時刻データが含まれている場合には、それらの時系列のＣＡＤデータの移動量と参照する時刻から計算されるＣＡＤデータが生成された間隔から、当該ＣＡＤデータの移動速度を推定認識することも可能となる。
【００３４】
第１２の手段は、前記第１１の手段を適用して構成した視覚情報処理装置において、ＣＡＤデータ更新時に所定のタイミングで古いＣＡＤデータを削除するようにすることである。
【００３５】
このような第１２の手段は、前記第１１の手段を適用して構成した視覚情報処理装置において、ＣＡＤデータ更新時に所定のタイミングで古いＣＡＤデータを削除するようにしているので、所定のタイミング、すなわち、５回前のデータまでを残しておくとか、１０秒前までのデータを残しておくなど、によって残しておくデータ量を制限することで、更新時に前のＣＡＤデータを残すようにしてもＣＡＤデータの量が発散することがなくメモリ容量を節約することが可能となる。
【００３６】
第１３の手段は、前記第１〜第１２の手段を選択的に適用して構成した視覚情報処理装置において、ＣＡＤデータは一緒に移動していると判断されるデータをグルーピングして区別するようにすることである。
【００３７】
このような第１３の手段は、前記第１〜第１２の手段を選択的に適用して構成した視覚情報処理装置において、ＣＡＤデータは一緒に移動していると判断されるデータをグルーピングして区別するようにしているので、動いている物体から生成されるＣＡＤデータは一緒に動いているので、一緒に動いているデータのまとまりとしてグルーピング化すると、移動している物体を構成するＣＡＤデータをグルーピングして管理することが容易となる。面で反射している光とか、鏡面に写っている虚像の動きとか、スポットライトの照明とか、影などもデータをグルーピング化しておくことにより、追跡とかＣＡＤデータの更新は、そのグループのＣＡＤデータに対して行なえば良いので処理が容易になる。
【００３８】
第１４の手段は、前記第１〜第１３の手段を選択的に適用して構成した視覚情報処理装置において、面のＣＡＤデータに付いているＣＡＤデータを当該面のＣＡＤデータとは別に移動することを検出することにより虚像のＣＡＤデータとして区別するようにすることである。
【００３９】
このような第１４の手段は、前記第１〜第１３の手段を選択的に適用して構成した視覚情報処理装置において、面のＣＡＤデータに付いているＣＡＤデータを当該面のＣＡＤデータとは別に移動することを検出することで虚像のＣＡＤデータとして区別するようにしているので、実際にその面にあるＣＡＤデータと写り込みでたまたまその面に付いているように見える虚像とを区別して管理することができる。区別して管理していれば、対象物体を認識する場合に、たまたま写っていた虚像のデータは除いて本来の対象物体のみの模様データで模様のマッチングなどを行って、その物体を認識する処理が容易になる。ここで虚像と称しているものは、鏡面に写っている虚像と向う側に透けて見えている画像情報も、対象としている面データに直接付いていないものという意味で虚像と称する。また、スポットライトの照明とか影なども動く虚像として定義しても良い。
【００４０】
第１５の手段は、前記第１〜第１４の手段を選択的に適用して構成した視覚情報処理装置において、虚像のＣＡＤデータが付いている面のＣＡＤデータを鏡面的な面あるいは透過する面として区別するようにすることである。
【００４１】
このような第１５の手段は、前記第１〜第１４の手段を選択的に適用して構成した視覚情報処理装置において、虚像のＣＡＤデータが付いている面のＣＡＤデータを鏡面的な面あるいは透過する面として区別するようにしているので、一度区別された後は、その面には虚像が写るということが分かるので、例えば新たな点とか線とか面のＣＡＤデータがその面に付いているようなデータが生成された場合には、当該面が鏡面的な面であれば、撮像装置と視点と当該面の位置と向きから虚像を写している実像に相当する物体が新たに生じたであろう空間の方向のＣＡＤデータを調べることにより、写っている虚像は、鏡面反射で生じた新たな虚像であることを容易に確認することができる。同様に、透過する面である場合には、透過して見える先の空間の方向を調べれば、それが透過して見える先の実体の虚像であることを容易に確認することができる。従って、取り敢えず、鏡面か透過面かは区別されてなくても、虚像が写る面か写らない面かの区別ができていれば、当該面の更新処理のときに虚像を考慮した処理を行なうか否かを区別することができるので、処理が容易になる。
【００４２】
第１６の手段は、前記第１〜第１５の手段を選択的に適用して構成した視覚情報処理装置において、透過する面または鏡面と判断される面を鏡面的な面と仮定した場合に反射する先の虚像と対応する位置に該虚像の実像と判断されるＣＡＤデータが存在する場合には当該面を鏡面的な面として識別するようにすることである。
【００４３】
このような第１６の手段は、前記第１〜第１５の手段を選択的に適用して構成した視覚情報処理装置において、虚像のＣＡＤデータが付いている面を鏡面的な面と仮定した場合には該虚像と対応する位置に該虚像の実像（実体）が存在することから、そのようなＣＡＤデータが存在する場合には、当該面を鏡面的な面として区別するようにしているので、実体がなかった場合にはその面は透過する面であることが分かり、透過する面として管理することができるようになる。そして実体が存在した場合には、その面は鏡面的な面であることが確認され、当該面は、鏡面かハーフミラーの面であるということになる。従って、このような処理を行なうことで、面データを鏡面的な面（鏡面かハーフミラーの面）であるか否の識別を容易に行なえるようになる。このように面の区別がなされていない場合には、その都度、その面に本当に新たに付いた、例えばペイントなどの塗装か、そうでなければ鏡面で写っている虚像か、透過して見えている虚像か否かの確認を行わなければ最終的な認識を行なうことがができないために処理に余計な時間がかかる。従って、面の識別がなされていることは、少なくとも鏡面としての確認と透過面としての確認の両方の処理を行わないで済むようになるので、虚像の認識を効率良く行なうことができるようになる。
【００４４】
第１７の手段は、前記第１〜１６の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも面のＣＡＤデータに反射率と透過率の何れか、あるいは両方をもたせるようにすることである。
【００４５】
このような第１７の手段は、前記第１〜第１６の手段を選択的に適用して構成した視覚情報処理装置において、面のＣＡＤデータに反射率と透過率の何れか、あるいは両方をもたせるようにしているので、例えば、反射率が１００％で透過率が０％の場合には、当該面は完全鏡面であるとして、また、反射率が５０％で透過率が５０％という場合には、ハーフミラーの面であるとして、以下の処理を進めることが可能となる。このＣＡＤデータを生成するときには、撮像装置から取得した輝度（明るさ）の情報から実際的な反射率や透過率を求めてその数値をもたせても良いし、反射率１００％か否か、透過率が５０％か否か程度の識別で鏡面かハーフミラーかの簡単な識別しか行わないようにしても良い。因みに、反射率と透過率の情報をもたせた場合は、両方の数値の合計と１００％との差を吸収率として取り扱うシステムとすることも、このようなＣＡＤデータとしておくことにより容易に実現することができるようになる。また、反射率とか透過率の定義は、厳密に言えば波長成分毎に異なる場合があるので、ＣＡＤデータとしてどこまで細かく定義するかは別としても、波長毎に定義すると良い。また、放射率を波長毎に定義するようにしても良い。更に、放射率とか反射率については、方向に対する指向性がある場合もあるので、光源により生じている面の状態とか影、環境内の物体に反射した光源により生じている面の状態とか影を、それらの幾何学的な関係から認識し易くするように、ＣＡＤデータに指向性の特性ももたせるようにすると良い。反射率の指向性には、反射面の粗さを示す要素を含めると良い。例えば、虚像のシャープ度が反射面の荒さによって変わる特性を利用して、反射している虚像の輪郭などのシャープ度（ボケの具合）を生画像情報の処理で抽出し、それを面の粗さに相当する指標としてとらえるようにすると良い。
【００４６】
第１８の手段は、前記第１〜第１７の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置の視点の位置が変わるとＣＡＤデータの色が変化する面はそういう面であるということを区別するようにすることである。
【００４７】
このような第１８の手段は、前記第１〜第１７の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置の視点の位置が変わるとＣＡＤデータの色が変化する面はそういう面であるということを区別するようにしているので、見る角度によって見える色が変わる面の識別ができるようになる。そういう面がそういう面であるということが識別されていれば、例えば沢山の車の中からオレンジ色の車のＣＡＤデータを使って特定しようとした場合に、当該車の表面のＣＡＤデータの色を生成したときにたまたまオレンジに見えた車を単純にオレンジの車であると誤って特定しないようにすることができるようになる。すなわち、当該面が見る角度によって色が変わる面であると区別されていれば、他の角度から見て生成されるＣＡＤデータの色情報も確認した上で、それは本当にオレンジ色の車であると特定することが可能となる。
【００４８】
第１９の手段は、前記第１〜第１８の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置が移動してもその入力画像情報の中の変化しない部分は処理の対象外とするようにすることである。
【００４９】
このような第１９の手段は、前記第１〜第１８の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置が移動してもその入力画像情報の中の変化しない部分は処理の対象外とするようにしているので、例えば、撮像装置のレンズに付着しているゴミとかほこりとか、ＣＣＤ素子の放射線劣化の痕跡とか、画像情報にスーパーインポーズされている文字など、実際には環境空間に存在しないで画像情報に含まれる物体をＣＡＤデータ化しようと試みて不自然な処理となるのを防いだり、ＣＡＤデータ化しようと試みて矛盾が生じたことから実際には環境空間に存在しないノイズ的な成分であることが分かる、というような無駄な処理を行わないで効率良く必要な情報のみを対象として処理を行なうことができるようになる。
【００５０】
第２０の手段は、前記第１〜第１９の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置によって得た画像情報に対して形状，大きさ，密度，方向性，色等の幾何学的パターンで、あるいは発生する周期などの時間的なパターンで、あるいは前記幾何学的なパターンと時間的なパターンの両方で当該パターンに相当する画像情報の中の当該部位を抽出し、抽出した当該部分は処理の対象外とするようにすることである。
【００５１】
このような第２０の手段は、前記第１〜第１９の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置で得た入力画像情報に対して形状，大きさ，密度，方向性，色等の幾何学的パターンで、あるいは発生する周期などの時間的なパターンで、あるいは前記幾何学的なパターンと時間的なパターンの両方で当該パターンに相当する画像情報の中の当該部位を抽出し、抽出した当該部分は処理の対象外とするようにしているので、撮像装置で得た画像情報に含まれている電気ノイズとか、ランダムに入ってくる放射線ノイズなどを容易に処理の対象外とすることができる。すなわち、画像情報の段階で含まれるノイズ成分を除去しても良いが、除去しないまでにも当該部分のアドレス、例えば、画像メモリなどの番地で当該部分に生じている画像情報はノイズであることがＣＡＤデータ生成処理の前の段階で分かっていれば、それらを事前に取り除いて処理の対象外とすることができるようになる。電気ノイズとか、ランダムに入ってくる放射線ノイズなどは、発生する頻度や発生時の大きさが短時間に極端に変化するものではなく、形状，大きさ，密度，方向性，色等の幾何学的特徴や発生する周期などの時間的な特徴があるので、その特徴から前処理の段階で比較的容易に認識することができる。
【００５２】
第２１の手段は、前記第１〜第２０の手段を選択的に適用して構成した視覚情報処理装置において、生成されるＣＡＤデータに対して、形状，大きさ，色等の幾何学的パターンで、あるいは発生する周期などの時間的なパターンで、あるいは前記幾何学的なパターンと時間的なパターンの両方で当該パターンに相当する生成される当該ＣＡＤデータを抽出し、抽出したＣＡＤデータは処理の対象外とするようにすることである。
【００５３】
このような第２１の手段は、前記第１〜第２０の手段を選択的に適用して構成した視覚情報処理装置において、生成されるＣＡＤデータに対して形状，大きさ，色等の幾何学的パターンで、あるいは発生する周期などの時間的なパターンで、あるいは前記幾何学的なパターンと時間的なパターンの両方で当該パターンに相当する生成される当該ＣＡＤデータを抽出し、抽出したＣＡＤデータは処理の対象外とするようにしているので、空間を舞っている埃とか、屋外の雨とか、雪などは、必要に応じて、ノイズ成分として除いた処理が行なえるようになり、その結果、実際にその空間に存在するもののＣＡＤデータのみを効率良く取り扱えるようにすることが可能となる。具体的な例を述べれば、ステレオ視の撮像装置で屋外を撮影して得た画像情報に基づいてＣＡＤデータを生成するような場合には、雨とか雪のＣＡＤデータも生成されてしまうので、走っている車のＣＡＤデータのみを車の認識用に利用する場合には、その周辺の雨などのＣＡＤデータが存在すると、車の認識処理上ではノイズ成分となって効率が悪くなる。しかしこの処理を入れることによって、車の認識処理の前に、特定のノイズ、例えば短い鉛直方向に並んでいる線状のＣＡＤデータが雨のＣＡＤデータであるということで最初に区別するか消去することで、車の認識処理上ではノイズとなる雨のＣＡＤデータを排除して車の認識を容易に行なえるようにすることができる。
【００５４】
第２２の手段は、前記第１〜第２１の手段を視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の撮像装置によって得た画像情報を入力して処理する複数の画像情報処理装置を備え、夫々が生成および更新したＣＡＤデータを統合するようにすることである。
【００５５】
このような第２２の手段、前記第１〜第２１の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の撮像装置によって得た画像情報に基づいて複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを統合するようにしているので、複数の撮像装置でいろいろな場所を撮影して得た画像情報に基づいて生成したＣＡＤデータを互いに有効に共用して利用することが可能となる。また、広範囲なエリアを１台の撮像装置で撮影してＣＡＤデータを生成すると時間がかかるが、複数の撮像装置で撮影してＣＡＤデータを生成して夫々のＣＡＤデータを統合するようにすれば、短時間に広範囲のＣＡＤデータを生成することができるようになる。
【００５６】
第２３の手段は、前記第２２の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを統合する手段は、相互の画像情報処理装置が相互のＣＡＤデータを入出力することができるようにすることである。
【００５７】
このような第２３の手段は、前記第２２の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを統合する手段は、相互の視覚情報処理装置が相互のＣＡＤデータを入出力することができるので、視覚情報処理装置同士が直接にデータを授受して処理することができるようになる。具体的には、例えば、相互の視覚情報処理装置が通信回線で繋がっていれば、その通信回線を介して所定のエリアのＣＡＤデータを互いに要求し合えるコマンドを用意して、そのコマンドに基づき、互いに相手が生成したＣＡＤデータを入手したり、自分の生成したＣＡＤデータを相手に送信したりすることができる。ＣＡＤデータを授受する場合には、互いのＣＡＤデータを生成するときの基準となるワールド座標系の相対的な違いの量を予め知るか、同じ座標系にしておく方が処理は容易となる。ワールド座標系の対応を予めとっておかない場合には、取得したＣＡＤデータと自分が生成したＣＡＤデータの一致する部分を見つけて互いのワールド座標系のずれを求める処理が必要となり、同じ場所のＣＡＤデータが生成されてない場合には、一致する場所を求めることもできなくなる。互いの座標系を一致させる方法としては、例えば、撮像装置を最初に移動させる前にその場所の座標と該撮像装置の姿勢を同じワールド座標系の数値で設定するようにすれば容易に合わせることが可能である。しかしながら、日本の北海道と九州で最初に設定して誤差が含まれており、互いに移動を開始して東京で一緒になった場合のずれは、その誤差分だけ生じることになるので、基準となる同じ物をＣＡＤ化して、互いに、それを基準にワールド座標系を補正するような機能を設けておくのが良い。ＣＡＤデータの受け渡しは、通信手段でも良いし、ＦＤやＭＯなどの記憶媒体を介して行なう方法でも良い。
【００５８】
第２４の手段は、前記第２２の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを統合する手段は、複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを別の１台あるいは複数の画像情報処理装置で統合できるようにすることである。
【００５９】
このような第２４の手段は、前記第２２の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを統合する手段は、複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを別の１台あるいは複数の統合専用の視覚情報処理装置で統合することができるで、撮像装置によって得た画像情報を処理してＣＡＤデータを生成している画像情報処理装置は、ＣＡＤデータの生成などのみを行なうだけで統合処理を行なわないで済むので、ＣＡＤデータの生成処理能力を高めることができ、また、統合処理を行なう視覚情報処理装置はＣＡＤデータを統合する処理に専念することができるので、沢山の視覚情報処理装置から取得したＣＡＤデータの統合処理を効率良く早い速度で行なうことが可能となる。ＣＡＤデータを送信してくる視覚情報処理装置の台数が多くなる場合には、統合処理を行なう視覚情報処理装置を複数台として、ある程度統合されたＣＡＤデータを更に別の視覚情報処理装置で統合するようにしていけば、更に多くの撮像装置で撮影して生成されたＣＡＤデータを効率良く統合処理することができるようになる。もちろん、統合されたＣＡＤデータは、３次元地図等としても利用することが可能となる。
【００６０】
第２５の手段は、前記第２２の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを統合する手段は、複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを別の１台あるいは複数の画像情報処理装置で統合し、統合された結果の全部あるいは一部分を前記画像情報処理装置へ戻すようにすることである。
【００６１】
このような第２５の手段は、前記第２２の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを統合する手段は、複数の画像情報処理装置（１）が夫々に生成および更新したＣＡＤデータを別の１台あるいは複数の画像情報処理装置（２）で統合し、統合した結果の全部あるいは一部分を前記画像情報処理装置（１）へ戻すので、統合されたＣＡＤデータは撮像装置のところの末端にある画像情報処理装置でも利用することが可能である。すなわち、統合処理は、当該画像情報処理装置自身で行なわないでも統合結果を利用することが可能となる。それは、未だ、撮像装置を移動させてＣＡＤデータを生成していない場所にその撮像装置が初めて移動する場合でも、既に生成されているその場所のＣＡＤデータを取得して参照することが可能となる。これは、前記第２３の手段でも同じである。
【００６２】
第２６の手段は、前記第２２〜第２５の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、生成および更新したＣＡＤデータを授受する手段を備え、他の視覚情報処理手段から取得したＣＡＤデータを統合する画像情報処理機能を備えたものである。
【００６３】
このような第２６の手段は、前記第２２〜第２５の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したＣＡＤデータを統合するために、複数の画像情報処理装置がＣＡＤデータを他の視覚情報処理装置と受け渡しする手段は、無線通信で行なうようにすれば、各撮像装置の機動性が良くなり、通信ケーブルなどの制約を受けないで広い範囲を移動させることが可能となり、更に、記憶媒体を介さないでリアルタイムのＣＡＤデータの授受が可能となる。
【００６４】
第２７の手段は、前記第１〜第２６の手段を選択的に適用して構成した視覚情報処理装置および視覚情報処理システムにおいて、画像情報処理装置は、移動する撮像装置の位置または姿勢あるいはその両方の情報を求める機能と、求めた位置情報あるいは姿勢情報あるいはその両方を出力する機能を有するようにすることである。
【００６５】
このような第２７の手段は、前記第１〜第２６の選択的に適用して構成した視覚情報処理装置および予めＣＡＤデータを有している視覚情報処理装置あるいはそれらの視覚情報処理装置を適用した視覚情報処理システムにおいて、画像情報処理装置は、移動する撮像装置の位置または姿勢あるいはその両方の情報を求める機能と、求めた位置情報または姿勢情報あるいはその両方を出力する機能を有するので、撮像装置の位置および姿勢情報を別のＣＰＵ等のアプリケーションシステム側で利用することが可能となる。ロボット等の自動機械の視覚誘導制御装置として適用する場合には、対象物体にアクセスするロボットハンドなどの先端に撮像装置を取り付けることで、この撮像装置とロボットハンドの相対取り付け位置関係は既知であることから、撮像装置の位置と姿勢がわかればロボットハンドの位置と姿勢がわかるようになり、生成したＣＡＤデータの移動空間で任意の目標地点までロボットハンドを誘導移動制御することが容易となる。
【００６６】
第２８の手段は、前記第２７の手段を適用して構成した視覚情報処理システムにおいて、外部から入力する指令信号の所定のタイミングにより移動する撮像装置の位置あるいは姿勢あるいはその両方の情報を出力する機能を有するようにすることである。
【００６７】
このような第２８の手段は、前記第２７の手段を適用して構成した視覚情報処理装置あるいは視覚情報処理システムにおいて、外部からの指令信号を入力とし、その指令信号の所定のタイミングにより移動する撮像装置の位置または姿勢あるいはその両方の情報を出力する機能を有することから、別のＣＰＵ等のアプリケーションシステム側で必要とするタイミングで撮像装置の位置と姿勢の情報を要求することができるのでアプリケーションシステムを容易に構築することが可能となる。
【００６８】
第２９の手段は、前記第１〜第２８の手段を選択的に適用して構成した視覚情報処理装置および予めＣＡＤデータを有している視覚情報処理装置あるいはそれらの視覚情報処理装置を適用した視覚情報処理システムにおいて、画像情報処理装置は、ＣＡＤデータの探索指令信号を入力とし、その指令信号に基づきＣＡＤデータを探索する機能と、探索したＣＡＤデータの情報を出力する機能を有するようにすることである。
【００６９】
このような第２９の手段は、前記第１〜第２８の手段を選択的に適用して構成した視覚情報処理装置および予めＣＡＤデータを有している視覚情報処理装置あるいはそれらの視覚情報処理装置を適用した視覚情報処理システムにおいて、画像情報処理装置は、ＣＡＤデータの探索指令信号を入力とし、その指令信号に基づきＣＡＤデータを探索する機能と、探索したＣＡＤデータの情報を出力する機能を有するので、別のＣＰＵ等のアプリケーションシステム側で必要とする情報、例えば、目標とする対象物体のＣＡＤデータを探索させ、探索した対象物体のＣＡＤデータの情報として、その位置と姿勢の情報を探索結果として得るようにすれば、アプリケーションシステム側で、例えばロボットハンドをその対象物体を掴むような位置と姿勢に誘導制御することが可能となる。更に、ロボットハンドのＣＡＤデータを定期的に探索させ、探索したロボットハンドのＣＡＤデータの情報として、その位置と姿勢を探索結果として得るようにすれば、その情報をロボットハンドの位置と姿勢のフィードバック制御へ利用することも可能となり、ロボットハンドのアーム部分の撓みとかロボットハンドのベースの位置ずれ等を補正した誘導制御を行なうことが可能となる。また、目標とする対象物体のＣＡＤデータの探索も定期的に行なうことにより、目標とする対象物体が移動している場合でも、リアルタイムに目標物体の位置と姿勢の情報が得られるので、アプリケーションシステムは移動する目標物体に対してもロボットハンドをアクセスさせて該目標物体を掴む動作を誘導制御することが可能となる。
【００７０】
第３０の手段は、前記第２９の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、ＣＡＤデータを探索する機能は、基本図形で探索するか探索用に読み出したＣＡＤデータで探索するかその両方の探索機能を有するようにすることである。
【００７１】
このような第３０の手段は、前記第２９の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、ＣＡＤデータを探索する機能は、基本図形で探索するか、探索用に読み出したＣＡＤデータで探索するか、その両方の探索機能を有するので、球や円筒や立方体などの基本図形以外の複雑な形状のＣＡＤデータなどのいろいろなものの探索を容易に行なうことができるようになる。例えば、基本図形だけでは実環境の複雑な形状にマッチングするものは少ないので、ＣＡＤデータ生成システムが生成したＣＡＤデータをとっておき、それと同じＣＡＤデータも探索することができるようにすれば、いろいろな形状のＣＡＤデータを探索することができるということである。もちろん、探察用に読み出した個所のＣＡＤデータであれば、精度良くマッチングする。それが移動していた場合には、その探索結果によって移動した量を認識することも可能となる。
【００７２】
第３１の手段は、前記第３０の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すＣＡＤデータは、予め対象物体毎にいろいろな角度から撮影して生成するようにすることである。
【００７３】
このような第３１の手段は、前記第３０の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すＣＡＤデータは、予め対象物体体毎にいろいろな角度から撮影して生成するので、複雑な形状の物体のＣＡＤデータも基本図形と同様に予め準備しておくことができるようになる。いろいろな角度から撮影してＣＡＤデータを生成することができるので３６０°にわたって完全なＣＡＤデータを予め用意しておくことができる。最初に読み出したＣＡＤデータは、机なら机に相当する名前（種別ＩＤ）、椅子なら椅子に相当する名前（種別ＩＤ）を付けてメモリに登録しておくようにしても良い。このようにすることによって、例えば、装置（商品）を供給する前にいろいろな物体のＣＡＤデータをメモリに登録しておけば、その商品を使用するユーザは、一度もＣＡＤデータを生成しないで読み出す処理を行っても、探索用の複雑な形状の沢山のＣＡＤデータを利用することが可能となる。
【００７４】
第３２の手段は、前記第３１の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、対象物体を撮影する場所は、撮影対象として対象物体のみを入れた所定の部屋であるようにすることである。
【００７５】
このような第３２の手段は、前記第３１の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、対象物体を撮影する場所は、撮影対象である対象物体のみを入れた所定の部屋であるので、他に邪魔な物がないことから、対象物体のみのＣＡＤデータを容易に生成することができるようになる。
【００７６】
第３３の手段は、前記第３０の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すＣＡＤデータは、指定領域を切り出したものとすることである。
【００７７】
このような第３３の手段は、前記第３０の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すＣＡＤデータは、指定領域を切り出せるので、例えば、特定のビルの看板部分だけでも良いし、ドームのように建屋の形状に特徴ある場合には、建屋全体を含む場所を読み出すように、探索したい対象毎に必要最小限の範囲のＣＡＤデータを探索用として読み出すことが可能となる。
【００７８】
第３４の手段は、前記第３０の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すＣＡＤデータは、基本図形あるいは探索用に読み出したＣＡＤデータと所定の閾値に基づきマッチングした領域あるいは当該領域とその周辺の領域を切り出したものとすることである。
【００７９】
このような第３４の手段は、前記第３０の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すＣＡＤデータは、基本図形あるいは探索用に読み出したＣＡＤデータと所定の閾値に基づきマッチングした領域あるいは当該領域とその周辺の領域を切り出すようにしているので、基本図形に近い形状のものとか、探索用に読み出した形状に近い形状のものなどから新規に読み出す範囲を容易に限定することが可能となる。例えば、生成されているＣＡＤデータで総ての直方体の看板を探索用に読み出したいような場合は、最初はある程度マッチング度の閾値を低めに設定しておけば、直方体の基本図形にそれなりに近いもの（直方体の看板の候補）が幾つか読み出されるので、その中から欲しいものを選択するようにすることなども容易に実現可能となる。
【００８０】
第３５の手段は、前記第３０〜第３４の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出したＣＡＤデータの幾何情報の特徴量か、色情報の特徴量か、あるいはその両方の特徴量を抽出するようにすることである。
【００８１】
このような第３５の手段は、前記第３０〜第３４の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出したＣＡＤデータの幾何情報の特徴量か、色情報の特徴量か、あるいはその両方の特徴量を抽出することができるので、次に、その特徴量を利用して探索するような場合のために、特徴量のデータを短時間に自動的に作成することができるようになる。
【００８２】
第３６の手段は、前記第２９〜第３５の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索にはＣＡＤデータの幾何情報の特徴量か、色情報の特徴量か、あるいはその両方の特徴量を利用するようにすることである。
【００８３】
このような第３６の手段は、前記第２９〜第３５の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索にはＣＡＤデータの幾何情報の特徴量か、色情報の特徴量か、あるいはその両方の特徴量を利用することができるので、探索する対象の環境が広くて多くのＣＡＤデータがあるときでも短時間に効率良く探索することができる。すなわち、多くのＣＡＤデータからなる広大な空間の中で探索用のＣＡＤデータと姿勢や大きさを変えて何度もマッチング処理をして相関係数（一致度）を求めて一番近いものを探す処理は膨大な時間を要するが、先ず、大きさとか凸凹の数とか縦長比などの幾何学的な特徴とかで対象範囲を絞り込み、その後に形状のマッチングや模様のマッチングなどで探索しようとするものを絞り込むようにすれば、更に赤を主成分とする赤っぽいコップとか赤っぽいりんごなどのように全体的に割合の多い色などの特徴量を使えば更に探索範囲を絞ることができるので、時間を要する形状マッチングとか模様のマッチングの処理回数を少なくすることができ、探索時間そのものを短くすることできる。
【００８４】
第３７の手段は、前記第２９〜第３６の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索には固有値空間マッチング法を利用するようにすることである。
【００８５】
このように第３７の手段は、前記第２９〜第３６の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索には固有値空間マッチング法を利用するので、形状マッチングする場合においても短時間にそれなりに対象候補を効率良く絞り込むことが可能となる。
【００８６】
第３８の手段は、前記第２９〜第３７の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索には３次元のポテンシャルマッチング法を利用するようにすることである。
【００８７】
このような第３８の手段は、前記第２９〜第３７の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索には３次元のポテンシャルマッチング法を利用するので、最終的な位置と姿勢のマッチング、すなわち、探索したいもののＣＡＤデータの中の位置と姿勢を精度良く求めることを効率良く短時間で行なうことが可能となる。
【００８８】
第３９の手段は、前記第２９〜第３８の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時スケールファクタを可変にして形状の近いものを探索するようにすることである。
【００８９】
このような第３９の手段は、前記第２９〜第３８の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時にスケールファクタを可変にして形状の近いものを探索するので、同じ形でいろいろなサイズがあるものを探索するための探索用データを数多くもたないで済むようにできる。
【００９０】
第４０の手段は、前記第２９〜第３９の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時の探索範囲を所定の範囲に設定可能とするようにすることである。
【００９１】
このような第４０の手段は、前記第２９〜第３９の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時の探索範囲を所定の範囲に設定可能とするので、既に探索したい場所が番地や座標などである程度分かっているような場合には、その範囲のみを検索することで、効率良く探索することができる。
【００９２】
第４１の手段は、前記第２９〜第４０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時の探索範囲を入力される画像情報の視野の範囲あるいは視野の範囲から拡張あるいは縮小した範囲とするようにすることである。
【００９３】
このような第４１の手段は、前記第２９〜第４０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時の探索範囲を入力される画像情報の視野の範囲あるいは視野の範囲から拡張あるいは縮小した範囲とするので、ＣＡＤデータを生成しながらリアルタイムで探索するオンライン探索では、より詳細なアズビルトデータを生成しながら、より精度の良い確実な探索を行なうことができるようになる。
【００９４】
第４２の手段は、前記第２９〜第４１の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、ＣＡＤデータの探索指令信号の入力Ｉ／Ｆ、探索したＣＡＤデータ情報の出力Ｉ／Ｆの両方あるいは何れかは複数のＩ／Ｆを有するようにすることである。
【００９５】
このような第４２の手段は、前記第２９〜第４１の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、ＣＡＤデータの探索指令信号の入力Ｉ／Ｆ、探索したＣＡＤデータ情報の出力Ｉ／Ｆを両方あるいは何れかは複数のＩ／Ｆを有するので、同時に沢山探索したい場合にも効率良く探索指示を与え、効率良く探索結果を得ることができるようになる。すなわち、環境の認識速度、多くの物体の探索速度を向上させることも容易に可能となる。
【００９６】
第４３の手段は、前記第２９〜第４２の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形または探索用のＣＡＤデータと所定の閾値に基づきマッチングした部分を特定の名前（ＩＤ）を付けて管理するようにすることである。
【００９７】
このような第４３の手段は、前記第２９〜第４２の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形あるいは探索用のＣＡＤデータと所定の閾値に基づきマッチングした部分を特定の名前（ＩＤ）を付けて管理するので、例えば、名前（ＩＤ）と一緒にそのもののあった座標とか番地も登録しておけば、再度探索するときには、名前（ＩＤ）から直接的に概略の座標や番地の近くを見に行くような処理も行なうことができるので、探索時間を大幅に短縮することができる。また、名前（ＩＤ）を付けて管理されていない部分は、未認識の部分ということになるので、未認識の部分を新たに認識登録するような場合には、未認識の範囲を容易に抽出することが可能となる。
【００９８】
第４４の手段は、前記第２９〜第４３の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形または探索用ＣＡＤデータと所定の閾値に基づきマッチングした部分を除くＣＡＤデータの所定の固まりの部分を所定の名前（ＩＤ）を付けて管理するようにすることである。
【００９９】
このような第４４の手段は、前記第２９〜第４３の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形あるいは探索用ＣＡＤデータと所定の閾値に基づきマッチングした部分を除くＣＡＤデータの所定の固まりの部分を所定の名前（ＩＤ）を付けて管理するようにしているので、今まで探索用に用意していた基本図形やその他の探索用ＣＡＤデータにない新たなＣＡＤデータの固まりを新たに名前を定義して登録することが可能となる。もちろん、それを探索用ＣＡＤデータとして追加しても良い。新たに付ける名前（ＩＤ）は、人が入力するようにしても良いし、システムが自動的に、例えば、一連の番号でＩＤを定義するようなシステムであれば、自動的に採番をさせて自動的に付与するようにしても良い。
【０１００】
第４５の手段は、前記第２９〜第４４の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、特定の名前（ＩＤ）を付けて管理するようにしたＣＡＤデータに人間の言葉を対応付けるようにすることである。
【０１０１】
このような第４５の手段は、前記第２９〜第４４の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、特定の名前（ＩＤ）を付けて管理するようにしたＣＡＤデータに人間の言葉を対応付けるようにしているので、人間とのマンマシンＩ／Ｆを容易に構築することが可能となる。例えば、名前（ＩＤ）＝７１の物体を「机の上の赤いコップ」とか「コップ」などと人間の言葉の名前と対応するように登録しておけば、机の上のコップを探索させるときには、名前（ＩＤ）＝７１を入力する代わりに「机の上の赤いコップ」と入力すれば、「机の上の赤いコップ」のＩＤ＝７１という対応付けがされていれば、人間の言葉をＩＤとして使用して探索の指示を出したりすることが容易にできるようになる。
【０１０２】
第４６の手段は、前記第２９〜第４５の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時に知識データを利用するようにすることである。
【０１０３】
このような第４６の手段は、前記第２９〜第４５の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時に知識データを利用するようにしているので、闇雲に探索するのではなく、先ず、知識データを用いて対象物体の探索すべき空間を絞り込むことができることから、効率良く探索することができるようになる。すなわち、例えば、コップは、７１，７２，７３…と７０番代のＩＤを付けるようにして、机は、８１，８２，８３…と８０番代のＩＤを付けるようにしたとして、７０番代のＩＤに「コップ」、８０番代のＩＤに「机」、という言葉の名前を対応させておき、また、「……は〜の上にある場合が多い。」という記述があった場合には、……を検索する場合には、先ず、〜の上に接しているＣＡＤデータを探索するようにしておけば、「コップ（ＩＤ＝７０番代）は机（ＩＤ＝８０番代）の上にある場合が多い。」という知識データを登録しておくとすると、システムはコップを探索する場合には、先ず、机の上のＣＡＤデータから探索させるようにすることができ、家の外とか机の下とか床の上などの探索は、後回しにすることができるので、コップが机の上にある場合には、探索を早く終了させることができる。机の上に無かった場合には、その次に可能性の高い床の上を探索するように、「コップ（ＩＤ＝７０番代）は机（ＩＤ＝８０番代）の上にあることもある。」などと定義しておいて、机の上に無かった場合にはこのような知識データに基づいて次に床の上を探索するようにしても良い。知識データは、もっと何段階にも優先順序を付けられるようにして同じ種類の物体に対して、もっと沢山の知識データを登録できるようにしても良い。また、「地面の上に立っている大きな物体（体積ＯＯ以上）は建物である場合が多い。」などの知識データで地面の上の大きな物体（所定の体積以上のＣＡＤデータの固まり）を先ずは探索候補に絞り込むような知識データの使い方をしても良い。
【０１０４】
第４７の手段は、前記第４６の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データの入力は、物体に名前（ＩＤ）を付けるときに一緒に入力可能とするようにすることである。
【０１０５】
このような第４７の手段は、前記第４６の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データの入力は、物体に名前（ＩＤ）を付けるときに一緒に入力可能とするようにしているので、知識データを効率良く入力することが可能となる。例えば、システムが物体に名前（ＩＤ）を新たに登録するときに、「これは何」と聞いてきたときに、名前は「コップ」、その他の特徴としての知識データとして、「机の上にある場合が多い。」とか、それ以外にもシステム側でロボットで掴んで良いようなものか否かを区別したいような場合には、「ロボットハンドでは持てない。」とか「ロボットハンドで持てる。」とかの知識データをインプットするようにしても良い。これはオフラインで物体の名前（ＩＤ）に人間の言葉を対応付けして入力する場合に、それに関する知識データを入力するようにしても良い。このようにすることで、入力漏れ、入力忘れもなくなる。
【０１０６】
第４８の手段は、前記第４６および第４７の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データの入力は別に作成したデータをまとめて入力できるようにすることである。
【０１０７】
このような第４８の手段は、前記第４６または第４７の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データの入力は別に作成したデータをまとめて入力できるので、装置（商品）を最初にユーザへ供給する場合に、例えば、ホームロボット等では、家庭の中の環境として有り得る物体は予め登録しておけば、ユーザが一つ一つ登録していく必要がない。予め登録しておくデータは、探索用の基本的な形状データだけではなく、それに係わる知識データも予め登録しておけば、ユーザへ手渡してから直ぐに環境認識を始めさせることができる。そのためには、製造時に、知識データを一括してファイルなどから入力可能にしておければ、出荷前に知識データを効率良く入力処理することができるようになる。もちろん、ユーザが必要な知識データの種類のファイルを選定して、購入後にファイルから入力できるようにしても良い。
【０１０８】
第４９の手段は、前記第４６〜第４８の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データは人間の言葉で記述したものとして入力できるようにすることである。
【０１０９】
このような第４９の手段は、前記第４６〜第４８の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データは、人間の言葉で記述したものとして入力できるようにしているので、知識データの入力や作成が容易になる。これは、既に前述しているように知識データを、「コップ（ＩＤ＝７０番代）は机（ＩＤ＝８０番代）の上にある場合が多い。」とか、あるいは、先に、コップは（ＩＤ＝７０番代）、机は（ＩＤ＝８０番代）と登録されていれば、「コップは机の上にある場合が多い。」などと表現できるようにすることであり、これは人間の言葉であるので、人は、知識データを効率良く作成することが可能となる。
【０１１０】
第５０の手段は、前記第２９〜第４９の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形または探索用ＣＡＤデータと所定の閾値に基づきマッチングした部分を基本図形または探索用ＣＡＤデータと置き換えるようにすることである。
【０１１１】
このような第５０の手段は、前記第２９〜第４９の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形あるいは探索用ＣＡＤデータと所定の閾値に基づきマッチングした部分を基本図形あるいは探索用ＣＡＤデータと置き換えるようにしているので、ＣＡＤデータの量を低減してメモリ容量を節約することができる。すなわち、例えば、４本の線からなる長方形の平面が全部で６面から構成される直方体を例えば縦，横，高さの寸法で定義した直方体が所定の位置に所定の姿勢であるのと等価の場合には、直方体の基本図形と置き換えることで、１２本と６面のデータは削除することが可能となるので、メモリの節約になる。探索用ＣＡＤデータとして一度読み出した部分は、読み出した形状の名前（ＩＤ）とその位置と姿勢とそのサイズや色など情報のみに置き換えれば、その読み出した多くのＣＡＤデータが多くの線データ、多くの面データから構成されたものであれば、それらのメモリ容量を節約することが可能となる。置き換えた環境周辺の探索とかＣＡＤデータの更新を行なう場合には、必要に応じて探索用のＣＡＤデータに再度置き換え直す場合も生じるが、その他の探索やデータの更新に関係ない部分のデータは、置き換えておくことが可能であるのでメモリ容量の節約になる。
【０１１２】
第５１の手段は、前記第１〜第５０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、画像情報に基づいて撮像装置の移動情報を求めることができるときには入力する画像情報を処理して該撮像装置の位置と姿勢情報を求め、画像情報に基づいて撮像装置の移動情報を求めることができないときには撮像装置の移動情報信号に基づいて該撮像装置の位置と姿勢情報を求めてＣＡＤデータ生成に使用する機能を設けたことである。
【０１１３】
このような第５１の手段は、前記第１〜第５０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、画像情報に基づいて撮像装置の移動情報を求めることができるときには入力画像情報を処理して該撮像装置の位置と姿勢情報を求め、画像情報に基づいて撮像装置の移動情報を求めることができないときには撮像装置の移動情報信号を使って撮像装置の位置と姿勢情報を求めるように自動的に切り替わる機能を有するので、画像情報が不足して移動情報を算出することができないときや、撮像装置の移動速度が早く、撮像装置から入力される画像情報の移動による変化速度が画像処理速度を上回り、画像処理によるトラッキング追従などで画像情報上の特徴点を見失っても処理を連続的に継続させることが可能となる。例えば、撮像装置の高速移動時にはトラッキング追従している特徴点を見失って画像処理によって撮像装置の位置と姿勢を求めることができなくなるが、そのときの移動量は、撮像装置移動センサで検出したり撮像装置移動制御情報に基づいて検出して、再度、低速移動に戻ったときには見失っていた間の移動量を撮像装置移動センサや移動制御情報に基づいて検出した情報により求めて撮像装置の位置と姿勢情報を正しく補正することにより、低速移動に戻ったその時点で撮像装置がどこに位置してどの方向を見ているかがわかることから、既に生成されている移動空間のＣＡＤデータとの対応付けによる補正も可能となり、その場所からトラッキング追従を再開することが可能となる。撮像装置に設ける撮像装置移動センサとして加速度センサやジャイロセンサを使用する場合には、それらのセンサは高速移動に対する応答性は十分であるので、高速移動時の移動量を精度良く検出することができる。一方、加速度センサやジャイロセンサは、長時間の累積検出に対しては誤差が大きくなるが、低速移動時には画像処理によって位置と姿勢の検出を行なうことにより累積誤差をキャンセルすることができるので、加速度センサやジャイロセンサを別センサとして有効に使用することが可能となる。
【０１１４】
第５２の手段は、前記第１〜第５１の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置および／または該撮像装置を移動する移動体の移動情報または移動制御情報を参照して画像情報における対象物体が動いているか停止しているかを判断する機能を有するようにすることである。
【０１１５】
このような第５２の手段は、前記第１〜第５１の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置が移動しているか否かの情報信号を入力とし、その情報信号により撮影対象の物体が動いているか停止しているかを判断する機能を有するので、撮像装置の視野いっぱいに移動する撮影対象の物体を撮影している場合にも該撮影対象の物体が移動しているか撮像装置自身が移動しているかの区別を容易に行なうことが可能となる。
【０１１６】
第５３の手段は、前記第１〜第５２の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置によって得た画像情報の中のハレーションを検出し、当該画像情報の中にハレーションがある場合には当該ハレーションの領域あるいは画像情報の全体領域を非処理の領域とするようにすることである。
【０１１７】
このような第５３の手段は、前記第１〜第５２の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置によって得た画像情報の中のハレーションを検出し、当該画像情報の中にハレーションがある場合には、当該ハレーションの領域あるいは画像情報の全体領域を非処理の領域とするようにしているので、ハレーションによる異常データの生成や誤認識などを容易に防止することができるようになる。
【０１１８】
第５４の手段は、前記第１〜第５３の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置によって得た画像情報の中のハレーションを検出しても、その領域が小さく当該ハレーション部位の座標を所定の精度で計算することができる場合には当該画像情報の中にハレーションがあっても当該ハレーションの部位を処理するようにすることである。
【０１１９】
このような第５４の手段は、前記第１〜第５３の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置によって得た画像情報の中のハレーションを検出しても、その領域が小さくて当該ハレーション部位の座標が所定の精度で計算できる場合には、当該画像情報の中にハレーションがあっても当該ハレーションの部位を処理するようにしているので、水面のキラキラとか、ダイヤモンドダスト（氷の結晶）、サンピラー等も容易にＣＡＤデータ化することができるようになる。このとき、もちろん、ハレーションで光の線のように出る針状の部分が生じる場合には、針状の部分はノイズとして無視して中心部のみを処理するようにすることもできる。
【０１２０】
第５５の手段は、前記第１〜第５４の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、ＣＡＤデータの座標数値に長さの単位をもたせるようにすることである。
【０１２１】
このような第５５の手段は、前記第１〜第５４の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、ＣＡＤデータの座標数値に長さの単位をもたせるようにしているので、アプリケーション側で絶対長さを管理しないでも済むようにすることができる。
【０１２２】
第５６の手段は、前記第５５の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、ＣＡＤデータの座標数値に長さの単位をもたせる手段として少なくとも１つのＣＡＤデータとそのＣＡＤデータの絶対値寸法を入力するようにすることである。
【０１２３】
このような第５６の手段は、前記第５５の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、ＣＡＤデータの座標数値に長さの単位をもたせる手段として、少なくとも１つのＣＡＤデータとそのＣＡＤデータの絶対値寸法を入力するようにしているので、容易に絶対長さを定義することができるようになる。
【０１２４】
第５７の手段は、前記第５５の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、ＣＡＤデータの座標数値に長さの単位をもたせる手段として、少なくとも２つのＣＡＤデータとそのＣＡＤデータ間の絶対値距離を入力するようにすることである。
【０１２５】
このような第５７の手段は、前記第５５の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、ＣＡＤデータの座標数値に長さの単位をもたせる手段として、少なくとも２つのＣＡＤデータとそのＣＡＤデータ間の絶対値距離を入力するようにしているので、基準となる物体、例えば、物差しなどを撮影してその目盛りの間隔を絶対長さと対応付けて読み込むようにすることができ、絶対長さを容易に定義することができるようになる。
【０１２６】
第５８の手段は、前記第１〜第５７の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムは、画像情報処理装置の全部あるいは部分的にＬＳＩチップ化したものであるとすることである。
【０１２７】
このような第５８の手段は、前記第１〜第５７の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムは、全部あるいは部分的にＬＳＩチップ化するので、ＬＳＩチップの量産化により高速処理可能な視覚情報処理装置を安価に容易に提供することが可能となり、別のＣＰＵ等と組み合わせたアプリケーションシステムを構築することが容易になる。
【０１２８】
第５９の手段は、前記第１〜第５７の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムは、画像情報処理機能をソフトウェアによる情報処理で実現するように構成したものであるとすることである。
【０１２９】
このように第５９の手段は、前記第１〜第５７の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムは、ソフトウェアによる情報処理で実現するように構成するようにしているので、例えば、移動ロボットの制御装置に汎用パソコンを使用する場合には、移動ロボットの制御用ソフトウェアと共に同じパソコンに視覚情報処理装置のソフトウェアを入れることで、新たなハードウェアを追加することなしにアプリケーションシステムを構築することが可能となる。
【０１３０】
第６０の手段は、前記第１〜第５９の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の撮像装置によって得た画像情報を所定のタイミングで切り替えて同じ画像情報処理装置へ入力するようにすることである。
【０１３１】
このような第６０の手段は、前記第１〜第５９の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の撮像装置によって得た画像情報を所定のタイミングで切り替えて同じ画像情報処理装置あるいは画像情報処理システムへ入力するようにしているので、例えば、複数の撮像装置の画像情報をその撮像装置が移動したような順番で瞬時に切り替えるようにすれば、最像装置が瞬間的に移動したのに相当する画像情報を入力することができ、対象物体が高速で移動するものにも容易に対応できるシステムを得ることが可能となる。この場合、撮像装置は、移動する撮像装置に限らず、固定された撮像装置でも良い。固定された撮像装置でパンチルト機構に搭載された撮像装置の場合には、パンチルト角度情報がシステムへ入力されるようにして撮像装置の位置と姿勢情報は、既知としてより効率良く処理を行なうようにすることができる。
【０１３２】
第６１の手段は、特定部位の位置決めを行なうロボットにおいて、その制御装置に前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【０１３３】
このような第６１の手段は、特定部位の位置決めを行なうロボットにおいて、その制御装置に前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用するので、例えば、遠隔操作ロボットなどでは、手先の自動位置決めを行なうシステムを容易に構築することができる。具体的には、例えば、手先に撮像装置を取り付けて該撮像装置の位置と姿勢情報を得れば、その情報に基づいて手先の位置を目標とする位置へ修正制御することが可能となる。また、手先がアクセスしようとする対象物体をＣＡＤデータから探索してその対象物体の位置と姿勢情報を得るようにすれば、撮像装置と対象物体の両方の位置と姿勢が分かるので、より正確に手先を対象物体にアクセスするように誘導制御することが可能となる。また、手先に撮像装置を付けられない場合には、手先を撮影する撮像装置を別に設けることで、その撮像装置の画像情報で手先のＣＡＤデータの探索を行って手先の位置と姿勢を直接に検出して制御に利用することも可能となる。
【０１３４】
第６２の手段は、移動ロボットの制御装置に、前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【０１３５】
このような第６２の手段は、移動ロボットの制御装置に、前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、移動ロボット自身の位置決め、姿勢制御を容易に行なうことができるようになる。例えば、移動ロボットに撮像装置を搭載すれば、撮像装置の位置と姿勢情報は移動ロボットの位置と姿勢の情報を示すことになるので、その情報に基づいて移動ロボットの位置や姿勢を制御することで、移動ロボットの位置決め制御，姿勢制御，誘導制御などを容易に行なうことができるようになる。水中を浮遊するＲＯＶ等に撮像装置を搭載して、この装置を適用すれば、水中深く位置していて、水面の上から水中のＲＯＶを直接見ることができなくとも、例えば、周囲環境のＣＡＤデータと撮像装置のその中での位置と姿勢を操作卓の表示装置に表示するようにすれば、水中ＲＯＶの遠隔操作を、その表示装置で位置と姿勢を確認しながら容易に行なうことができるようになる。また、ＣＡＤデータ上で任意の場所の正面に位置するように最終目標位置と姿勢を入力して自動的にその目標位置と姿勢に水中ＲＯＶがなるように制御すようにすれば、自動運転の制御システムも容易に構築することも可能となる。もちろん、飛行船や飛行機などに撮像装置を搭載して飛行ロボットの遠隔操作と自動制御に適用することもできる。
【０１３６】
第６３の手段は、文字読み取り装置の処理装置に、前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【０１３７】
このような第６３の手段は、文字読み取り装置の処理装置に、前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用するので、例えば、３次元的に凹凸のある刻印文字などは単純に２次元の画像処理では読み取り難い文字についても３次元のＣＡＤデータのマッチング処理により所定の文字を認識し易くしたシステムを容易に構築することができる。また、時系列に変化する文字も時系列にデータを生成することができるので、例えば、電光掲示板で流れるように表示される文字とか風で揺らいでいる看板などのように予め移動パターンが分かってない移動する文字なども容易に読み取ることができるシステムを構築することが可能となる。
【０１３８】
第６４の手段は、３次元計測装置の処理装置に、前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【０１３９】
このような第６４の手段は、３次元計測装置の処理装置に、前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、プラントなどの現場調査、車のデザイン設計、ＣＧのキャラクタなどに必要な３Ｄ計測装置を容易に実現することが可能となる。すなわち、高精度の分解能の撮像装置を用いたシステムとしなくとも汎用的な撮像装置でも撮像装置を対象物体の近くに寄って撮影してＣＡＤデータを生成するようにすれば、近くに寄ればその分精度の良いＣＡＤデータを生成することができるので、汎用の撮像装置で撮影して得た画像情報に基づいて精度の良いＣＡＤデータを生成することができ、そのＣＡＤデータを参照できるシステムとすれば、精度の良い３Ｄ計測システムを汎用の撮像装置を用いて容易に構築することが可能となる。
【０１４０】
第６５の手段は、前記第６４の手段を適用して構成した３次元計測装置あるいはその処理装置において、生成あるいは更新されたＣＡＤデータを取り出すときに所定のＣＡＤデータのフォーマットへ変換できるようにすることである。
【０１４１】
このような第６５の手段は、前記第６４の手段を適用して構成した３次元計測装置あるいはその処理装置において、生成あるいは更新されたＣＡＤデータを取り出すときに、所定のＣＡＤデータのフォーマット、例えば、ＤＸＦのフォーマットなどへ変換できるようにしているので、アズビルトで生成されたＣＡＤデータを、例えば、Ａｕｔｏ−ＣＡＤなどの汎用のＣＡＤシステムで容易に活用できるようになる。ここで、変換するのは出力時でも良いし、内部メモリ上で変換して、別途、出力できるようにすることもできる。
【０１４２】
第６６の手段は、前記第６４および第６５の手段を適用して構成した３次元計測装置あるいはその処理装置において、生成あるいは更新されたＣＡＤデータを取り出すときに所定の閾値以下で基本図形とマッチング部分を基本図形に置き換えるようにすることである。
【０１４３】
このような第６６の手段は、前記第６４または第６５の手段を適用して構成した３次元計測装置あるいはその処理装置において、生成あるいは更新されたＣＡＤデータを取り出すときに、所定の閾値以下で基本図形とマッチングする部分を基本図形に置き換えるようにしているので、通常はリアルタイムでＣＡＤデータの更新に利用し易いデータフォーマットでメモリしておくことから、何時でも追加更新などの作業を行なうことができる。また、生成されたＣＡＤデータを利用するために取り出すときに基本図形に置き換えることで、基本図形を利用する他のアプリケーションで利用し易いデータに変換することができる。基本図形は、球，円柱，直方体，円錐などを用意して、寸法は、可変でマッチングを行なうようにすれば良い。基本図形にマッチングしない残りのＣＡＤデータは、アプリケーション側で線データや面データが取り扱えれば、そのまま変換すれば良いし、基本図形以外は不要なアプリケーションの場合には、基本図形に変換できない部分は取り出さないようにすることもできる。
【０１４４】
第６７の手段は、前記第６４〜第６６の手段を選択的に適用して構成した３次元計測装置あるいはその処理装置の移動する複数の撮像装置は、地面を走行する走行車と空を飛行する飛行体に搭載した撮像装置であるとすることである。
【０１４５】
このような第６７の手段は、前記第６４〜第６６の手段を選択的に適用して構成した３次元計測装置あるいはその処理装置の移動する複数の撮像装置は、地面を走行する走行車と空を飛行する飛行体に搭載した撮像装置としたことにより、より正確な町並みの３次元地図を容易に作ることができるようになる。すなわち、地面を走行する走行車の視覚情報処理装置は、道路や家などを下から撮影した範囲の詳細なＣＡＤデータの生成を行なうが、家の屋根上とか地面に生えている木の上の方は下から見上げている撮影のしかたでは十分な画像情報が得ることができないので、上部のＣＡＤデータまで十分に生成することはできないが、空を飛行する飛行体から見下ろして撮影した画像情報で生成されたＣＡＤデータと統合することにより、下の方から上部まで生成漏れのない、正確な町並みの３次元地図を容易に作ることができるようになる。
【０１４６】
第６８の手段は、ナビゲーション装置において、その処理装置に前記第１〜第６０の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【０１４７】
このような第６８の手段は、ナビゲーション装置において、その処理装置に前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、ＧＰＳ不要のナビゲーション装置を容易に実現することが可能となる。すなわち、移動するナビゲーション装置に撮像装置を接続して、撮像装置で周囲の環境のＣＡＤデータを生成および更新しながら、撮像装置の位置と姿勢情報をリアルタイムで取り出すようにして、環境ＣＡＤデータと撮像装置の位置と姿勢情報を表示するようにすることで容易に現在位置を確認することができるシステムとなる。環境ＣＡＤデータは、予めある程度のＣＡＤデータとしてナビゲーゲーション装置にもたせておくようにしても良いし、例えば、２次元の地図情報のみをもたせておき、走行するに従って生成されていく３次元ＣＡＤデータの道や交差点付近の建物などから２次元の地図と３次元ＣＡＤデータを対応させるようにしても良い。予め作成しておくＣＡＤデータは、特徴的な建物などをオフラインで入力しておくようにしても良いし、予め自動車や飛行体で町並みのＣＡＤデータを本発明の視覚情報処理装置で生成および合成したものを使用するようにする方法でも良い。また、更に、移動してＣＡＤデータを生成している他のナビゲーション装置と生成したアズビルトのＣＡＤデータを互いに交換し合っても良いし、中央情報処理センタなどを介して複数のナビゲーション装置で生成したＣＡＤデータを授受することができるようにしても良い。撮像装置と移動体との取り付け関係が既知であり、その関係を事前に設定しておくことにより、撮像装置の位置と姿勢を表示する代わりに、移動体の位置と姿勢を表示するようにすることもできる。また、環境ＣＡＤデータの中の目的地が入力されれば、ＣＡＤデータの中の目的地と現在の移動体の位置から、どのような経路で目的地まで移動していくのが良いかなどのナビゲーションの表示は、ＧＰＳ搭載のナビゲーション装置と同じように構成して実行すれば良い。
【０１４８】
第６９の手段は、前記第６８の手段を適用して構成したナビゲーション装置において、１つのナビゲーション装置とは別の１つあるいは複数の他のナビゲーション装置あるいは該ナビゲーション装置に接続されている撮像装置あるいは該ナビゲーション装置または該ナビゲーション装置を搭載した移動体に関する位置あるいは姿勢あるいは位置と姿勢の情報を前記１つのナビゲーション装置へ取り込み可能とし、あるいは相互に取り込み可能とすることである。
【０１４９】
このような第６９の手段は、前記第６８の手段を適用して構成したナビゲーション装置において、当該ナビゲーション装置（１）とは別の１個あるいは複数の他のナビゲーション装置（２）あるいはそのナビゲーション装置（２）に接続されている撮像装置あるいはそのナビゲーション装置（２）の移動体に関する位置あるいは姿勢あるいは位置と姿勢の情報を当該ナビゲーション装置（１）へ取り込み可能とし、あるいは相互に取り込み可能としているので、各ナビゲーション装置は自分自身の位置と周囲環境の情報以外に周囲近くに存在する他のナビゲーション装置（すなわち、他の移動体）の位置情報を参照することができるようになり、撮像装置の死角となる建物の陰から他の移動体が飛び出してきて出会い頭の衝突するような危険な事態などを互いのナビゲーション装置が事前に検知することができ、それを事前に知らせるとか、移動体にブレーキをかけるとかして衝突を未然に防ぐことができるようになる。また、子供とか年寄りの歩行者にも同様なナビゲーション装置を付けておくようにすれば、車に搭載しているナビゲーション装置が歩行者を検出して、歩行者の飛び出しなども事前に警報することにより事故の発生を防止することができるようになる。歩行者が付けるナビゲーション装置は、それの位置情報の他に歩行者であるという識別情報も発信するようにしても良いし、中央情報処理センタで予め登録しておくようにしても良い。また、識別内容も、車とか２輪車とか歩行者などのように移動体の種類を区別するようにして、異常接近時の対応処理を移動体の種類に応じて最適な方法で行なうことができるようにすることができる。
【０１５０】
第７０の手段は、ピッキングシステムの制御装置に、前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【０１５１】
このような第７０の手段は、ピッキングシステムの制御装置に前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、通常の汎用の撮像装置を最低１台準備することで、容易にピッキングシステムを構築することが可能となる。すなわち、ハンドリングするマニピュレータの先端に通常の汎用的な撮像装置を取り付けて該撮像装置からの画像情報でワークＣＡＤデータを生成するように、最初にワークの周囲から撮影をすることで、ワークのアズビルトＣＡＤデータを生成することができる。ここで、撮像装置は、ワークの周囲に複数固定して画像情報の信号を切り替えるようにして該撮像装置をワーク周囲で動かした場合と同じような画像情報が得られるようにしても良い。ワークのアズビルトのＣＡＤデータが生成できた後には、ワークの中の一つの部品の形状を予め探索用ＣＡＤデータとして登録しておき、生成された部品が沢山積み上げられたワークのＣＡＤデータの中から一つ一つの部品の位置と姿勢情報を探索機能によって求めて一番外側にある部品から順番にハンドリング用のマニピュレータでピックするように、マニピュレータの制御装置に掴む対象の部品の位置と姿勢情報を与えて該マニピュレータの制御が行なわれるようにすれば、容易にピッキングシステムを構築することができる。特にマニピュレータの先端に撮像装置を付けた場合には、撮像装置をワークに接近させて該ワークを撮影してＣＡＤデータを精度良く生成することができるので、撮像装置は、高分解の特殊な撮像装置でなく汎用の一般的な撮像装置で撮影しても精度良いＣＡＤデータを生成することができる。ピッキングで部品を取り除いて部品の積み上げられたワークの形状が変わっても、ワークのＣＡＤデータが更新されるので、常にそのときの状態に応じてピッキング制御に対応することができる。
【０１５２】
第７１の手段は、検査装置の処理装置に、前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【０１５３】
このような第７１の手段は、検査装置において、その処理装置に前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、容易に立体的な形状の検査装置を得ることができる。すなわち、例えば、マニピュレータなどの先端に撮像装置を設けて、この撮像装置でいろいろな角度から検査対象の部位を撮影するようにして検査対象のＣＡＤデータを生成するようにすれは、ＣＡＤデータは、３次元の凸凹状態を正確に再現しているので、例えば所定の場所に所定の部品がきちんと付いているかどうかなど、所定の部品の付いている位置と姿勢情報を取り出せるようにすれば、容易に自動検査装置を構築することが可能となる。
【０１５４】
第７２の手段は、前記第７１の手段を適用して構成した検査装置あるいはその処理装置に用いる撮像装置はマイクロスコープとすることである。
【０１５５】
このような第７２の手段は、前記第７１の手段を適用して構成した検査装置あるいはその処理装置に用いる撮像装置はマイクロスコープとしているので、生成された３次元のＣＡＤデータは、微細な３次元的な凸凹面になることから、例えば、ＣＤやＤＶＤなどの角度をいろいろ変えて見ないと見えない微細な傷なども容易に効率良く検査することができる検査装置を実現することできる。
【０１５６】
第７３の手段は、自律制御型ロボットの制御装置に、前記第１〜第６０の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【０１５７】
このような第７３の手段は、自律制御型ロボットにおいて、その制御装置に前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、自律制御型ロボットを容易に構築することが可能となる。すなわち、ロボットに撮像装置を付ければ、視覚情報処理装置を適用して環境のアズビルトＣＡＤデータを容易に生成することができ、その中にある撮像装置の位置と姿勢情報やロボット自身の位置と姿勢情報も容易に得ることができる。更に、環境の中の特定のＣＡＤデータを探索することもできるので、予め探索用に準備しているＣＡＤデータの有無、有る場合にはその位置と姿勢情報を得ることができるので、それが作業対象物体であれば作業対象物体の位置と姿勢と自分自身の位置と姿勢により、ロボット自身を作業対象物体に対してどのようにでも制御することが可能となる。例えば、特定の作業対象物体を探して持って帰ってくる作業内容を実行しようとする場合には、前記ナビゲーション機能を用いてロボットをナビゲーションが計画したとおりの経路に沿って移動させて作業対象物体を探索させ、作業対象物体が見つかった場合には、それに対して所定の位置と姿勢でロボット自身を接近させて、ロボットが有しているハンドリング機能で作業対象物体を掴んで、再度、ナビゲーション機能を使ってスタート地点まで戻る制御を容易に実現することができるようになる。途中に障害物があれば、環境のＣＡＤデータは、随時、生成および更新されているので、この障害物を障害物と認識することも容易に行なうことができるので、予め障害物を発見した場合の対処方法として、例えば障害物を避けて回避経路を探して進むプログラムを用意しておけば、途中に障害物があっても目的とする作業を計画どおりに自律的に実行させることが可能となる。ここで自律制御型ロボットと称するものは、自動車，無人搬送車，マニピュレータ，人間型ロボットの何れもでも良いが、ロボット自身が判断して動作制御する機能を有するロボットのことである。自律制御型ロボットは、基本的には、人間の指令に従うようにプログラムして良いが、例えば、ペットロボットなどのような場合には、充電が必要な状態の場合には充電器へ向かって充電することを優先するようにプログラムし、必ずしも指令に従わないようにしても良い。また、番犬ロボットに適用する場合には、周囲の人物の不審な服装や不審な動きを認識して、不審者に対しては不審者を追いかけるようにプログラムしておくようなシステムの構築も容易に実現することが可能となる。
【０１５８】
第７４の手段は、前記第７３の手段を適用して構成した自律制御型移動ロボットあるいはその制御装置において、目標位置と姿勢あるいはその何れか、あるいは目標位置と姿勢あるいはその何れかと移動の仕方に係わる内容を指示すると指示内容に従って自律的に目的地まで移動するようにし、移動終了したならば終了した旨を応答し、終了させることが困難とロボットが判断した場合にはその旨を応答するようにすることである。
【０１５９】
このような第７４の手段は、前記第７３の手段を適用して構成した自律制御型移動ロボットあるいはその制御装置において、目標位置と姿勢あるいはその何れか、あるいは目標位置と姿勢あるいはその何れかと移動の仕方に係わる内容を指示すると、この指示内容に従って自律的に目的地まで移動するようにし、移動を終了したならば終了した旨を応答し、終了させることが困難とロボットが判断した場合には、その旨を応答するようにするので、行き先を指示すると自動的に目的地まで移動するロボットや自動車を容易に得ることが可能となる。例えば、自動車で目的地を入力すると、前記ナビゲーション装置の機能により目的地までの経路が表示されるが、ここでは、その表示された経路に従って自動車を自動走行制御させる。途中、周囲の環境はＣＡＤデータとして生成されるので、地図にない障害物が新たに検知された場合には、予め障害物のパターン毎に用意しておく障害物の回避プログラムの中から対応するプログラムで回避制御するようにすれば、自動走行を継続することが可能となる。障害物の回避プログラムとしては、前方左にある障害物は、その右側を回避するとか、正面に別の車が障害物としてある場合には、それを形状から自動車であると認識させるようにして、自動車の場合には、それが動き出すまで待つとか減速させるなど、考えられるいろいろなパターンに対して対応できる回避プログラムを用意にしておくことでも良い。ここで、回避プログラムが用意されていないパターンに遭遇した場合には、その時点で、システムは、終了困難と判断して応答するようにしておけば良い。途中に交通信号機がある場合には、予め探索用に交通信号機のＣＡＤデータを用意しておくことにより、周囲環境の中から交通信号機を探索して、その中の赤，青，黄色に相当するランプの点灯状態を確認して、赤や黄色であれば信号のところで青が点灯するまで停止待機させ、青であればそのまま周囲の障害物を回避しながら自動走行を継続するようにプログラムすれば、交通信号機のある道路でも自動運転を容易に行なうことが可能となる。最終的に目的地の位置と姿勢で所定の場所に車が停車したならは、システムは終了の応答を返してくれるので、搭乗者は、目的地に着いたことを容易に知ることができる。途中で継続困難と応答された場合には、手動操作に切り替えて障害を回避した後に、再度、自動運転をさせるようにしても良い。また、途中で走行経路上の代表的な建物とか場所を認識した場合には、システムが現在そこを通過中であることをガイダンスするようにすることでもできる。以上のように、自動走行制御の中では、道路の状況を正しく認識して、その状況に対応する適切なプログラムを使用して自動走行制御を継続させる必要があり、途中、周囲環境の情景の沢山の物体を形状や色などの特徴も含めて認識させる必要があるが、本発明の視覚情報処理装置を適用することにより、前述したように、それらの認識を容易に実現することができるようになるため、こように自律的に走行する自動車などの自律移動ロボットも容易に実現することが可能となる。なお、実際には、視覚情報処理以外に周囲の音の情報、例えば、車が走行する音とかクラクションの音を指向性のあるマイクロフォンで検出して、その音源があると思われる方向の視覚情報処理を優先的に行なうというように、音の情報処理の結果も利用して周囲環境の認識速度を更に正確に高速に行なうことができるようにしても良い。また、この機能は、移動距離が短くても難しい運転を伴う車庫入れ操作に使用して自動運転で車庫入れを行なう自動車の自動運転などにも適用することができる。また、自動掃除機に適用して、初めての環境の地図も自動生成できるようにして、掃除した範囲とまだ清掃しない範囲を生成したＣＡＤデータを用いて管理するようにすることもできる。
【０１６０】
第７５の手段は、前記第７３の手段を適用して構成した自律制御型作業ロボットあるいはその制御装置において、作業内容を指示すると指示内容に従って自律的に作業を行なうようにし、作業終了したならば終了した旨を応答し、終了させることが困難とロボットが判断した場合にはその旨を応答するようにすることである。
【０１６１】
このような第７５の手段は、前記第７３の手段を適用して構成した自律制御型作業ロボットあるいはその制御装置において、作業内容を指示すると該指示内容に従って自律的に作業を行なうようにし、作業が終了したならば終了した旨を応答し、終了させることが困難とロボットが判断した場合には、その旨を応答するようにしているので、例えば、プラントのバルブの分解点検作業などの作業を行なわせるロボットシステムにおいても、自律的に作業する自律制御型作業ロボットを得ることが可能となる。すなわち、対象作業が、例えばバルブの分解点検作業であれば、一連の作業ロボットの動きは、動作プログラムとして組まれていて、その順番に制御が実行され、バルブはその総ての部品がプログラムが計画している場所に正確に位置していれば、単純なプログラム制御ロボットで自動的にバルブの分解点検作業を行なうことができるが、実際においては、バルブの設置位置やグランドを締め付けているボルトの位置などはバルブ毎に異なるし、同じバルブでも組み立てた状況によって様々な位置関係に組み立たるのが実際である。そこで、基本的には、前述した自動プログラムに従って作業を遂行するプログラムを実行させるが、途中、ロボットが取り扱う対象部品をアズビルトで生成したＣＡＤデータで認識させて、その部品の位置と姿勢を正確に検出してロボットを制御するようにすれば、たとえバルブの位置が大きくずれていても、バルブの分解点検作業を容易に自動で行なうができるようになる。また、いろいろな部品について認識できるように予め沢山の部品の形状データを探索用のＣＡＤデータとして用意しておけば、いろいろな種類のバルブの分解点検に対応できるようにすることもできる。しかしながら、分解途中で認識不可能な部品が出てきた場合には認識不可能となるので、その時点で作業の継続は困難となることから、その旨を応答して自動運転を終了する。最後まで作業が完了したならば、その旨を応答すれば作業が完了したことを容易に確認することができる。このように、本発明の視覚情報処理装置により物体の認識を容易に実現可能となるために、このような作業を自動的に行なうことのできる自律制御型作業ロボットも容易に実現することが可能となる。また、介護の必要な人のための介護ロボットへ適用すれば、スプーンとかコップとか、介護を要する人の口の位置とかを認識して、カップの中のスープなどをスプーンでとって介護者の口までもっていくような制御も容易に行なうことができるようになる。このような介護ロボットでは、介護者がロボットに大まかな指令を与えることで、介護者がロボットに実施させたい作業を実施させるシステムを容易に構成することができる。
【０１６２】
第７６の手段は、前記第７３〜第７５の手段を選択的に適用して構成した自律制御型ロボットあるいはその制御装置において、自律制御系とは独立系統でロボットが安全に動作していることを監視できるようにすることである。
【０１６３】
このような第７６の手段は、前記第７３〜第７５の手段を選択的に適用して構成した自律制御型ロボットあるいはその制御装置において、自律制御系とは独立系統でロボットが安全に動作していることを監視できるようにしているので、自律制御型ロボットが目の届かない離れた場所で動いている場合にも安全に該ロボットを監視することができる。独立系統の監視手段を設けるために、複雑な自律制御による影響を受けないで常に監視することが可能となる。監視は、人間が直に行なうようにしても良いし、自動監視装置を用いて監視するようにしても良い。
【０１６４】
第７７の手段は、前記第７６の手段を適用して構成した自律制御系とは独立系統であって、ロボットが安全に動作していることを監視できるようにする手段を、独立制御系からなる監視カメラシステムであるとすることである。
【０１６５】
このような第７７の手段は、前記第７６の手段を適用して構成した自律制御系とは独立系統でロボットが安全に動作していることを監視できるようにする手段を、独立制御系からなる監視カメラシステムとしていることで、映像によって直に目視する監視を行なうことができるので、より的確に現場の状況を把握することができる。
【０１６６】
第７８の手段は、前記第７５および第７６の手段を適用して構成した自律制御型ロボットあるいはその制御装置において、ロボットの安全監視中に緊急対応が必要となった場合に自律制御系とは独立系統でロボットの緊急対応制御を実行することができるようにすることである。
【０１６７】
このような第７８の手段は、前記第７５または第７６の手段を適用して構成した自律制御型ロボットあるいはその制御装置において、ロボットの安全監視中に緊急対応が必要となった場合には、自律制御系とは独立系統でロボットの緊急対応制御ができるようにしているので、万一の場合には、緊急停止とかマニアルへの切り替えが確実に行なえるようになる。また、監視映像系が途切れた場合は、自動または手動で自律的に終了させる機能をロボットに設けても良い。
【０１６８】
第７９の手段は、前記第６１〜第７８の手段を選択的に適用して構成した各種ロボット，文字読み取り装置，３次元計測装置，ナビゲーション装置，ピッキングシステム，検査装置あるいはその制御装置，処理装置において、マンマシンインタフェースの部分に音声認識機能あるいは音声合成機能あるいはその両方の機能をもたせるようにすることである。
【０１６９】
このような第７９の手段は、前記第６１〜第７８の手段を適用して構成した各種ロボット，文字読み取り装置，３次元計測装置，ナビゲーション装置，ピッキングシステム，検査装置あるいはその制御装置，処理装置において、マンマシンインタフェースの部分に音声認識機能あるいは音声合成機能あるいはその両方の機能をもたせるようにしているので、人間とのＩ／Ｆが更に容易になる。例えば、音声認識で指令を受けてそれを正しく受けた場合には「はい」と応答を返し、指令の作業の実行を終了した場合には「終了しました」、途中で継続困難となった場合には「実行できませんでした」と応答するようにするので、ロボットの指示と結果の応答があるので、人間は容易に作業結果を理解することが可能となる。更に、途中の作業状況を音声出力して状況を人間に分かり易く知らせるようにしても良い。
【０１７０】
第８０の手段は、撮像装置において、１次元あるいは２次元の撮像素子（ＣＣＤセンサ）を回転させ、回転に同期してＣＣＤセンサの信号を取り込み画像情報として出力可能とする信号処理回路を有し、当該信号処理回路はＣＣＤセンサと共に回転するように構成することである。
【０１７１】
このような第８０の手段は、撮像装置において、１次元あるいは２次元の撮像素子（ＣＣＤセンサ）を回転させ、回転に同期してそそしセンサの信号を取り込み画像情報として出力可能とする信号処理回路を有し、この信号処理回路は、ＣＣＤセンサと共に回転するように構成しているので、広い範囲の撮影を行なえる撮像装置を容易に実現することができる。また、信号処理回路を回転するＣＣＤセンサと一緒に回転させるので、ＣＣＤセンサと信号処理の間の信号の授受をスリップリングなどの回転部分を介在させて行なう必要がなくなり、回転式で広範囲を撮影することができる撮像装置を用意に実現することができる。
【０１７２】
第８１の手段は、前記第８０の手段を適用して構成した撮像装置において、信号処理回路は指令信号を入力可能として指令信号の指令内容に基づき画像情報を加工して出力可能とすることである。
【０１７３】
このような第８１の手段は、前記第８０の手段を適用して構成した撮像装置において、信号処理回路は、指令信号を入力可能として指令信号の指令内容に基づき画像情報を加工して出力することができるので、必要な部分のみの情報を効率良く取り出せるようにすることができる。
【０１７４】
第８２の手段は、前記第８０および第８１の手段を適用して構成した撮像装置において、信号や情報を外部と授受するための通信用に無線通信手段を有し、当該無線通信手段はセンサと共に回転するように構成することである。
【０１７５】
このような第８２の手段は、前記第８０または第８１の手段を適用して構成した撮像装置において、外部との通信用に無線通信手段を有し、この無線通信手段はＣＣＤセンサと共に回転するように構成しているので、映像信号，制御信号など信号，情報を回転する部分から静止する部分に取り出すための信号用スリップリンなどを不要にすることができる。
【０１７６】
第８３の手段は、前記第８０〜第８２の手段を選択的に適用して構成した撮像装置において、電力発生装置を設け、この電力発生装置はセンサと共に回転するように構成することである。
【０１７７】
このような第８３の手段は、前記第８０〜第８２の手段を選択的に適用して構成した撮像装置において、電力発生装置を有し、この電力発生装置は、ＣＣＤセンサと共に回転するように構成しているので、電源供給用のスリップリングを不要にすることができる。
【０１７８】
第８４の手段は、前記第８０〜第８３の手段を選択的に適用して撮像装置において、前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを有し、この視覚情報処理装置あるいは視覚情報処理システムはセンサと共に回転するように構成することである。
【０１７９】
このような第８４の手段は、前記第８０〜第８３の手段を選択的に適用して構成した撮像装置において、前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを有し、この視覚情報処理装置あるいは視覚情報処理システムは、ＣＣＤセンサと共に回転するように構成しているので、広範囲を撮影することができる撮像装置付きの視覚情報処理装置を簡単に構成することができる。
【０１８０】
第８５の手段は、複数の端末から送られてくる情報を中央情報センタで統合し、統合した情報の全部あるいは一部をユーザへ提供する情報統括提供サービスシステムにおいて、当該情報はＣＡＤデータあるいはＣＡＤデータと端末の状態情報を含むものであるとすることである。
【０１８１】
このような第８５の手段は、複数の端末から送られてくる情報を中央情報処理センタで統合し、統合した情報の全部あるいは一部をユーザへ提供する情報統括提供サービスシステムにおいて、これらの情報は、ＣＡＤデータあるいはＣＡＤデータと端末の状態情報を含むものとしていることにより、互いに他の人が生成したＣＡＤデータを容易に利用し合えるようになる。
【０１８２】
第８６の手段は、前記第８５の手段を適用して構成した情報統括提供サービスシステムにおいて、そのシステムの処理装置に前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムあるいは前記第８０〜第４の手段を選択的に適用して構成した撮像装置を適用することである。
【０１８３】
このような第８６の手段は、前記第８５の手段を適用して構成した情報統括提供サービスシステムにおいて、そのシステムの処理装置に前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムあるいは前記第８０〜第８４の手段を選択的に適用して構成した撮像装置を適用しているので、容易にアズビルトのＣＡＤデータの生成と統合が可能となる。
【０１８４】
第８７の手段は、１台あるいは複数の端末から送られてくる情報をセンタで統括監視する監視サービス提供システムにおいて、ユーザからのリクエストによりユーザを探索し、監視中はユーザを追跡して、ユーザおよびユーザの周辺を連続して監視するようにすることである。
【０１８５】
このような第８７の手段は、１台あるいは複数の端末から送られてくる情報をセンタで統括監視する監視サービス提供システムにおいて、ユーザからのリクエストによりユーザを探索し、監視中はユーザを追跡して、ユーザおよびユーザの周辺を連続して監視するようにしているので、ユーザの安全を保証する監視サービスシステムを容易に構築することが可能となる。ここで、追跡は、手動装置で行っても良いし、画像処理等で自動追尾を行なうようにしても良い。また、自律制御型ロボットのユーザがロボットの監視用に本サービスを利用することでもできる。画像は、監視中、録画されるようにして後で参照できるようにしておくと良い。また、監視カメラなどが設置されていない場所や設置数の少ない場所を人が移動するような場合には、人が携帯用の小型カメラ付けて本サービスを受けられるようにすることもできる。
【０１８６】
第８８の手段は、前記第８７の手段を適用して構成した監視サービス提供スシステムにおいて、そのシステムの処理装置に前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムあるいは前記第８０〜第８４の手段を選択的に適用して構成した撮像装置を適用することである。
【０１８７】
このような第８８の手段は、前記第８７の手段を適用して構成した監視サービス提供スシステムにおいて、そのシステムの処理装置に前記第１〜第６０の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムあるいは前記第８０〜第８４の手段を選択的に適用して構成した撮像装置を適用しているので、３次元ＣＡＤデータに基づいてユーザの自動追跡が容易になる。また、周辺の状況を３次元ＣＡＤデータで見ることができるようになるので、より一層、的確に現場状況を確認することができるようになる。
【０１８８】
【発明の実施の形態】
本発明の実施の形態を図面を参照して説明する。
【０１８９】
図１は、本発明の視覚情報処理装置における第１の手段および第２の手段の基本構成を示すブロック図である。
【０１９０】
画像情報処理装置１００は、撮像装置１０によって得た画像情報を直に／または記録媒体を介して間接的に入力してＣＡＤデータを生成し、生成したＣＡＤデータを記憶装置２００に記憶させる。
【０１９１】
撮像装置１０は、移動するＴＶカメラのような装置であり、ＣＡＤデータ化するあらゆる物体をいろいろな角度から撮影して画像情報を生成する。
【０１９２】
画像情報処理装置１００は、撮像装置１０が撮影して生成した画像情報を直に／または間接的に入力して該画像情報に含まれるあらゆる物体の３次元ＣＤＡデータを生成して記憶装置２００に記憶させる。また、この画像情報処理装置１００は、必要に応じて、記憶装置２００に記憶している既成ＣＡＤデータを読み込み、新たに生成した新生ＣＡＤデータと精度を比較し、新生ＣＡＤデータの精度が既成ＣＡＤデータよりも高いときには記憶装置２００に記憶している既成ＣＡＤデータを新生ＣＡＤデータで更新する。撮像装置１０は、環境を自由に動き回ることができるので、環境にある物体に近寄ることや離れることもできる。撮像装置１０が対象物体に近くなれば精度良く物体を撮影することができるので、例えば、遠くでは１本の線に見えていた部分が近くに寄るとか、見る角度が変わることによって２本に見えることがあるので、画像情報処理装置１００は、先に生成した既成ＣＡＤデータをより詳細になるように、また、先に誤認識して生成した部分を修正するように更新するＣＡＤデータ更新機能を有する。
【０１９３】
これによって、撮像装置１０をいろいろと動かして物体を詳細に撮影すればするほどより正確なＣＡＤデータを構築することができるようになる。また、いろいろな位置に動き回ることができる撮像装置１０であるので、物体の裏面も下面も上面も撮影して画像情報を生成することができるので、精度良いアズビルトのＣＡＤデータを容易に生成することができるようになる。
【０１９４】
図２は、本発明の視覚情報処理装置における第３の手段および第４の手段の基本構成を示すブロック図である。
【０１９５】
画像情報処理装置１００は、第１の撮像装置１０と第２の撮像装置２０によって撮影して得た２つの画像情報を直接または記録媒体を介在させて間接的に入力する。第１の撮像装置１０と第２の撮像装置２０は、ステレオ計測を行なうことができるように、所定の間隔をおいて固定する。この構成であれば、画像情報処理装置１００は、２台の撮像装置１０，２０から入力する２つの画像情報を用いてステレオ計測で物体までの距離情報を計測しながらＣＡＤデータを生成することが可能となる。その他は、図１に示した視覚情報処理装置の構成と同じ構成である。
【０１９６】
次に、画像情報処理装置１００の内部構成について説明する。画像情報処理装置１００は、基本的には、演算処理装置と情報（演算）処理プログラムによって構成する。ここで、第１の手段および第２の手段は、図１に示すように単眼の撮像装置１０を使用して構成する場合であり、第３の手段および第４の手段は、図２に示すように複眼（ステレオ）の撮像装置１０，２０を使用して構成する場合であるが、画像情報処理装置１００の基本的な情報処理の流れは同じになるので、ここでは、まず、単眼の場合の基本的な処理の流れを説明した後に、図３〜図８を用いて、複眼（ステレオ）の場合の処理を説明する。単眼の場合の処理は、複眼（ステレオ）でないとできない処理を省いたような処理となる。
【０１９７】
単眼の場合の基本的な処理の流れでは、処理をスタートすると、撮像装置１０によって得た画像情報を取り込み、微分処理やノイズ除去などの処理を行い、線分を抽出して、例えば、その線分の始点と終点をトラッキングなどで追跡することにより、複数の違った視点から撮影した複数枚の画像情報間で始点と終点のように対応する点の明確な画像情報が得られるので、写真計測法でそれらの点の３次元座標を計算する。そして、その３次元の始点と終点を結ぶ線分を３次元のＣＡＤデータとして定義し、同じように複数の線分について定義していくことにより、空間にある物体のいろいろな部分の線分のＣＡＤデータを生成する。ここで、更に、撮像装置１０を移動させて対象物体に近寄せれば、撮像装置１０は対象物体をより大きく撮像することができるので、分解能、すなわち、精度が良くなる。それで引き続きＣＡＤデータの生成処理を繰り返して、以前に１本に見えていた線が２本に見えるようになったならば（ＣＡＤデータ更新対象判別機能およびＣＡＤデータ精度処理機能）、既成のＣＡＤデータにおける１本の線分を２本の線分に更新する（ＣＡＤデータ更新処理機能）。
【０１９８】
このような機能により、撮像装置１０を移動させて対象物体をより詳しく観察（撮影）すればするほど、より精度の良いＣＡＤデータに置き換えていくことができる。
【０１９９】
このようにすることで、トラッキングの途中で線分の一方の端点が見えなくなってしまって、所定の枚数の画像情報の中で対応点がとれない点が生じるとしても、それはそれでその点はまだ処理をしないで対応点のとれた十分な枚数が揃った点のみを処理して、それらの点で３次元のＣＡＤデータを生成していく処理を繰り返せば、撮像装置１０は移動を継続しているので、ＣＡＤデータの更新処理機能と組み合わせることにより、徐々に計測される点も増えてＣＡＤデータも増え、また、より詳しく更新されながらＣＡＤデータがより正確なものになっていく。
【０２００】
ここで、１度、２本に見えた線を２本の線分のＣＡＤデータにした後に、再度、撮像装置１０が物体から遠ざかって遠くから撮影するようになった場合には、再度、１本の線分に戻すような更新処理の仕方をしても良いが、１度、２本に見えるようになったものは、その後に１本になっても、２本が１本に見えているだけということで、ＣＡＤデータを１本には更新しない処理方法とすることが、ＣＡＤデータをより正確に作成するという目的の場合には適切である。この場合、例えば、３次元の座標を計算する場合のそのときのその計算結果の精度に関する情報を一緒に記憶しておくようにして、再度、同じ場所の同じあたりの点（先に計算されている点を中心に所定半径の球を考えてその中に入る点とかとして同じ場所か否かを判別しても良い。このとき、想定する半径は先に計算されている点の精度に応じて精度が良ければ小さく、精度が悪ければ大きく設定するようにしても良い。）が求められた場合には、今回求めた精度と前回求めた精度を比較して、精度の高い方を残すようにする処理方法にすると良い。
【０２０１】
ＣＡＤデータの更新の概念は、別途、図面を参照して詳細に説明する。ここでは、更新する処理機能を設けることによって、従来、難しいとされていた対応点を確実に追跡する問題を完全に解決する手段を適用しなくとも、そのときそのときに生成できる点のみや生成できる線分のみを生成して、より、精度良く生成された場合には置き換えていく、すなわち、更新していくことにより、撮像装置１０を必要な精度のＣＡＤデータが十分に得られるように十分に移動することにより、使用目的に十分に対応することができる精度のＣＡＤデータを得ることができるようになる。
【０２０２】
次に、図３〜図８を用いて、複眼（ステレオ）の場合の処理を説明する。複眼（ステレオ）の場合には、ステレオによる３次元の計測と、撮像装置１０，２０を移動させることによって、単眼の場合と同じように写真計測と組み合わせた場合の実施の形態を説明する。３次元（３Ｄ）座標を計測する手段、トラッキングの手段、何を特徴点としてトラッキングさせるかとか、ＣＡＤデータは３次元データのみ生成するようにするとか、２次元の各画像情報ベースで２次元のＣＡＤデータも併用するなどＣＡＤデータの生成の仕方にもいろいろ考えられるので、処理速度とか、メモリ容量を小さくするとか、その目的にあった適切な手法を適用しても良い。このように本発明の適用の仕方はいろいろあるが、ここではあくまでも、一実施の形態として説明する。
【０２０３】
図３は、第３の手段，第４の手段を実現する画像情報処理装置１００における処理の基本的な流れを示すフローチャートである。
【０２０４】
スタート１００ａは、電源ＯＮで処理がスタートするようにしても良いし、スタート釦などでスタートさせるようにしても良いが、処理の開始の部分である。スタート１００ａから処理が始まると、処理の流れとしては、まず、撮像装置１０，２０によって得た画像情報の取り込み処理１００ｂを行なう。取り込んだ画像情報は、記憶装置２００へ生画像情報として記憶しても良いし、画像情報処理装置１００内の画像専用メモリに記憶するようにしても良いが、次の処理に使えるようにしておくことが必要である。
【０２０５】
次に、取り込んだ画像情報の微分処理やノイズ除去などの処理（１）１００ｃを行なう。
【０２０６】
ここで、この処理（１）１００ｃの具体例を図４を参照して説明する。画像情報はステレオであるので２枚分ある。左の生画像情報（生画像）１０１ａに対して微分処理などを行なうことによって、処理画像情報１０１ｃのような線画像情報（線画像）を生成する。この処理は、微分処理でなくても良く、輪郭を抽出する処理を行なえば同じ結果が得られる。右の生画像情報（生画像）１０１ｂも同様に処理することにより、処理画像情報１０１ｄのような線画像情報（線画像）に変換する。ここで、重要なことは、線分の始点，終点などをトラッキングで追従したりするので、照明の状態が少し変わったり、撮像装置１０，２０の視点が少し変わった程度で抽出される線分の長さとかが極端に変化しないような安定な処理結果が得られるように、微分処理を行なうパラメータとか、ノイズ除去のパラメータ、手法などを考慮することである。また、線分の端点が他の線分と接しているか否かもある閾値を用いて判定するような処理を行い、照明の条件などで線分が離れた状態で抽出されたような場合でもそれを付けるような補正をするようにすることが望ましい。但し、他の線分と接していると見做せない線分は、見做せる線分が抽出されるまで、そのままにする。何れも、撮像装置１０，２０の視点が多少変わっても同じように抽出されるようにするのが良い。
【０２０７】
次の処理（２）１００ｄでは、線分にナンバリング処理をしたり、ステレオの場合には、左右の線分の対応付けを行なう。
【０２０８】
ここで、この処理（２）１００ｄの詳細を図５を参照して説明する。抽出した線画像情報（線画像）の各線分に名前を付けて管理する。線理画像情報（線画像）１０２ａ，１０２ｂには、直方体の輪郭が各々抽出されている。この直方体を構成する各線分にＬ１からＬ９までの名前を付けて管理できるようにナンバリングを行なう。ナンバリングした各線分の線画像情報１０２ａ，１０２ｂ上での座標で、その始点，終点，線種，曲線の場合には該曲線の関数などを２次元画像データベースとして内部メモリまたは記憶装置２００へ記憶させて登録する。ここで、この２次元画像データベースの簡単なイメージを下記する。
【０２０９】
【表１】
2004201085.tif 000003
【０２１０】
これらのデータは、撮像装置１０，２０が移動して撮影シーンが変わったならば、シーン▲２▼，▲３▼…と増やしていく。
【０２１１】
左右の撮像装置１０，２０は、人の左右の目と同じ程度に近くに離れた状態に設置することにより、左右の画像情報は少しずれてはいるがほとんど似た画像情報となる（左右の相関性は非常に良い）ので、それを利用して左右の画像データの各々対応する線分や点の対応付けを行なう。対象物体が目前にあって左右の画像情報が極端に違う場合の処理は、部分的なマッチングと十分に同じと判断できる部分の点のみを対応付ける。対応がとれなかった点は、後に撮像装置１０，２０が移動した場合の時系列の画像情報で写真計測から求めれば良いので、ここで１００％の対応とれないからと言って処理ができなくなるものではない。求めた対応付けの関係は、左右の２次元画面データベースにも登録しておく。例えば、上記の例のように線分名称を同じにすることでも良い。線分名称をメモリのレコードＮｏ．として定義しても良いし、左右のデータを記憶装置２００内の物理的に別々のメモリへ記憶させて登録するようにしても良い。始点，終点の座標は、ここでは、画像メモリ上の番地になるので整数で良い。線種が直線の場合には、フィッティング関数の係数はなしで良い。曲線が２次曲線であれば、Ｙ＝ａＸ２＋ｂＸ＋ｃという関数でフィッティングさせる場合には、係数はａ，ｂ，ｃの３つとなる。線種が円や楕円の場合には、その関数に必要な係数を必要な数だけ登録する。点は、短い線分として始点と終点が一致している線分として定義して良い。
【０２１２】
次の処理（３）１００ｅでは、ステレオ処理ができる複眼の場合には、この時点で各線分を３次元のデータに変換して３次元形状モデルを生成する。
【０２１３】
ここで、処理（３）１００ｅの詳細を図６を参照して説明する。既に処理（２）の段階において左右で対応の取れた線分データがＬ１〜Ｌ９として得られているので、複眼のステレオ計測にて、各線分の始点，終点の座標は、３次元空間での座標に計算して求めることができる。その３次元の座標を計算した結果に基づいて、この処理（３）では、３次元データベースを生成する。
【０２１４】
この３次元データベースの概念は、直方体の線分Ｌ１〜Ｌ９を３次元の線分データに変換することができ、また、各線分が繋がって閉ループを作れば、面Ｓ１，Ｓ２，Ｓ３を定義することができる形態である。また、何もない状態では、最初の平面（無限遠の無限平面と考えても良い。）Ｓ０を定義することができる。
【０２１５】
具体的には、左右の対応付けされた画像情報から３次元の線分Ｌ１〜Ｌ９の始点，終点，線種，線の関数を登録する。次に、３次元の線分で閉ループを形成している３次元の面Ｓ１〜Ｓ３の構成線分，面の種類，面の関数を登録する。背景は、取り敢えず、面Ｓ０として登録する（最初は、未だ背景面は定まらないので、データの中味はない状態である。）。
【０２１６】
この３次元データベースの簡単なイメージを下記する。
【０２１７】
【表２】
2004201085.tif 000004
【０２１８】
上記の面データは、単純な平面データのみであるので、面を構成する線分名称をデータとしてもつだけでも良い。
【０２１９】
次の処理（４）１００ｆにおいて、必要であれば、見えない部分のデータを生成する。これは、総てのデータを円筒，球，円錐，直方体などの基本図形と見做してＣＡＤデータを生成する場合には有効である。但し、必ずしもそうする必要はない。
【０２２０】
この処理（４）１００ｆの詳細を図７を参照して説明する。
【０２２１】
最初の撮影で得た画像情報に基づいて生成した３次元の平面群から基本図形の一部を構成していると推定することができる面群を探索する。見つからないときには、この処理をパスする。平面Ｓ１，Ｓ２，Ｓ３が基本図形の一部を構成していると推定したときには、その座標データに基づいて、基本図形に置き換えると、どの基本図形に一番近いかを判別する。そして、平面Ｓ１，Ｓ２，Ｓ３が直方体の一部であると判別すれば、見えてない面を推定平面ＳＳ４，ＳＳ５，ＳＳ６として生成する。このとき、見えていない部分の線分データも推定線分ＳＬ１０，ＳＬ１１，ＳＬ１２として生成する。更に、構成面はＳ１，Ｓ２，Ｓ３，ＳＳ４，ＳＳ５，ＳＳ６である推定ソリッドデータＳＶ１を定義する。そして、これらのデータを３次元データベースに登録する。
【０２２２】
このようにステレオ処理を併用すると、撮像装置１０，２０が動き出す前からＣＡＤデータを、一部に推定部分はあるものの、直ぐに、例えば、マニピュレータのハンドリングなどにおいて対象物体に向けてアームを移動させるための制御情報（物体検索情報）として利用できる状態にすることができる。
【０２２３】
ここで、推定データは、推定データであることが分かるように管理しておき、例えば、物体の裏側に回り込んで該裏側の部分を撮影した画像情報に基づき該裏側の部分のＣＡＤデータを生成したときには、推定ＣＡＤデータは推定でないＣＡＤデータに置き換えるようにする。
【０２２４】
以上のように、図３に示したフローチャートにおける処理（１）１００ｃ，処理（２）１００ｄ，処理（３）１００ｅ，処理（４）１００ｆで必要な部分の処理を行なうようにして２次元画面データベースと３次元データベースへの登録と、撮像装置１０，２０からの画像情報の取り込みとを繰り返しながら行なうことにより、撮像装置１０，２０が動き出せば、多くの２次元画像データ（シーン）が蓄積される。そして、処理１００ｇにおいて２次元画面データの溜り具合を監視し、ある程度溜まった段階で処理（５）１００ｈの写真計測で座標を求めるようにすれば良い。
【０２２５】
処理（５）１００ｈの詳細を図８を参照して説明する。左右の撮像装置１０，２０の何れかの生画像情報と考えて良いが、生画像情報１０５ａの物体も視点が変わると生画像情報１０５ｃ，生画像情報１０５ｅのように見え方も変わる。
【０２２６】
ここで、右側は３次元データベースに登録されているデータに基づく線画像情報の概念で、線画像情報１０５ｂ，１０５ｄ，１０５ｆのように、撮像装置１０（２０）の視点の角度によっては見えないことから推定により生成している推定線分ＳＬ１０，ＳＬ１２の線分は、画像情報１０５ｄの段階では見えないので推定のレベルであるが、画像情報１０５ｆの段階では実際に撮影された画像情報では見えるようになることから該画像情報に基づいてこれらの線分を直に生成することができるようになるので、推定線分ＳＬ１０は線分Ｌ１０へ、推定線分ＳＬ１２は線分Ｌ１２に確定することができる。また、このように違う視点から撮影した画像情報に基づく２次元画像データが増えると写真計測を適用することができるので、各線分を定義している始点や終点のＸ，Ｙ，Ｚの空間座標は、ステレオ計測で求めておいた座標値から写真計測で求める座標の方がより精度良く求められる部分は座標データを書き換えてＣＡＤデータの精度上げるように更新するようにする。このとき、３次元データベースの各座標値がステレオ計測で求められた場合にはそのときの測定精度をデータベースへ記憶させておき、新たにステレオ計測でも写真計測でも同じ点を再計算した場合には、その手法でそのときの条件で計算される３次元座標値の精度を求め、前の座標値を計算したときの精度よりも良い場合には座標値とその精度データを更新するようにする。因みに、３次元の座標計算の精度は、離れた物体については、ステレオ計測よりも写真計測の方が良い場合がある。これによって、精度が向上する場合にはＣＡＤデータを自動的に更新することができるようになる。
【０２２７】
なお、図３における処理（１）１００ｃ〜処理（４）１００ｆを繰り返す場合の処理内容を以下に補足説明する。
▲１▼  最初は停止している撮像装置１０，２０もそのうちに移動する。撮像装置１０，２０の位置と姿勢の変化もこの中で計算して良い。
▲２▼  ２次元画面データが逐次追加されるので、途中の変化の少ないデータは削除してデータ量が爆発（メモリが不足）しないようにする。
▲３▼  同じ画面内に新たな線分や点が生じた場合には、２次元図面データベースへ新たに登録する。
▲４▼  同じ画面内の同じ線分や点は、移動しても同じ線分や点として追跡管理する。動画のトラッキングとしての対応付けをこの２次元画面データベースにて管理する。
▲５▼  同時に左右の画像の対応点にも誤りがないかどうかを、逐次、チェックして、誤りが発見された場合には、それに関わる部分の再計算を直ぐに行い、２次元画面データベースおよび３次元データベースを修正する。
▲６▼  新たに新しい線分や点が生じた場合には、処理（３）１００ｅ，処理（４）１００ｆにて３次元データベースに新たなモデルを追加生成する。
▲７▼  ２次元画面データが蓄積されてきたならば、処理（５）１００ｈも実施して、３次元データベースに新たなモデルを追加生成する。
【０２２８】
このように撮影シーンを画像処理して３次元座標を計算するときに、撮像装置１０，２０のレンズは、実用的には、広角レンズを使用して広範囲を撮影することにより、トラッキング追従している特徴点を見失う機会を少なくすると共に、短時間で広範囲の環境のＣＡＤデータを生成したり、検索できるようにすることが望ましいが、広角レンズを使用すると撮影して得た画像情報の周縁部分に歪みが発生して正確な３Ｄ計算を行なうことができなくなることがある。従って、広角レンズを使用するときには、歪みの少ない広角レンズを使用するようにする配慮や、レンズの歪みを画像処理で補正しながら３Ｄ計算を行なうようにする配慮が必要になる。
【０２２９】
画像情報の歪みは、レンズの屈折により発生するものであり、レンズの屈折率の関係から、画像情報の歪み特性は、レンズの特性として既知となるので、レンズの歪み特性に応じた補正を画像処理の前処理の段階で行なうことにより、補正後の歪みのない画像情報に基づいた３Ｄ計算が可能となる。このような処理を高速に行なうためには、ＬＳＩ回路のようなハードウェアによって行なうようにすると良い。また、ズームレンズを使用するときには、ズームの状態によってレンズの特性（補正パラメータ）が変わるので、ズーム状態を取り込んで補正処理を行なう補正回路とすることが望ましい。
【０２３０】
図９は、ＣＡＤデータとして生成される浮遊線分の活用の概念を示している。図９において、例えば、線分Ｌ１１，Ｌ１２，Ｌ１３は、直方体の各面に付いている線であり、それらの線分データの座標データは、直方体の平面の一部に含まれる座標であり、直方体の形状を示している。また、実際に線が描かれている場合には、模様データとしてその物体の特徴を示す線分データとしても活用することが可能である。
【０２３１】
従って、輪郭線を抽出したときに生じる平面を構成しない浮遊線分は、２次元画面データベースおよび３次元データベースに登録して管理する。各線分は、何れの面に付いているかも登録して管理する。これらの浮遊線分は、面データを作成するときに、面の中の線分の座標を参照することにより該面の形状を表現することができ、また、模様や傷などを参照データとして探索する場合には、マッチングするために必要なデータとなる。また、面データも何処かの面に付いている場合には、その関係を登録して管理する。
【０２３２】
図１０は、円筒や球体へ適用した場合の概念を示している。円筒には線分Ｌ７、球体には線分Ｌ８が付いている。これらは実際の線分データとして、円筒や球体の表面形状の一部を示しているデータとなる。
【０２３３】
図１０において、線分Ｌ１，Ｌ４，Ｌ５，Ｌ７は、曲線としてデータベースに登録する。面Ｓ２，Ｓ３は、実際には曲面であるが、この段階では不明である（平面かも知れない）。面Ｓ２，Ｓ３は、視点が変わると線分Ｌ２，Ｌ３，Ｌ５の位置が変わることから、線分Ｌ２，Ｌ３，Ｌ５は、曲面の境界線であることが分かり、基本図形の特徴から円柱および球体と推定定義するか、浮遊線分Ｌ７，Ｌ８の座標から曲面関数として推定定義する。
【０２３４】
図１１は、特殊曲面のＣＡＤデータとしての定義の一例を示している。例えば、木９００の茂っている葉などは、遠くから撮影した画像情報では一枚毎の形状が見えない。その場合は、例えば、輪郭線Ｌ１が作っている特殊面Ｓ１に線分Ｌ２，Ｌ３，Ｌ４，Ｌ５，Ｌ６が付いていると見做す。各線分は、３次元の座標値をもっているので、その線分が表面に付いている特殊曲面Ｓ１の形状は、それ線分データの付いている部分に表面があると考えることが可能となる。このような特殊面の定義の概念を用いれば、皺のある布や着物の複雑な曲面とか、砂山などの表面を定義することが可能となる。
【０２３５】
具体的には、葉の茂った木９００では、輪郭線Ｌ１，Ｌ７は、はっきりと抽出することができるが、頂点などがないので形状を定義し難いことから、輪郭線Ｌ１，Ｌ７が形成している曲面Ｓ１，Ｓ２を定義して、この曲面Ｓ１，Ｓ２上に浮遊線分Ｌ２，Ｌ３，Ｌ４，Ｌ５，Ｌ６，Ｌ８，Ｌ９，Ｌ１０，Ｌ１１などが存在するとして該曲面上に定義する。風で葉が揺れたり、光の具合で浮遊線分の位置や形状が変わったり、消えたりするが、その瞬間のデータを正と見做せばそれで良い。このような大雑把な表現で良いと考える理由は、遠くの物体のデータは、精度を必要とする制御に直接利用することはない、ことにある。マニピュレータで葉を掴むようなハンドリング制御では、手先が葉に近づけば、撮像装置１０，２０も同様に葉に近づいて葉の一枚一枚の詳細な画像情報が得られることから、ＣＡＤデータも相応して詳細になって必要な精度が得られるようになるからである。
【０２３６】
ソリッドデータとしても、同様に、浮遊線分Ｌ２，Ｌ３，Ｌ４，Ｌ５，Ｌ６，Ｌ８，Ｌ９，Ｌ１０，Ｌ１１などが存在する曲面からなる物体として定義することができる。このソリッドデータは、この程度の大きさのこのような形状の木として調べるときに利用することができる。曲面は、可能であれば、浮遊線分の座標データよりそれらの点を含む曲面の関数で表現した方が処理を機械化し易い場合もある。
【０２３７】
このような特殊曲面は、布，着物，かばん，タオルなどのように皺のある複雑な曲面の物体、人の指，腕，服など、砂山，遠くの山，カーテンなどの背景のような物体においても同様な表現となる。
【０２３８】
図１２は、本発明の第１の手段，第２の手段，第３の手段においてＣＡＤデータを更新する場合の実施の形態を示したものである。
【０２３９】
（Ａ）は、物体を該物体から遠く離れて位置する撮像装置１０，２０によって撮影したときの生画像情報であり、近くへ寄って撮影すると（Ｂ）のようになる。この物体は、例えば、机のようなものである。
【０２４０】
この物体を遠くから撮影して得た生画像情報（Ａ）に基づいてＣＡＤデータを生成すると、（ａ）に示すように、線分Ｌ１〜Ｌ９からなる直方体が生成される。そこで、撮像装置１０，２０を物体の近くに寄せて撮影して得た生画像情報（Ｂ）に基づいてＣＡＤデータを生成すると、（ｂ）に示すようなデータを生成することになる。この場合には、新たな線分Ｌ１０，Ｌ１１，Ｌ１２，Ｌ１３，Ｌ１４が生成して追加されると共に線分Ｌ１〜Ｌ９の始点と終点の座標データも近くで計測しているのでより精度の良い座標データに更新される。
【０２４１】
具体的には、物体を遠くから撮影して得た生画像情報に基づいて生成される１本の輪郭線は、近づいて撮影して得た生画像情報によれば、分解能が向上することから、２本の輪郭線となることがあり、より正確な形状データとなる場合がある。
【０２４２】
ここでは、２次元画面データベースの更新で説明するが、同様に、関連する総ての３次元データベースも更新するものとする。
【０２４３】
物体から遠く離れた位置で該物体を撮影して得た生画像情報に基づいて生成した線分Ｌ１，Ｌ２，Ｌ３，Ｌ５は、それぞれ１本であるが、近寄った位置で撮影して得た生画像情報に基づいて生成した線分は、それぞれが２本になる。線分Ｌ１，Ｌ２，Ｌ３，Ｌ５は、削除しないで、一番近い線分のより正確なデータとして、新しく求められる座標値に更新する。近い線分がないときには、削除して新たに生成し直す。新たな線分Ｌ１０，Ｌ１１，Ｌ１２，Ｌ１３，Ｌ１４は、新たにナンバリングして追加登録する。
【０２４４】
このように、ＣＡＤデータの生成のみでなく更新も自動的に行なうようにすれば、移動可能な撮像装置１０，２０により撮影して得られる生画像情報に基づくＣＡＤデータの生成は、撮像装置１０，２０が移動すれば移動するほど精度が良くなる。また、最初の段階でもそれなりの精度でＣＡＤデータを生成することができるので、ロボットの制御などに早い段階からこのＣＡＤデータを利用することができるようになる。
【０２４５】
図１３は、第５の手段の実施の形態を示す概念図である。ここでは、撮像装置１０，２０が対象物である円柱状の物体（円柱）９０１の周りを回るように移動しながら撮影して得た画像情報に基づいてＣＡＤデータを生成することを考える。また、円柱９０１は、表面に「Ａ」という文字１０１Ａが描かれている物体とする。
【０２４６】
このような状態では、撮像装置１０，２０は、円柱９０１の側面のラインおよび上面あるいは下面の円板の淵が楕円に見える。しかし、それらの線は総てが輪郭線であり、そこに実際の線が存在するわけではない。そこで、３次元ＣＡＤデータを生成していくときには、円柱９０１の淵の画像情報を密に取り込みながら周囲を回って沢山の輪郭線を検出してデータを生成していくと、３次元データベース２００Ｇには、円柱９０２のようなワイヤーフレームのＣＡＤデータが生成される。
【０２４７】
また、円柱９０１の表面に描かれた文字「Ａ」を構成する線分は、そこに実際に存在する線分である実際の線である。それは、例えば、ＣＡＤデータの中では文字「Ａ」９０２Ａを構成する線分データとして生成される。このような輪郭線と実際の線は、ＣＡＤデータを利用するときに使い分けると、ＣＡＤデータを効率良く使うことができる。例えば、輪郭線の線分データは実際には存在しない線であるので、文字「Ａ」の線分データを探すような場合には邪魔になる。また、円柱という形状データを参照したい場合には、多くの輪郭線も用いることでより詳細な形状に関するデータが得られるので、データを生成する上でこれは実際の線であるということが確定した段階で実際の線と定義するようにしてＣＡＤデータを生成する。この事例の場合には、撮像装置１０，２０が移動すると、円柱９０１の側面の輪郭線は、撮像装置１０，２０が移動しても見える場所が変わらないのに対して、文字「Ａ」は、撮像装置１０，２０が移動すると見える場所が変わる。３次元のデータに変換した後に撮像装置１０，２０の移動前後における線分の位置を比較すると、移動前の輪郭線の線分は、移動後の位置には線分として見えない。しかしながら、実際の線である文字Ａは、撮像装置１０，２０が移動しても同じ場所に存在する特徴から、「Ａ」という文字を構成する線分は実際の線分であることを識別することができる。また、円柱９０１のような側面の輪郭線の場合、複眼の撮像装置１０，２０で見ている輪郭の位置は若干ずれた場所になるが、ステレオ計測でその輪郭線を生成する場合にはそれは誤差として影響するので、輪郭線というものはそういう誤差も含んでいるものであるということを区別していれば、利用するときに注意することも容易である。
【０２４８】
以下に、３次元データベースの概念の一例を示す。以下のように線種の中で区別するようにする一つの方法を示す。線分Ｌ１は、実際の線であることを示し、線分Ｌ２は、輪郭線であることを示している。
【０２４９】
【表３】
2004201085.tif 000005
【０２５０】
次に、第６の手段の実施の形態を説明する。直方体の基本図形をソリッドデータＳＶ１として生成する方法を図７を参照して説明したが、撮像装置が移動し、ＣＡＤデータを更新するようにしたシステムでは、撮像装置が遠くから物体を見たときには直方体であっても、近くに寄って見たときには、例えば、サイコロのように直方体の角に丸みがある場合には、それを直方体として定義しておくことが適切ではなくなってくる。また、大きな建物を遠くから見ると直方体に見えるが、近くに寄ればドアがあり、中に入ると最初に直方体と見えていた建物は壁のような平面で囲まれた物体になる。更に、壁に近くに寄って見ると、厚みのある複数の平面の偏平な直方体となるようになることから、このようなシステムの場合には、必ずしもソリッドモデルにまで落とし込む必要はない。そこで、必要最小限のデータ構成を考えると、点と線と面まで上げられるので、必要最小限の面データまでを生成して更新していくシステムとするのが処理速度の観点などから有利である。
【０２５１】
次に、第７の手段の実施の形態を説明する。既に説明したデータベースは、線データを関数表現する形態と面データも関数表現するような形態であるが、面データを関数で表現することは、処理の複雑さとデータメモリ節約効率から考えると、節約の効果が少ない。そこで、少なくとも線データまでを関数表現することでデータ量を大幅に低減することを提案する。例えば、通常の環境を対象にして処理を行なうと莫大な数の線分が抽出される。それらの線分の形を、例えば、総て直線で表現しようとすると、円や複雑に曲がった形状の線分は、線分上に沢山の点を定義し、それらの点の間を直線の線分で繋いで円や曲がった形状を表現するようにしなければならず、多くの点データも必要となるので、莫大なメモリ容量が必要となる。そこで、曲線を関数で定義して、フィッティングさせる適切な係数（上記データ例のａ１、ｂ１…）で表現するようにすることによって、データ量を大幅に縮小することが可能となる
第８の手段の実施の形態を説明する。この実施の形態は、生成および更新するＣＡＤデータにおける少なくとも面データに色情報をもたせるというものである。その概念を示すと以下のようになる。
【０２５２】
【表４】
2004201085.tif 000006
【０２５３】
勿論、赤，青…という表現ではなく、色コードで微妙な中間色まで区別できるようにしても良い。このように、ＣＡＤデータに色情報があれば、赤いものを探すというような場合には赤い色情報をもつＣＡＤデータのみを探せば良いので、ＣＡＤデータを取り扱うときの効率が良くなる。また、色情報で色の変わるところを境界線の線分データとして積極的に定義すれば、より多くの形状を示す線分データも得られるし、色の分布状態をより詳細に定義することも可能となる。
【０２５４】
図１４は、色情報を用いて輪郭を抽出する概念を例示している。参照符号１１０ａは、生の画像情報とする。各メッシュの小さな枠が１画素に相当する部分である。そこに画像情報として、いろいろな色の面と線分などがあるという状況を示している。
【０２５５】
この画像データ上で２次元の画像データベースを作成することを考えると、例えば、各画素についてその周りの画素の色を自分の画素と比較しながら画面全体を処理し、色が変化する画素の部分に境界線を定義するようにすると、参照符号１１０ｂに示すような結果が得られる。それを更にシンボリックに定義すると、面データ１１０ｃ，１１０ｆ，１１０ｉは、それぞれの閉ループの中の色が定義されて面データには色情報も定義される。その他、境界部分には輪郭線データ１１０ｅや線のみの場合には面１１０ｆの中に線データ１１０ｄ、また、単独に線データ１１０ｈなども定義される。ここでの輪郭線１１０ｅは、色違いの境界線を示しているので、ペイントされた模様であれば、これは実際の線として定義して良い。ここでは画面の淵の部分には仮想点１１０ｊを定義して、面データ１１０ｉを定義することができるようにしている。これらの図の概念は、２次元の画像データベースの概念であり、２次元の画像データベースでも線分データ以外に面データを定義するやり方をとっても良いし、面データの定義は３次元データベースでのみ行なうようにしても良い。
【０２５６】
ここで、図１４の処理の手順を補足説明する。
【０２５７】
隣り合う画素の色や輝度を比較して、大きく変化している場合には輪郭と判断する。同様に周囲を探索していくと、閉ループの輪郭ができる。それを輪郭の線データ（境界なら無色）と閉ループの面データとして登録する。領域（面積）のないものは線データとして登録する。
【０２５８】
次に、第９の手段の実施の形態を説明する。ＣＡＤデータの例を以下に示す。
【０２５９】
【表５】
2004201085.tif 000007
【０２６０】
ここでは、最大の明るさを１００として、背景面Ｓ０は５０の明るさ、赤い面Ｓ１は２０の明るさ、青い面Ｓ２の明るさは１００と例示している。このように定義しておくことによって、例えば、面Ｓ２が青ランプで光る面である場合には、その明るさデータ１００を見れば、その青ランプは点灯していると判断させるような使い方をすることができるようになる。ここで、ＣＡＤデータを生成するときに、撮像装置１０，２０によって得た画像情報の当該面の輝度値を参照してその情報をＣＡＤデータに登録すれば、ＣＡＤデータに明るさの情報を追加することが可能である。
【０２６１】
次に、第１０の手段〜第１２の手段の実施の形態を説明する。ＣＡＤデータの例を以下に示す。
【０２６２】
【表６】
2004201085.tif 000008
【０２６３】
以上の例では、面データＳ１，Ｓ２は、時刻13:15に生成されたデータと時刻13:20に生成されたデータの２種類が存在する部分を示している。このように、そのデータを生成した時刻データを登録しておくようにすることで、例えば、面データＳ２は、明るさが１００から２０に変わったので青のランプが消えた、ということを容易に認識することができるようになる。前の時刻に生成されたＣＡＤデータと違いのあるものは残しておくようにすれば、同じＣＡＤデータを調べることで変化の状態や履歴も認識させることが可能となる。また、このようにしてデータを追加していくとメモリ容量が足りなくなるので、例えば、重複するデータは、生成した時刻から１時間とか１０分とかの所定の時間を経過した後には自動的に消去するようにプラグラムすることで、メモリ容量が爆発することを防ぐことができる。それは、例えば、ＣＡＤデータの時刻を常に確認するようにして、所定の時間が経過したものは消去するようにすれば、自動消去処理が可能である。
【０２６４】
図１５および図１６を参照して、第１３の手段〜第１８の手段の実施の形態を説明する。
【０２６５】
図１５は、車９０３に人９０３ａの虚像９０３ｂ、太陽９０３ｃの虚像９０３ｄが写っていて、人９０３ａの影９０３ｅが地面に写っている情景を撮像装置１０，２０で撮影して得た画像情報に基づいてＣＡＤデータを生成している例を示している。
【０２６６】
ここで、生成されるＣＡＤデータは、車９０３のボディの曲面を形成している面Ｓ１が定義され、その面Ｓ１に虚像９０３ｂ，９０３ｄや車９１３のマーク９０３ｆなどが付いているというように管理するようにするのが良いが、マーク９０３ｆは面Ｓ１に実際に付いているマークであり、虚像９０３ｂ，９０３ｄは実際には面Ｓ１には付いていないデータであるので、ＣＡＤデータを利用する場合には、区別し易くなっていると便利である。
【０２６７】
そこで、処理としては、人９０３ａが動けば虚像９０３ｂが動き、あるいは撮像装置１０，２０が移動すれば面Ｓ１上での虚像９０３ｂも動機、一方、実際に面Ｓ１に付いているマーク９０３ｆは、面Ｓ１の中での位置は変わることがないことから、面Ｓ１に付いているＣＡＤデータに着目して、それらの中でまとまって動くＣＡＤデータがある場合にはそれらを一まとまりのグループとして管理するようにする。すなわち、虚像９０３ｂを構成している線分や面のＣＡＤデータは、人９０３ａが移動すると一緒に動くので、そのようなデータを検出してひとまとめに（グルーピング）して管理する。虚像９０３ｄも、同様に、太陽９０３ｃや車９０３や撮像装置１０，２０の何れかが動けば、面Ｓ１の中で移動するので、その座標データを参照してその位置の変化を検出できるようにすれば、同様に検出してグルーピングすることが可能である。また、太陽９０３ｃや人９０３ａが移動すると地面の面Ｓ０に付いている影９０３ｅも動くので、その時点で影９０３ｅを構成する線分データや面データを抽出することができ、地面Ｓ０に実際に付いている他のＣＡＤデータとは区別することが可能となる。ここで、虚像９０３ｂ，９０３ｄは、撮像装置１０，２０が移動すると動くが、影９０３ｅは動かないことから、写っている虚像と影を区別して管理するようにしても良い。また、例えば、車９１３の窓ガラスに付いているゴミは、窓ガラスの面に実際に付いているＣＡＤデータであるが、窓の奥に見えるＣＡＤデータは、一時的には付いているように見えるだけで、実際には奥のものが透けて見えているので、これも撮像装置１０，２０が移動すると動くことから、一時的には虚像として区別しておいて良い。
【０２６８】
次に、虚像でも写って見える物体の虚像と透けて見える物体の虚像を区別して管理する場合の実施の形態を説明する。
【０２６９】
図１６は、写って見える虚像と透けて見える虚像を区別して管理する場合の実施の形態を説明する図である。図１６に示す情景は、家の中の部屋の例であり、奥には窓９１０ａがあり、絵９１０ｂと鏡９１０ｃが置いてある。この部屋の情景を撮像装置（図示省略）を移動させながら撮影して得た画像情報に基づいてＣＡＤデータを生成することを考える。
【０２７０】
ＣＡＤデータの生成においては、線分がＣＡＤデータになって、閉ループを構成する部分が面データとして生成されるとすると、この情景では、鏡９１０ｃの内枠が構成する面Ｓ１、窓９１０ａの内枠が構成する面Ｓ２、絵９１０ｂの額の内枠が構成する面Ｓ３などのＣＡＤデータが生成される。そして、床に置いてある円柱Ｖ１のＣＡＤデータも生成されるが、鏡面Ｓ１に写っている円柱Ｖ２もＣＡＤデータとして生成される。
【０２７１】
鏡面Ｓ１に写った円柱Ｖ２は、鏡面Ｓ１の表面に付いているゴミなどとは別に動くことから、虚像として区別することができるが、円柱Ｖ２は写って見えるのか透けて見えるのかはそのままでは区別することができない。窓９１０ａの面Ｓ２に付いているように見える箱Ｖ３の虚像も同様である。これを判別する処理としては、例えば、先ず、面を鏡面と仮定して、撮像装置と面の位置関係から、面が鏡面であるとすれば反射して写るべき位置に実体があるということになるので、この実体の有無を確認することにより判別することができる。この実施の形態では、面Ｓ１に付いている円柱Ｖ２の実体である円柱Ｖ１が所定の位置にあることから、面Ｓ１は鏡面であると判別することができる。同じく、窓の面Ｓ２に付いているように見える虚像は、鏡面と仮定した場合には実体がないことから、奥に透けて見える物体であると識別することができる。
【０２７２】
また、絵９１０ｂの面Ｓ３には三角形の図形Ｓ４が付いているが、これは面Ｓ３に付いている他の絵やゴミなどと一緒に動くので、虚像ではないと識別することができる。
【０２７３】
このように、面を鏡面か透けて見える面かを周囲の実体と照らし合わせながら判別して、鏡面と分かったならば面データに鏡面であるというデータを付けてデータベースに登録するとか、鏡面のグループとして登録して管理する。このようにすれば、一度、鏡面と識別しておけば、違う虚像が写った場合にその都度同じ判別処理を繰り返さないで済むようになるので、効率良く処理することができるようになる。鏡面に写って見える虚像の線分や面データは、そのまま環境データとして作成すると実体のデータとの間に矛盾が生じるので、区別して管理するか抹消すると良い。
【０２７４】
透過する面は、同様に、透過する面として区別して登録しておけば、次からの処理は、初めから透過する面として処理することが可能となる。
【０２７５】
ここで重要なことは、間違いなくそうだと確定した段階で確定フラグなどを付けるようにしておけば、重要なところに係わるものでも安全なシステムを構築することができる。
【０２７６】
また、同じ面であっても、ゴミなどのように実際に付いているものと鏡面として反射して写っているものと透けて見えているものと最大で３つグループが存在する場合がある。そのような場合も考慮して、面の識別データには、ハーフミラーの識別も設けるようにすれば、それらの管理も容易になる。
【０２７７】
なお、ゴミなどが付いているデータが一つもないという場合には、何もない開口部という場合もあるので、その可能性があるというような識別を設けるようにすると良い。また、実際には、反射の度合い、透過の度合いの異なる面が存在するので、例えば、実体と虚像の輝度の比などから反射率や透過率などを求めてその数値をその面データに追加するようにすると良い。また、人手によって後から正確な透過率や反射率を入力して設定できるようなシステムとしても良い。また、色によって透過率や反射率が異なる場合には、色別（波長別）にそれらの特性情報をもたせるようにしても良い。また、車のボディなどの塗装では、見る角度や光が当たる角度によって見える色が変わる表面も存在する。そのような場合には、例えば、この位置からこういう角度で見た場合には何色に見えた、というように面のＣＡＤデータの色情報にそのように見える条件を一緒に登録するようにしても良い。少なくとも、見る位置によって色が変わるような面であるというフラグだけでも登録するようにすれば、ＣＡＤデータを利用して何色の車を探す、というような場合に、誤認識するのを防止することができるシステムを実現することができるようになる。
【０２７８】
図１７は、このような鏡面判別処理のフローチャートを示し、図１８は、この鏡面判別処理で判別することができる内容を示している。
【０２７９】
図１９を参照して第１９の手段〜第２１の手段の実施の形態を説明する。
【０２８０】
画像情報（画像）１１１ａのシーンは、撮像装置１０，２０によって撮影して得た画像情報の一例を示している。画像には、レンズに付いているゴミ９１１ａと人９１１ｂが写っている。また、撮像装置１０，２０のＣＣＤなどの撮像素子が放射線で損傷した場合にもレンズにゴミが付いた状態と同じような画像になる。このような画像情報に基づいてＣＡＤデータを生成しようとすると、ゴミの画像も処理することになるので、その数が多くなると無駄な処理が多くなる。
【０２８１】
このようなゴミは、撮像装置１０，２０が移動しても画像の中で移動しない。画像情報１１１ａでは、撮像装置１０，２０を移動すればシーンの中の人は移動するが、ゴミは移動しない。
【０２８２】
そこで、このような特性を利用して、撮像装置１０，２０を移動しても動かない画像情報は、２次元の画像情報を取り込んだ段階で消去することにより、その後のＣＡＤデータ生成処理の対象としないで済むようにして，そのようなゴミが多い場合の処理を効率的に行なうことができるようにする。
【０２８３】
また、画像情報（画像）１１１ｂのシーンでは、撮像装置１０，２０の電気回路などで生じるノイズ画像９１１ｃが対象の人９１１ｂと一緒に写っている。このノイズ画像９１１ｃも数が多くなるとＣＡＤデータ生成処理において無駄な処理を行わせることになるので、画像情報を取り込んだ直後に除去してＣＡＤデータ生成処理の対象外にする。そのための処理は、例えば、この場合には、撮像装置１０，２０を移動しても止めても同じようなパターンで動くノイズ画像９１１ｃが多いので、その特徴を使って除去するようにすれば良い。横に長く、定期的にアトランダムに生じる画像を抽出し、または、撮像装置１０，２０を移動させないときに動いているように生じるノイズパターンを抽出して、そのようなパターンを常に除去するようにすることで実現することができる。
【０２８４】
また、画像情報１１１ｃは、雨の中に人がいるシーンの例であるが、この場合には、沢山の雨９１１ｄがノイズ的に写っている。これらは、前記ノイズと同じように、２次元の画像情報を取り込んだときに縦に長いノイズという特徴を利用して最初に取り除く方法でも良いし、雨９１１ｄのＣＡＤデータは容易に生成することができるので、生成させてから、その特徴、すなわち細くて縦に長いもののデータを消去するとか、別グループに管理するようにして、例えば、人９１１ｂのＣＡＤデータを利用するときに人だけのＣＡＤデータを容易に取り扱えるようにすることでも良い。
【０２８５】
このような処理は、例えば、撮像装置１０，２０を水中ＲＯＶに搭載して水の中で浮遊させて得た画像情報に基づいてＣＡＤデータを生成する場合に、ある程度の大きさで浮遊しているゴミなどのように、具体的には流れに沿って一緒に動いているものなどのＣＡＤデータをその特徴から抽出して取り除いて必要なＣＡＤデータのみを効率良く取り扱うことができるようするときに利用することができる。
【０２８６】
図２０は、第２２の手段〜第２６の手段の実施の形態を示すブロック図である。円柱物体９０１ａがある場所に撮像装置１０ａと画像情報処理装置１２０ａと無線装置ａが接続して設置されており、画像情報処理装置１２０ａの中には生成したＣＡＤデータを記憶する記憶装置２００ａがある。同様に、長方体物体９０１ｂがある場所に撮像装置１０ｂと画像情報処理装置１２０ｂと無線装置ｂが接続して設置されており、画像情報処理装置１２０ｂの中には生成したＣＡＤデータを記憶する記憶装置２００ｂがある。また、別の場所には無線装置ｃに接続された別の画像情報処理装置１２０ｃがあり、その中には記憶装置２００ｃがある。
【０２８７】
このような構成において、前述したいろいろな手段によって、各撮像装置１０ａ，１０ｂが撮影して得た画像情報に基づいてＣＡＤデータが生成される。具体的には、記憶装置２００ａの中には円柱９０２ａのＣＡＤデータが生成され、記憶装置２００ｂの中には長方体９０２ｂのＣＡＤデータが生成される。そして、無線装置１２１ａ〜１２１ｃを介して各々がＣＡＤデータを送受信し合えるようにすることで、１つの画像情報処理装置１２０ａ（１２０ｂ）で生成したＣＡＤデータ９０２ａ（９０２ｂ）を他の画像情報処理装置１２０ｂ（１２０ａ）で利用して統合したＣＡＤデータを生成することが可能となる。ＣＡＤデータの統合は、別な場所にある視覚情報処理装置１２０ｃで行なうようにすれば、画像情報処理装置１２０ａ，１２０ｂは、ＣＡＤデータの統合処理を省略してＣＡＤデータの生成処理を専門に効率良く行なうことができるようになる。この統合処理は、画像情報処理装置１２０ａが生成したＣＡＤデータ９０２ａを画像情報処理装置１２０ｃへ送信し、画像情報処理装置１２０ｂが生成したＣＡＤデータ９０２ｂも画像情報処理装置１２０ｃへ送信して該画像情報処理装置１２０ｃでＣＡＤデータの統合処理を実行する。統合処理されたＣＡＤデータは、記憶装置２００ｃの中に生成される。この場合、画像情報処理装置１２０ａ，１２０ｂで生成される座標系が同じになっているか、統合する前には合わせることができるようになっていることが必要である。例えば、最初に電源を入れたときに各画像情報処理装置１２０ａ，１２０ｂで現在の撮像装置１０ａ，１０ｂの位置と姿勢を共通の絶対的な座標系で入力するようにすれば、両方の画像情報処理装置１２０ａ，１２０ｂで生成するＣＡＤデータの座標系を一致したものとすることができる。また、両方の撮像装置１０ａ，１０ｂで同じ場所で対象物体をラップさせてＣＡＤデータを生成し、ラップして生成したＣＡＤデータが一致するように座標系を校正して合わせるようにしても良い。
【０２８８】
画像情報処理装置１２０ａと画像情報処理装置１２０ｂが直接にＣＡＤデータの送受信を行なうようにすれば、直接的にＣＡＤデータの共有化が可能となるので、統合処理を行なう別の画像情報処理装置１２０ｃを不要にすることができる。このような場合には、画像情報処理装置１２０ａ，１２０ｂの中にＣＡＤデータを統合処理する機能も設けることが必要である。
【０２８９】
また、別の統合処理を実行する画像情報処理装置１２０ｃでの統合結果を各画像情報処理装置１２０ａ，１２０ｂへ戻すようにすることで、各画像情報処理装置１２０ａ，１２０ｂがお互いにお互いの生成したＣＡＤデータを利用し合えるようにすると、統合処理機能がない画像情報処理装置１２０ａ，１２０ｂでも統合処理した結果を利用することができるようになる。
【０２９０】
画像情報処理装置１２０ａ，１２０ｂ，１２０ｃ間のデータの送受は、有線ケーブルを介して行なうものでも良いが、無線装置１２１ａ〜１２１ｃを介するようにすることで、撮像装置１０を移動させながら撮影して得た画像情報に基づいてＣＡＤデータを生成する場合の機動性が向上し、対象物体をいろいろな角度から容易に撮影することができるようになる。また、広範囲にわたってＣＡＤデータを生成および統合する場合にも、ケーブルの長さを気にしないで広範囲のＣＡＤデータの生成および合成を行なうことができるようになる。
【０２９１】
図２１，図２２，図２３，図２４は、第２７の手段〜第２９の手段の実施の形態を示すブロック図である。
【０２９２】
図２１は、画像情報処理装置１００に別のＣＰＵ等３００を接続し、画像情報処理装置１００の中でその都度計算されている撮像装置１０，２０、すなわちカメラの位置と姿勢情報を別のＣＰＵ３００で取り出せるように構成した装置である。ここでは、例えば、カメラの位置と姿勢情報を定周期で画像情報処理装置１００から出力させることにより、ＣＰＵ３００において、その周期でカメラの位置と姿勢情報を得ることができる。このように構成することによって、ＣＰＵ３００を使用して構成するアプリケーションシステムにおいて、カメラの位置と姿勢情報を利用することができるようになる。例えば、ロボットアームの制御のシステムであれば、ロボットアームの制御をＣＰＵ３００が行なっているような場合には、カメラをロボットアームの先端に取り付けておくことによって、ＣＰＵ３００は、ロボットアームの先端の位置と姿勢情報を得ることができ、その結果を制御へ応用することができるようになる。
【０２９３】
図２２は、アプリケーションシステムのＣＰＵ３００がカメラの位置と姿勢情報を得るために該ＣＰＵ３００から画像情報処理装置１００へ指令信号を入力するように構成し、その応答としてカメラの位置と姿勢情報を画像情報処理装置１００から取得するように構成した装置である。従って、画像情報処理装置１００は、ＣＰＵ３００が必要とするときにのみカメラの位置と姿勢情報を出力してＣＰＵ３００に与えることができるようになる。
【０２９４】
図２３は、アプリケーションシステムのＣＰＵ３００から画像情報処理装置１００へＣＡＤデータの探索指令信号も入力できるように構成し、その応答として、画像情報処理装置１００が探索したＣＡＤデータの情報（形状でも良いし、位置と姿勢情報でも良い。）をＣＰＵ３００が取得できるように構成した装置である。これによって、ＣＰＵ３００側では、制御したいものの位置や姿勢情報と制御するときに必要となる相手側の位置や姿勢情報の両方を容易に得ることができるようになるので、制御にその情報を利用することができるようになる。
【０２９５】
図２４は、ＣＰＵ３００から探索指令信号だけではなく、カメラの位置と姿勢情報を出力させる指令信号の両方を出力して、画像情報処理装置１００から検索結果やカメラの位置や姿勢情報を取得するように構成した装置である。このように構成した装置では、例えば、コップなどをアームで把持するように構成するときには、カメラをアームの先端に設け、アームで把持しようとするコップのＣＡＤデータを画像情報処理装置１００に探索させて該コップの位置と姿勢情報をＣＡＤデータの探索結果で得ることができるように構成し、ロボットハンドの先端の位置と姿勢情報はカメラの位置と姿勢情報として得て制御に利用することができる。カメラの位置と姿勢情報は、ＣＡＤデータを生成するときに計算される情報であることから改めて計算処理するための別の時間を要しないので短時間に得られるメリットがある。勿論、対象のコップの位置と姿勢をＣＡＤデータで探索して、更に、ロボットハンドもハンドの形状データより探索して該ハンドの位置と姿勢情報を得るように構成することもできる。
【０２９６】
図２５は、第２７の手段〜第２９の手段をロボット制御専用の視覚情報処理装置として実施する場合の画像情報処理装置１００の処理の実施の形態を示すフローチャートである。
【０２９７】
画像情報処理装置１００の処理は、先ず、スタート１２３ａから入り、アプリケーションシステムにおけるＣＰＵ３００などからのコマンド入力処理１２３ｂを行なう。ここで、ＣＡＤデータ探索というコマンドの場合には、どのようなＣＡＤデータかという情報も入力する。
【０２９８】
次に、画像情報処理に移り、先ず、画像情報の取込処理１２３ｃを行なう。
引き続き、３次元計測と３Ｄ−ＣＡＤデータの生成処理とカメラの位置と姿勢計算処理１２３ｄを行なう。そして、ＣＡＤデータの探索処理１２３ｅを行なう。
【０２９９】
そして、カメラと探索したＣＡＤデータの位置と姿勢情報をＣＰＵ３００へ出力する処理１２３ｆを実行する。
【０３００】
その後は、コマンド入力処理１２３ｂからの繰り返し処理となるようにする。この繰り返しサイクルが数１０ｍｓｅｃとかの高速で行なわれるようにすることで、ロボット等をリアルタイムで制御するＣＰＵ３００は、ロボットの制御に利用する情報を容易に取得することができるようになる。
【０３０１】
具体的には、図２５にも示しているように、ロボットハンド部に設けたカメラ１２３ｇと環境の中にある物体の１つで、例えば、円柱１２３ｈの位置と姿勢情報がリアルタイムに分かるようになることから、円柱１２３ｈを把持するためにロボットハンドを誘導する制御などを容易に実現することが可能となる。
【０３０２】
図２６および図２７を参照して、第３０の手段，第３３の手段，第３４の手段および第３９の手段の実施の形態を説明する。
【０３０３】
図２６は、交通信号機やビルのある街の道路を車が走っている情景であり、その中のＨＩＴＡＣＨＩビル９０４の看板を探索する場合の例を説明する。
【０３０４】
ＣＡＤデータの探索の方法としては、基本図形をもとにその基本図形に近いものを探索する方法を採用する。この場合、看板のサイズが分かっていれば、基本図形としては、所定の寸法の長方体を参照ＣＡＤデータ９０４ａとして用意し、生成されたＣＡＤデータの中からそれに近いものを探すようにする。そうすることによって、ＨＩＴＡＣＨＩビル９０４の看板を容易に探索することができる。
【０３０５】
また、図２７に示す例は、基本図形だけでは限られた形状しか探索できないことから、予め、生成されたＣＡＤデータの中から一部分を取り出しておき、それを探索用の参照ＣＡＤデータ９０４ｂとして入力するものである。この場合は、生成されたＣＡＤデータそのものであるので精度よくマッチングする部分が必ずあることから、より確実且つ正確に探索することができるようになる。また、基本図形にないどんな形状のＣＡＤデータのかたまりの一部分でも探索することができるようになる。
【０３０６】
ここで、探索データを予め読み出しておく方法としては、第３３の手段の一例であるが、例えば、任意のサイズに変更可能な直方体を生成されたＣＡＤデータの中に表示して、その直方体のエリアの中をＣＡＤデータを探索用のＣＡＤデータとして読み出す方法がある。この方法によれば、必要な部分を簡単に取り出せるようになる。そのエリア９０４Ａは、ＨＩＴＡＣＨＩビル９０４を包むような大きさで指定すれば、看板部を含む探索用ＣＡＤデータを読み出すことが可能となる。このデータで探索すれば、看板の文字データも探索するときの特徴情報になるので、より確実に目的とする探索対象を探し出すことが可能となる。勿論、いろいろな場所を読み出しておけば、必要なときに、直ぐに、その場所を探索して確認できるようなシステムも構築することができるようになる。エリアは、直方体でなくても任意の大きさに設定できる球体でも良い。球体であれば姿勢まで指定しないで済むので、操作が容易になる。
【０３０７】
また、第３４の手段は、最初に基本図形で看板を探索した後にその看板を含む大き目のエリアを探索用ＣＡＤデータとして読み出す方法である。この方法であれば、最初は基本図形だけで探索することができ、次には、看板の文字も含めたその看板の部分を探索用に利用することができるようにすることができる。勿論、基本図形でない場合も、似たような場所を探して、似たような場所の周辺を探索用ＣＡＤデータとして読み取るようにすれば、ずばりその場所を探索するのに適した探索用ＣＡＤデータを得ることができる。
【０３０８】
このように第３４の手段を用いれば、最初は基本図形程度しかなくても、徐々に似ているような場所を探して新たな探索用ＣＡＤデータにすることができるので、容易に探索用ＣＡＤデータ集を作ることも可能となる。
【０３０９】
第３９の手段は、基本図形で探索する場合に、例えば、看板の直方体のサイズが不明の場合には、縦に長い直方体を示すような概略の縦横長さの比を指定するようにしてその比に近い直方体の物体を複数探索させる手法である。この手法は、形状が同じであれば、サイズは大きいものから小さいものまで探索したい、という場合に効果的である。バルブとか配管などのように、同じ形状でいろいろなサイズがあるものなどを探索するときには便利である。また、人のような形でも子供から大人まで探索するときのように、マッチング程度をある程度許容することで、同じ探索用データをサイズフリーで指示することで大小のある程度似たものを探索することができるようになる。探索用データも大きさの数だけもっている必要がないのでメモリの節約にもなる。
【０３１０】
図２８を参照して、第３１の手段および第３２の手段の実施の形態を説明する。撮像装置１０は、撮影対象の物体９０５と共に部屋９０５ａの中に入り、物体９０５を上下左右のいろいろな角度から撮影して画像情報を生成してＣＡＤデータを生成させる。この場合の撮影対象の物体９０５は花である。
【０３１１】
一般の環境にある花は、いろいろなものの陰になったりするので、花の全体形状のＣＡＤデータを生成するのは難しいが、この手法を用いることで撮影対象の物体９０５の正確なＣＡＤデータ９０５ｃを容易に得ることができるようになる。また、専用の部屋９０５ａとしてその中には他の物体が存在しないようにすれば、どのような角度から対象物体９０５を撮影しても他の物体が混入するようなことはない。部屋９０５ａの内装は、床も壁も天井も真っ白とか、青とかにしておいても良いし、また、グリッドなどのメッシュを部屋の床，壁，天井に引いておき、ＣＡＤデータ生成時にそのグリッドを利用するようにしても良い。
【０３１２】
図２９，図３０，図３１および図３２を参照して、第３５の手段〜第３８の手段の実施の形態を説明する。この図２９〜図３２は、図２５を参照して説明した基本処理における参照ＣＡＤデータの探索処理１２３ｅの一例を説明するためのものである。
【０３１３】
図２９は、探索例の条件を整理したものである。現在の撮像装置（カメラ）の画像情報（映像）には４つの直方体が写っており、そのうちの３つの直方体は３段重ねになっている。そして、ＣＡＤデータはある程度行なわれており、同じような環境のＣＡＤデータは既に生成されているものとする。具体的には、各直方体に相当するソリッドデータＳＶ１，ＳＶ２，ＳＶ３，Ｖ４が生成されており、平面Ｓ０にソリッドＳＶ１，Ｖ４が付いているデータが生成されているとする。この状態で、探索したい参照ＣＡＤデータは、２段重ねの長方体の積み木である。
【０３１４】
図３０を参照して探索処理１２３ｅにおける処理（１）の例を説明する。この処理は、探索用ＣＡＤデータ（参照ＣＡＤデータ）の特徴量を計算する処理である。特徴量とは、ＣＡＤデータによってはいろいろ考えられるが、ここでは、体積、細長比、頂点，線分，面の構成員数、凸凹の数、基本形状の数（直方体２個とか）、線分，面の特徴（曲面の場合の関数）、色情報などである。これらの計算処理は、新しい探索用ＣＡＤデータが入力されたときに１回だけ行なう。
【０３１５】
図３１を参照して探索処理１２３ｅにおける処理（２）の例を説明する。具体的には、現在見えている視野の中に入っているＣＡＤデータの中から処理（１）で抽出した特徴量と同じ特徴量を有するＣＡＤデータを探索する処理である。
【０３１６】
この例では、４つの直方体のデータがあるので、各々４つの直方体（候補１〜候補４）と、積み重なっている直方体では２つづつの組み合せが２種類（候補５と候補６）と、更に３段重ねの組み合せ（候補７）の合計７つの候補となることから、この７つの候補の特徴量と探索したい参照ＣＡＤデータの特徴量を比較すれば、候補５が最も一致するということになる。基本図形で探索できるような単純な環境であれば、基本形状が最も近似する候補のＣＡＤデータが探索結果であるので、その結果として、この候補のＣＡＤデータの中心の位置と姿勢情報を出力するようにすれば良い。これは、図２５の基本的な探索処理１２３ｅにおいて１回で全部実施するようにしても良いし、何回かに分けて実施するようにしても良い。すなわち、ＣＡＤデータの生成サイクルの１０回に１回の程度で探索結果を出力するようにしても良いし、１回毎に出力するようにしても良い。
【０３１７】
図３２は、環境が基本図形のみでない場合などに特に有効な処理方法であり、探索処理１２３ｅにおける処理（２）で最も近似する候補を１つ、場合によっては複数選択した後に参照ＣＡＤデータと候補ＣＡＤデータのパターンマッチングを行って、更に適切な候補を探索する処理（３）である。
【０３１８】
この例は、３Ｄポテンシャルマッチング法であり、最も近似する候補の最も確からしい位置，姿勢に参照ＣＡＤデータをおいて最終マッチングを行なう。そして、マッチング度が所定値以上であれば、探索対象の物体であるとして特定し、未満の場合には、否として探索を継続する。
【０３１９】
マッチング処理では、既に２次元処理で方法が確立しているパターンポテンシャルマッチング法を３次元に拡張したり、固有値空間マッチング法などを用いることによって探索速度を高速化することが可能となる。ここで、ポテンシャルマッチング法は、特開平０２−１３７０７２号公報などに記載されている２次元ポテンシャルマッチングの処理を３次元の処理に拡張する使い方をする。固有値空間マッチング法は、文献で１９９７年５月電子情報通信学会論文誌Ｄ−II  Ｖｏｌ．Ｊ８０−Ｄ−II  Ｎｏ．５  ＰＰ．１１３６−１１４３に記述されている手法などを応用する。何れの場合でも、最初に特徴量で候補を絞り込んで最終的な確定のために各種のマッチング法を用いる方法が良い。ここで用いるマッチング法は、上述のものに限定されるものではない。高速に高精度でマッチングできる手法と組み合わせて行なうようなマッチング手法でも良い。また、複数のマッチング手法を組み合わせて使用する方法でも良い。
【０３２０】
ここで、探索用ＣＡＤデータは、３次元でも良いし、２次元でも良い。２次元のＣＡＤデータとは、模様や絵や看板の文字などである。すなわち、それらは、１つの面データの中にいろいろな面データと線分データが付いているようなＣＡＤデータで与えられる。面には色情報が付いていても良い。そのような探索用ＣＡＤデータは、２次元で与えても探索する対象は３次元のＣＡＤデータの空間となるので、２次元のプレートの最もマッチングする部分を３次元空間の中から探索することになる。その場合、２次元のプレートは、向きや姿勢をいろいろな方向に変えてマッチングする場所を探索することになる。また、３次元の探索用ＣＡＤデータの場合と同じように、スケールファクタは可変にして同じプレート、すなわち模様やマークで、大きいものから小さなものまで探索できるようにすると良い。
【０３２１】
ここで、マッチング探索について補足説明する。生成される環境のＣＡＤデータや入力される探索用ＣＡＤデータは、そのデータ量を少なくするために、線データは、始点と終点と線種、線の関数パラメータなどで表現され、面データは、構成する線分の名称などで表現されるが、探索の時点では、マッチングを行なう部分に関しては、線分であれば線上の複数の点データに、面データであればその面を構成する複数の点データに変換して、点データ同士のマッチング処理、すなわち、相関をとる処理を行なうようにすれば良い。色情報をもっていた面データから置き換えられる点データには色情報ももたせて、色情報も考慮したマッチングとする。マッチング処理が終わったならば、置き換えた点データは消去可能である。その都度、点データに置き換えることで、通常もっていなければならないＣＡＤデータとしてのデータ量を少なくすることができる。
【０３２２】
また、点に置き換える場合の密度であるが、マッチング精度に応じて適切に変えるようにすると良い。基本的には、等ピッチ，等間隔で置き換えるが、複雑な形状、複雑な色模様の個所の密度を濃くし、単純な形状、単純な模様の色データの個所は粗くするようにすると良い。また、ソリッドのＣＡＤデータで管理、入出力するようにしている場合には、ソリッドデータもそのソリッド内空間に点データを一定密度で、あるいは、密と粗い部分を設けるなりして点データに置き換えて点データ同士のマッチングにすると良い。点データに置き換えることで、汎用的なマッチング処理を共通的に使用することができるようになる。なお、ここでは、点データに置き換える方法を説明したが、関数ベースでのマッチングができればそれでも良い。
【０３２３】
図３３を参照して第４０の手段および第４１の手段の実施の形態を説明する。膨大で広範囲に生成したＣＡＤデータの中から参照ＣＡＤデータを探索する場合には、探索速度を高速にするために、ＣＡＤデータが生成される空間全体をブロック番地に区切り、区切番地を指定して探索範囲を絞り込むようにすると良い。
【０３２４】
図３３は、空間を同じ大きさのブロックに分断して探索する概念を示している。その中に撮像装置１０であるカメラが存在しており、カメラ１０は視野１０Ｖの範囲を撮影している状況を示している。
【０３２５】
探索する場合には、カメラ１０で見えている範囲を検索させる方法と、見えてない範囲を検索させる方法がある。勿論、ＣＡＤデータを生成している中で検索させる方法もあるし、生成されたＣＡＤデータを使ってオフラインで検索処理のみを実施する方法もある。何れの方法においても、全エリアを検索するのは大変な時間がかかるので、例えば、対象空間が日本全国であって、現在の対象エリアが東京であれば、東京のブロック番地のみを探索対象にする方法で絞り込むようにする。
【０３２６】
また、第４１の手段は、カメラ１０の向きの方向のブロックを探索するようにするものである。すなわち、カメラ１０の視野１０Ｖの中に入っているブロックを探索の対象とするものである。ここで、生成するＣＡＤデータは、生成時にブロック番地で区分けして管理するようにしていくことにより、ブロックを指定すれば対象ＣＡＤデータも自動的に絞り込めるようにすることができる。ブロックを指定して処理を行なえば、探索を効率良く行なうことができる。
【０３２７】
図３４は、第４２の手段の実施の形態である視覚情報処理装置のブロック図である。この視覚情報処理装置は、画像情報処理装置１００に、Ｉ／Ｆとして、別のＣＰＵ３００からの探索指令信号を入力する２つの系統と、探索結果を出力する２つの系統を設けた構成である。勿論、３つ以上でも良いし、１台のＣＰＵ３００ではなく複数台のＣＰＵ３００と接続されるように構成しても良い。
【０３２８】
このように、画像情報処理装置１００に複数のＩ／Ｆを設けることにより、画像情報処理装置１００の処理速度を上げてもＣＰＵ３００とのデータ受け渡し速度が遅くてシステムの処理能力向上が制限されるような事態となるのを回避することができる。ＣＡＤデータは、沢山の点や線分データから構成されている場合もあるし、探索によって沢山の候補データが探索され、また、それらの位置と姿勢情報以外に色とか形状の情報も読み出す場合には多くの時間がかかる。従って、画像情報処理装置１００に複数のＩ／Ｆの出入り口を設けることにより、多くのＣＡＤデータの探索処理を効率良く行なうことができるようになる。
【０３２９】
図３５および図３６を参照して、第４３の手段〜第５０の手段の実施の形態を説明する。
【０３３０】
図３５は、生成されたＣＡＤデータの概念を示している。実際には細かな線分や面データの集合からなるＣＡＤデータであるが、ここでは、第３１の手段および第３２の手段を用いて、予め探索用ＣＡＤデータがひとかたまりのものとして登録されているものとする。それらは、具体的には、机，花瓶，花，コップである。
【０３３１】
そこで、部屋の中のＣＡＤデータを生成したときに同じようなＣＡＤデータのかたまりが存在しているので、予め探索用にその物体のみで生成していたＣＡＤデータを使って探索させる。例えば、花のデータを使って探索させると花９０５を構成する線分や面データのかたまりが探索されるので、それをＩＤ＝１と定義する。ＩＤ＝１は、処理の中では花である。次に、花瓶９０６ａを探索させるとその部分のデータが探索されるので、それをＩＤ＝２と定義する。同様に、カップ９０６ｂのデータ部分はＩＤ＝３と定義し、机９０７のデータを使って探索させると机と思われる線分と面データのかたまりが探索されるので、それをＩＤ＝４と定義する。このＩＤを登録するときには、それを構成する線分や面のＣＡＤデータはグルーピングするようにする。ＩＤを定義したＣＡＤデータには、そのＩＤの代表点の位置とかたまりとしての物体の姿勢情報を登録するようにしても良い。このようにマッチングした部分をかたまりとし定義して管理しておけば、次に探索するような場合には、ＩＤを指定して探索するような使い方ができるようになり、便利である。
【０３３２】
予め用意しておいた探索用ＣＡＤデータとマッチングしなかった部分９０８のかたまりがあるとすると、そのかたまりの部分が未認識の物体ということになる。そのような場合には、応用システムは、カメラを未確認物体９０８の周囲で上下左右に動かして該未認識物体９０８を撮影してＣＡＤデータを更に精度よく生成するようにすると良い。そして、その未確認物体９０８の部分にいままで取られていない新たなＩＤ番号を付けて管理するようにすれば、未確認物体があってもそれを良く観察して詳しいＣＡＤデータを生成して新たな物体として認識させることができるようになる。ここで、ＩＤが付けられるということは、システムがその物体をＩＤの番号で認識しているということである。
【０３３３】
ＩＤには、種類と個々の番号をもたせるようにすると良い。例えば、コップが２つある場合にはＩＤ＝（３の１）が１つ目、ＩＤ＝（３の２）が２つ目というように管理すると良い。種類と個別番号を付けて管理するということである。
【０３３４】
第４５の手段では、そのＩＤに人間の言葉を対応付けるようにするものである。この場合のＣＡＤデータの概念を以下に示す。
【０３３５】
【表７】
2004201085.tif 000009
【０３３６】
このように、ＩＤ＝１は、人間の言葉で「花」であることを対応させておくことにより、「花」を探索させることが可能となり、システムと人間とのＩ／Ｆを、操作（指示）し易いものに構築することができる。また、探索を行なうときに、例えば、「カップ（ＩＤ＝３）とか花瓶（ＩＤ＝２）は、机（ＩＤ＝４）の上にある場合が多い。」という知識があれば、探索時には、先ずは机（ＩＤ＝４）のＣＡＤデータの上に付いているＣＡＤデータを対象に探索するようにすることができる。このように範囲を特定して探索することで探索効率を上げることが可能となる。
【０３３７】
図３６は、知識データを入力するための実施の形態を示しており、図３５を参照して説明した探索において、未認識の物体９０８のＣＡＤデータのかたまりが生じた場合には、システムは、人間に「この物体はなんですか？」という問いを出力し、人間がそれはＩＤ＝５と定義することを入力しているときのＬＣＤの表示画面を例示している。
【０３３８】
このときに、知識データも一緒に入力するようにすると、入力漏れがなくなるシステムを構築することができる。また、知識データは、人間の言葉で入力するようにすれば、入力し易くなる。例えば、ＩＤ＝５＝「小包」と入力した後に、知識１＝「小包」は「机」の「上にある」と入力すれば、必要なデータベースが自動的に作られるようにする。先に、総てのＩＤの言葉が登録されていれば、知識データベースは、人間の言葉からＩＤ番号に置き換えてＩＤ番号を所定の場所に記憶させるようにすることができる。また、ここで、「上にある」という言葉も何か他の記号に置き換えて記憶させるようにしても良いが、「上にある」ということは、その次にくるＩＤの物体の上（空間的に高い位置）のＣＡＤデータを探索することである、ということが対応付いているように探索のプログラムが記述されていることが前提になる。
【０３３９】
第４８の手段は、まとめて探索用ＣＡＤデータを登録して各々ＩＤも登録する場合を考慮して、知識データもオフラインで予め別ファイルで製作しておき、知識データを一括してシステムに読み込ませるようにする手段であり、効率よく知識データの登録が可能となる。
【０３４０】
なお、ＣＡＤデータのデータベースの概念は、前述した実施の形態では、単純にデータをレコードＮｏ．毎に羅列するように記述しているが、実際にシステムを実現する場合には、検索し易いデータベースにして、いろいろなデータにアクセスする時間を短くして、最終的には視覚情報処理装置あるいはそのシステムの処理速度を上げてリアルタイム性を向上するように工夫するのが良い。
【０３４１】
第５０の手段の実施の形態を図３５を参照して説明する。元々、図３５の個々のＣＡＤデータのかたまりは、実際には、生成された線分データや面データが複雑にしかも不完全に集合したものである。また、そのデータの数も多いので、探索してマッチング度がある程度一致した場合には、その部分を基本図形あるいは基本図形の集合体で定義された基本図形で置き換えるのが第５０の手段である。このようにして置き換え可能な総てのＣＡＤデータを基本図形に置き換えれば、データ量は大幅に削減することが可能となる。
【０３４２】
図３７は、第５１の手段の実施の形態である視覚情報処理システムの基本的な構成を示すブロック図である。画像情報処理装置１００は、撮像装置１０によって得た画像情報以外に該撮像装置１０に取り付けた加速度センサ３０とジャイロセンサ４０などの撮像装置移動センサから出力する移動情報信号を入力するように構成している。また、この実施の形態では、撮像装置１０はズームレンズ１２が付いていて、ズームの度合いや必要であればフォーカスやアイリスなどのレンズ制御を画像情報処理装置１００によって行い、レンズの状態をポジション信号として画像情報処理装置１００へフィードバックするように構成している。ズームレンズ１２は、オートフォーカス，オートアイリスにすれば、必要なレンズ制御信号は、ズーム比（画角）の調整のみで良い。ズームレンズ１２を用いれば、物体を遠く離れた位置から撮影しても、視野は狭くなるが、分解能は上げられるので、離れた位置から精度良く計測したい場合に有効である。但し、その場合には、３Ｄ計測を行なうときには視野が分かっている必要があるので、ポジションフィードバック信号を取り込むようにすれば、視野が変わってもそれに合わせて３Ｄ計測の計算ができるようになる。勿論、ズーム比（画角）の変化は、カメラを物体の近くに寄せたり遠くへ離すことと等価であるので、レンズ系のポジションフィードバック信号は取り込まないようにして対応点のトラッキング探索でカメラの位置が変わったことを検出して３Ｄ計測の計算を行なうようにしても良い。
【０３４３】
また、画像情報の場合は、撮影するときの走査時間があるので、例えば、撮像装置１０を早く動かした場合には、トラッキングで追跡している特徴点などが視野の中から直ぐに外に出てしまうのでトラッキング処理が間に合わないことになる。また、撮像装置１０の移動が更に早くなると、画像が流れるようになるので、正常な画像処理ができなくなる。特に撮像装置１０の向きを変える場合には、画像シーンは早く動いてしまう。高速度シャッタを使って画像が流れないようにしても良いが、第５１の手段は、加速度センサ３０やジャイロセンサ４０の信号を用いて早く動いたときの移動量を検出し、この検出結果に基づいて撮像装置１０の位置とか姿勢を推定するようにしている。それによって、画像処理では撮像装置１０の位置と姿勢を見失っても、加速度センサ３０やジャイロセンサ４０からの信号に基づいてある程度の位置と姿勢を推定すれば、適度な移動速度に戻ったときには、どこからどちらを見ているかの対応が取れるようになることから、継続してＣＡＤデータを生成することができるようになる。
【０３４４】
ここで、撮像装置１０が低速で移動している場合であっても撮影対象が特徴点が存在しない真っ白な壁などの場合には、画像シーンに画像処理を行なう特徴点がないことから正常な画像処理ができなくなる。このような場合にも加速度センサ３０やジャイロセンサ４０の信号から求めた移動情報を利用して、その後の処理の継続して行なうことができる。その後の処理を継続して行なう場合の処理としては以下のような手順で実現することが可能となる。
【０３４５】
具体的な処理の実施の形態を図３８〜図４１を参照して説明する。図３８は、最初の撮像装置１０のＣＡＤデータ生成開始点などを座標系９９２ａとして生成されたＣＡＤデータ群９９１ａによるＣＡＤデータの概念を示している。この中で画像情報の正常な連続処理ができなくなった（不確定になった）ときの撮像装置１０の位置を該撮像装置１０の座標系が座標系９９２ｂの位置と姿勢にあるときからとする。図３９では、次に再度画像処理可能な状態になったときの撮像装置１０の座標系が９９２ｃの位置と姿勢にあるときで、正常な画像処理ができなくなった座標系の位置９９２ｂから座標系９９２ｃまでの移動距離と回転角度の情報（Δｘ，Δｙ，Δｚ，Δα，Δβ，Δγ）は、前述した加速度センサ３０やジャイロセンサ４０の移動情報信号から求めた移動情報を利用して求めることができるので、再開するときの撮像装置１０の位置は座標系９９２ｃであることを最初の座標系９９２ａの座標系の中で認識させることが可能である。ただし、加速度センサ３０やジャイロセンサ４０の移動情報信号から求めた移動情報にも誤差があるので、画像処理としては、いきなり最初の座標系９９２ａに移動距離と回転角度の情報（Δｘ，Δｙ，Δｚ，Δα，Δβ，Δγ）を換算して追加生成していくのではなく、再開した最初は再開した最初の座標系９９２ｃで周囲のＣＡＤデータを生成していくものとする。その結果、図３９において座標系９９２ｃにおけるＣＡＤデータ９９１ｂが新たに生成される。ＣＡＤデータの量がある程度生成されてきたならば、以前に座標系９９２ａで生成したＣＡＤデータ９９１ａと同じ部分を重ねるようにマッチング処理を行なう。そうすると、図４１に示すように、同じ環境部位を生成したＣＡＤデータは同じように生成されているので精度良く一致するＣＡＤデータの部分９９１ｃが存在する。その部分を精度良く一致させるための座標９９２ｂから座標９９２ｃへの移動、回転量Δｘ*，Δｙ*，Δｚ*，Δα*，Δβ*，Δγ*がより正しい移動および回転量となる。マッチング処理を行なう場合に、初めに加速度センサ３０やジャイロセンサ４０の移動情報信号から求めた移動情報（Δｘ，Δｙ，Δｚ，Δα，Δβ，Δγ）が分かっていれば、その移動および回転量から上下左右へ少しずつずらした場合により相関性が良くなる方向へ探索することによって、最終的に一番マッチングするとき（相関性の良いとき）の移動および回転量がより正しい移動および回転量Δｘ*，Δｙ*，Δｚ*，Δα*，Δβ*，Δγ*として得ることができる。加速度センサ３０やジャイロセンサ４０の移動情報信号から求めた移動情報を利用できない場合には、同じように、新たに座標系９９２ｃでＣＡＤデータの生成を行い、ある程度ＣＡＤデータが生成できた時点で最初に生成したＣＡＤデータのどこか一部分マッチングする部分がないかどうかを探索することになるが、この場合は、探索の最初のスタート位置は正常な画像処理ができなくたった位置から始めることになる。この場合、図４０に示すように、新たに生成した座標系９９２ｃは正常に画像処理することができなくなった座標系の位置９９２ｂと同じ位置と仮定してマッチングの探索を始める。すなわち、図４０のＣＡＤデータと図３８のＣＡＤデータの同じ部分のマッチングを探索する必要がある。この場合も、最終的には、図４１のように同じＣＡＤデータの部分９９１ｃが精度良く一致する座標系の移動と回転の補正量Δｘ*，Δｙ*，Δｚ*，Δα*，Δβ*，Δγ*が求まることにはなるが、図４０からスタートするために上下左右にいろいろな移動量と回転量を試みて一番一致する部分の多い移動と回転量を求めることになるので、計算回数などが多くなり、マッチング探索するのに多くの時間を要することになる。それでも、正常な処理ができなくなってから再度できるようになるまで、すなわち座標９９２ｂと９９２ｃの移動距離や回転量がわずかであれば、加速度センサ３０やジャイロセンサ４０の移動情報信号から求めた移動情報がなくとも比較的短時間にマッチング処理を完了して継続した処理を続けることが可能となる。加速度センサ３０やジャイロセンサ４０があれば、継続処理を開始するときの初期の位置がより実際の位置に近いところからスタートして探索できるので、より早く撮像装置１０の位置と姿勢を以前に生成したＣＡＤデータの中で正しく補正した上での継続処理に復帰することができるということになる。ここで、マッチングするＣＡＤデータの物量は、最初の座標系９９２ａで生成されていたＣＡＤデータ以上になることはないが、ある程度以上の物量でマッチングしないと本当に正しい位置に復帰することができたかどうかという問題が生じるので、ある程度の物量、たとえば線分の数や面データの数などで所定の量を定めて、その物量以上の範囲のＣＡＤデータがマッチングしたときに所定の位置に復帰したと判断し、それまで座標系９９２ｃで新たに生成されたＣＡＤデータを座標系９９２ａへ変換して以前に座標系９９２ａで生成されていたＣＡＤデータと統合する。そして、以降の処理は、座標系９９２ａを固定の基準座標系として処理するようにする。所定の物量がマッチングするまでは、座標系９９２ｃでＣＡＤデータの生成を行いながら、座標系９９２ａで生成されていたＣＡＤデータとマッチングする部分を探索するようにしても良い。
【０３４６】
何時になってもマッチングする部分が探索できない場合は、前に生成していた座標系９９２ａで生成していた空間を見失ったということで、復帰することができない状態となる。その場合、画像情報装置装置１００からアプリケーション側ＣＰＵ等３００へ座標系９９２ａでの撮像装置１０の位置が正しく計算できなくなった「見失った状態」とか、新たに座標系９９２ｃで生成を始めて前の座標系９９２ａで生成されているＣＡＤデータとのマッチング探索をしている「見失った座標系探索中状態」とか、マッチングして最初の座標系９９２ａへ戻った「見失った状態から復帰した」などの状態を示す信号を出力するようにして、その状態に応じてアプリケーション側ＣＰＵ３００で適切な制御が行われるようにすると良い。また、「見失った座標系探索中状態」においては、そのときに固定座標系として新たに生成を始めた座標系の名前、この実施の形態の場合は座標系９９２ｃの座標系であること（例えば座標系９９２ａをＮｏ．１座標系とした場合、座標系９９２ｃはＮｏ．２座標系のＮｏ．２などで表現した座標系の名前）をアプリケーション側ＣＰＵ３００で分かるようにして、「見失った座標系探索状態」でも新たに生成していく座標系の中で物体の探索とか、現在位置の問い合わせなどをアプリケーション側ＣＰＵ３００が画像情報処理装置１００に行なうことができてその回答情報に基づきアプリケーションの制御を行えるようにしても良い。この情報に基づき、アプリケーション側ＣＰＵ３００はよりマッチングできるように撮像装置１０を移動制御しても良いし、長時間探索しても見つからずにこれ以上の探索は無駄と判断した場合は、アプリケーション側で次の作業行動に移るようにしても良い。これは、一度連続した画像処理による撮像装置１０の位置の計算が途切れた場合に、途切れる前の位置を見失った場合にもアプリケーションシステムの制御を継続することができるようにするための手段として有効である。見失って新たに生成を始める座標系の数は、Ｎｏ．２の１つに限らず、Ｎｏ．３，Ｎｏ．４，…と複数となる場合もある。また、マッチングの結果、同じような環境が複数存在する場合には、元にもどったと判断しても、実際には違う場所に位置している場合もある。そのような場合には、アプリケーションＣＰＵ３００側でその後の行動制御の中で矛盾が生じるので、その時点で復帰した場所が誤りであったと判断される場合もある。そのような場合でも、アプリケーション側で適切な次に行なうべき制御内容が考慮されていれば、ロボットなどの制御はアプリケーション側の制御次第で適切に復帰させることが可能である。
【０３４７】
また、この実施の形態では、撮像装置移動センサは、撮像装置１０に直接取り付けた加速度センサ３０やジャイロセンサ４０であるが、撮像装置１０がロボットアームの先端に取り付けてある場合には、ロボットアームの動作制御情報を代用しても良いし、移動ロボットや自動車の場合には、移動車輪の回転量から移動した距離を換算した移動情報信号で代用しても良いし、ＧＰＳを撮像装置に取り付けてＧＰＳによる移動情報により同様な処理を行なうようにしても良い。
【０３４８】
図４２を参照して第５２の手段の実施の形態を説明する。図４２に示す実施の形態は、移動作業車であり、走行機構５００と駆動制御装置５０１を備えた移動台車５０２にアーム機構４００，ＣＰＵ３００，画像情報処理装置１００，記憶装置２００，撮像装置１０を搭載した構成である。撮像装置１０は、アーム機構４００の先端に取り付けている。
【０３４９】
ＣＰＵ３００は、駆動制御装置５０１に指示して走行機構５００の駆動制御とアーム機構４００の駆動制御を実行するように機能する。
【０３５０】
このような構成の移動作業車において、ＣＰＵ３００は、自分で走行機構５００やアーム機構４００を制御しているので、撮像装置１０が移動しているか否かを判断することができ、撮像装置１０の状態信号を画像情報処理装置１００に入力することができるようにしておくことにより、画像情報処理装置１００は、撮像装置１０の状態（移動しているか、停止しているか）を認識することができる。また、画像情報処理装置１００は、撮像装置１０の動作状態が入力されれば、例えば、画像情報の全体が移動しているような場合に、撮像装置１０が移動しているのか、対象物体が移動しているのかを、画像情報だけからでは判別できないような場合でも、容易に識別することができるようになる。
【０３５１】
図４３を参照して第５３の手段および第５４の手段の実施の形態を説明する。
【０３５２】
図４３に示した画像情報１３７のシーンは、中央部に２本の木１３７ｅ，１３７ｆ、右側に外灯１３７ｃ、左上に太陽１３７ａがある。太陽１３７ａが撮影されると、実際には、ハレーションなどが生じて木１３７ｅ，１３７ｆを正しく処理することができないような場合がある。第５３の手段は、そのような場合を想定して、ハレーション部分、すなわち画像情報の輝度信号が飽和している状態の部分が広い場合には、その範囲または画面（画像情報）の全部について、ＣＡＤデータの生成などの処理を行なわないようにするものである。それによって、不思議なＣＡＤデータが生成されるのを防止することが可能となる。また、範囲がある程度に限定されていれば、例えば、ハレーション影響部が太陽１３７ａの周辺領域１３７ｂの範囲だけであれば、その範囲内のみを非処理にするものである。
【０３５３】
また、外灯１３７ｃのように、光ってハレーション的に写ってはいるが、その大きさが小さい場合には、その位置は、概略でも計算することができるので、第５４の手段は、概略の範囲として、ハレーション部位もＣＡＤデータとして生成するようにするものである。この例では、概略の範囲１３７ｄが外灯１３７ｃの範囲であり、その位置の概略は、３Ｄ計測して求めることが可能となる。このようにすれば、例えば、遠くに見える車のライトなどは、ハレーションでライトを正確にＣＡＤデータとして生成することはできないが、ハレーションの部位が小さければ、その位置を求めることができ、そのライトの車の位置もＣＡＤデータとして生成することが可能となる。
【０３５４】
図４４を参照して第５５の手段〜第５７の手段を説明する。ステレオ計測の場合には、２眼の間隔が既知であれば、その長さを基準としてＣＡＤデータを生成することができるが、単眼の場合には、絶対的な寸法情報がないので、その絶対寸法を定義する方法を第５５の手段〜第５７の手段によって提供する。
【０３５５】
ＣＡＤデータが、例えばｍｍとか絶対的な寸法をもてば、アプリケーション側でもその都度換算する手間を省略することができるようになる。また、単眼処理の場合には、例えば、環境の中に寸法が既知の立方体などを入れておき、それにユニークなマークを付けておいてもかまわないが、それを基準に絶対寸法を決めるようにする。
【０３５６】
図４４に例示した画像情報１３８のシーンでは、右下にある立方体１３８ａが寸法既知の立方体である。これは、球体でも直方体でももっと複雑な形状のものでもそれが寸法既知のものであれば良い。また、画像情報１３８の左下に写っている物差し１３８ｂを撮像して、目盛りの所定の間隔（最低２点を特定してその間隔）の絶対寸法が分かれば、ＣＡＤデータを絶対寸法に変換することが可能となる。物差し１３８ｂにある目盛りも画像処理で読み取るようにすることができる。
【０３５７】
図４５を参照して第５８の手段の実施の形態を説明する。この実施の形態は、本発明を実施する場合に適した視覚情報処理装置の基本的な製品形態の１つである。
【０３５８】
この実施の形態では、画像情報処理装置１００は、前述したような画像情報処理機能を実現する手段（演算処理装置）をＬＳＩ化した視覚誘導チップとして構成し、撮像装置１０，２０は、２つのＣＣＤカメラを使用し、記憶装置２００は、スマートカード，メモリスティック，ＩＣカード，ハードディスクなどのメモリを単独または組み合わせて使用し、別のＣＰＵ３００は、ロボット制御装置などのアプリケーション側のＣＰＵを使用し、拡張用として、加速度センサ３０やジャイロセンサ４０を用意する。
【０３５９】
画像情報処理装置１００である視覚誘導チップには、画像情報や指令（コマンド）や探索用のＣＡＤデータやセンサ信号などを入力する入力Ｉ／Ｆと、指令に対する応答や撮像装置１０，２０や検索ＣＡＤデータの位置や姿勢情報を出力する出力Ｉ／Ｆと、記憶装置２００を接続するメモリ用Ｉ／Ｆなどを設ける。
【０３６０】
そして、この視覚誘導チップ（画像情報処理装置）１００は、アプリケーション側のＣＰＵ３００からの指令に従って、ＣＣＤカメラ（撮像装置）１０，２０から出力される生画像情報や加速度センサ３０とジャイロセンサ４０から出力されるセンサ信号を取り込んでＣＡＤデータを生成し、参照ＣＡＤデータを探索する画像情報処理を実行し、探索結果をアプリケーション側のＣＰＵ３００に報告し、生成したＣＡＤデータを記憶装置２００に記憶させる処理を実行する。
【０３６１】
ここで、画像情報処理装置１００の機能を実現する視覚誘導チップは、ＣＡＤデータ生成と更新機能のハードチップ部とＣＡＤデータの探索機能のハードチップ部を分けるようにしても良い。その場合は、記憶装置２００へのＩ／Ｆは、ＣＡＤデータ生成と更新機能のハードチップ部とＣＡＤデータ探索機能のハードチップ部の両方に設け、同時に記憶装置２００を読み書きしないように制御する。このような視覚誘導チップの構成とすれば、ＣＡＤデータ生成と更新機能のみを必要とするアプリケーションには当該ハードチップ部だけを使用すれば良く、ＣＡＤデータの探索機能が必要な場合に当該ハードチップ部を使用すれば良くなるので、合理的なアプリケーションシステムを経済的に構築することができるようになる。
【０３６２】
次に、図４６〜図５４を参照して、図４５に示した実施の形態の視覚誘導チップ（画像情報処理装置）１００が実行する具体的な画像情報処理（ＣＡＤデータの生成と更新機能）を詳細に説明する。
【０３６３】
図４６および図４７は、視覚誘導チップ１００が実行するメイン処理のフローチャートである。ここでは、アプリケーション側のＣＰＵ３００からのコマンドとして、必要最小限の最も単純な４つのコマンドを用意した場合の例で説明する。そのコマンドは、コマンド＝０が原点リセットでデータエリアをクリアするもの、コマンド＝１がカメラ位置リクエスト、コマンド＝２が探索指令、コマンド＝３がデータ登録（ファイリング）の機能を有するものとする。
【０３６４】
システムの電源投入後のリセット信号で視覚誘導チップ１００のメイン処理がスタートする。最初に処理（１）で撮像装置（カメラ）の現在の位置と姿勢データ（Ｘc,Ｙc,Ｚc,αc,βc,γc）をゼロリセットして、ワールド座標系を定義する。ワールド座標系は、ここでは、電源投入リセットスタート時のカメラ座標系をワールド座標系として定義する。そして、生成したＣＡＤデータを記憶させるメモリ２００のデータ記憶エリアをゼロクリアする。
【０３６５】
次の処理（２）では、アプリケーション側のＣＰＵ３００からのコマンド入力を読み取る。ここでは、各コマンドを０，１，２，３の４種を番号で区別するようにした。
【０３６６】
その次の処理（３）では、コマンド＝０かどうかを判定し、Ｙｅｓの場合には処理（４）のコマンド＝０に相当する処理の原点リセットを行ない、処理（５）でアプリケーション側のＣＰＵ３００へ原点リセット完了の応答を出力する処理を実行する。
【０３６７】
前記処理（３）でコマンド＝０でない場合は、処理（６）へジャンプする。この処理（６）では、コマンド＝１か否かを判別し、Ｙｅｓの場合には、処理（７）において撮像装置１０，２０の現在位置と姿勢情報をアプリケーション側のＣＰＵ３００へ出力する応答処理を実行する。
【０３６８】
処理（６）でコマンド＝１でない場合は、処理（８）へジャンプする。処理（８）では、コマンド＝３か否かを判別し、Ｙｅｓの場合には、処理（９）において、現在までに生成したＣＡＤデータをファイル名を付けてメモリ２００の生成ＣＡＤデータ記憶エリアとは別の記憶エリアに登録する。そして、処理（１０）でデータ登録完了をアプリケーション側のＣＰＵ３００へ応答出力する処理を実行する。
【０３６９】
処理（８）でコマンド＝３でない場合は、処理（１１）へジャンプする。処理（１１）は、撮像装置１０，２０からの生画像情報の取り込みである。撮像装置１０と撮像装置２０によって得た生画像情報（１），（２）を視覚誘導チップ１００へ取り込む。撮像装置２０が接続されていない場合には単眼の処理となり、接続されている場合にはステレオ処理も可能とする。
【０３７０】
次の処理（１２）では、３Ｄ座標計算，ＣＡＤデータの生成処理を行なう。この処理（１２）の詳細は、別途、図４８を参照して後述する。
【０３７１】
次の処理（１３）では、コマンド＝２か否かを判別し、Ｙｅｓの場合には、処理（１４）において３Ｄ−ＣＡＤデータの探索処理を実行する。
【０３７２】
そして、処理（１５）において、探索できたか否かを判別して、Ｙｅｓの場合には、処理（１６）で探索結果として、候補数、各候補物体の座標姿勢データ、候補と決めた時のマッチング度などをアプリケーション側のＣＰＵ３００へ応答出力する処理を実行し、処理（２）へ戻る。
【０３７３】
また、処理（１３）の判別でコマンド＝２でない場合と処理（１５）で探索できなかった場合には、そこから処理（２）へ戻る。
【０３７４】
このような処理を視覚誘導チップ１００で実行できるようにすることにより、さまざまなアプリケーションの実現が容易になる。
【０３７５】
図４８は、図４７に示した視覚誘導チップ１００のメイン処理における処理（１２）である３Ｄ座標計算，ＣＡＤデータ生成処理の詳細なフローチャートである。
【０３７６】
この処理では、処理（１）において、ステレオか単眼かの判別を行い、ステレオの場合には、処理（２）へ分岐する。
【０３７７】
処理（２）では、ステレオ視の左右の画像データで対応する特徴点を複数抽出する。
【０３７８】
処理（３）では、抽出した左右の画像データの対応する特徴点を３Ｄ座標へ変換する。
【０３７９】
そして、処理（４）において、３Ｄ−ＣＡＤデータの生成処理を行なう。ステレオ視で３Ｄ座標を計算する手法は一般的であるので、ここでは詳細な説明を省略するが、３Ｄ座標が計算された後の処理（４）の詳細は、別途、図４９〜図５２を参照して後述する。その後、単眼の場合と合流して処理（５）を実行する。
【０３８０】
処理（５）は、処理（１）の判別で単眼の場合に分岐する処理である。ステレオの場合は、処理（２）〜（４）を実行した後にこの処理（５）に合流する。この処理（５）では、取り込み画像データの特徴点あるいは特徴物体を複数抽出する。
【０３８１】
次に処理（６）において、前回の取り込み画像データの特徴点と対応付けのできた特徴点は、前回のものと同じ名前を付け、新しい特徴点は新しい名前を付けて、今回の取り込み画像データを一時記憶する。処理（５），（６）は、特徴点のトラッキング処理の部分である。ステレオの場合には、少なくとも左右の何れか一方の画像情報について処理を行えば良い。
【０３８２】
次に、処理（７）では、このトラッキングしながら蓄えた画像データが複数枚そろったか否かを識別する。
【０３８３】
処理（７）でＹｅｓの場合は、処理（８）の写真計測での３Ｄ座標計算を実行する。具体的には、対応する複数の特徴点を３Ｄ座標へ変換する。このとき、各画像を撮影したカメラの位置や姿勢情報も計算されるので、その情報も一時記憶する。最新の取り込み画像のカメラ位置と姿勢情報は、変数Ｘc,Ｙc,Ｚc,αc,βc,γcにセットする。
【０３８４】
そして、処理（９）において、３Ｄ−ＣＡＤデータ生成処理を実行しＲＥＴＵＲＮで戻る。処理（９）は、処理（４）と同じである。
【０３８５】
処理（７）の判別で複数枚の画像データがそろわない場合には、そのままＲＥＴＵＲＮで戻る。写真計測に必要な画像データ枚数は、最小２枚であるが、更に多くの枚数を用いて写真計測するようにすると良い。３Ｄ座標計算に当たっては、スタート後、最初の取り込み画像を撮影したカメラ座標系をワールド座標系として３Ｄ座標を計算する。
【０３８６】
図４９〜図５２は、図４８に示した処理における処理（４）と処理（９）の３Ｄ−ＣＡＤデータ生成処理の詳細なフローチャートである。ここでは、最も基本となる第１の手段における更新機能の詳細も説明する。
【０３８７】
この処理に入ったならば、処理（１）で３Ｄ座標に変換されたＭ（ＭＡＸ）個の特徴点Ｑ１〜ＱＭ（ＭＡＸ）が、既に生成されているＮ個のＣＡＤデータの特徴点Ｐ１〜ＰＮと既に生成されているＬ本のＣＡＤデータの線分Ｌ１〜ＬＬに対して十分に離れた位置にある特徴点か否かを判別する。そして、十分に離れている特徴点がＭ個あった場合には、そのＭ個の特徴点を既に生成されているＣＡＤデータに追加する。すなわち、Ｎ個のＣＡＤデータにＭ個の点を追加する処理を行なう。ここで、十分に離れているか否かの判別は、Ｑ点とＰ点の距離あるいはＱ点とＬ線分との最短距離が、Ｑ点が計算されたときの可能性のある最大誤差とＰ点あるいはＬ線分のＱ点に近い点（ＬＰ点）の計算されたときの可能性のある最大誤差の和を比較して、それよりも離れている場合には、その近いＰ点あるいはＬＰ点から十分に離れた新たな点であると判別するようにした。このように判別すれば、同じ特徴点を別の特徴点と誤って判別することはなくなる。ここでは、単純に可能性のある最大誤差を想定するとしたが、厳密には、発生する誤差は方向によって異なるので、方向と誤差の大きさも考慮して判別することにより、より正確な判別ができるのでそのようにすると良い。この処理（１）は、生成されたＣＡＤデータが既に生成されているＣＡＤデータの更新対象となるか否かの判別処理であり、更新対象でないＭ個の特徴点が新たに追加されたものである。残りのＭ（ＭＡＸ）−Ｍ個の特徴点が更新対象の特徴点となり、次の処理（２）以降で更新処理を行なう。
【０３８８】
処理（２）では、既存点Ｐ点や線分から十分に離れていなく接近している特徴点を改めて次の処理のためにＱ１〜ＱＭに再定義する。ここでのＭ個は、前述のＭ（ＭＡＸ）−Ｍ個とした。
【０３８９】
次の処理（３）では、処理（２）でＱ１〜ＱＭと再定義した特徴点に近い以前に生成されているＫＮ個のＰ点とＬＰ点をＫＰ１〜ＫＰ（ＮＫ）に定義する。ここで、一つのＰ点に近いＱ点は、複数ある場合もあることから、必ずしもＭ＝ＫＮとはならないので、別々の個数として定義している。このとき、互いに近いＱ点とＫＰ点の関係は、既にわかっているので、どの特徴点がどの特徴点に近いかを互いに関連付けておくと後の処理がより簡単になるので注記してある。
【０３９０】
図５０に示した処理（４）〜処理（１５）までの処理（Ａ）は、点データの更新処理である。
【０３９１】
処理（４）ではｉ＝１と設定して、処理（１４）でｉ＝ＫＮとなるまで処理（１５）でｉ＝ｉ＋１としながら次の処理（５）以降の処理を繰り返す。すなわち、ＫＮ個の点ＫＰ１〜ＫＰ（ＫＮ）について同じ処理を行なうようにしている。
【０３９２】
処理（５）では、ＫＰｉに近い既存の点Ｑ１〜ＱＭ点の中よりＫＭ個の特徴点をＫＱ１〜ＫＱ（ＫＭ）とし、処理（６）では、ＴＥＮ＝０，ｊ＝１として処理（１２）でｊがＫＭになるまで処理（１３）でｊ＝ｊ＋１としてＫＱ１〜ＫＱ（ＫＭ）の総ての組み合せをチェックする。
【０３９３】
処理（７）では、ＫＰｉとＫＱｊの計算されたときの精度を比較し、ＫＱｊの精度がＵＰ（向上）している場合には、処理（１０）あるいは処理（１１）で更新処理を行なうようにし、精度がＵＰしていない場合には、処理（１２）へジャンプする。
【０３９４】
精度がＵＰしている場合には、同じＫＰｉ点について、最初の処理の場合には、処理（１０）でＫＰｉの座標を単純にＫＱｊの座標に更新する。同じＫＰｉの特徴点に対して、２回目以降は、処理（１１）にて分割更新の処理を行なうようにする。これは、以前にはＫＰｉという１つの特徴点を２つ以上に分割することになるので、最初に存在するＫＰｉ点以外にＰ点を追加して定義する。そのため、Ｎ＝Ｎ＋１の処理もここで行なうようにした。
【０３９５】
処理（９）でＫＰｉが線分上の点（ＬＰ点）であったか否かを判別ロジックに入れているのは、線分上の特徴点であれば処理（１０）の座標値の更新はなく、処理（１１）で新たな特徴点を追加して分割更新させることが必要となるためである。
【０３９６】
以上の処理を総てのＫＰｉ点について行なえば点データの更新処理が行なわれることとなる。
【０３９７】
図５１に示した処理（１６）〜処理（２７）までの処理（Ｂ）は、線分データの更新と追加の処理である。
【０３９８】
最初の処理（１６）では、線分データの更新を行なうに当たって対象範囲の総ての点データを拾い上げる処理を行なう。すなわち、３Ｄ座標へ変換するときに参照した画像データの視野中の総ての点データを抽出してＫＮ個のＫＰ１〜ＫＰ（ＫＮ）点として定義する。ここでは、前の処理で追加されたＰ点や座標の値が更新されたＰ点も含まれる。
【０３９９】
次に、処理（１７）でｉ＝１と設定し、処理（２６）でｉ＝ＫＮとなるまで処理（２７）でｉ＝ｉ＋１としながら処理（１８）以降の処理を繰り返す。すなわち、対象となる総ての点データ，ＫＮ個の点ＫＰ１〜ＫＰ（ＫＮ）について、同じ処理を行なうようにしている。
【０４００】
処理（１８）ではｊ＝ｉ＋１として処理（２４）でｊ＝ＫＮになるまで処理（２５）でｊ＝ｊ＋１としてＫＰ（ｉ＋１）〜ＫＰ（ＫＮ）の総ての組み合せをチェックする。同じ組み合せは２回処理しないで済むように、ｊはｉ＋１からＫＮまでとしている。
【０４０１】
処理（１９）では、点ＫＰｉとＫＰｊを結ぶ線分データが既に存在するか否かで次の処理を処理（２０）と処理（２２）に分ける。
【０４０２】
線分データが既にある場合には、処理（２０）において点ＫＰｉかＫＰｊの何れが更新あるいは追加されたものか否かを調べ、何れも更新も追加もされたものでない場合には、線分の更新処理は行わないで処理（２４）へジャンプする。これは、線分の始点と終点の何れにも変化がなかったということから、途中の線分上も見直しするような変化はなかったと判断して処理を省略するものである。もちろん、始点と終点に変化がなくても途中の線分がより良く撮像されている場合もあるので、処理（２０）を設けないで、総て処理（２１）へ進むようにしても良い。
【０４０３】
処理（２１）は、線分の更新を行なう処理であり、輪郭抽出などで線画になった画像データを参照しながら、ＫＰｉ点とＫＰｊ点を結ぶ線分データの見直しを行なう処理である。３Ｄ座標で計算されたＫＰｉ点とＫＰｊ点は、それを計算するときに用いた２次元の画像データ上の点として、どこの点であるかは対応が付いているので、画像データ中のＫＰｉ点とＫＰｊ点を結ぶ線分を抽出してその線分データを３次元の線分のデータ、すなわち、ＫＰｉ点とＫＰｊ点を結ぶ３次元の点列データ、あるいは、ＫＰｉ点とＫＰｊ点を結ぶ３次元の直線あるいは曲線の関数などを求めて線分データの見直し、再定義を行なう。ここで、処理（２０）でＫＰｉ点かＫＰｊ点の何れかが追加あるいは更新されたという場合には、始点，終点となる点の精度がＵＰしたということであるので、線分データも見直せば精度はアップすることを期待した処理としている。また、既に存在する線分データが直線であっても、精度条件が良くなった場合に見直すことで、直線へのフィッティングに無理がある場合には、その時点で直線の線分データから曲線の線分データに変更すると良い。
【０４０４】
一方、ＫＰｉ点とＫＰｊ点を結ぶ線分データがない場合には、処理（２２）へ進んで、線画などになった画像データを参照して、ＫＰｉ点とＫＰｊ点を結ぶ線分が存在するか否かを判別して、結ぶ線分が存在しない場合には、処理（２４）へジャンプする。
【０４０５】
結ぶ線分が存在する場合には、処理（２３）で線分データの追加処理を行なう。すなわち、画像データ中のＫＰｉ点とＫＰｊ点を結ぶ線分を抽出し、その線分データを３次元の線分のデータ、すなわち、ＫＰｉ点とＫＰｊ点を結ぶ３次元の点列データ、あるいは、ＫＰｉ点とＫＰｊ点を結ぶ３次元の直線あるいは曲線の関数などを求めて線分データを新たに定義する。
【０４０６】
以上の処理をＫＰ１〜ＫＰ（ＫＮ）点の総ての組み合せについて行なえば線分データの更新処理が行なわれることとなる。ここで、処理（２１），処理（２３）に引き続いて、面データの更新も直ぐに行なうようにしても良いが、この実施の形態では、次の処理でまとめて面データの更新を行なうようにしている。
【０４０７】
図５２に示した処理（２８）〜処理（４０）までの処理（Ｃ）は、面データの更新と追加の処理である。
【０４０８】
最初の処理（２８）では、面データの更新を行なうに当たって、前回の処理で更新された線分データの総てを拾い上げる処理を行なう。すなわち、前記処理（Ｂ）の処理の中で更新あるいは追加された線分データの総てをＫＮ個の線分データとしてＫＬ１〜ＫＬ（ＫＮ）と設定する。
【０４０９】
次に、処理（２９）でｉ＝１と設定して、処理（３９）でｉ＝ＫＮとなるまで処理（４０）でｉ＝ｉ＋１しながら処理（３０）以降の処理を繰り返す。
【０４１０】
処理（３０）では、線分データＫＬｉを成分とする面データを総て抽出してＫＭ個の面データとしてＫＳ１〜ＫＳ（ＫＭ）と設定する。ここで抽出対象となる面データは、総てである。総ての面データの中から、更新あるいは追加された線分データＫＬｉを成分とする総ての面データを抽出する。具体的な抽出の方法としては、線分データＫＬｉに繋がる線分データをＣＡＤデータ上で探索し、更に、その線分に繋がる線分というように線分データを探索して最初の線分データＫＬｉに戻るルート、すなわち、線分データが作る閉ループを面として総て抽出する処理を実行する。
【０４１１】
処理（３１）でｊ＝１とし、処理（３７）でｊ＝ＫＭになるまで処理（３８）でｊ＝＋１にして処理（３２）以降の処理を繰り返し、抽出された総ての面データＫＳ１〜ＫＳ（ＭＫ）について同じ処理を繰り返す。
【０４１２】
処理（３２）では、面データＫＳｊに相当する面データが既にＣＡＤデータとして定義されているか否かを判断する。通常、同じ線分の繋がりで構成される、いわゆる面の裏と表に関しては同じ面の裏と表としてＣＡＤデータを管理しても良いが、ここでは、将来より詳細な形状に表は表で裏は裏で分割生成されていくことなどを考慮して、裏と表は別の閉ループ（別の面データ）として抽出するのが良い。処理（３０）では新たに追加，更新した線分データにかかわる総ての面データ（閉ループの線分データの繋がり）を抽出するので、既に面データが定義されている面データも抽出されるし、今まで定義されていなかった新たな面データも抽出される。そこで、処理（３２）では、抽出された面データＫＳｊが既に面データとして定義されているものか、今まで定義されてなく今回初めて面データとして抽出されたもの、すなわち、新たに線分データが追加あるいは更新されたことにより、線分データの新しく定義される閉ループが生じたものか否を判別している。ここでの判別は、面ＫＳｊとその近くに存在する総ての以前に生成されている面データとを比較して、その面を構成する線分レベルでその線分の想定される最大誤差と当該面ＫＳｊを構成する線分の想定される最大誤差を考慮して、その誤差内で一致しているか否かで判別するようにする。その面を構成する線分の繋がり関係のみで単純に比較すると、１本の線分がその途中で分かれた２本の線分に更新されている場合には、面としては同じ面を示しているが、構成する線分はより詳細に分割定義されているために、同じ面とは判別できなくなってしまう場合がある。また、１つの面がその面を分割する新たな線分データが生成されたことにより分割される場合もあるので、面データＫＳｊの全部あるいは一部が既存の面データの全部あるいは一部に一致する場合を含めて、既にある面と一致するか否かを判別するようにする。そのために、誤差内で重なる同じ面データがあるか否かにて判断するようにする。その判別の結果、既に面データがある場合には、処理（３３）の更新の処理へ進み、当該の面データＫＳｊに相当する面データが以前に作成されているＣＡＤデータの中になかった場合には、処理（３５）で新たな面データ（線分の繋がり閉ループ）の追加、登録を行なう処理へ進む。
【０４１３】
処理（３３）の面データの更新においては、既に点データや線分データは更新されているので、それらの更新内容を参照しながら面データを構成する線分データの見直しを行なうようにしても良いが、更新前の面データが構成する更新前の点データや線分データも参照できるようにしておくことでも良い。面の更新を行なう場合には、面データＫＳｊに一致する既存の面データがあることが前提となるが、面データＫＳｊと既存の面データとが誤差範囲内で全体が一致している場合には、各線分データをより精度よく生成された新しい線分データに置き換えて定義し直せば良い。また、面データＫＳｊが既存の面データより小さく、既存の面データの一部と一致している場合には、一致している部分の面データを新たに定義し直すと共に残りの部分をもう１つの面データとして定義して分割する処理を行なう。また、面データＫＳｊが既存の面データと一致する部分もあるが、既存の面データより大きな部分がある場合には、その面データＫＳｊについては更新処理を行わないようにする。これは、抽出された面データの中には大きな閉ループを抽出するケースが含まれるために生じるが、その中に小さな閉ループの面も抽出されているために、小さい面データの場合に更新処理を行なえば当該部分の面データは更新されるので良いものとする。ＣＡＤデータは、より精度よくなる場合に更新されるようにするので、小さな閉ループが大きく統合されるような処理を行なわないようにする。
【０４１４】
処理（３３）で面データを構成する線分の更新を行なった後に面データの属性を更新するが、処理（３４）にて面データの属性を更新するに十分な画像情報があるか否かを確認し、ない場合には処理（３７）へジャンプする。更新可能な画像情報がある場合には処理（３６）へジャンプする。
【０４１５】
処理（３５）は、面データＫＳｊと重なる以前に生成された面データはない場合であるので、面データＫＳｊを新たな面データとしてＣＡＤデータに追加定義する。ここでの定義は、面データを構成する線分データの定義である。
【０４１６】
そして、その次に、処理（３６）において、面データの属性を定義する。面データの属性は、画像データを参照する。元々、２次元の画像データより３Ｄ座標に変換して面データまで定義しているので、３Ｄ座標の点データと線分データにより構成される３Ｄの面データは、２次元の画像情報の中のどの点に対応しているかの対応が取れているため、その面と対応する部位の色、明るさなどの面データの属性を画像情報から読み取って面データの属性データとして登録する。処理（３４）からジャンプしてきた場合には、面データの更新であるので、元々定義されていた面データの属性を見直し更新するものとする。元々処理（３３）で更新されたことを前提に考えると、面の輪郭の線分データはより精度良く更新されていることから、今回の画像情報は、より正しい当該面の色、明るさを表していると考えて、処理（３４）では、単純に当該面の画像情報の中の面積の大小や明るさで判断、すなわち輪郭は精度よく更新されたが、極端に斜めから見た場合とか、面は陰になって輪郭のみはっきりと見えているようなシーンであるか否かのみを判断するようにしても良いが、撮影時のカメラとその面を結ぶ線がその面の法線により近い場合、すなわち、その面をより正面から見ている条件の場合に更新するように、より厳密に判定させるようにしても良い。また、面の属性として透過率や反射率を定義するようにした場合には、その面の中に映り込んでいる奥の物体や反射して写っている物体の明るさをそれら物体との位置関係などの情報も用いて透過率や反射率に換算してから求めるため、必ずしも最初の処理で定義する必要はない。例えば、透過して見える物体があった場合に、その物体を直接見たときのその物体の面データの明るさと、その面を通して見たときの明るさと互いの距離関係などが総て求められたときに、その面の透過率を推定計算することができるようになるので、そのときに更新することができるようにしておくと良い。
【０４１７】
以上の処理をＫＳ１〜ＫＳ（ＫＭ）の総てＫＬｉの線分に係わる面データに対して行い、更に更新，追加のあった総ての線分データＫＬ１〜ＫＬ（ＫＮ）に対して行なうようにする。
【０４１８】
図５３は、図４９〜図５２を参照して説明した３Ｄ−ＣＡＤデータ生成処理において特に点データ，線分データが更新されるときの概念を示している。
【０４１９】
ステップ（１）に示す図は、更新前のＣＡＤデータの概念であり、点Ｐ１と点Ｐ２を結ぶ線分Ｌ１というデータである。点Ｐ１，Ｐ２の周囲の点線の円は、それぞれの点が３Ｄ計測されたときに想定される最大誤差の円であり、３Ｄ上では球として誤差円があると見做す。線分Ｌ１には、各々の線分上の誤差円、３Ｄ上では最大誤差を半径とする球が定義されるが、それを線分Ｌ１上の総ての点で考えると、その球の包絡面と見做すことができる。それが線分Ｌ１の周囲にある点線の部分である。線分Ｌ１の途中の誤差半径の大きさは、ここでは、線分Ｌ１の端部のＰ１，Ｐ２の場所での誤差半径より推定して比例で求めた大きさとしている。
【０４２０】
ステップ（２）は、新たに求められた３Ｄ変換された点Ｑ１〜Ｑ４を更新前のＣＡＤデータの上に重ねて描いた概念を示している。点Ｑ１〜Ｑ４にもそれぞれの点が計算されたときの誤差を半径とする球を点線で描いている。点Ｑ１とＱ３は、その誤差半径を考慮すると、点Ｐ１の誤差半径の中に存在している可能性がある。すなわち、更新前にＰ１であった点がＱ１である可能性もあり、Ｑ３である可能性もある。同様に、点Ｑ２は、点Ｐ２である可能性があり、点Ｑ４は、線分Ｌ１上の点ＬＰ１である可能性があると見ることができる。
【０４２１】
ここで、この発明における更新処理を説明すると、ステップ（３）では、同じである可能性のある更新前の点データと新たに計算された点データの各々が計算されたときに想定される最大誤差の何れが大きいかを比較（ここでは、誤差を半径とする球の何れが小さいかを比較）して、小さい場合には、より精度よく計測されていると見做せるので、点データの更新を行なうようにする。ステップ（３）は、その更新の概念を示している。すなわち、点Ｐ１の誤差円と点Ｑ１の誤差円を比べると、点Ｑ１の誤差円の方が小さいので、点Ｑ１の座標値を点Ｐ１の点データに入れ替える。同様に、点Ｑ３の誤差円も点Ｐ１の誤差より小さいので置き換えるが、既に点Ｐ１の座標値は点Ｑ１の座標値に更新されているので、ここでは、新たな点Ｐ３を定義して点Ｑ３の座標を入れる。これは、更新前の点Ｐ１が更新後は点Ｐ１と点Ｐ３に分割されたことを意味する。同様に、点Ｐ２は、点Ｑ２の方が誤差半径が小さいので、この点Ｐ２の座標が点Ｑ２の座標に置き換えられることにより更新される。同様に、点ＬＰ１の誤差半径と点Ｑ４の誤差半径も点Ｑ４の方が小さいので、点Ｑ４の座標を点ＬＰ１の座標とするが、ＬＰ１という点は、線分Ｌ１上の仮想の点であることから、ＣＡＤデータとしては新たに点Ｐ４を定義してその座標に点Ｑ４の座標値を入れて更新処理を行なうようにする。
【０４２２】
その結果、ステップ（４）に示すように、更新後のＣＡＤデータとして、点データは、Ｐ１，Ｐ２，Ｐ３，Ｐ４が更新されている。また、線分更新としても、ステップ（１）に示されている更新前のＣＡＤデータの点Ｐ１と点Ｐ２を結ぶＬ１という線分データは、点Ｐ２と点Ｐ４を結ぶ線分Ｌ２と点Ｐ４と点Ｐ１を結ぶ線分Ｌ３と点Ｐ４と点Ｐ３を結ぶ線分Ｌ１という線分データに更新されており、これらの処理は、図４９〜図５２に示した処理を実行することにより実現する。
【０４２３】
図５４は、図４９〜図５２を参照して説明した３Ｄ−ＣＡＤデータ生成処理の中の新規なデータの生成と更新の概念を一般的な図形の生成と更新の概念に当てはめて描いた図である。
【０４２４】
（１）は、点Ｐ１と点Ｐ２を結ぶ線分Ｌ１が初めは線分の長さが１ｍであったものが、次の計測により点Ｐ１と点Ｐ２の位置がより精度よく更新された結果、線分Ｌ１の長さも０．９７ｍに更新される概念を示している。これは、精度ＵＰによる更新の処理である。
【０４２５】
（２）は、線分Ｌ１が生成されている状態で更に線分Ｋ２が見えて追加生成された状況を示している。これは、初めは物の陰になっていて見えなかった線分Ｌ２が、撮像装置１０，２０が移動して線分Ｌ２が見えるようになり、新たに点Ｐ３，Ｐ４が生成され、線分Ｌ２も生成された状況を示している。これは、新たな線分の生成という概念に該当する。
【０４２６】
（３）は、容器の側面などの線分Ｌ１が見えていてＣＡＤデータにも線分Ｌ１が生成されているが、撮像装置１０，２０が物体を近くから撮像することによって新たな線分が見え、その線分が矩形Ｓ１を構成して最初の線分Ｌ１に付いている状況を示している。この場合、矩形Ｓ１の線分は、今まで見えてなかったものが見えるようになって新たに追加生成されたものであるので、生成の概念に該当するが、矩形Ｓ１の線分Ｌ１と接している部位は、データとしては、線分Ｌ１が線分Ｌ１と線分Ｌ２と線分Ｌ３に分断されるので、線分Ｌ１については、更新されるという概念になる。
【０４２７】
（４）では、初めは線分Ｌ１が生成されているが、近くで見ると、点Ｐ１は点Ｐ１と点Ｐ３に分割して見え、点Ｐ２は点Ｐ２と点Ｐ４に分割して見えてきて、線分Ｌ１は線分Ｌ１と線分Ｌ２に分割生成されるので、この場合には精度もＵＰすることから、分割の更新の概念となる。
【０４２８】
最後の（５）では、最初は側面が線分Ｌ１，Ｌ２，Ｌ３，Ｌ４からなる容器の側面のようなものに矩形Ｓ１のようなものと線分Ｌ５が付いている状況であるが、この場合も、撮像装置１０，２０が物体に近づいて詳しく撮影すると、矩形Ｓ１の左の１辺は矩形Ｓ２という形状であり、線分Ｌ５も矩形Ｓ３になる。この場合にも更新処理となる。
【０４２９】
これら（１）〜（５）のケースが代表的な例であるが、図４９〜図５２に示した処理フローに基づいて３Ｄ−ＣＡＤデータの生成処理を行なうと、このような生成と更新が行なわれることになる。
【０４３０】
図５５を参照して第５９の手段の実施の形態を説明する。この実施の形態も別な応用システムで本発明を実施する場合の適した製品形態を示している。この実施の形態は、画像情報処理装置１００の画像情報処理機能とアプリケーション側の制御用ＣＰＵ３００の制御処理機能を、遠隔制御装置を構成する１つのパソコンなどの主制御装置６００に内蔵したソフトウェア（プログラム）を実行することによって実現する移動作業車である。
【０４３１】
この実施の形態における移動作業車は、走行機構５００と駆動制御装置５０１を備えた移動台車５０２にアーム機構４００と撮像装置１０と通信装置５０３を搭載している。撮像装置１０は、アーム機構４００の先端に取り付けて設ける。
【０４３２】
遠隔制御装置の主制御装置６００は、通信装置６０１を介して移動台車５００の前記通信装置５０３と制御指令／制御状態や画像情報の授受を行なう。
【０４３３】
移動台車５０２に搭載した通信装置５０３は、受信した制御指令を駆動制御装置５０１に伝えて走行機構５００やアーム機構４００を制御させ、その制御状態と撮像装置１０から出力される画像情報を通信装置６０１に送信する。
【０４３４】
このような移動作業車によれば、主制御装置６００の画像情報処理機能用ソフトウェア１００は、移動台車５０２と共に移動する撮像装置１０から出力される画像情報を通信装置５０３，６０１を介して取り込んでＣＡＤデータを生成し、ハードディスクなどの記憶装置２００へ記憶（登録）する。また、制御機能用ソフトウェア３００は、前記画像情報処理機能用ソフトウェア１００から移動台車５０２が移動している環境の中の対象物の位置や姿勢情報や撮像装置１０の位置と姿勢情報を取得して参照し、アーム機構４００や移動台車５０２をどのように動かせば良いかを判断して制御指令信号を与える。
【０４３５】
この実施の形態のように、画像情報処理装置１００をソフトウェアで構成すれば、特定のアプリケーションに対して最も適したＩ／Ｆで作り込むことが可能となる。また、アプリケーションの制御機能用ソフトウェアを実行するために用意するパソコン（主制御装置）６００によって画像情報処理機能用ソフトウェア１００も実行するように構成することにより、専用のハードウェアを簡素化することができる。アーム機構４００および走行機構５００の動作速度が比較的遅くてソフトウェアでの処理速度でも問題にならない場合の実施の形態として特に有効である。
【０４３６】
図５６を参照して第６０の手段の実施の形態を説明する。ここでは、撮影対象物体を高速度で回転しているスケート選手とする。
【０４３７】
高速で回転するスケート選手９０９を撮影する撮像装置１０として、スケート選手９０９が滑る場所を取り囲むように４台の撮像装置１０（１），１０（２），１０（３），１０（４）を配置する。これらの撮像装置１０（１）〜１０（４）は、固定しておいて良い。画像情報処理装置１００（図示省略）は、これらの４台の撮像装置１０（１）〜１０（４）から出力する画像情報を順番に切り替えて直接または間接的に入力することを考える。画像情報処理装置１００は、初めは撮像装置１０（１）の画像情報を入力し、次には撮像装置１０（２）に切り替えて画像情報を入力し、更に、撮像装置１０（３），１０（４）の順番に画像情報を入力し、その次には、撮像装置１０（３），１０（２）のように逆の順番で隣に設置されている撮像装置の画像情報に切り替えながら入力するように構成する。沢山の撮像装置１０を使用して、スケート場（滑る場所）の全周を密に取り囲むように設置することができる場合には、一方向に周回するように順次に切り替えて入力するようにしても良い。
【０４３８】
このように固定した複数台の撮像装置を用意して切り替えるようにすれば、切り替えは、画像情報の電気信号の切り替えであるので瞬間的に切り替えることが可能であり、１台の撮像装置１０で撮影することを想定すると、例えば、１台の撮像装置１０が撮像装置１０（１）の位置から撮像装置１０（２）の位置に瞬間的に移動したことになる。このように構成することによって、高速で移動する撮影対象物体に対しても有効に適用することが可能となる。
【０４３９】
ここで、撮像装置１０の配置は、画像情報のトラッキングなどに支障がでない程度に密に配置するのが良い。そうすれば、３Ｄ計測時に撮像装置１０の設置位置を気にしないでもＣＡＤデータの生成処理を実現することが可能となる。また、撮像装置１０の配置位置が予め分かれば、その位置情報を３Ｄ計測の中で使用することにより、画像情報処理装置１００における処理を単純化することができる。
【０４４０】
図５７を参照して第６１の手段および第６２の手段の実施の形態を説明する。この実施の形態は、走行クレーン１４２ｅに搭載されて走行，横行する台車に設けた昇降可能なマストの下端に取り付けられているマニピュレータ１４２ｆである。マニピュレータ１４２ｆの手先にはハンド部があり、通常の把持用ハンドを装着したり、場合によっては、必要時に別の場所に置いてあるボルト着脱専用のエンドエフェクタへ先端の把持用ハンドを自動交換する機能を有するものでも良い。
【０４４１】
通常のマニピュレータ１４２ｆの制御は、オペレータがオペレータコンソール１４２ｂへ指令を入力すると、ある程度の自動運転を制御装置１４２ｃが実行するように構成しいている。マニピュレータ１４２ｆの動作状況は、ＬＣＤモニタ１４２ａに表示するように構成し、オペレータは、このＬＣＤモニタ１４２ａを観察することによってマニピュレータ１４２ｆの状態を確認することができるようにする。また、自動運転以外にも、オペレータがＬＣＤモニタ１４２ａを見ながら手動操作できるように構成する。モニタ１４２ａは、ＣＲＴモニタであっても良い。
【０４４２】
このシステムに本発明を適用すると、マニピュレータ１４２ｆの手先に撮像装置（手先カメラ）１０を設け、その画像情報を無線モデム１４２ｄなどの回線を介して画像情報処理装置１００へ入力できるように構成し、画像情報処理装置１００は生成したアズビルトのＣＡＤデータを記憶する記憶装置２００と自律制御装置３００へ接続する構成となる。ここで、自律制御装置３００は、オペレータからの概略の指令に基づいて、具体的な動作タスクの組み合せで自動プログラムを自動生成する機能を有するものである。例えば、「建屋の入り口にあるＯＸ装置を掴んで建屋の奥にある作業台の上に運ぶ。」という大まかな指令を入力すると、自律制御装置３００は、予め保持している建屋の入り口と作業台などの位置データを参照して、走行クレーン１４２ｅやマニピュレータ１４２ｆを現在の位置から建屋入り口まで障害物を避けながら移動させる経路（軌道）情報を生成して、その経路情報をマニピュレータ１４２ｆやクレーン１４２ｅの制御装置１４２ｃなどへ与える。自律制御装置３００は、この経路情報を生成するときに、記憶装置２００に格納されているアズビルトのＣＡＤデータを参照する。
【０４４３】
その後、生成した軌道に沿って走行クレーン１４２ｅおよびマニピュレータ１４２ｆを移動させて対象物体であるＯＸ装置を把持するまで制御装置１４２ｃに制御させるが、経路情報は、あくまでも最初に計画した軌道であるので、その時々の環境の中で本当に衝突しないかなどを自動でチェックできるようにしないと自律型の自動運転を円滑に行なうことができない。そこで、画像情報処理装置１００は、手先カメラ１０から出力する画像情報に基づいて環境のＣＡＤデータを生成して記憶装置２００のＣＡＤデータをリアルタイムで更新するように構成し、自律制御装置３００は、記憶装置２００を参照して最初に立てた計画どおりの軌道で良いかどうかを常にチェックし、万一、環境が変わった場合には、必要に応じて、即座に軌道修正を行なって、修正した軌道（経路情報）を制御装置１４２ｃへ出力するようにする。修正が時間的に間に合わない場合とか、対応している状況に適切な軌道修正プログラムが用意されていないような場合には、自律制御を続行することが困難であることをＬＣＤモニタ１４２ａに表示してアラームを出すことによりオペレータに知らせるように構成する。
【０４４４】
また、ＯＸ装置を把持する場合には、マニピュレータ１４２ｆの位置が走行クレーン１４２ｅの停止制御誤差などによって計画位置からずれると、通常の自動制御運転ではＯＸ装置を確実に把持することができなくなる事態が発生する。このような事態の発生を避けるために、画像情報処理装置１００は、手先カメラ１０から出力される画像情報に基づいて○Ｘ装置の位置と姿勢を正確に検出すると共に手先カメラ１０の位置と姿勢も正確に検出するように構成し、その情報を自律制御装置３００へ与えることができるように構成する。このようにすれば、自律制御装置３００は、手先と○Ｘ装置の相対的な位置関係のずれを知ることができるので、そのずれをなくすように制御装置１４２ｃへ適切な制御信号を与えるとこによって、マニピュレータ１４２ｆでＯＸ装置を確実に把持することが可能となる。その後は、建屋の奥まで戻ってきて、所定の場所（位置）も同様に手先カメラ１０の画像情報に基づいて補正しながら目的の場所にＯＸ装置を搬送して設置することが可能となる。
【０４４５】
このように一通りの作業が終了したときには、その旨をＬＣＤモニタ１４２ａに表示することによって、与えられた作業を終了したことをオペレータに伝える。
【０４４６】
以上の制御機能は、主に、自動運転中の画像情報に基づくマニピュレータ１４２の誘導制御であるが、それ以外にも、先ず、環境がそれほど変化しない場合には、予め移動軌跡をオフラインで計画するようにしても良い。そのときには、記憶装置２００のＣＡＤデータ２００を利用してアズビルト環境を用意し、その中にクレーンやマニピュレータのＣＡＤモデルも入れて、それらをオフラインの状態で手動操作制御してそのときの動作軌跡を自動運転中の動作軌跡とするオフラインティーチング機能にもアズビルトのＣＡＤデータを利用すると有効である。また、オフラインティーチング後に、本当に正しいデータができたどうかをオフラインでシミュレーションさせる機能も用意すれば、事前に間違いないことを確認することができる。このときにも、アズビルトのＣＡＤデータを使うことによって、より正確なシミュレーションとなる。
【０４４７】
また、自動運転中に常に生成されるアズビルトのＣＡＤデータを参照することによって障害物を避けて安全な自動運転が行なわれていることを該自動運転中に自動チェックする安全監視機能も、リアルタイムで生成されるアズビルトのＣＡＤデータがあれば容易に実現することが可能となる。
【０４４８】
また、手先カメラ１０だけでは死角などが生じる場合には、マニピュレータ１４２ｆの肩の位置にもカメラを設置し、更には、クレーンにもカメラを設置し、更には、建屋の床，壁，天井などに設置した首振りタイプの固定カメラなどからの画像情報も使って、アズビルトのＣＡＤデータを生成するように構成すると良い。また、それらのカメラは、ポジションフィードバック付きのズームレンズを用いて離れた場所からでも精度良い画像情報を出力することができるようにしてアズビルトのＣＡＤデータを生成することができるようにすると良い。ポジションフィードバック付きズームレンズを使用することが困難な場合には、既に画角の分かっている広角レンズのカメラと望遠レンズのカメラの２台を一組にして使用し、両方の画像情報を必要に応じて切り替えて入力するように構成しても良い。また、両方の画像情報を同時に処理するように構成しても良い。
【０４４９】
また、特殊なマニピュレータで上下に昇降する伸縮アームの先端にハンドがあるようなマニピュレータシステムにおいては、伸縮アームの先端に下を見るカメラを付ければ、同様なシステムを容易に構築することができる。先端のカメラは、そのポジションフィードバックがあれば、首振り機構付きでも良い。そうすると、カメラの視野がより広くなる。勿論、高分解能カメラと魚眼レンズなどとを組み合わせて最初に画像情報の歪を補正してから同様に広範囲の視野で適用するようにしても良い。
【０４５０】
図５８は、第６２の手段を適用して構成した水中ＲＯＶの実施の形態を示している。水中深く潜水したＲＯＶは、水面上からは見えなくなる場合があるので、水中ＲＯＶが今どこにいるかを表示する表示機能が望まれている。本発明の画像情報処理装置１００は、このような表示機能を容易に実現することができる。そして、このような水中ＲＯＶは、海とか湖あるいはプラント内のプールの水中にある構造物などの目視点検やＵＴ検査などに使用すると便利である。
【０４５１】
水中ＲＯＶ１４３ａは、水中における前後上下左右、更には左右の旋回などをオペレータコンソール（操作部）１４３ｂから遠隔操作することができる。通常は、水中ＲＯＶ１４３ａに設けたＴＶカメラからの画像情報信号に基づく映像を見ながら遠隔操作することが多い。しかしながら、水中に同じような構造物１４３ｃが沢山あるような場合には、どこの構造体を見ているかがわからなくなることから、水中ＲＯＶ１４３ａの現在位置の確認手段が望まれている。本発明の画像情報処理装置１００は、水中ＲＯＶ１４３ａのカメラによって得た画像情報を処理して周囲環境のＣＡＤデータを生成して表示しながら該水中ＲＯＶ１４３ａを目的の検査場所まで移動させるように操縦するのを支援するのに好適である。
【０４５２】
画像情報処理装置１００（図示省略）をオペレータコンソール１４３ｂに内蔵し、水中ＲＯＶ１４３ａのカメラから入力する画像情報に基づいて生成したＣＡＤデータと該カメラの現在位置をオペレータコンソール１４３ｂのＬＣＤモニタに表示するように構成すれば、検査対象の構造体１４３ｃと水中ＲＯＶ１４３ａに搭載したカメラの位置と姿勢をオペレータコンソール１４３ｂ上で視認することができ、遠隔操作が容易になる。
【０４５３】
また、予め構造体の図面などを用意しておけば、それと生成ＣＡＤデータを照らし合わせることによって、絶対位置の対応付けも容易に行なうことができるようになる。
【０４５４】
この実施の形態は、水中ＲＯＶであるが、飛行船のような場合にも、同様にして、現在飛行している場所を撮影する搭載カメラからの画像情報に基づいて生成したＣＡＤデータとカメラの位置を一緒に表示するように構成すれば、飛行船の現在位置を表示するシステムを容易に構築することができる。
【０４５５】
図５９は、第６２の手段を適用して構成した自動掃除機の実施の形態を示している。
【０４５６】
この実施の形態における自動掃除機１４４ｃは、カメラ１０（２眼でも良い）と画像情報処理装置１００（図示省略）を備え、部屋の中を動き回ることにより撮影される障害物１４４ａ，１４４ｂや周囲の壁などの画像情報に基づいてアズビルトのＣＡＤデータを生成する。生成されるＣＡＤデータは、３次元の環境データであるので、上方の凹凸情報も積極的に活用して埃を取るような制御を実行しても良いが、床だけの清掃であれば、３次元のＣＡＤデータを上から見た平面図の情報で制御するように構成すれば良い。
【０４５７】
自動掃除機１４４ｃは、自分で動き回った経路をカメラの現在位置情報としてモニタすることで移動軌跡が残るので、現在、部屋のどこの部分を掃除して掃除済みエリア１４４ｄがどうで、どこが残っているかをアズビルトの地図の中で確認しながら残りの掃除してない部分を効率よく清掃するように制御することができる。掃除機は、間取りの異なる各家庭で使用するので、部屋の地図情報を予め登録しておくことが困難であることから、アズビルトでＣＡＤデータを生成することができる機能は有効である。リセットするまでは同じ部屋のデータを残しておき、毎回、最初からＣＡＤデータを生成しないで済むようにすれば、使えば使うほど正確なＣＡＤデータが生成されていく。また、部屋の模様変えを行なった場合には、ＣＡＤデータも更新されるので、そういう場合にも有効である。また、処理速度がリアルタイムであれば、廊下を歩いている住人もリアルタイムで検出して衝突を避ける制御を実行することができるようになる。毎日、掃除を始める時には既に生成されているＣＡＤデータの平面図などを表示するように構成し、どのように掃除機を置いたかを最初に設定するようにすれば、最初の位置の絶対同定は容易になる。もちろん、周囲の環境のＣＡＤデータと前に生成したＣＡＤデータの部分マッチングを行なうことにより、自動的に絶対値を検出させることも可能である。
【０４５８】
図６０は、第６３の手段を適用して構成した文字読み取り装置の実施の形態を示している。本発明の画像情報処理装置１００は、３次元ＣＡＤデータを生成するので、刻印文字などのＣＡＤデータを生成してマッチングさせることが容易にできるようになる。ここでは、移動する文字を読み取る装置の例で説明する。
【０４５９】
ビル１４５ａなどに設置された電光掲示板１４５ｂに表示される文字は流れて見えるので、通常のやりかたでは、予めどの程度の文字がどういうタイミングで移動してくるかを調べておいて、カメラを電光掲示板１４５ｂの正面に設置し、専用の処理プログラムを用意しておく必要があるが、本発明の画像情報処理装置１００を適用すれば、電光掲示板１４５ｂを斜めから見ても３次元で文字のＣＡＤデータを生成することができるので、カメラ１０，２０を電光掲示板１４５ｂの正面に設置する必要がなくなる。また、探索では、明朝体やゴシックなどの基本的な文字から近い文字を探すようにすれば、予め電光掲示板特有の文字を調べて登録するような作業を行なわなくとも良くなる。更に、生成されるＣＡＤデータには時刻が入ることから、例えば、時間と移動距離から移動速度を求めることも容易であり、電光掲示板１４５ｂを見ていて１０：１５の２０秒から２８秒までに生成されたＣＡＤデータを繋げて読むように処理すれば、一度には全文表示されていない文章でも「今日は晴れ時々曇りです。」のように全文の形態で読み取ることもできるようになる。
【０４６０】
図６１は、第６４の手段〜第６６の手段を適用して構成した３次元計測装置の実施の形態を示している。カメラを撮影対象物体の近くに寄せれば分解能、すなわち計測精度があがるので、近くに寄れる場合には、汎用カメラを使用して撮影して得た画像情報に基づいて３次元計測を行なったり、３次元ＣＡＤデータを生成するシステムを構築することができる。
【０４６１】
図６１に示した３次元計測装置は、カメラ１０ａと画像情報処理装置１２０ａが接続されており、環境の対象物体９０１ａの周囲を撮影して得た画像情報に基づいてＣＡＤデータを生成して記憶装置２００ａに記憶する構成を示している。撮影現場では、そのようなＣＡＤデータ生成作業を行い、それが終わったならば、画像情報処理装置１２０ａと計算機１４６ｃを接続して画像情報処理装置１２０ａの記憶装置２００ａのＣＡＤデータ９０２ａを取り出せるように構成する。画像情報処理装置１２０ａで生成するＣＡＤデータ９０２ａは、高速処理に適したデータ構造にしておき、取り出すときに汎用のＣＡＤデータの構造に変換して出力するようにする。計算機１４６ｃへ出力したＣＡＤデータ９０２ｚは、汎用的に他のアプリケーションでも使用できるデータ構造に変換されていれば、生成されたＣＡＤデータを利用し易くなる。ＣＡＤデータには寸法の情報も入っているので、このように構築したシステムは、現場のアズビルト寸法もＣＡＤデータの座標や大きさ（長さ）を確認することで３次元計測システムとして利用することができる。また、ＣＡＤデータの生成の仕方では、撮影しながらＣＡＤデータを生成するようにしても良いが、例えば、図５５のカメラ単体１０ｚで画像情報をテープやＭＯなどの記録媒体１４６ａに記録して、それを後で、画像情報処理装置１２０ａに入力してＣＡＤデータを生成する方法としても良い。撮影現場でＣＡＤデータを生成してその内容をＣＡＤデータの絵で表示しながら撮影するようにすれば、現場作業での間違いは少なくなるが、モニタや処理装置が持ち込めない狭い場所などでは、後でＣＡＤデータを生成する方法が有効である。また、ＣＡＤデータ９０２ａをＣＡＤデータ９０２ｚに変換して出力するときに、単純に点は点、線データは線データ、面データは面データでデータフォーマットだけの変換をするのではなく、例えば、基本図形の幾つかにマッチング処理して基本図形に変換して出力するようにすれば、更に利用し易いＣＡＤデータを取り出すことができるようになる。この基本図形への変換機能も画像情報処理装置１２０ａの機能でやる方法もあるが、計算機１４６ｃに別の変換ソフトを用意して行なうようなシステムを構築するようにしても良い。
【０４６２】
図６２を参照して第６７の手段の実施の形態を説明する。この実施の形態は、環境のＣＡＤデータを生成する形態である。この第６７の手段は、町並みのＣＡＤデータ、すなわち３次元地図データを生成するのに適した手段であり、カメラを自動車または二輪車に搭載し、または人が持ってカメラを移動させながら環境を撮影して得た画像時用法に基づいてＣＡＤデータを生成する手段である。図６２に示す実施の形態は、自動車に搭載したカメラ１４７ａで町のビルなどを撮影して得た画像情報を画像情報処理装置１００（図示省略）に入力してＣＡＤデータを生成する構成である。また、上空では、飛行船の下部にカメラ１４７ｂを搭載して上空より下のビルなどの環境を撮影して画像情報を得るようにしている。このカメラ１４７ｂの画像情報も、同様に、画像情報処理装置に入力してＣＡＤデータを生成し、両方のＣＡＤデータを合成する。
【０４６３】
自動車に搭載したカメラ１４７ａで撮影して得た画像情報だけでも町並みの下方のＣＡＤデータを生成することができるが、上方、特にビルの上面については、下からでは死角になるのでＣＡＤデータを生成することができない。一方、上方の飛行船に搭載したカメラ１４７ｂで撮影して得た画像情報だけでは、下方、特に下面は上方からの死角となっているのでＣＡＤデータを生成することができない。両方の画像情報に基づいて生成したＣＡＤデータを統合することによって、町並みの下から上までの正確なＣＡＤデータを生成することができるようになる。
【０４６４】
図６３は、第６８の手段を適用して構成したナビゲーション装置の実施の形態を示している。実環境の情景１４８ａは、自動車が交通信号機のある交差点にさしかかっている情景である。この情景は、予め３次元のＣＡＤデータ１４８ｂとして生成されているものとする。
【０４６５】
走行している自動車は、カメラ（図示省略）を搭載しており、このカメラで撮影して得た画像情報に基づいて生成した最新のＣＡＤデータで既成のＣＡＤデータを更新しながら、画像情報処理装置１００で求めたカメラの位置と姿勢情報に基づいて３次元ＣＡＤデータ１４８ｂの中には現在のカメラの位置と姿勢情報（自動車についているカメラの位置が既知であれば自動車の位置と姿勢情報）を表示するようにする。これによって、自動車がＣＡＤデータ１４８ｂの中で現在どこを走っているかがわかる。このように構成すれば、ＧＰＳ不要のカーナビゲーション装置を構成することができる。また、予めＣＡＤデータがある場合には、その目的地を指示すると、現在の位置から目的地までの最善ルートを表示してナビゲートする機能をＧＰＳによる従来のカーナビゲーション装置と同様に機能させることができる。予め３次元のＣＡＤデータが用意されていない場合には、最低限、２次元のマップ情報があれば、２次元のマップ情報とそのときに生成しているＣＡＤデータとの対応付けを取れるようにしておくことにより、目的地までのガイドを２次元のマップ上で行なうことができ、現在位置の確認は、生成したＣＡＤデータと２次元マップとの対応付けで行なう。２次元のマップ情報は、ポイントポイントを３次元の情報ももたせて生成した３次元のＣＡＤデータと対応を取り易くしておくのが良い。例えば、特徴あるビルとか交通信号機の有無などは、基本図形で概略の形状を模擬したものでも３次元のＣＡＤデータで用意しておくのが良い。また、途中に用意した目印と同じ場所を生成されたＣＡＤデータの中から探索することができた場合には、そこを通過したということでアナウンスするようにすると良い。例えば、３次元ＣＡＤデータ１４８ｂの中の交通信号機がカメラの視野に入ってきたならば、「どこそこの交差点を通過しました。」とアナウンスするように構成する。このようなことは、画像情報処理装置１００の探索機能を使って、ここでは、参照ＣＡＤデータに交通信号機のデータ１４８ｄを使って探索させることにより実現する。また、目的地のＨＩＴＡＣＨＩビルの参照ＣＡＤデータ１４８ｃを使えば、目的地を探索することができる。このように、通過点の目印となる物とか最終目的地の目印（この場合はＨＩＴＡＣＨＩビルの看板）が探索できた場合には、表示しているＣＡＤデータ１４８ｂ上でここが探索できたということがわかるように色を変えて表示またはその部位を点滅表示して場所を知らせるように構成すると良い。ＣＡＤデータが予め用意されていない場所へ自動車が行くと、ＣＡＤデータを更新するだけではなく、積極的に新しいＣＡＤデータを生成しながら走行するようにする。これによって、アズビルトのＣＡＤデータは、自動車が走ることによってより広範囲のものが生成されるようになる。地図が何もない場合には、目的地までのナビゲーションを行なうことはできないが、それまで走ってきたところまでのＣＡＤデータを生成することから新しい地図情報が蓄積されることになるので、２回目からは、その地図情報を使用して目的地までのナビゲーションを確実に行なうことができるようになる。また、生成されたＣＡＤデータの所定のエリアを指定してその部分を探索用のＣＡＤデータとして名前を付けて登録できる機能も設けるのが良い。登録名称がＨＩＴＡＣＨＩビルの参照データ１４８ｃは、そのようにして登録する。登録するときには、ユニークな形状，色，模様のあるものが良いので、看板などは適切である。交通信号機などのような汎用的に目印となるものは、予め典型的なものを何種類か登録しておき、カーナビゲーション装置のユーザに供給される前に登録しておくことでも良い。
【０４６６】
自動車で走りながらＣＡＤデータを生成して行くが、１台の自動車で日本中を走り回ることは困難であるので、新しく生成したＣＡＤデータは、携帯電話のデータ通信回線などを利用して中央の情報処理センターに送信できるようにする。この中央の情報処理センターでは、各地の自動車から送られてくる最新のＣＡＤデータを受信して統合することにより、日本中の道路のＣＡＤデータを作成することが可能となる。また、中央の情報処理センターで統合して作成したＣＡＤデータは、各自動車のカーナビゲーション装置から要求があれば、必要なエリアの最新のＣＡＤデータを携帯電話などのデータ通信回線を使って中央の情報処理センターから各自動車のカーナビゲーション装置に送信できるようにする。もちろん、統合されたＣＡＤデータを３次元地図情報としてＣＤなどの記憶媒体を使用して各自動車のカーナビゲーション装置のデータとして入力できるようにすることでも良い。
【０４６７】
中央の情報処理センターは、ＣＡＤデータを統合するときには、ＣＡＤデータが生成された日時（時期）を注意して統合する。すなわち、冬のデータには雪が積雪している場合があり、夏と冬では、同じ地形でもＣＡＤデータが異なる場合がある。また、短い周期で見れば、夜に生成されたＣＡＤデータと昼に生成されたＣＡＤデータは異なるので統合処理するときに、生成された時期によってＣＡＤデータを分類しながら統合するとか、その時期ゆえに影響される雪とか夜のライトなどのデータは、一時的なものとして管理するように統合するのが良い。
【０４６８】
図６４を参照して第６９の手段の実施の形態を説明する。この実施の形態は、カーナビゲーション装置におけるＬＣＤモニタであり、平面図と鳥瞰図を必要に応じて選択的に表示できるように構成するのが良い。図６４は、自動車１４９ａがさしかかった交差点の近傍を上から見た情景を表示している平面図である。交差する道路の一方は狭い道路であり、そこから自動車１４９ｂが広い道路に出ようとしている。また、狭い道路には、歩行者１４９ｃも表示されている。
【０４６９】
カーナビゲーション装置のＬＣＤモニタにこのような情報を表示することができれば、交差点における出会い頭の衝突を防止することができる。また、歩行者の飛び出しについても、事前に注意して運転することが可能となる。表示形態は、移動している向き、速度などが見易いように工夫するのが良い。例えば、移動速度が速くなればなるほど点滅周期を短くして点滅速度を速くするとか、表示色を青から黄色、赤へと変えるとかして、直感的に危険な速度がでていることがわかるようにするのが良い。
【０４７０】
自動車１４９ｂのカーナビゲーション装置は、近くにいる自動車１４９ａのカーナビゲーション装置に対して、自分（自車）の現在位置と姿勢、必要であれば移動速度などの情報もあわせて送信することができるように構成し、近くにいる自動車１４９ａのカーナビゲーション装置は、自動車１４９ｂのカーナビゲーション装置から受信した情報をＬＣＤモニタに表示するように構成することにより、自動車１４９ａ，１４９ｂの衝突の危険性を運転者に認識させることができる。また、歩行者１４９ｃもカーナビナビゲーション装置と同様な機能をもったナビゲーション装置を携帯して、この歩行者１４９ｃのナビゲーション装置も歩行者１４９ｃの現在位置と向きなどの情報を送信し、自動車１４９ａのカーナビゲーション装置がこの情報を受信ＬＣＤモニタに表示するように構成することにより、自動車１４９ａの運転者に歩行者の存在を認識させて該歩行者の飛び出しの可能性を予測させることができる。
【０４７１】
お互いのナビゲーション装置で各自の情報を授受して各ナビゲーション装置のＬＣＤモニタに表示するように構成すれば、お互いに環境状況（相手の状態）を認識して行動することが可能となる。
【０４７２】
この実施の形態は、ナビゲーション装置同士が直接的に情報交換を行なう構成であるが、各ナビゲーション装置が自分の位置と姿勢、必要ならば速度情報などの情報を中央の情報処理センタに送信し、中央の情報処理センタでは、送られてくる総ての情報を収集して管理し、各ナビゲーション装置に対して該ナビゲーション装置の近くにいる他のナビゲーション装置の情報を配信して表示させるように構成することも可能である。
【０４７３】
このような実施の形態では、危険な状況では、注意を喚起するようにアラームを出すように構成するのが良いし、自動車の場合には、自動車の運転制御装置と連係させて危険な運転操作を制限する機能を実現するように構成すると良い。
【０４７４】
図６５を参照して歩行者が携帯するナビゲーション装置の実施の形態を説明する。この実施の形態におけるナビゲーション装置は、歩行者が必要に応じて頭に被る帽子のような形態のタイプのナビゲーション装置１５０ａや肩に乗せるような形態のナビゲーション装置１５０ｂ，１５０ｃに構成する。各ナビゲーション装置１５０ａ〜１５０ｃは、撮像装置（カメラ）１０と画像情報処理装置１００と無線通信機能付きの記憶装置２００とバッテリ（図示省略）を備える。全体は小型で軽いものに構成するのが良い。高齢者や子供を交通事故から守ることを目的とする装置では、ＬＣＤモニタは不要であり、自分自身の位置を検出して中央の情報処理センタあるいは近くの自動車のカーナビゲーション装置に送信する機能があれば足りる。歩行者は、ナビゲーション装置１５０ａ〜１５０ｃの何れか１つを携帯すれば足りるように構成することが望ましい。カメラを両肩に載せるような形態に構成すれば、略全周を死角なく撮影することができるようになる。また、カメラや処理回路をシート状の基板に焼き付けて帽子や服に実装することにより、ウエラブルの装置としても良い。カメラや処理回路を更に小型化して、胸ポケットに入れることができるペン型に構成したり、腕時計，ブローチ，ペンダント，めがね，イアリングなどに組み込むようにしても良い。
【０４７５】
図６６は、第７０の手段を適用して構成したピッキングシステムの実施の形態を示している。ピッキングシステムは、生産現場などに乱雑に置かれた部品をマニユレータ１５１ａによって１つ１つハンドリングするシステムである。
【０４７６】
マニピュレータ１５１ａの先端に撮像装置（ＴＶカメラ）１０を取り付け、部品把持用ハンド１５１ｂとＴＶカメラ１０の位置関係を既知情報として画像情報処理装置１００を構成する視覚誘導チップへ予め設定しておく。
【０４７７】
ＴＶカメラ１０の画像情報である映像信号は、画像情報処理装置１００へ入力して処理する。マニピュレータ１５１ａの各関節のモータ１５１ｃは、駆動装置１５１ｄによって駆動制御して各関節の角度を変えることにより先端の把持用ハンド１５１ｂの位置と姿勢を調整し、そのための制御指令は、マニピュレータ制御装置３００によって生成する構成は、一般の産業用ロボットの制御系の構成と同様である。
【０４７８】
制御装置３００は、通信ケーブルを介して画像情報処理装置１００に接続し、制御指令を生成するときに参照する情報を画像情報処理装置１００から取得する。また、制御装置３００は、オペレータ１５１ｅから作業指令を取得する。
【０４７９】
例えば、作業テーブルの上にある部品ＡをトレーＡに入れ、部品ＢをトレーＢに分類して入れるような作業指令が与えられると、制御装置３００における制御指令生成部は、以下のような処理を行なう。
▲１▼  先ず、作業台の上のＣＡＤデータの生成を開始する指令を画像情報処理装置１００に与える。
▲２▼  次に、マニピュレータ１５１ａを動作させて先端のＴＶカメラ１０が作業台をいろいろな角度から撮像することができるように制御する。これは、予め部品に接触しないエリアを想定してマニピュレータ１５１ｂの動作軌跡をティーチングしておき、その動作をプレイバック運転するように制御することで良い。
▲３▼  次に、ある程度作業台の上のＣＡＤデータ１５１ｆが生成されたならば（これは、画像情報処理装置１００における処理においてＣＡＤデータの更新内容が少なくなって更に同じ動作を繰返してもＣＡＤデータは更新されないぐらい生成されたという信号を該画像情報処理装置１００から受け取って判断するようにしても良いし、ＴＶカメラ１０を動かした量で十分にできていると自ら経験的に判断するようにしても良い）、部品Ａを探索するように画像情報処理装置１００に指令を与える。部品Ａの探索用ＣＡＤデータ１５１ｇは、制御装置３００に登録しておき、必要時に指令と一緒に画像情報処理装置１００へ送信するようにすると良いし、予め画像情報処理装置１００へ登録しておいて部品番号で指定できるようにしておいても良い。ＴＶカメラ１０の位置と姿勢情報は、常に送信されるようにしておいても良いし、今からのタイミングで送信開始してもらうようにしても良い。
▲４▼  画像情報処理装置１００から部品Ａの探索結果として作業台上の部品Ａの位置と姿勢情報の応答があったならば、複数候補のうちのどの部品を最初に把持させるかをマニピュレータ１５１ａとの位置関係などから優先順序として決定する。優先順序を決定する機能は、画像情報処理装置１００に設け、一番候補の部品の位置と姿勢情報のみが送られてくるようにすると良い。
▲５▼  次に、決定した部品Ａを把持するようにマニピュレータ１５１ａを把持制御させる。部品Ａの位置と姿勢が分かっていることから、把持用ハンド１５１ｂをどこへどういう姿勢でアクセスすれば良いかを容易に計画することができる。そして、その計画に基づき先端の制御軌道を計画して各関節の動作角度に換算して具体的な制御を実行する。ＴＶカメラ１０の位置と姿勢情報は、確認用にチェックすることで良い。但し、マニピュレータ１５１ａが移動台車に固定されて移動して位置がずれる可能性のある場合には、ＴＶカメラ１０の位置と姿勢情報は、部品Ａ，Ｂの位置と姿勢を求めるＣＡＤデータの空間上での位置と姿勢情報になっているので、マニピュレータ１５１ａや作業台が移動してずれるような場合には、ＴＶカメラ１０の現在の位置と姿勢情報を参照しながらマニピュレータ１５１ａの制御を行なうようにすると良い。
▲６▼  マニピュレータ１５１ａの把持ハンド１５１ｂが部品Ａを把持したならば、部品ＡをトレーＡへ運搬して該部品ＡをトレーＡへ入れる制御を行なう。部品Ａを把持したかどうかの判断は、把持ハンド１５１ａに圧覚センサなどを設け、その信号に基づいて確実に把持したことを確認することにより、次の動作の制御へ移動するようにすると良い。
▲７▼  部品Ｂについても、探索用ＣＡＤデータ１５１ｈを参照して同様に行なえば、部品Ａと部品Ｂを各々別のトレーに自動的に分類して収容することができるようになる。
【０４８０】
把持センサの例を説明したが、自律制御型ロボットもそうであるが、総てのアプリケーションのケースにおいて、画像情報処理装置１００の情報だけで制御する必要はなく、制御装置３００は、必要に応じて各種センサの情報を総合的に判断してどのように制御するかを決定するように構成するのが良い。
【０４８１】
図６７を参照して第７１の手段および第７２手段を適用して構成した検査装置の実施の形態を説明する。図６７は、検査工程部分にこの実施の形態の検査装置を適用したＣＤ，ＤＶＤなどの生産ラインの模式図である。
【０４８２】
検査対象物体であるＤＶＤ１５２ｃは、コンベア１５２ｂによって搬送し、それをマニピュレータ１５２ａの先端に設けた撮像装置（カメラ）１０ａで撮像する。カメラ１０ａを設けたマニピュレータ１５２ａは、１台でも良いし、より早く、検査漏れがないようするために複数台設置しても良い。マニピュレータ１５２ａは、ＤＶＤ１５２ｃをいろいろな角度から撮像して、その画像情報を画像情報処理装置１００に入力して検査対象物体であるＤＶＤ１５２ｃの３次元ＣＡＤデータを生成する。一方、画像情報処理装置１００には、正常な検査対象物体であるＤＶＤ１５２ｃのＣＡＤデータも参照用ＣＡＤデータとして予め登録しておき、生成したＣＡＤデータとの比較を行って異なる部分を抽出することにより、検査対象物体であるＤＶＤ１５２ｃの良否を判定（自動検査）する。例えば、良品のＤＶＤを予め撮影してＣＡＤデータとして生成しておき、画像情報処理装置１００の探索機能を用いても良いし、別にマッチング機能を用意しても良いが、検査対象物体であるＤＶＤ１５２ｃを撮影して生成したデータと良品のデータで異なる部分を抽出すれば、例えば、ＤＶＤ１５２ｃの表面の傷１５２ｄなどがある場合には、その部分が大きな相違点として抽出できるので、当該ＤＶＤは不良品であると判定する。
【０４８３】
３次元ＣＡＤデータ同士を一番マッチングする姿勢で合わせたり、基準となる部分が一致するように姿勢を合わせて差分処理（差分処理は互いのＣＡＤデータを点データの集合に変化して行なうのが良い。）をとって異なる部分を抽出するようにし、その抽出された部分（点データ）の体積，面積，長さなどの相違する量（点データの数）とか、色の差（点の色情報同士の差分結果）、色の差が所定の値以上に生じた部分の面積（点データの数）などで判定するようにすることもできる。また、参照ＣＡＤデータを設計図面から生成する理想的なＣＡＤデータにすれば、基準をより確かなものとすることができる。このようにいろいろな角度から撮影するので、詳細な外観検査の自動化を実現することができるようになる。
【０４８４】
また、第７２の手段では、ＴＶカメラ１０をマイクロスコープ付きとすることで、より微細な欠陥も３次元ＡＤデータとして生成することができ、詳細な検査を行なうことも可能となる。
【０４８５】
なお、以上の実施の形態では、検査装置は、検査対象物体を固定してカメラをマニピュレータなどで移動する形態であるが、カメラを固定して検査対象物体を移動させながら撮影するように構成しても良い。また、カメラと検査対象物体の両方を移動させるように構成しても良い。また、人間の顔のいろいろな表情を撮影して画像情報処理装置１００で３次元ＣＡＤデータを生成することにより、本人のＩＤ（名前など）と対応付けて登録しておき、再度、同じ人間か否かを判定するような検査システムへ適用するようにしても良い。また、マイクロスコープと組み合わせて指紋の３次元ＣＡＤデータを生成して指紋による本人の確認を行なう検査システムへ適用しても良い。
【０４８６】
図６８〜図７１は、第７３の手段〜第７９の手段を適用して構成した２つのホームロボットの実施の形態を示している。また、自動車の実施の形態は、図６４を参照して説明する。
【０４８７】
図６８は、ペットロボットの制御系のブロック図である。この実施の形態におけるペットロボットの制御系は、２０００年１１−２０号NO.７８３日経エレクトロニクスのＰ．５３で紹介されたペットロボットＡＩＢＯの制御系に本発明の画像情報処理装置１００と記憶装置２００を組み入れて構成したものである。
【０４８８】
ＡＩＢＯの基本制御系は、マイクロプロセッサ３００によって頭部と前後左右の脚の動作を制御する構成である。この実施の形態におけるペットロボットでは、頭部に設置してあるカメラで撮影して得た画像情報を画像情報処理装置１００に入力して３次元の環境ＣＡＤデータを生成して記憶装置２００に記憶するように構成する。そして、マイクロプロセッサ３００は、必要に応じて、カメラの位置と姿勢情報や特定のＣＡＤデータを探索させてその位置と姿勢情報を参照できるように構成する。マイクロプロセッサ３００が記憶装置２００に生成されているＣＡＤデータを直に参照できるように構成しても良い。マイクロプロセッサ３００が実行する制御処理は、図７０を参照して後述する。
【０４８９】
図６９は、簡単なハンドリングを行なうホームロボットの実施の形態の模式図である。このホームロボットは、壁掛けタイプのロボットであり、対象物体を把持する把持用ハンド１５４ｃとその位置と姿勢を制御するアーム１５４ａを備え、アーム１５４ａの根本を壁にしっかりと固定することができるように構成する。このロボットを使用する環境は、家庭のダイニングとかリビングなどを想定しており、テーブル１５４ｄとかコップ１５４ｅなどが置いてある環境である。
【０４９０】
把持用ハンド１５４ｃにはＴＶカメラ１０が取り付け、このＴＶカメラ１０で撮影して得た画像情報を画像情報処理装置１００に入力して処理することにより、周囲のテーブル１５４ｄやコップ１５４ｅのＣＡＤデータを生成し、テーブル１５４ｄ上のカップ１５４ｅを把持してマスタへ差し出すようにアーム１５４ａと把持用ハンド１５４ｃを制御する構成である。この実施の形態の詳細な制御系は、図７１を参照して後述する。
【０４９１】
図７０は、図６８を参照して説明したペットロボットにおけるマイクロプロセッサ３００が自律制御を行なう場合に実行するプログラムのフローチャートである。ここで述べる自律制御の内容は、ＡＩＢＯの場合を例示して説明するが、自動車や自動掃除機や図６９を参照して説明したホームロボットにおけるアームの場合にも同じような考え方で自律制御することができる。
【０４９２】
先ず、電源ＯＮまたはスタート釦を押すと、マイクロプロセッサ３００は、スタート１５５ａから始まり、最初に、第１優先タスクの処理１５５ｂを実行する。この第１優先タスクの処理１５５ｂでは、自律制御型ロボットで重要となるバッテリの残容量を確認し、残容量が少ない場合には、環境ＣＡＤデータの中から充電器の場所を探索して、その場所までの移動経路を計画して途中障害物を避けながら充電器のところまで移動し、充電器に接続して充電する処理を行なう。充電器は、予め専用充電器が用意されていれば、その形状や色などの特徴を予め探索用ＣＡＤデータとして登録しておく。家庭用コンセントからの充電も可能であれば、家庭用コンセントの形状を登録しておく。このときに、環境ＣＡＤデータの生成が不十分で、直ちに充電器を探索することができない場合には、周囲を移動してＣＡＤデータを生成しながら充電器を探索する処理を行なうようにする。バッテリの残容量が十分である場合には、このタスクを実行しないで、次の第２優先タスクの処理１５５ｃに移る。
【０４９３】
第２優先タスクの処理１５５ｃは、マスタの指示を聞いて、その内容を実行する処理である。マスタをマスタと認識する手段は、画像情報処理装置１００によってマスタの顔の特徴などを最初に登録するようにしても良いし、マスタの指に特徴ある人形などを装着してその人形を認識させるようにしても良いし、マイクから入力した音を音声認識してマスタと識別させるようにしても良いし、ロボットのボディについている所定の釦が押されたことにより判別するようにしても良い。「マスタの方へ走ってくるように」という指令がマスタから出された場合には、マイクロプロセッサ３００は、画像情報処理装置１００を利用してマスタの位置を探索し、現在の位置からマスタの位置までの移動経路を計画してその経路に沿って途中障害物を避けながら走る制御を行なうようにする。画像情報処理装置１００は、常にリアルタイムでアズビルトＣＡＤデータを生成することで、途中で新たに生じた障害物についても環境ＣＡＤデータが生成されることから、移動経路が適切か否かを常に最新の環境ＣＡＤデータを参照しながら確認し、必要であれば移動経路の計画内容の見直しを行いながら、走らせる制御を行なう。そして、途中に大きな障害物があり、その障害物を回避するプログラムが用意されていなかったり、何度か回避プログラムを実行しても回避困難となる場合には、マスタに対して実行不可の旨を、例えば、吠えることで伝えるようにする。また、指示通りにとマスタの近くに到達することができた場合には、指令を実行したということで、実行不可の場合とは別の泣き声で吠えるようにする。なお、この実行タスクの途中で、更に優先度の高いタスクを実行する条件が発生した場合には、優先度の高い処理を途中からでも実行するように制御する。
【０４９４】
マスタからの指示がない場合には、次の第３優先タスクの処理１５５ｄに移る。この第３優先タスクは、不審者の見つけたならば不審者を追いかけて吠えるというタスクである。不審者の探索は、例えば、画像情報処理装置１００で過去に用意した参照用ＣＡＤデータには当てはまらない未認識の移動体が検出された場合とか、通常聞いたことの無いような音がマイクなどに入った場合に、それをトリガにして不審者の探索を開始するようにすると良い。移動する不審者を未認識物体のかたまりとして認識した場合には、その位置を検出して追いかけるように移動させる。このタスク実行中にマスタが現われて指示が出た場合とか、バッテリの残容量が少なくなった場合には、第２，第１優先タスクの優先度の高いものを優先して実行するようにする。バッテリ残容量が十分であって、マスタや不審者がいないような場合には、第４優先タスクの処理１５５ｅに移る。
【０４９５】
第４優先タスクの処理１５５ｅは、周囲を歩き回って環境ＣＡＤデータを生成する処理である。無制限に歩きまわらないように、半径５ｍ以内とか制限条件を設けて制御するようにすると良い。そして、ＣＡＤデータを十分に生成することができた場合には、第５優先タスクの処理１５５ｆに移る。
【０４９６】
第５優先タスクの処理１５５ｆは、バッテリの無駄な消耗を防止するための処理であり、休止状態、具体的には、歩かない、立たないで、センサ情報を入力して周囲環境の変化を検出するような状態を継続させる。カメラと画像情報処理装置１００による電力消費も節約する場合には、マイクと接触センサ程度のモニタリングのみにすると良い。ここで、重要なことは、優先度の高いタスクは、実施条件が整った場合には何時でも実行するということである。優先度は、プログラムで所定の順番に規定しても良いし、優先順番を変更可能なデータとして設定可能にしても良い。優先順番の変更は、学習によって記憶するようにしてマスタが教示できるようにすると良い。また、安全に係わるタスクの処理は、ユーザの嗜好で変えられないようにハードウェアあるいはプログラムで規定して、ユーザの嗜好で優先順番を決めても差し支えないタスクの処理は、ユーザが優先を変えられるようにしても良い。
【０４９７】
以上に説明した処理は、主に移動することを目的にした自律制御型ロボットであるが、これは自動車などでも同じである。
【０４９８】
自動車の場合を図６３を参照して説明する。基本的には、ナビゲーション装置で説明したように、現在の位置から目標位置までの最善ルートが生成されるので、そのルートに沿って自動車を制御するように構成する。この場合、ＣＡＤデータは、できる限り詳細に生成して、道路の車線の区別は勿論のこと、路上の障害物や路上に駐車中の他の自動車のＣＡＤデータも生成してそれを回避する自動車の旋回軌跡などの特性も考慮して移動ルートを生成するようにし、且つ、リアルタイムに生成されるＣＡＤデータでそのルートを変更する必要がないかどうかも常にチェックし、必要であれば移動ルートの微妙な変更も行ないながら自動運転走行を行なうように構成する。これは、３次元のアズビルトＣＡＤデータをリアルタイムで生成して参照できるようにしておくことによりば、容易に実現することが可能となる。また、自動車の場合には、道路の周囲の標識とか交通信号機を探索し、探索できた場合には、その内容を確認してその結果に応じて自動車を制御するように構成する。例えば、交通信号機を参照用ＣＡＤデータ１４８ｄで探索し、交通信号機のランプの位置からその面の色や明るさの情報を確認し、青のランプが点灯していると判断することができる場合には、他の障害物を回避しながら自動運転を継続し、赤のランプが点灯している場合には、横断報道や停止線を検出してその手前で停止するように自動制御する。勿論、前方に他の車がある場合には、それは障害物となるので、左右に回避できない場合には、自車の走行速度を落として衝突を回避する自動制御を行なうようにプログラムしておく。また、一方通行とか、制限時速など道路標識は、色や大きさなどが決まっているので、予め、探索用ＣＡＤデータとして登録しておくものとする。そして、常に、それらの標識の有無を探索させるようにして、それらの標識を探索し出した場合には、その結果を自動車の主制御装置３００へ出力するように構成して、その標識に基づく制御を行なうようにすることにより、自動車の自動運転が可能となる。
【０４９９】
移動指令としては、概略の位置だけでなく、姿勢も制御させることが必要な場合がある。例えば、ＡＩＢＯの場合には、狭い場所に体を入れる制御を実行させる場合には、最終的に目標とする位置と姿勢を環境ＣＡＤデータベースの中で設定し、その位置でその姿勢と一致するように制御を行なうように処理すれば実現可能である。位置と姿勢を環境ＣＡＤデータベースの中で自動設定する方法としては、マスタがＡＩＢＯを持ち上げて教えたい場所にもって行き、ここが、○×の場所と教示するように構成しても良いし、ＡＩＢＯが認識している部品パーツのある場所で指定して、その部品パーツに対して正対するとか、お尻を向けるとか、横並びするとか、幾つかのその部品に対する姿勢の種類の表現を決めておき、それで姿勢も指示できるように構成しても良い。自動車の場合には、目標地点のビルに横付けするとか、目標地点の駐車場へ後ろから入った姿勢などを入力して設定できるように構成すれば良い。自動車をバックで指定姿勢に移動させる場合には、後方を撮像する撮像装置を充実させておき、新たに生成された障害物なども安全に回避制御しながら目的の姿勢となって目的とする位置まで移動できるように構成する。途中の障害物に対しては、それらのパターンに応じた回避プログラムを準備するが、例えば、車が通過できるスペースがなく、用意されている回避プログラムでは回避困難であると判断した場合には、自動車を停止させ、実行困難な旨を出力してユーザ（マスタ）へ知らせるように構成する。また、自動車の自律走行制御の場合の優先順は、以下のようにするのが良い。
【０５００】
１）歩行者の安全、２）搭乗者の安全、３）他の車の搭乗者の安全、４）周囲の建物や建造物の中の人の安全、５）自分自身（自車）の安全（但し、これを優先することが搭乗者優先となる場合が多い）、６）他の車の安全、７）周囲の建物や建造物の安全、の順番で安全を確保するために必要な運転操作を実行するプログラムを用意するようにする。
【０５０１】
また、壁掛けのアーム型ロボットは、コップを取るなどの作業ロボットであるので、作業が終了したならば終了の応答を返し、作業が実行できない場合には実行不可の応答を返すように構成する。また、ＡＩＢＯなどのようなペットロボットを、自動車と同じような考え方で制御することにより、歩行者をナビゲートするようにして盲導犬ロボットとして適用することもできる。
【０５０２】
次に、第７６の手段〜第７８の手段の実施の形態を説明する。この実施の形態では、図６８を参照して説明したペットロボットの構成に自律制御を行なうマイクロプロセッサ３００とは独立系統の撮像装置である監視カメラ１５３ａを設けている。この監視カメラ１５３ａで撮像して生成した画像情報は、同じく独立系統の無線機１５３ｂを介して送信してマスタのモニタで監視することができるように構成する。ペットロボットがマスタの目の届く範囲にいる場合には、緊急時には、マスタが必要な対応をすることができる。また、部屋の中からペットロボットが物理的に出られないようになっていれば良いが、マスタの目の届かない外へ出て行けるような場合、あるいは他の家の庭などへ入っていってしまった場合には、ペットロボットが他の人に危害を加えたり、物を壊すなどの恐れがあるので、マスタの責任において常にペットロボットを監視できるようにすることが重要である。監視手段は、監視カメラに限るものではないが、監視カメラは直接に情景を撮像して伝えることができるので、状況を正しく判断できるようにするには監視カメラを設けることが望ましい。
【０５０３】
図６８の実施の形態では、この監視カメラ１５２ａは、ペットロボットの背中に搭載する構成を例示しているが、ペットロボットが動き回る場所に固定の監視カメラを設置し、この固定の監視カメラの画像情報信号に基づく映像で監視する構成としても良い。重要なことは、ペットロボットの自律制御装置であるマイクロプロセッサ３００から切り離れた独立系であることである。この監視カメラとしてペットロボットの頭部のカメラを利用すると、この頭部は、マイクロプロセッサ３００によって動作制御されて自律制御に必要な形態に動作することから、マスタが監視したい場所をマスタの意思で見ることができるように撮影させることが困難となる。監視カメラが全然違う場所を撮影していてマスタが現在の状況を正確に判断することができないような場合には、その時点で無線で緊急停止指令を制御装置（マイクロプロセッサ）３００へ送信することができるように構成しても良いが、自律制御系が暴走している場合もあるので、自律制御系とは独立した系統の電源遮断機能へ直接送信することができるようにしておくのが良い。
【０５０４】
ＡＩＢＯのようなペットロボットの場合には、頭部のカメラを代用しても良いが、もっと大きな人型のロボットの場合には、万一の場合の影響度も大きくなるので、体の各場所に独立系の監視カメラを設置し、万一の場合には、動力断や緊急停止指令を送れる構成としておくのが良い。自律歩行しているロボットは、突然に動力断すると、倒れてより危険な場合もあるので、マスタが危険と判断したならば、最優先のタスク処理として緊急停止の自動制御プログラムを起動し、周囲の状況を判断しながら自律的に安全に停止できるようにすることが望ましい。この緊急停止プログラムは、通常の自律制御（他のタスク）に影響されないようにすることが大事である。また、監視カメラも、通常の自律制御動作で監視が妨げられないようにすることが大事である。
【０５０５】
状況を判断することができないような事態では、マスタの責任で緊急停止プログラムを起動することになるので、独立系の監視カメラは、どのような状況でも適切に監視領域を撮影することができるように、自律制御系とは独立に設けておくことが望ましい。図６８に例示したペットロボットでは、画像情報が無線機１５３ｂから正常に送信されていることをマイクロプロセッサ３００へ知らせる信号線１５３ｃを設けた。これによって、自律制御の中で監視映像（画像情報）が正常に出力されない場合には、緊急停止プログラムを作動させてロボットの動きを停止させることができるようになる。図７０に示したフローチャートの中では、第１優先タスクの処理１５５ｂの更に上位で最も優先度の高いタスク（第０優先タスク）の処理１５５ｇとして実行する。監視カメラで撮影して得た画像情報の映像を見ているマスタからの無線指令で緊急停止指令が入力された場合にも、同様に、先ず、このタスクが起動するように構成すると良いし、制御装置３００とは全く別の独立した制御系で緊急停止制御を行なうように構成することでも良い。
【０５０６】
監視カメラから画像情報が正常に出力されていない場合には、自律制御系が正常であっても監視系がダウンしていることから、マスタによって安全監視ができなくなるので、ペットロボットが自ら緊急自動停止するように構成する。画像情報が監視カメラから正常に出ている場合には、マスタが監視しているので、マスタからの緊急停止信号で安全に停止させることができる。監視カメラの画像情報がマスタ側で正常に表示することができなくなった場合には、マスタによる監視ができていないということで、緊急停止させるようにした。無線機１５３ｂは、監視カメラ１５３ａで撮影して得た画像情報をマスタ側へ送信し、マスタ側から画像情報が確かに届いたという応答を確認してマイクロプロセッサ３００の側へ回線１５３ｃを使って正常であることを伝えるように構成することにより、万全な安全対策を施すことが可能となる。あとは、マスタが十分に監視しているかどうかのマスタの運用責任となる。
【０５０７】
自動車の場合には、マスタが同乗している場合には、マスタが自動走行状態を直接監視して、危険な場合には、マニアル運転に切り替えるとか、緊急釦を操作することにより、非常時対応処理（減速して安全に停止するプログラム）が実行されるようにように構成する。また、独立系の監視カメラを搭載し、カーナビやＣＡＤデータなどの情報も使って遠隔地で自動走行状態を監視するように構成しても良いし、この監視を自動監視することでも良い。また、マスタが第３者の監視代行機関へ監視業務を委託した場合には、その契約に基づき監視代行機関が責任をもって監視するような運用としても良い。
【０５０８】
図７１は、第７９の手段の実施の形態であるホームロボット（図６９に示したアーム型ロボット）の制御系のブロック図である。
【０５０９】
アーム機構１５６ｆは、アーム１５４ａと把持用ハンド１５４ｃによって構成した機構部であり、この機構部は、壁にかけられるように構成する。また、アーム１５４ａの根本のベースケースの中には制御装置も収納する。この制御装置は、アーム機構１５６ｆの動作を制御する制御装置１５６ｅを備え、この制御装置１５６ｅにどのようにアーム１５４ａを動かし、先端の把持用ハンド１５４ｃの位置と姿勢をどのように制御すれば良いかの目標指令を生成するマイクロプロセッサ３００に相当する自律制御チップ１５６ｄを接続する。撮像装置１０であるカメラは、アーム機構１５６ｆの先端に取り付け、このカメラ１０で撮影して得た画像情報を画像情報処理装置（視覚誘導チップ）１００に入力し、自律制御チップ１５６ｄは、画像情報処理装置１００へ各種環境データの問い合わせなどを行い、その結果を得ることができるように構成する。
【０５１０】
そして、電源ＯＮかスタート釦が押されると、自律制御チップ１５６ｄは、画像情報処理装置１００にＣＡＤデータを生成させるために、アーム機構１５６ｆをいろいろと動かして先端のカメラ１０で環境を撮影することにより、周囲の画像情報（環境データ）を生成するように構成する。このとき、アーム機構１５６ｆの動作範囲には障害物が存在しないように運用上考慮するように構成するか、自律制御チップ１５６ｄによる制御処理によって、最初はアーム機構１５６ｆを縮めた姿勢でカメラ１０の向きをいろいろ変えて周囲の環境ＣＡＤデータを生成し、この環境ＣＡＤデータをチェックして周囲に障害物がないことを確認しながら、アーム機構１５６ｆの動作範囲を徐々に広げて広い範囲にカメラ１０を移動させるように構成すると良い。
【０５１１】
アーム機構１５６ｆの操作範囲内に衝突する障害物が存在する場合には、それを避けるようにアーム機構１５６ｆを動かして、その障害物も含めていろいろな角度からカメラ１０でできる限り近くから撮像するようにしてＣＡＤデータをできる限り精度良く正確に生成するようにアーム機構１５６ｆを制御する。
【０５１２】
予め家庭内で使用されることを想定して、家庭内に多くある、例えば、テーブル，椅子，踏み台，ビン，缶，バッグなどの標準部品の形状などを探索用ＣＡＤデータとして登録しておく。テーブルや椅子などは、丸いものや四角いものなど、メーカなどによって形状が異なるので、全メーカの商品サンプルで探索用ＣＡＤデータを準備しておいても良いが、代表的な形状のものを選抜して登録しておくようにすると良い。マスタ（住人の顔など）は、ユーザ（マスタ）が購入後にＣＡＤデータを生成して最初に登録するように構成する。この場合には、環境ＣＡＤデータを生成させた後に、改めてセッティングしたアーム機構１５６ｆの正面にマスタが立っていろいろな角度から撮影させてＣＡＤデータを生成させ、それをマスタであると登録するように構成する。このようにすると、先に環境ＣＡＤデータが生成されているので、新たに追加になったＣＡＤデータが新たに登録される名称の物体であるので、環境ＣＡＤデータとの切り分けを容易に行なうことができる。
【０５１３】
同様にして、マスタ以外の個々の物品のＣＡＤデータも登録していくように構成しても良い。この場合には、最初は、部屋に何もない状況、あるいは見えないようにして部屋だけのＣＡＤデータを生成させ、できれば、床，壁，天井などに分けて登録できるようにするのが良い。そして、１つづつ、家具や小物を入れていき、その家具や小物の名前で登録していけば、前の環境と区別しながら新たに追加になった部分を登録部品の名称として対応付けし易くなる。
【０５１４】
また、この実施の形態では、マイク１５６ａも把持用ハンド１５４ｃの部位に組み込み、マイク１５６ａからの音声情報信号は、音声認識部１５６ｂで該音声認識部に予め登録されている言葉と比較して認識することができるように構成している。予め、認識可能な言葉の信号パターンは、製品出荷前に登録しておくように構成する。例えば、家庭に代表的なものの名称とか、前後上下左右の方向に関する言葉とか、把持用ハンド１５４ｃで掴むとか，放すとか，引くとか，上げるとか，押すなどのようにロボットの動作制御に関連する言葉は、少なくとも認識できるように登録しておくようにする。それで、例えば、マスタが「テーブルの上の青いコップを取って」と発声した場合には、マイク１５６ａからこの音声信号が入力されるので、少なくとも音声認識部１５６ｂは、「テーブル」「の」「上」「の」「コップ」「取って」＝「取る」という言葉を認識することができれば、自律制御チップ１５６ｄへのコマンド入力として、例えば、「対象物」＝「テーブル」「の」「上」「の」「コップ」、「動作指令」＝「取る」＝「把持」して「マスタの前に移動」という指令を出力することができる。ここで、「取る」という言葉は、命令口調の場合、「取って」以外に「取れ」とか「取ってください」「取ってね」などがあるので、ある程度の語尾の変化も考慮して認識することができるように、全部の言葉を認識することができるように登録しておいて、それらのどれかが入力されたならば「取る」ということばに置き換えて処理することができるようにしておくと良い。
【０５１５】
ここで、自律制御チップ１５６ｄへの指令は、先ずは、単純に「対象物体」＋「動作の種類」で構成するようにする。動作の種類は、掴むとか上げるとかであり、そのコマンドに対して、「掴む」は「把持用ハンド１５４ｃを把持動作させること」、「上げる」は「把持用ハンド１５４ｃを現在の位置からより上方へ上げること」などとロボットの動作制御をどうするかという内容と対応させて定義しておくことにより、予め用意した言葉に対してはそれに対応する動作プログラムを準備しておくことができる。「取る」という動作指令は、「把持する」そして「把持しているものをマスタの前に移動する」というように定義しておけば、「取って」という指令で「把持して」「こちらへ移動する」という動作を連続して行なわせることも可能となる。また、自律制御チップ１５６ｄへの指令を「対象物体」＋「動作の種類」＋「動作の形容１」＋「動作の形容２」で構成するようにして、「動作の形容１」と「動作の形容２」は、省略可能なオペランドとすることで、例えば、「押す」＝「ハンドを移動する」という動作の種類に対して「動作の形容１」＝「右へ」、「動作の形容２」＝「ゆっくり」という動作の仕方を指示できるようにすれば、今の状態から把持用ハンド１５４ｃを右側へゆっくり動作させる制御を行なわせることもできる。それで、自律制御チップ１５６ｄが指令を受け取ったならば、アーム機構１５６ｆなどを動作させて指令を具体的に実施するようにプログラムを用意する。テーブルの上の青いコップを取る場合には、先ずは、対象物を探索する。「の」で複数の言葉がある場合には最後のことば＝「コップ」が対象であるので、ここでは、環境ＣＡＤデータの中から探索用にコップのデータを読み出して画像情報処理装置１００にその位置と姿勢を探索させる。探索結果が複数ある場合には、その中からテーブルの上かどうかを判別（テーブルを探索してテーブルの上面の座標値とカップの座標位置より上にあるものかを判断）したり、青いものを選択（これは探索したＣＡＤデータを色を確認して青でないものは対象外として青いコップを選ぶ）することで対象物の位置と姿勢を特定する。ここで、最初にテーブルを探索してその上にあるものを探すように構成しても良いし、予め探索用ＣＡＤデータに青いコップを指定して青い色とコップという形状の両方がマッチングするものを探索させるようにしても良い。
【０５１６】
次に、把持用ハンド１５４ｃの現在位置をＣＡＤデータの探索またはカメラの位置と姿勢情報に基づいて入手して、対象のカップの位置と姿勢情報からそこまでのアーム機構１５６ｆの移動軌跡と把持用ハンド１５４ｃの最終位置決め位置と姿勢を定めて、その軌道に沿って目標位置と姿勢へ把持用ハンドが移動するように、自律制御チップ１５６ｄによってアーム機構制御装置１５６ｅへ各関節の動作指令にまでブレイクして出力する。このとき、把持用ハンド１５４ｃは、開の状態でアクセスする。
【０５１７】
次に、把持用ハンド１５４ｃを目標とする位置と姿勢、すなわちコップ１５４ｅを把持することができる位置へ位置決め完了したならば、把持用ハンド１５４ｃでカップ１５４ｅを把持し、移動するために少し持ち上げた後に、画像情報処理装置１００にマスタの現在位置を探索させてその位置までカップ１５４ｅを把持したまま移動するように制御する。それで、「テーブルの上の青いコップを取って！」というマスタの指令に対する動作制御は終了するので、自律制御チップ１５６ｄは、正常に終了したことを音声認識・合成１５６ｂへ応答する。音声認識・合成１５６ｂは、予め用意している応答内容の中から適切なものを選んで、例えば、正常に指令が終了したときには「はい。は〜い。」と応答するように構成しておくことにより、用意してある言葉を音声合成してスピーカ１５６ｃより「はい。は〜い。」と発音してマスタへ応答する。また、途中で、どうしても指令実行不可能と判断した場合には、自律制御チップ１５６ｄからの応答は、「実行困難」という信号として、その応答を受けて音声認識合成部１５６ｂはスピーカ１５６ｃから「実行困難です。」という応答を返すように構成する。自律制御チップ１５６ｄが実行不可能な原因が分かっていて、その言葉も容易されているような場合には、実行困難な理由も発音してマスタ分かるようにすることができる。
【０５１８】
この実施の形態では、マスタからの指令を音声で入力することができ、マスタは、指令の実行結果を音声で確認することができるので、言葉による命令で容易に自立型ロボットを操作することができる。また、自動車の場合には、行きたい行き先を言えば、そこまで運行して着いたならば「どこそこへ着きました。」と応答してくれる自律制御型自動車となる。また、この音声で指示するシステムは、介護を必要とする人の補助を行なうロボットへ適用すれば、音声指示で指令を与えることができ、応答も音声で確認することができるようになるので、介護を必要とする人が一人でロボットを容易に操作することができるようになる。
【０５１９】
この実施の形態において、アーム先端の位置と姿勢情報は、先端のカメラによる撮影と画像情報処理装置１００による処理で得ることができるので、例えば、６軸のアーム機構１５６ｆであれば、６軸の各関節のエンコーダなどの角度センサを省略して、画像情報処理装置１００で得られる先端の位置と姿勢から各６軸の関節角度を計算して各軸のサーボ制御を行ように構成することにより合理的なものとすることができる。また、この場合、最初は、環境ＣＡＤデータを生成するためにアーム機構１５６ｆに多少無駄な動作をさせるようにしたり、各関節の可動端センサを設けて該センサ情報程度を参考にしながらアーム機構１５６ｆの制御を行なうようにしても良い。また、この実施の形態は、壁掛式のアーム機構１５６ｆであるが、このアーム機構１５６ｆは、床面を走行する移動機構や予め各部屋内または複数の部屋間に設置されたレールに沿って移動可能に設置された台車に搭載したものとして、移動範囲をより広く構成しても良い。また、部屋の中で動作するアーム機構１５６ｆの本体部は、プラスチック製にすると共に各関節機構も過負荷で滑るように構成することにより、人に当たった場合でも安全に対処することができるようにしておくのが良い。
【０５２０】
図７２〜図７４を参照して第８１の手段〜第８４の手段の実施の形態を説明する。広範囲で高分解能の撮像装置は、高分解能のＣＣＤセンサと魚眼レンズなどを組み合わせて撮影して生成した画像情報（映像）の歪を補正するように構成することにより実現することができるが、高分解能のＣＣＤセンサの使用は困難であるので、この実施の形態では、比較的簡単に広視野の高分解能カメラ（撮像装置）を実現する手段を提案する。
【０５２１】
図７２を参照してその基本構造を説明する。センサ部は、比較的高分解能が得られるＣＣＤラインセンサ１５７ｃとレンズ１５７ｄを組み合わせて構成した複数組のセンサを組み合わせて構成する。この実施の形態では、一組のセンサで真下から水平までの９０°の視野１５７ｍが得られるように構成する。このセンサ部は、真下から水平までの範囲を複数のセンサで分担するように構成すれば、１組のセンサの視野を更に狭くすることができるので分解能を上げることができる。ＣＣＤラインセンサ１５７ｃには、照明手段（例えばＬＥＤ）をセットで実装しても良い。ステレオ視することができるようにするときには、水平方向に所定の間隔で２セットのラインセンサ１５７ｃを設置する。ＣＣＤラインセンサ１５７ｃからの画像情報信号は、画像処理ＬＳＩ１５７ｉに入力し、マイコン１５７ｈからの指令に基づいて映像信号を生成して小形の無線ユニット１５７ｊを介して送信出力することができるように構成する。マイコン１５７ｈへの指令も無線ユニット１５７ｊを介して入力するように構成する。
【０５２２】
ラインセンサ１５７ｃとレンズ１５７ｄは、マイコン１５７ｈ，画像処理ＬＳＩ１５７ｉ，無線ユニット１５７ｊなどと共にモータ部１５７ａで回転できるように支持する。回転部は、軸受１５７ｂによって安定に回転することができるように支持する。モータ部１５７ａは、外部電源へ繋がる電源コード１５７ｋから受電する。また、モータ部１５７ａの回転を検出する回転センサ１５７ｆは、回転するラインセンサ１５７ｃ側に取り付けて該回転センサ１５７ｆから出力する回転情報を画像処理ＬＳＩ１５７ｉへ入力して同期信号として利用する。この回転センサ１５７ｆは、光学式エンコーダと同じように固定側に設けたスリットの明暗を電気信号に変換してそのパルス信号を入力するように構成する。回転センサ１５７ｆから出力するパルス信号に基づいて回転している位置を検出することができるので、その回転信号に合わせてラインセンサ１５７ｃから画像情報信号を出力させて画像処理ＬＳＩ１５７ｉの中の画像メモリに書き込むようにすることにより、メモリ上には１回転したときに３６０°の画像情報を記録することができる。回転部分を高速回転させて画像情報信号をメモリへ上書きするようにすれば、動画情報も生成することができるようになる。このように、回転センサ１５７ｆのパルス信号で画像情報を生成するように構成すれば、モータ部１５７ａの回転速度が多少変動したり、古くなって回転速度が変わっても、常に正常な画像情報をメモリへ書き込むことが可能となる。
【０５２３】
また、回転部分には、回転することにより発電する回転発電電源１５７ｇを設け、モータ部１５７ａが回転するエネルギーの一部を電力に変換して回転部分に取り付けた部品の電力を供給するように構成する。回転発電電源１５７ｇの代わりにソーラーバッテリやマイクロ波などで回転部分で該回転部分で必要なエネルギーを発生できるようにすれば構成手段は問わない。
【０５２４】
このように構成することによって、通信用のスリップリングや電源供給ライン用のスリップリングを使用しないで長寿命型で広視野，高分解能の撮像装置を実現することができる。動作磨耗や動作損傷する可能性の高い部分は、回転するモータ部１５７ａと軸受１５７ｂだけであり、その他の部分は回転しているものの基本的には駆動部分ではないので、信頼性の高い撮像装置とすることができる。
【０５２５】
この実施の形態は、このカメラを吊り下げて下方を撮影する場合を想定しているが、これを上下逆にすれば、下に設置して上方を撮影するように使用することができる。また、水平方向の視野の範囲を更に広くすれば、より広範囲な視野をカバーすることができるようになる。また、真下や真上は撮像しなくとも良ければ、それなりの視野の範囲となるようにラインセンサ１５７ｃとレンズ１５７ｄを傾けて取り付けるように構成すれば良い。上下を逆にした撮像装置は、自動車の屋根の上とか、運転席の隣の助手席に設置する撮像装置として適切である。また、下方を撮像する吊り下げ形の撮像装置は、飛行船などの下部へ設置したり、街灯に取り付けて上から路上を監視するようなカメラとして好適である。
【０５２６】
また、回転部分に診断センサ１５７ｅを設置し、この診断センサ１５７ｅから出力する診断信号をマイコン１５７ｈへ入力し、主要な構成部分が故障または故障しそうになった場合には、無線ユニット１５７ｊから異常警報信号を無線送信することができるように構成して、監視カメラとして使用する撮像装置が故障または故障しそうになった場合に、管理者へ直ぐに知らせることができるように構成すると良い。この診断センサ１５７ｅは、回転部分で寿命が心配されるモータ部１５７ａや軸受１５７ｂを診断するように構成するのが良いが、画像情報信号が正常に出力されていることを確認できるような診断センサを設けるように構成しても良い。
【０５２７】
図７３は、画像処理ＬＳＩ１５７ｉの中の画像メモリに書き込んだ画像情報の概念を示している。横軸は、水平方向（回転方向）における基準位置である０°〜３６０°を示し、縦軸は、真下から水平までの範囲を読み込んで書き込んだ状態を示している。この画像メモリは、高分解能な画像情報を記憶しているので、通信回線の容量によっては、そのまま全部の情報を画像情報信号として出力するのは不都合である場合もあるので、画像情報信号を無線で受け取る側から無線でマイコン１５７ｈへどのような形態で画像情報信号を出力すれば良いかを指令できるようにする。通常は、図７３に例示した画像情報の全体からデータを間引きして適切な分解能まで落として全部の撮像範囲の画像情報を出力するように構成しておき、マイコン１５７ｈへ部分的に場所を指定してその部分を拡大（ズームアップ）した画像情報信号として出力させる指令が与えられときには、間引きしないで該当部分の高分解能な画像情報信号をそのままの解像度で出力するように構成すると良い。例えば、図７３のエリア１５８ｂが指定されたときには、エリア１５８ｂの範囲の画像情報のみを高分解の画像情報信号で出力する。このようにすれば、必要部分だけの情報を詳細に取り出すことができるようになる。勿論、合成処理を適切に行なえば、回転させるＣＣＤラインセンサ１５７ｃを２次元のＣＣＤセンサとすることもできる。
【０５２８】
図７４は、図７２および図７３を参照して説明した実施の形態を更に発展させて構成した視覚情報処理装置であり、回転部分に画像情報処理装置１００および記憶装置２００を搭載した実施の形態である。画像情報処理装置１００は、画像処理ＬＳＩ１５７ｉから出力される画像情報を入力してＣＡＤデータを生成して記憶装置２００に記憶させる構成である。
【０５２９】
この視覚情報処理装置を車などに搭載して移動させることにより、ラインセンサ１５７ｃとレンズ１５７ｄを回転させて広い範囲の環境を高分解能で撮影して画像情報を生成し、画像情報処理装置１００によって環境ＣＡＤデータを生成して記憶装置１００に蓄積することができる。マイコン１５７ｈから画像情報処理装置１００への信号ライン１５９ａは、画像情報処理装置１００で実行するＣＡＤデータの生成やＣＡＤデータの探索処理やマッチング処理やＣＡＤデータの中の検索対象を追跡するような処理やその結果を無線出力させる処理をマイコン１５７ｈから指令する信号ラインである。
【０５３０】
この視覚情報処理装置において、画像情報処理装置１００と記憶装置２００は、必ずしも回転部分に搭載する必要はなく、静止部分に設置し、無線ユニット１５７ｊから送信出力される画像情報信号を受信して画像情報処理装置１００へ入力するように構成しても良い。
【０５３１】
また、このように画像情報処理装置１００と記憶装置２００を内蔵した視覚情報処理装置に図７２を参照して説明した撮像装置を組み合わせ、複数の画像情報を総合的に処理して環境をＣＡＤデータ化するように構成しても良い。この構成は、ステレオ視に構成したラインセンサを回転させるよりもラインセンサの間隔を広く取ることができるので、遠くの３Ｄ計測精度をより良くすることができる。
【０５３２】
図７５を参照して第８５の手段および第８６の手段の実施の形態を説明する。この実施の形態は、視覚情報処理装置（端末）を搭載した複数の自動車が全国の道路網を任意に走り回って環境を撮影して得た画像情報に基づいて生成した環境ＣＡＤデータを中央情報処理センタに送信し、中央情報処理センターでは、各端末から受信した環境ＣＡＤデータを統合処理して全国的な環境ＣＡＤデータを生成し、各端末からの要求に応じて該端末に配信するサービスシステムである。
【０５３３】
撮像装置と画像情報処理装置を備えた端末（視覚情報処理装置）１６０ａ〜１６０ｃを搭載した複数の自動車が全国の町中を任意に走行しながら各端末１６０ａ〜１６０ｃが周囲を撮像して得た画像情報に基づいてＣＡＤデータを生成して中央情報処理センタ１６０ｅに無線送信し、中央情報処理センタ１６０ｅは、受信したＣＡＤデータを統合処理することにより、全国の道路網の周辺のＣＡＤデータを生成する。また、各端末１６０ａ，１６０ｂ，１６０ｃは、現在の情報（主として、位置や姿勢情報）も中央情報処理センタ１６０ｅに送信する。そして、中央情報処理センタ１６０ｅは、統合して生成した環境ＣＡＤデータや他の端末の情報を各端末からの要求に応じて該端末１６０ａ〜１６０ｃに配信する。ここで、端末１６０ａ〜１６０ｃとして前述した視覚情報処理装置を使用すれば、ＣＡＤデータを容易に生成および統合することができるようになる。
【０５３４】
このシステムのサービス料は、各端末（ユーザ）１６０ａ〜１６０ｃを登録制にして月会費や年会費として徴収する方法や、統合したＣＡＤデータの利用時間とか利用データ量で料金を加算して徴収する方法を採用することができる。
【０５３５】
また、このシステムは、視覚情報処理装置の端末をもたないユーザであっても、パソコンなどの端末１６０ｄからインターネットなどを介して中央情報処理センタ１６０ｅにアクセスし、統合されたＣＡＤデータを有償で利用することができるように構成することができる。また、ＣＤなどの記録媒体を使用して統合したＣＡＤデータをユーザへ供給するようにすることもできる。
【０５３６】
図７６を参照して第８７の手段および第８８の手段の実施の形態を説明する。この実施の形態は、環境監視サービスシステムである。
【０５３７】
街灯１６１ａなどに監視カメラ１６１ｂを設置する。この監視カメラ１６１ｂは、図７２を参照して説明した広い範囲を高分解能で撮影することができる撮像装置であることが望ましい。監視カメラ１６１ｂは、撮影して生成した画像情報を無線通信で監視センタ１６１ｇへ送信することができるように構成する。無線通信手段は、携帯電話の回線を使用して構成することにより、監視カメラ１６１ｂで撮影した画像情報を電話会社１６１ｅとネットワーク回線１６１ｆを介して監視センタ１６１ｇに送ることができるようにする。
【０５３８】
監視サービスを求めるユーザは、例えばＰＨＳや携帯電話で監視センタ１６１ｇへ監視サービス（監視サービスＯＮ）を申し込むように構成する。監視センタ１６１ｇは、携帯電話やＰＨＳの通信経路を参照してユーザの位置の概略を求めた後に監視カメラ１６１ｂからの画像情報に基づく映像を使ってユーザを特定し、このユーザの環境を撮影して安全性を監視するサービスである。ユーザが移動すれば、それに追従して撮像領域を移動する。ユーザの追跡は、画面（画像情報）上で捕らえたユーザの画像情報を画像処理して自動追跡で行なうように構成する。複数の監視カメラ１６１ｂの撮像領域にまたがってユーザが移動する場合には、両方の監視カメラ１６１ｂの画像情報で重複して監視する状態が生じても連続して監視することができるように構成する。
【０５３９】
このように構成することで、ユーザが不審者１６１ｄから危害を受けそうになった場合には、監視センタ１６１ｇから警察へ通報するとか、監視カメラ１６１ｂに併設したスピーカから不審者１６１ｄに警告して、危害が加えられるのを未然に防止することができるようにする。危害を受けたような場合には、そのときの画像情報を監視センター１６１ｇに記録しておくことにより、危害を加えた不審者を特定するときに参照することができる。
【０５４０】
ユーザが、図６５を参照して説明したようなウエラブルな監視カメラを身につけ、その監視カメラで撮影して得た画像情報を監視センタ１６１ｇに送って監視サービスを受けられるように構成すれば、監視カメラが設置されていない場所でも監視サービスを受けることができるようになる。
【０５４１】
この監視サービスシステムは、前述した視覚情報処理装置を使用して生成した３次元のＣＡＤデータの時系列の変化情報として記録するように構成すれば、より正確に現場の状況を監視したり、不審者を特定するための情報を提供することが可能になる。
【０５４２】
サービス料金は、サービス時間と連動するように電話の通話量として徴収する方法や会費制として徴収する方法を採用することができる。
【０５４３】
【発明の効果】
以上のように、本発明によれば、撮像装置を移動させながら撮影して得た画像情報に基づいてＣＡＤデータを生成し、既成のＣＡＤデータと同一の対象部分について精度の高いＣＡＤデータが生成されたときには該既成のＣＡＤデータを新成ＣＡＤデータで更新するように構成しているので、最初に複数枚の写真の中の対応する特徴点を人が入力設定しないで済むようにしたり、テクスチャマッピングをしないで正確なＣＡＤデータを生成させることや、最初はそれなりの精度でＣＡＤデータを生成させて最初からロボットなどの制御に利用することができるようにすることや、複数の撮像装置で撮影して得た画像情報に基づいて生成したＣＡＤデータを統合させることが容易にできるようになり、更に、アズビルトのＣＡＤデータを生成したのちに、あるいは生成しながら、任意のＣＡＤデータを探索させる機能と組み合わせて、ロボット等自動機械の視覚誘導制御装置や自動車などのナビゲーションシステムに適用することや、自律制御型ロボットなどに適用することなども容易に行なえるようになる。すなわち、アズビルト３Ｄ−ＣＡＤデータをリアルタイムで自動生成可能とし、また、ＣＡＤデータの探索機能と組み合わせて、ロボット等の各種自動機械の視覚誘導制御装置として、また、ナビゲーションシステムなどとして適用可能な視覚情報処理装置及びその応用システムを得ることができる。
【図面の簡単な説明】
【図１】本発明の視覚情報処理装置における第１の手段および第２の手段の基本構成を示すブロック図である。
【図２】本発明の視覚情報処理装置における第３の手段および第４の手段の基本構成を示すブロック図である。
【図３】第３の手段および第４の手段を実現する画像情報処理装置の処理の基本的な流れを示すフローチャートである。
【図４】図３に示した処理（１）の内容を例示する図面である。
【図５】図３に示した処理（２）の内容を例示する図面である。
【図６】図３に示した処理（３）の内容を例示する図面である。
【図７】図３に示した処理（４）の内容を例示する図面である。
【図８】図３に示した処理（５）の内容を例示する図面である。
【図９】ＣＡＤデータとして生成される浮遊線分の活用の概念を示す図である。
【図１０】円筒や球体のＣＡＤデータとして生成される浮遊線分の活用の概念を示す図である。
【図１１】特殊曲面のＣＡＤデータとしての定義の一例を示す図である。
【図１２】本発明の第１の手段，第２の手段，第３の手段においてＣＡＤデータを更新する場合の実施の形態を示す概念図である。
【図１３】本発明の第５の手段の実施の形態を示す概念図である。
【図１４】本発明の第８の実施の形態における色情報を用いて輪郭を抽出する概念図である。
【図１５】本発明の第１３の手段〜第１８の手段の実施の形態を示す概念図である。
【図１６】本発明の第１３の手段〜第１８の手段の実施の形態を示す概念図である。
【図１７】本発明における鏡面判別処理のフローチャートである。
【図１８】図１７に示した鏡面判別処理によって判別することができる内容を示す図である。
【図１９】本発明の第１９の手段〜第２１の手段の実施の形態を説明する画像情報である。
【図２０】本発明の第２２の手段〜第２６の手段の実施の形態を示すブロック図である。
【図２１】本発明の第２７の手段〜第２９の実施の形態を示すブロック図である。
【図２２】本発明の第２７の手段〜第２９の他の実施の形態を示すブロック図である。
【図２３】本発明の第２７の手段〜第２９の手段の更に他の実施の形態を示すブロック図である。
【図２４】本発明の第２７の手段〜第２９の手段の更に他の実施の形態を示すブロック図である。
【図２５】本発明の第２７の手段〜第２９の手段をロボット制御専用の視覚情報処理装置として実施する場合の視覚情報処理装置の処理の実施の形態を示すフローチャートである。
【図２６】本発明の第３０の手段、第３３の手段、第３４の手段および第３９の手段の実施の形態を説明する概念図である。
【図２７】本発明の第３０の手段、第３３の手段、第３４の手段および第３９の手段の実施の形態を説明する概念図である。
【図２８】本発明の第３１の手段および第３２の手段の実施の形態を説明する概念図である。
【図２９】本発明の第３５の手段〜第３８の手段の実施の形態を説明する概念図である。
【図３０】本発明の第３５の手段〜第３８の手段の実施の形態を説明する概念図である。
【図３１】本発明の第３５の手段〜第３８の手段の実施の形態を説明する概念図である。
【図３２】本発明の第３５の手段〜第３８の手段の実施の形態を説明する概念図である。
【図３３】本発明の第４０の手段および第４１の手段の実施の形態を説明する概念図である。
【図３４】本発明の第４２の手段の実施の形態である視覚情報処理装置のブロック図である。
【図３５】本発明の第４３の手段〜第５０の手段の実施の形態を説明する概念図である。
【図３６】本発明の第４３の手段〜第５０の実施の形態における表示画面である。
【図３７】本発明の第５１の手段の実施の形態である視覚情報処理システムの基本的な構成を示すブロック図である。
【図３８】図３７に示した視覚情報処理システムにおける移動情報取得のためのＣＡＤデータの概念図である。
【図３９】図３７に示した視覚情報処理システムにおける移動情報取得のためのＣＡＤデータの概念図である。
【図４０】図３７に示した視覚情報処理システムにおける移動情報取得のためのＣＡＤデータの概念図である。
【図４１】図３７に示した視覚情報処理システムにおける移動情報取得のためのＣＡＤデータの概念図である。
【図４２】本発明の第５２の手段の実施の形態である移動作業車の模式図である。
【図４３】本発明の第５３の手段および第５４の手段の実施の形態を説明する概念図である。
【図４４】本発明の第５５の手段〜第５７の手段の実施の形態を説明する概念図である。
【図４５】本発明の第５８の手段の実施の形態である視覚情報処理装置のブロック図である。
【図４６】図４５に示した実施の形態における視覚誘導チップが実行するメイン処理のフローチャートである。
【図４７】図４５に示した実施の形態における視覚誘導チップが実行するメイン処理のフローチャートである。
【図４８】図４７に示した処理（２）における３Ｄ座標計算，ＣＡＤデータ生成処理の詳細なフローチャートである。
【図４９】図４８に示した処理（４）と処理（９）の３Ｄ−ＣＡＤ生成処理における追加生成処理の詳細なフローチャートである。
【図５０】図４８に示した処理（４）と処理（９）の３Ｄ−ＣＡＤ生成処理における点データ更新処理の詳細なフローチャートである。
【図５１】図４８に示した処理（４）と処理（９）の３Ｄ−ＣＡＤ生成処理における線分データの更新および追加処理の詳細なフローチャートである。
【図５２】図４８に示した処理（４）と処理（９）の３Ｄ−ＣＡＤ生成処理における面データの更新および追加処理の詳細なフローチャートである。
【図５３】図４９〜図５２に示した３Ｄ−ＣＡＤデータ生成処理におけるデータ更新の概念図である。
【図５４】図４９〜図５２に示した３Ｄ−ＣＡＤデータ生成処理における新規なデータの生成と更新の概念を一般的な図形の生成と更新の概念に当てはめて描いた図である。
【図５５】本発明の第５９の手段の実施の形態である移動作業車の模式図である。
【図５６】本発明の第６０の手段の実施の形態である視覚情報処理システムの模式図である。
【図５７】本発明の第６１の手段および第６２の手段の実施の形態であるマニピュレータの模式図である。
【図５８】本発明の第６２の手段の実施の形態である水中ＲＯＶの模式図である。
【図５９】本発明の第６２の手段の実施の形態である自動掃除機の模式図である。
【図６０】本発明の第６３の手段の実施の形態である文字読み取り装置の模式図である。
【図６１】本発明の第６４の手段〜第６６の手段である３次元計測装置の模式図である。
【図６２】本発明の第６７の手段の実施の形態を説明する概念図である。
【図６３】本発明の第６８の手段の実施の形態であるナビゲーション装置を説明する概念図である。
【図６４】本発明の第６９の手段の実施の形態であるカーナビゲーション装置におけるＬＣＤモニタの表示画面である。
【図６５】歩行者が装着するナビゲーション装置の実施の形態を説明する模式図である。
【図６６】本発明の第７０の手段の実施の形態であるピッキングシステムのブロック図である。
【図６７】本発明の第７１の手段および第７２の手段の実施の形態である検査装置の模式図である。
【図６８】本発明の第７３の手段〜第７９の手段の実施の形態であるホームロボットのブロック図である。
【図６９】本発明の第７３の手段〜第７９の手段の実施の形態であるホームロボットの模式図である。
【図７０】図６８に示したペットロボットのマイクロプロセッサが実行する自律制御処理のフローチャートである。
【図７１】図６９に示したホームロボットのブロック図である。
【図７２】本発明の第８０の手段〜第８４の手段の実施の形態である撮像装置の模式図である。
【図７３】図７２に示した撮像装置の画像メモリに書き込んだ画像情報の概念図である。
【図７４】本発明の第８０の手段〜第８４の手段の実施の形態である視覚情報処理装置の模式図である。
【図７５】本発明の第８５の手段と第８６の手段の実施の形態であるサービスシステムの模式図である。
【図７６】本発明の第８７の手段および第８８の手段の実施の形態である環境監視サービスシステムの模式図である。
【符号の説明】
１０，１０ａ，１０ｂ，２０…撮像装置（カメラ）、３０…加速度センサ、４０…ジャイロセンサ、１００，１２０ａ，１２０ｂ，１２０ｃ…画像情報処理装置、２００…記憶装置。
【図１】
2004201085.tif 000010
【図２】
2004201085.tif 000011
【図３】
2004201085.tif 000012
【図４】
2004201085.tif 000013
【図５】
2004201085.tif 000014
【図６】
2004201085.tif 000015
【図７】
2004201085.tif 000016
【図８】
2004201085.tif 000017
【図９】
2004201085.tif 000018
【図１０】
2004201085.tif 000019
【図１１】
2004201085.tif 000020
【図１２】
2004201085.tif 000021
【図１３】
2004201085.tif 000022
【図１４】
2004201085.tif 000023
【図１５】
2004201085.tif 000024
【図１６】
2004201085.tif 000025
【図１７】
2004201085.tif 000026
【図１８】
2004201085.tif 000027
【図１９】
2004201085.tif 000028
【図２０】
2004201085.tif 000029
【図２１】
2004201085.tif 000030
【図２２】
2004201085.tif 000031
【図２３】
2004201085.tif 000032
【図２４】
2004201085.tif 000033
【図２５】
2004201085.tif 000034
【図２６】
2004201085.tif 000035
【図２７】
2004201085.tif 000036
【図２８】
2004201085.tif 000037
【図２９】
2004201085.tif 000038
【図３０】
2004201085.tif 000039
【図３１】
2004201085.tif 000040
【図３２】
2004201085.tif 000041
【図３３】
2004201085.tif 000042
【図３４】
2004201085.tif 000043
【図３５】
2004201085.tif 000044
【図３６】
2004201085.tif 000045
【図３７】
2004201085.tif 000046
【図３８】
2004201085.tif 000047
【図３９】
2004201085.tif 000048
【図４０】
2004201085.tif 000049
【図４１】
2004201085.tif 000050
【図４２】
2004201085.tif 000051
【図４３】
2004201085.tif 000052
【図４４】
2004201085.tif 000053
【図４５】
2004201085.tif 000054
【図４６】
2004201085.tif 000055
【図４７】
2004201085.tif 000056
【図４８】
2004201085.tif 000057
【図４９】
2004201085.tif 000058
【図５０】
2004201085.tif 000059
【図５１】
2004201085.tif 000060
【図５２】
2004201085.tif 000061
【図５３】
2004201085.tif 000062
【図５４】
2004201085.tif 000063
【図５５】
2004201085.tif 000064
【図５６】
2004201085.tif 000065
【図５７】
2004201085.tif 000066
【図５８】
2004201085.tif 000067
【図５９】
2004201085.tif 000068
【図６０】
2004201085.tif 000069
【図６１】
2004201085.tif 000070
【図６２】
2004201085.tif 000071
【図６３】
2004201085.tif 000072
【図６４】
2004201085.tif 000073
【図６５】
2004201085.tif 000074
【図６６】
2004201085.tif 000075
【図６７】
2004201085.tif 000076
【図６８】
2004201085.tif 000077
【図６９】
2004201085.tif 000078
【図７０】
2004201085.tif 000079
【図７１】
2004201085.tif 000080
【図７２】
2004201085.tif 000081
【図７３】
2004201085.tif 000082
【図７４】
2004201085.tif 000083
【図７５】
2004201085.tif 000084
【図７６】
2004201085.tif 000085