(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024168758
(43)【公開日】2024-12-05
(54)【発明の名称】対象物認識装置、対象物認識方法及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20241128BHJP
【FI】
G06T7/00 C
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023085684
(22)【出願日】2023-05-24
(71)【出願人】
【識別番号】000191009
【氏名又は名称】新東工業株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】伴 兼弘
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096EA35
5L096FA60
5L096FA64
5L096FA66
5L096FA67
5L096FA69
5L096MA07
(57)【要約】
【課題】対象物の認識に要する演算時間を短縮する。
【解決手段】対象物認識装置(1)は、撮像部(20)と、1又は複数のプロセッサと、を備えている。1又は複数のプロセッサは、被写体の三次元点群を取得し、取得した三次元点群に基づいて、対象物(W)が配置されている床面(31)を推定する。1又は複数のプロセッサは、底面が床面(31)に平行な柱形の領域を、対象物(W)の検出を行う検出領域(41)として設定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
対象物を認識する対象物認識装置であって、
撮像範囲内の被写体を撮像する撮像部と、
1又は複数のプロセッサと、を備え、
前記1又は複数のプロセッサは、
前記撮像部を制御して、前記被写体の三次元点群を取得する点群取得処理と、
前記三次元点群に基づいて、前記対象物が配置されている床面を推定する床面推定処理と、
底面が前記床面に平行な柱形の領域を、前記対象物の検出を行う検出領域として設定する検出領域設定処理と、を実行する対象物認識装置。
【請求項2】
前記検出領域は、前記柱形の中心が原点に位置し、前記底面に平行であり、かつ、互いに直交するX1軸及びY1軸と、前記底面に直交するZ1軸を有する第1座標系に配置されており、
前記検出領域設定処理は、前記第1座標系に配置された前記検出領域を、前記床面推定処理により推定された前記床面に平行であり、かつ、互いに直交するX2軸及びY2軸と、前記床面に直交するZ2軸を有する第2座標系に設定する処理であり、
前記1又は複数のプロセッサは、検出領域設定処理において、
前記X1軸及び前記Y1軸が前記X2軸及び前記Y2軸にそれぞれ平行となるように、前記Z1軸を中心に前記検出領域を回転角θだけ回転させる座標変換に用いられる変換行列R
θと、
前記Z1軸に平行であり前記原点を基点とする単位ベクトルが、前記床面の単位法線ベクトル(a,b,c)
Tと一致するように、前記検出領域を回転させる座標変換に用いられる変換行列R
nと、
前記柱形の前記底面と、前記床面との間に隙間を設けるために、前記検出領域を平行移動させる並進ベクトルUと、
を用いた下式(1)により、前記点pを、前記検出領域の第2座標系の点qに座標変換し、
q=R
nR
θp+U…(1)
前記変換行列R
θが下式(2)で表され、
【数1】
…(2)
前記変換行列R
nが下式(3)で表される、請求項1に記載の対象物認識装置。
【数2】
…(3)
【請求項3】
前記並進ベクトルUは、
前記検出領域の移動距離を定めるベクトル(tX,tY,tZ)Tと、
前記第2座標系の原点を基点とする、X2軸、Y2軸及びZ2軸に平行な単位ベクトルnX2,nY2及びnZ2と、
前記第2座標系における、前記床面推定処理により推定された前記床面の重心の座標C0と、
前記検出領域のZ1軸方向の高さrとに基づいて、下式(4)で表される、請求項2に記載の対象物認識装置。
U=C0+tXnX2+tYnY2+(tZ+r/2)nZ2…(4)
【請求項4】
前記1又は複数のプロセッサは、
前記点群取得処理により取得された前記三次元点群のうち、前記検出領域設定処理により設定された前記検出領域内の点群を、前記検出領域の前記底面に投影し、前記検出領域の前記底面に投影された点群に対してクラスタリングを行い、投影前及び投影後の点群に基づいて、前記検出領域内に位置する前記対象物の位置及び姿勢を検出する物体検出処理を更に実行する、請求項1に記載の対象物認識装置。
【請求項5】
前記1又は複数のプロセッサは、
前記物体検出処理において、前記検出領域の前記底面に投影された点群について固有ベクトルを算出し、前記固有ベクトルに基づいて前記対象物の姿勢を検出し、
前記物体検出処理により検出された前記対象物の位置及び姿勢に基づいて、前記検出領域内に位置する前記対象物の各々の点群を包含し前記床面に平行な物体領域を決定する枠決定処理を更に実行する、請求項4に記載の対象物認識装置。
【請求項6】
前記1又は複数のプロセッサは、
前記点群取得処理において、前記被写体を撮像した撮像画像と、前記撮像部から前記被写体までの距離を画像化した距離画像とを、前記撮像部から取得し、前記撮像画像及び前記距離画像に基づいて、前記被写体の三次元点群を取得する、請求項1に記載の対象物認識装置。
【請求項7】
請求項1に記載の対象物認識装置を用いて、対象物を認識する対象物認識方法であって、
前記1又は複数のプロセッサが、前記撮像部を制御して、前記被写体の三次元点群を取得する点群取得工程と、
前記1又は複数のプロセッサが、前記三次元点群に基づいて、前記対象物が配置されている床面を推定する床面推定工程と、
前記1又は複数のプロセッサが、底面が前記床面に平行な柱形の領域を、前記対象物の検出を行う検出領域として設定する検出領域設定工程と、を含む、対象物認識方法。
【請求項8】
請求項1に記載の対象物認識装置としてコンピュータを機能させるためのプログラムであって、前記コンピュータに、前記点群取得処理と、前記床面推定処理と、前記検出領域設定処理とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、対象物認識装置、対象物認識方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、撮像部により取得した画像から対象物体を検出する情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
撮像部から取得した画像から三次元点群情報を取得し、その三次元点群情報の中から対象物を認識する対象物認識装置において、リアルタイム性を高めるため、対象物の認識に要する演算時間を短縮することが求められている。
【0005】
本開示の一態様は、対象物の認識に要する演算時間の短縮を目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本開示の一態様に係る対象物認識装置は、対象物を認識する。対象物認識装置は、撮像範囲内の被写体を撮像する撮像部と、1又は複数のプロセッサと、を備えている。1又は複数のプロセッサは、点群取得処理と、床面推定処理と、検出領域設定処理とを実行する。点群取得処理において、1又は複数のプロセッサは、撮像部を制御して、被写体の三次元点群を取得する。床面推定処理において、1又は複数のプロセッサは、三次元点群に基づいて、対象物が配置されている床面を推定する。検出領域設定処理において、1又は複数のプロセッサは、底面が床面に平行な柱形の領域を、対象物の検出を行う検出領域として設定する。
【0007】
本開示の各態様に係る対象物認識装置は、コンピュータによって実現してもよい。この場合には、コンピュータを前記対象物認識装置が備える各部(ソフトウェア要素)として動作させることにより前記対象物認識装置をコンピュータにて実現させる対象物認識装置のプログラム、及びそれを記録したコンピュータ読み取り可能な記録媒体も、本開示の範疇に入る。
【発明の効果】
【0008】
本開示の一態様によれば、対象物の認識に要する演算時間を短縮することができる。
【図面の簡単な説明】
【0009】
【
図1】本開示の一実施形態に係る対象物認識装置の構成を示す模式図である。
【
図2】本開示の一実施形態に係る対象物認識装置の構成を示すブロック図である。
【
図3】本開示の一実施形態に係る対象物認識装置による対象物認識方法の流れを示すフローチャートである。
【
図4】
図3に示す対象物認識方法のうち、点群取得処理の対象となる立体形状の一例を示す図である。
【
図5】
図3に示す対象物認識方法のうち、検出領域設定処理により設定される検出領域の一例を示す図である。
【
図6】
図3に示す対象物認識方法のうち、検出領域設定処理及び枠決定処理の説明に用いる図である。
【
図7】
図3に示す対象物認識方法のうち、検出領域設定処理及び枠決定処理の説明に用いる図である。
【発明を実施するための形態】
【0010】
図1は、本開示の一実施形態に係る対象物認識装置の構成を示す模式図である。
図1に示すように、対象物認識装置1は、制御装置10と、撮像部20とを備えている。以下、説明の便宜上、
図1の矢印で示されるように、対象物認識装置1の上下方向及び左右方向を定義する。
【0011】
制御装置10は、撮像部20に接続されている。撮像部20は、例えば、ToF(Time of Flight)カメラである。撮像部20は、所定周期で撮像範囲21の内側の被写体を撮像する。また、撮像部20は、その被写体までの距離を測定する。例えば、撮像部20は、赤外光を照射し、その赤外光が被写体に当たって反射して戻ってくるまでの時間を検出することにより、被写体までの距離を測定する。
【0012】
制御装置10は、撮像部20を制御して、撮像範囲21の内側の被写体について、撮像画像及び距離画像を取得する。距離画像とは、撮像部20から被写体までの距離を画像化したものであって、例えば、撮像部20から被写体までの距離を色に変換したものである。
【0013】
図1では、撮像部20の撮像範囲21には、ベルトコンベア30のベルト31と、そのベルト31に載せられて搬送されているワークWが含まれている。ベルトコンベア30は、例えば、ベルト31を紙面垂直方向に移動させることにより、ワークWを紙面垂直方向に搬送する。ワークWは、対象物の一例であって、ロボットアーム(不図示)によるピッキングの対象である。ベルト31は、床面の一例である。
図1では、ベルト31は、平坦な平面で表されているが、傾斜を有していてもよい。また、ベルト31は、撮像部20による距離の測定誤差以下の凹凸を有していてもよい。
【0014】
制御装置10は、後に詳述する方法により、撮像部20の撮像範囲21の内側に検出領域41を設定する。検出領域41は、対象物を検出するための領域であって、撮像部20から取得された撮像画像及び距離画像に基づいて設定される。
図1では、検出領域41は、撮像部20の撮像範囲21と比べて小さい。制御装置10は、検出領域41の中から、ベルトコンベア30のベルト31に載せられたワークWの位置及び姿勢を検出する。制御装置10は、ワークWの位置及び姿勢に基づいて、ワークWの物体領域42を設定する。物体領域42は、認識した対象物の位置および姿勢を示す領域である。検出領域41および物体領域42については、後に詳述する。ワークWの位置及び姿勢を検出する範囲が検出領域41の内側に限定されることにより、ワークWの認識に要する演算時間が短縮される。なお、技術的には、検出領域41は、撮像部20の撮像範囲21を内包するように設定することができる。
【0015】
図2は、本開示の一実施形態に係る対象物認識装置の構成を示すブロック図である。
図2に示すように、制御装置10は、プロセッサ11と、一次メモリ12と、二次メモリ13と、入出力インタフェース14とを有している。
【0016】
プロセッサ11は、例えば、CPU(Central Processing Unit)で構成される。プロセッサ11は、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせで構成してもよい。
【0017】
一次メモリ12は、例えば、半導体RAM(Random Access Memory)で構成される。二次メモリ13は、記憶部の一例であり、プログラムP1が記憶されている。二次メモリ13は、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、ODD(Optical Disk Drive)、又は、これらの組み合わせで構成される。
【0018】
プロセッサ11は、二次メモリ13に格納されているプログラムP1を一次メモリ12上に展開する。そして、プロセッサ11は、一次メモリ12上に展開されたプログラムP1に含まれる命令に従って、対象物認識装置1の各部を制御する。
【0019】
なお、本実施形態においては、単一のプロセッサ(プロセッサ11)を用いて対象物認識装置1の各部を制御する構成を採用しているが、本開示は、これに限定されない。すなわち、複数のプロセッサを用いて対象物認識装置1の各部を制御する構成を採用してもよい。この場合、連携して対象物認識装置1の各部を制御する複数のプロセッサは、単一のコンピュータに設けられ、相互に通信可能に構成されていてもよいし、複数のコンピュータに分散して設けられ、ネットワークを介して相互に通信可能に構成されていてもよい。一例として、クラウドサーバを構成するコンピュータに内蔵されたプロセッサと、そのクラウドサーバの利用者が所有するコンピュータに内蔵されたプロセッサとが、連携してプログラムP1を実行する態様などが考えられる。
【0020】
入出力インタフェース14には、撮像部20が接続される。入出力インタフェース14としては、USB、A/Dコンバータ、EtherCat(Ethernet for Control Automation Technology)などのインタフェースが挙げられる。
【0021】
図3は、本開示の一実施形態に係る対象物認識装置による対象物認識方法の流れを示すフローチャートである。S100において、制御装置10のプロセッサ11は、点群取得処理を実行する。プロセッサ11は、撮像部20から撮像画像及び距離画像を取得する。プロセッサ11は、取得した撮像画像及び距離画像に基づいて、三次元点群を取得する。三次元点群は、撮像部20の被写体の立体形状を示すデータである。撮像画像及び距離画像に基づいて三次元点群を取得する方法については、任意の公知技術を使用することができる。
【0022】
図4は、点群取得処理の対象となる立体形状の一例を示す図である。
図4には、
図1に示した、ベルトコンベア30のベルト31と、そのベルト31に載せられているワークWの立体形状が示されている。
図1に示した撮像部20から照射された赤外光は、例えば、ベルト31、並びにワークWの上面51及び側面52に反射される。三次元点群には、例えば、
図4に示すベルト31、並びにワークWの上面51及び側面52上の点群について、
図1に示す撮像部20からの距離に関するデータが含まれる。
【0023】
S101において、プロセッサ11は、対象物の検出を行う検出領域41が既に設定されているか否かを判定する。S100において三次元点群が初めて取得されたタイミングでは、検出領域41は未だ設定されていないため(S101:NO)、プロセッサ11は、S102の処理に進む。
【0024】
S102において、プロセッサ11は、S100において取得された三次元点群の中から、対象物が配置されている床面を推定する床面推定処理を実行する。例えば、プロセッサ11は、S100において取得された三次元点群に対して、RANSAC(Random Sample Consensus)を用いた平面推定により床面を推定する。
【0025】
続くS103において、プロセッサ11は、S102にて推定された床面に対して、対象物を検出する検出領域41を設定する検出領域設定処理を実行する。検出領域設定処理によって設定される検出領域41は、柱形の領域であって、その底面がS102において推定された床面に平行である。
【0026】
図5は、検出領域設定処理により設定される検出領域の一例を示す図である。
図5に示す検出領域41は、X1Y1Z1座標系に配置されている。X1Y1Z1座標系は、第1座標系の一例であって、仮想的な三次元領域である。検出領域41は、その中心がX1Y1Z1座標系の原点O1に位置している。X1軸及びY1軸は、検出領域41の底面41Aに平行であり、かつ、互いに直交する。Z1軸は、検出領域41の底面41Aに直交する。検出領域41のZ1軸方向の長さrは、
図1に示す撮像部20と、S102において推定された床面との間の距離よりも短い。
【0027】
S103において、プロセッサ11は、X1Y1Z1座標系の検出領域41を、X2Y2Z2座標系に座標変換する。X2Y2Z2座標系は、第2座標系の一例である。X2Y2Z2座標系のZ2軸は、S102において推定された床面の法線ベクトルに平行である。X2Y2Z2座標系のX2軸及びY2軸は、S102において推定された床面に平行である。以下、S102にて推定された床面の法線ベクトルの単位ベクトルを、単位法線ベクトルnと記載する。n=(a,b,c)Tであり、ここでTは転置であることを意味する。
【0028】
S103における座標変換処理に用いられる数式の一例を、式(1)に示す。
q=R
nR
θp+U …(1)
式(1)において、pは座標変換前のX1Y1Z1座標系の座標であって、検出領域41の内部に位置する。qは座標変換後のX2Y2Z2座標系の座標である。
R
nは、Z1軸に平行であり、X1Y1Z1座標系の原点O1を基点とする単位ベクトルe
Z1が、単位法線ベクトルnと一致するように、検出領域41を回転させる座標変換に用いられる変換行列である。
R
θは、Z1軸を中心に回転角θだけ検出領域41を回転させる座標変換に用いられる変換行列である。R
n及びR
θの一例を、式(2)及び(3)に示す。
【数1】
…(2)
【数2】
…(3)
Uは、並進ベクトルであって、式(4)で表される。
U=C
0+t
Xn
X2+t
Yn
Y2+(t
Z+r/2)n
Z2 …(4)
ここで、C
0は、X2Y2Z2座標系における、S102において推定された床面の重心C2の座標である。
t
X,t
Y及びt
Zは、検出領域41の移動距離を定めるベクトル(t
X,t
Y,t
Z)
TのそれぞれX2軸成分、Y2軸成分、Z2軸成分である。
n
X2,n
Y2及びn
Z2は、それぞれX2Y2Z2座標系の原点O2を基点とする、X2軸、Y2軸及びZ2軸に平行な単位ベクトルである。
rは、
図5に示した、検出領域41のZ1軸方向の高さである。
【0029】
tZは、0より大きい値に設定される。すなわち、検出領域41と、S102において推定された床面との間には、隙間が設けられる。この隙間は、S102において推定された床面と、床面以外のものとを識別するために設けられており、撮像部20による距離の測定誤差が大きくなる程、大きい値に設定される。
【0030】
S103における座標変換後の検出領域41の一例を
図6に示す。
図6に示す検出領域41は、S102において床面と推定されたベルト31に対して、Z2軸方向に離れている。
図6に示す検出領域41の内側には、ベルト31に載せられたワークWの上面51と、側面52の上部が含まれている。
【0031】
図3のS104において、プロセッサ11は、物体検出処理を実行する。プロセッサ11は、S100において取得された三次元点群のうち、S103において設定された検出領域41の内側に位置する点群に基づいて、対象物の位置と姿勢を検出する。例えば、プロセッサ11は、
図6に示すように、ワークWの点群のうち、検出領域41の内側に位置するワークWの上面51と、側面52の上部とを、検出領域41の底面41Aに投影することで、検出領域41の内側の三次元点群を二次元の投影点群に変換する。
【0032】
図7は、二次元の投影点群の一例を示す図である。
図7に示す二次元の投影点群には、ワークWの上面51に位置する点群を検出領域41の底面41Aに投影した投影点群61と、検出領域41の内側に位置する側面52の上部に位置する点群を検出領域41の底面41Aに投影した投影点群62とが含まれている。プロセッサ11は、投影点群に対してクラスタリングを行い、更にワークWの位置及び姿勢を検出する。ワークWの位置とは、例えば、二次元の投影点群61及び62の重心の位置である。クラスタリングとは、データ間の類似度に基づいて、データをグループ分けする手法である。例えば、点群間のユークリッド距離に基づいて、基準として定めた距離より近い点群同士を同じグループとみなして、グループ分けを行う。ワークWの姿勢には、例えば、ベルト31の上に配置されたワークWの向きが含まれる。プロセッサ11は、二次元の投影点群に対する主成分分析により、ワークWの姿勢を検出する。例えば、プロセッサ11は、二次元の投影点群の分散共分散行列を算出し、その分散共分散行列に対して固有ベクトル72および73を算出するし、固有ベクトル72および73に基づいてワークWの姿勢を検出する。
【0033】
図3のS105において、プロセッサ11は、S104において検出された対象物の位置及び姿勢に基づいて、物体領域42を決定する枠決定処理を実行する。例えば、プロセッサ11は、検出領域41に対して、ワークWの上面51の三次元点群と、側面52の上部の三次元点群とを内包する四角柱の枠を検出し、物体領域42として決定する。物体領域42の底面は、例えば、
図7に示した二次元の投影点群61及び62を内包する、ワークWの姿勢に対応した向きの長方形71を、検出領域41の底面に投影することで決定することができる。長方形71の2辺の向きは、例えば、固有ベクトル72および73の向きに基づいて決定することができる。物体領域42の高さは、ワークWの上面51の三次元点群、及び側面52の上部の三次元点群の内、Z2軸座標が最も高い点に基づいて決定することができる。
【0034】
S106において、プロセッサ11は、
図3に示す処理を継続するか否かを判定する。プロセッサ11は、例えば、ベルトコンベア30によるワークWの搬送が行われている間、
図3に示す処理を継続すると判定し(S106:YES)、S100の処理に進む。プロセッサ11は、ベルトコンベア30により搬送されてきた次のワークWについて三次元点群を取得する(S100)。プロセッサ11は、既に検出領域41が設定されているため(S101:YES)、S102及びS103の処理を飛ばしてS104の処理に進む。一方、S106において、プロセッサ11は、ベルトコンベア30によるワークWの搬送を終了すると、
図3に示す処理を継続しないと判定し(S106:NO)、
図3の処理を終了する。
【0035】
〔変形例〕
上記実施形態では、S104の物体検出処理について、プロセッサ11が、三次元点群に含まれるワークWの位置及び姿勢を検出する場合の説明を行った。しかし、プロセッサ11が投影点群に対して、クラスタリングを行ったときに、位置及び姿勢を検出する対象物の数は1個だけに限定されない。プロセッサ11は、複数の対象物の位置及び姿勢を検出することにしてもよい。プロセッサ11は、S104の物体検出処理において、複数の対象物の位置及び姿勢を検出した場合、S105の枠決定処理において、複数の物体領域42を決定することにしてもよい。
【0036】
上記実施形態では、検出領域41及び物体領域42の形状を四角柱としたが、四角柱だけに限定しない。検出領域41及び物体領域42の形状は、例えば、四角柱以外の多角柱、円柱等の柱形であってもよい。
【0037】
上記実施形態では、撮像部20は、ToFカメラであるものとしたが、これに限定しない。例えば、撮像部20は、位相差検出式の自動焦点検出機能を有するプロジェクタ方式のカメラであってもよい。
【0038】
〔条項〕
(条項1)対象物を認識する対象物認識装置であって、撮像範囲内の被写体を撮像する撮像部と、1又は複数のプロセッサと、を備え、前記1又は複数のプロセッサは、前記撮像部を制御して、前記被写体の三次元点群を取得する点群取得処理と、前記三次元点群に基づいて、前記対象物が配置されている床面を推定する床面推定処理と、底面が前記床面に平行な柱形の領域を、前記対象物の検出を行う検出領域として設定する検出領域設定処理と、を実行する対象物認識装置。
【0039】
上記構成によれば、対象物の検出を行う検出領域を、底面が床面に平行な柱形の領域として設定することにより、対象物の検出に用いる三次元点群を限定することができ、対象物の認識の演算時間を短縮することができる。
【0040】
(条項2)前記検出領域は、前記柱形の中心が原点に位置し、前記底面に平行であり、かつ、互いに直交するX1軸及びY1軸と、前記底面に直交するZ1軸を有する第1座標系に配置されており、前記検出領域設定処理は、前記第1座標系に配置された前記検出領域を、前記床面推定処理により推定された前記床面に平行であり、かつ、互いに直交するX2軸及びY2軸と、前記床面に直交するZ2軸を有する第2座標系に設定する処理であり、前記1又は複数のプロセッサは、検出領域設定処理において、前記X1軸及び前記Y1軸が前記X2軸及び前記Y2軸にそれぞれ平行となるように、前記Z1軸を中心に前記検出領域を回転角θだけ回転させる座標変換に用いられる変換行列Rθと、前記Z1軸に平行であり前記原点を基点とする単位ベクトルが、前記床面の単位法線ベクトル(a,b,c)Tと一致するように、前記検出領域を回転させる座標変換に用いられる変換行列Rnと、前記柱形の前記底面と、前記床面との間に隙間を設けるために、前記検出領域を平行移動させる並進ベクトルUと、を用いた上式(1)により、前記点pを、前記検出領域の第2座標系の点qに座標変換し、前記変換行列Rθが上式(2)で表され、前記変換行列Rnが上式(3)で表される、条項1に記載の対象物認識装置。
【0041】
上記構成によれば、上式(1)により対処物の3DCADデータ等の外部情報を用いることなく、検出領域を設定することができる。
【0042】
(条項3)前記並進ベクトルUは、前記検出領域の移動距離を定めるベクトル(tX,tY,tZ)Tと、前記第2座標系の原点を基点とする、X2軸、Y2軸及びZ2軸に平行な単位ベクトルnX2,nY2及びnZ2と、前記第2座標系における、前記床面推定処理により推定された前記床面の重心の座標C0と、前記検出領域のZ1軸方向の高さrとに基づいて、上式(4)で表される、条項2に記載の対象物認識装置。
【0043】
上記構成によれば、対処物の3DCADデータ等の外部情報を用いることなく、検出領域を床面から離れた位置に設定することができる。検出領域が床面から離れた位置に検出されることにより、床面が対象物として認識されることを防ぐことができる。
【0044】
(条項4)前記1又は複数のプロセッサは、前記点群取得処理により取得された前記三次元点群のうち、前記検出領域設定処理により設定された前記検出領域内の点群を、前記検出領域の前記底面に投影し、前記検出領域の前記底面に投影された点群に対してクラスタリングを行い、投影前及び投影後の点群に基づいて、前記検出領域内に位置する前記対象物の位置及び姿勢を検出する物体検出処理を更に実行する、条項1から条項3のいずれか1項に記載の対象物認識装置。
【0045】
上記構成によれば、検出領域内の点群を床面に投影し、三次元点群を、二次元の点群に変換することにより、対象物の位置及び姿勢の検出に要する時間を低減することができる。
【0046】
(条項5)前記1又は複数のプロセッサは、前記物体検出処理において、前記検出領域の前記底面に投影された点群について固有ベクトルを算出し、前記固有ベクトルに基づいて、前記対象物の姿勢を検出し、前記物体検出処理により検出された前記対象物の位置及び姿勢に基づいて、前記検出領域内に位置する前記対象物の各々の点群を包含し前記床面に平行な物体領域を決定する枠決定処理を更に実行する、条項4に記載の対象物認識装置。
【0047】
上記構成によれば、検出領域の底面に投影された点群について固有ベクトルを算出し、その固有ベクトルに基づいて対象物の姿勢を検出することにより、対象物が傾いた床面に配置されていたとしても、適正に物体領域を決定することができる。
【0048】
(条項6)前記1又は複数のプロセッサは、前記点群取得処理において、前記被写体を撮像した撮像画像と、前記撮像部から前記被写体までの距離を画像化した距離画像とを、前記撮像部から取得し、前記撮像画像及び前記距離画像に基づいて、前記被写体の三次元点群を取得する、条項1から5のいずれか1項に記載の対象物認識装置。
【0049】
ベルト31の上に配置されたワークWを撮像したとき、外部環境からの影響によりワークWの表面に影ができることがある。撮像画像のみから三次元点群を取得しようとすると、影となった部分の三次元点群を適切に取得できないおそれがある。また、ワークWの表面に砂等が付着して変色した場合にも、撮像画像のみから三次元点群を取得しようとすると、三次元点群を適切に取得できないおそれがある。上記構成によれば、撮像画像及び距離画像を用いて被写体の三次元点群を取得することにより、外部環境からの影響により撮像画像に影等の異常が発生した場合であっても、適正に三次元点群を取得することができる。
【0050】
(条項7)条項1から6のいずれか1項に記載の対象物認識装置を用いて、対象物を認識する対象物認識方法であって、前記1又は複数のプロセッサが、前記撮像部を制御して、前記被写体の三次元点群を取得する点群取得工程と、前記1又は複数のプロセッサが、前記三次元点群に基づいて、前記対象物が配置されている床面を推定する床面推定工程と、前記1又は複数のプロセッサが、底面が前記床面に平行な柱形の領域を、前記対象物の検出を行う検出領域として設定する検出領域設定工程と、を含む、対象物認識方法。
【0051】
上記構成によれば、対象物の検出を行う検出領域を、底面が床面に平行な柱形の領域に設定することにより、対象物の検出に用いる三次元点群を限定することができ、対象物の認識の演算時間を短縮することができる。
【0052】
(条項8)条項1から6のいずれか1項に記載の対象物認識装置としてコンピュータを機能させるためのプログラムであって、前記コンピュータに、前記点群取得処理と、前記床面推定処理と、前記検出領域設定処理とを実行させるためのプログラム。
【0053】
上記構成によれば、対象物の検出を行う検出領域を、底面が床面に平行な柱形の領域に設定することにより、対象物の検出に用いる三次元点群を限定することができ、対象物の認識の演算時間を短縮することができる。
〔ソフトウェアによる実現例〕
対象物認識装置1(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロック(特に制御装置10に含まれる各部)としてコンピュータを機能させるためのプログラムにより実現することができる。
【0054】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0055】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1又は複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0056】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本開示の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0057】
〔付記事項〕
本開示は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。
【符号の説明】
【0058】
1 対象物認識装置、10 制御装置、11 プロセッサ、12 一次メモリ、13 二次メモリ、20 撮像部、21 撮像範囲、31 ベルト(床面)、41 検出領域、41A 底面、42 物体領域、61、62 投影点群、72、73 固有ベクトル、C2 重心、n 単位法線ベクトル、O1、O2 原点、P1 プログラム、Rn、Rθ 変換行列、U 並進ベクトル、W ワーク(対象物)、θ 回転角