JP7376318B2 - アノテーション装置 - Google Patents

アノテーション装置 Download PDF

Info

Publication number
JP7376318B2
JP7376318B2 JP2019197597A JP2019197597A JP7376318B2 JP 7376318 B2 JP7376318 B2 JP 7376318B2 JP 2019197597 A JP2019197597 A JP 2019197597A JP 2019197597 A JP2019197597 A JP 2019197597A JP 7376318 B2 JP7376318 B2 JP 7376318B2
Authority
JP
Japan
Prior art keywords
image
coordinate system
learning
robot
workpiece
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.)
Active
Application number
JP2019197597A
Other languages
English (en)
Other versions
JP2021071878A (ja
Inventor
勇太 並木
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2019197597A priority Critical patent/JP7376318B2/ja
Priority to US17/002,421 priority patent/US11559888B2/en
Priority to DE102020211053.0A priority patent/DE102020211053A1/de
Priority to CN202011172863.9A priority patent/CN112743537A/zh
Publication of JP2021071878A publication Critical patent/JP2021071878A/ja
Application granted granted Critical
Publication of JP7376318B2 publication Critical patent/JP7376318B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/087Controls for manipulators by means of sensing devices, e.g. viewing or touching devices for sensing other physical parameters, e.g. electrical or chemical properties
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • 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/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (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)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Description

本発明は、アノテーション装置に関する。
従来、画像から対象物を検出する技術において、学習を行って検出精度を高める手法が知られている。この種の学習に関する技術を開示するものとして、特許文献1~3や非特許文献1がある。
特許文献1は、特定の識別対象の物体検出を行う際に用いられる教師データを生成する教師データ生成装置に関する。特許文献1には、特定の識別対象を含む基準データを用いて物体認識手法により学習を行って特定の識別対象の識別モデルを作成することが記載されている。識別モデルは、特定の識別対象を含む動画データから物体認識手法により推論を行い、特定の識別対象を検出し、特定の識別対象の教師データを生成することに用いられる。
特許文献2は、複数のアングルで物体の第1距離画像を撮像可能な撮像装置と、第1距離画像に基づいて前記物体の三次元モデルを生成し、三次元モデルに基づいて複数のアングルに対応する前記物体の特定部位を示す抽出画像を生成する生成部とを備えた情報処理装置に関するものである。特許文献2には、ロボットハンドが物体を把持する位置を物体の特定部位に設定し、画像認識部が推定された前記物体の前記特定部位の位置情報を前記ロボットハンドに制御情報として提供することが記載されている。
特許文献3には、対象物体の保持を行うときのマニピュレータの保持位置姿勢と、当該保持位置姿勢における対象物体の保持成否情報と、画像の撮像を行ったときのマニピュレータの撮像位置姿勢と、を利用して対象物体を保持するための学習データを生成する情報処理装置が記載されている。
非特許文献1には、深層学習の手法の一つである畳み込みニューラルネットワーク(Convolution Neural Network)において、画像から対象物の三次元位置を推定する技術が記載されている。
特開2018-200531号公報 特開2019-056966号公報 特開2018-161692号公報
Real-Time Seamless Single Shot 6D Object Pose Prediction
従来技術では、対象物の輪郭等を特徴の一つとして着目して画像から対象物を検出している。画像の撮像時の明るさによっては着目した特徴が区別できなくなり、画像から対象物を検出できないことがあった。また、対象物を含む画像を撮像するときのカメラと対象物の位置関係が変わることによっても、対象物の見え方が大きく変わって画像から対象物を検出できないことがあった。
深層学習のような機械学習を用いる場合、対象物ごとに特徴を学習し、対象物の検出をよりロバスト性高く行うことができる。この深層学習の手法の一つとして教師あり学習があるが、教師あり学習では大量の画像に対して画像中の対象物の位置や姿勢をアノテーションする必要があり、深層学習を行うときのハードルの一つであった。また、アノテーション処理をユーザが行った場合、ユーザの判断基準のばらつきにより、アノテーションの精度が低下するおそれもある。
大量の画像に対しても容易かつ正確にアノテーション処理を行うことができるアノテーション装置の提供が望まれていた。
(1)本開示のアノテーション装置の一態様は、対象物を撮像して画像を取得する撮像装置と、前記対象物が前記撮像装置の撮像範囲に入るように前記撮像装置又は前記対象物を移動させるロボットと、前記ロボットの移動を制御する制御部と、前記撮像装置が撮像した画像の画像座標系における前記対象物の位置、前記撮像装置の位置を基準としたセンサ座標系における前記対象物の位置又は前記ロボットを基準としたロボット座標系における前記対象物の位置を指定する指定部と、画像座標系における前記対象物の位置又はセンサ座標系における前記対象物の位置を前記ロボット座標系における前記対象物の位置に変換するとともに、ロボット座標系における前記対象物の位置を画像座標系における前記対象物の位置又はセンサ座標系における前記対象物の位置に変換可能な座標処理部と、前記指定部の指定に基づいて取得されるロボット座標系における前記対象物の位置を記憶する記憶部と、を備え、前記制御部は、前記撮像装置と前記対象物の位置関係が異なる複数の前記対象物の学習用の画像を取得するように前記ロボットを制御し、前記記憶部は、前記ロボット座標系における前記対象物の位置を、撮像時の前記画像座標系における前記対象物の位置又はセンサ座標系における前記対象物の位置に変換し、前記学習用の画像とともに記憶する構成とした。
(2) (1)に記載のアノテーション装置において、前記対象物を把持する把持部を更に備え、前記制御部は、前記把持部によって前記対象物を把持して当該対象物の位置、姿勢又はその両方を変更することにより、前記撮像装置と前記対象物の位置関係を異ならせて前記学習用の画像を取得してもよい。
(3) (1)又は(2)に記載のアノテーション装置において、前記記憶部に記憶された学習用の画像と、前記学習用の画像に関連付けられた前記対象物の位置を示す情報と、を含む学習データに基づいて学習モデルを生成し、前記学習モデルを用いた画像検出処理が、性能要件を充足しないと判定された場合は、新たに前記学習用の画像及び前記対象物の位置を示す情報を取得してもよい。
本開示の一態様によれば、大量の画像に対しても容易かつ正確にアノテーション処理を行うことができるアノテーション装置を提供できる。
本開示の一実施形態のアノテーション装置としての産業機械の構成を示す模式図である。 本開示の一実施形態に係る産業機械が取得した画像にモデルパターン指定領域が指定された様子を模式的に示す図である。 本開示の一実施形態に係る産業機械が備える学習装置の機能的ブロック図である。 本開示の一実施形態に係る産業機械によるアノテーション処理の流れを示すフローチャートである。 本開示の一実施形態に係る複数の画像処理装置を備える産業機械の例を模式的に示す図である。
以下、本開示の実施形態について図面を参照しながら説明する。図1は、本開示の一実施形態のアノテーション装置としての産業機械1の構成を示す模式図である。
本実施形態の産業機械1は、テーブルTの上に載置されたワークWに所定の処理を行うロボット3と、ロボット3を制御する機械制御装置4と、ワークWを含む画像を取得して当該ワークWの位置及び向きを特定する画像処理システム5と、学習処理を行う学習装置7と、を備える。
ロボット3は、垂直多関節型ロボットであり、互いに回転可能に連接され、先端に処理ヘッド2が接続された複数の可動部材31,32,33,34を有する。複数の可動部材31,32,33,34によって処理ヘッド2が位置決めされる。なお、特にロボット3の種類が限定されるわけではない。ロボット3は、垂直多関節型ロボットの他、直交座標型ロボット、スカラ型ロボット、パラレルリンク型ロボット等とすることができる。
処理ヘッド2は、例として、ワークWを移動するために把持できるハンド、ワークWに溶接、レーザ加工、切削加工等の加工を行うことができる加工ヘッド等、ワークWに対して行うべき処理に応じて適切な構成を有する。図示する産業機械1において、処理ヘッド2は、ワークを把持する把持部としてのハンドである。処理ヘッド2によってワークWを把持して所定の位置に移動したり、ワークWの姿勢を変更したりすることができる。
機械制御装置4は、例えば予め与えられる加工プログラム等の作業プログラムに従ってロボット3及び画像処理システム5の動作を決定する制御部である。機械制御装置4は、例えばプログラマブルコントローラ、数値制御装置等に適切なプログラミングを行うことによって構成することができる。機械制御装置4は、全体を統括制御するためのCPU(図示せず)を備え、外部機器インタフェース(図示せず)を介して、ロボット3及び画像処理装置51にも接続される。
本実施形態の機械制御装置4は、プログラム制御部41と、ロボット3を制御する位置決め制御部42と、処理ヘッド2を制御するヘッド制御部43とを有する。機械制御装置4におけるプログラム制御部41、位置決め制御部42及びヘッド制御部43は、その機能により区別されるものであり、物理的構成及びプログラム構成において明確に区分できるものでなくてもよい。
プログラム制御部41は、加工プログラム等の作業プログラムに従ってロボット3及び画像処理システム5に対して動作指令を与える。具体的には、プログラム制御部41は、処理ヘッド2にワークWを把持又は解放させるとともに処理ヘッド2を移動させる位置を特定する指令をロボット3に与える。そして、プログラム制御部41は、画像処理システム5にワークWの位置を確認させる指令を与える。
また、プログラム制御部41は、位置決め制御部から得られる可動部材31,32,33,34の相対関係を表す駆動量等、処理ヘッド2の位置及び向きを特定できるパラメータを、機械制御情報として画像処理システム5に入力するよう構成される。
機械制御情報には、ロボット座標系におけるロボット3の先端の座標位置も含まれる。必要に応じて、ヘッド制御部43によって制御される処理ヘッド2の状態を示す情報や、処理ヘッド2によるワークWに対する処理が適切に実行されたか否かを示す情報も、機械制御情報の一部として画像処理システム5に入力してもよい。
位置決め制御部42は、プログラム制御部41からの指令に従って、ロボット3の可動部材31,32,33,34を相対回転させる駆動信号を生成する。また、位置決め制御部42は、機械制御情報とされるパラメータを出力する。具体例として、位置決め制御部が出力するパラメータは、可動部材31,32,33,34を駆動する複数の駆動モータの回転位置情報や、処理ヘッド2の基準点の座標位置及び向きを示すベクトル情報等とすることができる。
ヘッド制御部43は、処理ヘッド2の動作を制御し、ワークWに対する処理を行う。また、処理ヘッド2の状態を表す信号を、プログラム制御部41に入力するよう構成されてもよい。
画像処理システム5は、ワークWの画像を撮像する視覚センサ50と、視覚センサ50の制御及び視覚センサ50が撮像した画像データの処理を行う画像処理装置51と、を備える。
視覚センサ50は、被写体からの光の像を結像させる光学系と、結像した像を2次元位置ごとに電気信号に変換する2次元撮像素子とを有するカメラによって構成することができる。
視覚センサ50は、ロボット3に取り付けられる。本実施形態の視覚センサ50は、処理ヘッド2又は処理ヘッド2が接続される末端の可動部材34に支持される。
視覚センサ50の視野内に対象物であるワークWが入る位置にロボット3を駆動させ、視覚センサ50によって画像を撮像し、後述する画像処理により撮像した画像から検出したワークWに対して処理ヘッド2による加工作業を行うことができる。
画像処理装置51は、視覚センサ50によって検出された画像に各種の処理を行う。本実施形態の画像処理装置51は、表示部52と、入力部53と、記憶部54と、画像処理部55と、座標処理部56と、を備える。
表示部52は、オペレータに対して情報を表示するディスプレイパネル等を有する構成とすることができる。また、表示部52は、入力部53と一体に形成されるタッチパネル等であってもよい。
入力部53は、オペレータが操作可能な例えばキーボード、スイッチ等の入力装置を有することができる。また、入力部53は、通信回線等を介して他の制御装置やコンピュータからの入力を受け付けるものであってもよい。
記憶部54は、特に限定されないが、例えばDRAM、SRAM等の揮発性メモリによって構成することができる。記憶部54は、視覚センサ50の制御や画像処理に関する各種の情報を記憶する。例えば、記憶部54は、視覚センサ50が撮像して取得した画像データ、その画像データの処理結果及び撮像時の機械制御情報等を撮像情報として記憶する。
また、記憶部54は、ワークWの像をモデル化したモデルパターン、例えばワークWの像の特徴を表すモデルパターンを記憶する。
更に、記憶部54は、視覚センサ50のキャリブレーションデータ、例えば画像座標系上での2次元位置を3次元座標での値に変換又はその逆の変換のためのキャリブレーションデータを記憶する。例えば、記憶部54に記憶されるキャリブレーションデータに基づいて視覚センサ50をキャリブレーションすることにより、ロボット座標系における3次元点(以下、注視点)が与えられた時に、その3次元点の視覚センサ50の画像上での像の位置、即ちセンサ座標系における2次元点を計算することが可能となる。また、ある注視点の像であるセンサ座標系における2次元点が与えられた時に、ロボット座標系における視線(注視点とカメラの焦点を通る3次元直線)を計算することができるようになる。キャリブレーションデータの形式及びそれを求める方法については、種々の方式が提案されており、いずれの方式を用いてもよい。なお、画像座標系とは画像上で定義された座標系(2次元)であり、センサ座標系とは視覚センサ50からみた座標系(3次元)である。ロボット座標系とはロボット3からみた座標系(3次元)である。
画像処理部55は、公知の画像処理技術によって視覚センサ50が撮像した画像データを解析し、ワークWの位置及び向きを判別する。この画像処理部55は、CPU等の演算装置に適切なプログラムを実行させることにより実現することができる。
図2を参照して視覚センサ50によって取得される画像からワークWを検出する処理について説明する。図2は、本開示の一実施形態に係る産業機械1が取得した画像にモデルパターン指定領域60が指定された様子を模式的に示す図である。
モデルパターン指定領域60は、操作者が表示部52の画像を確認しながら入力部53を操作して設定される。なお、操作者ではなく、画像処理部55が所定の画像処理によって自動的にモデルパターン指定領域60が指定されるようにしてもよい。例えば、画像における輝度勾配の大きい個所をワークWの像の輪郭として算出して、当該ワークWの像の輪郭を内部に含むように、モデルパターン指定領域60を設定してもよい。
座標処理部56は、画像座標系(2次元)のワークWの検出位置又はセンサ座標系(3次元)のワークWの検出位置を変換し、3次元の視線を取得する。そして、座標処理部56は、記憶部54に記憶されたモデルパターン指定領域及びキャリブレーションデータと、撮像時のロボット3の視覚センサ50の位置と、に基づいて、画像座標系(2次元)のワークWの検出位置又はセンサ座標系(3次元)のワークWの検出位置を、ロボット座標系(3次元)上のワークWの検出位置に変換するための3次元変換処理を行う。この3次元変換処理では、視覚センサ50に二次元カメラを用いている場合には視線方向に不定な位置を決めるための情報が必要になる。本実施形態では、ワークWの画像上での位置を指定した4点が存在する平面を設定した上で、3次元変換処理が実行される。
次に、図3を参照して学習装置7の構成について説明する。図3は、本開示の一実施形態に係る産業機械1が備える学習装置7の機能的ブロック図である。
図3に示すように、画像処理装置51から入力データが入力される状態観測部71と、機械制御装置4から画像に対応するラベルが入力されるラベル取得部72と、状態観測部71が取得した入力データと機械制御装置4から入力されるラベルに基づいて教師あり学習を行って学習モデルを生成する学習器70と、を備える。
画像処理装置51から状態観測部71に入力される入力データは、対象物としてのワークWを含む画像、画像の処理結果又はその両方である。
機械制御装置4からラベル取得部72に入力されるラベルは、画像を撮像したときの対象物としてのワークWの位置を示す位置情報である。位置情報は、ある画像に対応するワークWの検出位置、姿勢及びサイズ等を含む撮像時情報である。例えば、4角の閉じられた領域によりワークWの位置を指定していた場合は、4点の位置を示す情報がワークWの位置を示す情報として記憶される。
本実施形態では、ラベル取得部72に入力されるラベルは、ロボット座標系におけるワークWの位置を、画像座標系における位置又はセンサ座標系における位置に変換することにより取得される。なお、このラベルとなるワークWの画像座標系における位置又はセンサ座標系における位置を示す位置情報を取得する処理については後述する。
状態観測部71が取得した入力データと、ラベル取得部72が取得したラベルと、は関連付けられて学習器70に入力される。学習器70では、入力データとラベルの複数の組に基づいて学習モデルが生成される。
次に、アノテーション処理の流れについて説明する。図4は、本開示の一実施形態に係る産業機械1によるアノテーション処理の流れを示すフローチャートである。なお、このフローを示して説明する実施形態は一例である。
アノテーション処理が開始されると、ステップS100でワークWの位置を既知にするための処理が実行される。例えば、機械制御装置4は、視覚センサ50の撮像範囲内にワークWが位置するように、ロボット3を駆動する。そして、ワークWが視覚センサ50の撮像範囲に入った状態で、視覚センサ50によってワークWを撮像してワークWを含んだ画像を取得する。例えば、図2に示すような画像を取得する。
次に、ワークWの位置を指定する処理を行う。ワークWの位置の指定は、例えば、画像中のワークWの位置の一点を指定する方法やワークWの周りを四角等の閉じられた領域で囲う等の方法を用いることができる。ワークWの位置の指定は、画像処理部55が指定部として画像処理アルゴリズムを用いて行ってもよいし、入力部53を指定部としてユーザが行ってもよい。これによって画像座標系におけるワークWの位置又はセンサ座標系におけるワークWの位置が決定される。
上述のように、画像座標系からロボット座標系への変換を可能とするキャリブレーション処理が予め行われているので、指定された画像座標系におけるワークWの位置又はセンサ座標系におけるワークWの位置を、ロボット座標系に変換する。これにより、ロボット座標系におけるワークWの位置が取得される。即ち、ワークWの位置が既知となる。なお、ワークWの位置を既知のものとする処理としては、ワークWの設置位置をロボット座標系に直接指定する方法を用いてもよい。
以上の処理により、ロボット座標系におけるワークWの位置を既知にすることができる。そして、ステップS100から学習に利用するデータセットを取得するためのステップS101に移行する。
ステップS101では、ワークWが撮像範囲に含まれることを条件として、ロボット3によって視覚センサ50とワークWの位置関係が変更される。ステップS100でロボット座標系におけるワークWの位置が取得されているので、ロボット3の移動を行う制御において、ワークWが画像に含まれるロボット3の位置を計算することもできる。
ステップS101において、ロボット3によってロボット3によって視覚センサ50とワークWの位置関係を変更する処理では、処理ヘッド2を用いたワークWの移動を行ってもよい。ワークWの移動には、例えば、ワークWを左右前後に移動させたり、ワークWの姿勢を変更したり、ワークWを裏返したりする処理が含まれる。なお、ワークWを移動させる場合には、移動場所に合わせてワークWの位置を更新する処理も併せて行われる。即ち、ワークWの移動に伴ってロボット座標系におけるワークWの位置が更新される。
ステップS102では、ステップS101でロボット3によって視覚センサ50とワークWの位置関係が変更された状態でワークWが撮像され、当該ワークWを含んだ画像が取得される。
ステップS103では、ステップS102で取得した画像に対応する画像座標系におけるワークWの位置を取得する。このステップS103で取得される画像座標系におけるワークWの位置は、ステップS100で既知となっているロボット座標系におけるワークWの位置を利用して取得される。
即ち、座標処理部56は、撮像時のロボット3に保持される視覚センサ50の位置を考慮することにより、ロボット座標系におけるワークWの位置を画像座標系におけるワークWの位置を示す位置情報又はセンサ座標系におけるワークWの位置を示す位置情報に変換する処理を行う。画像座標系におけるワークWの位置又はセンサ座標系におけるワークWの位置は、撮像時の画像とともに記憶部54に記憶される。即ち、画像にワークWの位置がアノテーションされる。
ステップS104では、ステップS101~ステップS103の処理が所定回数行われたか否かが判定される。所定回数が行われていない場合は、ステップS101~ステップS103の処理が繰り返される。即ち、学習を行うために十分な量の画像とワークWの位置情報の組が取得されるまでステップS101~S103の処理が繰り返される。ステップS104で所定回数以上となった場合は、十分な数の画像とワークWの位置情報の組が取得されたと判定され、ステップS105の処理に移行する。
ステップS105では、所定数以上の画像とワークWの位置情報の組が学習データセットとして学習器70に入力される。学習器70は、データセットの入力データとラベルに基づいて教師あり学習を行うことにより、学習モデルを構築する。学習器70の学習にはYOLO(You Only Look Once)やSSD(Single Shot multibox Detector)等の手法を使うことができる。あるいは、非特許文献に記載されるように、対象物のバウンディングボックスを構成する点をラベル及び推論の出力とすることもできる。このように、学習器70の学習には公知の手法を用いることができる。
例えば、学習器70は、ニューラルネットワークを用いた教師あり学習を行う。この場合、学習器70は、入力データとラベル(教師データ)の組を、パーセプトロンを組み合わせて構成したニューラルネットワークに与え、ニューラルネットワークの出力がラベルと同じとなるように、ニューラルネットに含まれる各パーセプトロンについての重み付けを変更する、というフォワードプロパゲーションを行う。ニューラルネットワークが出力するワークWの検出結果(例えば、位置、姿勢、サイズ)が、ラベルの対象物検出結果(例えば、位置、姿勢、サイズ)と同じになるように、フォワードプロパゲーションが行われる。
そして、学習器70は、このようにフォワードプロパゲーションを行った後に、バックプロパゲーション(誤差逆伝搬法とも呼ばれる。)という手法により各パーセプトロンの出力の誤差を小さくするように重み付け値を調整する。より詳細には、学習器70は、ニューラルネットワークの出力とラベルとの誤差を算出し、算出した誤差を小さくするように重み付け値を修正する。学習器70は、このようにして、教師データの特徴を学習し、入力から結果を推定するための学習モデルを帰納的に獲得する。
ステップS106では、生成された学習モデルにより、十分な検出精度が得られた否かの判定が画像処理部55によって行われる。即ち、視覚センサ50で新たに撮像されたワークWを含む画像から、当該ワークWの像を正確に検出することができるか否かが判定される。性能要件を充足しているか否かについては、予め設定される所定の判定方法に基づいてユーザが判定してもよいし、予め正解等が既知の画像に基づいて判定用アルゴリズムが判定する方式であってもよい。性能要件とは、例えば、画像の位置を正しく検出しているか否かの正誤率やエラー頻度が所定以下等の画像検出に関する各種の条件である。ステップS106で性能要件が充足したと判定された場合は、ステップS107に移行する。ステップS106で性能要件が充足していないと判定された場合は、学習データを追加するため、ステップS101の処理に戻る。このとき、ステップS104で判定される所定回数の数値を増やすように更新する処理を行ってもよい。
ステップS107では、ステップS105でデータセットが入力される前に生成された従前の学習モデルを、新たに入力されたデータセットに基づいて生成された学習モデルに更新する処理が行われる。即ち、学習モデルを構築した後に新たな教師データが取得されると、一度構築した学習モデルが更新されることになる。
最新のデータセットに基づいて更新された学習モデルを利用することにより、学習装置7は、視覚センサ50で撮像されたワークWを含む画像から、当該ワークWの像を正確に検出することができる。
なお、機械制御装置4、画像処理装置51及び学習装置7は、例えば、DSP(Digital Signal Processor)、FPGA(Field‐Programmable Gate Array)等の演算プロセッサで構成される。機械制御装置4、画像処理装置51及び学習装置7の各種機能は、例えば記憶部に格納された所定のソフトウェア(プログラム、アプリケーション)を実行することで実現される。機械制御装置4、画像処理装置51及び学習装置7の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよいし、ハードウェア(電子回路)のみで実現されてもよい。
学習器70で生成された学習モデルを、他の学習装置との間で共有するようにしてもよい。学習モデルを複数の学習装置で共有するようにすれば、各学習装置にて分散して教師あり学習を行うことが可能となるので、教師あり学習の効率を向上させることが可能となる。図5を参照して学習モデルを共有する例について説明する。図5は、本開示の一実施形態に係る複数の画像処理装置51を備える産業機械1の例を模式的に示す図である。
図5には、m個の画像処理装置51がネットワークバス102を介してセルコントローラ1001接続されている。画像処理装置51のそれぞれには視覚センサ50が1又は複数接続されている。産業機械1全体としては合計n個の視覚センサ50を備えている。
ネットワークバス102には、学習装置7が接続されている。学習装置7には、複数の画像処理装置51から送られてきた学習データの集まりをデータセットとして機械学習を行って学習モデルを構築する。この学習モデルは、各画像処理装置51のワークWの検出に利用可能となる。
以上説明したように、本開示の一態様であるアノテーション装置としての産業機械1は、ワーク(対象物)Wを撮像して画像を取得する視覚センサ(撮像装置)50と、ワークWが視覚センサ50の撮像範囲に入るように視覚センサ50又はワークWを移動させるロボット3と、ロボット3の移動を制御する機械制御装置(制御部)4と、視覚センサ50が撮像した画像の画像座標系におけるワークWの位置、視覚センサ50の位置を基準としたセンサ座標系におけるワークWの位置又はロボット3を基準としたロボット座標系におけるワーク3の位置を指定する画像処理部(指定部)55又は入力部(指定部)と、画像座標系におけるワークWの位置又はセンサ座標系におけるワークWの位置をロボット座標系におけるワークWの位置に変換するとともに、ロボット座標系におけるワークWの位置を画像座標系におけるワークWの位置又はセンサ座標系におけるワークWの位置に変換可能な座標処理部56と、画像処理部(指定部)55又は入力部(指定部)の指定に基づいて取得されるロボット座標系におけるワークWの既知の位置を記憶する記憶部54と、を備える。機械制御装置(制御部)4は視覚センサ50の位置関係が異なる複数のワークWの学習用の画像を取得するようにロボット3を制御する。また、記憶部54は、ロボット座標系におけるワークWの位置を、撮像時の画像座標系におけるワークWの位置又はセンサ座標系におけるワークWの位置に変換し、学習用の画像とともに記憶する。
これにより、撮像装置としての視覚センサ50と対象物としてのワークWとの相対関係をロボット3の位置を利用して把握することができる。ロボット座標系における既知のワークWの位置を利用することにより、ある画像に対する画像座標系におけるワークWの位置又はセンサ座標系におけるワークWの位置を自動で取得できるのである。これによって、大量の教師ありデータを効率的かつ正確に集めることができる。
また、本開示の一態様の産業機械1は、ワークWを把持する処理ヘッド(把持部)2を更に備え、機械制御装置4は、処理ヘッド2によってワークWを把持して当該ワークWの位置、姿勢又はその両方を変更することにより、視覚センサ50とワークWの位置関係を異ならせて学習用の画像を取得する。
これにより、対象物としてのワークWに対し、ワークWの位置関係が広範な学習用のデータを自動で容易かつ正確に取得できる。
また、本開示の一態様の産業機械1は、記憶部54に記憶された学習用の画像と、学習用の画像に関連付けられた対象物としてのワークWの位置を示す情報と、を含む学習データに基づいて学習モデルを生成し、当該学習モデルを用いた画像検出処理が、性能要件を充足しないと判定された場合は、新たに前記学習用の画像及び前記対象物の位置を示す情報を取得する。
これにより、対象物としてのワークWの検出精度が向上しない場合は学習データが追加されるので、学習データが不足することに起因して検出精度が十分に向上しない事態の発生を確実に防止することができる。
以上、本開示の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明による効果も、本実施形態に記載されたものに限定されるものではない。
上記実施形態の構成に加え、ステップS101の処理において、照明の明度を変更する処理等を加えてもよい。照明の明度の違いを学習させることで、対象物としてのワークWの検出精度をより高めることができる。
上記実施形態では、ロボット3によって視覚センサ50が保持される構成であるが、視覚センサ50側を固定し、ロボット3によってワークWが視覚センサ50の視野内に移動する構成としてもよい。
上記実施形態においては、機械制御装置4と画像処理装置51が別体のものを例として説明したが、機械制御装置4と画像処理装置51の両方の機能を有する単独の制御装置をアノテーション装置としてもよい。このように、アノテーション装置は、情報処理装置(コンピュータ)全般を指すことができる。例えば、サーバ、PC、各種制御装置等をアノテーション装置としてもよい。
上記実施形態では、産業機械1が学習装置7を備える構成であるが、学習装置7を省略し、アノテーションのみを行って他の学習装置にデータセットを提供する構成としてもよい。
産業機械1は、位置決め機構によってワーク又は工具を位置決めしてワークを加工する工作機械であってもよい。
産業機械1によるアノテーション処理は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、画像処理装置51にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
1 産業機械(アノテーション装置)
3 ロボット
4 機械制御装置(制御部)
50 視覚センサ(撮像装置)
53 入力部(指定部)
54 記憶部
53 画像処理部(指定部)
56 座標処理部
W ワーク(対象物)

Claims (3)

  1. 対象物を撮像して画像を取得する撮像装置と、
    前記対象物が前記撮像装置の撮像範囲に入るように前記撮像装置又は前記対象物を移動させるロボットと、
    前記ロボットの移動を制御する制御部と、
    前記撮像装置が撮像した画像の画像座標系における前記対象物の位置又は前記ロボットを基準としたロボット座標系における前記対象物の位置を指定する指定部と、
    画像座標系における前記対象物の位置前記ロボット座標系における前記対象物の位置に変換するとともに、ロボット座標系における前記対象物の位置を画像座標系における前記対象物の位置変換可能な座標処理部と、
    前記指定部の指定に基づいて取得されるロボット座標系における前記対象物の位置を記憶する記憶部と、
    を備え、
    前記制御部は、前記撮像装置と前記対象物の位置関係が異なる複数の前記対象物の学習用の画像を取得するように前記ロボットを制御し、
    前記指定部は、前記撮像装置が撮像した画像における前記対象物の像の輪郭を内部に含むモデルパターン指定領域を設定することにより、前記画像座標系における前記対象物の位置を指定し、
    前記記憶部は、前記ロボット座標系における前記対象物の位置を、撮像時の前記画像座標系における前記対象物の位置変換し、前記学習用の画像とともに記憶するアノテーション装置。
  2. 前記対象物を把持する把持部を更に備え、
    前記制御部は、前記把持部によって前記対象物を把持して当該対象物の位置、姿勢又はその両方を変更することにより、前記撮像装置と前記対象物の位置関係を異ならせて前記学習用の画像を取得する請求項1に記載のアノテーション装置。
  3. 前記記憶部に記憶された学習用の画像と、前記学習用の画像に関連付けられた前記対象物の位置を示す情報と、を含む学習データに基づいて学習モデルを生成し、
    前記学習モデルを用いた画像検出処理が、性能要件を充足しないと判定された場合は、新たに前記学習用の画像及び前記対象物の位置を示す情報を取得する請求項1又は2に記載のアノテーション装置。
JP2019197597A 2019-10-30 2019-10-30 アノテーション装置 Active JP7376318B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019197597A JP7376318B2 (ja) 2019-10-30 2019-10-30 アノテーション装置
US17/002,421 US11559888B2 (en) 2019-10-30 2020-08-25 Annotation device
DE102020211053.0A DE102020211053A1 (de) 2019-10-30 2020-09-02 Annotationsvorrichtung
CN202011172863.9A CN112743537A (zh) 2019-10-30 2020-10-28 注释装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019197597A JP7376318B2 (ja) 2019-10-30 2019-10-30 アノテーション装置

Publications (2)

Publication Number Publication Date
JP2021071878A JP2021071878A (ja) 2021-05-06
JP7376318B2 true JP7376318B2 (ja) 2023-11-08

Family

ID=75485425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019197597A Active JP7376318B2 (ja) 2019-10-30 2019-10-30 アノテーション装置

Country Status (4)

Country Link
US (1) US11559888B2 (ja)
JP (1) JP7376318B2 (ja)
CN (1) CN112743537A (ja)
DE (1) DE102020211053A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7286524B2 (ja) * 2019-12-10 2023-06-05 株式会社東芝 ピッキングロボット、ピッキング方法及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008246631A (ja) 2007-03-30 2008-10-16 Fanuc Ltd 対象物取出装置
JP2012192466A (ja) 2011-03-15 2012-10-11 Omron Corp 画像処理システムに向けられたユーザ支援装置、そのプログラムおよび画像処理装置
US20160297068A1 (en) 2015-04-10 2016-10-13 Microsoft Technology Licensing, Llc Automated collection and labeling of object data
US20180157934A1 (en) 2016-12-02 2018-06-07 Apple Inc. Inspection neural network for assessing neural network reliability
JP2018161692A (ja) 2017-03-24 2018-10-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9574883B2 (en) * 2015-03-24 2017-02-21 X Development Llc Associating semantic location data with automated environment mapping
JP6551184B2 (ja) * 2015-11-18 2019-07-31 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6974697B2 (ja) 2017-05-26 2021-12-01 富士通株式会社 教師データ生成装置、教師データ生成方法、教師データ生成プログラム、及び物体検出システム
JP6822929B2 (ja) 2017-09-19 2021-01-27 株式会社東芝 情報処理装置、画像認識方法および画像認識プログラム
WO2019153245A1 (en) * 2018-02-09 2019-08-15 Baidu.Com Times Technology (Beijing) Co., Ltd. Systems and methods for deep localization and segmentation with 3d semantic map
JP7237483B2 (ja) * 2018-07-18 2023-03-13 キヤノン株式会社 ロボットシステムの制御方法、制御プログラム、記録媒体、制御装置、ロボットシステム、物品の製造方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008246631A (ja) 2007-03-30 2008-10-16 Fanuc Ltd 対象物取出装置
JP2012192466A (ja) 2011-03-15 2012-10-11 Omron Corp 画像処理システムに向けられたユーザ支援装置、そのプログラムおよび画像処理装置
US20160297068A1 (en) 2015-04-10 2016-10-13 Microsoft Technology Licensing, Llc Automated collection and labeling of object data
US20180157934A1 (en) 2016-12-02 2018-06-07 Apple Inc. Inspection neural network for assessing neural network reliability
JP2018161692A (ja) 2017-03-24 2018-10-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
US11559888B2 (en) 2023-01-24
CN112743537A (zh) 2021-05-04
US20210129318A1 (en) 2021-05-06
DE102020211053A1 (de) 2021-05-06
JP2021071878A (ja) 2021-05-06

Similar Documents

Publication Publication Date Title
CN104936748B (zh) 徒手机器人路径教导
JP5928114B2 (ja) ロボットシステム、ロボットシステムのキャリブレーション方法、ロボット
JP5949242B2 (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
CN110640730B (zh) 生成用于机器人场景的三维模型的方法和系统
US20100172733A1 (en) Intelligent interface device for grasping of an object by a manipulating robot and method of implementing this device
US11745355B2 (en) Control device, control method, and non-transitory computer-readable storage medium
JP2011110621A (ja) ロボットの教示データを作成する方法およびロボット教示システム
JP2008021092A (ja) ロボットシステムのシミュレーション装置
WO2024027647A1 (zh) 机器人控制方法、系统和计算机程序产品
US11833697B2 (en) Method of programming an industrial robot
JP2011110620A (ja) ロボットの動作を制御する方法およびロボットシステム
JP2020194242A (ja) 学習装置、学習方法、学習プログラム、自動制御装置、自動制御方法および自動制御プログラム
JP7376318B2 (ja) アノテーション装置
JP2016159406A (ja) ロボット制御装置、ロボット制御方法及びロボットシステム
JP6410411B2 (ja) パターンマッチング装置及びパターンマッチング方法
WO2021117479A1 (ja) 情報処理装置、方法およびプログラム
JP7372076B2 (ja) 画像処理システム
CN112805127A (zh) 用于创建机器人控制程序的方法和设备
JP2020052032A (ja) 撮像装置及び撮像システム
CN110942083A (zh) 拍摄装置以及拍摄系统
TW202235239A (zh) 調整參數的裝置、機器人系統、方法及電腦程式
US20220161438A1 (en) Automatic control method of mechanical arm and automatic control system
CN112824060B (zh) 加工路径生成装置及其方法
Du et al. Human-manipulator interface using particle filter
JP2022060003A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230620

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: 20230926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231026

R150 Certificate of patent or registration of utility model

Ref document number: 7376318

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150