IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特開2024-35387方法、学習モデル評価システム、及びプログラム
<>
  • 特開-方法、学習モデル評価システム、及びプログラム 図1
  • 特開-方法、学習モデル評価システム、及びプログラム 図2
  • 特開-方法、学習モデル評価システム、及びプログラム 図3
  • 特開-方法、学習モデル評価システム、及びプログラム 図4
  • 特開-方法、学習モデル評価システム、及びプログラム 図5
  • 特開-方法、学習モデル評価システム、及びプログラム 図6
  • 特開-方法、学習モデル評価システム、及びプログラム 図7
  • 特開-方法、学習モデル評価システム、及びプログラム 図8
  • 特開-方法、学習モデル評価システム、及びプログラム 図9
  • 特開-方法、学習モデル評価システム、及びプログラム 図10
  • 特開-方法、学習モデル評価システム、及びプログラム 図11
  • 特開-方法、学習モデル評価システム、及びプログラム 図12
  • 特開-方法、学習モデル評価システム、及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024035387
(43)【公開日】2024-03-14
(54)【発明の名称】方法、学習モデル評価システム、及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240307BHJP
   G06T 7/60 20170101ALI20240307BHJP
   G06V 10/776 20220101ALI20240307BHJP
【FI】
G06T7/00 350B
G06T7/60 300A
G06V10/776
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022139811
(22)【出願日】2022-09-02
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】西本(内田) 滋穂里
(72)【発明者】
【氏名】西本 崇志
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA03
5L096FA06
5L096FA66
5L096FA76
5L096JA11
5L096KA04
(57)【要約】
【課題】検出対象物を識別する学習モデルを適切に評価することが可能な方法、学習モデル評価システム、及びプログラムを提供する。
【解決手段】コンピュータが、少なくとも1つの検出対象物が撮像された対象画像を学習モデルに入力し、対象画像における少なくとも1つの検出対象物の輪郭を示す第1輪郭情報を取得することと、第1輪郭情報を評価する基準となる、少なくとも1つの検出対象物の輪郭を示す第2輪郭情報を取得することと、第1輪郭情報が満たすべき条件を取得することと、第1輪郭情報と、第2輪郭情報と、条件とに基づいて、学習モデルの性能が評価された評価情報を生成することと、を含む、方法。
【選択図】図4
【特許請求の範囲】
【請求項1】
コンピュータが、
少なくとも1つの検出対象物が撮像された対象画像を学習モデルに入力し、前記対象画像における前記少なくとも1つの検出対象物の輪郭を示す第1輪郭情報を取得することと、
前記第1輪郭情報を評価する基準となる、前記少なくとも1つの検出対象物の輪郭を示す第2輪郭情報を取得することと、
前記第1輪郭情報が満たすべき条件を取得することと、
前記第1輪郭情報と、前記第2輪郭情報と、前記条件とに基づいて、前記学習モデルの性能が評価された評価情報を生成することと、を含む、方法。
【請求項2】
請求項1に記載の方法であって、
前記評価情報を生成することは、
前記第1輪郭情報と前記第2輪郭情報とに基づいて、前記第1輪郭情報により示される少なくとも1つの第1輪郭の各点から、前記第2輪郭情報により示される少なくとも1つの第2輪郭へ向かう距離を示す第1輪郭間距離情報と、前記少なくとも1つの第2輪郭の各点から、前記少なくとも1つの第1輪郭へ向かう距離を示す第2輪郭間距離情報とを算出することと、
前記第1輪郭間距離情報及び前記第2輪郭間距離情報に基づく輪郭間距離情報に対して設けられる前記条件に基づいて、前記評価情報を生成すること、を含む、方法。
【請求項3】
請求項2に記載の方法であって、
前記評価情報を生成することは、
前記輪郭間距離情報における距離データの平均値及び標準偏差を算出することと、
前記条件を前記平均値及び前記標準偏差に対する条件として、前記評価情報を生成すること、を含む、方法。
【請求項4】
請求項3に記載の方法であって、
前記平均値及び前記標準偏差に対する前記条件は、前記第1輪郭と前記第2輪郭との許容可能な差分を示す画素数である、方法。
【請求項5】
請求項1に記載の方法であって、
前記第2輪郭情報を取得することは、記憶部に記憶される、取得画像における少なくとも1つの基準対象物の輪郭を示す情報として前記第2輪郭情報を取得すること、を含む、方法。
【請求項6】
請求項1から5のいずれか一項に記載の方法であって、
前記コンピュータに、
前記対象画像を含む条件設定画面をユーザに表示するための設定画面情報を生成させること、をさらに実行させ、
前記第1輪郭情報が満たすべき前記条件を取得することは、前記ユーザから、前記条件設定画面を通じて前記条件を取得すること、を含む、方法。
【請求項7】
請求項6に記載の方法であって、
前記第2輪郭情報を取得することは、前記条件設定画面を通じて、前記ユーザから取得された前記第2輪郭情報を取得すること、を含む、方法。
【請求項8】
請求項6に記載の方法であって、
前記コンピュータに、
前記対象画像と、前記第1輪郭情報に基づく予測画像と、前記評価情報を含む出力画面をユーザに表示するための出力画面情報を生成させること、をさらに含む、方法。
【請求項9】
請求項8に記載の方法であって、
前記評価情報を生成することは、前記第1輪郭情報と前記第2輪郭情報との相違を示す比較情報を生成することをさらに含み、
前記出力画面は前記比較情報をさらに含む、方法。
【請求項10】
少なくとも1つの検出対象物が撮像された対象画像を学習モデルに入力し、前記対象画像における少なくとも1つの前記検出対象物の輪郭を示す第1輪郭情報を取得する第1輪郭情報取得部と、
前記第1輪郭情報を評価する基準となる、前記少なくとも1つの検出対象物の輪郭を示す第2輪郭情報を取得する第2輪郭情報取得部と、
前記第1輪郭情報が満たすべき条件を取得する条件取得部と、
前記第1輪郭情報と、前記第2輪郭情報と、前記条件とに基づいて、前記学習モデルの性能が評価された評価情報を生成する評価部と、を備える、学習モデル評価システム。
【請求項11】
コンピュータに、
少なくとも1つの検出対象物が撮像された対象画像を学習モデルに入力し、前記対象画像における前記少なくとも1つの検出対象物の輪郭を示す第1輪郭情報を取得することと、
前記第1輪郭情報を評価する基準となる、前記少なくとも1つの検出対象物の輪郭を示す第2輪郭情報を取得することと、
前記第1輪郭情報が満たすべき条件を取得することと、
前記第1輪郭情報と、前記第2輪郭情報と、前記条件とに基づいて、前記学習モデルの性能が評価された評価情報を生成することと、を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、方法、学習モデル評価システム、及びプログラムに関する。
【背景技術】
【0002】
製品の品質管理において、製品が良品であるか不良品であるかを、製品の外観から検査することが行われる。外観検査では、対象物を撮影し、対象物の画像をコンピュータによって画像処理することで、検査を行う手法がある。一例として、特許文献1には、検査画像と教示画像との輪郭線を用いた外観検査のための画像処理方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004-069698号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
外観検査における画像処理では、対象物が存在する画素を識別するためのセグメンテーション処理が行われることがある。セグメンテーション処理によって、例えば、対象物の形状や輪郭を基にした良品判定が可能となる。セグメンテーション処理は、例えば、機械学習された学習モデルを用いて行われることがある。セグメンテーション処理のための学習モデルは、ある入力画像に対して、画素がどの物体であるかを分類した結果を出力するように動作する。このとき、学習モデルによる分類が適切に行われているか否かを評価する必要がある。学習モデルの評価のための評価指標には、例えば、ある分類について、正解画像における画素と、学習モデルで予測された画素とが重なる面積に基づくmIoU(mean Intersection over Union)という指標がある。
【0005】
外観検査において、例えば、検出対象物が細長い形状である場合、検出対象物がセグメンテーション処理によって分類されたマスクにおいて、マスクが検出対象物からはみ出したり、跡切れが生じたりすることがある。面積の重なりを基にする場合、このような不完全なマスクが生成されたとしても、その生成に用いられた学習モデルの性能を適切に評価することが難しい。なぜなら、例えば細長い物体の一部が欠けていた場合であっても、マスクが検出対象物に十分重なっている場合には、mIoUの指標は大きく悪化しにくいためである。
【0006】
本開示は、一側面では、このような実情を鑑みてなされたものであり、その目的は、検出対象物を識別する学習モデルを適切に評価することが可能な方法、学習モデル評価システム、及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
本開示は、上述した課題を解決するために、以下の構成を採用する。
【0008】
本開示の一側面に係る方法は、コンピュータが、少なくとも1つの検出対象物が撮像された対象画像を学習モデルに入力し、対象画像における少なくとも1つの検出対象物の輪郭を示す第1輪郭情報を取得することと、第1輪郭情報を評価する基準となる、少なくとも1つの検出対象物の輪郭を示す第2輪郭情報を取得することと、第1輪郭情報が満たすべき条件を取得することと、第1輪郭情報と、第2輪郭情報と、条件とに基づいて、学習モデルの性能が評価された評価情報を生成することと、を含む。
【0009】
当該方法によれば、検出対象物の輪郭を示す第1輪郭情報に対して、その基準となる第2輪郭情報を用いた評価が、所定の条件に基づいて行われる。検出対象物の輪郭に関する情報に基づいて学習モデルを評価することが可能となるので、学習モデルによる検出対象物に対応する画素の予測が、例えば、検出対象物をはみ出している場合や途切れている場合であっても、学習モデルを適切に評価することができる。
【0010】
上記一側面に係る方法において、評価情報を生成することは、第1輪郭情報と第2輪郭情報とに基づいて、第1輪郭情報により示される少なくとも1つの第1輪郭の各点から、第2輪郭情報により示される少なくとも1つの第2輪郭へ向かう距離を示す第1輪郭間距離情報と、少なくとも1つの第2輪郭の各点から、少なくとも1つの第1輪郭へ向かう距離を示す第2輪郭間距離情報とを算出することと、第1輪郭間距離情報及び第2輪郭間距離情報に基づく輪郭間距離情報に対して設けられる条件に基づいて、評価情報を生成すること、を含んでもよい。
【0011】
当該方法によれば、予測された第1輪郭から見た正解の第2輪郭に対する第1輪郭間距離情報と正解の第2輪郭から見た予測された第1輪郭に対する第2輪郭間距離情報に基づいて、予測から見た正解と、正解から見た予測の両方を用いた評価を行うことができる。これにより、学習モデルを適切に評価することができる。
【0012】
上記一側面に係る方法において、評価情報を生成することは、輪郭間距離情報における距離データの平均値及び標準偏差を算出することと、条件を平均値及び標準偏差に対する条件として、評価情報を生成すること、を含んでもよい。
【0013】
当該方法によれば、平均値及び標準偏差を用いるため、局所的な輪郭間距離の変動を抑えつつ、輪郭全体を考慮して学習モデルを評価することができるようになり、学習モデルを適切に評価することが可能となる。
【0014】
上記一側面に係る方法において、平均値及び標準偏差に対する条件は、第1輪郭と第2輪郭との許容可能な差分を示す画素数であってもよい。
【0015】
当該方法によれば、画素数という、学習モデルの評価者にとって直感的な条件を用いることが可能となるので、評価者の利便性が向上する。
【0016】
上記一側面に係る方法において、第2輪郭情報を取得することは、記憶部に記憶される、取得画像における少なくとも1つの基準対象物の輪郭を示す情報として第2輪郭情報を取得すること、を含んでもよい。
【0017】
当該方法によれば、例えば、第2輪郭情報を評価者が予め設定しておくことが可能となり、評価者の利便性が向上する。
【0018】
上記一側面に係る方法は、コンピュータに、対象画像を含む条件設定画面をユーザに表示するための設定画面情報を生成させること、をさらに実行させ、第1輪郭情報が満たすべき条件を取得することは、ユーザから、条件設定画面を通じて条件を取得すること、を含んでもよい。
【0019】
当該方法によれば、ユーザ(評価者)が検出対象物の画像を確認しつつ条件を設定することができるので条件設定が適切に行われる。これにより、学習モデルを適切に評価することが可能となる。
【0020】
上記一側面に係る方法は、第2輪郭情報を取得することは、条件設定画面を通じて、ユーザから取得された第2輪郭情報を取得することを含んでもよい。
【0021】
当該方法によれば、ユーザが自身の判断に基づいて第2輪郭情報を設定することができるので、第2輪郭情報の設定が適切に行われる。これにより、学習モデルを適切に評価することが可能となる。
【0022】
上記一側面に係る方法は、コンピュータに、対象画像と、第1輪郭情報に基づく予測画像と、評価情報を含む出力画面をユーザに表示するための出力画面情報を生成させること、をさらに含んでもよい。
【0023】
当該方法によれば、ユーザが予測画像と対象画像とを対比しつつモデルの評価結果を把握することが可能となるので、ユーザの利便性が向上する。
【0024】
上記一側面に係る方法において、評価情報を生成することは、第1輪郭情報と第2輪郭情報との相違を示す比較情報を生成することをさらに含んでもよい。
【0025】
当該方法によれば、ユーザが予測画像と対象画像と相違を確認しつつモデルの評価結果を把握することが可能となるので、ユーザの利便性が向上する。
【0026】
また、本開示の一側面に係る学習モデル評価システムは、少なくとも1つの検出対象物が撮像された対象画像を学習モデルに入力し、対象画像における少なくとも1つの検出対象物の輪郭を示す第1輪郭情報を取得する第1輪郭情報取得部と、第1輪郭情報を評価する基準となる、少なくとも1つの検出対象物の輪郭を示す第2輪郭情報を取得する第2輪郭情報取得部と、第1輪郭情報が満たすべき条件を取得する条件取得部と、第1輪郭情報と、第2輪郭情報と、条件とに基づいて、学習モデルの性能が評価された評価情報を生成する評価部と、を備える。
【0027】
また、本開示の一側面に係るプログラムは、コンピュータに、少なくとも1つの検出対象物が撮像された対象画像を学習モデルに入力し、対象画像における少なくとも1つの検出対象物の輪郭を示す第1輪郭情報を取得することと、第1輪郭情報を評価する基準となる、少なくとも1つの検出対象物の輪郭を示す第2輪郭情報を取得することと、第1輪郭情報が満たすべき条件を取得することと、第1輪郭情報と、第2輪郭情報と、条件とに基づいて、学習モデルの性能が評価された評価情報を生成することと、を実行させる。
【発明の効果】
【0028】
本発明によれば、検出対象物を識別する学習モデルを適切に評価することが可能な方法、学習モデル評価システム、及びプログラムを提供することができる。
【図面の簡単な説明】
【0029】
図1】本実施形態に係る学習モデル評価システムが利用される様子を模式的に示す図である。
図2】本実施形態に係る学習モデル評価システム101のブロック図である。
図3】本実施形態に係る輪郭情報の一例を示す図である。
図4】本実施形態に係る学習モデル評価システムの処理の一例を説明するフローチャートである。
図5】本実施形態に係る条件設定画面の一例を示す図である。
図6】本実施形態に係る条件設定画面の一例を示す図である。
図7】本実施形態に係る評価情報生成処理の一例を説明するフローチャートである。
図8】本実施形態に係る評価情報の計算方法を模式的に説明する図である。
図9】本実施形態に係る評価情報の計算方法を模式的に説明する図である。
図10】本実施形態に係る評価情報の計算方法を模式的に説明する図である。
図11】本実施形態に係る評価情報の計算方法を模式的に説明する図である。
図12】本実施形態に係る評価情報の計算方法を模式的に説明する図である。
図13】本実施形態に係る出力画面の一例を説明する図である。
【発明を実施するための形態】
【0030】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。以下、添付図面を取得して説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0031】
図1には、本実施形態に係る学習モデル評価システム101による製品Pに関するモデル評価の様子が模式的に示される。ここでは、一例として、基板Bに要素E1,E2,E3が設けられる製品Pが示される。要素E1,E2,E3は本開示の「検出対象物」に相当する。なお、基板Bに設けられる要素の数は複数でもよく1つであってもよい。
【0032】
学習モデル評価システム101は、撮像装置によって製品を撮影し、撮影された画像における検出対象物を分類する学習モデルの性能を評価する。なお、学習モデル評価システム101を用いた評価において、製品の撮影は必須ではなく、別途撮影された製品の画像を用いてもよい。
【0033】
図2を取得して、学習モデル評価システム101の構成の一例について説明する。図2の例では、学習モデル評価システム101は、記憶部201、通信部202、表示部203、撮像部204、及び制御部205を備える。
【0034】
学習モデル評価システム101は、1つの装置によって実現されてもよく、あるいは各部の機能を有する複数の装置によって実現されてよい。例えば、学習モデル評価システム101は、撮像部204を有するが、撮像部204は他の各部をも含む装置として実現されなくともよい。例えば、学習モデル評価システム101は、撮像部204を実現する撮像装置と、撮像部204以外の機能を有する情報処理装置とを備えるように実現することができる。学習モデル評価システム101は、提供されるサービス専用に設計された情報処理装置の他、汎用のデスクトップPC(Personal Computer)、タブレットPC等によって実現されてもよい。
【0035】
記憶部201は、例えば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置であり、制御部205による処理のために実行されるプログラムや、学習モデル評価システム101で使用される各種の情報を記憶する。
【0036】
通信部202は、例えば、学習モデル評価システム101とネットワークを通じて接続される他のシステム又は情報処理装置への接続及びデータ授受を行う情報処理ユニットとして構成されている。通信部202は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。通信部202は、制御部205の制御に従って、他のシステム又は情報処理装置に、例えば、対象物の判定結果等を送信することができる。
【0037】
表示部203は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。
【0038】
撮像部204は、例えば、CMOS(Complementary MOS)、CCD(Charge Coupled Device)等の撮像素子を有する撮像装置である。撮像部204は、制御部205の制御に従って、製品Pの画像を取得する。
【0039】
制御部205は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御を行う。制御部205は、第1輪郭情報取得部2051、第2輪郭情報取得部2052、条件取得部2053、評価部2054、及び画面情報生成部2055を有する。
【0040】
第1輪郭情報取得部2051は、領域特定部20511を有する。領域特定部20511は、撮像部204が撮像した検出対象物の対象画像を取得し、対象画像を学習モデル20512に入力する。学習モデル20512は、例えば、セマンティックセグメンテーションや、インスタンスセグメンテーションを行う学習モデルである。学習モデル20512は、各画素に対応する物体を特定するように学習されている。学習モデル20512は、対象画像が入力されると、要素E1,E2,E3に対応する領域(画素)を特定する。第1輪郭情報取得部2051は、領域特定部20511によって特定された領域に基づいて、要素E1,E2,E3のそれぞれの輪郭に対応する画素を示す情報として第1輪郭情報を取得する。なお、学習モデル20512は、図2では、領域特定部20511に関連付けられて図示されているが、例えば記憶部201に記憶されてもよい。また、学習モデル20512は、学習モデル評価システム101とネットワークを通じて接続された他の情報処理装置に記憶されてもよい。
【0041】
第2輪郭情報取得部2052は、第1輪郭情報を評価する基準となる、検出対象物の輪郭を示す第2輪郭情報を取得する。第2輪郭情報取得部2052は、例えば、記憶部201に予め記憶される、取得画像における基準対象物の輪郭に対応する画素を示す情報として第2輪郭情報を取得する。あるいは、第2輪郭情報取得部2052は、後述の条件設定画面を通じてユーザにより設定される第2輪郭情報を取得してもよい。
【0042】
条件取得部2053は、第1輪郭情報が満たすべき条件を取得する。条件取得部2053は、例えば、条件設定画面を通じてユーザから条件を取得する。あるいは、条件取得部2053は、記憶部201に記憶される、予め定められた条件を取得してもよい。条件は、例えば、第1輪郭情報と第2輪郭情報との関係に対して設けられる。具体的には、条件は第1輪郭情報と第2輪郭情報に基づく輪郭間の距離に関する条件であり、例えば輪郭間の距離に基づいて算出される平均値及び標準偏差に基づく条件である。
【0043】
評価部2054は、第1輪郭情報と、第2輪郭情報と、条件とに基づいて、学習モデル20512の性能が評価された評価情報を生成する。評価情報の生成処理については後述する。
【0044】
画面情報生成部2055は、第1輪郭情報取得部2051が取得した対象画像をユーザに表示し、条件を設定するための条件設定画面を表示するための情報を生成する。また、画面情報生成部2055は、対象画像と、第1輪郭情報に基づく予測画像と、評価部2054が生成した評価情報を含む出力画面をユーザに表示するための出力画面情報を生成する。条件設定画面及び出力画面については後述する。
【0045】
図3を参照して、学習モデル評価システム101における評価対象について説明する。図3(a)には、第1輪郭情報取得部2051によって取得される対象画像IG1が示される。対象画像IG1には検出対象物である要素E1,E2,E3が含まれている。第1輪郭情報取得部2051は、第1輪郭情報取得部2051による処理を経て、図3(b)に示されるように、要素E1,E2,E3に対応するマスクM1(第1輪郭情報)を生成する。マスクM1は、インスタンスマスクM11,M12,M13,M14を含む。インスタンスマスクは、対象画像IG1に含まれる物体のそれぞれが識別された画像上の領域である。また、インスタンスマスクM11,M12,M13,M14のそれぞれは輪郭O11(第1輪郭),O12,O13,O14を有する。
【0046】
また、対象画像IG1について、第2輪郭情報取得部2052は、図3(c)に示されるマスクM2(第2輪郭情報)を取得する。マスクM2は、インスタンスマスクM21,M22,M23を含む。また、インスタンスマスクM21,M22,M23のそれぞれは輪郭O21(第2輪郭),O22,O23を有する。
【0047】
第1輪郭情報取得部2051によって特定された輪郭O11,O12,O13,O14と第2輪郭情報取得部2052によって取得された輪郭O21,O22,O23とは、図3(d)におけるマスクM1,M2が重畳されたマスクMに示されるように相違している。学習モデル評価システム101では、輪郭O11,O12,O13,O14と輪郭O21,O22,O23との距離に基づいて、学習モデル20512の評価が行われる。
【0048】
図5には、学習モデル評価システム101による処理の一例としてのフローチャートが示される。
【0049】
ステップS401において、第1輪郭情報取得部2051は、撮像部204又は記憶部201から対象画像を取得する。
【0050】
ステップS402において、画面情報生成部2055は、条件設定画面を表示するための設定画面情報を生成する。ステップS403において、表示部203は条件設定画面を表示する。図5には、条件設定画面500の一例が示される。条件設定画面500は、対象画像表示領域501を有し、対象画像表示領域501には検出対象物502を含む画像が表示される。
【0051】
ユーザが条件設定画面500におけるボタン503を選択すると、画面情報生成部2055は画面を更新する。更新された画面の一例が図6に条件設定画面600として示される。
【0052】
条件設定画面600は、閾値入力領域601、マスク表示領域602、及びボタン603を有する。閾値入力領域601には、「閾値(px)」という表示がされ、ユーザによって任意のピクセル数を閾値とする入力が可能である。図6の例では「5」ピクセルが入力されている。
【0053】
マスク表示領域602は、対象画像表示領域6021を含む。対象画像表示領域6021には、検出対象物502の画像が表示される。ユーザは、検出対象物502における所定の領域を選択するアノテーション操作を行うことで、検出対象物502に対応するインスタンスマスクM3を設定することができる。ユーザは対象画像表示領域6021に表示される検出対象物502の画像を参照しつつインスタンスマスクM3を設定することができる。なお、インスタンスマスクM3は記憶部201に予め記憶されたマスクが表示されてもよい。閾値の入力及びマスクの設定が完了すると、ユーザはボタン603を選択する。
【0054】
ステップS404において、第2輪郭情報取得部2052は、インスタンスマスクM3に基づいて第2輪郭情報を取得し、記憶部201に記憶しておく。
【0055】
ステップS405において、条件取得部2053は、条件設定画面600を通じて設定された輪郭間距離に関する閾値を取得し、記憶部201に記憶しておく。
【0056】
ステップS406において、第1輪郭情報取得部2051及び評価部2054は、評価情報生成処理を実行する。図7を参照して、評価情報生成処理について説明する。
【0057】
ステップS701において、第1輪郭情報取得部2051は、対象画像を学習モデル20512に入力する。ステップS702において、第1輪郭情報取得部2051は、領域特定部20511から第1輪郭情報を取得する。
【0058】
ステップS703において、評価部2054は第2輪郭情報取得部2052が取得した第2輪郭情報を参照する。
【0059】
ステップS704において、評価部2054は記憶部201に記憶された輪郭間距離に関する閾値を参照する。
【0060】
ステップS705において、評価部2054は、正解インスタンスマスクの輪郭と予測インスタンスマスクの輪郭との全ての組(インスタンスペア)に関して、輪郭間距離情報に基づいて、判定値を算出する。この処理について、図8から図11を参照して説明する。
【0061】
図8(a),(b),(c)のそれぞれに示されるように、評価部2054は、正解インスタンスマスクの輪郭と予測インスタンスマスクの輪郭との全ての組について判定値を算出する。例えば、図8(a)に示されるように、予測されたインスタンスマスクM21は、インスタンスマスクM11,M12,M13,M14と組み合わせられ、それぞれの組において判定値が算出される。
【0062】
評価部2054は、第2輪郭情報における正解インスタンスマスクを選択する。例えば、図3(c)に示されるマスクM2において、正解インスタンスマスクがインスタンスマスクM21として選択される。
【0063】
次に、評価部2054は、第1輪郭情報における予測インスタンスマスクを選択する。例えば、図3(b)に示されるマスクM1において、予測インスタンスマスクがインスタンスマスクM11として選択される。
【0064】
評価部2054は、選択された予測インスタンスマスクの輪郭の各点から、選択された正解インスタンスマスクの輪郭への第1輪郭間距離情報を算出する。例えば、インスタンスマスクM11の輪郭O11の各点からインスタンスマスクM21の輪郭O21への距離を算出する。評価部2054は、図9に示されるように、輪郭O11に対応する各点(画素)から、輪郭O21に対応する最短の位置にある点(画素)までの距離を算出する。この算出結果が第1輪郭間距離情報である。なお、図9及び以降の図10、11では、インスタンスマスクM22,M23,M24の図示は省略している。
【0065】
評価部2054は、選択された正解インスタンスマスクの輪郭の各点から、選択された予測インスタンスマスクの輪郭への第2輪郭間距離情報を算出する。評価部2054は、図10に示されるように、輪郭O21に対応する各点(画素)から、輪郭O11に対応する最短の位置にある点(画素)までの距離を算出する。この算出結果が第2輪郭間距離情報である。なお、輪郭O11,O21における点は、等間隔に選択されてもよく、形状に応じた任意の間隔で選択されてもよい。
【0066】
評価部2054は、第1輪郭間距離情報と第2輪郭間距離情報とに基づいて、第1輪郭間距離情報と第2輪郭間距離情報とを合わせた輪郭間距離情報を生成する。例えば、図9の例において、輪郭O11上のN個の点それぞれから輪郭O21への距離が(d11,d12,…d1N)と得られるとする。また、図10の例において、輪郭O21上のM個の点それぞれから輪郭O11への距離が(d21,d22,…d2M)と得られるとする。このとき、輪郭間距離情報は、(d11,d12,…d1N,d21,d22,…d2M)という距離データとして生成される。
【0067】
評価部2054は、輪郭間距離情報に基づいて、判定値を算出する。例えば、評価部2054は、輪郭間距離情報によって示される距離データについて、(平均+2×標準偏差)を判定値として算出する。
【0068】
評価部2054は、ある1つのインスタンスペアに対して判定値の算出を繰り返し、全てのインスタンスペアについて判定値を算出する。例えば、図11に示されるように、インスタンスマスクM21とインスタンスマスクM12とのインスタンスペアについて同様に輪郭間距離情報が生成され、判定値が算出される。
【0069】
ここで、輪郭O21及び輪郭O12に対する輪郭間距離情報は、例えば、輪郭O21上の各点から輪郭O12までの距離(d31,d32,d33,…)及び輪郭O12上の各点から輪郭O21までの距離(d41,d42,d43,…)に基づいて生成される。この輪郭間距離情報(d31,d32,d33,…,d41,d42,d43,…)は、O11とO21のインスタンスペアの輪郭間距離情報(d11,d12,…d1N,d21,d22,…d2M)よりも、距離の値及びその分散が大きくなる。よって、輪郭O21と輪郭O12のインスタンスペアの輪郭間距離情報に基づく判定値は、輪郭O21と輪郭O11のインスタンスペアの輪郭間距離情報に基づく判定値より大きくなる。
【0070】
評価部2054は、各インスタンスペアについて判定値を算出する処理を繰り返す。図8に示される例では、正解インスタンスマスクが4つ,予測インスタンスマスクが3つであるので、12組のインスタンスペアが生成され、判定値は12個算出される。
【0071】
ステップS706において、評価部2054は、判定値が小さい順に、インスタンスペアがソートされたリストを生成する。図8の例に基づくと、図12に模式的に示されるようなリストLが生成される。リストLでは、インスタンスマスクM21とインスタンスマスクM11とのインスタンスペアP1,インスタンスマスクM22とインスタンスマスクM12とのインスタンスペアP2,インスタンスマスクM23とインスタンスマスクM13とのインスタンスペアP3、インスタンスマスクM23とインスタンスマスクM14とのインスタンスペアP4がそれぞれ示される。インスタンスペアP1,P2,P3,P4は、判定値が小さい順に配列される。リストLには12組のインスタンスペアが配列される。
【0072】
ステップS707において、評価部2054は、リストの先頭にあるインスタンスペアを選択する。
【0073】
ステップS708において、評価部2054は、選択されたインスタンスペアの判定値が閾値以下であるか否かを判断する。ここで、インスタンスペアP1,P2の判定値は閾値以下であり、インスタンスペアP3,P4の判定値は閾値より大きいものとする。
【0074】
ステップS708において肯定判断されると、ステップS709において、評価部2054は、選択されたインスタンスペアを対応インスタンスペアとし、真陽性(TP)の値に1を加算する。
【0075】
ステップS710において、評価部2054は、対応インスタンスペアをリストから除外してリストを更新する。
【0076】
例えば、インスタンスペアP1が選択された場合、ステップS709の処理によってTPの値に1が加算される。次に、リストLからインスタンスペアP1が削除され、インスタンスペアP2がリストの先頭に繰り上げられる。
【0077】
ステップS711において、評価部2054はリストが空であるか否かを判断する。ステップS711において否定判断されると、ステップS707からの処理が繰り返される。ステップS711において肯定判断されると、リスト内の全てのインスタンスペアの判定が完了したとして、後述するステップS712以降の処理に進む。
【0078】
例えば、リストLの先頭にインスタンスペアP2がある場合、ステップS711において否定判断される。ステップS707の処理においてインスタンスペアP2が選択される。ステップS708において、インスタンスペアP2の判定値は閾値以下であるか否かが判断される。インスタンスペアP2の判定値は閾値以下なので、ステップS709において、真陽性の値に1がさらに加算される。ステップS710において、リストLからインスタンスペアP2が削除され、インスタンスペアP2がリストの先頭に繰り上げられる。
【0079】
同様に、インスタンスペアP3に対しても、ステップS708において、インスタンスペアP3の判定値は閾値以下であるか否かが判断される。インスタンスペアP3の判定値は閾値より大きいので、ステップS708において否定判断される。
【0080】
ステップS708において否定判断されると、ステップS712以降の処理が行われる。なお、ステップS706において、判定値が小さい順にインスタンスペアをソートしてリストを作成しているので、インスタンスペアP3より後に配列されるインスタンスペアについてもその判定値は閾値より大きくなる。したがって、一旦ステップS708において否定判断された場合、リスト内のインスタンスペアのうち、真陽性となるインスタンスペアがリストに含まれることはない。このように、インスタンスペアの判定値が閾値より大きくなるまで繰り返される処理によって、判定値が閾値以下となる真陽性のインスタンスペアの集計が完了する。
【0081】
ステップS712において、評価部2054は、予測インスタンスマスクの数からTPの値を除算した値を偽陽性(FP)の値とする。例えば、図8図12の例の場合、TPの値は「2」であり、予測インスタンスマスクの数は「4」であるので、FPの値は「2」となる。
【0082】
次に、ステップS713において、評価部2054は、正解インスタンスマスクの数からTPの値を除算した値を偽陰性(FN)の値とする。例えば、図8図12の例の場合、正解インスタンスマスクの数は「3」であるので、FNの値は「1」となる。
【0083】
ステップS712において、評価部2054は対象画像に対して第1輪郭情報を予測する学習モデル20512を評価するF1スコアを評価情報として算出する。F1スコアは以下の数式に基づいて算出される。
【0084】
【数1】
【0085】
図8の例に基づく場合、F1スコアは、F1=(2×2)/(2×2+1+2)≒0.57のように算出される。
【0086】
図4に戻り、ステップS407において、画面情報生成部2055は、第1輪郭情報取得部2051が領域特定部20511から取得した第1輪郭情報に基づいて、領域特定部20511が予測した第1輪郭を含むインスタンスマスクを示す予測画像を生成する。
【0087】
ステップS408において、画面情報生成部2055は、第1輪郭情報及び第2輪郭情報に基づいて、第1輪郭情報に基づくインスタンスマスクと第2輪郭情報に基づくインスタンスマスクとの相違を示す比較情報を生成する。
【0088】
ステップS409において、画面情報生成部2055は、予測画像及び比較情報を含む出力画面を表示するための出力画面情報を生成する。
【0089】
ステップS410において、表示部203は出力画面をユーザに表示する。
【0090】
図13には、出力画面1300の一例が示される。出力画面1300は、F1スコア表示領域1301、閾値表示領域1302、はみ出し表示領域1303、跡切れ表示領域1304、及びマスク比較領域1305を有する。
【0091】
F1スコア表示領域1301には、評価部2054が算出したF1スコアが表示される。図13では、F1スコアは一例として「0.30」と表示されている。閾値表示領域1302には、条件設定画面600を通じて設定されたピクセルの閾値が示される。
【0092】
はみ出し表示領域1303には、比較情報に基づいて、第2輪郭が第1輪郭からはみ出しているはみだし領域が抽出されて表示される。跡切れ表示領域1304には、比較情報に基づいて、第1輪郭が第2輪郭からはみ出している跡切れ領域が抽出されて表示される。
【0093】
マスク比較領域1305は、マスク表示領域13051、対象画像表示領域13052を有する。マスク表示領域13051には、第1輪郭情報取得部2051が学習モデル20512から取得したマスク情報を示すインスタンスマスクM4が表示される。対象画像表示領域13052には、検出対象物502を含む対象画像が表示される。
【0094】
マスク比較領域1305には、中央にインスタンスマスクM3及びインスタンスマスクM4が表示される。また、マスク比較領域1305におけるはみ出し部13053、跡切れ部13054が、はみ出し表示領域1303、跡切れ表示領域1304にそれぞれ表示される。
【0095】
ユーザは、出力画面1300を確認することで、学習モデル20512による対象画像のマスク生成が適切に行われているかを判断できる。数値的な評価は、F1スコア表示領域1301に表示されるF1スコアによって可能となり、さらに、視覚的な評価が、はみ出し表示領域1303、跡切れ表示領域1304、マスク比較領域1305に表示される情報によって可能となる。よって、ユーザは学習モデル20512の評価を効率よく行うことが可能となる。
【0096】
ここで、以上説明した方法、学習モデル評価システム、及びプログラムの主要な構成についてまとめておく。
【0097】
[付記1]
コンピュータが、
少なくとも1つの検出対象物(E1,E2,E3)が撮像された対象画像(IG1)を学習モデル(20512)に入力し、前記対象画像における前記少なくとも1つの検出対象物の輪郭(O11,O12,O13,O14)を示す第1輪郭情報を取得することと、
前記第1輪郭情報を評価する基準となる、前記少なくとも1つの検出対象物の輪郭(O21,O22,O23)を示す第2輪郭情報を取得することと、
前記第1輪郭情報が満たすべき条件を取得することと、
前記第1輪郭情報と、前記第2輪郭情報と、前記条件とに基づいて、前記学習モデルの性能が評価された評価情報を生成することと、を含む、方法。
[付記2]
付記1に記載の方法であって、
前記評価情報を生成することは、
前記第1輪郭情報と前記第2輪郭情報とに基づいて、前記第1輪郭情報により示される少なくとも1つの第1輪郭(O11,O12,O13,O14)の各点から、前記第2輪郭情報により示される少なくとも1つの第2輪郭(O21,O22,O23)へ向かう距離を示す第1輪郭間距離情報と、前記少なくとも1つの第2輪郭の各点から、前記少なくとも1つの第1輪郭へ向かう距離を示す第2輪郭間距離情報とを算出することと、
前記第1輪郭間距離情報及び前記第2輪郭間距離情報に基づく輪郭間距離情報に対して設けられる前記条件に基づいて、前記評価情報を生成すること、を含む、方法。
[付記3]
付記2に記載の方法であって、
前記評価情報を生成することは、
前記輪郭間距離情報における距離データの平均値及び標準偏差を算出することと、
前記条件を前記平均値及び前記標準偏差に対する条件として、前記評価情報を生成すること、を含む、方法。
[付記4]
付記3に記載の方法であって、
前記平均値及び前記標準偏差に対する前記条件は、前記第1輪郭と前記第2輪郭との許容可能な差分を示す画素数である、方法。
[付記5]
付記1に記載の方法であって、
前記第2輪郭情報を取得することは、記憶部に記憶される、取得画像における基準対象物の輪郭を示す情報として前記第2輪郭情報を取得すること、を含む、方法。
[付記6]
付記1から5のいずれか一項に記載の方法であって、
前記コンピュータに、
前記対象画像を含む条件設定画面をユーザに表示するための設定画面情報を生成させること、をさらに実行させ、
前記第1輪郭情報が満たすべき前記条件を取得することは、前記ユーザから、前記条件設定画面を通じて前記条件を取得すること、を含む、方法。
[付記7]
付記6に記載の方法であって、
前記第2輪郭情報を取得することは、前記条件設定画面を通じて、前記ユーザから取得された前記第2輪郭情報を取得すること、を含む、方法。
[付記8]
付記6に記載の方法であって、
前記コンピュータに、
前記対象画像と、前記第1輪郭情報に基づく予測画像と、前記評価情報を含む出力画面をユーザに表示するための出力画面情報を生成させること、をさらに含む、方法。
[付記9]
付記8に記載の方法であって、
前記評価情報を生成することは、前記第1輪郭情報と前記第2輪郭情報との相違を示す比較情報を生成することをさらに含み、
前記出力画面は前記比較情報をさらに含む、方法。
[付記10]
少なくとも1つの検出対象物(E1,E2,E3)が撮像された対象画像(IG1)を学習モデル(20512)に入力し、前記対象画像における前記少なくとも1つの検出対象物の輪郭(O11,O12,O13,O14)を示す第1輪郭情報を取得する第1輪郭情報取得部(2051)と、
前記第1輪郭情報を評価する基準となる、前記少なくとも1つの検出対象物の輪郭(O21,O22,O23)を示す第2輪郭情報を取得する第2輪郭情報取得部(2052)と、
前記第1輪郭情報が満たすべき条件を取得する条件取得部(2053)と、
前記第1輪郭情報と、前記第2輪郭情報と、前記条件とに基づいて、前記学習モデルの性能が評価された評価情報を生成する評価部(2054)と、を備える、学習モデル評価システム。
[付記11]
コンピュータに、
少なくとも1つの検出対象物(E1,E2,E3)が撮像された対象画像(IG1)を学習モデル(20512)に入力し、前記対象画像における前記少なくとも1つの検出対象物の輪郭(O1,O12,O13,O14)を示す第1輪郭情報を取得することと、
前記第1輪郭情報を評価する基準となる、前記少なくとも1つの検出対象物の輪郭(O21,O22,O23)を示す第2輪郭情報を取得することと、
前記第1輪郭情報が満たすべき条件を取得することと、
前記第1輪郭情報と、前記第2輪郭情報と、前記条件とに基づいて、前記学習モデルの性能が評価された評価情報を生成することと、を実行させる、プログラム。
【符号の説明】
【0098】
101…学習モデル評価システム、201…記憶部、202…通信部、203…表示部、204…撮像部、205…制御部、2051…第1輪郭情報取得部、2052…第2輪郭情報取得部、2053…条件取得部、2054…評価部、2055…画面情報生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13