JP2004201085A - 視覚情報処理装置および適用システム - Google Patents

視覚情報処理装置および適用システム Download PDF

Info

Publication number
JP2004201085A
JP2004201085A JP2002368134A JP2002368134A JP2004201085A JP 2004201085 A JP2004201085 A JP 2004201085A JP 2002368134 A JP2002368134 A JP 2002368134A JP 2002368134 A JP2002368134 A JP 2002368134A JP 2004201085 A JP2004201085 A JP 2004201085A
Authority
JP
Japan
Prior art keywords
cad data
information processing
data
processing apparatus
visual information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002368134A
Other languages
English (en)
Other versions
JP3965686B2 (ja
Inventor
Keiji Tanaka
敬二 田中
Tomoyuki Hamada
朋之 浜田
Koji Kikuchi
孝司 菊池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002368134A priority Critical patent/JP3965686B2/ja
Publication of JP2004201085A publication Critical patent/JP2004201085A/ja
Application granted granted Critical
Publication of JP3965686B2 publication Critical patent/JP3965686B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/80Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
    • Y02T10/82Elements for improving aerodynamics

Landscapes

  • Closed-Circuit Television Systems (AREA)
  • Image Analysis (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)

Abstract

【課題】アズビルト3D−CADデータをリアルタイムで自動生成および更新可能な視覚情報処理装置および適用システムを実現する。
【解決手段】移動可能な撮像装置10から出力される画像情報を画像情報処理100に入力し、この画像情報処理装置100は、入力した画像情報を処理して移動空間に存在する物体のCADデータを自動的に生成し、自動的に更新する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、視覚情報処理装置および適用システムに関するものである。
【0002】
【従来の技術】
【特許文献1】
特開2002−32741号公報
【特許文献2】
特開2002−32742号公報
【非特許文献1】
3D Builder (株)ケイ・ジー・ティーから販売されているソフトウェア
【0003】
撮像装置で撮影して生成した画像情報に基づいて3D−CADデータを生成する手法としては、複数枚の写真から3次元の座標を求める手法がある。例えば、米国の3D Construction Compauyで開発され、日本では(株)ケイ・ジー・ティーから販売されている3D Builderというソフトウェアなどがある。複数枚の写真間の対応する点を人が一つ一つ入力すると、その点と撮影したカメラの位置と向きが3次元座標として計算され、対話形式でCADデータを作成したり、テクスチャマッピングを行なうことができる。
【0004】
また、特開2002−32741号公報および特開2002−32742号公報には、初期画像で特徴点(ウィンドウ)を指定または特徴点位置設定データに基づき最初に特徴点を設定すれば、連続的に入力される画像情報の中で特徴点を自動追跡させて、対応点を人が一つ一つ入力しないで済むようにして、3次元座標を計算し、それらの点データを結んでテクスチャマッピングを行なうことができるシステムの概念が示されている。
【0005】
【発明が解決しようとする課題】
しかしながら、複数枚の写真の中の対応する特徴点を人が入力設定しないで済むようにしたり、テクスチャマッピングをしないで正確なCADデータを生成させることや、撮像カメラを積極的に移動させてCADデータをより正確に生成するようにすることや、ロボット等の制御にも利用できるように最初はそれなりの精度で生成させて撮像カメラを前後左右に近づけたり移動させることで精度を向上させていくことをリアルタイムで行なえるようにすることや、複数の撮像カメラを移動させて生成したCADデータを統合させることなどについては考えられていなかった。また、更にアズビルトのCADデータを生成した後あるいは生成しながら任意のCADデータを探索させる機能と組み合わせて、ロボット等の自動機械の視覚誘導制御装置や自動車などのナビゲーションシステムに適用することや、自律制御型ロボットなどに適用することなども考えられていなかった。
【0006】
本発明の目的は、アズビルト3D−CADデータをリアルタイムで自動的に生成および更新することを可能とし、また、CADデータの探索機能と組み合わせて、ロボット等の各種の自動機械の視覚誘導制御装置として、また、ナビゲーションシステムなどとして適用可能な視覚情報処理装置およびその応用システムを提供することにある。
【0007】
【課題を解決するための手段】
本発明は、次のような手段を単独または選択的に組み合わせることによって目的を達成することができる視覚情報処理装置および適用システムを実現する。
【0008】
第1の手段は、移動可能な撮像装置で物体を撮影して得た画像情報を入力して前記物体のCADデータを生成する画像情報処理装置と、生成したCADデータを記憶する記憶装置を備えた視覚情報処理装置において、前記画像情報処理装置に、生成した新生CADデータが既に生成されている既成CADデータの更新対象となるかどうかを判別する更新対象判別処理機能と、更新対象となる既成CADデータと新生CADデータの精度を比較するCADデータ精度比較処理機能と、新生CADデータの精度が更新対象となる既成CADデータの精度よりも高いときには該既成CADデータを新生CADデータで更新するCADデータ更新処理機能をもたせたことを特徴とする。
【0009】
この第1の手段は、視覚情報処理装置において、移動可能な撮像装置によって得た画像情報を入力とし、入力画像を処理して移動空間に存在する物体のCADデータを生成する機能をもたせたので、移動空間に存在するいろいろな物体のCADデータを容易生成することが可能となる。
【0010】
また、生成された新生CADデータが既に生成されている既成CADデータの更新対象となるか否かの更新対象判別処理機能と、新生CADデータが既成CADデータの更新対象となる場合には、新生CADデータの精度と更新対象の以前に生成された既成CADデータの精度を比較して精度が良くなる場合には該CADデータを更新する機能ももたせたことによって、撮像装置が移動しながら物体に近づいて該物体のより詳細部の画像情報を得ることにより、物体のより詳細なCADデータを生成しながら更新することが可能となる。また、移動する撮像装置は、物体の上下左右および裏面の画像情報を入力することができるので、物体の正面だけの色や形状だけでなく、上下左右、更には裏面の色や形状までをCADデータとして生成することが可能となる。新生CADデータが既成CADデータの更新対象となるか否かの更新対象判別処理機能は、例えば、CADデータの生成後に、同じ個所に以前に生成されたCADデータが存在しない場合には更新対象とせずにそのままCADデータを追加し、存在する場合には更新対象とするものである。新生CADデータが既成CADデータの更新対象となった場合には、新生CADデータの精度と更新対象の既成CADデータの精度を比較し、精度が良くなる場合にはCADデータを更新することにより、毎回同じ部位のCADデータが生成されてもより精度が良くなる場合以外には更新されることはなく、より精度が良くなる場合には更新されるので、この処理を繰り返し行なうようにすることで、移動空間に存在する物体は、そのCADデータが更新されるたびにより精度が良くなり、最終的には精度の良いCADデータを得ることができるようななる。このように、CADデータの精度が良くなる更新のみを行なうようになれば、CADデータは、撮像装置が対象から離れている段階で撮影して得た画像情報からはそれなりの精度で生成されるが、撮像装置が対象の近くへ寄って撮影した画像情報によれば生成精度をそれなりに上げることができるようになる。
【0011】
運用においても、CADデータの精度が良くない場合には、例えば、遠方の対象に対する大雑把な位置決め制御にCADデータを利用することができるし、その後、近くに寄れば、精度の上がったCADデータを使用して更に精度の良い位置決め制御を行なうことが可能となるので、精度の良くない最初の段階からでもCADデータを連続的に有効に利用することが可能となる。
【0012】
また、このようなCADデータの更新機能があれば、移動していない物体の同じ部位については、CADデータが何度生成されても同じようなCADデータが沢山蓄積されることはなく、同じような物体が幾つも生成される場合は、移動物体が含まれる場合であるので、トラッキングなどで移動前後の対応が取れるようにすることにより、煙や湯気などの動く対象物体の動きとか、移動するスポットライトあるいは移動する影などの追従も、CADデータが逐次更新されていくので、その更新履歴を参照することで、容易に行なうことが可能となる。
【0013】
第2の手段は、前記第1の手段のCADデータを自動生成あるいは自動更新する機能において、画像情報の特徴点をトラッキング追従させることにより対応点を関係付けした写真計測法で3次元の座標データを求めるようにするものである。
【0014】
このような第2の手段は、前記第1の手段のCADデータを自動生成あるいは自動更新する機能に、画像情報の特徴点をトラッキング追従させることにより対応点を関係付けした写真計測法を用いて3次元の座標データを求めるようにしているので、移動する撮像装置で撮影して得られる画像情報は物体をいろいろな視点から撮影した複数枚の画像情報が得られると共に移動中に入力される画像情報は連続的となり、連続的となる画像情報の特徴点を連続的にトラッキング追従することができるので特徴点を見失うことなく、正しく対応点を関係付けした写真計測を行なうことが可能となる。CADデータの自動更新は、自動生成後に同じ個所に存在し、今回生成されたデータの部位について前回生成したデータと判断される前のデータがあれば、それを削除するようなことを繰り返し行なうことにより、CADデータの自動更新も行なえるようになる。CADデータの自動更新が行なえるようになれば、CADデータは、撮像装置が対象物体から離れている段階で得た画像情報からはそれなりの精度で生成され、撮像装置が対象物体の近くに寄って撮影した画像情報によればCADデータの生成精度をそれなりに上げることができ、このようにすることで、CADデータの精度が良くない場合には、例えば、遠方の対象物体に対する大雑把な位置決め制御に利用することができるし、その後、近くに寄れば、精度の上がったCADデータに基づいて精度の良い位置決め制御を行なうことができるので、CADデータ生成の最初の段階からでも該CADデータを有効に利用することが可能となる。また、CADデータの更新機能があれば、煙や湯気などの動く対象の動きとか、移動するスポットライトあるいは移動する影などの追従も、CADデータが逐次更新されていくので、その更新内容を参照することで、容易に行なうことが可能となる。
【0015】
第3の手段は、前記第1および第2の手段のCADデータを自動生成あるいは自動更新する機能において、画像の特徴点をトラッキング追従させることにより対応点を関係付けしたステレオ計測法で3次元の座標データを求めるようにするものである。
【0016】
このような第3の手段は、前記第1および第2の手段のCADデータを自動生成する機能で、ステレオ計測法で3次元の座標データを求めるようにしているので、例えば、2台の撮像装置によって得た2つの画像情報から物体の3次元座標データをステレオ計測法で求めるようにすれば、2台の撮像装置を移動させる前から撮像装置の正面に位置して撮影されている物体の3次元座標データを求めることができるので、正面に位置させて撮影している物体のCADデータも撮像装置を移動する前の画像情報から得ることが可能となる。撮像装置を移動する前からCADデータを得ることが可能となれば、ロボット等の自動機械の視覚誘導制御装置として適用する場合に、最初から対象物体が見えている場合には、撮像装置を移動させてCADデータを生成する時間を省略して、対象物体にロボット等の自動機械がアクセスすること等を可能にすることができる。また、CADデータの自動更新が容易に行なえれば、CADデータは、撮像装置が対象物体から離れている段階ではそれなりの精度で生成され、撮像装置が対象物体の近くへ寄れば生成精度をそれなりに上げることができる。このようにすることで、CADデータは、CADデータの精度が良くない場合には、例えば、遠方の対象物体に対する大雑把な位置決め制御に利用することができるし、その後、近くに寄れば、精度の上がったCADデータに基づいて更に精度の良い位置決め制御を行なうように利用することができるので、最初の段階からでもCADデータを有効に利用することが可能となる。また、CADデータの更新機能があれば、煙や湯気などの動く対象物体の動きとか、移動するスポットライトあるいは移動する影などの追従も、CADデータが逐次に更新されていくので、その更新内容を参照することで、容易に行なうことが可能となる。
【0017】
第4の手段は、移動可能な撮像装置で得た画像情報を処理して移動空間に存在する物体のCADデータを自動的に生成する機能を有し、このCADデータを自動的に生成する機能は、画像情報の特徴点をトラッキング追従させることにより対応点を関係付けしたステレオ計測法で3次元の座標データを求めるようにするものである。
【0018】
このような第4の手段は、視覚情報処理装置において、移動可能な撮像装置で得た画像情報を処理して移動空間に存在する物体のCADデータを自動的に生成する機能をもたせたことは、前記第1および第2の手段と同じく、移動空間に存在するいろいろな物体のCADデータを容易に得ることが可能となることは勿論であり、ステレオ計測法で3次元の座標データを求めるようにしているので、例えば2台の撮像装置で得た2つの画像情報から物体の3次元座標データをステレオ計測法で求めるようにすれば、2台の撮像装置を移動させる前に該撮像装置の正面に位置して撮影されている物体の3次元座標データは、撮像装置を移動する前の画像情報に基づいて求めることができるので、正面に位置させて撮影している物体のCADデータを撮像装置が移動する前の画像情報から得ることが可能となる。撮像装置を移動する前からCADデータを得ることが可能となれば、ロボット等の自動機械の視覚誘導制御装置として適用する場合に、最初から対象物体が見えている場合には、撮像装置を移動させてCADデータを生成する時間を省略して、対象物体にロボット等の自動機械がアクセスすること等を可能とすることができる。このシステムは、CADデータの自動更新機能がなくても、撮影距離を一定の間隔に設定して所定の精度で物体のCADデータを生成するような場合には、より簡単なシステムで自動生成のみを容易に実現して利用することが可能となる。
【0019】
第5の手段は、前記第1〜第4の手段を選択的に適用して構成した視覚情報処理装置において、CADデータは輪郭線と実際の線を区別するようにすることである。
【0020】
このような第5の手段は、前記第1〜第4の手段を選択的に適用して構成した視覚情報処理装置において、CADデータは、輪郭線と実際の線を区別するようにしていることから、物体の形状データを取り込む場合には輪郭線として検出された線もその物体の形状を示す線であるので、形状データとして蓄積しておくことができる。また、模様の線のように実際にそこに線が存在する場合の該線は、絶対的な位置の情報を有する形状データともなるし、その物体の模様を形成する模様の情報でもある。従って、生成されたCADデータで輪郭線と実際の線を区別して管理しておけば、形状データを取り扱いたい場合には、輪郭線と実際の線の両方を用いたより多くの情報を用いてより正確な形状を認識処理することが可能となる。
【0021】
一方、パターンマッチングなどである模様を探索しようとする場合には、輪郭線のデータを一緒に取り扱うと模様にはない線が含まれてしまうので正しいマッチングがとれずに探索し難いが、その場合には、実際の線データのみを使用して探したい模様とのマッチングを行なえば、容易に模様を探索することができるようになる。それは、輪郭線と実際の線を区別して管理しておくので、必要な線の方だけを必要なときに効率良く使用することが可能となる。従って、模様のある物体と模様のない物体が混在する環境においても、CADデータの生成と探索を効率的に行なうことができるようになる。また、スポットライトや影の輪郭線は、それがライト当たっている面の輪郭や当たっていない影の輪郭と分かっている場合には輪郭線になるが、光源や光源からの光を遮る物体が移動しなければ撮像装置が移動しただけでは変化しないので模様として取り扱える両方の特徴をもつので、分かった時点で実際(模様)の線から輪郭線に区別内容を変更しても良いし、光源や遮る物体が動くことが分かっていてもCADデータを利用する時間の間隔では動かない場合には、影をパターンマッチングの模様にするケースを考慮して、影等の輪郭線は、他の輪郭線や実際の線とは区別して管理するようにしても良い。
【0022】
第6の手段は、前記第1〜5の手段を選択的に適用して構成した視覚情報処理装置において、CADデータは、点と線と面データから構成することである。
【0023】
このような第6の手段は、前記第1〜第5の手段を選択的に適用して構成した視覚情報処理装置において、CADデータは、点と線と面データから構成する。そのために、円筒や立方体などのソリッドデータに置き換える処理を不要にすることができ、処理の簡単化や高速化を容易に図れるようになる。また、CADデータを更新する場合も、ソリッドデータを更新する複雑な処理が不要となるので、更新処理も容易に実現できるようになる。更に、撮像装置を移動させながら得た画像情報に基づいてCADデータを生成しているために、対象物体を遠くから撮影している場合には、サイコロなどは立方体に見えるために立方体としてのCADデータを生成することになるが、撮像装置が近くに寄った場合には、サイコロの角は丸まっているので、厳密に言うと完全な立方体ではなくなる。このようなことは、周囲の総ての環境について言える。従って、このように移動する撮像装置で撮影して得た画像情報に基づいてCADデータを生成する場合の必要最小限のCADデータの構成単位は、点データと線データと面データまでで十分である。ソリッドデータを生成しても、それをより近くから見れば、最初に定義したソリッドではなくなる。遠くから見た建物は、直方体のようなものであっても、撮像装置が移動して建物の中に入れば、最初は直方体に見えていた建物は平面的な壁から構成されており、更に、壁も詳しく見れば複数の平面の集合体から構成されていることが見えてくるので、最初に直方体のようなソリッドデータに置き換えても、移動する撮像装置で撮影した画像情報に基づいてCADデータを生成する場合には、直ぐに更新が必要となってしまう。従って、必要最小限のCADデータを生成および更新するようにすることで、処理を容易に行なうことができるようになる。そして、このシステムの場合には、それが最も適したCADデータの構成でもあるということになる。
【0024】
第7の手段は、前記第1〜第6の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも線のCADデータは関数表現されるようにすることである。
【0025】
このような第7の手段は、前記第1〜第6の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも線のCADデータは関数表現されるようにしているので、例えば、どんなに長い直線でも始点と終点を結ぶ直線の式でCADデータを表現しておけば、始点と終点の座標の値が変わるだけで点データを増やす必要はない。また、曲線でも始点と終点と途中を経由する代表的な点を幾つか定義して、それらの点にフィッテイングする関数で表現することにより、例えば、短い直線データの集合体で曲線を表示する場合と比較して点データや線データの数は少なくなり、面データを構成する要素(線データ)の数も少なくなるので、CADデータが多くなった場合にもCADデータのメモリ容量を節約することが可能となる。
【0026】
第8の手段は、前記第1〜第7の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも面のCADデータに色情報をもたせるようにすることである。
【0027】
このような第8の手段は、前記第1〜第7の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも面のCADデータに色情報をもたせるようにしているので、色情報を使ったマッチング検索などを行なうことができるようになる。物の境界は総て境界線とみれば、色情報は、線データにはなく面データにのみあるという考え方でもシステムには適用可能である。すなわち、移動する撮像装置で撮影して得た画像情報に基づいてCADデータを生成するときには、線に見えている部分も、近くで見れば細長い面積をもった面データとなる。もちろん、線に見える段階で線データに色情報をもたせることもできる。少なくとも面データに色情報があれば、色模様を使ったマッチングとか、交通信号機の赤,青,黄色の認識などにも適用可能なCADデータを生成することができる。
【0028】
第9の手段は、前記第1〜8の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも面のCADデータの色情報に明るさの情報をもたせるようにすることである。
【0029】
このような第9の手段は、前記第1〜第8の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも面のCADデータの色情報に明るさの情報をもたせるようにしているので、例えば、このシステムで生成したCADデータを用いて交通信号機の状態を認識しようとした場合には、ランプ方式の交通信号機では、赤の信号ランプが点灯してない場合にも赤い色をしているので、その信号ランプが点灯しているか否かを色情報だけでは認識し難いが、明るさの情報があればランプが点灯しているか否かは、点灯しているときと消灯しているときの明るさの比較で容易に認識することができるようになる。勿論、白黒処理の場合には、色情報は、グレースケールであるが、それは明るさの情報でもある。また、他の対象物体へ影響を与えるほど明るい面は、光源として予め分かっていれば、その光源の影響で生じている影がある場合には、それがその光源による影であることを幾何学的な位置関係から判断し易くなるので、ある明るさ以上の面は、光源とCADデータとして区別するようにすることができる。このときに、後で利用し易くするために、波長成分毎の明るさとか放射している方向による明るさの違いがあれば、その分布特性に関わる情報もCADデータの中に生成するようにしておくと良い。
【0030】
第10の手段は、前記第1〜第9の手段を選択的に適用して構成した視覚情報処理装置において、CADデータに該CADデータを生成した時間に関する情報をもたせるようにすることである。
【0031】
このような第10の手段は、前記第1〜第9の手段を選択的に適用して構成した視覚情報処理装置において、CADデータに生成された時間に関する情報をもたせるようにしているので、生成されたCADデータを参照したときに該CADデータが生成された時刻を参照することができるようになる。従って、例えば、現在生成した同じ場所のCADデータと前に生成されていたCADデータを比較したときに、違いがあった場合には、現在の時刻と前のCADデータに登録されていた時刻とから何時間前からの状態から変化したかということを認識することが可能となる。CADデータを生成しながら生成されているCADデータを参照する場合に、生成時刻がCADデータにあれば、どちらが先に生成されたCADデータかも確認することができる。
【0032】
第11の手段は、前記第1〜10の手段を選択的に適用して構成した視覚情報処理装置において、CADデータ更新時に前のCADデータを残すようにすることである。
【0033】
このような第11の手段は、前記第1〜第10の手段を選択的に適用して構成した視覚情報処理装置において、CADデータ更新時に前のCADデータを残すようにしているので、更新によってCADデータが変更される経緯を残すことが可能となる。また、残したCADデータに時刻データが含まれている場合には、それらの時系列のCADデータの移動量と参照する時刻から計算されるCADデータが生成された間隔から、当該CADデータの移動速度を推定認識することも可能となる。
【0034】
第12の手段は、前記第11の手段を適用して構成した視覚情報処理装置において、CADデータ更新時に所定のタイミングで古いCADデータを削除するようにすることである。
【0035】
このような第12の手段は、前記第11の手段を適用して構成した視覚情報処理装置において、CADデータ更新時に所定のタイミングで古いCADデータを削除するようにしているので、所定のタイミング、すなわち、5回前のデータまでを残しておくとか、10秒前までのデータを残しておくなど、によって残しておくデータ量を制限することで、更新時に前のCADデータを残すようにしてもCADデータの量が発散することがなくメモリ容量を節約することが可能となる。
【0036】
第13の手段は、前記第1〜第12の手段を選択的に適用して構成した視覚情報処理装置において、CADデータは一緒に移動していると判断されるデータをグルーピングして区別するようにすることである。
【0037】
このような第13の手段は、前記第1〜第12の手段を選択的に適用して構成した視覚情報処理装置において、CADデータは一緒に移動していると判断されるデータをグルーピングして区別するようにしているので、動いている物体から生成されるCADデータは一緒に動いているので、一緒に動いているデータのまとまりとしてグルーピング化すると、移動している物体を構成するCADデータをグルーピングして管理することが容易となる。面で反射している光とか、鏡面に写っている虚像の動きとか、スポットライトの照明とか、影などもデータをグルーピング化しておくことにより、追跡とかCADデータの更新は、そのグループのCADデータに対して行なえば良いので処理が容易になる。
【0038】
第14の手段は、前記第1〜第13の手段を選択的に適用して構成した視覚情報処理装置において、面のCADデータに付いているCADデータを当該面のCADデータとは別に移動することを検出することにより虚像のCADデータとして区別するようにすることである。
【0039】
このような第14の手段は、前記第1〜第13の手段を選択的に適用して構成した視覚情報処理装置において、面のCADデータに付いているCADデータを当該面のCADデータとは別に移動することを検出することで虚像のCADデータとして区別するようにしているので、実際にその面にあるCADデータと写り込みでたまたまその面に付いているように見える虚像とを区別して管理することができる。区別して管理していれば、対象物体を認識する場合に、たまたま写っていた虚像のデータは除いて本来の対象物体のみの模様データで模様のマッチングなどを行って、その物体を認識する処理が容易になる。ここで虚像と称しているものは、鏡面に写っている虚像と向う側に透けて見えている画像情報も、対象としている面データに直接付いていないものという意味で虚像と称する。また、スポットライトの照明とか影なども動く虚像として定義しても良い。
【0040】
第15の手段は、前記第1〜第14の手段を選択的に適用して構成した視覚情報処理装置において、虚像のCADデータが付いている面のCADデータを鏡面的な面あるいは透過する面として区別するようにすることである。
【0041】
このような第15の手段は、前記第1〜第14の手段を選択的に適用して構成した視覚情報処理装置において、虚像のCADデータが付いている面のCADデータを鏡面的な面あるいは透過する面として区別するようにしているので、一度区別された後は、その面には虚像が写るということが分かるので、例えば新たな点とか線とか面のCADデータがその面に付いているようなデータが生成された場合には、当該面が鏡面的な面であれば、撮像装置と視点と当該面の位置と向きから虚像を写している実像に相当する物体が新たに生じたであろう空間の方向のCADデータを調べることにより、写っている虚像は、鏡面反射で生じた新たな虚像であることを容易に確認することができる。同様に、透過する面である場合には、透過して見える先の空間の方向を調べれば、それが透過して見える先の実体の虚像であることを容易に確認することができる。従って、取り敢えず、鏡面か透過面かは区別されてなくても、虚像が写る面か写らない面かの区別ができていれば、当該面の更新処理のときに虚像を考慮した処理を行なうか否かを区別することができるので、処理が容易になる。
【0042】
第16の手段は、前記第1〜第15の手段を選択的に適用して構成した視覚情報処理装置において、透過する面または鏡面と判断される面を鏡面的な面と仮定した場合に反射する先の虚像と対応する位置に該虚像の実像と判断されるCADデータが存在する場合には当該面を鏡面的な面として識別するようにすることである。
【0043】
このような第16の手段は、前記第1〜第15の手段を選択的に適用して構成した視覚情報処理装置において、虚像のCADデータが付いている面を鏡面的な面と仮定した場合には該虚像と対応する位置に該虚像の実像(実体)が存在することから、そのようなCADデータが存在する場合には、当該面を鏡面的な面として区別するようにしているので、実体がなかった場合にはその面は透過する面であることが分かり、透過する面として管理することができるようになる。そして実体が存在した場合には、その面は鏡面的な面であることが確認され、当該面は、鏡面かハーフミラーの面であるということになる。従って、このような処理を行なうことで、面データを鏡面的な面(鏡面かハーフミラーの面)であるか否の識別を容易に行なえるようになる。このように面の区別がなされていない場合には、その都度、その面に本当に新たに付いた、例えばペイントなどの塗装か、そうでなければ鏡面で写っている虚像か、透過して見えている虚像か否かの確認を行わなければ最終的な認識を行なうことがができないために処理に余計な時間がかかる。従って、面の識別がなされていることは、少なくとも鏡面としての確認と透過面としての確認の両方の処理を行わないで済むようになるので、虚像の認識を効率良く行なうことができるようになる。
【0044】
第17の手段は、前記第1〜16の手段を選択的に適用して構成した視覚情報処理装置において、少なくとも面のCADデータに反射率と透過率の何れか、あるいは両方をもたせるようにすることである。
【0045】
このような第17の手段は、前記第1〜第16の手段を選択的に適用して構成した視覚情報処理装置において、面のCADデータに反射率と透過率の何れか、あるいは両方をもたせるようにしているので、例えば、反射率が100%で透過率が0%の場合には、当該面は完全鏡面であるとして、また、反射率が50%で透過率が50%という場合には、ハーフミラーの面であるとして、以下の処理を進めることが可能となる。このCADデータを生成するときには、撮像装置から取得した輝度(明るさ)の情報から実際的な反射率や透過率を求めてその数値をもたせても良いし、反射率100%か否か、透過率が50%か否か程度の識別で鏡面かハーフミラーかの簡単な識別しか行わないようにしても良い。因みに、反射率と透過率の情報をもたせた場合は、両方の数値の合計と100%との差を吸収率として取り扱うシステムとすることも、このようなCADデータとしておくことにより容易に実現することができるようになる。また、反射率とか透過率の定義は、厳密に言えば波長成分毎に異なる場合があるので、CADデータとしてどこまで細かく定義するかは別としても、波長毎に定義すると良い。また、放射率を波長毎に定義するようにしても良い。更に、放射率とか反射率については、方向に対する指向性がある場合もあるので、光源により生じている面の状態とか影、環境内の物体に反射した光源により生じている面の状態とか影を、それらの幾何学的な関係から認識し易くするように、CADデータに指向性の特性ももたせるようにすると良い。反射率の指向性には、反射面の粗さを示す要素を含めると良い。例えば、虚像のシャープ度が反射面の荒さによって変わる特性を利用して、反射している虚像の輪郭などのシャープ度(ボケの具合)を生画像情報の処理で抽出し、それを面の粗さに相当する指標としてとらえるようにすると良い。
【0046】
第18の手段は、前記第1〜第17の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置の視点の位置が変わるとCADデータの色が変化する面はそういう面であるということを区別するようにすることである。
【0047】
このような第18の手段は、前記第1〜第17の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置の視点の位置が変わるとCADデータの色が変化する面はそういう面であるということを区別するようにしているので、見る角度によって見える色が変わる面の識別ができるようになる。そういう面がそういう面であるということが識別されていれば、例えば沢山の車の中からオレンジ色の車のCADデータを使って特定しようとした場合に、当該車の表面のCADデータの色を生成したときにたまたまオレンジに見えた車を単純にオレンジの車であると誤って特定しないようにすることができるようになる。すなわち、当該面が見る角度によって色が変わる面であると区別されていれば、他の角度から見て生成されるCADデータの色情報も確認した上で、それは本当にオレンジ色の車であると特定することが可能となる。
【0048】
第19の手段は、前記第1〜第18の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置が移動してもその入力画像情報の中の変化しない部分は処理の対象外とするようにすることである。
【0049】
このような第19の手段は、前記第1〜第18の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置が移動してもその入力画像情報の中の変化しない部分は処理の対象外とするようにしているので、例えば、撮像装置のレンズに付着しているゴミとかほこりとか、CCD素子の放射線劣化の痕跡とか、画像情報にスーパーインポーズされている文字など、実際には環境空間に存在しないで画像情報に含まれる物体をCADデータ化しようと試みて不自然な処理となるのを防いだり、CADデータ化しようと試みて矛盾が生じたことから実際には環境空間に存在しないノイズ的な成分であることが分かる、というような無駄な処理を行わないで効率良く必要な情報のみを対象として処理を行なうことができるようになる。
【0050】
第20の手段は、前記第1〜第19の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置によって得た画像情報に対して形状,大きさ,密度,方向性,色等の幾何学的パターンで、あるいは発生する周期などの時間的なパターンで、あるいは前記幾何学的なパターンと時間的なパターンの両方で当該パターンに相当する画像情報の中の当該部位を抽出し、抽出した当該部分は処理の対象外とするようにすることである。
【0051】
このような第20の手段は、前記第1〜第19の手段を選択的に適用して構成した視覚情報処理装置において、撮像装置で得た入力画像情報に対して形状,大きさ,密度,方向性,色等の幾何学的パターンで、あるいは発生する周期などの時間的なパターンで、あるいは前記幾何学的なパターンと時間的なパターンの両方で当該パターンに相当する画像情報の中の当該部位を抽出し、抽出した当該部分は処理の対象外とするようにしているので、撮像装置で得た画像情報に含まれている電気ノイズとか、ランダムに入ってくる放射線ノイズなどを容易に処理の対象外とすることができる。すなわち、画像情報の段階で含まれるノイズ成分を除去しても良いが、除去しないまでにも当該部分のアドレス、例えば、画像メモリなどの番地で当該部分に生じている画像情報はノイズであることがCADデータ生成処理の前の段階で分かっていれば、それらを事前に取り除いて処理の対象外とすることができるようになる。電気ノイズとか、ランダムに入ってくる放射線ノイズなどは、発生する頻度や発生時の大きさが短時間に極端に変化するものではなく、形状,大きさ,密度,方向性,色等の幾何学的特徴や発生する周期などの時間的な特徴があるので、その特徴から前処理の段階で比較的容易に認識することができる。
【0052】
第21の手段は、前記第1〜第20の手段を選択的に適用して構成した視覚情報処理装置において、生成されるCADデータに対して、形状,大きさ,色等の幾何学的パターンで、あるいは発生する周期などの時間的なパターンで、あるいは前記幾何学的なパターンと時間的なパターンの両方で当該パターンに相当する生成される当該CADデータを抽出し、抽出したCADデータは処理の対象外とするようにすることである。
【0053】
このような第21の手段は、前記第1〜第20の手段を選択的に適用して構成した視覚情報処理装置において、生成されるCADデータに対して形状,大きさ,色等の幾何学的パターンで、あるいは発生する周期などの時間的なパターンで、あるいは前記幾何学的なパターンと時間的なパターンの両方で当該パターンに相当する生成される当該CADデータを抽出し、抽出したCADデータは処理の対象外とするようにしているので、空間を舞っている埃とか、屋外の雨とか、雪などは、必要に応じて、ノイズ成分として除いた処理が行なえるようになり、その結果、実際にその空間に存在するもののCADデータのみを効率良く取り扱えるようにすることが可能となる。具体的な例を述べれば、ステレオ視の撮像装置で屋外を撮影して得た画像情報に基づいてCADデータを生成するような場合には、雨とか雪のCADデータも生成されてしまうので、走っている車のCADデータのみを車の認識用に利用する場合には、その周辺の雨などのCADデータが存在すると、車の認識処理上ではノイズ成分となって効率が悪くなる。しかしこの処理を入れることによって、車の認識処理の前に、特定のノイズ、例えば短い鉛直方向に並んでいる線状のCADデータが雨のCADデータであるということで最初に区別するか消去することで、車の認識処理上ではノイズとなる雨のCADデータを排除して車の認識を容易に行なえるようにすることができる。
【0054】
第22の手段は、前記第1〜第21の手段を視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の撮像装置によって得た画像情報を入力して処理する複数の画像情報処理装置を備え、夫々が生成および更新したCADデータを統合するようにすることである。
【0055】
このような第22の手段、前記第1〜第21の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の撮像装置によって得た画像情報に基づいて複数の画像情報処理装置が夫々に生成および更新したCADデータを統合するようにしているので、複数の撮像装置でいろいろな場所を撮影して得た画像情報に基づいて生成したCADデータを互いに有効に共用して利用することが可能となる。また、広範囲なエリアを1台の撮像装置で撮影してCADデータを生成すると時間がかかるが、複数の撮像装置で撮影してCADデータを生成して夫々のCADデータを統合するようにすれば、短時間に広範囲のCADデータを生成することができるようになる。
【0056】
第23の手段は、前記第22の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したCADデータを統合する手段は、相互の画像情報処理装置が相互のCADデータを入出力することができるようにすることである。
【0057】
このような第23の手段は、前記第22の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したCADデータを統合する手段は、相互の視覚情報処理装置が相互のCADデータを入出力することができるので、視覚情報処理装置同士が直接にデータを授受して処理することができるようになる。具体的には、例えば、相互の視覚情報処理装置が通信回線で繋がっていれば、その通信回線を介して所定のエリアのCADデータを互いに要求し合えるコマンドを用意して、そのコマンドに基づき、互いに相手が生成したCADデータを入手したり、自分の生成したCADデータを相手に送信したりすることができる。CADデータを授受する場合には、互いのCADデータを生成するときの基準となるワールド座標系の相対的な違いの量を予め知るか、同じ座標系にしておく方が処理は容易となる。ワールド座標系の対応を予めとっておかない場合には、取得したCADデータと自分が生成したCADデータの一致する部分を見つけて互いのワールド座標系のずれを求める処理が必要となり、同じ場所のCADデータが生成されてない場合には、一致する場所を求めることもできなくなる。互いの座標系を一致させる方法としては、例えば、撮像装置を最初に移動させる前にその場所の座標と該撮像装置の姿勢を同じワールド座標系の数値で設定するようにすれば容易に合わせることが可能である。しかしながら、日本の北海道と九州で最初に設定して誤差が含まれており、互いに移動を開始して東京で一緒になった場合のずれは、その誤差分だけ生じることになるので、基準となる同じ物をCAD化して、互いに、それを基準にワールド座標系を補正するような機能を設けておくのが良い。CADデータの受け渡しは、通信手段でも良いし、FDやMOなどの記憶媒体を介して行なう方法でも良い。
【0058】
第24の手段は、前記第22の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したCADデータを統合する手段は、複数の画像情報処理装置が夫々に生成および更新したCADデータを別の1台あるいは複数の画像情報処理装置で統合できるようにすることである。
【0059】
このような第24の手段は、前記第22の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したCADデータを統合する手段は、複数の画像情報処理装置が夫々に生成および更新したCADデータを別の1台あるいは複数の統合専用の視覚情報処理装置で統合することができるで、撮像装置によって得た画像情報を処理してCADデータを生成している画像情報処理装置は、CADデータの生成などのみを行なうだけで統合処理を行なわないで済むので、CADデータの生成処理能力を高めることができ、また、統合処理を行なう視覚情報処理装置はCADデータを統合する処理に専念することができるので、沢山の視覚情報処理装置から取得したCADデータの統合処理を効率良く早い速度で行なうことが可能となる。CADデータを送信してくる視覚情報処理装置の台数が多くなる場合には、統合処理を行なう視覚情報処理装置を複数台として、ある程度統合されたCADデータを更に別の視覚情報処理装置で統合するようにしていけば、更に多くの撮像装置で撮影して生成されたCADデータを効率良く統合処理することができるようになる。もちろん、統合されたCADデータは、3次元地図等としても利用することが可能となる。
【0060】
第25の手段は、前記第22の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したCADデータを統合する手段は、複数の画像情報処理装置が夫々に生成および更新したCADデータを別の1台あるいは複数の画像情報処理装置で統合し、統合された結果の全部あるいは一部分を前記画像情報処理装置へ戻すようにすることである。
【0061】
このような第25の手段は、前記第22の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したCADデータを統合する手段は、複数の画像情報処理装置(1)が夫々に生成および更新したCADデータを別の1台あるいは複数の画像情報処理装置(2)で統合し、統合した結果の全部あるいは一部分を前記画像情報処理装置(1)へ戻すので、統合されたCADデータは撮像装置のところの末端にある画像情報処理装置でも利用することが可能である。すなわち、統合処理は、当該画像情報処理装置自身で行なわないでも統合結果を利用することが可能となる。それは、未だ、撮像装置を移動させてCADデータを生成していない場所にその撮像装置が初めて移動する場合でも、既に生成されているその場所のCADデータを取得して参照することが可能となる。これは、前記第23の手段でも同じである。
【0062】
第26の手段は、前記第22〜第25の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、生成および更新したCADデータを授受する手段を備え、他の視覚情報処理手段から取得したCADデータを統合する画像情報処理機能を備えたものである。
【0063】
このような第26の手段は、前記第22〜第25の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の画像情報処理装置が夫々に生成および更新したCADデータを統合するために、複数の画像情報処理装置がCADデータを他の視覚情報処理装置と受け渡しする手段は、無線通信で行なうようにすれば、各撮像装置の機動性が良くなり、通信ケーブルなどの制約を受けないで広い範囲を移動させることが可能となり、更に、記憶媒体を介さないでリアルタイムのCADデータの授受が可能となる。
【0064】
第27の手段は、前記第1〜第26の手段を選択的に適用して構成した視覚情報処理装置および視覚情報処理システムにおいて、画像情報処理装置は、移動する撮像装置の位置または姿勢あるいはその両方の情報を求める機能と、求めた位置情報あるいは姿勢情報あるいはその両方を出力する機能を有するようにすることである。
【0065】
このような第27の手段は、前記第1〜第26の選択的に適用して構成した視覚情報処理装置および予めCADデータを有している視覚情報処理装置あるいはそれらの視覚情報処理装置を適用した視覚情報処理システムにおいて、画像情報処理装置は、移動する撮像装置の位置または姿勢あるいはその両方の情報を求める機能と、求めた位置情報または姿勢情報あるいはその両方を出力する機能を有するので、撮像装置の位置および姿勢情報を別のCPU等のアプリケーションシステム側で利用することが可能となる。ロボット等の自動機械の視覚誘導制御装置として適用する場合には、対象物体にアクセスするロボットハンドなどの先端に撮像装置を取り付けることで、この撮像装置とロボットハンドの相対取り付け位置関係は既知であることから、撮像装置の位置と姿勢がわかればロボットハンドの位置と姿勢がわかるようになり、生成したCADデータの移動空間で任意の目標地点までロボットハンドを誘導移動制御することが容易となる。
【0066】
第28の手段は、前記第27の手段を適用して構成した視覚情報処理システムにおいて、外部から入力する指令信号の所定のタイミングにより移動する撮像装置の位置あるいは姿勢あるいはその両方の情報を出力する機能を有するようにすることである。
【0067】
このような第28の手段は、前記第27の手段を適用して構成した視覚情報処理装置あるいは視覚情報処理システムにおいて、外部からの指令信号を入力とし、その指令信号の所定のタイミングにより移動する撮像装置の位置または姿勢あるいはその両方の情報を出力する機能を有することから、別のCPU等のアプリケーションシステム側で必要とするタイミングで撮像装置の位置と姿勢の情報を要求することができるのでアプリケーションシステムを容易に構築することが可能となる。
【0068】
第29の手段は、前記第1〜第28の手段を選択的に適用して構成した視覚情報処理装置および予めCADデータを有している視覚情報処理装置あるいはそれらの視覚情報処理装置を適用した視覚情報処理システムにおいて、画像情報処理装置は、CADデータの探索指令信号を入力とし、その指令信号に基づきCADデータを探索する機能と、探索したCADデータの情報を出力する機能を有するようにすることである。
【0069】
このような第29の手段は、前記第1〜第28の手段を選択的に適用して構成した視覚情報処理装置および予めCADデータを有している視覚情報処理装置あるいはそれらの視覚情報処理装置を適用した視覚情報処理システムにおいて、画像情報処理装置は、CADデータの探索指令信号を入力とし、その指令信号に基づきCADデータを探索する機能と、探索したCADデータの情報を出力する機能を有するので、別のCPU等のアプリケーションシステム側で必要とする情報、例えば、目標とする対象物体のCADデータを探索させ、探索した対象物体のCADデータの情報として、その位置と姿勢の情報を探索結果として得るようにすれば、アプリケーションシステム側で、例えばロボットハンドをその対象物体を掴むような位置と姿勢に誘導制御することが可能となる。更に、ロボットハンドのCADデータを定期的に探索させ、探索したロボットハンドのCADデータの情報として、その位置と姿勢を探索結果として得るようにすれば、その情報をロボットハンドの位置と姿勢のフィードバック制御へ利用することも可能となり、ロボットハンドのアーム部分の撓みとかロボットハンドのベースの位置ずれ等を補正した誘導制御を行なうことが可能となる。また、目標とする対象物体のCADデータの探索も定期的に行なうことにより、目標とする対象物体が移動している場合でも、リアルタイムに目標物体の位置と姿勢の情報が得られるので、アプリケーションシステムは移動する目標物体に対してもロボットハンドをアクセスさせて該目標物体を掴む動作を誘導制御することが可能となる。
【0070】
第30の手段は、前記第29の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、CADデータを探索する機能は、基本図形で探索するか探索用に読み出したCADデータで探索するかその両方の探索機能を有するようにすることである。
【0071】
このような第30の手段は、前記第29の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、CADデータを探索する機能は、基本図形で探索するか、探索用に読み出したCADデータで探索するか、その両方の探索機能を有するので、球や円筒や立方体などの基本図形以外の複雑な形状のCADデータなどのいろいろなものの探索を容易に行なうことができるようになる。例えば、基本図形だけでは実環境の複雑な形状にマッチングするものは少ないので、CADデータ生成システムが生成したCADデータをとっておき、それと同じCADデータも探索することができるようにすれば、いろいろな形状のCADデータを探索することができるということである。もちろん、探察用に読み出した個所のCADデータであれば、精度良くマッチングする。それが移動していた場合には、その探索結果によって移動した量を認識することも可能となる。
【0072】
第31の手段は、前記第30の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すCADデータは、予め対象物体毎にいろいろな角度から撮影して生成するようにすることである。
【0073】
このような第31の手段は、前記第30の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すCADデータは、予め対象物体体毎にいろいろな角度から撮影して生成するので、複雑な形状の物体のCADデータも基本図形と同様に予め準備しておくことができるようになる。いろいろな角度から撮影してCADデータを生成することができるので360°にわたって完全なCADデータを予め用意しておくことができる。最初に読み出したCADデータは、机なら机に相当する名前(種別ID)、椅子なら椅子に相当する名前(種別ID)を付けてメモリに登録しておくようにしても良い。このようにすることによって、例えば、装置(商品)を供給する前にいろいろな物体のCADデータをメモリに登録しておけば、その商品を使用するユーザは、一度もCADデータを生成しないで読み出す処理を行っても、探索用の複雑な形状の沢山のCADデータを利用することが可能となる。
【0074】
第32の手段は、前記第31の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、対象物体を撮影する場所は、撮影対象として対象物体のみを入れた所定の部屋であるようにすることである。
【0075】
このような第32の手段は、前記第31の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、対象物体を撮影する場所は、撮影対象である対象物体のみを入れた所定の部屋であるので、他に邪魔な物がないことから、対象物体のみのCADデータを容易に生成することができるようになる。
【0076】
第33の手段は、前記第30の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すCADデータは、指定領域を切り出したものとすることである。
【0077】
このような第33の手段は、前記第30の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すCADデータは、指定領域を切り出せるので、例えば、特定のビルの看板部分だけでも良いし、ドームのように建屋の形状に特徴ある場合には、建屋全体を含む場所を読み出すように、探索したい対象毎に必要最小限の範囲のCADデータを探索用として読み出すことが可能となる。
【0078】
第34の手段は、前記第30の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すCADデータは、基本図形あるいは探索用に読み出したCADデータと所定の閾値に基づきマッチングした領域あるいは当該領域とその周辺の領域を切り出したものとすることである。
【0079】
このような第34の手段は、前記第30の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出すCADデータは、基本図形あるいは探索用に読み出したCADデータと所定の閾値に基づきマッチングした領域あるいは当該領域とその周辺の領域を切り出すようにしているので、基本図形に近い形状のものとか、探索用に読み出した形状に近い形状のものなどから新規に読み出す範囲を容易に限定することが可能となる。例えば、生成されているCADデータで総ての直方体の看板を探索用に読み出したいような場合は、最初はある程度マッチング度の閾値を低めに設定しておけば、直方体の基本図形にそれなりに近いもの(直方体の看板の候補)が幾つか読み出されるので、その中から欲しいものを選択するようにすることなども容易に実現可能となる。
【0080】
第35の手段は、前記第30〜第34の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出したCADデータの幾何情報の特徴量か、色情報の特徴量か、あるいはその両方の特徴量を抽出するようにすることである。
【0081】
このような第35の手段は、前記第30〜第34の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索用に読み出したCADデータの幾何情報の特徴量か、色情報の特徴量か、あるいはその両方の特徴量を抽出することができるので、次に、その特徴量を利用して探索するような場合のために、特徴量のデータを短時間に自動的に作成することができるようになる。
【0082】
第36の手段は、前記第29〜第35の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索にはCADデータの幾何情報の特徴量か、色情報の特徴量か、あるいはその両方の特徴量を利用するようにすることである。
【0083】
このような第36の手段は、前記第29〜第35の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索にはCADデータの幾何情報の特徴量か、色情報の特徴量か、あるいはその両方の特徴量を利用することができるので、探索する対象の環境が広くて多くのCADデータがあるときでも短時間に効率良く探索することができる。すなわち、多くのCADデータからなる広大な空間の中で探索用のCADデータと姿勢や大きさを変えて何度もマッチング処理をして相関係数(一致度)を求めて一番近いものを探す処理は膨大な時間を要するが、先ず、大きさとか凸凹の数とか縦長比などの幾何学的な特徴とかで対象範囲を絞り込み、その後に形状のマッチングや模様のマッチングなどで探索しようとするものを絞り込むようにすれば、更に赤を主成分とする赤っぽいコップとか赤っぽいりんごなどのように全体的に割合の多い色などの特徴量を使えば更に探索範囲を絞ることができるので、時間を要する形状マッチングとか模様のマッチングの処理回数を少なくすることができ、探索時間そのものを短くすることできる。
【0084】
第37の手段は、前記第29〜第36の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索には固有値空間マッチング法を利用するようにすることである。
【0085】
このように第37の手段は、前記第29〜第36の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索には固有値空間マッチング法を利用するので、形状マッチングする場合においても短時間にそれなりに対象候補を効率良く絞り込むことが可能となる。
【0086】
第38の手段は、前記第29〜第37の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索には3次元のポテンシャルマッチング法を利用するようにすることである。
【0087】
このような第38の手段は、前記第29〜第37の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索には3次元のポテンシャルマッチング法を利用するので、最終的な位置と姿勢のマッチング、すなわち、探索したいもののCADデータの中の位置と姿勢を精度良く求めることを効率良く短時間で行なうことが可能となる。
【0088】
第39の手段は、前記第29〜第38の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時スケールファクタを可変にして形状の近いものを探索するようにすることである。
【0089】
このような第39の手段は、前記第29〜第38の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時にスケールファクタを可変にして形状の近いものを探索するので、同じ形でいろいろなサイズがあるものを探索するための探索用データを数多くもたないで済むようにできる。
【0090】
第40の手段は、前記第29〜第39の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時の探索範囲を所定の範囲に設定可能とするようにすることである。
【0091】
このような第40の手段は、前記第29〜第39の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時の探索範囲を所定の範囲に設定可能とするので、既に探索したい場所が番地や座標などである程度分かっているような場合には、その範囲のみを検索することで、効率良く探索することができる。
【0092】
第41の手段は、前記第29〜第40の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時の探索範囲を入力される画像情報の視野の範囲あるいは視野の範囲から拡張あるいは縮小した範囲とするようにすることである。
【0093】
このような第41の手段は、前記第29〜第40の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時の探索範囲を入力される画像情報の視野の範囲あるいは視野の範囲から拡張あるいは縮小した範囲とするので、CADデータを生成しながらリアルタイムで探索するオンライン探索では、より詳細なアズビルトデータを生成しながら、より精度の良い確実な探索を行なうことができるようになる。
【0094】
第42の手段は、前記第29〜第41の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、CADデータの探索指令信号の入力I/F、探索したCADデータ情報の出力I/Fの両方あるいは何れかは複数のI/Fを有するようにすることである。
【0095】
このような第42の手段は、前記第29〜第41の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、CADデータの探索指令信号の入力I/F、探索したCADデータ情報の出力I/Fを両方あるいは何れかは複数のI/Fを有するので、同時に沢山探索したい場合にも効率良く探索指示を与え、効率良く探索結果を得ることができるようになる。すなわち、環境の認識速度、多くの物体の探索速度を向上させることも容易に可能となる。
【0096】
第43の手段は、前記第29〜第42の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形または探索用のCADデータと所定の閾値に基づきマッチングした部分を特定の名前(ID)を付けて管理するようにすることである。
【0097】
このような第43の手段は、前記第29〜第42の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形あるいは探索用のCADデータと所定の閾値に基づきマッチングした部分を特定の名前(ID)を付けて管理するので、例えば、名前(ID)と一緒にそのもののあった座標とか番地も登録しておけば、再度探索するときには、名前(ID)から直接的に概略の座標や番地の近くを見に行くような処理も行なうことができるので、探索時間を大幅に短縮することができる。また、名前(ID)を付けて管理されていない部分は、未認識の部分ということになるので、未認識の部分を新たに認識登録するような場合には、未認識の範囲を容易に抽出することが可能となる。
【0098】
第44の手段は、前記第29〜第43の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形または探索用CADデータと所定の閾値に基づきマッチングした部分を除くCADデータの所定の固まりの部分を所定の名前(ID)を付けて管理するようにすることである。
【0099】
このような第44の手段は、前記第29〜第43の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形あるいは探索用CADデータと所定の閾値に基づきマッチングした部分を除くCADデータの所定の固まりの部分を所定の名前(ID)を付けて管理するようにしているので、今まで探索用に用意していた基本図形やその他の探索用CADデータにない新たなCADデータの固まりを新たに名前を定義して登録することが可能となる。もちろん、それを探索用CADデータとして追加しても良い。新たに付ける名前(ID)は、人が入力するようにしても良いし、システムが自動的に、例えば、一連の番号でIDを定義するようなシステムであれば、自動的に採番をさせて自動的に付与するようにしても良い。
【0100】
第45の手段は、前記第29〜第44の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、特定の名前(ID)を付けて管理するようにしたCADデータに人間の言葉を対応付けるようにすることである。
【0101】
このような第45の手段は、前記第29〜第44の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、特定の名前(ID)を付けて管理するようにしたCADデータに人間の言葉を対応付けるようにしているので、人間とのマンマシンI/Fを容易に構築することが可能となる。例えば、名前(ID)=71の物体を「机の上の赤いコップ」とか「コップ」などと人間の言葉の名前と対応するように登録しておけば、机の上のコップを探索させるときには、名前(ID)=71を入力する代わりに「机の上の赤いコップ」と入力すれば、「机の上の赤いコップ」のID=71という対応付けがされていれば、人間の言葉をIDとして使用して探索の指示を出したりすることが容易にできるようになる。
【0102】
第46の手段は、前記第29〜第45の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時に知識データを利用するようにすることである。
【0103】
このような第46の手段は、前記第29〜第45の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、探索時に知識データを利用するようにしているので、闇雲に探索するのではなく、先ず、知識データを用いて対象物体の探索すべき空間を絞り込むことができることから、効率良く探索することができるようになる。すなわち、例えば、コップは、71,72,73…と70番代のIDを付けるようにして、机は、81,82,83…と80番代のIDを付けるようにしたとして、70番代のIDに「コップ」、80番代のIDに「机」、という言葉の名前を対応させておき、また、「……は〜の上にある場合が多い。」という記述があった場合には、……を検索する場合には、先ず、〜の上に接しているCADデータを探索するようにしておけば、「コップ(ID=70番代)は机(ID=80番代)の上にある場合が多い。」という知識データを登録しておくとすると、システムはコップを探索する場合には、先ず、机の上のCADデータから探索させるようにすることができ、家の外とか机の下とか床の上などの探索は、後回しにすることができるので、コップが机の上にある場合には、探索を早く終了させることができる。机の上に無かった場合には、その次に可能性の高い床の上を探索するように、「コップ(ID=70番代)は机(ID=80番代)の上にあることもある。」などと定義しておいて、机の上に無かった場合にはこのような知識データに基づいて次に床の上を探索するようにしても良い。知識データは、もっと何段階にも優先順序を付けられるようにして同じ種類の物体に対して、もっと沢山の知識データを登録できるようにしても良い。また、「地面の上に立っている大きな物体(体積OO以上)は建物である場合が多い。」などの知識データで地面の上の大きな物体(所定の体積以上のCADデータの固まり)を先ずは探索候補に絞り込むような知識データの使い方をしても良い。
【0104】
第47の手段は、前記第46の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データの入力は、物体に名前(ID)を付けるときに一緒に入力可能とするようにすることである。
【0105】
このような第47の手段は、前記第46の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データの入力は、物体に名前(ID)を付けるときに一緒に入力可能とするようにしているので、知識データを効率良く入力することが可能となる。例えば、システムが物体に名前(ID)を新たに登録するときに、「これは何」と聞いてきたときに、名前は「コップ」、その他の特徴としての知識データとして、「机の上にある場合が多い。」とか、それ以外にもシステム側でロボットで掴んで良いようなものか否かを区別したいような場合には、「ロボットハンドでは持てない。」とか「ロボットハンドで持てる。」とかの知識データをインプットするようにしても良い。これはオフラインで物体の名前(ID)に人間の言葉を対応付けして入力する場合に、それに関する知識データを入力するようにしても良い。このようにすることで、入力漏れ、入力忘れもなくなる。
【0106】
第48の手段は、前記第46および第47の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データの入力は別に作成したデータをまとめて入力できるようにすることである。
【0107】
このような第48の手段は、前記第46または第47の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データの入力は別に作成したデータをまとめて入力できるので、装置(商品)を最初にユーザへ供給する場合に、例えば、ホームロボット等では、家庭の中の環境として有り得る物体は予め登録しておけば、ユーザが一つ一つ登録していく必要がない。予め登録しておくデータは、探索用の基本的な形状データだけではなく、それに係わる知識データも予め登録しておけば、ユーザへ手渡してから直ぐに環境認識を始めさせることができる。そのためには、製造時に、知識データを一括してファイルなどから入力可能にしておければ、出荷前に知識データを効率良く入力処理することができるようになる。もちろん、ユーザが必要な知識データの種類のファイルを選定して、購入後にファイルから入力できるようにしても良い。
【0108】
第49の手段は、前記第46〜第48の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データは人間の言葉で記述したものとして入力できるようにすることである。
【0109】
このような第49の手段は、前記第46〜第48の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、知識データは、人間の言葉で記述したものとして入力できるようにしているので、知識データの入力や作成が容易になる。これは、既に前述しているように知識データを、「コップ(ID=70番代)は机(ID=80番代)の上にある場合が多い。」とか、あるいは、先に、コップは(ID=70番代)、机は(ID=80番代)と登録されていれば、「コップは机の上にある場合が多い。」などと表現できるようにすることであり、これは人間の言葉であるので、人は、知識データを効率良く作成することが可能となる。
【0110】
第50の手段は、前記第29〜第49の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形または探索用CADデータと所定の閾値に基づきマッチングした部分を基本図形または探索用CADデータと置き換えるようにすることである。
【0111】
このような第50の手段は、前記第29〜第49の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、基本図形あるいは探索用CADデータと所定の閾値に基づきマッチングした部分を基本図形あるいは探索用CADデータと置き換えるようにしているので、CADデータの量を低減してメモリ容量を節約することができる。すなわち、例えば、4本の線からなる長方形の平面が全部で6面から構成される直方体を例えば縦,横,高さの寸法で定義した直方体が所定の位置に所定の姿勢であるのと等価の場合には、直方体の基本図形と置き換えることで、12本と6面のデータは削除することが可能となるので、メモリの節約になる。探索用CADデータとして一度読み出した部分は、読み出した形状の名前(ID)とその位置と姿勢とそのサイズや色など情報のみに置き換えれば、その読み出した多くのCADデータが多くの線データ、多くの面データから構成されたものであれば、それらのメモリ容量を節約することが可能となる。置き換えた環境周辺の探索とかCADデータの更新を行なう場合には、必要に応じて探索用のCADデータに再度置き換え直す場合も生じるが、その他の探索やデータの更新に関係ない部分のデータは、置き換えておくことが可能であるのでメモリ容量の節約になる。
【0112】
第51の手段は、前記第1〜第50の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、画像情報に基づいて撮像装置の移動情報を求めることができるときには入力する画像情報を処理して該撮像装置の位置と姿勢情報を求め、画像情報に基づいて撮像装置の移動情報を求めることができないときには撮像装置の移動情報信号に基づいて該撮像装置の位置と姿勢情報を求めてCADデータ生成に使用する機能を設けたことである。
【0113】
このような第51の手段は、前記第1〜第50の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、画像情報に基づいて撮像装置の移動情報を求めることができるときには入力画像情報を処理して該撮像装置の位置と姿勢情報を求め、画像情報に基づいて撮像装置の移動情報を求めることができないときには撮像装置の移動情報信号を使って撮像装置の位置と姿勢情報を求めるように自動的に切り替わる機能を有するので、画像情報が不足して移動情報を算出することができないときや、撮像装置の移動速度が早く、撮像装置から入力される画像情報の移動による変化速度が画像処理速度を上回り、画像処理によるトラッキング追従などで画像情報上の特徴点を見失っても処理を連続的に継続させることが可能となる。例えば、撮像装置の高速移動時にはトラッキング追従している特徴点を見失って画像処理によって撮像装置の位置と姿勢を求めることができなくなるが、そのときの移動量は、撮像装置移動センサで検出したり撮像装置移動制御情報に基づいて検出して、再度、低速移動に戻ったときには見失っていた間の移動量を撮像装置移動センサや移動制御情報に基づいて検出した情報により求めて撮像装置の位置と姿勢情報を正しく補正することにより、低速移動に戻ったその時点で撮像装置がどこに位置してどの方向を見ているかがわかることから、既に生成されている移動空間のCADデータとの対応付けによる補正も可能となり、その場所からトラッキング追従を再開することが可能となる。撮像装置に設ける撮像装置移動センサとして加速度センサやジャイロセンサを使用する場合には、それらのセンサは高速移動に対する応答性は十分であるので、高速移動時の移動量を精度良く検出することができる。一方、加速度センサやジャイロセンサは、長時間の累積検出に対しては誤差が大きくなるが、低速移動時には画像処理によって位置と姿勢の検出を行なうことにより累積誤差をキャンセルすることができるので、加速度センサやジャイロセンサを別センサとして有効に使用することが可能となる。
【0114】
第52の手段は、前記第1〜第51の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置および/または該撮像装置を移動する移動体の移動情報または移動制御情報を参照して画像情報における対象物体が動いているか停止しているかを判断する機能を有するようにすることである。
【0115】
このような第52の手段は、前記第1〜第51の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置が移動しているか否かの情報信号を入力とし、その情報信号により撮影対象の物体が動いているか停止しているかを判断する機能を有するので、撮像装置の視野いっぱいに移動する撮影対象の物体を撮影している場合にも該撮影対象の物体が移動しているか撮像装置自身が移動しているかの区別を容易に行なうことが可能となる。
【0116】
第53の手段は、前記第1〜第52の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置によって得た画像情報の中のハレーションを検出し、当該画像情報の中にハレーションがある場合には当該ハレーションの領域あるいは画像情報の全体領域を非処理の領域とするようにすることである。
【0117】
このような第53の手段は、前記第1〜第52の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置によって得た画像情報の中のハレーションを検出し、当該画像情報の中にハレーションがある場合には、当該ハレーションの領域あるいは画像情報の全体領域を非処理の領域とするようにしているので、ハレーションによる異常データの生成や誤認識などを容易に防止することができるようになる。
【0118】
第54の手段は、前記第1〜第53の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置によって得た画像情報の中のハレーションを検出しても、その領域が小さく当該ハレーション部位の座標を所定の精度で計算することができる場合には当該画像情報の中にハレーションがあっても当該ハレーションの部位を処理するようにすることである。
【0119】
このような第54の手段は、前記第1〜第53の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、撮像装置によって得た画像情報の中のハレーションを検出しても、その領域が小さくて当該ハレーション部位の座標が所定の精度で計算できる場合には、当該画像情報の中にハレーションがあっても当該ハレーションの部位を処理するようにしているので、水面のキラキラとか、ダイヤモンドダスト(氷の結晶)、サンピラー等も容易にCADデータ化することができるようになる。このとき、もちろん、ハレーションで光の線のように出る針状の部分が生じる場合には、針状の部分はノイズとして無視して中心部のみを処理するようにすることもできる。
【0120】
第55の手段は、前記第1〜第54の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、CADデータの座標数値に長さの単位をもたせるようにすることである。
【0121】
このような第55の手段は、前記第1〜第54の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、CADデータの座標数値に長さの単位をもたせるようにしているので、アプリケーション側で絶対長さを管理しないでも済むようにすることができる。
【0122】
第56の手段は、前記第55の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、CADデータの座標数値に長さの単位をもたせる手段として少なくとも1つのCADデータとそのCADデータの絶対値寸法を入力するようにすることである。
【0123】
このような第56の手段は、前記第55の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、CADデータの座標数値に長さの単位をもたせる手段として、少なくとも1つのCADデータとそのCADデータの絶対値寸法を入力するようにしているので、容易に絶対長さを定義することができるようになる。
【0124】
第57の手段は、前記第55の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、CADデータの座標数値に長さの単位をもたせる手段として、少なくとも2つのCADデータとそのCADデータ間の絶対値距離を入力するようにすることである。
【0125】
このような第57の手段は、前記第55の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、CADデータの座標数値に長さの単位をもたせる手段として、少なくとも2つのCADデータとそのCADデータ間の絶対値距離を入力するようにしているので、基準となる物体、例えば、物差しなどを撮影してその目盛りの間隔を絶対長さと対応付けて読み込むようにすることができ、絶対長さを容易に定義することができるようになる。
【0126】
第58の手段は、前記第1〜第57の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムは、画像情報処理装置の全部あるいは部分的にLSIチップ化したものであるとすることである。
【0127】
このような第58の手段は、前記第1〜第57の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムは、全部あるいは部分的にLSIチップ化するので、LSIチップの量産化により高速処理可能な視覚情報処理装置を安価に容易に提供することが可能となり、別のCPU等と組み合わせたアプリケーションシステムを構築することが容易になる。
【0128】
第59の手段は、前記第1〜第57の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムは、画像情報処理機能をソフトウェアによる情報処理で実現するように構成したものであるとすることである。
【0129】
このように第59の手段は、前記第1〜第57の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムは、ソフトウェアによる情報処理で実現するように構成するようにしているので、例えば、移動ロボットの制御装置に汎用パソコンを使用する場合には、移動ロボットの制御用ソフトウェアと共に同じパソコンに視覚情報処理装置のソフトウェアを入れることで、新たなハードウェアを追加することなしにアプリケーションシステムを構築することが可能となる。
【0130】
第60の手段は、前記第1〜第59の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の撮像装置によって得た画像情報を所定のタイミングで切り替えて同じ画像情報処理装置へ入力するようにすることである。
【0131】
このような第60の手段は、前記第1〜第59の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムにおいて、複数の撮像装置によって得た画像情報を所定のタイミングで切り替えて同じ画像情報処理装置あるいは画像情報処理システムへ入力するようにしているので、例えば、複数の撮像装置の画像情報をその撮像装置が移動したような順番で瞬時に切り替えるようにすれば、最像装置が瞬間的に移動したのに相当する画像情報を入力することができ、対象物体が高速で移動するものにも容易に対応できるシステムを得ることが可能となる。この場合、撮像装置は、移動する撮像装置に限らず、固定された撮像装置でも良い。固定された撮像装置でパンチルト機構に搭載された撮像装置の場合には、パンチルト角度情報がシステムへ入力されるようにして撮像装置の位置と姿勢情報は、既知としてより効率良く処理を行なうようにすることができる。
【0132】
第61の手段は、特定部位の位置決めを行なうロボットにおいて、その制御装置に前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【0133】
このような第61の手段は、特定部位の位置決めを行なうロボットにおいて、その制御装置に前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用するので、例えば、遠隔操作ロボットなどでは、手先の自動位置決めを行なうシステムを容易に構築することができる。具体的には、例えば、手先に撮像装置を取り付けて該撮像装置の位置と姿勢情報を得れば、その情報に基づいて手先の位置を目標とする位置へ修正制御することが可能となる。また、手先がアクセスしようとする対象物体をCADデータから探索してその対象物体の位置と姿勢情報を得るようにすれば、撮像装置と対象物体の両方の位置と姿勢が分かるので、より正確に手先を対象物体にアクセスするように誘導制御することが可能となる。また、手先に撮像装置を付けられない場合には、手先を撮影する撮像装置を別に設けることで、その撮像装置の画像情報で手先のCADデータの探索を行って手先の位置と姿勢を直接に検出して制御に利用することも可能となる。
【0134】
第62の手段は、移動ロボットの制御装置に、前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【0135】
このような第62の手段は、移動ロボットの制御装置に、前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、移動ロボット自身の位置決め、姿勢制御を容易に行なうことができるようになる。例えば、移動ロボットに撮像装置を搭載すれば、撮像装置の位置と姿勢情報は移動ロボットの位置と姿勢の情報を示すことになるので、その情報に基づいて移動ロボットの位置や姿勢を制御することで、移動ロボットの位置決め制御,姿勢制御,誘導制御などを容易に行なうことができるようになる。水中を浮遊するROV等に撮像装置を搭載して、この装置を適用すれば、水中深く位置していて、水面の上から水中のROVを直接見ることができなくとも、例えば、周囲環境のCADデータと撮像装置のその中での位置と姿勢を操作卓の表示装置に表示するようにすれば、水中ROVの遠隔操作を、その表示装置で位置と姿勢を確認しながら容易に行なうことができるようになる。また、CADデータ上で任意の場所の正面に位置するように最終目標位置と姿勢を入力して自動的にその目標位置と姿勢に水中ROVがなるように制御すようにすれば、自動運転の制御システムも容易に構築することも可能となる。もちろん、飛行船や飛行機などに撮像装置を搭載して飛行ロボットの遠隔操作と自動制御に適用することもできる。
【0136】
第63の手段は、文字読み取り装置の処理装置に、前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【0137】
このような第63の手段は、文字読み取り装置の処理装置に、前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用するので、例えば、3次元的に凹凸のある刻印文字などは単純に2次元の画像処理では読み取り難い文字についても3次元のCADデータのマッチング処理により所定の文字を認識し易くしたシステムを容易に構築することができる。また、時系列に変化する文字も時系列にデータを生成することができるので、例えば、電光掲示板で流れるように表示される文字とか風で揺らいでいる看板などのように予め移動パターンが分かってない移動する文字なども容易に読み取ることができるシステムを構築することが可能となる。
【0138】
第64の手段は、3次元計測装置の処理装置に、前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【0139】
このような第64の手段は、3次元計測装置の処理装置に、前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、プラントなどの現場調査、車のデザイン設計、CGのキャラクタなどに必要な3D計測装置を容易に実現することが可能となる。すなわち、高精度の分解能の撮像装置を用いたシステムとしなくとも汎用的な撮像装置でも撮像装置を対象物体の近くに寄って撮影してCADデータを生成するようにすれば、近くに寄ればその分精度の良いCADデータを生成することができるので、汎用の撮像装置で撮影して得た画像情報に基づいて精度の良いCADデータを生成することができ、そのCADデータを参照できるシステムとすれば、精度の良い3D計測システムを汎用の撮像装置を用いて容易に構築することが可能となる。
【0140】
第65の手段は、前記第64の手段を適用して構成した3次元計測装置あるいはその処理装置において、生成あるいは更新されたCADデータを取り出すときに所定のCADデータのフォーマットへ変換できるようにすることである。
【0141】
このような第65の手段は、前記第64の手段を適用して構成した3次元計測装置あるいはその処理装置において、生成あるいは更新されたCADデータを取り出すときに、所定のCADデータのフォーマット、例えば、DXFのフォーマットなどへ変換できるようにしているので、アズビルトで生成されたCADデータを、例えば、Auto−CADなどの汎用のCADシステムで容易に活用できるようになる。ここで、変換するのは出力時でも良いし、内部メモリ上で変換して、別途、出力できるようにすることもできる。
【0142】
第66の手段は、前記第64および第65の手段を適用して構成した3次元計測装置あるいはその処理装置において、生成あるいは更新されたCADデータを取り出すときに所定の閾値以下で基本図形とマッチング部分を基本図形に置き換えるようにすることである。
【0143】
このような第66の手段は、前記第64または第65の手段を適用して構成した3次元計測装置あるいはその処理装置において、生成あるいは更新されたCADデータを取り出すときに、所定の閾値以下で基本図形とマッチングする部分を基本図形に置き換えるようにしているので、通常はリアルタイムでCADデータの更新に利用し易いデータフォーマットでメモリしておくことから、何時でも追加更新などの作業を行なうことができる。また、生成されたCADデータを利用するために取り出すときに基本図形に置き換えることで、基本図形を利用する他のアプリケーションで利用し易いデータに変換することができる。基本図形は、球,円柱,直方体,円錐などを用意して、寸法は、可変でマッチングを行なうようにすれば良い。基本図形にマッチングしない残りのCADデータは、アプリケーション側で線データや面データが取り扱えれば、そのまま変換すれば良いし、基本図形以外は不要なアプリケーションの場合には、基本図形に変換できない部分は取り出さないようにすることもできる。
【0144】
第67の手段は、前記第64〜第66の手段を選択的に適用して構成した3次元計測装置あるいはその処理装置の移動する複数の撮像装置は、地面を走行する走行車と空を飛行する飛行体に搭載した撮像装置であるとすることである。
【0145】
このような第67の手段は、前記第64〜第66の手段を選択的に適用して構成した3次元計測装置あるいはその処理装置の移動する複数の撮像装置は、地面を走行する走行車と空を飛行する飛行体に搭載した撮像装置としたことにより、より正確な町並みの3次元地図を容易に作ることができるようになる。すなわち、地面を走行する走行車の視覚情報処理装置は、道路や家などを下から撮影した範囲の詳細なCADデータの生成を行なうが、家の屋根上とか地面に生えている木の上の方は下から見上げている撮影のしかたでは十分な画像情報が得ることができないので、上部のCADデータまで十分に生成することはできないが、空を飛行する飛行体から見下ろして撮影した画像情報で生成されたCADデータと統合することにより、下の方から上部まで生成漏れのない、正確な町並みの3次元地図を容易に作ることができるようになる。
【0146】
第68の手段は、ナビゲーション装置において、その処理装置に前記第1〜第60の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【0147】
このような第68の手段は、ナビゲーション装置において、その処理装置に前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、GPS不要のナビゲーション装置を容易に実現することが可能となる。すなわち、移動するナビゲーション装置に撮像装置を接続して、撮像装置で周囲の環境のCADデータを生成および更新しながら、撮像装置の位置と姿勢情報をリアルタイムで取り出すようにして、環境CADデータと撮像装置の位置と姿勢情報を表示するようにすることで容易に現在位置を確認することができるシステムとなる。環境CADデータは、予めある程度のCADデータとしてナビゲーゲーション装置にもたせておくようにしても良いし、例えば、2次元の地図情報のみをもたせておき、走行するに従って生成されていく3次元CADデータの道や交差点付近の建物などから2次元の地図と3次元CADデータを対応させるようにしても良い。予め作成しておくCADデータは、特徴的な建物などをオフラインで入力しておくようにしても良いし、予め自動車や飛行体で町並みのCADデータを本発明の視覚情報処理装置で生成および合成したものを使用するようにする方法でも良い。また、更に、移動してCADデータを生成している他のナビゲーション装置と生成したアズビルトのCADデータを互いに交換し合っても良いし、中央情報処理センタなどを介して複数のナビゲーション装置で生成したCADデータを授受することができるようにしても良い。撮像装置と移動体との取り付け関係が既知であり、その関係を事前に設定しておくことにより、撮像装置の位置と姿勢を表示する代わりに、移動体の位置と姿勢を表示するようにすることもできる。また、環境CADデータの中の目的地が入力されれば、CADデータの中の目的地と現在の移動体の位置から、どのような経路で目的地まで移動していくのが良いかなどのナビゲーションの表示は、GPS搭載のナビゲーション装置と同じように構成して実行すれば良い。
【0148】
第69の手段は、前記第68の手段を適用して構成したナビゲーション装置において、1つのナビゲーション装置とは別の1つあるいは複数の他のナビゲーション装置あるいは該ナビゲーション装置に接続されている撮像装置あるいは該ナビゲーション装置または該ナビゲーション装置を搭載した移動体に関する位置あるいは姿勢あるいは位置と姿勢の情報を前記1つのナビゲーション装置へ取り込み可能とし、あるいは相互に取り込み可能とすることである。
【0149】
このような第69の手段は、前記第68の手段を適用して構成したナビゲーション装置において、当該ナビゲーション装置(1)とは別の1個あるいは複数の他のナビゲーション装置(2)あるいはそのナビゲーション装置(2)に接続されている撮像装置あるいはそのナビゲーション装置(2)の移動体に関する位置あるいは姿勢あるいは位置と姿勢の情報を当該ナビゲーション装置(1)へ取り込み可能とし、あるいは相互に取り込み可能としているので、各ナビゲーション装置は自分自身の位置と周囲環境の情報以外に周囲近くに存在する他のナビゲーション装置(すなわち、他の移動体)の位置情報を参照することができるようになり、撮像装置の死角となる建物の陰から他の移動体が飛び出してきて出会い頭の衝突するような危険な事態などを互いのナビゲーション装置が事前に検知することができ、それを事前に知らせるとか、移動体にブレーキをかけるとかして衝突を未然に防ぐことができるようになる。また、子供とか年寄りの歩行者にも同様なナビゲーション装置を付けておくようにすれば、車に搭載しているナビゲーション装置が歩行者を検出して、歩行者の飛び出しなども事前に警報することにより事故の発生を防止することができるようになる。歩行者が付けるナビゲーション装置は、それの位置情報の他に歩行者であるという識別情報も発信するようにしても良いし、中央情報処理センタで予め登録しておくようにしても良い。また、識別内容も、車とか2輪車とか歩行者などのように移動体の種類を区別するようにして、異常接近時の対応処理を移動体の種類に応じて最適な方法で行なうことができるようにすることができる。
【0150】
第70の手段は、ピッキングシステムの制御装置に、前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【0151】
このような第70の手段は、ピッキングシステムの制御装置に前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、通常の汎用の撮像装置を最低1台準備することで、容易にピッキングシステムを構築することが可能となる。すなわち、ハンドリングするマニピュレータの先端に通常の汎用的な撮像装置を取り付けて該撮像装置からの画像情報でワークCADデータを生成するように、最初にワークの周囲から撮影をすることで、ワークのアズビルトCADデータを生成することができる。ここで、撮像装置は、ワークの周囲に複数固定して画像情報の信号を切り替えるようにして該撮像装置をワーク周囲で動かした場合と同じような画像情報が得られるようにしても良い。ワークのアズビルトのCADデータが生成できた後には、ワークの中の一つの部品の形状を予め探索用CADデータとして登録しておき、生成された部品が沢山積み上げられたワークのCADデータの中から一つ一つの部品の位置と姿勢情報を探索機能によって求めて一番外側にある部品から順番にハンドリング用のマニピュレータでピックするように、マニピュレータの制御装置に掴む対象の部品の位置と姿勢情報を与えて該マニピュレータの制御が行なわれるようにすれば、容易にピッキングシステムを構築することができる。特にマニピュレータの先端に撮像装置を付けた場合には、撮像装置をワークに接近させて該ワークを撮影してCADデータを精度良く生成することができるので、撮像装置は、高分解の特殊な撮像装置でなく汎用の一般的な撮像装置で撮影しても精度良いCADデータを生成することができる。ピッキングで部品を取り除いて部品の積み上げられたワークの形状が変わっても、ワークのCADデータが更新されるので、常にそのときの状態に応じてピッキング制御に対応することができる。
【0152】
第71の手段は、検査装置の処理装置に、前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【0153】
このような第71の手段は、検査装置において、その処理装置に前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、容易に立体的な形状の検査装置を得ることができる。すなわち、例えば、マニピュレータなどの先端に撮像装置を設けて、この撮像装置でいろいろな角度から検査対象の部位を撮影するようにして検査対象のCADデータを生成するようにすれは、CADデータは、3次元の凸凹状態を正確に再現しているので、例えば所定の場所に所定の部品がきちんと付いているかどうかなど、所定の部品の付いている位置と姿勢情報を取り出せるようにすれば、容易に自動検査装置を構築することが可能となる。
【0154】
第72の手段は、前記第71の手段を適用して構成した検査装置あるいはその処理装置に用いる撮像装置はマイクロスコープとすることである。
【0155】
このような第72の手段は、前記第71の手段を適用して構成した検査装置あるいはその処理装置に用いる撮像装置はマイクロスコープとしているので、生成された3次元のCADデータは、微細な3次元的な凸凹面になることから、例えば、CDやDVDなどの角度をいろいろ変えて見ないと見えない微細な傷なども容易に効率良く検査することができる検査装置を実現することできる。
【0156】
第73の手段は、自律制御型ロボットの制御装置に、前記第1〜第60の手段を適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用することである。
【0157】
このような第73の手段は、自律制御型ロボットにおいて、その制御装置に前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを適用しているので、自律制御型ロボットを容易に構築することが可能となる。すなわち、ロボットに撮像装置を付ければ、視覚情報処理装置を適用して環境のアズビルトCADデータを容易に生成することができ、その中にある撮像装置の位置と姿勢情報やロボット自身の位置と姿勢情報も容易に得ることができる。更に、環境の中の特定のCADデータを探索することもできるので、予め探索用に準備しているCADデータの有無、有る場合にはその位置と姿勢情報を得ることができるので、それが作業対象物体であれば作業対象物体の位置と姿勢と自分自身の位置と姿勢により、ロボット自身を作業対象物体に対してどのようにでも制御することが可能となる。例えば、特定の作業対象物体を探して持って帰ってくる作業内容を実行しようとする場合には、前記ナビゲーション機能を用いてロボットをナビゲーションが計画したとおりの経路に沿って移動させて作業対象物体を探索させ、作業対象物体が見つかった場合には、それに対して所定の位置と姿勢でロボット自身を接近させて、ロボットが有しているハンドリング機能で作業対象物体を掴んで、再度、ナビゲーション機能を使ってスタート地点まで戻る制御を容易に実現することができるようになる。途中に障害物があれば、環境のCADデータは、随時、生成および更新されているので、この障害物を障害物と認識することも容易に行なうことができるので、予め障害物を発見した場合の対処方法として、例えば障害物を避けて回避経路を探して進むプログラムを用意しておけば、途中に障害物があっても目的とする作業を計画どおりに自律的に実行させることが可能となる。ここで自律制御型ロボットと称するものは、自動車,無人搬送車,マニピュレータ,人間型ロボットの何れもでも良いが、ロボット自身が判断して動作制御する機能を有するロボットのことである。自律制御型ロボットは、基本的には、人間の指令に従うようにプログラムして良いが、例えば、ペットロボットなどのような場合には、充電が必要な状態の場合には充電器へ向かって充電することを優先するようにプログラムし、必ずしも指令に従わないようにしても良い。また、番犬ロボットに適用する場合には、周囲の人物の不審な服装や不審な動きを認識して、不審者に対しては不審者を追いかけるようにプログラムしておくようなシステムの構築も容易に実現することが可能となる。
【0158】
第74の手段は、前記第73の手段を適用して構成した自律制御型移動ロボットあるいはその制御装置において、目標位置と姿勢あるいはその何れか、あるいは目標位置と姿勢あるいはその何れかと移動の仕方に係わる内容を指示すると指示内容に従って自律的に目的地まで移動するようにし、移動終了したならば終了した旨を応答し、終了させることが困難とロボットが判断した場合にはその旨を応答するようにすることである。
【0159】
このような第74の手段は、前記第73の手段を適用して構成した自律制御型移動ロボットあるいはその制御装置において、目標位置と姿勢あるいはその何れか、あるいは目標位置と姿勢あるいはその何れかと移動の仕方に係わる内容を指示すると、この指示内容に従って自律的に目的地まで移動するようにし、移動を終了したならば終了した旨を応答し、終了させることが困難とロボットが判断した場合には、その旨を応答するようにするので、行き先を指示すると自動的に目的地まで移動するロボットや自動車を容易に得ることが可能となる。例えば、自動車で目的地を入力すると、前記ナビゲーション装置の機能により目的地までの経路が表示されるが、ここでは、その表示された経路に従って自動車を自動走行制御させる。途中、周囲の環境はCADデータとして生成されるので、地図にない障害物が新たに検知された場合には、予め障害物のパターン毎に用意しておく障害物の回避プログラムの中から対応するプログラムで回避制御するようにすれば、自動走行を継続することが可能となる。障害物の回避プログラムとしては、前方左にある障害物は、その右側を回避するとか、正面に別の車が障害物としてある場合には、それを形状から自動車であると認識させるようにして、自動車の場合には、それが動き出すまで待つとか減速させるなど、考えられるいろいろなパターンに対して対応できる回避プログラムを用意にしておくことでも良い。ここで、回避プログラムが用意されていないパターンに遭遇した場合には、その時点で、システムは、終了困難と判断して応答するようにしておけば良い。途中に交通信号機がある場合には、予め探索用に交通信号機のCADデータを用意しておくことにより、周囲環境の中から交通信号機を探索して、その中の赤,青,黄色に相当するランプの点灯状態を確認して、赤や黄色であれば信号のところで青が点灯するまで停止待機させ、青であればそのまま周囲の障害物を回避しながら自動走行を継続するようにプログラムすれば、交通信号機のある道路でも自動運転を容易に行なうことが可能となる。最終的に目的地の位置と姿勢で所定の場所に車が停車したならは、システムは終了の応答を返してくれるので、搭乗者は、目的地に着いたことを容易に知ることができる。途中で継続困難と応答された場合には、手動操作に切り替えて障害を回避した後に、再度、自動運転をさせるようにしても良い。また、途中で走行経路上の代表的な建物とか場所を認識した場合には、システムが現在そこを通過中であることをガイダンスするようにすることでもできる。以上のように、自動走行制御の中では、道路の状況を正しく認識して、その状況に対応する適切なプログラムを使用して自動走行制御を継続させる必要があり、途中、周囲環境の情景の沢山の物体を形状や色などの特徴も含めて認識させる必要があるが、本発明の視覚情報処理装置を適用することにより、前述したように、それらの認識を容易に実現することができるようになるため、こように自律的に走行する自動車などの自律移動ロボットも容易に実現することが可能となる。なお、実際には、視覚情報処理以外に周囲の音の情報、例えば、車が走行する音とかクラクションの音を指向性のあるマイクロフォンで検出して、その音源があると思われる方向の視覚情報処理を優先的に行なうというように、音の情報処理の結果も利用して周囲環境の認識速度を更に正確に高速に行なうことができるようにしても良い。また、この機能は、移動距離が短くても難しい運転を伴う車庫入れ操作に使用して自動運転で車庫入れを行なう自動車の自動運転などにも適用することができる。また、自動掃除機に適用して、初めての環境の地図も自動生成できるようにして、掃除した範囲とまだ清掃しない範囲を生成したCADデータを用いて管理するようにすることもできる。
【0160】
第75の手段は、前記第73の手段を適用して構成した自律制御型作業ロボットあるいはその制御装置において、作業内容を指示すると指示内容に従って自律的に作業を行なうようにし、作業終了したならば終了した旨を応答し、終了させることが困難とロボットが判断した場合にはその旨を応答するようにすることである。
【0161】
このような第75の手段は、前記第73の手段を適用して構成した自律制御型作業ロボットあるいはその制御装置において、作業内容を指示すると該指示内容に従って自律的に作業を行なうようにし、作業が終了したならば終了した旨を応答し、終了させることが困難とロボットが判断した場合には、その旨を応答するようにしているので、例えば、プラントのバルブの分解点検作業などの作業を行なわせるロボットシステムにおいても、自律的に作業する自律制御型作業ロボットを得ることが可能となる。すなわち、対象作業が、例えばバルブの分解点検作業であれば、一連の作業ロボットの動きは、動作プログラムとして組まれていて、その順番に制御が実行され、バルブはその総ての部品がプログラムが計画している場所に正確に位置していれば、単純なプログラム制御ロボットで自動的にバルブの分解点検作業を行なうことができるが、実際においては、バルブの設置位置やグランドを締め付けているボルトの位置などはバルブ毎に異なるし、同じバルブでも組み立てた状況によって様々な位置関係に組み立たるのが実際である。そこで、基本的には、前述した自動プログラムに従って作業を遂行するプログラムを実行させるが、途中、ロボットが取り扱う対象部品をアズビルトで生成したCADデータで認識させて、その部品の位置と姿勢を正確に検出してロボットを制御するようにすれば、たとえバルブの位置が大きくずれていても、バルブの分解点検作業を容易に自動で行なうができるようになる。また、いろいろな部品について認識できるように予め沢山の部品の形状データを探索用のCADデータとして用意しておけば、いろいろな種類のバルブの分解点検に対応できるようにすることもできる。しかしながら、分解途中で認識不可能な部品が出てきた場合には認識不可能となるので、その時点で作業の継続は困難となることから、その旨を応答して自動運転を終了する。最後まで作業が完了したならば、その旨を応答すれば作業が完了したことを容易に確認することができる。このように、本発明の視覚情報処理装置により物体の認識を容易に実現可能となるために、このような作業を自動的に行なうことのできる自律制御型作業ロボットも容易に実現することが可能となる。また、介護の必要な人のための介護ロボットへ適用すれば、スプーンとかコップとか、介護を要する人の口の位置とかを認識して、カップの中のスープなどをスプーンでとって介護者の口までもっていくような制御も容易に行なうことができるようになる。このような介護ロボットでは、介護者がロボットに大まかな指令を与えることで、介護者がロボットに実施させたい作業を実施させるシステムを容易に構成することができる。
【0162】
第76の手段は、前記第73〜第75の手段を選択的に適用して構成した自律制御型ロボットあるいはその制御装置において、自律制御系とは独立系統でロボットが安全に動作していることを監視できるようにすることである。
【0163】
このような第76の手段は、前記第73〜第75の手段を選択的に適用して構成した自律制御型ロボットあるいはその制御装置において、自律制御系とは独立系統でロボットが安全に動作していることを監視できるようにしているので、自律制御型ロボットが目の届かない離れた場所で動いている場合にも安全に該ロボットを監視することができる。独立系統の監視手段を設けるために、複雑な自律制御による影響を受けないで常に監視することが可能となる。監視は、人間が直に行なうようにしても良いし、自動監視装置を用いて監視するようにしても良い。
【0164】
第77の手段は、前記第76の手段を適用して構成した自律制御系とは独立系統であって、ロボットが安全に動作していることを監視できるようにする手段を、独立制御系からなる監視カメラシステムであるとすることである。
【0165】
このような第77の手段は、前記第76の手段を適用して構成した自律制御系とは独立系統でロボットが安全に動作していることを監視できるようにする手段を、独立制御系からなる監視カメラシステムとしていることで、映像によって直に目視する監視を行なうことができるので、より的確に現場の状況を把握することができる。
【0166】
第78の手段は、前記第75および第76の手段を適用して構成した自律制御型ロボットあるいはその制御装置において、ロボットの安全監視中に緊急対応が必要となった場合に自律制御系とは独立系統でロボットの緊急対応制御を実行することができるようにすることである。
【0167】
このような第78の手段は、前記第75または第76の手段を適用して構成した自律制御型ロボットあるいはその制御装置において、ロボットの安全監視中に緊急対応が必要となった場合には、自律制御系とは独立系統でロボットの緊急対応制御ができるようにしているので、万一の場合には、緊急停止とかマニアルへの切り替えが確実に行なえるようになる。また、監視映像系が途切れた場合は、自動または手動で自律的に終了させる機能をロボットに設けても良い。
【0168】
第79の手段は、前記第61〜第78の手段を選択的に適用して構成した各種ロボット,文字読み取り装置,3次元計測装置,ナビゲーション装置,ピッキングシステム,検査装置あるいはその制御装置,処理装置において、マンマシンインタフェースの部分に音声認識機能あるいは音声合成機能あるいはその両方の機能をもたせるようにすることである。
【0169】
このような第79の手段は、前記第61〜第78の手段を適用して構成した各種ロボット,文字読み取り装置,3次元計測装置,ナビゲーション装置,ピッキングシステム,検査装置あるいはその制御装置,処理装置において、マンマシンインタフェースの部分に音声認識機能あるいは音声合成機能あるいはその両方の機能をもたせるようにしているので、人間とのI/Fが更に容易になる。例えば、音声認識で指令を受けてそれを正しく受けた場合には「はい」と応答を返し、指令の作業の実行を終了した場合には「終了しました」、途中で継続困難となった場合には「実行できませんでした」と応答するようにするので、ロボットの指示と結果の応答があるので、人間は容易に作業結果を理解することが可能となる。更に、途中の作業状況を音声出力して状況を人間に分かり易く知らせるようにしても良い。
【0170】
第80の手段は、撮像装置において、1次元あるいは2次元の撮像素子(CCDセンサ)を回転させ、回転に同期してCCDセンサの信号を取り込み画像情報として出力可能とする信号処理回路を有し、当該信号処理回路はCCDセンサと共に回転するように構成することである。
【0171】
このような第80の手段は、撮像装置において、1次元あるいは2次元の撮像素子(CCDセンサ)を回転させ、回転に同期してそそしセンサの信号を取り込み画像情報として出力可能とする信号処理回路を有し、この信号処理回路は、CCDセンサと共に回転するように構成しているので、広い範囲の撮影を行なえる撮像装置を容易に実現することができる。また、信号処理回路を回転するCCDセンサと一緒に回転させるので、CCDセンサと信号処理の間の信号の授受をスリップリングなどの回転部分を介在させて行なう必要がなくなり、回転式で広範囲を撮影することができる撮像装置を用意に実現することができる。
【0172】
第81の手段は、前記第80の手段を適用して構成した撮像装置において、信号処理回路は指令信号を入力可能として指令信号の指令内容に基づき画像情報を加工して出力可能とすることである。
【0173】
このような第81の手段は、前記第80の手段を適用して構成した撮像装置において、信号処理回路は、指令信号を入力可能として指令信号の指令内容に基づき画像情報を加工して出力することができるので、必要な部分のみの情報を効率良く取り出せるようにすることができる。
【0174】
第82の手段は、前記第80および第81の手段を適用して構成した撮像装置において、信号や情報を外部と授受するための通信用に無線通信手段を有し、当該無線通信手段はセンサと共に回転するように構成することである。
【0175】
このような第82の手段は、前記第80または第81の手段を適用して構成した撮像装置において、外部との通信用に無線通信手段を有し、この無線通信手段はCCDセンサと共に回転するように構成しているので、映像信号,制御信号など信号,情報を回転する部分から静止する部分に取り出すための信号用スリップリンなどを不要にすることができる。
【0176】
第83の手段は、前記第80〜第82の手段を選択的に適用して構成した撮像装置において、電力発生装置を設け、この電力発生装置はセンサと共に回転するように構成することである。
【0177】
このような第83の手段は、前記第80〜第82の手段を選択的に適用して構成した撮像装置において、電力発生装置を有し、この電力発生装置は、CCDセンサと共に回転するように構成しているので、電源供給用のスリップリングを不要にすることができる。
【0178】
第84の手段は、前記第80〜第83の手段を選択的に適用して撮像装置において、前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを有し、この視覚情報処理装置あるいは視覚情報処理システムはセンサと共に回転するように構成することである。
【0179】
このような第84の手段は、前記第80〜第83の手段を選択的に適用して構成した撮像装置において、前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムを有し、この視覚情報処理装置あるいは視覚情報処理システムは、CCDセンサと共に回転するように構成しているので、広範囲を撮影することができる撮像装置付きの視覚情報処理装置を簡単に構成することができる。
【0180】
第85の手段は、複数の端末から送られてくる情報を中央情報センタで統合し、統合した情報の全部あるいは一部をユーザへ提供する情報統括提供サービスシステムにおいて、当該情報はCADデータあるいはCADデータと端末の状態情報を含むものであるとすることである。
【0181】
このような第85の手段は、複数の端末から送られてくる情報を中央情報処理センタで統合し、統合した情報の全部あるいは一部をユーザへ提供する情報統括提供サービスシステムにおいて、これらの情報は、CADデータあるいはCADデータと端末の状態情報を含むものとしていることにより、互いに他の人が生成したCADデータを容易に利用し合えるようになる。
【0182】
第86の手段は、前記第85の手段を適用して構成した情報統括提供サービスシステムにおいて、そのシステムの処理装置に前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムあるいは前記第80〜第4の手段を選択的に適用して構成した撮像装置を適用することである。
【0183】
このような第86の手段は、前記第85の手段を適用して構成した情報統括提供サービスシステムにおいて、そのシステムの処理装置に前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムあるいは前記第80〜第84の手段を選択的に適用して構成した撮像装置を適用しているので、容易にアズビルトのCADデータの生成と統合が可能となる。
【0184】
第87の手段は、1台あるいは複数の端末から送られてくる情報をセンタで統括監視する監視サービス提供システムにおいて、ユーザからのリクエストによりユーザを探索し、監視中はユーザを追跡して、ユーザおよびユーザの周辺を連続して監視するようにすることである。
【0185】
このような第87の手段は、1台あるいは複数の端末から送られてくる情報をセンタで統括監視する監視サービス提供システムにおいて、ユーザからのリクエストによりユーザを探索し、監視中はユーザを追跡して、ユーザおよびユーザの周辺を連続して監視するようにしているので、ユーザの安全を保証する監視サービスシステムを容易に構築することが可能となる。ここで、追跡は、手動装置で行っても良いし、画像処理等で自動追尾を行なうようにしても良い。また、自律制御型ロボットのユーザがロボットの監視用に本サービスを利用することでもできる。画像は、監視中、録画されるようにして後で参照できるようにしておくと良い。また、監視カメラなどが設置されていない場所や設置数の少ない場所を人が移動するような場合には、人が携帯用の小型カメラ付けて本サービスを受けられるようにすることもできる。
【0186】
第88の手段は、前記第87の手段を適用して構成した監視サービス提供スシステムにおいて、そのシステムの処理装置に前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムあるいは前記第80〜第84の手段を選択的に適用して構成した撮像装置を適用することである。
【0187】
このような第88の手段は、前記第87の手段を適用して構成した監視サービス提供スシステムにおいて、そのシステムの処理装置に前記第1〜第60の手段を選択的に適用して構成した視覚情報処理装置あるいはそれを適用した視覚情報処理システムあるいは前記第80〜第84の手段を選択的に適用して構成した撮像装置を適用しているので、3次元CADデータに基づいてユーザの自動追跡が容易になる。また、周辺の状況を3次元CADデータで見ることができるようになるので、より一層、的確に現場状況を確認することができるようになる。
【0188】
【発明の実施の形態】
本発明の実施の形態を図面を参照して説明する。
【0189】
図1は、本発明の視覚情報処理装置における第1の手段および第2の手段の基本構成を示すブロック図である。
【0190】
画像情報処理装置100は、撮像装置10によって得た画像情報を直に/または記録媒体を介して間接的に入力してCADデータを生成し、生成したCADデータを記憶装置200に記憶させる。
【0191】
撮像装置10は、移動するTVカメラのような装置であり、CADデータ化するあらゆる物体をいろいろな角度から撮影して画像情報を生成する。
【0192】
画像情報処理装置100は、撮像装置10が撮影して生成した画像情報を直に/または間接的に入力して該画像情報に含まれるあらゆる物体の3次元CDAデータを生成して記憶装置200に記憶させる。また、この画像情報処理装置100は、必要に応じて、記憶装置200に記憶している既成CADデータを読み込み、新たに生成した新生CADデータと精度を比較し、新生CADデータの精度が既成CADデータよりも高いときには記憶装置200に記憶している既成CADデータを新生CADデータで更新する。撮像装置10は、環境を自由に動き回ることができるので、環境にある物体に近寄ることや離れることもできる。撮像装置10が対象物体に近くなれば精度良く物体を撮影することができるので、例えば、遠くでは1本の線に見えていた部分が近くに寄るとか、見る角度が変わることによって2本に見えることがあるので、画像情報処理装置100は、先に生成した既成CADデータをより詳細になるように、また、先に誤認識して生成した部分を修正するように更新するCADデータ更新機能を有する。
【0193】
これによって、撮像装置10をいろいろと動かして物体を詳細に撮影すればするほどより正確なCADデータを構築することができるようになる。また、いろいろな位置に動き回ることができる撮像装置10であるので、物体の裏面も下面も上面も撮影して画像情報を生成することができるので、精度良いアズビルトのCADデータを容易に生成することができるようになる。
【0194】
図2は、本発明の視覚情報処理装置における第3の手段および第4の手段の基本構成を示すブロック図である。
【0195】
画像情報処理装置100は、第1の撮像装置10と第2の撮像装置20によって撮影して得た2つの画像情報を直接または記録媒体を介在させて間接的に入力する。第1の撮像装置10と第2の撮像装置20は、ステレオ計測を行なうことができるように、所定の間隔をおいて固定する。この構成であれば、画像情報処理装置100は、2台の撮像装置10,20から入力する2つの画像情報を用いてステレオ計測で物体までの距離情報を計測しながらCADデータを生成することが可能となる。その他は、図1に示した視覚情報処理装置の構成と同じ構成である。
【0196】
次に、画像情報処理装置100の内部構成について説明する。画像情報処理装置100は、基本的には、演算処理装置と情報(演算)処理プログラムによって構成する。ここで、第1の手段および第2の手段は、図1に示すように単眼の撮像装置10を使用して構成する場合であり、第3の手段および第4の手段は、図2に示すように複眼(ステレオ)の撮像装置10,20を使用して構成する場合であるが、画像情報処理装置100の基本的な情報処理の流れは同じになるので、ここでは、まず、単眼の場合の基本的な処理の流れを説明した後に、図3〜図8を用いて、複眼(ステレオ)の場合の処理を説明する。単眼の場合の処理は、複眼(ステレオ)でないとできない処理を省いたような処理となる。
【0197】
単眼の場合の基本的な処理の流れでは、処理をスタートすると、撮像装置10によって得た画像情報を取り込み、微分処理やノイズ除去などの処理を行い、線分を抽出して、例えば、その線分の始点と終点をトラッキングなどで追跡することにより、複数の違った視点から撮影した複数枚の画像情報間で始点と終点のように対応する点の明確な画像情報が得られるので、写真計測法でそれらの点の3次元座標を計算する。そして、その3次元の始点と終点を結ぶ線分を3次元のCADデータとして定義し、同じように複数の線分について定義していくことにより、空間にある物体のいろいろな部分の線分のCADデータを生成する。ここで、更に、撮像装置10を移動させて対象物体に近寄せれば、撮像装置10は対象物体をより大きく撮像することができるので、分解能、すなわち、精度が良くなる。それで引き続きCADデータの生成処理を繰り返して、以前に1本に見えていた線が2本に見えるようになったならば(CADデータ更新対象判別機能およびCADデータ精度処理機能)、既成のCADデータにおける1本の線分を2本の線分に更新する(CADデータ更新処理機能)。
【0198】
このような機能により、撮像装置10を移動させて対象物体をより詳しく観察(撮影)すればするほど、より精度の良いCADデータに置き換えていくことができる。
【0199】
このようにすることで、トラッキングの途中で線分の一方の端点が見えなくなってしまって、所定の枚数の画像情報の中で対応点がとれない点が生じるとしても、それはそれでその点はまだ処理をしないで対応点のとれた十分な枚数が揃った点のみを処理して、それらの点で3次元のCADデータを生成していく処理を繰り返せば、撮像装置10は移動を継続しているので、CADデータの更新処理機能と組み合わせることにより、徐々に計測される点も増えてCADデータも増え、また、より詳しく更新されながらCADデータがより正確なものになっていく。
【0200】
ここで、1度、2本に見えた線を2本の線分のCADデータにした後に、再度、撮像装置10が物体から遠ざかって遠くから撮影するようになった場合には、再度、1本の線分に戻すような更新処理の仕方をしても良いが、1度、2本に見えるようになったものは、その後に1本になっても、2本が1本に見えているだけということで、CADデータを1本には更新しない処理方法とすることが、CADデータをより正確に作成するという目的の場合には適切である。この場合、例えば、3次元の座標を計算する場合のそのときのその計算結果の精度に関する情報を一緒に記憶しておくようにして、再度、同じ場所の同じあたりの点(先に計算されている点を中心に所定半径の球を考えてその中に入る点とかとして同じ場所か否かを判別しても良い。このとき、想定する半径は先に計算されている点の精度に応じて精度が良ければ小さく、精度が悪ければ大きく設定するようにしても良い。)が求められた場合には、今回求めた精度と前回求めた精度を比較して、精度の高い方を残すようにする処理方法にすると良い。
【0201】
CADデータの更新の概念は、別途、図面を参照して詳細に説明する。ここでは、更新する処理機能を設けることによって、従来、難しいとされていた対応点を確実に追跡する問題を完全に解決する手段を適用しなくとも、そのときそのときに生成できる点のみや生成できる線分のみを生成して、より、精度良く生成された場合には置き換えていく、すなわち、更新していくことにより、撮像装置10を必要な精度のCADデータが十分に得られるように十分に移動することにより、使用目的に十分に対応することができる精度のCADデータを得ることができるようになる。
【0202】
次に、図3〜図8を用いて、複眼(ステレオ)の場合の処理を説明する。複眼(ステレオ)の場合には、ステレオによる3次元の計測と、撮像装置10,20を移動させることによって、単眼の場合と同じように写真計測と組み合わせた場合の実施の形態を説明する。3次元(3D)座標を計測する手段、トラッキングの手段、何を特徴点としてトラッキングさせるかとか、CADデータは3次元データのみ生成するようにするとか、2次元の各画像情報ベースで2次元のCADデータも併用するなどCADデータの生成の仕方にもいろいろ考えられるので、処理速度とか、メモリ容量を小さくするとか、その目的にあった適切な手法を適用しても良い。このように本発明の適用の仕方はいろいろあるが、ここではあくまでも、一実施の形態として説明する。
【0203】
図3は、第3の手段,第4の手段を実現する画像情報処理装置100における処理の基本的な流れを示すフローチャートである。
【0204】
スタート100aは、電源ONで処理がスタートするようにしても良いし、スタート釦などでスタートさせるようにしても良いが、処理の開始の部分である。スタート100aから処理が始まると、処理の流れとしては、まず、撮像装置10,20によって得た画像情報の取り込み処理100bを行なう。取り込んだ画像情報は、記憶装置200へ生画像情報として記憶しても良いし、画像情報処理装置100内の画像専用メモリに記憶するようにしても良いが、次の処理に使えるようにしておくことが必要である。
【0205】
次に、取り込んだ画像情報の微分処理やノイズ除去などの処理(1)100cを行なう。
【0206】
ここで、この処理(1)100cの具体例を図4を参照して説明する。画像情報はステレオであるので2枚分ある。左の生画像情報(生画像)101aに対して微分処理などを行なうことによって、処理画像情報101cのような線画像情報(線画像)を生成する。この処理は、微分処理でなくても良く、輪郭を抽出する処理を行なえば同じ結果が得られる。右の生画像情報(生画像)101bも同様に処理することにより、処理画像情報101dのような線画像情報(線画像)に変換する。ここで、重要なことは、線分の始点,終点などをトラッキングで追従したりするので、照明の状態が少し変わったり、撮像装置10,20の視点が少し変わった程度で抽出される線分の長さとかが極端に変化しないような安定な処理結果が得られるように、微分処理を行なうパラメータとか、ノイズ除去のパラメータ、手法などを考慮することである。また、線分の端点が他の線分と接しているか否かもある閾値を用いて判定するような処理を行い、照明の条件などで線分が離れた状態で抽出されたような場合でもそれを付けるような補正をするようにすることが望ましい。但し、他の線分と接していると見做せない線分は、見做せる線分が抽出されるまで、そのままにする。何れも、撮像装置10,20の視点が多少変わっても同じように抽出されるようにするのが良い。
【0207】
次の処理(2)100dでは、線分にナンバリング処理をしたり、ステレオの場合には、左右の線分の対応付けを行なう。
【0208】
ここで、この処理(2)100dの詳細を図5を参照して説明する。抽出した線画像情報(線画像)の各線分に名前を付けて管理する。線理画像情報(線画像)102a,102bには、直方体の輪郭が各々抽出されている。この直方体を構成する各線分にL1からL9までの名前を付けて管理できるようにナンバリングを行なう。ナンバリングした各線分の線画像情報102a,102b上での座標で、その始点,終点,線種,曲線の場合には該曲線の関数などを2次元画像データベースとして内部メモリまたは記憶装置200へ記憶させて登録する。ここで、この2次元画像データベースの簡単なイメージを下記する。
【0209】
【表1】
Figure 2004201085
【0210】
これらのデータは、撮像装置10,20が移動して撮影シーンが変わったならば、シーン▲2▼,▲3▼…と増やしていく。
【0211】
左右の撮像装置10,20は、人の左右の目と同じ程度に近くに離れた状態に設置することにより、左右の画像情報は少しずれてはいるがほとんど似た画像情報となる(左右の相関性は非常に良い)ので、それを利用して左右の画像データの各々対応する線分や点の対応付けを行なう。対象物体が目前にあって左右の画像情報が極端に違う場合の処理は、部分的なマッチングと十分に同じと判断できる部分の点のみを対応付ける。対応がとれなかった点は、後に撮像装置10,20が移動した場合の時系列の画像情報で写真計測から求めれば良いので、ここで100%の対応とれないからと言って処理ができなくなるものではない。求めた対応付けの関係は、左右の2次元画面データベースにも登録しておく。例えば、上記の例のように線分名称を同じにすることでも良い。線分名称をメモリのレコードNo.として定義しても良いし、左右のデータを記憶装置200内の物理的に別々のメモリへ記憶させて登録するようにしても良い。始点,終点の座標は、ここでは、画像メモリ上の番地になるので整数で良い。線種が直線の場合には、フィッティング関数の係数はなしで良い。曲線が2次曲線であれば、Y=aX+bX+cという関数でフィッティングさせる場合には、係数はa,b,cの3つとなる。線種が円や楕円の場合には、その関数に必要な係数を必要な数だけ登録する。点は、短い線分として始点と終点が一致している線分として定義して良い。
【0212】
次の処理(3)100eでは、ステレオ処理ができる複眼の場合には、この時点で各線分を3次元のデータに変換して3次元形状モデルを生成する。
【0213】
ここで、処理(3)100eの詳細を図6を参照して説明する。既に処理(2)の段階において左右で対応の取れた線分データがL1〜L9として得られているので、複眼のステレオ計測にて、各線分の始点,終点の座標は、3次元空間での座標に計算して求めることができる。その3次元の座標を計算した結果に基づいて、この処理(3)では、3次元データベースを生成する。
【0214】
この3次元データベースの概念は、直方体の線分L1〜L9を3次元の線分データに変換することができ、また、各線分が繋がって閉ループを作れば、面S1,S2,S3を定義することができる形態である。また、何もない状態では、最初の平面(無限遠の無限平面と考えても良い。)S0を定義することができる。
【0215】
具体的には、左右の対応付けされた画像情報から3次元の線分L1〜L9の始点,終点,線種,線の関数を登録する。次に、3次元の線分で閉ループを形成している3次元の面S1〜S3の構成線分,面の種類,面の関数を登録する。背景は、取り敢えず、面S0として登録する(最初は、未だ背景面は定まらないので、データの中味はない状態である。)。
【0216】
この3次元データベースの簡単なイメージを下記する。
【0217】
【表2】
Figure 2004201085
【0218】
上記の面データは、単純な平面データのみであるので、面を構成する線分名称をデータとしてもつだけでも良い。
【0219】
次の処理(4)100fにおいて、必要であれば、見えない部分のデータを生成する。これは、総てのデータを円筒,球,円錐,直方体などの基本図形と見做してCADデータを生成する場合には有効である。但し、必ずしもそうする必要はない。
【0220】
この処理(4)100fの詳細を図7を参照して説明する。
【0221】
最初の撮影で得た画像情報に基づいて生成した3次元の平面群から基本図形の一部を構成していると推定することができる面群を探索する。見つからないときには、この処理をパスする。平面S1,S2,S3が基本図形の一部を構成していると推定したときには、その座標データに基づいて、基本図形に置き換えると、どの基本図形に一番近いかを判別する。そして、平面S1,S2,S3が直方体の一部であると判別すれば、見えてない面を推定平面SS4,SS5,SS6として生成する。このとき、見えていない部分の線分データも推定線分SL10,SL11,SL12として生成する。更に、構成面はS1,S2,S3,SS4,SS5,SS6である推定ソリッドデータSV1を定義する。そして、これらのデータを3次元データベースに登録する。
【0222】
このようにステレオ処理を併用すると、撮像装置10,20が動き出す前からCADデータを、一部に推定部分はあるものの、直ぐに、例えば、マニピュレータのハンドリングなどにおいて対象物体に向けてアームを移動させるための制御情報(物体検索情報)として利用できる状態にすることができる。
【0223】
ここで、推定データは、推定データであることが分かるように管理しておき、例えば、物体の裏側に回り込んで該裏側の部分を撮影した画像情報に基づき該裏側の部分のCADデータを生成したときには、推定CADデータは推定でないCADデータに置き換えるようにする。
【0224】
以上のように、図3に示したフローチャートにおける処理(1)100c,処理(2)100d,処理(3)100e,処理(4)100fで必要な部分の処理を行なうようにして2次元画面データベースと3次元データベースへの登録と、撮像装置10,20からの画像情報の取り込みとを繰り返しながら行なうことにより、撮像装置10,20が動き出せば、多くの2次元画像データ(シーン)が蓄積される。そして、処理100gにおいて2次元画面データの溜り具合を監視し、ある程度溜まった段階で処理(5)100hの写真計測で座標を求めるようにすれば良い。
【0225】
処理(5)100hの詳細を図8を参照して説明する。左右の撮像装置10,20の何れかの生画像情報と考えて良いが、生画像情報105aの物体も視点が変わると生画像情報105c,生画像情報105eのように見え方も変わる。
【0226】
ここで、右側は3次元データベースに登録されているデータに基づく線画像情報の概念で、線画像情報105b,105d,105fのように、撮像装置10(20)の視点の角度によっては見えないことから推定により生成している推定線分SL10,SL12の線分は、画像情報105dの段階では見えないので推定のレベルであるが、画像情報105fの段階では実際に撮影された画像情報では見えるようになることから該画像情報に基づいてこれらの線分を直に生成することができるようになるので、推定線分SL10は線分L10へ、推定線分SL12は線分L12に確定することができる。また、このように違う視点から撮影した画像情報に基づく2次元画像データが増えると写真計測を適用することができるので、各線分を定義している始点や終点のX,Y,Zの空間座標は、ステレオ計測で求めておいた座標値から写真計測で求める座標の方がより精度良く求められる部分は座標データを書き換えてCADデータの精度上げるように更新するようにする。このとき、3次元データベースの各座標値がステレオ計測で求められた場合にはそのときの測定精度をデータベースへ記憶させておき、新たにステレオ計測でも写真計測でも同じ点を再計算した場合には、その手法でそのときの条件で計算される3次元座標値の精度を求め、前の座標値を計算したときの精度よりも良い場合には座標値とその精度データを更新するようにする。因みに、3次元の座標計算の精度は、離れた物体については、ステレオ計測よりも写真計測の方が良い場合がある。これによって、精度が向上する場合にはCADデータを自動的に更新することができるようになる。
【0227】
なお、図3における処理(1)100c〜処理(4)100fを繰り返す場合の処理内容を以下に補足説明する。
▲1▼ 最初は停止している撮像装置10,20もそのうちに移動する。撮像装置10,20の位置と姿勢の変化もこの中で計算して良い。
▲2▼ 2次元画面データが逐次追加されるので、途中の変化の少ないデータは削除してデータ量が爆発(メモリが不足)しないようにする。
▲3▼ 同じ画面内に新たな線分や点が生じた場合には、2次元図面データベースへ新たに登録する。
▲4▼ 同じ画面内の同じ線分や点は、移動しても同じ線分や点として追跡管理する。動画のトラッキングとしての対応付けをこの2次元画面データベースにて管理する。
▲5▼ 同時に左右の画像の対応点にも誤りがないかどうかを、逐次、チェックして、誤りが発見された場合には、それに関わる部分の再計算を直ぐに行い、2次元画面データベースおよび3次元データベースを修正する。
▲6▼ 新たに新しい線分や点が生じた場合には、処理(3)100e,処理(4)100fにて3次元データベースに新たなモデルを追加生成する。
▲7▼ 2次元画面データが蓄積されてきたならば、処理(5)100hも実施して、3次元データベースに新たなモデルを追加生成する。
【0228】
このように撮影シーンを画像処理して3次元座標を計算するときに、撮像装置10,20のレンズは、実用的には、広角レンズを使用して広範囲を撮影することにより、トラッキング追従している特徴点を見失う機会を少なくすると共に、短時間で広範囲の環境のCADデータを生成したり、検索できるようにすることが望ましいが、広角レンズを使用すると撮影して得た画像情報の周縁部分に歪みが発生して正確な3D計算を行なうことができなくなることがある。従って、広角レンズを使用するときには、歪みの少ない広角レンズを使用するようにする配慮や、レンズの歪みを画像処理で補正しながら3D計算を行なうようにする配慮が必要になる。
【0229】
画像情報の歪みは、レンズの屈折により発生するものであり、レンズの屈折率の関係から、画像情報の歪み特性は、レンズの特性として既知となるので、レンズの歪み特性に応じた補正を画像処理の前処理の段階で行なうことにより、補正後の歪みのない画像情報に基づいた3D計算が可能となる。このような処理を高速に行なうためには、LSI回路のようなハードウェアによって行なうようにすると良い。また、ズームレンズを使用するときには、ズームの状態によってレンズの特性(補正パラメータ)が変わるので、ズーム状態を取り込んで補正処理を行なう補正回路とすることが望ましい。
【0230】
図9は、CADデータとして生成される浮遊線分の活用の概念を示している。図9において、例えば、線分L11,L12,L13は、直方体の各面に付いている線であり、それらの線分データの座標データは、直方体の平面の一部に含まれる座標であり、直方体の形状を示している。また、実際に線が描かれている場合には、模様データとしてその物体の特徴を示す線分データとしても活用することが可能である。
【0231】
従って、輪郭線を抽出したときに生じる平面を構成しない浮遊線分は、2次元画面データベースおよび3次元データベースに登録して管理する。各線分は、何れの面に付いているかも登録して管理する。これらの浮遊線分は、面データを作成するときに、面の中の線分の座標を参照することにより該面の形状を表現することができ、また、模様や傷などを参照データとして探索する場合には、マッチングするために必要なデータとなる。また、面データも何処かの面に付いている場合には、その関係を登録して管理する。
【0232】
図10は、円筒や球体へ適用した場合の概念を示している。円筒には線分L7、球体には線分L8が付いている。これらは実際の線分データとして、円筒や球体の表面形状の一部を示しているデータとなる。
【0233】
図10において、線分L1,L4,L5,L7は、曲線としてデータベースに登録する。面S2,S3は、実際には曲面であるが、この段階では不明である(平面かも知れない)。面S2,S3は、視点が変わると線分L2,L3,L5の位置が変わることから、線分L2,L3,L5は、曲面の境界線であることが分かり、基本図形の特徴から円柱および球体と推定定義するか、浮遊線分L7,L8の座標から曲面関数として推定定義する。
【0234】
図11は、特殊曲面のCADデータとしての定義の一例を示している。例えば、木900の茂っている葉などは、遠くから撮影した画像情報では一枚毎の形状が見えない。その場合は、例えば、輪郭線L1が作っている特殊面S1に線分L2,L3,L4,L5,L6が付いていると見做す。各線分は、3次元の座標値をもっているので、その線分が表面に付いている特殊曲面S1の形状は、それ線分データの付いている部分に表面があると考えることが可能となる。このような特殊面の定義の概念を用いれば、皺のある布や着物の複雑な曲面とか、砂山などの表面を定義することが可能となる。
【0235】
具体的には、葉の茂った木900では、輪郭線L1,L7は、はっきりと抽出することができるが、頂点などがないので形状を定義し難いことから、輪郭線L1,L7が形成している曲面S1,S2を定義して、この曲面S1,S2上に浮遊線分L2,L3,L4,L5,L6,L8,L9,L10,L11などが存在するとして該曲面上に定義する。風で葉が揺れたり、光の具合で浮遊線分の位置や形状が変わったり、消えたりするが、その瞬間のデータを正と見做せばそれで良い。このような大雑把な表現で良いと考える理由は、遠くの物体のデータは、精度を必要とする制御に直接利用することはない、ことにある。マニピュレータで葉を掴むようなハンドリング制御では、手先が葉に近づけば、撮像装置10,20も同様に葉に近づいて葉の一枚一枚の詳細な画像情報が得られることから、CADデータも相応して詳細になって必要な精度が得られるようになるからである。
【0236】
ソリッドデータとしても、同様に、浮遊線分L2,L3,L4,L5,L6,L8,L9,L10,L11などが存在する曲面からなる物体として定義することができる。このソリッドデータは、この程度の大きさのこのような形状の木として調べるときに利用することができる。曲面は、可能であれば、浮遊線分の座標データよりそれらの点を含む曲面の関数で表現した方が処理を機械化し易い場合もある。
【0237】
このような特殊曲面は、布,着物,かばん,タオルなどのように皺のある複雑な曲面の物体、人の指,腕,服など、砂山,遠くの山,カーテンなどの背景のような物体においても同様な表現となる。
【0238】
図12は、本発明の第1の手段,第2の手段,第3の手段においてCADデータを更新する場合の実施の形態を示したものである。
【0239】
(A)は、物体を該物体から遠く離れて位置する撮像装置10,20によって撮影したときの生画像情報であり、近くへ寄って撮影すると(B)のようになる。この物体は、例えば、机のようなものである。
【0240】
この物体を遠くから撮影して得た生画像情報(A)に基づいてCADデータを生成すると、(a)に示すように、線分L1〜L9からなる直方体が生成される。そこで、撮像装置10,20を物体の近くに寄せて撮影して得た生画像情報(B)に基づいてCADデータを生成すると、(b)に示すようなデータを生成することになる。この場合には、新たな線分L10,L11,L12,L13,L14が生成して追加されると共に線分L1〜L9の始点と終点の座標データも近くで計測しているのでより精度の良い座標データに更新される。
【0241】
具体的には、物体を遠くから撮影して得た生画像情報に基づいて生成される1本の輪郭線は、近づいて撮影して得た生画像情報によれば、分解能が向上することから、2本の輪郭線となることがあり、より正確な形状データとなる場合がある。
【0242】
ここでは、2次元画面データベースの更新で説明するが、同様に、関連する総ての3次元データベースも更新するものとする。
【0243】
物体から遠く離れた位置で該物体を撮影して得た生画像情報に基づいて生成した線分L1,L2,L3,L5は、それぞれ1本であるが、近寄った位置で撮影して得た生画像情報に基づいて生成した線分は、それぞれが2本になる。線分L1,L2,L3,L5は、削除しないで、一番近い線分のより正確なデータとして、新しく求められる座標値に更新する。近い線分がないときには、削除して新たに生成し直す。新たな線分L10,L11,L12,L13,L14は、新たにナンバリングして追加登録する。
【0244】
このように、CADデータの生成のみでなく更新も自動的に行なうようにすれば、移動可能な撮像装置10,20により撮影して得られる生画像情報に基づくCADデータの生成は、撮像装置10,20が移動すれば移動するほど精度が良くなる。また、最初の段階でもそれなりの精度でCADデータを生成することができるので、ロボットの制御などに早い段階からこのCADデータを利用することができるようになる。
【0245】
図13は、第5の手段の実施の形態を示す概念図である。ここでは、撮像装置10,20が対象物である円柱状の物体(円柱)901の周りを回るように移動しながら撮影して得た画像情報に基づいてCADデータを生成することを考える。また、円柱901は、表面に「A」という文字101Aが描かれている物体とする。
【0246】
このような状態では、撮像装置10,20は、円柱901の側面のラインおよび上面あるいは下面の円板の淵が楕円に見える。しかし、それらの線は総てが輪郭線であり、そこに実際の線が存在するわけではない。そこで、3次元CADデータを生成していくときには、円柱901の淵の画像情報を密に取り込みながら周囲を回って沢山の輪郭線を検出してデータを生成していくと、3次元データベース200Gには、円柱902のようなワイヤーフレームのCADデータが生成される。
【0247】
また、円柱901の表面に描かれた文字「A」を構成する線分は、そこに実際に存在する線分である実際の線である。それは、例えば、CADデータの中では文字「A」902Aを構成する線分データとして生成される。このような輪郭線と実際の線は、CADデータを利用するときに使い分けると、CADデータを効率良く使うことができる。例えば、輪郭線の線分データは実際には存在しない線であるので、文字「A」の線分データを探すような場合には邪魔になる。また、円柱という形状データを参照したい場合には、多くの輪郭線も用いることでより詳細な形状に関するデータが得られるので、データを生成する上でこれは実際の線であるということが確定した段階で実際の線と定義するようにしてCADデータを生成する。この事例の場合には、撮像装置10,20が移動すると、円柱901の側面の輪郭線は、撮像装置10,20が移動しても見える場所が変わらないのに対して、文字「A」は、撮像装置10,20が移動すると見える場所が変わる。3次元のデータに変換した後に撮像装置10,20の移動前後における線分の位置を比較すると、移動前の輪郭線の線分は、移動後の位置には線分として見えない。しかしながら、実際の線である文字Aは、撮像装置10,20が移動しても同じ場所に存在する特徴から、「A」という文字を構成する線分は実際の線分であることを識別することができる。また、円柱901のような側面の輪郭線の場合、複眼の撮像装置10,20で見ている輪郭の位置は若干ずれた場所になるが、ステレオ計測でその輪郭線を生成する場合にはそれは誤差として影響するので、輪郭線というものはそういう誤差も含んでいるものであるということを区別していれば、利用するときに注意することも容易である。
【0248】
以下に、3次元データベースの概念の一例を示す。以下のように線種の中で区別するようにする一つの方法を示す。線分L1は、実際の線であることを示し、線分L2は、輪郭線であることを示している。
【0249】
【表3】
Figure 2004201085
【0250】
次に、第6の手段の実施の形態を説明する。直方体の基本図形をソリッドデータSV1として生成する方法を図7を参照して説明したが、撮像装置が移動し、CADデータを更新するようにしたシステムでは、撮像装置が遠くから物体を見たときには直方体であっても、近くに寄って見たときには、例えば、サイコロのように直方体の角に丸みがある場合には、それを直方体として定義しておくことが適切ではなくなってくる。また、大きな建物を遠くから見ると直方体に見えるが、近くに寄ればドアがあり、中に入ると最初に直方体と見えていた建物は壁のような平面で囲まれた物体になる。更に、壁に近くに寄って見ると、厚みのある複数の平面の偏平な直方体となるようになることから、このようなシステムの場合には、必ずしもソリッドモデルにまで落とし込む必要はない。そこで、必要最小限のデータ構成を考えると、点と線と面まで上げられるので、必要最小限の面データまでを生成して更新していくシステムとするのが処理速度の観点などから有利である。
【0251】
次に、第7の手段の実施の形態を説明する。既に説明したデータベースは、線データを関数表現する形態と面データも関数表現するような形態であるが、面データを関数で表現することは、処理の複雑さとデータメモリ節約効率から考えると、節約の効果が少ない。そこで、少なくとも線データまでを関数表現することでデータ量を大幅に低減することを提案する。例えば、通常の環境を対象にして処理を行なうと莫大な数の線分が抽出される。それらの線分の形を、例えば、総て直線で表現しようとすると、円や複雑に曲がった形状の線分は、線分上に沢山の点を定義し、それらの点の間を直線の線分で繋いで円や曲がった形状を表現するようにしなければならず、多くの点データも必要となるので、莫大なメモリ容量が必要となる。そこで、曲線を関数で定義して、フィッティングさせる適切な係数(上記データ例のa1、b1…)で表現するようにすることによって、データ量を大幅に縮小することが可能となる
第8の手段の実施の形態を説明する。この実施の形態は、生成および更新するCADデータにおける少なくとも面データに色情報をもたせるというものである。その概念を示すと以下のようになる。
【0252】
【表4】
Figure 2004201085
【0253】
勿論、赤,青…という表現ではなく、色コードで微妙な中間色まで区別できるようにしても良い。このように、CADデータに色情報があれば、赤いものを探すというような場合には赤い色情報をもつCADデータのみを探せば良いので、CADデータを取り扱うときの効率が良くなる。また、色情報で色の変わるところを境界線の線分データとして積極的に定義すれば、より多くの形状を示す線分データも得られるし、色の分布状態をより詳細に定義することも可能となる。
【0254】
図14は、色情報を用いて輪郭を抽出する概念を例示している。参照符号110aは、生の画像情報とする。各メッシュの小さな枠が1画素に相当する部分である。そこに画像情報として、いろいろな色の面と線分などがあるという状況を示している。
【0255】
この画像データ上で2次元の画像データベースを作成することを考えると、例えば、各画素についてその周りの画素の色を自分の画素と比較しながら画面全体を処理し、色が変化する画素の部分に境界線を定義するようにすると、参照符号110bに示すような結果が得られる。それを更にシンボリックに定義すると、面データ110c,110f,110iは、それぞれの閉ループの中の色が定義されて面データには色情報も定義される。その他、境界部分には輪郭線データ110eや線のみの場合には面110fの中に線データ110d、また、単独に線データ110hなども定義される。ここでの輪郭線110eは、色違いの境界線を示しているので、ペイントされた模様であれば、これは実際の線として定義して良い。ここでは画面の淵の部分には仮想点110jを定義して、面データ110iを定義することができるようにしている。これらの図の概念は、2次元の画像データベースの概念であり、2次元の画像データベースでも線分データ以外に面データを定義するやり方をとっても良いし、面データの定義は3次元データベースでのみ行なうようにしても良い。
【0256】
ここで、図14の処理の手順を補足説明する。
【0257】
隣り合う画素の色や輝度を比較して、大きく変化している場合には輪郭と判断する。同様に周囲を探索していくと、閉ループの輪郭ができる。それを輪郭の線データ(境界なら無色)と閉ループの面データとして登録する。領域(面積)のないものは線データとして登録する。
【0258】
次に、第9の手段の実施の形態を説明する。CADデータの例を以下に示す。
【0259】
【表5】
Figure 2004201085
【0260】
ここでは、最大の明るさを100として、背景面S0は50の明るさ、赤い面S1は20の明るさ、青い面S2の明るさは100と例示している。このように定義しておくことによって、例えば、面S2が青ランプで光る面である場合には、その明るさデータ100を見れば、その青ランプは点灯していると判断させるような使い方をすることができるようになる。ここで、CADデータを生成するときに、撮像装置10,20によって得た画像情報の当該面の輝度値を参照してその情報をCADデータに登録すれば、CADデータに明るさの情報を追加することが可能である。
【0261】
次に、第10の手段〜第12の手段の実施の形態を説明する。CADデータの例を以下に示す。
【0262】
【表6】
Figure 2004201085
【0263】
以上の例では、面データS1,S2は、時刻13:15に生成されたデータと時刻13:20に生成されたデータの2種類が存在する部分を示している。このように、そのデータを生成した時刻データを登録しておくようにすることで、例えば、面データS2は、明るさが100から20に変わったので青のランプが消えた、ということを容易に認識することができるようになる。前の時刻に生成されたCADデータと違いのあるものは残しておくようにすれば、同じCADデータを調べることで変化の状態や履歴も認識させることが可能となる。また、このようにしてデータを追加していくとメモリ容量が足りなくなるので、例えば、重複するデータは、生成した時刻から1時間とか10分とかの所定の時間を経過した後には自動的に消去するようにプラグラムすることで、メモリ容量が爆発することを防ぐことができる。それは、例えば、CADデータの時刻を常に確認するようにして、所定の時間が経過したものは消去するようにすれば、自動消去処理が可能である。
【0264】
図15および図16を参照して、第13の手段〜第18の手段の実施の形態を説明する。
【0265】
図15は、車903に人903aの虚像903b、太陽903cの虚像903dが写っていて、人903aの影903eが地面に写っている情景を撮像装置10,20で撮影して得た画像情報に基づいてCADデータを生成している例を示している。
【0266】
ここで、生成されるCADデータは、車903のボディの曲面を形成している面S1が定義され、その面S1に虚像903b,903dや車913のマーク903fなどが付いているというように管理するようにするのが良いが、マーク903fは面S1に実際に付いているマークであり、虚像903b,903dは実際には面S1には付いていないデータであるので、CADデータを利用する場合には、区別し易くなっていると便利である。
【0267】
そこで、処理としては、人903aが動けば虚像903bが動き、あるいは撮像装置10,20が移動すれば面S1上での虚像903bも動機、一方、実際に面S1に付いているマーク903fは、面S1の中での位置は変わることがないことから、面S1に付いているCADデータに着目して、それらの中でまとまって動くCADデータがある場合にはそれらを一まとまりのグループとして管理するようにする。すなわち、虚像903bを構成している線分や面のCADデータは、人903aが移動すると一緒に動くので、そのようなデータを検出してひとまとめに(グルーピング)して管理する。虚像903dも、同様に、太陽903cや車903や撮像装置10,20の何れかが動けば、面S1の中で移動するので、その座標データを参照してその位置の変化を検出できるようにすれば、同様に検出してグルーピングすることが可能である。また、太陽903cや人903aが移動すると地面の面S0に付いている影903eも動くので、その時点で影903eを構成する線分データや面データを抽出することができ、地面S0に実際に付いている他のCADデータとは区別することが可能となる。ここで、虚像903b,903dは、撮像装置10,20が移動すると動くが、影903eは動かないことから、写っている虚像と影を区別して管理するようにしても良い。また、例えば、車913の窓ガラスに付いているゴミは、窓ガラスの面に実際に付いているCADデータであるが、窓の奥に見えるCADデータは、一時的には付いているように見えるだけで、実際には奥のものが透けて見えているので、これも撮像装置10,20が移動すると動くことから、一時的には虚像として区別しておいて良い。
【0268】
次に、虚像でも写って見える物体の虚像と透けて見える物体の虚像を区別して管理する場合の実施の形態を説明する。
【0269】
図16は、写って見える虚像と透けて見える虚像を区別して管理する場合の実施の形態を説明する図である。図16に示す情景は、家の中の部屋の例であり、奥には窓910aがあり、絵910bと鏡910cが置いてある。この部屋の情景を撮像装置(図示省略)を移動させながら撮影して得た画像情報に基づいてCADデータを生成することを考える。
【0270】
CADデータの生成においては、線分がCADデータになって、閉ループを構成する部分が面データとして生成されるとすると、この情景では、鏡910cの内枠が構成する面S1、窓910aの内枠が構成する面S2、絵910bの額の内枠が構成する面S3などのCADデータが生成される。そして、床に置いてある円柱V1のCADデータも生成されるが、鏡面S1に写っている円柱V2もCADデータとして生成される。
【0271】
鏡面S1に写った円柱V2は、鏡面S1の表面に付いているゴミなどとは別に動くことから、虚像として区別することができるが、円柱V2は写って見えるのか透けて見えるのかはそのままでは区別することができない。窓910aの面S2に付いているように見える箱V3の虚像も同様である。これを判別する処理としては、例えば、先ず、面を鏡面と仮定して、撮像装置と面の位置関係から、面が鏡面であるとすれば反射して写るべき位置に実体があるということになるので、この実体の有無を確認することにより判別することができる。この実施の形態では、面S1に付いている円柱V2の実体である円柱V1が所定の位置にあることから、面S1は鏡面であると判別することができる。同じく、窓の面S2に付いているように見える虚像は、鏡面と仮定した場合には実体がないことから、奥に透けて見える物体であると識別することができる。
【0272】
また、絵910bの面S3には三角形の図形S4が付いているが、これは面S3に付いている他の絵やゴミなどと一緒に動くので、虚像ではないと識別することができる。
【0273】
このように、面を鏡面か透けて見える面かを周囲の実体と照らし合わせながら判別して、鏡面と分かったならば面データに鏡面であるというデータを付けてデータベースに登録するとか、鏡面のグループとして登録して管理する。このようにすれば、一度、鏡面と識別しておけば、違う虚像が写った場合にその都度同じ判別処理を繰り返さないで済むようになるので、効率良く処理することができるようになる。鏡面に写って見える虚像の線分や面データは、そのまま環境データとして作成すると実体のデータとの間に矛盾が生じるので、区別して管理するか抹消すると良い。
【0274】
透過する面は、同様に、透過する面として区別して登録しておけば、次からの処理は、初めから透過する面として処理することが可能となる。
【0275】
ここで重要なことは、間違いなくそうだと確定した段階で確定フラグなどを付けるようにしておけば、重要なところに係わるものでも安全なシステムを構築することができる。
【0276】
また、同じ面であっても、ゴミなどのように実際に付いているものと鏡面として反射して写っているものと透けて見えているものと最大で3つグループが存在する場合がある。そのような場合も考慮して、面の識別データには、ハーフミラーの識別も設けるようにすれば、それらの管理も容易になる。
【0277】
なお、ゴミなどが付いているデータが一つもないという場合には、何もない開口部という場合もあるので、その可能性があるというような識別を設けるようにすると良い。また、実際には、反射の度合い、透過の度合いの異なる面が存在するので、例えば、実体と虚像の輝度の比などから反射率や透過率などを求めてその数値をその面データに追加するようにすると良い。また、人手によって後から正確な透過率や反射率を入力して設定できるようなシステムとしても良い。また、色によって透過率や反射率が異なる場合には、色別(波長別)にそれらの特性情報をもたせるようにしても良い。また、車のボディなどの塗装では、見る角度や光が当たる角度によって見える色が変わる表面も存在する。そのような場合には、例えば、この位置からこういう角度で見た場合には何色に見えた、というように面のCADデータの色情報にそのように見える条件を一緒に登録するようにしても良い。少なくとも、見る位置によって色が変わるような面であるというフラグだけでも登録するようにすれば、CADデータを利用して何色の車を探す、というような場合に、誤認識するのを防止することができるシステムを実現することができるようになる。
【0278】
図17は、このような鏡面判別処理のフローチャートを示し、図18は、この鏡面判別処理で判別することができる内容を示している。
【0279】
図19を参照して第19の手段〜第21の手段の実施の形態を説明する。
【0280】
画像情報(画像)111aのシーンは、撮像装置10,20によって撮影して得た画像情報の一例を示している。画像には、レンズに付いているゴミ911aと人911bが写っている。また、撮像装置10,20のCCDなどの撮像素子が放射線で損傷した場合にもレンズにゴミが付いた状態と同じような画像になる。このような画像情報に基づいてCADデータを生成しようとすると、ゴミの画像も処理することになるので、その数が多くなると無駄な処理が多くなる。
【0281】
このようなゴミは、撮像装置10,20が移動しても画像の中で移動しない。画像情報111aでは、撮像装置10,20を移動すればシーンの中の人は移動するが、ゴミは移動しない。
【0282】
そこで、このような特性を利用して、撮像装置10,20を移動しても動かない画像情報は、2次元の画像情報を取り込んだ段階で消去することにより、その後のCADデータ生成処理の対象としないで済むようにして,そのようなゴミが多い場合の処理を効率的に行なうことができるようにする。
【0283】
また、画像情報(画像)111bのシーンでは、撮像装置10,20の電気回路などで生じるノイズ画像911cが対象の人911bと一緒に写っている。このノイズ画像911cも数が多くなるとCADデータ生成処理において無駄な処理を行わせることになるので、画像情報を取り込んだ直後に除去してCADデータ生成処理の対象外にする。そのための処理は、例えば、この場合には、撮像装置10,20を移動しても止めても同じようなパターンで動くノイズ画像911cが多いので、その特徴を使って除去するようにすれば良い。横に長く、定期的にアトランダムに生じる画像を抽出し、または、撮像装置10,20を移動させないときに動いているように生じるノイズパターンを抽出して、そのようなパターンを常に除去するようにすることで実現することができる。
【0284】
また、画像情報111cは、雨の中に人がいるシーンの例であるが、この場合には、沢山の雨911dがノイズ的に写っている。これらは、前記ノイズと同じように、2次元の画像情報を取り込んだときに縦に長いノイズという特徴を利用して最初に取り除く方法でも良いし、雨911dのCADデータは容易に生成することができるので、生成させてから、その特徴、すなわち細くて縦に長いもののデータを消去するとか、別グループに管理するようにして、例えば、人911bのCADデータを利用するときに人だけのCADデータを容易に取り扱えるようにすることでも良い。
【0285】
このような処理は、例えば、撮像装置10,20を水中ROVに搭載して水の中で浮遊させて得た画像情報に基づいてCADデータを生成する場合に、ある程度の大きさで浮遊しているゴミなどのように、具体的には流れに沿って一緒に動いているものなどのCADデータをその特徴から抽出して取り除いて必要なCADデータのみを効率良く取り扱うことができるようするときに利用することができる。
【0286】
図20は、第22の手段〜第26の手段の実施の形態を示すブロック図である。円柱物体901aがある場所に撮像装置10aと画像情報処理装置120aと無線装置aが接続して設置されており、画像情報処理装置120aの中には生成したCADデータを記憶する記憶装置200aがある。同様に、長方体物体901bがある場所に撮像装置10bと画像情報処理装置120bと無線装置bが接続して設置されており、画像情報処理装置120bの中には生成したCADデータを記憶する記憶装置200bがある。また、別の場所には無線装置cに接続された別の画像情報処理装置120cがあり、その中には記憶装置200cがある。
【0287】
このような構成において、前述したいろいろな手段によって、各撮像装置10a,10bが撮影して得た画像情報に基づいてCADデータが生成される。具体的には、記憶装置200aの中には円柱902aのCADデータが生成され、記憶装置200bの中には長方体902bのCADデータが生成される。そして、無線装置121a〜121cを介して各々がCADデータを送受信し合えるようにすることで、1つの画像情報処理装置120a(120b)で生成したCADデータ902a(902b)を他の画像情報処理装置120b(120a)で利用して統合したCADデータを生成することが可能となる。CADデータの統合は、別な場所にある視覚情報処理装置120cで行なうようにすれば、画像情報処理装置120a,120bは、CADデータの統合処理を省略してCADデータの生成処理を専門に効率良く行なうことができるようになる。この統合処理は、画像情報処理装置120aが生成したCADデータ902aを画像情報処理装置120cへ送信し、画像情報処理装置120bが生成したCADデータ902bも画像情報処理装置120cへ送信して該画像情報処理装置120cでCADデータの統合処理を実行する。統合処理されたCADデータは、記憶装置200cの中に生成される。この場合、画像情報処理装置120a,120bで生成される座標系が同じになっているか、統合する前には合わせることができるようになっていることが必要である。例えば、最初に電源を入れたときに各画像情報処理装置120a,120bで現在の撮像装置10a,10bの位置と姿勢を共通の絶対的な座標系で入力するようにすれば、両方の画像情報処理装置120a,120bで生成するCADデータの座標系を一致したものとすることができる。また、両方の撮像装置10a,10bで同じ場所で対象物体をラップさせてCADデータを生成し、ラップして生成したCADデータが一致するように座標系を校正して合わせるようにしても良い。
【0288】
画像情報処理装置120aと画像情報処理装置120bが直接にCADデータの送受信を行なうようにすれば、直接的にCADデータの共有化が可能となるので、統合処理を行なう別の画像情報処理装置120cを不要にすることができる。このような場合には、画像情報処理装置120a,120bの中にCADデータを統合処理する機能も設けることが必要である。
【0289】
また、別の統合処理を実行する画像情報処理装置120cでの統合結果を各画像情報処理装置120a,120bへ戻すようにすることで、各画像情報処理装置120a,120bがお互いにお互いの生成したCADデータを利用し合えるようにすると、統合処理機能がない画像情報処理装置120a,120bでも統合処理した結果を利用することができるようになる。
【0290】
画像情報処理装置120a,120b,120c間のデータの送受は、有線ケーブルを介して行なうものでも良いが、無線装置121a〜121cを介するようにすることで、撮像装置10を移動させながら撮影して得た画像情報に基づいてCADデータを生成する場合の機動性が向上し、対象物体をいろいろな角度から容易に撮影することができるようになる。また、広範囲にわたってCADデータを生成および統合する場合にも、ケーブルの長さを気にしないで広範囲のCADデータの生成および合成を行なうことができるようになる。
【0291】
図21,図22,図23,図24は、第27の手段〜第29の手段の実施の形態を示すブロック図である。
【0292】
図21は、画像情報処理装置100に別のCPU等300を接続し、画像情報処理装置100の中でその都度計算されている撮像装置10,20、すなわちカメラの位置と姿勢情報を別のCPU300で取り出せるように構成した装置である。ここでは、例えば、カメラの位置と姿勢情報を定周期で画像情報処理装置100から出力させることにより、CPU300において、その周期でカメラの位置と姿勢情報を得ることができる。このように構成することによって、CPU300を使用して構成するアプリケーションシステムにおいて、カメラの位置と姿勢情報を利用することができるようになる。例えば、ロボットアームの制御のシステムであれば、ロボットアームの制御をCPU300が行なっているような場合には、カメラをロボットアームの先端に取り付けておくことによって、CPU300は、ロボットアームの先端の位置と姿勢情報を得ることができ、その結果を制御へ応用することができるようになる。
【0293】
図22は、アプリケーションシステムのCPU300がカメラの位置と姿勢情報を得るために該CPU300から画像情報処理装置100へ指令信号を入力するように構成し、その応答としてカメラの位置と姿勢情報を画像情報処理装置100から取得するように構成した装置である。従って、画像情報処理装置100は、CPU300が必要とするときにのみカメラの位置と姿勢情報を出力してCPU300に与えることができるようになる。
【0294】
図23は、アプリケーションシステムのCPU300から画像情報処理装置100へCADデータの探索指令信号も入力できるように構成し、その応答として、画像情報処理装置100が探索したCADデータの情報(形状でも良いし、位置と姿勢情報でも良い。)をCPU300が取得できるように構成した装置である。これによって、CPU300側では、制御したいものの位置や姿勢情報と制御するときに必要となる相手側の位置や姿勢情報の両方を容易に得ることができるようになるので、制御にその情報を利用することができるようになる。
【0295】
図24は、CPU300から探索指令信号だけではなく、カメラの位置と姿勢情報を出力させる指令信号の両方を出力して、画像情報処理装置100から検索結果やカメラの位置や姿勢情報を取得するように構成した装置である。このように構成した装置では、例えば、コップなどをアームで把持するように構成するときには、カメラをアームの先端に設け、アームで把持しようとするコップのCADデータを画像情報処理装置100に探索させて該コップの位置と姿勢情報をCADデータの探索結果で得ることができるように構成し、ロボットハンドの先端の位置と姿勢情報はカメラの位置と姿勢情報として得て制御に利用することができる。カメラの位置と姿勢情報は、CADデータを生成するときに計算される情報であることから改めて計算処理するための別の時間を要しないので短時間に得られるメリットがある。勿論、対象のコップの位置と姿勢をCADデータで探索して、更に、ロボットハンドもハンドの形状データより探索して該ハンドの位置と姿勢情報を得るように構成することもできる。
【0296】
図25は、第27の手段〜第29の手段をロボット制御専用の視覚情報処理装置として実施する場合の画像情報処理装置100の処理の実施の形態を示すフローチャートである。
【0297】
画像情報処理装置100の処理は、先ず、スタート123aから入り、アプリケーションシステムにおけるCPU300などからのコマンド入力処理123bを行なう。ここで、CADデータ探索というコマンドの場合には、どのようなCADデータかという情報も入力する。
【0298】
次に、画像情報処理に移り、先ず、画像情報の取込処理123cを行なう。
引き続き、3次元計測と3D−CADデータの生成処理とカメラの位置と姿勢計算処理123dを行なう。そして、CADデータの探索処理123eを行なう。
【0299】
そして、カメラと探索したCADデータの位置と姿勢情報をCPU300へ出力する処理123fを実行する。
【0300】
その後は、コマンド入力処理123bからの繰り返し処理となるようにする。この繰り返しサイクルが数10msecとかの高速で行なわれるようにすることで、ロボット等をリアルタイムで制御するCPU300は、ロボットの制御に利用する情報を容易に取得することができるようになる。
【0301】
具体的には、図25にも示しているように、ロボットハンド部に設けたカメラ123gと環境の中にある物体の1つで、例えば、円柱123hの位置と姿勢情報がリアルタイムに分かるようになることから、円柱123hを把持するためにロボットハンドを誘導する制御などを容易に実現することが可能となる。
【0302】
図26および図27を参照して、第30の手段,第33の手段,第34の手段および第39の手段の実施の形態を説明する。
【0303】
図26は、交通信号機やビルのある街の道路を車が走っている情景であり、その中のHITACHIビル904の看板を探索する場合の例を説明する。
【0304】
CADデータの探索の方法としては、基本図形をもとにその基本図形に近いものを探索する方法を採用する。この場合、看板のサイズが分かっていれば、基本図形としては、所定の寸法の長方体を参照CADデータ904aとして用意し、生成されたCADデータの中からそれに近いものを探すようにする。そうすることによって、HITACHIビル904の看板を容易に探索することができる。
【0305】
また、図27に示す例は、基本図形だけでは限られた形状しか探索できないことから、予め、生成されたCADデータの中から一部分を取り出しておき、それを探索用の参照CADデータ904bとして入力するものである。この場合は、生成されたCADデータそのものであるので精度よくマッチングする部分が必ずあることから、より確実且つ正確に探索することができるようになる。また、基本図形にないどんな形状のCADデータのかたまりの一部分でも探索することができるようになる。
【0306】
ここで、探索データを予め読み出しておく方法としては、第33の手段の一例であるが、例えば、任意のサイズに変更可能な直方体を生成されたCADデータの中に表示して、その直方体のエリアの中をCADデータを探索用のCADデータとして読み出す方法がある。この方法によれば、必要な部分を簡単に取り出せるようになる。そのエリア904Aは、HITACHIビル904を包むような大きさで指定すれば、看板部を含む探索用CADデータを読み出すことが可能となる。このデータで探索すれば、看板の文字データも探索するときの特徴情報になるので、より確実に目的とする探索対象を探し出すことが可能となる。勿論、いろいろな場所を読み出しておけば、必要なときに、直ぐに、その場所を探索して確認できるようなシステムも構築することができるようになる。エリアは、直方体でなくても任意の大きさに設定できる球体でも良い。球体であれば姿勢まで指定しないで済むので、操作が容易になる。
【0307】
また、第34の手段は、最初に基本図形で看板を探索した後にその看板を含む大き目のエリアを探索用CADデータとして読み出す方法である。この方法であれば、最初は基本図形だけで探索することができ、次には、看板の文字も含めたその看板の部分を探索用に利用することができるようにすることができる。勿論、基本図形でない場合も、似たような場所を探して、似たような場所の周辺を探索用CADデータとして読み取るようにすれば、ずばりその場所を探索するのに適した探索用CADデータを得ることができる。
【0308】
このように第34の手段を用いれば、最初は基本図形程度しかなくても、徐々に似ているような場所を探して新たな探索用CADデータにすることができるので、容易に探索用CADデータ集を作ることも可能となる。
【0309】
第39の手段は、基本図形で探索する場合に、例えば、看板の直方体のサイズが不明の場合には、縦に長い直方体を示すような概略の縦横長さの比を指定するようにしてその比に近い直方体の物体を複数探索させる手法である。この手法は、形状が同じであれば、サイズは大きいものから小さいものまで探索したい、という場合に効果的である。バルブとか配管などのように、同じ形状でいろいろなサイズがあるものなどを探索するときには便利である。また、人のような形でも子供から大人まで探索するときのように、マッチング程度をある程度許容することで、同じ探索用データをサイズフリーで指示することで大小のある程度似たものを探索することができるようになる。探索用データも大きさの数だけもっている必要がないのでメモリの節約にもなる。
【0310】
図28を参照して、第31の手段および第32の手段の実施の形態を説明する。撮像装置10は、撮影対象の物体905と共に部屋905aの中に入り、物体905を上下左右のいろいろな角度から撮影して画像情報を生成してCADデータを生成させる。この場合の撮影対象の物体905は花である。
【0311】
一般の環境にある花は、いろいろなものの陰になったりするので、花の全体形状のCADデータを生成するのは難しいが、この手法を用いることで撮影対象の物体905の正確なCADデータ905cを容易に得ることができるようになる。また、専用の部屋905aとしてその中には他の物体が存在しないようにすれば、どのような角度から対象物体905を撮影しても他の物体が混入するようなことはない。部屋905aの内装は、床も壁も天井も真っ白とか、青とかにしておいても良いし、また、グリッドなどのメッシュを部屋の床,壁,天井に引いておき、CADデータ生成時にそのグリッドを利用するようにしても良い。
【0312】
図29,図30,図31および図32を参照して、第35の手段〜第38の手段の実施の形態を説明する。この図29〜図32は、図25を参照して説明した基本処理における参照CADデータの探索処理123eの一例を説明するためのものである。
【0313】
図29は、探索例の条件を整理したものである。現在の撮像装置(カメラ)の画像情報(映像)には4つの直方体が写っており、そのうちの3つの直方体は3段重ねになっている。そして、CADデータはある程度行なわれており、同じような環境のCADデータは既に生成されているものとする。具体的には、各直方体に相当するソリッドデータSV1,SV2,SV3,V4が生成されており、平面S0にソリッドSV1,V4が付いているデータが生成されているとする。この状態で、探索したい参照CADデータは、2段重ねの長方体の積み木である。
【0314】
図30を参照して探索処理123eにおける処理(1)の例を説明する。この処理は、探索用CADデータ(参照CADデータ)の特徴量を計算する処理である。特徴量とは、CADデータによってはいろいろ考えられるが、ここでは、体積、細長比、頂点,線分,面の構成員数、凸凹の数、基本形状の数(直方体2個とか)、線分,面の特徴(曲面の場合の関数)、色情報などである。これらの計算処理は、新しい探索用CADデータが入力されたときに1回だけ行なう。
【0315】
図31を参照して探索処理123eにおける処理(2)の例を説明する。具体的には、現在見えている視野の中に入っているCADデータの中から処理(1)で抽出した特徴量と同じ特徴量を有するCADデータを探索する処理である。
【0316】
この例では、4つの直方体のデータがあるので、各々4つの直方体(候補1〜候補4)と、積み重なっている直方体では2つづつの組み合せが2種類(候補5と候補6)と、更に3段重ねの組み合せ(候補7)の合計7つの候補となることから、この7つの候補の特徴量と探索したい参照CADデータの特徴量を比較すれば、候補5が最も一致するということになる。基本図形で探索できるような単純な環境であれば、基本形状が最も近似する候補のCADデータが探索結果であるので、その結果として、この候補のCADデータの中心の位置と姿勢情報を出力するようにすれば良い。これは、図25の基本的な探索処理123eにおいて1回で全部実施するようにしても良いし、何回かに分けて実施するようにしても良い。すなわち、CADデータの生成サイクルの10回に1回の程度で探索結果を出力するようにしても良いし、1回毎に出力するようにしても良い。
【0317】
図32は、環境が基本図形のみでない場合などに特に有効な処理方法であり、探索処理123eにおける処理(2)で最も近似する候補を1つ、場合によっては複数選択した後に参照CADデータと候補CADデータのパターンマッチングを行って、更に適切な候補を探索する処理(3)である。
【0318】
この例は、3Dポテンシャルマッチング法であり、最も近似する候補の最も確からしい位置,姿勢に参照CADデータをおいて最終マッチングを行なう。そして、マッチング度が所定値以上であれば、探索対象の物体であるとして特定し、未満の場合には、否として探索を継続する。
【0319】
マッチング処理では、既に2次元処理で方法が確立しているパターンポテンシャルマッチング法を3次元に拡張したり、固有値空間マッチング法などを用いることによって探索速度を高速化することが可能となる。ここで、ポテンシャルマッチング法は、特開平02−137072号公報などに記載されている2次元ポテンシャルマッチングの処理を3次元の処理に拡張する使い方をする。固有値空間マッチング法は、文献で1997年5月電子情報通信学会論文誌D−II Vol.J80−D−II No.5 PP.1136−1143に記述されている手法などを応用する。何れの場合でも、最初に特徴量で候補を絞り込んで最終的な確定のために各種のマッチング法を用いる方法が良い。ここで用いるマッチング法は、上述のものに限定されるものではない。高速に高精度でマッチングできる手法と組み合わせて行なうようなマッチング手法でも良い。また、複数のマッチング手法を組み合わせて使用する方法でも良い。
【0320】
ここで、探索用CADデータは、3次元でも良いし、2次元でも良い。2次元のCADデータとは、模様や絵や看板の文字などである。すなわち、それらは、1つの面データの中にいろいろな面データと線分データが付いているようなCADデータで与えられる。面には色情報が付いていても良い。そのような探索用CADデータは、2次元で与えても探索する対象は3次元のCADデータの空間となるので、2次元のプレートの最もマッチングする部分を3次元空間の中から探索することになる。その場合、2次元のプレートは、向きや姿勢をいろいろな方向に変えてマッチングする場所を探索することになる。また、3次元の探索用CADデータの場合と同じように、スケールファクタは可変にして同じプレート、すなわち模様やマークで、大きいものから小さなものまで探索できるようにすると良い。
【0321】
ここで、マッチング探索について補足説明する。生成される環境のCADデータや入力される探索用CADデータは、そのデータ量を少なくするために、線データは、始点と終点と線種、線の関数パラメータなどで表現され、面データは、構成する線分の名称などで表現されるが、探索の時点では、マッチングを行なう部分に関しては、線分であれば線上の複数の点データに、面データであればその面を構成する複数の点データに変換して、点データ同士のマッチング処理、すなわち、相関をとる処理を行なうようにすれば良い。色情報をもっていた面データから置き換えられる点データには色情報ももたせて、色情報も考慮したマッチングとする。マッチング処理が終わったならば、置き換えた点データは消去可能である。その都度、点データに置き換えることで、通常もっていなければならないCADデータとしてのデータ量を少なくすることができる。
【0322】
また、点に置き換える場合の密度であるが、マッチング精度に応じて適切に変えるようにすると良い。基本的には、等ピッチ,等間隔で置き換えるが、複雑な形状、複雑な色模様の個所の密度を濃くし、単純な形状、単純な模様の色データの個所は粗くするようにすると良い。また、ソリッドのCADデータで管理、入出力するようにしている場合には、ソリッドデータもそのソリッド内空間に点データを一定密度で、あるいは、密と粗い部分を設けるなりして点データに置き換えて点データ同士のマッチングにすると良い。点データに置き換えることで、汎用的なマッチング処理を共通的に使用することができるようになる。なお、ここでは、点データに置き換える方法を説明したが、関数ベースでのマッチングができればそれでも良い。
【0323】
図33を参照して第40の手段および第41の手段の実施の形態を説明する。膨大で広範囲に生成したCADデータの中から参照CADデータを探索する場合には、探索速度を高速にするために、CADデータが生成される空間全体をブロック番地に区切り、区切番地を指定して探索範囲を絞り込むようにすると良い。
【0324】
図33は、空間を同じ大きさのブロックに分断して探索する概念を示している。その中に撮像装置10であるカメラが存在しており、カメラ10は視野10Vの範囲を撮影している状況を示している。
【0325】
探索する場合には、カメラ10で見えている範囲を検索させる方法と、見えてない範囲を検索させる方法がある。勿論、CADデータを生成している中で検索させる方法もあるし、生成されたCADデータを使ってオフラインで検索処理のみを実施する方法もある。何れの方法においても、全エリアを検索するのは大変な時間がかかるので、例えば、対象空間が日本全国であって、現在の対象エリアが東京であれば、東京のブロック番地のみを探索対象にする方法で絞り込むようにする。
【0326】
また、第41の手段は、カメラ10の向きの方向のブロックを探索するようにするものである。すなわち、カメラ10の視野10Vの中に入っているブロックを探索の対象とするものである。ここで、生成するCADデータは、生成時にブロック番地で区分けして管理するようにしていくことにより、ブロックを指定すれば対象CADデータも自動的に絞り込めるようにすることができる。ブロックを指定して処理を行なえば、探索を効率良く行なうことができる。
【0327】
図34は、第42の手段の実施の形態である視覚情報処理装置のブロック図である。この視覚情報処理装置は、画像情報処理装置100に、I/Fとして、別のCPU300からの探索指令信号を入力する2つの系統と、探索結果を出力する2つの系統を設けた構成である。勿論、3つ以上でも良いし、1台のCPU300ではなく複数台のCPU300と接続されるように構成しても良い。
【0328】
このように、画像情報処理装置100に複数のI/Fを設けることにより、画像情報処理装置100の処理速度を上げてもCPU300とのデータ受け渡し速度が遅くてシステムの処理能力向上が制限されるような事態となるのを回避することができる。CADデータは、沢山の点や線分データから構成されている場合もあるし、探索によって沢山の候補データが探索され、また、それらの位置と姿勢情報以外に色とか形状の情報も読み出す場合には多くの時間がかかる。従って、画像情報処理装置100に複数のI/Fの出入り口を設けることにより、多くのCADデータの探索処理を効率良く行なうことができるようになる。
【0329】
図35および図36を参照して、第43の手段〜第50の手段の実施の形態を説明する。
【0330】
図35は、生成されたCADデータの概念を示している。実際には細かな線分や面データの集合からなるCADデータであるが、ここでは、第31の手段および第32の手段を用いて、予め探索用CADデータがひとかたまりのものとして登録されているものとする。それらは、具体的には、机,花瓶,花,コップである。
【0331】
そこで、部屋の中のCADデータを生成したときに同じようなCADデータのかたまりが存在しているので、予め探索用にその物体のみで生成していたCADデータを使って探索させる。例えば、花のデータを使って探索させると花905を構成する線分や面データのかたまりが探索されるので、それをID=1と定義する。ID=1は、処理の中では花である。次に、花瓶906aを探索させるとその部分のデータが探索されるので、それをID=2と定義する。同様に、カップ906bのデータ部分はID=3と定義し、机907のデータを使って探索させると机と思われる線分と面データのかたまりが探索されるので、それをID=4と定義する。このIDを登録するときには、それを構成する線分や面のCADデータはグルーピングするようにする。IDを定義したCADデータには、そのIDの代表点の位置とかたまりとしての物体の姿勢情報を登録するようにしても良い。このようにマッチングした部分をかたまりとし定義して管理しておけば、次に探索するような場合には、IDを指定して探索するような使い方ができるようになり、便利である。
【0332】
予め用意しておいた探索用CADデータとマッチングしなかった部分908のかたまりがあるとすると、そのかたまりの部分が未認識の物体ということになる。そのような場合には、応用システムは、カメラを未確認物体908の周囲で上下左右に動かして該未認識物体908を撮影してCADデータを更に精度よく生成するようにすると良い。そして、その未確認物体908の部分にいままで取られていない新たなID番号を付けて管理するようにすれば、未確認物体があってもそれを良く観察して詳しいCADデータを生成して新たな物体として認識させることができるようになる。ここで、IDが付けられるということは、システムがその物体をIDの番号で認識しているということである。
【0333】
IDには、種類と個々の番号をもたせるようにすると良い。例えば、コップが2つある場合にはID=(3の1)が1つ目、ID=(3の2)が2つ目というように管理すると良い。種類と個別番号を付けて管理するということである。
【0334】
第45の手段では、そのIDに人間の言葉を対応付けるようにするものである。この場合のCADデータの概念を以下に示す。
【0335】
【表7】
Figure 2004201085
【0336】
このように、ID=1は、人間の言葉で「花」であることを対応させておくことにより、「花」を探索させることが可能となり、システムと人間とのI/Fを、操作(指示)し易いものに構築することができる。また、探索を行なうときに、例えば、「カップ(ID=3)とか花瓶(ID=2)は、机(ID=4)の上にある場合が多い。」という知識があれば、探索時には、先ずは机(ID=4)のCADデータの上に付いているCADデータを対象に探索するようにすることができる。このように範囲を特定して探索することで探索効率を上げることが可能となる。
【0337】
図36は、知識データを入力するための実施の形態を示しており、図35を参照して説明した探索において、未認識の物体908のCADデータのかたまりが生じた場合には、システムは、人間に「この物体はなんですか?」という問いを出力し、人間がそれはID=5と定義することを入力しているときのLCDの表示画面を例示している。
【0338】
このときに、知識データも一緒に入力するようにすると、入力漏れがなくなるシステムを構築することができる。また、知識データは、人間の言葉で入力するようにすれば、入力し易くなる。例えば、ID=5=「小包」と入力した後に、知識1=「小包」は「机」の「上にある」と入力すれば、必要なデータベースが自動的に作られるようにする。先に、総てのIDの言葉が登録されていれば、知識データベースは、人間の言葉からID番号に置き換えてID番号を所定の場所に記憶させるようにすることができる。また、ここで、「上にある」という言葉も何か他の記号に置き換えて記憶させるようにしても良いが、「上にある」ということは、その次にくるIDの物体の上(空間的に高い位置)のCADデータを探索することである、ということが対応付いているように探索のプログラムが記述されていることが前提になる。
【0339】
第48の手段は、まとめて探索用CADデータを登録して各々IDも登録する場合を考慮して、知識データもオフラインで予め別ファイルで製作しておき、知識データを一括してシステムに読み込ませるようにする手段であり、効率よく知識データの登録が可能となる。
【0340】
なお、CADデータのデータベースの概念は、前述した実施の形態では、単純にデータをレコードNo.毎に羅列するように記述しているが、実際にシステムを実現する場合には、検索し易いデータベースにして、いろいろなデータにアクセスする時間を短くして、最終的には視覚情報処理装置あるいはそのシステムの処理速度を上げてリアルタイム性を向上するように工夫するのが良い。
【0341】
第50の手段の実施の形態を図35を参照して説明する。元々、図35の個々のCADデータのかたまりは、実際には、生成された線分データや面データが複雑にしかも不完全に集合したものである。また、そのデータの数も多いので、探索してマッチング度がある程度一致した場合には、その部分を基本図形あるいは基本図形の集合体で定義された基本図形で置き換えるのが第50の手段である。このようにして置き換え可能な総てのCADデータを基本図形に置き換えれば、データ量は大幅に削減することが可能となる。
【0342】
図37は、第51の手段の実施の形態である視覚情報処理システムの基本的な構成を示すブロック図である。画像情報処理装置100は、撮像装置10によって得た画像情報以外に該撮像装置10に取り付けた加速度センサ30とジャイロセンサ40などの撮像装置移動センサから出力する移動情報信号を入力するように構成している。また、この実施の形態では、撮像装置10はズームレンズ12が付いていて、ズームの度合いや必要であればフォーカスやアイリスなどのレンズ制御を画像情報処理装置100によって行い、レンズの状態をポジション信号として画像情報処理装置100へフィードバックするように構成している。ズームレンズ12は、オートフォーカス,オートアイリスにすれば、必要なレンズ制御信号は、ズーム比(画角)の調整のみで良い。ズームレンズ12を用いれば、物体を遠く離れた位置から撮影しても、視野は狭くなるが、分解能は上げられるので、離れた位置から精度良く計測したい場合に有効である。但し、その場合には、3D計測を行なうときには視野が分かっている必要があるので、ポジションフィードバック信号を取り込むようにすれば、視野が変わってもそれに合わせて3D計測の計算ができるようになる。勿論、ズーム比(画角)の変化は、カメラを物体の近くに寄せたり遠くへ離すことと等価であるので、レンズ系のポジションフィードバック信号は取り込まないようにして対応点のトラッキング探索でカメラの位置が変わったことを検出して3D計測の計算を行なうようにしても良い。
【0343】
また、画像情報の場合は、撮影するときの走査時間があるので、例えば、撮像装置10を早く動かした場合には、トラッキングで追跡している特徴点などが視野の中から直ぐに外に出てしまうのでトラッキング処理が間に合わないことになる。また、撮像装置10の移動が更に早くなると、画像が流れるようになるので、正常な画像処理ができなくなる。特に撮像装置10の向きを変える場合には、画像シーンは早く動いてしまう。高速度シャッタを使って画像が流れないようにしても良いが、第51の手段は、加速度センサ30やジャイロセンサ40の信号を用いて早く動いたときの移動量を検出し、この検出結果に基づいて撮像装置10の位置とか姿勢を推定するようにしている。それによって、画像処理では撮像装置10の位置と姿勢を見失っても、加速度センサ30やジャイロセンサ40からの信号に基づいてある程度の位置と姿勢を推定すれば、適度な移動速度に戻ったときには、どこからどちらを見ているかの対応が取れるようになることから、継続してCADデータを生成することができるようになる。
【0344】
ここで、撮像装置10が低速で移動している場合であっても撮影対象が特徴点が存在しない真っ白な壁などの場合には、画像シーンに画像処理を行なう特徴点がないことから正常な画像処理ができなくなる。このような場合にも加速度センサ30やジャイロセンサ40の信号から求めた移動情報を利用して、その後の処理の継続して行なうことができる。その後の処理を継続して行なう場合の処理としては以下のような手順で実現することが可能となる。
【0345】
具体的な処理の実施の形態を図38〜図41を参照して説明する。図38は、最初の撮像装置10のCADデータ生成開始点などを座標系992aとして生成されたCADデータ群991aによるCADデータの概念を示している。この中で画像情報の正常な連続処理ができなくなった(不確定になった)ときの撮像装置10の位置を該撮像装置10の座標系が座標系992bの位置と姿勢にあるときからとする。図39では、次に再度画像処理可能な状態になったときの撮像装置10の座標系が992cの位置と姿勢にあるときで、正常な画像処理ができなくなった座標系の位置992bから座標系992cまでの移動距離と回転角度の情報(Δx,Δy,Δz,Δα,Δβ,Δγ)は、前述した加速度センサ30やジャイロセンサ40の移動情報信号から求めた移動情報を利用して求めることができるので、再開するときの撮像装置10の位置は座標系992cであることを最初の座標系992aの座標系の中で認識させることが可能である。ただし、加速度センサ30やジャイロセンサ40の移動情報信号から求めた移動情報にも誤差があるので、画像処理としては、いきなり最初の座標系992aに移動距離と回転角度の情報(Δx,Δy,Δz,Δα,Δβ,Δγ)を換算して追加生成していくのではなく、再開した最初は再開した最初の座標系992cで周囲のCADデータを生成していくものとする。その結果、図39において座標系992cにおけるCADデータ991bが新たに生成される。CADデータの量がある程度生成されてきたならば、以前に座標系992aで生成したCADデータ991aと同じ部分を重ねるようにマッチング処理を行なう。そうすると、図41に示すように、同じ環境部位を生成したCADデータは同じように生成されているので精度良く一致するCADデータの部分991cが存在する。その部分を精度良く一致させるための座標992bから座標992cへの移動、回転量Δx*,Δy*,Δz*,Δα*,Δβ*,Δγ*がより正しい移動および回転量となる。マッチング処理を行なう場合に、初めに加速度センサ30やジャイロセンサ40の移動情報信号から求めた移動情報(Δx,Δy,Δz,Δα,Δβ,Δγ)が分かっていれば、その移動および回転量から上下左右へ少しずつずらした場合により相関性が良くなる方向へ探索することによって、最終的に一番マッチングするとき(相関性の良いとき)の移動および回転量がより正しい移動および回転量Δx*,Δy*,Δz*,Δα*,Δβ*,Δγ*として得ることができる。加速度センサ30やジャイロセンサ40の移動情報信号から求めた移動情報を利用できない場合には、同じように、新たに座標系992cでCADデータの生成を行い、ある程度CADデータが生成できた時点で最初に生成したCADデータのどこか一部分マッチングする部分がないかどうかを探索することになるが、この場合は、探索の最初のスタート位置は正常な画像処理ができなくたった位置から始めることになる。この場合、図40に示すように、新たに生成した座標系992cは正常に画像処理することができなくなった座標系の位置992bと同じ位置と仮定してマッチングの探索を始める。すなわち、図40のCADデータと図38のCADデータの同じ部分のマッチングを探索する必要がある。この場合も、最終的には、図41のように同じCADデータの部分991cが精度良く一致する座標系の移動と回転の補正量Δx*,Δy*,Δz*,Δα*,Δβ*,Δγ*が求まることにはなるが、図40からスタートするために上下左右にいろいろな移動量と回転量を試みて一番一致する部分の多い移動と回転量を求めることになるので、計算回数などが多くなり、マッチング探索するのに多くの時間を要することになる。それでも、正常な処理ができなくなってから再度できるようになるまで、すなわち座標992bと992cの移動距離や回転量がわずかであれば、加速度センサ30やジャイロセンサ40の移動情報信号から求めた移動情報がなくとも比較的短時間にマッチング処理を完了して継続した処理を続けることが可能となる。加速度センサ30やジャイロセンサ40があれば、継続処理を開始するときの初期の位置がより実際の位置に近いところからスタートして探索できるので、より早く撮像装置10の位置と姿勢を以前に生成したCADデータの中で正しく補正した上での継続処理に復帰することができるということになる。ここで、マッチングするCADデータの物量は、最初の座標系992aで生成されていたCADデータ以上になることはないが、ある程度以上の物量でマッチングしないと本当に正しい位置に復帰することができたかどうかという問題が生じるので、ある程度の物量、たとえば線分の数や面データの数などで所定の量を定めて、その物量以上の範囲のCADデータがマッチングしたときに所定の位置に復帰したと判断し、それまで座標系992cで新たに生成されたCADデータを座標系992aへ変換して以前に座標系992aで生成されていたCADデータと統合する。そして、以降の処理は、座標系992aを固定の基準座標系として処理するようにする。所定の物量がマッチングするまでは、座標系992cでCADデータの生成を行いながら、座標系992aで生成されていたCADデータとマッチングする部分を探索するようにしても良い。
【0346】
何時になってもマッチングする部分が探索できない場合は、前に生成していた座標系992aで生成していた空間を見失ったということで、復帰することができない状態となる。その場合、画像情報装置装置100からアプリケーション側CPU等300へ座標系992aでの撮像装置10の位置が正しく計算できなくなった「見失った状態」とか、新たに座標系992cで生成を始めて前の座標系992aで生成されているCADデータとのマッチング探索をしている「見失った座標系探索中状態」とか、マッチングして最初の座標系992aへ戻った「見失った状態から復帰した」などの状態を示す信号を出力するようにして、その状態に応じてアプリケーション側CPU300で適切な制御が行われるようにすると良い。また、「見失った座標系探索中状態」においては、そのときに固定座標系として新たに生成を始めた座標系の名前、この実施の形態の場合は座標系992cの座標系であること(例えば座標系992aをNo.1座標系とした場合、座標系992cはNo.2座標系のNo.2などで表現した座標系の名前)をアプリケーション側CPU300で分かるようにして、「見失った座標系探索状態」でも新たに生成していく座標系の中で物体の探索とか、現在位置の問い合わせなどをアプリケーション側CPU300が画像情報処理装置100に行なうことができてその回答情報に基づきアプリケーションの制御を行えるようにしても良い。この情報に基づき、アプリケーション側CPU300はよりマッチングできるように撮像装置10を移動制御しても良いし、長時間探索しても見つからずにこれ以上の探索は無駄と判断した場合は、アプリケーション側で次の作業行動に移るようにしても良い。これは、一度連続した画像処理による撮像装置10の位置の計算が途切れた場合に、途切れる前の位置を見失った場合にもアプリケーションシステムの制御を継続することができるようにするための手段として有効である。見失って新たに生成を始める座標系の数は、No.2の1つに限らず、No.3,No.4,…と複数となる場合もある。また、マッチングの結果、同じような環境が複数存在する場合には、元にもどったと判断しても、実際には違う場所に位置している場合もある。そのような場合には、アプリケーションCPU300側でその後の行動制御の中で矛盾が生じるので、その時点で復帰した場所が誤りであったと判断される場合もある。そのような場合でも、アプリケーション側で適切な次に行なうべき制御内容が考慮されていれば、ロボットなどの制御はアプリケーション側の制御次第で適切に復帰させることが可能である。
【0347】
また、この実施の形態では、撮像装置移動センサは、撮像装置10に直接取り付けた加速度センサ30やジャイロセンサ40であるが、撮像装置10がロボットアームの先端に取り付けてある場合には、ロボットアームの動作制御情報を代用しても良いし、移動ロボットや自動車の場合には、移動車輪の回転量から移動した距離を換算した移動情報信号で代用しても良いし、GPSを撮像装置に取り付けてGPSによる移動情報により同様な処理を行なうようにしても良い。
【0348】
図42を参照して第52の手段の実施の形態を説明する。図42に示す実施の形態は、移動作業車であり、走行機構500と駆動制御装置501を備えた移動台車502にアーム機構400,CPU300,画像情報処理装置100,記憶装置200,撮像装置10を搭載した構成である。撮像装置10は、アーム機構400の先端に取り付けている。
【0349】
CPU300は、駆動制御装置501に指示して走行機構500の駆動制御とアーム機構400の駆動制御を実行するように機能する。
【0350】
このような構成の移動作業車において、CPU300は、自分で走行機構500やアーム機構400を制御しているので、撮像装置10が移動しているか否かを判断することができ、撮像装置10の状態信号を画像情報処理装置100に入力することができるようにしておくことにより、画像情報処理装置100は、撮像装置10の状態(移動しているか、停止しているか)を認識することができる。また、画像情報処理装置100は、撮像装置10の動作状態が入力されれば、例えば、画像情報の全体が移動しているような場合に、撮像装置10が移動しているのか、対象物体が移動しているのかを、画像情報だけからでは判別できないような場合でも、容易に識別することができるようになる。
【0351】
図43を参照して第53の手段および第54の手段の実施の形態を説明する。
【0352】
図43に示した画像情報137のシーンは、中央部に2本の木137e,137f、右側に外灯137c、左上に太陽137aがある。太陽137aが撮影されると、実際には、ハレーションなどが生じて木137e,137fを正しく処理することができないような場合がある。第53の手段は、そのような場合を想定して、ハレーション部分、すなわち画像情報の輝度信号が飽和している状態の部分が広い場合には、その範囲または画面(画像情報)の全部について、CADデータの生成などの処理を行なわないようにするものである。それによって、不思議なCADデータが生成されるのを防止することが可能となる。また、範囲がある程度に限定されていれば、例えば、ハレーション影響部が太陽137aの周辺領域137bの範囲だけであれば、その範囲内のみを非処理にするものである。
【0353】
また、外灯137cのように、光ってハレーション的に写ってはいるが、その大きさが小さい場合には、その位置は、概略でも計算することができるので、第54の手段は、概略の範囲として、ハレーション部位もCADデータとして生成するようにするものである。この例では、概略の範囲137dが外灯137cの範囲であり、その位置の概略は、3D計測して求めることが可能となる。このようにすれば、例えば、遠くに見える車のライトなどは、ハレーションでライトを正確にCADデータとして生成することはできないが、ハレーションの部位が小さければ、その位置を求めることができ、そのライトの車の位置もCADデータとして生成することが可能となる。
【0354】
図44を参照して第55の手段〜第57の手段を説明する。ステレオ計測の場合には、2眼の間隔が既知であれば、その長さを基準としてCADデータを生成することができるが、単眼の場合には、絶対的な寸法情報がないので、その絶対寸法を定義する方法を第55の手段〜第57の手段によって提供する。
【0355】
CADデータが、例えばmmとか絶対的な寸法をもてば、アプリケーション側でもその都度換算する手間を省略することができるようになる。また、単眼処理の場合には、例えば、環境の中に寸法が既知の立方体などを入れておき、それにユニークなマークを付けておいてもかまわないが、それを基準に絶対寸法を決めるようにする。
【0356】
図44に例示した画像情報138のシーンでは、右下にある立方体138aが寸法既知の立方体である。これは、球体でも直方体でももっと複雑な形状のものでもそれが寸法既知のものであれば良い。また、画像情報138の左下に写っている物差し138bを撮像して、目盛りの所定の間隔(最低2点を特定してその間隔)の絶対寸法が分かれば、CADデータを絶対寸法に変換することが可能となる。物差し138bにある目盛りも画像処理で読み取るようにすることができる。
【0357】
図45を参照して第58の手段の実施の形態を説明する。この実施の形態は、本発明を実施する場合に適した視覚情報処理装置の基本的な製品形態の1つである。
【0358】
この実施の形態では、画像情報処理装置100は、前述したような画像情報処理機能を実現する手段(演算処理装置)をLSI化した視覚誘導チップとして構成し、撮像装置10,20は、2つのCCDカメラを使用し、記憶装置200は、スマートカード,メモリスティック,ICカード,ハードディスクなどのメモリを単独または組み合わせて使用し、別のCPU300は、ロボット制御装置などのアプリケーション側のCPUを使用し、拡張用として、加速度センサ30やジャイロセンサ40を用意する。
【0359】
画像情報処理装置100である視覚誘導チップには、画像情報や指令(コマンド)や探索用のCADデータやセンサ信号などを入力する入力I/Fと、指令に対する応答や撮像装置10,20や検索CADデータの位置や姿勢情報を出力する出力I/Fと、記憶装置200を接続するメモリ用I/Fなどを設ける。
【0360】
そして、この視覚誘導チップ(画像情報処理装置)100は、アプリケーション側のCPU300からの指令に従って、CCDカメラ(撮像装置)10,20から出力される生画像情報や加速度センサ30とジャイロセンサ40から出力されるセンサ信号を取り込んでCADデータを生成し、参照CADデータを探索する画像情報処理を実行し、探索結果をアプリケーション側のCPU300に報告し、生成したCADデータを記憶装置200に記憶させる処理を実行する。
【0361】
ここで、画像情報処理装置100の機能を実現する視覚誘導チップは、CADデータ生成と更新機能のハードチップ部とCADデータの探索機能のハードチップ部を分けるようにしても良い。その場合は、記憶装置200へのI/Fは、CADデータ生成と更新機能のハードチップ部とCADデータ探索機能のハードチップ部の両方に設け、同時に記憶装置200を読み書きしないように制御する。このような視覚誘導チップの構成とすれば、CADデータ生成と更新機能のみを必要とするアプリケーションには当該ハードチップ部だけを使用すれば良く、CADデータの探索機能が必要な場合に当該ハードチップ部を使用すれば良くなるので、合理的なアプリケーションシステムを経済的に構築することができるようになる。
【0362】
次に、図46〜図54を参照して、図45に示した実施の形態の視覚誘導チップ(画像情報処理装置)100が実行する具体的な画像情報処理(CADデータの生成と更新機能)を詳細に説明する。
【0363】
図46および図47は、視覚誘導チップ100が実行するメイン処理のフローチャートである。ここでは、アプリケーション側のCPU300からのコマンドとして、必要最小限の最も単純な4つのコマンドを用意した場合の例で説明する。そのコマンドは、コマンド=0が原点リセットでデータエリアをクリアするもの、コマンド=1がカメラ位置リクエスト、コマンド=2が探索指令、コマンド=3がデータ登録(ファイリング)の機能を有するものとする。
【0364】
システムの電源投入後のリセット信号で視覚誘導チップ100のメイン処理がスタートする。最初に処理(1)で撮像装置(カメラ)の現在の位置と姿勢データ(Xc,Yc,Zc,αc,βc,γc)をゼロリセットして、ワールド座標系を定義する。ワールド座標系は、ここでは、電源投入リセットスタート時のカメラ座標系をワールド座標系として定義する。そして、生成したCADデータを記憶させるメモリ200のデータ記憶エリアをゼロクリアする。
【0365】
次の処理(2)では、アプリケーション側のCPU300からのコマンド入力を読み取る。ここでは、各コマンドを0,1,2,3の4種を番号で区別するようにした。
【0366】
その次の処理(3)では、コマンド=0かどうかを判定し、Yesの場合には処理(4)のコマンド=0に相当する処理の原点リセットを行ない、処理(5)でアプリケーション側のCPU300へ原点リセット完了の応答を出力する処理を実行する。
【0367】
前記処理(3)でコマンド=0でない場合は、処理(6)へジャンプする。この処理(6)では、コマンド=1か否かを判別し、Yesの場合には、処理(7)において撮像装置10,20の現在位置と姿勢情報をアプリケーション側のCPU300へ出力する応答処理を実行する。
【0368】
処理(6)でコマンド=1でない場合は、処理(8)へジャンプする。処理(8)では、コマンド=3か否かを判別し、Yesの場合には、処理(9)において、現在までに生成したCADデータをファイル名を付けてメモリ200の生成CADデータ記憶エリアとは別の記憶エリアに登録する。そして、処理(10)でデータ登録完了をアプリケーション側のCPU300へ応答出力する処理を実行する。
【0369】
処理(8)でコマンド=3でない場合は、処理(11)へジャンプする。処理(11)は、撮像装置10,20からの生画像情報の取り込みである。撮像装置10と撮像装置20によって得た生画像情報(1),(2)を視覚誘導チップ100へ取り込む。撮像装置20が接続されていない場合には単眼の処理となり、接続されている場合にはステレオ処理も可能とする。
【0370】
次の処理(12)では、3D座標計算,CADデータの生成処理を行なう。この処理(12)の詳細は、別途、図48を参照して後述する。
【0371】
次の処理(13)では、コマンド=2か否かを判別し、Yesの場合には、処理(14)において3D−CADデータの探索処理を実行する。
【0372】
そして、処理(15)において、探索できたか否かを判別して、Yesの場合には、処理(16)で探索結果として、候補数、各候補物体の座標姿勢データ、候補と決めた時のマッチング度などをアプリケーション側のCPU300へ応答出力する処理を実行し、処理(2)へ戻る。
【0373】
また、処理(13)の判別でコマンド=2でない場合と処理(15)で探索できなかった場合には、そこから処理(2)へ戻る。
【0374】
このような処理を視覚誘導チップ100で実行できるようにすることにより、さまざまなアプリケーションの実現が容易になる。
【0375】
図48は、図47に示した視覚誘導チップ100のメイン処理における処理(12)である3D座標計算,CADデータ生成処理の詳細なフローチャートである。
【0376】
この処理では、処理(1)において、ステレオか単眼かの判別を行い、ステレオの場合には、処理(2)へ分岐する。
【0377】
処理(2)では、ステレオ視の左右の画像データで対応する特徴点を複数抽出する。
【0378】
処理(3)では、抽出した左右の画像データの対応する特徴点を3D座標へ変換する。
【0379】
そして、処理(4)において、3D−CADデータの生成処理を行なう。ステレオ視で3D座標を計算する手法は一般的であるので、ここでは詳細な説明を省略するが、3D座標が計算された後の処理(4)の詳細は、別途、図49〜図52を参照して後述する。その後、単眼の場合と合流して処理(5)を実行する。
【0380】
処理(5)は、処理(1)の判別で単眼の場合に分岐する処理である。ステレオの場合は、処理(2)〜(4)を実行した後にこの処理(5)に合流する。この処理(5)では、取り込み画像データの特徴点あるいは特徴物体を複数抽出する。
【0381】
次に処理(6)において、前回の取り込み画像データの特徴点と対応付けのできた特徴点は、前回のものと同じ名前を付け、新しい特徴点は新しい名前を付けて、今回の取り込み画像データを一時記憶する。処理(5),(6)は、特徴点のトラッキング処理の部分である。ステレオの場合には、少なくとも左右の何れか一方の画像情報について処理を行えば良い。
【0382】
次に、処理(7)では、このトラッキングしながら蓄えた画像データが複数枚そろったか否かを識別する。
【0383】
処理(7)でYesの場合は、処理(8)の写真計測での3D座標計算を実行する。具体的には、対応する複数の特徴点を3D座標へ変換する。このとき、各画像を撮影したカメラの位置や姿勢情報も計算されるので、その情報も一時記憶する。最新の取り込み画像のカメラ位置と姿勢情報は、変数Xc,Yc,Zc,αc,βc,γcにセットする。
【0384】
そして、処理(9)において、3D−CADデータ生成処理を実行しRETURNで戻る。処理(9)は、処理(4)と同じである。
【0385】
処理(7)の判別で複数枚の画像データがそろわない場合には、そのままRETURNで戻る。写真計測に必要な画像データ枚数は、最小2枚であるが、更に多くの枚数を用いて写真計測するようにすると良い。3D座標計算に当たっては、スタート後、最初の取り込み画像を撮影したカメラ座標系をワールド座標系として3D座標を計算する。
【0386】
図49〜図52は、図48に示した処理における処理(4)と処理(9)の3D−CADデータ生成処理の詳細なフローチャートである。ここでは、最も基本となる第1の手段における更新機能の詳細も説明する。
【0387】
この処理に入ったならば、処理(1)で3D座標に変換されたM(MAX)個の特徴点Q1〜QM(MAX)が、既に生成されているN個のCADデータの特徴点P1〜PNと既に生成されているL本のCADデータの線分L1〜LLに対して十分に離れた位置にある特徴点か否かを判別する。そして、十分に離れている特徴点がM個あった場合には、そのM個の特徴点を既に生成されているCADデータに追加する。すなわち、N個のCADデータにM個の点を追加する処理を行なう。ここで、十分に離れているか否かの判別は、Q点とP点の距離あるいはQ点とL線分との最短距離が、Q点が計算されたときの可能性のある最大誤差とP点あるいはL線分のQ点に近い点(LP点)の計算されたときの可能性のある最大誤差の和を比較して、それよりも離れている場合には、その近いP点あるいはLP点から十分に離れた新たな点であると判別するようにした。このように判別すれば、同じ特徴点を別の特徴点と誤って判別することはなくなる。ここでは、単純に可能性のある最大誤差を想定するとしたが、厳密には、発生する誤差は方向によって異なるので、方向と誤差の大きさも考慮して判別することにより、より正確な判別ができるのでそのようにすると良い。この処理(1)は、生成されたCADデータが既に生成されているCADデータの更新対象となるか否かの判別処理であり、更新対象でないM個の特徴点が新たに追加されたものである。残りのM(MAX)−M個の特徴点が更新対象の特徴点となり、次の処理(2)以降で更新処理を行なう。
【0388】
処理(2)では、既存点P点や線分から十分に離れていなく接近している特徴点を改めて次の処理のためにQ1〜QMに再定義する。ここでのM個は、前述のM(MAX)−M個とした。
【0389】
次の処理(3)では、処理(2)でQ1〜QMと再定義した特徴点に近い以前に生成されているKN個のP点とLP点をKP1〜KP(NK)に定義する。ここで、一つのP点に近いQ点は、複数ある場合もあることから、必ずしもM=KNとはならないので、別々の個数として定義している。このとき、互いに近いQ点とKP点の関係は、既にわかっているので、どの特徴点がどの特徴点に近いかを互いに関連付けておくと後の処理がより簡単になるので注記してある。
【0390】
図50に示した処理(4)〜処理(15)までの処理(A)は、点データの更新処理である。
【0391】
処理(4)ではi=1と設定して、処理(14)でi=KNとなるまで処理(15)でi=i+1としながら次の処理(5)以降の処理を繰り返す。すなわち、KN個の点KP1〜KP(KN)について同じ処理を行なうようにしている。
【0392】
処理(5)では、KPiに近い既存の点Q1〜QM点の中よりKM個の特徴点をKQ1〜KQ(KM)とし、処理(6)では、TEN=0,j=1として処理(12)でjがKMになるまで処理(13)でj=j+1としてKQ1〜KQ(KM)の総ての組み合せをチェックする。
【0393】
処理(7)では、KPiとKQjの計算されたときの精度を比較し、KQjの精度がUP(向上)している場合には、処理(10)あるいは処理(11)で更新処理を行なうようにし、精度がUPしていない場合には、処理(12)へジャンプする。
【0394】
精度がUPしている場合には、同じKPi点について、最初の処理の場合には、処理(10)でKPiの座標を単純にKQjの座標に更新する。同じKPiの特徴点に対して、2回目以降は、処理(11)にて分割更新の処理を行なうようにする。これは、以前にはKPiという1つの特徴点を2つ以上に分割することになるので、最初に存在するKPi点以外にP点を追加して定義する。そのため、N=N+1の処理もここで行なうようにした。
【0395】
処理(9)でKPiが線分上の点(LP点)であったか否かを判別ロジックに入れているのは、線分上の特徴点であれば処理(10)の座標値の更新はなく、処理(11)で新たな特徴点を追加して分割更新させることが必要となるためである。
【0396】
以上の処理を総てのKPi点について行なえば点データの更新処理が行なわれることとなる。
【0397】
図51に示した処理(16)〜処理(27)までの処理(B)は、線分データの更新と追加の処理である。
【0398】
最初の処理(16)では、線分データの更新を行なうに当たって対象範囲の総ての点データを拾い上げる処理を行なう。すなわち、3D座標へ変換するときに参照した画像データの視野中の総ての点データを抽出してKN個のKP1〜KP(KN)点として定義する。ここでは、前の処理で追加されたP点や座標の値が更新されたP点も含まれる。
【0399】
次に、処理(17)でi=1と設定し、処理(26)でi=KNとなるまで処理(27)でi=i+1としながら処理(18)以降の処理を繰り返す。すなわち、対象となる総ての点データ,KN個の点KP1〜KP(KN)について、同じ処理を行なうようにしている。
【0400】
処理(18)ではj=i+1として処理(24)でj=KNになるまで処理(25)でj=j+1としてKP(i+1)〜KP(KN)の総ての組み合せをチェックする。同じ組み合せは2回処理しないで済むように、jはi+1からKNまでとしている。
【0401】
処理(19)では、点KPiとKPjを結ぶ線分データが既に存在するか否かで次の処理を処理(20)と処理(22)に分ける。
【0402】
線分データが既にある場合には、処理(20)において点KPiかKPjの何れが更新あるいは追加されたものか否かを調べ、何れも更新も追加もされたものでない場合には、線分の更新処理は行わないで処理(24)へジャンプする。これは、線分の始点と終点の何れにも変化がなかったということから、途中の線分上も見直しするような変化はなかったと判断して処理を省略するものである。もちろん、始点と終点に変化がなくても途中の線分がより良く撮像されている場合もあるので、処理(20)を設けないで、総て処理(21)へ進むようにしても良い。
【0403】
処理(21)は、線分の更新を行なう処理であり、輪郭抽出などで線画になった画像データを参照しながら、KPi点とKPj点を結ぶ線分データの見直しを行なう処理である。3D座標で計算されたKPi点とKPj点は、それを計算するときに用いた2次元の画像データ上の点として、どこの点であるかは対応が付いているので、画像データ中のKPi点とKPj点を結ぶ線分を抽出してその線分データを3次元の線分のデータ、すなわち、KPi点とKPj点を結ぶ3次元の点列データ、あるいは、KPi点とKPj点を結ぶ3次元の直線あるいは曲線の関数などを求めて線分データの見直し、再定義を行なう。ここで、処理(20)でKPi点かKPj点の何れかが追加あるいは更新されたという場合には、始点,終点となる点の精度がUPしたということであるので、線分データも見直せば精度はアップすることを期待した処理としている。また、既に存在する線分データが直線であっても、精度条件が良くなった場合に見直すことで、直線へのフィッティングに無理がある場合には、その時点で直線の線分データから曲線の線分データに変更すると良い。
【0404】
一方、KPi点とKPj点を結ぶ線分データがない場合には、処理(22)へ進んで、線画などになった画像データを参照して、KPi点とKPj点を結ぶ線分が存在するか否かを判別して、結ぶ線分が存在しない場合には、処理(24)へジャンプする。
【0405】
結ぶ線分が存在する場合には、処理(23)で線分データの追加処理を行なう。すなわち、画像データ中のKPi点とKPj点を結ぶ線分を抽出し、その線分データを3次元の線分のデータ、すなわち、KPi点とKPj点を結ぶ3次元の点列データ、あるいは、KPi点とKPj点を結ぶ3次元の直線あるいは曲線の関数などを求めて線分データを新たに定義する。
【0406】
以上の処理をKP1〜KP(KN)点の総ての組み合せについて行なえば線分データの更新処理が行なわれることとなる。ここで、処理(21),処理(23)に引き続いて、面データの更新も直ぐに行なうようにしても良いが、この実施の形態では、次の処理でまとめて面データの更新を行なうようにしている。
【0407】
図52に示した処理(28)〜処理(40)までの処理(C)は、面データの更新と追加の処理である。
【0408】
最初の処理(28)では、面データの更新を行なうに当たって、前回の処理で更新された線分データの総てを拾い上げる処理を行なう。すなわち、前記処理(B)の処理の中で更新あるいは追加された線分データの総てをKN個の線分データとしてKL1〜KL(KN)と設定する。
【0409】
次に、処理(29)でi=1と設定して、処理(39)でi=KNとなるまで処理(40)でi=i+1しながら処理(30)以降の処理を繰り返す。
【0410】
処理(30)では、線分データKLiを成分とする面データを総て抽出してKM個の面データとしてKS1〜KS(KM)と設定する。ここで抽出対象となる面データは、総てである。総ての面データの中から、更新あるいは追加された線分データKLiを成分とする総ての面データを抽出する。具体的な抽出の方法としては、線分データKLiに繋がる線分データをCADデータ上で探索し、更に、その線分に繋がる線分というように線分データを探索して最初の線分データKLiに戻るルート、すなわち、線分データが作る閉ループを面として総て抽出する処理を実行する。
【0411】
処理(31)でj=1とし、処理(37)でj=KMになるまで処理(38)でj=+1にして処理(32)以降の処理を繰り返し、抽出された総ての面データKS1〜KS(MK)について同じ処理を繰り返す。
【0412】
処理(32)では、面データKSjに相当する面データが既にCADデータとして定義されているか否かを判断する。通常、同じ線分の繋がりで構成される、いわゆる面の裏と表に関しては同じ面の裏と表としてCADデータを管理しても良いが、ここでは、将来より詳細な形状に表は表で裏は裏で分割生成されていくことなどを考慮して、裏と表は別の閉ループ(別の面データ)として抽出するのが良い。処理(30)では新たに追加,更新した線分データにかかわる総ての面データ(閉ループの線分データの繋がり)を抽出するので、既に面データが定義されている面データも抽出されるし、今まで定義されていなかった新たな面データも抽出される。そこで、処理(32)では、抽出された面データKSjが既に面データとして定義されているものか、今まで定義されてなく今回初めて面データとして抽出されたもの、すなわち、新たに線分データが追加あるいは更新されたことにより、線分データの新しく定義される閉ループが生じたものか否を判別している。ここでの判別は、面KSjとその近くに存在する総ての以前に生成されている面データとを比較して、その面を構成する線分レベルでその線分の想定される最大誤差と当該面KSjを構成する線分の想定される最大誤差を考慮して、その誤差内で一致しているか否かで判別するようにする。その面を構成する線分の繋がり関係のみで単純に比較すると、1本の線分がその途中で分かれた2本の線分に更新されている場合には、面としては同じ面を示しているが、構成する線分はより詳細に分割定義されているために、同じ面とは判別できなくなってしまう場合がある。また、1つの面がその面を分割する新たな線分データが生成されたことにより分割される場合もあるので、面データKSjの全部あるいは一部が既存の面データの全部あるいは一部に一致する場合を含めて、既にある面と一致するか否かを判別するようにする。そのために、誤差内で重なる同じ面データがあるか否かにて判断するようにする。その判別の結果、既に面データがある場合には、処理(33)の更新の処理へ進み、当該の面データKSjに相当する面データが以前に作成されているCADデータの中になかった場合には、処理(35)で新たな面データ(線分の繋がり閉ループ)の追加、登録を行なう処理へ進む。
【0413】
処理(33)の面データの更新においては、既に点データや線分データは更新されているので、それらの更新内容を参照しながら面データを構成する線分データの見直しを行なうようにしても良いが、更新前の面データが構成する更新前の点データや線分データも参照できるようにしておくことでも良い。面の更新を行なう場合には、面データKSjに一致する既存の面データがあることが前提となるが、面データKSjと既存の面データとが誤差範囲内で全体が一致している場合には、各線分データをより精度よく生成された新しい線分データに置き換えて定義し直せば良い。また、面データKSjが既存の面データより小さく、既存の面データの一部と一致している場合には、一致している部分の面データを新たに定義し直すと共に残りの部分をもう1つの面データとして定義して分割する処理を行なう。また、面データKSjが既存の面データと一致する部分もあるが、既存の面データより大きな部分がある場合には、その面データKSjについては更新処理を行わないようにする。これは、抽出された面データの中には大きな閉ループを抽出するケースが含まれるために生じるが、その中に小さな閉ループの面も抽出されているために、小さい面データの場合に更新処理を行なえば当該部分の面データは更新されるので良いものとする。CADデータは、より精度よくなる場合に更新されるようにするので、小さな閉ループが大きく統合されるような処理を行なわないようにする。
【0414】
処理(33)で面データを構成する線分の更新を行なった後に面データの属性を更新するが、処理(34)にて面データの属性を更新するに十分な画像情報があるか否かを確認し、ない場合には処理(37)へジャンプする。更新可能な画像情報がある場合には処理(36)へジャンプする。
【0415】
処理(35)は、面データKSjと重なる以前に生成された面データはない場合であるので、面データKSjを新たな面データとしてCADデータに追加定義する。ここでの定義は、面データを構成する線分データの定義である。
【0416】
そして、その次に、処理(36)において、面データの属性を定義する。面データの属性は、画像データを参照する。元々、2次元の画像データより3D座標に変換して面データまで定義しているので、3D座標の点データと線分データにより構成される3Dの面データは、2次元の画像情報の中のどの点に対応しているかの対応が取れているため、その面と対応する部位の色、明るさなどの面データの属性を画像情報から読み取って面データの属性データとして登録する。処理(34)からジャンプしてきた場合には、面データの更新であるので、元々定義されていた面データの属性を見直し更新するものとする。元々処理(33)で更新されたことを前提に考えると、面の輪郭の線分データはより精度良く更新されていることから、今回の画像情報は、より正しい当該面の色、明るさを表していると考えて、処理(34)では、単純に当該面の画像情報の中の面積の大小や明るさで判断、すなわち輪郭は精度よく更新されたが、極端に斜めから見た場合とか、面は陰になって輪郭のみはっきりと見えているようなシーンであるか否かのみを判断するようにしても良いが、撮影時のカメラとその面を結ぶ線がその面の法線により近い場合、すなわち、その面をより正面から見ている条件の場合に更新するように、より厳密に判定させるようにしても良い。また、面の属性として透過率や反射率を定義するようにした場合には、その面の中に映り込んでいる奥の物体や反射して写っている物体の明るさをそれら物体との位置関係などの情報も用いて透過率や反射率に換算してから求めるため、必ずしも最初の処理で定義する必要はない。例えば、透過して見える物体があった場合に、その物体を直接見たときのその物体の面データの明るさと、その面を通して見たときの明るさと互いの距離関係などが総て求められたときに、その面の透過率を推定計算することができるようになるので、そのときに更新することができるようにしておくと良い。
【0417】
以上の処理をKS1〜KS(KM)の総てKLiの線分に係わる面データに対して行い、更に更新,追加のあった総ての線分データKL1〜KL(KN)に対して行なうようにする。
【0418】
図53は、図49〜図52を参照して説明した3D−CADデータ生成処理において特に点データ,線分データが更新されるときの概念を示している。
【0419】
ステップ(1)に示す図は、更新前のCADデータの概念であり、点P1と点P2を結ぶ線分L1というデータである。点P1,P2の周囲の点線の円は、それぞれの点が3D計測されたときに想定される最大誤差の円であり、3D上では球として誤差円があると見做す。線分L1には、各々の線分上の誤差円、3D上では最大誤差を半径とする球が定義されるが、それを線分L1上の総ての点で考えると、その球の包絡面と見做すことができる。それが線分L1の周囲にある点線の部分である。線分L1の途中の誤差半径の大きさは、ここでは、線分L1の端部のP1,P2の場所での誤差半径より推定して比例で求めた大きさとしている。
【0420】
ステップ(2)は、新たに求められた3D変換された点Q1〜Q4を更新前のCADデータの上に重ねて描いた概念を示している。点Q1〜Q4にもそれぞれの点が計算されたときの誤差を半径とする球を点線で描いている。点Q1とQ3は、その誤差半径を考慮すると、点P1の誤差半径の中に存在している可能性がある。すなわち、更新前にP1であった点がQ1である可能性もあり、Q3である可能性もある。同様に、点Q2は、点P2である可能性があり、点Q4は、線分L1上の点LP1である可能性があると見ることができる。
【0421】
ここで、この発明における更新処理を説明すると、ステップ(3)では、同じである可能性のある更新前の点データと新たに計算された点データの各々が計算されたときに想定される最大誤差の何れが大きいかを比較(ここでは、誤差を半径とする球の何れが小さいかを比較)して、小さい場合には、より精度よく計測されていると見做せるので、点データの更新を行なうようにする。ステップ(3)は、その更新の概念を示している。すなわち、点P1の誤差円と点Q1の誤差円を比べると、点Q1の誤差円の方が小さいので、点Q1の座標値を点P1の点データに入れ替える。同様に、点Q3の誤差円も点P1の誤差より小さいので置き換えるが、既に点P1の座標値は点Q1の座標値に更新されているので、ここでは、新たな点P3を定義して点Q3の座標を入れる。これは、更新前の点P1が更新後は点P1と点P3に分割されたことを意味する。同様に、点P2は、点Q2の方が誤差半径が小さいので、この点P2の座標が点Q2の座標に置き換えられることにより更新される。同様に、点LP1の誤差半径と点Q4の誤差半径も点Q4の方が小さいので、点Q4の座標を点LP1の座標とするが、LP1という点は、線分L1上の仮想の点であることから、CADデータとしては新たに点P4を定義してその座標に点Q4の座標値を入れて更新処理を行なうようにする。
【0422】
その結果、ステップ(4)に示すように、更新後のCADデータとして、点データは、P1,P2,P3,P4が更新されている。また、線分更新としても、ステップ(1)に示されている更新前のCADデータの点P1と点P2を結ぶL1という線分データは、点P2と点P4を結ぶ線分L2と点P4と点P1を結ぶ線分L3と点P4と点P3を結ぶ線分L1という線分データに更新されており、これらの処理は、図49〜図52に示した処理を実行することにより実現する。
【0423】
図54は、図49〜図52を参照して説明した3D−CADデータ生成処理の中の新規なデータの生成と更新の概念を一般的な図形の生成と更新の概念に当てはめて描いた図である。
【0424】
(1)は、点P1と点P2を結ぶ線分L1が初めは線分の長さが1mであったものが、次の計測により点P1と点P2の位置がより精度よく更新された結果、線分L1の長さも0.97mに更新される概念を示している。これは、精度UPによる更新の処理である。
【0425】
(2)は、線分L1が生成されている状態で更に線分K2が見えて追加生成された状況を示している。これは、初めは物の陰になっていて見えなかった線分L2が、撮像装置10,20が移動して線分L2が見えるようになり、新たに点P3,P4が生成され、線分L2も生成された状況を示している。これは、新たな線分の生成という概念に該当する。
【0426】
(3)は、容器の側面などの線分L1が見えていてCADデータにも線分L1が生成されているが、撮像装置10,20が物体を近くから撮像することによって新たな線分が見え、その線分が矩形S1を構成して最初の線分L1に付いている状況を示している。この場合、矩形S1の線分は、今まで見えてなかったものが見えるようになって新たに追加生成されたものであるので、生成の概念に該当するが、矩形S1の線分L1と接している部位は、データとしては、線分L1が線分L1と線分L2と線分L3に分断されるので、線分L1については、更新されるという概念になる。
【0427】
(4)では、初めは線分L1が生成されているが、近くで見ると、点P1は点P1と点P3に分割して見え、点P2は点P2と点P4に分割して見えてきて、線分L1は線分L1と線分L2に分割生成されるので、この場合には精度もUPすることから、分割の更新の概念となる。
【0428】
最後の(5)では、最初は側面が線分L1,L2,L3,L4からなる容器の側面のようなものに矩形S1のようなものと線分L5が付いている状況であるが、この場合も、撮像装置10,20が物体に近づいて詳しく撮影すると、矩形S1の左の1辺は矩形S2という形状であり、線分L5も矩形S3になる。この場合にも更新処理となる。
【0429】
これら(1)〜(5)のケースが代表的な例であるが、図49〜図52に示した処理フローに基づいて3D−CADデータの生成処理を行なうと、このような生成と更新が行なわれることになる。
【0430】
図55を参照して第59の手段の実施の形態を説明する。この実施の形態も別な応用システムで本発明を実施する場合の適した製品形態を示している。この実施の形態は、画像情報処理装置100の画像情報処理機能とアプリケーション側の制御用CPU300の制御処理機能を、遠隔制御装置を構成する1つのパソコンなどの主制御装置600に内蔵したソフトウェア(プログラム)を実行することによって実現する移動作業車である。
【0431】
この実施の形態における移動作業車は、走行機構500と駆動制御装置501を備えた移動台車502にアーム機構400と撮像装置10と通信装置503を搭載している。撮像装置10は、アーム機構400の先端に取り付けて設ける。
【0432】
遠隔制御装置の主制御装置600は、通信装置601を介して移動台車500の前記通信装置503と制御指令/制御状態や画像情報の授受を行なう。
【0433】
移動台車502に搭載した通信装置503は、受信した制御指令を駆動制御装置501に伝えて走行機構500やアーム機構400を制御させ、その制御状態と撮像装置10から出力される画像情報を通信装置601に送信する。
【0434】
このような移動作業車によれば、主制御装置600の画像情報処理機能用ソフトウェア100は、移動台車502と共に移動する撮像装置10から出力される画像情報を通信装置503,601を介して取り込んでCADデータを生成し、ハードディスクなどの記憶装置200へ記憶(登録)する。また、制御機能用ソフトウェア300は、前記画像情報処理機能用ソフトウェア100から移動台車502が移動している環境の中の対象物の位置や姿勢情報や撮像装置10の位置と姿勢情報を取得して参照し、アーム機構400や移動台車502をどのように動かせば良いかを判断して制御指令信号を与える。
【0435】
この実施の形態のように、画像情報処理装置100をソフトウェアで構成すれば、特定のアプリケーションに対して最も適したI/Fで作り込むことが可能となる。また、アプリケーションの制御機能用ソフトウェアを実行するために用意するパソコン(主制御装置)600によって画像情報処理機能用ソフトウェア100も実行するように構成することにより、専用のハードウェアを簡素化することができる。アーム機構400および走行機構500の動作速度が比較的遅くてソフトウェアでの処理速度でも問題にならない場合の実施の形態として特に有効である。
【0436】
図56を参照して第60の手段の実施の形態を説明する。ここでは、撮影対象物体を高速度で回転しているスケート選手とする。
【0437】
高速で回転するスケート選手909を撮影する撮像装置10として、スケート選手909が滑る場所を取り囲むように4台の撮像装置10(1),10(2),10(3),10(4)を配置する。これらの撮像装置10(1)〜10(4)は、固定しておいて良い。画像情報処理装置100(図示省略)は、これらの4台の撮像装置10(1)〜10(4)から出力する画像情報を順番に切り替えて直接または間接的に入力することを考える。画像情報処理装置100は、初めは撮像装置10(1)の画像情報を入力し、次には撮像装置10(2)に切り替えて画像情報を入力し、更に、撮像装置10(3),10(4)の順番に画像情報を入力し、その次には、撮像装置10(3),10(2)のように逆の順番で隣に設置されている撮像装置の画像情報に切り替えながら入力するように構成する。沢山の撮像装置10を使用して、スケート場(滑る場所)の全周を密に取り囲むように設置することができる場合には、一方向に周回するように順次に切り替えて入力するようにしても良い。
【0438】
このように固定した複数台の撮像装置を用意して切り替えるようにすれば、切り替えは、画像情報の電気信号の切り替えであるので瞬間的に切り替えることが可能であり、1台の撮像装置10で撮影することを想定すると、例えば、1台の撮像装置10が撮像装置10(1)の位置から撮像装置10(2)の位置に瞬間的に移動したことになる。このように構成することによって、高速で移動する撮影対象物体に対しても有効に適用することが可能となる。
【0439】
ここで、撮像装置10の配置は、画像情報のトラッキングなどに支障がでない程度に密に配置するのが良い。そうすれば、3D計測時に撮像装置10の設置位置を気にしないでもCADデータの生成処理を実現することが可能となる。また、撮像装置10の配置位置が予め分かれば、その位置情報を3D計測の中で使用することにより、画像情報処理装置100における処理を単純化することができる。
【0440】
図57を参照して第61の手段および第62の手段の実施の形態を説明する。この実施の形態は、走行クレーン142eに搭載されて走行,横行する台車に設けた昇降可能なマストの下端に取り付けられているマニピュレータ142fである。マニピュレータ142fの手先にはハンド部があり、通常の把持用ハンドを装着したり、場合によっては、必要時に別の場所に置いてあるボルト着脱専用のエンドエフェクタへ先端の把持用ハンドを自動交換する機能を有するものでも良い。
【0441】
通常のマニピュレータ142fの制御は、オペレータがオペレータコンソール142bへ指令を入力すると、ある程度の自動運転を制御装置142cが実行するように構成しいている。マニピュレータ142fの動作状況は、LCDモニタ142aに表示するように構成し、オペレータは、このLCDモニタ142aを観察することによってマニピュレータ142fの状態を確認することができるようにする。また、自動運転以外にも、オペレータがLCDモニタ142aを見ながら手動操作できるように構成する。モニタ142aは、CRTモニタであっても良い。
【0442】
このシステムに本発明を適用すると、マニピュレータ142fの手先に撮像装置(手先カメラ)10を設け、その画像情報を無線モデム142dなどの回線を介して画像情報処理装置100へ入力できるように構成し、画像情報処理装置100は生成したアズビルトのCADデータを記憶する記憶装置200と自律制御装置300へ接続する構成となる。ここで、自律制御装置300は、オペレータからの概略の指令に基づいて、具体的な動作タスクの組み合せで自動プログラムを自動生成する機能を有するものである。例えば、「建屋の入り口にあるOX装置を掴んで建屋の奥にある作業台の上に運ぶ。」という大まかな指令を入力すると、自律制御装置300は、予め保持している建屋の入り口と作業台などの位置データを参照して、走行クレーン142eやマニピュレータ142fを現在の位置から建屋入り口まで障害物を避けながら移動させる経路(軌道)情報を生成して、その経路情報をマニピュレータ142fやクレーン142eの制御装置142cなどへ与える。自律制御装置300は、この経路情報を生成するときに、記憶装置200に格納されているアズビルトのCADデータを参照する。
【0443】
その後、生成した軌道に沿って走行クレーン142eおよびマニピュレータ142fを移動させて対象物体であるOX装置を把持するまで制御装置142cに制御させるが、経路情報は、あくまでも最初に計画した軌道であるので、その時々の環境の中で本当に衝突しないかなどを自動でチェックできるようにしないと自律型の自動運転を円滑に行なうことができない。そこで、画像情報処理装置100は、手先カメラ10から出力する画像情報に基づいて環境のCADデータを生成して記憶装置200のCADデータをリアルタイムで更新するように構成し、自律制御装置300は、記憶装置200を参照して最初に立てた計画どおりの軌道で良いかどうかを常にチェックし、万一、環境が変わった場合には、必要に応じて、即座に軌道修正を行なって、修正した軌道(経路情報)を制御装置142cへ出力するようにする。修正が時間的に間に合わない場合とか、対応している状況に適切な軌道修正プログラムが用意されていないような場合には、自律制御を続行することが困難であることをLCDモニタ142aに表示してアラームを出すことによりオペレータに知らせるように構成する。
【0444】
また、OX装置を把持する場合には、マニピュレータ142fの位置が走行クレーン142eの停止制御誤差などによって計画位置からずれると、通常の自動制御運転ではOX装置を確実に把持することができなくなる事態が発生する。このような事態の発生を避けるために、画像情報処理装置100は、手先カメラ10から出力される画像情報に基づいて○X装置の位置と姿勢を正確に検出すると共に手先カメラ10の位置と姿勢も正確に検出するように構成し、その情報を自律制御装置300へ与えることができるように構成する。このようにすれば、自律制御装置300は、手先と○X装置の相対的な位置関係のずれを知ることができるので、そのずれをなくすように制御装置142cへ適切な制御信号を与えるとこによって、マニピュレータ142fでOX装置を確実に把持することが可能となる。その後は、建屋の奥まで戻ってきて、所定の場所(位置)も同様に手先カメラ10の画像情報に基づいて補正しながら目的の場所にOX装置を搬送して設置することが可能となる。
【0445】
このように一通りの作業が終了したときには、その旨をLCDモニタ142aに表示することによって、与えられた作業を終了したことをオペレータに伝える。
【0446】
以上の制御機能は、主に、自動運転中の画像情報に基づくマニピュレータ142の誘導制御であるが、それ以外にも、先ず、環境がそれほど変化しない場合には、予め移動軌跡をオフラインで計画するようにしても良い。そのときには、記憶装置200のCADデータ200を利用してアズビルト環境を用意し、その中にクレーンやマニピュレータのCADモデルも入れて、それらをオフラインの状態で手動操作制御してそのときの動作軌跡を自動運転中の動作軌跡とするオフラインティーチング機能にもアズビルトのCADデータを利用すると有効である。また、オフラインティーチング後に、本当に正しいデータができたどうかをオフラインでシミュレーションさせる機能も用意すれば、事前に間違いないことを確認することができる。このときにも、アズビルトのCADデータを使うことによって、より正確なシミュレーションとなる。
【0447】
また、自動運転中に常に生成されるアズビルトのCADデータを参照することによって障害物を避けて安全な自動運転が行なわれていることを該自動運転中に自動チェックする安全監視機能も、リアルタイムで生成されるアズビルトのCADデータがあれば容易に実現することが可能となる。
【0448】
また、手先カメラ10だけでは死角などが生じる場合には、マニピュレータ142fの肩の位置にもカメラを設置し、更には、クレーンにもカメラを設置し、更には、建屋の床,壁,天井などに設置した首振りタイプの固定カメラなどからの画像情報も使って、アズビルトのCADデータを生成するように構成すると良い。また、それらのカメラは、ポジションフィードバック付きのズームレンズを用いて離れた場所からでも精度良い画像情報を出力することができるようにしてアズビルトのCADデータを生成することができるようにすると良い。ポジションフィードバック付きズームレンズを使用することが困難な場合には、既に画角の分かっている広角レンズのカメラと望遠レンズのカメラの2台を一組にして使用し、両方の画像情報を必要に応じて切り替えて入力するように構成しても良い。また、両方の画像情報を同時に処理するように構成しても良い。
【0449】
また、特殊なマニピュレータで上下に昇降する伸縮アームの先端にハンドがあるようなマニピュレータシステムにおいては、伸縮アームの先端に下を見るカメラを付ければ、同様なシステムを容易に構築することができる。先端のカメラは、そのポジションフィードバックがあれば、首振り機構付きでも良い。そうすると、カメラの視野がより広くなる。勿論、高分解能カメラと魚眼レンズなどとを組み合わせて最初に画像情報の歪を補正してから同様に広範囲の視野で適用するようにしても良い。
【0450】
図58は、第62の手段を適用して構成した水中ROVの実施の形態を示している。水中深く潜水したROVは、水面上からは見えなくなる場合があるので、水中ROVが今どこにいるかを表示する表示機能が望まれている。本発明の画像情報処理装置100は、このような表示機能を容易に実現することができる。そして、このような水中ROVは、海とか湖あるいはプラント内のプールの水中にある構造物などの目視点検やUT検査などに使用すると便利である。
【0451】
水中ROV143aは、水中における前後上下左右、更には左右の旋回などをオペレータコンソール(操作部)143bから遠隔操作することができる。通常は、水中ROV143aに設けたTVカメラからの画像情報信号に基づく映像を見ながら遠隔操作することが多い。しかしながら、水中に同じような構造物143cが沢山あるような場合には、どこの構造体を見ているかがわからなくなることから、水中ROV143aの現在位置の確認手段が望まれている。本発明の画像情報処理装置100は、水中ROV143aのカメラによって得た画像情報を処理して周囲環境のCADデータを生成して表示しながら該水中ROV143aを目的の検査場所まで移動させるように操縦するのを支援するのに好適である。
【0452】
画像情報処理装置100(図示省略)をオペレータコンソール143bに内蔵し、水中ROV143aのカメラから入力する画像情報に基づいて生成したCADデータと該カメラの現在位置をオペレータコンソール143bのLCDモニタに表示するように構成すれば、検査対象の構造体143cと水中ROV143aに搭載したカメラの位置と姿勢をオペレータコンソール143b上で視認することができ、遠隔操作が容易になる。
【0453】
また、予め構造体の図面などを用意しておけば、それと生成CADデータを照らし合わせることによって、絶対位置の対応付けも容易に行なうことができるようになる。
【0454】
この実施の形態は、水中ROVであるが、飛行船のような場合にも、同様にして、現在飛行している場所を撮影する搭載カメラからの画像情報に基づいて生成したCADデータとカメラの位置を一緒に表示するように構成すれば、飛行船の現在位置を表示するシステムを容易に構築することができる。
【0455】
図59は、第62の手段を適用して構成した自動掃除機の実施の形態を示している。
【0456】
この実施の形態における自動掃除機144cは、カメラ10(2眼でも良い)と画像情報処理装置100(図示省略)を備え、部屋の中を動き回ることにより撮影される障害物144a,144bや周囲の壁などの画像情報に基づいてアズビルトのCADデータを生成する。生成されるCADデータは、3次元の環境データであるので、上方の凹凸情報も積極的に活用して埃を取るような制御を実行しても良いが、床だけの清掃であれば、3次元のCADデータを上から見た平面図の情報で制御するように構成すれば良い。
【0457】
自動掃除機144cは、自分で動き回った経路をカメラの現在位置情報としてモニタすることで移動軌跡が残るので、現在、部屋のどこの部分を掃除して掃除済みエリア144dがどうで、どこが残っているかをアズビルトの地図の中で確認しながら残りの掃除してない部分を効率よく清掃するように制御することができる。掃除機は、間取りの異なる各家庭で使用するので、部屋の地図情報を予め登録しておくことが困難であることから、アズビルトでCADデータを生成することができる機能は有効である。リセットするまでは同じ部屋のデータを残しておき、毎回、最初からCADデータを生成しないで済むようにすれば、使えば使うほど正確なCADデータが生成されていく。また、部屋の模様変えを行なった場合には、CADデータも更新されるので、そういう場合にも有効である。また、処理速度がリアルタイムであれば、廊下を歩いている住人もリアルタイムで検出して衝突を避ける制御を実行することができるようになる。毎日、掃除を始める時には既に生成されているCADデータの平面図などを表示するように構成し、どのように掃除機を置いたかを最初に設定するようにすれば、最初の位置の絶対同定は容易になる。もちろん、周囲の環境のCADデータと前に生成したCADデータの部分マッチングを行なうことにより、自動的に絶対値を検出させることも可能である。
【0458】
図60は、第63の手段を適用して構成した文字読み取り装置の実施の形態を示している。本発明の画像情報処理装置100は、3次元CADデータを生成するので、刻印文字などのCADデータを生成してマッチングさせることが容易にできるようになる。ここでは、移動する文字を読み取る装置の例で説明する。
【0459】
ビル145aなどに設置された電光掲示板145bに表示される文字は流れて見えるので、通常のやりかたでは、予めどの程度の文字がどういうタイミングで移動してくるかを調べておいて、カメラを電光掲示板145bの正面に設置し、専用の処理プログラムを用意しておく必要があるが、本発明の画像情報処理装置100を適用すれば、電光掲示板145bを斜めから見ても3次元で文字のCADデータを生成することができるので、カメラ10,20を電光掲示板145bの正面に設置する必要がなくなる。また、探索では、明朝体やゴシックなどの基本的な文字から近い文字を探すようにすれば、予め電光掲示板特有の文字を調べて登録するような作業を行なわなくとも良くなる。更に、生成されるCADデータには時刻が入ることから、例えば、時間と移動距離から移動速度を求めることも容易であり、電光掲示板145bを見ていて10:15の20秒から28秒までに生成されたCADデータを繋げて読むように処理すれば、一度には全文表示されていない文章でも「今日は晴れ時々曇りです。」のように全文の形態で読み取ることもできるようになる。
【0460】
図61は、第64の手段〜第66の手段を適用して構成した3次元計測装置の実施の形態を示している。カメラを撮影対象物体の近くに寄せれば分解能、すなわち計測精度があがるので、近くに寄れる場合には、汎用カメラを使用して撮影して得た画像情報に基づいて3次元計測を行なったり、3次元CADデータを生成するシステムを構築することができる。
【0461】
図61に示した3次元計測装置は、カメラ10aと画像情報処理装置120aが接続されており、環境の対象物体901aの周囲を撮影して得た画像情報に基づいてCADデータを生成して記憶装置200aに記憶する構成を示している。撮影現場では、そのようなCADデータ生成作業を行い、それが終わったならば、画像情報処理装置120aと計算機146cを接続して画像情報処理装置120aの記憶装置200aのCADデータ902aを取り出せるように構成する。画像情報処理装置120aで生成するCADデータ902aは、高速処理に適したデータ構造にしておき、取り出すときに汎用のCADデータの構造に変換して出力するようにする。計算機146cへ出力したCADデータ902zは、汎用的に他のアプリケーションでも使用できるデータ構造に変換されていれば、生成されたCADデータを利用し易くなる。CADデータには寸法の情報も入っているので、このように構築したシステムは、現場のアズビルト寸法もCADデータの座標や大きさ(長さ)を確認することで3次元計測システムとして利用することができる。また、CADデータの生成の仕方では、撮影しながらCADデータを生成するようにしても良いが、例えば、図55のカメラ単体10zで画像情報をテープやMOなどの記録媒体146aに記録して、それを後で、画像情報処理装置120aに入力してCADデータを生成する方法としても良い。撮影現場でCADデータを生成してその内容をCADデータの絵で表示しながら撮影するようにすれば、現場作業での間違いは少なくなるが、モニタや処理装置が持ち込めない狭い場所などでは、後でCADデータを生成する方法が有効である。また、CADデータ902aをCADデータ902zに変換して出力するときに、単純に点は点、線データは線データ、面データは面データでデータフォーマットだけの変換をするのではなく、例えば、基本図形の幾つかにマッチング処理して基本図形に変換して出力するようにすれば、更に利用し易いCADデータを取り出すことができるようになる。この基本図形への変換機能も画像情報処理装置120aの機能でやる方法もあるが、計算機146cに別の変換ソフトを用意して行なうようなシステムを構築するようにしても良い。
【0462】
図62を参照して第67の手段の実施の形態を説明する。この実施の形態は、環境のCADデータを生成する形態である。この第67の手段は、町並みのCADデータ、すなわち3次元地図データを生成するのに適した手段であり、カメラを自動車または二輪車に搭載し、または人が持ってカメラを移動させながら環境を撮影して得た画像時用法に基づいてCADデータを生成する手段である。図62に示す実施の形態は、自動車に搭載したカメラ147aで町のビルなどを撮影して得た画像情報を画像情報処理装置100(図示省略)に入力してCADデータを生成する構成である。また、上空では、飛行船の下部にカメラ147bを搭載して上空より下のビルなどの環境を撮影して画像情報を得るようにしている。このカメラ147bの画像情報も、同様に、画像情報処理装置に入力してCADデータを生成し、両方のCADデータを合成する。
【0463】
自動車に搭載したカメラ147aで撮影して得た画像情報だけでも町並みの下方のCADデータを生成することができるが、上方、特にビルの上面については、下からでは死角になるのでCADデータを生成することができない。一方、上方の飛行船に搭載したカメラ147bで撮影して得た画像情報だけでは、下方、特に下面は上方からの死角となっているのでCADデータを生成することができない。両方の画像情報に基づいて生成したCADデータを統合することによって、町並みの下から上までの正確なCADデータを生成することができるようになる。
【0464】
図63は、第68の手段を適用して構成したナビゲーション装置の実施の形態を示している。実環境の情景148aは、自動車が交通信号機のある交差点にさしかかっている情景である。この情景は、予め3次元のCADデータ148bとして生成されているものとする。
【0465】
走行している自動車は、カメラ(図示省略)を搭載しており、このカメラで撮影して得た画像情報に基づいて生成した最新のCADデータで既成のCADデータを更新しながら、画像情報処理装置100で求めたカメラの位置と姿勢情報に基づいて3次元CADデータ148bの中には現在のカメラの位置と姿勢情報(自動車についているカメラの位置が既知であれば自動車の位置と姿勢情報)を表示するようにする。これによって、自動車がCADデータ148bの中で現在どこを走っているかがわかる。このように構成すれば、GPS不要のカーナビゲーション装置を構成することができる。また、予めCADデータがある場合には、その目的地を指示すると、現在の位置から目的地までの最善ルートを表示してナビゲートする機能をGPSによる従来のカーナビゲーション装置と同様に機能させることができる。予め3次元のCADデータが用意されていない場合には、最低限、2次元のマップ情報があれば、2次元のマップ情報とそのときに生成しているCADデータとの対応付けを取れるようにしておくことにより、目的地までのガイドを2次元のマップ上で行なうことができ、現在位置の確認は、生成したCADデータと2次元マップとの対応付けで行なう。2次元のマップ情報は、ポイントポイントを3次元の情報ももたせて生成した3次元のCADデータと対応を取り易くしておくのが良い。例えば、特徴あるビルとか交通信号機の有無などは、基本図形で概略の形状を模擬したものでも3次元のCADデータで用意しておくのが良い。また、途中に用意した目印と同じ場所を生成されたCADデータの中から探索することができた場合には、そこを通過したということでアナウンスするようにすると良い。例えば、3次元CADデータ148bの中の交通信号機がカメラの視野に入ってきたならば、「どこそこの交差点を通過しました。」とアナウンスするように構成する。このようなことは、画像情報処理装置100の探索機能を使って、ここでは、参照CADデータに交通信号機のデータ148dを使って探索させることにより実現する。また、目的地のHITACHIビルの参照CADデータ148cを使えば、目的地を探索することができる。このように、通過点の目印となる物とか最終目的地の目印(この場合はHITACHIビルの看板)が探索できた場合には、表示しているCADデータ148b上でここが探索できたということがわかるように色を変えて表示またはその部位を点滅表示して場所を知らせるように構成すると良い。CADデータが予め用意されていない場所へ自動車が行くと、CADデータを更新するだけではなく、積極的に新しいCADデータを生成しながら走行するようにする。これによって、アズビルトのCADデータは、自動車が走ることによってより広範囲のものが生成されるようになる。地図が何もない場合には、目的地までのナビゲーションを行なうことはできないが、それまで走ってきたところまでのCADデータを生成することから新しい地図情報が蓄積されることになるので、2回目からは、その地図情報を使用して目的地までのナビゲーションを確実に行なうことができるようになる。また、生成されたCADデータの所定のエリアを指定してその部分を探索用のCADデータとして名前を付けて登録できる機能も設けるのが良い。登録名称がHITACHIビルの参照データ148cは、そのようにして登録する。登録するときには、ユニークな形状,色,模様のあるものが良いので、看板などは適切である。交通信号機などのような汎用的に目印となるものは、予め典型的なものを何種類か登録しておき、カーナビゲーション装置のユーザに供給される前に登録しておくことでも良い。
【0466】
自動車で走りながらCADデータを生成して行くが、1台の自動車で日本中を走り回ることは困難であるので、新しく生成したCADデータは、携帯電話のデータ通信回線などを利用して中央の情報処理センターに送信できるようにする。この中央の情報処理センターでは、各地の自動車から送られてくる最新のCADデータを受信して統合することにより、日本中の道路のCADデータを作成することが可能となる。また、中央の情報処理センターで統合して作成したCADデータは、各自動車のカーナビゲーション装置から要求があれば、必要なエリアの最新のCADデータを携帯電話などのデータ通信回線を使って中央の情報処理センターから各自動車のカーナビゲーション装置に送信できるようにする。もちろん、統合されたCADデータを3次元地図情報としてCDなどの記憶媒体を使用して各自動車のカーナビゲーション装置のデータとして入力できるようにすることでも良い。
【0467】
中央の情報処理センターは、CADデータを統合するときには、CADデータが生成された日時(時期)を注意して統合する。すなわち、冬のデータには雪が積雪している場合があり、夏と冬では、同じ地形でもCADデータが異なる場合がある。また、短い周期で見れば、夜に生成されたCADデータと昼に生成されたCADデータは異なるので統合処理するときに、生成された時期によってCADデータを分類しながら統合するとか、その時期ゆえに影響される雪とか夜のライトなどのデータは、一時的なものとして管理するように統合するのが良い。
【0468】
図64を参照して第69の手段の実施の形態を説明する。この実施の形態は、カーナビゲーション装置におけるLCDモニタであり、平面図と鳥瞰図を必要に応じて選択的に表示できるように構成するのが良い。図64は、自動車149aがさしかかった交差点の近傍を上から見た情景を表示している平面図である。交差する道路の一方は狭い道路であり、そこから自動車149bが広い道路に出ようとしている。また、狭い道路には、歩行者149cも表示されている。
【0469】
カーナビゲーション装置のLCDモニタにこのような情報を表示することができれば、交差点における出会い頭の衝突を防止することができる。また、歩行者の飛び出しについても、事前に注意して運転することが可能となる。表示形態は、移動している向き、速度などが見易いように工夫するのが良い。例えば、移動速度が速くなればなるほど点滅周期を短くして点滅速度を速くするとか、表示色を青から黄色、赤へと変えるとかして、直感的に危険な速度がでていることがわかるようにするのが良い。
【0470】
自動車149bのカーナビゲーション装置は、近くにいる自動車149aのカーナビゲーション装置に対して、自分(自車)の現在位置と姿勢、必要であれば移動速度などの情報もあわせて送信することができるように構成し、近くにいる自動車149aのカーナビゲーション装置は、自動車149bのカーナビゲーション装置から受信した情報をLCDモニタに表示するように構成することにより、自動車149a,149bの衝突の危険性を運転者に認識させることができる。また、歩行者149cもカーナビナビゲーション装置と同様な機能をもったナビゲーション装置を携帯して、この歩行者149cのナビゲーション装置も歩行者149cの現在位置と向きなどの情報を送信し、自動車149aのカーナビゲーション装置がこの情報を受信LCDモニタに表示するように構成することにより、自動車149aの運転者に歩行者の存在を認識させて該歩行者の飛び出しの可能性を予測させることができる。
【0471】
お互いのナビゲーション装置で各自の情報を授受して各ナビゲーション装置のLCDモニタに表示するように構成すれば、お互いに環境状況(相手の状態)を認識して行動することが可能となる。
【0472】
この実施の形態は、ナビゲーション装置同士が直接的に情報交換を行なう構成であるが、各ナビゲーション装置が自分の位置と姿勢、必要ならば速度情報などの情報を中央の情報処理センタに送信し、中央の情報処理センタでは、送られてくる総ての情報を収集して管理し、各ナビゲーション装置に対して該ナビゲーション装置の近くにいる他のナビゲーション装置の情報を配信して表示させるように構成することも可能である。
【0473】
このような実施の形態では、危険な状況では、注意を喚起するようにアラームを出すように構成するのが良いし、自動車の場合には、自動車の運転制御装置と連係させて危険な運転操作を制限する機能を実現するように構成すると良い。
【0474】
図65を参照して歩行者が携帯するナビゲーション装置の実施の形態を説明する。この実施の形態におけるナビゲーション装置は、歩行者が必要に応じて頭に被る帽子のような形態のタイプのナビゲーション装置150aや肩に乗せるような形態のナビゲーション装置150b,150cに構成する。各ナビゲーション装置150a〜150cは、撮像装置(カメラ)10と画像情報処理装置100と無線通信機能付きの記憶装置200とバッテリ(図示省略)を備える。全体は小型で軽いものに構成するのが良い。高齢者や子供を交通事故から守ることを目的とする装置では、LCDモニタは不要であり、自分自身の位置を検出して中央の情報処理センタあるいは近くの自動車のカーナビゲーション装置に送信する機能があれば足りる。歩行者は、ナビゲーション装置150a〜150cの何れか1つを携帯すれば足りるように構成することが望ましい。カメラを両肩に載せるような形態に構成すれば、略全周を死角なく撮影することができるようになる。また、カメラや処理回路をシート状の基板に焼き付けて帽子や服に実装することにより、ウエラブルの装置としても良い。カメラや処理回路を更に小型化して、胸ポケットに入れることができるペン型に構成したり、腕時計,ブローチ,ペンダント,めがね,イアリングなどに組み込むようにしても良い。
【0475】
図66は、第70の手段を適用して構成したピッキングシステムの実施の形態を示している。ピッキングシステムは、生産現場などに乱雑に置かれた部品をマニユレータ151aによって1つ1つハンドリングするシステムである。
【0476】
マニピュレータ151aの先端に撮像装置(TVカメラ)10を取り付け、部品把持用ハンド151bとTVカメラ10の位置関係を既知情報として画像情報処理装置100を構成する視覚誘導チップへ予め設定しておく。
【0477】
TVカメラ10の画像情報である映像信号は、画像情報処理装置100へ入力して処理する。マニピュレータ151aの各関節のモータ151cは、駆動装置151dによって駆動制御して各関節の角度を変えることにより先端の把持用ハンド151bの位置と姿勢を調整し、そのための制御指令は、マニピュレータ制御装置300によって生成する構成は、一般の産業用ロボットの制御系の構成と同様である。
【0478】
制御装置300は、通信ケーブルを介して画像情報処理装置100に接続し、制御指令を生成するときに参照する情報を画像情報処理装置100から取得する。また、制御装置300は、オペレータ151eから作業指令を取得する。
【0479】
例えば、作業テーブルの上にある部品AをトレーAに入れ、部品BをトレーBに分類して入れるような作業指令が与えられると、制御装置300における制御指令生成部は、以下のような処理を行なう。
▲1▼ 先ず、作業台の上のCADデータの生成を開始する指令を画像情報処理装置100に与える。
▲2▼ 次に、マニピュレータ151aを動作させて先端のTVカメラ10が作業台をいろいろな角度から撮像することができるように制御する。これは、予め部品に接触しないエリアを想定してマニピュレータ151bの動作軌跡をティーチングしておき、その動作をプレイバック運転するように制御することで良い。
▲3▼ 次に、ある程度作業台の上のCADデータ151fが生成されたならば(これは、画像情報処理装置100における処理においてCADデータの更新内容が少なくなって更に同じ動作を繰返してもCADデータは更新されないぐらい生成されたという信号を該画像情報処理装置100から受け取って判断するようにしても良いし、TVカメラ10を動かした量で十分にできていると自ら経験的に判断するようにしても良い)、部品Aを探索するように画像情報処理装置100に指令を与える。部品Aの探索用CADデータ151gは、制御装置300に登録しておき、必要時に指令と一緒に画像情報処理装置100へ送信するようにすると良いし、予め画像情報処理装置100へ登録しておいて部品番号で指定できるようにしておいても良い。TVカメラ10の位置と姿勢情報は、常に送信されるようにしておいても良いし、今からのタイミングで送信開始してもらうようにしても良い。
▲4▼ 画像情報処理装置100から部品Aの探索結果として作業台上の部品Aの位置と姿勢情報の応答があったならば、複数候補のうちのどの部品を最初に把持させるかをマニピュレータ151aとの位置関係などから優先順序として決定する。優先順序を決定する機能は、画像情報処理装置100に設け、一番候補の部品の位置と姿勢情報のみが送られてくるようにすると良い。
▲5▼ 次に、決定した部品Aを把持するようにマニピュレータ151aを把持制御させる。部品Aの位置と姿勢が分かっていることから、把持用ハンド151bをどこへどういう姿勢でアクセスすれば良いかを容易に計画することができる。そして、その計画に基づき先端の制御軌道を計画して各関節の動作角度に換算して具体的な制御を実行する。TVカメラ10の位置と姿勢情報は、確認用にチェックすることで良い。但し、マニピュレータ151aが移動台車に固定されて移動して位置がずれる可能性のある場合には、TVカメラ10の位置と姿勢情報は、部品A,Bの位置と姿勢を求めるCADデータの空間上での位置と姿勢情報になっているので、マニピュレータ151aや作業台が移動してずれるような場合には、TVカメラ10の現在の位置と姿勢情報を参照しながらマニピュレータ151aの制御を行なうようにすると良い。
▲6▼ マニピュレータ151aの把持ハンド151bが部品Aを把持したならば、部品AをトレーAへ運搬して該部品AをトレーAへ入れる制御を行なう。部品Aを把持したかどうかの判断は、把持ハンド151aに圧覚センサなどを設け、その信号に基づいて確実に把持したことを確認することにより、次の動作の制御へ移動するようにすると良い。
▲7▼ 部品Bについても、探索用CADデータ151hを参照して同様に行なえば、部品Aと部品Bを各々別のトレーに自動的に分類して収容することができるようになる。
【0480】
把持センサの例を説明したが、自律制御型ロボットもそうであるが、総てのアプリケーションのケースにおいて、画像情報処理装置100の情報だけで制御する必要はなく、制御装置300は、必要に応じて各種センサの情報を総合的に判断してどのように制御するかを決定するように構成するのが良い。
【0481】
図67を参照して第71の手段および第72手段を適用して構成した検査装置の実施の形態を説明する。図67は、検査工程部分にこの実施の形態の検査装置を適用したCD,DVDなどの生産ラインの模式図である。
【0482】
検査対象物体であるDVD152cは、コンベア152bによって搬送し、それをマニピュレータ152aの先端に設けた撮像装置(カメラ)10aで撮像する。カメラ10aを設けたマニピュレータ152aは、1台でも良いし、より早く、検査漏れがないようするために複数台設置しても良い。マニピュレータ152aは、DVD152cをいろいろな角度から撮像して、その画像情報を画像情報処理装置100に入力して検査対象物体であるDVD152cの3次元CADデータを生成する。一方、画像情報処理装置100には、正常な検査対象物体であるDVD152cのCADデータも参照用CADデータとして予め登録しておき、生成したCADデータとの比較を行って異なる部分を抽出することにより、検査対象物体であるDVD152cの良否を判定(自動検査)する。例えば、良品のDVDを予め撮影してCADデータとして生成しておき、画像情報処理装置100の探索機能を用いても良いし、別にマッチング機能を用意しても良いが、検査対象物体であるDVD152cを撮影して生成したデータと良品のデータで異なる部分を抽出すれば、例えば、DVD152cの表面の傷152dなどがある場合には、その部分が大きな相違点として抽出できるので、当該DVDは不良品であると判定する。
【0483】
3次元CADデータ同士を一番マッチングする姿勢で合わせたり、基準となる部分が一致するように姿勢を合わせて差分処理(差分処理は互いのCADデータを点データの集合に変化して行なうのが良い。)をとって異なる部分を抽出するようにし、その抽出された部分(点データ)の体積,面積,長さなどの相違する量(点データの数)とか、色の差(点の色情報同士の差分結果)、色の差が所定の値以上に生じた部分の面積(点データの数)などで判定するようにすることもできる。また、参照CADデータを設計図面から生成する理想的なCADデータにすれば、基準をより確かなものとすることができる。このようにいろいろな角度から撮影するので、詳細な外観検査の自動化を実現することができるようになる。
【0484】
また、第72の手段では、TVカメラ10をマイクロスコープ付きとすることで、より微細な欠陥も3次元ADデータとして生成することができ、詳細な検査を行なうことも可能となる。
【0485】
なお、以上の実施の形態では、検査装置は、検査対象物体を固定してカメラをマニピュレータなどで移動する形態であるが、カメラを固定して検査対象物体を移動させながら撮影するように構成しても良い。また、カメラと検査対象物体の両方を移動させるように構成しても良い。また、人間の顔のいろいろな表情を撮影して画像情報処理装置100で3次元CADデータを生成することにより、本人のID(名前など)と対応付けて登録しておき、再度、同じ人間か否かを判定するような検査システムへ適用するようにしても良い。また、マイクロスコープと組み合わせて指紋の3次元CADデータを生成して指紋による本人の確認を行なう検査システムへ適用しても良い。
【0486】
図68〜図71は、第73の手段〜第79の手段を適用して構成した2つのホームロボットの実施の形態を示している。また、自動車の実施の形態は、図64を参照して説明する。
【0487】
図68は、ペットロボットの制御系のブロック図である。この実施の形態におけるペットロボットの制御系は、2000年11−20号NO.783日経エレクトロニクスのP.53で紹介されたペットロボットAIBOの制御系に本発明の画像情報処理装置100と記憶装置200を組み入れて構成したものである。
【0488】
AIBOの基本制御系は、マイクロプロセッサ300によって頭部と前後左右の脚の動作を制御する構成である。この実施の形態におけるペットロボットでは、頭部に設置してあるカメラで撮影して得た画像情報を画像情報処理装置100に入力して3次元の環境CADデータを生成して記憶装置200に記憶するように構成する。そして、マイクロプロセッサ300は、必要に応じて、カメラの位置と姿勢情報や特定のCADデータを探索させてその位置と姿勢情報を参照できるように構成する。マイクロプロセッサ300が記憶装置200に生成されているCADデータを直に参照できるように構成しても良い。マイクロプロセッサ300が実行する制御処理は、図70を参照して後述する。
【0489】
図69は、簡単なハンドリングを行なうホームロボットの実施の形態の模式図である。このホームロボットは、壁掛けタイプのロボットであり、対象物体を把持する把持用ハンド154cとその位置と姿勢を制御するアーム154aを備え、アーム154aの根本を壁にしっかりと固定することができるように構成する。このロボットを使用する環境は、家庭のダイニングとかリビングなどを想定しており、テーブル154dとかコップ154eなどが置いてある環境である。
【0490】
把持用ハンド154cにはTVカメラ10が取り付け、このTVカメラ10で撮影して得た画像情報を画像情報処理装置100に入力して処理することにより、周囲のテーブル154dやコップ154eのCADデータを生成し、テーブル154d上のカップ154eを把持してマスタへ差し出すようにアーム154aと把持用ハンド154cを制御する構成である。この実施の形態の詳細な制御系は、図71を参照して後述する。
【0491】
図70は、図68を参照して説明したペットロボットにおけるマイクロプロセッサ300が自律制御を行なう場合に実行するプログラムのフローチャートである。ここで述べる自律制御の内容は、AIBOの場合を例示して説明するが、自動車や自動掃除機や図69を参照して説明したホームロボットにおけるアームの場合にも同じような考え方で自律制御することができる。
【0492】
先ず、電源ONまたはスタート釦を押すと、マイクロプロセッサ300は、スタート155aから始まり、最初に、第1優先タスクの処理155bを実行する。この第1優先タスクの処理155bでは、自律制御型ロボットで重要となるバッテリの残容量を確認し、残容量が少ない場合には、環境CADデータの中から充電器の場所を探索して、その場所までの移動経路を計画して途中障害物を避けながら充電器のところまで移動し、充電器に接続して充電する処理を行なう。充電器は、予め専用充電器が用意されていれば、その形状や色などの特徴を予め探索用CADデータとして登録しておく。家庭用コンセントからの充電も可能であれば、家庭用コンセントの形状を登録しておく。このときに、環境CADデータの生成が不十分で、直ちに充電器を探索することができない場合には、周囲を移動してCADデータを生成しながら充電器を探索する処理を行なうようにする。バッテリの残容量が十分である場合には、このタスクを実行しないで、次の第2優先タスクの処理155cに移る。
【0493】
第2優先タスクの処理155cは、マスタの指示を聞いて、その内容を実行する処理である。マスタをマスタと認識する手段は、画像情報処理装置100によってマスタの顔の特徴などを最初に登録するようにしても良いし、マスタの指に特徴ある人形などを装着してその人形を認識させるようにしても良いし、マイクから入力した音を音声認識してマスタと識別させるようにしても良いし、ロボットのボディについている所定の釦が押されたことにより判別するようにしても良い。「マスタの方へ走ってくるように」という指令がマスタから出された場合には、マイクロプロセッサ300は、画像情報処理装置100を利用してマスタの位置を探索し、現在の位置からマスタの位置までの移動経路を計画してその経路に沿って途中障害物を避けながら走る制御を行なうようにする。画像情報処理装置100は、常にリアルタイムでアズビルトCADデータを生成することで、途中で新たに生じた障害物についても環境CADデータが生成されることから、移動経路が適切か否かを常に最新の環境CADデータを参照しながら確認し、必要であれば移動経路の計画内容の見直しを行いながら、走らせる制御を行なう。そして、途中に大きな障害物があり、その障害物を回避するプログラムが用意されていなかったり、何度か回避プログラムを実行しても回避困難となる場合には、マスタに対して実行不可の旨を、例えば、吠えることで伝えるようにする。また、指示通りにとマスタの近くに到達することができた場合には、指令を実行したということで、実行不可の場合とは別の泣き声で吠えるようにする。なお、この実行タスクの途中で、更に優先度の高いタスクを実行する条件が発生した場合には、優先度の高い処理を途中からでも実行するように制御する。
【0494】
マスタからの指示がない場合には、次の第3優先タスクの処理155dに移る。この第3優先タスクは、不審者の見つけたならば不審者を追いかけて吠えるというタスクである。不審者の探索は、例えば、画像情報処理装置100で過去に用意した参照用CADデータには当てはまらない未認識の移動体が検出された場合とか、通常聞いたことの無いような音がマイクなどに入った場合に、それをトリガにして不審者の探索を開始するようにすると良い。移動する不審者を未認識物体のかたまりとして認識した場合には、その位置を検出して追いかけるように移動させる。このタスク実行中にマスタが現われて指示が出た場合とか、バッテリの残容量が少なくなった場合には、第2,第1優先タスクの優先度の高いものを優先して実行するようにする。バッテリ残容量が十分であって、マスタや不審者がいないような場合には、第4優先タスクの処理155eに移る。
【0495】
第4優先タスクの処理155eは、周囲を歩き回って環境CADデータを生成する処理である。無制限に歩きまわらないように、半径5m以内とか制限条件を設けて制御するようにすると良い。そして、CADデータを十分に生成することができた場合には、第5優先タスクの処理155fに移る。
【0496】
第5優先タスクの処理155fは、バッテリの無駄な消耗を防止するための処理であり、休止状態、具体的には、歩かない、立たないで、センサ情報を入力して周囲環境の変化を検出するような状態を継続させる。カメラと画像情報処理装置100による電力消費も節約する場合には、マイクと接触センサ程度のモニタリングのみにすると良い。ここで、重要なことは、優先度の高いタスクは、実施条件が整った場合には何時でも実行するということである。優先度は、プログラムで所定の順番に規定しても良いし、優先順番を変更可能なデータとして設定可能にしても良い。優先順番の変更は、学習によって記憶するようにしてマスタが教示できるようにすると良い。また、安全に係わるタスクの処理は、ユーザの嗜好で変えられないようにハードウェアあるいはプログラムで規定して、ユーザの嗜好で優先順番を決めても差し支えないタスクの処理は、ユーザが優先を変えられるようにしても良い。
【0497】
以上に説明した処理は、主に移動することを目的にした自律制御型ロボットであるが、これは自動車などでも同じである。
【0498】
自動車の場合を図63を参照して説明する。基本的には、ナビゲーション装置で説明したように、現在の位置から目標位置までの最善ルートが生成されるので、そのルートに沿って自動車を制御するように構成する。この場合、CADデータは、できる限り詳細に生成して、道路の車線の区別は勿論のこと、路上の障害物や路上に駐車中の他の自動車のCADデータも生成してそれを回避する自動車の旋回軌跡などの特性も考慮して移動ルートを生成するようにし、且つ、リアルタイムに生成されるCADデータでそのルートを変更する必要がないかどうかも常にチェックし、必要であれば移動ルートの微妙な変更も行ないながら自動運転走行を行なうように構成する。これは、3次元のアズビルトCADデータをリアルタイムで生成して参照できるようにしておくことによりば、容易に実現することが可能となる。また、自動車の場合には、道路の周囲の標識とか交通信号機を探索し、探索できた場合には、その内容を確認してその結果に応じて自動車を制御するように構成する。例えば、交通信号機を参照用CADデータ148dで探索し、交通信号機のランプの位置からその面の色や明るさの情報を確認し、青のランプが点灯していると判断することができる場合には、他の障害物を回避しながら自動運転を継続し、赤のランプが点灯している場合には、横断報道や停止線を検出してその手前で停止するように自動制御する。勿論、前方に他の車がある場合には、それは障害物となるので、左右に回避できない場合には、自車の走行速度を落として衝突を回避する自動制御を行なうようにプログラムしておく。また、一方通行とか、制限時速など道路標識は、色や大きさなどが決まっているので、予め、探索用CADデータとして登録しておくものとする。そして、常に、それらの標識の有無を探索させるようにして、それらの標識を探索し出した場合には、その結果を自動車の主制御装置300へ出力するように構成して、その標識に基づく制御を行なうようにすることにより、自動車の自動運転が可能となる。
【0499】
移動指令としては、概略の位置だけでなく、姿勢も制御させることが必要な場合がある。例えば、AIBOの場合には、狭い場所に体を入れる制御を実行させる場合には、最終的に目標とする位置と姿勢を環境CADデータベースの中で設定し、その位置でその姿勢と一致するように制御を行なうように処理すれば実現可能である。位置と姿勢を環境CADデータベースの中で自動設定する方法としては、マスタがAIBOを持ち上げて教えたい場所にもって行き、ここが、○×の場所と教示するように構成しても良いし、AIBOが認識している部品パーツのある場所で指定して、その部品パーツに対して正対するとか、お尻を向けるとか、横並びするとか、幾つかのその部品に対する姿勢の種類の表現を決めておき、それで姿勢も指示できるように構成しても良い。自動車の場合には、目標地点のビルに横付けするとか、目標地点の駐車場へ後ろから入った姿勢などを入力して設定できるように構成すれば良い。自動車をバックで指定姿勢に移動させる場合には、後方を撮像する撮像装置を充実させておき、新たに生成された障害物なども安全に回避制御しながら目的の姿勢となって目的とする位置まで移動できるように構成する。途中の障害物に対しては、それらのパターンに応じた回避プログラムを準備するが、例えば、車が通過できるスペースがなく、用意されている回避プログラムでは回避困難であると判断した場合には、自動車を停止させ、実行困難な旨を出力してユーザ(マスタ)へ知らせるように構成する。また、自動車の自律走行制御の場合の優先順は、以下のようにするのが良い。
【0500】
1)歩行者の安全、2)搭乗者の安全、3)他の車の搭乗者の安全、4)周囲の建物や建造物の中の人の安全、5)自分自身(自車)の安全(但し、これを優先することが搭乗者優先となる場合が多い)、6)他の車の安全、7)周囲の建物や建造物の安全、の順番で安全を確保するために必要な運転操作を実行するプログラムを用意するようにする。
【0501】
また、壁掛けのアーム型ロボットは、コップを取るなどの作業ロボットであるので、作業が終了したならば終了の応答を返し、作業が実行できない場合には実行不可の応答を返すように構成する。また、AIBOなどのようなペットロボットを、自動車と同じような考え方で制御することにより、歩行者をナビゲートするようにして盲導犬ロボットとして適用することもできる。
【0502】
次に、第76の手段〜第78の手段の実施の形態を説明する。この実施の形態では、図68を参照して説明したペットロボットの構成に自律制御を行なうマイクロプロセッサ300とは独立系統の撮像装置である監視カメラ153aを設けている。この監視カメラ153aで撮像して生成した画像情報は、同じく独立系統の無線機153bを介して送信してマスタのモニタで監視することができるように構成する。ペットロボットがマスタの目の届く範囲にいる場合には、緊急時には、マスタが必要な対応をすることができる。また、部屋の中からペットロボットが物理的に出られないようになっていれば良いが、マスタの目の届かない外へ出て行けるような場合、あるいは他の家の庭などへ入っていってしまった場合には、ペットロボットが他の人に危害を加えたり、物を壊すなどの恐れがあるので、マスタの責任において常にペットロボットを監視できるようにすることが重要である。監視手段は、監視カメラに限るものではないが、監視カメラは直接に情景を撮像して伝えることができるので、状況を正しく判断できるようにするには監視カメラを設けることが望ましい。
【0503】
図68の実施の形態では、この監視カメラ152aは、ペットロボットの背中に搭載する構成を例示しているが、ペットロボットが動き回る場所に固定の監視カメラを設置し、この固定の監視カメラの画像情報信号に基づく映像で監視する構成としても良い。重要なことは、ペットロボットの自律制御装置であるマイクロプロセッサ300から切り離れた独立系であることである。この監視カメラとしてペットロボットの頭部のカメラを利用すると、この頭部は、マイクロプロセッサ300によって動作制御されて自律制御に必要な形態に動作することから、マスタが監視したい場所をマスタの意思で見ることができるように撮影させることが困難となる。監視カメラが全然違う場所を撮影していてマスタが現在の状況を正確に判断することができないような場合には、その時点で無線で緊急停止指令を制御装置(マイクロプロセッサ)300へ送信することができるように構成しても良いが、自律制御系が暴走している場合もあるので、自律制御系とは独立した系統の電源遮断機能へ直接送信することができるようにしておくのが良い。
【0504】
AIBOのようなペットロボットの場合には、頭部のカメラを代用しても良いが、もっと大きな人型のロボットの場合には、万一の場合の影響度も大きくなるので、体の各場所に独立系の監視カメラを設置し、万一の場合には、動力断や緊急停止指令を送れる構成としておくのが良い。自律歩行しているロボットは、突然に動力断すると、倒れてより危険な場合もあるので、マスタが危険と判断したならば、最優先のタスク処理として緊急停止の自動制御プログラムを起動し、周囲の状況を判断しながら自律的に安全に停止できるようにすることが望ましい。この緊急停止プログラムは、通常の自律制御(他のタスク)に影響されないようにすることが大事である。また、監視カメラも、通常の自律制御動作で監視が妨げられないようにすることが大事である。
【0505】
状況を判断することができないような事態では、マスタの責任で緊急停止プログラムを起動することになるので、独立系の監視カメラは、どのような状況でも適切に監視領域を撮影することができるように、自律制御系とは独立に設けておくことが望ましい。図68に例示したペットロボットでは、画像情報が無線機153bから正常に送信されていることをマイクロプロセッサ300へ知らせる信号線153cを設けた。これによって、自律制御の中で監視映像(画像情報)が正常に出力されない場合には、緊急停止プログラムを作動させてロボットの動きを停止させることができるようになる。図70に示したフローチャートの中では、第1優先タスクの処理155bの更に上位で最も優先度の高いタスク(第0優先タスク)の処理155gとして実行する。監視カメラで撮影して得た画像情報の映像を見ているマスタからの無線指令で緊急停止指令が入力された場合にも、同様に、先ず、このタスクが起動するように構成すると良いし、制御装置300とは全く別の独立した制御系で緊急停止制御を行なうように構成することでも良い。
【0506】
監視カメラから画像情報が正常に出力されていない場合には、自律制御系が正常であっても監視系がダウンしていることから、マスタによって安全監視ができなくなるので、ペットロボットが自ら緊急自動停止するように構成する。画像情報が監視カメラから正常に出ている場合には、マスタが監視しているので、マスタからの緊急停止信号で安全に停止させることができる。監視カメラの画像情報がマスタ側で正常に表示することができなくなった場合には、マスタによる監視ができていないということで、緊急停止させるようにした。無線機153bは、監視カメラ153aで撮影して得た画像情報をマスタ側へ送信し、マスタ側から画像情報が確かに届いたという応答を確認してマイクロプロセッサ300の側へ回線153cを使って正常であることを伝えるように構成することにより、万全な安全対策を施すことが可能となる。あとは、マスタが十分に監視しているかどうかのマスタの運用責任となる。
【0507】
自動車の場合には、マスタが同乗している場合には、マスタが自動走行状態を直接監視して、危険な場合には、マニアル運転に切り替えるとか、緊急釦を操作することにより、非常時対応処理(減速して安全に停止するプログラム)が実行されるようにように構成する。また、独立系の監視カメラを搭載し、カーナビやCADデータなどの情報も使って遠隔地で自動走行状態を監視するように構成しても良いし、この監視を自動監視することでも良い。また、マスタが第3者の監視代行機関へ監視業務を委託した場合には、その契約に基づき監視代行機関が責任をもって監視するような運用としても良い。
【0508】
図71は、第79の手段の実施の形態であるホームロボット(図69に示したアーム型ロボット)の制御系のブロック図である。
【0509】
アーム機構156fは、アーム154aと把持用ハンド154cによって構成した機構部であり、この機構部は、壁にかけられるように構成する。また、アーム154aの根本のベースケースの中には制御装置も収納する。この制御装置は、アーム機構156fの動作を制御する制御装置156eを備え、この制御装置156eにどのようにアーム154aを動かし、先端の把持用ハンド154cの位置と姿勢をどのように制御すれば良いかの目標指令を生成するマイクロプロセッサ300に相当する自律制御チップ156dを接続する。撮像装置10であるカメラは、アーム機構156fの先端に取り付け、このカメラ10で撮影して得た画像情報を画像情報処理装置(視覚誘導チップ)100に入力し、自律制御チップ156dは、画像情報処理装置100へ各種環境データの問い合わせなどを行い、その結果を得ることができるように構成する。
【0510】
そして、電源ONかスタート釦が押されると、自律制御チップ156dは、画像情報処理装置100にCADデータを生成させるために、アーム機構156fをいろいろと動かして先端のカメラ10で環境を撮影することにより、周囲の画像情報(環境データ)を生成するように構成する。このとき、アーム機構156fの動作範囲には障害物が存在しないように運用上考慮するように構成するか、自律制御チップ156dによる制御処理によって、最初はアーム機構156fを縮めた姿勢でカメラ10の向きをいろいろ変えて周囲の環境CADデータを生成し、この環境CADデータをチェックして周囲に障害物がないことを確認しながら、アーム機構156fの動作範囲を徐々に広げて広い範囲にカメラ10を移動させるように構成すると良い。
【0511】
アーム機構156fの操作範囲内に衝突する障害物が存在する場合には、それを避けるようにアーム機構156fを動かして、その障害物も含めていろいろな角度からカメラ10でできる限り近くから撮像するようにしてCADデータをできる限り精度良く正確に生成するようにアーム機構156fを制御する。
【0512】
予め家庭内で使用されることを想定して、家庭内に多くある、例えば、テーブル,椅子,踏み台,ビン,缶,バッグなどの標準部品の形状などを探索用CADデータとして登録しておく。テーブルや椅子などは、丸いものや四角いものなど、メーカなどによって形状が異なるので、全メーカの商品サンプルで探索用CADデータを準備しておいても良いが、代表的な形状のものを選抜して登録しておくようにすると良い。マスタ(住人の顔など)は、ユーザ(マスタ)が購入後にCADデータを生成して最初に登録するように構成する。この場合には、環境CADデータを生成させた後に、改めてセッティングしたアーム機構156fの正面にマスタが立っていろいろな角度から撮影させてCADデータを生成させ、それをマスタであると登録するように構成する。このようにすると、先に環境CADデータが生成されているので、新たに追加になったCADデータが新たに登録される名称の物体であるので、環境CADデータとの切り分けを容易に行なうことができる。
【0513】
同様にして、マスタ以外の個々の物品のCADデータも登録していくように構成しても良い。この場合には、最初は、部屋に何もない状況、あるいは見えないようにして部屋だけのCADデータを生成させ、できれば、床,壁,天井などに分けて登録できるようにするのが良い。そして、1つづつ、家具や小物を入れていき、その家具や小物の名前で登録していけば、前の環境と区別しながら新たに追加になった部分を登録部品の名称として対応付けし易くなる。
【0514】
また、この実施の形態では、マイク156aも把持用ハンド154cの部位に組み込み、マイク156aからの音声情報信号は、音声認識部156bで該音声認識部に予め登録されている言葉と比較して認識することができるように構成している。予め、認識可能な言葉の信号パターンは、製品出荷前に登録しておくように構成する。例えば、家庭に代表的なものの名称とか、前後上下左右の方向に関する言葉とか、把持用ハンド154cで掴むとか,放すとか,引くとか,上げるとか,押すなどのようにロボットの動作制御に関連する言葉は、少なくとも認識できるように登録しておくようにする。それで、例えば、マスタが「テーブルの上の青いコップを取って」と発声した場合には、マイク156aからこの音声信号が入力されるので、少なくとも音声認識部156bは、「テーブル」「の」「上」「の」「コップ」「取って」=「取る」という言葉を認識することができれば、自律制御チップ156dへのコマンド入力として、例えば、「対象物」=「テーブル」「の」「上」「の」「コップ」、「動作指令」=「取る」=「把持」して「マスタの前に移動」という指令を出力することができる。ここで、「取る」という言葉は、命令口調の場合、「取って」以外に「取れ」とか「取ってください」「取ってね」などがあるので、ある程度の語尾の変化も考慮して認識することができるように、全部の言葉を認識することができるように登録しておいて、それらのどれかが入力されたならば「取る」ということばに置き換えて処理することができるようにしておくと良い。
【0515】
ここで、自律制御チップ156dへの指令は、先ずは、単純に「対象物体」+「動作の種類」で構成するようにする。動作の種類は、掴むとか上げるとかであり、そのコマンドに対して、「掴む」は「把持用ハンド154cを把持動作させること」、「上げる」は「把持用ハンド154cを現在の位置からより上方へ上げること」などとロボットの動作制御をどうするかという内容と対応させて定義しておくことにより、予め用意した言葉に対してはそれに対応する動作プログラムを準備しておくことができる。「取る」という動作指令は、「把持する」そして「把持しているものをマスタの前に移動する」というように定義しておけば、「取って」という指令で「把持して」「こちらへ移動する」という動作を連続して行なわせることも可能となる。また、自律制御チップ156dへの指令を「対象物体」+「動作の種類」+「動作の形容1」+「動作の形容2」で構成するようにして、「動作の形容1」と「動作の形容2」は、省略可能なオペランドとすることで、例えば、「押す」=「ハンドを移動する」という動作の種類に対して「動作の形容1」=「右へ」、「動作の形容2」=「ゆっくり」という動作の仕方を指示できるようにすれば、今の状態から把持用ハンド154cを右側へゆっくり動作させる制御を行なわせることもできる。それで、自律制御チップ156dが指令を受け取ったならば、アーム機構156fなどを動作させて指令を具体的に実施するようにプログラムを用意する。テーブルの上の青いコップを取る場合には、先ずは、対象物を探索する。「の」で複数の言葉がある場合には最後のことば=「コップ」が対象であるので、ここでは、環境CADデータの中から探索用にコップのデータを読み出して画像情報処理装置100にその位置と姿勢を探索させる。探索結果が複数ある場合には、その中からテーブルの上かどうかを判別(テーブルを探索してテーブルの上面の座標値とカップの座標位置より上にあるものかを判断)したり、青いものを選択(これは探索したCADデータを色を確認して青でないものは対象外として青いコップを選ぶ)することで対象物の位置と姿勢を特定する。ここで、最初にテーブルを探索してその上にあるものを探すように構成しても良いし、予め探索用CADデータに青いコップを指定して青い色とコップという形状の両方がマッチングするものを探索させるようにしても良い。
【0516】
次に、把持用ハンド154cの現在位置をCADデータの探索またはカメラの位置と姿勢情報に基づいて入手して、対象のカップの位置と姿勢情報からそこまでのアーム機構156fの移動軌跡と把持用ハンド154cの最終位置決め位置と姿勢を定めて、その軌道に沿って目標位置と姿勢へ把持用ハンドが移動するように、自律制御チップ156dによってアーム機構制御装置156eへ各関節の動作指令にまでブレイクして出力する。このとき、把持用ハンド154cは、開の状態でアクセスする。
【0517】
次に、把持用ハンド154cを目標とする位置と姿勢、すなわちコップ154eを把持することができる位置へ位置決め完了したならば、把持用ハンド154cでカップ154eを把持し、移動するために少し持ち上げた後に、画像情報処理装置100にマスタの現在位置を探索させてその位置までカップ154eを把持したまま移動するように制御する。それで、「テーブルの上の青いコップを取って!」というマスタの指令に対する動作制御は終了するので、自律制御チップ156dは、正常に終了したことを音声認識・合成156bへ応答する。音声認識・合成156bは、予め用意している応答内容の中から適切なものを選んで、例えば、正常に指令が終了したときには「はい。は〜い。」と応答するように構成しておくことにより、用意してある言葉を音声合成してスピーカ156cより「はい。は〜い。」と発音してマスタへ応答する。また、途中で、どうしても指令実行不可能と判断した場合には、自律制御チップ156dからの応答は、「実行困難」という信号として、その応答を受けて音声認識合成部156bはスピーカ156cから「実行困難です。」という応答を返すように構成する。自律制御チップ156dが実行不可能な原因が分かっていて、その言葉も容易されているような場合には、実行困難な理由も発音してマスタ分かるようにすることができる。
【0518】
この実施の形態では、マスタからの指令を音声で入力することができ、マスタは、指令の実行結果を音声で確認することができるので、言葉による命令で容易に自立型ロボットを操作することができる。また、自動車の場合には、行きたい行き先を言えば、そこまで運行して着いたならば「どこそこへ着きました。」と応答してくれる自律制御型自動車となる。また、この音声で指示するシステムは、介護を必要とする人の補助を行なうロボットへ適用すれば、音声指示で指令を与えることができ、応答も音声で確認することができるようになるので、介護を必要とする人が一人でロボットを容易に操作することができるようになる。
【0519】
この実施の形態において、アーム先端の位置と姿勢情報は、先端のカメラによる撮影と画像情報処理装置100による処理で得ることができるので、例えば、6軸のアーム機構156fであれば、6軸の各関節のエンコーダなどの角度センサを省略して、画像情報処理装置100で得られる先端の位置と姿勢から各6軸の関節角度を計算して各軸のサーボ制御を行ように構成することにより合理的なものとすることができる。また、この場合、最初は、環境CADデータを生成するためにアーム機構156fに多少無駄な動作をさせるようにしたり、各関節の可動端センサを設けて該センサ情報程度を参考にしながらアーム機構156fの制御を行なうようにしても良い。また、この実施の形態は、壁掛式のアーム機構156fであるが、このアーム機構156fは、床面を走行する移動機構や予め各部屋内または複数の部屋間に設置されたレールに沿って移動可能に設置された台車に搭載したものとして、移動範囲をより広く構成しても良い。また、部屋の中で動作するアーム機構156fの本体部は、プラスチック製にすると共に各関節機構も過負荷で滑るように構成することにより、人に当たった場合でも安全に対処することができるようにしておくのが良い。
【0520】
図72〜図74を参照して第81の手段〜第84の手段の実施の形態を説明する。広範囲で高分解能の撮像装置は、高分解能のCCDセンサと魚眼レンズなどを組み合わせて撮影して生成した画像情報(映像)の歪を補正するように構成することにより実現することができるが、高分解能のCCDセンサの使用は困難であるので、この実施の形態では、比較的簡単に広視野の高分解能カメラ(撮像装置)を実現する手段を提案する。
【0521】
図72を参照してその基本構造を説明する。センサ部は、比較的高分解能が得られるCCDラインセンサ157cとレンズ157dを組み合わせて構成した複数組のセンサを組み合わせて構成する。この実施の形態では、一組のセンサで真下から水平までの90°の視野157mが得られるように構成する。このセンサ部は、真下から水平までの範囲を複数のセンサで分担するように構成すれば、1組のセンサの視野を更に狭くすることができるので分解能を上げることができる。CCDラインセンサ157cには、照明手段(例えばLED)をセットで実装しても良い。ステレオ視することができるようにするときには、水平方向に所定の間隔で2セットのラインセンサ157cを設置する。CCDラインセンサ157cからの画像情報信号は、画像処理LSI157iに入力し、マイコン157hからの指令に基づいて映像信号を生成して小形の無線ユニット157jを介して送信出力することができるように構成する。マイコン157hへの指令も無線ユニット157jを介して入力するように構成する。
【0522】
ラインセンサ157cとレンズ157dは、マイコン157h,画像処理LSI157i,無線ユニット157jなどと共にモータ部157aで回転できるように支持する。回転部は、軸受157bによって安定に回転することができるように支持する。モータ部157aは、外部電源へ繋がる電源コード157kから受電する。また、モータ部157aの回転を検出する回転センサ157fは、回転するラインセンサ157c側に取り付けて該回転センサ157fから出力する回転情報を画像処理LSI157iへ入力して同期信号として利用する。この回転センサ157fは、光学式エンコーダと同じように固定側に設けたスリットの明暗を電気信号に変換してそのパルス信号を入力するように構成する。回転センサ157fから出力するパルス信号に基づいて回転している位置を検出することができるので、その回転信号に合わせてラインセンサ157cから画像情報信号を出力させて画像処理LSI157iの中の画像メモリに書き込むようにすることにより、メモリ上には1回転したときに360°の画像情報を記録することができる。回転部分を高速回転させて画像情報信号をメモリへ上書きするようにすれば、動画情報も生成することができるようになる。このように、回転センサ157fのパルス信号で画像情報を生成するように構成すれば、モータ部157aの回転速度が多少変動したり、古くなって回転速度が変わっても、常に正常な画像情報をメモリへ書き込むことが可能となる。
【0523】
また、回転部分には、回転することにより発電する回転発電電源157gを設け、モータ部157aが回転するエネルギーの一部を電力に変換して回転部分に取り付けた部品の電力を供給するように構成する。回転発電電源157gの代わりにソーラーバッテリやマイクロ波などで回転部分で該回転部分で必要なエネルギーを発生できるようにすれば構成手段は問わない。
【0524】
このように構成することによって、通信用のスリップリングや電源供給ライン用のスリップリングを使用しないで長寿命型で広視野,高分解能の撮像装置を実現することができる。動作磨耗や動作損傷する可能性の高い部分は、回転するモータ部157aと軸受157bだけであり、その他の部分は回転しているものの基本的には駆動部分ではないので、信頼性の高い撮像装置とすることができる。
【0525】
この実施の形態は、このカメラを吊り下げて下方を撮影する場合を想定しているが、これを上下逆にすれば、下に設置して上方を撮影するように使用することができる。また、水平方向の視野の範囲を更に広くすれば、より広範囲な視野をカバーすることができるようになる。また、真下や真上は撮像しなくとも良ければ、それなりの視野の範囲となるようにラインセンサ157cとレンズ157dを傾けて取り付けるように構成すれば良い。上下を逆にした撮像装置は、自動車の屋根の上とか、運転席の隣の助手席に設置する撮像装置として適切である。また、下方を撮像する吊り下げ形の撮像装置は、飛行船などの下部へ設置したり、街灯に取り付けて上から路上を監視するようなカメラとして好適である。
【0526】
また、回転部分に診断センサ157eを設置し、この診断センサ157eから出力する診断信号をマイコン157hへ入力し、主要な構成部分が故障または故障しそうになった場合には、無線ユニット157jから異常警報信号を無線送信することができるように構成して、監視カメラとして使用する撮像装置が故障または故障しそうになった場合に、管理者へ直ぐに知らせることができるように構成すると良い。この診断センサ157eは、回転部分で寿命が心配されるモータ部157aや軸受157bを診断するように構成するのが良いが、画像情報信号が正常に出力されていることを確認できるような診断センサを設けるように構成しても良い。
【0527】
図73は、画像処理LSI157iの中の画像メモリに書き込んだ画像情報の概念を示している。横軸は、水平方向(回転方向)における基準位置である0°〜360°を示し、縦軸は、真下から水平までの範囲を読み込んで書き込んだ状態を示している。この画像メモリは、高分解能な画像情報を記憶しているので、通信回線の容量によっては、そのまま全部の情報を画像情報信号として出力するのは不都合である場合もあるので、画像情報信号を無線で受け取る側から無線でマイコン157hへどのような形態で画像情報信号を出力すれば良いかを指令できるようにする。通常は、図73に例示した画像情報の全体からデータを間引きして適切な分解能まで落として全部の撮像範囲の画像情報を出力するように構成しておき、マイコン157hへ部分的に場所を指定してその部分を拡大(ズームアップ)した画像情報信号として出力させる指令が与えられときには、間引きしないで該当部分の高分解能な画像情報信号をそのままの解像度で出力するように構成すると良い。例えば、図73のエリア158bが指定されたときには、エリア158bの範囲の画像情報のみを高分解の画像情報信号で出力する。このようにすれば、必要部分だけの情報を詳細に取り出すことができるようになる。勿論、合成処理を適切に行なえば、回転させるCCDラインセンサ157cを2次元のCCDセンサとすることもできる。
【0528】
図74は、図72および図73を参照して説明した実施の形態を更に発展させて構成した視覚情報処理装置であり、回転部分に画像情報処理装置100および記憶装置200を搭載した実施の形態である。画像情報処理装置100は、画像処理LSI157iから出力される画像情報を入力してCADデータを生成して記憶装置200に記憶させる構成である。
【0529】
この視覚情報処理装置を車などに搭載して移動させることにより、ラインセンサ157cとレンズ157dを回転させて広い範囲の環境を高分解能で撮影して画像情報を生成し、画像情報処理装置100によって環境CADデータを生成して記憶装置100に蓄積することができる。マイコン157hから画像情報処理装置100への信号ライン159aは、画像情報処理装置100で実行するCADデータの生成やCADデータの探索処理やマッチング処理やCADデータの中の検索対象を追跡するような処理やその結果を無線出力させる処理をマイコン157hから指令する信号ラインである。
【0530】
この視覚情報処理装置において、画像情報処理装置100と記憶装置200は、必ずしも回転部分に搭載する必要はなく、静止部分に設置し、無線ユニット157jから送信出力される画像情報信号を受信して画像情報処理装置100へ入力するように構成しても良い。
【0531】
また、このように画像情報処理装置100と記憶装置200を内蔵した視覚情報処理装置に図72を参照して説明した撮像装置を組み合わせ、複数の画像情報を総合的に処理して環境をCADデータ化するように構成しても良い。この構成は、ステレオ視に構成したラインセンサを回転させるよりもラインセンサの間隔を広く取ることができるので、遠くの3D計測精度をより良くすることができる。
【0532】
図75を参照して第85の手段および第86の手段の実施の形態を説明する。この実施の形態は、視覚情報処理装置(端末)を搭載した複数の自動車が全国の道路網を任意に走り回って環境を撮影して得た画像情報に基づいて生成した環境CADデータを中央情報処理センタに送信し、中央情報処理センターでは、各端末から受信した環境CADデータを統合処理して全国的な環境CADデータを生成し、各端末からの要求に応じて該端末に配信するサービスシステムである。
【0533】
撮像装置と画像情報処理装置を備えた端末(視覚情報処理装置)160a〜160cを搭載した複数の自動車が全国の町中を任意に走行しながら各端末160a〜160cが周囲を撮像して得た画像情報に基づいてCADデータを生成して中央情報処理センタ160eに無線送信し、中央情報処理センタ160eは、受信したCADデータを統合処理することにより、全国の道路網の周辺のCADデータを生成する。また、各端末160a,160b,160cは、現在の情報(主として、位置や姿勢情報)も中央情報処理センタ160eに送信する。そして、中央情報処理センタ160eは、統合して生成した環境CADデータや他の端末の情報を各端末からの要求に応じて該端末160a〜160cに配信する。ここで、端末160a〜160cとして前述した視覚情報処理装置を使用すれば、CADデータを容易に生成および統合することができるようになる。
【0534】
このシステムのサービス料は、各端末(ユーザ)160a〜160cを登録制にして月会費や年会費として徴収する方法や、統合したCADデータの利用時間とか利用データ量で料金を加算して徴収する方法を採用することができる。
【0535】
また、このシステムは、視覚情報処理装置の端末をもたないユーザであっても、パソコンなどの端末160dからインターネットなどを介して中央情報処理センタ160eにアクセスし、統合されたCADデータを有償で利用することができるように構成することができる。また、CDなどの記録媒体を使用して統合したCADデータをユーザへ供給するようにすることもできる。
【0536】
図76を参照して第87の手段および第88の手段の実施の形態を説明する。この実施の形態は、環境監視サービスシステムである。
【0537】
街灯161aなどに監視カメラ161bを設置する。この監視カメラ161bは、図72を参照して説明した広い範囲を高分解能で撮影することができる撮像装置であることが望ましい。監視カメラ161bは、撮影して生成した画像情報を無線通信で監視センタ161gへ送信することができるように構成する。無線通信手段は、携帯電話の回線を使用して構成することにより、監視カメラ161bで撮影した画像情報を電話会社161eとネットワーク回線161fを介して監視センタ161gに送ることができるようにする。
【0538】
監視サービスを求めるユーザは、例えばPHSや携帯電話で監視センタ161gへ監視サービス(監視サービスON)を申し込むように構成する。監視センタ161gは、携帯電話やPHSの通信経路を参照してユーザの位置の概略を求めた後に監視カメラ161bからの画像情報に基づく映像を使ってユーザを特定し、このユーザの環境を撮影して安全性を監視するサービスである。ユーザが移動すれば、それに追従して撮像領域を移動する。ユーザの追跡は、画面(画像情報)上で捕らえたユーザの画像情報を画像処理して自動追跡で行なうように構成する。複数の監視カメラ161bの撮像領域にまたがってユーザが移動する場合には、両方の監視カメラ161bの画像情報で重複して監視する状態が生じても連続して監視することができるように構成する。
【0539】
このように構成することで、ユーザが不審者161dから危害を受けそうになった場合には、監視センタ161gから警察へ通報するとか、監視カメラ161bに併設したスピーカから不審者161dに警告して、危害が加えられるのを未然に防止することができるようにする。危害を受けたような場合には、そのときの画像情報を監視センター161gに記録しておくことにより、危害を加えた不審者を特定するときに参照することができる。
【0540】
ユーザが、図65を参照して説明したようなウエラブルな監視カメラを身につけ、その監視カメラで撮影して得た画像情報を監視センタ161gに送って監視サービスを受けられるように構成すれば、監視カメラが設置されていない場所でも監視サービスを受けることができるようになる。
【0541】
この監視サービスシステムは、前述した視覚情報処理装置を使用して生成した3次元のCADデータの時系列の変化情報として記録するように構成すれば、より正確に現場の状況を監視したり、不審者を特定するための情報を提供することが可能になる。
【0542】
サービス料金は、サービス時間と連動するように電話の通話量として徴収する方法や会費制として徴収する方法を採用することができる。
【0543】
【発明の効果】
以上のように、本発明によれば、撮像装置を移動させながら撮影して得た画像情報に基づいてCADデータを生成し、既成のCADデータと同一の対象部分について精度の高いCADデータが生成されたときには該既成のCADデータを新成CADデータで更新するように構成しているので、最初に複数枚の写真の中の対応する特徴点を人が入力設定しないで済むようにしたり、テクスチャマッピングをしないで正確なCADデータを生成させることや、最初はそれなりの精度でCADデータを生成させて最初からロボットなどの制御に利用することができるようにすることや、複数の撮像装置で撮影して得た画像情報に基づいて生成したCADデータを統合させることが容易にできるようになり、更に、アズビルトのCADデータを生成したのちに、あるいは生成しながら、任意のCADデータを探索させる機能と組み合わせて、ロボット等自動機械の視覚誘導制御装置や自動車などのナビゲーションシステムに適用することや、自律制御型ロボットなどに適用することなども容易に行なえるようになる。すなわち、アズビルト3D−CADデータをリアルタイムで自動生成可能とし、また、CADデータの探索機能と組み合わせて、ロボット等の各種自動機械の視覚誘導制御装置として、また、ナビゲーションシステムなどとして適用可能な視覚情報処理装置及びその応用システムを得ることができる。
【図面の簡単な説明】
【図1】本発明の視覚情報処理装置における第1の手段および第2の手段の基本構成を示すブロック図である。
【図2】本発明の視覚情報処理装置における第3の手段および第4の手段の基本構成を示すブロック図である。
【図3】第3の手段および第4の手段を実現する画像情報処理装置の処理の基本的な流れを示すフローチャートである。
【図4】図3に示した処理(1)の内容を例示する図面である。
【図5】図3に示した処理(2)の内容を例示する図面である。
【図6】図3に示した処理(3)の内容を例示する図面である。
【図7】図3に示した処理(4)の内容を例示する図面である。
【図8】図3に示した処理(5)の内容を例示する図面である。
【図9】CADデータとして生成される浮遊線分の活用の概念を示す図である。
【図10】円筒や球体のCADデータとして生成される浮遊線分の活用の概念を示す図である。
【図11】特殊曲面のCADデータとしての定義の一例を示す図である。
【図12】本発明の第1の手段,第2の手段,第3の手段においてCADデータを更新する場合の実施の形態を示す概念図である。
【図13】本発明の第5の手段の実施の形態を示す概念図である。
【図14】本発明の第8の実施の形態における色情報を用いて輪郭を抽出する概念図である。
【図15】本発明の第13の手段〜第18の手段の実施の形態を示す概念図である。
【図16】本発明の第13の手段〜第18の手段の実施の形態を示す概念図である。
【図17】本発明における鏡面判別処理のフローチャートである。
【図18】図17に示した鏡面判別処理によって判別することができる内容を示す図である。
【図19】本発明の第19の手段〜第21の手段の実施の形態を説明する画像情報である。
【図20】本発明の第22の手段〜第26の手段の実施の形態を示すブロック図である。
【図21】本発明の第27の手段〜第29の実施の形態を示すブロック図である。
【図22】本発明の第27の手段〜第29の他の実施の形態を示すブロック図である。
【図23】本発明の第27の手段〜第29の手段の更に他の実施の形態を示すブロック図である。
【図24】本発明の第27の手段〜第29の手段の更に他の実施の形態を示すブロック図である。
【図25】本発明の第27の手段〜第29の手段をロボット制御専用の視覚情報処理装置として実施する場合の視覚情報処理装置の処理の実施の形態を示すフローチャートである。
【図26】本発明の第30の手段、第33の手段、第34の手段および第39の手段の実施の形態を説明する概念図である。
【図27】本発明の第30の手段、第33の手段、第34の手段および第39の手段の実施の形態を説明する概念図である。
【図28】本発明の第31の手段および第32の手段の実施の形態を説明する概念図である。
【図29】本発明の第35の手段〜第38の手段の実施の形態を説明する概念図である。
【図30】本発明の第35の手段〜第38の手段の実施の形態を説明する概念図である。
【図31】本発明の第35の手段〜第38の手段の実施の形態を説明する概念図である。
【図32】本発明の第35の手段〜第38の手段の実施の形態を説明する概念図である。
【図33】本発明の第40の手段および第41の手段の実施の形態を説明する概念図である。
【図34】本発明の第42の手段の実施の形態である視覚情報処理装置のブロック図である。
【図35】本発明の第43の手段〜第50の手段の実施の形態を説明する概念図である。
【図36】本発明の第43の手段〜第50の実施の形態における表示画面である。
【図37】本発明の第51の手段の実施の形態である視覚情報処理システムの基本的な構成を示すブロック図である。
【図38】図37に示した視覚情報処理システムにおける移動情報取得のためのCADデータの概念図である。
【図39】図37に示した視覚情報処理システムにおける移動情報取得のためのCADデータの概念図である。
【図40】図37に示した視覚情報処理システムにおける移動情報取得のためのCADデータの概念図である。
【図41】図37に示した視覚情報処理システムにおける移動情報取得のためのCADデータの概念図である。
【図42】本発明の第52の手段の実施の形態である移動作業車の模式図である。
【図43】本発明の第53の手段および第54の手段の実施の形態を説明する概念図である。
【図44】本発明の第55の手段〜第57の手段の実施の形態を説明する概念図である。
【図45】本発明の第58の手段の実施の形態である視覚情報処理装置のブロック図である。
【図46】図45に示した実施の形態における視覚誘導チップが実行するメイン処理のフローチャートである。
【図47】図45に示した実施の形態における視覚誘導チップが実行するメイン処理のフローチャートである。
【図48】図47に示した処理(2)における3D座標計算,CADデータ生成処理の詳細なフローチャートである。
【図49】図48に示した処理(4)と処理(9)の3D−CAD生成処理における追加生成処理の詳細なフローチャートである。
【図50】図48に示した処理(4)と処理(9)の3D−CAD生成処理における点データ更新処理の詳細なフローチャートである。
【図51】図48に示した処理(4)と処理(9)の3D−CAD生成処理における線分データの更新および追加処理の詳細なフローチャートである。
【図52】図48に示した処理(4)と処理(9)の3D−CAD生成処理における面データの更新および追加処理の詳細なフローチャートである。
【図53】図49〜図52に示した3D−CADデータ生成処理におけるデータ更新の概念図である。
【図54】図49〜図52に示した3D−CADデータ生成処理における新規なデータの生成と更新の概念を一般的な図形の生成と更新の概念に当てはめて描いた図である。
【図55】本発明の第59の手段の実施の形態である移動作業車の模式図である。
【図56】本発明の第60の手段の実施の形態である視覚情報処理システムの模式図である。
【図57】本発明の第61の手段および第62の手段の実施の形態であるマニピュレータの模式図である。
【図58】本発明の第62の手段の実施の形態である水中ROVの模式図である。
【図59】本発明の第62の手段の実施の形態である自動掃除機の模式図である。
【図60】本発明の第63の手段の実施の形態である文字読み取り装置の模式図である。
【図61】本発明の第64の手段〜第66の手段である3次元計測装置の模式図である。
【図62】本発明の第67の手段の実施の形態を説明する概念図である。
【図63】本発明の第68の手段の実施の形態であるナビゲーション装置を説明する概念図である。
【図64】本発明の第69の手段の実施の形態であるカーナビゲーション装置におけるLCDモニタの表示画面である。
【図65】歩行者が装着するナビゲーション装置の実施の形態を説明する模式図である。
【図66】本発明の第70の手段の実施の形態であるピッキングシステムのブロック図である。
【図67】本発明の第71の手段および第72の手段の実施の形態である検査装置の模式図である。
【図68】本発明の第73の手段〜第79の手段の実施の形態であるホームロボットのブロック図である。
【図69】本発明の第73の手段〜第79の手段の実施の形態であるホームロボットの模式図である。
【図70】図68に示したペットロボットのマイクロプロセッサが実行する自律制御処理のフローチャートである。
【図71】図69に示したホームロボットのブロック図である。
【図72】本発明の第80の手段〜第84の手段の実施の形態である撮像装置の模式図である。
【図73】図72に示した撮像装置の画像メモリに書き込んだ画像情報の概念図である。
【図74】本発明の第80の手段〜第84の手段の実施の形態である視覚情報処理装置の模式図である。
【図75】本発明の第85の手段と第86の手段の実施の形態であるサービスシステムの模式図である。
【図76】本発明の第87の手段および第88の手段の実施の形態である環境監視サービスシステムの模式図である。
【符号の説明】
10,10a,10b,20…撮像装置(カメラ)、30…加速度センサ、40…ジャイロセンサ、100,120a,120b,120c…画像情報処理装置、200…記憶装置。

Claims (32)

  1. 移動可能な撮像装置で物体を撮影して得た画像情報を入力して前記物体のCADデータを生成する画像情報処理装置と、生成したCADデータを記憶する記憶装置を備えた視覚情報処理装置において、
    前記画像情報処理装置は、生成した新生CADデータが既に生成されている既成CADデータの更新対象となるかどうかを判別する更新対象判別処理機能と、更新対象となる既成CADデータと新生CADデータの精度を比較するCADデータ精度比較処理機能と、新生CADデータの精度が更新対象となる既成CADデータの精度よりも高いときには該既成CADデータを新生CADデータで更新するCADデータ更新処理機能を有することを特徴とする視覚情報処理装置。
  2. 移動可能な撮像装置で物体を撮影して得た画像情報を入力して前記物体のCADデータを生成する画像情報処理装置と、生成したCADデータを記憶する記憶装置を備えた視覚情報処理装置において、
    前記画像情報処理装置は、CADデータの輪郭線と実際の線を区別するようにしたことを特徴とする視覚情報処理装置。
  3. 移動可能な撮像装置で物体を撮影して得た画像情報を入力して前記物体のCADデータを生成する画像情報処理装置と、生成したCADデータを記憶する記憶装置を備えた視覚情報処理装置において、
    前記画像情報処理装置は、CADデータに該CADデータを生成した時間に関する情報をもたせるように構成したことを特徴とする視覚情報処理装置。
  4. 請求項3において、画像情報処理装置は、CADデータ更新時に前のCADデータを残すようにしたことを特徴とする視覚情報処理装置。
  5. 移動可能な撮像装置で撮影して得た画像情報を入力して前記物体のCADデータを生成する画像情報処理装置と、生成したCADデータを記憶する記憶装置を備えた視覚情報処理装置において、
    前記画像情報処理装置は、透過する面または鏡面と判断される面を鏡面的な面として仮定した場合に反射する先の虚像と対応する位置に該虚像の実像と判断されるCADデータが存在する場合に当該面を鏡面的な面と識別する鏡面識別手段を備えたことを特徴とする視覚情報処理装置。
  6. 請求項1〜5の1項において、前記画像情報処理装置は、生成されるCADデータに対して、形状,大きさ,色等の幾何学的パターンで、あるいは発生する周期などの時間的なパターンで、あるいは前記幾何学的なパターンと時間的なパターンの両方で当該パターンに相当するCADデータを抽出し、抽出したCADデータは処理の対象外とするようにしたことを特徴とする視覚情報処理装置。
  7. 請求項1〜6の1項において、複数の撮像装置で撮影して得た画像情報を入力する複数の画像情報処理装置を備え、夫々が生成および更新したCADデータを統合するようにしたことを特徴とする視覚情報処理装置。
  8. 請求項1〜7の1項において、前記視覚情報処理装置は、生成および更新したCADデータを授受する手段を備え、画像情報処理装置は、他の視覚情報処理装置から取得したCADデータを統合する画像情報処理機能を備えたことを特徴とする視覚情報処理。
  9. 請求項1〜8の1項において、前記視覚情報処理装置は、移動する撮像装置の位置または姿勢あるいはその両方を求める機能と、求めた位置情報または姿勢情報あるいはその両方を出力する機能を有することを特徴とする視覚情報処理装置。
  10. 請求項9において、前記視覚情報処理装置は、外部から入力する指令信号の所定のタイミングにより移動する撮像装置の位置または姿勢情報あるいはその両方を出力することを特徴とする視覚情報処理装置。
  11. 移動可能な撮像装置によって物体を撮影して得た画像情報を入力して前記物体のCADデータを生成する画像情報処理装置と、生成したCADデータを記憶する記憶装置を備えた視覚情報処理装置において、前記画像情報処理装置は、CADデータの探索指令信号を入力とし、その指令信号に基づきCADデータを探索する探索機能と、探索したCADデータの情報を出力する機能を有することを特徴とする視覚情報処理装置。
  12. 請求項11において、前記探索機能は、基本図形で探索する探索機能および/または探索用に読み出したCADデータで探索する探索機能を有することを特徴とする視覚情報処理装置。
  13. 請求項12において、探索用に読み出すCADデータは、予め対象物体毎にいろいろな角度から撮影して生成するようにしたものであることを特徴とした視覚情報処理装置。
  14. 請求項11〜13の1項において、探索にはCADデータの幾何情報の特徴量および/または色情報の特徴量を利用するようにしたことを特徴とする視覚情報処理装置。
  15. 請求項11〜14の1項において、前記探索機能は、スケールファクタを可変にして形状の近いものを探索するようにしたことを特徴とする視覚情報処理装置。
  16. 請求項11〜15の1項において、前記画像情報処理装置は、基本図形または探索用のCADデータと所定の閾値に基づきマッチングした部分を特定の名前(ID)を付けて管理するようにしたことを特徴とする視覚情報処理装置。
  17. 請求項11〜16の1項において、前記画像情報処理装置は、探索時に知識データを利用するようにしたことを特徴とする視覚情報処理装置。
  18. 移動可能な撮像装置で物体を撮影して得た画像情報を入力して前記物体のCADデータを生成する画像情報処理装置と、生成したCADデータを記憶する記憶装置を備えた視覚情報処理装置において、
    前記画像情報処理装置は、画像情報に基づいて撮像装置の移動情報を求めることができるときには入力する画像情報を処理して該撮像装置の位置と姿勢情報を求め、画像情報に基づいて撮像装置の移動情報を求めることができないときには撮像装置の移動情報信号または移動制御情報に基づいて該撮像装置の位置と姿勢情報を求めてCADデータ生成に使用する機能と、生成した新生データが既に生成されている既成CADデータの更新対象となるかどうかを判別する更新対象判別処理機能と、更新対象となる既成CADデータと新生CADデータの精度を比較するCADデータ精度比較処理機能と、新生CADデータの精度が更新対象となる既成CADデータの精度よりも高いときには該既成CADデータを新生CADデータで更新するCADデータ更新処理機能を有することを特徴とする視覚情報処理装置。
  19. 請求項1〜18の1項において、前記画像情報処理装置は、撮像装置および/または該撮像装置を移動する移動体の移動情報または移動制御情報を参照して画像情報における対象物体が動いているか停止しているかを判断する機能を有することを特徴とする視覚情報処理装置。
  20. 請求項1〜19の1項に記載した視覚情報処理装置を適用したことを特徴とするマニピュレータ,移動ロボット,文字読み取り装置,物体認識装置,計測装置,CADデータ生成装置,ナビゲーション装置,検査装置,ピッキング装置,自律制御型ロボット,監視装置,自動車,船,飛行機などのシステム。
  21. ナビゲーション装置において、
    当該ナビゲーション装置(1)とは別の1つまたは複数の他のナビゲーション装置(2)あるいは該ナビゲーション装置(2)に接続されているセンサまたは該ナビゲーション装置(2)の移動体に関する位置および/または姿勢情報を当該ナビゲーション装置(1)に取り込み可能または相互に授受可能にしたことを特徴とするナビゲーション装置。
  22. ナビゲーション装置の制御装置において、
    当該ナビゲーション装置(1)とは別の1つまたは複数の他のナビゲーション装置(2)あるいは該ナビゲーション装置(2)に接続されているセンサまたは該ナビゲーション装置(2)の移動体に関する位置および/または姿勢情報を当該ナビゲーション装置(1)に取り込み可能または相互に授受可能にしたことを特徴とするナビゲーション装置の制御装置。
  23. 自律制御型ロボットにおいて、
    自律制御系とは別の独立系統によって該ロボットの動作の安全性を監視できるようにしたことを特徴とする自律制御型ロボット。
  24. 自律制御型ロボットの制御装置において、
    自律制御系とは別の独立系統によって該ロボットの動作の安全性を監視できるようにしたことを特徴とする自律制御型ロボットの制御装置。
  25. 自律制御型ロボットにおいて、
    ロボットの安全監視中に緊急対応が必要となった場合に自律制御系とは別の独立系統によって該ロボットの緊急対応制御を行なうことができるようにしたことを特徴とする自律制御型ロボット。
  26. 自律制御型ロボットの制御装置において、
    ロボットの安全監視中に緊急対応が必要となった場合に自律制御系とは別の独立系統によって該ロボットの緊急対応制御を行なうことができるようにしたことを特徴とする自律制御型ロボットの制御装置。
  27. 請求項20において、マンマシンインタフェースの部分に音声認識機能および/または音声合成機能をもたせたことを特徴とするシステム。
  28. 請求項20に記載したシステムの制御装置において、マンマシンインタフェースの部分に音声認識機能および/または音声合成機能をもたせたことを特徴とするシステムの制御装置。
  29. 回転可能に設けた1次元または2次元のセンサと、このセンサと共に回転するように設けられて該センサの回転に同期させて該センサの信号を取り込んで画像情報信号として出力する信号処理回路を備えたことを特徴とする撮像装置。
  30. 複数の端末から送られてくる情報を情報処理センタで統合し、統合した情報をユーザに提供する情報統括提供サービスシステムにおいて、
    前記情報は、CADデータまたはCADデータと端末の状態情報を含むことを特徴とする情報統括提供サービスシステム。
  31. 1つまたは複数の端末から送られてくる情報を情報処理センタで統括監視する監視サービス提供システムにおいて、
    ユーザからのリクエストにより監視対象ユーザを探索し、監視中は監視対象ユーザを追跡し、監視対象ユーザおよびその周辺を連続して監視するようにしたことを特徴とする監視サービス提供システム。
  32. 請求項1〜19の1項に記載した視覚情報処理装置を適用したことを特徴とするマニピュレータ,移動ロボット,文字読み取り装置,物体認識装置,計測装置,CADデータ生成装置,ナビゲーション装置,検査装置,ピッキング装置,自律制御型ロボット,監視装置,自動車,船,飛行機などの制御装置。
JP2002368134A 2002-12-19 2002-12-19 視覚情報処理装置および適用システム Expired - Fee Related JP3965686B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002368134A JP3965686B2 (ja) 2002-12-19 2002-12-19 視覚情報処理装置および適用システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002368134A JP3965686B2 (ja) 2002-12-19 2002-12-19 視覚情報処理装置および適用システム

Related Child Applications (3)

Application Number Title Priority Date Filing Date
JP2006258168A Division JP2007098567A (ja) 2006-09-25 2006-09-25 自律制御型ロボットおよびその制御装置
JP2006258169A Division JP2007068195A (ja) 2006-09-25 2006-09-25 監視サービス提供システム
JP2006258167A Division JP2007048306A (ja) 2006-09-25 2006-09-25 視覚情報処理装置および適用システム

Publications (2)

Publication Number Publication Date
JP2004201085A true JP2004201085A (ja) 2004-07-15
JP3965686B2 JP3965686B2 (ja) 2007-08-29

Family

ID=32764798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002368134A Expired - Fee Related JP3965686B2 (ja) 2002-12-19 2002-12-19 視覚情報処理装置および適用システム

Country Status (1)

Country Link
JP (1) JP3965686B2 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006250917A (ja) * 2005-02-14 2006-09-21 Kazuo Iwane 高精度cv演算装置と、この高精度cv演算装置を備えたcv方式三次元地図生成装置及びcv方式航法装置
JP2007272420A (ja) * 2006-03-30 2007-10-18 Toyota Central Res & Dev Lab Inc 対象物検出用データ生成装置、方法及びプログラム並びに対象物検出装置、方法及びプログラム
JP2009537915A (ja) * 2006-05-24 2009-10-29 ドクター ワース グラフィッシェ テクニック ゲーエムベーハー アンド カンパニー カーゲー 画像情報生成方法
JP2014109480A (ja) * 2012-11-30 2014-06-12 Mitsutoyo Corp Xyz直交測定装置
JP5821012B2 (ja) * 2013-05-31 2015-11-24 パナソニックIpマネジメント株式会社 モデリング装置、3次元モデル生成装置、モデリング方法、プログラム、レイアウトシミュレータ
JP2016158186A (ja) * 2015-02-26 2016-09-01 カシオ計算機株式会社 撮像装置、撮像方法、撮像プログラム
KR101910484B1 (ko) 2015-06-26 2018-10-22 코그넥스코오포레이션 3차원(3d) 비전 검사를 위한 방법
JP2019179540A (ja) * 2018-03-30 2019-10-17 東京ガスiネット株式会社 情報処理システム及びプログラム
JP2019179542A (ja) * 2018-03-30 2019-10-17 東京ガスiネット株式会社 情報処理システム及びプログラム
JP2020119398A (ja) * 2019-01-25 2020-08-06 株式会社ソニー・インタラクティブエンタテインメント 画像解析システム
CN112748452A (zh) * 2020-12-11 2021-05-04 上海城市交通设计院有限公司 一种基于路网数据的gps轨迹清洗方法
US11095871B2 (en) * 2018-04-26 2021-08-17 Canon Kabushiki Kaisha System that generates virtual viewpoint image, method and storage medium
US11158039B2 (en) 2015-06-26 2021-10-26 Cognex Corporation Using 3D vision for automated industrial inspection
CN116193065A (zh) * 2023-04-23 2023-05-30 昆明瑶培科技有限公司 无纸化办公用视频会议视话系统

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006250917A (ja) * 2005-02-14 2006-09-21 Kazuo Iwane 高精度cv演算装置と、この高精度cv演算装置を備えたcv方式三次元地図生成装置及びcv方式航法装置
JP2007272420A (ja) * 2006-03-30 2007-10-18 Toyota Central Res & Dev Lab Inc 対象物検出用データ生成装置、方法及びプログラム並びに対象物検出装置、方法及びプログラム
JP4719605B2 (ja) * 2006-03-30 2011-07-06 株式会社豊田中央研究所 対象物検出用データ生成装置、方法及びプログラム並びに対象物検出装置、方法及びプログラム
JP2009537915A (ja) * 2006-05-24 2009-10-29 ドクター ワース グラフィッシェ テクニック ゲーエムベーハー アンド カンパニー カーゲー 画像情報生成方法
JP2014109480A (ja) * 2012-11-30 2014-06-12 Mitsutoyo Corp Xyz直交測定装置
JP5821012B2 (ja) * 2013-05-31 2015-11-24 パナソニックIpマネジメント株式会社 モデリング装置、3次元モデル生成装置、モデリング方法、プログラム、レイアウトシミュレータ
JP2016158186A (ja) * 2015-02-26 2016-09-01 カシオ計算機株式会社 撮像装置、撮像方法、撮像プログラム
KR101910484B1 (ko) 2015-06-26 2018-10-22 코그넥스코오포레이션 3차원(3d) 비전 검사를 위한 방법
US11158039B2 (en) 2015-06-26 2021-10-26 Cognex Corporation Using 3D vision for automated industrial inspection
JP2019179540A (ja) * 2018-03-30 2019-10-17 東京ガスiネット株式会社 情報処理システム及びプログラム
JP2019179542A (ja) * 2018-03-30 2019-10-17 東京ガスiネット株式会社 情報処理システム及びプログラム
JP7088721B2 (ja) 2018-03-30 2022-06-21 東京ガスiネット株式会社 情報処理システム及びプログラム
JP7439197B2 (ja) 2018-03-30 2024-02-27 東京ガスiネット株式会社 情報処理システム及びプログラム
US11095871B2 (en) * 2018-04-26 2021-08-17 Canon Kabushiki Kaisha System that generates virtual viewpoint image, method and storage medium
JP2020119398A (ja) * 2019-01-25 2020-08-06 株式会社ソニー・インタラクティブエンタテインメント 画像解析システム
JP7190919B2 (ja) 2019-01-25 2022-12-16 株式会社ソニー・インタラクティブエンタテインメント 画像解析システム
CN112748452B (zh) * 2020-12-11 2022-09-23 上海城市交通设计院有限公司 一种基于路网数据的gps轨迹清洗方法
CN112748452A (zh) * 2020-12-11 2021-05-04 上海城市交通设计院有限公司 一种基于路网数据的gps轨迹清洗方法
CN116193065A (zh) * 2023-04-23 2023-05-30 昆明瑶培科技有限公司 无纸化办公用视频会议视话系统
CN116193065B (zh) * 2023-04-23 2023-09-29 昆明瑶培科技有限公司 无纸化办公用视频会议视话系统

Also Published As

Publication number Publication date
JP3965686B2 (ja) 2007-08-29

Similar Documents

Publication Publication Date Title
JP2007098567A (ja) 自律制御型ロボットおよびその制御装置
CN111897332B (zh) 一种语义智能变电站机器人仿人巡视作业方法及系统
JP2006003263A (ja) 視覚情報処理装置および適用システム
JP3965686B2 (ja) 視覚情報処理装置および適用システム
WO2020223974A1 (zh) 更新地图的方法及移动机器人
US9517559B2 (en) Robot control system, robot control method and output control method
US20170318407A1 (en) Systems and Methods for Generating Spatial Sound Information Relevant to Real-World Environments
US7598976B2 (en) Method and apparatus for a multisensor imaging and scene interpretation system to aid the visually impaired
CN109643127A (zh) 构建地图、定位、导航、控制方法及系统、移动机器人
WO2017168899A1 (ja) 情報処理方法および情報処理装置
Wulf et al. Colored 2D maps for robot navigation with 3D sensor data
WO2016184255A1 (zh) 一种视觉定位装置及基于该装置的三维测绘系统及方法
CN202255404U (zh) 一种室内移动机器人双目视觉导航系统
CN109828658B (zh) 一种人机共融的远程态势智能感知系统
JP2007257226A (ja) 移動体の自己位置検出装置および位置検出システム
CN106162144A (zh) 一种用于夜视环境的视觉图像处理设备、系统和智能机器
CN106289285A (zh) 一种关联场景的机器人侦察地图及构建方法
CN113116224A (zh) 机器人及其控制方法
WO2023125363A1 (zh) 电子围栏自动生成方法、实时检测方法及装置
JP4624000B2 (ja) 複合人工知能装置
WO2021117543A1 (ja) 情報処理装置、情報処理方法、プログラム
JP2007048306A (ja) 視覚情報処理装置および適用システム
JP2007068195A (ja) 監視サービス提供システム
CN206399422U (zh) 多功能视觉传感器及移动机器人
CN112785564A (zh) 一种基于机械臂的行人检测跟踪系统与方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070330

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070520

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100608

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110608

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110608

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120608

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120608

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130608

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees