(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-14
(45)【発行日】2023-12-22
(54)【発明の名称】物体認識モデルの流用可否を判定するシステム。
(51)【国際特許分類】
G06T 7/00 20170101AFI20231215BHJP
G06T 7/20 20170101ALI20231215BHJP
【FI】
G06T7/00 350B
G06T7/20
(21)【出願番号】P 2020024476
(22)【出願日】2020-02-17
【審査請求日】2022-08-29
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】坂井 亮
(72)【発明者】
【氏名】木村 宣隆
【審査官】佐藤 実
(56)【参考文献】
【文献】米国特許出願公開第2012/0134532(US,A1)
【文献】上野洋典 他1名,効率的な転移学習のための学習モデル構築およびモデル選択手法,情報処理学会研究報告,情報処理学会,2018年06月07日,Vol.2018-ARC-231 No.11
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
(57)【特許請求の範囲】
【請求項1】
1以上のプロセッサと、
1以上の記憶装置と、を含み、
前記1以上の記憶装置は、
対象物体を含む画像時系列と、
前記対象物体と異なる1以上の物体について学習済みの物体認識モデルと、を格納し、
前記物体認識モデルは、入力された画像における前記1以上の物体の位置及び姿勢を推定し、
前記1以上のプロセッサは、
前記物体認識モデルによる前記画像時系列における前記対象物体の認識結果から、前記対象物体の
位置の軌跡及び姿勢の軌跡を取得し、
前記位置の軌跡の速度に基づく前記位置の軌跡の時系列整合性、及び、前記姿勢の軌跡の角速度に基づく前記姿勢の軌跡の時系列整合性を判定し、
前記位置の軌跡の時系列整合性及び前記姿勢の軌跡の時系列整合性に基づき、前記物体認識モデルの前記対象物体への流用可否を判定する、システム。
【請求項2】
1以上のプロセッサと、
1以上の記憶装置と、を含み、
前記1以上の記憶装置は、
対象物体を含む画像時系列と、
前記対象物体と異なる1以上の物体について学習済みの物体認識モデルと、を格納し、
前記物体認識モデルは、入力された画像における前記1以上の物体の位置及び姿勢を推定し、
前記1以上のプロセッサは、
前記物体認識モデルによる前記画像時系列における前記対象物体の認識結果から、前記対象物体の位置の軌跡及び姿勢の軌跡を取得し、
前記画像時系列から、前記物体認識モデルを使用することなく、前記対象物体の位置の軌跡及び姿勢の軌跡を算出し、
算出された前記対象物体の位置の軌跡及び姿勢の軌跡と前記物体認識モデルの認識結果から得られた前記対象物体の位置の軌跡及び姿勢の軌跡との比較結果に基づき、前記物体認識モデルの前記対象物体への流用可否を判定する、システム。
【請求項3】
請求項1又は2に記載のシステムであって、
前記1以上のプロセッサは、前記物体認識モデルによる前記対象物体の位置の軌跡及び姿勢の軌跡の少なくとも一方が所定条件から外れる場合に、前記物体認識モデルの前記対象物体への流用不可と判定する、システム。
【請求項4】
請求項1
又は2に記載のシステムであって、
前記1以上のプロセッサは、
前記物体認識モデルによる前記対象物体の
位置の軌跡
及び姿勢の軌跡が所定の第1条件を満たしている場合、前記物体認識モデルの前記対象物体への流用を可能と判定し、
前記対象物体の
位置の軌跡
及び姿勢の軌跡が前記第1条件を満たし、前記第1条件より厳しい所定の第2条件を満たしていない場合に、前記物体認識モデルの学習のために、前記物体認識モデルが学習済みの物体モデルを修正して前記対象物体の物体モデルを生成すると判定し、
前記対象物体の
位置の軌跡
及び姿勢の軌跡が前記第2条件を満たしている場合に、前記物体認識モデルの学習なく、前記物体認識モデルを前記対象物体の認識に流用すると判定する、システム。
【請求項5】
請求項4に記載のシステムであって、
前記1以上のプロセッサは、
前記対象物体の
位置の軌跡
及び姿勢の軌跡において、所定の第3条件から外れている画像を特定し、
特定された前記画像を使用して前記物体認識モデルが学習済みの物体モデルを修正する、システム。
【請求項6】
請求項2に記載のシステムであって、
前記1以上のプロセッサは、前記画像時系列から前記対象物体の3次元形状を復元し、復元した前記3次元形状の動きから、前記物体認識モデルを使用することなく前記対象物体の位置の軌跡及び姿勢の軌跡を算出する、システム。
【請求項7】
請求項2に記載のシステムであって、
前記画像時系列に含まれる画像は、前記対象物体の像と共に基準物体の像を含み、
前記1以上のプロセッサは、前記画像時系列における前記基準物体の動きの軌跡に基づいて、前記物体認識モデルを使用することなく前記対象物体の位置の軌跡及び姿勢の軌跡を算出する、システム。
【請求項8】
システムが、学習済みの物体認識モデルの対象物体への流用可否を判定する方法であって、
前記物体認識モデルは、入力された画像において前記対象物体と異なる1以上の物体の位置及び姿勢を推定するように学習済みであり、
前記方法は、
前記システムが、前記対象物体を含む画像時系列における前記物体認識モデルによる前記対象物体の認識結果から、前記対象物体の位置の軌跡及び姿勢の軌跡を取得し、
前記システムが、前記位置の軌跡の速度に基づく前記位置の軌跡の時系列整合性、及び、前記姿勢の軌跡の角速度に基づく前記姿勢の軌跡の時系列整合性を判定し、
前記システムが、前記位置の軌跡の時系列整合性及び前記姿勢の軌跡の時系列整合性に基づき、前記物体認識モデルの前記対象物体への流用可否を判定する、方法。
【請求項9】
システムが、学習済みの物体認識モデルの対象物体への流用可否を判定する方法であって、
前記物体認識モデルは、入力された画像において前記対象物体と異なる1以上の物体の位置及び姿勢を推定するように学習済みであり、
前記方法は、
前記システムが、前記対象物体を含む画像時系列における前
記物体認識モデルによる前記対象物体の認識結果から、前記対象物体の
位置の軌跡及び姿勢の軌跡を取得し、
前記システムが、前記画像時系列から、前記物体認識モデルを使用することなく、前記対象物体の位置の軌跡及び姿勢の軌跡を算出し、
前記システムが、
算出された前記対象物体の位置の軌跡及び姿勢の軌跡と前記物体認識モデルの認識結果から得られた前記対象物体の位置の軌跡及び姿勢の軌跡との比較結果に基づき、前
記物体認識モデルの前記対象物体への流用可否を判定する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体認識モデルの流用可否を判定するシステム、に関する。
【背景技術】
【0002】
機械学習を利用した物体認識技術は、例えば、物流現場におけるロボットアームによる商品仕分けのように、様々な分野で利用されている。物体認識モデルは、物体とその姿勢を表現する特徴量を学習し、シーン画像内のエリアから得られた特徴量からその物体の位置と姿勢を推定する。
【0003】
物体認識モデルの効率的な学習の一つの方法は、シミュレーションを利用する。シミュレーションにより適切に学習するためには、物体の正しい3Dモデルが必要となる。3Dモデルを効率的に生成する手法は、例えば、特許文献1(特開平8-233556号公報)に開示されている。
【0004】
この公報には、「撮像手段1と、撮像手段1により撮像された所定視点位置からの被写体画像が記憶される第1の画像記憶手段3と、撮像された被写体画像に最も近い視点位置からの対象物画像を標準3次元形状モデルを基に生成する3次元形状モデル記憶手段2と、この生成された対象物画像が記憶される第2の画像記憶手段4と、各画像記憶手段に記憶された被写体画像と対象物画像との差異を抽出する差異抽出手段5と、抽出された差異を基に標準3次元形状モデルを修整する形状モデル修整手段とを有する。被写体の代表的な形状モデルである標準3次元形状モデルを被写体画像と対象物画像との差異を基に修整
することにより、被写体の形状モデルを復元する。」と記載されている(要約参照)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
新規物体の認識モデルは、他の物体の学習済み認識モデルの転移学習により、少ない学習用データと学習処理により、効率的に生成することができる。しかし、転移学習により新規物体の認識モデルを再構成するためには、適切な学習済み認識モデルを選択することが重要である。
【0007】
また、シミュレーションにより物体認識モデルの学習を行う場合、特許文献1に記載の技術のように、既存物体モデルを修正することで、新規物体モデルを効率的に生成できる。しかし、既存物体モデルから新規物体モデルを正確かつ効率的に生成するためには、認識モデルによる認識の観点から、新規物体に類似する既存物体のモデルを選択し、それらの間の差異の情報を既存物体モデルに適切に反映することが重要である。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明の一態様は以下の構成を採用する。
システムは、1以上のプロセッサと、1以上の記憶装置と、を含む。前記1以上の記憶装置は、対象物体を含む画像時系列と、前記対象物体と異なる1以上の物体について学習済みの物体認識モデルと、を格納する。前記1以上のプロセッサは、前記物体認識モデルによる前記画像時系列における前記対象物体の認識結果から、前記対象物体の動きの軌跡を取得し、前記対象物体の動きの軌跡に基づき、前記物体認識モデルの前記対象物体への流用可否を判定する。
【発明の効果】
【0009】
本発明の一態様によれば、対象物体に対する他の物体の学習済み認識モデルの流用の可否を判定できる。上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】一実施例にかかるシステムの動作の概要を示す。
【
図2】一実施例にかかるシステムに含まれる計算機のハードウェア構成例を示すブロック図である。
【
図3】一実施例にかかるシステムの機能構成例を示すブロック図である。
【
図4】
図3に示す一実施例のシステムの動作の概要のフローチャートを示す。
【
図5】流用可否判定部203による判定方法の例のフローチャートを示す。
【
図6】認識モデルによる認識位置の軌跡の例を示す。
【
図7】認識モデルによる認識姿勢(ベクトルの座標)の軌跡の例を示す。
【
図8】流用可否判定部203による判定方法の他の例のフローチャートを示す。
【
図9】3Dモデル修正処理の例を示す説明図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施例を図面に基づいて詳細に説明する。以下の説明において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、以下に説明する実施例は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【0012】
図1は、一実施例にかかるシステムの動作の概要を示す。システムは、対象物体Aの認識モデル(人工知能(AI)モデル)を、他の物体Xの学習済み認識モデルを流用して、または、未学習の認識モデルを対象物体Aについて訓練して、生成する。システムは、学習済み認識モデルをそのまま流用する(生成に含む)、または、学習済み認識モデルの転移学習により、対象物体Aの認識モデルを生成する。認識モデルは、様々な分野で利用可能であり、例えば、物流現場におけるロボットによる商品仕分けに適用できる。
【0013】
システムは、他の物体Xの学習済み認識モデルを、対象物体のために流用できるか判定する。システムは、対象物体Aの画像時系列を、他の既存物体Xの学習済み物体認識モデルに入力して、画像時系列における対象物体Aの動きの軌跡を取得する。この軌跡は、撮像したセンサから見た対象物体Aの相対的な動きの軌跡である。システムは、物体Aの動きの軌跡に基づき、当該学習済み物体認識モデルが対象物体Aの認識への流用可否を判定する。
【0014】
このように、対象物体の画像時系列における動きの軌跡を参照することで、対象物体の画像時系列から他の物体の学習済み認識モデルの流用の可否を適切に判定できる。対象物体の画像時系列において、対象物体の動き任意の軌跡をとることができる。そのため、判定対象の画像時系列を容易に取得することができる。
【0015】
図1に示すように、例えば、ユーザは、センサであるカメラ12を手11で持って、カメラ12を動かしながら、様々な角度から対象物体A20を撮像する。これにより、対象物体A20の画像時系列110が取得できる。このように、本システムにおいては、対象物体の画像時系列を容易に取得できる。なお、画像時系列の取得のため、複数の固定センサ、ロボットアーム、ターンテーブルなどの機構を利用してもよい。
【0016】
画像時系列110は、所定フレームレートのフレーム画像111で構成される。画像時系列110において、対象物体A20の位置及び姿勢(向き)が連続的に変化する。なお、画像を生成するセンサはカメラに限定されず、物体認識モデルが利用される運用環境で使用される任意のセンサを使用できる。
【0017】
画像時系列110は、既存物体X用学習済み認識モデル120に入力される。認識モデル120は、入力された物体Xの1枚の画像において、物体Xの位置P及び姿勢Θを推定する。本例において、認識モデル120は、物体Xのみ識別し、その位置及び姿勢を推定できるように訓練されている。他の例において、認識モデルは、複数の物体の識別並びにそれらの位置及び姿勢の推定を行ってもよい。
【0018】
システムは、学習済み認識モデル120による、画像時系列110における対象物体Aの認識結果から、その位置の軌跡及び姿勢の軌跡を取得する。位置の軌跡、姿勢の軌跡及びそれらの組み合わせは、物体の動きの軌跡である。システムは、位置の軌跡及び姿勢の軌跡に基づき、学習済み認識モデル120を対象物体A20の認識のために流用できるか判定する(S10)。学習済み認識モデル120の流用により、対象物体A20の認識モデルを効率的に生成できる。
【0019】
後述するように、例えば、システムは、動きの軌跡自体の内的な整合性の程度に応じて、学習済み認識モデル120の流用の可否を判定する。画像時系列において、動きの軌跡は、急激な変化や不規則な変化を示すことなく、連続性(整合性)を示すことが想定される。認識結果の動きの軌跡が、想定される連続性に対して多くの矛盾を示すほど、動きの整合性は低い。または、システムは、基準となる動きの軌跡に対する、認識結果の動きの軌跡の整合性の程度に応じて、学習済み認識モデル120の流用の可否を判定してもよい。基準となる動きの軌跡との差異が大きいほど、認識結果の動きの軌跡の整合性は低い。
【0020】
図1の例において、システムは、学習済み認識モデル120の流用が不可と判定すると、対象物体A20の詳細計測及び新規学習を実行する(S13)。詳細計測は、例えば、3次元(3D)レーザ距離センサにより、対象物体A20の3Dモデルを生成する。3Dモデルは、頂点とメッシュ(面)とを用いて物体の形状を示すことができる。システムは、その3Dモデルによるシミュレーションにより学習データを生成して、新規学習により物体認識モデルを生成する。
【0021】
学習済み認識モデル120の流用が可能であり、動きの軌跡の整合性が閾値を超える場合、システムは、学習済み認識モデル120を、対象物体A20の認識のために、そのまま利用する(S17)。
【0022】
学習済み認識モデル120の流用が可能であり、動きの軌跡の整合性が閾値以下である場合、システムは、学習済み認識モデル120の転移学習を行う(S15)。システムは、転移学習のため、対象物体A20の物体モデルを、既存物体Xの物体モデルを修正することにより生成する。これにより、効率的に対象物体A20の物体モデルを生成できる。既存物体モデルの修正方法は後述する。物体モデルは、物体の形状のデータを含み、色情報を伴うこともある。
【0023】
以下において、本実施例のシステム構成及び動作をより具体的に説明する。
図2は、一実施例にかかるシステムに含まれる計算機150のハードウェア構成例を示すブロック図である。
図1を参照して説明した処理は、1又はネットワークを介して接続された複数の計算機により実行することができる。
【0024】
計算機150は、例えば、プロセッサ151、メモリ152、補助記憶装置153、入力装置154、出力装置155、及び通信IF(Interface)156を有し、これらがバス等の内部通信線157によって接続された計算機によって構成される。
【0025】
プロセッサ151は、メモリ152に格納されたプログラムを実行する。メモリ152は、記憶装置であって、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS(Basic Input/Output System))などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサ151が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【0026】
補助記憶装置153は、例えば、磁気記憶装置(HDD(Hard Disk Drive))、SSD(Solid State Drive))等の大容量の不揮発性の記憶装置であり、プロセッサ151が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置153から読み出されて、メモリ152にロードされて、プロセッサ151によって実行される。
【0027】
入力装置154は、キーボードやマウスなどの、ユーザからの入力を受ける装置である。出力装置155は、ディスプレイ装置やプリンタなどの、プログラムの実行結果をオペレータが視認可能な形式で出力する装置である。通信IF156は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。
【0028】
プロセッサ151が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介して計算機150に提供され、非一過性記憶媒体を含む補助記憶装置153に格納される。このため、計算機150は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【0029】
実施例にかかるシステムは、1以上のプロセッサ及び1以上の記憶装置を含む、物理的な一つの計算機又は論理的又は物理的に構成された複数の計算機を含むことができる。同一の計算機上で別個のスレッドが動作してもよく、複数の物理的計算機資源上に構築された仮想計算機が動作してもよい。
【0030】
プロセッサ151は、メモリ152にロードされたプログラムに従って動作することで、後述するシステム内の様々な機能部として動作することができる。なお、プロセッサ151に含まれる機能部による機能の一部又は全部が、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェアによって実現されてもよい。
【0031】
補助記憶装置153は、例えば、前述した画像データ131及びモデルデータ132を保持する。なお、補助記憶装置153に格納されている一部又は全部の情報は、メモリ152に格納されていてもよいし、計算機150に接続されている外部のデータベース等に格納されていてもよい。
【0032】
なお、本実施形態において、計算機150が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。本実施形態ではテーブル形式で情報が表現されているが、例えば、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【0033】
図3は、一実施例にかかるシステムの機能構成例を示すブロック図である。以下においては、立体的な物体の認識モデルが説明される。認識対象は、物体の3次元形状に限らず、2次元形状や模様等でもよく、模様を伴った形状であってもよい。
【0034】
システムは、簡易計測部201、認識処理部202、流用可否判定部203、軌跡算出部204、詳細計測部206、3Dモデル修正部207、シーン生成シミュレータ208、及び認識処理学習部209を含む。これらは、プログラム又はプログラムを実行するプロセッサ151を表す。システムは、さらに、物体認識モデルデータベース221及び物体3Dモデルデータベース222を含む。
【0035】
これら機能部及びデータベースは、一つの計算機又は複数の計算機に分散して実装されてよい。例えば、データベース221及び222は、一つの計算機の補助記憶装置153または複数の計算機の補助記憶装置153に分散して格納されてよい。データベースと機部とが異なる計算機に実装されてもよい。
【0036】
簡易計測部201は、
図3において不図示のセンサによって対象物体Aを撮像し(
図1参照)、その画像時系列231を取得する。認識処理部202は、物体認識モデルデータベース221からの既存物体Xの学習済み認識モデル232を使用して、画像時系列231における対象物体Aの動きの軌跡233を取得する。物体認識モデルデータベース221は、様々な物体の学習済み認識モデルを格納している。
【0037】
流用可否判定部203は、既存物体の学習済み認識モデル232を対象物体Aの認識のために流用できるか判定する。軌跡算出部204は、画像時系列231から、対象物体Aの動きの軌跡を算出して、その結果234を出力する。詳細計測部206は、例えば、不図示の3Dレーザ距離センサにより対象物体Aを計測して、対象物体Aの3Dモデル237を生成する。
【0038】
3Dモデル修正部207は、物体3Dモデルデータベース222から取り出した(コピーした)既存物体Xの3Dモデル(物体モデル)を修正して、対象物体Aの3Dモデル237を生成する。物体3Dモデルデータベース222は、様々な物体の3Dモデルを格納している。その登録物体は、物体認識モデルデータベース221と同様である。3Dモデル修正部207は、流用可否判定部203から取得した修正姿勢の情報235に基づいて、既存物体Xの3Dモデルを修正する。修正姿勢の情報は、既存物体Xの3Dモデルにおいて修正すべき姿勢(向き)及びその姿勢の対象物体A20の画像を含む。
【0039】
シーン生成シミュレータ208は、対象物体Aの3Dモデル237及び物体3Dモデルデータベース222に格納された他の物体の3Dモデルを使用して、シミュレーションを実行し、対象物体Aの認識の学習データ238を生成する。認識処理学習部209は、対象物体Aの認識の学習データ238によって、既存物体Xの学習済み認識モデル232の学習(訓練)を行い、対象物体Aの認識モデル239を生成する。
【0040】
図4は、
図3に示す一実施例のシステムの動作の概要のフローチャートを示す。ステップS101において、簡易計測部201は、センサによって対象物体Aを撮像し、その画像時系列231を取得する。画像時系列231は、例えば、メモリ152に格納される。
【0041】
ステップS103において、認識処理部202は、物体認識モデルデータベース221から、既存物体Xの学習済み認識モデル232を取得する。選択する学習済み認識モデルは、例えば、基準モデルとしてシステム内に設定されている、又は、ユーザに指定されてもよい。既存物体Xが対象物体Aに類似している場合、より効率的に対象物体Aの認識モデルを生成できる可能性が高くなる。
【0042】
ステップS105において、認識処理部202は、画像時系列231の画像を順次学習済み認識モデル232に入力し、学習済み認識モデル232よる画像時系列231の画像それぞれの対象物体Aの認識結果を取得する。学習済み認識モデル232の入力画像における認識結果は、対象物体Aの位置及び/又は姿勢を示す。
【0043】
ステップS107において、認識処理部202は、学習済み認識モデル232よる画像時系列231における対象物体Aの認識結果から、対象物体Aの動きの軌跡(位置及び/又は姿勢の軌跡)を生成する。
【0044】
ステップS109において、流用可否判定部203は、生成した動きの軌跡に基づき、学習済み認識モデル232を対象物体Aの認識のために流用可能であるか判定する。後述するように、例えば、流用可否判定部203は、学習済み認識モデル232を使用することなく算出された動きの軌跡を参照することなく、学習済み認識モデル232の認識結果の動きの軌跡の内的な整合性(連続性)に基づき、学習済み認識モデル232の流用の可否を判定してもよい。
【0045】
他の例において、流用可否判定部203は、軌跡算出部204により画像時系列231から算出された対象物体Aの動きの軌跡を参照してもよい。流用可否判定部203は、算出された動きの軌跡と、学習済み認識モデル232の認識結果の動きの軌跡との比較結果に基づき、学習済み認識モデル232の流用の可否を判定する。
【0046】
ステップS109において、学習済み認識モデル232が再学習なくそのまま流用可能であると判定された場合、流用可否判定部203は、既存物体Xの学習済み認識モデル232(のコピー)を、対象物体Aのための認識モデルとして、物体認識モデルデータベース221に登録する。
【0047】
ステップS109において、学習済み認識モデル232が流用可能であるが学習済みモデル232の転移学習が必要であると判定された場合、ステップS111において、3Dモデル修正部207は、既存物体Xの3Dモデル236を修正して対象物体Aの3Dモデル237を生成する。3Dモデル修正部207は、物体3Dモデルデータベース222から、既存物体Xの3Dモデル236を取得する。
【0048】
3Dモデル修正部207は、さらに、流用可否判定部203から、修正姿勢の情報235を取得する。修正姿勢の情報235は、既存物体Xの3Dモデル236において対象物体Aの3Dモデルのために修正すべき姿勢(向き)、及び、画像時系列231におけるその向きの画像を含む。3Dモデル修正部207は、この修正姿勢の情報235に基づいて、既存物体Xの3Dモデル236(のコピー)を修正する。ステップS115において、3Dモデル修正部207は、修正の結果として生成された対象物体Aの3Dモデル237を、物体3Dモデルデータベース222に登録する。
【0049】
ステップS109において学習済み認識モデル232が流用不可と判定された場合、ステップS113において、詳細計測部206は、例えば3Dレーザ距離センサを使用して、対象物体Aの詳細計測を行い、その3Dモデル237を生成する。ステップS115において、詳細計測部206は、生成した対象物体Aの3Dモデル237を、物体3Dモデルデータベース222に登録する。
【0050】
ステップS117において、シーン生成シミュレータ208は、シミュレーションにより対象物体Aのための学習データを生成する。例えば、シーン生成シミュレータ208は、物理シミュレーションを行い、実際の運用において認識モデルが利用される態様に応じた学習データを生成する。例えば、認識モデルがバラ積み部品ピッキングロボットにおいて利用されるとする。シーン生成シミュレータ208は、対象物体Aを含む1又は複数の物体の3Dモデルを使用して、容器内に様々な態様でそれら物体が配置された画像とそれらの正解の認識結果との組み合わせを生成する。
【0051】
ステップS109において、学習済み認識モデル232が流用可能であるが学習済み認識モデル232の転移学習が必要であると判定された場合、ステップS119において、認識処理学習部209は、既存物体Xの学習済み認識モデル232の転移学習を実行する。これにより、対象物体Aの認識モデル239が生成される。ステップS123において、認識処理学習部209は、認識モデル239を、物体認識モデルデータベース221に登録する。認識処理学習部209は、対象物体Aの学習データにより、学習済み認識モデル232を訓練する。このとき、修正姿勢の情報235が示す姿勢について重点的に学習してもよい。
【0052】
ステップS109において学習済み認識モデル232が流用不可と判定された場合、ステップS121において、認識処理学習部209は、(未学習の)新規認識モデルを、対象物体Aの学習データにより訓練する。これにより、対象物体Aの認識モデル239が生成される。ステップS123において、認識処理学習部209は、認識モデル239を、物体認識モデルデータベース221に登録する。
【0053】
図4の処理は、一つの物体の学習済み認識モデルの流用の可否を判定する(S109)。システムは、複数の物体の学習済み認識モデルについて上記流用可否の判定を行い、流用可能な認識モデルを探してもよい。システムは、例えば、再学習することなく流用可能な認識モデル、又は、対象物体の動きの軌跡の認識結果の整合性が最も高い認識モデルを選択してもよい。
【0054】
図5は、流用可否判定部203による判定方法の例のフローチャートを示す。
図5に示す例において、認識モデルは、物体の位置及び姿勢を認識(推定)する。そのため、流用可否判定部203は、画像時系列における対象物体Aの位置の軌跡及び姿勢の軌跡を参照する。位置及び姿勢は、それぞれ、3次元座標で表される。また、流用可否判定部203は、それらの軌跡自体の形状に基づき(軌跡の他の計算結果を参照することなく)、学習済み認識モデルの流用可否を判定する。これにより、参照基準となる計算が不要であり、効率的に流用可否を判定できる。
【0055】
図5を参照して、ステップS151において、認識処理部202は、画像時系列231の画像を順次学習済み認識モデル232に入力し、学習済み認識モデル232よる画像時系列231の画像それぞれの対象物体Aの認識結果を取得する。本例において、学習済み認識モデル232の入力画像における認識結果は、対象物体Aの位置及び姿勢を示す。
【0056】
ステップS153において、認識処理部202は、学習済み認識モデル232よる画像時系列231における対象物体Aの認識結果から、対象物体Aの位置の軌跡及び姿勢の軌跡を生成する。
【0057】
ステップS155において、流用可否判定部203は、位置の軌跡及び姿勢の軌跡が、それぞれ、軌跡内の時系列整合性についての流用条件(第1条件)を満たすか判定する。例えば、位置の軌跡の時系列整合性は軌跡の速度に基づき、また、姿勢の軌跡の時系列整合性は軌跡の角速度(角度の速度)に基づき判定できる。位置の軌跡の速度は、連続する画像の物体の位置座標の間の距離及び画像のレート(撮像時間間隔)から算出される。姿勢の軌跡の速度は、連続する画像の物体の姿勢座標間の距離及び画像のレート(撮像時間間隔)から算出される。
【0058】
図6は、認識モデルによる認識位置の軌跡の例を示す。
図6は画像内の矢印によって認識(推定)された位置の軌跡を示す。画像301おける対象物体の位置の軌跡305は、連続性のある規則的な形状を有しており、隣接する他の位置(点)から大きくずれた異常位置(点)は存在していない。一方、画像302における位置の軌跡306は、隣接する他の位置から大きくずれた異常位置(点)307を含む。異常位置は、誤認識された位置であると推定できる。位置の軌跡305は、時系列のより高い軌跡内の整合性を有し、位置の軌跡306は、時系列のより低い軌跡内の整合性を有している。
【0059】
図7は、認識モデルによる認識姿勢(ベクトルの座標)の軌跡の例を示す。
図7は、画像時系列を用いて認識(推定)された姿勢の軌跡を示す。画像時系列351が示す対象物体の姿勢の軌跡は、連続性のある規則的な形状を有しており、隣接する他の姿勢から大きくずれた異常姿勢は存在していない。一方、画像時系列352が示す姿勢の軌跡は、隣接する他の姿勢から大きくずれた異常姿勢353を含む。異常姿勢は、誤認識された姿勢であると推定できる。画像時系列351が示す姿勢の軌跡は、時系列のより高い(内的な)整合性を有し、画像時系列352が示す姿勢の軌跡は、時系列のより低い(内的な)整合性を有している。
【0060】
対象物体の撮像におけるセンサの軌跡の可能性の範囲(整合性のある軌跡)は、センサの移動方法(例えば、ユーザの手による移動)に応じて、想定することができる。例えば、センサの速さ(位置変化の速度又は姿勢変化の速度)の最大値を想定することが可能である。速さの最大値は、速度の向きに応じて変化し得る。センサの可能な速度の想定範囲に基づき設定された条件を有してもよい。
【0061】
流用可否判定部203は、設定された条件に基づき、認識モデルの流用の可否、及び、転移学習による再構成又は再学習無しの流用を判定できる。再学習無しの流用の条件は、認識モデルの流用の条件(要求整合性)より厳しいものとなる。
【0062】
システムは、例えば、位置の軌跡及び姿勢の軌跡それぞれの速度についての設定された条件を有してもよい。流用可否判定部203は、位置の軌跡及び姿勢の軌跡それぞれにおいて、上記条件に応じて、異常位置及び異常姿勢を特定する。流用可否判定部203は、例えば、異常位置及び異常姿勢の数に基づき、整合性レベルを決定することができる。
【0063】
整合性レベルに応じて、認識モデルの流用性の可否及び転移学習の適用の可否を判定できる。例えば、流用可否判定部203は、位置の軌跡及び姿勢の軌跡の異常点の数(又は割合)の最大値と流用可否判定の所定の閾値とを比較して、異常点の数(又は割合)がその閾値より少ない場合に、認識モデルを流用すると判定する。さらに、異常点の数(又は割合)が上記閾値より小さい所定の第2閾値よりもさらに小さい場合に、流用可否判定部203は、再学習(転移学習)なく認識モデルをそのまま流用すると判定する。
【0064】
図5に戻って、ステップS155において、位置の軌跡及び姿勢の軌跡の少なくとも一方が軌跡内の時系列整合性についての流用条件を満たしてない場合(S155:NO)、流用可否判定部203は、ステップS157に進む。流用可否判定部203は、学習済み認識モデルを対象物体Aの認識に流用する条件が満たされていないと判定する。これにより、誤認識画像をより確実に抽出できる。
【0065】
ステップS155において、位置の軌跡及び姿勢の軌跡のそれぞれが軌跡内の時系列整合性についての流用条件を満たしている場合(S155:YES)、流用可否判定部203は、ステップS159に進む。ステップS159において、流用可否判定部203は、位置の軌跡及び姿勢の軌跡が、それぞれ、軌跡内の時系列整合性について無学習流用条件(第2条件)を満たすか判定する。無学習流用条件は、ステップS155における流用条件より厳しい条件である。
【0066】
位置の軌跡及び姿勢の軌跡のそれぞれが無学習流用条件を満たす場合(S159:YES)、ステップS161において、流用可否判定部203は、学習済み認識モデルの無学習による流用を行うと判定する。位置の軌跡及び姿勢の軌跡の少なくとも一方が、無学習流用条件を満たさない場合(S159:NO)、ステップS163において、流用可否判定部203は、学習済み認識モデルの転移学習を実行すると判定する。
【0067】
さらに、ステップS165において、流用可否判定部203は、既存物体Xの3Dモデルの修正姿勢を示す情報を生成する。流用可否判定部203は、異常位置又は異常姿勢を示す画像を特定し、その画像における対象物体Aの姿勢を推定する。流用可否判定部203は、異常位置又は異常姿勢を示す画像(誤認識された画像)の隣接画像における認識姿勢から推定(例えば中間値)できる。流用可否判定部203は、異常画像と推定姿勢の値とを含む情報を出力する。
【0068】
既存物体Xの3Dモデルの修正姿勢を示す情報は、異常画像が、位置の軌跡又は姿勢の軌跡のいずれにおいて異常と認識されたか(誤認識されたか)を示してもよい。学習済み認識モデル232が、例えば、物体の位置を推定するモジュールと、物体の姿勢を推定するモジュールを含む場合、認識処理学習部209は、位置の軌跡及び姿勢の軌跡それぞれの判定結果に応じて、いずれか一方のみ又は双方の訓練(学習)を実行してもよい。これにより、認識モデルの学習を効率化できる。
【0069】
図8は、流用可否判定部203による判定方法の他の例のフローチャートを示す。
図8に示す例において、流用可否判定部203は、認識モデルと異なる方法により取得された画像時系列における画像の動きの軌跡を参照して、他物体の学習済み認識モデルの流用の可否を判定する。これにより、より正確な判定が可能となる。
【0070】
認識モデルと異なる方法による動きの軌跡の算出方法は特に限定されないが、2次元データである画像の時系列から3次元形状を復元する技術を利用できる。例えば、Visual SLAM(Simultaneous Localization and Mapping)又はSfM(Structure from Motion)を利用することができる。これにより、後述するような基準物体を画像含める必要がない。
【0071】
図8のフローチャートにおいて、ステップS151及びS152は、
図5に示すフローチャートと同様である。ステップS171において、流用可否判定部203は、軌跡算出部204から、対象物体Aの位置の軌跡及び姿勢の軌跡の算出結果を取得する。
【0072】
ステップS173において、流用可否判定部203は、算出された位置の軌跡及び姿勢の軌跡と、学習済み認識モデルにより認識(推定)された位置の軌跡及び姿勢の軌跡とを比較する。位置の軌跡及び姿勢の軌跡が、それぞれ、算出された位置の軌跡及び姿勢の軌跡との整合性について流用条件を満たすかを判定する。
【0073】
例えば、流用可否判定部203は、算出された軌跡と認識された軌跡との位置合わせを行った後、各点の距離を算出する。当該距離が所定の閾値を超える場合、流用可否判定部203は、当該点に該当する画像の認識は誤っていると判定する。流用可否判定部203は、例えば、誤認識位置及び姿勢それぞれの数又は割合に基づいて、位置の軌跡及び姿勢の軌跡それぞれの流用可否を判定することができる。この点は、
図5のフローチャートと同様である。例えば、誤認識の位置及び姿勢の数又は割合が、それぞれ、所定の閾値より小さいことが流用可能の条件であってよい。
【0074】
ステップS173において、位置の軌跡及び姿勢の軌跡の少なくとも一方が軌跡内の時系列整合性についての流用条件を満たしてない場合(S173:NO)、流用可否判定部203は、ステップS175に進む。流用可否判定部203は、学習済み認識モデルを対象物体Aの認識に流用する条件が満たされていないと判定する。
【0075】
ステップS173において、位置の軌跡及び姿勢の軌跡のそれぞれが算出した位置の軌跡及び姿勢の軌跡との整合性についての流用条件を満たしている場合(S173:YES)、流用可否判定部203は、ステップS177に進む。ステップS177において、流用可否判定部203は、位置の軌跡及び姿勢の軌跡が、それぞれ、算出した位置の軌跡及び姿勢の軌跡それぞれとの整合性について無学習流用条件を満たすか判定する。
【0076】
判定方法は、
図5のフローチャートにおけるステップS159と同様である。無学習流用条件は、ステップS173における流用条件より厳しい条件である。例えば、誤認識の画像の数が、ステップS173の閾値より小さい閾値と比較される。
【0077】
位置の軌跡及び姿勢の軌跡のそれぞれが無学習流用条件を満たす場合(S177:YES)、ステップS179において、流用可否判定部203は、学習済み認識モデルの無学習による流用を行うと判定する。位置の軌跡及び姿勢の軌跡の少なくとも一方が、無学習流用条件を満たさない場合(S177:NO)、ステップS181において、流用可否判定部203は、学習済み認識モデルの転移学習を実行すると判定する。
【0078】
さらに、ステップS183において、流用可否判定部203は、既存物体Xの3Dモデルの修正姿勢を示す情報を生成する。このステップは、
図5におけるステップS165と同様である。
【0079】
流用可否判定部203は、認識モデルによる対象物体の動きの軌跡自体の条件(内的な整合性の条件)と、算出した参照軌跡と認識モデルによる認識結果の軌跡との比較結果の条件(参照軌跡との整合性の条件)との、双方の条件に基づいて、認識モデルの流量の可否及び再学習の有無の判定を実行してもよい。これにより、より正確な流用判定が可能となる。例えば、認識モデルによる動きの軌跡が、双方の流用条件を満たす場合に、流用可能と判定し、少なくとも一方が流用条件を満たさない場合に流用不可と判定する。無学習流用の判定に対しても同様である。
【0080】
上記例は、画像時系列における対象物体の動きの軌跡を認識モデルと異なる方法で算出する。他の例は、画像時系列の各画像に、対象物体と異なる基準物体を含め、画像時系列における当該基準物体の動きの軌跡から、認識モデルによる認識結果の動きの軌跡の比較対象(参照軌跡)を生成してもよい。
【0081】
基準物体は例えば二次元コードである。各画像は、対象物体と共に、1又は複数の二次元コードを含む。各二次元コードの位置及びパターン(形状)は予め知られており、軌跡算出部204は、画像系列における二次元コードの画像から、センサの動き、つまり、対象物体のセンサに対する相対的な動きを算出することができる。これにより、効率的な演算で参照軌跡を生成できる。
【0082】
以下において、3Dモデルの修正方法を説明する。本例において、3Dモデル修正部207は、既存物体Xの学習済み認識モデルにより御認識された対象物体Aの画像を使用して、既存物体Xの3Dモデルを修正する。これにより、効率的に対象物体Aの3Dモデルを生成することができる。
【0083】
図9は、3Dモデル修正処理の例を示す説明図である。以下、対象物体の画像がRGBである例を説明する。
図9の例において、3Dモデル修正部207は、対象物体の姿勢θ1の画像に基づいて、3Dモデルを修正する。対象物体の画像の局所領域71と3Dモデルの局所領域72とを比較する。局所領域71は2面からなるが局所領域72は1面からなる。従って、3Dモデル修正部207は、3Dモデルの局所領域72に頂点73を追加することで面を増やす。3Dモデル修正部207は追加した頂点73を移動させることにより、局所領域72を局所領域71に類似又は一致させる。
【0084】
このように
図9の例では、3Dモデル修正部207は、3Dモデルにおける異なる領域のメッシュを精緻化することにより、当該異なる領域を類似又は一致する領域へと修正する。なお、3Dモデル修正部207は、局所領域72と局所領域71との差異に応じて、局所領域72の頂点を削除した上で他の頂点を移動させてもよいし、局所領域72のある頂点を移動させるだけでもよい。
【0085】
なおこのように、3Dモデル修正部207は、3Dモデルのメッシュを精緻化する場合、例えば、ニューラルネットを利用して自動的にメッシュの頂点数やトポロジーを変更することで、メッシュを生成することができる。
【0086】
また、対象物体の画像がRGB-Depth画像である場合、3Dモデル修正部207は、3Dモデルのメッシュを精緻化する場合、例えば、ニューラルネットを利用して、当該画像から得られる撮像点群をメッシュ化して得られたメッシュを、3Dモデルと統合することによって、当該3Dモデルを修正する。
【0087】
また、さらに基準物体の画像もRGB-Depth画像であれば、3Dモデル修正部207は、3Dモデルのメッシュを精緻化する場合、例えば、ニューラルネットを利用して当該3Dモデルに対応する基準物体の当該姿勢の画像から得られる撮像点群を、対象物体の画像から得られる撮像点群に差し替えることによって、当該3Dモデルを修正してもよい。また、物体のモデルが2Dモデルである場合、既存物体の2Dモデルを修正して、対象物体の2Dモデルを作成してもよい。
【0088】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0089】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0090】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0091】
11 手
12 カメラ
20 対象物体A
71 局所領域
72 局所領域
73 頂点
110 画像時系列
111 フレーム画像
120 学習済み認識モデル
131 画像データ
132 モデルデータ
150 計算機
151 プロセッサ
152 メモリ
153 補助記憶装置
154 入力装置
155 出力装置
156 通信IF
157 内部通信線
201 簡易計測部
202 認識処理部
203 流用可否判定部
204 軌跡算出部
206 詳細計測部
207 3Dモデル修正部
208 シーン生成シミュレータ
209 認識処理学習部
221 物体認識モデルデータベース
222 物体3Dモデルデータベース
231 画像時系列
232 学習済み認識モデル
233 軌跡
234 対象物体の動きの軌跡の算出結果
235 修正姿勢情報
236 既存物体Xの3Dモデル
237 対象物体Aの3Dモデル
238 学習データ
239 対象物体A用認識モデル
305、306 認識された位置の軌跡
307 異常位置(点)
351、352 認識された姿勢の軌跡を示す画像時系列
353 異常姿勢