JP3552419B2 - 物体の認識方法 - Google Patents
物体の認識方法 Download PDFInfo
- Publication number
- JP3552419B2 JP3552419B2 JP25267196A JP25267196A JP3552419B2 JP 3552419 B2 JP3552419 B2 JP 3552419B2 JP 25267196 A JP25267196 A JP 25267196A JP 25267196 A JP25267196 A JP 25267196A JP 3552419 B2 JP3552419 B2 JP 3552419B2
- Authority
- JP
- Japan
- Prior art keywords
- scanning line
- image
- value
- pixel
- scanning
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Description
【発明の属する技術分野】
本発明は、物体を撮像して得られる濃淡画像に基づいて物体の位置と姿勢を認識する物体の認識方法に関する。
【0002】
【従来の技術】
従来より、所謂ピックアンドプレイス(物体を保持して所定の位置に移動させる装置)やロボット等により部品(物体)を拾い上げる時、特に部品が位置決めされていないような場合には、撮像装置により撮像した部品の画像を画像処理することで部品の位置と姿勢を認識した後、認識された部品の位置と姿勢の情報を用いてロボット等による作業が行われていた。このような場合の画像処理には高速な処理が要求されるため、二値化された画像(二値画像)を使って重心と2次モーメントを求めることにより物体の位置と姿勢を認識する方法が一般に採られている。
【0003】
【発明が解決しようとする課題】
しかし、上記従来方法では、部品を撮像した画像を構成する全ての画素に対して処理を行うため、検出精度を高めるために分解能の高い画像、すなわち、画像サイズが大きい画像になると、計算量が多く処理時間がかかるという問題がある。また、二値画像を用いる画像処理において検出精度を高めるためには、認識対象となる物体と背景とのコントラストが高いことが必要となるが、実際の生産ラインでは、部品と背景とのコントラストを高くすることができない場合があり、精度の高い位置と姿勢の認識の妨げとなっている。
【0004】
本発明は上記問題に鑑みて為されたものであり、その目的とするところは、二値画像並びに多値画像の両画像に対応できる高速な物体の認識方法を提供することにある。
【0005】
【課題を解決するための手段】
請求項1の発明は、上記目的を達成するために、物体を撮像して得られる濃淡画像に対して、物体の少なくとも一部が横切るようなウィンドウ枠を有するウィンドウを、物体がおおよそ存在する位置に予め設定し、ウィンドウ枠に沿って濃淡画像を走査して各画素の画素データに基づいてウィンドウ枠上での物体の有撫を判断し、物体が存在するウィンドウ枠の位置に応じて濃淡画像を走査する走査方向と走査線移動方向とを選択するとともに、選択された走査線移動方向に沿って走査線を移動させながら、ウィンドウ内における走査線上での画素データに基づいて当該走査線上での物体の位置を検出し、さらに前記走査線移動方向に沿って移動させながら検出した各走査線上での物体の位置に基づいてウィンドウ内における物体の位置と姿勢を求めることを特徴とし、物体がおおよそ存在する位置に設定されたウィンドウ枠上での物体の有無を判断して処理の最初に物体のおおよその位置・方向を求め、その情報に基づき走査線を移動させて物体の詳細な位置と姿勢の認識を行うことにより、物体の存在している可能性の高い位置に効率良く物体検出のための走査線の位置を設定でき、物体の位置と姿勢を求める処理の回数を減らすことができる。
【0006】
また、走査線上における物体の有無の判断は走査線上の画素データの変化に基づいて行うため、請求項4の発明のように、濃淡画像を空間微分して得られる微分値画像も使用でき、コントラストの低い物体の画像に対しても物体と背景との境界を良く表した画像を使って物体の位置と姿勢を認識することができる。
【0007】
【発明の実施の形態】
(実施形態1)
図1は本実施形態における物体の認識方法を実現するためのシステム構成を示すブロック図である。なお、本実施形態は濃淡画像を二値化して得られる二値画像を用いて物体の位置と姿勢の認識処理を行うものである。
【0008】
テレビカメラのような撮像装置1により対象物(物体)を撮像し、撮像したアナログ画像をA/D変換部2においてディジタル値に変換することで図2に示すような濃淡画像を得ている。ここで、濃淡画像とは、各画素ごとに濃度に応じた値(画素データ)が与えられた画像をいう。次に、この濃淡画像の中の物体の部分(図2中のAの部分、以下、物体Aと表記する)と、物体A以外の背景の部分(図2中のBの部分、以下、背景Bと表記する)とを各々の明るさ(濃度値=画素データ)に応じて分離するように、濃淡画像を画像蓄積部3において二値化し、得られた二値画像を図示しない画像処理装置内のメモリに蓄える。
【0009】
図2に示した濃淡画像を二値化して得られる二値画像を図3に示す。このように、本実施形態の場合では、物体Aは’1’(明部)、背景は’0’(暗部)に二値化される。この二値画像に対して、ウィンドウ生成部4では、図4に示すように、矩形のウィンドウ枠Fの少なくとも一辺f1 〜f4 が物体Aを横切るようにウィンドウWを設定する。なお、説明を簡単にするために、ウィンドウ枠Fの上辺をf1 、右辺をf2 、下辺をf3 、左辺をf4 と表記する(図4参照)。また、上辺f1 及び下辺f3 に平行な軸をx軸、右辺f2 及び左辺f4 に平行な軸をy軸とする二次元直交座標系を想定する。
【0010】
そして、物体初期検出部5は、図5のフローチャートに示すような処理を行なって、物体Aと交差するウィンドウ枠Fの辺f1 〜f4 を検出する。図5を参照して上記検出処理をさらに詳しく説明する。まず、ウィンドウ枠Fの何れかの辺f1 〜f4 上に走査開始点を設定し、走査開始点に設定された画素から各辺f1 〜f4 に沿って順次アドレスを進ませながら、各画素のデータにより物体Aの存在を検出する。すなわち、画素データが「1」の場合には物体A有り、「0」の場合には物体A無しというように判断する。そして、物体Aと交差する(横切る)ウィンドウ枠Fの辺(図4の場合であれば下辺f3 )が検出できれば、その辺f3 を記憶し、ウィンドウ枠Fの全ての辺f1 〜f4 についての走査が終わればこの処理は終了する。なお、何れの辺f1 〜f4 も物体Aと交差していない場合には、ウィンドウ生成部4において再度別のウィンドウWを設定し、新しいウィンドウWに対して上記検出処理を行なえばよい。
【0011】
次に走査方向選択部6は、図6のフローチャートに示すような処理を行ない、物体初期検出部5の検出結果に応じて、ウィンドウ枠Fの上辺f1 あるいは下辺f3 が物体Aと交差する場合には走査方向をx軸に平行とし、右辺f2 あるいは左辺f4 が物体Aと交差する場合には走査方向をy軸に平行とする。すなわち、図4に示すような場合には下辺f3 が物体Aと交差しているから、走査方向選択部6においてx軸方向が走査方向として選択される。なお、何れの辺f1 〜f4 も物体Aと交差しない場合には、上述のようにウィンドウの設定からやり直すようにすればよい。
【0012】
走査線移動部7は、図7のフローチャートに示すような処理を行ない、上記のように走査方向選択部6にて選択された移動方向へ走査線の移動を行う。図7を参照して上記移動処理をさらに詳しく説明する。まず、初期値として、物体初期検出部5で検出されたウィンドウ枠Fの下辺(物体Aと交差する辺)f3 を第一走査線、第一走査線(下辺f3 )に平行して対向するウィンドウ枠Fの上辺f1 を第二走査線と設定する。次に、第一走査線と第二走査線の中間位置に第三走査線を設定し、この第三走査線上で物体Aが検出されれば(第三走査線が物体Aと交差すれば)、第三走査線を新たに第一走査線とする。反対に第三走査線上で物体Aが検出されなければ(第三走査線が物体Aと交差しなければ)、第三走査線を新たに第二走査線とする。その後、第一走査線と第二走査線の間隔が1画素となるまで上記処理を繰り返し行なう。そして、繰り返し処理の終了時における第一走査線上の物体が存在する位置を物体位置と認識する。
【0013】
次に、物体検出部8における上記走査線上での物体検出の処理を、図3及び図8に示すフローチャートを参照して説明する。図3において、走査線L1 上の画素データを順次読みだしながら、読み出した画素データが「1」であれば、物体存在長さKに1を加えるとともにその画素の二値画像上でのアドレス(xy二次元直交座標系における座標値で示される)を記憶する。反対に画素データが「0」であれば、物体存在長さKを0に初期化するとともに、記憶しているその画素のアドレスを消去する。そして、物体存在長さKを所定値αと比較し、物体存在長さKが所定値α以上であれば、記憶している1乃至複数の画素のアドレスの重心(Cx,Cy)を求め、その重心(Cx,Cy)を走査線L1 上の物体位置とする。また、物体存在長さKが所定値αより小さい間は、画素データの読み出しからアドレスを記憶するまでの上記処理を繰り返す。ここで、上記所定値αは、例えば二値画像上での物体Aの見かけ上の物体幅の最小値に基づいて設定すればよい。
【0014】
なお、本実施形態では、撮像装置1から入力された濃淡画像を予め二値化した二値画像に対して物体検出の走査を行なっているが、物体検出の走査を入力濃淡画像に対して行ない、画素データの二値化と物体検出とを同時に行なうようにすることも可能であって、何れの方法でも同様の結果が得られることはいうまでもない。
【0015】
そして、走査線移動部7および物体検出部8の処理により得られた各走査線上での物体の位置(画素のアドレス)に基づいて、位置・姿勢認識部9で物体の位置と姿勢の認識を行う。以下、この位置・姿勢認識部9における位置・姿勢認識処理を、図9及び図10のフローチャートを参照して説明する。まず、物体Aの位置を検出した走査線L2 上における物体位置を二値画像上の座標S(xS ,yS )とし、走査線L2 より所定距離Nだけ離れた位置に別の走査線L3 を設定する。次に、この新たに設定された走査線L3 上での物体位置を座標U(xu ,yu )とし、点Sと点Uを結ぶ線分と直交軸(今の場合はx軸)とのなす角度Θを下式により求め、この角度Θを物体Aの姿勢とする。
【0016】
Θ=arctan{(yu −yS )/(xu −xS )}
このようにして、物体Aの位置Sと姿勢Θとを求めることができる。
上述のように本実施形態によれば、物体Aがおおよそ存在する位置にウィンドウを設定し、設定されたウィンドウのウィンドウ枠上での物体Aの有無を判断して、処理の最初に物体Aのおおよその位置及び方向を求めた後、その位置及び方向の情報に基づいて走査線を移動させ、物体Aの詳細な位置と姿勢の認識を行うようにしているため、物体Aの存在している可能性の高い範囲に効率良く物体検出のための走査線を設定でき、物体検出に要する処理の回数を減らすことができ、高速に処理を行うことができる。
【0017】
(実施形態2)
本実施形態は、濃淡画像を空間微分して得られる微分値画像と濃度方向画像とを利用する点に特徴がある。なお、本実施形態の認識方法を実現するためのシステム構成は図1に示した実施形態1の構成と共通であるから、システム構成についての図示及び説明は省略する。
【0018】
撮像装置1により対象物(物体)を撮像し、撮像したアナログ画像をA/D変換部2においてディジタル値に変換して濃淡画像を得る(図2参照)。次に、画像蓄積部3において、この濃淡画像を空間微分して図示しない画像処理装置内のメモリに蓄える。図11(a)に濃淡画像に対する微分値画像、同図(b)に濃度方向画像をそれぞれ示す。ここで、空間微分の方法は従来から各種提案されているが、例えば次に示すような方法を用いることができる。すなわち、着目画素の8近傍画素の濃度値D(x,y)から、下式により求められるx軸及びy軸方向の微分値Gx,Gyを利用するものである。
これらより、着目画素(x,y)における微分値Gおよび濃度方向値θは以下の様になる。
【0019】
G=(Gx2 +Gy2 )1/2
θ=arctan(Gy/Gx)
そして、上記微分値Gならびに濃度方向値θを画素データに持つ微分値画像と濃度方向画像を得ることができる。
画像処理装置内のメモリに蓄えられたメモリ画像(微分値画像及び濃度方向画像)に対して、ウィンドウ生成部14では、図4に示すように実施形態1と同様にして、矩形のウィンドウ枠Fの少なくとも一辺f1 〜f4 が物体Aを横切るようにウィンドウWを設定する。
【0020】
そして、物体初期検出部5は、図5のフローチャートに示すような実施形態1と同様の処理を行なって、物体Aと交差するウィンドウ枠Fの辺f1 〜f4 を検出する。なお、各辺f1 〜f4 を走査して物体Aの有無を検出する方法については後述する。
次に走査方向選択部6は、図6のフローチャートに示すような実施形態1と同様の処理を行ない、物体初期検出部5の検出結果に応じて、ウィンドウ枠Fの上辺f1 あるいは下辺f3 が物体Aと交差する場合には走査方向をx軸に平行とし、右辺f2 あるいは左辺f4 が物体Aと交差する場合には走査方向をy軸に平行とする。
【0021】
走査線移動部7は、図13に示すような処理を行ない、上記のように走査方向選択部6にて選択された移動方向へ走査線の移動を行う。図12及び図13のフローチャートを参照して上記移動処理をさらに詳しく説明する。まず、初期値として、物体初期検出部5で検出されたウィンドウ枠Fの辺f3 を第一走査線L11、第一走査線L11(=辺f3 )上での物体Aの濃度方向(図12における矢印イ)に直交する方向(同図における矢印ロ)を走査線移動方向に設定する。次に、第一走査線L11から走査線移動方向ロに所定距離Mだけ離れた位置に、走査移動方向ロと略直交する第二走査線L12を設定する。この第二走査線L12上で物体Aが検出されれば(第二走査線L12が物体Aと交差すれば)、第二走査線L12上での物体Aの濃度方向に直交する方向を新たな走査線移動方向、第二走査線L12を新たな第一走査線と置き直す。反対に第二走査線L12上で物体Aが検出されなければ(第二走査線L12が物体Aと交差しなければ)、上記所定距離MをM=M/2に置き直す。その後、所定距離Mが1画素以下となるまで上記処理を繰り返し行なう。そして、繰り返し処理の終了時における第一走査線上の物体が存在する位置を物体位置として認識する。
【0022】
次に、物体検出部8における上記走査線上での物体検出の処理を、図11及び図14に示すフローチャートを参照して説明する。まず、図11(a)(b)に示す微分値画像及び濃度方向画像に対して、x軸に略平行な走査線L14上の画素データ(微分値G)を順次読みだし、画素データがしきい値以上である点Pを検出し、点Pのアドレス(xp ,yp )及び濃度方向値θ1 を記憶する。さらに、点Pから走査線L14上の画素データを順次読みだし、画素データがしきい値以上である点Q(候補点)を検出し、点Qのアドレス(xq ,yq )及び濃度方向値θ2 を記憶する。このとき、点P−Q間の距離Lが所定値β以下であり、且つ180−Δθ<|θ1 −θ2 |<180+Δθであれば、点Pと点Qとの中点を走査線L14上の物体位置とする。ここで、上記所定値βは、微分値画像あるいは濃度方向画像上での物体Aの見かけの物体幅の最大値に基づき設定され、Δθは濃度方向値の許容誤差を表す。
【0023】
なお、本実施形態では、撮像装置1から入力された濃淡画像を予め空間微分した微分値画像及び濃度方向画像に対して物体検出の走査を行なっているが、物体検出の走査を入力濃淡画像に対して行ない、濃淡画像に対する空間微分と物体検出とを同時に行なうようにすることも可能であって、何れの方法でも同様の結果が得られることはいうまでもない。
【0024】
そして、走査線移動部7および物体検出部8の処理により得られた各走査線上での物体の位置(画素のアドレス)に基づいて、位置・姿勢認識部9で物体の位置と姿勢の認識を行う。以下、この位置・姿勢認識部9における位置・姿勢認識処理を、図15及び図16のフローチャートを参照して説明する。まず、物体Aの位置を検出した走査線L15上における物体Aと背景Bとの境界点のアドレスをそれぞれ点R(xr ,yr ),点T(xt ,yt )とし、各点における濃度方向値θr ,θt (図15における矢印ハ,ニ)を記憶する。次に点R,Tの座標((アドレス)から下式により物体位置S(xs ,ys )を計算する。
【0025】
xs =(xr +xt )/2
ys =(yr +yt )/2
さらに、各交点R,Tにおける濃度方向値θr ,θt を用いて物体Aと直交軸(今の場合はx軸)とのなす角度Θを下式により求め、この角度Θ(図15における矢印ホの方向)を物体Aの姿勢とする。
【0026】
Θ=(θr +θt )/2
このようにして、物体Aの位置Sと姿勢Θとを求めることができる。
上述のように本実施形態によれば、実施形態1と同様に物体Aの存在している可能性の高い範囲に効率良く物体検出のための走査線を設定でき、物体検出に要する処理の回数を減らすことができ、高速に処理を行うことができる。また、濃淡画像を空間微分して得られる微分値画像から物体Aの位置と姿勢の認識を行なうことにより、コントラストの低い物体の画像に対しても、物体Aと背景Bとの境界を良く表した画像(微分値画像及び濃度方向画像)を使って検出することができ、精度の高い位置と姿勢の認識ができるという利点がある。
【0027】
(実施形態3)
本実施形態は物体検出部8における物体の検出方法に特徴を有し、他の構成及び処理方法などは実施形態1と共通である。よって、共通する部分についての説明は省略する。
本実施形態の特徴である物体検出部8における物体の検出方法を、図17及び図18のフローチャートを参照して説明する。図17において、走査線L1 上の画素データを順次読みだしながら、画素データが「1」である点Pを検出する。この点Pから所定距離Lだけ走査線L1 上を進んだ点Rから逆方向(点Pに近づく方向)に走査線L1 を走査し、画素データが「1」である点Qを検出する。
そして、点P−Q間の距離が所定値α以上であれば、点Pと点Qの中点を走査線L1 上の物体位置とする。また、点P−Q間の距離が所定値αよりも小さければ、点Rのアドレスに戻って上記処理を繰り返す。ここで、上記所定値αは、例えば二値画像上での物体Aの見かけの物体幅の最小値に基づいて設定される。
【0028】
本実施形態によれば、物体Aと背景Bとの境界部分を検出することで物体Aの位置を検出するようにしているため、例えば図19に示すように物体Aの表面内側に文字(”960916”)が表されているような場合であっても、その影響を受けずに物体Aの位置と姿勢の認識を行うことができるという利点がある。
なお、本実施形態では、撮像装置1から入力された濃淡画像を予め二値化した二値画像に対して物体検出の走査を行なっているが、物体検出の走査を入力濃淡画像に対して行ない、画素データの二値化と物体検出とを同時に行なうようにすることも可能であって、何れの方法でも同様の結果が得られることはいうまでもない。
【0029】
(実施形態4)
本実施形態は物体検出部8における物体の検出方法に特徴を有し、他の構成及び処理方法などは実施形態2と共通である。よって、共通する部分についての説明は省略する。
本実施形態の特徴である物体検出部8における物体の検出方法を、図20及び図21のフローチャートを参照して説明する。まず、図20(a)(b)に示す微分値画像及び濃度方向画像に対して、x軸に略平行な走査線L14上の画素データ(微分値G)を順次読みだし、画素データがしきい値以上である点Pを検出し、点Pのアドレス(xp ,yp )及び濃度方向値θ1 を記憶する。さらに、点Pから所定距離Lだけ走査線L14上を進んだ点R(候補点)から走査線L14を逆方向に走査して、画素データがしきい値以上である点Qを検出し、点Qのアドレス(xq ,yq )及び濃度方向値θ2 を記憶する。このとき、点P−Q間の距離が所定値β以下であり、且つ180−Δθ<|θ1 −θ2 |<180+Δθであれば、点Pと点Qとの中点を走査線L14上の物体位置とする。ここで、上記所定値βは、微分値画像あるいは濃度方向画像上での物体Aの見かけの物体幅の最大値に基づき設定され、Δθは濃度方向値の許容誤差を表す。
【0030】
本実施形態によれば、物体Aと背景Bとの境界部分を検出することで物体Aの位置を検出するようにしているため、実施形態3と同様に物体Aの表面内側に文字が表されているような場合であっても、その影響を受けずに物体Aの位置と姿勢の認識を行うことができるという利点がある。
なお、本実施形態では、撮像装置1から入力された濃淡画像を予め空間微分した微分値画像及び濃度方向画像に対して物体検出の走査を行なっているが、物体検出の走査を入力濃淡画像に対して行ない、濃淡画像に対する空間微分と物体検出とを同時に行なうようにすることも可能であって、何れの方法でも同様の結果が得られることはいうまでもない。
【0031】
(実施形態5)
本実施形態は、撮像装置1’にカラーのテレビカメラを用い、物体Aを撮像して得られるカラー画像中から、物体Aの輪郭の特徴を最も顕著に表す特定色を抽出して、濃淡画像を得るようにしている点に特徴がある。なお、他の処理については実施形態1あるいは実施形態2と共通であるから、共通する部分については同一の符号を付して説明は省略する。
【0032】
図22は本実施形態の認識方法を実現するためのシステム構成を示すブロック図である。カラーの撮像装置1’より得られる入力カラー画像中から、特定色抽出部10において物体Aの輪郭の特徴を最も顕著に表す特定色を抽出して濃淡画像を得る。そして、実施形態1と同様に濃淡画像から二値画像を得る場合には、濃淡画像の中の物体の部分と、物体A以外の背景の部分とを各々の明るさ(濃度値=画素データ)に応じて分離するように、濃淡画像を画像蓄積部3において二値化し、得られた二値画像を図示しない画像処理装置内のメモリに蓄える。あるいは、実施形態2と同様に、画像蓄積部3において、濃淡画像を空間微分して微分値画像と濃度方向画像とを求め、図示しない画像処理装置内のメモリに蓄える。以降の処理は、実施形態1あるいは実施形態2と同様である。
【0033】
なお、本実施形態ではカラーのテレビカメラを撮像装置1’に用いて特定色の抽出を行なっているが、例えば図23に示すように、実施形態1や実施形態2と同様に白黒のテレビカメラのような撮像装置1を用い、撮像装置1のレンズの前に色フィルタ11を配置し、この色フィルタ11を通して撮像した物体Aの濃淡画像を用いても、同様の結果が得られることはいうまでもない。
【0034】
(実施形態6)
本実施形態は、実施形態1あるいは実施形態2において、物体検出部8で走査線上の物体の検出を行なう際に用いられるパラメータを、物体Aの明るさ(濃度値)に応じて変更するようにしている点に特徴がある。なお、本実施形態の認識方法を実現するためのシステム構成は実施形態1あるいは実施形態2と共通であり、共通する部分については説明を省略する。
【0035】
以下、本実施形態におけるパラメータの選択方法について、図24及び図25のフローチャートを参照して説明する。例えば図24に示すように、画面内に2つの物体A1 ,A2 が存在し、各物体A1 ,A2 の位置と姿勢を認識するために、それぞれの物体A1 ,A2 に対してウィンドウ枠F1 ,F2 を設定しているとする。なお、一方の物体A2 の濃度値は、他方の物体A1 の濃度値よりも高い(明るい)ものとする。従って、それぞれの物体A1 ,A2 の物体検出を行なうために、濃淡画像を二値化あるいは空間微分を行う際の最適なしきい値は、それぞれの物体A1 ,A2 により異なることになる。
【0036】
そこで、予め物体の濃度値(明るさ)としきい値とを対応づけるパラメータ選択テーブルを登録しておき、物体初期検出部5にて図25のフローチャートに示すような処理を行なうことにより、ウィンドウ枠F1 ,F2 上での物体A1 ,A2 の濃度値の検出を行なうとともに、検出された濃度値に対してパラメータ選択テーブルから最適なパラメータを選択する。
【0037】
図25を参照して上記処理をもう少し詳しく説明すると、実施形態1あるいは実施形態2と同様に、ウィンドウ枠F1 ,F2 の何れかの辺f1 〜f4 上に走査開始点を設定し、走査開始点に設定された画素から各辺f1 〜f4 に沿って順次アドレスを進ませながら、各画素のデータにより物体A1 ,A2 の存在を検出する。この際、物体検出のしきい値はパラメータ選択テーブルに登録されている中で一番濃度値の低い(暗い)ものに対する値を用いればよい。
【0038】
そして、物体Aが検出されれば、その画素の画素データ(物体A1 ,A2 の明るさ)を記憶し、ウィンドウ枠Fの全ての辺f1 〜f4 についての走査が終了した後、パラメータ選択テーブルより上記画素データに対応するパラメータを選択し、このパラメータを物体検出のしきい値とする。
本実施形態によれば、物体の明るさ(濃度値)に応じて、物体検出を行なう際のパラメータを最適な値に設定するようにしているので、安定した物体検出を行なうことができる。
【0039】
(実施形態7)
本実施形態では、実施形態1あるいは実施形態2において、位置と姿勢の認識を行う前に、予め対象物(物体A)を機械的に分離しておくことにより、物体Aの位置と姿勢の認識の性能を高めるようにしている。以下、図26を参照して説明する。
【0040】
多数の物体Aはホッパー12に貯められており、ホッパー12より振動フィーダー13に供給される。この振動フィーダー13は従来周知の構成を有し、各物体Aを個別に分離させて単体でコンベア14上へ供給する。但し、振動フィーダー13においては、所謂ツーリング等の姿勢矯正は行わない。
そして、コンベア14上に供給された個々の物体Aを撮像装置1にて撮像し、得られた濃淡画像から実施形態1〜6で説明したような構成及び方法を用いて、各物体Aごとにその位置並びに姿勢を認識する。
【0041】
さらに、位置・姿勢認識部9において検出された各物体Aごとの位置・姿勢検出結果である二次元位置アドレス(x,y)と姿勢θを、通信部15よりロボット装置16に送信する。ロボット装置16は従来周知の構成を有するものであって、通信部15から受信したアドレス(x,y)と姿勢θに基づいて動作し、物体Aのピックアップを行う。
【0042】
上述のように、予め複数の物体Aを個々に分離させた後、物体Aを単体ごとに撮像して濃淡画像を得るようにすれば、認識処理が簡素化できるとともに認識の精度も向上させることができる。
なお、本実施形態では複数の物体Aを単体に分離するのに振動フィーダー13を用いているがこれに限定する主旨ではなく、複数の物体Aを分離する機能を有する装置であれば、同様の結果が得られることはいうまでもない。
【0043】
(実施形態8)
本実施形態は、実施形態1あるいは実施形態2において、予め決められた台又はコンベア14上に置かれた物体Aをロボット装置16でピックアップする時に、ロボット装置16に対して二次元位置アドレス(x,y)と姿勢θのデータに加えて距離データも一緒に送ることにより、効率の良い処理を行うようにしたものである。以下、図26〜図28を参照して説明する。
【0044】
まず始めに、撮像装置1にて撮像される画像上の各画素位置(二次元直交座標系の座標値)に対して、ロボット装置16における座標系(例えば、三次元直交座標系)の物体位置(X,Y,Z)を求めておき、画像上での各画素位置とロボット装置16における座標系(以下、ロボット座標系と呼ぶ。)での物体位置とを対応づける、図27に示すような変換テーブルを予め登録しておく。この変換テーブルにおいて、T(xm ,yn )は、画像上のアドレス(xm ,yn )に対応するロボット座標系における物体位置(Xmn,Ymn,Zmn)への変換(関数)を示すものである。
【0045】
次に、図26に示すように、コンベア14上の物体Aを撮像装置1により撮像して得られる濃淡画像から、画像上の物体Aの位置及び姿勢を表す二次元位置アドレス(x,y)及び姿勢θを求める。なお、濃淡画像から二次元位置アドレス(x,y)及び姿勢θを検出する処理は実施形態1あるいは実施形態2の方法を用いればよく、詳しい説明は省略する。
【0046】
本実施形態では、位置・姿勢認識部9’において図28のフローチャートに示すような処理を行なうことにより、検出された二次元位置アドレス(xm ,yn )を変換テーブルを用いてロボット座標系における物体位置(Xmn,Ymn,Zmn)に変換するとともに、このロボット座標系における物体位置(Xmn,Ymn,Zmn)と姿勢θとから、ロボット座標系における物体位置と姿勢を表す指示データ(Xmn,Ymn,Zmn,θ)を作成し、通信部15よりロボット装置16へ送信している。そして、ロボット装置16は通信部15から受信した指示データ(Xmn,Ymn,Zmn,θ)に基づいて動作し、物体Aのピックアップを行う。
【0047】
上述のように画像上の物体位置を変換テーブルを用いてロボット座標系の物体位置に変換することにより、ロボット装置16の制御が容易になるという利点がある。
なお、本実施形態では、画像上の各画素位置をロボット座標系における物体位置に変換するために変換テーブルを用いているが、画像上の任意の画素位置とロボット座標系における物体位置との関係式を最小2乗法などを用いて求め、その関係式を上記変換テーブルの代わりに用いても同様の結果が得られることはいうまでもない。
【0048】
(実施形態9)
本実施形態は、実施形態2において、物体検出を行なう際の空間微分を行う方向を選択する処理に関するものである。
以下、本実施形態の特徴である上記処理を図4、図5並びに図29のフローチャートを参照して説明する。なお、他の処理については実施形態2と共通であるから説明は省略する。
【0049】
まず、実施形態2で説明したように、物体初期検出部5が図5のフローチャートに示すような処理を行なって物体Aが存在する(物体Aと交差する)ウィンドウ枠Fの辺f3 を検出する。
次に、物体検出部8では物体初期検出部5での検出結果を用い、図29のフローチャートに示すような処理を行なう。すなわち、ウィンドウ枠Fの上辺f1 あるいは下辺f3 が物体Aと交差する場合には微分方向をx軸に平行とし、右辺f2 あるいは左辺f4 が物体Aと交差する場合には微分方向をy軸に平行として、濃淡画像に対する空間微分を再度行うことで微分値画像及び濃度方向画像を作成し直し、以後の処理は作成し直した新たな微分値画像及び濃度方向画像を用いて行う。
【0050】
本実施形態によれば、ウィンドウ枠Fの何れの辺f1 〜f4 が物体Aと交差しているかによって、濃淡画像を空間微分する際の微分方向を変えるようにしているため、コントラストが低い場合にも物体Aを鮮明に表すことができ、安定した物体の検出を行なうことができるという利点がある。
【0051】
【発明の効果】
請求項1の発明は、物体を撮像して得られる濃淡画像に対して、物体の少なくとも一部が横切るようなウィンドウ枠を有するウィンドウを、物体がおおよそ存在する位置に予め設定し、ウィンドウ枠に沿って濃淡画像を走査して各画素の画素データに基づいてウィンドウ枠上での物体の有撫を判断し、物体が存在するウィンドウ枠の位置に応じて濃淡画像を走査する走査方向と走査線移動方向とを選択するとともに、選択された走査線移動方向に沿って走査線を移動させながら、ウィンドウ内における走査線上での画素データに基づいて当該走査線上での物体の位置を検出し、さらに前記走査線移動方向に沿って移動させながら検出した各走査線上での物体の位置に基づいてウィンドウ内における物体の位置と姿勢を求めるので、物体がおおよそ存在する位置に設定されたウィンドウ枠上での物体の有無を判断して処理の最初に物体のおおよその位置・方向を求め、その情報に基づき走査線を移動させて物体の詳細な位置・姿勢の認識を行うことにより、物体の存在している可能性の高い位置に効率良く物体検出のための走査線の位置を設定でき、物体の位置と姿勢を求める処理の回数を減らすことができるという効果がある。
【0052】
また、走査線上における物体の有無の判断は走査線上の画素データの変化に基づいて行うため、請求項4の発明のように、濃淡画像を空間微分して得られる微分値画像も使用でき、コントラストの低い物体の画像に対しても物体と背景との境界を良く表した画像を使って物体の位置と姿勢を認識することができる。
【図面の簡単な説明】
【図1】実施形態1における物体の位置と姿勢の認識を行なうためのシステム構成図である。
【図2】同上における濃淡画像を示す図である。
【図3】同上における二値画像を示す図である。
【図4】同上を説明するための説明図である。
【図5】同上を説明するためのフローチャートである。
【図6】同上を説明するためのフローチャートである。
【図7】同上を説明するためのフローチャートである。
【図8】同上を説明するためのフローチャートである。
【図9】同上を説明するための説明図である。
【図10】同上を説明するためのフローチャートである。
【図11】(a)及び(b)はそれぞれ実施形態2における微分値画像及び濃度方向画像を示す図である。
【図12】同上を説明するための説明図である。
【図13】同上を説明するためのフローチャートである。
【図14】同上を説明するためのフローチャートである。
【図15】同上を説明するための説明図である。
【図16】同上を説明するためのフローチャートである。
【図17】実施形態3を説明するための説明図である。
【図18】同上を説明するためのフローチャートである。
【図19】同上を説明するための説明図である。
【図20】(a)及び(b)はそれぞれ実施形態4における微分値画像及び濃度方向画像を示す図である。
【図21】同上を説明するためのフローチャートである。
【図22】実施形態5における物体の位置と姿勢の認識を行なうためのシステム構成図である。
【図23】同上を説明するための説明図である。
【図24】実施形態6を説明するための説明図である。
【図25】同上を説明するためのフローチャートである。
【図26】実施形態7を説明するための説明図である。
【図27】実施形態8を説明するための説明図である。
【図28】同上を説明するためのフローチャートである。
【図29】実施形態9を説明するためのフローチャートである。
【符号の説明】
1 撮像装置
2 A/D変換部
3 画像蓄積部
4 ウィンドウ生成部
5 物体初期検出部
6 走査方向選択部
7 走査線移動部
8 物体検出部
9 位置・姿勢認識部
Claims (15)
- 物体を撮像して得られる濃淡画像に対して、物体の少なくとも一部が横切るようなウィンドウ枠を有するウィンドウを、物体がおおよそ存在する位置に予め設定し、ウィンドウ枠に沿って濃淡画像を走査して各画素の画素データに基づいてウィンドウ枠上での物体の有撫を判断し、物体が存在するウィンドウ枠の位置に応じて濃淡画像を走査する走査方向と走査線移動方向とを選択するとともに、選択された走査線移動方向に沿って走査線を移動させながら、ウィンドウ内における走査線上での画素データに基づいて当該走査線上での物体の位置を検出し、さらに前記走査線移動方向に沿って移動させながら検出した各走査線上での物体の位置に基づいてウィンドウ内における物体の位置と姿勢を求めることを特徴とする物体の認識方法。
- 撮像して得られる濃淡画像を濃度に基づいて二値化することで物体と背景とに分離された二値画像を得るとともに、この二値画像を走査したときの画素データの値が、所定の長さだけ連続して物体に対応する値と一致するかを判断することで走査線上での物体の位置を検出することを特徴とする請求項1記載の物体の認識方法。
- 撮像して得られる濃淡画像を濃度に基づいて二値化することで物体と背景とに分離された二値画像を得るとともに、この二値画像を走査したときの画素データの値が最初に物体に対応する値と一致した画素を候補点とし、次に、走査線上を候補点より所定距離進んだ画素から候補点の方へ戻る方向に走査し、候補点に到達するまでに物体に対応する値と一致する値を持った画素データが存在する場合に当該画素データの位置を走査線上での物体の位置とすることを特徴とする請求項1記載の物体の認識方法。
- 撮像して得られる濃淡画像を空間微分することで微分値画像と濃度方向画像を得るとともに、この微分値画像を走査したときに微分値が所定値以上となる画素を検出してその画素における濃度方向を物体と背景の境界の候補点として記憶し、次に、走査線上の候補点より所定距離内に候補点の濃度方向値と略180°異なる濃度方向値を有し且つ微分値が所定値以上である画素が存在する場合に当該画素の位置を走査線上での物体の位置とすることを特徴とする請求項1記載の物体の認識方法。
- 撮像して得られる濃淡画像を空間微分することで微分値画像と濃度方向画像を得るとともに、この微分値画像を走査したときに微分値が所定値以上となる画素を検出してその画素における濃度方向を物体と背景の境界の候補点として記憶し、次に、走査線上を候補点より所定距離進んだ画素から候補点の方へ戻る方向に走査し、候補点に到達するまでに候補点の濃度方向値と略180°異なる濃度方向値を有し且つ微分値が所定値以上である画素が存在する場合に当該画素の位置を走査線上での物体の位置とすることを特徴とする請求項1記載の物体の認識方法。
- 物体を撮像して得られるカラー画像から物体を表す特定色を抽出することで濃淡画像を作成することを特徴とする請求項1記載の物体の認識方法。
- ウィンドウ枠に沿って濃淡画像を走査したときの物体の有無の判断結果に応じて、物体が存在するウィンドウ枠の位置を含むウィンドウ枠の一辺と略平行な方向を走査方向に選択することを特徴とする請求項1記載の物体の認識方法。
- ウィンドウ枠に沿って濃淡画像を走査したときの物体の有無の判断結果に応じて、物体が存在するウィンドウ枠の位置を含むウィンドウ枠の一辺と略平行な方向のみを空間微分の方向としたことを特徴とする請求項4又は5記載の物体の認識方法。
- ウィンドウ枠に沿って濃淡画像を走査したときの物体の有無の判断結果に応じて、物体が存在するウィンドウ枠の位置を含むウィンドウ枠の一辺を第一の走査線とするとともに、第一の走査線に対向するウィンドウ枠の他の一辺を第二の走査線とし、第一の走査線に基づいて選択された走査線移動方向へ第一の走査線と第二の走査線の間の距離の略2分の1だけ離れた位置に走査線を移動させ且つこの走査線上での物体の有無を判断し、物体が有る場合には物体が有ると判断した走査線を新たに第一の走査線とし、物体が無い場合には物体が無いと判断した走査線を新たに第二の走査線とするとともに、選択された走査方向と逆方向へ第一の走査線と第二の走査線の間の距離の略2分の1だけ離れた位置に走査線を移動させ且つこの走査線上での物体の有無を判断する処理を、第一の走査線と第二の走査線とが隣合うようになるまで繰り返し、処理の繰り返しが終了した時点における第一の走査線上の物体の位置を求めることを特徴とする請求項1記載の物体の認識方法。
- 物体が存存するウィンドウ枠上における物体の方向に略直交するように所定距離だけ離れた位置に走査線を移動させ、この走査線上で物体の有無を判断し、物体が有る場合には、この走査線上における物体の方向に略直交するように所定距離だけ離れた位置に走査線を移動させて物体の有撫を判断するとともに、物体が無い場分には、一つ前の走査線上における物体の方向に略直交するように始めの所定距離より短い距離だけ離れた位置に走査線を移動させて物体の有無を判断する処理を、既に物体有無の判断処理を行った走査線の位置に達するまで繰り返し、最終の走査線位置を物体の位置として求めることを特徴とする請求項1記載の物体の認識方法。
- 走査線上における物体の有無を判断するためのパラメータを物体の濃淡画像における濃度値ごとに予め登録しておき、ウィンドウ枠上で物体の有無を判断する時に、走査線上の各点の濃度値を、既に登録してある物体の濃淡画像における濃度値と比較することで予め登録されたパラメータのうちから最適なパラメータを選択し、選択したパラメータを用いて走査線上における物体の有無を判断することを特徴とする請求項1記載の物体の認識方法。
- 予め複数の物体を個々に分離させた後、物体を単体ごとに撮像して濃淡画像を得ることを特徴とする請求項1記載の物体の認識方法。
- 予め濃淡画像内の各画素における物体の存在位置までの距離を測定して登録しておき、物体の位置と姿勢を求める際に、求めた物体の濃淡画像上での位置と、登録された物体までの距離とを参照して、三次元での物体の位置と姿勢を求めることを特徴とする請求項1記載の物体の認識方法。
- 求めた物体の位置における走査線と、この走査線から所定距離だけ離れた位置にある別の走査線上での物体の位置とから物体の姿勢を求めることを特徴とする請求項1記載の物体の認識方法。
- 求めた物体の位置における画素の濃度方向から物体の姿勢を求めることを特徴とする請求項4又は5記載の物体の認識方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25267196A JP3552419B2 (ja) | 1996-09-25 | 1996-09-25 | 物体の認識方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25267196A JP3552419B2 (ja) | 1996-09-25 | 1996-09-25 | 物体の認識方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1097634A JPH1097634A (ja) | 1998-04-14 |
JP3552419B2 true JP3552419B2 (ja) | 2004-08-11 |
Family
ID=17240622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25267196A Expired - Fee Related JP3552419B2 (ja) | 1996-09-25 | 1996-09-25 | 物体の認識方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3552419B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4094789B2 (ja) * | 1999-11-26 | 2008-06-04 | 富士通株式会社 | 画像処理装置及び画像処理方法 |
-
1996
- 1996-09-25 JP JP25267196A patent/JP3552419B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1097634A (ja) | 1998-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4272756A (en) | Method of pattern recognition and apparatus thereof | |
CN114049557A (zh) | 一种基于深度学习的垃圾分选机器人视觉识别方法 | |
KR20080032856A (ko) | 조선소 소조립 용접부재 위치 인식 방법 | |
JP7151873B2 (ja) | 検査装置 | |
JP3709879B2 (ja) | ステレオ画像処理装置 | |
JP3543442B2 (ja) | 物品の干渉検出方法 | |
JPH01134573A (ja) | 画像処理方法 | |
JP3552419B2 (ja) | 物体の認識方法 | |
JP3627249B2 (ja) | 画像処理装置 | |
JP2002133424A (ja) | 文書の傾き角度及び境界の検出方法 | |
JP3164835B2 (ja) | 人物画像認識における前処理方法および後処理方法 | |
JPH067171B2 (ja) | 移動物体の検知方法 | |
JPH08101139A (ja) | 欠陥検査装置および方法 | |
JP2000194861A (ja) | 画像認識方法及び装置 | |
JPH08194825A (ja) | 輪郭情報抽出装置 | |
JP3658137B2 (ja) | 移動体認識方法 | |
JPH041282B2 (ja) | ||
JP2002230564A (ja) | 輪郭抽出装置、方法および輪郭抽出プログラム | |
JP3715683B2 (ja) | 画像処理装置及びその画像処理方法 | |
JP2642185B2 (ja) | 角度検出装置 | |
JPH05113315A (ja) | 円形画像データの中心位置検出方法 | |
JPH0769959B2 (ja) | パターン認識のための頂点検出方法 | |
JPH05118819A (ja) | 視覚認識装置 | |
JPH0410074A (ja) | 画像パターン傾き検出方法 | |
JP2003207320A (ja) | 3次元認識装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040308 |
|
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: 20040413 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040426 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080514 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 5 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100514 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100514 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110514 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120514 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120514 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |