(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023096970
(43)【公開日】2023-07-07
(54)【発明の名称】学習モデル生成プログラム、学習モデル生成装置及び学習モデル生成方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20230630BHJP
G06N 20/00 20190101ALI20230630BHJP
【FI】
G06T7/00 350B
G06N20/00 130
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021213059
(22)【出願日】2021-12-27
(71)【出願人】
【識別番号】506301140
【氏名又は名称】公立大学法人会津大学
(74)【代理人】
【識別番号】100094525
【弁理士】
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【弁理士】
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】齋藤 寛
(72)【発明者】
【氏名】富岡 洋一
(72)【発明者】
【氏名】小平 行秀
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA02
5L096CA25
5L096DA02
5L096FA02
5L096JA11
5L096JA16
5L096KA04
(57)【要約】 (修正有)
【課題】特定の地域において出没する野生動物を高い頻度で検出することを可能とする学習モデル生成プログラム、学習モデル生成装置及び学習モデル生成方法を提供する。
【解決手段】方法は、複数の第1訓練データを用いた機械学習を行うことによって生成した第1学習モデルを用いることによって、複数の評価データに対応する第2ラベルの判定を行い、複数の評価データのうち、第2ラベル以外の他のラベルに対応すると誤判定された評価データを誤判定データとして特定し、誤判定のラベルと類似する類似ラベルに対応するクラスと第1数のクラスとを含む第2数のクラス毎に、各クラスに分類された複数の評価データの夫々に対して第2ラベルを対応付けることによって複数の第2訓練データを生成し、複数の第2訓練データを用いた機械学習を行うことによって生成した第2学習モデルを用いて、複数の評価データに対応する第2ラベルの判定を行う。
【選択図】
図3
【特許請求の範囲】
【請求項1】
複数の画像データのそれぞれに対して前記複数の画像データのそれぞれに映る対象物に対応する第1ラベルを付加し、
同一の前記第1ラベルが付加された画像データごとに、前記複数の画像データを第1数のクラスに分類し、
前記第1数のクラスごとに、各クラスに分類された前記複数の画像データのそれぞれに対して各クラスに対応する第2ラベルを対応付けることによって、複数の第1訓練データを生成し、
前記複数の第1訓練データを用いた機械学習を行うことによって第1学習モデルを生成し、
前記第1学習モデルを用いることによって、複数の評価データに対応する前記第2ラベルの判定を行い、
前記複数の評価データのうち、各評価データに対応する前記第2ラベル以外の他のラベルに対応すると誤判定された評価データを誤判定データとして特定し、特定した前記誤判定データに対応する前記第2ラベルを誤判定ラベルとして特定し、
同一の前記第1ラベルが付加された画像データごとに、前記複数の画像データを、前記第1数のクラスと前記誤判定ラベルと類似する類似ラベルに対応するクラスとを含む第2数のクラスに分類し、
前記第2数のクラスごとに、各クラスに分類された前記複数の画像データのそれぞれに対して各クラスに対応する前記第2ラベルを対応付けることによって複数の第2訓練データを生成し、
前記複数の第2訓練データを用いた機械学習を行うことによって第2学習モデルを生成し、
前記第2学習モデルを用いることによって、前記複数の評価データに対応する前記第2ラベルの判定を行い、
前記第2学習モデルを用いた場合における前記判定の結果を示す第2コストが、前記第1学習モデルを用いた場合における前記判定の結果を示す第1コストよりも大きい場合、前記第2学習モデルが前記第1学習モデルよりも判定精度が高いこと示す情報を出力する、
処理をコンピュータに実行させることを特徴とする学習モデル生成プログラム。
【請求項2】
請求項1において、
前記第1数のクラスは、予め指定された検出対象の対象物に対応する前記第1ラベルが分類されるクラスと、前記検出対象の対象物以外の対象物に対応する前記第1ラベルが分類されるクラスとを含む、
ことを特徴とする学習モデル生成プログラム。
【請求項3】
請求項1において、
前記第1学習モデル及び前記第2学習モデルのそれぞれは、物体認識モデルまたは物体検出モデルである、
ことを特徴とする学習モデル生成プログラム。
【請求項4】
請求項1において、
前記誤判定ラベルとして特定する処理では、前記第2ラベルのうち、同一の前記他のラベルに対応すると誤認識された評価データの数が所定数以上であるラベルを、前記誤判定ラベルとして特定し、
前記第2数のクラスに分類する処理では、前記同一の他のラベルを前記類似ラベルとして特定する、
ことを特徴とする学習モデル生成プログラム。
【請求項5】
請求項4において、さらに、
前記第1ラベルの類似関係を示す類似情報を記憶部に記憶する、
処理をコンピュータに実行させ、
前記第2数のクラスに分類する処理では、前記記憶部に記憶された前記類似情報を参照し、前記誤判定ラベルと前記他のラベルとが類似関係にあることを示す情報が前記類似情報に含まれていると判定した場合、前記他のラベルを前記類似ラベルとして特定する、
ことを特徴とする学習モデル生成プログラム。
【請求項6】
請求項1において、
前記第1コストは、前記第1学習モデルを用いた場合における前記判定の結果に対応するF値であり、
前記第2コストは、前記第2学習モデルを用いた場合における前記判定の結果に対応するF値である、
ことを特徴とする学習モデル生成プログラム。
【請求項7】
請求項1において、
前記出力する処理では、前記第1コストが前記第2コストよりも大きい場合、前記第1学習モデルが前記第2学習モデルよりも判定精度が高いこと示す情報を出力する、
ことを特徴とする学習モデル生成プログラム。
【請求項8】
請求項1において、さらに、
前記複数の評価データのうち、各評価データに対応する前記第2ラベル以外の他のラベルに対応すると前記第2学習モデルによって誤判定された評価データを誤判定データとして特定し、特定した前記誤判定データに対応する前記第2ラベルを新たな誤判定ラベルとして特定し、
同一の前記第1ラベルが付加された画像データごとに、前記複数の画像データを、前記第2数のクラスと前記新たな誤判定ラベルと類似する類似ラベルに対応するクラスとを含む第3数のクラスに分類し、
前記第3数のクラスごとに、各クラスに分類された前記複数の画像データのそれぞれに対して各クラスに対応する前記第2ラベルを付加することによって、複数の第3訓練データを生成し、
前記複数の第3訓練データを用いた機械学習を行うことによって第3学習モデルを生成し、
前記第3学習モデルを用いることによって、前記複数の評価データに対応する前記第2ラベルの判定を行い、
前記第3学習モデルを用いた場合における前記判定の結果を示す第3コストが前記第2コストよりも大きい場合、前記第3学習モデルが前記第2学習モデルよりも判定精度が高いこと示す情報を出力する、
処理をコンピュータに実行させることを特徴とする学習モデル生成プログラム。
【請求項9】
複数の画像データのそれぞれに対して前記複数の画像データのそれぞれに映る対象物に対応する第1ラベルを付加するラベル付加部と、
同一の前記第1ラベルが付加された画像データごとに、前記複数の画像データを第1数のクラスに分類するクラス分類部と、
前記第1数のクラスごとに、各クラスに分類された前記複数の画像データのそれぞれに対して各クラスに対応する第2ラベルを対応付けることによって、複数の第1訓練データを生成するデータ生成部と、
前記複数の第1訓練データを用いた機械学習を行うことによって第1学習モデルを生成するモデル生成部と、
前記第1学習モデルを用いることによって、複数の評価データに対応する前記第2ラベルの判定を行うモデル評価部と、
前記複数の評価データのうち、各評価データに対応する前記第2ラベル以外の他のラベルに対応すると誤判定された評価データを誤判定データとして特定し、特定した前記誤判定データに対応する前記第2ラベルを誤判定ラベルとして特定するクラス追加部と、を有し、
前記クラス分類部は、同一の前記第1ラベルが付加された画像データごとに、前記複数の画像データを、前記第1数のクラスと前記誤判定ラベルと類似する類似ラベルに対応するクラスとを含む第2数のクラスに分類し、
前記データ生成部は、前記第2数のクラスごとに、各クラスに分類された前記複数の画像データのそれぞれに対して各クラスに対応する前記第2ラベルを対応付けることによって複数の第2訓練データを生成し、
前記モデル生成部は、前記複数の第2訓練データを用いた機械学習を行うことによって第2学習モデルを生成し、
前記モデル評価部は、前記第2学習モデルを用いることによって、前記複数の評価データに対応する前記第2ラベルの判定を行い、さらに、
前記第2学習モデルを用いた場合における前記判定の結果を示す第2コストが、前記第1学習モデルを用いた場合における前記判定の結果を示す第1コストよりも大きい場合、前記第2学習モデルが前記第1学習モデルよりも判定精度が高いこと示す情報を出力する情報出力部を有する、
ことを特徴とする学習モデル生成装置。
【請求項10】
複数の画像データのそれぞれに対して前記複数の画像データのそれぞれに映る対象物に対応する第1ラベルを付加し、
同一の前記第1ラベルが付加された画像データごとに、前記複数の画像データを第1数のクラスに分類し、
前記第1数のクラスごとに、各クラスに分類された前記複数の画像データのそれぞれに対して各クラスに対応する第2ラベルを対応付けることによって、複数の第1訓練データを生成し、
前記複数の第1訓練データを用いた機械学習を行うことによって第1学習モデルを生成し、
前記第1学習モデルを用いることによって、複数の評価データに対応する前記第2ラベルの判定を行い、
前記複数の評価データのうち、各評価データに対応する前記第2ラベル以外の他のラベルに対応すると誤判定された評価データを誤判定データとして特定し、特定した前記誤判定データに対応する前記第2ラベルを誤判定ラベルとして特定し、
同一の前記第1ラベルが付加された画像データごとに、前記複数の画像データを、前記第1数のクラスと前記誤判定ラベルと類似する類似ラベルに対応するクラスとを含む第2数のクラスに分類し、
前記第2数のクラスごとに、各クラスに分類された前記複数の画像データのそれぞれに対して各クラスに対応する前記第2ラベルを対応付けることによって複数の第2訓練データを生成し、
前記複数の第2訓練データを用いた機械学習を行うことによって第2学習モデルを生成し、
前記第2学習モデルを用いることによって、前記複数の評価データに対応する前記第2ラベルの判定を行い、
前記第2学習モデルを用いた場合における前記判定の結果を示す第2コストが、前記第1学習モデルを用いた場合における前記判定の結果を示す第1コストよりも大きい場合、前記第2学習モデルが前記第1学習モデルよりも判定精度が高いこと示す情報を出力する、
処理をコンピュータが実行することを特徴とする学習モデル生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習モデル生成プログラム、学習モデル生成装置及び学習モデル生成方法に関する。
【背景技術】
【0002】
近年、山に近い農村部の畑の農作物が熊や猪等の野生動物(以下、単に野生動物とも呼ぶ)により荒らされる被害が増加しているとともに、都市部においても野生動物が人に危害を与えるおそれが高まっている。そのため、近年では、出没した野生動物の認識や検出を行うことが可能な機械学習モデル(以下、単に学習モデルとも呼ぶ)が各種提案されている(特許文献1乃至7参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】中国特許出願公報第112615984号明細書
【特許文献2】中国特許出願公報第112989892号明細書
【特許文献3】特開2021-086441号公報
【特許文献4】特開2020-067913号公報
【特許文献5】特開2021-114930号公報
【特許文献6】特開2020-021111号公報
【特許文献7】特開2020-171248号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、上記のような野生動物の検出に用いられる学習モデルは、例えば、様々な地域に出没する多くの種類の野生動物の検出を目的として訓練されている場合がある。そのため、このような学習モデルは、例えば、特定の地域において高い頻度で出没する野生動物を高い精度で検出することができない場合がある。
【0005】
そこで、本発明の目的は、特定の地域において出没する野生動物を高い頻度で検出することを可能とする学習モデル生成プログラム、学習モデル生成装置及び学習モデル生成方法を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するための本発明における学習モデル生成プログラムは、複数の画像データのそれぞれに対して前記複数の画像データのそれぞれに映る対象物に対応する第1ラベルを付加し、同一の前記第1ラベルが付加された画像データごとに、前記複数の画像データを第1数のクラスに分類し、前記第1数のクラスごとに、各クラスに分類された前記複数の画像データのそれぞれに対して各クラスに対応する第2ラベルを対応付けることによって、複数の第1訓練データを生成し、前記複数の第1訓練データを用いた機械学習を行うことによって第1学習モデルを生成し、前記第1学習モデルを用いることによって、複数の評価データに対応する前記第2ラベルの判定を行い、前記複数の評価データのうち、各評価データに対応する前記第2ラベル以外の他のラベルに対応すると誤判定された評価データを誤判定データとして特定し、特定した前記誤判定データに対応する前記第2ラベルを誤判定ラベルとして特定し、同一の前記第1ラベルが付加された画像データごとに、前記複数の画像データを、前記第1数のクラスと前記誤判定ラベルと類似する類似ラベルに対応するクラスとを含む第2数のクラスに分類し、前記第2数のクラスごとに、各クラスに分類された前記複数の画像データのそれぞれに対して各クラスに対応する前記第2ラベルを対応付けることによって複数の第2訓練データを生成し、前記複数の第2訓練データを用いた機械学習を行うことによって第2学習モデルを生成し、前記第2学習モデルを用いることによって、前記複数の評価データに対応する前記第2ラベルの判定を行い、前記第2学習モデルを用いた場合における前記判定の結果を示す第2コストが、前記第1学習モデルを用いた場合における前記判定の結果を示す第1コストよりも大きい場合、前記第2学習モデルが前記第1学習モデルよりも判定精度が高いこと示す情報を出力する、処理をコンピュータに実行させる。
【発明の効果】
【0007】
本発明における学習モデル生成プログラム、学習モデル生成装置及び学習モデル生成方法によれば、特定の地域において出没する野生動物を高い頻度で検出することが可能になる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、第1の実施の形態における情報処理装置1の構成例を示す図である。
【
図2】
図2は、第1の実施の形態における学習モデル生成処理の概略を説明する図である。
【
図3】
図3は、第1の実施の形態における学習モデル生成処理の概略を説明する図である。
【
図4】
図4は、第1の実施の形態における学習モデル生成処理の詳細を説明するフローチャート図である。
【
図5】
図5は、第1の実施の形態における学習モデル生成処理の詳細を説明するフローチャート図である。
【
図6】
図6は、第1の実施の形態における学習モデル生成処理の詳細を説明するフローチャート図である。
【
図7】
図7は、第1の実施の形態における学習モデル生成処理の詳細を説明するフローチャート図である。
【
図8】
図8は、第1の実施の形態における学習モデル生成処理の詳細を説明するフローチャート図である。
【
図9】
図9は、第1の実施の形態における学習モデル生成処理の詳細を説明するフローチャート図である。
【
図10】
図10は、画像データDT0の具体例について説明する図である。
【
図11】
図11は、類似リストLSの具体例について説明する図である。
【
図12】
図12は、S32の処理の具体例について説明する図である。
【
図13】
図13は、S32の処理の具体例について説明する図である。
【
図14】
図14は、S32の処理の具体例について説明する図である。
【
図15】
図15は、各学習モデルMDにおけるコストの具体例について説明する図である。
【
図16】
図16は、S41の処理の具体例について説明する図である。
【
図17】
図17は、第1の実施の形態における学習モデル生成処理の詳細を説明する図である。
【
図18】
図18は、各学習モデルMDにおけるコストの具体例について説明する図である。
【
図19】
図19は、第1の実施の形態における学習モデル生成処理の詳細を説明する図である。
【
図20】
図20は、第1の実施の形態における学習モデル生成処理の詳細を説明する図である。
【
図21】
図21は、各学習モデルMDにおけるコストの具体例について説明する図である。
【
図22】
図22は、S41の処理の具体例について説明する図である。
【
図23】
図23は、第1の実施の形態における学習モデル生成処理の詳細を説明する図である。
【
図24】
図24は、各学習モデルMDにおけるコストの具体例について説明する図である。
【
図25】
図25は、S41の処理の具体例について説明する図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施の形態について説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【0010】
[第1の実施の形態における情報処理装置1の構成例]
初めに、第1の実施の形態における情報処理装置1(以下、学習モデル生成装置1とも呼ぶ)の構成例について説明を行う。
図1は、第1の実施の形態における情報処理装置1の構成例を示す図である。
【0011】
情報処理装置1は、コンピュータ装置であって、例えば、汎用的なPC(Personal Computer)である。そして、情報処理装置1は、例えば、特定の地域において出没する野生動物(以下、単に野生動物とも呼ぶ)の検出を行う学習モデルを生成する処理(以下、学習モデル生成処理とも呼ぶ)を行う。
【0012】
情報処理装置1は、汎用的なコンピュータ装置のハードウエア構成を有し、例えば、
図1に示すように、プロセッサであるCPU101と、メモリ102と、通信インタフェース103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0013】
記憶媒体104は、例えば、学習モデル生成処理を行うためのプログラム(図示しない)を記憶するプログラム格納領域(図示しない)を有する。
【0014】
また、記憶媒体104は、例えば、学習モデル生成処理を行う際に用いられる情報を記憶する記憶部110(以下、記憶領域110とも呼ぶ)を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
【0015】
CPU101は、記憶媒体104からメモリ102にロードされたプログラムを実行して学習モデル生成処理を行う。
【0016】
通信インタフェース103は、例えば、インターネット網等のネットワークNWを介して作業者端末2と通信を行う。なお、作業者端末2は、例えば、PC(Personal Computer)であり、学習モデルの生成を行う作業者(以下、単に作業者とも呼ぶ)が必要な情報の入力等を行う端末であってよい。
【0017】
[第1の実施の形態の概略]
次に、第1の実施の形態における学習モデル生成処理の概略について説明を行う。
図2及び
図3は、第1の実施の形態における学習モデル生成処理の概略を説明する図である。
【0018】
情報処理装置1の情報管理部111は、例えば、作業者が作業者端末2を介して入力した各種情報を記憶媒体104に記憶する。具体的に、情報管理部111は、例えば、学習モデルMD1や学習モデルMD2等(以下、これらを総称して単に学習モデルMDとも呼ぶ)の生成に用いる画像データDT0の入力を受け付けた場合、受け付けた画像データDT0を記憶媒体104に記憶する。
【0019】
情報処理装置1のラベル付加部112は、例えば、記憶媒体104に記憶した複数の画像データDT0のそれぞれに対して、複数の画像データDT0のそれぞれに映る対象物に対応するラベル(以下、第1ラベルとも呼ぶ)を付加する。具体的に、ラベル付加部112は、例えば、記憶媒体104に記憶した複数の画像データDT0ごとに、作業者が作業者端末2を介して指定した第1ラベルを各画像データDT0に付加する。なお、第1ラベルは、例えば、複数の画像データDT0のそれぞれに映る対象物の種類(例えば、名称)を示す情報であってよい。
【0020】
情報処理装置1のクラス分類部113は、例えば、データ生成部114が同一の第1ラベルを付加した画像データDT0ごとに、データ生成部114が第1ラベルを付加した複数の画像データDT0のそれぞれを複数のクラス(以下、第1数のクラスとも呼ぶ)に分類する。
【0021】
具体的に、クラス分類部113は、例えば、野生動物(例えば、作業者が検出を行う必要があると判断した野生動物)の種類ごとに、各種類に対応する画像データDT0を、各種類に対応する画像データDT0のみが格納されるクラスに分類する。また、クラス分類部113は、例えば、野生動物に対応する画像データDT0以外の画像データDTを、野生動物に対応する画像データDT0以外の画像データDTをまとめて格納するクラスに分類する。すなわち、クラス分類部113は、例えば、最初に生成される学習モデルMD1の生成に用いられる画像データDT0にクラス数が可能な限り少なくなるように、画像データDT0の分類を行う。
【0022】
情報処理装置1のデータ生成部114は、例えば、クラス分類部113が分類した第1数のクラスごとに、各クラスに分類された複数の画像データDT0のそれぞれに対して各クラスに対応するラベル(以下、第2ラベルとも呼ぶ)を対応付けることによって、複数の訓練データDT11(以下、第1訓練データDT11とも呼ぶ)を生成する。すなわち、データ生成部114は、例えば、各画像データDT0と各画像データDT0が分類されたクラスに対応する第2ラベルとをそれぞれ含む複数の第1訓練データDT11を生成する。
【0023】
情報処理装置1のモデル生成部115は、
図3に示すように、例えば、データ生成部114が生成した複数の第1訓練データDT11を用いて機械学習を行うことによって学習モデルMD1(以下、第1学習モデルMD1とも呼ぶ)を生成する。なお、モデル生成部115は、学習モデルMDの学習中において、例えば、複数の検証データ(図示せず)を用いることによって、第1学習モデルMD1の学習の進捗状況(第1学習モデルMDの判定精度)を判定するものであってもよい。複数の検証データは、例えば、データ生成部114によって生成された複数の第1訓練データDT11のうちの一部であってよい。具体的に、複数の検証データは、例えば、第1学習モデルMD1の生成に用いなかった複数の第1訓練データDT11であってよい。
【0024】
情報処理装置1のモデル評価部116は、例えば、モデル生成部115が生成した第1学習モデルMD1を用いることによって、複数の評価データDT2に対応する第2ラベルの判定を行う。複数の評価データDT2は、例えば、データ生成部114によって生成された複数の第1訓練データDT11のうちの一部であってよい。具体的に、複数の評価データDT2は、例えば、第1学習モデルMD1の生成に用いなかった複数の第1訓練データDT11であって、かつ、複数の検証データとして用いなかった複数の第1訓練データDT11であってよい。
【0025】
そして、モデル評価部116は、
図3に示すように、例えば、複数の評価データDT2に対応する第2ラベルの判定結果を示すコストC1(以下、第1コストC1とも呼ぶ)を算出する。
【0026】
情報処理装置1のクラス追加部117は、例えば、複数の評価データDT2のうち、第1学習モデルMD1が誤判定した評価データDT2(以下、誤判定データDT2とも呼ぶ)を特定する。すなわち、クラス追加部117は、例えば、複数の評価データDT2のうち、各評価データDT2に対応する第2ラベル以外のラベル(以下、他のラベルとも呼ぶ)に対応すると第1学習モデルMD1が誤判定した誤判定データDT2を特定する。そして、クラス追加部117は、例えば、特定した誤判定データDT2に対応する第2ラベル(以下、誤判定ラベルとも呼ぶ)を特定する。さらに、クラス追加部117は、例えば、第1ラベルのうち、誤判定ラベルと類似するラベル(以下、類似ラベルとも呼ぶ)を特定する。
【0027】
そして、クラス分類部113は、例えば、データ生成部114が同一の第1ラベルを付加した画像データDT0ごとに、データ生成部114が第1ラベルを付加した複数の画像データDT0のそれぞれを、第1数のクラスとクラス追加部117が特定した類似ラベルとを含む複数のクラス(以下、第2数のクラスとも呼ぶ)に分類する。
【0028】
次に、データ生成部114は、例えば、クラス分類部113が分類した第2数のクラスごとに、各クラスに分類された複数の画像データDT0のそれぞれに対して各クラスに対応する第2ラベルを対応付けることによって、複数の訓練データDT12(以下、第2訓練データDT12とも呼ぶ)を生成する。なお、以下、第1訓練データDT11及び第2訓練データDT12等を総称して単に訓練データDT1とも呼ぶ。
【0029】
続いて、モデル生成部115は、
図3に示すように、例えば、データ生成部114が生成した複数の第2訓練データDT12を用いて機械学習を行うことによって学習モデルMD2(以下、第2学習モデルMD2とも呼ぶ)を生成する。
【0030】
さらに、モデル評価部116は、例えば、モデル生成部115が生成した第2学習モデルMD2を用いることによって、複数の評価データDT2に対応する第2ラベルの判定を行う。そして、モデル評価部116は、
図3に示すように、例えば、複数の評価データDT2に対応する第2ラベルの判定結果を示すコストC2(以下、第2コストC2とも呼ぶ)を算出する。
【0031】
情報処理装置1のモデル判定部118は、
図3に示すように、例えば、モデル評価部116によって算出された第1コストC1と、モデル評価部116によって算出された第2コストC2との大小関係を判定する。
【0032】
情報処理装置1の情報出力部119は、例えば、第1コストC1が第2コストC2よりも大きいとモデル判定部118が判定した場合、すなわち、第2コストC2が第1コストC1を上回らなったと判定した場合、例えば、第1学習モデルMD1が第2学習モデルMD2よりも判定精度が高いことを示す情報を出力する。そして、情報処理装置1は、学習モデル生成処理を終了する。
【0033】
また、情報処理装置1は、例えば、類似ラベルが存在しないとクラス追加部117が判定した場合についても同様に、学習モデル生成処理を終了する。
【0034】
一方、第2コストCL2が第1コストCL1よりも大きいとモデル判定部118が判定した場合、情報処理装置1は、学習モデル生成処理の実行を継続し、新たな学習モデルMDの生成を開始する。
【0035】
そして、情報処理装置1は、新たに生成した学習モデルMDのコストが前回生成した学習モデルMDのコストよりも大きくなるまで学習モデル生成処理を繰り返す。
【0036】
すなわち、限定された特定の地域では、出没する野生動物の種類が限られる傾向にある。そのため、特定の地域において出没する野生動物の検出を行う学習モデルMDは、他の広い地域において出没する野生動物の検出を行う学習モデルMDの場合よりも、訓練データDT1を分類するクラス数を少なくした方が、判定精度を向上させることができる可能性が高いと判断できる。
【0037】
そこで、本実施の形態における情報処理装置1は、例えば、可能な限りクラス数が少ない学習モデルMDの生成を行い、さらに、クラス数を徐々に増加させながら1以上の学習モデルMDの生成を行う。そして、情報処理装置1は、例えば、新たに生成した学習モデルMDのコストが前回生成した学習モデルMDのコストよりも大きくなくなった場合、新たに生成した学習モデルMDの判定精度が前回生成した学習モデルMDの判定精度を上回らなかったと判定し、新たな学習モデルMDの生成を終了する。
【0038】
これにより、本実施の形態における情報処理装置1は、特定の地域において出没する野生動物の検出に適した学習モデルMDを生成することが可能になる。そのため、情報処理装置1は、特定の地域において出没する野生動物の検出精度を向上させることが可能になる。
【0039】
また、本実施の形態における情報処理装置1は、クラス数を徐々に増加させながら複数の学習モデルMDの生成を行うことで、学習モデル生成処理の終了時点において生成される学習モデルMDのサイズ(パラメータ数)を抑制することが可能になる。そのため、情報処理装置1は、例えば、リソース量に制限がある環境下においても動作可能な学習モデルMDを生成することが可能になる。
【0040】
以下、対象物の種類の認識を行う学習モデルMD(以下、物体認識モデルMDとも呼ぶ)の生成を行う場合について説明を行うが、本実施の形態における学習モデル生成処理では、例えば、対象物の検出そのものを行う学習モデルMD(以下、物体検出モデルMDとも呼ぶ)の生成を行うものであってもよい。なお、情報処理装置1は、この場合、画像データDT0と第2ラベルとに加え、画像データDT0における対象物の位置情報(例えば、バウンディングボックスによって指定された位置情報)を含む訓練データDT1を用いることによって、学習モデルMD(物体検出モデルMD)の生成を行う。
【0041】
[第1の実施の形態の詳細]
次に、第1の実施の形態における学習モデル生成処理の詳細について説明を行う。
図4から
図9は、第1の実施の形態における学習モデル生成処理の詳細を説明するフローチャート図である。また、
図10から
図24は、第1の実施の形態における学習モデル生成処理の詳細を説明する図である。
【0042】
[画像データ記憶処理]
初めに、学習モデル生成処理のうち、学習モデルの生成に用いる画像データを記憶媒体104に記憶する処理(以下、画像データ記憶処理とも呼ぶ)について説明を行う。
【0043】
情報管理部111は、
図4に示すように、例えば、学習モデルMDの生成に用いる画像データDT0の入力を受け付けるまで待機する(S1のNO)。具体的に、情報管理部111は、例えば、作業者が作業者端末2を介して画像データDT0の入力を行うまで待機する。
【0044】
そして、画像データDT0の入力を受け付けた場合(S1のYES)、情報管理部111は、入力を受け付けた画像データDT0を記憶媒体104に記憶する(S2)。
【0045】
[ラベル付加処理]
次に、学習モデル生成処理のうち、画像データDT0に対して第1ラベルを付加する処理(以下、ラベル付加処理とも呼ぶ)について説明を行う。
【0046】
ラベル付加部112は、
図5に示すように、例えば、記憶媒体104に記憶した画像データDT0に映る対象物(例えば、野生動物)に対応する第1ラベルの入力を受け付けるまで待機する(S11のNO)。具体的に、ラベル付加部112は、例えば、作業者が作業者端末2を介して第1ラベルの入力を行うまで待機する。
【0047】
そして、第1ラベルの入力を受け付けた場合(S11のYES)、ラベル付加部112は、例えば、入力を受け付けた第1ラベルに対応する画像データDT0に対して、入力を受け付けた第1ラベルを付加する(S12)。以下、画像データDT0の具体例について説明を行う。
【0048】
[画像データDT0の具体例]
図10は、画像データDT0の具体例について説明する図である。具体的に、
図10は、第1ラベルが付加された後の画像データDT0の具体例について説明する図である。なお、以下、各画像データDT0の上側に記載された文字列が第1ラベルであるものとして説明を行う。
【0049】
図10に示す画像データDT0には、例えば、対象物が熊である昼間の画像データDT0(第1ラベルが「bear」の画像データDT0)と、対象物が猪である昼間の画像データDT0(第1ラベルが「boar」の画像データDT0)と、対象物が車である昼間の画像データDT0(第1ラベルが「car」の画像データDT0)とが含まれる。
【0050】
また、
図10に示す画像データDT0には、例えば、対象物が熊である夜間の画像データDT0(第1ラベルが「bearnight」の画像データDT0)と、対象物が猪である昼間の画像データDT0(第1ラベルが「boarnight」の画像データDT0)と、対象物が車である昼間の画像データDT0(第1ラベルが「carnight」の画像データDT0)とが含まれる。
【0051】
さらに、
図10に示す画像データDT0には、例えば、対象物が映っていない昼間の画像データDT0(第1ラベルが「background(bg)」の画像データDT0)と、対象が映っていない夜間の画像データDT0(第1ラベルが「bgnight」の画像データDT0)と、対象物の特定が困難な画像データDT0(第1ラベルが「abnormal(dark)」の画像データDT0)とが含まれる。
【0052】
すなわち、
図10に示す画像データDT0には、「bear」や「boar」等を含む18種類の第1ラベルに対応する画像データDT0が含まれている。
図10に含まれる他の画像データDT0については説明を省略する。
【0053】
[類似リスト記憶処理]
次に、学習モデル生成処理のうち、類似リストLS(以下、類似情報LSとも呼ぶ)を記憶媒体104に記憶する処理(以下、類似リスト記憶処理とも呼ぶ)について説明を行う。
【0054】
情報管理部111は、
図6に示すように、例えば、類似リストLSの入力を受け付けるまで待機する(S21のNO)。類似リストLSは、例えば、対象物の色や形等の情報に基づいて作業者が予め生成したリストであって、第1ラベルのそれぞれの類似関係を示すリストである。具体的に、情報管理部111は、例えば、作業者が作業者端末2を介して類似リストLSの入力を行うまで待機する。
【0055】
そして、類似リストLSの入力を受け付けた場合(S21のYES)、情報管理部111は、例えば、入力を受け付けた類似リストLSを記憶媒体104に記憶する(S22)。以下、類似リストLSの具体例について説明を行う。
【0056】
[類似リストLSの具体例]
図11は、類似リストLSの具体例について説明する図である。
【0057】
図11に示す類似リストLSの1行目の情報は、例えば、第1ラベルが「bear」の画像データDT0と、第1ラベルが「craw」の画像データDT0とが類似することを示している。また、
図11に示す類似リストLSの2行目の情報は、例えば、第1ラベルが「boar」の画像データDT0と、第1ラベルが「monkey」の画像データDT0とが類似し、さらに、第1ラベルが「boar」の画像データDT0と、第1ラベルが「racoon」の画像データDT0とが類似することを示している。
図11に含まれる他の情報については説明を省略する。
【0058】
[学習モデル生成処理のメイン処理]
次に、学習モデル生成処理のメイン処理について説明を行う。
【0059】
クラス分類部113は、
図7に示すように、例えば、モデル生成タイミングになるまで待機する(S31のNO)。モデル生成タイミングは、例えば、作業者が作業者端末2を介して学習モデルの生成を開始する旨の情報を入力したタイミングである。
【0060】
そして、モデル生成タイミングになった場合(S31のYES)、クラス分類部113は、例えば、同一の第1ラベルが付加された画像データDT0ごとに、記憶媒体104に記憶された複数の画像データDT0のそれぞれを第1数のクラスに分類する(S32)。なお、第1数のクラスは、例えば、作業者が作業者端末2を介して予め指定するものであってよい。以下、S32の処理の具体例について説明を行う。
【0061】
[S32の処理の具体例]
図12から
図14は、S32の処理の具体例について説明する図である。以下、第1数のクラスが9クラスであり、熊及び猪の検出を可能とする学習モデルの生成に最低限必要と判断されたクラスの指定が行われているものとして説明を行う。すなわち、以下、
図12に示すように、第1ラベルが「bear」の画像データDT0が分類されるクラス(以下、bearクラスとも呼ぶ)と、第1ラベルが「bg」の画像データDT0が分類されるクラス(以下、bgクラスとも呼ぶ)と、第1ラベルが「boar」の画像データDT0が分類されるクラス(以下、boarクラスとも呼ぶ)と、第1ラベルが「bearnight」の画像データDT0が分類されるクラス(以下、bearnightクラスとも呼ぶ)と、第1ラベルが「bgnight」の画像データDT0が分類されるクラス(以下、bgnightクラスとも呼ぶ)と、第1ラベルが「boarnight」の画像データDT0が分類されるクラス(以下、boarnightクラスとも呼ぶ)と、第1ラベルが「dark」の画像データDT0が分類されるクラス(以下、darkクラスとも呼ぶ)と、各クラスに分類されない昼間の画像データDT0が分類されるクラス(以下、otherクラスとも呼ぶ)と、各クラスに分類されない夜間の画像データDT0が分類されるクラス(以下、othernightクラスとも呼ぶ)との指定が予め行われているものとして説明を行う。
【0062】
具体的に、クラス分類部113は、例えば、第1ラベルが「bear」の画像データDT0をbearクラスに分類し、第1ラベルが「bg」の画像データDT0をbgクラスに分類し、第1ラベルが「boar」の画像データDT0をboarクラスに分類し、第1ラベルが「bearnight」の画像データDT0をbearnightクラスに分類し、第1ラベルが「bgnight」の画像データDT0をbgnightクラスに分類し、第1ラベルが「boarnight」の画像データDT0をboarnightクラスに分類し、第1ラベルが「dark」の画像データDT0をdarkクラスに分類する。
【0063】
また、クラス分類部113は、
図13に示すように、例えば、第1ラベルが「car」の画像データDT0と、第1ラベルが「cat」の画像データDT0と、第1ラベルが「craw」の画像データDT0と、第1ラベルが「dog」の画像データDT0と、第1ラベルが「man」の画像データDT0と、第1ラベルが「monkey」の画像データDT0と、第1ラベルが「racoon」の画像データDT0とを、otherクラスに分類する。
【0064】
さらに、クラス分類部113は、
図14に示すように、例えば、第1ラベルが「racoonnight」の画像データDT0と、第1ラベルが「carnight」の画像データDT0と、第1ラベルが「mannight」の画像データDT0と、第1ラベルが「rabbitnight」の画像データDT0とを、othernightクラスに分類する。
【0065】
図7に戻り、データ生成部114は、例えば、S32の処理で分類した第1数のクラスごとに、各クラスに分類された複数の画像データDT0のそれぞれに対して各クラスに対応する第2ラベルを対応付けることによって、複数の第1訓練データDT11を生成する(S33)。
【0066】
具体的に、データ生成部114は、例えば、bearクラスに分類された画像データDT0ごとに、各画像データと各画像データに対応する第2ラベルである「bear」を示す情報とを有する第1訓練データDT11を生成する。また、データ生成部114は、例えば、boarクラスに分類された画像データDT0ごとに、各画像データと各画像データに対応する第2ラベルである「boar」を示す情報とを有する第1訓練データDT11を生成する。さらに、データ生成部114は、例えば、otherクラスに分類された画像データDT0ごとに、各画像データと各画像データに対応する第2ラベルである「other」を示す情報とを有する第1訓練データDT11を生成する。
図12に含まれる他の第1訓練データDT11についての説明は省略する。
【0067】
図7に戻り、モデル生成部115は、例えば、S33の処理で生成した複数の第1訓練データDT11を用いて機械学習を行うことによって第1学習モデルMD1を生成する(S34)。
【0068】
次に、モデル評価部116は、例えば、S34の処理で生成した第1学習モデルMD1を用いることによって、複数の評価データDT2のそれぞれに対応する第2ラベルの判定を行う(S35)。
【0069】
そして、モデル評価部116は、例えば、複数の評価データDT2のそれぞれに対応する第2ラベルの判定結果を示す第1コストC1を算出する(S36)。以下、第1コストC1の具体例について説明を行う。
【0070】
[各学習モデルにおけるコストの具体例]
図15、
図18、
図21及び
図24は、各学習モデルMDにおけるコストの具体例について説明する図である。具体的に、
図15は、第1コストC1の具体例について説明する図である。さらに具体的に、
図15(A)は、bearクラス及びbearnightクラスに対応する判定結果の具体例について説明する図である。また、
図15(B)は、boar及びboarnightクラスに対応する判定結果の具体例について説明する図である。なお、以下、第1ラベルのそれぞれについての評価データDT2の数が25であるものとして説明を行う。また、以下、第1ラベルの種類の数が18であり、評価データDT2の総数が450(18×25=450)であるものとして説明を行う。
【0071】
具体的に、
図15(A)における「bear」の欄に示すように、例えば、第1ラベルが「bear」の画像データDT0を含む評価データDT2のうち、S35の処理において第2ラベルの判定が正しく行われた評価データDT2の数が25であり、
図15(A)における「bearnight」の欄に示すように、例えば、第1ラベルが「bearnight」の画像データDT0を含む評価データDT2のうち、S35の処理において第2ラベルの判定が正しく行われた評価データDT2の数が22である場合、モデル評価部116は、
図15(A)における各欄に示すように、例えば、TruePositive(以下、TPとも呼ぶ)である評価データDT2の数として47を特定し、FalseNegative(以下、FNとも呼ぶ)である評価データDT2の数として3を特定し、FalsePositive(以下、FPとも呼ぶ)である評価データDT2の数として8を特定し、TrueNagative(以下、TNとも呼ぶ)である評価データDT2の数として392を特定する。
【0072】
そして、モデル評価部116は、
図15(A)における各欄に示すように、例えば、以下の式(1)に従って、Accuraryとして0.98を算出し、以下の式(2)に従って、Recallとして0.94を算出し、以下の式(3)に従って、Precisionとして0.85を算出し、以下の式(4)に従って、F-value(以下、F値とも呼ぶ)として0.90を算出する。
【0073】
Accurary=(TP+TN)/(TP+FN+FP+TN) ・・・(式(1))
Recall=TP/(TP+FN) ・・・(式(2))
Precision=TP/(TP+FP) ・・・(式(3))
F-value=(2×Recall×Precision)/(Recall+Precision) ・・・(式(4))
同様に、
図15(B)における「boar」の欄に示すように、例えば、第1ラベルが「boar」の画像データDT0を含む評価データDT2のうち、S35の処理において第2ラベルの判定が正しく行われた評価データDT2の数が22であり、
図15(B)における「boarnight」の欄に示すように、例えば、第1ラベルが「boarnight」の画像データDT0を含む評価データDT2のうち、S35の処理において第2ラベルの判定が正しく行われた評価データDT2の数が19である場合、モデル評価部116は、
図15(B)における各欄に示すように、例えば、TPである評価データDT2の数として41を特定し、FNである評価データDT2の数として9を特定し、FPである評価データDT2の数として14を特定し、TNである評価データDT2の数として386を特定する。
【0074】
そして、モデル評価部116は、
図15(B)における各欄に示すように、この場合、例えば、Accuraryとして0.95を算出し、Recallとして0.82を算出し、Precisionとして0.75を算出し、F-valueとして0.78を算出する。
【0075】
その後、モデル評価部116は、例えば、bearクラス及びbearnightクラスについて算出したF-valueである0.90と、boarクラス及びboarnightクラスについて算出したF-valueである0.78とのうちの最小値である0.78を、第1学習モデルMD1の第1コストC1として算出する。
【0076】
図8に戻り、クラス追加部117は、例えば、記憶媒体104に記憶された複数の画像データDT0を分類するクラスの追加(拡張)が可能であるか否かについて判定する(S41)。
【0077】
具体的に、クラス追加部117は、例えば、複数の評価データDT2のうち、各評価データDT2に対応する第2ラベルを第1学習モデルMD1が誤判定した評価データDT2(誤判定データDT2)を特定する。そして、クラス追加部117は、例えば、特定した誤判定データDT2に対応する第2ラベル(誤判定ラベル)を特定する。さらに、クラス追加部117は、例えば、記憶媒体104に記憶した類似リストLSを参照し、特定した誤判定ラベルのうち、第1数のクラスにまだ含まれていないラベルと類似する類似ラベルを特定する。その後、クラス追加部117は、特定した類似ラベルに対応するクラスを新たなクラス(以下、追加クラスとも呼ぶ)として特定する。
【0078】
これにより、クラス追加部117は、次に生成される学習モデルMD(第2学習モデルMD2)の判定精度の向上に寄与する可能性がより高いクラスを、追加クラスとして特定することが可能になる。以下、S41の処理の具体例について説明を行う。
【0079】
[S41の処理の具体例]
図16は、S41の処理の具体例について説明する図である。具体的に、
図16(A)は、
図15(A)に対応するS41の処理の具体例について説明する図である。また、
図16(B)は、
図15(B)に対応するS41の処理の具体例について説明する図である。
【0080】
具体的に、
図16(A)に示す例は、
図15(A)で説明したFNに対応する3(枚)の画像データDT0に、「bear」と誤判定された2(枚)の画像データDT0と、「boarnight」と誤判定された1(枚)の画像データDT0とが含まれていることを示している。また、
図16(A)に示す例は、
図15(A)で説明したFPに対応する8(枚)の画像データDT0に、正しくは「boar」と判定されるべきであった2(枚)の画像データDT0と、「boarnight」と判定されるべきであった3(枚)の画像データDT0と、「craw」と判定されるべきであった1(枚)の画像データDT0と、「racoonnight」と判定されるべきであった2(枚)の画像データDT0とが含まれていることを示している。
【0081】
すなわち、
図16(A)に示す例は、第2ラベルが「bear」、「boarnight」、「boar」、「craw」及び「racoonnight」のそれぞれである画像データDT0と、第2ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が発生したことを示している。そのため、クラス追加部117は、第1ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が発生した画像データDT0に対応する第1ラベルであって、かつ、現在の第2ラベルが「other」または「othernight」である画像データDT0に対応する第1ラベルである「craw」及び「racoonnight」のそれぞれに対応するクラスを、追加クラスの候補として特定する。
【0082】
ここで、
図11で説明した類似リストLSは、第1ラベルが「craw」及び「racoonnight」のそれぞれである画像データD0と、第1ラベルが「bear」及び「bearnight」のいずれかである画像データDT0とが類似することを示している。そのため、クラス追加部117は、例えば、特定した追加クラスの候補のうち、「craw」及び「racoonnight」のそれぞれに対応するクラス(crawクラス及びracoonnightクラス)を、追加クラスとして特定する。
【0083】
また、
図16(B)に示す例は、
図15(B)で説明したFNに対応する9(枚)の画像データDT0に、「bear」と誤判定された2(枚)の画像データDT0と、「other」と誤判定された1(枚)の画像データDT0と、「bearnight」と誤判定された3(枚)の画像データDT0と、「boar」と誤判定された3(枚)の画像データDT0とが含まれていることを示している。また、
図16(B)に示す例は、
図15(B)で説明したFPに対応する14(枚)の画像データDT0に、正しくは「bearnight」と判定されるべきであった1(枚)の画像データDT0と、「monkey」と判定されるべきであった4(枚)の画像データDT0と、「rabbitnight」と判定されるべきであった1(枚)の画像データDT0と、「racoon」と判定されるべきであった7(枚)の画像データDT0と、「racoonnight」と判定されるべきであった1(枚)の画像データDT0とが含まれていることを示している。
【0084】
すなわち、
図16(B)に示す例は、第2ラベルが「bear」、「other」、「bearnight」、「boar」、「monkey」、「rabbitnight」、「racoon」及び「racoonnight」のそれぞれである画像データDT0と、第2ラベルが「boar」または「boarnight」である画像データDT0との間において誤判定が発生したことを示している。そのため、クラス追加部117は、第1ラベルが「boar」または「boarnight」である画像データDT0との間において誤判定が発生した画像データDT0に対応する第1ラベルであって、かつ、現在の第2ラベルが「other」または「othernight」である画像データDT0に対応する第1ラベルである「monkey」、「rabbitnight」、「racoon」及び「racoonnight」のそれぞれに対応するクラスを、追加クラスの候補として特定する。
【0085】
ここで、
図11で説明した類似リストLSは、第1ラベルが「monkey」、「racoon」及び「racoonnight」のそれぞれである画像データD0と、第1ラベルが「boar」及び「beornight」のいずれかである画像データDT0とが類似することを示している。そのため、クラス追加部117は、例えば、特定した追加クラスの候補のうち、「monkey」、「racoon」及び「racoonnight」のそれぞれに対応するクラス(monkeyクラス、racoonクラス及びracoonnightクラス)を、追加クラスとして特定する。
【0086】
すなわち、クラス追加部117は、
図17に示すように、例えば、
図16(A)から特定した追加クラスであるcrawクラス及びracoonnightクラスと、
図16(B)から特定した追加クラスであるmonkeyクラス、racoonクラス及びracoonnightクラスとの和集合であるcrawクラス、racoonnightクラス、monkeyクラス及びracoonクラスを追加クラスとして特定する。
【0087】
図8に戻り、記憶媒体104に記憶された複数の画像データDT0を分類するクラスの追加(拡張)が可能でないと判定した場合、すなわち、追加クラスが存在しないと判定した場合(S41のNO)、情報処理装置1は、学習モデル生成処理を終了する。
【0088】
一方、記憶媒体104に記憶された複数の画像データDT0を分類するクラスの追加(拡張)が可能であると判定した場合、すなわち、追加クラスが存在すると判定した場合(S41のYES)、クラス分類部113は、例えば、同一の第1ラベルが付加された画像データDT0ごとに、記憶媒体104に記憶された複数の画像データDT0のそれぞれを、第1数のクラスと直前のS41の処理で存在すると判定した追加クラスとを含む第2数のクラスに分類する(S42)。
【0089】
次に、データ生成部114は、例えば、S42の処理で分類した第2数のクラスごとに、各クラスに分類された複数の画像データDT0のそれぞれに対して各クラスに対応する第2ラベルを対応付けることによって、複数の第2訓練データDT12を生成する(S43)。
【0090】
そして、モデル生成部115は、例えば、S43の処理で生成した複数の第2訓練データDT12を用いて機械学習を行うことによって第2学習モデルMD2を生成する(S44)。
【0091】
さらに、モデル評価部116は、
図9に示すように、例えば、S44の処理で生成した第2学習モデルMD2を用いることによって、複数の評価データDT2に対応する第2ラベルの判定を行う(S51)。
【0092】
そして、モデル評価部116は、例えば、複数の評価データDT2に対応する第2ラベルの判定結果を示す第2コストC2を算出する(S52)。
【0093】
具体的に、モデル評価部116は、
図18に示すように、例えば、bearクラス及びbearnightクラスについて算出したF-valueである0.82(
図18(A)参照)と、boarクラス及びboarnightクラスについて算出したF-valueである0.84(
図18(B)参照)とのうちの最小値である0.82を、第2学習モデルMD2の第2コストC2として算出する。
【0094】
その後、モデル判定部118は、例えば、S52の処理で算出した第2コストC2が、S36の処理で算出した第1コストC1よりも大きいか否かを判定する(S53)。
【0095】
その結果、第2コストC2が第1コストC1よりも大きくないと判定した場合(S53のNO)、情報処理装置1は、学習モデル生成処理を終了する。
【0096】
なお、情報出力部119は、この場合、例えば、第1学習モデルMD1の判定精度が最も良いことを示す情報を出力するものであってよい。また、第2コストC2が第1コストC1よりも大きいと判定した場合であっても、類似リストLSに含まれる全てのラベルに対応するクラスが追加クラスとして既に特定されている場合、情報処理装置1は、学習モデル生成処理を終了するものであってよい。
【0097】
一方、第2コストC2が第1コストC1よりも大きいと判定した場合(S53のYES)、情報処理装置1は、S41以降の処理を再度行う。
【0098】
すなわち、クラス追加部117は、
図8に示すように、例えば、記憶媒体104に記憶された複数の画像データDT0を分類するクラスの追加(拡張)が可能であるか否かについての判定を再度行う(S41)。
【0099】
具体的に、クラス追加部117は、例えば、複数の評価データDT2のうち、各評価データDT2に対応する第2ラベルを第2学習モデルMD2が誤判定した評価データDT2(誤判定データDT2)を特定する。そして、クラス追加部117は、例えば、特定した誤判定データDT2に対応する第2ラベル(誤判定ラベル)を特定する。さらに、クラス追加部117は、例えば、記憶媒体104に記憶した類似リストLSを参照し、特定した誤判定ラベルのうち、第2数のクラスにまだ含まれていないラベルと類似する類似ラベルを特定する。その後、クラス追加部117は、特定した類似ラベルに対応するクラスを追加クラスとして特定する。
【0100】
その結果、記憶媒体104に記憶された複数の画像データDT0を分類するクラスの追加(拡張)が可能であると判定した場合、すなわち、追加クラスが存在すると判定した場合(S41のYES)、クラス分類部113は、例えば、同一の第1ラベルが付加された画像データDT0ごとに、記憶媒体104に記憶された複数の画像データDT0のそれぞれを、第2数のクラスと直前のS41の処理で存在すると判定した追加クラスとを含む複数のクラス(以下、第3数のクラスとも呼ぶ)に分類する(S42)。
【0101】
次に、データ生成部114は、例えば、S42の処理で分類した第3数のクラスごとに、各クラスに分類された複数の画像データDT0のそれぞれに対して各クラスに対応する第2ラベルを対応付けることによって、複数の訓練データDT13(以下、第3訓練データDT13とも呼ぶ)を生成する(S43)。
【0102】
そして、モデル生成部115は、例えば、S43の処理で生成した複数の第3訓練データDT13を用いて機械学習を行うことによって学習モデルMD3(以下、第3学習モデルMD3とも呼ぶ)を生成する(S44)。
【0103】
さらに、モデル評価部116は、
図9に示すように、例えば、S44の処理で生成した第3学習モデルMD3を用いることによって、複数の評価データDT2に対応する第2ラベルの判定を行う(S51)。
【0104】
そして、モデル評価部116は、例えば、複数の評価データDT2に対応する第2ラベルの判定結果を示すコストC3(以下、第3コストC3とも呼ぶ)を算出する(S52)。
【0105】
その後、モデル判定部118は、
図19に示すように、例えば、前回(直前)のS52の処理で算出した第3コストC3が、前々回のS52の処理で算出した第2コストC2よりも大きいか否かを判定する(S53)。
【0106】
その結果、第3コストC3が第2コストC2よりも大きくないと判定した場合(S53のNO)、情報処理装置1は、学習モデル生成処理を終了する。
【0107】
一方、第3コストC3が第2コストC2よりも大きいと判定した場合、情報処理装置1は、S41以降の処理を再度行う。
【0108】
ここで、
図17等で説明した例では、
図11で説明した類似リストLSに含まれる全てのラベルに対応するクラスが追加クラスとして特定されている。そのため、情報処理装置1は、この場合、例えば、学習モデル生成処理を終了する(S41のNO)。そして、情報出力部119は、この場合、例えば、第2学習モデルMD2の判定精度が最も良いことを示す情報を出力する。
【0109】
このように、本実施の形態における情報処理装置1は、例えば、可能な限りクラス数が少ない学習モデル(第1学習モデルMD1)の生成を行い、さらに、クラス数を徐々に増加させながら1以上の学習モデル(第2学習モデルMD2や第3学習モデルMD3)の生成を行う。そして、情報処理装置1は、例えば、新たに生成した学習モデルのコストが前回生成した学習モデルのコストよりも大きくなくなった場合、新たに生成した学習モデルの判定精度が前回生成した学習モデルの判定精度を上回らなかったと判定し、新たな学習モデルの生成を終了する。
【0110】
これにより、本実施の形態における情報処理装置1は、特定の地域において出没する野生動物の検出に適した学習モデルを生成することが可能になる。そのため、情報処理装置1は、特定の地域において出没する野生動物の検出精度を向上させることが可能になる。
【0111】
また、本実施の形態における情報処理装置1は、クラス数を徐々に増加させながら複数の学習モデルMDの生成を行うことで、学習モデル生成処理の終了時点において生成される学習モデルMDのサイズ(パラメータ数)を抑制することが可能になる。そのため、情報処理装置1は、例えば、リソース量に制限がある環境下においても動作可能な学習モデルMDを生成することが可能になる。
【0112】
また、本実施の形態における情報処理装置1は、画像データDT0における対象物の位置情報(例えば、バウンディングボックスによって指定された位置情報)を含む訓練データDT1を用いることによって、物体認識モデルMDだけでなく、物体検出モデルMDの生成を行うことが可能になる。
【0113】
なお、情報処理装置1は、例えば、昼間に撮影した画像データDT0のみを用いて訓練を行うことにより、昼間の野生動物をより精度良く検出することが可能な学習モデルMDの生成を行うものであってもよい。同様に、情報処理装置1は、例えば、夜間に撮影した画像データDT0のみを用いて訓練を行うことにより、夜間の野生動物をより精度良く検出することが可能な学習モデルMDの生成を行うものであってもよい。
【0114】
[第1の実施の形態における変形例]
次に、第1の実施の形態における変形例について説明を行う。以下、
図4から
図9等で説明した学習モデル生成処理と異なる点(S41以降の処理)について説明を行う。
【0115】
第1の実施の形態における変形例では、S41の処理において、学習モデルMDが野生動物(検出対象の野生動物)に対応するクラスと誤判定した回数が所定数以上(例えば、3回以上)であるクラスを追加クラスとして特定する。以下、S41の処理の具体例について説明を行う。
【0116】
[S41の処理の具体例(1)]
図16(A)に示す例は、第2ラベルが「bear」、「boarnight」、「boar」、「craw」及び「racoonnight」のそれぞれである画像データDT0と、第2ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が発生したことを示している。また、
図16(A)に示す例は、第2ラベルが「boarnight」の画像データDT0と、第2ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が発生した回数が3(回)以上であったことを示している。
【0117】
そのため、クラス追加部117は、第1ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が3回以上発生した画像データDT0に対応する第1ラベルであって、かつ、現在の第2ラベルが「other」または「othernight」である画像データDT0に対応する第1ラベルが存在しないと判定し、追加クラスの候補の特定を行わない。
【0118】
一方、
図16(B)に示す例は、第2ラベルが「bear」、「other」、「bearnight」、「boar」、「monkey」、「rabbitnight」、「racoon」及び「racoonnight」のそれぞれである画像データDT0と、第2ラベルが「boar」または「boarnight」である画像データDT0との間において誤判定が発生したことを示している。また、
図16(B)に示す例は、第2ラベルが「bearnight」、「monkey」及び「racoon」の画像データDT0と、第2ラベルが「boar」または「boarnight」である画像データDT0との間において誤判定が発生した回数が3(回)以上であったことを示している。
【0119】
そのため、クラス追加部117は、第1ラベルが「boar」または「boarnight」である画像データDT0との間において誤判定が3回以上発生した画像データDT0に対応する第1ラベルであって、かつ、現在の第2ラベルが「other」または「othernight」である画像データDT0に対応する第1ラベルである「bearnight」、「monkey」及び「racoon」のそれぞれに対応するクラスを、追加クラスの候補として特定する。
【0120】
ここで、
図11で説明した類似リストLSは、第1ラベルが「monkey」及び「racoon」のそれぞれである画像データDT0と、第1ラベルが「bear」及び「bearnight」のいずれかである画像データDT0とが類似することを示している。そのため、クラス追加部117は、例えば、特定した追加クラスの候補のうち、「monkey」及び「racoon」のそれぞれに対応するクラス(monkeyクラス及びracoonクラス)を、追加クラスとして特定する。
【0121】
すなわち、クラス追加部117は、
図20に示すように、例えば、
図16(B)から特定した追加クラスであるmonkeyクラス及びracoonクラスを追加クラスとして特定する。
【0122】
続いて、クラス分類部113は、S42の処理において、例えば、同一の第1ラベルが付加された画像データDT0ごとに、記憶媒体104に記憶された複数の画像データDT0のそれぞれを第2数のクラスに分類する。
【0123】
そして、データ生成部114は、S43の処理において、例えば、第2数のクラスごとに、各クラスに分類された複数の画像データDT0のそれぞれに対して各クラスに対応する第2ラベルを対応付けることによって、複数の第2訓練データDT12を生成する。
【0124】
さらに、モデル生成部115は、S44の処理において、例えば、複数の第2訓練データDT12を用いて機械学習を行うことによって第2学習モデルMD2を生成する。
【0125】
その後、モデル評価部116は、
図21に示すように、例えば、bearクラス及びbearnightクラスについて算出したF-valueである0.80(
図21(A)参照)と、boarクラス及びboarnightクラスについて算出したF-valueである0.83(
図21(B)参照)とのうちの最小値である0.80を、第2学習モデルMD2の第2コストC2として算出する。
【0126】
ここで、
図21に示す例では、第1学習モデルの第1コストC1が0.78であり、第2学習モデルMD2の第2コストC2が0.80である。そのため、情報処理装置1は、この場合、S41以降の処理を再度行う。以下、S41の処理(2回目)の具体例について説明を行う。
【0127】
[S41の処理の具体例(2)]
図22は、S41の処理の具体例について説明する図である。具体的に、
図22(A)は、
図21(A)に対応するS41の処理の具体例について説明する図である。また、
図22(B)は、
図21(B)に対応するS41の処理の具体例について説明する図である。
【0128】
具体的に、
図22(A)に示す例は、
図21(A)に示すFNに対応する13(枚)の画像データDT0に、「bear」と誤判定された5(枚)の画像データDT0と、「boar」と誤判定された1(枚)の画像データDT0と、「other」と誤判定された1(枚)の画像データDT0と、「bgnight」と誤判定された2(枚)の画像データDT0と、「boarnight」と誤判定された2(枚)の画像データDT0と、「othernight」と誤判定された2(枚)の画像データDT0とが含まれていることを示している。また、
図22(A)に示す例は、
図21(A)に示すFPに対応する5(枚)の画像データDT0に、正しくは「boar」と判定されるべきであった3(枚)の画像データDT0と、「boarnight」と判定されるべきであった1(枚)の画像データDT0と、「racoonnight」と判定されるべきであった1(枚)の画像データDT0とが含まれていることを示している。
【0129】
すなわち、
図22(A)に示す例は、第2ラベルが「bear」、「boar」、「other」、「bgnight」、「boarnight」及び「othernight」のそれぞれである画像データDT0と、第2ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が発生したことを示している。また、
図22(A)に示す例は、第2ラベルが「bear」及び「boar」のそれぞれである画像データDT0と、第2ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が発生した回数が3(回)以上であったことを示している。
【0130】
そのため、クラス追加部117は、第1ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が3回以上発生した画像データDT0に対応する第1ラベルであって、かつ、現在の第2ラベルが「other」または「othernight」である画像データDT0に対応する第1ラベルが存在しないと判定し、追加クラスの候補の特定を行わない。
【0131】
一方、
図22(B)に示す例は、第2ラベルが「bear」、「bearnight」、「othernight」、「dog」、「monkey」及び「racoon」のそれぞれである画像データDT0と、第2ラベルが「boar」または「boarnight」である画像データDT0との間において誤判定が発生したことを示している。また、
図11に示す類似リストLSは、第2ラベルが「othernight」の画像データDT0のうち、第2ラベルが「boar」または「boarnight」である画像データDT0と類似する画像データDT0の第1ラベルは、「racoonnight」であることを示している。そのため、
図22(B)に示す例は、第2ラベルが「boar」または「boarnight」である画像データDT0と、第2ラベルが「bear」及び「racoonnight」の画像データDT0との間において誤判定が発生した回数が3(回)以上であったことを示している。
【0132】
したがって、クラス追加部117は、第1ラベルが「boar」または「boarnight」である画像データDT0との間において誤判定が3回以上発生した画像データDT0に対応する第1ラベルであって、かつ、現在の第2ラベルが「other」または「othernight」である画像データDT0に対応する第1ラベルである「racoonnight」に対応するクラスを、追加クラスの候補として特定する。
【0133】
ここで、
図11で説明した類似リストLSは、第1ラベルが「racoonnight」の画像データD0と、第1ラベルが「boar」及び「boarnight」のいずれかである画像データDT0とが類似することを示している。そのため、クラス追加部117は、例えば、「racoonnight」に対応するクラス(racoonnightクラス)を、追加クラスとして特定する。
【0134】
すなわち、クラス追加部117は、
図23に示すように、例えば、
図22(B)から特定した追加クラスであるracoonnightクラスを追加クラスとして特定する。
【0135】
続いて、クラス分類部113は、S42の処理において、例えば、同一の第1ラベルが付加された画像データDT0ごとに、記憶媒体104に記憶された複数の画像データDT0のそれぞれを第3数のクラスに分類する。
【0136】
そして、データ生成部114は、S43の処理において、例えば、第3数のクラスごとに、各クラスに分類された複数の画像データDT0のそれぞれに対して各クラスに対応する第2ラベルを対応付けることによって、複数の第3訓練データDT13を生成する。
【0137】
さらに、モデル生成部115は、S44の処理において、例えば、S43の処理で生成した複数の第3訓練データDT13を用いて機械学習を行うことによって第3学習モデルMD3を生成する。
【0138】
その後、モデル評価部116は、
図24に示すように、例えば、bearクラス及びbearnightクラスについて算出したF-valueである0.83(
図24(A)参照)と、boarクラス及びboarnightクラスについて算出したF-valueである0.83とのうちの最小値である0.83(
図24(B)参照)を、第2学習モデルMD2の第3コストC3として算出する。
【0139】
ここで、
図24に示す例では、第2学習モデルの第2コストC2が0.80であり、第3学習モデルMD3の第3コストC3が0.83である。そのため、情報処理装置1は、この場合、S41以降の処理を再度行う。以下、S41の処理(3回目)の具体例について説明を行う。
【0140】
[S41の処理の具体例(3)]
図25は、S41の処理の具体例について説明する図である。具体的に、
図25(A)は、
図24(A)に対応するS41の処理の具体例について説明する図である。また、
図25(B)は、
図24(B)に対応するS41の処理の具体例について説明する図である。
【0141】
具体的に、
図25(A)に示す例は、
図24(A)に示すFNに対応する8(枚)の画像データDT0に、「monkey」と誤判定された2(枚)の画像データDT0と、「bear」と誤判定された2(枚)の画像データDT0と、「boar」と誤判定された1(枚)の画像データDT0と、「boarnight」と誤判定された1(枚)の画像データDT0と、「racoonnight」と誤判定された2(枚)の画像データDT0とが含まれていることを示している。また、
図25(A)に示す例は、
図24(A)に示すFPに対応する9(枚)の画像データDT0に、正しくは「boar」と判定されるべきであった5(枚)の画像データDT0と、「boarnight」と判定されるべきであった3(枚)の画像データDT0と、「racoonnight」と判定されるべきであった1(枚)の画像データDT0とが含まれていることを示している。
【0142】
すなわち、
図25(A)に示す例は、第2ラベルが「monkey」、「bear」、「boar」、「boarnight」及び「racoonnight」のそれぞれである画像データDT0と、第2ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が発生したことを示している。また、
図22(A)に示す例は、第2ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が発生した回数が3(回)以上である第2ラベルが存在しないことを示している。
【0143】
そのため、クラス追加部117は、第1ラベルが「bear」または「bearnight」である画像データDT0との間において誤判定が3回以上発生した画像データDT0に対応する第1ラベルであって、かつ、現在の第2ラベルが「other」または「othernight」である画像データDT0に対応する第1ラベルが存在しないと判定し、追加クラスの候補の特定を行わない。
【0144】
一方、
図25(B)に示す例は、第2ラベルが「bear」、「bearnight」、「boar」、「monkey」、「rabbitnight」、「racoon」及び「racoonnight」のそれぞれである画像データDT0と、第2ラベルが「boar」または「boarnight」である画像データDT0との間において誤判定が発生したことを示している。また、
図22(B)に示す例は、第2ラベルが「boar」または「boarnight」である画像データDT0との間において誤判定が発生した回数が3(回)以上であった第2ラベル存在しないことを示している。
【0145】
そのため、クラス追加部117は、第1ラベルが「boar」または「boarnight」である画像データDT0との間において誤判定が3回以上発生した画像データDT0に対応する第1ラベルであって、かつ、現在の第2ラベルが「other」または「othernight」である画像データDT0に対応する第1ラベルが存在いないと判定し、追加クラスの候補の特定を行わない。
【0146】
すなわち、クラス追加部117は、3回目に行われたS41の処理において、追加クラスが存在しないと判定する。そのため、情報処理装置1は、この場合、例えば、学習モデル生成処理を終了する。
【符号の説明】
【0147】
1:情報処理装置
2:作業者端末
101:CPU
102:メモリ
103:通信インタフェース
104:記憶媒体
105:バス
111:情報管理部
112:ラベル付加部
113:クラス分類部
114:データ生成部
115:モデル生成部
116:モデル評価部
117:クラス追加部
118:モデル判定部
119:情報出力部