JPH0783614A - 距離画像処理方式 - Google Patents

距離画像処理方式

Info

Publication number
JPH0783614A
JPH0783614A JP5228792A JP22879293A JPH0783614A JP H0783614 A JPH0783614 A JP H0783614A JP 5228792 A JP5228792 A JP 5228792A JP 22879293 A JP22879293 A JP 22879293A JP H0783614 A JPH0783614 A JP H0783614A
Authority
JP
Japan
Prior art keywords
pixel
image
interest
slt
image processing
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.)
Withdrawn
Application number
JP5228792A
Other languages
English (en)
Inventor
Jun Wakitani
潤 脇谷
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5228792A priority Critical patent/JPH0783614A/ja
Publication of JPH0783614A publication Critical patent/JPH0783614A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 【目的】 距離画像処理に要する時間を短縮する。 【構成】 共通画像生成部21はコード化パターン光投
影法あるいはコード化スリット光投影法により得られた
投影画像を用いて距離画像を生成する。かかる距離画像
生成と並行して特徴抽出部31は投影画像あるいは距離
画像生成の過程で得られる二値化投影画像あるいはコー
ド化画像を用いて各種エッジ、面等の特徴を抽出する。
距離画像処理部41は得られた特徴に基づいてフィッテ
ィングの対象領域を決定して距離画像処理を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は距離画像処理方式に係わ
り、特にコード化パターン光投影法あるいはコード化ス
リット光投影法により距離画像を求めて画像処理する距
離画像処理方式に関する。ティーチングプレイバック方
式が主の現在のロボットでは、環境の整備がまず必要で
ある。ある特化した作業に対して、できるだけ無駄の無
いシステムを作ることが精度良く、かつ高速に作業を進
めてゆく上で重要である。しかし、汎用性が無いため、
製造ラインを変える場合にコストが高い。又、現在人間
が行っているような高度な作業には対応できないという
問題がある。人間が作業しづらい極限作業現場等へのロ
ボットの導入に関してはこのような問題が非常に大き
い。このような問題の解決手法として、ロボットに対す
る視覚の導入が上げられる。視覚によって、ロボット自
身の周囲環境を入力しながら作業を行えば、人間の介在
する必要性が少なくなり、ある程度ロボットに任せるこ
とが可能になる。又、作業の対象となる目的物が正確に
位置決めされていなくとも自動的にロボットが判断し、
作業を進めることができる。このような用途として視覚
入力装置は非常に重要である。
【0002】
【従来の技術】現在利用されている視覚入力装置とし
て、1つのスリット光による高さプロファイルの検出装
置が挙げられる。これは主にベルトコンベアで移動され
る対象の形を検出するためのものである。この方法を更
に一般的にして、視野内に見えている対象物表面までの
距離(距離画像)を全て求める装置がありレンジファイ
ンダと呼ばれている。図14は距離画像の説明図であ
り、1は対象物、2は物体面上の明るさの度合で画像を
記憶する画像メモリ、3は視点(カメラ)から対象物1
までの距離で画像を記憶する距離画像メモリである。通
常の画像では、各画素の値は、対応する物体面上の明る
さを示すデータであるが、距離画像では、各画素の値が
カメラから対応する物体面までの距離に相当するデータ
になっている。
【0003】図15は距離算出法説明図であり、スポッ
ト光源4よりスポット光を対象物1に照射し、反射光を
カメラ5で捕らえて三角測量の原理で光の当っている部
分の三次元位置を求めるようになっている。スポット光
源4とカメラ5間の距離dが既知であるとすると、α、
β、γを計測すれば、対象物上の計測点(X,Y,Z)
が次式より求まる。 Z=(-d・tanα・tanβ)/(tanα+tanβ) X=Z/tanβ Y=−Z・tanγ ところで、通常は、図16(a)に示すようにスリット光
を対象物に照射して距離画像を計測する。スリット光源
6から対象物1にスリット光を投影し、その画像をカメ
ラ5で撮ると、図16(b)に示すようなスリット光の画
像が得られる。この画像のスリット光が当った各点につ
いて、三角測量法により距離計測を行う。つぎに、スリ
ット光を微小量回転させて画像を撮り、同様な処理を行
う。このようにして、スリット光を画面の左から右に微
小量づつ操作して行くと、1画面分の距離画像を得るこ
とができる。尚、物体の面が変わるとスリット画像の傾
きが変化する。
【0004】このスリット光を用いる方法では1画面の
距離画像を求めるために、スリット光を微小量づつ走査
したときのスリット光画像を通常200回以上取り込む
必要があり、処理に時間がかかる。そこで、コード化パ
タン光を用いて距離画像を計測することが行われる。図
17はコード化パターン光投影法あるいはコード化スリ
ット光投影法により距離画像を計測する場合の説明図で
ある。簡単のため、7個のスリット光画像を求めるとす
る。かかる場合には、A,B,Cで示す3つの純2進コ
ードのマスクパターンを用意し(白部分は透光部、黒部
分は非透光部である)、順次マスクパターンA,B,C
を用いて光を対象物1に投影して第1、第2、第3の3
つのコード化パターン画像を取り込む。3つのコード化
パターン画像のうち、全てのパターン光が当っている部
分(111)が第1スリット光画像、第1、第2パター
ン光がのみが当っている部分(110)が第2スリット
光画像、・・・第3パターン光のみが当っている部分
(001)が第7スリット光画像となる。このようにす
れば、3回のコード化パターン画像を取り込めば、7個
のスリット光画像を得ることができる。
【0005】レンジファインダの最大のメリットは物体
の三次元情報を直接入力する点にあるから、この特徴を
そのまま体形測定やCADデータベース用入力装置とし
て使用する応用例が最近見られるようになっている。し
かし、ロボット用の視覚として考えると、その膨大なデ
ータを圧縮する必要がある。このため、一般に、物体表
面をある関数で近似して少ないパラメータで物体の表面
形状を表現するといった方法でこの問題を解決してい
る。距離画像を得るための処理はレンジファインダの構
成に依存するところが多く、様々であるから、距離画像
を得るまでの処理と距離画像の処理に分けて研究が進め
られている。
【0006】物体表面を関数で近似する際には、近似す
る領域を距離画像の中から切り出す必要がある。切り出
し処理としては次のような方法がある。 (a) 表面上の微小領域から法線方向等の特徴量を抽出
し、拡張ガウス球に投影するなどして、同じ性質を持つ
領域を抽出する。 (b) 不連続点(例えば、角、辺など)を抽出してその中を
1つの領域とする。 かかる方法により、距離画像から領域を見つけ出し、関
数フィッティングを行うというのが距離画像処理の一般
的な方法である。
【0007】図18は従来の距離画像処理の説明図であ
る。コード化光投影(パターン光投影)して複数のコー
ド化パターン画像を取り込み(ステップ101)、つい
で、各パタン画像を二値化(ステップ102)、ビット
ソート(ステップ103)、細線化・境界検出処理(ス
テップ104)を行った後、コード化画像を作成する
(ステップ105)。以後、コード化画像を用いて距離
計算を実行し(ステップ106)、これにより距離画像
を生成する(ステップ107)。ついで該距離画像を用
いて平面、球面の抽出、各種エッジの検出を行い(ステ
ップ108)、最後に切り出し領域を定め、該領域に正
確な関数フィティングを施して対象物の体形を認識する
(ステップ109)。
【0008】ステップ102における二値化処理は以下
のように行われる。8本のスリット光を対象物に当てて
カメラで捕らえた画像が図19(a)に示すようになった
とする。このカメラで捕らえた画像をAD変換してフレ
ームメモリに記憶した場合、水平線A上の画素の輝度は
図19(b)に示すようになる。そこで、フレームメモリ
に記憶されている画像を所定の輝度でスライスして二値
化(0又は255)にすると、前記水平線上の画素の輝度は図
19(c)に示すようになる。このように、各水平線上の
画素を二値化してフレームメモリに記憶すると図17
(d)に示すようになり、この図19(d)の画像を二値化投
影画像といい、又、全面に例えば64本のストライプ状
のスリット光を一度に当てて捕らえた画像を二値化した
ものを二値化全投影画像という。
【0009】ステップ105で得られるコード化画像は
以下のようにコードバッファメモリに記憶される。図2
0はコード化画像データ説明図であり、8はコードバッ
ファメモリ、9は二値化投影画像を記憶する画像メモリ
である。コードバッファメモリ8は、横方向にスリット
番号Slt NO.を、縦方向に画素の垂直位置(垂直アドレ
ス)Lを配列したマトリックス構造になっている。第i
スリット光における垂直アドレスLの画素が明の場合、
コードバッファメモリのアドレス(L,i)に該画素の水
平位置(水平アドレス)が記憶される。例えば、画像メ
モリ9上に第7番目のスリット画像が図示するように記
憶されている場合(実線は明、点線部は暗)第7スリッ
ト画像のL=1に応じたピクセルP17の水平アドレス
17がアドレス(1,7)に記憶され、L=5に応じたピ
クセルP57の水平アドレスa57がアドレス(5,7)に
記憶され、以下同様に水平アドレスが記憶される。尚、
第7スリット画像におけるL=4,L=11の画素は暗
であるため、コード化画像メモリ8のアドレス(4,
7),(11,7)には0が記憶される。
【0010】
【発明が解決しようとする課題】距離画像を得ただけで
はロボット用の視覚としては使いづらい。このため、従
来は前述のように、距離画像を求め、ついで、領域
を求め、該領域に対してフィティング処理を施すとい
うプロセスを取っている。しかし、かかる方式では各処
理を直列的に順次実行せざるをえないため、距離画像処
理に多大の時間を要する問題があった。かかる一連のプ
ロセスを高速化するためにはCPU速度を上げる若しく
はアルゴリズムの変更しかないが、CPU速度を高速に
するには限界があり、又、図16に示す各ステップは必
要不可欠なものであり、更に各ステップ個々の処理アル
ゴリズムを変更するには種々の困難がある。以上から本
発明の目的は、CPU速度を高速にしなくても、又、距
離画像生成処理のアルゴリズムを変更しなくても高速に
距離画像処理が行える距離画像処理方式を提供すること
である。
【0011】
【課題を解決するための手段】図1は本発明の原理説明
図である。11はコード化パターン光投影法あるいはコ
ード化スリット光投影法によりコード化光投影画像を取
得するための投影画像取得部、21は投影画像を入力さ
れて距離画像を生成する距離画像生成部、31は投影画
像あるいは距離画像生成の過程で得られる二値化投影画
像あるいはコード化画像を用いて画像中の特徴を抽出す
る特徴抽出部、41は抽出された特徴を用いて領域を決
定し、該領域にフィッティング処理等を施す距離画像処
理部である。
【0012】
【作用】共通画像生成部21はコード化パターン光投影
法あるいはコード化スリット光投影法により得られた投
影画像を用いて距離画像を生成する。かかる距離画像生
成と並行して特徴抽出部31は投影画像あるいは距離画
像生成の過程で得られる二値化投影画像あるいはコード
化画像を用いて各種エッジ、面等の特徴を抽出する。距
離画像処理部41は得られた特徴に基づいてフィッティ
ングの対象領域を決定してフィッティング等の距離画像
処理を実行する。このようにすれば、距離画像生成処理
とフィッティング対象領域の決定に必要な特徴抽出処理
を同時並行的に行え、距離画像処理に要する時間を短縮
できる。
【0013】この場合、抽出すべき特徴としてはジャン
プエッジ(距離が不連続になる部分;背景との境界
線)、ルーフエッジ(対象物の面境界線)、面等がある
から、それぞれの特徴抽出のために複数のCPUを設け
て各種特徴抽出処理と距離画像生成処理を並列に実行す
れば、更にトータルの距離画像処理時間を短縮できる。
【0014】二値化全投影画像によりジャンプエッジを
抽出するには、各画素の画像データを画像メモリからラ
スタースキャン的に順次読み出し、読み出した画素(注
目画素)の画像データが0であり、1つ前のスキャンラ
イン上の注目画素に近接するいずれかの画素の画像デー
タが0でない場合、及び、注目画素の画像データが0で
なく、1つ前のスキャンライン上の画素であって、注目
画素に近接するいずれの画素の画像データも0の場合、
それぞれ注目画素はジャンプエッジとする。又、二値化
全投影画像によりルーフエッジを抽出する場合には、各
画素の画像データを画像メモリからラスタースキャン的
に順次読み出し、読み出した画素(注目画素)の画像デ
ータが0でなく、1つ前のスキャンライン上の注目画素
に近接するいずれかの画素の画像データが0でない場
合、該近接画素と注目画素間の水平方向間隔を求めて注
目画素の傾きとして記憶し、該間隔と前記近接画素にお
ける傾きとの差が設定値以上のとき、注目画素はルーフ
エッジを構成する画素である判断する。更に、全画素の
傾きを参照して傾きが設定値範囲内の画素の集まりを求
め、該集まりを対象物体の面であると認識する。
【0015】コード化画像データによりジャンプエッジ
を抽出するには以下のようにする。すなわち、スリット
番号slt no.のスリット光が当った部分の垂直、水平位
置に応じた記憶域(L,i)に該スリット光の番号slt no.を
記入してなるコード化パターン画像を記憶するコード化
パターン画像メモリと、スリット番号slt no.と垂直方
向位置Lとにより特定される画素が明の場合には該画素
の水平位置iを、暗の場合には0をそれぞれアドレス
(L,slt no.)に記憶するコードバッファメモリを設
け、コード化パターン画像メモリよりアドレス(L,i)
の画素(注目画素)の画像データを読み出し、読み出し
た画像データが0の場合、コードバッファメモリにおけ
るアドレス(L-1,slt no.)(但し、slt no.は1〜最
大)に注目画素の水平アドレスとの差が設定値以下のデ
ータが記憶されているか調べ、記憶されていれば、注目
画素はジャンプエッジを構成する画素であると判定す
る。又、読み出したコード化画像データが0でない場
合、コードバッファメモリにおけるアドレス(L-1,slt
no.)(但し、slt no.は1〜最大)に注目画素の水平ア
ドレスとの差が設定値以下のデータが記憶されているか
調べ、記憶されていなければ、注目画素はジャンプエッ
ジを構成する画素であると判定する。又、ルーフエッジ
を抽出する場合には、スリット番号slt no.が同じで垂
直アドレスLが連続する3つのデータをコードバッファ
メモリから読み出し、第1、第2のデータ(水平位置)
の差である傾きと、第2、第3のデータ(水平位置)の
差である傾きを求め、これら傾きの差が設定値以上の
時、第3データの値をiとすれば、アドレス(L,i)によ
り特定される画素はルーフエッジを構成する画素である
と判断する.
【0016】
【実施例】
(a) 本発明の距離画像処理 従来直列に行っているプロセスの一部分(例えば、特徴
量の抽出)を主たるプロセス(例えば、距離画像生成)
と並列に実行させることができれば、トータルの距離画
像処理時間をCPU速度、アルゴリズムを変更しなくて
も短縮できる。ところで、レンジファインダにおけるコ
ード化パターン投影もしくはコード化スリット投影によ
る距離画像生成処理は、パターン光(スリット光)の
投影段階、番号付けされたストライプ状の輝点列を抽
出する段階(コード化画像の生成)と、三角測量の原
理でそれらの点に対する距離値を計算する段階(距離画
像生成)の3つに分けることができ、それぞれの段階の
出力結果は別々に扱いことが可能である。又、投影段階
及びコード化画像生成段階で得られる画像は対象物にパ
ターン/スリット光を照射した画像であり二元画像であ
る。そして、これら画像は三次元画像よりも情報量が少
ないにもかかわらず、フィッティッング対象の領域を決
定するために必要となる各種特徴を含んでいる。従っ
て、光投影により得た投影画像あるいは距離画像生成の
過程で得られる二値化画像あるいはコード化画像を用い
て特徴量の抽出を距離画像の生成処理と並行して実行
し、トータルの距離画像処理時間を短縮する。
【0017】図2は本発明の距離画像処理の全体構成図
であり、11はコード化パターン光投影法あるいはコー
ド化スリット光投影法によりコード化光投影画像を取得
する投影画像取得部、21は各種コード化光投影画像を
入力されて距離画像を生成する距離画像生成部であり、
図18に示す方法と同一の方法で距離画像を生成するも
の、31は特徴抽出部であり、n=0の全投影画像(対
象物全体に例えば64本のストライプ状のスリット光を
当てて得られた投影画像)51、あるいは距離画像生成
の過程で得られる二値化投影画像52あるいはコード化
画像53を用いて画像中の特徴(ジャンプエッジ、ルー
フエッジ、平面、球面等)を抽出するもの、41は抽出
された特徴を用いて領域を決定し、該領域にフィッティ
ング処理等を施す距離画像処理部である。距離画像生成
部21と特徴抽出部31はそれぞれ別個のCPUで構成
されており、距離画像生成処理と特徴抽出処理を並行し
て実行する。
【0018】図3は各種特徴説明図であり、(a)はジャ
ンプエッジ、(b)はルーフエッジ、(c)は平面である。ジ
ャンプエッジは距離が不連続になる部分であり、例え
ば、背景と対象物の境界線、ルーフエッジは物体の2つ
の面で構成される稜線である。図4は各特徴抽出用にそ
れぞれCPUを設けて特徴抽出部31を構成した例であ
り、例えば31aはジャンプエッジ抽出プロセスを実行
するプロセッサ、31bはルーフエッジ抽出プロセスを
実行するプロセッサ、31cは面抽出プロセスを実行す
るプロセッサである。
【0019】図5は本発明の距離画像生成処理を実行す
る画像処理装置の全体ブロック図であり、11は投影画
像取得部でありレンジファインダ投光部11aと撮像部
(受光素子)11bを備えている。21は距離画像生成
部であり、二値化、ビットソート、細線化・境界検出、
コード化画像生成処理を行うCPU構成の画像処理部2
1aとコード化画像データより三角測量の原理で距離を
計算して距離画像を出力する距離計算部21bを備えて
いる。31は特徴抽出部である、それぞれ、エッジ、面
等の各種特徴を抽出する処理を行うCPU構成の画像処
理部31a,31b,・・・を備えている。41は抽出
された特徴を用いて領域を決定し、該領域にフィッティ
ング処理等を施す距離画像処理部である。
【0020】(b) 各種特徴抽出処理 図6は二値化全投影画像における、スリット光画像の接
続・非接続及び傾き検出の説明図である。二値化全投影
画像((a)参照)の第(L+1)スキャンラインにおける
明(非零)の所定画素PL+1((b)参照)の水平方向位置
と第Lスキャナラインにおける明(非零)の画素PL
水平方向位置との間隔Dが設定値n以下の場合、両画素
は同じスリット光により光っている部分の画素(接続)
であると判断し、n以上の場合には両画素は異なるスリ
ット光により光っている部分の画素(非接続)であると
判断する。又、接続の場合、第L、第(L+1)スキャ
ンライン上の接続画素PL,PL+1間の水平方向の間隔D
((c)参照)はスリット光画像(接続線)の傾きを示して
いる。Dが傾きを示す理由は、各スキャンラインの間隔
が同じだからである。
【0021】ジャンプエッジの検出 以上より、二値化画像データを画像メモリからラスター
スキャン的に順次読み出し、読み出した注目画素Pa
(図6(a)参照)の画像データが0であり、1つ前のス
キャンライン上のいずれかの近接画素(水平間隔n内の
画素)の画像データが非零の場合には非接続であり、注
目画素Paはジャンプエッジを構成する判断できる。
又、、注目画素Pa′の画像データが非零であり、1つ
前のスキャンライン上のいずれの近接画素(水平間隔n
内の画素)の画像データも0の場合、非接続であり、注
目画素Pa′はジャンプエッジを構成すると判断でき
る。
【0022】ルーフエッジの検出 面が変わると、その境界でスリット光画像の傾きが変化
する。従って、第L、第(L+1)スキャンライン上の
2つの画素PL,PL+1が接続していると判断した場合、
それぞれにおける傾きを比較し、傾きの差が設定値以上
の場合にはルーフエッジを構成する画素であると判断で
きる。すなわち、二値化画像データを画像メモリからラ
スタースキャン的に順次読み出し、読み出した画素(注
目画素)Pbの画像データが非零であり、1つ前のスキ
ャンライン上の近接画素(水平間隔n内の画素)の画像
データが非零である場合、該近接画素と注目画素間の水
平方向間隔を求めて注目画素の傾きとして記憶し、該傾
きと近接画素における傾きとの差が設定値以上のとき、
注目画素Pbはルーフエッジを構成する画素である判断
する。
【0023】面の検出 面の検出はルーフエッジを検出する際に求めた傾きを画
素対応に記憶しておき、全画素の傾きを参照して傾きが
設定値範囲内の画素の集まりを求め、該集まりを対象物
体の面であると認識する。以下、二値化全投影画像を用
いて各特徴を抽出する処理について説明する。
【0024】(c) 二値化全投影画像を用いた特徴抽出ジャンプエッジ検出処理 図7は二値化全投影画像を用いてジャンプエッジを検出
する処理の流れ図である。尚、垂直方向位置L,水平方
向位置iの画素の画像データは、二値化画像メモリのア
ドレス(L,i)に記憶されている。すなわち、画像メモ
リは垂直アドレスLと水平アドレスiの組によりアクセ
スされ、アドレス(L,i)より画像データbuf[L][i]を読
み出すことができる。又、ジャンプエッジメモリを設
け、このジャンプエッジメモリのアドレス(L,i)に垂
直方向位置L,水平方向位置iの画素がジャンプエッジ
であるか否かを示すデータjump[L」[i]を記憶する。
【0025】アドレス(l,i)の画素(注目画素)の二値
化画像データbuf[L+1][i]を画像メモリから読み出し、b
uf[L+1][i]=0であるか否かを判断する(ステップ20
1)。buf[L+1][i]=0であれば、buf[L][k]を(i-n)<k
<(i+n)の範囲でスキャンし、buf[L][k]≠0のkが存在
すれば、注目画素はジャンプエッジを構成する画素であ
るから、jump[L+1][i]=1としてジャンプエッジメモリ
に記憶する。しかし、全てのkでbuf[L][k]=0であれ
ば、jump[L+1][i]=0としてジャンプエッジメモリに記
憶する。すなわち、注目画素の画像データが0であり、
1つ前のスキャンライン上のいずれかの近接画素(水平
間隔n内の画素)の画像データが非零の場合には注目画
素はジャンプエッジを構成する画素であるとする。・・
・以上ステップ202
【0026】一方、buf[L+1][i]≠0であれば、buf[L]
[k]を(i-n)<k<(i+n)の範囲でスキャンし、buf[L][k]
≠0のkが存在すれば、注目画素はジャンプエッジを構
成する画素でないから、jump[L+1][i]=0としてジャン
プエッジメモリに記憶する。しかし、全てのkでbuf[L]
[k]=0であれば、注目画素はジャンプエッジを構成す
る画素であるから、jump[L+1][i]=1としてジャンプエ
ッジメモリに記憶する。すなわち、注目画素の画像デー
タが非零であり、1つ前のスキャンライン上のいずれの
近接画素(水平間隔n内の画素)の画像データも0の場
合、注目画素はジャンプエッジを構成すると判断する。
・・・以上ステップ203 しかる後、iを1つ歩進し(i+i=1)、もし、i>
IMAXならば、Lを歩進し(L=L+1)、i=0とする
(ステップ204)。ついで、L>LMAXであるか判断し
(ステップ205)、L≦LMAXであればステップ201
に戻り、以降の処理を繰返し、L>LMAXであればジャン
プエッジ検出処理を終了する。
【0027】ルーフエッジ検出処理 図8は二値化全投影画像を用いてルーフエッジを検出す
る処理の流れ図である。尚、ルーフエッジメモリを設
け、このルーフエッジメモリのアドレス(L,i)に画素
アドレス(L,i)で示される画素がルーフエッジであるか
否かを示すデータroof[L」[i]を記憶する。更に、差分画
素メモリを設け、該差分画素メモリのアドレス(L,i)
に画素アドレス(L,i)で示される画素の傾きデータvec
[L」[i]を記憶する。傾きは、注目画素の画像データが非
零であり、1つ前のスキャンライン上の近接画素(水平
間隔n内の画素)の画像データが非零である場合、該近
接画素と注目画素間の水平方向間隔である。
【0028】画素アドレス(L+1,i)が示す画素(注目画
素)の二値化画像データbuf[L+1][i]を画像メモリから
読み出し、buf[L+1][i]=0であるか否かを判断する
(ステップ301)。buf[L+1][i]≠0であれば、buf
[L][k]を(i-n)<k<(i+n)の範囲でスキャンし、buf[L]
[k]≠0のkが存在すれば、vec[L+1][i]=i−kを注目
画素における傾きとして差分画素メモリに記憶する(ス
テップ302)。
【0029】ついで、差分画素メモリをvec[L][k]を(i-
m)<k<(i+m)の範囲でスキャンし、全てのkについて |vec[L][k]-vec[L+1][i]|>th であれば(thはスレッショールド値)、注目画素はル
ーフエッジを構成する画素であるから、roof[L+1][i]=
1をルーフエッジメモリに記憶する。すなわち、注目画
素の画像データが非零であり、1つ前のスキャンライン
上の近接画素(水平間隔n内の画素)の画像データが非
零である場合、該近接画素と注目画素間の水平方向間隔
を求めて注目画素の方向データ(傾き)として記憶し、
該傾きと近接画素における傾きとの差が設定値以上のと
き、注目画素はルーフエッジを構成する画素である判断
する。・・・以上ステップ303 しかる後、あるいは、ステップ301においてbuf[L+1]
[i]=0であれば、iを1つ歩進し(i+i=1)、も
し、i>IMAXならば、Lを歩進し(L=L+1)、i=
0とする(ステップ304)。ついで、L>LMAXである
か判断し(ステップ305)、L≦LMAXであればステッ
プ301に戻り、以降の処理を繰返し、L>LMAXであれ
ばルーフエッジ検出処理を終了する。
【0030】面の検出処理 図9は面を検出する処理の流れ図であり、ルーフエッジ
検出処理の過程で求めた傾きを参照して傾きが設定値範
囲内の画素の集まりを求め、該集まりを対象物体の面で
あると認識するものである。図9(a)においては、所定
の大きさのウインドウサイズを初期値とし(ステップ4
01)、該ウインドウ領域内の画素の傾きを差分画素メ
モリをスキャンして求め(ステップ402)、該ウイン
ドウ内に同じ方向の傾き(ベクトル)が設定値th以上
存在するか判断し(ステップ403)、存在すれば、ウ
インドウサイズを大きくし(ステップ404)、以後ス
テップ401以降の処理を繰返し、ウインドウ内に同じ
方向の傾き(ベクトル)が設定値th以上存在しなくな
れば、最後のウインドウを1つの面であるとして記憶
し、以後ウインドウ位置を変えて同様の処理を行い、面
を識別する。
【0031】図9(b)においては、横方向に傾き、縦方
向に画素数を目盛った傾きヒストグラムを作成し(ステ
ップ410)、該傾きヒストグラムのピークを示す傾き
をvpi(i=1,2,・・・)とすれば、傾きをvpi-δ
〜vpi+δ毎に区分し(クラスタ分離:ステップ41
1)、第1クラスについて差分画素メモリをスキャンし
て各クラスタに入る傾き値を有する画素を求めて塗りつ
ぶして面を求める(ステップ412)。以後、順次クラ
スを変え(ステップ413)、上記処理を繰返し、全ク
ラスタについて対応する面を求める。
【0032】次に、コード化画像を用いて各特徴を抽出
する処理について説明する。 (d) コード化画像を用いた特徴抽出ジャンプエッジ検出処理 図10はコード化画像を用いてジャンプエッジを検出す
る処理の流れ図である。尚、ジャンプエッジメモリを設
け、このジャンプエッジメモリのアドレス(L,i)に画
素アドレス(L,i)により指示される画素がジャンプエッ
ジであるか否かを示すデータjump[L」[i]を記憶する。
又、スリット光が当った部分の垂直、水平位置に応じた
記憶域(L,i)にスリット光の番号slt no.をimage[L][i]
として記憶するコード化パターン画像メモリ設ける。更
に、スリット番号slt no.と垂直方向位置Lとにより特
定される画素が明の場合には該画素の水平位置iを、暗
の場合には0をそれぞれアドレス(L,slt no.)に記憶
するコードバッファメモリを設ける。図11はコード化
パターン画像メモリCPMとコードバッファメモリCB
Mの記憶内容説明図であり、(a)はスリット光を照射
した時に光が当った部分をslt no.(1〜MAX)毎に識別し
て表示したもの、(b)はコード化パターン画像メモリC
PMの内容であり、光が当った部分に対応する記憶域に
該光のスリット番号slt no.を記憶するもの、(c)はコー
ドバッファCBMの内容である。
【0033】コード化パターン画像メモリよりアドレス
(L,i)の画素(注目画素)のコード化パターン画像デ
ータimage[L+1,i]を読み出し、image[L+1,i]=0かチェ
ックする(ステップ501)。読み出したコード化画像
データimage[L+1,i]が0の場合、コードバッファメモリ
におけるアドレス(L,slt no.)(但し、slt no.は1〜
最大)に注目画素の水平アドレスとの差が設定値n以下
のデータが記憶されているか調べ、記憶されていれば、
注目画素はジャンプエッジを構成する画素であると判定
し、jump[L+1][i]=1としてジャンプエッジメモリに記
憶する。しかし、記憶されていなければ、jump[L+1][i]
=0としてジャンプエッジメモリに記憶する。・・・以
上ステップ502 一方、image[L+1,i][i]≠0であれば、コードバッファ
メモリCBMのアドレス(L+1,image[L+1][i])にiを記
憶する。すなわち、 buf[L+1][image[L+1][i]]=i とする。このステップによりコードバッファメモリCB
Mの内容が順次作成されて行く(ステップ503)。
【0034】ついで、コードバッファメモリにおけるア
ドレス(L,slt no.)(但し、slt no.は1〜最大)に注
目画素の水平アドレスiとの差が設定値n以下のデータ
が記憶されているか調べ、記憶されていなければ、注目
画素はジャンプエッジを構成する画素であると判定し、
jump[L+1][i]=1としてジャンプエッジメモリに記憶す
る。しかし、記憶されていれば、jump[L+1][i]=0とし
てジャンプエッジメモリに記憶する。・・・以上ステッ
プ504 しかる後、iを1つ歩進し(i+i=1)、もし、i>
IMAXならば、Lを歩進し(L=L+1)、i=0とする
(ステップ505)。ついで、L>LMAXであるか判断し
(ステップ506)、L≦LMAXであればステップ501
以降の処理を繰返し、L>LMAXであればジャンプエッジ
検出処理を終了する。
【0035】ルーフエッジ検出処理 図12はコード化画像を用いてルーフエッジを検出する
処理の流れ図である。尚、ルーフエッジメモリを設け、
このルーフエッジメモリのアドレス(L,i)に垂直位
置、水平位置がL,iである画素がルーフエッジである
か否かを示すデータroof[L」[i]を記憶する。又、差分画
素メモリを設け、該差分画素メモリのアドレス(L,slt
no.)にスリット番号slt no.、垂直アドレスLの画素
における傾きデータvec[L」[slt no.]を記憶する。ま
ず、スリット番号slt no.を1に初期化すると共に(ス
テップ507)、垂直アドレスLを2に初期化する(ス
テップ602)。
【0036】ついで、コードバッファメモリCBMのア
ドレス(L,slt no.)、(L-1,slt no.)よりデータ(水平
位置)を読み出し、次式 |buf[L][slt no.]−buf[L-1][slt no.]|→vec[L][slt n
o.] により、番号slt no.を有するスリット光画像の垂直ア
ドレLにおける傾きを演算し、差分画素メモリのアドレ
ス(L,slt no.)に記憶する(ステップ603)。傾
きの計算が終了すれば、番号slt no.を有するスリット
光画像の垂直アドレスL−1における傾きvec[L-1][slt
no.]を差分画素メモリから読み出し、垂直アドレス
L,L−1における傾きの差 |vec[L][slt no.]−vec[L-1][slt no.]| を求め、該差が設定値th以上か判断する。設定値以上
であれば、番号slt no.を有するスリット光画像の垂直
アドレスLの画素はルーフエッジを構成する画素である
から、ルーフエッジメモリのアドレス(L,buf[L][slt n
o.])に1を書き込む。すなわち、roof[L],[buf[L][slt n
o.]]=1 とする。(ステップ604)。
【0037】しかる後、L=L+1によりLを歩進し
(ステップ605)、L>LMAXであるか判断し(ステッ
プ606)、L≦LMAXであればステップ603以降の処
理を繰返し、L>LMAXであれば slt no.=slt no.+1
によりスリット番号を歩進し(ステップ607)、slt
no.>MAXかチェックし(ステップ608)、slt no.≦MA
Xであれば、ステップ602以降の処理を繰返し、slt n
o.>MAXであればルーフエッジ検出処理を終了する。
【0038】面の検出処理 面を検出するには、ルーフエッジ検出処理の過程で求め
た傾きを参照して傾きが設定値範囲内の画素の集まりを
求め、該集まりを対象物体の面であると認識する。尚、
図9のフローと同様のフローで面を検出できる。図13
は面検出の別の流れ図であり、スリット光の番号slt n
o.毎に図9(b)の処理を行い、最後に、同じ傾きの違う
スリット番号のものを統合して面を検出するものであ
る。
【0039】すなわち、スリット番号slt no.を初期化
し(ステップ701)、番号slt no.のスリット光画像に
ついて、傾きヒストグラムを作成する(ステップ70
2)。ついで、該傾きヒストグラムのピークを示す傾き
をvpi(i=1,2,・・・)とすれば、傾きをvpi-δ
〜vpi+δ毎に区分し(クラスタ分離:ステップ70
3)、第1クラスについて差分画素メモリをスキャンし
て各クラスタに入る傾き値を有する画素を求めて塗りつ
ぶして面を求める(ステップ704)。以後、順次クラ
スを変え(ステップ705)、上記処理を繰返す。全ク
ラスタについて処理を終了すれば、スリット番号slt n
o.を歩進し(ステップ706)、次のスリット光画像に
ついて同様の処理を行い、前スリット光画像について上
記処理を終了すれば、最後に、同じ傾きの違うスリット
番号のものを統合して面を検出する(ステップ70
7)。以上、本発明を実施例により説明したが、本発明
は請求の範囲に記載した本発明の主旨に従い種々の変形
が可能であり、本発明はこれらを排除するものではな
い。
【0040】
【発明の効果】以上本発明によれば、距離画像生成処理
とフィッティング対象領域の決定に必要な特徴抽出処理
を同時並行的に行うようにしたから、距離画像処理に要
する時間を短縮できる。又、本発明によれば、コード化
パターン光投影法あるいはコード化スリット光投影法に
より得られた投影画像あるいは距離画像生成の過程で得
られる二値化投影画像あるいはコード化画像を用いて各
種エッジ、面等の特徴を抽出するようにしたから、二次
元処理により簡単に特徴を抽出することができる。更
に、本発明によれば、抽出すべき特徴(ジャンプエッ
ジ、ルーフエッジ、面等)毎に特徴抽出のためのCPU
を設けて各種特徴抽出処理と距離画像生成処理を並列に
実行するようにしたから、トータルの距離画像処理時間
を短縮できる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の距離画像処理説明図である。
【図3】特徴説明図である。
【図4】本発明の距離画像処理の別の説明図である。
【図5】画像処理装置の全体構成図である。
【図6】接続・非接続及び傾き説明図である。
【図7】二値化全投影画像を用いてジャンプエッジを検
出する場合の流れ図である。
【図8】二値化全投影画像を用いてルーフエッジを検出
する場合の流れ図である。
【図9】面検出の流れ図である。
【図10】コード化画像を用いてジャンプエッジを検出
する場合の流れ図である。
【図11】コード化パターン画像メモリ、コードバッフ
ァメモリの内容説明図である。
【図12】コード化画像を用いてルーフエッジを検出す
る場合の流れ図である。
【図13】面検出処理の別の流れ図である。
【図14】距離画像の説明図である。
【図15】距離算出法の説明図である。
【図16】スリット光を用いる距離画像の計測説明図で
ある。
【図17】コード化パターン光投影法の説明図である。
【図18】従来の距離画像処理の説明図である。
【図19】二値化投影画像の説明図である。
【図20】コード化画像データ(コードバッファの内
容)の説明図である。
【符号の説明】
11・・投影画像取得部 21・・距離画像生成部 31・・特徴抽出部 41・・距離画像処理部

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 コード化パターン光投影法あるいはコー
    ド化スリット光投影法により距離画像を求めて画像処理
    する距離画像処理方式において、 距離画像を生成する処理と光投影により得た投影画像を
    用いて画像中の特徴を抽出する処理とを並行に実行し、 該得られた特徴を用いて距離画像に対する画像処理を実
    行することを特徴とする距離画像処理方式。
  2. 【請求項2】 前記投影画像は二値化全投影画像あるい
    はコード化画像である請求項1記載の距離画像処理方
    式。
  3. 【請求項3】 光投影して得た投影画像から画像中の特
    徴量を計算するプロセスを、複数のCPUを用いて距離
    画像生成プロセスと同時並行的に実行する請求項1記載
    の距離画像処理方式。
  4. 【請求項4】 二値化全投影画像によりジャンプエッジ
    を抽出するとき、各画素の画像データを画像メモリから
    ラスタースキャン的に順次読み出し、読み出した画素
    (注目画素)の画像データが0であり、1つ前のスキャ
    ンライン上の注目画素に近接するいずれかの画素の画像
    データが0でない場合、及び、注目画素の画像データが
    0でなく、1つ前のスキャンライン上の画素であって、
    注目画素に近接するいずれの画素の画像データも0の場
    合、それぞれ注目画素はジャンプエッジを構成する画素
    であると判断する請求項2記載の距離画像処理方式。
  5. 【請求項5】 二値化全投影画像によりルーフエッジを
    抽出するとき、各画素の画像データを画像メモリからラ
    スタースキャン的に順次読み出し、読み出した画素(注
    目画素)の画像データが0でなく、1つ前のスキャンラ
    イン上の注目画素に近接するいずれかの画素の画像デー
    タが0でない場合、該近接画素と注目画素間の水平方向
    間隔を求めて注目画素の傾きとして記憶し、該間隔と前
    記近接画素における傾きとの差が設定値以上のとき、注
    目画素はルーフエッジを構成する画素である判断する請
    求項2記載の距離画像処理方式。
  6. 【請求項6】 前記全画素の傾きを参照して傾きが設定
    値範囲内の画素の集まりを求め、該集まりを対象物体の
    面であると認識する請求項5記載の距離画像処理方式。
  7. 【請求項7】 スリット光が当った部分の垂直、水平位
    置に応じた記憶域(L,i)にスリット光の番号slt no.を記
    入してなるコード化パターン画像を記憶するコード化パ
    ターン画像メモリと、スリット番号slt no.と垂直方向
    位置Lとにより特定される画素が明の場合には該画素の
    水平位置iを、又、暗の場合には0をそれぞれアドレス
    (L,slt no.)に記憶するコードバッファメモリを設
    け、 コード化パターン画像メモリよりアドレス(L,i)の画
    素(注目画素)の画像データを読み出し、 読み出した画像データが0の場合、コードバッファメモ
    リにおけるアドレス(L-1,slt no.)(但し、slt no.は
    1〜最大)に注目画素の水平アドレスとの差が設定値以
    下のデータが記憶されているか調べ、記憶されていれ
    ば、注目画素はジャンプエッジを構成する画素であると
    判定し、 又、読み出した画像データが0でない場合、コードバッ
    ファメモリにおけるアドレス(L-1,slt no.)(但し、s
    lt no.は1〜最大)に注目画素の水平アドレスとの差が
    設定値以下のデータが記憶されているか調べ、記憶され
    ていなければ、注目画素はジャンプエッジを構成する画
    素であると判定する請求項2記載の距離画像処理方式。
  8. 【請求項8】 スリット番号slt no.と垂直方向位置L
    とにより特定される画素が明の場合には該画素の水平位
    置を、又、暗の場合には0をそれぞれアドレス(L, slt
    no.)に記憶するコードバッファメモリを設け、 スリット番号slt no.が同じで垂直アドレスLが連続す
    る3つのデータをコードバッファメモリから読み出し、 第1、第2のデータ(水平位置)の差である傾きと、第
    2、第3のデータ(水平位置)の差である傾きを求め、 これら傾きの差が設定値以上の時、第2データの値をi
    とすればアドレス(L,i)により特定される画素はルーフ
    エッジを構成する画素であると判断する請求項2記載の
    距離画像処理方式。
  9. 【請求項9】 前記傾きが設定値範囲内のコード化画像
    の集まりを求め、該集まりにより対象物体の面を識別す
    る請求項8記載の距離画像処理方式。
JP5228792A 1993-09-14 1993-09-14 距離画像処理方式 Withdrawn JPH0783614A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5228792A JPH0783614A (ja) 1993-09-14 1993-09-14 距離画像処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5228792A JPH0783614A (ja) 1993-09-14 1993-09-14 距離画像処理方式

Publications (1)

Publication Number Publication Date
JPH0783614A true JPH0783614A (ja) 1995-03-28

Family

ID=16881930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5228792A Withdrawn JPH0783614A (ja) 1993-09-14 1993-09-14 距離画像処理方式

Country Status (1)

Country Link
JP (1) JPH0783614A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7538311B2 (en) 2006-09-14 2009-05-26 Fujifilm Corporation Image sensor and digital camera
JP2010256209A (ja) * 2009-04-27 2010-11-11 Ihi Corp 袋状ワーク認識装置および方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7538311B2 (en) 2006-09-14 2009-05-26 Fujifilm Corporation Image sensor and digital camera
JP2010256209A (ja) * 2009-04-27 2010-11-11 Ihi Corp 袋状ワーク認識装置および方法

Similar Documents

Publication Publication Date Title
KR100422370B1 (ko) 3차원 물체 부피계측시스템 및 방법
EP1814083A1 (en) Photometric measurements using at least three light sources
US6205242B1 (en) Image monitor apparatus and a method
KR20010013521A (ko) 화상 처리 장치 및 방법, 화상 처리를 위한 프로그램을기억한 매체 및 검사장치
JP2001236522A (ja) 画像処理装置
JP3265595B2 (ja) 画像処理方法およびその装置
JP2004280776A (ja) 画像内のオブジェクトの形状を決定する方法
JPH1144533A (ja) 先行車両検出装置
JP2007256280A (ja) 物体認識システム及びそれを用いた物体の変位計測方法
JP3465531B2 (ja) 物体認識方法およびその装置
JPH10269365A (ja) 特徴抽出方法およびその方法を用いた物体認識装置
JP2981382B2 (ja) パターンマッチング方法
JPH0783614A (ja) 距離画像処理方式
JP2005241304A (ja) 外観検査方法
JP2961140B2 (ja) 画像処理方法
CN110717471B (zh) 基于支持向量机模型b超图像目标检测方法及b超扫描仪
JP3627249B2 (ja) 画像処理装置
CN116612007B (zh) 一种光学元件表面子孔径拼接方法及装置
CN113269207B (zh) 一种用于网格结构光视觉测量中的图像特征点提取方法
JPH10283478A (ja) 特徴抽出方法およびその方法を用いた物体認識装置
JPH0310107A (ja) 濃淡パターンマッチングによる検査方法
JPH0534117A (ja) 画像処理方法
CN114882027B (zh) 电子设备芯片引脚缺陷检测方法及系统
JPH0981738A (ja) 画像認識装置及び方法
Amari et al. Analysis of dynamic motion distance measurements detection in 3-axis for binocular vision

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20001128