(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-14
(45)【発行日】2023-11-22
(54)【発明の名称】情報処理装置、情報処理方法、および情報処理プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20231115BHJP
【FI】
G06T7/00 350B
(21)【出願番号】P 2019188126
(22)【出願日】2019-10-11
【審査請求日】2022-09-01
(73)【特許権者】
【識別番号】000005119
【氏名又は名称】日立造船株式会社
(73)【特許権者】
【識別番号】516283603
【氏名又は名称】東京エコサービス株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】三木 裕介
(72)【発明者】
【氏名】三宅 寿英
(72)【発明者】
【氏名】藤丸 雅弘
(72)【発明者】
【氏名】牧 恒男
(72)【発明者】
【氏名】桑野 雅史
【審査官】新井 則和
(56)【参考文献】
【文献】特開2015-079308(JP,A)
【文献】特開2018-081629(JP,A)
【文献】特開2019-061496(JP,A)
【文献】特開2019-106090(JP,A)
【文献】特開2019-046007(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
複数種類の第1の検出対象を検出できるように機械学習された第1の学習済みモデルに入力データを入力して上記第1の検出対象を検出する第1検出部と、
上記第1の検出対象とは異なる第3の検出対象を検出できるように機械学習された第3の学習済みモデルに上記入力データを入力して上記第3の検出対象を検出する第2検出部と、を備え、
上記第1検出部の検出結果と、上記第2検出部の検出結果とに基づいて、最終の検出結果を確定
し、
上記第1検出部が第1の検出対象として検出した検出対象から、上記第2検出部が第3の検出対象として検出したものを除いた残りを、上記第1の検出対象の検出結果とする検出結果統合部を備えている、ことを特徴とする情報処理装置。
【請求項2】
上記入力データは画像データであり、
上記第1検出部が、上記画像データの解像度を低下させたデータを上記第1の学習済みモデルに入力するか、または、
上記第2検出部が、上記画像データの解像度を低下させたデータ
を上記第3の学習済みモデルに入力する、ことを特徴とする請求項
1に記載の情報処理装置。
【請求項3】
1または複数の情報処理装置により実行される情報処理方法であって、
複数種類の検出対象を検出できるように機械学習された第1の学習済みモデルに入力データを入力して、該入力データから上記検出対象を検出する第1検出ステップと、
上記第1の学習済みモデルとは異なる検出対象を検出できるように機械学習された第3の学習済みモデルに上記入力データを入力して、該入力データから検出対象を検出する第2検出ステップと
、
上記第1検出ステップの検出結果と、上記第2検出ステップの検出結果とに基づいて、最終の検出結果を確定する確定ステップと、を含
み、
上記確定ステップでは、上記第1検出ステップで検出された検出対象から、上記第2検出ステップで検出対象として検出されたものを除いた残りを、最終の検出結果とする、ことを特徴とする情報処理方法。
【請求項4】
請求項1に記載の情報処理装置としてコンピュータを機能させるための情報処理プログラムであって、上記第1検出部
、上記第2検出部
、および上記検出結果統合部としてコンピュータを機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習により構築された学習済みモデルを用いて検出対象を検出する情報処理装置等に関する。
【背景技術】
【0002】
近年、深層学習などの機械学習の発展により、画像上での物体の認識・検出精度が向上し、画像認識を用いた用途が広がりつつある。しかし、現状の検出精度は100%ではないため、用途をさらに広げるためにさらなる工夫が必要となる。
【0003】
例えば、下記の特許文献1に記載の画像認識装置は、物体を撮影した画像について複数種類のテンプレートによりパターンマッチングを行う。そして、この画像認識装置は、複数種類のテンプレートとのパターン一致が判定された場合であって、テンプレートそれぞれ同士が重なる度合が閾値以上である場合は、テンプレート内の少なくとも一つに係る認識対象物であると認識する。これにより、一種類のテンプレートによりパターンマッチングを行う場合と比べて認識精度を向上させることが可能になる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2008-165394号公報(2008年7月17日公開)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述のような従来技術には、検出精度を向上させる余地がある。例えば、歩行者検知用のテンプレートと看板検知用のテンプレートを用いた場合、歩行者検知用のテンプレートで歩行者の検出漏れが生じた場合、看板検知用のテンプレートでは歩行者は検知されないので、歩行者の検出漏れを補う手段はない。また、歩行者用のテンプレートで誤検出が生じた場合(例えば街路樹を歩行者と誤認識した場合)にも、その誤検出を補う手段はない。また、検出対象が物体ではない場合(例えば音のデータを学習済みモデルに入力して、所定の音成分を検出する場合)に、特許文献1のような複数のテンプレートを用いたときにも、同様に検出精度を向上させる余地がある。
【0006】
本発明の一態様は、機械学習済みモデルを用いた検出の検出精度を高めることが可能な情報処理装置等を実現することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、複数種類の第1の検出対象を検出できるように機械学習された第1の学習済みモデルに入力データを入力して上記第1の検出対象を検出する第1検出部と、上記複数種類の第1の検出対象の少なくとも一部である第2の検出対象を検出できるように機械学習された第2の学習済みモデルに上記入力データを入力して上記第2の検出対象を検出するか、または、上記第1の検出対象とは異なる第3の検出対象を検出できるように機械学習された第3の学習済みモデルに上記入力データを入力して上記第3の検出対象を検出する第2検出部と、を備え、上記第1検出部の検出結果と、上記第2検出部の検出結果とに基づいて、最終の検出結果を確定する。
【0008】
上記の課題を解決するために、本発明の一態様に係る情報処理方法は、1または複数の情報処理装置により実行される情報処理方法であって、複数種類の検出対象を検出できるように機械学習された第1の学習済みモデルに入力データを入力して、該入力データから上記検出対象を検出する第1検出ステップと、上記複数種類の検出対象の少なくとも一部を検出できるように機械学習された第2の学習済みモデルか、または、上記第1の学習済みモデルとは異なる検出対象を検出できるように機械学習された第3の学習済みモデルに上記入力データを入力して、該入力データから検出対象を検出する第2検出ステップと、を含み、上記第1検出ステップの検出結果と、上記第2検出ステップの検出結果とに基づいて、最終の検出結果を確定する確定ステップと、を含む。
【発明の効果】
【0009】
本発明の一態様によれば、機械学習済みモデルを用いた検出の検出精度を高めることが可能になる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態1に係る情報処理装置の制御部の機能ブロック図の一例である。
【
図2】上記情報処理装置を含む不適物検出システムの構成例を示すブロック図である。
【
図3】ごみ焼却施設において、ごみ収集車がごみをごみピット内に投下している様子を示す図である。
【
図5】上記情報処理装置が実行する処理の流れを説明する図である。
【
図6】学習済みモデルの構築と再学習を説明する図である。
【
図7】本発明の実施形態2に係る情報処理装置が備える制御部の構成例を示すブロック図である。
【
図8】上記情報処理装置が実行する処理の流れを説明する図である。
【
図9】本発明の実施形態3に係る情報処理装置が備える制御部の構成例を示すブロック図である。
【
図10】上記情報処理装置が実行する処理の流れを説明する図である。
【発明を実施するための形態】
【0011】
〔実施形態1〕
近年、ごみ焼却施設への焼却不適物(以下、単に不適物と呼ぶ)の投入が問題となっている。不適物が焼却炉に投入されることで、焼却炉における燃焼の悪化、焼却炉の灰出し設備での閉塞などが発生したり、場合によっては、焼却炉を緊急停止させたりすることもある。従来は、ごみ焼却施設の従業員が、収集したごみをランダムに選択し、選択したごみに不適物が含まれていないかを手作業で確認しており、作業員の負担が大きかった。
【0012】
また、ごみ焼却施設へ運搬される不適物を減らすために、ごみを収集する担当者に注意喚起しようとした場合、運搬されたごみの中から不適物を検出して、検出された不適物を収集の担当者に提示するシステムが必要となる。この場合、実際には不適物ではないものを、不適物であるとして提示することは好ましくない。また、撮影した画像をそのまま担当者に見せる場合、不適物がどのタイミングでどの位置に写っているかを把握しにくいため好ましくない。
【0013】
本発明の一実施形態に係る情報処理装置1は、上記のような問題点を解決できるものである。情報処理装置1は、ごみ焼却施設に搬入されたごみから不適物を検出する機能を備えている。具体的には、情報処理装置1は、ごみピットに投入される途中のごみを撮影した画像を用いて、不適物を検出する。なお、ごみピットについては
図4に基づいて後述する。また、不適物はごみの投下後に検出してもよい。また、不適物とは、ごみ焼却施設に設けられた焼却炉で焼却すべきでない物体である。不適物の具体例については後述する。
【0014】
〔システム構成〕
本実施形態に係る不適物検出システムの構成を
図2に基づいて説明する。
図2は、不適物検出システム100の構成例を示すブロック図である。不適物検出システム100は、情報処理装置1、ごみ撮影装置2、車両情報収集装置3、選択表示装置4、および不適物表示装置5を含む。
【0015】
また、
図2には、情報処理装置1のハードウェア構成の例についても示している。図示のように、情報処理装置1は、制御部10、高速記憶部11、大容量記憶部12、画像IF(インタフェース)部13、車両情報IF部14、選択表示IF部15、不適物表示IF部16を備えている。情報処理装置1は、一例として、パーソナルコンピュータ、サーバー、またはワークステーションであってもよい。
【0016】
制御部10は、情報処理装置1の各部を統括して制御するものである。
図1に基づいて後述する制御部10の各部の機能は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現することもできるし、ソフトウェアによって実現することもできる。このソフトウェアには、コンピュータを後述する
図1、7、9に記載の制御部10に含まれる各部として機能させる情報処理プログラムが含まれていてもよい。ソフトウェアによって実現する場合、制御部10は、例えばCPU(Central Processing Unit)で構成してもよいし、GPU(Graphics Processing Unit)で構成してもよく、これらの組み合わせで構成してもよい。また、この場合、上記ソフトウェアは、大容量記憶部12に保存しておく。そして、制御部10は、上記ソフトウェアを高速記憶部11に読み込んで実行する。
【0017】
高速記憶部11と大容量記憶部12は、何れも情報処理装置1が使用する各種データを記憶する記憶装置である。高速記憶部11は大容量記憶部12と比べて高速でデータの書き込みおよび読出しが可能な記憶装置である。大容量記憶部12は高速記憶部11と比べてデータの記憶容量が大きい。高速記憶部11としては、例えばSDRAM(Synchronous Dynamic Random-Access Memory)等の高速アクセスメモリを適用することもできる。また、大容量記憶部12としては、例えばHDD(Hard Disk Drive)、SSD(Solid-State Drive)、SD(Secure Digital)カード、あるいはeMMC(embedded Multi-Media Controller)等を適用することもできる。
【0018】
画像IF部13は、ごみ撮影装置2と情報処理装置1とを通信接続するためのインタフェースである。また、車両情報IF部14は、車両情報収集装置3と情報処理装置1とを通信接続するためのインタフェースである。これらのIF部は、有線通信用のものであってもよいし、無線通信用のものであってもよい。例えば、これらのIF部として、USB(Universal Serial Bus)、LAN(Local-Area Network)や無線LAN等を適用することもできる。
【0019】
選択表示IF部15は、選択表示装置4と情報処理装置1とを通信接続するためのインタフェースである。また、不適物表示IF部16は、不適物表示装置5と情報処理装置1とを通信接続するためのインタフェースである。これらのIF部も、有線通信用のものであってもよいし、無線通信用のものであってもよい。例えば、これらのIF部として、HDMI(High-Definition Multimedia Interface、登録商標)、DisplayPort、DVI(Digital Visual Interface)、VGA(Video Graphics Array)端子、S端子、あるいはRCA端子等を適用することもできる。
【0020】
ごみ撮影装置2は、ごみピットに投下される途中のごみを撮影し、撮影画像を情報処理装置1へ送信する。以降、この撮影画像をごみ画像と呼ぶ。一例として、ごみ撮影装置2は、動画を撮影するハイスピードシャッターカメラであってもよい。なお、ごみ画像は、動画像であってもよいし、連続して撮影された時系列の静止画像であってもよい。ごみ画像は、画像IF部13を介して情報処理装置1に入力される。そして、入力されたごみ画像は、そのまま制御部10で処理することもできるし、高速記憶部11あるいは大容量記憶部12に保存した後で、制御部10で処理することもできる。
【0021】
車両情報収集装置3は、ごみを搬入し、該ごみをごみピット内に投下する車両(いわゆるごみ収集車)の識別情報を収集して情報処理装置1へ送信する。なお、ごみ収集車によるごみピットへのごみの投下については
図4に基づいて後述する。この識別情報は、搬入車両特定部105が、ごみの搬入主体を特定するために使用される。上記識別情報は、例えば、ナンバープレートのナンバー等を示す情報であってもよい。この場合、車両情報収集装置3は、ナンバープレートを撮影し、撮影した画像を識別情報として情報処理装置1へ送信するものであってもよい。また、車両情報収集装置3は、ごみ収集車の識別情報の入力を受け付けて情報処理装置1へ送信するものであってもよい。
【0022】
選択表示装置4は、情報処理装置1が検出した不適物の画像を表示する。不適物検出システム100では、情報処理装置1が、不適物ではないものを不適物と誤判定する可能性を考慮して、情報処理装置1が検出した不適物の画像を選択表示装置4に表示させて、その画像に写っているものが不適物であるか否かを目視確認させる。そして、目視確認の担当者は、選択表示装置4に表示された画像の中から、不適物が写っている画像を選定する。
【0023】
不適物表示装置5は、情報処理装置1が検出した不適物の画像のうち、選択表示装置4を介して選定された不適物の画像、すなわち不適物が写っていることが目視確認された画像を表示する。不適物表示装置5は、上記不適物を搬入した担当者や事業者等への注意喚起のために上記画像を表示する。
【0024】
〔ごみ画像の撮影〕
図3は、ごみ焼却施設において、ごみ収集車200がごみをごみピット内に投下している様子を示す図である。
図4は、ごみピット内を示す図である。ごみピットは、ごみ焼却施設に収集されたごみを一時的に格納する場所であり、ごみピット内のごみは順次焼却炉に送り込まれて焼却される。
図3に示すように、ごみ焼却施設には扉300A、300Bといった複数の扉(以降、区別する必要が無い場合、扉300と総称する)が設けられている。また、
図4に示すように、扉300の先にはごみピットが設けられている。つまり、扉300が開放されることで、ごみピットへごみを投下するための投下口が現れる。
図3に示すように、ごみ収集車200は、投下口からごみをごみピット内に投下する。
【0025】
ごみ撮影装置2は、
図4のスロープ600を流れるごみを撮影可能な位置に取り付ける。例えば、
図3および
図4に示す取付箇所400にごみ撮影装置2を取り付けてもよい。取付箇所400は、各扉300の表面に位置しているから、取付箇所400にごみ撮影装置2を取り付けた場合、扉300が開いたときにごみ撮影装置2がスロープ600の上方に位置することになり、この位置がごみの撮影に好適である。無論、ごみ撮影装置2の取り付け箇所は、スロープ600を流れるごみを撮影可能な任意の位置とすることができる。
【0026】
また、車両情報収集装置3が撮影装置である場合、車両情報収集装置3も取付箇所400に取り付けてもよい。ごみ収集車200が扉300に接近する段階では、扉300が閉まっているため、取付箇所400に取り付けた車両情報収集装置3からごみ収集車200のナンバープレート等を撮影することができる。無論、車両情報収集装置3の取り付け箇所は、ごみ収集車200を撮影可能な任意の位置とすることができ、ごみ撮影装置2とは異なる箇所に取り付けてもよい。また、車両情報収集装置3は、例えば情報の入力装置であってもよく、この場合、車両情報収集装置3をオペレータルームに取り付けて、オペレータによるごみ収集車200の識別情報の入力を受け付ける構成としてもよい。
【0027】
〔装置構成〕
情報処理装置1の構成を
図1に基づいて説明する。
図1は、情報処理装置1の制御部10の機能ブロック図の一例である。
図1に示す制御部10には、第1検出部101、第2検出部102、学習部103、選択表示制御部104、搬入車両特定部105、および不適物表示制御部106が含まれている。また、
図1に示す大容量記憶部12には、入力データ格納部121、検出結果格納部122、学習済みモデル格納部123、および教師データ格納部124が含まれている。
【0028】
第1検出部101は、複数種類の第1の検出対象を検出できるように機械学習された第1の学習済みモデルに入力データを入力して上記第1の検出対象を検出する。なお、複数種類の検出対象を検出する、とは、第1の学習済みモデルで学習させた分類(クラスとも呼ばれる)が複数あることを意味する。
【0029】
また、第2検出部102は、複数種類の第1の検出対象の少なくとも一部である第2の検出対象を検出できるように機械学習された第2の学習済みモデルに上記入力データを入力して上記第2の検出対象を検出する。本実施形態では、複数種類の第1の検出対象が複数種類の不適物であり、第2の検出対象も不適物である例を説明する。なお、第1の検出対象と第2の検出対象には、不適物と外観が類似しているが不適物ではない物体が含まれていてもよい。
【0030】
上記第1の学習済みモデルおよび第2の学習済みモデルは学習済みモデル格納部123から、上記入力データは入力データ格納部121から読み出される。詳細は後述するが、第1の学習済みモデルおよび第2の学習済みモデルは、教師データ格納部124に格納されている元教師データ124aを用いた機械学習により構築される。また、第1の検出対象および第2の検出結果は、検出結果格納部122に保存される。これらの検出結果は、追加教師データ122aとして用いられる。追加教師データ122aを教師データ格納部124にコピーしたものが追加教師データ124bである。第1の学習済みモデルおよび第2の学習済みモデルの再学習は、教師データ格納部124に格納されている元教師データ124aと追加教師データ124bを用いて行われる。
【0031】
第1の学習済みモデルと第2の学習済みモデルは、機械学習により構築されたモデルであればよい。本実施形態では、第1の学習済みモデルと第2の学習済みモデルが、深層学習により構築したニューラルネットワークの学習済みモデルである例を説明する。より詳細には、これらの学習済みモデルは、画像を入力データとして、その画像に写る検出対象物の物体情報を出力する。物体情報には、物体の分類を示す識別子、位置、大きさ、形状等を示す情報が含まれていてもよい。また、物体情報には、検出結果の確からしさを示す確率値が含まれていてもよい。この確率値は、例えば0~1の数値であってもよい。
【0032】
また、第1検出部101と第2検出部102は、上記の確率値に基づいて物体検出を行ってもよい。この場合、予め検出閾値を設定しておき、上記の確率値が閾値より大きい物体を検出した物体としてもよい。検出閾値が大きいほど検出精度は高くなるが、見逃しが多くなり、検出閾値が小さいほど見逃しが少なくなるが、誤検出が増えるので、必要とされる検出精度等に応じて適切な検出閾値を設定すればよい。なお、学習済みモデルの構築については
図6に基づいて後述する。
【0033】
学習部103は、第1の学習済みモデルと第2の学習済みモデルの再学習を行う。また、第1の学習済みモデルと第2の学習済みモデルの構築も学習部103が行う構成としてもよい。学習済みモデルの構築と再学習については
図6に基づいて後述する。なお、第1の学習済みモデル用の学習部103と第2の学習済みモデル用の学習部103をそれぞれ別に設けてもよい。
【0034】
選択表示制御部104は、第1検出部101と第2検出部102の検出結果に基づいて確定された検出結果(例えば不適物が写っていると判定された画像)を選択表示装置4に表示させる。目視確認の担当者は、表示された画像に不適物が写っているかを確認し、不適物が写っている画像を選定する。そして、選択表示制御部104は、目視確認の担当者による画像の選定を受け付ける。これにより、誤検出をほぼ確実に回避することができる。
【0035】
搬入車両特定部105は、車両情報収集装置3がから受信する識別情報を用いてごみの搬入車両(例えば
図3のごみ収集車200)を特定する。そして、不適物表示制御部106は搬入車両特定部105が特定した搬入車両が過去に搬入したごみから情報処理装置1が不適物を検出していた場合、上記不適物の画像を不適物表示装置5に表示させる。これにより、当該搬入車両でごみを搬入した担当者に対して不適物の画像を提示して注意喚起することができる。
【0036】
以上のように、情報処理装置1は、複数種類の第1の検出対象を検出できるように機械学習された第1の学習済みモデルに入力データを入力して上記第1の検出対象を検出する第1検出部101と、上記複数種類の第1の検出対象の少なくとも一部である第2の検出対象を検出できるように機械学習された第2の学習済みモデルに上記入力データを入力して上記第2の検出対象を検出する第2検出部102と、を備えている。そして、情報処理装置1は、第1検出部101の検出結果と、第2検出部102の検出結果とに基づいて、最終の検出結果を確定する。具体的には、情報処理装置1では、第1検出部101および第2検出部102が、共通の出力先に検出結果を出力するので、この共通の出力先に出力された検出結果を最終の検出結果とする。
【0037】
上記の構成によれば、第1の学習済みモデルと第2の学習済みモデルの検出対象の少なくとも一部が重複しているため、当該重複部分について誤検出が生じる可能性を低減することができる。例えば、不適物である板と不適物ではない段ボールとは、外観が類似していることがあり、このような場合には、板を段ボールと誤検出したり、段ボールを板と誤検出したりすることがあり得る。上記の構成によれば、第1の学習済みモデルと第2の学習済みモデルの一方で、上述の板と段ボールのような誤検出が生じたとしても、他方でその物体を正しく検出できていれば、最終的にはその物体の正しい検出結果を出力することができる。よって、機械学習済みモデルを用いた検出の検出精度を高めることが可能になる。
【0038】
また、上記の構成によれば、第1検出部101が、複数種類の第1の検出対象を検出できるように機械学習された第1の学習済みモデルを用いるため、複数種類の第1の検出対象を一括して効率的に検出することができる。
【0039】
なお、最終の検出結果を決定する方法は、第1検出部101および第2検出部102の検出結果の出力先を共通化する方法に限られない。例えば、検出結果を統合するためのブロックを制御部10に追加して、このブロックによって第1検出部101および第2検出部102の検出結果を統合し、最終の検出結果としてもよい。統合の方法としては、例えば下記のような方法が挙げられる。
【0040】
(1)第1検出部101の検出結果に第2検出部102の検出結果を加えて最終の検出結果とする(例えば、ある画像から第1検出部101が不適物A、Bを検出し、同じ画像から第2検出部102が不適物B、Cを検出した場合に、当該画像からの最終の検出結果を不適物A、B、Cとする等。)。
【0041】
(2)第1検出部101の検出結果と第2検出部102の検出結果の共通部分を最終の検出結果とする(例えば、ある画像から第1検出部101が不適物A、B、Cを検出し、同じ画像から第2検出部102が不適物Bを検出した場合に、当該画像からの最終の検出結果を不適物Bとする等。)。
【0042】
(3)第1検出部101の検出結果に第2検出部102の検出結果を加えるが、両検出結果が整合しない部分は最終の検出結果から除外する(例えば、物体Xと物体Yが写る画像について、第1検出部101は物体Xが不適物A、物体Yが不適物Bであると検出し、第2検出部102は物体Xが不適物A、物体Yが不適物Cであると検出した場合に、最終の検出結果を不適物Aとする等。)。
【0043】
〔処理の流れ〕
図5は、本実施形態の情報処理装置1が実行する処理の流れを説明する図である。本実施形態の情報処理装置1が実行する処理とその実行順序は、例えば、
図5に示す設定ファイルF1により定義することができると共に、同図のフローチャートで表すこともできる。
【0044】
(設定ファイルについて)
図5に示す設定ファイルF1は、セクションごとに区切られたデータ構造である。1つのセクションは、セクション名から開始する。
図5の例では、“[”と“]”に囲まれた文字列がセクション名であり、具体的には[EX1]と[EX2]がセクション名である。1つのセクションは、次のセクションの開始または設定ファイル終了により終了する。1つのセクションに各段階で実行する内容を定義する。
【0045】
セクションの実行は、本例ではセクション順とするが、この例に限られず、例えばセクション名の一部に実行順を定義してもよい。また、セクション毎に異なったアルゴリズムを実行してもよい。例えば、セクション毎に中間層の数が異なったニューラルネットワークを用いて処理を行うアルゴリズムを実行してもよいし、異なった内部処理を行うアルゴリズムを実行してもよい。なお、上述の各定義は、設定ファイルではなく、他の手段(例えば
図5のフローチャートを実行する際の引数)で行ってもよい。
【0046】
設定ファイルF1では、以下のように変数である<KEY>毎に定義を行う。<KEY>の値が<VALUE>である。
【0047】
<KEY> = <VALUE>
本例の<KEY>では、セクション毎に「script」、「src」、および「dst」の3つを定義している。このうち「script」は、実行するスクリプトのファイル名を示す。スクリプトファイルは、例えば不適物を検出するアルゴリズムであり、このアルゴリズムには、不適物検出以外の処理が含まれていてもよい。
【0048】
また、「src」は、スクリプトの実行に用いる入力データを示す。例えば、画像から物体検出を行うスクリプトの場合、「src」は、大容量記憶部12における処理対象の画像の格納場所や、処理対象の画像リストを示すものとしてもよい。そして、「dst」は、スクリプト実行の結果の出力先を示す。例えば、「dst」は、大容量記憶部12上の場所を示すものであってもよい。なお、実行時に使うその他パラメータ等は、例えば「script」に定義してもよい。
【0049】
制御部10が設定ファイルF1を読み込み、設定ファイルF1の[EX1]に定義されている、ファイル名が「ex1」であるスクリプトファイルを実行することにより、制御部10は第1検出部101として機能する。そして、第1検出部101は、「ex_src」を参照して処理対象の画像を特定し、特定した画像から物体検出を行って、その結果を「ex_dst」に記録する。次に、制御部10が、[EX2]に定義されているファイル名が「ex2」であるスクリプトファイルを実行することにより、制御部10は第2検出部102として機能する。そして、第2検出部102は、「ex_src」を参照して処理対象の画像を特定し、特定した画像から物体検出を行って、その結果を「ex_dst」に記録する。
【0050】
設定ファイルF1の[EX1]における「ex1」は、上述の第1の学習済みモデルにより入力データである画像から物体検出するスクリプトである。また、[EX2]における「ex2」は、上述の第2の学習済みモデルにより入力データである画像から物体検出するスクリプトである。
【0051】
また、設定ファイルF1における[EX1]と[EX2]は、「src」、および「dst」の値が共通している。つまり、第1検出部101と第2検出部102は、処理対象の画像が共通であり、該画像からの物体検出結果の出力先も共通している。
【0052】
設定ファイルF1における[EX1]として、例えば
図5に示すスクリプトSC11(スクリプトファイル名:ex1)を適用してもよい。本スクリプトファイルはLinux(登録商標)を含むUNIX(登録商標)形式のシェルスクリプト例であるが、例えばDOS(Disk Operating System)のBatch形式等の他の形式であってもよい。
【0053】
本スクリプトファイルを用いる場合、
図5に示すように、(1)設定ファイル項目を元に、(2)スクリプトが実行される。ここで、ex1が前述の通りに実行するスクリプトファイル名であり、ex_srcおよびex_dstは引数としてスクリプトに渡される。ex1スクリプト(SC11)は一行から構成され、ここでは第1検出部101の実行ファイル(第1検出コマンド)が実行されるが、この例ではこのコマンドは三つの引数を使っている。第1引数$1にはex1の引数ex_srcが渡され、第2引数$2にはex1の引数ex_dstが渡され、第三引数が学習済みモデル(第1の学習済みモデル)のファイル名である。第1の学習済みモデルとしては、例えば全ての検出対象物を機械学習した学習済みモデルを用いる。検出対象物は、例えば、段ボール、板、木、ござ、および長尺物としてもよい。これらの検出対象物のうち、板、木、ござ、および長尺物は不適物である。段ボールは不適物ではないが、板と外観が類似しているため検出対象物に含めている。このように、不適物と外観が類似したごみを検出対象物に含めることにより、不適物の検出漏れや誤検出が生じる可能性を低減することができる。
【0054】
なお、本例の実行ファイルは三つの引数を用いているが、必要に応じて例えばその他設定項目(検出する閾値等)を引数として用いてもよい。また、必要に応じて引数の順番を変更してもよい。なお、SC11は一行のみから構成されているが、例えば第1検出部101による処理前や処理後のコマンド(例えば前処理や後処理のコマンド)も必要に応じて追加してもよい。例えば、入力データの整理を行うコマンドや、実行後のログデータから必要な情報を抽出するコマンドなどを追加してもよい。
【0055】
スクリプトSC11を用いる場合、例えば、src=ex_srcにて、ごみ撮影装置2で撮影された動画像のファイル(以下、動画ファイルと呼ぶ)あるいは複数の静止画ファイルを指定してもよい。これにより、当該動画ファイルからの検出結果(例えば物体が検出された画像および物体の位置や大きさ情報等)が「ex_dst」に保存される。
【0056】
設定ファイルF1における[EX2]としてスクリプトSC12を適用してもよい。SC11とSC12の違いは実行する実行ファイル名と利用する学習済みモデルである。また、[EX2]は、[EX1]の検出対象物のうち、特に検出漏れを避けたいものを検出対象物とするものとしてもよい。例えば、木の検出漏れを避けたい場合、[EX2]は木を検出対象物とするものとしてもよい。これにより、[EX1]で木が検出漏れした場合であっても、[EX2]で木を検出できれば、全体として木の検出漏れが生じることがない。また、[EX1]を全ての検出対象物の一部を検出するものとした場合、[EX2]は全ての検出対象物の他の一部を検出するものとしてもよい。この場合も、[EX1]の検出対象物と、[EX2]の検出対象物の少なくとも1つを重複させておく。なお、SC11とSC12ではそれぞれ別の実行ファイルを用いているが、学習済みモデルのみが違う場合、第1検出コマンドおよび第2検出コマンドは同じであってもよい。すなわち、第1検出部101および第2検出部102は同じであってもよい。
【0057】
(フローチャートについて)
図5に示すフローチャートの処理(情報処理方法)を説明する。このフローチャートは同図に示す設定ファイルF1に沿った処理の流れを示している。このフローチャートの処理が行われる前に、ごみ撮影装置2で撮影された動画ファイルが入力データ格納部121の「ex_src」に格納されているとする。なお、動画ファイルの代わりに、該動画ファイルから抽出された複数のフレーム画像またはごみ撮影装置2により時系列で撮影された複数の静止画ファイルが格納されていてもよい。
【0058】
S11(第1検出ステップ)では、第1検出部101が、入力データ格納部121に格納されている画像から第1の学習済みモデルにより物体検出を行う。具体的には、第1検出部101は、入力データ格納部121の「ex_src」に格納されている動画ファイルから抽出したフレーム画像を入力データとし、そのフレーム画像をスクリプト名「ex1」の学習済みモデルに入力して物体情報を出力させる。そして、第1検出部101は、物体情報に基づいて物体が検出されたか否かを判定し、物体が検出された場合には、そのフレーム画像と物体情報とを対応付けて検出結果とし、検出結果格納部122の「ex_dst」に記録する。これらの処理は、「ex_src」に格納されている動画ファイルから抽出したフレーム画像のそれぞれについて行われる。
【0059】
S12(第2検出ステップ、確定ステップ)では、第2検出部102が、S11と同じフレーム画像から第2の学習済みモデルにより物体検出を行う。このように、第1の学習済みモデルと第2の学習済みモデルに入力する入力データを同じデータとすることにより、検出漏れの発生を抑えることができる。これは、一方の学習済みモデルによる検出で不適物の検出漏れが生じたときでも、他方による検出でその不適物が検出できれば、全体として検出漏れが生じることがないからである。
【0060】
S12において、第2検出部102は、具体的には、入力データ格納部121の「ex_src」に格納されている動画ファイルから抽出されたフレーム画像を入力データとし、そのフレーム画像をスクリプト名「ex2」の学習済みモデルに入力して物体情報を出力させる。そして、第2検出部102は、物体情報に基づいて物体が検出されたか否かを判定し、物体が検出された場合には、そのフレーム画像と物体情報とを対応付けて検出結果とする。第2検出部102は、この検出結果を第1検出部101の検出結果と共通の出力先である、検出結果格納部122の「ex_dst」に記録する。これらの処理は、「ex_src」に格納されている動画ファイルから抽出したフレーム画像のそれぞれについて行われる。S12の処理の終了時点で検出結果格納部122の「ex_dst」に記録されているデータが最終の検出結果である。つまり、S12の処理により、最終の検出結果が確定する。
【0061】
S13では、検出結果の出力が行われ、これにより処理は終了する。検出結果の出力は、例えば選択表示制御部104が行ってもよい。この場合、選択表示制御部104は、S11およびS12の処理により「ex_dst」に記録されたフレーム画像と物体情報を選択表示装置4に表示させてもよい。これにより、選択表示制御部104の使用者は、情報処理装置1の検出結果が正しいか否かを目視で確認し、その確認結果を情報処理装置1に入力することができる。また、選択表示制御部104は、入力された上記の確認結果に従って不適物が写っていることが確認された画像を特定することができる。また、選択表示制御部104は、目視確認結果に基づいて、物体情報を修正してもよい。そして、目視により不適物が写っていることが確認された画像は、例えば、その不適物の搬入者が再びごみを搬入してきたとき等に、不適物表示制御部106によって不適物表示装置5に表示される。
【0062】
なお、S11の処理とS12の処理の実行順序は
図5の例に限られず、S12の処理を行った後でS11の処理を行ってもよいし、これらの処理を並行で行ってもよい。何れにせよ、S11とS12の処理の両方が終了した時点で最終の検出結果が確定する。また、
図5の例では、2つの学習済みモデルを用いているが、3つ以上の学習済みモデルを用いてもよい。この場合、設定ファイルF1に3つ目以降の学習済みモデルに対応するセクションを追加すればよい。
【0063】
〔入力データの解像度について〕
本実施形態のように、学習済みモデルに対する入力データが画像データである場合、第1検出部101は、画像データの解像度を低下させて第1の学習済みモデルに入力してもよい。あるいは、第2検出部102が、画像データの解像度を低下させて第2の学習済みモデルに入力してもよい。入力する画像データの解像度を低下させることにより、学習済みモデルを用いた物体検出処理の演算量を減らし、その所要時間を短縮することができる。
【0064】
なお、何れの学習済みモデルに対する入力データの解像度を低下させるかは、各学習済みモデルの検出対象に応じて決めておけばよい。例えば、木や板などのサイズの大きい物体の検出は低解像度の画像データでも容易であるが、缶類などのサイズの小さい物体の検出には高解像度の画像データを用いることが好ましい。このため、使用する学習済みモデルのうち、検出対象のサイズが大きいものについては、撮影されたごみ画像を低解像度化したものを入力データとしてもよい。これにより、サイズの大きい物体について、検出精度は落とすことなく、検出処理の高速化を図ることができる。なお、低解像度の画像データを入力データとする学習済みモデルは、入力データと同じ低解像度の画像データを教師データとして構築しておく。また、低解像度の画像データを入力データとして物体検出した後は、画像データの解像度を元に戻して出力する構成としてもよい。解像度を変える処理は、第1検出部101または第2検出部102が行う構成としてもよいし、解像度を変えるブロックを制御部10に別途追加してもよい。
【0065】
また、各学習済みモデルは、検出対象に応じて、中間層の数が異なっていてもよい。例えば、サイズの大きい物体の検出に用いる学習済みモデルの中間層の数は、よりサイズの小さい物体の検出に用いる学習済みモデルの中間層の数よりも少なくしてもよい。このような構成においても、上記の例と同様に、サイズの大きい物体について、検出精度は落とすことなく、検出処理の高速化を図ることができる。
【0066】
〔学習済みモデルの構築と再学習〕
上述の第1の学習済みモデルおよび第2の学習済みモデルの構築と再学習について
図6に基づいて説明する。
図6は、学習済みモデルの構築と再学習を説明する図である。ここではニューラルネットワークの学習済みモデルを構築する例を説明する。ニューラルネットワークを利用する場合、中間層を複数としてもよく、この場合の機械学習は深層学習となる。無論、中間層の数は1つとしてもよいし、ニューラルネットワーク以外の機械学習アルゴリズムを適用することもできる。
【0067】
図示のように、学習済みモデルは初期学習により構築される。そして、初期学習により構築された学習済みモデルを用いて物体検出が行われ、その物体検出結果を用いて再学習が行われ、学習済みモデルが更新される。
【0068】
初期学習には、検出対象物が写っている画像を教師画像とし、教師画像に写っている検出対象物の物体情報(例えば、物体の分類を示す識別子、位置、大きさ、形状等を示す情報)を正解データとする教師データを用いる。教師データは
図1の教師データ格納部124に保存されているとするが、初期学習で用いる教師データは元教師データ124aのみである。機械学習では、学習部103は、この教師画像をニューラルネットワークに入力し、該ニューラルネットワークの出力値が正解データに近付くように重み値を更新する処理を、教師画像を変更しながら繰り返し行う。
【0069】
機械学習において、基本的には繰り返し回数が多いほど重み値は最適な値に近付くが、過学習等の要因で、繰り返し後に重み値が最適な値から離れることもある。また、複数の検出対象物を検出する学習済みモデルを構築する場合、ある重み値を適用したときにはある検出対象物の検出精度が高いが、他の検出対象物の検出精度が低くなるということもあり得る。
【0070】
そこで、
図6の例では、重み値の異なる複数の学習済みモデル1~Iを生成している。そして、これらの学習済みモデルの中から上述の第1の学習済みモデルとして適用するものと、上述の第2の学習済みモデルとして適用するものとを選定する。例えば、学習済みモデル1~Iのそれぞれに、検出対象物が写っている画像をテストデータとして入力し、その出力値から各検出対象物の検出精度を算出して、算出した検出精度を基準として上記選定を行ってもよい。なお、これらの学習済みモデルは学習済みモデル格納部123に保存される。
【0071】
また、この選定では、第1の学習済みモデルと第2の学習済みモデルの両方の検出精度が低い検出対象物が生じないようにすることが好ましい。例えば、第1の学習済みモデルが長尺物の検出精度が低い場合、長尺物の検出精度が高いものを第2の学習済みモデルとすることが好ましい。なお、学習済みモデル1~Iから第1の学習済みモデルと第2の学習済みモデルの両方を選定する必要はない。例えば、学習済みモデル1~Iから第1の学習済みモデルを選定した場合、別途構築した複数の学習済みモデルから第2の学習済みモデルを選定してもよい。
【0072】
また、学習済みモデルの選定は、人手によって行ってもよいし、情報処理装置1に行わせてもよい。後者の場合、学習済みモデルの選定基準を予め設定し、その選定基準を充足するか否かの判定に必要な情報(例えば各学習済みモデルにおける各検出対象物の検出精度を示す情報)を情報処理装置1に入力するか、算出させればよい。
【0073】
このようにして選定した第1の学習済みモデルと第2の学習済みモデルを用いて検出対象画像から物体検出を行うことにより、
図5に基づいて説明したように、物体が検出された画像と物体情報が検出結果格納部122に記録されていく。学習部103は、この画像を教師画像とし、この画像の物体情報を正解データとして追加した教師データと、初期学習に用いた元教師データ124aとを用いて再学習を行う。なお、教師データとして使用する画像と物体情報は、選択表示装置4を介した目視により正しいことが確認されたものとすることが好ましい。ここで選ばれた教師データは追加教師データ122aとし、再学習のために教師データ格納部124に追加教師データ124bとしてコピーしてもよい。なお、ここで追加教師データ124bは追加教師データ122aのコピーとしているが、コピーせずに124bを122aと同じにしてもよい。
【0074】
なお、検出結果格納部122には画像および物体情報が記録されるが、入力データが静止画の場合は画像を保存する必要はなく、入力データの画像ファイル名のみを記録してもよい。
【0075】
再学習では、学習部103は、教師データ格納部124に格納されている元教師データ124aと追加教師データ124bとを用いて学習を行い、重み値の異なる複数の再学習済みモデル1~Jを構築する。そして、その中から第1の学習済みモデルと第2の学習済みモデルが選定される。初期学習との相違点は、機械学習に使用する教師データに追加教師データ124bが追加されている点である。教師データが追加されることにより、学習済みモデルの検出精度の向上が期待できる。なお、再学習では、学習部103は、物体検出の結果として記録されている物体情報の全てを使用する必要はなく、該物体情報の一部を選定して使用してもよい。また、学習部103は、再学習を複数回繰り返してもよい。また、実施形態2以降の各学習済みモデルも上記と同様にして構築することができ、また再学習することができる。
【0076】
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。これは後述の実施形態3も同様である。
【0077】
〔制御部の構成例〕
本実施形態の情報処理装置1の制御部10の構成例を
図7に基づいて説明する。
図7は、実施形態2に係る情報処理装置1が備える制御部10の構成例を示すブロック図である。また、
図7では、大容量記憶部12についても併せて図示している。
【0078】
図7に示すように、制御部10には、第1検出部201、第2検出部202A、および第2検出部202Bが含まれている。なお、学習部103、選択表示制御部104、搬入車両特定部105、および不適物表示制御部106は実施形態1と同様であるから図示を省略している。
【0079】
第1検出部201は、複数種類の第1の検出対象を検出できるように機械学習された第1の学習済みモデルに入力データを入力して上記第1の検出対象を検出する。第1検出部201は、実施形態1の第1検出部101と同様の機能を有しているが、第1検出部201の検出結果に基づいて第2検出部202Aおよび第2検出部202Bが使用する入力データが決定される点で、第1検出部101と相違している。
【0080】
第2検出部202Aは、複数種類の第1の検出対象の少なくとも一部である第2の検出対象Aを検出できるように機械学習された第2の学習済みモデルAに上記入力データ(第1検出部201の検出結果)を入力して上記第2の検出対象Aを検出する。第2の検出対象Aについては、第2検出部202Aの検出結果が最終の検出結果となる。第2検出部202Aは、第2の学習済みモデルAに対する入力データとして、第1検出部201に対する入力データのうち、第1検出部201が検出対象を検出した入力データを用いる点で、実施形態1の第2検出部102と相違している。
【0081】
第2検出部202Bは、第2検出部202Aと同様に、第1検出部201によって検出対象が検出された入力データを第2の学習済みモデルBに入力して該入力データ(第1検出部201の検出結果)から、複数種類の第1の検出対象の少なくとも一部である第2の検出対象Bを検出する。第2の検出対象Bについては、第2検出部202Bの検出結果が最終の検出結果となる。なお、第2の検出対象Aと第2の検出対象Bは、異なる物体である。
【0082】
以上のように、情報処理装置1は、複数種類の第1の検出対象を検出できるように機械学習された第1の学習済みモデルに入力データを入力して上記第1の検出対象を検出する第1検出部201と、上記複数種類の第1の検出対象の少なくとも一部である第2の検出対象を検出できるように機械学習された第2の学習済みモデルに上記入力データを入力して上記第2の検出対象を検出する第2検出部202Aと、を備えている。そして、情報処理装置1は、第1検出部201の検出結果と、第2検出部202Aの検出結果とに基づいて、最終の検出結果を確定する。具体的には、本実施形態の情報処理装置1では、第2検出部202Aは、上記複数の入力データのうち第1検出部201によって上記第1の検出対象が検出された入力データを第2の学習済みモデルに入力して第2の検出対象Aを検出し、第2の検出対象Aについては、第2検出部202Aの検出結果を最終の検出結果とする。また、第2検出部202Bは、上記複数の入力データのうち第1検出部201によって上記第1の検出対象が検出された入力データを第2の学習済みモデルBに入力して第2の検出対象Bを検出し、第2の検出対象Bについては、第2検出部202Bの検出結果を最終の検出結果とする。
【0083】
上記の構成によれば、第1の学習済みモデルと第2の学習済みモデルAの検出対象の少なくとも一部が重複しているため、当該重複部分について誤検出が生じる可能性を低減することができる。同様に、第1の学習済みモデルと第2の学習済みモデルBの検出対象の少なくとも一部も重複しているため、当該重複部分について誤検出が生じる可能性を低減することができる。よって、機械学習済みモデルを用いた検出の検出精度を高めることが可能になる。また、上記の構成によれば、第1検出部201が、複数種類の第1の検出対象を検出できるように機械学習された第1の学習済みモデルを用いるため、複数種類の第1の検出対象を一括して効率的に検出することができる。
【0084】
なお、最終の検出結果を決定する方法は、上述の方法に限られない。例えば、実施形態1で説明したように、検出結果を統合するためのブロックを制御部10に追加して、このブロックによって第1検出部201および第2検出部202Aの検出結果を統合し、最終の検出結果としてもよい。第1検出部201および第2検出部202Bの検出結果の統合についても同様である。また、実施形態1の「入力データの解像度について」で説明した例と同様に、第1の学習済みモデルの入力データか、第2の学習済みモデルAおよび第2の学習済みモデルBの何れかまたは両方の入力データとして、解像度を低下させた画像データを用いてもよい。
【0085】
なお、
図7の例では、第1検出部201の検出対象物の一部を検出するブロックとして第2検出部202Aおよび第2検出部202Bの2つを記載している。しかし、第1検出部201の検出対象物の一部を検出するブロックは1つのみであってもよいし、3つ以上であってもよい。
【0086】
〔処理の流れ〕
図8は、本実施形態の情報処理装置1が実行する処理の流れを説明する図である。本実施形態の情報処理装置1が実行する処理とその実行順序は、例えば、
図8に示す設定ファイルF2により定義することができると共に、同図のフローチャートで表すこともできる。
【0087】
(設定ファイルについて)
設定ファイルF2では、[EX_all]、[EX_goza]、および[EX_tree]という3つのセクションがこの順序で定義されている。それぞれのスクリプトの詳細は省略するがSC11およびSC12と同様である。[EX_all]で用いる学習済みモデルはSC11と同じであり、全ての検出対象物(例えば、段ボール、板、木、ござ、および長尺物)を検出するセクションである。[EX_goza]は、検出対象物のうちござの検出に特化したセクションであり、[EX_tree]は、検出対象物のうち木の検出に特化したセクションである。
【0088】
[EX_goza]および[EX_tree]のsrcは、何れも[EX_all]のdstである「all_res」である。つまり、[EX_goza]は、[EX_all]により少なくとも何れかの検出対象物が検出された画像からござを検出し、[EX_tree]は、[EX_all]により少なくとも何れかの検出対象物が検出された画像から木を検出する。そして、[EX_goza]によるござの検出結果は「goza_res」に出力され、[EX_tree]による木の検出結果は「tree_res」に出力される。これらの検出結果が最終の検出結果となる。
【0089】
(フローチャートについて)
制御部10は、[EX_all]に定義されているファイル名が「all」であるスクリプトファイルを実行することにより、第1検出部201として機能する。また、制御部10は、上記スクリプトファイルの実行終了後に、[EX_goza]に定義されているファイル名が「goza」であるスクリプトファイルを実行することにより、第2検出部202Aとして機能する。そして、制御部10は、上記スクリプトファイルの実行終了後に、[EX_tree]に定義されているファイル名が「tree」であるスクリプトファイルを実行することにより、第2検出部202Bとして機能する。
【0090】
以下、これらの処理部が実行する処理(情報処理方法)をフローチャートに基づいて説明する。このフローチャートの処理が行われる前に、ごみ撮影装置2で撮影された動画ファイルが入力データ格納部121の「all_src」に格納されているとする。なお、動画ファイルの代わりに、該動画ファイルから抽出された複数のフレーム画像またはごみ撮影装置2により時系列で撮影された複数の静止画ファイルが格納されていてもよい。
【0091】
S21(第1検出ステップ)では、第1検出部201が、第1の学習済みモデルを用いて、入力データ格納部121に格納されている処理対象画像から全ての検出対象物について物体検出を行う。具体的には、第1検出部201は、入力データ格納部121の「all_src」に格納されている動画ファイルから抽出したフレーム画像を入力データとし、そのフレーム画像をスクリプト名「all」の学習済みモデルに入力して物体情報を出力させる。そして、第1検出部201は、フレーム画像から物体が検出された場合には、そのフレーム画像と物体情報とを対応付けて検出結果とし、検出結果格納部122の「all_res」に記録する。これらの処理は、上記動画ファイルから抽出したフレーム画像のそれぞれについて行われる。
【0092】
上述のように、「all_res」に記録されたフレーム画像は、[EX_goza]および[EX_tree]の入力データとなり、ござと木については再度の検出が試みられる。このため、第1検出部201は、ござと木の誤検出が増えても、ござと木の見逃し、すなわちフレーム画像に写るござや木が検出できないことは避けることが好ましい。よって、第1の学習済みモデルの出力値に基づく物体検出において、該出力値に含まれる確率値と比較する検出閾値は低めに設定してもよい。
【0093】
S22(第2検出ステップ、確定ステップ)では、第2検出部202Aが、S21で物体が検出された画像から第2の学習済みモデルAにより、本例における第2の検出対象Aであるござの検出を行う。具体的には、第2検出部202Aは、検出結果格納部122の「all_res」に記録されているフレーム画像を入力データとし、そのフレーム画像をスクリプト名「goza」の学習済みモデルに入力して物体情報を出力させる。そして、第2検出部202Aは、ござが検出されたと判定した場合には、そのフレーム画像と物体情報とを対応付けて検出結果とし、検出結果格納部122の「goza_res」に記録する。これらの処理は、「all_res」に格納されているフレーム画像のそれぞれについて行われる。S22の処理の終了時点で検出結果格納部122の「goza_res」に記録されているデータがござについての最終の検出結果である。つまり、S22の処理により、ござの最終の検出結果が確定する。
【0094】
S23では、第2検出部202Bが、S21で物体が検出された画像から第2の学習済みモデルBにより、本例における第2の検出対象Bである木の検出を行う。具体的には、第2検出部202Bは、検出結果格納部122の「all_res」に記録されているフレーム画像を入力データとし、そのフレーム画像をスクリプト名「tree」の学習済みモデルに入力して物体情報を出力させる。そして、第2検出部202Bは、木が検出されたと判定した場合には、そのフレーム画像と物体情報とを対応付けて検出結果とし、検出結果格納部122の「tree_res」に記録する。これらの処理は、「all_res」に格納されているフレーム画像のそれぞれについて行われる。S23の処理の終了時点で検出結果格納部122の「tree_res」に記録されているデータが木についての最終の検出結果である。つまり、S23の処理により、木の最終の検出結果が確定する。
【0095】
S24では、
図5のS13と同様にして検出結果の出力が行われ、これにより処理は終了する。なお、ござの検出結果は検出結果格納部122の「goza_res」から読み出せばよく、木の検出結果は検出結果格納部122の「tree_res」から読み出せばよい。また、ござと木以外の検出対象物の検出結果は、検出結果格納部122の「all_res」から読み出せばよい。
【0096】
[EX_all]の検出結果には、木ではないものが木として検出されたり、ござではないものがござとして検出されたりする誤検出が含まれ得る。しかし、上記の処理によれば[EX_all]で何らかの物体が検出されたフレーム画像については、[EX_tree]と[EX_goza]による物体検出に供されるので、ござと木を高精度に検出することができる。
【0097】
また、上記の構成によれば、[EX_tree]と[EX_goza]の2つを用いて物体検出する場合と比べて、処理が高速化される場合がある。例えば、1つの動画ファイルから200枚のフレーム画像を抽出した場合、[EX_tree]と[EX_goza]の2つを用いれば、[EX_tree]と[EX_goza]のそれぞれにより200枚のフレーム画像が処理される。この場合、物体検出処理は、合計で400回行われる。一方、上記の構成によれば、最初に、200枚のフレーム画像のそれぞれが[EX_all]によって処理される。ここで、30枚のフレーム画像で物体が検出されたとすると、[EX_tree]と[EX_goza]のそれぞれで処理されるフレーム画像は30枚となり、物体検出処理は合計で260回行われることになる。よって、物体検出処理の実行回数を大きく削減して、当該処理の所要時間を大きく削減することができる。
【0098】
〔実施形態3〕
本実施形態の情報処理装置1の制御部10の構成例を
図9に基づいて説明する。
図9は、実施形態3に係る情報処理装置1が備える制御部10の構成例を示すブロック図である。また、
図9では、大容量記憶部12についても併せて図示している。
【0099】
図9に示すように、制御部10には、ごみ画像抽出部301、第1検出部302、第2検出部303、および検出結果統合部304が含まれている。なお、学習部103、選択表示制御部104、搬入車両特定部105、および不適物表示制御部106は実施形態1と同様であるから図示を省略している。
【0100】
ごみ画像抽出部301は、物体検出の対象となる画像(例えば、動画ファイルから抽出した各フレーム画像)から、ごみが写っている画像を抽出する。これにより、第1検出部302および第2検出部303が検出対象とする画像を、ごみが写っている画像に絞り込むことができるので、物体検出処理の実行回数を削減して、該処理を高速化することが可能になる。例えば、動画ファイルから抽出したフレーム画像のうち、3/4にはごみが写っていなかった場合、第1検出部302および第2検出部303は、ごみが写っているフレーム画像(全フレーム画像の1/4)を対象として物体検出処理を行えばよい。よって、全てのフレーム画像を対象として物体検出処理を行う場合と比べて、物体検出処理の実行回数を大きく削減して、当該処理の所要時間を大きく削減することができる。
【0101】
ごみ画像抽出部301は、例えば、スロープ600上をごみが流れている画像と、流れていない画像とを教師データとして構築した学習済みモデルを用いて上記抽出を行ってもよい。この学習済みモデルは、スロープ600上のごみの有無を識別できればよく、ごみの分類の判別等は不要である。よって、この学習済みモデルをニューラルネットワークのモデルとした場合、後述する第1検出部302や第2検出部303が使用する学習済みモデルと比べて、中間層の数を少なくしてもよい。
【0102】
また、ごみ画像抽出部301が使用する学習済みモデルの入力データとする画像は、第1検出部302や第2検出部303が使用する学習済みモデルの入力データとする画像よりも、低解像度の画像としてもよい。なお、第1検出部302や第2検出部303には、より高解像度の画像を入力することが好ましい。このため、ごみ画像を低解像度化してごみ画像抽出部301の入力データとした場合、ごみ画像抽出部301は、低解像度化前の解像度の画像を出力結果として保存することが好ましい。
【0103】
ごみ画像抽出部301は、情報処理装置1の必須の構成要素ではないが、第1検出部302および第2検出部303による物体検出を効率化するために含めている。ごみ画像抽出部301は、実施形態1、2の情報処理装置1にも適用可能である。
【0104】
第1検出部302は、複数種類の第1の検出対象を検出できるように機械学習された第1の学習済みモデルに入力データを入力して上記第1の検出対象を検出する。また、第2検出部303は、上記第1の検出対象とは異なる第3の検出対象を検出できるように機械学習された第3の学習済みモデルに上記入力データを入力して上記第3の検出対象を検出する。
【0105】
本実施形態の情報処理装置1においても、上述の各実施形態と同様に、第1検出部302の検出結果と、第2検出部303の検出結果とに基づいて、最終の検出結果が確定される。具体的には、検出結果統合部304が、第1検出部302の検出結果と、第2検出部303の検出結果とに基づいて最終の検出結果を確定する。
【0106】
より詳細には、検出結果統合部304は、第1検出部302が第1の検出対象として検出した検出対象から、第2検出部303が第3の検出対象として検出したものを除いた残りを、第1の検出対象の検出結果とする。言い換えれば、検出結果統合部304は、第1の学習済みモデルに基づく検出結果と、第3の学習済みモデルに基づく検出結果とが整合しない場合には、第1の学習済みモデルに基づく検出結果を無効とする。
【0107】
上記の構成によれば、第1の学習済みモデルと第3の学習済みモデルの検出対象は異なっている。このため、ある検出対象について、第1検出部302が第1の検出対象として検出したときに、同じ検出対象について、第2検出部303が第3の検出対象として検出することがあり得る。このような場合、第1検出部302と第2検出部303の何れかが誤検出していると判断できる。したがって、第1検出部302が第1の検出対象として検出した検出対象から、第2検出部303が第3の検出対象として検出したものを除いた残りを、第1の検出対象の検出結果とする上記の構成によれば、誤検出を低減することができる。よって、上記の構成によれば、機械学習済みモデルを用いた検出の検出精度を高めることが可能になる。また、第1検出部302は、複数種類の第1の検出対象を検出できるように機械学習された第1の学習済みモデルを用いるため、複数種類の第1の検出対象を一括して効率的に検出することができる。
【0108】
なお、本実施形態においても、実施形態1の「入力データの解像度について」で説明した例と同様にして、第1の学習済みモデルまたは第3の学習済みモデルに入力する画像データとして、解像度を低下させた画像データを用いてもよい。
【0109】
〔処理の流れ〕
図10は、本実施形態の情報処理装置1が実行する処理の流れを説明する図である。本実施形態の情報処理装置1が実行する処理とその実行順序は、例えば、
図10に示す設定ファイルF3により定義することができると共に、同図のフローチャートで表すこともできる。
【0110】
(設定ファイルについて)
設定ファイルF3では、[EX_trash]、[EX_all]、[EX_bag]、および[EX_final]という4つのセクションがこの順序で定義されている。[EX_all]は、
図5のセクション[EX1]と同じであり、全ての検出対象物(例えば、段ボール、板、木、ござ、および長尺物)を検出するセクションである。[EX_trash]は、ごみが写っている画像と写っていない画像の中からごみが写っている画像を抽出するセクションである。また、[EX_bag]はごみ袋とスロープ600(
図4参照)を検出対象とするセクションであり、[EX_final]は、[EX_all]の結果から[EX_bag]の結果を除いた結果を出力するセクションである。
【0111】
[EX_trash]のdstは「trash_res」であり、「trash_res」は[EX_all]のsrcである。つまり、[EX_trash]で抽出された画像から、[EX_all]により検出対象物の検出が行われる。
【0112】
また、[EX_all]のdstは「all_res」であり、「all_res」は[EX_bag]のsrcである。つまり、[EX_all]で少なくとも何れかの検出対象物が検出された画像から、[EX_bag]によりごみ袋とスロープ600の検出が行われる。
【0113】
そして、[EX_final]のsrcは「all_res」であり、dstは「final_res」である。「all_res」には、[EX_all]の検出結果と、[EX_bag]の検出結果が記録されるから、[EX_final]はこれらの検出結果に基づく最終の検出結果を「final_res」に出力する。
【0114】
ここで、本実施形態において、[EX_all]と[EX_bag]と[EX_final]とを組み合わせて使用する理由について説明する。ごみが入ったごみ袋の形や色は無数にあり、それゆえごみ画像に写るごみ袋とごみ袋との間の部分の形状も多様なものとなる。例えば、ごみ袋とごみ袋との間の部分が長尺の棒のように見える場合には、実際には不適物が存在しない当該部分に基づき、不適物が写っていると誤検出されることがある。このような誤検出を避けるため、ごみ袋も学習させることが好ましいが、ごみ画像に写るごみ袋の数は、例えば1枚の画像に数十個程度となることもあり、非常に多い。それゆえ、全ての教師画像に対して正解データを作ることは非常に手間がかかる。スロープ600も同様であり、スロープ600上のごみの状況に応じて、画像に写るスロープ600の外観が変わるため、全ての教師画像に対してスロープの正解データを作ることは非常に手間がかかる。
【0115】
このため、本実施形態では、不適物等を検出する[EX_all]とは別に、ごみ袋とスロープ600の検出に特化した[EX_bag]を用いる。[EX_bag]において使用する第3の学習済みモデルは、ごみ袋とスロープ600のみの教師データを用いた機械学習で構築することができる。
【0116】
[EX_final]は、[EX_all]によって不適物が検出された場所に、[EX_bag]がごみ袋またはスロープ600を検出していないか確認するためのセクションである。具体的には、[EX_final]は、[EX_all]によって不適物が検出された場所に、ごみ袋とスロープ600の何れも検出されていない場合に、当該不適物の検出結果を「final_res」に出力するセクションである。これにより、[EX_all]による不適物の検出結果のうち、[EX_bag]の検出結果からみてごみ袋またはスロープ600を不適物と誤検出した可能性があるものを除いた検出結果を速やかに選別することができる。つまり、ごみ袋またはスロープ600を不適物として誤検出してしまうことを短時間の処理で効率的に低減することができる。
【0117】
(フローチャートについて)
制御部10は、[EX_trash]に定義されているファイル名が「trash」であるスクリプトファイルを実行することにより、ごみ画像抽出部301として機能する。また、制御部10は、上記スクリプトファイルの実行終了後に、[EX_all]に定義されているファイル名が「all」であるスクリプトファイルを実行することにより、第1検出部302として機能する。そして、制御部10は、上記スクリプトファイルの実行終了後に、[EX_bag]に定義されているファイル名が「bag」であるスクリプトファイルを実行することにより、第2検出部303として機能する。さらに、制御部10は、上記スクリプトファイルの実行終了後に、[EX_final]に定義されているファイル名が「final」であるスクリプトファイルを実行することにより、検出結果統合部304として機能する。
【0118】
以下、これらの処理部が実行する処理(情報処理方法)をフローチャートに基づいて説明する。このフローチャートの処理が行われる前に、ごみ撮影装置2で撮影された動画ファイルが入力データ格納部121の「all_src」に格納されているとする。なお、動画ファイルの代わりに、該動画ファイルから抽出された複数のフレーム画像またはごみ撮影装置2により時系列で撮影された複数の静止画ファイルが格納されていてもよい。
【0119】
S31では、ごみ画像抽出部301が、処理対象画像の中からごみが写る画像を抽出する。具体的には、ごみ画像抽出部301は、入力データ格納部121の「all_src」に格納されている動画ファイルから抽出したフレーム画像をスクリプト名「trash」の学習済みモデルに入力して物体情報を出力させる。そして、ごみ画像抽出部301は、該物体情報に基づきごみが検出されたと判定したフレーム画像を検出結果格納部122の「trash_res」に記録する。これらの処理は、上記動画ファイルから抽出したフレーム画像のそれぞれについて行われる。
【0120】
S32(第1検出ステップ)では、第1検出部302が、S31で抽出されたフレーム画像から全ての検出対象物について物体検出を行う。具体的には、第1検出部302は、検出結果格納部122の「trash_res」に格納されているフレーム画像を入力データとし、そのフレーム画像をスクリプト名「all」の学習済みモデルに入力して物体情報を出力させる。そして、第1検出部302は、該物体情報に基づき物体が検出されたと判定したフレーム画像と、該物体情報とを対応付けて検出結果とし、検出結果格納部122の「all_res」に記録する。これらの処理は、「trash_res」に格納されているフレーム画像のそれぞれについて行われる。
【0121】
S33(第2検出ステップ)では、第2検出部303が、S31で抽出された画像から第3の学習済みモデルによりごみ袋とスロープ600の検出を行う。具体的には、第2検出部303は、検出結果格納部122の「trash_res」に記録されているフレーム画像を入力データとし、そのフレーム画像をスクリプト名「bag」の学習済みモデルに入力して物体情報を出力させる。そして、第2検出部303は、該物体情報に基づいて物体すなわちごみ袋またはスロープが検出されたか否かを判定し、検出されたと判定した場合には、そのフレーム画像と物体情報とを対応付けて検出結果とし、検出結果格納部122の「all_res」に記録する。これらの処理は、「trash_res」に格納されているフレーム画像のそれぞれについて行われる。
【0122】
なお、ごみ袋とスロープ600をそれぞれ別の学習済みモデルを用いて検出する構成としてもよい。また、第2検出部303の検出対象は、第1検出部302の検出対象と異なる物体であればよく、ごみ袋やスロープ600に限られない。ただし、第2検出部303の検出対象は、第1検出部302の検出対象と外観が類似している物体であることが好ましい。例えば、第2検出部303の検出対象は、不適物と外観が類似しているが不適物ではない物体(例えば段ボール等)を検出対象としてもよい。
【0123】
S34(確定ステップ)では、検出結果統合部304が、S32とS33の検出結果に基づいて最終の検出結果を確定させる。より詳細には、検出結果統合部304は、第1検出部302がS32で検出した検出物から、第2検出部303がS33でごみ袋またはスロープとして検出したものを除いた残りを、検出対象物の最終の検出結果とする。
【0124】
具体的には、検出結果統合部304は、第1検出部302が「all_res」に格納した各検出対象物の物体情報から、当該検出対象物が画像上で占める範囲を特定する。次に、検出結果統合部304は、第2検出部303が「all_res」に格納した物体情報に基づき、上記範囲にごみ袋またはスロープ600が検出されているか否かを判定する。ここで、検出結果統合部304は、上記範囲にごみ袋またはスロープ600が検出されていないと判定した場合には、その検出対象物の物体情報とフレーム画像とを対応付けて最終の検出結果とし、検出結果格納部122の「final_res」に記録する。一方、検出結果統合部304は、上記範囲にごみ袋またはスロープ600が検出されていると判定した場合には、その検出対象物の物体情報とフレーム画像は記録しない。つまり、この検出対象物の検出結果は誤検出であるとして無効にされる。
【0125】
S35では、
図5のS13と同様にして検出結果の出力が行われ、これにより処理は終了する。なお、出力する検出結果は検出結果格納部122の「final_res」から読み出せばよい。
【0126】
〔変形例〕
上述の各実施形態における物体検出や物体の分類等には、機械学習済みのニューラルネットワーク(深層学習したものを含む)以外の人工知能・機械学習アルゴリズムを用いることもできる。
【0127】
上記各実施形態で説明した各処理の実行主体は、適宜変更することが可能である。例えば、
図1、
図8、または
図10に示す各ブロックの少なくとも何れかを省略し、省略した処理部を他の一または複数の装置に設けてもよい。この場合、上述した各実施形態の処理は、一または複数の情報処理装置により実行される。
【0128】
また、上記各実施形態ではごみ画像から不適物等を検出する例を説明したが、検出対象物は任意であり、不適物等に限られない。さらに、情報処理装置1の使用する学習済みモデルに対する入力データは画像データに限られず、例えば音声データであってもよい。この場合、情報処理装置1は、入力された音声データに含まれる所定の音の成分を検出対象として検出する構成としてもよい。
【0129】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0130】
1 情報処理装置
101、201、302 第1検出部
102、202A、202B、303 第2検出部
304 検出結果統合部