(57)【要約】【課題】事前に想定した形状と異なる形状の物体の検出可能性を高めること。【解決手段】位置検出装置１０は、モデル作成部２０と物体位置検出部３１を有する。モデル作成部２０は、複数の単純形状モデルの学習用データセットを取得して学習することで第１学習モデルを作成する。そして、物体位置検出部３１が、対象物体を撮像した画像を取得し、第１学習モデルを用いて、取得した画像から対象物体の位置を検出し、検出した位置に基づく位置情報を作成する。【選択図】図７
2020077231.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
それぞれが相似形でない、単純形状の立体のデータを複数取得し、
取得した複数の前記データを用いて学習を行い、
撮像手段により撮像された画像を取得し、
前記学習に基づいて生成された第１学習モデルを用いて、取得した前記画像から物体の位置を検出する、
処理を実行させることを特徴とする位置検出プログラム。
【請求項２】
前記コンピュータに、
前記位置から前記物体の把持位置を検出する
処理をさらに実行させることを特徴とする請求項１に記載の位置検出プログラム。
【請求項３】
前記第１学習モデルは、複数の前記データをそれぞれ用いて学習を行って生成された複数の第２学習モデルに基づくアンサンブル学習モデルであることを特徴とする請求項１又は２に記載の位置検出プログラム。
【請求項４】
前記第２学習モデルは、深層学習を用いる畳み込み型のニューラルネットワークであって、前記画像から物体の検出位置を示すバウンディングボックスを位置候補として検出物体の確からしさを示す信頼度を対応付けて複数作成し、
前記アンサンブル学習モデルは、第１の数の第２学習モデルからそれぞれ第２の数の位置候補を取得し、前記第１の数に前記第２の数を乗じた数の位置候補のバウンディングボックスの中に重なる領域がある場合には、重なる領域を有する位置候補をグループ化し、グループ化した位置候補の信頼度の合計をグループの信頼度とし、信頼度が最大であるグループ又は位置候補のバウンディングボックスを前記物体の位置の情報として出力することを特徴とする請求項３に記載の位置検出プログラム。
【請求項５】
前記データは、シミュレータにより前記単純形状の立体のモデルから作成されたデータであることを特徴とする請求項１〜４のいずれか１つに記載の位置検出プログラム。
【請求項６】
前記単純形状は、円柱、直方体、立方体、球及びバネを含むことを特徴とする請求項１〜５のいずれか１つに記載の位置検出プログラム。
【請求項７】
コンピュータが、
それぞれが相似形でない、単純形状の立体のデータを複数取得し、
取得した複数の前記データを用いて学習を行い、
撮像手段により撮像された画像を取得し、
前記学習に基づいて生成された第１学習モデルを用いて、取得した前記画像から物体の位置を検出する、
処理を実行することを特徴とする位置検出方法。
【請求項８】
それぞれが相似形でない、単純形状の立体のデータを複数取得し、取得した複数の前記データを用いて学習を行うモデル生成部と、
撮像手段により撮像された画像を取得し、前記学習に基づいて生成された第１学習モデルを用いて、取得した前記画像から物体の位置を検出する検出部と
を有することを特徴とする位置検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置検出プログラム、位置検出方法及び位置検出装置に関する。
【背景技術】
【０００２】
近年、画像内の人や物体を検出する技術が広く使われている。例えば、工場や倉庫におけるピッキングロボットでは、把持する物体の位置を画像から検出する技術が利用されている。
【０００３】
画像内の物体を検出する技術として、テンプレートマッチングがある。図１４は、テンプレートマッチングを説明するための図である。テンプレートマッチングでは、検出装置は、検出する物体の画像をテンプレート画像９１として予め記憶し、テンプレート画像９１と類似度が高い範囲を入力画像９２から探索する。検出装置は、入力画像上で探索窓９３をスライドさせながら、探索窓内の画像とテンプレート画像９１の類似度を計算し、類似度が最も高い位置に物体が存在すると判断する。
【０００４】
また、深層学習（Deep  Learning）を行うニューラルネットワーク（ＮＮ：Neural  Network）を用いて画像内の物体を検出する技術としてＳＳＤ（Single  Shot  Multibox  Detector）がある。ＳＳＤでは、利用者は、事前に正解ラベル付きの入力画像のデータセットを用意し、用意したデータセットを画像の学習に特化したＮＮである畳み込みＮＮに学習させる。学習後のＮＮは、入力画像中の物体を検出し、検出した物体の位置と検出対象の確からしさを示す信頼度を出力する。
【０００５】
なお、ロボットアームの先端に取り付けたカメラからの画像情報をコントローラに入力し、深層学習を用いてロボット自らリアルタイムに動作を学習・生成することで教示を不要とする技術がある。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】「ロボットによる対象物の多様なつかみ方を実現するＡＩピッキング機能を開発」、［平成３０年１０月２２日検索］、インターネット＜URL:https://www.yaskawa.co.jp/newsrelease/technology/35697＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
テンプレートマッチングやＳＳＤには、事前に想定した形状と異なる形状の物体を検出できないという問題がある。
【０００８】
本発明は、１つの側面では、事前に想定した形状と異なる形状の物体の検出可能性を高めることを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、位置検出プログラムは、コンピュータに、それぞれが相似形でない、単純形状の立体のデータを複数取得し、取得した複数の前記データを用いて学習を行う処理を実行させる。そして、前記位置検出プログラムは、前記コンピュータに、撮像手段により撮像された画像を取得し、前記学習に基づいて生成された第１学習モデルを用いて、取得した前記画像から物体の位置を検出する処理を実行させる。
【発明の効果】
【００１０】
１つの側面では、本発明は、事前に想定した形状と異なる形状の物体の検出可能性を高めることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、ピッキングロボットの概略を示す図である。
【図２】図２は、ピッキングの流れの一例を示す図である。
【図３】図３は、実施例に係るピッキングロボットシステムの構成を示す図である。
【図４】図４は、アンサンブル学習モデルの作成の流れを示す図である。
【図５】図５は、単純形状モデルによる検出例を示す図である。
【図６】図６は、アンサンブル学習モデルによる検出例を示す図である。
【図７】図７は、位置検出装置の機能構成を示す図である。
【図８】図８は、入力画像から対象物体の位置を推定する処理を説明するための図である。
【図９】図９は、検出位置グループを説明するための図である。
【図１０】図１０は、位置検出装置による処理のフローを示すフローチャートである。
【図１１】図１１は、アンサンブル学習モデルによる処理のフローを示すフローチャートである。
【図１２】図１２は、検出位置グループの効果を説明するための図である。
【図１３】図１３は、実施例に係る位置検出プログラムを実行するコンピュータのハードウェア構成を示す図である。
【図１４】図１４は、テンプレートマッチングを説明するための図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する位置検出プログラム、位置検出方法及び位置検出装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１３】
まず、ピッキングロボットについて説明する。図１は、ピッキングロボットの概略を示す図である。図１に示すように、ピッキングロボット１は、アーム２の先端に取り付けたグリッパ３を用いて対象物体４をつかんで移動させるロボットである。ピッキングロボット１は、工場で部品や製品をつかんで移動させる場合、あるいは、倉庫で荷物をつかんで移動させる場合などに用いられる。
【００１４】
図２は、ピッキングの流れの一例を示す図である。図２に示すように、事前作業として、利用者は、ピッキングの対象物体４とアーム動作を決め（ｔ１）、ティーチングを実施する（ｔ２）。ここで、「ティーチング」とは、事前に対象物体４の形状などの情報やアーム動作をロボット制御プログラムに設定することである。
【００１５】
そして、ティーチングが行われたピッキングロボット１は、ピッキング動作を行う。すなわち、ピッキングロボット１は、カメラで画像を取得し（ｔ３）、画像から対象物体４を検出し、位置を推定する（ｔ４）。そして、ピッキングロボット１は、対象物体４をつかむ動作を実施し（ｔ５）、指定場所に移動して対象物体４を放す（ｔ６）。
【００１６】
このように、ピッキングロボット１を動作させるためには、事前にティーチングを行う必要がある。対象物体４の形状や周囲の環境が変わると、ティーチングをし直す必要があり、ティーチングの工数を如何に減らすかが重要となっている。
【００１７】
また、深層学習による画像認識では、大量の学習データを用いた学習を行うことで、認識精度の向上を図っており、大量の学習データが必要となる。利用可能なオープンデータが多数ある場合には、学習データの数を確保することに困難はないが、ピッキング作業の分野においては、オープンデータはほとんどなく、学習データとして利用できるデータは多くない。したがって、ピッキング作業の分野では、学習データをいかに用意するかが重要となっている。
【００１８】
また、ピッキングという観点では、対象物体４の全体を認識する必要はなく、把持可能な部分を認識できることが重要となる。把持可能な形状は、円柱、直方体、立方体、正多面体、円錐、角錐、球、トーラス（ドーナツ型）、螺旋などの単純な形状であり、ピッキングの対象物体４は、これらの単純な形状な部分を備える。このような単純な形状は、一般にプリミティブと呼ばれることがある。
【００１９】
次に、実施例に係るピッキングロボットシステムの構成について説明する。図３は、実施例に係るピッキングロボットシステムの構成を示す図である。図３に示すように、実施例に係るピッキングロボットシステム５は、ピッキングロボット１と、カメラ６と、ロボット制御装置７と、位置検出装置１０とを有する。
【００２０】
カメラ６は、対象物体４を撮像し、撮像した画像を位置検出装置１０に出力する。位置検出装置１０は、カメラ６により撮像された画像を入力して把持位置情報をロボット制御装置７に出力する。ロボット制御装置７は、把持位置情報に基づいてピッキングロボット１に動作指示を行う。ピッキングロボット１は、対象物体４に対してピッキングを実施する。
【００２１】
位置検出装置１０は、アンサンブル学習モデル１０ａと、変換部３２とを有する。アンサンブル学習モデル１０ａは、学習モデルＡ〜学習モデルＥで表される５つの学習モデル１１を有する。学習モデル１１は、学習用データセットを深層学習したＮＮである。学習モデル１１は、ＳＳＤに基づくＮＮである。学習モデル１１は、カメラ６が撮影した画像を入力して対象物体４を検出し、位置情報と信頼度を出力する。アンサンブル学習モデル１０ａは、各学習モデル１１が出力した位置情報と信頼度に基づいて対象物体４の位置情報を出力する。変換部３２は、対象物体４の位置情報を入力して把持位置情報を出力する。
【００２２】
図４は、アンサンブル学習モデル１０ａの作成の流れを示す図である。利用者は、単純形状モデルＡ〜単純形状モデルＥで表される５種類の単純形状モデル１２をＣＧ（Computer  Graphics）を用いて用意する。ここで、単純形状モデル１２とは、単純な形状の３次元モデルである。各単純形状モデル１２は他の単純形状モデル１２と相似形でない。図４では、単純形状モデルＡは円柱の３次元モデルであり、単純形状モデルＢは直方体の３次元モデルであり、単純形状モデルＣは立方体の３次元モデルである。また、単純形状モデルＤは球の３次元モデルであり、単純形状モデルＥはバネの３次元モデルである。
【００２３】
そして、利用者は、ピッキングロボット１のシミュレータを使い、単純形状モデル１２ごとに学習用データセット１３を作成する。そして、位置検出装置１０が、１つの学習用データセット１３に対して１つの学習モデル１１を作成する。学習データセットＡから学習モデルＡが作成され、学習データセットＢから学習モデルＢが作成され、学習データセットＣから学習モデルＣが作成され、学習データセットＤから学習モデルＤが作成され、学習データセットＥから学習モデルＥが作成される。
【００２４】
そして、位置検出装置１０は、５つの学習モデル１１を用いて対象物体４の位置を検出するアンサンブル学習モデル１０ａを作成する。アンサンブル学習モデル１０ａは、例えば、各位置情報について５つの学習モデル１１の信頼度の合計をアンサンブル学習モデル１０ａの信頼度とし、信頼度が基準値以上であれば、対象物体４を検出したと判定する。基準値は、例えば、１．０である。
【００２５】
なお、学習に用いられる単純形状モデル１２の数は、５より多くても少なくてもよいが、単純形状モデル１２の数が多いほど位置検出装置１０の汎用性が増すが、処理に時間がかかるため、５〜１０がよい。ビッキング対象の形状の種類が事前に決まっている場合は、位置検出装置１０は、ビッキング対象の形状を抽象化したモデルを用いてもよい。あるいは、ピッキング対象の形状に含まれる部分的な単純形状が単純形状モデルとして選択されることとしてもよい。
【００２６】
図５は、単純形状モデル１２による検出例を示す図である。ケース＃１は、検出対象の物体が「ボルト」である場合を示し、ケース＃２は、検出対象の物体が「ＩＣチップ」である場合を示す。また、検出判定の基準の信頼度を０．５以上であるとする。
【００２７】
ケース＃１では、学習用データセット１３の対象が実写のボルトである場合には、信頼度が０．９５であるのでボルトは検出されるが、学習用データセット１３の対象が実写のＩＣチップである場合には、信頼度が０．０９であるのでボルトは検出されない。また、学習用データセット１３の対象が単純形状モデル１２の１つである円柱の３次元モデルである場合には、信頼度が０．８３であるのでボルトが検出される。
【００２８】
ケース＃２では、学習用データセット１３の対象が実写のボルトである場合には、信頼度が０．１３であるのでＩＣチップは検出されず、学習用データセット１３の対象が実写のＩＣチップである場合には、信頼度が０．９２であるのでＩＣチップは検出される。また、学習用データセット１３の対象が単純形状モデル１２のうちの１つである円柱の３次元モデルである場合には、信頼度が０．６１であるのでＩＣチップが検出される。
【００２９】
このように、位置検出装置１０は、単純形状モデル１２を学習させることによって、対象物体４の形状を過学習することを避け、検出可能な形状の類似度の幅を広げることができる。
【００３０】
図６は、アンサンブル学習モデル１０ａによる検出例を示す図である。図６では、検出対象の物体形状は未知である。図６において、単体の学習モデル１１では、検出判定の基準の信頼度を０．５以上であるとし、アンサンブル学習モデル１０ａでは、検出判定の基準の信頼度を１．０以上であるとする。
【００３１】
図６に示すように、各単純形状モデル１２からそれぞれ作成された各学習モデル１１は、信頼度が０．５未満のため、対象物体４を検出することはできない。一方、アンサンブル学習モデル１０ａは、各学習モデル１１の結果を利用することで、対象物体４を検出することができる。図６では、５つの学習モデル１１の信頼度の合計が０．３９＋０．３７＋０．２５＋０．１１＋０．０９＝１．２１で１．０以上となるので、アンサンブル学習モデル１０ａは、対象物体４を検出することができる。
【００３２】
このように、位置検出装置１０は、アンサンブル学習モデル１０ａを用いることによって、検出可能な形状の範囲を飛躍的に広げることができる。
【００３３】
次に、位置検出装置１０の機能構成について説明する。図７は、位置検出装置１０の機能構成を示す図である。図７に示すように、位置検出装置１０は、モデル作成部２０と把持位置検出部３０とを有する。モデル作成部２０は、５つの単純形状モデル１２の学習用データセット１３を取得し、５つの単純形状モデル１２に基づくアンサンブル学習モデル１０ａを作成する。把持位置検出部３０は、対象物体４を撮像した画像を取得し、アンサンブル学習モデル１０ａを用いて画像内の対象物体４の位置を検出し、検出した位置に基づいて把持位置を特定して把持位置情報を出力する。
【００３４】
モデル作成部２０は、個別モデル作成部２１とアンサンブルモデル作成部２２を有する。把持位置検出部３０は、物体位置検出部３１と、変換部３２とを有する。
【００３５】
個別モデル作成部２１は、５つの単純形状モデル１２の学習用データセット１３を取得し、取得した５つの学習用データセット１３をそれぞれ学習した５つの学習モデル１１を作成する。各学習用データセット１３には、例えば、検出位置の正解ラベル付きデータが１００００個含まれる。また、個別モデル作成部２１は、学習用データセット１３ごとに学習モデル１１を１００エポック訓練させる。
【００３６】
アンサンブルモデル作成部２２は、個別モデル作成部２１により作成された５つの学習モデル１１を用いてアンサンブル学習モデル１０ａを作成する。アンサンブルモデル作成部２２は、各位置情報について５つの学習モデル１１の信頼度の合計を信頼度とし、信頼度が基準値以上であれば対象物体４を検出したと判定するアンサンブル学習モデル１０ａを作成する。
【００３７】
物体位置検出部３１は、対象物体４を撮像した画像を取得し、アンサンブル学習モデル１０ａを用いて画像内の対象物体４の位置を検出し、位置情報を出力する。図８は、入力画像から対象物体４の位置を推定する処理を説明するための図である。図８に示すように、物体位置検出部３１は、入力画像から対象物体４を検出し、位置情報としてバウンディングボックスの左上の点（ｘｕ，ｙｕ）、右下の点（ｘｖ，ｙｖ）を出力する。
【００３８】
ここで、バウンディングボックスは、対象物体４の位置を定義する長方形の枠である。バウンディングボックスは、例えば、左上と右下の２点のｘ座標及びｙ座標で定義される。座標軸の原点は、例えば、入力画像の左下である。
【００３９】
アンサンブル学習モデル１０ａは、各学習モデル１１が出力した位置情報の中から信頼度の高い順に５個の位置情報を検出位置候補として選択し、５個の学習モデル１１で合計２５個の検出位置候補に基づいて、対象物体４の位置情報を作成する。
【００４０】
具体的には、アンサンブル学習モデル１０ａは、検出位置候補のバウンディングボックスに重なりがある場合には、検出位置候補をグルーピングして検出位置グループとする。図９は、検出位置グループを説明するための図である。図９では、２５個の検出位置候補うち５個の検出位置候補だけを示す。
【００４１】
図９では、５個のバウンディングボックスのうち３個のバウンディングボックスに重なりがあるため、３個のバウンディングボックスがグループ化され、太線で示す枠が検出位置グループを示す。検出位置グループの信頼度は、重なりのある検出位置候補の信頼度の合計である。
【００４２】
そして、アンサンブル学習モデル１０ａは、信頼度がもっとも高い検出位置候補又は検出位置グループを対象物体４の位置情報として選択する。アンサンブル学習モデル１０ａは、対象物体４の位置情報として検出位置グループを選択した場合には、バウンディングボックスの左上の点の座標（Ｘ，Ｙ）を、
（Ｘ，Ｙ）＝（ｓ１（ｘ１，ｙ１）＋ｓ２（ｘ２，ｙ２）＋・・・＋ｓｎ（ｘｎ，ｙｎ））／（ｓ１＋ｓ２＋・・・＋ｓｎ）
により計算する。ここで、ｎは検出位置グループに含まれる検出位置候補の数であり、ｓｉ（ｉ＝１，２，・・・，ｎ）は検出位置候補ｉの信頼度であり、（ｘｉ，ｙｉ）は検出位置候補ｉのバウンディングボックスの左上の点の座標である。バウンディングボックスの右下の点の座標も同様に計算される。
【００４３】
そして、アンサンブル学習モデル１０ａは、対象物体４の位置情報としてバウンディングボックスの左上と右下の座標を出力する。物体位置検出部３１は、アンサンブル学習モデル１０ａが出力した位置情報を変換部３２に渡す。
【００４４】
変換部３２は、物体位置検出部３１から位置情報を取得し、取得した位置情報を把持位置情報に変換する。変換部３２は、位置情報と対象物体４の把持可能な形状の個所とに基づいて位置情報を把持位置情報に変換する。
【００４５】
次に、位置検出装置１０による処理のフローについて説明する。図１０は、位置検出装置１０による処理のフローを示すフローチャートである。図１０に示すように、位置検出装置１０は、単純形状モデル１２の学習用データセット１３を５個取得し（ステップＳ１）、５個の学習用データセット１３を用いて５個の学習モデル１１を作成する（ステップＳ２）。そして、位置検出装置１０は、５個の学習モデル１１からアンサンブル学習モデル１０ａを作成する（ステップＳ３）。
【００４６】
そして、位置検出装置１０は、対象物体４が撮像された画像を取得し（ステップＳ４）、アンサンブル学習モデル１０ａを用いて、取得した画像から対象物体４を検出し、位置情報を作成する（ステップＳ５）。そして、位置検出装置１０は、位置情報を把持位置情報に変換し（ステップＳ６）、把持位置情報を出力する（ステップＳ７）。
【００４７】
このように、位置検出装置１０は、５つの単純形状モデル１２の学習用データセット１３をそれぞれ学習した５つの学習モデル１１を用いてアンサンブル学習モデル１０ａを作成し、アンサンブル学習モデル１０ａを用いて対象物体４を検出する。したがって、位置検出装置１０は、事前に想定した形状と異なる形状の物体を検出することができる。
【００４８】
次に、アンサンブル学習モデル１０ａによる処理のフローについて説明する。図１１は、アンサンブル学習モデル１０ａによる処理のフローを示すフローチャートである。図１１に示すように、アンサンブル学習モデル１０ａは、各学習モデル１１から信頼度が高い順に５個のバウンディングボックス及び信頼度を取得する（ステップＳ１１）。
【００４９】
そして、アンサンブル学習モデル１０ａは、バウンディングボックスが重なっている領域があるか否かを判定する（ステップＳ１２）。そして、ある場合には、アンサンブル学習モデル１０ａは、領域が重なっていた複数の検出位置候補を、１つの検出位置グループと定義し、領域が重なっていた複数の検出位置候補の信頼度を合算して検出位置グループの信頼度を計算する（ステップＳ１３）。
【００５０】
そして、アンサンブル学習モデル１０ａは、信頼度がもっとも高い検出位置候補又は検出位置グループを対象物体４の位置情報として選択し（ステップＳ１４）、最も信頼度が高いのは検出位置グループか否かを判定する（ステップＳ１５）。そして、最も信頼度が高いのは検出位置グループである場合には、アンサンブル学習モデル１０ａは、元の検出位置候補の信頼度で重み付けした座標を検出位置グループの座標として計算する（ステップＳ１６）。
【００５１】
そして、アンサンブル学習モデル１０ａは、対象物体４の位置情報として、計算した座標を出力する（ステップＳ１７）。
【００５２】
このように、アンサンブル学習モデル１０ａは、領域が重なっていた検出位置候補を、１つの検出位置グループと定義し、重なっていた検出位置候補の信頼度を合算して検出位置グループの信頼度とする。したがって、アンサンブル学習モデル１０ａは、単体の学習モデル１１のみでは検出ができない対象物体４を検出することができる。
【００５３】
図１２は、検出位置グループの効果を説明するための図である。図１２では、単体の学習モデル１１の基準値は０．５であり、アンサンブル学習モデル１０ａの基準値は１．０であるとする。
【００５４】
図１２に示すように、検出対象の物体形状がバネのケースでは、検出位置グループは定義されない。また、単体の学習モデル１１では、バネを学習した学習モデル１１の信頼度が０．５以上となり、バネを学習した学習モデル１１のみで検出が可能である。
【００５５】
一方、検出対象の物体形状が未知のケースでは、円柱を学習した学習モデル１１が出力した検出位置候補と直方体を学習した学習モデル１１が出力した検出位置候補と立方体を学習した学習モデル１１が出力した検出位置候補がグループ化される。そして、検出位置グループの信頼度が０．３９＋０．３７＋０．２５＝１．０１となり、検出位置グループを用いるアンサンブル学習モデル１０ａにより物体形状が未知の物体が検出される。
【００５６】
上述してきたように、実施例では、個別モデル作成部２１が、複数の単純形状モデル１２からそれぞれ作成された複数の学習用データセット１３をそれぞれ用いて複数の学習モデル１１を作成する。そして、アンサンブルモデル作成部２２が、複数の学習モデル１１に基づいてアンサンブル学習モデル１０ａを作成する。そして、物体位置検出部３１が、アンサンブル学習モデル１０ａを用いて、対象物体４を撮像した画像から対象物体４を検出して位置情報を作成する。したがって、位置検出装置１０は、対象物体４の形状を過学習することを避け、事前に想定した形状と異なる形状の物体の検出可能性を高めることができる。
【００５７】
また、実施例では、位置検出装置１０は、位置情報を把持位置情報に変換してロボット制御装置７に出力するので、対象物体４の形状が変更になった場合でもピッキングロボット１のティーチングを不要とすることができ、ティーチングの工数を減らすことができる。
【００５８】
また、実施例では、アンサンブル学習モデル１０ａは、検出位置候補のバウンディングボックスに重なりがある場合には、検出位置候補をグルーピングして検出位置グループとし、検出位置グループの信頼度を、重なりのある検出位置候補の信頼度の合計とする。したがって、位置検出装置１０は、１つの学習モデル１１だけでは検出できない未知の物体を検出することができる。
【００５９】
また、実施例では、単純形状モデル１２の学習用データセット１３は、ロボットシミュレータにより作成されるので、学習に十分な量の学習用データセット１３を簡単に作成することができる。
【００６０】
また、実施例では、位置検出装置１０は、単純形状として円柱、直方体、立方体、球及びバネを用いるので、検出できる物体形状の汎用性を高めることができる。
【００６１】
なお、実施例では、位置検出装置１０について説明したが、位置検出装置１０が有する構成をソフトウェアによって実現することで、同様の機能を有する位置検出プログラムを得ることができる。そこで、位置検出プログラムを実行するコンピュータについて説明する。
【００６２】
図１３は、実施例に係る位置検出プログラムを実行するコンピュータのハードウェア構成を示す図である。図１３に示すように、コンピュータ５０は、メインメモリ５１と、ＣＰＵ（Central  Processing  Unit）５２と、ＬＡＮ（Local  Area  Network）インタフェース５３と、ＨＤＤ（Hard  Disk  Drive）５４とを有する。また、コンピュータ５０は、スーパーＩＯ（Input  Output）５５と、ＤＶＩ（Digital  Visual  Interface）５６と、ＯＤＤ（Optical  Disk  Drive）５７とを有する。
【００６３】
メインメモリ５１は、プログラムやプログラムの実行途中結果等を記憶するメモリである。ＣＰＵ５２は、メインメモリ５１からプログラムを読み出して実行する中央処理装置である。ＣＰＵ５２は、メモリコントローラを有するチップセットを含む。
【００６４】
ＬＡＮインタフェース５３は、コンピュータ５０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ５４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ５５は、マウスやキーボード等の入力装置を接続するためのインタフェースである。ＤＶＩ５６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ５７は、ＤＶＤの読み書きを行う装置である。
【００６５】
ＬＡＮインタフェース５３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ５２に接続され、ＨＤＤ５４及びＯＤＤ５７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ５２に接続される。スーパーＩＯ５５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ５２に接続される。
【００６６】
そして、コンピュータ５０において実行される位置検出プログラムは、コンピュータ５０により読み出し可能な記録媒体の一例であるＤＶＤに記憶され、ＯＤＤ５７によってＤＶＤから読み出されてコンピュータ５０にインストールされる。あるいは、位置検出プログラムは、ＬＡＮインタフェース５３を介して接続された他のコンピュータシステムのデータベース等に記憶され、これらのデータベースから読み出されてコンピュータ５０にインストールされる。そして、インストールされた位置検出プログラムは、ＨＤＤ５４に記憶され、メインメモリ５１に読み出されてＣＰＵ５２によって実行される。
【００６７】
また、実施例では、アンサンブル学習モデルが位置情報を作成し、変換部が位置情報を把持位置情報に変換する場合について説明したが、アンサンブル学習モデルは、把持位置情報を直接作成してもよい。この場合、アンサンブル学習モデルは、物体検出範囲を把持位置範囲に置き換えて、信頼度及び把持角度とともに出力する。
【００６８】
また、実施例では、ピッキングロボット１で使われる場合について説明したが、位置検出装置１０は、医療用ロボット、調理ロボット、土木及び建設用機械、自動走行車、ドローン、家庭用電化製品などの他の装置で使われてもよい。
【符号の説明】
【００６９】
１    ピッキングロボット
２    アーム
３    グリッパ
４    対象物体
５    ピッキングロボットシステム
６    カメラ
７    ロボット制御装置
１０    位置検出装置
１０ａ    アンサンブル学習モデル
１１    学習モデル
１２    単純形状モデル
１３    学習用データセット
３２    変換部
５０    コンピュータ
５１    メインメモリ
５２    ＣＰＵ
５３    ＬＡＮインタフェース
５４    ＨＤＤ
５５    スーパーＩＯ
５６    ＤＶＩ
５７    ＯＤＤ
９１    テンプレート画像
９２    入力画像
９３    探索窓
【図１】
2020077231.tif 000003
【図２】
2020077231.tif 000004
【図３】
2020077231.tif 000005
【図４】
2020077231.tif 000006
【図５】
2020077231.tif 000007
【図６】
2020077231.tif 000008
【図７】
2020077231.tif 000009
【図８】
2020077231.tif 000010
【図９】
2020077231.tif 000011
【図１０】
2020077231.tif 000012
【図１１】
2020077231.tif 000013
【図１２】
2020077231.tif 000014
【図１３】
2020077231.tif 000015
【図１４】
2020077231.tif 000016