(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-12
(45)【発行日】2023-12-20
(54)【発明の名称】情報処理方法及び情報処理システム
(51)【国際特許分類】
G06N 20/00 20190101AFI20231213BHJP
【FI】
G06N20/00
(21)【出願番号】P 2020033062
(22)【出願日】2020-02-28
【審査請求日】2022-12-06
(32)【優先日】2019-07-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】塚本 裕介
(72)【発明者】
【氏名】石川 和史
(72)【発明者】
【氏名】築澤 宗太郎
【審査官】石坂 知樹
(56)【参考文献】
【文献】特開2009-135649(JP,A)
【文献】特開2018-005520(JP,A)
【文献】米国特許第05720003(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
コンピュータに実行させる情報処理方法であって、
評価データを取得し、
推論処理を実行する第1モデルに前記評価データを入力して第1推論結果を取得し、
前記第1推論結果と前記評価データのリファレンス情報とに基づき、前記第1推論結果の前記評価データに対する誤り又は漏れを判定する第1判定を実行し、
前記第1推論結果に誤り又は漏れがあった第1評価データと、前記第1評価データに類似するデータとの一方又は両方を訓練データに含めて行う機械学習の第1訓練によって第2モデルを取得し、
前記第2モデルに前記評価データを入力して第2推論結果を取得し、
前記第2推論結果と前記評価データのリファレンス情報とに基づき、前記第2推論結果の前記評価データに対する誤り又は漏れを判定する第2判定を実行し、
前記評価データのうちで前記第1推論結果にはなかった誤り又は漏れが前記第2推論結果にあった第2評価データと、前記第2評価データに類似するデータとの一方又は両方を訓練データに含めて行う機械学習の第2訓練によって第3モデルを取得し、
前記第3モデルに前記評価データを入力して第3推論結果を取得し、
前記第3推論結果と前記評価データのリファレンス情報とに基づき、前記第3推論結果の前記評価データに対する誤り又は漏れを判定する第3判定を実行し、
前記第3推論結果にあった誤り又は漏れと前記第1推論結果にあった誤り又は漏れとが同じであると識別される場合、前記第1モデルの訓練限界に関する情報を出力する
情報処理方法。
【請求項2】
前記評価データは画像データであり、
前記推論処理は物体検出処理であり、
前記第1推論結果、前記第2推論結果及び前記第3推論結果は、それぞれ物体検出結果である
請求項1に記載の情報処理方法。
【請求項3】
前記物体検出結果は、前記物体検出処理の結果としての物体の検出枠である第1検出枠を含み、
前記リファレンス情報は、リファレンスとしての物体の検出枠である第2検出枠を含み、
前記誤り又は前記漏れは、前記第1検出枠と前記第2検出枠とに基づいて判定される
請求項2に記載の情報処理方法。
【請求項4】
前記情報の出力によって、前記訓練限界に到達した可能性の通知が実行され、
前記通知は、画像又は音声を介して実行される
請求項1~3のいずれか一項に記載の情報処理方法。
【請求項5】
推論処理部と、
異常判定部と、
モデル訓練部と、
通知制御部とを備え、
前記推論処理部は、評価データを取得し、推論処理を実行する第1モデルに前記評価データを入力して第1推論結果を取得し、
前記異常判定部は、前記第1推論結果と前記評価データのリファレンス情報とに基づき、前記第1推論結果の前記評価データに対する誤り又は漏れを判定する第1判定を実行し、
前記モデル訓練部は、前記第1推論結果に誤り又は漏れがあった第1評価データと、前記第1評価データに類似するデータとの一方又両方を訓練データに含めて行う機械学習の第1訓練によって第2モデルを取得し、
前記推論処理部はさらに、前記第2モデルに前記評価データを入力して第2推論結果を取得し、
前記異常判定部はさらに、前記第2推論結果と前記評価データのリファレンス情報とに基づき、前記第2推論結果の前記評価データに対する誤り又は漏れを判定する第2判定を実行し、
前記モデル訓練部はさらに、前記評価データのうちで前記第1推論結果にはなかった誤り又は漏れが前記第2推論結果にあった第2評価データと、前記第2評価データに類似するデータとの一方又は両方を訓練データに含めて行う機械学習の第2訓練によって第3モデルを取得し、
前記推論処理部はさらに、前記第3モデルに前記評価データを入力して第3推論結果を取得し、
前記異常判定部はさらに、前記第3推論結果と前記評価データのリファレンス情報とに基づき、前記第3推論結果の前記評価データに対する誤り又は漏れを判定する第3判定を実行し、
前記通知制御部は、前記第3推論結果にあった誤り又は漏れと前記第1推論結果にあった誤り又は漏れとが同じであると識別される場合、前記第1モデルの訓練限界に関する情報を出力する
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータに実行させる情報処理方法及び当該情報処理方法を実行する情報処理システムに関する。
【背景技術】
【0002】
高い精度での実現例が報告されているディープラーニングを用いた物体検出技術(例えば非特許文献1参照)は、各種の用途での実用化が見込まれる。
【0003】
当該ディープラーニング等の機械学習を利用した物体検出技術における検出異常(誤検出及び未検出を含む)への対策としては、検出異常が発生した検出処理対象のデータを追加した訓練データを用いての機械学習によるモデルの訓練が行われる(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】Qijie Zhao、外6名、"M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network"、2018年11月、[online]、arXiv、[2020年2月26日検索]、インターネット〈URL:https://arxiv.org/abs/1811.04533〉
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、追加した訓練データを用いた訓練によっても検出異常が解消されない場合がある。検出異常が解消されるか否か、すなわち訓練限界であるか否かの判断は困難である。
【0007】
本開示は、機械学習の訓練限界を判断することができる情報処理方法等を提供する。
【課題を解決するための手段】
【0008】
本開示の一態様に係る情報処理方法は、コンピュータにより実行される方法であって、評価データを取得し、推論処理を実行する第1モデルに前記評価データを入力して第1推論結果を取得し、前記第1推論結果と前記評価データのリファレンス情報とに基づき、前記第1推論結果の前記評価データに対する誤り又は漏れを判定する第1判定を実行し、前記第1推論結果に誤り又は漏れがあった第1評価データと、前記第1評価データに類似するデータとの一方又は両方を訓練データに含めて行う機械学習の第1訓練によって第2モデルを取得し、前記第2モデルに前記評価データを入力して第2推論結果を取得し、前記第2推論結果と前記評価データのリファレンス情報とに基づき、前記第2推論結果の前記評価データに対する誤り又は漏れを判定する第2判定を実行し、前記評価データのうちで前記第1推論結果にはなかった誤り又は漏れが前記第2推論結果にあった第2評価データと、前記第2評価データに類似するデータとの一方又は両方を訓練データに含めて行う機械学習の第2訓練によって第3モデルを取得し、前記第3モデルに前記評価データを入力して第3推論結果を取得し、前記第3推論結果と前記評価データのリファレンス情報とに基づき、前記第3推論結果の前記評価データに対する誤り又は漏れを判定する第3判定を実行し、前記第3推論結果にあった誤り又は漏れと前記第1推論結果にあった誤り又は漏れとが同じであると識別される場合、前記第1モデルの訓練限界に関する情報を出力する情報処理方法である。
【0009】
また、本開示の一態様に係る情報処理システムは、推論処理部と、異常判定部と、モデル訓練部と、通知制御部とを備え、前記推論処理部は、評価データを取得し、推論処理を実行する第1モデルに前記評価データを入力して第1推論結果を取得し、前記異常判定部は、前記第1推論結果と前記評価データのリファレンス情報とに基づき、前記第1推論結果の前記評価データに対する誤り又は漏れを判定する第1判定を実行し、前記モデル訓練部は、前記第1推論結果に誤り又は漏れがあった第1評価データと、前記第1評価データに類似するデータとの一方又両方を訓練データに含めて行う機械学習の第1訓練によって第2モデルを取得し、前記推論処理部はさらに、前記第2モデルに前記評価データを入力して第2推論結果を取得し、前記異常判定部はさらに、前記第2推論結果と前記評価データのリファレンス情報とに基づき、前記第2推論結果の前記評価データに対する誤り又は漏れを判定する第2判定を実行し、前記モデル訓練部はさらに、前記評価データのうちで前記第1推論結果にはなかった誤り又は漏れが前記第2推論結果にあった第2評価データと、前記第2評価データに類似するデータとの一方又は両方を訓練データに含めて行う機械学習の第2訓練によって第3モデルを取得し、前記推論処理部はさらに、前記第3モデルに前記評価データを入力して第3推論結果を取得し、前記異常判定部はさらに、前記第3推論結果と前記評価データのリファレンス情報とに基づき、前記第3推論結果の前記評価データに対する誤り又は漏れを判定する第3判定を実行し、前記通知制御部は、前記第3推論結果にあった誤り又は漏れと前記第1推論結果にあった誤り又は漏れとが同じであると識別される場合、前記第1モデルの訓練限界に関する情報を出力する。
【0010】
なお、包括的又は具体的なこれらの態様は、上記の方法及びシステムの他に、装置、集積回路、又はCD-ROM等のコンピュータ読み取り可能な記録媒体で実現されてもよく、装置、システム、集積回路、方法、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0011】
本開示に係る情報処理方法等によって、機械学習の訓練限界を判断することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施の形態に係る情報処理方法を実行する情報処理システムの機能構成例を示すブロック図である。
【
図2】
図2は、実施の形態に係る情報処理方法における、異常判定の手順例を示すフロー図である。
【
図3】
図3は、実施の形態に係る情報処理方法の手順例を示すフロー図である。
【発明を実施するための形態】
【0013】
(本開示の基礎となった知見)
発明者らは、従来の技術では以下の問題が生じることを見出した。
【0014】
例えば物体検出技術は、自動運転等の高い信頼性が要求される用途への適用にあたって、誤検出及び未検出といった検出異常への対策が不可欠である。このような検出異常は、人命に関わる事故の要因となるためである。
【0015】
ディープラーニング等の機械学習の手法を利用した物体検出技術では、検出異常への対策として、機械学習モデルの訓練を、検出異常が発生した検出処理対象のデータを含む訓練データを用いて行うのが一般的である。しかしながら、発生していた検出異常がこの訓練の結果として得たモデルで解消されていても、このモデルでは他の検出異常が発生しないか、つまり、このような訓練によって当該モデルによる物体検出の精度が総合的に向上しているのか限界なのかの判断は、モデルの訓練の担当者の経験則又は直感のようなものに負うところが大きいのが現状である。例えば、さらに精度の高い物体検出モデルを得るために、経験を積んだ担当者であればネットワーク構成の変更を検討するところ、現実には経験の浅い担当者が、訓練データを追加した訓練をさらに行って得るモデルでの結果を見ることを選択するということが起こり得る。このように、作業の担当者の技術レベルによって、機械学習の訓練の限界についての判断にばらつきが生じるという問題が生じている。
【0016】
このような問題に鑑みて案出された本開示の一態様に係る情報処理方法は、コンピュータにより実行される方法であって、評価データを取得し、推論処理を実行する第1モデルに前記評価データを入力して第1推論結果を取得し、前記第1推論結果と前記評価データのリファレンス情報とに基づき、前記第1推論結果の前記評価データに対する誤り又は漏れを判定する第1判定を実行し、前記第1推論結果に誤り又は漏れがあった第1評価データと、前記第1評価データに類似するデータとの一方又は両方を訓練データに含めて行う機械学習の第1訓練によって第2モデルを取得し、前記第2モデルに前記評価データを入力して第2推論結果を取得し、前記第2推論結果と前記評価データのリファレンス情報とに基づき、前記第2推論結果の前記評価データに対する誤り又は漏れを判定する第2判定を実行し、前記評価データのうちで前記第1推論結果にはなかった誤り又は漏れが前記第2推論結果にあった第2評価データと、前記第2評価データに類似するデータとの一方又は両方を訓練データに含めて行う機械学習の第2訓練によって第3モデルを取得し、前記第3モデルに前記評価データを入力して第3推論結果を取得し、前記第3推論結果と前記評価データのリファレンス情報とに基づき、前記第3推論結果の前記評価データに対する誤り又は漏れを判定する第3判定を実行し、前記第3推論結果にあった誤り又は漏れと前記第1推論結果にあった誤り又は漏れとが同じであると識別される場合、前記第1モデルの訓練限界に関する情報を出力する情報処理方法である。
【0017】
これにより、推論モデルの性能の、機械学習の訓練による向上の限界が、推論モデルの作成担当者の技術レベルによらずに判断されるようになる。
【0018】
また、前記評価データは画像データであり、前記推論処理は物体検出処理であり、前記第1推論結果、前記第2推論結果及び前記第3推論結果は、それぞれ物体検出結果であってもよい。
【0019】
すなわち、画像データに対する物体検出処理を行う推論モデルの性能の向上の限界を、作成担当者の技術レベルによらず判断することができる。
【0020】
また、前記物体検出結果は、前記物体検出処理の結果としての物体の検出枠である第1検出枠を含み、前記リファレンス情報は、リファレンスとしての物体の検出枠である第2検出枠を含み、前記誤り又は前記漏れは、前記第1検出枠と前記第2検出枠とに基づいて判定されてもよい。
【0021】
物体検出の異常はこのようにして判定することができる。
【0022】
また、前記情報の出力によって、前記訓練限界に到達した可能性の通知が実行され、前記通知は、画像又は音声を介して実行されてもよい。
【0023】
これにより、推論モデルの作成者に、推論モデルの性能向上のために、正常に推論されなかったデータに基づく追加の訓練以外の方法の検討材料が与えられ、作業の効率化に資する。
【0024】
また、本開示の一態様に係る情報処理システムは、推論処理部と、異常判定部と、モデル訓練部と、通知制御部とを備え、前記推論処理部は、評価データを取得し、推論処理を実行する第1モデルに前記評価データを入力して第1推論結果を取得し、前記異常判定部は、前記第1推論結果と前記評価データのリファレンス情報とに基づき、前記第1推論結果の前記評価データに対する誤り又は漏れを判定する第1判定を実行し、前記モデル訓練部は、前記第1推論結果に誤り又は漏れがあった第1評価データと、前記第1評価データに類似するデータとの一方又両方を訓練データに含めて行う機械学習の第1訓練によって第2モデルを取得し、前記推論処理部はさらに、前記第2モデルに前記評価データを入力して第2推論結果を取得し、前記異常判定部はさらに、前記第2推論結果と前記評価データのリファレンス情報とに基づき、前記第2推論結果の前記評価データに対する誤り又は漏れを判定する第2判定を実行し、前記モデル訓練部はさらに、前記評価データのうちで前記第1推論結果にはなかった誤り又は漏れが前記第2推論結果にあった第2評価データと、前記第2評価データに類似するデータとの一方又は両方を訓練データに含めて行う機械学習の第2訓練によって第3モデルを取得し、前記推論処理部はさらに、前記第3モデルに前記評価データを入力して第3推論結果を取得し、前記異常判定部はさらに、前記第3推論結果と前記評価データのリファレンス情報とに基づき、前記第3推論結果の前記評価データに対する誤り又は漏れを判定する第3判定を実行し、前記通知制御部は、前記第3推論結果にあった誤り又は漏れと前記第1推論結果にあった誤り又は漏れとが同じであると識別される場合、前記第1モデルの訓練限界に関する情報を出力する。
【0025】
これにより、機械学習の訓練による推論モデルの性能の向上の限界が、推論モデルの作成者の技術レベルによらずに判断されるようになる。
【0026】
なお、包括的又は具体的なこれらの態様は、上記の方法及びシステムの他に、装置、集積回路、又はCD-ROM等のコンピュータが読み取り可能な記録媒体で実現されてもよく、装置、システム、集積回路、方法、コンピュータプログラム及び記録媒体の任意な組合せで実現されてもよい。
【0027】
以下、本開示の一態様に係る情報処理方法及び情報処理システムの実施の形態について、図面を参照しながら説明する。ここで示す実施の形態は、本開示の一具体例を示すものである。したがって、以下の実施の形態で示される数値、形状、構成要素、構成要素の配置及び接続形態、並びにステップ(工程)及びステップの順序等は一例であって、本開示を限定するものではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素は任意に付加可能な構成要素である。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0028】
(実施の形態)
実施の形態に係る情報処理方法は、コンピュータに実行させるものであって、機械学習の訓練によって得た推論モデルによる処理結果の異常(漏れ又は誤り)に基づいて、さらなる訓練を実行しても性能の向上の可能性が低いこと、つまりは実質的な限界(以下、訓練限界ともいう)を判定するための方法である。以下ではこの情報処理方法について、画像に対する物体検出を行う推論モデルの訓練限界の判定のために用いるケースを例に説明する。
【0029】
[1.構成]
図1は、本実施の形態に係る情報処理方法を実行する情報処理システムの機能構成例を示すブロック図である。
【0030】
本実施の形態に係る情報処理システム100では、機械学習の訓練を行って推論モデルを生成又は更新し、また、この生成又は更新した推論モデルの評価が行われる。そして情報処理システム100は、この評価の結果に基づいて、訓練による性能の向上の限界であるかの判定がなされる。
【0031】
情報処理システム100は、各々プロセッサ及びメモリを備える一台以上のコンピュータで構成されてこの情報処理方法を実行するサーバを含む。
図1に示す例では、このサーバは機能的な構成要素として検出処理部10、異常判定部20、誤検出識別部30、未検出識別部40、通知制御部50及びモデル訓練部60を備える。
【0032】
検出処理部10は、機械学習による訓練が既に実行された物体検出モデル(以下、簡略に訓練済みモデルともいう)に、性能評価のための物体検出処理を実行させる。訓練済みモデルの性能評価に用いる評価データ(この例では画像データ)を取得した検出処理部10は、この性能評価に用いる画像に対する前処理を行う。ここでいう前処理とは、物体検出の準備のために行われる処理であり、例えば画像の解像度の調整又は画素値の正規化である。検出処理部10は、評価対象の訓練済みモデルを取得すると、前処理が済んだ各画像をこの訓練済みモデルに入力して、物体検出モデルによる推論処理である物体検出処理の結果(以下、物体検出結果という)を出力させる。物体検出結果とは、具体的には、物体検出モデルが画像で検出した、例えば歩行者、障害物等の物体を囲む検出枠である。取得された検出枠の情報は、検出処理部10から異常判定部20へと出力される。この情報には、例えば、物体検出処理が行われた画像を特定する情報、当該画像における検出枠の範囲(位置及び大きさ)及び確度(尤度とも称する)が含まれる。検出処理部10は、本実施の形態における推論処理部の例であり、検出処理部10が物体検出結果から取得する物体検出結果は、本実施の形態における第1推論結果、第2推論結果及び第3推論結果の例である。
【0033】
異常判定部20は、検出処理部10から入力を受けた検出枠の情報に加えて、この画像における物体検出の正解をリファレンスとして示す検出枠(以下、正解枠ともいう)の情報を取得する。そして異常判定部20は、検出処理部10から入力を受けた検出枠と、正解を示す検出枠とに基づいて、訓練済みモデルによる物体検出結果の異常について判定する。この例での異常には、誤検出(誤り)及び未検出(漏れ)が含まれる。
図2は、異常判定部20が行う物体検出結果のこれらの異常についての判定方法の手順例を示すフロー図である。
【0034】
異常判定部20は、検出処理部10から入力を受けた情報が示す一の画像について取得された検出枠の確度の降順で異常判定を行う。まず異常判定部20は、異常判定が未実施の検出枠のうち、確度の最も高いものを特定する(ステップS01)。
【0035】
次に異常判定部20は、ステップS01で特定した検出枠と当該画像の正解枠とのIoU(Intersection over Union)とを算出する(ステップS02)。
【0036】
次に異常判定部20は、各検出枠のステップS02で算出した正解枠とのIoUが0.5を超えるか否かを判定する(ステップS03)。正解枠とのIoUが0.5を超える検出枠である場合(ステップS03でYes)、異常判定部20は、この検出枠を正検出によるものと判定し、IoUが0.5を超える正解枠とペアリングする(ステップS04)。正解枠とのIoUが0.5を超えない検出枠である場合(ステップS03でNo)、異常判定部20は、この検出枠を誤検出によるものと判定する(ステップS05)。
【0037】
次に異常判定部20は、この画像について取得された検出枠にS05までの一連の手順が未実施の検出枠がさらにあるか確認する(ステップS06)。
【0038】
この手順が未実施の検出枠がある場合(ステップS06でYes)、異常判定部20はステップS01に戻る。
【0039】
この画像について取得された全ての検出枠についてステップS05までの手順が実施済みである場合(ステップS06でNo)、異常判定部20は、この画像についての正解枠のうちで、ここまでの手順でいずれの検出枠ともステップS04におけるペアリングによるペアが成立していない正解枠の存否を確認する(ステップS07)。
【0040】
ペアが成立していない正解枠がある場合(ステップS07でYes)、異常判定部20は、この正解枠を未検出によるものと判定し(ステップS08)、一連の手順は終了する。
【0041】
ペアが成立していない正解枠がない、つまり全ての正解枠がいずれの検出枠とペアになっている場合(ステップS07でNo)、この画像に対する物体検出処理の異常についての判定のための一連の手順は終了する。
【0042】
異常判定部20による判定の結果、つまり各検出枠正誤等に関する情報(以下、誤検出情報ともいう)は誤検出識別部30へ出力され、未検出に関する情報(以下、未検出情報ともいう)は未検出識別部40へ出力される。誤検出情報及び未検出情報については後述する。
【0043】
なお、上記の手順例は、説明の簡便のために、検出枠が一種類の物体検出対象のみに対して取得されている場合を想定して説明している。検出対象の物体が複数種類ある場合には、ステップS02が同種の物体についての検出枠と正解枠との間で実行されてもよい。この場合、例えば異常判定部20が取得する検出枠の情報及び正解枠の情報それぞれにさらに含まれる、検出された物体の種類に関する情報が利用される。
【0044】
また、ステップS03におけるIoUの基準値0.5は一例であり、以下の説明でも例として用いる。この基準値は、例えばひとつの検出枠と複数の正解枠の各々との間で算出されたIoUのうち一つのみが超えるように設定される。しかし、それでも複数のIoUが基準値を超える場合、例えばIoUが最も高い検出枠と正解枠との組み合わせがステップS04でペアリングされてもよい。または、曖昧な検出結果であるとの考えに基づいて、当該検出枠は誤検出によるものと判定してもよい。
【0045】
異常判定部20が検出処理部10から入力を受ける情報が示す検出枠は、本実施の形態における第1検出枠の例である。また、異常判定部20が取得した正解枠の情報は本実施の形態におけるリファレンス情報の例であり、正解枠は第2検出枠の例である。また、異常判定部20が
図2に例示する手順に沿って行う判定は、本実施の形態における第1判定、第2判定及び第3判定の例である。
【0046】
誤検出識別部30は、異常判定部20から誤検出情報を取得し、また、この誤検出情報を蓄積する。誤検出情報は、例えば物体検出が実行された画像、検出結果の正誤、及び誤検出と判定された物体検出結果の検出枠(以下、誤検出枠ともいう)等の、発生した誤検出の詳細を示す情報を含む。誤検出識別部30は、異常判定部20から新たに取得した誤検出情報に詳細が示される誤検出が既出の誤検出の再発生であるか否かについて、蓄積してある誤検出情報を用いて判定する。具体例として、誤検出識別部30は、新たに取得した誤検出情報が示す誤検出枠と、性能評価済みのより古い物体検出モデルによる同じ画像に対する物体検出処理で発生した誤検出による誤検出枠とのIoUを算出する。そしてこのIoUが所定の基準値(例えば0.5)を超える場合、誤検出識別部30は、新たに取得した誤検出情報に詳細が示される誤検出は、より古い物体検出モデルで発生した誤検出と同じ誤検出であると識別して、既出の誤検出の再発生であると判定する。また、このIoUが所定の閾値以下である場合、誤検出識別部30は、新たに取得した誤検出情報に詳細が示される誤検出は既出の誤検出ではない(新規の誤検出である)と判定する。そして、この判定の結果に関する情報が、誤検出識別部30から通知制御部50に出力される。判定の結果に関する情報には、判定の結果以外に例えば誤検出が発生した画像を特定する情報が含まれる。この判定の結果に関する情報は、後述のモデル訓練部60に渡されて、次回実行される機械学習の訓練で用いられる訓練データの取得に用いられる。
【0047】
未検出識別部40は、異常判定部20から未検出に関する情報を取得し、また、この未検出情報を蓄積する。未検出情報とは、例えば物体検出が実行された画像、及び未検出と判定された正解枠(以下、未検出枠ともいう)等の、発生した未検出の詳細を示す情報を含む。未検出識別部40は、異常判定部20から新たに取得した未検出情報に詳細が示されている未検出が既出の未検出の再発生であるか否かについて、蓄積してある未検出情報を用いて判定する。具体例として、未検出識別部40は、新たに取得した未検出情報が示す未検出枠が、性能評価済みのより古い物体検出モデルによる同じ画像に対する物体検出処理で発生した未検出による未検出枠と同一であるか否か識別する。そしてこれら二つの未検出枠が同一である場合、未検出識別部40は、新たに取得した未検出情報に詳細が示される未検出は、既出の未検出の再発生であると判定する。また、これら二つの未検出枠が同一ではない場合、未検出識別部40は、新たに取得した未検出情報に詳細が示される未検出は既出の未検出ではない(新規の未検出である)と判定する。そして、この判定の結果に関する情報が、未検出識別部40から通知制御部50に出力される。判定の結果に関する情報には、判定の結果以外に例えば新規の未検出が発生した画像を特定する情報が含まれる。この判定の結果に関する情報は、後述のモデル訓練部60に渡されて、次回実行される機械学習の訓練で用いられる訓練データの取得に用いられる。
【0048】
通知制御部50は、誤検出識別部30及び未検出識別部40から入力を受ける判定の結果に関する情報に基づいて背反の発生の有無を判定し、この判定の結果に応じた通知をモデル訓練部60に送る。ここでいう背反とは、機械学習の訓練によっていったん解消した誤検出又は未検出が、その後に別の誤検出又は未検出を解消する訓練を経て取得された訓練済みモデルで再発することである。通知の具体例としては、背反が発生していると判定した場合、通知制御部50は、訓練限界に関する情報として、訓練限界であることを情報処理システム100のユーザ、つまりは物体検出モデルの作成担当者に通知する。訓練限界に関する情報として、発生していると判定された背反に関わる検出結果(検出枠)が出力されてもよい。この通知は、例えば、
図1のサーバを構成するコンピュータに接続された表示装置(図示なし)に表示される画像を介して行われる。また、背反が発生していないと判定した場合、通知制御部50は、ユーザに訓練の正常終了を通知してもよい。これらの通知は、
図1のサーバを構成するコンピュータに接続されたスピーカ(図示なし)から出力される音声を介して行われてもよい。また、背反は発生していないと判定した場合、通知制御部50は、誤検出識別部30及び未検出識別部40から入力を受けた新規の誤検出に関する情報又は新規の未検出に関する情報をモデル訓練部60に出力する。
【0049】
モデル訓練部60は、機械学習の訓練を実行して、性能評価の対象となる物体検知モデルを取得する。モデル訓練部60は、通知制御部50から新規の誤検出に関する情報の入力を受けると、この誤検出を解消するための訓練に用いる訓練データを訓練データD20から取得する。誤検出を解消するための訓練に用いる訓練データとは、例えば新規の誤検出に関する情報で特定される、この新規の誤検出が発生した画像のデータである。モデル訓練部60はまた、通知制御部50から新規の未検出に関する情報の入力を受けると、この未検出を解消するための訓練に用いる訓練データを訓練データD20から取得する。未検出を解消するための訓練に用いる訓練データとは、例えば新規の未検出に関する情報で特定される、この新規の未検出が発生した画像のデータである。つまり訓練データD20に加えて、評価データD10由来のデータを機械学習の訓練に。また、誤検出を解消するための訓練に用いる訓練データとして、新規の誤検出が発生した画像に類似の画像のデータが用いられてもよい。同様に、未検出を解消するための訓練に用いる訓練データとして、新規の誤検出が発生した画像に類似する画像のデータが用いられてもよい。類似する画像とは、例えば当該画像と同じ又は近い構図であって、露出又はシャッター速度等の撮影設定を変えて撮影された画像である。類似する画像の別の例としては、当該画像に画像処理を施して、ノイズが付加若しくは低減された画像、及び明るさ、コントラスト、彩度若しくはホワイトバランス等が変更された画像が挙げられる。
【0050】
機械学習の訓練を実行するために、モデル訓練部60は、取得した上記の訓練データと、誤検知又は未検知が発生した訓練済みモデルを得るための訓練に用いた訓練データと合わせたデータセットを用意する。そしてモデル訓練部60は、このデータセットを用いて、所定の構成の物体検出モデルに対する機械学習の訓練を実行する。訓練が完了すると、モデル訓練部60からは新規な訓練済みモデルが出力される。
【0051】
これらの機能的な構成要素は、サーバを構成するコンピュータで、メモリに保持されるプログラムをプロセッサが実行し、必要に応じてメモリにデータを保存し、又はメモリに保存されたデータを読み出すことで実現される。
【0052】
なお、
図1の例では、情報処理システム100において評価データD10及び訓練データD20はサーバの外部からサーバへと入力されているが、一方又は両方がサーバ内に配置されていてもよい。
【0053】
[2.動作]
次に、上述した構成の情報処理システム100で実行される情報処理方法について説明する。この情報処理方法によって、機械学習の訓練を経て生成又は更新された推論モデルの性能が評価され、この評価の結果に基づいて、訓練による性能の向上の限界であるか否かが判定される。
図3は、この情報処理方法の手順例を示すフロー図である。なお、当該情報処理方法の概要の把握を容易にするために、手順の一部を簡略にしたり、ある想定した状況に沿って全体を説明して、後ほど補足する。
図3に例示しているのは、物体検出モデルの精度向上の作業過程において、訓練済みモデルに評価用の画像データを入力して物体検出結果を取得し、この物体検出結果と評価用の画像データのリファレンス情報とに基づく異常判定部20による異常判定(
図2参照)の結果が得られたところからの手順である。ここで、
図3に示す手順の前に評価データが入力されて物体検出を実行した訓練済みの物体検出モデルは本実施の形態における第1モデルの例、この物体検出モデルが出力した物体検出結果は第1推論結果の例、この物体検出結果に対する異常判定部20による異常判定は第1判定の例である。
【0054】
この第1判定の結果のうち、誤検出情報を異常判定部20から受け取った誤検出識別部30は、この誤検出情報を過去に受け取って蓄積した誤検出情報と照らし合わせて、第1モデルの評価のためにした物体検出処理で、新規の誤検出が発生しているか否かを判定する(ステップS10)。新規の誤検出が発生していない間(ステップS10でNo)、この情報処理方法は次の手順へ進まない。つまり同じと識別される誤検出が再発生している間は、例えばその誤検出の解消を図るための作業が行われる。
【0055】
新規の誤検出が発生している場合(ステップS10でYes)に、この情報処理方法はステップS11へ進む。ステップS11では、この判定の結果に関する情報を誤検出識別部30から通知制御部50を介して受け取ったモデル訓練部60が、機械学習の訓練によって新たな物体検出モデルを取得する。この訓練では、上記の新規の誤検出(この新規の誤検出を指して便宜的に誤検出Aと称する)を発生させた物体検出モデルの訓練に用いた既存の訓練データと、誤検出Aが発生した評価データである画像のデータ及びこの画像に類似する画像のデータとの一方又は両方とが訓練データに用いられる。ステップS11で取得された物体検出モデルを、以下では便宜的にモデルaと称する。ステップS11におけるモデル訓練部60による上記の訓練は、本実施の形態における第1訓練の例であり、モデルaは、本実施の形態における第2モデルの例である。また、評価データとしてモデルaに入力された画像データのうち、検出に誤りがあった画像、つまり誤検出Aが発生した画像のデータは、本実施の形態における第1評価データの例である。
【0056】
次は検出処理部10が、モデルaに評価データである画像のデータを入力し、この入力に対してモデルaが出力する物体検出結果を取得する(ステップS20)。モデルaが出力する物体検出結果は、本実施の形態における第2推論結果の例である。
【0057】
次は異常判定部20が、ステップS20でモデルaに入力された評価データのリファレンス情報と、その入力に対してモデルaが出力した物体検出結果とに基づいて、
図2に手順を例示した異常判定を実行する(ステップS21)。ステップS21でのこの異常判定は、本実施の形態における第2判定の例である。
【0058】
次に、この第2判定の結果のうち、誤検出情報を異常判定部20から受け取った誤検出識別部30は、この誤検出情報と過去に受け取って蓄積した誤検出情報と照らし合わせて、誤検出Aと同じか否か識別、つまり、誤検出Aが解消しているか否か確認する(ステップS22)。誤検出Aが解消していない場合(ステップS22でNo)、ステップS11からやり直す。この場合のステップS11は、例えば前回のステップS11の実行時とは使用する訓練データ、又はバッチサイズ、イテレーション数又はエポック数等の機械学習の訓練におけるハイパーパラメータを変えて実行されてもよい。
【0059】
誤検出Aが解消している場合(ステップS22でYes)、第2判定の結果のうち、未検出情報を異常判定部20から受け取った未検出識別部40は、この未検出情報を過去に受け取って蓄積した未検出情報と照らし合わせて、モデルaの評価のために実行した物体検出処理で新規の未検出が発生しているか否かを判定する(ステップS23)。新規の未検出が発生している場合(ステップS23でYes)、この判定の結果に関する情報が、未検出識別部40から通知制御部50を介してモデル訓練部60に渡される。モデル訓練部60は、機械学習の訓練によってさらに新たな物体検出モデルを取得する(ステップS24)。この訓練では、ステップS11でモデルaの訓練に用いた既存の訓練データと、新規の未検出(この新規の未検出を指して便宜的に未検出Bと称する)が発生した評価データである画像のデータ及びこの画像に類似する画像のデータの一方又は両方とが訓練データに用いられる。ステップS24で取得された物体検出モデルを、以下では便宜的にモデルbと称する。ステップS24におけるモデル訓練部60による上記の訓練は、本実施の形態における第2訓練の例であり、モデルbは、本実施の形態における第3モデルの例である。また、評価データとしてモデルbに入力された画像データのうち、検出に漏れがあった画像、つまり未検出Bが発生した画像のデータは、本実施の形態における第2評価データの例である。
【0060】
次は検出処理部10が、モデルbに評価データである画像のデータを入力して、この入力に対してモデルbが出力する物体検出結果を取得する(ステップS30)。モデルbが出力する物体検出結果は、本実施の形態における第3推論結果の例である。
【0061】
次は異常判定部20が、ステップS30でモデルbに入力された評価データのリファレンス情報と、その入力に対してモデルbが出力した物体検出結果とに基づいて、
図2に手順を例示した異常判定を実行する(ステップS31)。ステップS31でのこの異常判定は、本実施の形態における第3判定の例である。
【0062】
次に、この第3判定の結果のうち、未検出情報を異常判定部20から受け取った未検出識別部40は、この未検出情報と過去に受け取って蓄積した未検出情報と照らし合わせて、未検出Bが解消しているか否か確認する(ステップS32)。未検出Bが解消していない場合(ステップS32でNo)、ステップS24からやり直す。この場合のステップS24は、例えば前回のステップS24の実行時とは使用する訓練データ、又はバッチサイズ、イテレーション数又はエポック数等の機械学習の訓練におけるハイパーパラメータを変えて実行されてもよい。
【0063】
未検出Bが解消している場合(ステップS32でYes)、第3判定の結果のうち、誤検出情報を異常判定部20から受け取った誤検出識別部30は、この誤検出情報に基づいて、誤検出が発生しているか否か判定する(ステップS33)。誤検出が発生している場合(ステップS33でYes)、過去に受け取って蓄積した誤検出情報と照らし合わせて、モデルbで発生したこの誤検出が、いったん解消した誤検出Aの再発生であるか否かさらに判定する(ステップS40)。ステップS40での判定の結果は、通知制御部50に入力される。誤検出Aが再発生している場合(ステップS40でYes)、通知制御部50は、訓練限界に関する情報を出力、例えばこの情報を示す所定のデータを表示装置又はスピーカに出力して、物体検知モデル作成の作業者に通知する(ステップS50)。訓練限界に関する情報は、例えば、訓練限界に到達した可能性を示す。このような通知を受けることで作業者は、取り組んでいた機械学習の訓練によるモデルの性能の向上が限界を迎えたことを知ることができる。
【0064】
また、
図3の例では、誤検出Aが、その後に訓練を経て得られたモデルaで解消しており(ステップS22でYes)、かつ、モデルaでは未検出も発生しない場合(ステップS23でNo)に、背反が発生していないことがユーザに通知される(ステップS51)。同様に、モデルaで発生した未検出Bが、その後に訓練を経て得られたモデルbではいったん解消しており(ステップS32でYes)、かつ、モデルbでは誤検出も発生しない場合(ステップS33でNo)にも、背反が発生していないこと、又は訓練限界未達の旨がユーザに通知される(ステップS51)。
【0065】
なお、上記の手順は一例であり、本実施の形態に係る情報処理方法での処理内容はこの例に限定されない。例えば上記の例では、先に発生した誤検出Aをいったん解消させた際に発生した未検出Bを解消すると、すでに解消させていた誤検出Aが再発生するという事象の発生を条件として、訓練限界に到達したと判定されている。訓練限界に到達したと判定する条件としてこのように用い得る事象の内容はこれに限定されず、複数の異常を同時に解消できないという背反の発生であればよい。例えば上記の例における誤検出と未検出とを入れ替え、先に発生した未検出をいったん解消させた際に発生した誤検出を解消すると、すでに解消させていた未検出が再発生するという事象の発生をもって、訓練限界に到達したと判定されてもよい。また、同時に解消できない複数の誤検出の存在という事象、又は同時に解消できない複数の未検出の存在という事象の発生が、訓練限界に到達したと判定する条件である背反の内容であってもよい。
【0066】
(変形例及びその他の補足事項)
本開示の一又は複数の態様に係る情報処理方法は、上記実施の形態の説明に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が想到する各種の変形を上記の実施の形態に施したものも本開示の態様に含まれる。下記にそのような変形の例、及び実施の形態の説明へのその他の補足事項を挙げる。
【0067】
(1)上記実施の形態の説明では、物体検出モデルが出力した物体検出結果が誤検出であるか否かの評価尺度としてIoUが用いられているが、物体検出結果の評価手法はこれに限定されない。IoU以外に本開示の情報処理方法において利用可能な、検出枠と正解枠とに基づいて取得される評価尺度の例として、Precision(適合率ともいう。誤りの評価に使用)、Recall(再現率ともいう。漏れの評価に使用)及びF値(誤り及び漏れの評価に使用)が挙げられる。
【0068】
(2)上記実施の形態の説明における、通知制御部50による、通知のための表示装置又はスピーカで再生するためのデータの出力は、情報処理システム100からの出力の一形態の例であって、他の形態であってもよい。例えば情報処理システム100が備える、又は情報処理システム100の外部の記憶装置(図示なし)で、情報処理システム100での機械学習の訓練に関するログとして保管するためのデータの出力であってもよい。また別の例として、情報処理システム100内又は外部での何らかの情報処理での処理対象のデータ又は参照されるデータとして出力されてもよい。例えば、推論モデルの作成のためのハイパーパラメータを決定する情報処理に用いられてもよい。
【0069】
(3)上記実施の形態におけるステップS11でモデルa、ステップS24でモデルbを得るための機械学習の訓練は、全訓練データを用いた訓練であって各モデルを一から作成するものであってよい。この場合、第1モデル、第2モデル及び第3モデルは互いに独立したモデルとして取得される。追加した訓練データを用いて既存のモデルに追加的に実行されるものであってもよい。後者について
図3の例に沿って具体的に説明すると、ステップS24でモデルbを得るために、モデルaによる物体検出で未検出が発生した画像のデータ及びこの画像に類似する画像のデータの一方又は両方を用いてモデルaに対し追加的な訓練を実行することである。そしてこの場合、第1モデルが更新されたものが第2モデルとして取得され、第2モデルが更新されたものが第3モデルとして取得される。
【0070】
(4)上記実施の形態では、背反の発生について、あるひとつの異常(未検出又は誤検出)が、いったん解消した後に他のひとつの異常(未検出又は誤検出)を挟んで再発生する例を用いて説明している。しかしながら、この再発生した異常の間に発生する異常は1個に限定されない。例えば、ある所望のモデルを得るために実行される機械学習の訓練、物体検出及び物体検出結果の異常判定を含むサイクルを繰り返す際に、各サイクルで発生した異常の内容に関する情報を蓄積し、各サイクルで異常が発生した場合には各異常と内容を照合する。この照合の結果、最新のサイクルで発生した異常の内容が過去のいずれのサイクルで発生した異常と同一と識別し得る場合も、本開示における背反に含まれ得る。この意味で、本開示における第1推論結果、第2推論結果及び第3推論結果は、上記サイクルの繰り返しの中で時間軸上この順序で取得される任意のものであってよく、連続的に得られるものに限定されない。
【0071】
(5)上記実施の形態は、画像データに対する物体検出を行う推論モデルを例に用いて説明しているが、推論モデルによる処理対象は画像データに限定されない。画像データ以外のセンサデータ、具体例として、音声、距離点群、圧力、温度、湿度、におい等のデータでもよいし、センサデータ以外のデータ、例えば言語のデータであってもよい。そして推論モデルは、これらのデータが入力されると、例えば音声認識、話者認識、文体解析等の結果を出力するものであってもよい。
【0072】
(6)上述の各情報処理システムが備える機能的な構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)で構成されてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM(Read-Only Memory)、RAM(Random Access Memory)などを含んで構成されるコンピュータシステムである。ROMには、コンピュータプログラムが記憶されている。マイクロプロセッサがこのコンピュータプログラムに従って動作することにより、システムLSIは各構成要素の機能を達成する。
【0073】
なお、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、あるいはLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0074】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
【0075】
(7)本開示の一態様は、
図2又は
図3のフロー図を用いて上述した情報処理方法に限定されず、コンピュータによって実行されるプログラム、及びコンピュータを含む情報処理システムであってもよい。また、本開示の一態様は、そのようなコンピュータプログラムが記録された、コンピュータ読み取り可能な非一時的な記録媒体であってもよい。
【産業上の利用可能性】
【0076】
本開示に係る情報処理方法等は、機械学習の訓練を通して性能の向上が図られるモデルの開発に利用可能である。
【符号の説明】
【0077】
10 検出処理部
20 異常判定部
30 誤検出識別部
40 未検出識別部
50 通知制御部
60 モデル訓練部
100 情報処理システム
D10 評価データ
D20 訓練データ