(57)【要約】      （修正有）【課題】配置された物体の中心点の位置を精度良く検出する物体検出方法、物体検出プログラム及び物体検出装置を提供する。【解決手段】物体１２５０Ａ〜１２５０Ｄが載置された平面の第１の方向（Ｘ方向）に所定の間隔で定められた複数の第１の方向に延びる第１の認識ラインにおける、物体の平面に直交する第３の方向（Ｚ方向）の第１の距離と、第１の方向に直交する第２の方向（Ｙ方向）に延びる第２の認識ラインにおけるＺ方向の第２の距離と、に基づいて、物体の中心部の位置および両端部の位置を特定し、特定された物体枠から、当該物体枠の中心点を特定するにあたり、第１の距離に基づいて、第２の認識ラインの候補１２５１〜１２５３を複数決定し、決定された複数の候補におけるＺ方向の距離１２６１〜１２６３の変化パターンに基づいて、最適な第２の認識ライン１２５３における第２の距離１２６３を求める。【選択図】図１２Ｂ
2018156530.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
物体が載置された平面の第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第２の方向に延びる第２の認識ラインの候補を複数決定し、
決定された複数の候補における前記物体の前記第３の方向の距離に基づいて、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離を求め、
前記第１の距離と、前記第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理を実行することを特徴とする物体検出方法。
【請求項２】
複数の前記候補から最適な候補を一つ選択し、
選択された候補における前記物体の前記第３の方向の距離を前記第２の距離とすることを特徴とする請求項１に記載の物体検出方法。
【請求項３】
複数の前記候補における前記物体の前記第３の方向の距離の変化パターンを、前記物体に関する情報に基づいて評価し、
前記評価の結果に基づいて、前記最適な候補を一つ選択することを特徴とする請求項２に記載の物体検出方法。
【請求項４】
前記最適な候補における前記物体の前記第３の方向の距離の変化パターンを編集し、
編集された変化パターンにかかる第３の方向の距離を前記第２の距離とすることを特徴とする請求項２または３に記載の物体検出方法。
【請求項５】
前記編集は、前記最適な候補以外の候補における前記物体の前記第３の方向の距離の変化パターンに基づいて、前記最適な候補における前記物体の前記第３の方向の距離の変化パターンにあらたな変化パターンを追加する編集であることを特徴とする請求項４に記載の物体検出方法。
【請求項６】
前記編集は、前記最適な候補以外の候補における前記物体の前記第３の方向の距離の変化パターンに基づいて、前記最適な候補における前記物体の前記第３の方向の距離の変化パターンの一部を削除する編集であることを特徴とする請求項４に記載の物体検出方法。
【請求項７】
前記編集は、前記最適な候補における前記物体の前記第３の方向の距離の変化パターンの一部を、当該最適な候補以外の候補における前記物体の前記第３の方向の距離の変化パターンと入れ替える編集であることを特徴とする請求項４に記載の物体検出方法。
【請求項８】
前記編集は、前記物体に関する情報に基づいておこなわれることを特徴とする請求項７に記載の物体検出方法。
【請求項９】
前記物体に関する情報は、少なくとも物体のサイズおよび物体の個数のいずれかを含むことを特徴とする請求項３〜８のいずれか一つに記載の物体検出方法。
【請求項１０】
コンピュータに、
物体が載置された平面の第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第２の方向に延びる第２の認識ラインの候補を複数決定し、
決定された複数の候補における前記物体の前記第３の方向の距離に基づいて、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離を求め、
前記第１の距離と、前記第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理を実行させることを特徴とする物体検出プログラム。
【請求項１１】
物体が載置された平面に直交する方向における当該物体の距離を測定する測定部と、
前記平面の第１の方向を決定し、
前記測定部が測定した、前記平面における前記第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける第１の距離に基づいて、前記第２の方向に延びる第２の認識ラインの候補を複数決定し、
前記測定部が測定した、決定された複数の候補における前記物体の前記平面に直交する第３の方向の距離に基づいて、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離を求め、
前記第１の距離と、前記第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理部を備えることを特徴とする物体検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体検出方法、物体検出プログラムおよび物体検出装置に関する。
【背景技術】
【０００２】
従来、ピッキングの対象となる物体の距離画像データを生成し、生成された距離画像データを用いて物体の配置位置を認識するピッキング・システムにあっては、物体の一定間隔の縦および横の認識ラインにおける高さ方向の距離を取得し、当該距離に基づいて、山部評価による配置パターン検出をおこなわれる。
【０００３】
また、先行技術として、画像の走査線を選択し、選択された走査線の画素間の変化と呼ばれる最小強度差を特定し、特定された変化の両端で平坦域を特定し、特定された平坦域の間で対象物の輪郭点を決定することで、画像内の対象物の輪郭点を検出する技術がある（たとえば、下記特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１０８２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術にあっては、物体の配置具合によっては、物体の中心位置を誤検出してしまう場合があるという問題点がある。そして、物体の中心位置を誤検出することによって、物体のピッキングに失敗したり、ピッキングされた物体が途中で落下してしまう虞れがあったりして、ピッキングを効率的におこなうことができないという問題点がある。
【０００６】
一つの側面では、本発明は、配置された物体の中心点の位置を精度良く検出することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、物体が載置された平面の第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第２の方向に延びる第２の認識ラインの候補を複数決定し、決定された複数の候補における前記物体の前記第３の方向の距離に基づいて、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離を求め、前記第１の距離と、前記第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、特定された前記物体枠から、当該物体枠の中心点を特定する物体検出方法、物体検出プログラムおよび物体検出装置が提案される。
【発明の効果】
【０００８】
本発明の一側面によれば、配置された物体の中心点の位置を精度良く検出することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる物体検出装置を含むピッキング・システムの外観の一例を示す説明図である。
【図２】図２は、実施の形態にかかる物体検出装置の一連の処理の手順の一例を示すフローチャートである。
【図３】図３は、認識ラインの決定処理の内容を示す説明図である。
【図４】図４は、物体の中心部の位置および第２の認識ライン方向における両端部の位置の特定処理の内容を示す説明図である。
【図５】図５は、第１の認識ライン方向における両端部の位置の特定処理および物体枠の特定処理の内容を示す説明図である。
【図６】図６は、物体枠の中心点の特定処理の内容を示す説明図である。
【図７】図７は、ドーナツ型の形状の物体による影響について示す説明図である。
【図８】図８は、物体の不整列による影響について示す説明図である。
【図９】図９は、第２の認識ラインの特定処理および第２の距離の取得処理の手順の一例を示すフローチャートである。
【図１０】図１０は、３つの認識ライン候補の決定処理の内容を示す説明図である。
【図１１】図１１は、各認識ライン候補のＺ方向の距離の取得処理の内容を示す説明図である。
【図１２Ａ】図１２Ａは、最適な認識ラインの決定処理の内容を示す説明図（その１）である。
【図１２Ｂ】図１２Ｂは、最適な認識ラインの決定処理の内容を示す説明図（その２）である。
【図１３】図１３は、最適な認識ラインを決定する際の評価項目の内容を示す説明図である。
【図１４Ａ】図１４Ａは、最適な認識ラインによる第２の距離の編集の内容を示す説明図（その１）である。
【図１４Ｂ】図１４Ｂは、最適な認識ラインによる第２の距離の編集の内容を示す説明図（その２）である。
【図１５Ａ】図１５Ａは、最適な認識ラインによる第２の距離の別の編集の内容を示す説明図（その１）である。
【図１５Ｂ】図１５Ｂは、最適な認識ラインによる第２の距離の別の編集の内容を示す説明図（その２）である。
【図１６】図１６は、実施の形態にかかる物体検出装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかる物体検出方法、物体検出プログラムおよび物体検出装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態）
（物体検出装置の概要）
図１は、実施の形態にかかる物体検出装置を含むピッキング・システムの外観の一例を示す説明図である。図１において、容器（たとえば、番重など）１００内には、物体（たとえば、袋詰めされたパン、菓子など）１０１が載置されている。なお、図１においては、袋（包装紙）は省略している。
【００１２】
また、ピッキング・システムは、測定部（たとえば、距離センサ）１１０と、ピッキング部材（たとえば、ピッキングハンド）１２０と、を備えている。
【００１３】
測定部（距離センサ）１１０の一例であるＫｉｎｅｃｔセンサは、生成する距離画像を利用して、物体の凹凸により位置を特定する。測定部１１０が測定する距離は、容器１００の底面をＸＹ平面としたとき、Ｚ方向（高さ方向）の距離である。この距離に関する情報は、Ｘ方向およびＹ方向のそれぞれに沿った複数点で取得する。
【００１４】
測定部１１０による距離画像の生成は、ピッキング部材１２０によって物体がピッキングされるごとにおこなわれ、その都度、その距離画像に基づいて、残された物体の物体枠の中心点を特定する。
【００１５】
ピッキング部材（たとえば、ピッキングハンド）１２０は、バキューム式のロボットハンドであり、物体１０１の中心点付近へ移動して、物体を吸着し、吸着した状態で、物体を所定の場所（たとえば、配送用の別の容器の所定の位置）へ搬送し、吸着を解除する。図示は省略するが、ピッキングハンドは物量の多い物体（製品）の配置パターンに合わせて２個同時ピッキングが可能な配置にしてもよい。これにより物量の多い物体の仕分け処理の効率を上げることができる。
【００１６】
その際、吸引力が強すぎると、包装紙がしわになり、物品（商品）の品質が低下するので、それを抑えるために、できるだけ吸引力を下げたい。そのために、より正確な物体の中心点を取得することが重要である。
【００１７】
（物体検出装置の処理の手順）
図２は、実施の形態にかかる物体検出装置の一連の処理の手順の一例を示すフローチャートである。このフローチャートに示した一連の処理により、ピッキング部材１２０が、物体１０１をピッキングするために必要な中心点を特定することができる。また、中心点の特定処理までの各処理の具体的な一連の流れの詳細について、図３〜図６を用いて説明する。
【００１８】
図２のフローチャートにおいて、物体検出装置の処理部は、まず、第１の方向を決定する（ステップＳ２０１）。第１の方向とは、物体が載置された平面の任意の一方向である。具体的には、たとえば、物体が載置される矩形の容器の縦方向または横方向であるとよい。
【００１９】
第１の方向は、物体の第３の方向（すなわち、平面に対する高さ方向（Ｚ方向））の距離のばらつきに基づいて決定するようにしてもよい。より具体的には、物体が載置された平面におけるそれぞれ直交する２つの方向のうち、当該２つの方向における物体の第３の方向の距離の変化パターン（たとえば、山部）のばらつきが小さい方向を、第１の方向に決定するようにしてもよい。
【００２０】
つぎに、第１の認識ラインによる第１の距離を取得する（ステップＳ２０２）。第１の認識ラインとは、平面における第１の方向に直交する第２の方向に所定の間隔で定められた複数の第１の方向に延びる認識ラインである。第２の方向は、第１の方向をＸ方向とした場合に、Ｘ方向に直交するＹ方向である。第１の距離とは、第１の認識ラインにおける、物体の平面に直交する第３の方向（Ｚ方向）の距離であり、いわゆる物体の高さに相当する。第１の距離の取得は、複数存在する第１の認識ラインごとにそれぞれおこない、それらの距離を集めることで、距離の変化パターンとなる。
【００２１】
つぎに、第２の認識ラインを決定する（ステップＳ２０３）。第２の認識ラインは、第２の方向（Ｙ方向）に延びる認識ラインである。より具体的には、複数の第２の認識ライン候補である（複数の第２の認識ラインの内容についての詳細は後述する）。第２の認識ラインは、第１の認識ラインの第１の距離に基づいて決定する。この際、第２の認識ラインは、第１の認識ラインごとの第１の距離に基づいて決定するようにしてもよい。具体的には、たとえば、第１の距離の変化パターンにおける山部の位置を、第２の認識ラインの位置とするようにしてもよい。
【００２２】
つぎに、第２の認識ラインによる第２の距離を取得する（ステップＳ２０４）。第２の距離とは、第２の認識ラインにおける物体の第３の方向（Ｚ方向）の距離である。
【００２３】
このステップＳ２０３およびＳ２０４の処理において、後述する図９のフローチャートに示す第２の認識ラインの特定処理および第２の距離の取得処理をおこなう。これらの処理の詳細については後述する。
【００２４】
つぎに、物体の中心部の位置を特定する（ステップＳ２０５）。ステップＳ２０２において取得した第１の距離と、ステップＳ２０４において取得した第２の距離と、に基づいて、物体の中心部の位置を特定する。具体的には、たとえば、第２の距離の変化パターンにおける山部の位置を、物体の第２の方向における中心部の位置とし、その中心部の位置に存在する第２の認識ラインの位置を第１の方向における中心部の位置とするようにしてもよい。原則として、存在する物体の数と同数の中心部の位置を特定する。
【００２５】
また、第２の認識ライン方向における両端部の位置を特定する（ステップＳ２０６）。ステップＳ２０５において物体の中心部の位置を特定するとともに、中心部の位置が特定できた物体の両端部の位置を、ステップＳ２０２において取得した第１の距離と、ステップＳ２０４において取得した第２の距離と、に基づいて特定する。具体的には、たとえば、第２の距離の変化パターンにおける谷部の位置を、物体の第２の方向における両端部の位置とするようにしてもよい。
【００２６】
つぎに、第３の距離を取得する（ステップＳ２０７）。第３の距離とは、ステップＳ２０５において特定した物体の中心部を通る、第１の認識ラインと平行（すなわちＸ方向）の認識ラインにおける第３の方向（Ｚ方向）の距離である。特定した物体の各中心部ごとに第３の距離をそれぞれ取得する。
【００２７】
つぎに、第１の認識ライン方向における両端部の位置を特定する（ステップＳ２０８）。ステップＳ２０７において取得した第３の距離に基づいて、物体の第１の方向における両端部の位置を特定する。具体的には、たとえば、第３の距離の変化パターンにおける谷部の位置を、物体の第１の方向における両端部の位置とするようにしてもよい。
【００２８】
つぎに、物体枠を特定する（ステップＳ２０９）。物体枠とは、物体を囲む枠であり、第１の方向と第２の方向を各辺とする矩形枠である。ステップＳ２０６において特定された物体の第２の方向における両端部の位置およびステップＳ２０８において特定された物体の第１の方向における両端部の位置から、物体が位置する物体枠を特定する。
【００２９】
つぎに、物体枠の中心点を特定する（ステップＳ２１０）。ステップＳ２０９において特定された物体が位置する物体枠（矩形枠）の対角の頂点を結んだ直線の交点を中心点として特定するようにすればよい。これによって、一連の処理を完了する。
【００３０】
（第１の方向の決定処理）
つぎに、図２のフローチャートのステップＳ２０１で示した第１の方向の決定処理の内容について説明する。ステップＳ２０１の第１の方向の決定処理では、両方向における物体の並びがより揃っている方、すなわち、物体の配置のばらつきがより小さい方の方向を第１の方向とする。
【００３１】
より具体的には、Ｘ方向とＹ方向における物体の配置のばらつきを比較するために、各方向に所定の間隔で設けられた認識ラインにおけるＺ方向の距離を取得する。そして、それぞれの方向ごとの距離におけるデータのばらつきの大きさを表す標準偏差の平均値を取得し、その平均値がより小さい方が、ばらつきが小さいと判断する。
【００３２】
このようにして、容器１００のＸ方向とＹ方向のいずれかの方向を第１の方向に決定する。第１の方向の決定方法は、この方法には限定されず、別の方法によって第１の方向を決定するようにしてもよい。
【００３３】
（第１の認識ラインによる第１の距離の取得処理）
つぎに、図２のフローチャートのステップＳ２０２で示した第１の認識ラインによる第１の距離の取得処理の内容について、図３を用いて説明する。図３は、認識ラインの決定処理の内容を示す説明図であり、容器１００内に載置された物体１０１を上から見た上面図を示している。すなわち、図３（後述する図４〜図６も同じ）は、測定部（距離センサ）１１０の一例であるＫｉｎｅｃｔセンサから見た状態を示している。
【００３４】
図３において、容器１００には、４つの物体３０１Ａ（図３における左上）、３０１Ｂ（図３における左下）、３０１Ｃ（図３における右上）、３０１Ｄ（図３における右下）が載置されている。そして、容器１００の横方向（Ｘ方向）が第１の方向として決定されている。したがって、Ｘ方向に延びる第１の認識ライン３１１〜３１８が所定の間隔（図３においては等間隔）で設けられている。
【００３５】
また、図３において、第１の距離データ３２１は、第１の認識ライン３１１において取得した第３の方向（Ｚ方向）の距離データである。第１の距離データ３２１によって、第１の認識ライン３１１における第３の方向（Ｚ方向）の距離の変化パターンがわかる。
【００３６】
同様に、第１の距離データ３２２は、第１の認識ライン３１２において取得したＺ方向の距離データであり、第１の距離データ３２３は、第１の認識ライン３１３において取得したＺ方向の距離データであり、第１の距離データ３２４は、第１の認識ライン３１４において取得したＺ方向の距離データである。第１の認識ライン３１５〜３１８における第１の距離データについてもそれぞれ取得するが、それらの図示は省略する。
【００３７】
第１の距離データ３２１において、その変化のパターンを見ると、左右に２つの山部が存在する。左側の山部は、物体３０１Ａに対応する山部である。一方、右側の山部は、物体３０１Ｃに対応する山部である。
【００３８】
このようにして、第１の認識ライン３１１〜３１８による第１の距離を取得することができる。
【００３９】
（第２の認識ラインの決定処理および第２の認識ラインによる第２の距離の取得処理）
つぎに、図２のフローチャートのステップＳ２０３で示した第２の認識ラインの決定処理の内容について、引き続き、図３を用いて説明する。
【００４０】
図３において、第１の認識ライン３１１上における左側の山部のＸ方向の座標位置を通るＹ方向に延びるライン３５１を、物体３０１Ａに対応する、第１の認識ライン３１１における第２の認識ラインとして決定する。また、第１の認識ライン３１１上における右側の山部のＸ方向の座標位置を通るＹ方向に延びるライン３６１を、物体３０１Ｃに対応する、第１の認識ライン３１１における第２の認識ラインとして決定する。
【００４１】
同様に、第１の認識ライン３１２上における左側の山部のＸ方向の座標位置を通るＹ方向に延びるライン３５２を、物体３０１Ａに対応する、第１の認識ライン３１２における第２の認識ラインとして決定する。また、第１の認識ライン３１２上における右側の山部のＸ方向の座標位置を通るＹ方向に延びるライン３６２を、物体３０１Ｃに対応する、第１の認識ライン３１２における第２の認識ラインとして決定する。
【００４２】
同様に、第１の認識ライン３１３上における左側の山部のＸ方向の座標位置を通るＹ方向に延びるライン３５３を、物体３０１Ａに対応する、第１の認識ライン３１３における第２の認識ラインとして決定する。また、第１の認識ライン３１３上における右側の山部のＸ方向の座標位置を通るＹ方向に延びるライン３６３を、物体３０１Ｃに対応する、第１の認識ライン３１３における第２の認識ラインとしている。
【００４３】
同様に、第１の認識ライン３１４上における左側の山部のＸ方向の座標位置を通るＹ方向に延びるライン３５４を、物体３０１Ａに対応する、第１の認識ライン３１４における第２の認識ラインとして決定する。また、第１の認識ライン３１４上における右側の山部のＸ方向の座標位置を通るＹ方向に延びるライン３６４を、物体３０１Ｃに対応する、第１の認識ライン３１４における第２の認識ラインとして決定する。
【００４４】
なお、図３においては、物体３０１Ａにおいて決定された第２の認識ライン３５１〜３５４は複数の直線から構成されているが、たとえば、その中のいずれか１本（たとえば、最も真ん中に存在する１本）を選択するようにしてもよい。あるいは、これらの複数の直線の平均値などに基づいて、物体３０１Ａに対して１本の直線から構成されるようにしてもよい（図示は省略）。したがって、第２の認識ライン３５１〜３５４のそれぞれに複数の第２の認識ライン候補を設けるようにしてもよく、１本の直線に対して複数の第２の認識ライン候補を設けるようにしてもよい。以下、物体３０１Ｂ〜３０１Ｄにおいても同様である。
【００４５】
また、物体３０１Ｂにおいては、第１の認識ライン３１５に対応する第２の認識ライン３５５、第１の認識ライン３１６に対応する第２の認識ライン３５６、第１の認識ライン３１７に対応する第２の認識ライン３５７、第１の認識ライン３１８に対応する第２の認識ライン３５８を、それぞれ決定する。
【００４６】
また、物体３０１Ｄにおいては、第１の認識ライン３１５に対応する第２の認識ライン３６５、第１の認識ライン３１６に対応する第２の認識ライン３６６、第１の認識ライン３１７に対応する第２の認識ライン３６７、第１の認識ライン３１８に対応する第２の認識ライン３６８をそれぞれ決定する。
【００４７】
このようにして、第２の認識ラインは、第１の認識ラインごとのそれぞれの第１の距離に基づいて、第１の距離の変化パターンにおける山部の位置を、第２の認識ラインの位置とすることにより、第１の認識ラインごとに決定することができる。
【００４８】
図３においては、図示を省略するが、第２の認識ライン３５１〜３５８、３６１〜３６８には複数の認識ライン候補が存在し、その候補の中から最適な第２の認識ラインを決定する（詳細については図９、図１０などを用いて後述する）。以後、第２の認識ライン３５１〜３５８、３６１〜３６８は、最適な第２の認識ラインであり、また、必要に応じて編集されたラインである。
【００４９】
つぎに、図２のフローチャートのステップＳ２０４で示した第２の認識ラインによる第２の距離の取得処理の内容について、図４を用いて説明する。図４は、物体の中心部の位置および第２の認識ライン方向における両端部の位置の特定処理の内容を示す説明図であり、図３と同様に、容器１００内に載置された物体１０１を上から見た上面図である。
【００５０】
図４において、第２の距離データ４２１は、最適な第２の認識ライン３６１〜３６８において取得した第３の方向（Ｚ方向）の距離データである。第２の距離データ４２１によって、第２の認識ライン３６１〜３６８における第３の方向（Ｚ方向）の距離の変化パターンがわかる。最適な第２の認識ライン３５１〜３５８における距離データについても第２の距離データを取得するが、その図示は省略する。
【００５１】
第２の距離データ４２１において、その変化のパターンを見ると、左右（図４においては上下）に２つの山部が存在する。左側（図４における上側）の山部は、物体３０１Ｃに対応する山部である、一方、右側（図４における下側）の山部は、物体３０１Ｄに対応する山部である。
【００５２】
このようにして、第２の認識ライン３５１〜３５８、および、第２の認識ライン３６１〜３６８による第２の距離を取得することができる。
【００５３】
なお、図４においては、第２の認識ライン３５１〜３５８、３６１〜３６８を最適な第２の認識ラインとして、また、第２の距離データ４２１は、必要な編集がなされたものであるとして、以降は説明する（最適な第２の認識ラインの決定、および第２の距離の編集の内容については、後述する図９〜図１５Ｂを用いて詳細に説明する）。
【００５４】
（物体の中心部の位置の特定処理）
つぎに、図２のフローチャートのステップＳ２０５で示した物体の中心部の位置の特定処理の内容について、引き続き、図４を用いて説明する。
【００５５】
図４において、第２の距離の変化パターンにおける左側の山部４３１に対応する第２の認識ライン３６２における、山部４３１のＹ方向の座標位置を、物体３０１Ｃの中心部４０１Ｃの位置と特定する。
【００５６】
山部４３１のピークの変化パターンの形状によっては、物体３０１Ｃの中心部４０１Ｃの位置を、山部４３１のＹ方向の座標位置とする際、その中心座標は、第１の認識ライン３１２と、第１の認識ライン３１２の隣の第１の認識ライン３１１および第１の認識ライン３１３のそれぞれの中間ラインを中心座標の上限および下限として中心部４０１Ｃの位置を決定するようにしてもよい。
【００５７】
また、第２の距離の変化パターンにおける右側の山部４３２に対応する第２の認識ライン３６７における、山部４３２のＹ方向の座標位置を、物体３０１Ｄの中心部４０１Ｄの位置と特定する。物体３０１Ａの中心部４０１Ａ、物体３０１Ｂの中心部４０１Ｂも同様の処理によって特定する。
【００５８】
このように、第２の距離の変化パターンにおける山部の位置を、物体３０１Ａ〜３０１Ｄの第２の方向（Ｙ方向）における中心部の位置とし、その中心部の位置に存在する第２の認識ラインの位置を第１の方向（Ｘ方向）における中心部の位置とする。これにより、第１の距離と第２の距離とに基づいて、物体３０１Ａ〜３０１Ｄの中心部４０１Ａ〜４０１Ｄの位置を特定することができる。
【００５９】
（第２の認識ライン方向における両端部の位置の特定処理）
つぎに、図２のフローチャートのステップＳ２０６で示した第２の認識ライン方向における両端部の位置の特定処理の内容について、引き続き、図４を用いて説明する。
【００６０】
図４において、第２の距離データ４２１の変化パターンにおける、山部４３１を挟んだ両側の谷部４４１および４４２のＹ方向の座標位置を、それぞれ物体３０１Ｃの両端部の位置として特定する。そして、この両端部の位置に基づいて、物体３０１Ｃの物体枠の横方向（Ｘ方向）の各辺４５０Ｃおよび４６０Ｃが決まる。
【００６１】
同様に、第２の距離データ４２１の変化パターンにおける、山部４３２を挟んだ両側の谷部４４２および４４３のＹ方向の座標位置を、それぞれ物体３０１Ｄの両端部の位置として特定する。そして、この両端部の位置に基づいて、物体３０１Ｄの物体枠の横方向（Ｘ方向）の各辺４５０Ｄおよび４６０Ｄが決まる。物体３０１Ａおよび物体３０１Ｂの両端部も同様の処理によって特定する。図示は省略するが、物体３０１Ａ、３０１Ｂの物体枠の横方向（Ｘ方向）の各辺も決まる。
【００６２】
このように、中心部の位置が特定できた物体の両端部の位置を、第１の距離と、第２の距離と、に基づいて特定することができる。
【００６３】
（第３の距離の取得処理）
つぎに、図２のフローチャートのステップＳ２０７で示した第３の距離の取得処理の内容について、図５を用いて説明する。図５は、第１の認識ライン方向における両端部の位置の特定処理および物体枠の特定処理の内容を示す説明図であり、図３、図４と同様に、容器１００内に載置された物体１０１を上から見た上面図である。
【００６４】
図５において、まず、物体３０１Ａの各中心部４０１Ａの位置を通る、第１の認識ラインと平行（すなわち、Ｘ方向）の認識ライン５０１Ａを設ける。そして、認識ライン５０１ＡにおけるＺ方向の第３の距離（図示を省略）を取得する。
【００６５】
同様に、物体３０１Ｂの各中心部４０１Ｂの位置を通る、第１の認識ラインと平行（すなわち、Ｘ方向）の認識ライン５０１Ｂを設ける。そして、認識ライン５０１ＢにおけるＺ方向の第３の距離（図示を省略）を取得する。
【００６６】
同様に、物体３０１Ｃ、３０１Ｄの各中心部４０１Ｃ、４０１Ｄの位置を通る、認識ライン５０１Ｃ、５０１Ｄを設け、そして、認識ライン５０１Ｃ、５０１ＤにおけるＺ方向の第３の距離（図示を省略）を取得する。
【００６７】
（第１の認識ライン方向における両端部の位置の特定処理）
つぎに、図２のフローチャートのステップＳ２０８で示した第１の認識ライン方向における両端部の位置の特定処理の内容について、引き続き、図５を用いて説明する。
【００６８】
図５において、第３の距離の変化パターンにおける、山部を挟んだ両側の谷部の位置を、それぞれ、物体３０１Ａの両端部の位置として特定する。そして、その両端部の位置に基づいて、物体３０１Ａの物体枠の縦方向（Ｙ方向）の各辺５５０Ａおよび５６０Ａが決まる。
【００６９】
同様に、物体３０１Ｂについて認識ライン５０１Ｂを設け、認識ライン５０１ＢにおけるＺ方向の第３の距離を取得する。そして、第３の距離の変化パターンにおける、山部を挟んだ両側の谷部の位置を、それぞれ、物体３０１Ｂの両端部の位置として特定する。そして、その両端部の位置に基づいて、物体３０１Ｂの物体枠の縦方向（Ｙ方向）の各辺５５０Ｂおよび５６０Ｂが決まる。
【００７０】
物体３０１Ｃ、３０１Ｄにおいても、同様に、山部を挟んだ両側の谷部の位置を、それぞれ、物体３０１Ｃ、物体３０１Ｄの両端部の位置として特定し、それによって、物体３０１Ｃ、物体３０１Ｄの物体枠の縦方向（Ｙ方向）の各辺５５０Ｃおよび５６０Ｃ、各辺５５０Ｄおよび５６０Ｄが決まる。
【００７１】
（物体枠の特定処理）
つぎに、図２のフローチャートのステップＳ２０９で示した物体枠の特定処理の内容について、引き続き、図５を用いて説明する。
【００７２】
物体３０１Ａにおいては、物体３０１Ａの物体枠の横方向（Ｘ方向）の各辺４５０Ａおよび４６０Ａと、縦方向（Ｙ方向）の各辺５５０Ａおよび５６０Ａの４つの辺で囲まれた枠（矩形枠）を物体枠として特定する。
【００７３】
物体３０１Ｂにおいては、物体３０１Ｂの物体枠の横方向（Ｘ方向）の各辺４５０Ｂおよび４６０Ｂと、縦方向（Ｙ方向）の各辺５５０Ｂおよび５６０Ｂの４つの辺で囲まれた枠（矩形枠）を物体枠として特定する。
【００７４】
物体３０１Ｃにおいても、同様に、各辺４５０Ｃと、４６０Ｃと、５５０Ｃと、５６０Ｃの４つの辺で囲まれた枠（矩形枠）を物体枠として特定する。また、物体３０１Ｄにおいても、同様に、各辺４５０Ｄと、４６０Ｄと、５５０Ｄと、５６０Ｄの４つの辺で囲まれた枠（矩形枠）を物体枠として特定する。
【００７５】
このようにして、特定された物体の第２の方向における両端部の位置および物体の第１の方向における両端部の位置から、物体が位置する物体枠を特定することができる。
【００７６】
（物体枠の中心点の特定処理）
つぎに、図２のフローチャートのステップＳ２１０で示した物体枠の中心点の特定処理の内容について、図６を用いて説明する。図６は、物体枠の中心点の特定処理の内容を示す説明図であり、容器１００内に載置された物体１０１を上から見た上面図およびである。
【００７７】
図６において、物体３０１Ａにおいて、各辺４５０Ａ、４６０Ａ、５５０Ａ、５６０Ａの４つの辺で囲まれた物体枠（矩形枠）の対角の頂点を結んだ交点を中心点６０１Ａとする。この中心点６０１Ａの位置は、図２のフローチャートのステップＳ２０５で特定した物体の中心部の位置とは、必ずしも一致しない。
【００７８】
同様に、物体３０１Ｂにおいて、各辺４５０Ｂ、４６０Ｂ、５５０Ｂ、５６０Ｂの４つの辺で囲まれた物体枠（矩形枠）の対角の頂点を結んだ交点を中心点６０１Ｂとする。また、物体３０１Ｃにおいて、各辺４５０Ｃ、４６０Ｃ、５５０Ｃ、５６０Ｃの４つの辺で囲まれた物体枠（矩形枠）の対角の頂点を結んだ交点を中心点６０１Ｃとする。また、物体３０１Ｄにおいて、各辺４５０Ｄ、４６０Ｄ、５５０Ｄ、５６０Ｄの４つの辺で囲まれた物体枠（矩形枠）の対角の頂点を結んだ交点を中心点６０１Ｄとする。
【００７９】
このように、特定された物体枠から、当該物体枠の中心点を特定することができる。
【００８０】
（ドーナツ型の形状の物体の影響）
つぎに、図２に示したステップＳ２０３において決定した第２の認識ラインによるドーナツ型の形状の物体による影響について説明する。図７は、ドーナツ型の形状の物体による影響について示す説明図である。
【００８１】
図７において、ドーナツ型の形状の物体７００Ａ〜７００Ｄが並んで配置されている。各物体７００Ａ〜７００Ｄのドーナツ形状の中央部分には、（物体を貫通している）孔、または、（物体がへこむことで形成される）穴が存在する。このような形状の物体について、認識ライン７０１において物体７００Ａ〜７００Ｄの第３の方向（Ｚ方向）の第２の距離（高さ）を取得すると、距離の変化パターン７１１のようになる。
【００８２】
図７に示すように、認識ライン７０１は、物体７００Ａ〜７００Ｄの中心部付近の認識ラインであるにもかかわらず、この距離の変化パターン７１１では、山谷の関係が不明確になり、物体の両端なのか中央部なのかがわからず、正しい認識結果とはならない。したがって、物体７００Ａ〜７００Ｄの中心部付近を通るように認識ラインを定めたとしても、物体（枠）を正確に把握することができない場合がある。
【００８３】
（不整列の影響）
つぎに、図２に示したステップＳ２０３において決定した第２の認識ラインによる、物体の不整列による影響について説明する。図８は、物体の不整列による影響について示す説明図である。
【００８４】
第２の認識ラインを定める場合は、できるだけ物体の中心部付近を通るようにその位置を推測するようにしている。しかしながら、物体が不整列である場合には、他の物体の影響などによって、必ずしも、第２の認識ラインが物体の中心部付近を通らない場合がある。また、他の物体だけでなく、物体を包む包装材などの影響によっても、第２の認識ラインが物体の中心部付近を通らない場合がある。
【００８５】
図８において、物体８００Ａ〜８００Ｄが不整列に配置されている。各認識ライン８０１Ａ〜８０１Ｄは、それぞれ物体８００Ａ〜８００Ｄの中心部付近を通るように推測するようにしているが、物体８００Ｄにおける認識ライン８０１Ｄは、中心部からは外れている。
【００８６】
このような状態で、認識ライン８０１Ａにおいて物体８００Ａの第３の方向（Ｚ方向）の距離（高さ）を取得する。同様に、認識ライン８０１Ｂにおいて物体８００Ｂ、認識ライン８０１Ｃにおいて物体８００Ｃ、認識ライン８０１Ｄにおいて物体８００Ｄのそれぞれの第３の方向（Ｚ方向）の第２の距離（高さ）を取得すると、距離の変化パターン８１１のようになる。
【００８７】
距離の変化パターン８１１において、１つ目（物体８００Ａ）、２つ目（物体８００Ｂ）、３つ目（物体８００Ｃ）については、山谷の関係が明確となっており、３つの物体を認識することはできるが、物体８０１Ｄについては、その物体に対応する距離の変化パターン８１１の部分８１２において、山部が形成されていないことから、物体として認識することができない。
【００８８】
このように、物体の形状、不整列による他の物体の影響、物体を包む包装材などの影響により、距離の変化パターンが明確な形状を示すことができないため、物体（枠）の正しい認識ができない場合がある。そこで、第２の認識ラインについて複数候補を設けて、複数の候補に基づいて、最適な第２の認識ラインおよび最適な第２の認識ラインによる第２の距離を取得するようにする。
【００８９】
（第２の認識ラインの特定処理および第２の距離の取得処理）
第２の認識ラインの特定処理および第２の認識ラインによる第２の距離の取得処理の内容について説明する。図９は、第２の認識ラインの特定処理および第２の距離の取得処理の手順の一例を示すフローチャートである。図９のフローチャートにも示すように、以下の４つの処理（ステップＳ９０１〜Ｓ９０４）によって、図２のフローチャートに示した、第２の認識ラインの決定処理（ステップＳ２０３）および第２の認識ラインによる第２の距離の取得処理（ステップＳ２０４）の処理を実現する。
【００９０】
図９のフローチャートにおいて、物体検出装置の処理部は、まず、複数（たとえば、３つ）の認識ライン候補を決定する（ステップＳ９０１）。３つの認識ライン候補の決定処理は、後述する図１０を用いて、詳細に説明する。
【００９１】
そして、ステップＳ９０１において決定された３つの認識ライン候補のそれぞれのＺ方向の距離を取得する（ステップＳ９０２）。３つの認識ライン候補のそれぞれのＺ方向の距離の変化パターンについては、後述する図１１に示す。
【００９２】
つぎに、ステップＳ９０２において取得した３つの認識ライン候補のそれぞれのＺ方向の距離に基づいて、３つの認識ライン候補から最適な第２の認識ラインを一つ決定する（ステップＳ９０３）。最適な認識ラインの決定処理は、後述する図１２Ａ、図１２Ｂ、図１３を用いて、詳細に説明する。
【００９３】
その後、必要に応じて、ステップＳ９０３において決定された最適な認識ラインによる第２の距離の編集をおこなう（ステップＳ９０４）。すなわち、所定の条件を満たす場合は、最適な認識ラインによる第２の距離の変化パターンを追加したり、削除したり、入れ替えたりする。
【００９４】
最適な認識ラインによる第２の距離の編集処理は、後述する図１４Ａ、図１４Ｂ、図１５Ａ、図１５Ｂを用いて、詳細に説明する。
【００９５】
これにより、第２の認識ラインの特定および第２の距離の取得の一連の処理を終了する。このように、図９に示すフローチャートにしたがい、最適な第２の認識ラインによる第２の距離、あるいは、当該第２の距離について、必要に応じて編集処理された距離を求めることができる。
【００９６】
（３つの認識ライン候補の決定処理）
図１０は、３つの認識ライン候補の決定処理の内容を示す説明図である。図１０において、物体１０００の中心部付近の位置を推測し、その位置を通る認識ライン候補を、中心推測ライン１００２（実線）とする。たとえば、図２に示したフローチャートのステップＳ２０３において決定される第２の認識ラインを、中心推測ライン１００２としてもよく、また、別の方法により、物体ごとにその中心部付近を推測するようにしてもよい。
【００９７】
そして、物体に関する情報の一つである、物体１０００の標準サイズに関する情報に基づいて、図１０において、中心推測ライン１００２よりも上側の上段認識ライン１００１（破線）を決定する。同様に、図１０において、中心推測ライン１００２よりも下側の下段認識ライン１００３（点線）を決定する。これらの上側の上段認識ライン１００１、中心推測ライン１００２、下段認識ライン１００３が第２の認識ライン候補である。
【００９８】
具体的には、上段認識ライン１００１は、中心推測ライン１００２から標準サイズの所定比率（たとえば２５％）だけ上側の位置とし、下段認識ライン１００３は、中心推測ライン１００２から標準サイズの所定比率（たとえば２５％）だけ下側の位置とするとよい。
【００９９】
したがって、図３においては、第２の認識ライン３５１〜３５８が、中心推測ラインであり、その両端には、図示を省略するが、上段認識ラインと下段認識ラインが存在するようにしてもよい。第２の認識ライン３５１〜３５８と同様に、第２の認識ライン３６１〜３６８も中心推測ラインであり、その両端には、図示を省略するが、上段認識ラインと下段認識ラインが存在するようにしてもよい。
【０１００】
また、図１０に示すように、上段認識ライン１００１、中心推測ライン１００２、下段認識ライン１００３は、互いに平行で、かつ、等間隔の認識ライン候補とすることができる。ただし、第２の認識ライン候補は、このような等間隔のラインに限るものではなく、それぞれの間隔が異なっていてもよい。また、第２の認識ライン候補は、３つに限るものではなく、２つであってもよく、また４つ以上であってもよい。
【０１０１】
このようにして、複数の第１の方向（Ｘ方向）に延びる第１の認識ラインにおける、第３の方向（Ｚ方向）の第１の距離に基づいて、第１の認識ラインごとに、第２の方向（Ｙ方向）に延びる複数の第２の認識ラインの候補を複数決定することができる。
【０１０２】
（各認識ライン候補のＺ方向の距離の取得処理）
図１１は、各認識ライン候補のＺ方向の距離の取得処理の内容を示す説明図である。図１１において、破線１１０１は、上段認識ラインにおけるＺ方向の距離であり、実線１１０２は、中心推測ラインにおけるＺ方向の距離であり、点線１１０３は、下段認識ラインにおけるＺ方向（高さ方向）の距離である。
【０１０３】
図１１に示すように、取得された各認識ライン（候補）におけるＺ方向の距離の変化パターンの山谷の形状により、物体の数が認識できる。図１１では、いずれの認識ライン（候補）においても、４つの物体が並んでいることがわかる。
【０１０４】
このようにして、決定された複数の候補における第３の方向（Ｚ方向）の距離を取得することができる。
【０１０５】
（最適な認識ラインの決定処理）
つぎに、決定された複数の候補における物体の第３の方向（Ｚ方向）の距離に基づいて、最適な第２の認識ラインを決定する決定処理の手順について説明する。図１２Ａおよび図１２Ｂは、最適な認識ラインの決定処理の内容を示す説明図である。
【０１０６】
図１２Ａにおいて、図の上側に、物体１２００Ａ〜１２００Ｄの４つの物体が不整列に配置されており、各物体１２００Ａ〜１２００Ｄのそれぞれの横方向の中心部付近の位置を推測し、その位置を通る認識ライン候補を、中心推測ライン１２０２Ａ〜１２０２Ｄ（実線）としている。
【０１０７】
また、中心推測ライン１２０２Ａ〜１２０２Ｄ（実線）の上側に、上段認識ライン１２０１Ａ〜１２０１Ｄ（破線）を設け、中心推測ライン１２０２Ａ〜１２０２Ｄ（実線）の下側に、下段認識ライン１２０３Ａ〜１２０３Ｄ（点線）を設けている。
【０１０８】
また、図の下側において、上段の破線１２１１は、上段認識ライン１２０１Ａ〜１２０１ＤにおけるＺ方向の距離であり、中段の実線１２１２は、中心推測ライン１２０２Ａ〜１２０２ＤにおけるＺ方向の距離であり、下段の点線１２１３は、下段認識ライン１２０３Ａ〜１２０３ＤにおけるＺ方向（高さ方向）の距離である。
【０１０９】
３つのＺ方向の距離の変化パターンから、山部および谷部（底部）を検出し、既知情報である物体の個数、物体の標準サイズに基づいて、既知情報に最も適合する変化パターンにかかる第２認識ライン候補を決定する。
【０１１０】
図１２Ａにおいては、中段の実線１２１２が既知情報の物体の個数、物体の標準サイズに最も適合すると判断できる。したがって、図１２Ａにおいては、中心推測ライン１２０２Ａ〜１２０２Ｄ（実線）を最適な第２の認識ラインに決定する。
【０１１１】
図１２Ｂは、最適な認識ラインの決定処理の別の内容を示す説明図である。図１２Ｂにおいて、図の上側に、物体１２５０Ａ〜１２５０Ｄの４つの物体が配置されており、各物体１２５０Ａ〜１２５０Ｄのそれぞれの横方向の中心部付近の位置を推測し、その位置を通る認識ライン候補を、中心推測ライン１２５２（実線）としている。
【０１１２】
また、中心推測ライン１２５２（実線）の上側に、上段認識ライン１２５１（破線）を設け、中心推測ライン１２５２の下側に、下段認識ライン１２５３（点線）を設けている。
【０１１３】
また、物体１２５０Ａ〜１２５０Ｄの下側において、上段の破線１２６１は、上段認識ライン１２５１におけるＺ方向の距離であり、中段の実線１２６２は、中心推測ライン１２５２におけるＺ方向の距離であり、下段の点線１２６３は、下段認識ライン１２５３におけるＺ方向（高さ方向）の距離である。
【０１１４】
３つのＺ方向の距離の変化パターンから、山部および谷部（底部）を検出し、既知情報である物体の個数、物体の標準サイズに基づいて、当該既知情報である物体の個数、物体の標準サイズに最も適合する変化パターンにかかる第２認識ライン候補を決定する。
【０１１５】
図１２Ｂにおいては、上段認識ライン１２５１Ａ〜１２５１Ｄは、物体のドーナツ形状の中央の孔または穴の境界部分の認識ラインであり、上段の破線１２６１の山部の頭頂部が孔または穴の影響により、多少へこんでいるのがわかる。
【０１１６】
また、中心推測ライン１２５２Ａ〜１２５２Ｄは、物体のドーナツ形状の中央の孔または穴の中心部分付近の認識ラインであり、中段の実線１２６２の山部の頭頂部が孔または穴の影響により、大幅にへこんでおり、谷部との区別がつきづらくなっているのがわかる。
【０１１７】
また、下段認識ライン１２５３Ａ〜１２５３Ｄは、物体のドーナツ形状の中央の孔または穴にはかかっておらず、下段の破線１２６３の山部と谷部が、既知情報にかかる物体の個数および標準サイズに合致するのがわかる。したがって、図１２Ｂにおいては、下段認識ライン１２５３Ａ〜１２５３Ｄ（点線）を最適な第２の認識ラインに決定する。
【０１１８】
このように、決定された複数の候補における物体の第３の方向の距離に基づいて、第２の認識ラインを決定することができる。より具体的には、複数の候補（たとえば３つ）から最適な候補を一つ選択することができる。その際、複数の候補における物体の第３の方向の距離の変化パターンを、物体に関する既知情報（物体の個数や標準サイズなど）に基づいて評価し、評価の結果に基づいて、最適な候補を一つ選択することができる。それにより、最適な第２の認識ラインにおける第２の距離が求まる。
【０１１９】
（最適な認識ラインの決定処理の手順）
つぎに、最適な認識ラインの決定処理の手順について説明する。まず、３つの認識ライン（候補）をクラス分けと、得点評価の２段階で評価する。
【０１２０】
クラス分けでは、各認識ラインを同等レベルにクラス分けする。具体的には、図１３に示す評価項目にそれぞれ許容値を設ける。そして、この許容値を超える項目数に応じてクラスを下げていく。クラスの上位順は、順位が高い順に、クラス１→クラス２→クラス３とし、２項目について許容値を超える場合、クラス１から２段階下がって、クラス３となる。
【０１２１】
得点評価では、最上位クラスの中に複数の認識ラインが存在する場合は、得点で評価する。具体的には、図１３に示す評価項目について、それぞれ得点を設けて、最上位クラスに複数の認識ラインが存在する場合に、最も得点の高いラインを選択する。
【０１２２】
一例として、評価の結果が、
上段：クラス３、
中段：クラス２  評価得点合計１８（項目１：１０、項目２：５、項目３：３）、
下段：クラス２  評価得点合計２０（項目１：  ８、項目２：６、項目３：６）、
となった場合、最上位クラスが「クラス２」であるから、中段と下段の認識ラインの評価得点の高い方が最適な第２の認識ラインとして選択される。すなわち、評価得点の高い下段の認識ラインが、最適な第２の認識ラインとして選択されることになる。
【０１２３】
つぎに、最適な認識ラインを決定する際の評価項目について説明する。図１３は、最適な認識ラインを決定する際の評価項目の内容を示す説明図である。図１３に示すように、たとえば６つの項目について評価をおこなう。
【０１２４】
（１）１つ目の項目として、認識個数チェックをおこなう。認識個数チェックでは、物体数としてあり得る個数であるか否かを判断する。たとえば、該当商品は４個並んでいるはずであるにもかかわらず、５個認識されている場合など、あり得ない個数である場合は、この評価項目に該当し、クラスを一つ下げる。
【０１２５】
（２）２つ目の項目として、物体区切り位置チェックをおこなう。物体区切り位置チェックでは、物体の区切り位置は適正か否かを判断する。たとえば、商品区切り部分のうち、区切り地点と周辺の高低差が最も小さい箇所を比較し、他の区切り地点よりも高低差が少ない場合は、この評価項目に該当し、クラスを一つ下げる。高低差がどのくらい少ないかを得点化するようにしてもよい。
【０１２６】
（３）３つ目の項目として、物体サイズチェック（その１）をおこなう。物体サイズチェック（その１）では、物体サイズは適正か否かを判断する。たとえば、認識された各物体枠のサイズが標準サイズと比較して大き過ぎる場合、または、小さ過ぎる場合は、この評価項目に該当し、クラスを一つ下げる。標準サイズとの比較について得点化するようにしてもよい。
【０１２７】
（４）４つ目の項目として、物体サイズチェック（その２）をおこなう。物体サイズチェック（その２）では、物体サイズは適正か否かを判断する。たとえば、「各認識ラインの最大物体枠」−「最小物体枠」の差が大きい場合は、この評価項目に該当し、クラスを一つ下げる。最大物体枠と最小物体枠の差の大きさについて得点化するようにしてもよい。
【０１２８】
（５）５つ目の項目として、物体認識枠内の物体存在チェックをおこなう。物体認識枠内の物体存在チェックでは、物体認識枠内の物体認識位置は適正か否かを判断する。たとえば、個体認識枠内の物体が存在していない（物体高さが低い（Ｚ方向の距離が短い））領域が大きい場合は、この評価項目に該当し、クラスを一つ下げる。物体高さの低さや、該当する領域の大きさを得点化するようにしてもよい。
【０１２９】
（６）６つ目の項目として、物体認識枠外の物体存在チェックをおこなう。物体認識枠外の物体存在チェックは、物体認識枠外の物体認識位置は適正か否かを判断する。たとえば、個体認識枠外の物体が存在している（物体高さが高い（Ｚ方向の距離が長い））領域が大きい場合は、この評価項目に該当し、クラスを一つ下げる。物体高さの高さや、該当する領域の大きさを得点化するようにしてもよい。
【０１３０】
このようにして、複数の候補における物体の第３の方向の距離の変化パターンを、物体に関する既知情報に基づいて評価し、評価の結果に基づいて、最適な候補を一つ選択し、選択された候補を最適な認識ラインに決定することができる。
【０１３１】
（最適な認識ラインによる第２の距離の編集処理）
つぎに、最適なラインによる第２の距離の編集処理の手順について説明する。図１４Ａ、図１４Ｂは、最適な認識ラインによる第２の距離の編集の内容を示す説明図である。
【０１３２】
図１４Ａにおいて、最適な認識ラインにおける物体の第３の方向（Ｚ方向）の距離の変化パターン１４０１Ａに対して、最適な認識ラインとして選択されなかった他の認識ラインにおけるＺ方向の距離の変化パターン１４０２を比較する。比較の結果、最適な認識ラインにおけるＺ方向の距離の変化パターン１４０１Ａにおいて１４０３の部分が平坦なのに対して、他の認識ラインにおけるＺ方向の距離の変化パターン１４０２は、１４０４の部分に山部が形成されており、山部および谷部で形成された物体枠相当部分が存在するのがわかる。
【０１３３】
このような場合に、所定の条件に基づいて、最適な認識ラインにおけるＺ方向の距離の変化パターン１４０１Ａの１４０３の部分に、１４０４の部分の物体枠相当部分を追加する編集をおこなう。追加する編集をおこなう条件としては、たとえば、最適な認識ラインに選択された認識ラインにおける物体枠相当部分以外の所に、他の認識ラインにおける物体枠相当部分が当てはまる場合に、最適なに認識ラインに選択された認識ラインにその物体枠相当部分を追加する。
【０１３４】
認識ラインにおける物体枠相当部分以外の所に、他の認識ラインにおける物体枠相当部分が当てはまるか否かは、たとえば、追加される物体枠相当部分が、すでに変化パターン１４０１Ａにおいて認識されている物体枠相当部分と所定比率（○○％）以上重なっていない場合に当てはまると判断することができる。
【０１３５】
図１４Ｂにおいては、変化パターン１４０１Ｂは、物体枠相当部分１４０５が追加された状態を示している。図１４Ｂに示す変化パターン１４０１Ｂを、編集後の最適な認識ラインにおけるＺ方向の距離の変化パターンとする。
【０１３６】
また、図１５Ａ、図１５Ｂは、最適な認識ラインによる第２の距離の別の編集の内容を示す説明図である。図１５Ａにおいては、図８および図１２Ａにおいて示した、物体の配置および認識ライン候補の設定と同様の設定としている。
【０１３７】
すなわち、図１５Ａにおいて、上側に、物体１５００Ａ〜１５００Ｄの４つの物体が不整列に配置されており、各物体１５００Ａ〜１５００Ｄのそれぞれの横方向の中心部付近の位置を推測し、その位置を通る認識ライン候補を、中心推測ライン１５１１Ａ〜１５１１２Ｄ（実線）としている。
【０１３８】
また、中心推測ライン１５１１Ａ〜１５１１Ｄ（実線）の上側に、上段認識ライン１５１０Ａ〜１５１０Ｄ（破線）を設け、中心推測ライン１５１１Ａ〜１５１１Ｄ（実線）の下側に、下段認識ライン１５１２Ａ〜１５１２Ｄ（点線）を設けている。
【０１３９】
また、その下側には、中段の物体のＺ方向距離の変化パターン１５０１Ａと下段の物体のＺ方向距離の変化パターン１５０２とを示している（上段の変化パターンは図示を省略）。
【０１４０】
そして、中段の変化パターン１５０１Ａの１５２１部分については、下段の変化パターン１５０２の物体枠相当部分１５２２と差し替えをおこなう。図１５Ｂにおいて示した変化パターン１５０１Ｂは、差し替えによる変更後の変化パターンであり、この変化パターン１５０１Ｂを、編集後の最適な第２の認識ラインにおけるＺ方向の距離の変化パターンとする。
【０１４１】
差し替えをするか否かは、以下の条件によって判断するようにしてもよい。たとえば、中段の変化パターン１５０１Ａにおいて、既知情報による物体の標準サイズの所定比率（○○％〜△△％）の範囲に入っていない物体枠相当部分を入替対象とするようにしてもよい。
【０１４２】
また、選択ラインにおける中段の変化パターン１５０１Ａと他の認識ラインにおける下段の変化パターン１５０２において、入れ替え候補の物体枠相当部分の左端または右端のいずれかが同位置である、すなわち、所定ピクセル（○○ピクセル）以内の範囲内の場合に、入れ替えの対象とする。左端および右端の両端とも同位置の場合は、個体サイズがほぼ等しいので、入れ替える必要はない。また、両端ともズレている場合は、誤った認識位置の可能性が高いため入れ替えをおこなわないようにしてもよい。
【０１４３】
また、下段の変化パターン１５０２における入れ替え候補の物体枠相当部分の左端および右端が、中段の変化パターン１５０１Ａにおける入替対象の高さ以下である場合に、入れ替えの対象とする。下段の変化パターン１５０２における入れ替え候補の物体枠相当部分の高さが、中段の変化パターン１５０１Ａにおける入替対象よりも高い場合、物体の区切り位置が誤っている可能性が高いため入れ替えないようにするとよい。
【０１４４】
最適な第２の認識ラインの編集については、図１４Ａ、図１４Ｂに示したように、最適な候補以外の候補における物体の第３の方向の距離の変化パターンに基づいて、最適な候補における物体の第３の方向の距離の変化パターンにあらたな変化パターン（物体枠相当部分）を追加する編集であってもよく、図１５Ａ、図１５Ｂに示したように、最適な候補における物体の第３の方向の距離の変化パターンの一部を、当該最適な候補以外の候補における物体の第３の方向の距離の変化パターンと入れ替える編集であってもよい。
【０１４５】
また、最適な候補以外の候補における物体の第３の方向の距離の変化パターンに基づいて、最適な候補における物体の前記第３の方向の距離の変化パターンの一部（物体枠相当部分）を削除する編集であってもよい。
【０１４６】
たとえば、最適な第２の認識ラインにおける物体枠相当部分が、他の認識ラインには存在しない場合は、当該物体枠相当部分を削除するようにしてもよい。削除する編集は、２回目の認識時にのみおこなうようにしてもよい。
【０１４７】
このように、最適な第２の認識ラインにおける物体の第３の方向の距離の変化パターンを編集し、編集後の変化パターンにかかる第３の方向の距離を第２の距離とすることができる。
【０１４８】
（物体検出装置のハードウェア構成例）
つぎに、実施の形態にかかる物体検出装置のハードウェア構成について説明する。図１６は、実施の形態にかかる物体検出装置のハードウェア構成の一例を示すブロック図である。図１６において、物体検出装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１６０１と、メモリ１６０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１６０３と、ディスクドライブ１６０４と、ディスク１６０５と、を有する。また、各構成部は、バス１６００によってそれぞれ接続される。
【０１４９】
ここで、ＣＰＵ１６０１は、物体検出装置の全体の制御を司る。メモリ１６０２は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、たとえば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭは記憶部としてＣＰＵ１６０１のワークエリアとして使用される。メモリ１６０２に記憶されるプログラムは、ＣＰＵ１６０１にロードされることで、コーディングされている処理をＣＰＵ１６０１に実行させる。
【０１５０】
Ｉ／Ｆ１６０３は、通信回線を通じてＬＡＮ、ＷＡＮ、インターネットなどのネットワーク１６５０に接続され、ネットワーク１６５０を介して他のコンピュータ（たとえば、各種センサ、ピッキング・システム、物品などの搬送用のコンベア制御装置など）に接続される。そして、Ｉ／Ｆ１６０３は、ネットワーク１６５０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ１６０３には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【０１５１】
ディスクドライブ１６０４は、ＣＰＵ１６０１の制御にしたがってディスク１６０５に対するデータのリード／ライトを制御する。ディスク１６０５は、ディスクドライブ１６０４の制御で書き込まれたデータを記憶する。ディスク１６０５としては、たとえば、磁気ディスク、光ディスクなどが挙げられる。
【０１５２】
なお、物体検出装置は、上述した構成部のほか、たとえば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、マウス、プリンタ、ディスプレイなどを有することにしてもよい。
【０１５３】
また、物体検出装置の機能的構成においては、たとえば、図示を省略する測定部と処理部とを含む。物体検出装置の測定部は、たとえば、物体が載置された平面に直交する方向における当該物体の距離は、図示を省略する測定部が測定する。
【０１５４】
物体検出装置の測定部は、具体的には、たとえば、図１に示したＫｉｎｅｃｔセンサなどによってその機能を実現することができる。
【０１５５】
物体検出装置の処理部は、測定部が測定した、平面における第１の方向に直交する第２の方向に所定の間隔で定められた複数の第１の方向に延びる第１の認識ラインにおける第１の距離に基づいて、第２の方向に延びる第２の認識ラインの候補を複数決定する。
【０１５６】
また、物体検出装置の処理部は、測定部が測定した、決定された複数の候補における物体の前記第３の方向の距離に基づいて、第２の認識ラインにおける物体の第３の方向の第２の距離を求める。
【０１５７】
また、物体検出装置の処理部は、第１の距離と、第２の距離と、に基づいて、物体の中心部の位置および両端部の位置を特定する。そして、物体検出装置の処理部は、特定された前記物体の中心部の位置および両端部の位置から、物体が位置する物体枠を特定し、特定された物体枠から、当該物体枠の中心点を特定する。
【０１５８】
また、物体検出装置の処理部は、複数の第２の認識ラインの候補における物体の前記第３の方向の距離の変化パターンを、物体に関する情報に基づいて評価し、評価の結果に基づいて、最適な候補を一つ選択する。そして、物体検出装置の処理部は、選択された候補における物体の前記第３の方向の距離を第２の距離とすることもできる。
【０１５９】
また、物体検出装置の処理部は、最適な候補における物体の前記第３の方向の距離の変化パターンを編集し、編集された変化パターンにかかる第３の方向の距離を第２の距離とすることもできる。
【０１６０】
物体検出装置の処理部は、たとえば、ＣＰＵ１６０１と、メモリ１６０２などによって、その機能を実現することができる。
【０１６１】
以上のように、実施の形態にかかる物体検出方法、物体検出プログラムおよび物体検出装置によれば、物体が載置された平面の第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第２の方向に延びる第２の認識ラインの候補を複数決定し（Ｓ９０１）、決定された複数の候補における前記物体の前記第３の方向の距離に基づいて、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離を求め（Ｓ９０２、Ｓ９０３）、前記第１の距離と、前記第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し（Ｓ２０５、Ｓ２０６）、特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し（Ｓ２０９）、特定された前記物体枠から、当該物体枠の中心点を特定する（Ｓ２１０）ので、配置された物体の中心点の位置を精度良く検出することができる。
【０１６２】
精度良く検出された物体の中心点は、ピッキング部材（たとえば、バキューム式のロボットハンド）１２０が、物体を吸着する際に、その中心点に基づいて、吸着する位置を決定する。物体の中心点を吸着すれば、より弱い吸引力でも確実に物体を吸着し、所定の位置へ搬送することができる。物体の吸着の失敗や、搬送途中で物体の落下などを防止できるとともに、物体を包装している包装紙にしわを生じさせ、それによって商品品質を低下させることも軽減できる。
【０１６３】
なお、実施の形態で説明した物体検出方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本物体検出プログラムは、ハードディスク、ＩＣメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本物体検出プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１６４】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１６５】
（付記１）コンピュータが、
物体が載置された平面の第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第２の方向に延びる第２の認識ラインの候補を複数決定し、
決定された複数の候補における前記物体の前記第３の方向の距離に基づいて、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離を求め、
前記第１の距離と、前記第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理を実行することを特徴とする物体検出方法。
【０１６６】
（付記２）複数の前記候補から最適な候補を一つ選択し、
選択された候補における前記物体の前記第３の方向の距離を前記第２の距離とすることを特徴とする付記１に記載の物体検出方法。
【０１６７】
（付記３）複数の前記候補における前記物体の前記第３の方向の距離の変化パターンを、前記物体に関する情報に基づいて評価し、
前記評価の結果に基づいて、前記最適な候補を一つ選択することを特徴とする付記２に記載の物体検出方法。
【０１６８】
（付記４）前記第１の距離の変化パターンから推測される前記物体の中心位置を、前記第２の認識ラインの第１候補の位置とし、
前記第１候補の位置を中心に当該第１候補の両側の所定の距離を隔てた位置を当該第１候補以外の候補の位置とすることを特徴とする付記２または３に記載の物体検出方法。
【０１６９】
（付記５）前記最適な候補における前記物体の前記第３の方向の距離の変化パターンを編集し、
編集された変化パターンにかかる第３の方向の距離を前記第２の距離とすることを特徴とする付記２〜４のいずれか一つに記載の物体検出方法。
【０１７０】
（付記６）前記編集は、前記最適な候補以外の候補における前記物体の前記第３の方向の距離の変化パターンに基づいて、前記最適な候補における前記物体の前記第３の方向の距離の変化パターンにあらたな変化パターンを追加する編集であることを特徴とする付記５に記載の物体検出方法。
【０１７１】
（付記７）前記編集は、前記最適な候補以外の候補における前記物体の前記第３の方向の距離の変化パターンに基づいて、前記最適な候補における前記物体の前記第３の方向の距離の変化パターンの一部を削除する編集であることを特徴とする付記５に記載の物体検出方法。
【０１７２】
（付記８）前記編集は、前記最適な候補における前記物体の前記第３の方向の距離の変化パターンの一部を、当該最適な候補以外の候補における前記物体の前記第３の方向の距離の変化パターンと入れ替える編集であることを特徴とする付記５に記載の物体検出方法。
【０１７３】
（付記９）前記編集は、前記物体に関する情報に基づいておこなわれることを特徴とする付記８に記載の物体検出方法。
【０１７４】
（付記１０）前記物体に関する情報は、少なくとも物体のサイズおよび物体の個数のいずれかを含むことを特徴とする付記３〜９のいずれか一つに記載の物体検出方法。
【０１７５】
（付記１１）コンピュータに、
物体が載置された平面の第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける、前記物体の前記平面に直交する第３の方向の第１の距離に基づいて、前記第２の方向に延びる第２の認識ラインの候補を複数決定し、
決定された複数の候補における前記物体の前記第３の方向の距離に基づいて、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離を求め、
前記第１の距離と、前記第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理を実行させることを特徴とする物体検出プログラム。
【０１７６】
（付記１２）物体が載置された平面に直交する方向における当該物体の距離を測定する測定部と、
前記平面の第１の方向を決定し、
前記測定部が測定した、前記平面における前記第１の方向に直交する第２の方向に所定の間隔で定められた複数の前記第１の方向に延びる第１の認識ラインにおける第１の距離に基づいて、前記第２の方向に延びる第２の認識ラインの候補を複数決定し、
前記測定部が測定した、決定された複数の候補における前記物体の前記平面に直交する第３の方向の距離に基づいて、前記第２の認識ラインにおける前記物体の前記第３の方向の第２の距離を求め、
前記第１の距離と、前記第２の距離と、に基づいて、前記物体の中心部の位置および両端部の位置を特定し、
特定された前記物体の両端部の位置から、前記物体が位置する物体枠を特定し、
特定された前記物体枠から、当該物体枠の中心点を特定する、
処理部を備えることを特徴とする物体検出装置。
【０１７７】
（付記１３）付記１２に記載の物体検出装置と、
前記物体をピッキングするピッキング部材と、
を備えることを特徴とするピッキング・システム。
【０１７８】
（付記１４）前記ピッキング部材は、前記物体検出装置の前記処理部が特定した物体の中心点に関する情報に基づいて、当該物体をピッキングすることを特徴とする付記１３に記載のピッキング・システム。
【０１７９】
（付記１５）前記物体検出装置は、ピッキング部材によって前記物体がピッキングされるごとに、残された物体の物体枠の中心点を特定することを特徴とする付記１２または１３に記載のピッキング・システム。
【符号の説明】
【０１８０】
１００  容器
１０１、３０１（３０１Ａ〜３０１Ｄ）、７００（７００Ａ〜７００Ｄ）、８００（８００Ａ〜８００Ｄ）、１０００、１２００（１２００Ａ〜１２００Ｄ）、１２５０（１２５０Ａ〜１２５０Ｄ）、１５００（１５００Ａ〜１５００Ａ）  物体
１１０  距離センサ（測定部）
１２０  ピッキング部材
３１１〜３１８  第１の認識ライン
３２１〜３２４、４２１  距離データ
３５１〜３５８、３６１〜３６８  第２の認識ライン
４０１（４０１Ａ〜４０１Ｄ）  物体の中心部
４３１、４３２  山部
４４１、４４２、４４３  谷部
５０１（５０１Ａ〜５０１Ｄ）  認識ライン
６０１（６０１Ａ〜６０１Ｄ）  物体枠の中心点
【図１】
2018156530.tif 000003
【図２】
2018156530.tif 000004
【図３】
2018156530.tif 000005
【図４】
2018156530.tif 000006
【図５】
2018156530.tif 000007
【図６】
2018156530.tif 000008
【図７】
2018156530.tif 000009
【図８】
2018156530.tif 000010
【図９】
2018156530.tif 000011
【図１０】
2018156530.tif 000012
【図１１】
2018156530.tif 000013
【図１２Ａ】
2018156530.tif 000014
【図１２Ｂ】
2018156530.tif 000015
【図１３】
2018156530.tif 000016
【図１４Ａ】
2018156530.tif 000017
【図１４Ｂ】
2018156530.tif 000018
【図１５Ａ】
2018156530.tif 000019
【図１５Ｂ】
2018156530.tif 000020
【図１６】
2018156530.tif 000021