以下に添付図面を参照して、本発明にかかる物体検出方法、物体検出プログラムおよび物体検出装置の実施の形態を詳細に説明する。
(実施の形態)
(物体検出装置の概要)
図1は、実施の形態にかかる物体検出装置を含むピッキング・システムの外観の一例を示す説明図である。図1において、容器(たとえば、番重など)100内には、物体(たとえば、袋詰めされたパン、菓子など)101が載置されている。なお、図1においては、袋(包装紙)は省略している。
また、ピッキング・システムは、測定部(たとえば、距離センサ)110と、ピッキング部材(たとえば、ピッキングハンド)120と、を備えている。
測定部(距離センサ)110の一例であるKinectセンサは、生成する距離画像を利用して、物体の凹凸により位置を特定する。測定部110が測定する距離は、容器100の底面をXY平面としたとき、Z方向(高さ方向)の距離である。この距離に関する情報は、X方向およびY方向のそれぞれに沿った複数点で取得する。
測定部110による距離画像の生成は、ピッキング部材120によって物体がピッキングされるごとにおこなわれ、その都度、その距離画像に基づいて、残された物体の物体枠の中心点を特定する。
ピッキング部材(たとえば、ピッキングハンド)120は、バキューム式のロボットハンドであり、物体101の中心点付近へ移動して、物体を吸着し、吸着した状態で、物体を所定の場所(たとえば、配送用の別の容器の所定の位置)へ搬送し、吸着を解除する。図示は省略するが、ピッキングハンドは物量の多い物体(製品)の配置パターンに合わせて2個同時ピッキングが可能な配置にしてもよい。これにより物量の多い物体の仕分け処理の効率を上げることができる。
その際、吸引力が強すぎると、包装紙がしわになり、物品(商品)の品質が低下するので、それを抑えるために、できるだけ吸引力を下げたい。そのために、より正確な物体の中心点を取得することが重要である。
(物体検出装置の処理の手順)
図2は、実施の形態にかかる物体検出装置の一連の処理の手順の一例を示すフローチャートである。このフローチャートに示した一連の処理により、ピッキング部材120が、物体101をピッキングするために必要な中心点を特定することができる。また、中心点の特定処理までの各処理の具体的な一連の流れの詳細について、図3〜図6を用いて説明する。
図2のフローチャートにおいて、物体検出装置の処理部は、まず、第1の方向を決定する(ステップS201)。第1の方向とは、物体が載置された平面の任意の一方向である。具体的には、たとえば、物体が載置される矩形の容器の縦方向または横方向であるとよい。
第1の方向は、物体の第3の方向(すなわち、平面に対する高さ方向(Z方向))の距離のばらつきに基づいて決定するようにしてもよい。より具体的には、物体が載置された平面におけるそれぞれ直交する2つの方向のうち、当該2つの方向における物体の第3の方向の距離の変化パターン(たとえば、山部)のばらつきが小さい方向を、第1の方向に決定するようにしてもよい。
つぎに、第1の認識ラインによる第1の距離を取得する(ステップS202)。第1の認識ラインとは、平面における第1の方向に直交する第2の方向に所定の間隔で定められた複数の第1の方向に延びる認識ラインである。第2の方向は、第1の方向をX方向とした場合に、X方向に直交するY方向である。第1の距離とは、第1の認識ラインにおける、物体の平面に直交する第3の方向(Z方向)の距離であり、いわゆる物体の高さに相当する。第1の距離の取得は、複数存在する第1の認識ラインごとにそれぞれおこない、それらの距離を集めることで、距離の変化パターンとなる。
つぎに、第2の認識ラインを決定する(ステップS203)。第2の認識ラインは、第2の方向(Y方向)に延びる認識ラインである。より具体的には、複数の第2の認識ライン候補である(複数の第2の認識ラインの内容についての詳細は後述する)。第2の認識ラインは、第1の認識ラインの第1の距離に基づいて決定する。この際、第2の認識ラインは、第1の認識ラインごとの第1の距離に基づいて決定するようにしてもよい。具体的には、たとえば、第1の距離の変化パターンにおける山部の位置を、第2の認識ラインの位置とするようにしてもよい。
つぎに、第2の認識ラインによる第2の距離を取得する(ステップS204)。第2の距離とは、第2の認識ラインにおける物体の第3の方向(Z方向)の距離である。
このステップS203およびS204の処理において、後述する図9のフローチャートに示す第2の認識ラインの特定処理および第2の距離の取得処理をおこなう。これらの処理の詳細については後述する。
つぎに、物体の中心部の位置を特定する(ステップS205)。ステップS202において取得した第1の距離と、ステップS204において取得した第2の距離と、に基づいて、物体の中心部の位置を特定する。具体的には、たとえば、第2の距離の変化パターンにおける山部の位置を、物体の第2の方向における中心部の位置とし、その中心部の位置に存在する第2の認識ラインの位置を第1の方向における中心部の位置とするようにしてもよい。原則として、存在する物体の数と同数の中心部の位置を特定する。
また、第2の認識ライン方向における両端部の位置を特定する(ステップS206)。ステップS205において物体の中心部の位置を特定するとともに、中心部の位置が特定できた物体の両端部の位置を、ステップS202において取得した第1の距離と、ステップS204において取得した第2の距離と、に基づいて特定する。具体的には、たとえば、第2の距離の変化パターンにおける谷部の位置を、物体の第2の方向における両端部の位置とするようにしてもよい。
つぎに、第3の距離を取得する(ステップS207)。第3の距離とは、ステップS205において特定した物体の中心部を通る、第1の認識ラインと平行(すなわちX方向)の認識ラインにおける第3の方向(Z方向)の距離である。特定した物体の各中心部ごとに第3の距離をそれぞれ取得する。
つぎに、第1の認識ライン方向における両端部の位置を特定する(ステップS208)。ステップS207において取得した第3の距離に基づいて、物体の第1の方向における両端部の位置を特定する。具体的には、たとえば、第3の距離の変化パターンにおける谷部の位置を、物体の第1の方向における両端部の位置とするようにしてもよい。
つぎに、物体枠を特定する(ステップS209)。物体枠とは、物体を囲む枠であり、第1の方向と第2の方向を各辺とする矩形枠である。ステップS206において特定された物体の第2の方向における両端部の位置およびステップS208において特定された物体の第1の方向における両端部の位置から、物体が位置する物体枠を特定する。
つぎに、物体枠の中心点を特定する(ステップS210)。ステップS209において特定された物体が位置する物体枠(矩形枠)の対角の頂点を結んだ直線の交点を中心点として特定するようにすればよい。これによって、一連の処理を完了する。
(第1の方向の決定処理)
つぎに、図2のフローチャートのステップS201で示した第1の方向の決定処理の内容について説明する。ステップS201の第1の方向の決定処理では、両方向における物体の並びがより揃っている方、すなわち、物体の配置のばらつきがより小さい方の方向を第1の方向とする。
より具体的には、X方向とY方向における物体の配置のばらつきを比較するために、各方向に所定の間隔で設けられた認識ラインにおけるZ方向の距離を取得する。そして、それぞれの方向ごとの距離におけるデータのばらつきの大きさを表す標準偏差の平均値を取得し、その平均値がより小さい方が、ばらつきが小さいと判断する。
このようにして、容器100のX方向とY方向のいずれかの方向を第1の方向に決定する。第1の方向の決定方法は、この方法には限定されず、別の方法によって第1の方向を決定するようにしてもよい。
(第1の認識ラインによる第1の距離の取得処理)
つぎに、図2のフローチャートのステップS202で示した第1の認識ラインによる第1の距離の取得処理の内容について、図3を用いて説明する。図3は、認識ラインの決定処理の内容を示す説明図であり、容器100内に載置された物体101を上から見た上面図を示している。すなわち、図3(後述する図4〜図6も同じ)は、測定部(距離センサ)110の一例であるKinectセンサから見た状態を示している。
図3において、容器100には、4つの物体301A(図3における左上)、301B(図3における左下)、301C(図3における右上)、301D(図3における右下)が載置されている。そして、容器100の横方向(X方向)が第1の方向として決定されている。したがって、X方向に延びる第1の認識ライン311〜318が所定の間隔(図3においては等間隔)で設けられている。
また、図3において、第1の距離データ321は、第1の認識ライン311において取得した第3の方向(Z方向)の距離データである。第1の距離データ321によって、第1の認識ライン311における第3の方向(Z方向)の距離の変化パターンがわかる。
同様に、第1の距離データ322は、第1の認識ライン312において取得したZ方向の距離データであり、第1の距離データ323は、第1の認識ライン313において取得したZ方向の距離データであり、第1の距離データ324は、第1の認識ライン314において取得したZ方向の距離データである。第1の認識ライン315〜318における第1の距離データについてもそれぞれ取得するが、それらの図示は省略する。
第1の距離データ321において、その変化のパターンを見ると、左右に2つの山部が存在する。左側の山部は、物体301Aに対応する山部である。一方、右側の山部は、物体301Cに対応する山部である。
このようにして、第1の認識ライン311〜318による第1の距離を取得することができる。
(第2の認識ラインの決定処理および第2の認識ラインによる第2の距離の取得処理)
つぎに、図2のフローチャートのステップS203で示した第2の認識ラインの決定処理の内容について、引き続き、図3を用いて説明する。
図3において、第1の認識ライン311上における左側の山部のX方向の座標位置を通るY方向に延びるライン351を、物体301Aに対応する、第1の認識ライン311における第2の認識ラインとして決定する。また、第1の認識ライン311上における右側の山部のX方向の座標位置を通るY方向に延びるライン361を、物体301Cに対応する、第1の認識ライン311における第2の認識ラインとして決定する。
同様に、第1の認識ライン312上における左側の山部のX方向の座標位置を通るY方向に延びるライン352を、物体301Aに対応する、第1の認識ライン312における第2の認識ラインとして決定する。また、第1の認識ライン312上における右側の山部のX方向の座標位置を通るY方向に延びるライン362を、物体301Cに対応する、第1の認識ライン312における第2の認識ラインとして決定する。
同様に、第1の認識ライン313上における左側の山部のX方向の座標位置を通るY方向に延びるライン353を、物体301Aに対応する、第1の認識ライン313における第2の認識ラインとして決定する。また、第1の認識ライン313上における右側の山部のX方向の座標位置を通るY方向に延びるライン363を、物体301Cに対応する、第1の認識ライン313における第2の認識ラインとしている。
同様に、第1の認識ライン314上における左側の山部のX方向の座標位置を通るY方向に延びるライン354を、物体301Aに対応する、第1の認識ライン314における第2の認識ラインとして決定する。また、第1の認識ライン314上における右側の山部のX方向の座標位置を通るY方向に延びるライン364を、物体301Cに対応する、第1の認識ライン314における第2の認識ラインとして決定する。
なお、図3においては、物体301Aにおいて決定された第2の認識ライン351〜354は複数の直線から構成されているが、たとえば、その中のいずれか1本(たとえば、最も真ん中に存在する1本)を選択するようにしてもよい。あるいは、これらの複数の直線の平均値などに基づいて、物体301Aに対して1本の直線から構成されるようにしてもよい(図示は省略)。したがって、第2の認識ライン351〜354のそれぞれに複数の第2の認識ライン候補を設けるようにしてもよく、1本の直線に対して複数の第2の認識ライン候補を設けるようにしてもよい。以下、物体301B〜301Dにおいても同様である。
また、物体301Bにおいては、第1の認識ライン315に対応する第2の認識ライン355、第1の認識ライン316に対応する第2の認識ライン356、第1の認識ライン317に対応する第2の認識ライン357、第1の認識ライン318に対応する第2の認識ライン358を、それぞれ決定する。
また、物体301Dにおいては、第1の認識ライン315に対応する第2の認識ライン365、第1の認識ライン316に対応する第2の認識ライン366、第1の認識ライン317に対応する第2の認識ライン367、第1の認識ライン318に対応する第2の認識ライン368をそれぞれ決定する。
このようにして、第2の認識ラインは、第1の認識ラインごとのそれぞれの第1の距離に基づいて、第1の距離の変化パターンにおける山部の位置を、第2の認識ラインの位置とすることにより、第1の認識ラインごとに決定することができる。
図3においては、図示を省略するが、第2の認識ライン351〜358、361〜368には複数の認識ライン候補が存在し、その候補の中から最適な第2の認識ラインを決定する(詳細については図9、図10などを用いて後述する)。以後、第2の認識ライン351〜358、361〜368は、最適な第2の認識ラインであり、また、必要に応じて編集されたラインである。
つぎに、図2のフローチャートのステップS204で示した第2の認識ラインによる第2の距離の取得処理の内容について、図4を用いて説明する。図4は、物体の中心部の位置および第2の認識ライン方向における両端部の位置の特定処理の内容を示す説明図であり、図3と同様に、容器100内に載置された物体101を上から見た上面図である。
図4において、第2の距離データ421は、最適な第2の認識ライン361〜368において取得した第3の方向(Z方向)の距離データである。第2の距離データ421によって、第2の認識ライン361〜368における第3の方向(Z方向)の距離の変化パターンがわかる。最適な第2の認識ライン351〜358における距離データについても第2の距離データを取得するが、その図示は省略する。
第2の距離データ421において、その変化のパターンを見ると、左右(図4においては上下)に2つの山部が存在する。左側(図4における上側)の山部は、物体301Cに対応する山部である、一方、右側(図4における下側)の山部は、物体301Dに対応する山部である。
このようにして、第2の認識ライン351〜358、および、第2の認識ライン361〜368による第2の距離を取得することができる。
なお、図4においては、第2の認識ライン351〜358、361〜368を最適な第2の認識ラインとして、また、第2の距離データ421は、必要な編集がなされたものであるとして、以降は説明する(最適な第2の認識ラインの決定、および第2の距離の編集の内容については、後述する図9〜図15Bを用いて詳細に説明する)。
(物体の中心部の位置の特定処理)
つぎに、図2のフローチャートのステップS205で示した物体の中心部の位置の特定処理の内容について、引き続き、図4を用いて説明する。
図4において、第2の距離の変化パターンにおける左側の山部431に対応する第2の認識ライン362における、山部431のY方向の座標位置を、物体301Cの中心部401Cの位置と特定する。
山部431のピークの変化パターンの形状によっては、物体301Cの中心部401Cの位置を、山部431のY方向の座標位置とする際、その中心座標は、第1の認識ライン312と、第1の認識ライン312の隣の第1の認識ライン311および第1の認識ライン313のそれぞれの中間ラインを中心座標の上限および下限として中心部401Cの位置を決定するようにしてもよい。
また、第2の距離の変化パターンにおける右側の山部432に対応する第2の認識ライン367における、山部432のY方向の座標位置を、物体301Dの中心部401Dの位置と特定する。物体301Aの中心部401A、物体301Bの中心部401Bも同様の処理によって特定する。
このように、第2の距離の変化パターンにおける山部の位置を、物体301A〜301Dの第2の方向(Y方向)における中心部の位置とし、その中心部の位置に存在する第2の認識ラインの位置を第1の方向(X方向)における中心部の位置とする。これにより、第1の距離と第2の距離とに基づいて、物体301A〜301Dの中心部401A〜401Dの位置を特定することができる。
(第2の認識ライン方向における両端部の位置の特定処理)
つぎに、図2のフローチャートのステップS206で示した第2の認識ライン方向における両端部の位置の特定処理の内容について、引き続き、図4を用いて説明する。
図4において、第2の距離データ421の変化パターンにおける、山部431を挟んだ両側の谷部441および442のY方向の座標位置を、それぞれ物体301Cの両端部の位置として特定する。そして、この両端部の位置に基づいて、物体301Cの物体枠の横方向(X方向)の各辺450Cおよび460Cが決まる。
同様に、第2の距離データ421の変化パターンにおける、山部432を挟んだ両側の谷部442および443のY方向の座標位置を、それぞれ物体301Dの両端部の位置として特定する。そして、この両端部の位置に基づいて、物体301Dの物体枠の横方向(X方向)の各辺450Dおよび460Dが決まる。物体301Aおよび物体301Bの両端部も同様の処理によって特定する。図示は省略するが、物体301A、301Bの物体枠の横方向(X方向)の各辺も決まる。
このように、中心部の位置が特定できた物体の両端部の位置を、第1の距離と、第2の距離と、に基づいて特定することができる。
(第3の距離の取得処理)
つぎに、図2のフローチャートのステップS207で示した第3の距離の取得処理の内容について、図5を用いて説明する。図5は、第1の認識ライン方向における両端部の位置の特定処理および物体枠の特定処理の内容を示す説明図であり、図3、図4と同様に、容器100内に載置された物体101を上から見た上面図である。
図5において、まず、物体301Aの各中心部401Aの位置を通る、第1の認識ラインと平行(すなわち、X方向)の認識ライン501Aを設ける。そして、認識ライン501AにおけるZ方向の第3の距離(図示を省略)を取得する。
同様に、物体301Bの各中心部401Bの位置を通る、第1の認識ラインと平行(すなわち、X方向)の認識ライン501Bを設ける。そして、認識ライン501BにおけるZ方向の第3の距離(図示を省略)を取得する。
同様に、物体301C、301Dの各中心部401C、401Dの位置を通る、認識ライン501C、501Dを設け、そして、認識ライン501C、501DにおけるZ方向の第3の距離(図示を省略)を取得する。
(第1の認識ライン方向における両端部の位置の特定処理)
つぎに、図2のフローチャートのステップS208で示した第1の認識ライン方向における両端部の位置の特定処理の内容について、引き続き、図5を用いて説明する。
図5において、第3の距離の変化パターンにおける、山部を挟んだ両側の谷部の位置を、それぞれ、物体301Aの両端部の位置として特定する。そして、その両端部の位置に基づいて、物体301Aの物体枠の縦方向(Y方向)の各辺550Aおよび560Aが決まる。
同様に、物体301Bについて認識ライン501Bを設け、認識ライン501BにおけるZ方向の第3の距離を取得する。そして、第3の距離の変化パターンにおける、山部を挟んだ両側の谷部の位置を、それぞれ、物体301Bの両端部の位置として特定する。そして、その両端部の位置に基づいて、物体301Bの物体枠の縦方向(Y方向)の各辺550Bおよび560Bが決まる。
物体301C、301Dにおいても、同様に、山部を挟んだ両側の谷部の位置を、それぞれ、物体301C、物体301Dの両端部の位置として特定し、それによって、物体301C、物体301Dの物体枠の縦方向(Y方向)の各辺550Cおよび560C、各辺550Dおよび560Dが決まる。
(物体枠の特定処理)
つぎに、図2のフローチャートのステップS209で示した物体枠の特定処理の内容について、引き続き、図5を用いて説明する。
物体301Aにおいては、物体301Aの物体枠の横方向(X方向)の各辺450Aおよび460Aと、縦方向(Y方向)の各辺550Aおよび560Aの4つの辺で囲まれた枠(矩形枠)を物体枠として特定する。
物体301Bにおいては、物体301Bの物体枠の横方向(X方向)の各辺450Bおよび460Bと、縦方向(Y方向)の各辺550Bおよび560Bの4つの辺で囲まれた枠(矩形枠)を物体枠として特定する。
物体301Cにおいても、同様に、各辺450Cと、460Cと、550Cと、560Cの4つの辺で囲まれた枠(矩形枠)を物体枠として特定する。また、物体301Dにおいても、同様に、各辺450Dと、460Dと、550Dと、560Dの4つの辺で囲まれた枠(矩形枠)を物体枠として特定する。
このようにして、特定された物体の第2の方向における両端部の位置および物体の第1の方向における両端部の位置から、物体が位置する物体枠を特定することができる。
(物体枠の中心点の特定処理)
つぎに、図2のフローチャートのステップS210で示した物体枠の中心点の特定処理の内容について、図6を用いて説明する。図6は、物体枠の中心点の特定処理の内容を示す説明図であり、容器100内に載置された物体101を上から見た上面図およびである。
図6において、物体301Aにおいて、各辺450A、460A、550A、560Aの4つの辺で囲まれた物体枠(矩形枠)の対角の頂点を結んだ交点を中心点601Aとする。この中心点601Aの位置は、図2のフローチャートのステップS205で特定した物体の中心部の位置とは、必ずしも一致しない。
同様に、物体301Bにおいて、各辺450B、460B、550B、560Bの4つの辺で囲まれた物体枠(矩形枠)の対角の頂点を結んだ交点を中心点601Bとする。また、物体301Cにおいて、各辺450C、460C、550C、560Cの4つの辺で囲まれた物体枠(矩形枠)の対角の頂点を結んだ交点を中心点601Cとする。また、物体301Dにおいて、各辺450D、460D、550D、560Dの4つの辺で囲まれた物体枠(矩形枠)の対角の頂点を結んだ交点を中心点601Dとする。
このように、特定された物体枠から、当該物体枠の中心点を特定することができる。
(ドーナツ型の形状の物体の影響)
つぎに、図2に示したステップS203において決定した第2の認識ラインによるドーナツ型の形状の物体による影響について説明する。図7は、ドーナツ型の形状の物体による影響について示す説明図である。
図7において、ドーナツ型の形状の物体700A〜700Dが並んで配置されている。各物体700A〜700Dのドーナツ形状の中央部分には、(物体を貫通している)孔、または、(物体がへこむことで形成される)穴が存在する。このような形状の物体について、認識ライン701において物体700A〜700Dの第3の方向(Z方向)の第2の距離(高さ)を取得すると、距離の変化パターン711のようになる。
図7に示すように、認識ライン701は、物体700A〜700Dの中心部付近の認識ラインであるにもかかわらず、この距離の変化パターン711では、山谷の関係が不明確になり、物体の両端なのか中央部なのかがわからず、正しい認識結果とはならない。したがって、物体700A〜700Dの中心部付近を通るように認識ラインを定めたとしても、物体(枠)を正確に把握することができない場合がある。
(不整列の影響)
つぎに、図2に示したステップS203において決定した第2の認識ラインによる、物体の不整列による影響について説明する。図8は、物体の不整列による影響について示す説明図である。
第2の認識ラインを定める場合は、できるだけ物体の中心部付近を通るようにその位置を推測するようにしている。しかしながら、物体が不整列である場合には、他の物体の影響などによって、必ずしも、第2の認識ラインが物体の中心部付近を通らない場合がある。また、他の物体だけでなく、物体を包む包装材などの影響によっても、第2の認識ラインが物体の中心部付近を通らない場合がある。
図8において、物体800A〜800Dが不整列に配置されている。各認識ライン801A〜801Dは、それぞれ物体800A〜800Dの中心部付近を通るように推測するようにしているが、物体800Dにおける認識ライン801Dは、中心部からは外れている。
このような状態で、認識ライン801Aにおいて物体800Aの第3の方向(Z方向)の距離(高さ)を取得する。同様に、認識ライン801Bにおいて物体800B、認識ライン801Cにおいて物体800C、認識ライン801Dにおいて物体800Dのそれぞれの第3の方向(Z方向)の第2の距離(高さ)を取得すると、距離の変化パターン811のようになる。
距離の変化パターン811において、1つ目(物体800A)、2つ目(物体800B)、3つ目(物体800C)については、山谷の関係が明確となっており、3つの物体を認識することはできるが、物体801Dについては、その物体に対応する距離の変化パターン811の部分812において、山部が形成されていないことから、物体として認識することができない。
このように、物体の形状、不整列による他の物体の影響、物体を包む包装材などの影響により、距離の変化パターンが明確な形状を示すことができないため、物体(枠)の正しい認識ができない場合がある。そこで、第2の認識ラインについて複数候補を設けて、複数の候補に基づいて、最適な第2の認識ラインおよび最適な第2の認識ラインによる第2の距離を取得するようにする。
(第2の認識ラインの特定処理および第2の距離の取得処理)
第2の認識ラインの特定処理および第2の認識ラインによる第2の距離の取得処理の内容について説明する。図9は、第2の認識ラインの特定処理および第2の距離の取得処理の手順の一例を示すフローチャートである。図9のフローチャートにも示すように、以下の4つの処理(ステップS901〜S904)によって、図2のフローチャートに示した、第2の認識ラインの決定処理(ステップS203)および第2の認識ラインによる第2の距離の取得処理(ステップS204)の処理を実現する。
図9のフローチャートにおいて、物体検出装置の処理部は、まず、複数(たとえば、3つ)の認識ライン候補を決定する(ステップS901)。3つの認識ライン候補の決定処理は、後述する図10を用いて、詳細に説明する。
そして、ステップS901において決定された3つの認識ライン候補のそれぞれのZ方向の距離を取得する(ステップS902)。3つの認識ライン候補のそれぞれのZ方向の距離の変化パターンについては、後述する図11に示す。
つぎに、ステップS902において取得した3つの認識ライン候補のそれぞれのZ方向の距離に基づいて、3つの認識ライン候補から最適な第2の認識ラインを一つ決定する(ステップS903)。最適な認識ラインの決定処理は、後述する図12A、図12B、図13を用いて、詳細に説明する。
その後、必要に応じて、ステップS903において決定された最適な認識ラインによる第2の距離の編集をおこなう(ステップS904)。すなわち、所定の条件を満たす場合は、最適な認識ラインによる第2の距離の変化パターンを追加したり、削除したり、入れ替えたりする。
最適な認識ラインによる第2の距離の編集処理は、後述する図14A、図14B、図15A、図15Bを用いて、詳細に説明する。
これにより、第2の認識ラインの特定および第2の距離の取得の一連の処理を終了する。このように、図9に示すフローチャートにしたがい、最適な第2の認識ラインによる第2の距離、あるいは、当該第2の距離について、必要に応じて編集処理された距離を求めることができる。
(3つの認識ライン候補の決定処理)
図10は、3つの認識ライン候補の決定処理の内容を示す説明図である。図10において、物体1000の中心部付近の位置を推測し、その位置を通る認識ライン候補を、中心推測ライン1002(実線)とする。たとえば、図2に示したフローチャートのステップS203において決定される第2の認識ラインを、中心推測ライン1002としてもよく、また、別の方法により、物体ごとにその中心部付近を推測するようにしてもよい。
そして、物体に関する情報の一つである、物体1000の標準サイズに関する情報に基づいて、図10において、中心推測ライン1002よりも上側の上段認識ライン1001(破線)を決定する。同様に、図10において、中心推測ライン1002よりも下側の下段認識ライン1003(点線)を決定する。これらの上側の上段認識ライン1001、中心推測ライン1002、下段認識ライン1003が第2の認識ライン候補である。
具体的には、上段認識ライン1001は、中心推測ライン1002から標準サイズの所定比率(たとえば25%)だけ上側の位置とし、下段認識ライン1003は、中心推測ライン1002から標準サイズの所定比率(たとえば25%)だけ下側の位置とするとよい。
したがって、図3においては、第2の認識ライン351〜358が、中心推測ラインであり、その両端には、図示を省略するが、上段認識ラインと下段認識ラインが存在するようにしてもよい。第2の認識ライン351〜358と同様に、第2の認識ライン361〜368も中心推測ラインであり、その両端には、図示を省略するが、上段認識ラインと下段認識ラインが存在するようにしてもよい。
また、図10に示すように、上段認識ライン1001、中心推測ライン1002、下段認識ライン1003は、互いに平行で、かつ、等間隔の認識ライン候補とすることができる。ただし、第2の認識ライン候補は、このような等間隔のラインに限るものではなく、それぞれの間隔が異なっていてもよい。また、第2の認識ライン候補は、3つに限るものではなく、2つであってもよく、また4つ以上であってもよい。
このようにして、複数の第1の方向(X方向)に延びる第1の認識ラインにおける、第3の方向(Z方向)の第1の距離に基づいて、第1の認識ラインごとに、第2の方向(Y方向)に延びる複数の第2の認識ラインの候補を複数決定することができる。
(各認識ライン候補のZ方向の距離の取得処理)
図11は、各認識ライン候補のZ方向の距離の取得処理の内容を示す説明図である。図11において、破線1101は、上段認識ラインにおけるZ方向の距離であり、実線1102は、中心推測ラインにおけるZ方向の距離であり、点線1103は、下段認識ラインにおけるZ方向(高さ方向)の距離である。
図11に示すように、取得された各認識ライン(候補)におけるZ方向の距離の変化パターンの山谷の形状により、物体の数が認識できる。図11では、いずれの認識ライン(候補)においても、4つの物体が並んでいることがわかる。
このようにして、決定された複数の候補における第3の方向(Z方向)の距離を取得することができる。
(最適な認識ラインの決定処理)
つぎに、決定された複数の候補における物体の第3の方向(Z方向)の距離に基づいて、最適な第2の認識ラインを決定する決定処理の手順について説明する。図12Aおよび図12Bは、最適な認識ラインの決定処理の内容を示す説明図である。
図12Aにおいて、図の上側に、物体1200A〜1200Dの4つの物体が不整列に配置されており、各物体1200A〜1200Dのそれぞれの横方向の中心部付近の位置を推測し、その位置を通る認識ライン候補を、中心推測ライン1202A〜1202D(実線)としている。
また、中心推測ライン1202A〜1202D(実線)の上側に、上段認識ライン1201A〜1201D(破線)を設け、中心推測ライン1202A〜1202D(実線)の下側に、下段認識ライン1203A〜1203D(点線)を設けている。
また、図の下側において、上段の破線1211は、上段認識ライン1201A〜1201DにおけるZ方向の距離であり、中段の実線1212は、中心推測ライン1202A〜1202DにおけるZ方向の距離であり、下段の点線1213は、下段認識ライン1203A〜1203DにおけるZ方向(高さ方向)の距離である。
3つのZ方向の距離の変化パターンから、山部および谷部(底部)を検出し、既知情報である物体の個数、物体の標準サイズに基づいて、既知情報に最も適合する変化パターンにかかる第2認識ライン候補を決定する。
図12Aにおいては、中段の実線1212が既知情報の物体の個数、物体の標準サイズに最も適合すると判断できる。したがって、図12Aにおいては、中心推測ライン1202A〜1202D(実線)を最適な第2の認識ラインに決定する。
図12Bは、最適な認識ラインの決定処理の別の内容を示す説明図である。図12Bにおいて、図の上側に、物体1250A〜1250Dの4つの物体が配置されており、各物体1250A〜1250Dのそれぞれの横方向の中心部付近の位置を推測し、その位置を通る認識ライン候補を、中心推測ライン1252(実線)としている。
また、中心推測ライン1252(実線)の上側に、上段認識ライン1251(破線)を設け、中心推測ライン1252の下側に、下段認識ライン1253(点線)を設けている。
また、物体1250A〜1250Dの下側において、上段の破線1261は、上段認識ライン1251におけるZ方向の距離であり、中段の実線1262は、中心推測ライン1252におけるZ方向の距離であり、下段の点線1263は、下段認識ライン1253におけるZ方向(高さ方向)の距離である。
3つのZ方向の距離の変化パターンから、山部および谷部(底部)を検出し、既知情報である物体の個数、物体の標準サイズに基づいて、当該既知情報である物体の個数、物体の標準サイズに最も適合する変化パターンにかかる第2認識ライン候補を決定する。
図12Bにおいては、上段認識ライン1251A〜1251Dは、物体のドーナツ形状の中央の孔または穴の境界部分の認識ラインであり、上段の破線1261の山部の頭頂部が孔または穴の影響により、多少へこんでいるのがわかる。
また、中心推測ライン1252A〜1252Dは、物体のドーナツ形状の中央の孔または穴の中心部分付近の認識ラインであり、中段の実線1262の山部の頭頂部が孔または穴の影響により、大幅にへこんでおり、谷部との区別がつきづらくなっているのがわかる。
また、下段認識ライン1253A〜1253Dは、物体のドーナツ形状の中央の孔または穴にはかかっておらず、下段の破線1263の山部と谷部が、既知情報にかかる物体の個数および標準サイズに合致するのがわかる。したがって、図12Bにおいては、下段認識ライン1253A〜1253D(点線)を最適な第2の認識ラインに決定する。
このように、決定された複数の候補における物体の第3の方向の距離に基づいて、第2の認識ラインを決定することができる。より具体的には、複数の候補(たとえば3つ)から最適な候補を一つ選択することができる。その際、複数の候補における物体の第3の方向の距離の変化パターンを、物体に関する既知情報(物体の個数や標準サイズなど)に基づいて評価し、評価の結果に基づいて、最適な候補を一つ選択することができる。それにより、最適な第2の認識ラインにおける第2の距離が求まる。
(最適な認識ラインの決定処理の手順)
つぎに、最適な認識ラインの決定処理の手順について説明する。まず、3つの認識ライン(候補)をクラス分けと、得点評価の2段階で評価する。
クラス分けでは、各認識ラインを同等レベルにクラス分けする。具体的には、図13に示す評価項目にそれぞれ許容値を設ける。そして、この許容値を超える項目数に応じてクラスを下げていく。クラスの上位順は、順位が高い順に、クラス1→クラス2→クラス3とし、2項目について許容値を超える場合、クラス1から2段階下がって、クラス3となる。
得点評価では、最上位クラスの中に複数の認識ラインが存在する場合は、得点で評価する。具体的には、図13に示す評価項目について、それぞれ得点を設けて、最上位クラスに複数の認識ラインが存在する場合に、最も得点の高いラインを選択する。
一例として、評価の結果が、
上段:クラス3、
中段:クラス2 評価得点合計18(項目1:10、項目2:5、項目3:3)、
下段:クラス2 評価得点合計20(項目1: 8、項目2:6、項目3:6)、
となった場合、最上位クラスが「クラス2」であるから、中段と下段の認識ラインの評価得点の高い方が最適な第2の認識ラインとして選択される。すなわち、評価得点の高い下段の認識ラインが、最適な第2の認識ラインとして選択されることになる。
つぎに、最適な認識ラインを決定する際の評価項目について説明する。図13は、最適な認識ラインを決定する際の評価項目の内容を示す説明図である。図13に示すように、たとえば6つの項目について評価をおこなう。
(1)1つ目の項目として、認識個数チェックをおこなう。認識個数チェックでは、物体数としてあり得る個数であるか否かを判断する。たとえば、該当商品は4個並んでいるはずであるにもかかわらず、5個認識されている場合など、あり得ない個数である場合は、この評価項目に該当し、クラスを一つ下げる。
(2)2つ目の項目として、物体区切り位置チェックをおこなう。物体区切り位置チェックでは、物体の区切り位置は適正か否かを判断する。たとえば、商品区切り部分のうち、区切り地点と周辺の高低差が最も小さい箇所を比較し、他の区切り地点よりも高低差が少ない場合は、この評価項目に該当し、クラスを一つ下げる。高低差がどのくらい少ないかを得点化するようにしてもよい。
(3)3つ目の項目として、物体サイズチェック(その1)をおこなう。物体サイズチェック(その1)では、物体サイズは適正か否かを判断する。たとえば、認識された各物体枠のサイズが標準サイズと比較して大き過ぎる場合、または、小さ過ぎる場合は、この評価項目に該当し、クラスを一つ下げる。標準サイズとの比較について得点化するようにしてもよい。
(4)4つ目の項目として、物体サイズチェック(その2)をおこなう。物体サイズチェック(その2)では、物体サイズは適正か否かを判断する。たとえば、「各認識ラインの最大物体枠」−「最小物体枠」の差が大きい場合は、この評価項目に該当し、クラスを一つ下げる。最大物体枠と最小物体枠の差の大きさについて得点化するようにしてもよい。
(5)5つ目の項目として、物体認識枠内の物体存在チェックをおこなう。物体認識枠内の物体存在チェックでは、物体認識枠内の物体認識位置は適正か否かを判断する。たとえば、個体認識枠内の物体が存在していない(物体高さが低い(Z方向の距離が短い))領域が大きい場合は、この評価項目に該当し、クラスを一つ下げる。物体高さの低さや、該当する領域の大きさを得点化するようにしてもよい。
(6)6つ目の項目として、物体認識枠外の物体存在チェックをおこなう。物体認識枠外の物体存在チェックは、物体認識枠外の物体認識位置は適正か否かを判断する。たとえば、個体認識枠外の物体が存在している(物体高さが高い(Z方向の距離が長い))領域が大きい場合は、この評価項目に該当し、クラスを一つ下げる。物体高さの高さや、該当する領域の大きさを得点化するようにしてもよい。
このようにして、複数の候補における物体の第3の方向の距離の変化パターンを、物体に関する既知情報に基づいて評価し、評価の結果に基づいて、最適な候補を一つ選択し、選択された候補を最適な認識ラインに決定することができる。
(最適な認識ラインによる第2の距離の編集処理)
つぎに、最適なラインによる第2の距離の編集処理の手順について説明する。図14A、図14Bは、最適な認識ラインによる第2の距離の編集の内容を示す説明図である。
図14Aにおいて、最適な認識ラインにおける物体の第3の方向(Z方向)の距離の変化パターン1401Aに対して、最適な認識ラインとして選択されなかった他の認識ラインにおけるZ方向の距離の変化パターン1402を比較する。比較の結果、最適な認識ラインにおけるZ方向の距離の変化パターン1401Aにおいて1403の部分が平坦なのに対して、他の認識ラインにおけるZ方向の距離の変化パターン1402は、1404の部分に山部が形成されており、山部および谷部で形成された物体枠相当部分が存在するのがわかる。
このような場合に、所定の条件に基づいて、最適な認識ラインにおけるZ方向の距離の変化パターン1401Aの1403の部分に、1404の部分の物体枠相当部分を追加する編集をおこなう。追加する編集をおこなう条件としては、たとえば、最適な認識ラインに選択された認識ラインにおける物体枠相当部分以外の所に、他の認識ラインにおける物体枠相当部分が当てはまる場合に、最適なに認識ラインに選択された認識ラインにその物体枠相当部分を追加する。
認識ラインにおける物体枠相当部分以外の所に、他の認識ラインにおける物体枠相当部分が当てはまるか否かは、たとえば、追加される物体枠相当部分が、すでに変化パターン1401Aにおいて認識されている物体枠相当部分と所定比率(○○%)以上重なっていない場合に当てはまると判断することができる。
図14Bにおいては、変化パターン1401Bは、物体枠相当部分1405が追加された状態を示している。図14Bに示す変化パターン1401Bを、編集後の最適な認識ラインにおけるZ方向の距離の変化パターンとする。
また、図15A、図15Bは、最適な認識ラインによる第2の距離の別の編集の内容を示す説明図である。図15Aにおいては、図8および図12Aにおいて示した、物体の配置および認識ライン候補の設定と同様の設定としている。
すなわち、図15Aにおいて、上側に、物体1500A〜1500Dの4つの物体が不整列に配置されており、各物体1500A〜1500Dのそれぞれの横方向の中心部付近の位置を推測し、その位置を通る認識ライン候補を、中心推測ライン1511A〜15112D(実線)としている。
また、中心推測ライン1511A〜1511D(実線)の上側に、上段認識ライン1510A〜1510D(破線)を設け、中心推測ライン1511A〜1511D(実線)の下側に、下段認識ライン1512A〜1512D(点線)を設けている。
また、その下側には、中段の物体のZ方向距離の変化パターン1501Aと下段の物体のZ方向距離の変化パターン1502とを示している(上段の変化パターンは図示を省略)。
そして、中段の変化パターン1501Aの1521部分については、下段の変化パターン1502の物体枠相当部分1522と差し替えをおこなう。図15Bにおいて示した変化パターン1501Bは、差し替えによる変更後の変化パターンであり、この変化パターン1501Bを、編集後の最適な第2の認識ラインにおけるZ方向の距離の変化パターンとする。
差し替えをするか否かは、以下の条件によって判断するようにしてもよい。たとえば、中段の変化パターン1501Aにおいて、既知情報による物体の標準サイズの所定比率(○○%〜△△%)の範囲に入っていない物体枠相当部分を入替対象とするようにしてもよい。
また、選択ラインにおける中段の変化パターン1501Aと他の認識ラインにおける下段の変化パターン1502において、入れ替え候補の物体枠相当部分の左端または右端のいずれかが同位置である、すなわち、所定ピクセル(○○ピクセル)以内の範囲内の場合に、入れ替えの対象とする。左端および右端の両端とも同位置の場合は、個体サイズがほぼ等しいので、入れ替える必要はない。また、両端ともズレている場合は、誤った認識位置の可能性が高いため入れ替えをおこなわないようにしてもよい。
また、下段の変化パターン1502における入れ替え候補の物体枠相当部分の左端および右端が、中段の変化パターン1501Aにおける入替対象の高さ以下である場合に、入れ替えの対象とする。下段の変化パターン1502における入れ替え候補の物体枠相当部分の高さが、中段の変化パターン1501Aにおける入替対象よりも高い場合、物体の区切り位置が誤っている可能性が高いため入れ替えないようにするとよい。
最適な第2の認識ラインの編集については、図14A、図14Bに示したように、最適な候補以外の候補における物体の第3の方向の距離の変化パターンに基づいて、最適な候補における物体の第3の方向の距離の変化パターンにあらたな変化パターン(物体枠相当部分)を追加する編集であってもよく、図15A、図15Bに示したように、最適な候補における物体の第3の方向の距離の変化パターンの一部を、当該最適な候補以外の候補における物体の第3の方向の距離の変化パターンと入れ替える編集であってもよい。
また、最適な候補以外の候補における物体の第3の方向の距離の変化パターンに基づいて、最適な候補における物体の前記第3の方向の距離の変化パターンの一部(物体枠相当部分)を削除する編集であってもよい。
たとえば、最適な第2の認識ラインにおける物体枠相当部分が、他の認識ラインには存在しない場合は、当該物体枠相当部分を削除するようにしてもよい。削除する編集は、2回目の認識時にのみおこなうようにしてもよい。
このように、最適な第2の認識ラインにおける物体の第3の方向の距離の変化パターンを編集し、編集後の変化パターンにかかる第3の方向の距離を第2の距離とすることができる。
(物体検出装置のハードウェア構成例)
つぎに、実施の形態にかかる物体検出装置のハードウェア構成について説明する。図16は、実施の形態にかかる物体検出装置のハードウェア構成の一例を示すブロック図である。図16において、物体検出装置は、CPU(Central Processing Unit)1601と、メモリ1602と、I/F(Interface)1603と、ディスクドライブ1604と、ディスク1605と、を有する。また、各構成部は、バス1600によってそれぞれ接続される。
ここで、CPU1601は、物体検出装置の全体の制御を司る。メモリ1602は、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、たとえば、フラッシュROMやROMが各種プログラムを記憶し、RAMは記憶部としてCPU1601のワークエリアとして使用される。メモリ1602に記憶されるプログラムは、CPU1601にロードされることで、コーディングされている処理をCPU1601に実行させる。
I/F1603は、通信回線を通じてLAN、WAN、インターネットなどのネットワーク1650に接続され、ネットワーク1650を介して他のコンピュータ(たとえば、各種センサ、ピッキング・システム、物品などの搬送用のコンベア制御装置など)に接続される。そして、I/F1603は、ネットワーク1650と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F1603には、たとえば、モデムやLANアダプタなどを採用することができる。
ディスクドライブ1604は、CPU1601の制御にしたがってディスク1605に対するデータのリード/ライトを制御する。ディスク1605は、ディスクドライブ1604の制御で書き込まれたデータを記憶する。ディスク1605としては、たとえば、磁気ディスク、光ディスクなどが挙げられる。
なお、物体検出装置は、上述した構成部のほか、たとえば、SSD(Solid State Drive)、キーボード、マウス、プリンタ、ディスプレイなどを有することにしてもよい。
また、物体検出装置の機能的構成においては、たとえば、図示を省略する測定部と処理部とを含む。物体検出装置の測定部は、たとえば、物体が載置された平面に直交する方向における当該物体の距離は、図示を省略する測定部が測定する。
物体検出装置の測定部は、具体的には、たとえば、図1に示したKinectセンサなどによってその機能を実現することができる。
物体検出装置の処理部は、測定部が測定した、平面における第1の方向に直交する第2の方向に所定の間隔で定められた複数の第1の方向に延びる第1の認識ラインにおける第1の距離に基づいて、第2の方向に延びる第2の認識ラインの候補を複数決定する。
また、物体検出装置の処理部は、測定部が測定した、決定された複数の候補における物体の前記第3の方向の距離に基づいて、第2の認識ラインにおける物体の第3の方向の第2の距離を求める。
また、物体検出装置の処理部は、第1の距離と、第2の距離と、に基づいて、物体の中心部の位置および両端部の位置を特定する。そして、物体検出装置の処理部は、特定された前記物体の中心部の位置および両端部の位置から、物体が位置する物体枠を特定し、特定された物体枠から、当該物体枠の中心点を特定する。
また、物体検出装置の処理部は、複数の第2の認識ラインの候補における物体の前記第3の方向の距離の変化パターンを、物体に関する情報に基づいて評価し、評価の結果に基づいて、最適な候補を一つ選択する。そして、物体検出装置の処理部は、選択された候補における物体の前記第3の方向の距離を第2の距離とすることもできる。
また、物体検出装置の処理部は、最適な候補における物体の前記第3の方向の距離の変化パターンを編集し、編集された変化パターンにかかる第3の方向の距離を第2の距離とすることもできる。
物体検出装置の処理部は、たとえば、CPU1601と、メモリ1602などによって、その機能を実現することができる。
以上のように、実施の形態にかかる物体検出方法、物体検出プログラムおよび物体検出装置によれば、物体が載置された平面の第1の方向に直交する第2の方向に所定の間隔で定められた複数の前記第1の方向に延びる第1の認識ラインにおける、前記物体の前記平面に直交する第3の方向の第1の距離に基づいて、前記第2の方向に延びる第2の認識ラインの候補を複数決定し(S901)、決定された複数の候補における前記物体の前記第3の方向の距離に基づいて、前記第2の認識ラインにおける前記物体の前記第3の方向の第2の距離を求め(S902、S903)、前記第1の距離と、前記第2の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し(S205、S206)、特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し(S209)、特定された前記物体枠から、当該物体枠の中心点を特定する(S210)ので、配置された物体の中心点の位置を精度良く検出することができる。
精度良く検出された物体の中心点は、ピッキング部材(たとえば、バキューム式のロボットハンド)120が、物体を吸着する際に、その中心点に基づいて、吸着する位置を決定する。物体の中心点を吸着すれば、より弱い吸引力でも確実に物体を吸着し、所定の位置へ搬送することができる。物体の吸着の失敗や、搬送途中で物体の落下などを防止できるとともに、物体を包装している包装紙にしわを生じさせ、それによって商品品質を低下させることも軽減できる。
なお、実施の形態で説明した物体検出方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本物体検出プログラムは、ハードディスク、ICメモリ、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本物体検出プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータが、
物体が載置された平面の第1の方向に直交する第2の方向に所定の間隔で定められた複数の前記第1の方向に延びる第1の認識ラインにおける、前記物体の前記平面に直交する第3の方向の第1の距離に基づいて、前記第2の方向に延びる第2の認識ラインの候補を複数決定し、
決定された複数の候補における前記物体の前記第3の方向の距離に基づいて、前記第2の認識ラインにおける前記物体の前記第3の方向の第2の距離を求め、
前記第1の距離と、前記第2の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理を実行することを特徴とする物体検出方法。
(付記2)複数の前記候補から最適な候補を一つ選択し、
選択された候補における前記物体の前記第3の方向の距離を前記第2の距離とすることを特徴とする付記1に記載の物体検出方法。
(付記3)複数の前記候補における前記物体の前記第3の方向の距離の変化パターンを、前記物体に関する情報に基づいて評価し、
前記評価の結果に基づいて、前記最適な候補を一つ選択することを特徴とする付記2に記載の物体検出方法。
(付記4)前記第1の距離の変化パターンから推測される前記物体の中心位置を、前記第2の認識ラインの第1候補の位置とし、
前記第1候補の位置を中心に当該第1候補の両側の所定の距離を隔てた位置を当該第1候補以外の候補の位置とすることを特徴とする付記2または3に記載の物体検出方法。
(付記5)前記最適な候補における前記物体の前記第3の方向の距離の変化パターンを編集し、
編集された変化パターンにかかる第3の方向の距離を前記第2の距離とすることを特徴とする付記2〜4のいずれか一つに記載の物体検出方法。
(付記6)前記編集は、前記最適な候補以外の候補における前記物体の前記第3の方向の距離の変化パターンに基づいて、前記最適な候補における前記物体の前記第3の方向の距離の変化パターンにあらたな変化パターンを追加する編集であることを特徴とする付記5に記載の物体検出方法。
(付記7)前記編集は、前記最適な候補以外の候補における前記物体の前記第3の方向の距離の変化パターンに基づいて、前記最適な候補における前記物体の前記第3の方向の距離の変化パターンの一部を削除する編集であることを特徴とする付記5に記載の物体検出方法。
(付記8)前記編集は、前記最適な候補における前記物体の前記第3の方向の距離の変化パターンの一部を、当該最適な候補以外の候補における前記物体の前記第3の方向の距離の変化パターンと入れ替える編集であることを特徴とする付記5に記載の物体検出方法。
(付記9)前記編集は、前記物体に関する情報に基づいておこなわれることを特徴とする付記8に記載の物体検出方法。
(付記10)前記物体に関する情報は、少なくとも物体のサイズおよび物体の個数のいずれかを含むことを特徴とする付記3〜9のいずれか一つに記載の物体検出方法。
(付記11)コンピュータに、
物体が載置された平面の第1の方向に直交する第2の方向に所定の間隔で定められた複数の前記第1の方向に延びる第1の認識ラインにおける、前記物体の前記平面に直交する第3の方向の第1の距離に基づいて、前記第2の方向に延びる第2の認識ラインの候補を複数決定し、
決定された複数の候補における前記物体の前記第3の方向の距離に基づいて、前記第2の認識ラインにおける前記物体の前記第3の方向の第2の距離を求め、
前記第1の距離と、前記第2の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理を実行させることを特徴とする物体検出プログラム。
(付記12)物体が載置された平面に直交する方向における当該物体の距離を測定する測定部と、
前記平面の第1の方向を決定し、
前記測定部が測定した、前記平面における前記第1の方向に直交する第2の方向に所定の間隔で定められた複数の前記第1の方向に延びる第1の認識ラインにおける第1の距離に基づいて、前記第2の方向に延びる第2の認識ラインの候補を複数決定し、
前記測定部が測定した、決定された複数の候補における前記物体の前記平面に直交する第3の方向の距離に基づいて、前記第2の認識ラインにおける前記物体の前記第3の方向の第2の距離を求め、
前記第1の距離と、前記第2の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理部を備えることを特徴とする物体検出装置。
(付記13)付記12に記載の物体検出装置と、
前記物体をピッキングするピッキング部材と、
を備えることを特徴とするピッキング・システム。
(付記14)前記ピッキング部材は、前記物体検出装置の前記処理部が特定した物体の中心点に関する情報に基づいて、当該物体をピッキングすることを特徴とする付記13に記載のピッキング・システム。
(付記15)前記物体検出装置は、ピッキング部材によって前記物体がピッキングされるごとに、残された物体の物体枠の中心点を特定することを特徴とする付記12または13に記載のピッキング・システム。