JP6822929B2 - 情報処理装置、画像認識方法および画像認識プログラム - Google Patents

情報処理装置、画像認識方法および画像認識プログラム Download PDF

Info

Publication number
JP6822929B2
JP6822929B2 JP2017179454A JP2017179454A JP6822929B2 JP 6822929 B2 JP6822929 B2 JP 6822929B2 JP 2017179454 A JP2017179454 A JP 2017179454A JP 2017179454 A JP2017179454 A JP 2017179454A JP 6822929 B2 JP6822929 B2 JP 6822929B2
Authority
JP
Japan
Prior art keywords
model
image
dimensional
distance image
angles
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
JP2017179454A
Other languages
English (en)
Other versions
JP2019056966A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2017179454A priority Critical patent/JP6822929B2/ja
Priority to US15/902,048 priority patent/US10755437B2/en
Publication of JP2019056966A publication Critical patent/JP2019056966A/ja
Application granted granted Critical
Publication of JP6822929B2 publication Critical patent/JP6822929B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/217Validation; Performance evaluation; Active pattern learning techniques
    • 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
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • 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/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/207Image signal generators using stereoscopic image cameras using a single 2D image sensor
    • H04N13/221Image signal generators using stereoscopic image cameras using a single 2D image sensor using the relative movement between cameras and objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0092Image segmentation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)

Description

本発明の実施形態は、情報処理装置、画像認識方法および画像認識プログラムに関する。
物流の分野においては、ロボットなどの装置を用いて、物品の荷役作業や仕分け作業を自動化する技術の開発が進められている。物品を把持して運搬する場合、カメラで撮影した画像を使って、把持位置を特定する。物品は整列されているとは限らないため、物品の配置や向きに関わらず、把持位置を検出できる必要がある。また、様々な形状の物品ごとに把持位置の検出を行わなくてはならない。
把持位置の検出方法として、ディープラーニングなどで学習したモデルを使い、画像中の相当領域を推定する方法がある。画像認識が可能なモデルを学習するためには、数百枚から数万枚のアノテーション画像を含む教師データを用意しなくてはならない。アノテーション画像は、各画像について検出対象の領域へラベル付けを行い、作成される。従来は、画像の領域分けを人手により行っていたため、教師データの作成にかかる時間と品質のばらつきが問題となっていた。このため、画像認識の対象として新しい形状の物品を追加するのは容易ではなかった。
特開2015−224125 特開2016−132521
本発明の実施形態は、高品質な教師データを低コストで作成し、検出精度が良好な画像認識をする情報処理装置、画像認識方法および画像認識プログラムを提供する。
本発明の実施形態としての情報処理装置は、複数のアングルで物体の第1距離画像を撮像可能な撮像部と、前記第1距離画像に基づいて前記物体の三次元モデルを生成し、前記三次元モデルに基づいて前記複数のアングルに対応する前記物体の特定部位を示す抽出画像を生成する生成部とを備える。
第1の実施形態に係るシステム全体の構成例を示す図。 第1の実施形態に係るロボットハンドの構成例を示す図。 第1の実施形態に係るロボットを荷役作業に適用した例を示す図。 第1の実施形態に係る三次元撮影装置の構成例を示す図。 コーヒーカップと把持位置の例を示す図。 三次元画像センサにより得られた距離画像の例を示す図。 手作業による物体の領域指定の例を示す図。 三次元CADを用いた物体の領域指定の例を示す図。 コーヒーカップについて、把持位置を特定した例を示す図。 深層学習に用いられるニューラルネットワークの例を示す図。 ニューラルネットワークによる誤差逆伝播法の例を示す図。 深層学習によりコーヒーカップの把持位置を推定した例を示す図。 三次元撮影装置と画像処理装置の連動した処理の例を示す図。 物体検出モデルと物体領域抽出モデルの作成処理に係るフローチャート。 ロボットによる画像認識処理と物体把持操作に係るフローチャート。 第1の変形例に係る三次元撮影装置の構成例を示す図。 コーヒーカップの多視点距離画像の例を示す図。 三次元CADによりコーヒーカップで把持位置を生成した例を示す図。 任意のコーヒーカップで把持位置を推定した例を示す図。 第2の変形例に係る三次元撮影装置の構成例を示す図。 人形について物体領域抽出を行った例を示す図。 自動車について物体領域抽出を行った例を示す図。
以下、図面を参照しながら、本発明の実施形態について説明する。また、図面において同一の構成要素は、同じ番号を付し、説明は、適宜省略する。
(第1の実施形態)
図1は、本実施形態に係る全体のシステム構成例を示す図である。
図1のシステムは、三次元撮影装置10と、画像処理装置20と、特徴学習装置30と、ロボット40とを備えている。図1のシステムでは1台のロボット40が示されているが、ロボット40が複数台含まれていてもよい。三次元撮影装置10も1台ではなく、複数台あってもよい。以下では、第1の実施形態に係るシステムの概要について説明する。
ロボット40は、物体を把持可能なロボットハンドを備えており、荷役作業に使用可能なロボットである。図2は、ロボットハンドの例を示している。図2左側は2指グリッパ41aを備えたロボットハンドである。このようなロボットハンドは物体を挟持して運搬作業を行うことができる。図2右側は、吸盤41bを備えた吸着型ロボットハンドである。
このようなロボットハンドは、物体を吸着して運搬作業を行う。これらのロボットハンドは例示であり、その他の形状または種類のロボットハンドを有するロボットについても、本発明の実施形態を適用することができる。
図3は、ロボット40を荷役作業に適用した例を示している。図3上段の例では、ベルトコンベア上に、複数の人形が一定の向きに揃えられ、整列されている。ベルトコンベアは左から右に向かって流れるものとする。この場合、ロボットはロボットハンド近傍に人形が到達したことを検出したときに、決められた座標でロボットハンドの把持操作を行えば、人形を把持することができる。座標は、一例として人形の重心である、腹部の位置に合わせて、事前に設定する。人形を把持可能な座標(位置)は、複数あってもよい。
このように、常に把持対象の人形が同じ向きに整列されているのであれば、複雑な画像認識を行わなくても、荷役作業をすることができる。
図3中段の例では、複数の人形が、不揃いな向きで、不規則に置かれている。倒れている人形もあれば、立っている人形もある。この場合、ロボットのロボットハンドはそれぞれの人形の把持位置を特定し、ロボットハンドを該当する座標まで移動しなければならない。把持位置は人形によって異なるため、画像認識を行い、把持位置を特定する必要がある。
一方、ロボットハンドの右奥に位置するカゴ50には、乱雑に複数の人形が積まれている。一部の人形については、人形全体の形状が外部から視認できない状態になっている。カゴ50の中にある人形をロボットハンドで取り出す場合も、同様に画像認識を行わなくてはならない。
図3下段の例では、人形だけでなく、円筒形の缶ジュースや、箱がベルトコンベア上に置かれている。人形は整列されておらず、異なる形状の物体と混在している。この場合、画像認識で物体の形状を判別した上で、物体の形状ごとに把持位置の特定処理を行わなくてはならない。なお、ここで把持位置は物体の一部分である、特定部位の一例である。
画像認識による把持位置(物体の特定部位)の推定を行う場合、まずカメラで対象の物体を撮影しなくてはならない。次に、撮影された画像を用いて、物体中の把持位置(特定部位の物体における位置)を推定する。上述のように、把持対象の物体の向きや配置が一定でない場合や、物体の一部が隠れている場合にも、対応しなくてはならない。したがって人形を例にすると、頭、手、足などの各部位の相対的な位置関係を把握して、把持位置である腹部の位置を特定できるようにする。
このためには、人形の頭、手、足などを領域分割した教師画像を複数作成し、機械学習や深層学習(ディープラーニング)を使って、画像認識用のモデルを用意しなくてはならない。教師画像は、物体を異なる向きから見たそれぞれのアングルについて、作成する必要がある。さらに円筒形の缶ジュースや箱も把持対象である場合には、他の物体についても画像認識用のモデルを作成する。ロボットは、カメラで撮影した画像について、撮影された形状の物体に係るモデルを適用して、把持位置(特定部位の位置)を推定する。
上述の方法を用いることにより、物体の向きや配置に関わらず、ロボットハンドによる物体の把持が行えるようになる。
なお、図3のロボットハンドは吸盤を備えた吸着型ロボットハンドであるが、その他の形状または種類のロボットハンドであってもよい。図1の三次元撮影装置10と、画像処理装置20と、特徴学習装置30は、それぞれの物体について、上述の画像認識用モデルを作成する際に用いられる。したがって、本実施形態に係るシステムは、画像認識システムと荷役システムが組み合わされた複合的なシステムであるといえる。本実施形態に係るシステムに含まれる各装置の詳細については後述する。
次にシステムが備えている、各装置の概要について説明する。
三次元撮影装置10は、物体を複数の方向から撮影し、物体の距離画像を生成する装置である。例えば、立体角2πストラジアンの範囲内で、1度、2度、5度、10度などの単位で少しずつ撮影角度(アングル)を変更し、物体の距離画像を複数枚撮影する。これにより、数百枚から数万枚程度の距離画像(多視点画像)が得られる。
距離画像(Depth画像)とは、物体の深度情報を含む三次元画像である。撮影範囲の立体角、撮影角度の調整単位は、物体の形状と把持位置の部位によって調整される。上述の撮影角度の範囲と、撮影角度の調整単位は例であり、これらと異なる値を用いてもよい。
撮影対象となる物体の、各角度からみた立体的形状が把握できるよう、距離画像を撮影するアングルを決定する。ある物体の、ひとつのアングルからの距離画像しかない場合、当該アングルからは視認できない物体の裏側の形状を把握することができない。このため、複数のアングルに係る距離画像の撮影を繰り返し行い、各方向からみた物体の形状に関する情報を収集する。
例えば、複雑な凹凸が複数あり対称性がない物体と、回転対称である物体とを比べると、前者の方が立体的形状の把握により多くの距離画像が必要となる。後述するように、複数のアングルから撮影された複数の距離画像を組み合わせて、物体の三次元形状を表すCADモデルが作られる。
後述するように、本実施形態に係る三次元撮影装置では、撮影対象の物体を回転させる機構と、三次元画像センサを円弧上に動かす機構とを備えることにより、物体の距離画像の撮影を実現している。図4は、本実施形態に係る三次元撮影装置の構造を示している。ただし、これは一例であり、これとは異なる方式で物体の距離画像の撮影を行うことを妨げるものではない。例えば、撮影対象の物体を固定し、三次元画像センサを移動させる機構を設けてもよい。
画像処理装置20は、三次元撮影装置10で得られた、物体の距離画像と同一の画角のCAD(computer−aided design)モデルを生成する。さらに、画像処理装置20は物体全体のCADモデルを用いて、物体の把持位置を示す画像の作成も行う。
特徴学習装置30は、物体の距離画像と、物体の把持位置を示す画像とを用いて、物体の把持位置を画像認識するためのモデルを学習する。モデルの学習は、例えば、誤差逆伝播法などの深層学習または、サポートベクターマシン(Support Vector Machine:SVM)などの機械学習により行う。物体の距離画像と、物体の把持位置を示す画像は、学習における教師データとして用いられる。
画像処理装置20と特徴学習装置30は、1以上のCPU(中央処理装置)、記憶装置、通信部を備え、OS(オペレーティングシステム)とアプリケーションが動作する計算機などの情報処理システムである。図1の例では、画像処理装置20と特徴学習装置30は別々の装置であるが、画像処理装置20と特徴学習装置30は同一の計算機などの情報処理装置により実現されていてもよい。
画像処理装置20、特徴学習装置30は物理的な計算機であってもよいが、仮想計算機(Virtual Machine:VM)、コンテナ(container)又はこれらの組み合わせにより実現されるものであってもよい。1つ以上の物理計算機、仮想計算機、コンテナに画像処理装置20や特徴学習装置30の機能を分担させてもよい。可用性の向上と負荷分散のために画像処理装置20、特徴学習装置30の台数を増やした構成を用いることも排除されない。
ロボット40は、物体を把持し、荷役作業や仕分け作業を行うロボットである。ロボット40は、物体を画像センサで撮影し、特徴学習装置30で得られた画像認識用モデルに基づき、物体の把持位置を特定する。画像認識用モデルには、例えば物体検出を行うモデル(物体検出モデル)と、物体領域抽出を行うモデル(物体領域抽出モデル)がある。まず、物体検出モデルを使って、画像中の形状より物体の種類を特定する。次に、物体の種類に対応した物体領域抽出モデルを使って、把持位置に相当する座標を特定する。ロボット40は、ロボットハンドを備えており、ロボットハンドにより実際の物体の運搬作業を行う。
図5は、本実施形態の説明で用いる、コーヒーカップを示している。ロボット40が、物体を挟んで持つ(挟持)タイプのロボットハンドを有する場合、コーヒーカップの縁と取っ手が把持位置となる。図5のコーヒーカップは例示であり、これとは異なる形態の物体に対しても、本実施形態に係るシステムを適用することができる。
三次元撮影装置10と画像処理装置20は電気的な接続または無線通信により、互いにデータの送受信を行うことができる。電気的な接続の規格としては、例えば、PCI Express、USB、UART、SPI、SDIO、シリアルポート、イーサネットなどがあるが、その他の方式を用いてもよい。無線通信規格の例としては、IEEE802.11シリーズまたはその後継規格の無線LANや、Bluetoothなどがあるが、その他の方式であってもよい。
三次元撮影装置10と画像処理装置20を連動して動作させる場合、上述のような装置間のデータ送受信機能が必要となる。ただし、三次元撮影装置10と画像処理装置20を連動して動作させず、取り外し可能な記憶媒体を用いて装置間のデータの移動を行う場合には、三次元撮影装置10と画像処理装置20の間の接続や、データ送受信機能がなくてもよい。両方の装置の連動動作の詳細については、後述する。
特徴学習装置30とロボット40も、電気的な接続または無線通信により、互いにデータの送受信を行うことができる。電気的な接続の規格としては、例えば、PCI Express、USB、UART、SPI、SDIO、シリアルポート、イーサネットなどがあるが、その他の方式を用いてもよい。無線通信規格の例としては、IEEE802.11シリーズまたはその後継規格の無線LANや、Bluetoothなどがあるが、その他の方式であってもよい。
次に、各装置の構成要素について説明する。
三次元撮影装置10は、撮像部11と、アーム12と、画像記憶部13と、撮影台14と、アクチュエータ15と、撮影制御部16とを備えている。図4は、三次元撮影装置10の構成例を示す図である。図4には、撮影制御部16を除く、三次元撮影装置10の各構成要素が示されている。
撮像部11は、距離画像の撮像を行い、被写体までの距離と形状を含む深度(Depth)情報の計測が可能な、三次元画像センサ(距離画像センサ)を備えている。三次元画像センサの一例として、ToF方式のセンサがある。ToF(Time of Flight)方式のセンサは、赤外線や可視光などを被写体に向けて照射し、反射波を検出する。電磁波の送信時刻と、反射波の受信時刻の時刻差より、深度情報が求められる。他には、例えば色彩情報と深度情報の両方が得られるRGB−D(Red、Green、Blue、Depth)方式の三次元画像センサもある。物体の深度情報を取得できるのであれば、パターン光投影法、ステレオカメラなどその他の計測方式を用いてもよく、手段は特に問わない。
撮像部11は、三次元画像センサにより計測された、深度情報を含む距離画像のデータを画像記憶部13に保存する。距離画像のデータ形式の例としては、三次元直交座標の位置情報(x、y、z)を有する点の集合である、三次元点群(3D point cloud)データが挙げられる。RGB−Dセンサなどにより、物体の色彩情報も取得できた場合、三次元点群データは座標情報だけでなく、物体表面の模様や色彩情報(テクスチャ)を含んでいてもよい。また、撮像部11は三次元点群データを含む距離画像とは別の画像として、色彩情報を含むカラー画像を撮影してもよい。
三次元点群データは、三次元画像センサから計測された生のデータであってもよいし、ノイズなどが補正されたデータであってもよい。物体の立体形状を表現可能であれば、ワイヤフレーム、サーフェス、ソリッド、ポリゴンなどのデータ形式を用いてもよい。以降では、三次元点群データと述べた場合、物体の立体形状を表現可能なデータ形式全般を意味するものとする。
図6は、三次元画像センサにより撮像されたコーヒーカップの例を示している。図6は、赤外線を使ったToF方式のセンサにより得られた、グレースケールの距離画像である。ToF方式のセンサだけでは色彩情報を取得できないため、図6の画像には元のコーヒーカップにあった絵柄などが表示されていない。
色彩情報も取得可能なRGB−Dセンサなどを用いた場合には、距離画像とは別に、色彩情報を含むカラー画像を取得してもよい。また、距離画像に色彩情報を含めてもよい。例えば、撮影対象の物体に係る形状が回転対称であり、色彩や模様に関する情報がないと、物体の向きを判別できない場合や、絵が描かれている部分を把持位置から除外したい場合には、カラー画像も併せて活用することができる。
アーム12は、物体が撮影可能な高さに撮像部11を支持し、撮像部11を円弧軌道上のいずれかの位置に調整する。図4の例では、三次元撮影装置10の左側に、アーム12が示されている。アーム12の先端部には撮像部11が装着されている。アーム12は回転機構により、撮像部11の位置を円弧状に動かすことができる。また、アーム12は撮影対象の物体の大きさなどに合わせ、撮像部11の高さを調節する機構を備えていてもよい。図4に示されたアームの機構は一例であり、その他の機構を用いて、撮像部11の位置調整を行ってもよい。
画像記憶部13は、撮像部11が撮影した複数の距離画像(多視点画像)を保存する。画像記憶部13に保存された距離画像は、画像処理装置20から参照可能である必要がある。画像記憶部13は、画像処理装置20から直接参照できるように設定されていてもよい。また、画像記憶部13は取り外し可能な記憶媒体であってもよい。この場合、物体の撮影が終わった後に、当該記憶媒体を三次元撮影装置10から画像処理装置20に差し替えることができる。
画像記憶部13は、SRAM、DRAMなどの揮発性メモリでも、NAND、MRAM、FRAMなどの不揮発性メモリでもよい。また光ディスク、ハードディスク、SSDなどのストレージ装置でもよい。画像記憶部13は、図1の例では三次元撮影装置10の内部に配置されているが、三次元撮影装置10の外部に配置されていてもよく、配置は特に問わない。例えば、外部のストレージ装置、外部のサーバ、クラウドストレージ、または画像処理装置20などに距離画像を保存してもよい。
撮影台14は、撮像部11の被写体となる物体を設置する場所である。図4の例における撮影台14は、平坦な円盤状となっている。光の反射を軽減するため、表面は黒色となっている。撮影台14はアクチュエータ15の上側に備え付けられている。また、撮影台14はアクチュエータ15の機能により、水平回転する。撮影台14上に置かれた物体も回転するため、物体を複数の向きから撮影することができる。
アクチュエータ15は、撮影台14を回転させるロータリアクチュエータである。ロータリアクチュエータは電動式であっても、油圧式であってもよく、特に方式は問わない。ロータリアクチュエータに加え、垂直動作が可能なアクチュエータを組み合わせ、撮影台の高さを調節可能にしてもよい。
撮影制御部16は、撮像部11の操作、アーム12の位置調整、アクチュエータ15の回転操作などを行い、複数の距離画像(多視点画像)の撮影を実現する。また、撮影制御部16は画角や物体の撮影角度を含む撮影条件情報に基づき、複数の距離画像の撮影を行うための指令を各構成要素に送信する。
例えば、画角と撮影角度の組み合わせ(アングル)を810個含む撮影条件情報がある場合、810枚の距離画像が撮影される。画角と撮影角度の組み合わせは、ユーザが手動で設定してもよいし、物体の大きさに合わせ、撮影制御部16が自動的に生成してもよい。また、外部の計算機などで動作する三次元撮影装置の制御プログラム(図示せず)が、撮影条件情報を設定してもよい。
撮影条件情報は、画像記憶部13の三次元点群データに含まれていてもよいし、別のデータやファイルとして保存されていてもよい。撮影条件情報は、画像処理装置20と共有される。後述するように、画像処理装置20は、三次元点群データと撮影条件情報に基づき、物体の三次元モデルを生成する。
画像処理装置20は、画角同期部21と、CADモデル生成部22と、CADモデル記憶部23と、表示部24と、入力部25を備えている。このうち、CADモデル生成部22は、内部の構成要素として把持位置特定部22aを含む。
画角同期部21は、三次元撮影装置10における距離画像の撮影で用いられた撮影条件情報を取得する。取得された撮影条件情報は、CADモデル生成部22におけるコンピュータグラフィックの生成に用いられる。撮影条件情報は、三次元撮影装置10と画像処理装置20との間の電気的な接続または無線通信路を介して送信される。取り外し可能な記憶媒体により、撮影条件情報を三次元撮影装置10から画像処理装置20に移動または複製を行ってもよい。
CADモデル生成部22は、三次元撮影装置10で撮影された複数のアングルに係る複数の距離画像を組み合わせて、物体の立体的形状を表現した三次元モデルを作成する。三次元モデルの例としては、三次元のCAD(Computer−Aided Design)、三次元のCG(Computer Graphics)などがあるが、三次元の物体形状を表現可能であれば、ファイルの形式や種類は問わない。複数の距離画像を組み合わせて三次元モデルを作成するため、当該三次元モデルは、三次元撮影装置10で撮影対象とされたアングル(角度)から視認できる範囲内について、物体の外面的な形状を正確に表すものとなる。作成された三次元モデルはCADモデル記憶部23に保存される。
CADモデル生成部22は、例えば、画像処理装置20で動作する3次元CADソフトウェア、3DCGソフトウェア、ベクターグラフィックスエディタ、画像処理ソフトウェアなどにより実現される。3次元CADソフトウェアが用いられた場合、CADモデル生成部22は3次元CADソフトウェアの機能を用いて、それぞれの距離画像の三次元点群データに基づき、自動的に三次元モデルを生成することができる。
なお、色彩情報も得られている場合には、色彩情報が付加された三次元モデルを作ってもよい。また、人が三次元CADソフトウェアなどを操作し、手動で三次元モデルを作成してもよいし、自動的に生成された三次元モデルの修正を行ってもよい。
人手を介さずに、自動的に三次元モデルを生成すると、全体的な処理を高速化することができる。一方、撮像された距離画像にノイズ成分が多く、三次元点群データの精度が低い場合には、人が三次元モデルの修正を行うことで、正確な三次元モデルを作成できる利点がある。また、人が三次元モデルを編集する場合、三次元画像センサによる計測では得られない、物体の各部位の材料組成に関する情報などを追加することができる。
三次元モデルの作成に用いられる三次元点群データは、三次元撮影装置10と画像処理装置20との間の電気的な接続または無線伝送路を介して取得することができる。また、取り外し可能な記憶媒体を使って、三次元撮影装置10の三次元点群データの移動または複製を行ってもよい。
把持位置特定部22aは、各三次元モデルにおける把持部など特定部位の位置を自動的に特定する。物体の一部の部位の位置を特定する処理は、物体の領域分割(セグメンテーション)処理の一種であり、画像のアノテーションとも呼ばれる。本実施形態に係る把持位置特定部22aは、それぞれの三次元モデルについて、把持位置(領域)を示す画像を作成する。以降では、把持位置(領域)など物体の特定部位を示す画像を抽出画像と呼ぶことにする。後述するように、特定対象の部位は、物品の把持位置(領域)に限らず、物体の一部を占めるのであれば、その他の部位であってもよい。画像認識の対象や用途に基づき、対象となる物体の種類や、特定する部位を選択することができる。物体は画像認識が可能であればよく、生物であってもよい。
把持位置特定部22aが生成した抽出画像は、対応する実写の距離画像と組み合わされ、画像認識用モデルを学習する際の教師(正解)データとする。以降では、教師データとして用いられる各々の画像を、教師画像と呼ぶことにする。教師画像は、例えば、抽出画像と対応する距離画像のペアであってもよいし、距離画像上に、抽出画像で示された領域をその他の領域と識別できるよう、マーキングした画像であってもよい。
この場合、領域のマーキングは、例えば、画像中の該当するピクセルまたは点に属性情報を設定することで行ってもよいし、該当するピクセルまたは点を特定の色やトーンに設定することで行ってもよく、特に方法は問わない。複数の教師画像は、CADモデル記憶部23に保存される。把持位置特定部22aは、例えば、画像処理装置20で動作する3次元CADソフトウェアの機能により実現される。
図7は、手作業による把持位置の特定作業の例を示している。従来は、画像認識用の教師データを作成するために、図7のように複数の画像について、手書きで把持位置に相当する領域の指定を行う場合が多かった。図7の例では、領域の境界線が手書きで指定されているが、現実の取っ手や縁部の境界からずれており、不正確なアノテーション画像となっている。
画像の数が数百枚以上である場合、このような領域の指定を行うのに要する工数が大きくなる。複数の担当者が作業を行った場合、教師データ内の教師画像に品質のばらつきが発生し、画像認識の精度が低下する問題もあった。
図8は、本実施形態による、把持位置の特定作業の例を示している。本実施形態においては、ひとつの三次元モデルについて領域指定を行えば、指定された領域に係る三次元点群データを得られる。以降は、当該領域に係る三次元点群データを他の三次元モデルに入力するだけで、別アングルからみた把持位置に係る画像を作成することができる。この処理を各アングルに係る三次元モデルへ繰り返し適用することにより、異なるアングル(視点)に係るアノテーション画像を自動的に生成できる。
このため、教師データ用画像の枚数が増えても、手作業で各々のアングルに係る画像について領域指定を行う場合とは異なり、領域指定に要する工数が増えることはない。初回の領域指定の精度が充分に高ければ、教師データの品質を維持することができる。
初回の把持位置の特定(領域指定)作業は、人が三次元CADソフトを操作して手作業で行ってもよい。また、予め定められた把持位置(領域)の条件のもとで、プログラム、スクリプト、マクロなどが把持位置(領域)を特定してもよい。複数の異なる形状の物体について、把持位置の特定作業を行う必要がある場合、後者の方法により、把持位置(領域)の特定を行うと、物体認識に用いるモデルの作成に要する時間を短縮することができる。
以下では、予め定められた把持位置(領域)の条件のもとで、プログラム、スクリプト、マクロなどが把持位置の特定を行う方法について説明する。
物体の把持位置を特定する場合、物体の形状だけでなく、使用するロボットハンドも考慮する必要がある。例えば、吸着型ロボットハンドの吸盤の直径が3センチメートルである場合、三次元モデルの中で、平坦な直径3センチメールの円形領域を探索する。見つかった領域を物体の把持位置にすることができる。また、複数の領域が見つかった場合には、より物体の中心部または重心に近い領域を優先して、選択する。
また、ロボットハンドが、最大開き幅2センチメートルの2指グリッパである場合、三次元モデルについて、2指グリッパが挟持可能な、幅2センチメール以内の縁部や突起部の探索を行う。探索時に、縁部や突起部の面積や模様の有無に関する条件をつけることもできる。また、2指グリッパの仕様に合わせ、縁部や突起部の幅の下限を設定してもよい。
複数の箇所が見つかった場合、破損の可能性を軽減するため、機械的強度が最も高い箇所を把持位置として選択する。例えば、突起部であれば、突起部が短い箇所、縁部であれば幅が広い箇所を優先して選ぶことができる。2つ以上の箇所を把持位置として選択してもよい。物体の姿勢または位置によっては、把持できない箇所も存在し得る。
また、物体の中心部、重心など物体中の相対的な位置を三次元点群データより求め、把持位置(領域)の特定を行ってもよい。
物体の組成材料に関する情報があれば、それを把持位置の選択処理に使ってもよい。例えば、機械的強度が弱い箇所については、部位の形状に関わらず、把持位置の選択対象から除外してもよい。各部位の組成材料に係る機械的強度に応じて、選択の優先度を設定してもよい。
上述のようなロボットハンドの種類および仕様に応じた、物体の把持位置の選択は、3次元CADソフトウェアなどのプログラムにより行ってもよいし、スクリプトやマクロを利用してもよいし、専用の回路などハードウェアを用いてもよく、特に実現方法は問わない。
図9は、コーヒーカップについて、把持位置を特定した結果を示す画像である。図9の画像は、図6の距離画像で示されたコーヒーカップに対応している。図6の距離画像はグレースケールであったが、図9は階調のない白黒画像となっている。
三次元モデルとして作成された抽出画像を加工することにより、白黒画像へ単純化することができる。最終的に教師データの作成に用いられる画像は、深度(Depth)情報や三次元点群データを含まない、2値のデータ(白黒画像)であってもよい。抽出画像として、このような単純化されたデータを用いることによって、必要な記憶領域を抑制することができる。
また、抽出画像として三次元点群データを用いてもよいし、RGB情報を含むカラー画像を用いてもよく、画像の形式は特に問わない。
以下では、各構成要素の説明に戻る。
CADモデル記憶部23は、物体全体の三次元モデルや、抽出画像を保持する。CADモデル記憶部23に記憶されたデータは、画像認識用モデルの学習に用いられるため、特徴学習装置30から参照可能である必要がある。特徴学習装置30からのアクセスを実現するための記憶領域の共有設定、通信手段は特に問わない。例えば、CADモデル記憶部23をネットワークなどでアクセス可能な共有ストレージに設定してもよい。
CADモデル記憶部23はSRAM、DRAMなどの揮発性メモリでも、NAND、MRAM、FRAMなどの不揮発性メモリでもよい。また光ディスク、ハードディスク、SSDなどのストレージ装置でもよい。CADモデル記憶部23は、図1の例では画像処理装置20の内部に配置されているが、画像処理装置20の外部に配置されていてもよい。例えば、外部のストレージ装置、外部のサーバ、クラウドストレージ、または画像処理装置20などにデータを保存してもよい。
表示部24は、各種の情報を表示可能なディスプレイである。表示部24では例えば、三次元モデルの画像、抽出画像、距離画像などを表示し、認識された物体の形状や、編集中の三次元モデルの確認をすることができる。さらに、後述する物体検出モデルと、物体領域抽出に係る情報の表示を行い、モデルの生成やモデルの設定変更などを行うこともできる。また、操作者からの各種操作を受け付けるためのGUI(Graphical User Interface)などを出力することができる。表示部24は例えば液晶ディスプレイ、有機エレクトロルミネッセンスディスプレイであってもよいし、その他の方式のものであってもよい。
入力部25は、操作者からの各種の入力操作を受け付ける。例えば、三次元CADソフトウェアなどの操作、表示部24で表示対象とする画像の選択、画像の表示方法の変更、三次元撮影装置10への操作指令などを操作者から受け付ける。入力部25は、例えばマウス、キーボード、タッチパネル、トラックボール、ジョイスティック、ペンタブレットまたはこれらの組み合わせより実現される。入力部25は音声認識装置など、その他の手段により実現されていてもよい。
特徴学習装置30は、学習部31と、学習モデル記憶部32と、モデル更新部33とを備えている。
学習部31は、複数のアングルに係る複数の距離画像と、それぞれの距離画像に対応するアングルに係る抽出画像を教師データとして使い、画像認識に用いるモデルの学習を行う。例えば、コーヒーカップの場合、複数のアングルについて、縁部と取っ手に相当する領域が、抽出画像で示される。抽出画像が、対応するアングルに係る距離画像と同じサイズにスケーリングされると、距離画像中の縁部と取っ手に相当する領域と、その他の領域が識別可能になる。
作成される画像認識用モデルは、物体検出(Detection)を行うモデルと、物体領域抽出(Semantic Segmentation)を行うモデルを含む。物体検出とは、画像の中から特定の物体の位置を特定する技術である。
本実施形態においては、物体検出の対象は画像中のコーヒーカップとなる。物体検出の代表例としては、顔検出や歩行者検出がある。物体領域抽出とは、画像のピクセルごとに、当該ピクセルが属するクラスを出力する技術である。本実施形態においては、画像のそれぞれのピクセルが、把持位置とその他の領域のいずれかに属するのかを判定対象とする。
モデルは、ある物体の形状に係る物体検出を行うモデルと物体領域抽出を行うモデルの両方を含むものとする。
学習部31は、把持対象の形状ごとに、物体検出モデルと物体領域抽出モデルの学習を行う。例えば、コーヒーカップと、人形と、缶ジュースと、箱を把持対象とする場合、それぞれの形状について、物体検出モデルと物体領域抽出モデルを作成する。形状の異なる物体を把持対象に追加する場合、改めて学習を行うことができる。
例えば、ペットボトルが把持対象に追加された場合、ペットボトルに係る物体検出モデルと物体領域抽出モデルを学習する。同じ種類の物体(例えば、コーヒーカップ)の形状に凹凸の有無、高さと幅の比率、大きさ、模様などが異なるものが存在する場合でも、当該物体の代表的な形状を使って学習することができる。したがって、この例ではコーヒーカップの代表的な形状が学習の対象となる。
また、モデルの学習に用いる、教師データの画像は距離画像のみであってもよいし、距離画像と色彩を含むカラー画像の双方を使ってもよい。
モデルの学習は機械学習の各種手法を用いて行うことができる。機械学習の例として、深層学習(ディープラーニング)やSupport Vector Machineなどがある。深層学習の具体例としては、ニューラルネットワークを使った誤差逆伝播法がある。教師データを用いて教師あり学習を行うことができるのであれば、その他の手法により学習を行ってもよい。
多層構造のニューラルネットワークを使った学習は、深層学習(ディープラーニング)と呼ばれる。図10はニューラルネットワークの例を示している。図10のニューラルネットワークの層の数は4となっているが、層の数はこれとは異なる数であってもよい。以下では、深層学習の概略的な説明を行う。
図11は、ニューラルネットワークを使った深層学習の例である、誤差逆伝播法(back propagation)の概要を示している。画像などの入力データ(x1,x2,・・・,xq)は、入力層から隠れ層に伝達される。入力データは、各層の間で結合重みwnijが乗算され、出力データ(y1,y2,・・・,yp)となる。ここで、xは入力データにおけるそれぞれの特徴量、yは出力データにおけるそれぞれの特徴量、qは入力される特徴量の数、pは出力される特徴量の数である。nはニューラルネットワークの層の数から1を引いた数である。図10および図11の例の場合、n=1,2,3となる。
出力データと教師データの間の誤差Eを誤差関数(損失関数)で表すことができる。誤差関数としては、各特徴量について二乗誤差の和をとった、下記の式(1)を使うことができる。
ここで、rは教師データにおけるそれぞれの特徴量である。上述の式(1)は例であり、これとは異なる誤差関数を用いることは妨げられない。
誤差逆伝播法では、誤差Eを各層へ逆伝播し、誤差Eが小さくなるよう、結合重みの調整を行う。勾配降下法(gradient descent method)を用いる場合、結合重みの調整後、誤差の算出と調整量の決定を誤差Eが0に近づくまで繰り返す。結合重みの調整量は、一般化した結合重みをwとすると、下記の式(2)のようになる。
ここで、Δwは調整量、ηは学習係数である。誤差をwの関数としたときに、正の傾きである場合には、結合重みを減らす。傾きが負である場合には、正の調整量を設定し、結合重みwを増やす。学習係数ηは、誤差Eが0に収束するよう、適切な大きさに設定する。学習係数ηはAdadelta、AdaGradなどの手法を用いて調整してもよい。式(2)を使った結合重みの調整は、図10のよう多層ニューラルネットワークの場合、出力層に近い結合重みから順番に行っていく。
誤差関数は、出力yについての関数であるため、式(2)は合成関数の微分として展開される。例えば、結合重みw3ijによる微分は下記の式(3)のように表される。
ここで、u3jは、下記の式(4)のように、出力層のあるノードにおける入力を表しており、重み付け和にバイアスを加算した値である。
ここで、βは、出力層の直前である、隠れ層#2の各ノードからの出力値である。また、bは、バイアスである。式(4)はw3ijで微分可能な関数となっている。
一方、出力yはu3jの関数であるため、式(3)は出力yの偏導関数も含んでいる。出力yを表す関数σ(u)として、微分可能な関数を使わなくてはならない。このような関数σ(u)は活性化関数と呼ばれる。活性化関数としては、シグモイド関数、tanh関数、Rectified linear unit(ReLU)などが使われるが、その他の微分可能な関数であってもよい。
実際の物体検出や物体領域抽出は、誤差逆伝播法による結合重みwの調整が完了したニューラルネットワークを用いて行う。物体の検出を行う場合、例えば、撮像された距離画像の各ピクセルの情報を、特徴量として各々の入力ノードへ入力する。この場合、出力データとして、距離画像中の当該物体に対応するピクセルを特定した画像が得られる。入力ノードへ入力されるデータの種類および形式は、上述の例とは異なっていてもよい。
物体領域抽出を行う場合、例えば、撮像された距離画像の各ピクセルの情報と、抽出画像の各ピクセルの情報を、特徴量として各々の入力ノードへ入力する。この場合、出力データとして領域推定された画像が得られる。ここでも、入力ノードへ入力されるデータの種類および形式は、上述の例とは異なっていてもよい。
図10および図11では、学習部31が一般的なニューラルネットワークに誤差逆伝播法を用いた場合を例に説明したが、畳み込みニューラルネットワーク(CNN:convolutional neural network)を用いてもよい。畳み込みニューラルネットワークは、畳み込み層(convolution layer)とプーリング層(pooling layer)の繰り返しを含む。
学習部31は、学習したモデルの作成を完了したら、学習モデル記憶部32に物体検出用モデルと物体領域抽出用のモデルを保存する。ニューラルネットワークの場合、各種パラメータの調整が終わり、誤差Eが0または所定値以下に収束したら学習モデルの作成が終わったと判断することができる。調整可能なパラメータには、ニューラルネットワークの構成、ニューラルネットワークの層の数、畳み込み層のフィルタサイズとフィルタ数、学習係数の設定、更新回数、活性化関数の選択、ドロップアウトの有無、ドロップコネクトの有無などがある。
学習モデル記憶部32は、学習部31が作成した形状ごとの物体検出モデルと物体領域抽出モデルを記憶する。学習モデル記憶部32は、SRAM、DRAMなどの揮発性メモリでも、NAND、MRAM、FRAMなどの不揮発性メモリでもよい。また光ディスク、ハードディスク、SSDなどのストレージ装置でもよい。学習モデル記憶部32は、図1の例では特徴学習装置30の内部に配置されているが、特徴学習装置30の外部に配置されていてもよく、配置は特に問わない。例えば、外部のストレージ装置、外部のサーバ、クラウドストレージなどにモデルを保存してもよい。
モデル更新部33は、新たに学習された物体検出モデルと物体領域抽出モデルをロボット40に提供する。学習されたモデルをロボット40に提供する方法については特に問わない。
例えば、モデル更新部33は、新たな形状の物体に係る物体検出モデルと物体領域抽出モデルの作成が完了したことを検出したら、学習されたモデルに係るデータをロボット40に送信してもよい。また、モデル更新部33は単に新たな形状に係るモデルを学習したことをロボット40に通知し、学習されたモデルに係るデータをダウンロードするか否かの判断をロボット40に行わせてもよい。
モデル更新部33の機能により、ロボット40は新たな形状の物体を把持できるようになる。また、既にロボット40が把持対象としている物体に係る形状について、物体検出モデルまたは物体領域抽出モデルの更新を行った場合、モデル更新部33は更新されたモデルをロボット40に送信してもよい。
ロボット40は、ロボットハンド41と、カメラ42と、モデル記憶部43と、ロボット制御部44とを備えている。
ロボットハンド41は、物体を把持し、運搬する機能を備えたロボットハンドである。ロボットハンド41の構造、大きさ、方式については特に問わない。物体の把持方式は、物体を挟み込む方式でも、物体を吸着する方式でも、その他の方式であってもよい。
ロボットハンド41が行う作業の例としては、ベルトコンベアやカゴからの物体の取り出し、物体の運搬、物体の仕分け作業などがあるが、その他の作業であってもよい。ロボットハンドが把持する物体の例としては、工業製品、包装済みの物品、食品、金属や木材などの材料があるが、農作物、海産物などの生物が把持対象となってもよく、特に限定しない。
カメラ42は、ロボット40が把持対象としている物体を認識するための画像を撮影する。カメラ42が備える三次元画像センサは、三次元撮影装置10の撮像部11が備える三次元画像センサと同等の機能を有する。
例えば、撮像部11の距離画像を使って物体検出モデルと物体領域抽出モデルを行った場合、カメラ42として撮像部11と同様の特性の距離画像が撮影可能なカメラを使わなくてはならない。撮像部11で距離画像とカラー画像を撮影し、距離画像とカラー画像の双方を使って、モデルの学習を行った場合、カメラ42として、距離画像とカラー画像の両方が撮影できるカメラを選ぶ必要がある。カメラ42の三次元画像センサとしては、例えば、ToF方式のセンサやRGB−D方式のセンサを用いることができる。
なお、図1の例ではロボット40が備えるカメラ42が物体の撮影に使われるが、ロボット40の外部に設置されたカメラを用いて物体を撮影してもよい。
モデル記憶部43は、特徴学習装置30の学習部31で学習された物体検出モデルと物体領域抽出モデルを保持する。モデル記憶部43には、ロボット40が把持対象とする物体の形状ごとに学習されたモデルを保存する。モデル記憶部43は、SRAM、DRAMなどの揮発性メモリでも、NAND、MRAM、FRAMなどの不揮発性メモリでもよい。また光ディスク、ハードディスク、SSDなどのストレージ装置でもよい。モデル記憶部43は、図1の例ではロボット40の内部に配置されているが、ロボット40の外部に配置されていてもよい。
画像認識部44は、カメラ42を操作し、学習されたモデルを使って物体検出および物体領域抽出を行う。さらに物体領域抽出の結果に基づき、ロボットハンド41の制御操作を行い、物体の把持や運搬などを行う。画像認識部44は、モデル記憶部43に保存された物体検出モデルと物体領域抽出モデルを使ってもよいし、ロボット40の外部の記憶領域に保存されたモデルを使ってもよい。例えば、画像認識部44が直接、特徴学習装置30の学習モデル記憶部32を参照し、学習モデル記憶部32に保存されたモデルを使うこともできる。
また、画像認識部44は、モデル記憶部43に保存されている物体検出モデルと物体領域抽出モデルの管理を行う。具体的には、特徴学習装置30のモデル更新部33が新たな形状について学習されたモデルに係るデータを送信したら、当該データを受信し、モデル記憶部43に保存する。特徴学習装置30のモデル更新部33から新しいモデルが学習された旨の通知を受けたら、当該モデルに係るデータを学習モデル記憶部32からダウンロードし、モデル記憶部43に保存する。
なお、画像認識部44は、物体検出処理および物体領域抽出処理で画像や座標情報などの作業データを一時的に保存し、ロボットハンド41の制御に提供するため、内部にメモリ、バッファやキャッシュなどの記憶領域を備えていてもよい。また、画像認識部44はロボット40の筐体内にあってもよいし、ロボット40の筐体外部の計算機上にあってもよい。
図1の三次元撮影装置10の撮影制御部16、画像処理装置20、特徴学習装置30の各構成要素、ロボット40の画像認識部44が備える機能は、CPU(Central Processing Unit)などのプロセッサで動作するソフトウェア(プログラム)によって実装されてもよいし、FPGAやASICなどのハードウェア回路によって実装されてもよいし、これらの組み合わせによって構成されてもよい。
図12は、深層学習で学習されたモデルを用いてコーヒーカップの把持位置を推定した結果を示している。ロボット40がコーヒーカップの把持位置を推定した場合、物体領域抽出処理により、図12のような画像データが得られる。
現実の三次元画像センサで撮影される画像には、ノイズ成分が含まれている。図12上側には、小さいコーヒーカップに係る距離画像と、大きいコーヒーカップに係る距離画像が示されている。それぞれのコーヒーカップ上にある黒色の部分が、ノイズ成分に該当する。図12下側には、小さいコーヒーカップと、大きいコーヒーカップの把持位置を推定した結果の出力画像が示されている。図12の結果より、ノイズ成分が含まれている距離画像に対して物体領域抽出処理を適用しても、把持位置の推定が可能であることがわかる。
次に、本実施形態に係るシステムの処理について説明する。システム全体の処理は、画像認識(物体検出、物体領域抽出)を行うモデルの作成処理と、ロボットが画像認識を行い、荷役作業を実行する処理に大きく分けられる。
図13は、三次元撮影装置10と画像処理装置20の連動した処理を示す図である。図13では、三次元撮影装置10による物体の撮影と、画像処理装置20による、撮影条件に対応した三次元モデルの作成が交互に行われている。三次元撮影装置10と画像処理装置20の間でデータ通信が可能である場合、このような連動的な動作を行い、三次元モデルを自動的に作成することができる。
ただし、図13の処理は一例であり、処理の順序がこれとは異なっていてもよい。例えば、最初に三次元撮影装置10ですべての多視点画像の撮影を行い、その後にまとめてそれぞれの画像に対応する三次元モデルの作成を行うこともできる。次に、三次元撮影装置10と画像処理装置20の連動した処理のより詳細な説明を行う。
図14は、物体検出モデルと物体領域抽出モデルの作成処理に係るフローチャートである。以下では、図14のフローチャートに沿って処理を説明する。
まず、把持対象とする物体を三次元撮影装置10の撮影台14に設置する。(ステップS101)ここで、ロボット40が実際に把持対象とする物体と大きさと形態が全く同一である物体を使ってもよいし、異なる大きさのミニチュアを使ってもよい。また、全体的な形状が類似しているものの、表面の凹凸部分や細かい形態に違いがある複数の物体が把持対象とされる場合には、これらの複数の物体の中で、平均的な形態を有する、1つの物体で代表させてもよい。
すなわち、全体的な形状が類似している、物体のバリエーションがある場合、当該物体のバリエーションは処理上、まとめてひとつの物体に係る形状として扱うことができる。
次に、多視点画像の撮影条件(画角、撮影角度、枚数、色彩の有無など)を決定する。(ステップS102)撮影条件は、把持対象とする物体ごとに決定する。少なくとも撮影角度が互いに異なる、複数の画像が撮影されるようにする。画角については、すべての画像で同一の画角を用いてもよいし、画角を変えて撮影してもよい。撮影条件の決め方や設定方法は、撮影制御部16に係る説明で述べた通りである。
そして、物体をある視点に調節し、撮像部11を使って撮影する。(ステップS103)ここでの視点とは、ステップS102で決められた複数の撮影角度(アングル)のことをいう。撮影角度の調節は、アクチュエータ15による撮影台14の回転操作、アーム12による撮像部11の位置変更を組み合わせて行う。画角を変更する場合、撮像部11の設定も変更する。
撮像部11による撮影で得られた三次元点群データと撮影条件情報をもとに、対応する三次元モデルを作成する。(ステップS104)三次元モデルの作成は、画像処理装置20のCADモデル生成部22により行われる。CADモデル生成部22は複数のアングルに係る複数の距離画像を組み合わせて、三次元モデルを生成する。
したがって、CADソフトウェアなどで当該三次元モデルを、ディスプレイ上に表示させると、三次元撮影装置10で撮影された角度の範囲内については、表示角度を変更しても物体の立体的形状が正確に再現される。三次元モデルの作成処理の詳細はCADモデル生成部22の説明で述べた通りである。
さらに、CADモデル生成部22内の構成要素である、把持位置特定部22aは作成された三次元モデルを用いて、把持位置を特定する抽出画像を作成する。(ステップS105)抽出画像の作成処理の詳細は把持位置特定部22aの説明で述べた通りである。
次に、物体について撮影が行われていない視点(アングル)が残っているかを確認する。(ステップS106)撮影条件で定めたすべての視点について撮影が行われた場合、ステップS107に進む。撮影条件に含まれる視点の中に未撮影のものが残っている場合、ステップS103に戻り、いずれかの未撮影の視点に物体を調節し、撮影を行う。
多視点画像の撮影と、それぞれの視点に係る抽出画像の作成が終わったら、多視点の距離画像と、各々の距離画像に対応する抽出画像に基づき、教師データを作成する。(ステップS107)作成された教師データは、学習を行う、特徴学習装置30が参照可能な場所に保存される。
ある物体の教師データの作成が終わったら、当該物体とは形状が異なる、他の物体が把持対象になっているかを確認する。(ステップS108)異なる形状に係る物体が把持対象として指定されている場合、ステップS101に戻り、ステップS101以降の処理を異なる形状の物体について実行する。すべての形状に係る物体の教師データの作成が完了しているならば、ステップS109に進む。
最後に、それぞれの形状に係る物体について教師データを用いて、物体検出モデルと物体領域抽出モデルを学習する。(ステップS109)物体検出モデルと物体領域抽出モデルの学習処理の詳細は、特徴学習装置30の学習部31に係る説明で述べた通りである。学習によりモデルが作成されたら、ロボット40へモデルに係るデータを送信してもよい。また、単にモデルが作成された旨をロボット40に通知してもよい。
図15は、ロボット40による画像認識処理と物体把持操作に係るフローチャートである。以下では、図15のフローチャートに沿って処理を説明する。
まず、ロボット40は、物体検出モデルと物体領域抽出モデルに係るデータをアップデートする。(ステップS201)更新版のモデルが作成されている場合、ロボット40は更新版のモデルに係るデータを特徴学習装置30や、サーバなどからダウンロードする。
そして、新たな形状の物体に係るモデル(物体検出、物体領域抽出)が特徴学習装置30や、サーバなどにアップロードされている場合、モデルに係るデータをダウンロードする。(ステップS202)これにより、ロボット40は異なる形状の物体の認識が行えるようになる。
次に、ロボット40はカメラ42を用いて物体の撮影を行う。(ステップS203)ロボット40は、稼働状態にあるとき、動画像として周囲の画像の撮影をしてもよい。また、タイマなどを用いて、周期的に画像の撮影を繰り返してもよい。さらに、ロボット40に物体が接近したことをセンサで検出した場合にのみ、撮影を行ってもよい。このように、物体の撮影タイミングや撮影条件については特に問わない。撮影に使われるカメラの特性は、カメラ42に係る説明で述べた通りである。
物体の撮影が行われたら、ロボット40は撮影した距離画像を用いて、物体検出モデルで把持対象の物体を検出できるかを確認する。ロボット40が複数の物体検出モデルを使用できる場合には、いずれかの物体検出モデルで把持対象の物体が検出できるかを確認する。(ステップS204)画像中に把持対象の物体が検出された場合には、ステップS205に進む。画像中に把持対象の物体が検出されない場合、ロボット40は物体の把持操作を行わない。
把持対象の物体が検出された場合、ロボット40は該当する形状の物体に係る物体領域抽出モデルを用いて、把持位置(特定部位)を特定する。(ステップS205)ロボット40は撮影された距離画像により得られた位置情報を、ロボットハンド41の制御に用いられる位置情報に変換する。
例えば、距離画像の座標系における基準点からみた把持位置の相対的な三次元の位置情報を、ロボットハンド41が用いる座標系の値に座標変換することができる。変換後の位置情報は、制御情報に含められ、画像認識部44よりロボットハンド41へ伝達される。こうして、ロボット40は特定された把持位置にロボットハンド41を移動する。なお、物体領域抽出は、撮影された画像の全範囲ではなく、画像のうち把持対象の物体が検出された範囲についてのみ、行ってもよい。
最後に、ロボット40はロボットハンド41を使って物体を把持する。(ステップS206)ロボットハンド41の操作は、ステップS205で得られた把持位置に係る位置情報に基づいて行う。詳細なロボットハンド41の操作指令は、画像認識部44が送信する。ロボット40が行う作業の例としては物品の荷役作業や仕分け作業があるが、ロボット40にその他の作業を行わせてもよい。
(第1の変形例)
上述の第1の実施形態に係る三次元撮影装置は、撮影対象の物体を回転する撮影台に載せ、円弧状に移動可能な撮像部を用いて、多視点の距離画像を撮影していた。三次元撮影装置は、多視点での撮影が可能ならば、これとは異なる構造であってもよい。第1の変形例に係る三次元撮影装置では、撮影対象の物体をジンバル機構上の回転可能な撮影台上に置き、多視点画像を撮影する。
第1の変形例に係るシステムの構成は、三次元撮影装置を除けば、第1の実施形態に係るシステムと同様である。以下では第1の実施形態との差異点を中心に説明する。
図16は第1の変形例に係る三次元撮影装置の構成例を示す図である。図16左側はジンバル機構を有する三次元撮影装置の断面を示した模式図である。一方、図16右側は、撮影台を斜め上から見たときの様子を示した図である。
図16の例では、コーヒーカップ60が撮影対象の物体となっている。第1の変形例に係る三次元撮影装置は、ジンバル機構61と、カゴ部62と、撮影台63と、撮像部64とを備えている。以下では、各構成要素について説明する。
ジンバル機構61は、上側に半球状の凹部を有し、当該半球内の範囲でカゴ部62の位置を調整する機構を備えている。カゴ部62の位置が調整されても、常にカゴ部62の上側がジンバル機構61の形成する半球の中心を向くようになっている。ジンバル機構61によるカゴ部62の位置調整は、例えば、ある軸について回転する吊枠を組み合わせて実現してもよい。また、ベアリングによる回転機構を使ってもよく、実現方法は特に問わない。
カゴ部62は、上側が開放された容器であり、内部には撮影台63が備え付けられている。上述のように、カゴ部62はジンバル機構61によって位置調整される。
撮影台63は、円盤状の台であり、円盤の中心を通る軸について、回転することができる。図16では、撮影台63の回転軸が破線で示されている。撮影台63の回転動作は、撮影台63の下に設置されたモーターやロータリアクチュエータなどによって実現される。図16左側および図16右側の撮影台63には、コーヒーカップ60が設置されている。撮影台63の角度が変わった際に撮影対象の物体が動いてしまわないよう、撮影台63の表面に滑り防止加工を施したり、物体の位置を固定する機構を設けてもよい。
撮像部64は、ジンバル機構61が形成する半球の中心部の直上に設置される。撮像部64は固定されていても、向きや位置を調整できるものであってもよい。例えば、撮像部64のレンズの反対側に位置する基部に三軸回転機構を設けることができる。撮像部64は三次元画像センサを内部に備え、距離画像を撮影するカメラである。撮像部64の三次元画像センサは、ToF方式のセンサであってもよいし、RGB−D方式のセンサであってもよいし、その他の方式のセンサであってもよい。
図17は、コーヒーカップの多視点距離画像の例を示す図である。図17の画像は、学習に使われる複数の画像を例示している。図17には、コーヒーカップの設置角度を変更された画像が含まれている。例えば、画像70〜73はコーヒーカップ自体の角度が傾けられている。第1の変形例に係る三次元撮影装置を使うと、このような物体自体を傾斜させた画像を撮影することができる。
また、図17には高さと幅の比率や大きさが変更されたコーヒーカップのバリエーションが含まれている。例えば、画像80〜82は高さが低くなったコーヒーカップである。一方、画像83〜85には高さの比率が大きくされたコーヒーカップが示されている。画像84、85では、コーヒーカップの大きさが縮小されている。さらに画像86、87は幅の比率が大きくされたコーヒーカップである。
このように、同じコーヒーカップに係る形状でありながら、縦横の比率や縮尺を変更した画像を教師データに用いることにより、認識対象のコーヒーカップの寸法にある程度の幅があっても認識可能なモデルの学習が実現される。
実際に縦横の比率や大きさが異なる複数のコーヒーカップを用意し、それらを用いて距離画像の撮影を行ってもよいが、用意するコーヒーカップは1つのみであってもよい。例えば、現実のコーヒーカップの距離画像に対して伸縮、拡大、縮小などの操作を行えば、コーヒーカップのバリエーションに係る画像を用意できる。
現実に撮影された距離画像の数に限りがある場合、既存の距離画像を加工して新しい距離画像を作ることができる。このように、学習精度の向上を目的に、距離画像の数を増やす手法をデータ拡張(Data Augmentation)と呼ぶ。データ拡張の例としては、上述の操作の他に平行移動、回転、鏡面反転、濃淡の変更、色の変更、ランダムノイズの追加、ぼかし補正などがある。
図18は、コーヒーカップの把持位置を示す抽出画像の例を示している。図18のそれぞれの画像は図17の画像にそれぞれ対応している。図17の画像中の三次元点群情報より、三次元モデルを作成した後、当該三次元モデルに係る画像中の把持位置に相当する座標のみをラベリングしたため、図18は白黒画像となっている。
図19は、任意のコーヒーカップで把持位置を推定した例を示している。図19左側は、三次元CADソフトウェアなどで作成した入力画像である。図19右側は、深層学習を用いて把持位置を推定した結果である。三次元CADソフトウェアなどで作成した入力画像を使っても、把持位置が推定できていることがわかる。
(第2の変形例)
上述の三次元撮影装置は、いずれも撮像部(カメラ)の数が1つであったが、撮像部(カメラ)の数が複数であってもよい。第2の変形例に係る三次元撮影装置は、複数の撮像部(カメラ)を備えている。三次元撮影装置を除く、第2の変形例に係るシステムのその他の部分の構成は、第1の実施形態に係るシステムと同様である。以下では第1の実施形態との差異点を中心に説明をする。
図20は第2の変形例に係る三次元撮影装置の構成例を示している。図20では、コーヒーカップ91が撮影対象の物体となっている。第2の変形例に係る三次元撮影装置は、撮影台90と、カメラ支持部材92と、撮像部100〜108とを備えている。
撮影台90は、円盤状の台であり、円盤の中心を通る軸について、回転することができる。図20では、撮影台90の回転軸が破線で示されている。撮影台90の回転動作は、撮影台90の下に設置されたモーターやロータリアクチュエータなどによって実現される。図20では、撮影台63の上にコーヒーカップ91が設置されている。
カメラ支持部材92は、円弧状の構造物であり、複数の三次元画像センサ(カメラ)を支持することができる。図20の例では、カメラ支持部材92は半円状となっている。他の構成要素との位置関係をみると、カメラ支持部材92が形成する半円の中心に、撮影台90が配置され、撮影対象の物体が置かれる。図20の例では、カメラ支持部材92が形成する半円の中心部からみて約45度間隔で複数の撮像部が配置されているが、撮像部の設置間隔と個数はこれと異なっていてもよい。
撮像部100〜108は、三次元画像センサを備えたカメラである。それぞれのカメラは、撮影対象の物体からの角度が少しずつずれているため、それぞれのカメラで異なるアングルからの距離画像を撮影することができる。撮像部100〜108の三次元画像センサは、ToF方式のセンサであってもよいし、RGB−D方式のセンサであってもよいし、その他の方式のセンサであってもよい。
第2の変形例に係る三次元撮影装置では、駆動部分が撮影台90の回転機構のみとなっており、機械的な構造が単純化されている。したがって、機械のメンテナンスコストが軽減される利点がある。また、複数の撮像部100〜108で一斉に撮影を行うことができるため、多視点の距離画像の撮影に要する時間を短縮することができる。
(第2の実施形態)
第1の実施形態では、荷役作業への応用を例に、画像認識を行うシステムを説明した。上述のような画像認識技術は、荷役作業以外の分野においても適用することができる。画像認識の対象は動物や人間など、様々な姿勢をとることができる生物であってもよい。
第2の実施形態に係る三次元撮影装置、画像処理装置、特徴学習装置の構成は第1の実施形態と同様である。第2の実施形態に係るシステムは、ロボットの代わりに、画像認識部を備えている。第2の実施形態に係る画像認識部は、三次元画像センサを有するカメラにより撮影された距離画像を使って、物体検出や物体領域抽出を行う。第1の実施形態では、物体領域抽出や画像認識の対象となった物体の特定部位は物品の把持位置(領域)であったが、その他の部位の物体領域抽出や画像認識を行ってもよい。第2の実施形態では、人間や動物の身体の一部を、特定対象の部位(特定部位)として物体領域抽出と画像認識をする。
また、第2の実施形態に係る物体検出モデルと物体領域抽出モデルの作成処理は、第1の実施形態と同様である。第2の実施形態に係る画像認識部は、学習されたモデルを使って画像認識を行う。カメラに一体となった監視装置などが画像認識部を備えていてもよいし、計算機など情報処理装置が画像認識部を備えていてもよく、画像認識部の配置は特に問わない。また、三次元画像センサを有するカメラは1台ではなく、複数台あってもよい。
図21は、人形について物体領域抽出を行った例を示している。図21の例では、人形の手に相当する領域を抽出対象としている。手を領域推定の対象としたのは一例であり、顔、足など他の部位を領域推定の対象にしてもよい。また、図21の人形は起立姿勢をとっているが、着座姿勢、臥位姿勢、競技中の姿勢の人形を使って学習を行ってもよい。様々な姿勢の人形を使って、モデルを学習することにより、起立姿勢にない人間も画像認識の対象にすることができる。
大型の三次元撮影装置を使って、現実の人間について多視点の距離画像を撮影してもよい。しかし、画像認識の対象物のサイズと、学習用画像の撮影に使われる物のサイズは異なっていてもよいため、小型の模型を使って学習用の画像を用意することができる。したがって、大型の三次元撮影装置がない場合には、三次元造形装置(3Dプリンタ)を使って、縮尺を小さくした人間の模型を作成し、当該模型を撮影することもできる。
人間の画像は、公共的な場所に設置された監視カメラや、競技場に設置された分析用のカメラなどを使って撮影することができる。まず、学習した物体検出モデルにより、人間の姿勢を推定する。その後、物体領域抽出モデルにより、人間の身体の特定部位の位置を推定する。この処理を周期的に行うことにより、身体の各部位の動きに関する情報を得ることができる。これにより、不審な動きをしている人間を検出したり、スポーツ競技の選手の動きを分析することができる。
(第3の実施形態)
第3の実施形態では、上述の画像認識を行うシステムを自動車の監視に適用する。第3の実施形態に係る三次元撮影装置、画像処理装置、特徴学習装置の構成は第1の実施形態と同様である。第3の実施形態に係るシステムは、ロボットの代わりに、画像認識部を備えている。第3の実施形態に係る画像認識部は、三次元画像センサを有するカメラにより撮影された距離画像を使って、物体検出や物体領域抽出を行う。第3の実施形態では、自動車など移動体の一部を、特定対象の部位(特定部位)として、物体領域抽出と画像認識をする。
また、第3の実施形態に係る物体検出モデルと物体領域抽出モデルの作成処理は、第1の実施形態と同様である。第3の実施形態に係る画像認識部は、学習されたモデルを使って画像認識を行う。カメラに一体となった監視装置などが画像認識部を備えていてもよいし、計算機など情報処理装置が画像認識部を備えていてもよく、画像認識部の配置は特に問わない。また、三次元画像センサを有するカメラは1台ではなく、複数台あってもよい。
図22は、自動車について物体領域抽出を行った例を示している。図22の例では、屋根、フロントガラス、サイドガラス、リアガラスなどを備えた自動車の上部に相当する領域を抽出対象としている。自動車の上部を領域推定の対象としたのは一例であり、ナンバープレート、運転席にいる運転手などを領域推定の対象としてもよい。
自動車の場合、設計データをもとに、縮尺を小さくした模型を三次元造形装置(3Dプリンタ)などで作成し、当該模型を使って、多視点の距離画像を撮影することができる。多視点の距離画像と、それぞれの距離画像に対応する抽出画像に基づき、教師データが作成される。
教師データを特定のモデルごとに用意してもよいが、より大まかな分類ごとに教師データを作ってもよい。例えば、セダン、軽自動車、ワゴン、クーペ、ワンボックスカー、トラック、バスなど自動車の車種のそれぞれについて、教師データを作成することができる。
第3の実施形態に係る画像認識システムは、例えば、道路の監視カメラにより撮影された画像に対して適用することができる。領域抽出の用途としては、例えば交通違反をした自動車のナンバープレート、運転手の特徴などの検出が挙げられる。
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
10 三次元撮影装置
11、64、100、101、102、103、104、105、106、107、108 撮像部
12 アーム
13 画像記憶部
14、63、90 撮影台
15 アクチュエータ
16 撮影制御部
20 画像処理装置
21 画角同期部
22 CADモデル生成部
22a 把持位置特定部
23 CADモデル記憶部
24 表示部
25 入力部
30 特徴学習装置
31 学習部
32 学習モデル記憶部
33 モデル更新部
40 ロボット
41 ロボットハンド
41a 2指グリッパ
41b 吸盤
42 カメラ
43 モデル記憶部
44 画像認識部
50 カゴ
60、91 コーヒーカップ
61 ジンバル機構
62 カゴ部
70、71、72、73、80、81、82、83、84、86、87 画像
92 カメラ支持部材

Claims (12)

  1. 複数のアングルで物体の第1距離画像を撮像可能な撮像部と、
    前記第1距離画像に基づいて前記物体の三次元モデルを生成し、前記三次元モデルに基づいて前記複数のアングルに対応する前記物体の特定部位を示す抽出画像を生成する生成部と、
    前記複数のアングルに係る前記抽出画像と、前記複数のアングルに係る前記第1距離画像に基づき、任意の第2距離画像における前記特定部位の位置を推定可能な第1モデルを生成し、前記複数の第1距離画像に基づき、前記第2距離画像における前記物体を検出可能な第2モデルを生成し、前記第1モデルと前記第2モデルは同一の前記物体に対応している、学習部と、
    あるアングルで撮像された前記第2距離画像において、前記第2モデルを適用し、前記物体が検出された場合に、前記第1モデルを適用して、前記物体の前記特定部位の位置を推定する、画像認識部と、
    を備えた情報処理装置。
  2. 前記生成部は、前記三次元モデルに基づき、前記物体内における相対的な位置、前記物体の表面平坦部分の面積、前記物体の縁部の厚さのうち少なくとも1つを含む条件を満たす前記物体の部位を見つけ、前記物体の前記特定部位に設定する、
    請求項1に記載の情報処理装置。
  3. 前記撮像部は、前記複数のアングルで前記物体のカラー画像を撮像可能であり、
    前記生成部は、前記複数の第1距離画像と同一アングルに係る複数のカラー画像に基づき、前記物体の特定部位の設定を行う、
    請求項1または2に記載の情報処理装置。
  4. 前記生成部は、前記複数の第1距離画像のいずれかに伸縮操作、回転操作の少なくともいずれかを行うことにより、新しい第1距離画像を生成する、
    請求項1ないし3のいずれか一項に記載の情報処理装置。
  5. 前記学習部は、複数の前記物体に係る前記第1モデルと前記第2モデルの組み合わせをそれぞれ生成する、
    請求項1ないし4のいずれか一項に記載の情報処理装置。
  6. 前記学習部の少なくとも前記第1モデルの生成または前記第2モデルの生成のいずれかにおいて、誤差逆伝播法によるニューラルネットワークが使われる、
    請求項に記載の情報処理装置。
  7. 前記画像認識部は、あるアングルで撮像された前記第2距離画像において、いずれかの前記第2モデルを適用し、前記物体が検出された場合に、前記物体が検出された前記第2モデルと同一の前記物体に対応している前記第1モデルを適用して、前記物体の前記特定部位の位置を推定する、
    請求項5または6に記載の情報処理装置。
  8. 前記生成部は、ロボットハンドが前記物体を把持する位置を、前記物体の前記特定部位に設定し、
    前記画像認識部は、推定された前記物体の前記特定部位の位置情報を、前記ロボットハンドに、制御情報として提供する、
    請求項1ないし7のいずれか一項に記載の情報処理装置。
  9. 前記第1距離画像、前記三次元モデル、前記抽出画像、前記第1モデル、前記第2モデルのうち少なくともいずれかを表示可能な表示部
    を備えた請求項1ないし8のいずれか一項に記載の情報処理装置。
  10. ある物体について、複数のアングルで撮影された複数の第1距離画像から三次元モデルを生成するステップと、
    前記複数のアングルのうち、いずれかのアングルについて、前記物体の特定部位の領域を表す情報を取得し、前記三次元モデルと、取得された前記情報から、前記物体の特定部位の位置を示す抽出画像を、前記複数のアングルのそれぞれで生成するステップと、
    前記複数のアングルに係る前記第1距離画像と、前記複数のアングルに係る前記抽出画像に基づき、任意の第2距離画像における前記特定部位の位置を推定可能な第1モデルを生成するステップと、
    前記複数の第1距離画像に基づき、前記第2距離画像における前記物体を検出可能な第2モデルを生成し、前記第1モデルと前記第2モデルは同一の前記物体に対応している、ステップと、
    あるアングルで撮像された前記第2距離画像において、前記第2モデルを適用し、前記物体が検出された場合に、前記第1モデルを適用して、前記物体の前記特定部位の位置を推定する、ステップと、
    を備える画像認識方法。
  11. ある物体について、複数のアングルで撮影された複数の第1距離画像から三次元モデルを生成するステップと、
    前記複数のアングルのうち、いずれかのアングルについて、前記物体の特定部位の領域を表す情報を取得し、前記三次元モデルと、取得された前記情報から、前記物体の特定部位の位置を示す抽出画像を、前記複数のアングルのそれぞれで生成するステップと、
    前記複数のアングルに係る前記第1距離画像と、前記複数のアングルに係る前記抽出画像に基づき、任意の第2距離画像における前記特定部位の位置を推定可能な第1モデルを生成するステップと、
    前記複数の第1距離画像に基づき、前記第2距離画像における前記物体を検出可能な第2モデルを生成し、前記第1モデルと前記第2モデルは同一の前記物体に対応している、ステップと、
    あるアングルで撮像された前記第2距離画像において、前記第2モデルを適用し、前記物体が検出された場合に、前記第1モデルを適用して、前記物体の前記特定部位の位置を推定する、ステップと、
    をコンピュータに実行させる画像認識プログラム。
  12. 複数のアングルで物体の第1距離画像を撮像可能な撮像部と、
    前記第1距離画像に基づいて前記物体の三次元モデルを生成し、前記三次元モデルに基づいて前記複数のアングルに対応する前記物体の特定部位を示す抽出画像を生成する生成部と、
    を備え、
    前記生成部は、前記物体の縁部の厚さを含む条件を満たす前記物体の部位を見つけ、前記物体の前記特定部位に設定する、
    情報処理装置。
JP2017179454A 2017-09-19 2017-09-19 情報処理装置、画像認識方法および画像認識プログラム Active JP6822929B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017179454A JP6822929B2 (ja) 2017-09-19 2017-09-19 情報処理装置、画像認識方法および画像認識プログラム
US15/902,048 US10755437B2 (en) 2017-09-19 2018-02-22 Information processing device, image recognition method and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017179454A JP6822929B2 (ja) 2017-09-19 2017-09-19 情報処理装置、画像認識方法および画像認識プログラム

Publications (2)

Publication Number Publication Date
JP2019056966A JP2019056966A (ja) 2019-04-11
JP6822929B2 true JP6822929B2 (ja) 2021-01-27

Family

ID=65720564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017179454A Active JP6822929B2 (ja) 2017-09-19 2017-09-19 情報処理装置、画像認識方法および画像認識プログラム

Country Status (2)

Country Link
US (1) US10755437B2 (ja)
JP (1) JP6822929B2 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9868212B1 (en) * 2016-02-18 2018-01-16 X Development Llc Methods and apparatus for determining the pose of an object based on point cloud data
US10473919B2 (en) * 2017-12-29 2019-11-12 Konica Minolta Laboratory U.S.A., Inc. Portable 3D scanning system for 3D surface reconstruction
WO2019183141A1 (en) * 2018-03-21 2019-09-26 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
WO2020054498A1 (ja) * 2018-09-13 2020-03-19 ソニー株式会社 情報処理装置、端末装置、情報処理システム、情報処理方法及びプログラム
EP3695941B1 (en) * 2019-02-15 2022-04-13 Siemens Aktiengesellschaft Computerized system and method using different image views to find grasp locations and trajectories for robotic pick up
JP7179672B2 (ja) * 2019-04-24 2022-11-29 株式会社日立製作所 計算機システム及び機械学習方法
US20200342309A1 (en) * 2019-04-26 2020-10-29 K2Ai, LLC Sensor array for generating network learning populations using limited sample sizes
WO2020242047A1 (en) * 2019-05-30 2020-12-03 Samsung Electronics Co., Ltd. Method and apparatus for acquiring virtual object data in augmented reality
JP6618162B1 (ja) * 2019-06-06 2019-12-11 クリスタルメソッド株式会社 評価装置、及び評価システム
US11361505B2 (en) * 2019-06-06 2022-06-14 Qualcomm Technologies, Inc. Model retrieval for objects in images using field descriptors
JP7344289B2 (ja) * 2019-06-14 2023-09-13 富士フイルム株式会社 点群データ処理装置、点群データ処理方法及びプログラム
CN110363811B (zh) * 2019-06-21 2022-02-08 达闼机器人有限公司 用于抓取设备的控制方法、装置、存储介质及电子设备
US11491658B2 (en) * 2019-07-23 2022-11-08 Toyota Research Institute, Inc. Methods and systems for automatically annotating items by robots
JP7309506B2 (ja) * 2019-07-29 2023-07-18 京セラ株式会社 画像処理システム、機械学習器、撮像装置及び学習方法
WO2021020305A1 (ja) * 2019-07-29 2021-02-04 京セラ株式会社 画像処理システム、機械学習器、画像処理器及び撮像装置
WO2021038844A1 (ja) * 2019-08-30 2021-03-04 日本電気株式会社 情報処理装置、制御方法及び記憶媒体
JP6695534B1 (ja) * 2019-09-27 2020-05-20 AI inside株式会社 情報処理システム、情報処理方法及び情報処理プログラム
JP7347090B2 (ja) * 2019-10-02 2023-09-20 株式会社大林組 鉄筋推定システム、鉄筋推定方法及び鉄筋推定プログラム
JP7458741B2 (ja) * 2019-10-21 2024-04-01 キヤノン株式会社 ロボット制御装置及びその制御方法及びプログラム
JP7376318B2 (ja) 2019-10-30 2023-11-08 ファナック株式会社 アノテーション装置
JP7273692B2 (ja) * 2019-11-01 2023-05-15 株式会社東芝 制御装置、制御方法およびプログラム
US11454978B2 (en) * 2019-11-07 2022-09-27 Naver Corporation Systems and methods for improving generalization in visual navigation
US11724401B2 (en) * 2019-11-13 2023-08-15 Nvidia Corporation Grasp determination for an object in clutter
EP3828828A1 (en) 2019-11-28 2021-06-02 Robovision Improved physical object handling based on deep learning
US20210166477A1 (en) * 2019-12-03 2021-06-03 Augustus Intelligence Inc. Synthesizing images from 3d models
CN111046948B (zh) * 2019-12-10 2022-04-22 浙江大学 点云仿真和深度学习的工件位姿识别及机器人上料方法
WO2021131103A1 (ja) * 2019-12-24 2021-07-01 ヌヴォトンテクノロジージャパン株式会社 距離画像処理装置及び距離画像処理方法
JP7396040B2 (ja) 2019-12-27 2023-12-12 日本電気株式会社 画像分析装置、画像分析方法及びコンピュータプログラム
CN111259850B (zh) * 2020-01-23 2022-12-16 同济大学 一种融合随机批掩膜和多尺度表征学习的行人重识别方法
CN115210049A (zh) * 2020-03-05 2022-10-18 发那科株式会社 取出系统以及方法
CN111504192B (zh) * 2020-05-07 2021-08-27 东华大学 一种基于机器视觉的压缩机外观检测方法
WO2022024877A1 (ja) 2020-07-27 2022-02-03 ファナック株式会社 情報処理装置、及び情報処理方法
US11597078B2 (en) * 2020-07-28 2023-03-07 Nvidia Corporation Machine learning control of object handovers
JP7481205B2 (ja) 2020-08-26 2024-05-10 川崎重工業株式会社 ロボットシステム、ロボットの制御方法、情報処理装置、コンピュータプログラム、学習装置、及び学習済みモデルの生成方法
WO2022045297A1 (ja) * 2020-08-28 2022-03-03 株式会社安川電機 作業システム、機械学習装置、作業方法及び機械学習方法
CN116210026A (zh) 2020-09-28 2023-06-02 发那科株式会社 拍摄条件调整装置以及拍摄条件调整方法
WO2022137509A1 (ja) * 2020-12-25 2022-06-30 日本電気株式会社 物体認識装置、物体認識方法、非一時的なコンピュータ可読媒体及び物体認識システム
JP6964827B1 (ja) * 2021-01-12 2021-11-10 三菱電機株式会社 制御装置、ロボットシステムおよび制御方法
WO2022172746A1 (ja) * 2021-02-09 2022-08-18 パナソニックIpマネジメント株式会社 衣類処理装置、衣類処理方法、検出方法、及び学習装置
EP4060612A1 (en) 2021-03-17 2022-09-21 Robovision Improved orientation detection based on deep learning
EP4060608A1 (en) 2021-03-17 2022-09-21 Robovision Improved vision-based measuring
IT202100014645A1 (it) * 2021-06-04 2022-12-04 Rome C M S R L Metodo e sistema di modellizzazione in 3D
US20220405506A1 (en) * 2021-06-22 2022-12-22 Intrinsic Innovation Llc Systems and methods for a vision guided end effector
CN117651971A (zh) * 2021-07-15 2024-03-05 京瓷株式会社 识别模型生成方法以及识别模型生成装置
WO2023058092A1 (ja) * 2021-10-04 2023-04-13 日揮株式会社 構造物表示システム、構造物表示方法、プログラム
US20240104880A1 (en) 2021-12-27 2024-03-28 Rakuten Group, Inc. Information processing apparatus and method
CN114485434B (zh) * 2022-01-27 2022-10-21 南京航空航天大学 基于多目测距的柔性三维织造装备导向棒安装检测方法
WO2023228810A1 (ja) * 2022-05-24 2023-11-30 村田機械株式会社 物品認識システム、および物品認識装置
WO2024038505A1 (ja) * 2022-08-16 2024-02-22 日本電気株式会社 映像処理装置、映像処理システム及び映像処理方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065242B2 (en) * 2000-03-28 2006-06-20 Viewpoint Corporation System and method of three-dimensional image capture and modeling
US8503763B2 (en) * 2008-01-04 2013-08-06 3M Innovative Properties Company Image signatures for use in motion-based three-dimensional reconstruction
JP5227639B2 (ja) * 2008-04-04 2013-07-03 富士フイルム株式会社 オブジェクト検出方法、オブジェクト検出装置、およびオブジェクト検出プログラム
US8433128B2 (en) * 2008-11-04 2013-04-30 Omron Corporation Method of creating three-dimensional model and object recognizing device
JP5044582B2 (ja) 2009-02-06 2012-10-10 日本放送協会 撮影カメラ学習装置及びそのプログラム
US8306314B2 (en) 2009-12-28 2012-11-06 Mitsubishi Electric Research Laboratories, Inc. Method and system for determining poses of objects
JP5275373B2 (ja) 2011-01-12 2013-08-28 株式会社東芝 画像認識装置、画像認識方法及びプログラム
JP6016716B2 (ja) * 2013-06-12 2016-10-26 三菱電機株式会社 ビンピッキング性能評価装置及び方法
JP6266238B2 (ja) 2013-07-03 2018-01-24 クラリオン株式会社 接近物検出システム、及び車両
JP6305213B2 (ja) 2014-05-29 2018-04-04 株式会社東芝 取出装置および方法
EP3662839B1 (en) * 2014-09-16 2023-07-19 Sirona Dental, Inc. Methods, systems, apparatuses, and computer programs for processing tomographic images
JP2016077346A (ja) * 2014-10-10 2016-05-16 セイコーエプソン株式会社 運動支援システム、運動支援方法、及び運動支援プログラム
JP2016119499A (ja) 2014-12-18 2016-06-30 貞二 森田 全周囲画像自動撮影システム
JP6403201B2 (ja) 2014-12-22 2018-10-10 Kddi株式会社 画像特徴量登録装置、方法及びプログラム
JP6486114B2 (ja) 2015-01-16 2019-03-20 株式会社東芝 荷役装置
JP6663285B2 (ja) 2015-08-28 2020-03-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像生成方法及び画像生成システム
US9965881B2 (en) 2015-08-28 2018-05-08 Panasonic Intellectual Property Corporation Of America Method for generating image and image generation system

Also Published As

Publication number Publication date
JP2019056966A (ja) 2019-04-11
US20190087976A1 (en) 2019-03-21
US10755437B2 (en) 2020-08-25

Similar Documents

Publication Publication Date Title
JP6822929B2 (ja) 情報処理装置、画像認識方法および画像認識プログラム
US11436437B2 (en) Three-dimension (3D) assisted personalized home object detection
CN111328396B (zh) 用于图像中的对象的姿态估计和模型检索
US11276194B2 (en) Learning dataset creation method and device
US11295475B2 (en) Systems and methods for pose detection and measurement
EP3258441B1 (en) Template creation device and template creation method
US11954886B2 (en) Systems and methods for six-degree of freedom pose estimation of deformable objects
JP7329143B2 (ja) 偏光キューを用いた透明な物体のセグメンテーションのためのシステム及び方法
JP7438320B2 (ja) クロスモーダルセンサデータの位置合わせ
JPWO2018116589A1 (ja) 産業機器用の画像認識プロセッサ及びコントローラ
CN107953329A (zh) 物体识别和姿态估计方法、装置及机械臂抓取系统
US20220410381A1 (en) Systems and methods for picking objects using 3-d geometry and segmentation
CN116110041A (zh) 用于物体检测的系统和方法
JP7051751B2 (ja) 学習装置、学習方法、学習モデル、検出装置及び把持システム
JP6922605B2 (ja) 3次元物体検出装置、ロボット、及びプログラム
Chen et al. Estimating finger grip force from an image of the hand using convolutional neural networks and gaussian processes
Zhang et al. Three dimensional object segmentation based on spatial adaptive projection for solid waste
KR20220067719A (ko) 딥러닝과 마커를 이용한 비전인식을 통한 로봇 제어장치 및 그 방법
Hasan et al. 2D geometric object shapes detection and classification
US11961281B1 (en) Training and using computer vision model for item segmentations in images
Liang et al. Visual reconstruction and localization-based robust robotic 6-DoF grasping in the wild
Martinson Interactive training of object detection without imagenet
Le et al. Geometry-Based 3D Object Fitting and Localizing in Grasping Aid for Visually Impaired
US12008796B2 (en) Systems and methods for pose detection and measurement
JP7408107B2 (ja) 物体取り扱いを伴うロボットシステムのためのシステム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210107

R151 Written notification of patent or utility model registration

Ref document number: 6822929

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151