(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023098304
(43)【公開日】2023-07-10
(54)【発明の名称】教師データ生成装置および教師データ生成プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230703BHJP
B25J 13/08 20060101ALI20230703BHJP
【FI】
G06T7/00 350B
G06T7/00 U
B25J13/08 A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021214982
(22)【出願日】2021-12-28
(71)【出願人】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100131200
【弁理士】
【氏名又は名称】河部 大輔
(72)【発明者】
【氏名】徐 天奮
(72)【発明者】
【氏名】大野 誠太
(72)【発明者】
【氏名】松田 吉平
【テーマコード(参考)】
3C707
5L096
【Fターム(参考)】
3C707AS04
3C707BS10
3C707KS03
3C707KT01
3C707KT06
3C707LW12
3C707LW15
3C707NS07
5L096BA05
5L096CA21
5L096CA23
5L096DA04
5L096FA69
5L096KA04
(57)【要約】
【課題】教師データの更新に要する時間を短縮する。
【解決手段】制御装置1は、画像に含まれる物体に対して、所定情報を示すラベルをユーザの入力操作に応じて付与するラベル付与部142と、画像と画像に付与されたラベルとの組を教師データとして生成する生成部143と、検出モデルによる検出が行われた画像であって物体について検出が失敗した第2画像Dbを、検出モデルによる検出結果と紐づけて記憶する記憶部12とを備える。ラベル付与部142は、第2画像Dbにおいて、検出失敗の物体に所定情報を示すラベルをユーザの入力操作に応じて付与する一方、検出成功の物体の所定情報を示すラベルは前記検出結果をもって代用し、生成部143は、第2画像Dbと、検出失敗の物体に付されたラベルおよび検出成功の物体の検出結果との組を教師データとして生成する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
画像に含まれる物体および前記物体の所定情報を検出する学習済みの検出モデルに再学習させる教師データを生成する教師データ生成装置であって、
画像に含まれる物体に対して、前記所定情報を示すラベルをユーザの入力操作に応じて付与するラベル付与部と、
前記画像と前記画像に付与された前記ラベルとの組を教師データとして生成する生成部と、
前記検出モデルによる検出が行われた画像であって少なくとも1つの物体について前記検出が失敗した画像を、前記検出モデルによる検出結果と紐づけて記憶する記憶部とを備え、
前記ラベル付与部は、前記記憶部の前記画像において、検出失敗の物体に前記所定情報を示す前記ラベルをユーザの入力操作に応じて付与する一方、検出成功の物体の前記所定情報を示す前記ラベルは前記検出結果をもって代用し、
前記生成部は、前記記憶部の前記画像と、前記検出失敗の物体に付された前記ラベルおよび前記検出成功の物体の前記検出結果との組を教師データとして生成する教師データ生成装置。
【請求項2】
請求項1に記載の教師データ生成装置において、
前記記憶部の前記画像を表示する表示部をさらに備えており、
前記ラベル付与部は、前記表示部に表示された前記記憶部の前記画像に含まれる前記検出失敗の物体に前記所定情報を示すマークがユーザの入力操作によって付されることで、前記ラベルを付与する教師データ生成装置。
【請求項3】
請求項2に記載の教師データ生成装置において、
前記記憶部の前記画像を前記表示部に表示させる表示制御部をさらに備えており、
前記表示制御部は、前記記憶部の前記画像を前記表示部に表示させる際、前記記憶部の前記画像に含まれる前記検出成功の物体に前記検出結果を示す前記マークを付す教師データ生成装置。
【請求項4】
請求項2または3に記載の教師データ生成装置において、
前記所定情報は、前記記憶部の前記画像における物体の位置情報であり、
前記ラベル付与部は、ユーザの入力操作によって物体に付された前記マークの位置を前記物体の位置情報として前記ラベルを付与する教師データ生成装置。
【請求項5】
請求項4に記載の教師データ生成装置において、
前記マークの位置は、ロボットアームが、前記物体に対して前記マークの位置に基づいて所定の処理を行う位置として設定される教師データ生成装置。
【請求項6】
請求項5に記載の教師データ生成装置において、
前記マークの位置は、前記ロボットアームが、前記物体に対して把持する位置として設定される教師データ生成装置。
【請求項7】
請求項5または6に記載の教師データ生成装置において、
前記ロボットアームを制御するロボット制御装置と通信可能である教師データ生成装置。
【請求項8】
請求項2または3に記載の教師データ生成装置において、
前記所定情報は、物体の属性情報であり、
前記ラベル付与部は、物体の属性情報に応じて区別された色の前記マークがユーザの入力操作によって前記物体に付されることで、前記マークの色を前記物体の属性情報として前記ラベルを付与する教師データ生成装置。
【請求項9】
請求項1乃至8に記載の教師データ生成装置において、
前記検出失敗の物体は、未検出の物体または誤検出の物体である教師データ生成装置。
【請求項10】
画像に含まれる物体および前記物体の所定情報を検出する学習済みの検出モデルに再学習させる教師データを生成する機能をコンピュータに実現させる教師データ生成プログラムであって、
画像に含まれる物体に対して、前記所定情報を示すラベルをユーザの入力操作に応じて付与する機能と、
前記画像と前記画像に付与された前記ラベルとの組を教師データとして生成する機能と、
前記検出モデルによる検出が行われた画像であって少なくとも1つの物体について前記検出が失敗した画像を、前記検出モデルによる検出結果と紐づけて記憶する機能と、
記憶された前記画像において、検出失敗の物体に前記所定情報を示す前記ラベルをユーザの入力操作に応じて付与する一方、検出成功の物体の前記所定情報を示す前記ラベルは前記検出結果をもって代用する機能と、
記憶された前記画像と、前記検出失敗の物体に付された前記ラベルおよび前記検出成功の物体の前記検出結果との組を教師データとして生成する機能とをコンピュータに実現させる教師データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
ここに開示された技術は、教師データ生成装置および教師データ生成プログラムに関する。
【背景技術】
【0002】
従来より、機械学習に用いられる教師データを生成する装置が知られている。例えば、特許文献1に開示されている装置では、検出される物体が写っている大量の画像に対して、ラベル付け、即ちアノテーション処理が行われる。そして、画像とラベルとが関連付けられてなる教師データが生成される。その教師データを用いた教師あり機械学習により、学習モデルが生成される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、生成した学習モデルを用いて、画像に対して物体の検出処理を行った際、例えば未検出の物体があった場合は、学習モデルを再学習させて更新する必要がある。そのため、未検出の物体があった画像に対してラベルを付与して、新たな教師データを生成する必要がある。しかしながら、学習モデルを搭載した装置の稼働後に学習モデルの更新を行う場合、稼働を停止させる必要があるため、新たな教師データの生成に要する時間は短いほうが望ましい。
【0005】
ここに開示された技術は、かかる点に鑑みてなされたものであり、その目的は、学習済みの検出モデルに再学習させる教師データの生成に要する時間を短縮することにある。
【課題を解決するための手段】
【0006】
ここに開示された技術は、画像に含まれる物体および前記物体の所定情報を検出する学習済みの検出モデルに再学習させる教師データを生成する教師データ生成装置である。前記教師データ生成装置は、画像に含まれる物体に対して、前記所定情報を示すラベルをユーザの入力操作に応じて付与するラベル付与部と、前記画像と前記画像に付与された前記ラベルとの組を教師データとして生成する生成部と、前記検出モデルによる検出が行われた画像であって少なくとも1つの物体について前記検出が失敗した画像を、前記検出モデルによる検出結果と紐づけて記憶する記憶部とを備えている。そして、前記ラベル付与部は、前記記憶部の前記画像において、検出失敗の物体に前記所定情報を示す前記ラベルをユーザの入力操作に応じて付与する一方、検出成功の物体の前記所定情報を示す前記ラベルは前記検出結果をもって代用する。前記生成部は、前記記憶部の前記画像と、前記検出失敗の物体に付された前記ラベルおよび前記検出成功の物体の前記検出結果との組を教師データとして生成する。
【0007】
また、ここに開示された別の技術は、画像に含まれる物体および前記物体の所定情報を検出する学習済みの検出モデルに再学習させる教師データを生成する機能をコンピュータに実現させる教師データ生成プログラムである。前記教師データ生成プログラムは、画像に含まれる物体に対して、前記所定情報を示すラベルをユーザの入力操作に応じて付与する機能と、前記画像と前記画像に付与された前記ラベルとの組を教師データとして生成する機能と、前記検出モデルによる検出が行われた画像であって少なくとも1つの物体について前記検出が失敗した画像を、前記検出モデルによる検出結果と紐づけて記憶する機能と、前記記憶部の前記画像において、検出失敗の物体に前記所定情報を示す前記ラベルをユーザの入力操作に応じて付与する一方、検出成功の物体の前記所定情報を示す前記ラベルは前記検出結果をもって代用する機能と、前記記憶部の前記画像と、前記検出失敗の物体に付された前記ラベルおよび前記検出成功の物体の前記検出結果との組を教師データとして生成する機能とをコンピュータに実現させる。
【発明の効果】
【0008】
前記の教師データ生成装置によれば、学習済みの検出モデルに再学習させる教師データの生成に要する時間を短縮することができる。
【0009】
前記の教師データ生成プログラムによれば、学習済みの検出モデルに再学習させる教師データの生成に要する時間を短縮することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、ロボットシステムの概略構成を示す図である。
【
図2】
図2は、物体がバラ置きされたバケットを示す平面図である。
【
図3】
図3は、制御装置およびその周辺機器の概略構成を示すブロック図である。
【
図4】
図4は、制御装置の処理部の機能ブロック図である。
【
図5】
図5は、制御装置の処理部の生成処理を示すフローチャートである。
【
図6】
図6は、表示部において第1画像が選択された状態の一例を示す図である。
【
図7】
図7は、表示部において第1画像の物体にマークを付す様子の一例を示す図である。
【
図8】
図8は、表示部において第1画像の全ての物体にマークが付与された状態の一例を示す図である。
【
図9】
図9は、表示部における第2画像の一例を示す図である。
【
図10】
図10は、表示部における第2画像の一例を示す図である。
【
図11】
図11は、表示部における第2画像の一例を示す図である。
【
図12】
図12は、表示部における第2画像の一例を示す図である。
【
図13】
図13は、表示部における第2画像の一例を示す図である。
【
図14】
図14は、表示部における第2画像の一例を示す図である。
【
図15】
図15は、表示部における第2画像の一例を示す図である。
【
図16】
図16は、表示部における第2画像の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、例示的な実施形態を図面に基づいて詳細に説明する。
【0012】
図1は、ロボットシステム100の概略構成を示す図である。
図2は、物体Wがバラ置きされたバケットBを示す平面図である。
【0013】
ロボットシステム100は、制御装置1と、撮像装置2と、ロボット制御装置3と、ロボット4とを備えている。制御装置1は、教師データ生成装置の一例である。ロボットシステム100では、例えばバケットBにバラ置きされている物体Wを撮像装置2が撮影し、制御装置1が撮像装置2による撮影画像から物体Wを検出する。ロボット制御装置3は、制御装置1が検出したバケットB内の物体Wをロボット4に把持させて所定の場所に搬送させる。この例では、物体Wは、ガラス製の瓶である。
【0014】
ロボット4は、ベース41と、ベース41に回転自在に連結されるロボットアーム42とを有している。ロボットアーム42は、物体Wを把持する、例えば垂直多関節式のアームである。具体的に、ロボットアーム42には、物体Wを把持するためのハンド43が設けられている。
【0015】
ロボット制御装置3は、ロボット4を制御する。ロボット制御装置3は、ハンド43を含むロボットアーム42の各種動作を制御する。制御装置1およびロボット制御装置3は、有線または無線により互いに通信可能である。ロボット制御装置3は、制御装置1から出力された物体Wの検出信号に基づいて、バケットB内における物体Wの位置を求める。ロボット制御装置3は、求めた物体Wの位置に応じて、ロボットアーム42を制御してロボットアーム42に物体Wを把持させる。
【0016】
撮像装置2は、例えばバケットBの上方に設けられている。撮像装置2は、制御装置1と有線または無線により通信可能である。撮像装置2は、バケットB、即ちバケットB内の物体Wを撮影し、その撮影画像を制御装置1へ出力する。撮像装置2は、例えばカメラである。なお、撮像装置2は、制御装置1に加えロボット制御装置3と有線または無線により通信可能であってもよい。
【0017】
制御装置1は、撮像装置2から出力された撮影画像から、1つまたは複数の物体Wを検出する。より詳しくは、制御装置1は、撮影画像から、1つまたは複数の物体Wおよびその物体Wの所定情報を検出する。制御装置1は、検出した物体Wの所定情報をロボット制御装置3へ出力する。ロボット制御装置3は、制御装置1からの物体Wの所定情報に基づいて、バケットB内の対象となる物体Wをロボットアーム42に把持させる。この例では、物体Wの所定情報は、画像内における物体Wの位置情報および物体Wの属性情報である。
【0018】
制御装置1は、機械学習により学習済みの検出モデルを用いて、撮像装置2による撮影画像から物体Wの所定情報を検出する。また、制御装置1は、検出モデルに学習させる教師データを生成する機能も有している。具体的に、制御装置1は、物体Wが写っている第1画像にラベルを付与して、学習前の検出モデルに学習させる教師データを生成する。こうして第1画像を用いて学習させた検出モデルによって、画像において物体Wの所定情報の検出が行われる。このとき、検出モデルによる検出が失敗した物体Wがあった場合、その時の画像が第2画像として蓄積される。そして、制御装置1は、蓄積された第2画像にラベルを付与して、学習済みの検出モデルに再学習させるため、即ち学習済みの検出モデルを更新するための教師データを生成する。
【0019】
ラベルは、正解データまたはタグとも称される。この例では、ラベルは、物体Wの所定情報を示すものである。つまり、ラベルは、画像内における物体Wの位置、物体Wの属性である。この例では、物体Wの属性は、物体Wの色である。
【0020】
教師データは、検出モデルに学習させるデータである。教師データは、学習データまたは訓練データとも称される。この例では、教師データは、第1画像および第2画像と、第1画像および第2画像に付与されたラベルとが組になったデータである。言い換えれば、教師データは、第1画像および第2画像と、第1画像および第2画像に付されたラベルとを関連付けたデータである。
【0021】
なお、機械学習では、複数の教師データを利用して学習が行われる。この例では、複数の教師データの集まりを教師データセットと称し、教師データセットに含まれる個々のデータを教師データと称する。即ち、教師データと称する場合は、前述した組を意味し、教師データセットと称する場合は、組の集まりを意味する。
【0022】
検出モデルは、機械学習を利用した学習モデルである。この例では、検出モデルは、物体Wが写っている画像を入力とし、物体Wの所定情報を出力する。機械学習自体は、公知の種々の手法が利用可能であり、例えば、ニューラルネットワーク、強化学習または深層学習といった手法を利用可能である。機械学習は、教師あり学習が用いられてもよいし、半教師あり学習が用いられてもよい。
【0023】
図3は、制御装置1およびその周辺機器の概略構成を示すブロック図である。制御装置1は、入力部11と、記憶部12と、表示部13と、処理部14とを備えている。
【0024】
入力部11は、ユーザからの入力操作を受け付ける。入力部11は、入力操作に応じた入力信号を処理部14へ出力する。入力部11は、例えば、タッチパネルやマウス等のポインティングデバイス、またはキーボードである。
【0025】
記憶部12は、各種プログラム及び各種データを記憶する、コンピュータに読み取り可能な記憶媒体である。記憶部12は、ハードディスク等の磁気ディスク、CD-ROMおよびDVD等の光ディスク、または半導体メモリによって形成されている。
【0026】
具体的に、記憶部12は、第1画像Da、第2画像Db、教師データセットDS、および生成プログラムPG等を記憶する。
【0027】
第1画像Daは、物体Wが写っている画像である。第1画像Daは、学習前の検出モデルに学習させるための画像であり、撮像装置2が撮影したバケットB内の物体Wの撮影画像である。第2画像Dbは、学習済みの検出モデルによる検出が行われた画像であって少なくとも1つの物体Wについて検出が失敗した画像である。学習済みの検出モデルは、例えば、後述する生成部143が第1画像Daに基づいて生成した教師データを学習させた検出モデルである。検出モデルによる検出が行われる画像は、撮像装置2が撮影したバケットB内の物体Wの撮影画像であるが、第1画像Daとは異なる画像である。教師データセットDSには、生成部143が生成した教師データが含まれる。
【0028】
ここで、物体Wについて検出モデルによる検出が失敗したとは、検出モデルが、物体Wの所定情報を検出できなかった、あるいは物体Wの所定情報を適切に検出できなかったことを意味し、以下、検出モデによる検出が失敗した物体Wを「検出失敗の物体W」と称する。逆に、物体Wについて検出モデルによる検出が成功したとは、検出モデルが、物体Wの所定情報を適切に検出できたことを意味し、以下、検出モデによる検出が失敗した物体Wを「検出成功の物体W」と称する。
【0029】
また、記憶部12は、第2画像Dbを、検出モデルによる検出結果と紐づけて記憶する。検出モデルによる検出結果とは、検出モデルが適切に検出した物体Wの所定情報、即ち、検出成功の物体Wの所定情報である。
【0030】
生成プログラムPGは、教師データ生成プログラムの一例である。生成プログラムPGは、教師データを生成する各種機能をコンピュータ、即ち、処理部14に実現させるためのプログラムである。生成プログラムPGは、処理部14によって読み出されて実行される。
【0031】
表示部13は、第1画像Daおよび第2画像Dbを表示する。この例では、表示部13は、GUI(Graphical User Interface)画面を表示し、そのGUI画面において第1画像Daや第2画像Dbを表示する。表示部13は、例えば、液晶ディスプレイまたは有機ELディスプレイである。
【0032】
図4は、制御装置1の処理部14の機能ブロック図である。処理部14は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)及び/又はDSP(Digital Signal Processor)等の各種プロセッサと、RAM(Random Access Memory)及び/又はROM(Read Only Memory)等の各種半導体メモリとを有している。処理部14は、記憶部12から生成プログラムPG等を読み出して実行する。
【0033】
具体的に、処理部14は、表示制御部141と、ラベル付与部142と、生成部143と、学習部144と、検出部145とを機能ブロックとして有している。
【0034】
表示制御部141は、第1画像Daおよび第2画像Dbを取得する。具体的に、表示制御部141は、記憶部12から第1画像Daを読み出すことで第1画像Daを取得する。また、表示制御部141は、記憶部12から第2画像Dbを読み出すことで第2画像Dbを取得する。表示制御部141は、記憶部12から取得した第1画像Daおよび第2画像Dbを、表示部13に表示させる。
【0035】
さらに、表示制御部141は、表示部13に表示されている複数の第1画像Daおよび第2画像Dbから、ユーザの入力操作によって選択された画像を、表示部13において拡大表示させる。
【0036】
ラベル付与部142は、第1画像Daに含まれる物体Wに対して、物体Wの所定情報を示すラベル、即ち物体Wの位置情報および属性情報を示すラベルをユーザの入力操作に応じて付与する。つまり、ラベル付与部142は、第1画像Daにラベルを付与するアノテーションを行う。
【0037】
生成部143は、第1画像Daと、第1画像Daに付与されたラベルとの組を教師データとして生成する。つまり、第1画像Daと、第1画像Daに付与されたラベルとを関連付けた教師データが生成される。こうして生成された教師データは、記憶部12に教師データセットDSとして格納される。
【0038】
学習部144は、検出モデルを生成する。具体的に、学習部144は、記憶部12から教師データを読み出し、その教師データを機械学習させた学習済みの検出モデルを生成する。学習済みの検出モデルは、画像に含まれる物体Wの所定情報を検出する。より詳しくは、検出モデルは、物体Wが写っている画像が入力されると、物体Wの所定情報、即ち物体Wの位置および物体Wの属性(この例では、色)を出力する。学習部144で生成された学習済みの検出モデルは、例えば、記憶部12に格納される。
【0039】
検出部145は、学習済みの検出モデルを用いて、画像の中から物体Wを検出し、さらに、物体Wの位置および色を検出する。具体的に、検出部145は、記憶部12から読み出した検出モデルに画像を入力することで、物体Wの位置および色を出力する。つまり、検出部145では、検出モデルによる検出処理が行われる。
【0040】
検出部145は、検出を行った画像であって検出失敗の物体Wがある画像、即ち第2画像Dbを記憶部12に格納する。つまり、検出部145は、検出処理を行うと、第2画像Dbを記憶部12に格納する。その際、検出部145は、第2画像Dbを、検出モデルによる検出結果と紐づけて記憶部12に記憶させる。なお、検出部145は、第2画像Dbだけでなく、検出失敗の物体Wが全くない画像も記憶部12に格納するようにしてもよい。
【0041】
ラベル付与部142は、第2画像Dbにおいて、検出失敗の物体Wに所定情報を示すラベルをユーザの入力操作に応じて付与する一方、検出成功の物体Wの所定情報を示すラベルは検出モデルによる検出結果をもって代用する。検出成功の物体Wについては、物体Wの位置および色が適切に検出されている。そのため、その成功の検出結果をラベルとして利用することで、ユーザの入力操作に応じてラベルを付与する処理が省略される。つまり、第2画像Dbに対するラベルの付与処理は、第2画像Dbに写っている全ての物体Wに関してではなく、検出失敗の物体Wに関してのみ行われる。この例では、検出失敗の物体Wは、未検出の物体Wまたは誤検出の物体Wである。
【0042】
生成部143は、第2画像Dbと、検出失敗の物体Wに付されたラベルおよび検出成功の物体Wの検出結果との組を教師データとして生成する。こうして、生成部144は、学習済みの検出モデルに再学習させる教師データを生成する。
【0043】
より詳しくは、ラベル付与部142は、表示部13に表示されている第1画像Daおよび第2画像Dbに含まれる物体Wにその所定情報を示すマークがユーザの入力操作によって付されることで、ラベルを付与する。なお、第2画像Dbに関しては、第2画像Dbに含まれる検出失敗の物体Wにユーザの入力操作によってマークが付される。具体的に、ラベル付与部142は、ユーザの入力操作に応じて物体Wにマークを付すことで、マークの位置を物体Wの位置として付与する。マークの位置は、ロボットアーム42が、物体Wに対してマークの位置に基づいて所定の処理を行う位置として設定される。具体的に、マークの位置は、ロボットアーム42が、物体Wに対して把持する位置として設定される。つまり、この例では、ロボットアーム42が物体Wに対して行う所定の処理は、物体Wを把持する処理である。また、ラベル付与部142は、物体Wの属性情報に応じて区別された色のマークを物体Wに付すことで、物体Wの属性情報を付与する。この例では、ラベル付与部142は、瓶の色に応じて区別された色のマークを瓶に付すことで、瓶の色情報を付与する。
【0044】
さらに、表示制御部141は、第2画像Dbを表示部13に表示させる際、第2画像Dbに含まれる検出成功の物体Wに検出モデルによる検出結果を示すマークを付す。つまり、表示制御部141は、ラベル付与部142によるラベルの付与処理と同様のマーク、即ち、第2画像Dbにおける検出成功の物体Wの所定情報を示すマークを付す。そのため、第2画像Dbに紐づけられた検出モデルによる検出結果をもって、ラベルの付与処理を代用することができる。
【0045】
次に、制御装置1における処理の概略について説明する。制御装置1では、生成部143が、第1画像Daにラベルを付与して、学習前の検出モデルに学習させるための教師データを生成する。以下、この教師データの生成処理を第1の生成処理と称する。続いて、学習部144は、第1の生成処理で生成した教師データを用いて機械学習させた検出モデルを生成する。次に、検出部145は、撮像装置2から出力された画像に対して検出モデルを用いて検出処理を行い、その検出処理を行った第2画像Dbを検出モデルの検出結果と紐づけて記憶部12に格納する。生成部143は、第2画像Dbにラベルを付与して、学習済みの検出モデルに再学習させるための、学習済みの検出モデルを更新するための教師データを生成する。以下、この教師データの生成処理を第2の生成処理と称する。学習部144は、第2の生成処理で生成された教師データを用いて検出モデルを更新する。
【0046】
次に、前述した教師データの第1の生成処理および第2の生成処理の詳細について、
図5を参照しながら説明する。
図5は、教師データ生成装置の生成処理を示すフローチャートである。このフローチャートは、第1の生成処理および第2の生成処理について共通である。
【0047】
図6は、表示部13において第1画像Daが選択された状態の一例を示す図である。まず、ステップS1において、第1画像Daが取得される。具体的に、表示制御部141は、記憶部12から第1画像Daを読み出す。このとき、読み出す第1画像Daの枚数を設定し得る。
図6に示すように、表示制御部141にって取得された複数枚の第1画像Daは、表示部13にサムネイル一覧131として表示される。なお、この生成処理では、表示制御部141が、表示部13にGUI画面を表示させる。
【0048】
続くステップS2では、サムネイル一覧131から第1画像Daが選択される。具体的には、ユーザは、ラベルを付与する対象の第1画像Daをサムネイル一覧131から選択する。より詳しくは、ユーザは、マウスのポインタPで対象の第1画像Daを選択する。この例では、画像リストの最上位の第1画像DaがポインタPで選択される(
図6参照)。表示制御部141、ユーザによって選択された第1画像Daを、表示部13の中央に拡大表示させる。なお、
図6以降の図では、ハッチングを付した瓶が茶色の瓶または割れ片を示す。
【0049】
図7は、表示部13において第1画像Daの物体Wにマークを付す様子の一例を示す図である。続くステップS3では、ラベル付与部142が、拡大表示された第1画像Daに対してラベルを付与する。
図7に示すように、ユーザは、第1画像Daにおける物体W(瓶)の一つ一つにポインタPで指定する入力操作を行うことで、物体Wにラベルが付与される。より具体的には、ユーザがポインタPで物体Wにおける所定の位置を指定すると、その指定した位置にマークMが付与される。所定の位置は、ロボットアーム42が把持し易いと思われる位置を目視で指定する。これにより、第1画像Daに対して、物体Wの位置を示すラベルが付与される。
【0050】
また、マークMは、物体Wの色に応じて色分けされている。この例では、表示部13におけるクラス指定部132に示すように、茶色の瓶か透明な瓶かでマークMが色分けされている。さらに、この例では、物体Wの状態によっても、マークMが色分けされている。つまり、瓶の割れ片か否かに応じてマークMが色分けされている。マークMの色の指定は、ユーザが、クラス指定部132においてポインタPで色および状態(即ち、割れ片か否か)を指定することで行われる。こうして、物体Wに付したマークMの色を指定することにより、第1画像Daに対して、物体Wの色および状態を示すラベルが付与される。なお、
図7以降の図では、説明の便宜上、物体Wの色および状態に応じてマークMの形状を変えている。
【0051】
こうして、物体WにマークMを付すと、その物体Wの位置情報およびクラス情報(即ち、色および状態)が、表示部13における左側に、ラベル付与一覧136として表示される。ラベル付与一覧136では、マークMが付されたそれぞれの物体Wの位置情報137およびクラス情報138が表示される。
図8は、表示部13において第1画像Daの全ての物体Wにマークが付与された状態の一例を示す図である。
図8に示すように、第1画像Daにおいて全ての物体WにマークMを付与すると、この第1画像Daに対するラベルの付与は終了する。つまり、ユーザは、表示部13における保存ボタン139をポインタPで押す。これにより、第1画像Daにおける全ての物体Wの位置情報およびクラス情報が確定する。
【0052】
ステップS4では、教師データが生成される。つまり、生成部143が、第1画像Daと第1画像Daに付与されたラベルとの組を教師データとして生成する。例えば、第1画像Daに複数の物体Wが含まれる場合には、1つの第1画像Daと複数のラベとの組が教師データとして生成される。続くステップS5では、生成部143は、生成した教師データを、記憶部12に格納する。以上により、教師データの第1の生成処理が終了する。以上のステップS1からステップS5の処理が、サムネイル一覧131の第1画像Daごとに行われる。
【0053】
学習部144は、こうして生成された教師データを用いて学習済みの検出モデルを生成する。そして、例えばロボットシステム100が稼働されると、検出部145は、学習済みの検出モデルを用いて、撮像装置2によって撮影された画像について検出処理を行っていく。その際、第2画像Dbが、検出モデルによる検出結果と紐づけられて記憶部12に蓄積されていく。
【0054】
次に、第2の生成処理について、同じく
図5のフローチャートに基づいて説明する。
図9~
図15は、表示部13における第2画像Dbの一例を示す図である。なお、
図9~
図15では、表示部13のGUI画面に表示された第2画像Dbのみを示している。
【0055】
まず、ステップS1において、表示制御部141が、第2画像Dbを取得する。具体的に、表示制御部141は、記憶部12から第2画像Dbを読み出す。このとき、読み出す第2画像Dbの枚数を設定し得る。取得された複数枚の第2画像Dbは、第1画像Daと同様、表示部13にサムネイル一覧131として表示される。この第2の生成処理においても、第1の生成処理と同様、表示部13にはGUI画面が表示されている。
【0056】
続くステップS2では、第2画像Dbが拡大表示される。具体的には、ユーザは、対象の第2画像Dbをサムネイル一覧131から選択する。表示制御部141は、選択された第2画像Dbを、表示部13の中央に拡大表示させる。その際、表示制御部141は、選択された第2画像Dbと紐づけられている検出モデルによる検出結果を示すマークMを第2画像Dbにおける検出成功の物体Wに付す。
【0057】
続くステップS3では、ラベルが付与され得る。例えば、ステップS2で選択された第2画像Dbが
図9に示す画像である場合について説明する。この
図9の第2画像Dbは、検出部145による検出処理によって検出されなかった未検出の物体Wa(即ち、検出失敗の物体W)が存在する画像である。なお、誤検出の物体は存在しないとする。つまり、検出された物体W(即ち、検出成功の物体W)には表示制御部141によってマークMが付されており、未検出の物体WaにはマークMが付されていない。
【0058】
この
図9の第2画像Dbの場合、
図10に示すように、ユーザは、未検出の物体Waに対してのみ、マークMを付することでラベルを付与する。その際、前述の生成動作におけるラベル付与と同様、物体Waにおける所定の位置にマークMを付し、物体Waの色および状態に応じてマークMの色を指定する。このように、検出された物体Wに関しては、その物体Wに付されたマークM(即ち、検出結果)を利用することで、ラベルの付与処理が省略される。そのため、ラベルの付与処理の時間が短縮される。こうして、
図11に示すように、全ての未検出の物体Waに対してラベルの付与処理が完了すると、ステップS3は終了する。なお、未検出の物体Waの属性が新規の属性である場合、ユーザは、表示部13に表示されているクラス追加ボタン133をポインタPで押して、クラス指定部132において新規の属性情報を追加する。
【0059】
また、ステップS2で選択された第2画像Dbが
図12に示す画像である場合について説明する。この
図12の第2画像Dbは、検出部145による検出処理によって誤検出された物体Wb(即ち、検出失敗の物体W)が存在する画像である。なお、未検出の物体は存在しないとする。
【0060】
この例では、物体Wbのクラス情報(詳しくは、色情報)が誤検出されている。この場合、ユーザは、誤検出の物体Wbに付されている誤ったマークMをポインタPで指定し、表示部13に表示されているクラス変更ボタン135を押す。ユーザは、クラス変更ボタン135を押した後、クラス指定部132で正しい色を指定することで、誤ったマークMの色が変更される(
図13参照)。こうして、ステップS3は終了する。この場合も、検出された物体W(即ち、検出成功の物体W)に関しては、その物体Wに付されたマークM(即ち、検出結果)を利用することで、ラベルの付与処理が省略される。
【0061】
また、ステップS2で選択された第2画像Dbが
図14に示す画像である場合について説明する。この
図14の第2画像Dbは、検出部145による検出処理によって誤検出された物体Wc(即ち、検出失敗の物体W)が存在する画像である。なお、未検出の物体は存在しないとする。
【0062】
この例では、物体Wcの位置情報が誤検出されている。つまり、物体Wcに付されているマークMの位置が所定の位置から大きくずれている。この場合、ユーザは、誤検出の物体Wcに付されているマークMをポインタPで指定して所定の位置まで移動させる(
図15参照)。これにより、誤検出の物体Wcに付されたマークMが正しい位置に変更され、ステップS3は終了する。この場合も、検出された物体W(即ち、検出成功の物体W)に関しては、その物体Wに付されたマークM(即ち、検出結果)を利用することで、ラベルの付与処理が省略される。
【0063】
また、ステップS2で選択された第2画像Dbが
図16に示す画像である場合について説明する。この
図16の第2画像Dbは、検出部145による検出処理によってマークMaが物体Wの存在しない位置に付されている画像である。
【0064】
この例では、マークMaがバケットBの壁に付されている。この場合、ユーザは、マークMaをポインタPで指定して、表示部13における削除ボタン134を押す。これにより、マークMaは第2画像Dbから削除され、ステップS3は終了する。この場合も、検出された物体W(即ち、検出成功の物体W)に関しては、その物体Wに付されたマークM(即ち、検出結果)を利用することで、ラベルの付与処理が省略される。
【0065】
このようにしてステップS3が終了すると、ステップS4へ移行する。ステップS4では、教師データが生成される。つまり、生成部143が、第2画像Dbと、検出失敗の物体Wに付与されたラベルおよび検出成功の物体Wの検出結果との組を教師データとして生成する。第2画像Dbに基づいて教師データを生成する際は、前述したように第2画像Dbに対するラベルの付与処理の時間が短縮されるので、教師データの生成に要する時間が短縮される。続くステップS5において、生成部143は、生成した教師データを記憶部12に格納する。以上により、第2の生成処理が終了する。以上のステップS1からステップS5の処理が、サムネイル一覧131の第2画像Dbごとに行われる。
【0066】
以上のように、制御装置1は、画像に含まれる物体Wおよび物体Wの所定情報を検出する学習済みの検出モデルに再学習させる教師データを生成する。制御装置1(教師データ生成装置)は、画像に含まれる物体Wに対して、所定情報を示すラベルをユーザの入力操作に応じて付与するラベル付与部142と、画像と画像に付与されたラベルとの組を教師データとして生成する生成部143と、検出モデルによる検出が行われた画像であって少なくとも1つの物体Wについて検出が失敗した第2画像Dbを、検出モデルによる検出結果と紐づけて記憶する記憶部12とを備えている。そして、ラベル付与部142は、記憶部12の第2画像Dbにおいて、検出失敗の物体Wに所定情報を示すラベルをユーザの入力操作に応じて付与する一方、検出成功の物体Wの所定情報を示すラベルは検出モデルによる検出結果をもって代用する。生成部143は、記憶部12の第2画像Dbと、検出失敗の物体Wに付されたラベルおよび検出成功の物体Wの検出結果との組を教師データとして生成する。
【0067】
また、生成プログラムPG(教師データ生成プログラム)は、画像に含まれる物体Wおよび物体Wの所定情報を検出する学習済みの検出モデルに再学習させる教師データを生成する機能をコンピュータに実現させる。生成プログラムPGは、画像に含まれる物体Wに対して、所定情報を示すラベルをユーザの入力操作に応じて付与する機能と、画像と画像に付与されたラベルとの組を教師データとして生成する機能と、検出モデルによる検出が行われた画像であって少なくとも1つの物体Wについて検出が失敗した第2画像Dbを、検出モデルによる検出結果と紐づけて記憶する機能と、記憶されている第2画像Dbにおいて、検出失敗の物体Wに所定情報を示すラベルをユーザの入力操作に応じて付与する一方、検出成功の物体Wの所定情報を示すラベルは検検出モデルによる検出結果をもって代用する機能と、第2画像Dbと、検出失敗の物体Wに付されたラベルおよび検出成功の物体Wの検出結果との組を教師データとして生成する機能とをコンピュータに実現させる。
【0068】
これらの構成によれば、検出成功の物体Wについては、所定情報が適切に検出されている。そのため、その成功の検出結果を利用することで、ラベルの付与処理が代用される。つまり、第2画像Dbに対するラベルの付与処理は、全ての物体Wに関してではなく、検出失敗の物体Wに関してのみ行われる。これにより、検出失敗の物体Wに対するラベルの付与処理が省略されるので、第2画像Dbに対するラベルの付与処理が軽減される。そのため、第2画像Dbに対するラベルの付与処理の時間を短縮することができる。そして、生成部143は、第2画像Dbと、検出失敗の物体Wに付与されたラベルおよび検出成功の物体Wの検出結果との組を教師データとして生成する。このように、第2画像Dbに基づいて教師データを生成する際は、第2画像Dbに対するラベルの付与処理の時間が短縮される。したがって、学習済みの検出モデルに再学習させる教師データの生成に要する時間を短縮することができる。
【0069】
また、制御装置1は、第2画像Dbを表示する表示部13をさらに備えている。ラベル付与部142は、表示部13に表示された第2画像Dbに含まれる検出失敗の物体Wに所定情報を示すマークがユーザの入力操作によって付されることで、ラベルを付与する。
【0070】
この構成によれば、表示部13表示されている第2画像Dbの物体WにマークMを付すことでラベルが付与されるので、視認しながらラベルの付与処理を行うことができる。また、マークMの形状や色を変えることで、物体Wに応じたラベルの識別が容易となる。これらのことから、ラベルの付与処理の容易性が向上する。
【0071】
また、制御装置1は、記憶部12の第2画像Dbを表示部13に表示させる表示制御部141をさらに備えている。表示制御部141は、記憶部12の第2画像Dbを表示部13に表示させる際、記憶部12の第2画像Dbに含まれる検出成功の物体Wに検出結果を示すマークを付す。
【0072】
この構成によれば、第2画像Dbにおける検出成功の物体Wには、検出結果を示すマークMが付されるので、検出結果を一層利用し易くなる。そのため、ラベルの付与処理を容易に検出結果で代用することができ、容易にラベルの付与処理を省略することができる。
【0073】
また、制御装置1において、物体Wの所定情報は、物体Wの位置情報である。ラベル付与部142は、ユーザの入力操作によって物体Wに付されたマークMの位置を物体の位置情報としてラベルを付与する。
【0074】
この構成によれば、表示されている物体Wに付したマークMを付すことで物体Wの位置情報を示すラベルが付与されるので、ラベルの付与処理が容易になる。
【0075】
また、マークMの位置は、ロボットアーム42が、物体Wに対してマークMの位置に基づいて所定の処理を行う位置として設定される。
【0076】
この構成によれば、マークMの位置からロボットアーム42による処理に関する位置を容易に把握することができる。そのため、物体Wに対するロボットアーム42の処理動作の制御が容易になる。
【0077】
また、マークMの位置は、ロボットアーム42が、物体Wに対して把持する位置として設定される。
【0078】
この構成によれば、マークMの位置からロボットアーム42による把持位置を容易に把握することができる。そのため、物体Wに対するロボットアーム42の把持動作の制御が容易になる。
【0079】
また、制御装置1において、物体Wの所定情報は、物体Wの属性情報である。ラベル付与部142は、物体Wの属性情報に応じて区別された色のマークMを物体Wに付すことで、物体Wの属性情報を付与する。
【0080】
この構成によれば、物体Wの属性情報に応じてマークMに色が区別されるので、物体Wごとの属性情報に対する視認性が高まる。そのため、ラベルの付与処理の容易性が向上する。
【0081】
また、制御装置1において、検出失敗の物体Wは、未検出の物体Wまたは誤検出の物体Wである。
【0082】
この構成によれば、未検出や誤検出は検出失敗の典型的な形態であるため、第2画像Dbに対するラベルの付与処理を効果的に軽減することができる。
【0083】
《その他の実施形態》
以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【0084】
例えば、物体Wの属性に応じてマークMの色を変えるようにしたが、色に代えてマークMの形状を変えるようにしてもよい。
【0085】
また、検出失敗の物体Wは、未検出の物体Wのみを対象としてもよいし、誤検出の物体Wのみを対象としてもよい。
【0086】
また、物体Wの所定情報は、物体Wの位置情報および属性情報の何れか一方であってもよい。また、物体Wの属性情報は、物体Wの色に限らず、物体Wの形状や大きさであってもよい。
【0087】
また、前記実施形態の制御装置1(即ち、教師データ生成装置)は、教師データを生成する機能だけでなく、学習部144による学習機能および検出部145による検出機能も備えるようにしたが、ここに開示された技術は、これに限らず、学習部144および検出部145の少なくとも一方を単独で設けるようにしてもよい。つまり、教師データ生成装置は、学習部144および検出部145の両方を省略した装置であってもよいし、学習部144または検出部145を省略した装置であってもよい。
【0088】
また、制御装置1は、教師データの生成処理のうち第1の生成処理を省略した装置、即ち、第2の生成処理のみを行う装置であってもよい。つまり、学習済みの検出モデルを外部から購入して搭載するような制御装置1であってもよい。
【0089】
また、ロボットアーム42が物体Wに対して行う所定の処理は、物体Wを把持する以外に、物体Wに対する塗装や溶接、ネジ締め等であってもよい。
【0090】
本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、および/または、それらの組み合わせ、を含む回路または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、または手段は、列挙された機能を実行するハードウェアであるか、または、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、またはユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェアおよび/またはプロセッサの構成に使用される。
【符号の説明】
【0091】
1 制御装置(教師データ生成装置)
12 記憶部
13 表示部
42 ロボットアーム
141 表示制御部
142 ラベル付与部
143 生成部
Da 第1画像
Db 第2画像
PG 生成プログラム(教師データ生成プログラム)
W 物体
M マーク