JPH0875426A - 画像処理方法 - Google Patents
画像処理方法Info
- Publication number
- JPH0875426A JPH0875426A JP6212738A JP21273894A JPH0875426A JP H0875426 A JPH0875426 A JP H0875426A JP 6212738 A JP6212738 A JP 6212738A JP 21273894 A JP21273894 A JP 21273894A JP H0875426 A JPH0875426 A JP H0875426A
- Authority
- JP
- Japan
- Prior art keywords
- work
- axis
- image processing
- processing method
- detecting
- 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
Links
Landscapes
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Input (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
【目的】 画像処理によって効率的なワーク検出を行
う。 【構成】 明度情報の一次微分のピーク点からエッジ点
を検出し、このエッジ点における勾配が右向きか(一次
微分の符号が正)を判定する(S21,S23)。右向
きであった場合には、所定距離はなれた点に勾配が左向
き(位置耳鼻分の符号が負)のエッジ点があるかを判定
する(S24,S25,S26)。そして、これがあっ
た場合に、この点にシャフト候補があると判定する。こ
のように一次微分の符号を判定することによって、ノイ
ズの線分を除去できる。
う。 【構成】 明度情報の一次微分のピーク点からエッジ点
を検出し、このエッジ点における勾配が右向きか(一次
微分の符号が正)を判定する(S21,S23)。右向
きであった場合には、所定距離はなれた点に勾配が左向
き(位置耳鼻分の符号が負)のエッジ点があるかを判定
する(S24,S25,S26)。そして、これがあっ
た場合に、この点にシャフト候補があると判定する。こ
のように一次微分の符号を判定することによって、ノイ
ズの線分を除去できる。
Description
【0001】
【産業上の利用分野】本発明は、ボルト等のワークを撮
像データから認識するワーク認識方法に関する。
像データから認識するワーク認識方法に関する。
【0002】
【従来の技術】近年、工場における作業の自動化が進
み、かなり複雑な作業についてもロボットなどが行える
ようになってきている。そして、ロボットにさらに複雑
な作業を行わせるためには、ロボットの目としてテレビ
カメラなどが必要であり、得られた画像から作業対象で
あるワークを認識する必要がある。
み、かなり複雑な作業についてもロボットなどが行える
ようになってきている。そして、ロボットにさらに複雑
な作業を行わせるためには、ロボットの目としてテレビ
カメラなどが必要であり、得られた画像から作業対象で
あるワークを認識する必要がある。
【0003】そこで、従来より、テレビカメラによって
得られた2次元画像を処理して、ワークを認識する画像
処理方法が知られている。例えば、特開昭64−781
05号公報では、ワークを含む画像データを一次微分し
てワークの輪郭(エッジ)についての線分を抽出し、そ
の配置の組み合わせによってワークを認識する方法が示
されている。この方法によれば、円、穴等特徴点がな
く、また個々のワークの明るさが均一でないようなワー
クの認識も確実に行える。
得られた2次元画像を処理して、ワークを認識する画像
処理方法が知られている。例えば、特開昭64−781
05号公報では、ワークを含む画像データを一次微分し
てワークの輪郭(エッジ)についての線分を抽出し、そ
の配置の組み合わせによってワークを認識する方法が示
されている。この方法によれば、円、穴等特徴点がな
く、また個々のワークの明るさが均一でないようなワー
クの認識も確実に行える。
【0004】
【発明が解決しようとする課題】しかし、上記従来例で
は、ボルトのバラ積みのように、ワークが多数存在する
と、画像処理によって抽出される線分が膨大な数にな
り、線分の配置の探索の効率が悪化してしまうという問
題点があった。また、ノイズによる誤認識の確率も高く
なってしまうという問題点があった。
は、ボルトのバラ積みのように、ワークが多数存在する
と、画像処理によって抽出される線分が膨大な数にな
り、線分の配置の探索の効率が悪化してしまうという問
題点があった。また、ノイズによる誤認識の確率も高く
なってしまうという問題点があった。
【0005】本発明は、上記問題点を解決することを課
題としてなされたものであり、ボルトのバラ積み等のワ
ークの認識も効率的に行うことができる画像処理方法を
提供することを目的とする。
題としてなされたものであり、ボルトのバラ積み等のワ
ークの認識も効率的に行うことができる画像処理方法を
提供することを目的とする。
【0006】
【課題を解決するための手段】本発明は、撮像した2次
元画像によってワークの位置を検出するワーク位置検出
工程と、前記ワークの軸線を検出するワーク軸線検出工
程と、前記ワークの端点を検出するワーク端点検出工程
とを含みワーク認識を行う画像処理方法において、前記
ワーク位置検出工程は、前記2次元画像中の明度の方向
と、前記明度一次微分した値の絶対値とを明度情報とし
て用いてワークの位置検出を行うことを特徴とする。
元画像によってワークの位置を検出するワーク位置検出
工程と、前記ワークの軸線を検出するワーク軸線検出工
程と、前記ワークの端点を検出するワーク端点検出工程
とを含みワーク認識を行う画像処理方法において、前記
ワーク位置検出工程は、前記2次元画像中の明度の方向
と、前記明度一次微分した値の絶対値とを明度情報とし
て用いてワークの位置検出を行うことを特徴とする。
【0007】また、本発明は、前記ワーク軸線検出工程
は、前記ワーク位置検出工程によって求まったワーク位
置における1次元の明度情報を自己形状モデルとして記
憶する記憶工程と、記憶された自己形状モデルと2次元
の明度情報との相関演算に基づき合致位置を検出する合
致位置検出工程とを有し、検出された合致位置に基づい
てワークの軸線を検出することを特徴とする。
は、前記ワーク位置検出工程によって求まったワーク位
置における1次元の明度情報を自己形状モデルとして記
憶する記憶工程と、記憶された自己形状モデルと2次元
の明度情報との相関演算に基づき合致位置を検出する合
致位置検出工程とを有し、検出された合致位置に基づい
てワークの軸線を検出することを特徴とする。
【0008】また、本発明は、2次元画像を撮像する際
の撮像手段の位置と、照明の位置から求めたワークの存
在する位置に応じたワークの中心と明度のピークの中心
のずれ量の関係を記憶しており、上記ワーク軸線検出工
程において、軸線位置をこのずれ量によって補正するこ
とを特徴とする。
の撮像手段の位置と、照明の位置から求めたワークの存
在する位置に応じたワークの中心と明度のピークの中心
のずれ量の関係を記憶しており、上記ワーク軸線検出工
程において、軸線位置をこのずれ量によって補正するこ
とを特徴とする。
【0009】また、本発明は、前記ワーク端点検出工程
は、前記ワーク軸線検出工程で得られた軸線に沿って前
記自己形状モデルと明度情報とを比較する比較工程を含
み、前記自己形状モデルと前記明度情報とが合致しなく
なった位置をワークの端点とすることを特徴とする。
は、前記ワーク軸線検出工程で得られた軸線に沿って前
記自己形状モデルと明度情報とを比較する比較工程を含
み、前記自己形状モデルと前記明度情報とが合致しなく
なった位置をワークの端点とすることを特徴とする。
【0010】
【作用】このように、本発明によれば、2次元画像中の
明度の方向と、この明度を一次微分した値の絶対値を用
いてワークの位置検出を行う。すなわち、一次微分値の
絶対値のピークからワークのエッジ候補を得て、このエ
ッジ点における明度の方向が大きくなるものと小さくな
るものの一対からなれば、ワークであると判定すること
によって、単に微分値の大きさのみを利用する方法に比
べ、ノイズ除去が確実に行え、簡単な演算によって精度
の高い検出が行える。
明度の方向と、この明度を一次微分した値の絶対値を用
いてワークの位置検出を行う。すなわち、一次微分値の
絶対値のピークからワークのエッジ候補を得て、このエ
ッジ点における明度の方向が大きくなるものと小さくな
るものの一対からなれば、ワークであると判定すること
によって、単に微分値の大きさのみを利用する方法に比
べ、ノイズ除去が確実に行え、簡単な演算によって精度
の高い検出が行える。
【0011】また、ワークの軸を検出する際に、実際に
検出された明度情報を自己形状モデルとして記憶し、こ
れを用いた相関演算を行う。これによって、ワークの見
え方の個体差に対応でき、検出の信頼度が上昇する。
検出された明度情報を自己形状モデルとして記憶し、こ
れを用いた相関演算を行う。これによって、ワークの見
え方の個体差に対応でき、検出の信頼度が上昇する。
【0012】また、ワークの軸の位置は、カメラ位置、
照明位置、ワーク位置によってずれる。そして、カメラ
位置、照明位置は予め決定されているため、ずれ量はワ
ークの位置によって一義的に決定される。そこで、この
ワーク位置とずれ量の関係を予め求めて記憶しておけ
ば、ワーク軸位置を正確なものにできる。例えば、ワー
ク軸位置を検出する際に、相関演算を行なう基となるモ
デルを照明の位置、カメラの位置、ワークの位置に基づ
いて補正しておけば、ワークの軸位置の見え方のずれを
補正することができ、確度の高い軸位置検出が行える。
照明位置、ワーク位置によってずれる。そして、カメラ
位置、照明位置は予め決定されているため、ずれ量はワ
ークの位置によって一義的に決定される。そこで、この
ワーク位置とずれ量の関係を予め求めて記憶しておけ
ば、ワーク軸位置を正確なものにできる。例えば、ワー
ク軸位置を検出する際に、相関演算を行なう基となるモ
デルを照明の位置、カメラの位置、ワークの位置に基づ
いて補正しておけば、ワークの軸位置の見え方のずれを
補正することができ、確度の高い軸位置検出が行える。
【0013】また、自己形状モデルを軸心に沿って移動
させ、その相関値に基づいてワークの端点を検出する。
そこで、ワークの方向が水平からずれていた場合にも、
確度の高い端点の高い検出が行える。
させ、その相関値に基づいてワークの端点を検出する。
そこで、ワークの方向が水平からずれていた場合にも、
確度の高い端点の高い検出が行える。
【0014】
【実施例】以下、本発明の実施例について、図面に基づ
いて説明する。図1は、本発明に係る装置の概略構成を
示すブロック図であり、本装置は、テレビカメラ10
と、A/D変換器12と、画像メモリ14と、演算装置
16からなっている。テレビカメラ10は、CCD等か
ら構成され、マトリクス状に配置された光電変換素子に
よって入射光に応じた電荷を生じ、これを画素毎のアナ
ログの明度信号として出力する。A/D変換器12は、
テレビカメラ10から供給されるアナログの信号をデジ
タルデータに変換し、一画面(1フレーム)毎に画像メ
モリ14に記憶する。すなわち、テレビカメラ10によ
って得られた1フレームの画像は、画像メモリ14に画
素毎の明度データ(デジタル)として記憶される。演算
装置16は、画像メモリ14に記憶されている画像デー
タを処理し、最終的には、ワークを認識する。従って、
得られたデータに基づいて、ロボットの把持動作等を制
御することによって、自動的にワーク(ボルト)を把持
し、ボルトの締め付け等の作業を行うことができる。
いて説明する。図1は、本発明に係る装置の概略構成を
示すブロック図であり、本装置は、テレビカメラ10
と、A/D変換器12と、画像メモリ14と、演算装置
16からなっている。テレビカメラ10は、CCD等か
ら構成され、マトリクス状に配置された光電変換素子に
よって入射光に応じた電荷を生じ、これを画素毎のアナ
ログの明度信号として出力する。A/D変換器12は、
テレビカメラ10から供給されるアナログの信号をデジ
タルデータに変換し、一画面(1フレーム)毎に画像メ
モリ14に記憶する。すなわち、テレビカメラ10によ
って得られた1フレームの画像は、画像メモリ14に画
素毎の明度データ(デジタル)として記憶される。演算
装置16は、画像メモリ14に記憶されている画像デー
タを処理し、最終的には、ワークを認識する。従って、
得られたデータに基づいて、ロボットの把持動作等を制
御することによって、自動的にワーク(ボルト)を把持
し、ボルトの締め付け等の作業を行うことができる。
【0015】図2に、演算装置16における画像処理の
手順を示す。A/D変換器12から供給される画素毎の
明度値からなる原画像情報を画像情報Aとする。演算装
置16は、この画像情報Aに対して、ソーベル(Sob
el)演算子を用いて、1階微分を行う。これによっ
て、画素毎の勾配の情報(微分値の方向あるいは符号)
と、画素毎の微分強度(微分値の絶対値)とを得て、こ
れをそれぞれ画像情報B、Cとして画像メモリ14に記
憶する。
手順を示す。A/D変換器12から供給される画素毎の
明度値からなる原画像情報を画像情報Aとする。演算装
置16は、この画像情報Aに対して、ソーベル(Sob
el)演算子を用いて、1階微分を行う。これによっ
て、画素毎の勾配の情報(微分値の方向あるいは符号)
と、画素毎の微分強度(微分値の絶対値)とを得て、こ
れをそれぞれ画像情報B、Cとして画像メモリ14に記
憶する。
【0016】ここで、上述の微分演算について、簡単に
説明する。画像情報Aは、画像上の座標(x,y)毎に
それぞれ決定された明度値についての情報であり、明度
値のマトリクスで表される。そこで、この原画像は、明
度値のスカラー場F(x,y)として考えられる。これ
に、二次元微分演算子である▽を乗算してベクトル場G
を求める。
説明する。画像情報Aは、画像上の座標(x,y)毎に
それぞれ決定された明度値についての情報であり、明度
値のマトリクスで表される。そこで、この原画像は、明
度値のスカラー場F(x,y)として考えられる。これ
に、二次元微分演算子である▽を乗算してベクトル場G
を求める。
【0017】すなわち、▽=(d/dx,d/dy)を
スカラー場F(x,y)に乗算することにより、 ▽・F(x,y)=G(x,y) というベクトル場が求まる。なお、上述のd/dx,d
/dyは、偏微分を示す。また、実際の処理上はソーベ
ルオペレータを用いて行っている。
スカラー場F(x,y)に乗算することにより、 ▽・F(x,y)=G(x,y) というベクトル場が求まる。なお、上述のd/dx,d
/dyは、偏微分を示す。また、実際の処理上はソーベ
ルオペレータを用いて行っている。
【0018】このようにして得られたベクトル場Gは、
画像情報各座標毎に、x方向及びy方向の微分値を有す
るものであり、 (1)ベクトルの向き (2)ベクトルの大きさ という情報を各座標毎に含んでいる。そして、本実施例
では、ベクトルの向き(勾配を示す)についての情報を
画像情報Bとして記憶し、ベクトルの大きさ(ベクトル
強度)についての情報を画像情報Cとして記憶する。
画像情報各座標毎に、x方向及びy方向の微分値を有す
るものであり、 (1)ベクトルの向き (2)ベクトルの大きさ という情報を各座標毎に含んでいる。そして、本実施例
では、ベクトルの向き(勾配を示す)についての情報を
画像情報Bとして記憶し、ベクトルの大きさ(ベクトル
強度)についての情報を画像情報Cとして記憶する。
【0019】そして、ベクトル強度についての情報であ
る画像情報Cに対し、細線化処理を施し、微分強度のピ
ーク点をエッジと推定し、これをエッジ情報として記憶
する。このエッジ情報を画像情報Dとする。
る画像情報Cに対し、細線化処理を施し、微分強度のピ
ーク点をエッジと推定し、これをエッジ情報として記憶
する。このエッジ情報を画像情報Dとする。
【0020】このようにして画像情報A〜Dを得た後、
これら情報を処理して、ワークを認識する。そこで、こ
の処理の全体の流れを図3に示す。ここで、この例は、
ボルト等円筒状のワークを認識するものである。まず、
画像情報B,C,Dからシャフト部の候補を探す(S1
1)。そして、探し出された候補を処理する際に利用す
るモデルについて、そのモデルにおけるシャフトの中心
と見られる位置を補正する(S12)。次に、得られた
データの中から1ライン分のデータを抽出し自己形状モ
デルを作成する(S13)。そして、この自己形状モデ
ルとの相関処理によって軸心を推定する(S14)。軸
心が推定できた場合には、自己形状モデルを軸心方向に
移動させて相関をとることによって端点を検出する(S
15)。このようにして軸心及び端点を検出し、ワーク
を認識する。
これら情報を処理して、ワークを認識する。そこで、こ
の処理の全体の流れを図3に示す。ここで、この例は、
ボルト等円筒状のワークを認識するものである。まず、
画像情報B,C,Dからシャフト部の候補を探す(S1
1)。そして、探し出された候補を処理する際に利用す
るモデルについて、そのモデルにおけるシャフトの中心
と見られる位置を補正する(S12)。次に、得られた
データの中から1ライン分のデータを抽出し自己形状モ
デルを作成する(S13)。そして、この自己形状モデ
ルとの相関処理によって軸心を推定する(S14)。軸
心が推定できた場合には、自己形状モデルを軸心方向に
移動させて相関をとることによって端点を検出する(S
15)。このようにして軸心及び端点を検出し、ワーク
を認識する。
【0021】(シャフト部候補発見)まず、シャフト部
候補発見(S11)について説明する。本実施例で認識
の対象としているボルトのような円筒形状の物体は、画
像情報Aにおいては、図4(A)のように見えるはずで
ある。すなわち、中心部で反射が大きいため明るく、縁
部が暗くなると期待される。そこで、明度を画素毎に取
れば図4(B)のようにシャフトの中心部で明度が最も
明るく縁部で暗いカーブとなる。
候補発見(S11)について説明する。本実施例で認識
の対象としているボルトのような円筒形状の物体は、画
像情報Aにおいては、図4(A)のように見えるはずで
ある。すなわち、中心部で反射が大きいため明るく、縁
部が暗くなると期待される。そこで、明度を画素毎に取
れば図4(B)のようにシャフトの中心部で明度が最も
明るく縁部で暗いカーブとなる。
【0022】このため、これを微分して得た微分強度で
ある画像情報Cでは、図5に示すようにシャフト縁部付
近で一対のピークを持った特性となる。従って、この微
分強度のピーク点の連なりがエッジ点として認識され、
これが画像情報Dとして記憶される。ここで、このエッ
ジ点は、シャフトの輪郭ではなく、明度変化が最も大き
な縁より若干内側の点となる。
ある画像情報Cでは、図5に示すようにシャフト縁部付
近で一対のピークを持った特性となる。従って、この微
分強度のピーク点の連なりがエッジ点として認識され、
これが画像情報Dとして記憶される。ここで、このエッ
ジ点は、シャフトの輪郭ではなく、明度変化が最も大き
な縁より若干内側の点となる。
【0023】一方、微分値の方向を示す画像情報Bで
は、図6に示したような方向が得られる。すなわち、シ
ャフトの中心の方向に向いて明るくなるため、各ベクト
ルはシャフトの中心方向を向く。従って、水平方向のみ
を見た場合には、シャフトの中心で符号が正から負に変
わるため、シャフトの左側で一次微分の符号は正であ
り、シャフトの右側で一次微分の符号は負となる。な
お、この図においては、方向のみを表しているため、矢
印の長さは全て同じ大きさである。
は、図6に示したような方向が得られる。すなわち、シ
ャフトの中心の方向に向いて明るくなるため、各ベクト
ルはシャフトの中心方向を向く。従って、水平方向のみ
を見た場合には、シャフトの中心で符号が正から負に変
わるため、シャフトの左側で一次微分の符号は正であ
り、シャフトの右側で一次微分の符号は負となる。な
お、この図においては、方向のみを表しているため、矢
印の長さは全て同じ大きさである。
【0024】本実施例では、これらの情報を考慮して、
シャフト部候補を発見するが、その具体的処理は図7に
示すようにして行う。まず、画像情報Dの1水平ライン
(x方向の1ライン)のデータの中から画素毎にデータ
を取り出し、エッジ点か否かを判定する(S21)。そ
して、エッジ点でなかった場合には、座標を一つずらし
(S22)、S21に戻る。このようにして、エッジ点
が見付かるまでこの処理を繰り返す。そして、エッジ点
であった場合には、その点の画像情報Bの値から、勾配
が右向きか否かを判定する。これは、シャフト部分につ
いて、順次左側から判定を行っていけば(xが順次増え
る方向)シャフトが見付かった所では、必ずその勾配は
右向きになっているからである。エッジ点の勾配が右向
きでなければ、ここはシャフトの輪郭ではないため、S
22に戻り次のエッジ点を探す。一方、勾配が右向きで
あれば、右方向へある距離離れた地点へ移動する(S2
4)。これは、シャフトの大きさは予めわかっており、
画像情報Bにおいて勾配の向きが右向きであれば、更に
右方向にシャフトの太さだけ離れた位置に対応するエッ
ジ点があるからである。そこで、この所定距離離れた地
点の近辺においてエッジ点があるか否かを判定する(S
25)。そして、ここにエッジ点がなかった場合には、
シャフトではなかったと見なし、S22に戻り次のエッ
ジ点の探索に移る。なお、シャフトの向きによって、一
対のエッジ点間の距離は異なるため、S25は必ずしも
1点の判定ではなく、所定の範囲の判定とする。
シャフト部候補を発見するが、その具体的処理は図7に
示すようにして行う。まず、画像情報Dの1水平ライン
(x方向の1ライン)のデータの中から画素毎にデータ
を取り出し、エッジ点か否かを判定する(S21)。そ
して、エッジ点でなかった場合には、座標を一つずらし
(S22)、S21に戻る。このようにして、エッジ点
が見付かるまでこの処理を繰り返す。そして、エッジ点
であった場合には、その点の画像情報Bの値から、勾配
が右向きか否かを判定する。これは、シャフト部分につ
いて、順次左側から判定を行っていけば(xが順次増え
る方向)シャフトが見付かった所では、必ずその勾配は
右向きになっているからである。エッジ点の勾配が右向
きでなければ、ここはシャフトの輪郭ではないため、S
22に戻り次のエッジ点を探す。一方、勾配が右向きで
あれば、右方向へある距離離れた地点へ移動する(S2
4)。これは、シャフトの大きさは予めわかっており、
画像情報Bにおいて勾配の向きが右向きであれば、更に
右方向にシャフトの太さだけ離れた位置に対応するエッ
ジ点があるからである。そこで、この所定距離離れた地
点の近辺においてエッジ点があるか否かを判定する(S
25)。そして、ここにエッジ点がなかった場合には、
シャフトではなかったと見なし、S22に戻り次のエッ
ジ点の探索に移る。なお、シャフトの向きによって、一
対のエッジ点間の距離は異なるため、S25は必ずしも
1点の判定ではなく、所定の範囲の判定とする。
【0025】一方、所定の範囲にエッジ点があった場合
には、そのエッジ点における勾配が左向きか否かを判定
する(S26)。この判定で、勾配が左向きでなかった
場合には、シャフトではなかったとみなせるため、上述
の場合と同様にS22に戻る。一方、勾配が左向きであ
れば、ここをシャフト部の候補として登録する。
には、そのエッジ点における勾配が左向きか否かを判定
する(S26)。この判定で、勾配が左向きでなかった
場合には、シャフトではなかったとみなせるため、上述
の場合と同様にS22に戻る。一方、勾配が左向きであ
れば、ここをシャフト部の候補として登録する。
【0026】このように、本実施例においては、原画像
を1階微分することによって得られたエッジ点と、ここ
における勾配情報を組み合わせることにより、比較的簡
単な判定で、シャフト部候補を発見することができる。
そして、この判定により、シャフトでない線分の多くを
除去できるため、ノイズを大幅に減少させることができ
誤認識を低減することができる。
を1階微分することによって得られたエッジ点と、ここ
における勾配情報を組み合わせることにより、比較的簡
単な判定で、シャフト部候補を発見することができる。
そして、この判定により、シャフトでない線分の多くを
除去できるため、ノイズを大幅に減少させることができ
誤認識を低減することができる。
【0027】なお、上述の処理は、画像情報Aにおける
xy座標をそのままにして、x座標の1ライン毎に行
う。ここで、本実施例では、図6に示すようにベクトル
の向きは二次元の方向を持っている。そこで、上述のS
24において移動する方向は、その点におけるベクトル
の向きの方向としてもよい。
xy座標をそのままにして、x座標の1ライン毎に行
う。ここで、本実施例では、図6に示すようにベクトル
の向きは二次元の方向を持っている。そこで、上述のS
24において移動する方向は、その点におけるベクトル
の向きの方向としてもよい。
【0028】(モデルの補正)次に、ワークの位置が広
い範囲に点在する場合、カメラと、ワークと、照明の位
置関係が、ワーク毎に変化する。図8に示すように、ワ
ーク→照明→カメラの角度がθであった場合に、ワーク
表面での鏡面反射を起こす位置は、θ/2のワーク表面
である。
い範囲に点在する場合、カメラと、ワークと、照明の位
置関係が、ワーク毎に変化する。図8に示すように、ワ
ーク→照明→カメラの角度がθであった場合に、ワーク
表面での鏡面反射を起こす位置は、θ/2のワーク表面
である。
【0029】従来は、円筒形状のモデルとして、図4に
示すように左右対象の山形のものが用いられてきた。し
かし、図8の例のように、ワーク実際の中心位置と、明
るさのピーク点は、ずれる。そこで、従来のモデルをそ
のまま用いたのでは、ワーク中心位置がワーク半径をr
とすると、 d=r・sin(θ/2) だけずれてしまう。ここで、ずれ量がdとなる。
示すように左右対象の山形のものが用いられてきた。し
かし、図8の例のように、ワーク実際の中心位置と、明
るさのピーク点は、ずれる。そこで、従来のモデルをそ
のまま用いたのでは、ワーク中心位置がワーク半径をr
とすると、 d=r・sin(θ/2) だけずれてしまう。ここで、ずれ量がdとなる。
【0030】そこで、本実施例においては、このずれ量
dをモデルの補正によって解消する。図8の例では、ワ
ークのx座標によって、θが一義的に決定される。そこ
で、θはx座標の関数と考えられ、θ=θ(x)と表す
ことができる。この関数は、カメラ位置、照明位置とか
ら、予め求めておくことができる。そこで、これを求め
テーブルとして記憶しておく。例えば演算装置16内に
テーブルを設け、ここに記憶しておく。
dをモデルの補正によって解消する。図8の例では、ワ
ークのx座標によって、θが一義的に決定される。そこ
で、θはx座標の関数と考えられ、θ=θ(x)と表す
ことができる。この関数は、カメラ位置、照明位置とか
ら、予め求めておくことができる。そこで、これを求め
テーブルとして記憶しておく。例えば演算装置16内に
テーブルを設け、ここに記憶しておく。
【0031】更に、シャフト部候補の位置(x座標)
は、上述のようにして既知であるため、候補発見時にず
れ量dが予測できる。そこで、この予測されたずれ量d
を用い、図9に示すように、dだけずらしたモデルを作
成する。なお、この図9は、明度値でワークの位置を示
してある。
は、上述のようにして既知であるため、候補発見時にず
れ量dが予測できる。そこで、この予測されたずれ量d
を用い、図9に示すように、dだけずらしたモデルを作
成する。なお、この図9は、明度値でワークの位置を示
してある。
【0032】そして、このようにして得られたモデルを
用い、上述のようにして発見されたシャフト候補近辺で
両者の相関をとる。すなわち、上述のようにして得られ
たシャフト候補の明度値(画像情報A)と補正されたモ
デルとの相関をシャフト候補の中心の近辺で所定画素
(±n画素)左右にずらした範囲で、1画素ずつずらし
て2n回の相関演算を行う。そして、得られた相関値の
最大値が所定のしきい値を越えていればこれをシャフト
と断定し、このシャフトの位置を記憶すると共に、次の
ステップへ進む。なお、シャフトの位置は、その中心座
標を記憶する。
用い、上述のようにして発見されたシャフト候補近辺で
両者の相関をとる。すなわち、上述のようにして得られ
たシャフト候補の明度値(画像情報A)と補正されたモ
デルとの相関をシャフト候補の中心の近辺で所定画素
(±n画素)左右にずらした範囲で、1画素ずつずらし
て2n回の相関演算を行う。そして、得られた相関値の
最大値が所定のしきい値を越えていればこれをシャフト
と断定し、このシャフトの位置を記憶すると共に、次の
ステップへ進む。なお、シャフトの位置は、その中心座
標を記憶する。
【0033】このようにモデルを補正することによっ
て、カメラ位置、照明位置に対するワークの位置変化に
よる認識誤差を解消することができる。
て、カメラ位置、照明位置に対するワークの位置変化に
よる認識誤差を解消することができる。
【0034】(軸心の推定)軸心を推定するためには、
まず自己形状モデルを記憶する。この自己形状モデル
は、上述のようにしてシャフトが検出された位置におけ
る明度情報をx方向1行分(1ラスタ分)記憶する。そ
して、この自己形状モデルを用いて、軸心の推定を行
う。すなわち、上述のようにして求まった1ラスタにお
けるシャフトの位置より、1ラスタ上方(または下方)
にずらし、左右に一定範囲だけ自己形状モデルを用いた
自己相関演算を行う。そして、この相関演算によって得
られた相関のピーク点からそのラスタにおけるシャフト
位置を検出記憶し、更に1ラスタずらし、この作業をn
回行ってピーク点をn個得る。そして、これらの点を最
小二乗法によって結び、軸心を決定する。
まず自己形状モデルを記憶する。この自己形状モデル
は、上述のようにしてシャフトが検出された位置におけ
る明度情報をx方向1行分(1ラスタ分)記憶する。そ
して、この自己形状モデルを用いて、軸心の推定を行
う。すなわち、上述のようにして求まった1ラスタにお
けるシャフトの位置より、1ラスタ上方(または下方)
にずらし、左右に一定範囲だけ自己形状モデルを用いた
自己相関演算を行う。そして、この相関演算によって得
られた相関のピーク点からそのラスタにおけるシャフト
位置を検出記憶し、更に1ラスタずらし、この作業をn
回行ってピーク点をn個得る。そして、これらの点を最
小二乗法によって結び、軸心を決定する。
【0035】このように、本実施例では、実際に測定し
て得られたデータから自己形状モデルを作成する。そし
て、この自己形状モデルを用いて相関演算を行う。従っ
て、ワークの見え方の個体差に対応できる。このため、
予め記憶されているモデルを利用した場合における相関
の信頼度が80%程度であったものが、95%程度まで
向上し、認識の確度が上昇できた。これは、本実施例の
ような自己形状モデルを用いない場合には、一つ一つの
ワークの見え方(明度のグラフ)は、それぞれ異なって
おり、一つのモデルとの相関演算においてはその相関値
がばらついてしまう。そこで、相関のしきい値を十分下
げなければならず、相関の信頼度が低下してしまうから
である。
て得られたデータから自己形状モデルを作成する。そし
て、この自己形状モデルを用いて相関演算を行う。従っ
て、ワークの見え方の個体差に対応できる。このため、
予め記憶されているモデルを利用した場合における相関
の信頼度が80%程度であったものが、95%程度まで
向上し、認識の確度が上昇できた。これは、本実施例の
ような自己形状モデルを用いない場合には、一つ一つの
ワークの見え方(明度のグラフ)は、それぞれ異なって
おり、一つのモデルとの相関演算においてはその相関値
がばらついてしまう。そこで、相関のしきい値を十分下
げなければならず、相関の信頼度が低下してしまうから
である。
【0036】(端点の検出)上述のようにして、シャフ
トの軸心の位置が求まり、シャフトの方向も求まる。そ
こで、次にシャフトの端点の検出を行う。この場合、前
工程で得られた軸心に垂直方向にシャフトを輪切りにす
るようにデータをとり、このデータと自己形状モデルと
の相関をとる。すなわち、図10に示すように、自己相
関モデルとワークとの相関演算を軸心方向にずらしなが
ら行う。そして、この相関演算の結果があるしきい値を
下回った時点でその点がシャフトの端点とみなす。
トの軸心の位置が求まり、シャフトの方向も求まる。そ
こで、次にシャフトの端点の検出を行う。この場合、前
工程で得られた軸心に垂直方向にシャフトを輪切りにす
るようにデータをとり、このデータと自己形状モデルと
の相関をとる。すなわち、図10に示すように、自己相
関モデルとワークとの相関演算を軸心方向にずらしなが
ら行う。そして、この相関演算の結果があるしきい値を
下回った時点でその点がシャフトの端点とみなす。
【0037】これによって軸心に対し垂直の方向に相関
を取るため、検出の誤差が±1画素程度となる。従来は
水平方向に相関を取っていたため、図10のようにワー
クが傾くほどその誤差が大きくなってしまった。本実施
例によりこのような誤差が解消できる。
を取るため、検出の誤差が±1画素程度となる。従来は
水平方向に相関を取っていたため、図10のようにワー
クが傾くほどその誤差が大きくなってしまった。本実施
例によりこのような誤差が解消できる。
【0038】(その他)上述の実施例では、ワークの形
状として、円筒形状のものについて述べた。しかし、同
一の形状が一次元的に連続するシャフト状物体や、シャ
フト状部位を有する物体への認識に広く適用することが
できる。
状として、円筒形状のものについて述べた。しかし、同
一の形状が一次元的に連続するシャフト状物体や、シャ
フト状部位を有する物体への認識に広く適用することが
できる。
【0039】
【発明の効果】以上説明したように、本発明によれば、
2次元画像中の明度の方向と明度を一次微分した絶対値
を用いてワークの位置検出を行う。そこで単に微分値の
大きさのみを利用する方法に比べ、ノイズ除去が確実に
行え、簡単な演算によって精度の高い検出が行える。
2次元画像中の明度の方向と明度を一次微分した絶対値
を用いてワークの位置検出を行う。そこで単に微分値の
大きさのみを利用する方法に比べ、ノイズ除去が確実に
行え、簡単な演算によって精度の高い検出が行える。
【0040】また、ワークの軸を検出する際に、実際に
検出された明度情報を自己形状モデルとして記憶し、こ
れを用いた相関演算を行う。これによって、ワークの見
え方の個体差に対応でき、検出の信頼度が上昇する。
検出された明度情報を自己形状モデルとして記憶し、こ
れを用いた相関演算を行う。これによって、ワークの見
え方の個体差に対応でき、検出の信頼度が上昇する。
【0041】また、ワークの軸を検出する際に、相関演
算を行なう基となるモデルを照明の位置、カメラの位
置、ワークの位置に基づいて補正する。従って、ワーク
の中心の位置と見え方のずれを補正することができ、確
度の高い位置検出が行える。
算を行なう基となるモデルを照明の位置、カメラの位
置、ワークの位置に基づいて補正する。従って、ワーク
の中心の位置と見え方のずれを補正することができ、確
度の高い位置検出が行える。
【0042】また、自己形状モデルを軸心に沿って移動
させ、その相関値に基づいてワークの端点を検出する。
そこで、ワークの方向が水平からずれていた場合にも、
確度の高い検出が行える。
させ、その相関値に基づいてワークの端点を検出する。
そこで、ワークの方向が水平からずれていた場合にも、
確度の高い検出が行える。
【図1】実施例の全体構成を示すブロック図である。
【図2】複数の画像情報の系統を示す説明図である。
【図3】画像処理の動作の全体フローを示すフローチャ
ートである。
ートである。
【図4】明度情報(画像情報A)の特性を示す説明図で
ある。
ある。
【図5】微分強度(画像情報C)の特性を示す説明図で
ある。
ある。
【図6】微分勾配(画像情報B)の状態を示す説明図で
ある。
ある。
【図7】ワーク(シャフト)候補検出の動作を示すフロ
ーチャートである。
ーチャートである。
【図8】ワークの位置とずれの関係を示す説明図であ
る。
る。
【図9】ずれ量の大きさを示す説明図である。
【図10】端点検出の状態を示す説明図である。
10 カメラ 12 A/D変換器 14 画像メモリ 16 演算装置
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06T 1/00 (72)発明者 鋤柄 和俊 愛知県愛知郡長久手町大字長湫字横道41番 地の1 株式会社豊田中央研究所内 (72)発明者 森部 弘 愛知県愛知郡長久手町大字長湫字横道41番 地の1 株式会社豊田中央研究所内
Claims (4)
- 【請求項1】 撮像した2次元画像によってワークの位
置を検出するワーク位置検出工程と、前記ワークの軸線
を検出するワーク軸線検出工程と、前記ワークの端点を
検出するワーク端点検出工程とを含みワーク認識を行う
画像処理方法において、 前記ワーク位置検出工程は、前記2次元画像中の明度の
方向と、前記明度を一次微分した値の絶対値とを明度情
報として用いてワークの位置検出を行うことを特徴とす
る画像処理方法。 - 【請求項2】 請求項1に記載の画像処理方法におい
て、 前記ワーク軸線検出工程は、 前記ワーク位置検出工程によって求まったワーク位置に
おける1次元の明度情報を自己形状モデルとして記憶す
る記憶工程と、記憶された自己形状モデルと2次元の明
度情報との相関演算に基づき合致位置を検出する合致位
置検出工程と、を有し、 検出された合致位置に基づいてワークの軸線を検出する
ことを特徴とする画像処理方法。 - 【請求項3】 請求項1に記載の画像処理方法におい
て、 さらに、2次元画像を撮像する際の撮像手段の位置と、
照明の位置から求めたワークの存在する位置に応じたワ
ークの中心と明度のピークの中心のずれ量の関係を記憶
しており、 上記ワーク軸線検出工程において、軸線位置をこのずれ
量によって補正することを特徴とする画像処理方法。 - 【請求項4】 請求項2に記載の画像処理方法におい
て、 前記ワーク端点検出工程は、前記ワーク軸線検出工程で
得られた軸線に沿って前記自己形状モデルと明度情報と
を比較する比較工程を含み、前記自己形状モデルと前記
明度情報とが合致しなくなった位置をワークの端点とす
ることを特徴とする画像処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6212738A JPH0875426A (ja) | 1994-09-06 | 1994-09-06 | 画像処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6212738A JPH0875426A (ja) | 1994-09-06 | 1994-09-06 | 画像処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0875426A true JPH0875426A (ja) | 1996-03-22 |
Family
ID=16627619
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6212738A Pending JPH0875426A (ja) | 1994-09-06 | 1994-09-06 | 画像処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0875426A (ja) |
-
1994
- 1994-09-06 JP JP6212738A patent/JPH0875426A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8098928B2 (en) | Apparatus for picking up objects | |
| US8666141B2 (en) | Robot system, robot control device and method for controlling robot | |
| CN111645074A (zh) | 一种机器人抓取定位方法 | |
| EP1477934A2 (en) | Image processing apparatus | |
| US6490369B1 (en) | Method of viewing and identifying a part for a robot manipulator | |
| CN111169871A (zh) | 一种垃圾车智能机械手抓取垃圾桶方法及机械手 | |
| CN119205904A (zh) | 一种基于单目视觉的菌株培养皿定位方法及系统 | |
| JP2003136465A (ja) | 検出対象物の3次元位置・姿勢決定方法とロボット用視覚センサ | |
| US20200338764A1 (en) | Object detection method and robot system | |
| JP3039241B2 (ja) | リング状ワークの特徴点抽出方法 | |
| JPH0875426A (ja) | 画像処理方法 | |
| JP4767052B2 (ja) | 光軸ずれ検出装置 | |
| JPH08315152A (ja) | 画像認識装置 | |
| US5446801A (en) | Recognizing methods of circular holes | |
| JP3627249B2 (ja) | 画像処理装置 | |
| JPH05272946A (ja) | 物体判別装置 | |
| JP3375242B2 (ja) | ロボットの物体認識方法及びその装置 | |
| JP2001116545A (ja) | 距離画像算出装置 | |
| JP4566686B2 (ja) | 対象物の形状判別方法及び装置 | |
| JP2000194861A (ja) | 画像認識方法及び装置 | |
| JPH06317406A (ja) | 物品の位置検出装置 | |
| JPH09250911A (ja) | 画像からの寸法測定方法 | |
| CN112233176A (zh) | 一种基于标定物的目标位姿测量方法 | |
| JP2000207556A (ja) | パタ―ンマッチング方法と装置 | |
| JPH10332333A (ja) | 対象物の回転角と位置の検出方法 |