JP2021102253A - 画像処理装置、ロボットシステム、及び画像処理方法 - Google Patents

画像処理装置、ロボットシステム、及び画像処理方法 Download PDF

Info

Publication number
JP2021102253A
JP2021102253A JP2019234841A JP2019234841A JP2021102253A JP 2021102253 A JP2021102253 A JP 2021102253A JP 2019234841 A JP2019234841 A JP 2019234841A JP 2019234841 A JP2019234841 A JP 2019234841A JP 2021102253 A JP2021102253 A JP 2021102253A
Authority
JP
Japan
Prior art keywords
image data
projected
projection
image
data
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.)
Pending
Application number
JP2019234841A
Other languages
English (en)
Inventor
潤 和田
Jun Wada
潤 和田
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2019234841A priority Critical patent/JP2021102253A/ja
Publication of JP2021102253A publication Critical patent/JP2021102253A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】従来、産業機械の分野において、様々な部材が存在する作業セルをカメラで撮像した画像データにおいて、作業対象となる検出対象部を正確に検出する技術が求められている。【解決手段】画像処理装置10は、予め定めた複数の撮像位置に配置されたカメラ22、24によって検出対象部を撮像した画像データを取得する画像取得部32と、第1の撮像位置で撮像された第1の画像データと、第2の撮像位置で撮像された第2の画像データとを、検出対象部の位置に設定された投影面に投影させた投影画像データを生成する投影画像生成部36と、投影画像生成部36が生成した投影画像データにおいて、第1の画像データに写る検出対象部と、第2の画像データに写る検出対象部とが重複して投影された重複投影画像データを検出する重複検出部38とを備える。【選択図】図1

Description

本発明は、画像処理装置、ロボットシステム、及び画像処理方法に関する。
複数の撮像位置で撮像した画像データから、所定の位置にある被写体を抽出する技術が知られている(例えば、特許文献1)。
特開平08−210847号公報
従来、産業機械の分野において、様々な部材が存在するワークセルをカメラで撮像した画像データにおいて、作業対象となる検出対象部を正確に検出する技術が求められている。
本開示の一態様において、画像処理装置は、予め定めた複数の撮像位置に配置されたカメラによって検出対象部を撮像した画像データを取得する画像取得部と、第1の撮像位置で撮像された第1の画像データと、第2の撮像位置で撮像された第2の画像データとを、検出対象部の位置に設定された投影面に投影させた投影画像データを生成する投影画像生成部と、投影画像生成部が生成した投影画像データにおいて、第1の画像データに写る検出対象部と、第2の画像データに写る検出対象部とが重複して投影された重複投影画像データを検出する重複検出部とを備える。
本開示の他の態様において、画像処理方法は、予め定めた複数の撮像位置に配置されたカメラによって検出対象部を撮像した画像データを取得し、第1の撮像位置で撮像された第1の画像データと、第2の撮像位置で撮像された第2の画像データとを、検出対象部の位置に設定された投影面に投影させた投影画像データを生成し、生成した投影画像データにおいて、第1の画像データに写る検出対象部と、第2の画像データに写る検出対象部とが重複して投影された重複投影画像データを検出する。
本開示によれば、仮に、ワークセル内に、検出対象部以外の物体が存在していたとしても、該物体を誤検出してしまうのを防止し、検出対象部を示す重複投影画像データを、確実且つ自動的に検出することができる。
一実施形態に係る画像処理装置、カメラ、及び位置測定器のブロック図である。 複数のカメラが撮像位置に配置された状態を示している。 図1に示す画像処理装置の動作フローの一例を示すフローチャートである。 第1の撮像位置に配置されたカメラが撮像した画像データの画像の一例である。 第2の撮像位置に配置されたカメラが撮像した画像データの画像の一例である。 投影画像データの画像の一例を示す。 第2の投影画像データの画像の一例を示す。 第1の撮像位置に配置されたカメラが撮像した画像データの画像の他の例である。 第2の撮像位置に配置されたカメラが撮像した画像データの画像の他の例である。 第1の撮像位置に配置されたカメラが撮像した画像データの画像のさらに他の例である。 第2の撮像位置に配置されたカメラが撮像した画像データの画像のさらに他の例である。 投影画像データの画像の一例を示す。 図12に示す投影画像データで検出された重複投影画像データを示す。 他の実施形態に係る画像処理装置、カメラ、及び位置測定器のブロック図である。 一実施形態に係るロボットシステムのブロック図である。 図15に示すロボットシステムの図である。 他の実施形態に係るロボットシステムの図である。
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1を参照して、一実施形態に係る画像処理装置10について説明する。画像処理装置10は、プロセッサ14、メモリ16、及びI/Oインターフェース18を有するコンピュータである。
プロセッサ14は、CPU又はGPU等を有し、メモリ16及びI/Oインターフェース18とバス20を介して通信可能に接続されている。プロセッサ14は、メモリ16及びI/Oインターフェース18と通信しつつ、後述する画像処理装置10の機能を実行するための演算処理を行う。メモリ16は、ROM又はRAM等を有し、各種データを一時的又は恒久的に記憶する。I/Oインターフェース18は、イーサネット(登録商標)ポート、USBポート、又はHDMI(登録商標)端子等を有し、プロセッサ14の指令の下、外部機器とデータを通信する。
本実施形態においては、画像処理装置10のI/Oインターフェース18に、複数のカメラ22及び24と、位置測定器26とが、無線又は有線で通信可能に接続されている。図2に示すように、カメラ22及び24は、同じ構成を有し、光学レンズ28(フォーカスレンズ等)、及び撮像センサ30(CCD、CMOS等)を有する。
カメラ22には、カメラ座標系CC1が設定されている。カメラ座標系CC1は、カメラ22が撮像する画像データの各画素の座標を規定する座標系である。カメラ座標系CC1は、そのx−y平面が、カメラ22の視線方向と直交するように、該カメラ22に対して設定されている。カメラ22は、予め定めた第1の撮像位置Pに配置されている。カメラ22は、第1の撮像位置Pに配置された状態でワークWを撮像する。
一方、カメラ24には、カメラ座標系CC2が設定されている。カメラ座標系CC2は、カメラ24が撮像する画像データの各画素の座標を規定する座標系である。カメラ座標系CC2は、そのx−y平面が、カメラ24の視線方向と直交するように、該カメラ24に対して設定されている。
カメラ24は、予め定めた第2の撮像位置Pに配置されている。カメラ24は、第2の撮像位置Pに配置された状態でワークWを撮像する。なお、本稿において、「撮像位置」とは、カメラ22、24の3次元空間内の位置と、該カメラ22、24の姿勢(すなわち、視線方向)とを意味することがある。
したがって、第1の撮像位置Pは、該第1の撮像位置Pに配置されたカメラ22のカメラ座標系CC1の原点位置及び各軸の方向によって、表すことができる。同様に、第2の撮像位置Pは、該第2の撮像位置Pに配置されたカメラ24のカメラ座標系CC2の原点位置及び各軸の方向によって、表すことができる。
以下の説明においては、第1の撮像位置Pは、該第1の撮像位置Pに配置されたカメラ22のカメラ座標系CC1の原点位置及び各軸の方向を示すことがあり、また、第2の撮像位置Pは、該第2の撮像位置Pに配置されたカメラ24のカメラ座標系CC2の原点位置及び各軸の方向を示すことがある。
ワークWは、ワークセル内の予め定められた位置に設置されている。本実施形態においては、ワークWは、円柱状であって、その頂端に表面W(検出対象部)を有する。本実施形態においては、表面Wは、円形の輪郭(又はエッジ)Eを有する平面である。一方、ワークセルの3次元空間には、基準座標系Cが設定されている。基準座標系Cは、3次元空間内に固定された固定座標系である。
基準座標系Cは、例えば、ワークセルの3次元空間を規定するワールド座標系、ワークWに対して設定されるワーク座標系、又は、後述するロボットに対して設定されるロボット座標系等である。本実施形態においては、ワークWは、その表面Wが基準座標系Cのx−y平面と略平行となるように、固定されている。一方、ワークWとは別の位置に、表面Wに類似する形状を有する非検出対象部NWが存在している。この非検出対象部NWは、例えば、ワークセル内の物体に形成された模様等である。
第1の撮像位置Pと基準座標系Cとの位置関係は、キャリブレーションによって既知とされている。したがって、第1の撮像位置P(すなわち、図2中のカメラ座標系CC1の原点位置及び各軸の方向)は、基準座標系Cの座標及びベクトル(又は関数)として、表される。カメラ座標系CC1の座標と基準座標系Cの座標とは、第1の座標変換データを介して、相互に変換可能となっている。この第1の座標変換データは、例えばヤコビ行列であって、第1の撮像位置Pと基準座標系Cとのキャリブレーションによって取得され得る。
同様に、第2の撮像位置Pと基準座標系Cとの位置関係は、キャリブレーションによって既知とされている。したがって、カメラ座標系CC2の座標と基準座標系Cの座標とは、第2の座標変換データを介して、相互に変換可能となっている。この第2の座標変換データは、例えばヤコビ行列であって、第2の撮像位置Pと基準座標系Cとのキャリブレーションによって取得され得る。
第1の撮像位置Pに配置されたカメラ22がワークWを撮像すると、ワークWからの光(すなわち、被写体像)Aは、カメラ22の光学レンズ28によって導光されて、撮像センサ30に結像される。また、非検出対象部NWからの光(被写体像)Aも、カメラ22の光学レンズ28によって導光されて、撮像センサ30に結像される。
撮像センサ30は、受光した被写体像A及びAを光電変換し、画像データIDを生成する。こうして、カメラ22は、ワークWの画像データIDを撮像する。画像データIDの画像の一例を、図4に示す。画像データIDには、非検出対象部NWとともに、表面Wの輪郭Eが見えるようにワークWが写っている。画像データIDの各画素は、カメラ座標系CC1の座標として表される。
同様に、第2の撮像位置Pに配置されたカメラ24がワークWを撮像すると、ワークWからの光(被写体像)Aは、カメラ24の光学レンズ28によって導光されて、撮像センサ30に結像される。また、非検出対象部NWからの光(被写体像)Aも、カメラ24の光学レンズ28によって導光されて、撮像センサ30に結像される。
撮像センサ30は、受光した被写体像A及びAを光電変換し、画像データIDを生成する。こうして、カメラ24は、ワークWの画像データIDを撮像する。画像データIDの画像の一例を、図5に示す。画像データIDには、非検出対象部NWとともに表面Wの輪郭Eが見えるようにワークWが画像データIDとは異なる位置に写っている。画像データIDの各画素は、カメラ座標系CC2の座標として表される。なお、図2中の被写体像A及びAは、ワークWの表面W(具体的には、輪郭E)の光路をそれぞれ示している。
位置測定器26は、表面Wの位置を測定する。例えば、位置測定器26は、物体へレーザ光を出射するレーザ出射部と、該物体で反射されたレーザ光を受光する受光部(ともに図示せず)とを有し、三角測距方式により、該物体までの距離を測定する。代替的には、位置測定器26は、2つのカメラを有し、該2つのカメラで撮像した画像から物体までの距離を測定してもよい。
本実施形態においては、位置測定器26は、カメラ22に一体に設けられている。すなわち、カメラ22及び位置測定器26は、物体を撮像するとともに該物体までの距離を測定する3次元視覚センサを構成する。位置測定器26は、カメラ22とともに第1の撮像位置Pに配置された状態で、第1の撮像位置PからワークWの表面Wまでの距離dを測定する。
一方、第1の撮像位置Pと基準座標系Cの原点との距離dは、既知となっている。したがって、既知の距離dと、位置測定器26が測定した距離dとから、表面Wの、基準座標系Cのz軸方向の位置を求めることができる。図2に示す例では、表面Wは、基準座標系Cのz軸座標z=zの位置にある。
一例として、プロセッサ14は、位置測定器26が測定した距離dを、I/Oインターフェース18を介して位置測定器26から取得し、予めメモリに記憶した距離dと、取得した距離dとを用いて、表面Wの基準座標系Cのz軸座標zを演算により求める。代替的には、位置測定器26は、演算用のプロセッサをさらに有し、予め取得した既知の距離dと、測定した距離dとを用いて、表面Wの、基準座標系Cのz軸座標zを演算により求めてもよい。
次に、図3を参照して、画像処理装置10の動作について説明する。図3に示すフローは、プロセッサ14が、オペレータ、上位コントローラ、又はコンピュータプログラムから起動指令を受け付けたときに、開始する。ステップS1において、プロセッサ14は、カメラ22及び24が撮像した画像データID及びIDを取得する。
具体的には、カメラ22は、第1の撮像位置Pに配置された状態で画像データIDを撮像し、カメラ24は、第2の撮像位置Pに配置された状態で画像データIDを撮像する。カメラ22及び24は、撮像した画像データID及びIDを、I/Oインターフェース18へ送信する。プロセッサ14は、I/Oインターフェース18を通して画像データID及びIDを取得し、メモリ16に記憶する。このように、本実施形態においては、プロセッサ14は、画像データID及びIDを取得する画像取得部32(図1)として機能する。
ステップS2において、プロセッサ14は、検出対象部としての表面Wの位置の情報を受け付ける。一例として、位置測定器26は、表面Wの位置の情報として、測定した距離dをI/Oインターフェース18へ送信する。I/Oインターフェース18は、距離dを受け付け、プロセッサ14は、I/Oインターフェース18を介して距離dを取得する。そして、プロセッサ14は、距離d及びdを用いて、表面Wの基準座標系Cのz軸座標zを求め、メモリ16に記憶する。
他の例として、位置測定器26は、距離d及びdを用いて、表面Wの基準座標系Cのz軸座標zを求め、表面Wの位置の情報として、表面Wの座標zをI/Oインターフェース18へ送信する。I/Oインターフェース18は、座標zを受け付け、プロセッサ14は、I/Oインターフェース18を介して座標zを取得して、メモリ16に記憶する。このように本実施形態においては、I/Oインターフェース18は、表面Wの位置の情報を受け付ける情報受付部34(図1)として機能する。
ステップS3において、プロセッサ14は、投影画像データPD(図6)を生成する。具体的には、プロセッサ14は、基準座標系Cにおいて、ステップS2で取得した表面Wの位置(すなわち、座標zの位置)に投影面PPを設定する。その結果、図2に示すように、基準座標系Cにおいて投影面PPが設定される。この投影面PPは、基準座標系Cのx−y平面(すなわち、ワークWの表面W)と平行な仮想平面である。
次いで、プロセッサ14は、画像データIDから、表面Wの輪郭Eの画像データID1_Eを抽出する。例えば、プロセッサ14は、ワークWの図面データ(2D又は3DCADモデル)を取得し、表面Wの輪郭Eのモデル形状に類似する形状を画像データIDから検索することによって、画像データIDから輪郭Eの画像データID1_Eを抽出してもよい。
このとき、輪郭Eに類似する形状を有する非検出対象部NWの輪郭の画像データID1_Nも、画像データID1_Eとともに抽出され得る。同様にして、プロセッサ14は、画像データIDから輪郭Eの画像データID2_Eを抽出する。このとき、非検出対象部NWの輪郭の画像データID2_Nも、画像データID2_Eとともに抽出され得る。
次いで、プロセッサ14は、抽出した画像データID1_E及びID1_Nと、画像データID2_E及びID2_Nとを、設定した投影面PPに投影させる。具体的には、プロセッサ14は、第1の撮像位置Pと基準座標系Cとの位置関係を示す第1の座標変換データを用いて、画像データID1_E及びID1_Nの各画素のカメラ座標系CC1の座標を、基準座標系Cにおけるz軸座標zの位置でのx−y座標に変換する。
該x−y座標に変換された各点は、被写体像A及びAを受光した撮像センサ30の各画素から該被写体像A及びAの光路に沿って延びる線と投影面PPとの交点であって、これら交点の基準座標系Cの座標は、投影面PPの位置が既知であれば、第1の座標変換データを用いた座標変換によって求めることができる。こうして、画像データID1_Eを投影面PPに投影させた輪郭投影画像データPE(図6)と、画像データID1_Nを投影面PPに投影させた輪郭投影画像データPNとを、生成することができる。
同様にして、プロセッサ14は、第2の撮像位置Pと基準座標系Cとの位置関係を示す第2の座標変換データと、投影面PPの座標zとを用いて、画像データID2_E及びID2_Nを投影面PPに投影させる。その結果、画像データID2_Eを投影面PPに投影させた輪郭投影画像データPEと、画像データID2_Nを投影面PPに投影させた輪郭投影画像データPNとを、生成することができる。
次いで、プロセッサ14は、投影面PPにおける投影画像データPDの範囲を画定する画像枠Fを設定し、図6に示すような投影画像データPDを生成する。したがって、本実施形態においては、プロセッサ14は、投影画像データPDを生成する投影画像生成部36(図1)として機能する。
なお、プロセッサ14は、生成した画像枠Fの投影画像データPDを、表示装置に表示させてもよい。また、生成する投影画像データPDの画像枠Fの投影面PP上の位置及びサイズは、オペレータが手動で設定してもよい。この場合において、プロセッサ14は、オペレータから、画像枠Fの縦横サイズを、基準座標系Cのy軸の座標範囲とx軸の座標の範囲の入力として受け付けてもよい。又は、プロセッサ14は、輪郭投影画像データPE、PE、PN、PNを含むように自動で設定してもよい。
投影画像データPDの各画素は、投影座標系Cによって座標化される。投影座標系Cは、その原点が基準座標系Cのz軸座標zの位置に配置され、そのx軸及びy軸が投影面PPと平行となる座標系である。投影座標系Cと基準座標系Cとは、設定される画像枠Fに応じた既知の位置関係となる。なお、本実施形態においては、投影座標系Cのx軸及びy軸が、それぞれ、基準座標系Cのx軸及びy軸と平行となるように、画像枠Fが設定されている。
投影座標系Cにおけるx軸及びy軸方向のサイズと、基準座標系Cにおけるx軸及びy軸方向のサイズとは、設定された画像枠Fのサイズに応じて互いに対応付けられている(例えば、投影座標系Cのx軸方向の距離「1」は、基準座標系Cのx軸方向の距離「10」に対応する)。
このように、投影座標系Cと基準座標系Cとは、既知の位置関係となっており、投影座標系Cの原点位置及び各軸の方向は、基準座標系Cの座標及びベクトル(又は関数)として、表すことができる。したがって、投影座標系Cの座標と、基準座標系Cの座標とは、第3の座標変換データを介して、相互に変換可能となっている。
ステップS4において、プロセッサ14は、投影画像データPDにおいて、画像データIDに写る画像データID1_Eと、画像データIDに写る画像データID2_Eとが重複して投影された重複投影画像データODを検出する。ここで、カメラ22に入射する表面Wの被写体像Aと、カメラ24に入射する表面Wの被写体像Aとは、表面Wの位置で一致する。
換言すれば、カメラ22が撮像した表面Wの輪郭Eの画像データID1_Eを、表面Wの位置に設定した投影面PPへ投影した投影位置と、カメラ24が撮像した表面Wの輪郭Eの画像データID2_Eを、表面Wの位置に設定した投影面PPへ投影した投影位置とは、互いに一致する。この一致した投影位置において、画像データID1_Eと画像データID2_Eとが重複して投影されて、投影画像データPDにおいて重複投影画像データODを形成する。
その一方で、カメラ22が撮像した非検出対象部NWの輪郭の画像データID1_Nを投影面PPへ投影した投影位置と、カメラ24が撮像した非検出対象部NWの輪郭の画像データID2_Nを投影面PPへ投影した投影位置とは、互いからずれることになる(輪郭投影画像データPN、PN)。プロセッサ14は、重複投影画像データODを投影画像データPDから検出する。
一例として、プロセッサ14は、投影画像データPDの各画素の明るさを、画像データIDから投影された輪郭投影画像データPE又はPNを写している場合は「1」としてカウントする一方、輪郭投影画像データPE及びPNのいずれも写さない場合は「0」としてカウントする。
また、プロセッサ14は、投影画像データPDの各画素の明るさを、画像データIDから投影された輪郭投影画像データPE又はPNを写している場合は「1」としてカウントする一方、輪郭投影画像データPE及びPNのいずれも写さない場合は「0」としてカウントする。
そして、プロセッサ14は、投影画像データPDの各画素において、カウントした明るさを加算する。この場合、画像データIDから投影された輪郭投影画像データPE又はPNと、画像データIDから投影された輪郭投影画像データPE又はPNとの双方を写す画素(すなわち、投影画像データPE又はPNと、投影画像データPE又はPNとが重複して投影された画素)の明るさは、「2」となる。
一方、画像データIDから投影された輪郭投影画像データPE又はPNと、画像データIDから投影された輪郭投影画像データPE又はPNとのいずれか一方を写す画素の明るさは「1」となり、輪郭投影画像データPE、PN、PE及びPNのいずれも写していない画素の明るさは「0」となる。
プロセッサ14は、投影画像データPDにおいて明るさが「2」となる画素を抽出し、抽出した画素が写す画像データを、重複投影画像データODとして検出する。このように、本例では、プロセッサ14は、投影画像データPDの画素の明るさに基づいて、重複投影画像データODを検出する。なお、輪郭投影画像データPE、PN、PE、PNを写す又は写さない画素の明るさは、「0」、「1」の2値に限らず、他の如何なる値に設定されてもよい。
他の例として、プロセッサ14は、投影画像データPDから、各々の輪郭投影画像データPE、PN、PE及びPNの形状を抽出し、輪郭投影画像データPE、PN、PE及びPNの、互いに対応する特徴点(中心点、頂点、エッジ等)を特定する。本実施形態においては、プロセッサ14は、該特徴点として、輪郭投影画像データPEの中心点CE、輪郭投影画像データPEの中心点CE、輪郭投影画像データPNの中心点CN、及び輪郭投影画像データPNの中心点CNを特定する。
そして、プロセッサ14は、特定した特徴点(中心点)CE、CE、CN及びCNの投影座標系Cの座標を取得し、複数の輪郭投影画像データPE、PN、PE及びPNのうち、2つの輪郭投影画像データの特徴点の距離dを算出する。プロセッサ14は、距離dが予め定めた閾値dthよりも小さい場合に、該2つの輪郭投影画像データのうちの一方を重複投影画像データODとして検出する。
ここで、距離dは、投影画像データPDにおける2つの輪郭投影画像データの位置が一致しているか否かを定量的に示すパラメータであって、図6に示す例では、特徴点CE及びCEの間の距離dが、例えば特徴点CN及びCNの間の距離dよりも、小さくなっている(具体的には、d≒0)。よって、距離dが閾値dthよりも小さい場合は、2つの輪郭投影画像データPE及びPEの位置が一致し、該位置において画像データID1_Eと画像データID2_Eとが重複して投影されていると見做すことができる。
図6に示す例では、プロセッサ14は、特徴点CE及びCEの距離dが閾値dthよりも小さいと判定し、輪郭投影画像データPE及びPEの一方を、重複投影画像データODとして検出する。以上のような方法で、プロセッサ14は、重複投影画像データODを検出できる。したがって、本実施形態においては、プロセッサ14は、重複投影画像データODを検出する重複検出部38(図1)として機能する。
ステップS5において、プロセッサ14は、ステップS4で検出した重複投影画像データODに基づいて、基準座標系Cにおける表面Wの位置データを取得する。具体的には、プロセッサ14は、投影画像データPDを画像処理し、重複投影画像データODの形状を抽出する。このとき、プロセッサ14は、重複投影画像データODの画像の輪郭線を滑らかに接続する画像フィルタ処理を実行し、重複投影画像データODを更新してもよい。
そして、プロセッサ14は、重複投影画像データODの投影座標系Cの位置を取得する。例えば、プロセッサ14は、重複投影画像データODの投影座標系Cの位置として、重複投影画像データODの特徴点(中心点CO)を画像処理により特定し、該特徴点COの投影座標系Cにおける座標(x,y)を取得する。なお、この特徴点COは、上述の特徴点CE又はCEに略一致する。
そして、プロセッサ14は、投影座標系Cの座標(x,y)を、投影面PPの座標zと第3の座標変換データとを用いて、基準座標系Cの座標(x,y,z)に変換する。この座標(x,y,z)は、基準座標系Cにおける表面Wの特徴点(中心点)の位置を示す位置データとなる。このように本実施形態においては、プロセッサ14は、重複投影画像データODに基づいて、基準座標系Cにおける表面Wの位置データ:座標(x,y,z)を取得する位置データ取得部40(図1)として機能する。
以上のように、本実施形態においては、投影画像データPDにおいて重複投影画像データODを自動で検出する。この構成によれば、仮に、ワークセル内に、検出対象部としての表面Wに類似する形状の非検出対象部NWが存在していたとしても、該非検出対象部NWを誤検出してしまうのを防止し、検出対象部としての表面Wを示す重複投影画像データODを、確実且つ自動的に検出することができる。
また、本実施形態においては、位置測定器26が表面Wの位置を測定し、該位置の情報を情報受付部34が受け付けている。この構成によれば、プロセッサ14は、表面Wの位置を自動で取得することができる。また、本実施形態においては、プロセッサ14は、基準座標系Cにおける表面Wの位置データ:座標(x,y,z)を取得している。この構成によれば、ワークWに対して作業を行うロボットの制御に用いる位置データを自動で取得することができる。なお、ロボットの制御については、後述する。
なお、上述のステップS4において、プロセッサ14は、重複投影画像データODを検出したときに、投影画像生成部36として機能して、重複投影画像データODのみが写る第2の投影画像データPD2をさらに生成してもよい。この第2の投影画像データPD2の例を、図7に示す。
図7に示すように、第2の投影画像データPD2においては、ステップS4で検出した重複投影画像データODが写る一方、図6の投影画像データPDに写っていた輪郭投影画像データPN及びPNを含む、重複投影画像データOD以外の画像が、視覚的に識別不能となるように単一の明るさで示されている(又は、消去されている)。
例えば、プロセッサ14は、検出した重複投影画像データODを写す画素以外の画素の明るさを、重複投影画像データODを写す画素の明るさ(例えば、「2」)とは異なる単一の明るさ(例えば、「0」)とするように投影画像データPDを修正することによって、図7に示す第2の投影画像データPD2を生成する。
代替的には、プロセッサ14は、検出した重複投影画像データODの投影座標系Cの座標を記憶し、該座標を、投影座標系Cが設定された新たな画像データにプロットすることによって、第2の投影画像データPD2を新たな画像データとして生成してもよい。このように生成された第2の投影画像データPD2においては、重複投影画像データODのみが明瞭に写されることになる。
そして、プロセッサ14は、ステップS5において、第2の投影画像データPD2を画像処理することにより重複投影画像データODの形状を抽出し、特徴点COを特定して、投影座標系Cにおける特徴点COの座標(x,y)を取得する。この構成によれば、プロセッサ14は、重複投影画像データOD及び特徴点COを抽出する画像処理を、より効果的に実行することができる。
さらに、第2の投影画像データPD2によれば、仮に、カメラ22が撮像した画像データID、又はカメラ24が撮像した画像データIDにノイズ等が写っていたとしても、重複投影画像データOD及びその特徴点COを正確に抽出できる。この効果について、図8及び図9を参照して説明する。
図8及び図9に示す例では、ステップS1で撮像された画像データID及びIDに、ノイズHがそれぞれ写り込んでいる。このようなノイズHは、例えば、撮像時に被写体へ照射される光の方向及び照度や、撮像センサ30の光電変換時に発生する電気的ノイズ、又は、切粉等の異物からの反射光等に起因し得る。
このような画像データID及びIDを用いて、プロセッサ14がステップS2〜S4を実行し、ステップS4において第2の投影画像データPD2を生成した場合、第2の投影画像データPD2においては、重複投影画像データOD以外の画像が視覚的に消去されるので、ノイズHの画像も視覚的に消去されることになる。したがって、画像データID及びIDにノイズHが写り込んでいたとしても、第2の投影画像データPD2から重複投影画像データOD及びその特徴点COを正確に抽出できる。
次に、図3、図10〜図12を参照して、画像処理装置10の他の機能について説明する。本実施形態においては、ワークWは、略矩形の表面Wを有しており、該表面Wは、上述の実施形態と同様に、基準座標系Cのz軸座標の位置にある。ここで、図10に示すように、ステップS1でカメラ22が撮像した画像データIDにおいて、ワークWの表面Wの一部が写らない場合がある。このような現象は、カメラ22とワークWとの間に障害物がある場合、又は、上述のノイズ等に起因して生じ得る。
画像データIDにおいては、表面WのエッジEのうち、図10中の実線で示す部分E1の画像データID1_E1が写っている一方、点線で示す部分E2は写っていない。同様に、図11に示すように、ステップS1でカメラ24が撮像した画像データIDにおいては、表面WのエッジEのうち、実線で示す部分E3の画像データID1_E3が写っている一方、点線で示す部分E4は写っていない。
このような画像データID及びIDを用いて、図3のフローを実行した場合、ステップS3において、プロセッサ14は、画像データIDに写る画像データID1_E1と、画像データIDに写るID2_E3とを、投影面PPに投影させ、図12に示す投影画像データPDを生成する。図12に示す投影画像データPDにおいては、画像データID1_E1が輪郭投影画像データPEE1として投影され、画像データID2_E3が輪郭投影画像データPEE2として投影される一方、輪郭Eの一部に対応する、点線Gで示す画像データが欠落している。
ステップS4において、プロセッサ14は、投影画像データPDにおいて、画像データIDに写る画像データID1_E1と、画像データIDに写る画像データID2_E3とが重複して投影された重複投影画像データODを検出する。具体的には、プロセッサ14は、投影画像データPDの各画素の明るさを、輪郭投影画像データPEE1を写している場合は「1」としてカウントする一方、輪郭投影画像データPEE1を写していない場合は「0」としてカウントする。
また、プロセッサ14は、投影画像データPDの各画素の明るさを、輪郭投影画像データPEE3を写している場合は「1」としてカウントする一方、輪郭投影画像データPEE3を写していない場合は「0」としてカウントする。そして、プロセッサ14は、投影画像データPDの各画素において、カウントした明るさを加算する。
この場合、輪郭投影画像データPEE1及びPEE3の双方を写す画素(すなわち、画像データID1_E1及びID2_E3が重複して投影された画素)の明るさは、「2」となる。一方、輪郭投影画像データPEE1及びPEE3のいずれか一方を写す画素の明るさは「1」となり、輪郭投影画像データPEE1及びPEE3のいずれも写していない画素の明るさは「0」となる。
そして、プロセッサ14は、投影画像データPDにおいて明るさが「2」となる画素を抽出し、抽出した画素が写す画像データを、重複投影画像データODとして検出する。その結果、図13に示す画像データODが検出される。この画像データODにおいては、輪郭Eの一部に対応する、点線Jで示す画像データが欠落している。
ステップS5において、プロセッサ14は、ステップS4で検出した図13に示す重複投影画像データODに基づいて、基準座標系Cにおける表面Wの位置データを取得する。具体的には、プロセッサ14は、図13に示す投影画像データPDを画像処理し、重複投影画像データODの形状を抽出する。
このとき、プロセッサ14は、ワークWの図面データから輪郭Eのモデル形状を取得し、該モデル形状と重複投影画像データODとを比較して、例えば欠落部分Jに相当する画像データを推定して補完することによって、輪郭Eの全周に対応する重複投影画像データODの形状を抽出してもよい。
そして、プロセッサ14は、重複投影画像データODの投影座標系Cにおける位置として、重複投影画像データODの特徴点(中心点、頂点等)を画像処理により特定し、該特徴点の投影座標系Cにおける座標を取得する。そして、プロセッサ14は、投影座標系Cの座標を基準座標系Cの座標に変換し、基準座標系Cにおける表面Wの特徴点の位置を示す位置データとして取得する。
このように、画像処理装置10によれば、ステップS1でカメラ22又は24が撮像した画像データID又はIDにおいて、ワークWの表面Wの一部が写らなかったとしても、例えばワークWの図面データと、画像データの一部が欠落した重複投影画像データODとの比較に基づいて、重複投影画像データOD及びその特徴点を抽出することができる。
次に、図14を参照して、画像処理装置10のさらに他の機能について説明する。本実施形態においては、画像処理装置10のI/Oインターフェース18に、上述の位置測定器26が接続されていない一方で、表示装置41及び入力装置42が、有線又は無線で通信可能に接続されている。
表示装置41は、LCD又は有機ELディスプレイ等を有し、プロセッサ14は、I/Oインターフェース18を介して、表示装置41に画像データを送信し、該表示装置41に画像を表示させる。入力装置42は、キーボード、マウス、又はタッチセンサ等を有し、オペレータが入力した情報を、I/Oインターフェース18を介してプロセッサ14へ送信する。なお、表示装置41及び入力装置42は、画像処理装置10に一体に設けられてもよいし、画像処理装置10とは別体として設けられてもよい。
次に、図3を参照して、本実施形態に係る画像処理装置10の動作について説明する。本実施形態の動作は、図1に示す実施形態と、ステップS2において相違する。具体的には、ステップS2において、プロセッサ14は、表面Wの位置の情報を受け付ける。例えば、プロセッサ14は、表面Wの基準座標系Cのz軸座標を入力するための入力画像データを生成し、表示装置41に表示させる。このとき、プロセッサ14は、入力画像とともに、ワークWの既知の公称寸法又は図面データを表示装置41に表示させてもよい。
オペレータは、ワークWの公称寸法又は図面データ考慮して、表示装置41に表示された入力画像を視認しつつ入力装置42を操作し、表面Wの位置の情報として、表面Wの基準座標系Cのz軸座標z=zを入力する。I/Oインターフェース18は、情報受付部34として機能し、入力装置42に入力された表面Wの位置の情報(座標z)を、該入力装置42から受け付ける。
プロセッサ14は、I/Oインターフェース18を通して、表面Wの位置の情報(座標z)を取得し、メモリ16に記憶する。このように、本実施形態によれば、オペレータは、入力装置42に表面Wの位置の情報(座標z)を任意に入力し、ステップS3で設定する投影面PPの位置を、ワークWの既知の公称寸法又は図面データ等を考慮して、任意に設定できる。
次に、図15及び図16を参照して、一実施形態に係るロボットシステム50について説明する。ロボットシステム50は、制御装置52、ロボット54、画像処理装置10、カメラ22及び24、位置測定器26、表示装置41、及び入力装置42を備える。制御装置52は、ロボット54、カメラ22及び24、並びに位置測定器26の動作を制御する。
本実施形態においては、ロボット54は、垂直多関節ロボットであって、ロボットベース56、旋回胴58、ロボットアーム60、手首部62、及びエンドエフェクタ64を有する。ロボットベース56は、ワークセルの床に固定されている。旋回胴58は、ロボットベース56に鉛直軸周りに旋回可能に設けられている。
ロボットアーム60は、旋回胴58に回動可能に取り付けられた下腕部66と、該下腕部66の先端部に回動可能に取り付けられた上腕部68とを有する。手首部62は、上腕部68の先端部に連結され、エンドエフェクタ64を回動可能に支持する。エンドエフェクタ64は、ロボットハンド、切削工具、レーザ加工ヘッド、溶接トーチ、又は塗料塗布器等であって、ワークWに対して所定の作業(ハンドリング、切削加工、レーザ加工、溶接、塗工等)を行う。
ロボット54の各コンポーネント(ロボットベース56、旋回胴58、ロボットアーム60、手首部62)には、サーボモータが内蔵されている。サーボモータは、プロセッサ14からの指令に応じて、ロボット54の各可動コンポーネント(旋回胴58、ロボットアーム60、手首部62)を動作させ、エンドエフェクタ64を、3次元空間内の任意の位置及び姿勢に配置する。
本実施形態においては、画像処理装置10は、制御装置52に実装されている。すなわち、制御装置52は、プロセッサ14、メモリ16、及びI/Oインターフェース18を有するコンピュータであって、プロセッサ14、メモリ16、及びI/Oインターフェース18は、画像処理装置10を構成する。
プロセッサ14は、ロボット54によってワークWに作業を行う前に、図3に示すフローを実行し、ステップS5で表面Wの位置データ:座標(x,y,z)を取得する。そして、プロセッサ14は、位置データ:座標(x,y,z)に基づいてロボット54を制御し、該ロボット54によってワークW(例えば、表面W)に対して作業を行う。
以上のように、本実施形態においては、撮像位置P及びPでカメラ22及び24が撮像した画像データID及びIDから、ワークWの表面Wの位置データ:座標(x,y,z)を取得し、該位置データ:座標(x,y,z)に基づいてロボット54を制御することによって、ワークWに対する作業を正確に実行することができる。
なお、ロボットシステム50において、制御装置52と画像処理装置10とを別体として構成することもできる。この場合、制御装置52は、プロセッサ及びメモリを有する1つのコンピュータであって、画像処理装置10に通信可能に接続される。そして、画像処理装置10のプロセッサ14は、ステップS5で位置データ:座標(x,y,z)を取得したときに、該位置データを制御装置52に送信してもよい。
また、1つのカメラ22を用いて、図3に示すフローを実行することもできる。このような形態を図17に示す。図17に示すロボットシステム50’においては、上述のカメラ24が設けられておらず、位置測定器26が一体に設けられたカメラ22が、ロボット54のエンドエフェクタ64に設置されている。
本実施形態においては、カメラ22は、ロボット54の手先(又は、TCP)に対して、キャリブレーションにより既知の位置関係に配置されている。したがって、制御装置52は、基準座標系Cにおけるカメラ22の位置及び姿勢(すなわち、カメラ座標系CC1の原点位置及び各軸の方向)を認識できるようになっている。
ロボットシステム50’において図3に示すフローを実行する場合、プロセッサ14は、ステップS1において、ロボット54を動作させて、カメラ22を第1の撮像位置Pに配置し、カメラ22によって画像データIDを撮像する。また、プロセッサ14は、ロボット54を動作させて、カメラ22を第2の撮像位置Pに配置し、カメラ22によって画像データIDを撮像する。このように、1つのカメラ22を複数の撮像位置P、Pに配置して撮像した画像データID、IDを用いて、図3に示すフローを実行することができる。
なお、上述の画像処理装置10から、位置データ取得部40を省略することもできる。例えば、重複検出部38が投影画像データPDにて重複投影画像データODを検出したときに、重複投影画像データODを基に、オペレータが手動で表面Wの位置データ:座標(x,y,z)を求めてもよい。また、画像処理装置10から、メモリ16又はI/Oインターフェース18を省略してもよい。
また、上述の実施形態においては、検出対象部が表面Wである場合について述べたが、これに限らず、検出対象部は、例えば、物体(ワークW)の側面に形成されるエッジ、凸部、凹部等、如何なる構造のものであってもよい。また、表面Wは、円形に限らず、楕円形、多角形等、如何なる形状であってもよい。また、表面Wは、基準座標系Cのx−y平面に対して傾斜してもよい。この場合において、プロセッサ14は、上述のステップS3において、投影面PPを表面Wと平行に設定してもよい。
また、第1の撮像位置P及び第2の撮像位置Pは、図2に示す位置に限定されず、如何なる位置であってもよい。また、計n個(nは3以上の正数)のカメラを、それぞれ、第1の撮像位置P、第2の撮像位置P、・・・第nの撮像位置Pに配置させて、画像データID、ID、・・・IDを撮像させ、これら画像データID、ID、・・・IDを用いて、図3に示すフローを実行することもできる。この場合において、プロセッサ14は、ステップS4において、少なくとも2つの(例えば、全ての)画像データIDに写る表面W(検出対象部)が重複された重複投影画像データODを検出する。
また、上述の実施形態においては、ステップS3において、プロセッサ14が画像枠Fを設定する場合について述べた。しかしながら、プロセッサ14は、投影画像データPDを、画像枠Fで区切ることなく、基準座標系Cにおけるz軸座標zの位置でのx−y座標の点の集合体として生成することができる。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
10 画像処理装置
14 プロセッサ
22,24 カメラ
26 位置測定器
32 画像取得部
34 情報受付部
36 投影画像生成部
38 重複検出部
40 位置データ取得部
50,50’ ロボットシステム
52 制御装置
54 ロボット

Claims (9)

  1. 予め定めた複数の撮像位置に配置されたカメラによって検出対象部を撮像した画像データを取得する画像取得部と、
    第1の前記撮像位置で撮像された第1の前記画像データと、第2の前記撮像位置で撮像された第2の前記画像データとを、前記検出対象部の位置に設定された投影面に投影させた投影画像データを生成する投影画像生成部と、
    前記投影画像生成部が生成した前記投影画像データにおいて、前記第1の画像データに写る前記検出対象部と、前記第2の画像データに写る前記検出対象部とが重複して投影された重複投影画像データを検出する重複検出部と、を備える、画像処理装置。
  2. 前記投影画像生成部は、前記重複検出部が検出した前記重複投影画像データのみが写る第2の投影画像データをさらに生成する、請求項1に記載の画像処理装置。
  3. 前記検出対象部の前記位置の情報を受け付ける情報受付部をさらに備え、
    前記投影画像生成部は、前記情報受付部が受け付けた前記位置に前記投影面を設定して前記投影画像データを生成する、請求項1又は2に記載の画像処理装置。
  4. 前記情報受付部は、
    前記情報を入力可能な入力装置から該情報を受け付けるか、又は、
    前記検出対象部の前記位置を測定する位置測定器から前記情報を受け付ける、請求項3に記載の画像処理装置。
  5. 前記検出対象部は、平面であって、
    前記投影面は、前記平面と平行に設定される、請求項1〜4のいずれか1項に記載の画像処理装置。
  6. 各々の前記撮像位置は、基準座標系に対して既知の位置関係となるように定められ、
    前記画像処理装置は、前記重複検出部が検出した前記重複投影画像データに基づいて、前記基準座標系における前記検出対象部の位置データを取得する位置データ取得部をさらに備える、請求項1〜5のいずれか1項に記載の画像処理装置。
  7. 請求項6に記載の画像処理装置と、
    前記カメラと、
    前記検出対象部を有するワークに対して作業を行うロボットと、
    前記位置データ取得部が取得した前記位置データに基づいて、前記作業を実行させるように前記ロボットを制御する制御装置と、を備える、ロボットシステム。
  8. 前記第1の撮像位置で前記第1の画像データを撮像する第1の前記カメラと、
    前記第2の撮像位置で前記第2の画像データを撮像する第2の前記カメラと、を備える、請求項7に記載のロボットシステム。
  9. 予め定めた複数の撮像位置に配置されたカメラによって検出対象部を撮像した画像データを取得し、
    第1の前記撮像位置で撮像された第1の前記画像データと、第2の前記撮像位置で撮像された第2の前記画像データとを、前記検出対象部の位置に設定された投影面に投影させた投影画像データを生成し、
    生成した前記投影画像データにおいて、前記第1の画像データに写る前記検出対象部と、前記第2の画像データに写る前記検出対象部とが重複して投影された重複投影画像データを検出する、画像処理方法。
JP2019234841A 2019-12-25 2019-12-25 画像処理装置、ロボットシステム、及び画像処理方法 Pending JP2021102253A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019234841A JP2021102253A (ja) 2019-12-25 2019-12-25 画像処理装置、ロボットシステム、及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019234841A JP2021102253A (ja) 2019-12-25 2019-12-25 画像処理装置、ロボットシステム、及び画像処理方法

Publications (1)

Publication Number Publication Date
JP2021102253A true JP2021102253A (ja) 2021-07-15

Family

ID=76755741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019234841A Pending JP2021102253A (ja) 2019-12-25 2019-12-25 画像処理装置、ロボットシステム、及び画像処理方法

Country Status (1)

Country Link
JP (1) JP2021102253A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7349542B1 (ja) 2022-08-26 2023-09-22 日鉄エンジニアリング株式会社 溶接ロボットシステム、溶接方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7349542B1 (ja) 2022-08-26 2023-09-22 日鉄エンジニアリング株式会社 溶接ロボットシステム、溶接方法及びプログラム

Similar Documents

Publication Publication Date Title
US10647001B2 (en) Calibration device, calibration method, and computer readable medium for visual sensor
JP6527178B2 (ja) 視覚センサのキャリブレーション装置、方法及びプログラム
JP5736622B1 (ja) 検出装置およびこの装置を具えたマニプレータの動作制御
US11176655B2 (en) System and method for determining 3D surface features and irregularities on an object
JP6000579B2 (ja) 情報処理装置、情報処理方法
US11972589B2 (en) Image processing device, work robot, substrate inspection device, and specimen inspection device
US20160086343A1 (en) Contour line measurement apparatus and robot system
JP2016099257A (ja) 情報処理装置及び情報処理方法
US20150202776A1 (en) Data generation device for vision sensor and detection simulation system
JP2017096939A (ja) ビジョンシステムで3dポイントクラウドマッチングに使用するクラッタをスコアリングするためのシステム及び方法
JP2008246631A (ja) 対象物取出装置
CN111225143B (zh) 图像处理装置及其控制方法以及程序存储介质
TW202102347A (zh) 視覺導引機器手臂校正方法
US20220180499A1 (en) System and method for determining 3d surface features and irregularities on an object
JP2021102253A (ja) 画像処理装置、ロボットシステム、及び画像処理方法
JP2018146347A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
CN113858214A (zh) 一种用于机器人作业的定位方法与控制***
JP6659641B2 (ja) 3次元モデル作成装置
CN114902281A (zh) 图像处理***
JP7063764B2 (ja) 3次元モデル作成装置
JP2021102252A (ja) 画像処理装置、ロボットシステム、及び画像処理方法
TWI806761B (zh) 標誌檢測裝置以及機器人示教系統
WO2023157083A1 (ja) ワークの位置を取得する装置、制御装置、ロボットシステム、及び方法
US20240071085A1 (en) Detection system, method, and storage medium
TW202209261A (zh) 用於光學檢測的路徑建立方法及其裝置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240521