JP2020080023A - 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置 - Google Patents

学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置 Download PDF

Info

Publication number
JP2020080023A
JP2020080023A JP2018212578A JP2018212578A JP2020080023A JP 2020080023 A JP2020080023 A JP 2020080023A JP 2018212578 A JP2018212578 A JP 2018212578A JP 2018212578 A JP2018212578 A JP 2018212578A JP 2020080023 A JP2020080023 A JP 2020080023A
Authority
JP
Japan
Prior art keywords
reliability
value
candidate
model
candidates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018212578A
Other languages
English (en)
Other versions
JP7135750B2 (ja
Inventor
彼方 鈴木
Kanata Suzuki
彼方 鈴木
泰斗 横田
Yasuto Yokota
泰斗 横田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018212578A priority Critical patent/JP7135750B2/ja
Priority to US16/676,397 priority patent/US11182633B2/en
Publication of JP2020080023A publication Critical patent/JP2020080023A/ja
Application granted granted Critical
Publication of JP7135750B2 publication Critical patent/JP7135750B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39298Trajectory learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40609Camera to monitor end effector as well as object to be handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Robotics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Mechanical Engineering (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

【課題】ティーチングレス学習による学習が行われたモデルの認識精度を向上させること。【解決手段】学習プログラムは、モデルに、第1の画像を入力し、複数の領域の候補、及び前記候補ごとの信頼度を出力させる処理をコンピュータに実行させる。モデルは、入力された画像から特定の領域の候補、及び各候補が前記特定の領域であることの確からしさを表す信頼度を出力する。また、学習プログラムは、前記モデルによって出力された候補のうち、前記信頼度が所定の基準を満たさない候補のそれぞれについて、前記信頼度が大きいほど大きくなる第1の値を計算する処理をコンピュータに実行させる。また、学習プログラムは、前記第1の値を、前記信頼度が大きいほど小さくなるように重み付けした第2の値を計算する処理をコンピュータに実行させる。また、学習プログラムは、前記第2の値が小さくなるように前記モデルを更新する処理をコンピュータに実行させる。【選択図】図1

Description

本発明は、学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置に関する。
従来、ピッキングロボットが部品を把持するための把持位置を、画像認識により検知する技術が知られている。また、例えば、画像認識による物体検知の手法として、SSD(Single Shot MultiBox Detector)が知られている。
SSDでは、モデルとして畳み込みニューラルネットワークが用いられる。また、SSDのモデルは、入力された画像内のバウンディングボックスごとに、検知対象が存在する確率の高さの度合いを出力する。なお、バウンディングボックスとは、入力された画像におけるデフォルトの矩形領域である。
また、画像認識に用いられるモデルによる出力結果が妥当であるかを実際に試行し、試行結果をフィードバックとして得ながらさらにモデルの学習を行うという一連の手順を、コンピュータが自動的に行うティーチングレス学習が知られている。
株式会社 安川電機、"ロボットによる対象物の多様なつかみ方を実現するAIピッキング機能を開発"、[online]、[平成30年10月29日検索]、インターネット<URL:https://www.yaskawa.co.jp/newsrelease/technology/35697> Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg,"SSD: Single Shot MultiBox Detector"、 [online]、 [平成30年10月29日検索]、 インターネット<URL:http://www.cs.unc.edu/~wliu/papers/ssd.pdf>
しかしながら、上記の技術では、ティーチングレス学習による学習が行われたモデルの認識精度が低下する場合があるという問題がある。
ここで、ピッキングロボットの把持位置の検知に用いられるモデルのティーチング学習を行う場合の例を説明する。この場合、まず、実際に複数の物体が置かれたトレイの画像がモデルに入力され、1つの把持位置が検知される。そして、ピッキングロボットは、検知された把持位置に対して実際に把持を試行する。さらに、ピッキングロボットによる把持の成否がモデルにフィードバックされ、学習が行われる。
ここで、ピッキングロボットによる把持が試行されると、トレイ上の物体の位置等が変化する。このため、1つの入力画像に対しては、試行は1回のみ行われる。つまり、把持位置の候補が複数あった場合、学習においては、1つの候補のみが正解として扱われ、他の候補は不正解として扱われる。
例えば、図4の例において、トレイ上のT字の形状の物体を把持するための把持位置の候補として、破線で囲まれた各領域、及び領域ごとの把持位置であることの確からしさを表す信頼度がモデルによって出力されたものとする。さらに、候補311aの信頼度が最も大きかったため、候補311aに対する把持が試行され、成功したものとする。
このとき、候補311b及び候補311c等は候補311aと類似しているため、候補311b及び候補311cの信頼度はある程度大きいことが考えられる。一方で、候補311hは明らかに把持位置ではないため、候補311hの信頼度は、候補311b及び候補311c等と比べて小さいことが考えられる。しかしながら、ティーチングレス学習においては、試行の結果、候補311a以外の全ての領域が一様に不正解として扱われる。
つまり、候補311b及び候補311cが実際に把持位置として採用可能であったとしても、学習後のモデルは、候補311b及び候補311c等の信頼度を小さく出力するようになってしまう。
1つの側面では、ティーチングレス学習による学習が行われたモデルの認識精度を向上させることを目的とする。
1つの態様において、学習プログラムは、モデルに、第1の画像を入力し、複数の領域の候補、及び前記候補ごとの信頼度を出力させる処理をコンピュータに実行させる。モデルは、入力された画像から特定の領域の候補、及び各候補が前記特定の領域であることの確からしさを表す信頼度を出力する。また、学習プログラムは、前記モデルによって出力された候補のうち、前記信頼度が所定の基準を満たさない候補のそれぞれについて、前記信頼度が大きいほど大きくなる第1の値を計算する処理をコンピュータに実行させる。また、学習プログラムは、前記第1の値を、前記信頼度が大きいほど小さくなるように重み付けした第2の値を計算する処理をコンピュータに実行させる。また、学習プログラムは、前記第2の値が小さくなるように前記モデルを更新する処理をコンピュータに実行させる。
1つの側面では、ティーチングレス学習による学習が行われたモデルの認識精度を向上させることができる。
図1は、実施例に係る学習装置及び検知装置を含むシステムの機能構成を示す機能ブロック図である。 図2は、学習部の機能構成を示す機能ブロック図である。 図3は、画像認識による事前学習を説明する図である。 図4は、生成処理の流れを説明する図である。 図5は、画像認識による把持位置の選択を説明する図である。 図6は、画像認識によるパレットの重み付けを説明する図である。 図7は、学習処理の流れを説明する図である。 図8は、関数を説明する図である。 図9は、誤差を説明する図である。 図10は、事前学習処理の流れを示すフローチャートである。 図11は、生成処理の流れを示すフローチャートである。 図12は、学習処理の流れを示すフローチャートである。 図13は、検知処理の流れを示すフローチャートである。 図14は、ハードウェア構成例を説明する図である。
以下に、本発明にかかる学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[機能構成]
図1を用いて、学習装置及び検知装置の機能構成を説明する。図1は、実施例に係る学習装置及び検知装置を含むシステムの機能構成を示す機能ブロック図である。システム1は、ピッキングロボットで用いられるモデルの学習、モデルを用いた把持位置の検知、及びピッキングロボットによる実際の把持の制御等を行うためのシステムである。図1に示すように、システム1は、学習装置10、検知装置20、把持システム30、把持システム40及び把持制御装置50を有する。
学習装置10は、把持システム30を用いてモデルの学習を行う。また、検知装置20は、学習装置10によって学習が行われたモデルを用いて、把持システム40から取得したテストデータ20aを基に、把持位置を検知し、その結果を検知結果20bとして出力する。把持制御装置50は、検知装置20によって出力された検知結果20bを基に把持システム40を制御する。
ここで、例えば、把持システム30は、開発及び試験用の環境に構築されたものであってよい。また、把持システム40は、実際に工場等で運用されているものであってよい。また、把持システム30及び把持システム40は、同一のものであってもよい。
[学習装置の構成]
図1に示すように、学習装置10は、把持システム30と接続されている。把持システム30は、トレイ31、ロボット32及びカメラ33を有する。トレイ31には、把持対象の物体が置かれる。また、ロボット32は、二指ハンドを有するピッキングロボットである。ロボット32は、トレイ31上の物体を把持する。このとき、ロボット32は、学習装置10から指示された把持位置に対し把持を行う。また、カメラ33は、トレイ31を上から撮影し、撮影した画像を学習装置10に送信する。
図1に示すように、学習装置10は、取得部11、把持制御部12、付与部13、出力部15、学習部16、学習データ記憶部17及びモデルパラメータ記憶部18を有する。
取得部11は、カメラ33からトレイ31上の物体の画像を取得する。また、把持制御部12は、入力された把持位置に従い、ロボット32を制御し物体を把持させる。付与部13は、取得部11によって取得された画像にラベルを付与する。
ここで、ラベルは、把持位置、及び当該把持位置に対してロボット32が把持を試行した際の、物体の把持の成否を示す情報である。把持の成否は、カメラ33又は図示しない他のカメラ、及び所定のセンサ等によって取得される。また、以降の説明では、学習データは画像とラベルとの組み合わせであるものとする。例えば、付与部13は、把持が成功した領域には信頼度として1を付与し、他の領域には信頼度として0を付与する。
ここで、モデルは、入力された画像から特定の領域の候補、及び各候補が特定の領域であることの確からしさを表す信頼度を出力する。本実施例では、モデルは、特定の領域を含む複数のクラスごとの信頼度を出力する。また、特定の領域は物体の把持位置である。
例えば、クラスは、把持位置と背景の2種類である。また、物体の種類が複数ある場合、クラスは、第1の物体の把持位置、第2の物体の把持位置及び背景のように設定されてもよい。また、信頼度は、矩形が所定のクラスである確率であってよい。例えば、ある領域が把持位置である確率が0.9である場合、その領域の把持位置クラスの信頼度は0.9である。
なお、実施例のモデルは、SSDのモデルに、さらにバウンディングボックスの回転角を示す角度を出力させるようにすることで実現されるものとする。なお、SSDのモデルは、入力された画像から、あらかじめ設定された矩形であるバウンディングボックスのいずれか及びクラスごとの信頼度を出力する。
認識部14は、学習データの生成及びモデルの事前学習等のための画像認識を行う。また、認識部14は、物体がない状態の画像と、物体が置かれた状態の画像との差分を取ることで、物体が存在する可能性がある領域を抽出することができる。また、認識部14は、トレイ上の座標と対応させているパレットに物体の存在確率を重み付けすることができる。
出力部15は、入力された画像から特定の領域の候補、及び各候補が特定の領域であることの確からしさを表す信頼度を出力するモデルに、第1の画像を入力し、複数の領域の候補、及び候補ごとの信頼度を出力させる。例えば、第1の画像は、取得部11によってカメラ33から取得された画像である。
学習部16は、学習データを用いて学習を行い、モデルを更新する。図2は、学習部の機能構成を示す機能ブロック図である。図2に示すように、学習部16は、選択部161、第1の計算部162、第2の計算部163及び更新部164を有する。
選択部161は、モデルによって出力された候補から、信頼度が所定の基準を満たす候補を選択領域として選択する。例えば、選択部161は、モデルによって出力された候補から、信頼度が最大である候補を選択する。また、選択部161によって選択された候補の領域は、把持位置クラスに分類される。以降の説明では、選択部161によって選択された候補を正例と呼ぶ場合がある。
第1の計算部162は、モデルによって出力された候補のうち、信頼度が所定の基準を満たさない候補のそれぞれについて、信頼度が大きいほど大きくなる第1の値を計算する。ここで、信頼度が所定の基準を満たさない候補は、選択部161によって選択されなかった候補、すなわち背景クラスの分類される候補である。以降の説明では、選択部161によって選択されなかった候補を負例と呼ぶ場合がある。また、第1の値は、信頼度そのものであってもよいし、信頼度に比例する所定の値であってもよい。
第2の計算部163は、第1の値を、信頼度が大きいほど小さくなるように重み付けした第2の値を計算する。従来の手法では、第1の値はモデルの学習における誤差として利用可能であるが、本実施例では、第2の値が誤差として用いられる。つまり、第2の計算部163は、負例の候補について、信頼度が大きいものほど誤差を小さく抑えるような処理を行う。これは、前述の通り、把持位置の候補が複数あった場合に、1つの候補のみが正解として扱われ、他の候補は不正解として扱われるケースがあるためである。このとき、本来は把持可能な候補が背景として扱われる。さらに、そのような候補は信頼度が大きくなる傾向があるため、信頼度に比例する第1の値をそのまま誤差として利用した場合、モデルの認識精度を向上させることが難しくなる場合がある。
また、第2の計算部163は、候補における第1の値の大きさの順位が所定の順位以内である候補について、第2の値を計算する。この場合、第2の計算部163は、全ての負例の候補について第2の値を誤差として計算するのではなく、信頼度が上位の一定数の候補について第2の値を計算する。
更新部164は、第2の値が小さくなるようにモデルを更新する。また、更新部164は、第1の画像にあらかじめ設定された正解の領域に対する、選択領域の差異の大きさを示す第3の値と、第2の値と、の両方が小さくなるようにモデルを更新する。
更新部164は、SSDと同様の手法で、矩形の誤差及び信頼度の誤差を最小化する。ここで、第3の値は、モデルによって出力されたバウンディングボックス及び信頼度と学習データに対してあらかじめ設定された正解の把持位置及び信頼度との誤差である。
また、正解の把持位置及び信頼度は、付与部13によって付与されたラベルであってよい。例えば、ある領域で把持が成功している場合であって、モデルによって出力された当該領域が把持位置であることの信頼度が0.9である場合、当該領域の信頼度の誤差は0.1である。なお、ある領域で把持が成功している場合、当該領域には付与部13によって信頼度として1が付与されているものとする。
学習データ記憶部17は、学習データを記憶する。前述の通り、学習データは、画像とラベルとの組み合わせである。具体的には、学習データは、画像及び付与部13によって信頼度として1が付与された画像内の領域の組み合わせである。
モデルパラメータ記憶部18は、モデルのパラメータを記憶する。例えば、モデルパラメータ記憶部18は、ニューラルネットワークにおける重みやバイアス等のパラメータを記憶する。また、モデルパラメータ記憶部18によって記憶されたパラメータを使うことで、学習装置10によって学習が行われた学習済みのモデルを再現することが可能であるものとする。また、更新部164は、モデルパラメータ記憶部18に記憶されたパラメータを更新することにより、モデルを更新することができる。
[学習装置の処理]
ここで、学習装置10の処理を具体的に説明する。まず、学習装置10は、ティーチングレス学習を行うため、モデルを用いて学習データを自動的に生成する。その際、初めはモデルの把持位置の検知精度が低いため、学習データを効率的に生成することができない場合がある。そこで、学習装置10は、画像認識を用いた事前学習を行うことでモデルの精度を向上させる。
図3は、画像認識による事前学習を説明する図である。図3に示すように、まず、認識部14は、把持対象の物体の3Dモデル141を生成する。ここで、把持対象の物体は、六角ボルトであるものとする。次に、認識部14は、トレイ31を模した背景に3Dモデル141を配置したCG(computer graphics)画像142を生成する。そして、認識部14は、画像認識によりCG画像142の把持位置の候補を特定する。
そして、認識部14は、CG画像142と特定した把持位置の座標や角度等であるラベルとを組み合わせた学習データを生成する。その際、認識部14は、把持位置の候補142aを含む各候補に信頼度を付与しておく。そして、認識部14は、生成した学習データを学習データ記憶部17に格納する。ここで、学習部16は、認識部14によって格納された学習データを用いて事前学習を行う。
また、図3に示すように、把持位置は、傾いた矩形で表される。ロボット32は、2つの指部のそれぞれを、把持位置を表す矩形の短辺に重ねることで、物体311の把持を実行することができる。
学習装置10は、把持試行により学習データを生成する。図4は、生成処理の流れを説明する図である。図4に示すように、まず、出力部15は、取得部11によって取得された画像33aを、モデル18aに入力する。モデル18aは、モデルパラメータ記憶部18に記憶されたパラメータであって、事前学習において格納されたパラメータを基に構築されたモデルである。モデル18aは、入力された画像33aを基に、把持位置の候補及び信頼度を出力する。
ここで、モデル18aは、把持位置の候補311a、候補311b、候補311c、候補311d、候補311e、候補311f、候補311g及び候補311hを出力したものとする。また、このとき、候補311aの信頼度が最も大きかったものとする。このとき、把持制御部12は、ロボット32に、候補311aが示す把持位置に対する把持を試行させる。そして、付与部13は、画像33aと、候補311aと、把持の成否を示すラベルとを組み合わせて学習データ記憶部17に格納する。
また、把持を試行する際に、特に学習が十分に進んでいないうちは、モデルが明らかに誤った位置や危険な位置にある候補の信頼度を大きく出力する場合がある。認識部14は、そのような候補を画像認識により特定し、把持試行の対象から除外することができる。図5は、画像認識による把持位置の選択を説明する図である。
図5の画像143は、取得部11によって取得された画像に、モデルによって出力された把持位置の候補を配置したものである。認識部14は、画像143に対し、把持位置と明らかに異なる領域を候補から除外する。図5の領域143b等の一点鎖線で囲まれた領域は、認識部14によって除外されなかった領域である。例えば、認識部14は、把持対象の物体を全く含んでいない領域を除外する。
また、モデルによって信頼度が大きい候補が出力されない場合、又は選択された候補に対する把持の試行が失敗した場合、認識部14は、モデルに代わって画像認識により把持位置の候補を出力する。例えば、認識部14は、トレイ31上に物体が置かれていない状態の画像と、取得部11が取得した画像との差分を取ることで、物体が存在する可能性がある領域を抽出する。そして、認識部14は、トレイ31の座標と対応付けたパレットの、抽出した領域と対応する箇所に、物体の存在確率を重み付けする。例えば、図6の画像144に示すように、重み付けされた箇所は背景より濃い色が付される。図6は、画像認識によるパレットの重み付けを説明する図である。
次に、学習装置10は、把持試行によって生成した学習データを用いて学習処理を行う。なお、学習データは、既定の形式のデータであればよく、把持試行によって生成されたものでなくてもよい。例えば、学習データは、実際に把持試行を行うことなく、CGや画像認識技術を使って仮想的に生成されたものであってもよい。
図7は、学習処理の流れを説明する図である。図7に示すように、出力部15は、複数の学習データを拡張した上でモデル18aに入力する。例えば、学習データの1つは、画像33a及び把持の試行が成功した候補311aを含む。
出力部15は、候補311aを含むように、画像33aをランダムな位置で所定のサイズに切り出すことによって学習データの拡張を行う。例えば、出力部15は、画像33aを含む学習データを、画像331aを含む複数の切り出し画像のそれぞれに対応する学習データに拡張する。
さらに、選択部161は、モデル18aが出力した候補のうち信頼度が最大であった正例の候補311a´を選択する。そして、更新部は164、学習データの候補311aと正例の候補311a´との誤差が最小化されるようにモデルを更新する。
さらに、モデルは、311a´以外の負例の候補311b´、311c´、311d´、311e´、311f´、311g´及び311h´を出力する。第1の計算部162及び第2の計算部163は、負例の候補の誤差を計算する。
ここで、誤差は、(1)式のLossによって表される。
Figure 2020080023
(1)式のLossは、正例の誤差と、負例の修正済みの誤差を足した値である。Lrec,trueは、正例の位置及び回転角度の誤差である。Lconf,trueは、正例の信頼度の誤差である。Lrec,falseは、負例の位置及び回転角度の誤差である。Lconf,falseは、負例の信頼度の誤差である。
第1の計算部162は、Lrec,false+Lconf,falseを計算する。また、第2の計算部163は、係数αを計算し、さらに係数αをLrec,false+Lconf,falseに掛ける。例えば、第2の計算部163は、入力された値に対して出力値が単調減少する所定の関数に、信頼度を入力して得られる出力値を係数αとして得る。
ここで、負例の中での各候補の信頼度の大きさの順位をkとする。係数αを出力する関数は、図8のように表される。図8は、関数を説明する図である。図8に示すように、関数f(k)は、kに対して単調増加である。ただし、順位kが大きくなるほど信頼度は小さくなるため、関数f(k)は、kから導かれる信頼度に対しては単調減少である。
また、誤差を小さく抑える対象の範囲を特定する順位Kがあらかじめ定められていてもよい。この場合、図8に示すように、関数f(k)は、順位がK以内である場合(k≦Kである場合)は1以下の値を出力し、順位がKより下である場合(k>Kである場合)は、1を出力する。
例えば、Kは、トレイ31上の物体数、把持範囲の面積や体積を基に設定される。また、物体数の推定は、認識部14が、テンプレートマッチング、ポイントクラウド、SSD等の従来の手法を用いて行うことができる。
例えば、第2の計算部163は、(2)式によるαを計算することができる。ここで、confは、順位kの候補の信頼度である。ここでは、また、0≦conf≦1が成り立つものとする。
Figure 2020080023
(2)式を用いて第2の値を計算した誤差の一例を図9に示す。図9は、誤差を説明する図である。選択部161は、信頼度が最も大きい候補である候補311a´を正例として選択する。このため、候補311a´把持位置クラスに分類される。このとき、候補311b´、311c´、311d´、311e´、311f´、311g´、311h´は負例の候補であり、背景クラスに分類される。
図9の未修正誤差は、第1の値の一例である。ここでは、負例の候補の未修正誤差は、信頼度そのものであるものとする。また、負例内ランクは、負例の候補の信頼度の大きさのランクである。また、修正済み誤差は、第2の値の一例である。
ここで、図7に示すように、候補311b´、311c´、311d´、311e´、311f´は、物体に対する相対的な位置が候補311a´に類似しているため、把持位置として適当である可能性が高いと考えられる。一方で、候補311h´は、明らかに把持位置としては不適当である。また、候補311g´は候補311a´と比べると、把持位置としてはやや不適等であると考えられる。
候補311b´、311c´、311d´、311e´、311f´は、潜在的な正解の把持位置といえるので、負例としての誤差は小さい方が望ましい。そこで、第2の計算部163は、候補311b´、311c´、311d´、311e´、311f´について、未修正誤差が小さくなるように(2)式により修正済み誤差を計算する。また、このとき、K=5であるとする。このため、第2の計算部163は、負例内ランクが6以降である場合、係数αが1になるため、未修正誤差と修正済み誤差が等しくなる。
[検知装置の構成]
図1に示すように、検知装置20は、把持システム40と接続されている。把持システム40は、トレイ41、ロボット42及びカメラ43を有する。トレイ41には、把持対象の物体が置かれる。また、ロボット42は、二指ハンドを有するピッキングロボットである。ロボット42は、トレイ41上の物体を把持する。このとき、ロボット42は、把持制御装置50から指示された把持位置に対し把持を行う。また、カメラ43は、トレイ41を上から撮影し、撮影した画像を把持制御装置50に送信する。
把持制御装置50は、学習装置10の取得部11及び把持制御部12と同様の機能を有する。つまり、把持制御装置50は、カメラ43からトレイ41上の物体の画像を取得する。また、把持制御装置50は、取得した画像をテストデータ20aとして検知装置20に送信する。また、把持制御装置50は、検知結果20bとして入力された把持位置に従い、ロボット42を制御し物体を把持させる。
図1に示すように、検知装置20は、出力部21、検知部22及びモデルパラメータ記憶部24を有する。モデルパラメータ記憶部24は、学習装置10のモデルパラメータ記憶部18に記憶されているパラメータと同一のパラメータを記憶する。
出力部21は、学習装置10の出力部15と同様の機能を有する。すなわち、出力部21は、テストデータ20aの画像をモデルに入力し、把持位置の候補及び信頼度を出力させる。また、検知部22は、モデルによって出力された候補のうち、信頼度が最も大きい組み合わせを検知する。テストデータ20aの画像は、第2の画像の一例である。また、出力部21が出力させる把持位置の候補は、第2の候補の一例である。また、検知部22によって検知された把持位置は、検知結果20bとして把持制御装置50に送信される。
[処理の流れ]
図10、図11、図12及び図13のフローチャートを用いて、実施例の処理の流れを説明する。図10は、事前学習処理の流れを示すフローチャートである。また、図11は、生成処理の流れを示すフローチャートである。また、図12は、学習処理の流れを示すフローチャートである。また、図13は、検知処理の流れを示すフローチャートである。
図10のフローチャートを用いて、事前学習処理について説明する。図10に示すように、まず、学習装置10は、CGで物体の3Dモデルを生成する(ステップS101)。次に、学習装置10は、生成した3Dモデルを画像に配置する(ステップS102)。そして、学習装置10は、画像認識により把持位置の候補を特定し、事前学習データを作成する(ステップS103)。
ここで、学習装置10は、作成した事前学習データの画像が規定枚数であるか否かを判定する。学習装置10は、事前学習データの画像が規定枚数である場合(ステップS104、Yes)、事前学習データを使ったモデルの事前学習を実行する(ステップS105)。一方、学習装置10は、事前学習データの画像が規定枚数でない場合(ステップS104、No)、ステップS102に戻り、処理を繰り返す。
図11のフローチャートを用いて、生成処理について説明する。図11に示すように、まずトレイ31上に把持対象の物体が配置される(ステップS201)。そして、カメラ33は、配置された物体の画像を撮影する(ステップS202)。ここで、学習装置10は、画像のパレットを重み付けしておく(ステップS203)。
次に、学習装置10は、試行が規定回数行われたか否かを判定する(ステップS204)。学習装置10は、試行が規定回数行われたと判定した場合(ステップS204、Yes)、カメラ33によって撮影された画像をモデルに入力し、把持位置の候補及び信頼度を出力させる(ステップS205)。そして、学習装置10は、最も信頼度が大きい候補を選択する(ステップS206)。一方、学習装置10は、試行が規定回数行われていないと判定した場合(ステップS204、No)、パレットの重みに基づいて把持位置を選択する(ステップS207)。
ステップS204からS207の処理は、把持が成功しないまま試行回数が規定回数に達した場合に、学習装置10がモデルによる候補の出力を中止し、画像認識による候補の出力を行うものである。
学習装置10は、選択した候補に対し、試行を行うか否かを判定する(ステップS208)。ここでは、学習装置10は、モデルによって出力された信頼度が高い候補であっても、画像認識によって明らかに誤り又は危険と判定できる場合、当該候補に対する試行を行わない。
学習装置10は、試行を行わないと判定した場合(ステップS208、No)、ステップS202に戻り、他の画像を使って生成処理を行う。一方、学習装置10は、試行を行うと判定した場合(ステップS208、Yes)、把持を試行する(ステップS209)。
ここで、学習装置10は、試行において把持が成功したか否かを判定する(ステップS210)。学習装置10は、把持が成功しなかったと判定した場合(ステップS210、No)、ステップS202に戻り、他の画像を使って生成処理を行う。一方、学習装置10は、把持が成功したと判定した場合(ステップS210、Yes)、画像及び把持位置に、把持結果をラベルとして付与し学習データを生成する(ステップS211)。
さらに、学習装置10は、トレイ31に把持位置が残っているか否かを判定する(ステップS212)。例えば、画像認識によりトレイ31上に物体が1つもないことが判明している場合、学習装置10は、把持位置が残っていないと判定する。学習装置10は、把持位置が残っていると判定した場合(ステップS212、Yes)、ステップS202に戻り、他の画像を使って生成処理を行う。
一方、学習装置10は、把持位置が残っていないと判定した場合(ステップS212、No)、規定数の学習データが生成されたか否かを判定する(ステップS213)。学習装置10は、規定数の学習データが生成されていないと判定した場合(ステップS213、No)、ステップS201に戻り、物体が配置し直された後、さらに生成処理を行う。一方、学習装置10は、規定数の学習データが生成されたと判定した場合(ステップS213、Yes)、ステップS201に戻り、物体が配置し直された後、さらに生成処理を行う。
図12のフローチャートを用いて学習処理の流れを説明する。図12に示すように、まず、学習装置10は、モデルパラメータ記憶部18に記憶されたモデルのパラメータを初期化する(ステップS301)。
ここで、学習装置10は、学習データの画像をモデルに入力し、把持位置の候補及び信頼度を出力させる(ステップS302)。そして、学習装置10は、誤差を計算する(ステップS303)。ステップS303における誤差は、第1の値である。
そして、学習装置10は、誤差を修正する負例ランクの範囲を決定する(ステップS304)。そして、学習装置10は、修正範囲の候補の誤差を修正する(ステップS305)。ステップS305における修正後の誤差は、第2の値である。
学習装置10は、修正した誤差をフィードバックする(ステップS306)。このとき、例えば、学習装置10は、誤差のフィードバックによる更新後のモデルのパラメータを一時データとして保持しておく。そして、学習装置10は、所定の条件が満たされているか否かに基づき、学習が終了したか否かを判定する(ステップS307)。例えば、所定の条件は、未入力の学習データがなくなったこと、学習が既定の回数だけ行われたこと及びパラメータの更新量が収束したこと等である。
学習装置10は、学習が終了したと判定した場合(ステップS307、Yes)、モデルパラメータ記憶部18のパラメータを更新し(ステップS308)、処理を終了する。このとき、学習装置10は、保持している一時データでモデルパラメータ記憶部18を上書きすることによってパラメータを更新することができる。
学習装置10は、学習が終了していないと判定した場合(ステップS307、No)、ステップS302に戻り、処理を繰り返す。このとき、学習装置10は、保持している一時データをモデルに反映させた上で、以降の処理を行うことができる。
図13のフローチャートを用いて検知処理の流れを説明する。図13に示すように、まず、検知装置20は、学習装置10から学習済みのモデルのパラメータを取得し、モデルパラメータ記憶部24に格納する(ステップS401)。なお、検知装置20は、学習装置10とモデルパラメータ記憶部18を共有するようにしてもよい。その場合、ステップS401は省略される。
ここで、検知装置20は、テストデータ20aの画像をモデルに入力し、把持位置の候補及び信頼度を出力させる(ステップS402)。そして、検知装置20は、最も信頼度が大きい候補を把持位置として検知する(ステップS403)。
[効果]
上述したように、学習装置10は、入力された画像から特定の領域の候補、及び各候補が特定の領域であることの確からしさを表す信頼度を出力するモデルに、第1の画像を入力し、複数の領域の候補、及び候補ごとの信頼度を出力させる。また、学習装置10は、モデルによって出力された候補のうち、信頼度が所定の基準を満たさない候補のそれぞれについて、信頼度が大きいほど大きくなる第1の値を計算する。また、学習装置10は、第1の値を、信頼度が大きいほど小さくなるように重み付けした第2の値を計算する。また、学習装置10は、第2の値が小さくなるようにモデルを更新する。このように、学習装置10は、負例の潜在的に正解である候補の誤差を小さくした上で学習を行う。これは、特に、全ての正解候補に正解ラベルを付与することが困難なティーチングレスにおいて有効である。このため、実施例によれば、ティーチングレス学習による学習が行われたモデルの認識精度を向上させることができる。
学習装置10は、候補における第1の値の大きさの順位が所定の順位以内である候補について、第2の値を計算する。これにより、学習装置10は、潜在的な正解候補の誤差を小さくしつつ、不正解の候補の誤差は大きいままにしておくことができる。
学習装置10は、入力された値に対して出力値が単調減少する所定の関数に、信頼度を入力して得られる出力値を、第1の値に掛けることで第2の値を計算する。これにより、学習装置10は、信頼度の大きさに応じた誤差の修正を行うことができる。
学習装置10は、モデルによって出力された候補から、信頼度が所定の基準を満たす候補を選択領域として選択する。また、学習装置10は、第1の画像にあらかじめ設定された正解の領域に対する、選択領域の差異の大きさを示す第3の値と、第2の値と、の両方が小さくなるようにモデルを更新する。これにより、学習装置10は、正例及び負例の両方を学習に反映させることができる。
学習装置10は、入力された画像から物体の把持位置の候補、及び各候補が把持位置であることの確からしさを表す信頼度を出力するモデルに、第1の画像を入力し、複数の把持位置の候補、及び候補ごとの信頼度を出力させる。これにより、ピッキングロボットの把持位置を検知するモデルのティーチングレス学習が可能になる。
検知装置20は、学習装置10によって更新されたモデルに、第2の画像を入力し、第2の候補、及び第2の候補ごとの信頼度を出力させる。また、検知装置20は、第2の候補のうち、信頼度が最大である候補を検知領域として検知する。また、検知装置20は、第2の候補のうち、信頼度が最大である候補を把持位置として検知する。これにより、検知装置20は、精度良く把持位置の検知を行うことができる。
また、検知装置20は、検知した把持位置を、物体を把持するロボット42を制御する把持制御装置50に対して出力する。これにより、検知装置20は、把持制御装置50及びロボット42に、精度良く把持を行わせることができる。
なお、上記の実施例では、学習装置10が第2の値を計算するための係数αを、(2)式を使って計算するものとして説明した。一方で、学習装置10は、対象の範囲を特定する順位Kをあらかじめ設定することなく、第2の値の計算を(3)式により行ってもよい。
Figure 2020080023
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
図14は、ハードウェア構成例を説明する図である。図14に示すように、学習装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図14に示した各部は、バス等で相互に接続される。また、検知装置20も、学習装置10と同様のハードウェア構成を有する。また、検知装置20も、学習装置10と同様のハードウェア構成により実現される。
通信インタフェース10aは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。HDD10bは、図1に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ10dは、図1に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図1等で説明した各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、学習装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、取得部11、把持制御部12、付与部13、認識部14、出力部15、学習部16と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、取得部11、把持制御部12、付与部13、認識部14、出力部15、学習部16等と同様の処理を実行するプロセスを実行する。
このように学習装置10は、プログラムを読み出して実行することで学習類方法を実行する情報処理装置として動作する。また、学習装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、学習装置10によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
1 システム
10 学習装置
11 取得部
12 把持制御部
13 付与部
14 認識部
15、21 出力部
16 学習部
17 学習データ記憶部
18 モデルパラメータ記憶部
20 検知装置
20a テストデータ
20b 検知結果
22 検知部
24 モデルパラメータ記憶部
30、40 把持システム
31、41 トレイ
32、42 ロボット
33、43 カメラ

Claims (12)

  1. 入力された画像から特定の領域の候補、及び各候補が前記特定の領域であることの確からしさを表す信頼度を出力するモデルに、第1の画像を入力し、複数の領域の候補、及び前記候補ごとの信頼度を出力させ、
    前記モデルによって出力された候補のうち、前記信頼度が所定の基準を満たさない候補のそれぞれについて、前記信頼度が大きいほど大きくなる第1の値を計算し、
    前記第1の値を、前記信頼度が大きいほど小さくなるように重み付けした第2の値を計算し、
    前記第2の値が小さくなるように前記モデルを更新する、
    処理をコンピュータに実行させることを特徴とする学習プログラム。
  2. 前記第2の値を計算する処理は、前記候補における前記第1の値の大きさの順位が所定の順位以内である候補について、前記第2の値を計算することを特徴とする請求項1に記載の学習プログラム。
  3. 前記第2の値を計算する処理は、入力された値に対して出力値が単調減少する所定の関数に、前記信頼度を入力して得られる出力値を、前記第1の値に掛けることで前記第2の値を計算することを特徴とする請求項1又は2に記載の学習プログラム。
  4. 前記モデルによって出力された候補から、前記信頼度が前記所定の基準を満たす候補を選択領域として選択する処理をさらに実行させ、
    前記更新する処理は、前記第1の画像にあらかじめ設定された正解の領域に対する、前記選択領域の差異の大きさを示す第3の値と、前記第2の値と、の両方が小さくなるように前記モデルを更新することを特徴とする請求項1から3のいずれか1項に記載の学習プログラム。
  5. 前記出力させる処理は、入力された画像から物体の把持位置の候補、及び各候補が前記把持位置であることの確からしさを表す信頼度を出力するモデルに、第1の画像を入力し、複数の把持位置の候補、及び前記候補ごとの信頼度を出力させることを特徴とする請求項1から4のいずれか1項に記載の学習プログラム。
  6. 入力された画像から特定の領域の候補、及び各候補が前記特定の領域であることの確からしさを表す信頼度を出力するモデルに、第1の画像を入力し、複数の領域の候補、及び前記候補ごとの信頼度を出力させ、
    前記モデルによって出力された候補のうち、前記信頼度が所定の基準を満たさない候補のそれぞれについて、前記信頼度が大きいほど大きくなる第1の値を計算し、
    前記第1の値を、前記信頼度が大きいほど小さくなるように重み付けした第2の値を計算し、
    前記第2の値が小さくなるように前記モデルを更新する、
    処理をコンピュータが実行することを特徴とする学習方法。
  7. 入力された画像から特定の領域の候補、及び各候補が前記特定の領域であることの確からしさを表す信頼度を出力するモデルに、第1の画像を入力し、複数の領域の候補、及び前記候補ごとの信頼度を出力させる出力部と、
    前記モデルによって出力された候補のうち、前記信頼度が所定の基準を満たさない候補のそれぞれについて、前記信頼度が大きいほど大きくなる第1の値を計算する第1の計算部と、
    前記第1の値を、前記信頼度が大きいほど小さくなるように重み付けした第2の値を計算する第2の計算部と、
    前記第2の値が小さくなるように前記モデルを更新する更新部と、
    を有することを特徴とする学習装置。
  8. 入力された画像から特定の領域の候補、及び各候補が前記特定の領域であることの確からしさを表す信頼度を出力するモデルに、第1の画像を入力し、複数の領域の候補、及び前記候補ごとの信頼度を出力させ、前記モデルによって出力された候補のうち、前記信頼度が所定の基準を満たさない候補のそれぞれについて、前記信頼度が大きいほど大きくなる第1の値を計算し、前記第1の値を、前記信頼度が大きいほど小さくなるように重み付けした第2の値を計算し、前記第2の値が小さくなるように前記モデルを更新する、処理によって更新された前記モデルに、第2の画像を入力し、第2の候補、及び前記第2の候補ごとの信頼度を出力させ、
    前記第2の候補のうち、前記信頼度が最大である候補を検知領域として検知する、
    処理をコンピュータに実行させることを特徴とする検知プログラム。
  9. 前記出力させる処理は、入力された画像から物体の把持位置の候補、及び各候補が前記把持位置であることの確からしさを表す信頼度を出力するモデルに、前記第1の画像を入力し、複数の把持位置の候補、及び前記候補ごとの信頼度を出力させ、前記第2の値が小さくなるように前記モデルを更新する、処理によって更新された前記モデルに、前記第2の画像を入力し、前記第2の候補、及び前記第2の候補ごとの信頼度を出力させ、
    前記検知する処理は、前記第2の候補のうち、前記信頼度が最大である候補を把持位置として検知する、
    ことを特徴とする請求項8に記載の検知プログラム。
  10. 前記検知する処理によって検知した把持位置を、物体を把持するロボットを制御する把持装置に対して出力する処理をコンピュータにさらに実行させることを特徴とする請求項9に記載の検知プログラム。
  11. 入力された画像から特定の領域の候補、及び各候補が前記特定の領域であることの確からしさを表す信頼度を出力するモデルに、第1の画像を入力し、複数の領域の候補、及び前記候補ごとの信頼度を出力させ、前記モデルによって出力された候補のうち、前記信頼度が所定の基準を満たさない候補のそれぞれについて、前記信頼度が大きいほど大きくなる第1の値を計算し、前記第1の値を、前記信頼度が大きいほど小さくなるように重み付けした第2の値を計算し、前記第2の値が小さくなるように前記モデルを更新する、処理によって更新された前記モデルに、第2の画像を入力し、第2の候補、及び前記第2の候補ごとの信頼度を出力させ、
    前記第2の候補のうち、前記信頼度が最大である候補を検知領域として検知する、
    処理をコンピュータが実行することを特徴とする検知方法。
  12. 入力された画像から特定の領域の候補、及び各候補が前記特定の領域であることの確からしさを表す信頼度を出力するモデルに、第1の画像を入力し、複数の領域の候補、及び前記候補ごとの信頼度を出力させ、前記モデルによって出力された候補のうち、前記信頼度が所定の基準を満たさない候補のそれぞれについて、前記信頼度が大きいほど大きくなる第1の値を計算し、前記第1の値を、前記信頼度が大きいほど小さくなるように重み付けした第2の値を計算し、前記第2の値が小さくなるように前記モデルを更新する、処理によって更新された前記モデルに、第2の画像を入力し、第2の候補、及び前記第2の候補ごとの信頼度を出力させる出力部と、
    前記第2の候補のうち、前記信頼度が最大である候補を検知領域として検知する検知部と、
    を有することを特徴とする検知装置。
JP2018212578A 2018-11-12 2018-11-12 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置 Active JP7135750B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018212578A JP7135750B2 (ja) 2018-11-12 2018-11-12 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置
US16/676,397 US11182633B2 (en) 2018-11-12 2019-11-06 Storage medium having stored learning program, learning method, and learning apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018212578A JP7135750B2 (ja) 2018-11-12 2018-11-12 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置

Publications (2)

Publication Number Publication Date
JP2020080023A true JP2020080023A (ja) 2020-05-28
JP7135750B2 JP7135750B2 (ja) 2022-09-13

Family

ID=70552173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018212578A Active JP7135750B2 (ja) 2018-11-12 2018-11-12 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置

Country Status (2)

Country Link
US (1) US11182633B2 (ja)
JP (1) JP7135750B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7422621B2 (ja) 2020-07-03 2024-01-26 株式会社日立製作所 認識管理装置、認識管理システム及び認識管理方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11312014B2 (en) * 2018-09-10 2022-04-26 Kindred Systems Inc. System and method for robotic gripping utilizing dynamic collision modeling for vacuum suction and finger control
JP7490359B2 (ja) * 2019-12-24 2024-05-27 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017145960A1 (ja) * 2016-02-24 2017-08-31 日本電気株式会社 学習装置、学習方法および記録媒体
JP2018018537A (ja) * 2015-10-30 2018-02-01 株式会社モルフォ 閾値変更装置
JP2018520404A (ja) * 2015-04-28 2018-07-26 クゥアルコム・インコーポレイテッドQualcomm Incorporated ニューラルネットワークのためのトレーニング基準としてのフィルタ特異性

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318051B2 (en) * 2001-05-18 2008-01-08 Health Discovery Corporation Methods for feature selection in a learning machine
US11020859B2 (en) * 2015-05-01 2021-06-01 Transportation Ip Holdings, Llc Integrated robotic system and method for autonomous vehicle maintenance
JP6705738B2 (ja) * 2016-12-05 2020-06-03 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、およびプログラム
US10444761B2 (en) * 2017-06-14 2019-10-15 Trifo, Inc. Monocular modes for autonomous platform guidance systems with auxiliary sensors
US11106967B2 (en) * 2017-07-03 2021-08-31 X Development Llc Update of local features model based on correction to robot action
JP6676030B2 (ja) * 2017-11-20 2020-04-08 株式会社安川電機 把持システム、学習装置、把持方法、及び、モデルの製造方法
JP6680750B2 (ja) * 2017-11-22 2020-04-15 ファナック株式会社 制御装置及び機械学習装置
US11097418B2 (en) * 2018-01-04 2021-08-24 X Development Llc Grasping of an object by a robot based on grasp strategy determined using machine learning model(s)
WO2019162241A1 (en) * 2018-02-21 2019-08-29 Robert Bosch Gmbh Real-time object detection using depth sensors
US11260534B2 (en) * 2018-04-04 2022-03-01 Canon Kabushiki Kaisha Information processing apparatus and information processing method
JP7154815B2 (ja) * 2018-04-27 2022-10-18 キヤノン株式会社 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018520404A (ja) * 2015-04-28 2018-07-26 クゥアルコム・インコーポレイテッドQualcomm Incorporated ニューラルネットワークのためのトレーニング基準としてのフィルタ特異性
JP2018018537A (ja) * 2015-10-30 2018-02-01 株式会社モルフォ 閾値変更装置
WO2017145960A1 (ja) * 2016-02-24 2017-08-31 日本電気株式会社 学習装置、学習方法および記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7422621B2 (ja) 2020-07-03 2024-01-26 株式会社日立製作所 認識管理装置、認識管理システム及び認識管理方法

Also Published As

Publication number Publication date
JP7135750B2 (ja) 2022-09-13
US11182633B2 (en) 2021-11-23
US20200151488A1 (en) 2020-05-14

Similar Documents

Publication Publication Date Title
JP7135749B2 (ja) 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置
JP6781415B2 (ja) ニューラルネットワーク学習装置、方法、プログラム、およびパターン認識装置
JP7135750B2 (ja) 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置
JP7045139B2 (ja) 機械学習装置、機械学習方法、および機械学習プログラム
JP5806606B2 (ja) 情報処理装置、情報処理方法
US10762391B2 (en) Learning device, learning method, and storage medium
WO2011086889A1 (ja) 特徴点選択システム、特徴点選択方法および特徴点選択プログラム
JP2017064910A (ja) ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
EP3924787A1 (en) Creation of digital twin of the interaction among parts of the physical system
US11410327B2 (en) Location determination apparatus, location determination method and computer program
JP6756406B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US20210072734A1 (en) Information processing apparatus and method, robot controlling apparatus and method, and non-transitory computer-readable storage medium
CN112231034A (zh) 结合rpa和ai的软件界面元素的识别方法与装置
US20200160119A1 (en) Sequential learning maintaining a learned concept
US11203116B2 (en) System and method for predicting robotic tasks with deep learning
JP7006782B2 (ja) 情報処理装置、制御方法、及びプログラム
WO2021095509A1 (ja) 推定システム、推定装置および推定方法
CN111612831A (zh) 一种深度估计方法、装置、电子设备及存储介质
US11514268B2 (en) Method for the safe training of a dynamic model
EP4141806A1 (en) Hand-drawn diagram recognition using visual arrow-relation detection
US20220148119A1 (en) Computer-readable recording medium storing operation control program, operation control method, and operation control apparatus
CN113986245A (zh) 基于halo平台的目标代码生成方法、装置、设备及介质
JP2021170282A (ja) 学習プログラム、学習方法および情報処理装置
US20240013542A1 (en) Information processing system, information processing device, information processing method, and recording medium
JP7507172B2 (ja) 情報処理方法、情報処理システム及び情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220815

R150 Certificate of patent or registration of utility model

Ref document number: 7135750

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150