(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023122605
(43)【公開日】2023-09-04
(54)【発明の名称】物体認識システムおよび物体認識方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20230828BHJP
G01B 11/24 20060101ALI20230828BHJP
G06T 7/13 20170101ALI20230828BHJP
G06T 7/174 20170101ALI20230828BHJP
H04N 7/18 20060101ALI20230828BHJP
G06V 10/141 20220101ALI20230828BHJP
G06V 10/70 20220101ALI20230828BHJP
【FI】
G06T7/00 300F
G01B11/24 K
G06T7/13
G06T7/174
H04N7/18 U
G06V10/141
G06V10/70
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022026260
(22)【出願日】2022-02-23
(71)【出願人】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100106149
【弁理士】
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【弁理士】
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【弁理士】
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】桂 正士
【テーマコード(参考)】
2F065
5C054
5L096
【Fターム(参考)】
2F065AA53
2F065BB05
2F065DD06
2F065FF09
2F065HH06
2F065JJ03
2F065JJ26
2F065MM06
2F065PP04
2F065PP25
2F065QQ25
2F065QQ31
2F065RR08
2F065SS02
2F065SS13
5C054CA04
5C054CC02
5C054FC12
5C054FC15
5C054FD01
5C054HA05
5L096AA09
5L096CA03
5L096CA05
5L096DA02
5L096FA06
5L096JA03
5L096JA09
(57)【要約】
【課題】物体を認識するまでの時間を短くできる物体認識システムおよび物体認識方法を提供する。
【解決手段】撮影条件を、認識すべき物体である認識物体においてエッジ以外の部分のデータ点数が、最も多くデータが生成される条件と比較して、輝度飽和により50%以上減少する条件として撮影物体を撮影し、撮影したデータの輝度に基づいて撮影物体の三次元データを出力する計測ユニット110と、計測ユニット110から三次元データを取得し、取得した三次元データまたは三次元データから生成されるエッジ抽出データのいずれかである撮影側データと、認識物体のエッジ形状を表すモデルエッジデータとを照合して、撮影物体が認識物体であるかを判断する認識部126とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
撮影条件を、認識すべき物体である認識物体においてエッジ以外の部分のデータ点数が、最も多くデータが生成される条件と比較して、輝度飽和により50%以上減少する条件として撮影物体を撮影し、撮影したデータの輝度に基づいて前記撮影物体の三次元データを出力する撮影装置(110)と、
前記撮影装置から前記三次元データを取得し、取得した前記三次元データまたは前記三次元データから生成されるエッジ抽出データのいずれかである撮影側データと、前記認識物体のエッジ形状を表すモデルエッジデータとを照合して、前記撮影物体が前記認識物体であるかを判断する認識部(126、226)と、
を備える物体認識システム。
【請求項2】
請求項1に記載の物体認識システムであって、
前記撮影条件は、最も多くデータが生成される条件よりも投光パワーが強い条件である、物体認識システム。
【請求項3】
請求項1または2に記載の物体認識システムであって、
前記撮影条件は、最も多くデータが生成される条件よりも露光時間が長い条件である、物体認識システム。
【請求項4】
請求項1~3のいずれか1項に記載の物体認識システムであって、
前記認識部としての作動するコンピュータ(120)を備え、
前記撮影装置と前記コンピュータが別体であり、
前記撮影装置と前記コンピュータが通信ケーブル(130)で接続されている、物体認識システム。
【請求項5】
請求項1~4のいずれか1項に記載の物体認識システムであって、
前記認識部は、前記撮影装置から取得した前記三次元データを、前記モデルエッジデータと照合して、前記撮影物体が前記認識物体であるかを判断する、物体認識システム。
【請求項6】
請求項1~4のいずれか1項に記載の物体認識システムであって、
前記認識部は、前記撮影装置から取得した前記三次元データに対してエッジ抽出処理を実行して前記エッジ抽出データを取得し、取得した前記エッジ抽出データと前記モデルエッジデータとを照合して、前記撮影物体が前記認識物体であるかを判断する、物体認識システム。
【請求項7】
請求項1~6のいずれか1項に記載の物体認識システムであって、
複数の前記認識物体のエッジ形状をそれぞれ表す複数の前記モデルエッジデータと、そのモデルエッジデータを選択した場合の前記撮影条件とを対応付けて記憶する記憶部(121)を備え、
前記認識部(226)は、
前記撮影側データのデータ点数に基づいて、前記記憶部に記憶されている複数の前記モデルエッジデータから選択されている前記モデルエッジデータが正しいかどうかを判断するモデルエッジデータ判断部(227)と、
前記モデルエッジデータ判断部が、選択されている前記モデルエッジデータが正しくないと判断した場合には、照合に使う前記モデルエッジデータを変更し、変更後の前記モデルエッジデータにより定まる前記撮影条件を前記撮影装置に指示する撮影条件指示部(228)と、
前記撮影条件指示部が前記撮影条件を前記撮影装置に指示した後に前記撮影装置から取得した前記撮影側データを、変更後の前記モデルエッジデータと照合する照合部(229)とを備える、物体認識システム。
【請求項8】
請求項7に記載の物体認識システムであって、
前記撮影条件指示部は、前記モデルエッジデータ判断部が、選択されている前記モデルエッジデータが正しくないと判断した場合、前記モデルエッジデータの二次元形状が前記撮影側データの二次元形状に近い前記モデルエッジデータを、照合に使う前記モデルエッジデータとする、物体認識システム。
【請求項9】
撮影条件を、認識すべき物体である認識物体においてエッジ以外の部分のデータ点数が、最も多くデータが生成される条件と比較して、輝度飽和により50%以上減少する条件として撮影物体を撮影し、
撮影したデータの輝度に基づいて前記撮影物体の三次元データを出力し、
前記三次元データまたは前記三次元データから生成されるエッジ抽出データのいずれかである撮影側データと、前記認識物体のエッジ形状を表すモデルエッジデータとを照合して、前記撮影物体が前記認識物体であるかを判断する、物体認識方法。
【請求項10】
請求項9に記載の物体認識方法であって、
前記撮影条件の候補となる撮影候補条件を変更しつつ前記認識物体を撮影し、前記三次元データのデータ点数が前記モデルエッジデータに近似したときの前記撮影候補条件を、前記撮影条件とする、物体認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
物体を撮影して、撮影した物体を認識する技術に関する。
【背景技術】
【0002】
特許文献1には、カメラで認識対象の物体を撮影し、撮影した画像から抽出したエッジと、物体モデルとを照合して物体を認識する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
カメラ等の撮影装置で撮影した画像のデータをソフトウェアにより画像解析してエッジ抽出をすると、エッジ抽出に時間がかかる。その結果、カメラで撮影した物体(以下、撮影物体)を認識するまでに時間がかかるという問題があった。
【0005】
本開示は、この事情に基づいて成されたものであり、その目的とするところは、物体を認識するまでの時間を短くできる物体認識システムおよび物体認識方法を提供することにある。
【課題を解決するための手段】
【0006】
上記目的は独立請求項に記載の特徴の組み合わせにより達成され、また、下位請求項は更なる有利な具体例を規定する。特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的態様との対応関係を示すものであって、開示した技術的範囲を限定するものではない。
【0007】
上記目的を達成するための物体認識システムに係る1つの開示は、
撮影条件を、認識すべき物体である認識物体においてエッジ以外の部分のデータ点数が、最も多くデータが生成される条件と比較して、輝度飽和により50%以上減少する条件として撮影物体を撮影し、撮影したデータの輝度に基づいて撮影物体の三次元データを出力する撮影装置(110)と、
撮影装置から三次元データを取得し、取得した三次元データまたは三次元データから生成されるエッジ抽出データのいずれかである撮影側データと、認識物体のエッジ形状を表すモデルエッジデータとを照合して、撮影物体が認識物体であるかを判断する認識部(126、226)と、を備える物体認識システムである。
【0008】
この物体認識システムでは、撮影装置は、認識物体を撮影した場合には輝度飽和が生じる撮影条件で、撮影物体を撮影する。輝度飽和した部分は、輝度をもとにして座標を算出することができない。そのため、撮影装置は、輝度飽和した部分はデータなしとした三次元データを生成する。
【0009】
撮影装置は、撮影条件を、認識物体においてエッジ以外の部分のデータ点数が、最も多くデータが生成される条件と比較して、輝度飽和により50%以上減少する条件として撮影物体を撮影する。したがって、撮影装置が出力するデータ点数は、最も多くデータが生成される場合と比較して大きく減少する。
【0010】
撮影物体において、平面部分が輝度飽和しやすく、エッジ部分は相対的に輝度飽和しにくい。エッジ部分は投光が種々の方向に拡散されやすいため、撮影装置が撮影する画像において輝度が低くなる傾向があるからである。したがって、撮影装置が出力する三次元データは、平面部分のデータが減少して、エッジ部分のデータが相対的に多く残っているデータになる。
【0011】
認識部は、撮影装置から三次元データを取得し、この三次元データまたは三次元データから生成されるエッジ抽出データのいずれかである撮影側データをモデルエッジデータと照合する。
【0012】
三次元データはエッジ部分のデータが相対的に多く残っているデータであることから、エッジ抽出処理をせず、三次元データをモデルエッジデータと照合することもできる。また、三次元データからエッジ抽出データを生成するとしても、三次元データはデータ点数が減少しているので、エッジ抽出データを生成するための演算量を少なくできる。よって、撮影側データとして三次元データおよびエッジ抽出データのいずれを使っても、意図的には輝度飽和させない通常の撮影条件で撮影して得た三次元データを使う場合に比較して、演算量を少なくできる。演算量を少なくできるので、物体を認識するまでの時間を短くできる。
【0013】
また、上記目的を達成するための物体認識方法に係る1つの開示は、上述した物体認識システムが実施できる方法である。すなわち、上記目的を達成するための物体認識方法に係る1つの開示は
撮影条件を、認識すべき物体である認識物体においてエッジ以外の部分のデータ点数が、最も多くデータが生成される条件と比較して、輝度飽和により50%以上減少する条件として撮影物体を撮影し、
撮影したデータの輝度に基づいて撮影物体の三次元データを出力し、
三次元データまたは三次元データから生成されるエッジ抽出データのいずれかである撮影側データと、認識物体のエッジ形状を表すモデルエッジデータとを照合して、撮影物体が認識物体であるかを判断する、物体認識方法である。
【図面の簡単な説明】
【0014】
【
図1】第1実施形態の物体認識システム100の適用例を示す図。
【
図5】低い投光パワーで撮影した三次元データを例示する図。
【
図6】強い投光パワーで撮影した三次元データを例示する図。
【
図8】第2実施形態の物体認識システム200を示す図。
【
図9】複数種類のモデルエッジデータを含んでいるデータベースを説明する図。
【
図10】データベースに示されている部品20Bのモデルエッジデータを示す図。
【
図11】第2実施形態において実行する認識処理の流れを示す図。
【
図12】弱い投光パワーで部品20Bを撮影して生成した三次元データを例示する図。
【
図14】変更後の撮影条件で撮影して生成した三次元データを例示する図。
【発明を実施するための形態】
【0015】
<第1実施形態>
以下、実施形態を図面に基づいて説明する。
図1は、第1実施形態の物体認識システム100の適用例を示している。
図1では、物体認識システム100は、ロボット10がピッキングする部品20を認識する。
【0016】
ロボット10は物体認識システム100が認識した部品20に基づいて、部品20の形状、位置を把握して、部品20をピッキングする。ロボット10は、ベース11とロボットアーム15とロボットハンド16とを備えている。ロボット10は垂直多関節型ロボットである。ただし、ロボット10として水平多関節型ロボット等を採用してもよい。
【0017】
ベース11は、ロボット10が設置されている設置面にボルト等を用いて固定されている。ロボットアーム15は、ベース11に連結されている。ロボットアーム15は、複数の軸部品を関節部品によって連結して構成されている。関節部品には、モータが含まれており、モータを制御することで関節部品の角度を自在に制御することができる。複数の軸部品は、関節部品を介して互いに相対回転可能に連結されている。
【0018】
ロボットハンド16は、ロボットアーム15の先端部に取り付けられている。ロボットハンド16には、モータが含まれている。ロボットハンド16は、モータを制御することでロボットアーム15が備えている軸部品の軸周りに相対回転可能に構成されている。
【0019】
ロボットハンド16は、爪部を備えている。この爪部は、ロボットハンド16の回転軸を回転中心として回転する。ロボットハンド16は、爪部同士の間隔を拡大および縮小する開閉動作を行うことで、作業台30に載置された部品20をピッキングする。また、ロボット10は、ロボットハンド16が部品20を把持した状態でロボットアーム15やロボットハンド16を動かすことができる。これにより、部品20の位置や姿勢を変えることができる。
【0020】
作業台30は、四角形状の板部材である。ただし、作業台30の種類や形状は、上述の例に限られない。作業台30として箱型形状の部品箱を採用してもよい。また、作業台30としてベルトコンベア等の可動する装置を採用してもよい。作業台30に載置された部品20の数は、1つに限られない。例えば、複数の部品20が互いに重なった状態で作業台30に載置されていてもよい。
【0021】
物体認識システム100は、計測ユニット110とコンピュータ120とを備えた構成である。計測ユニット110とコンピュータ120は、通信ケーブル130で接続されている。通信ケーブル130は、具体的には、USBケーブルあるいはイーサネット(登録商標)ケーブルなどである。
【0022】
計測ユニット110は、部品20の三次元形状を計測する。計測ユニット110は、部品20の三次元形状を計測するために部品20を撮影する撮影装置であり、部品20は撮影される物体すなわち撮影物体である。本実施形態の計測ユニット110は、三次元スキャナと呼ばれる構成であり、位相シフト法により部品20の三次元形状を計測する。
【0023】
この計測を行うために、計測ユニット110は、部品20に光を投光する光源としてのプロジェクタ111と、プロジェクタ111が部品20に投光している状態で部品20の表面画像を撮影するカメラ112とを備える。カメラ112は、二次元イメージセンサを備えており、画素ごとに輝度Iを検出する。
【0024】
さらに、計測ユニット110は、カメラ112が撮影した表面画像をもとに部品20の三次元データを生成する処理回路113を備えている。
【0025】
三次元データは、三次元点群により部品20の立体形状を表しているデータである。三次元データは、三次元点群を構成する各点の座標とその点の輝度Iの情報を含んでいる。
【0026】
計測ユニット110は、部品20の上方に設置される。計測ユニット110は、部品20の三次元形状を計測する際、プロジェクタ111から縞パターン画像を投影する。カメラ112は、部品20に縞パターン画像が投影されている状態で部品20の画像を撮影する。
【0027】
位相シフト法では、「式1 I=Acosθ+B」に含まれる3つの未知数、すなわち、輝度振幅A、背景輝度Bおよび位相θを算出する必要がある。なお、Iは輝度であり、たとえば、0から255までの値で表現される。式1の未知数を算出するために、計測ユニット110は、3回以上、縞パターン画像の位相を変化させて部品20の画像を撮影する。プロジェクタ111およびカメラ112の位置が既知であるので、位相θが分かると、三角測量の原理によりカメラ112の各画素が検出している点の三次元座標が計算できる。
【0028】
処理回路113は、プロジェクタ111およびカメラ112を制御する機能を備えるとともに、三次元座標を計算して、三次元データを生成する。処理回路113は、ASICあるいはFPGAなどのハードウェアにより三次元データを生成する処理を実行してもよい。また、GPUなどのプロセッサを備えており、プロセッサが三次元データを生成する処理を実行してもよい。
【0029】
上述のように、三次元データを生成するためには、式1をもとに位相θを算出する必要がある。輝度Iが飽和していると、縞パターン画像の位相を変化させても、ある画素の輝度Iが変化しないことになり、式1の位相θが算出できない。その結果、輝度Iが飽和している画素は、三次元座標を算出できない。よって、輝度Iが飽和している画素は、三次元データが生成されない。計測ユニット110は、生成した三次元データを、通信ケーブル130を使ってコンピュータ120へ転送(すなわち出力)する。
【0030】
コンピュータ120は、計測ユニット110から転送された三次元データをもとに、部品20が何であるかを決定する。
図2にコンピュータ120の構成を示している。
図2に示すように、コンピュータ120は、記憶部121、表示部122、操作部123およびプロセッサ124を備えている。
【0031】
記憶部121は、書き込み可能な不揮発性のメモリ、たとえばフラッシュメモリを備える。記憶部121には、認識すべき物体(以下、認識物体)のモデルエッジデータが記憶されている。
図3にモデルエッジデータの一例を示す。モデルエッジデータは、認識物体のエッジ部分を抽出したデータである。よって、モデルエッジデータは、認識物体のエッジ形状を表す。
図3に示すモデルエッジデータのデータ点数は約1000である。本実施形態では、記憶部121に、1種類の認識物体についてのモデルエッジデータが記憶されている。また、記憶部121には、プロセッサ124が実行するプログラムが記憶されていてもよい。ただし、このプログラムは記憶部121とは別のメモリに記憶されていてもよい。
【0032】
表示部122は、コンピュータ120を操作するユーザに向けて種々の情報を表示する部分である。表示部122には、たとえば、認識結果を示す画像、操作画面などが表示される。
【0033】
操作部123は、ユーザが種々の入力操作をする部分である。ユーザは、操作部123を操作して、計測ユニット110の撮影条件の調整をすることができる。
【0034】
プロセッサ124は、記憶部121などに記憶されているプログラムを実行することで、計測ユニット制御部125および認識部126として作動する。これらの作動が実行されることは、プログラムに対応する方法が実行されることを意味する。
【0035】
計測ユニット制御部125は、計測ユニット110を制御する。計測ユニット制御部125は、計測ユニット110に三次元データを生成して出力する指示をすることができる。また、計測ユニット制御部125は、プロジェクタ111の投光パワーを調整すること、および、カメラ112の露光時間を調整することができる。
【0036】
認識部126は、計測ユニット110から三次元データを取得する。本実施形態では、この三次元データを撮影側データとし、三次元データを記憶部121に記憶されているモデルエッジデータと照合することで、カメラ112が撮影した撮影物体が、モデルエッジデータが表している認識物体であるかを判断する。
【0037】
〔撮影条件の調整〕
ユーザは、認識部126による照合に先立ち、計測ユニット110による撮影条件を調整する。
図4に撮影条件を調整する手順を示す。
図4に示す手順は、
図7を実施する前の準備である。
図4と
図7に示す手順あるいは処理を実行することが物体認識方法に相当する。
【0038】
ステップS1では、モデルエッジデータを作成する。モデルエッジデータは、認識物体の三次元CADデータをもとに作成することができる。
【0039】
三次元CADデータからモデルエッジデータを作成する際には、種々のエッジ作成方法を採用できる。モデルエッジデータを作成する方法の一例は、オクルージョンエッジ検出法である。オクルージョンエッジ検出法では、隣り合う距離画像間の距離値の差が大きいところをエッジとして抽出する。また、三次元CADデータにおいて大きい角度差で面が交差する箇所をエッジとして抽出してもよい。モデルエッジデータは、コンピュータ120で作成してもよいし、他のコンピュータで作成してもよい。
【0040】
ステップS2では、ステップS1で作成したモデルエッジデータをもとに、エッジデータ点数を算出する。モデルエッジデータは、点の集合で表現されており、エッジデータ点数は、モデルエッジデータを構成する点の数である。ステップS3では、モデルエッジデータとエッジデータ点数を記憶部121に記憶する。
【0041】
ステップS4では、ユーザは、コンピュータ120を制御して、計測ユニット110に撮影候補条件で認識物体を撮影させる。コンピュータ120から計測ユニット110に対する撮影指示は、計測ユニット制御部125が行う。撮影候補条件は、認識物体の画像の輝度Iが変化する条件である。本実施形態では、撮影候補条件は、プロジェクタ111が投光する投光パワーが異なる条件である。最初の撮影候補条件、すなわち、最初の投光パワーはユーザが任意に決定する。
【0042】
ステップS5では、ユーザは、コンピュータ120を操作し、コンピュータ120に、S4での撮影により計測ユニット110が出力する三次元データのデータ点数を算出させる。
【0043】
ステップS6では、ユーザは、ステップS5で算出したデータ点数が、S3で記憶したモデルエッジデータのデータ点数に近似するか否かを判断する。モデルエッジデータのデータ点数と、認識物体を撮影した三次元データのデータ点数の違いがどの程度までであれば近似していると判断するかは、物体の形状等を考慮して、適宜決定できる。たとえば、モデルエッジデータのデータ点数と認識物体を撮影した三次元データのデータ点数の差が、いずれかのデータ点数の10%程度であれば近似していると判断する。
【0044】
ステップS6の判断結果がNOであればステップS7に進む。ステップS7では、ユーザは、コンピュータ120を操作して、計測ユニット110の投光パワーを変更する。たとえば、投光パワーを所定値、強くする。投光パワーを強くしていくと、認識物体の平面部分が輝度飽和に達し、これにより、三次元データのデータ点数が減少する。
図5は、弱い投光パワーであるPOWER=10で撮影した三次元データを例示している。
図6は、それよりも強い投光パワーであるPOWER=50で撮影した三次元データを例示している。
図5の場合、データ点数は約5000であり、
図6の場合、データ点数は約1000である。
【0045】
図5を見ると、認識物体の平面部分も含め、認識物体の殆どの表面部分が表されている。
図5が、最も多くデータが生成される条件で撮影して得た三次元データであると考えることができる。
【0046】
前述したように、モデルエッジデータのデータ点数は約1000である。したがって、
図5に示す認識物体において、エッジ以外の部分のデータ点数は約4000になる。
図6の三次元データでは、ほとんどエッジのみになっている。
図6の三次元データを生成する際の撮影条件は、最も多くデータが生成される条件と比較して、エッジ以外のデータ点数が、輝度飽和により、50%以上減少、より正確には、100%近く減少する撮影条件である。
【0047】
ステップS7において投光パワーを変更した後はS4に戻り、変更後の撮影候補条件で撮影する。
図5、
図6の比較から分かるように、投光パワーを強くすると、認識物体の平面部分のデータが減少する一方、エッジ部分のデータは、それほど減少しないことが分かる。平面部分が輝度飽和になっても、エッジ部分は輝度飽和しないことが多いからである。平面部分が輝度飽和になっても、エッジ部分は輝度飽和しない理由は、エッジ部分は投光が種々の方向に拡散されやすいため、カメラ112が撮影する画像において輝度Iが低くなる傾向があるからである。
【0048】
S7において投光パワーを強くしていくと、認識物体を撮影した三次元データのデータ点数が減少していき、モデルエッジデータのデータ点数に近づいていく。その結果、ステップS6の判断がYESになれば、ステップS8へ進む。認識物体を撮影した三次元データのデータ点数が、モデルエッジデータのデータ点数に近似している場合、
図3と
図6の比較から分かるように、像がモデルエッジデータに近似する。
【0049】
ステップS8では、この時点で設定されている投光パワーを含む撮影候補条件を、撮影物体を撮影する撮影条件に決定する。
【0050】
〔認識処理〕
上記のようにして、撮影条件を調整した後に、物体認識システム100を使うユーザは、部品20を撮影物体として、部品20が認識物体であるかを判断する認識処理を行う。
図7に、この認識処理の流れを示す。
図7において、ステップS11~S13は計測ユニット110が実行し、ステップS14およびステップS15はコンピュータ120の認識部126が実行する。
【0051】
ステップS11では、計測ユニット110が、
図4で決定した撮影条件で部品20を撮影する。ステップS12では、計測ユニット110が、ステップS11で撮影した部品20の画像データから、部品20の三次元データを生成する。ステップS13では、計測ユニット110は、ステップS12で生成した三次元データをコンピュータ120へ転送し、コンピュータ120はその三次元データを取得する。
【0052】
ステップS14では、コンピュータ120の認識部126が、三次元データと、記憶部121に記憶されているモデルエッジデータとを照合する。三次元データが
図6に示すように、ほぼエッジのみが表現されたデータになっている場合、三次元データに対してエッジ抽出処理をしなくても、モデルエッジデータと照合することができる。
【0053】
ステップS15では、認識部126は、照合結果を出力する。照合結果の内容の具体例は、部品20は認識物体であるか、認識物体ではないかである。照合結果の出力先は、たとえば、表示部122である。照合結果の出力先は、ロボット10を制御するロボット制御装置でもよい。なお、ロボット制御装置としての機能をコンピュータ120が備えていてもよい。ロボット制御装置は、照合結果に基づいて、部品20が認識物体であると判断できるときは、事前に記憶されている認識物体の形状データなどをもとに、部品20をピッキングする作動を決定することができる。
【0054】
ロボット10は複数の部品20を順次、ピッキングする。したがって、物体認識システム100も、複数の部品20を順次、認識する必要があるので、S15を実行後は、S11へ戻る。
【0055】
〔第1実施形態のまとめ〕
以上、説明した第1実施形態の物体認識システム100では、計測ユニット110は、撮影条件を、認識物体においてエッジ以外の部分のデータ点数が、最も多くデータが生成される条件と比較して、輝度飽和により100%近く減少する撮影条件とする。部品20が認識物体である場合に、この撮影条件で撮影して得た三次元データのデータ点数は約1000になり、最も多くデータが生成される場合と比較して大きく減少する。
【0056】
認識部126は、計測ユニット110から三次元データを取得し(S13)、この三次元データをモデルエッジデータと照合する(S14)。
【0057】
三次元データは、ほとんどがエッジ部分を表すデータであることから、エッジ抽出処理をせず、三次元データをモデルエッジデータと照合する。仮に、意図的には輝度飽和させない通常の撮影条件で撮影して得た三次元データを使う場合には、モデルエッジデータと照合する場合には、エッジ抽出処理が必要になる。一方、本実施形態ではエッジ抽出処理が不要となるので、演算量を少なくできる。演算量を少なくできるので、物体を認識するまでの時間を短くできる。
【0058】
本実施形態の物体認識システム100は、撮影条件を、最も多くデータが生成される条件よりも投光パワーが強い条件にしている。投光パワーを調整しているので、露光時間を調整する場合よりも、物体を認識するまでの時間を短くできる。
【0059】
物体認識システム100は、計測ユニット110と、この計測ユニット110とは別体のコンピュータ120を備えており、計測ユニット110とコンピュータ120は通信ケーブル130で接続されている。計測ユニット110とコンピュータ120が通信ケーブル130で接続されている場合、計測ユニット110とコンピュータ120がアドレスバス接続されている場合よりも、計測ユニット110からコンピュータ120へのデータ転送速度が遅い。しかし、物体認識システム100は、三次元データのデータ点数が減少している。よって、計測ユニット110からコンピュータ120へのデータ転送速度が遅くても、データ転送時間の増加を抑制できる。そして、計測ユニット110とコンピュータ120を別体で構成すると、これらを別々に調達すればよいので、計測ユニット110を低コストにすることができる。
【0060】
第1実施形態で説明した物体認識方法は、撮影条件を調整する手順(
図4)を含んでいる。この手順では、撮影候補条件を変更しつつ認識物体を撮影する(S4)。そして、三次元データのデータ点数を算出し(S5)、このデータ点数がモデルエッジデータに近似したとき(S6:YES)の撮影候補条件を撮影条件とする(S8)。このようにして撮影条件を調整することで、認識部126は、エッジ抽出処理をすることなく、計測ユニット110から転送された三次元データをそのままモデルエッジデータと比較することができる。
【0061】
<第2実施形態>
次に、第2実施形態を説明する。この第2実施形態以下の説明において、それまでに使用した符号と同一番号の符号を有する要素は、特に言及する場合を除き、それ以前の実施形態における同一符号の要素と同一である。また、構成の一部のみを説明している場合、構成の他の部分については先に説明した実施形態を適用できる。
【0062】
図8に第2実施形態の物体認識システム200を示す。物体認識システム200も、物体認識システム100と同様、計測ユニット110とコンピュータ120が通信ケーブル130で接続されている。コンピュータ120は、第1実施形態と同様、記憶部121、表示部122、操作部123、プロセッサ124を備える。
【0063】
しかし、記憶部121に記憶されているモデルエッジデータの種類数が第1実施形態と相違する。また、プロセッサ124がプログラムを実行することで作動する認識部226の作動が、第1実施形態の認識部126と相違する。
【0064】
第2実施形態では、記憶部121に、複数種類のモデルエッジデータがデータベースとして記憶されている。
図9は、このデータベースを説明する図である。
図9に示すように、データベースは、モデルエッジデータと、変更する撮影条件である投光パワーと、モデルエッジデータのデータ点数とが1組として対応付けられているものである。
【0065】
各組のデータは、第1実施形態において
図4を用いて説明した撮影条件を調整する手順を実行して決定する。
図9に示す部品20Aモデルは、
図3に示したモデルであるとする。部品20Bモデルは、
図10に示すモデルであるとする。
【0066】
説明を
図8に戻す。認識部226は、モデルエッジデータ判断部227、撮影条件指示部228、照合部229を備えている。
【0067】
複数の部品20を順次、照合する場合、計測ユニット110からコンピュータ120へ、部品20の三次元データが順次、転送されてくる。モデルエッジデータ判断部227は、記憶部121に記憶されている複数のモデルエッジデータから選択されている1つのモデルエッジデータが正しいかどうかを判断する。この判断には、計測ユニット110から順次取得する三次元データから決定できるデータ点数を使う。
【0068】
たとえば、モデルエッジデータ判断部227は、計測ユニット110から順次取得する三次元データのデータ点数と、選択中のモデルエッジデータのデータ点数を比較する。比較には、データ点数の差あるいは比を使うことができる。データ点数の差あるいは比が、これらについて事前に設定した閾値以下であれば、選択中のモデルエッジデータは正しいと判断する。データ点数の差あるいは比が閾値を超えていれば、選択中のモデルエッジデータは正しくないと判断する。
【0069】
選択中のモデルエッジデータが正しくないと判断することになる例としては、ロボット10がピッキングすべき部品20は、ベルトコンベアを流れており、ベルトコンベアを流れている部品20が他の部品に切り替わった場合が考えられる。
【0070】
モデルエッジデータ判断部227が、データ点数を使って上記判断を行う他の手法は、順次取得する三次元データのデータ点数の時系列変化を使う手法である。データ点数が、前回のデータ点数あるいは過去複数回分のデータ点数の平均に対して閾値以上変化した場合には、選択中のモデルエッジデータが正しくないと判断する。部品20が他の部品に切り替わると、データ点数は、前回のデータ点数あるいは過去複数回分のデータ点数の平均に対して閾値以上変化する可能性が高いからである。
【0071】
撮影条件指示部228は、モデルエッジデータ判断部227が、選択中のモデルエッジデータが正しくないと判断した場合には、照合に使うモデルエッジデータを変更する。変更後のモデルエッジデータは、たとえば、変更前のモデルエッジデータの次にデータベースに格納されているモデルエッジデータとすることができる。
【0072】
ただし、本実施形態では、変更後のモデルエッジデータの候補が複数ある場合には、モデルエッジデータの二次元形状を使い、変更後のモデルエッジデータを決定する。変更後のモデルエッジデータの候補とは、データベースに含まれているモデルエッジデータのうち、選択中のモデルエッジデータを除くモデルエッジデータを意味する。
【0073】
具体的には、撮影条件指示部228は、計測ユニット110から取得した三次元データから二次元形状を決定する。また、撮影条件指示部228は、変更後のモデルエッジデータの候補からも二次元形状を決定する。なお、モデルエッジデータから決定する二次元形状は、事前に決定しておいてもよい。そして、撮影条件指示部228は、モデルエッジデータから決定した二次元形状が、計測ユニット110から取得した三次元データから決定した二次元形状に近いモデルエッジデータを、変更後のモデルエッジデータとする。変更後のモデルエッジデータは、照合に使うモデルエッジデータになる。
【0074】
2つの二次元形状が近いかどうかを決定する手法は、二次元形状のマッチングに用いる種々の手法において算出される類似度を採用できる。この類似度が所定値以上であれば、2つの二次元形状は近いと判断する。なお、類似度が所定値以上であるかどうかによらず、類似度が最も高くなったモデルエッジデータの候補を変更後のモデルエッジデータとしてもよい。
【0075】
撮影条件指示部228は、変更後のモデルエッジデータに対応付けられている投光パワーすなわち撮影条件を、計測ユニット制御部125を介して計測ユニット110へ指示する。
【0076】
照合部229は、撮影条件指示部228が撮影条件を計測ユニット110に指示した後に、すなわち、計測ユニット110の撮影条件が変更された後に、計測ユニット110から取得した三次元データを変更後のモデルエッジデータと照合する。
【0077】
〔認識処理〕
図11に第2実施形態において実行する認識処理の流れを示す。
図11において、ステップS21、S22、S23は計測ユニット110が実行する。S21、S22、S23は、それぞれ、
図7のS11、S12、S13と同じである。
【0078】
ステップS24以下は、コンピュータ120が実行する。ステップS24では、モデルエッジデータ判断部227が、選択中のモデルエッジデータが正しいか否かを判断する。前述したように、この判断には、計測ユニット110から取得した三次元データのデータ点数を用いる。たとえば、計測ユニット110から取得した三次元データのデータ点数と、選択中のモデルエッジデータのデータ点数とを比較して、選択中のモデルエッジデータが正しいか否かを判断する。
【0079】
ステップS24の判断結果がYES、すなわち、選択中のモデルエッジデータが正しいと判断した場合には、ステップS25に進む。ステップS25、S26はそれぞれ
図7のS14、S15と同じである。ステップS25では、照合部229が、三次元データと、選択中のモデルエッジデータとを照合する。ステップS26では、照合部229が、ステップS25での照合結果を出力する。
【0080】
ステップS24の判断結果がNO、すなわち、選択中のモデルエッジデータが正しくないと判断した場合には、ステップS27に進む。ここで、部品20Aのモデルエッジデータが選択されている状態で、部品20Bを撮影することを想定する。
図9に示すように、部品20Bに対して設定されている投光パワーは、部品20Aに対して設定されている投光パワーよりも強い。したがって、部品20Aに対して設定されている投光パワーで部品20Bを撮影すると、意図するほどには輝度飽和が生じない。その結果、部品20Aに対して設定されている投光パワーで部品20Bを撮影して三次元データを生成すると、部品20Bに対して設定されている投光パワーで部品20Bを撮影した場合に比較してデータ点数が増える。
【0081】
図12には、部品20Aに対して設定されている投光パワーで部品20Bを撮影して生成した三次元データを例示している。
図12に示す三次元データの画像を
図10に示すモデルエッジデータの画像と比較すると、
図12に示す三次元データの画像の方が平面部分が多く表現されており、データ点数が多いことが分かる。
【0082】
ステップS27および次のステップS28は撮影条件指示部228が実行する。ステップS27では、変更後の撮影条件を選択する撮影条件選択処理を実行する。撮影条件選択処理の詳細は
図13に示す。
【0083】
図13において、ステップS271では、複数の候補があるか否かを判断する。たとえば、データベースに2組のデータしかない場合には、ステップS271の判断結果がYESになる。ステップS271の判断結果がNO、すなわち、撮影条件の候補が1つしかない場合にはステップS272へ進む。
【0084】
ステップS272では、1つに絞られている撮影条件を、変更後の撮影条件に決定する。また、照合に使うモデルエッジデータも、その撮影条件に対応するモデルエッジデータに変更する。
【0085】
ステップS271の判断結果がYESであればステップS273へ進む。ステップS273では、二次元形状をもとにして、撮影条件の絞り込みが可能か否かを判断する。このステップS273では、具体的には、計測ユニット110から取得した三次元データから二次元形状を決定する。また、変更後のモデルエッジデータの候補からも二次元形状を決定する。そして、二次元形状の類似度が所定値以上となるモデルエッジデータの候補があれば、ステップS273の判断結果をYESとする。ステップS273の判断結果がYESであればステップS274へ進む。
【0086】
ステップS274では、二次元形状の類似度が所定値以上となるモデルエッジデータの候補が複数あるか否かを判断する。ステップS274の判断結果がNO、すなわち、候補が1つのみであればステップS272へ進み、1つに絞られているモデルエッジデータを照合に使うモデルエッジデータとし、かつ、そのモデルエッジデータに対応する撮影条件を変更後の撮影条件に決定する。
【0087】
ステップS274の判断結果がYESである場合にはステップS275へ進む。ステップS275では、複数の候補から1つの候補に絞り込む。1つの候補に絞り込む手法は、たとえば、類似度が最も高いものとする手法である。あるいは、複数の候補のうち、データベースでの番号が最も小さい、あるいは最も大きいものを絞り込み後の候補としてもよい。ステップS275を実行後はステップS272へ進み、1つに絞られているモデルエッジデータを照合に使うモデルエッジデータとするとともに、そのモデルエッジデータに対応する撮影条件を変更後の撮影条件に決定する。
【0088】
ステップS273の判断結果がNOであればステップS276に進む。モデルエッジデータの候補が正しくても、姿勢の違いにより二次元形状が近いと判断されない、すなわち、ステップS273の判断結果がNOになることもある。ステップS276では、データベースにおいて、選択中のモデルエッジデータの次の番号のモデルエッジデータを選択する。その後、ステップS272へ進み、新たに選択したモデルエッジデータを照合に使うモデルエッジデータとするとともに、そのモデルエッジデータに対応する撮影条件を変更後の撮影条件に決定する。
【0089】
図13の処理が終了した場合、
図11のステップS28に進む。ステップS28では、撮影条件指示部228は、ステップS27で選択した撮影条件を、計測ユニット制御部125を介して計測ユニット110に指示する。これにより、計測ユニット110は、変更後の撮影条件で部品20を撮影し、撮影した画像データから三次元データを生成する。
図14に、撮影条件を変更した後に得た三次元データを示す。
図14に示す三次元データは、
図10に示すモデルエッジデータに近似した三次元データになっている。したがって、この後のステップS24の判断結果はYESになり、ステップS25にて、正しく部品20を認識できる。
【0090】
〔第2実施形態のまとめ〕
この第2実施形態の物体認識システム200では、記憶部121に、モデルエッジデータと撮影条件とが対応付けられたデータを複数組備えるデータベースが記憶されている。モデルエッジデータ判断部227が、選択中のモデルエッジデータが正しくないと判断した場合、撮影条件指示部228は、照合に使うモデルエッジデータを変更し、かつ、変更後のモデルエッジデータに対応付けられた撮影条件を計測ユニット110に指示する。よって、撮影物体が切り替わった場合にも、自動的に、切り替わった後の撮影物体に適した撮影条件に変更して、物体を認識するまでの時間を短くしつつ、精度のよい物体認識を継続できる。
【0091】
また、撮影条件指示部228は、モデルエッジデータ判断部227が、選択中のモデルエッジデータが正しくないと判断した場合、二次元形状が、三次元データから決定した二次元形状に近いモデルエッジデータを、照合に使うモデルエッジデータとする。二次元形状を扱う処理は、三次元データを扱う処理に比べ迅速に行うことができる。したがって、このようにすることで、単に順番に変更後のモデルエッジデータを決定する場合に比較して、適切なモデルエッジデータに速やかに切り替えることができる場合が多くなる。
【0092】
以上、実施形態を説明したが、開示した技術は上述の実施形態に限定されるものではなく、次の変形例も開示した範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施できる。
【0093】
<変形例1>
実施形態では、撮影条件のうち投光パワーを調整することで、計測ユニット110が生成する三次元データのデータ点数を減少させていた。しかし、調整する撮影条件は、露光時間であってもよい。あるいは、投光パワーと露光時間を調整してもよい。露光時間を長くすることによっても、意図的に輝度飽和を生じさせることができる。露光時間を長くして輝度飽和を生じさせる場合、投光パワーのみを調整する場合よりも、投光パワーを弱くすることができる。したがって、投光が強すぎて、周囲に存在する人に不快感を与えてしまうことを抑制できるなど、投光が強すぎることにより生じる問題を低減できる。
【0094】
<変形例2>
実施形態では、認識部126、226は、計測ユニット110から転送された三次元データに対してエッジ抽出処理をせず、そのまま、その三次元データをモデルエッジデータと比較していた。
【0095】
しかし、認識部126、226は、計測ユニット110から取得した三次元データに対してエッジ抽出処理を実行してエッジ抽出データを取得してもよい。エッジ抽出データを取得した場合は、そのエッジ抽出データをモデルエッジデータと照合して、撮影物体が認識物体であるかを判断する。
【0096】
エッジ抽出処理をする場合には、その処理に要する時間だけ、実施形態で説明した認識処理よりも、物体認識に時間がかかる。しかし、計測ユニット110から転送される三次元データのデータ点数は、最も多くデータが生成される場合と比較すれば、減少している。したがって、最も多くデータが生成される場合と比較すれば、転送時間を短くできる。また、エッジ抽出処理も、データ点数が減少している分、処理時間が短くなる。したがって、最も多くデータが生成される場合と比較すれば、物体を認識するまでの時間を短くできる。
【0097】
加えて、エッジ抽出処理をする場合には、
図4に示す手順により撮影条件を調整する際に、認識物体を撮影して生成される三次元データのデータ点数がモデルエッジデータに近似するようになるまで、撮影条件を調整する必要がない利点がある。
【0098】
したがって、撮影条件は、エッジ以外のデータ点数が、輝度飽和により100%近く減少する条件である必要はない。撮影条件は、最も多くデータが生成される条件と比較して、エッジ以外のデータ点数が、輝度飽和により50%以上減少する条件であればよい。もちろん、50%以上よりも、60%以上、70%以上、80%以上など、より多くエッジ以外のデータ点数が減少する撮影条件が好ましい。
【0099】
<変形例3>
計測ユニット110は、位相シフト法により物体の三次元形状を計測していた。しかし、物体の三次元形状を計測する手法は位相シフト法に限られない。たとえば、TOF方式で物体の三次元形状を計測してもよい。
【0100】
<変形例4>
計測ユニット110とコンピュータ120が一体型になっており、計測ユニット110とコンピュータ120がアドレスバス接続されていてもよい。
【0101】
<変形例5>
実施形態では、部品20が認識物体であるか否かを判断していた。部品20が認識物体であっても、傷や損傷があれば、計測ユニット110が転送する三次元データとモデルエッジデータとの一致度は低下する。したがって、物体認識システム100、200および実施形態に開示した物体認識方法は、物体の外観検査にも適用できる。
【符号の説明】
【0102】
10:ロボット 11:ベース 15:ロボットアーム 16:ロボットハンド 20:部品(撮影物体) 30:作業台 100:物体認識システム 110:計測ユニット(撮影装置) 111:プロジェクタ 112:カメラ 113:処理回路 120:コンピュータ 121:記憶部 122:表示部 123:操作部 124:プロセッサ 125:計測ユニット制御部 126:認識部 130:通信ケーブル 200:物体認識システム 226:認識部 227:モデルエッジデータ判断部 228:撮影条件指示部 229:照合部