(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024029936
(43)【公開日】2024-03-07
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
G06V 10/82 20220101AFI20240229BHJP
G06T 7/00 20170101ALI20240229BHJP
G06V 10/778 20220101ALI20240229BHJP
G06N 20/00 20190101ALI20240229BHJP
【FI】
G06V10/82
G06T7/00 350C
G06V10/778
G06N20/00
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022132418
(22)【出願日】2022-08-23
(71)【出願人】
【識別番号】000233169
【氏名又は名称】株式会社日立ソリューションズ・テクノロジー
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】劉 鳴
(72)【発明者】
【氏名】小野 豪一
(72)【発明者】
【氏名】猪貝 光祥
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA02
5L096DA02
5L096GA30
5L096GA51
5L096HA09
5L096HA11
5L096JA11
5L096JA22
5L096KA04
(57)【要約】
【課題】機械学習モデルに対する学習を効率化することが可能な画像処理装置を提供するする。
【解決手段】特徴量抽出器20は、複数の第1の画像データを用いて学習が行われた機械学習モデル22に第2の画像データPDを入力することで得られる、第2の画像データPDの特徴量FVを抽出する。画像分類器21は、機械学習モデル22に複数の第1の画像データを入力することで得られる特徴量の範囲を基準範囲RRとして予め記憶しており、入力された第2の画像データPDに対して特徴量抽出器20で抽出された特徴量FVが基準範囲RRの内部か外部かを判別することで、入力された第2の画像データPDを分類する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の第1の画像データを用いて学習が行われた機械学習モデルに第2の画像データを入力することで得られる、前記第2の画像データの特徴量を抽出する特徴量抽出器と、
前記機械学習モデルに前記複数の第1の画像データを入力することで得られる特徴量の範囲を基準範囲として予め記憶しており、入力された前記第2の画像データに対して前記特徴量抽出器で抽出された前記特徴量が前記基準範囲の内部か外部かを判別することで、入力された前記第2の画像データを分類する画像分類器と、
を備える、
画像処理装置。
【請求項2】
請求項1記載の画像処理装置において、
前記画像分類器は、前記特徴量抽出器で抽出された前記特徴量が前記基準範囲の外部である前記第2の画像データを、追加学習用の画像データを蓄積するための追加学習用カテゴリに分類する、
画像処理装置。
【請求項3】
請求項1記載の画像処理装置において、
前記特徴量抽出器は、前記機械学習モデルのいずれかの中間層における次元毎の前記特徴量を抽出し、
前記基準範囲は、前記特徴量抽出器が対象とする前記中間層と同じ層かつ同じ次元の特徴量に基づいて次元毎に予め定められる、
画像処理装置。
【請求項4】
請求項3記載の画像処理装置において、
前記特徴量抽出器が対象とする前記中間層は、入力層よりも出力層に近い層に定められる、
画像処理装置。
【請求項5】
請求項1記載の画像処理装置において、
前記画像分類器は、前記特徴量抽出器で抽出された前記特徴量の前記基準範囲からの逸脱量を算出し、算出された前記逸脱量に基づいて、入力された前記第2の画像データを、前記逸脱量がゼロである第1カテゴリか、ゼロから予め定められた第1閾値までの範囲である第2カテゴリか、前記第1閾値を超える第3カテゴリかに分類する、
画像処理装置。
【請求項6】
請求項5記載の画像処理装置において、
前記第1閾値は、背景の画像データに基づいて定められる、
画像処理装置。
【請求項7】
請求項6記載の画像処理装置において、
前記第2カテゴリは、追加学習用の画像データを蓄積するための追加学習用カテゴリに定められる、
画像処理装置。
【請求項8】
請求項5記載の画像処理装置において、
前記画像分類器は、前記第1閾値よりも小さい値であり予め定められた第2閾値を用いて、前記第2カテゴリに分類される前記第2の画像データを、更に、ゼロから前記第2閾値までの範囲である第4カテゴリか、前記第2閾値から前記第1閾値までの範囲である第5カテゴリかに分類する、
画像処理装置。
【請求項9】
請求項8記載の画像処理装置において、
前記画像分類器は、前記第4カテゴリに分類する画像データの枚数と前記第5カテゴリに分類する画像データの枚数との枚数比と、物体検出の要求精度との対応関係を表す割合データを予め記憶しており、前記割合データに基づいて、入力された前記要求精度に対応する前記枚数比となるように、入力された前記第2の画像データを、追加学習用の画像データを蓄積するための追加学習用カテゴリに分類する、
画像処理装置。
【請求項10】
複数の第1の画像データを用いて学習が行われた機械学習モデルに前記複数の第1の画像データを入力することで得られる特徴量の範囲を基準範囲として予め記憶し、
前記機械学習モデルに第2の画像データを入力することで得られる、前記第2の画像データの特徴量を抽出し、
入力された前記第2の画像データから抽出された前記特徴量が前記基準範囲の内部か外部かを判別することで、入力された前記第2の画像データを分類する、
画像処理方法。
【請求項11】
請求項10記載の画像処理方法において、
前記第2の画像データから抽出された前記特徴量が前記基準範囲の外部である前記第2の画像データを、追加学習用の画像データを蓄積するための追加学習用カテゴリに分類する、
画像処理方法。
【請求項12】
請求項10記載の画像処理方法において、
前記第2の画像データから抽出された前記特徴量の前記基準範囲からの逸脱量を算出し、算出された前記逸脱量に基づいて、入力された前記第2の画像データを、前記逸脱量がゼロである第1カテゴリか、ゼロから予め定められた第1閾値までの範囲である第2カテゴリか、前記第1閾値を超える第3カテゴリかに分類する、
画像処理方法。
【請求項13】
請求項12記載の画像処理方法において、
前記第2カテゴリを、追加学習用の画像データを蓄積するための追加学習用カテゴリに定める、
画像処理方法。
【請求項14】
請求項12記載の画像処理方法において、
前記第1閾値よりも小さい値であり予め定められた第2閾値を用いて、前記第2カテゴリに分類される前記第2の画像データを、更に、ゼロから前記第2閾値までの範囲である第4カテゴリか、前記第2閾値から前記第1閾値までの範囲である第5カテゴリかに分類する、
画像処理方法。
【請求項15】
請求項14記載の画像処理方法において、
前記第4カテゴリに分類する画像データの枚数と前記第5カテゴリに分類する画像データの枚数との枚数比と、物体検出の要求精度との対応関係を表す割合データを予め記憶し、
前記割合データに基づいて、入力された前記要求精度に対応する前記枚数比となるように、入力された前記第2の画像データを、追加学習用の画像データを蓄積するための追加学習用カテゴリに分類する、
画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関し、例えば、AI(Artificial Intelligence)を用いた画像処理技術に関する。
【背景技術】
【0002】
特許文献1には、学習モデルの精度を効率的に向上させることが可能な医用画像処理装置が示される。当該医用画像処理装置は、学習モデルに入力された医用画像と、学習モデルから出力された推定結果と、教師データとに基づいて、学習モデルの推定結果の評価値を算出し、当該評価値が閾値以下である場合に、当該医用画像の特徴を特定する。そして、当該医用画像処理装置は、特定された特徴を有する医用画像を選別し、選別後の医用画像で学習処理を実行する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、AIのシステム形態として、クラウドAIに代わってエッジAIが着目されている。クラウドAIとは、クラウド装置が機械学習モデルの作成と共に、学習を行うことで学習済みの機械学習モデルを作成し、エッジ装置が、当該学習済みの機械学習モデルを用いて推論を行う形態である。一方、エッジAIとは、クラウド装置が機械学習モデルを作成し、エッジ装置が、当該機械学習モデルに対する学習を行うことで学習済みの機械学習モデルを作成し、当該学習済みの機械学習モデルを用いて推論を行う形態である。
【0005】
エッジAIを用いると、AIの適用現場で学習を行えるため、適用現場毎に最適化された学習済みの機械学習モデルを作成することができる。また、エッジAIを用いると、クラウド装置に学習を行わせる際の遅延を無くすことや、エッジ装置で取得した学習用のデータをクラウド装置に送信する際の通信コストを削減すること等も可能になる。ただし、エッジ装置は、通常、クラウド装置と比較して処理能力が低い。このため、特に、エッジAIを用いる場合には、学習を効率化することが望まれる。詳細には、より少ない枚数の画像を学習することで、高い認識精度を実現することが望まれる。
【0006】
そこで、本発明の目的の一つは、機械学習モデルに対する学習を効率化することが可能な画像処理装置を提供することにある。
【課題を解決するための手段】
【0007】
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0008】
本発明の代表的な実施の形態による画像処理装置は、特徴量抽出器と、画像分類器と、を備える。特徴量抽出器は、複数の第1の画像データを用いて学習が行われた機械学習モデルに第2の画像データを入力することで得られる、第2の画像データの特徴量を抽出する。画像分類器は、機械学習モデルに複数の第1の画像データを入力することで得られる特徴量の範囲を基準範囲として予め記憶しており、入力された第2の画像データに対して特徴量抽出器で抽出された特徴量が基準範囲の内部か外部かを判別することで、入力された第2の画像データを分類する。
【発明の効果】
【0009】
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、画像処理装置において、機械学習モデルに対する学習を効率化することが可能になる。
【0010】
上記した以外の課題、構成および効果は、以下の発明を実施するための形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態1による画像処理装置の主要部の構成例を示す概略図である。
【
図2】
図1における機械学習モデルの構成例を示す模式図である。
【
図3A】
図1における画像分類器の処理内容の一例を説明する模式図である。
【
図3B】
図1における画像分類器の処理内容の一例を説明する模式図である。
【
図4】
図1における基準範囲データを作成する際の処理内容の一例を示すフロー図である。
【
図5】
図1におけるコントローラで画像データを分類する際の処理内容の一例を示すフロー図である。
【
図6】実施の形態2による画像処理装置の主要部の構成例を示す概略図である。
【
図7】
図6における画像分類器の動作例を説明する図である。
【
図8】
図6に示される機械学習モデルにおいて、一部の詳細な構成例を示す模式図である。
【
図9】
図8に示される機械学習モデルに対して、特徴量の基準範囲からの逸脱量を定量化する方法の一例を説明する図である。
【
図10】
図8に示される機械学習モデルを用いることを前提として、
図6における特徴量抽出器および画像分類器の詳細な動作例を説明する図である。
【
図11】
図6における画像処理装置を用いて、追加学習を行った場合の効果の一例を示す図である。
【
図12】実施の形態3による画像処理装置の主要部の構成例を示す概略図ある。
【
図13】
図12における画像分類器の動作例を説明する図である。
【
図14】
図12における割合テーブルの構成例を示す概略図である。
【
図15】
図12における画像処理装置において、追加学習の設定画面の一例を説明する図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。実施の形態は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0013】
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
【0014】
各種情報の例として、「テーブル」、「リスト」、「キュー」等の表現にて説明することがあるが、各種情報はこれら以外のデータ構造で表現されてもよい。例えば、「XXテーブル」、「XXリスト」、「XXキュー」等の各種情報は、「XX情報」としてもよい。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
【0015】
同一あるいは同様の機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。また、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0016】
実施の形態において、プログラムを実行して行う処理について説明する場合がある。ここで、計算機は、プロセッサ(例えばCPU、GPU)によりプログラムを実行し、記憶資源(例えばメモリ)やインターフェースデバイス(例えば通信ポート)等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路を含んでいてもよい。ここで、専用回路とは、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)、CPLD(Complex Programmable Logic Device)等である。
【0017】
プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施の形態において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0018】
(実施の形態1)
<画像処理装置の概略>
例えば、A現場での画像に基づいて学習を行った学習済みの機械学習モデルを用いて、B現場で推論、詳細には物体検出を行う場合を想定する。この場合、例えば、現場毎の物体の見え方の違い、例えば物体の大きさ、位置、色、体勢の違いや背景の違い等により、物体検出の精度が不十分となることがある。具体的には、誤った不検出、ひいては検出漏れを表すFN(False Negative)や、誤った検出を表すFP(False Positive)が多く発生し得る。そこで、
図1に示されるような画像処理装置を用いることが有益となる。
【0019】
図1は、実施の形態1による画像処理装置の主要部の構成例を示す概略図である。
図1に示される画像処理装置10は、例えば、B現場に設置されるエッジカメラ等である。当該画像処理装置10は、コントローラ15と、メモリ16と、カメラモジュール17と、レンズ18とを備える。メモリ16は、例えば、フラッシュメモリ等の不揮発性メモリと、DRAM等の揮発性メモリとの組み合わせで実現される。
【0020】
カメラモジュール17は、B現場での画像データPDをレンズ18を介して取得し、取得した画像データPDをコントローラ15に出力する。この際に、画像データPDは、メモリ16に一旦書き込まれたのちに、コントローラ15から読み出されてもよい。カメラモジュール17は、例えば、CCD(Charge Coupled Device)型やCMOS(Complementary Metal Oxide Semiconductor)型のイメージセンサや、イメージセンサによって撮影された画像データを処理するISP(Image Signal Processor)等で実現される。
【0021】
コントローラ15は、カメラモジュール17で取得された画像データPDに対して、AIによる画像処理によって物体検出等を行う。コントローラ15は、例えば、MCU(Micro Controller Unit)、SoC(System on a Chip)、FPGA、ASIC等や、これらの組み合わせで実現される。コントローラ15は、AIによる画像処理を行うため、例えばGPU等のプロセッサを含んだ形態で実現されることが望ましい。
【0022】
コントローラ15は、特徴量抽出器20と、画像分類器21と、機械学習モデル22と、学習制御器23とを備える。機械学習モデル22は、例えば、プロセッサが、メモリ16に記憶されたプログラムを実行すること等で実現される。なお、実際には、コントローラ15自身も、フラッシュメモリ、DRAM、SRAM等のメモリを備え得る。明細書では、説明の便宜上、
図1に示したメモリ16には、コントローラ15が備えるメモリも含まれるものとする。
【0023】
ここで、機械学習モデル22は、既に、A現場で取得された複数の画像データPDを用いて学習が行われているものである。明細書では、A現場での画像データPDを画像データ(第1の画像データ)PD1と呼び、B現場での画像データPDを画像データ(第2の画像データ)PD2と呼ぶ。コントローラ15は、当該機械学習モデル22に、B現場で取得された未知の画像データPD2を入力することで、画像データPD2に含まれる物体を検出する。そして、コントローラ15は、物体検出結果DRを出力する。
【0024】
特徴量抽出器20は、機械学習モデル22に、未知の画像データPD2を入力することで得られる、画像データPD2の特徴量FVを抽出する。詳細には、特徴量FVは、例えば、機械学習モデル22による推論処理の過程で、特徴マップとして適宜メモリ16に書き込まれる。特徴量抽出器20は、このメモリ16に書き込まれた特徴量FVを読み出せばよい。
【0025】
画像分類器21は、予め、メモリ16に基準範囲データ26を記憶している。基準範囲データ26は、機械学習モデル22にA現場で取得された複数の画像データPD1を入力することで得られる特徴量の範囲を定めたものであり、例えば、A現場で作成されたものである。明細書では、当該特徴量の範囲を基準範囲RRと呼ぶ。画像分類器21は、B現場で入力された未知の画像データPD2に対して特徴量抽出器20で抽出された特徴量FVが基準範囲RRの内部か外部かを判別することで、未知の画像データPD2を分類する。そして、画像分類器21は、分類結果CRを出力する。
【0026】
更に、画像分類器21は、特徴量抽出器20で抽出された特徴量FVが基準範囲RRの外部である画像データPD2を、追加学習用の画像データを蓄積するための追加学習用カテゴリに分類する。具体的には、メモリ16には、当該追加学習用カテゴリに相当する追加学習用画像領域25が設けられる。画像分類器21は、分類結果CRに基づいて、対象の画像データPD2を、追加学習用画像領域25に書き込む。
【0027】
学習制御器23は、追加学習用カテゴリに分類された画像データPD2、すなわち、追加学習用画像領域25が記憶している画像データPD2を用いて、機械学習モデル22の追加学習を行う。詳細には、例えば、追加学習用画像領域25が記憶している画像データPD2に対して、別途、正解ラベルが付加された上で、追加学習が行われる。なお、特徴量抽出器20、画像分類器21および学習制御器23は、例えば、プロセッサが、メモリ16に記憶されたプログラムを実行すること等で実現される。
【0028】
<特徴量について>
図2は、
図1における機械学習モデルの構成例を示す模式図である。機械学習モデル22は、一般的に、入力層ILと、その後段に配置される複数、ここではn個の中間層ML1~ML[n]と、最終層LL、言い換えれば出力層とを備える。例えば、最終段の中間層ML[n]は、複数、ここでは5個の次元D1~D5を備える。次元は、ノードとも呼ばれ、機械学習モデル22は、前段層に含まれるノードと、後段層に含まれるノードとを所定の重み係数を介して結合することで構成される。
【0029】
このような機械学習モデル22に対して、特徴量抽出器20は、いずれかの中間層、ここでは中間層ML[n]における次元D1~D5毎の特徴量FVを抽出する。言い換えれば、5個の次元D1~D5に該当する5個のノードに書き込まれる値を抽出する。一方、基準範囲RRは、当該特徴量抽出器20が対象とする中間層ML[n]と同じ層かつ同じ次元D1~D5の特徴量に基づいて次元D1~D5毎に予め定められる。なお、特徴量FVの抽出対象となる中間層は、入力層ILよりも最終層LLに近い層に定められることが望ましい。これは、より後段の中間層MLになるほど、最終結果、ひいてはFNやFPとの関係性が強くなると考えられるためである。
【0030】
図3Aおよび
図3Bは、
図1における画像分類器の処理内容の一例を説明する模式図である。
図3Aには、次元D1,D2,…,D5毎の基準範囲RR1,RR2,…,RR5と、次元D1,D2,…,D5毎の特徴量FV1,FV2,…,FV5との関係の一例が示される。基準範囲RR1~RR5のそれぞれは、例えば、A現場での画像データPD1から得られた、次元D1~D5毎の特徴量FVの最小値から最大値の範囲で定められる。
【0031】
図3Aの例では、特徴量FV1,FV2は、それぞれ、基準範囲RR1,RR2の外部となっており、特徴量FV5は、基準範囲RR5の内部となっている。例えば、画像分類器21は、全ての次元D1~D5で、特徴量FV1~FV5が基準範囲RR1~RR5の内部であった場合には、最終結果として、基準範囲RRの内部と判別する。一方、画像分類器21は、複数の次元D1~D5の中の1以上の次元で、特徴量FVが基準範囲RRの外部であった場合には、最終結果として基準範囲RRの外部と判別する。したがって、
図3Aに示される例では、基準範囲RRの外部と判別され、その画像データPD2は、追加学習用カテゴリに分類される。
【0032】
図3Bには、
図3Aにおける、次元D1~D5毎の特徴量FV1~FV5の基準範囲RR1~RR5からの逸脱量Δ1~Δ5が示される。次元D5のように、特徴量FV5が基準範囲RR5の内部である場合、逸脱量Δ5はゼロである。画像分類器21は、全ての次元D1~D5で逸脱量Δ1~Δ5がゼロであった場合には、最終結果として、基準範囲RRの内部と判別する。一方、画像分類器21は、複数の次元D1~D5の中の1以上の次元で、逸脱量Δが非ゼロであった場合には、最終結果として基準範囲RRの外部と判別する。
【0033】
ここで、前述したように、A現場での機械学習モデル22を用いて、B現場で物体検出を行った場合、FNや、FPが多く発生し得る。言い換えれば、物体検出の精度が低下する。物体検出の精度は、検出を表すP(Positive)や不検出を表すN(Negative)と、PおよびNが実際に正しいか否かを表す正解ラベルとに基づいて定められる。具体的には、物体検出の精度は、FN、FP、TP(True Positive)、TN(True Negative)に基づいて定められる。TPは、正しい検出を表し、TNは、正しい不検出、ひいては背景を表す。
【0034】
物体検出の精度を高める一般的な方式として、例えば、B現場で取得した全ての画像データPD2に対して、予め正解ラベルを付加し、当該正解ラベルを付加した画像データで推論を行うことで、画像データPD2を、FN、FP、TP、TNに分類する方法が挙げられる。この場合、主に、FNやFPに分類された画像データを用いて追加学習を行うことで物体検出の精度を高めることができる。しかしながら、この方式では、全ての画像データPD2に対して予め正解ラベルを付加する必要があるため、膨大な工数が必要とされ得る。
【0035】
そこで、例えば、正解ラベルが付加されない画像データPD2で推論を行い、最終的な推論結果であるコンフィデンス値を指標として、追加学習用の画像データPD2を選定する方式が挙げられる。詳細には、コンフィデンス値がある程度低い画像データPD2を、FNやFPに分類される可能性が高い画像データPD2として選定する。この場合、例えば、全ての画像データPD2ではなく、選定した画像データPD2に対して正解ラベルを付加すればよいため、工数を削減できる。なお、コンフィデンス値とは、概略的には、PやNに対するAIによる自信度(%)を表す。コンフィデンス値は、高いほどPに自信があることを意味し、低いほどNに自信があることを意味する。
【0036】
しかしながら、このようにコンフィデンス値に基づいて追加学習用の画像データPD2を選定する方式では、より効率的な学習を行う上で、十分とは言えない場合がある。その理由の一つとして、コンフィデンス値に基づいて選定された画像データPD2は、必ずしも、FNやFPに分類されるとは限らず、実際には、ある程度の割合でしかFNやFPに分類されないことが挙げられる。
【0037】
そこで、
図1に示したように、特徴量FVに基づいて追加学習用の画像データPD2を選定する方式を用いることが有益となる。特徴量FVを用いると、コンフィデンス値を用いる場合と比較して、より多くの情報に基づいて画像データPD2を選定できる。すなわち、最終的な推論結果であるコンフィデンス値は、例えば、
図2における最終層LLに含まれる値、または、最終層LLに含まれる値を更に処理することで得られる値である。その結果、特徴量FVに基づいて選定された画像データPD2は、コンフィデンス値に基づいて選定された画像データPD2と比較して、FNやFPに分類される可能性がより高まると考えられる。これにより、より効率的な学習が可能となる。
【0038】
<コントローラの動作>
図4は、
図1における基準範囲データを作成する際の処理内容の一例を示すフロー図である。基準範囲データ26は、例えば、
図1に示したコントローラ15を用いて作成することができる。また、基準範囲データ26を作成する際に、画像分類器21と学習制御器23は、不要である。
図4に示されるフローは、例えば、プロセッサを含んだコントローラ15によるプログラム処理によって実現される。
【0039】
図4において、まず、コントローラ15は、A現場での画像データPD1を用いて学習された機械学習モデル22に、B現場ではなくA現場での画像データPD1を入力する(ステップS101)。続いて、コントローラ15は、特徴量抽出器20を用いて、予め設定した中間層の次元毎に、
図2の例では中間層ML[n]の次元D1~D5毎に、特徴量FVを抽出する(ステップS102)。
【0040】
コントローラ15は、予め設定した画像枚数に到達するまで、A現場での画像データPD1を変更しながら、ステップS101,S102の処理を繰り返し実行する(ステップS103:No)。そして、予め設定した画像枚数に到達した場合(ステップS103:Yes)、コントローラ15は、次元毎に、ステップS102で抽出した特徴量FVの最小値と最大値を検出する(ステップS104)。
【0041】
ステップS104に際しては、例えば、ステップS102で抽出された特徴量FVをメモリ16に書き込んでおき、それを参照することで最小値と最大値を検出する方式であってよい。または、ステップS102で特徴量FVを抽出する毎に、抽出した特徴量FVと、メモリ16に格納された最小値および最大値とを比較し、最小値または最大値の更新要否に応じて、メモリ16に格納された最小値および最大値を更新する方式であってもよい。すなわち、メモリ16に最小値および最大値のみを残していく方式であってもよい。
【0042】
その後、コントローラ15は、ステップS104で次元毎に検出した、特徴量FVの最小値と最大値の範囲を、基準範囲RRとしてメモリ16に書き込む(ステップS105)。これにより、コントローラ15は、
図1における基準範囲データ26を作成する。
【0043】
図5は、
図1におけるコントローラで画像データを分類する際の処理内容の一例を示すフロー図である。
図5に示されるフローは、例えば、プロセッサを含んだコントローラ15によるプログラム処理によって実現される。
図5において、まず、コントローラ15は、A現場での画像データPD1を用いて学習された機械学習モデル22に、B現場での画像データPD2を入力する(ステップS201)。続いて、コントローラ15は、特徴量抽出器20を用いて、予め設定した中間層の次元毎に、
図2の例では中間層ML[n]の次元D1~D5毎に、特徴量FVを抽出する(ステップS202)。
【0044】
次いで、コントローラ15は、画像分類器21を用いて、次元毎に、抽出した特徴量FVが基準範囲RRの内部か外部かを判別する(ステップS203)。そして、コントローラ15は、抽出した特徴量FVが全ての次元で基準範囲RRの内部である場合(ステップS204:Yes)、その画像データPD2を第1カテゴリC1に分類する(ステップS205a)。一方、コントローラ15は、抽出した特徴量FVが1以上の次元で基準範囲RRの外部である場合(ステップS204:No)、その画像データPD2を第2カテゴリC2に分類する(ステップS205b)。
【0045】
第1カテゴリC1に分類された画像データPD2は、物体検出に適した画像とみなされる。一方、第2カテゴリC2に分類された画像データPD2は、物体検出に適していない画像とみなされる。その後、コントローラ15は、第2カテゴリC2の画像データPD2を追加学習用の画像データPD2として記憶する(ステップS206)。すなわち、コントローラ15は、第2カテゴリC2の画像データPD2を、追加学習用画像領域25に書き込む。なお、コントローラ15は、追加学習用の画像枚数が設定した枚数に達するまで、
図5のフローを繰り返し実行する。
【0046】
<実施の形態1の主要な効果>
以上、実施の形態1の方式を用いると、特徴量FVに基づいて画像データPDを分類でき、ひいては、特徴量FVに基づいて追加学習用の画像データPDを選定できる。その結果、代表的には、機械学習モデル22に対する学習を効率化することが可能になる。また、学習を効率化することで、特に、クラウドAIに代わるエッジAIの適用を容易化することが可能になる。ただし、実施の形態1の方式は、必ずしもエッジAIに限らず、クラウドAIに適用されてもよい。
【0047】
(実施の形態2)
<画像処理装置の概略>
図6は、実施の形態2による画像処理装置の主要部の構成例を示す概略図である。
図7は、
図6における画像分類器の動作例を説明する図である。実施の形態2による画像処理装置は、
図1の場合と同様の構成を備える。
図6には、
図1との相違点に着目した一部の構成例が示される。ここでは、
図1の場合との相違点に着目して説明を行う。
【0048】
図6において、メモリ16は、
図1の場合と異なり、更に、閾値データ40を予め記憶している。閾値データ40は、第1閾値TH1を定めるデータである。また、コントローラ15内の画像分類器21aは、
図3Bで述べたように、特徴量抽出器20で抽出された特徴量FVの基準範囲RRからの逸脱量Δを算出する。そして、画像分類器21aは、算出された逸脱量Δに基づいて、入力されたB現場での画像データPD2を分類する。
【0049】
ここで、実施の形態1では、画像分類器21は、逸脱量Δがゼロ、すなわち特徴量FVが基準範囲RRの内部か、逸脱量Δが非ゼロ、すなわち特徴量FVが基準範囲RRの外部かで分類を行った。一方、実施の形態2では、画像分類器21aは、逸脱量Δが非ゼロの場合に、画像データPD2を、更に、第1閾値TH1に基づいて分類する。具体的には、画像分類器21aは、
図7に示されるように、画像データPD2を、逸脱量Δがゼロである第1カテゴリC1か、ゼロから第1閾値TH1までの範囲である第2カテゴリC2か、第1閾値TH1を超える第3カテゴリC3かに分類する。
【0050】
第1閾値TH1、すなわち、閾値データ40は、背景の画像データに基づいて予め定められ、背景と物体とを区別する境界値の役目を担う。これにより、第3カテゴリC3の分類された画像データPD2は、背景の画像データとみなされる。また、第2カテゴリC2は、追加学習用の画像データPD2を蓄積するための追加学習用カテゴリに定められる。具体的には、画像分類器21aは、第2カテゴリC2に分類した画像データPD2を、メモリ16内の追加学習用画像領域25に書き込む。これにより、追加学習用の画像データとして、背景の画像データを除外できるため、より学習効果が高い追加学習用の画像データを選定することが可能になる。
【0051】
第1閾値TH1は、具体的には、例えば、次のいずれかの方法で定められる。第1の方法として、背景のみの画像データと、FNやFPに分類された画像データとを複数準備し、これらの画像データの特徴量を抽出することで、背景と、FN/FPとの境界となる特徴量を実験的に求める方法が挙げられる。第2の方法として、最終的な推論結果であるコンフィデンス値が0.1%以下の画像データを複数準備し、これらの画像データの特徴量を抽出すると共に基準範囲RRからの逸脱量Δをそれぞれ算出し、最も小さい逸脱量Δを第1閾値TH1に定める方法が挙げられる。最も小さい逸脱量Δを用いることで、背景のみの画像データをより多く除外することができる。
【0052】
<特徴量抽出および画像分類の具体例>
図8は、
図6に示される機械学習モデルにおいて、一部の詳細な構成例を示す模式図である。
図8には、
図2に示した最終段の中間層ML[n]と、最終層LLの具体例が示される。
図8に示される機械学習モデル22は、例えば、物体検出で広く用いられるYOLO(You Only Look Once)モデルの一例である。
【0053】
図8において、最終層LLは、例えば、幅×高さ×深さ=20×20×21個のノードNDで構成される。各ノードNDは、
図2で述べたように、次元でもある。幅方向および高さ方向に位置する20×20個のノードNDは、それぞれ、画像データPDの幅方向および高さ方向の位置に対応する。そして、20×20個のノードNDの位置毎に、21個の深さ方向のノードNDによって、その位置に存在する物体の特徴量が表現される。物体の特徴量には、物体の中心位置、幅方向および高さ方向のサイズ、物体の種類等に関する推測情報に加えて、当該推測情報に対するコンフィデンス値が含まれる。
【0054】
中間層ML[n]は、幅×高さ×深さ=20×20×1024個のノードNDで構成される。この中間層ML[n]に対して、1×1×21のフィルタを用いて畳み込み演算を行うことで最終層LLにおける各ノードNDの特徴量が得られる。例えば、中間層ML[n]におけるノード空間30a内の1024個の特徴量は、畳み込み演算によって、最終層LLにおけるノード空間30b内の21個の特徴量に集約される。
【0055】
このような構成において、特徴量は、
図2で述べたように、例えば、中間層ML[n]における20×20×1024個のノードND毎、言い換えれば、20×20×1024個の次元毎に抽出され得る。そして、20×20×1024個の次元毎に、画像分類器21aによって逸脱量Δが算出され、逸脱量Δと第1閾値TH1との比較が行われ得る。ただし、このように次元の数が多くなると、例えば、逸脱量Δと第1閾値TH1との比較に伴う処理負荷が増大し得る。また、20×20×1024個の次元毎に背景との境界を表す第1閾値TH1を作成することは、容易でない場合もある。そこで、次のような方式を用いて、次元の数を削減してもよい。
【0056】
図9は、
図8に示される機械学習モデルに対して、特徴量の基準範囲からの逸脱量を定量化する方法の一例を説明する図である。
図9には、一例として、
図8におけるノード空間31での特徴量と基準範囲とが示される。ノード空間31は、深さ方向に1024個の次元を有する。そして、次元毎に基準範囲RRが予め設定されている。
図9では、390番目の次元における基準範囲RR390と、785番目の次元における基準範囲RR785とが例示されている。
【0057】
そして、B現場での画像データPD2に対して特徴量FVを抽出した結果、当該ノード空間31における390番目の次元で非ゼロの逸脱量Δ390が生じ、785番目の次元で非ゼロの逸脱量Δ785が生じている。なお、その他の次元では、図示は省略されているが、逸脱量Δは非ゼロ、すなわち、特徴量FVは基準範囲RRの内部となっている。
【0058】
画像分類器21aは、式(1)によって、当該ノード空間31における逸脱量を1個の全体逸脱量ΔALLに集約する。そして、画像分類器21aは、当該全体逸脱量ΔALLを第1閾値TH1と比較する。この場合、
図8に示される中間層ML[n]において、20×20×1024個ではなく20×20個の第1閾値TH1が予め作成されることになる。
ΔALL=(Δ1+Δ2+…+Δ1024)/1024 …(1)
【0059】
図10は、
図8に示される機械学習モデルを用いることを前提として、
図6における特徴量抽出器および画像分類器の詳細な動作例を説明する図である。
図10には、B現場での画像データPD2に対して、
図8に示されるようなYOLOモデルを用いて物体検出を行った結果、すなわち最終的な推論結果の一例が示される。YOLOモデルでは、画像データPD2をグリッド35と呼ばれる領域に分割して物体検出が行われる。
図10の例では、画像データPD2は、20×20のグリッド35に分割されている。この20×20のグリッド35は、
図8に示した最終層LLにおける20×20のノードNDにそれぞれ対応する。
【0060】
各グリッド35は、物体の中心位置、幅方向および高さ方向のサイズ、物体の種類等に関する情報と、当該情報に対するコンフィデンス値とを有している。そして、コンフィデンス値が極大値を示すグリッド35の情報に基づいて物体検出が行われる。
図10の例では、コンフィデンス値が0.67であるグリッド35[10,9]の情報に基づいて、物体、ここでは飛行機が検出される。
【0061】
具体的には、当該グリッド35[10,9]の情報に基づいて、物体の中心がグリッド35[10,9]の位置にあることと、当該物体が境界ボックス36で示されるサイズを有することと、物体が飛行機であることとが検出される。なお、例えば、当該グリッド35[10,9]の隣のグリッド35[9,9]も、グリッド35[10,9]と同様の情報を有する。ただし、グリッド35[9,9]のコンフィデンス値は、グリッド35[10,9]よりもが小さいため、当該グリッド35[9,9]が有する情報は、最終的な推論結果に反映されない。
【0062】
このようなYOLOモデルを用いる場合、
図8に示される20×20×1024個のノードND全てに対して、特徴量FVを抽出する必要はなく、グリッド35[10,9]に対応する1個のノード空間31に対して、特徴量FVを抽出すればよい。すなわち、特徴量抽出器20は、最終的な推論結果からコンフィデンス値が極大値となるグリッド35を検出し、検出したグリッド35に対応するノード空間31を対象として特徴量FVを抽出すればよい。
【0063】
一方、基準範囲RRに関しては、極大値を有するグリッド35の位置が画像データPD2毎に異なり得るため、
図8に示される20×20×1024個のノードNDのそれぞれに対して予め作成される。この際に、例えば、A現場において、あるグリッド35が常に背景となるような場合には、当該グリッド35に対応する基準範囲RRの作成が困難となる場合もある。このような場合には、当該グリッド35に対応する基準範囲RRを、別のグリッド35の基準範囲RRに基づいて定めてもよい。
【0064】
画像分類器21aは、グリッド35[10,9]に対応する1個のノード空間31から抽出された1024次元の内の1以上の次元で逸脱量Δが非ゼロであるか否か、ひいては、当該ノード空間31の全体逸脱量ΔALLが非ゼロであるか否かを判別する。全体逸脱量ΔALLが非ゼロの場合、画像分類器21aは、更に、全体逸脱量ΔALLが当該ノード空間31に対して予め定められた第1閾値TH1を超えるか否かを判別する。
【0065】
そして、画像分類器21aは、全体逸脱量ΔALLが第1閾値TH1を超える場合には、その画像データPD2を第3カテゴリC3、すなわち背景に分類し、超えない場合には、その画像データPD2を第2カテゴリC2、すなわち追加学習用に分類する。このように、特定のノード空間31を対象として特徴量FVを抽出し、当該ノード空間31の全体逸脱量ΔALLを用いて分類を行うことで、特徴量抽出器20および画像分類器21aの処理負荷を軽減することが可能になる。
【0066】
また、
図10の例では、画像データPD2の中に、1個の物体のみが含まれているが、実際には、複数の物体が含まれ得る。例えば、2個の物体が含まれる場合、最終的な推論結果として、極大値を有するグリッド35、すなわち、周辺よりもコンフィデンス値が高いグリッド35が2個存在し、当該2個のグリッド35を中心する2個の境界ボックス36が作成されることになる。この場合、当該2個のグリッド35に対応する2個のノード空間31を対象に特徴量FVを抽出し、抽出した特徴量に基づいて画像を分類すればよい。
【0067】
このように、2個のノード空間31を対象に、言い換えれば、2個の物体を含む1個の画像データPD2を対象に分類を行う場合、少なくとも一方の物体において非ゼロの逸脱量Δが生じると、当該画像データPD2は、追加学習用カテゴリに分類される。ただし、より学習効果が高い画像を選定する観点では、両方の物体において非ゼロの逸脱量Δが生じた画像データPD2を、追加学習用カテゴリに分類することが望ましい。更には、種類、すなわちクラスが異なる複数の物体において非ゼロの逸脱量Δが生じた画像データPD2を、追加学習用カテゴリに分類することが望ましい。
【0068】
このため、画像分類器21aは、複数の物体において非ゼロの逸脱量Δが生じた画像データPD2を、追加学習用カテゴリに分類するように構成されてもよい。または、画像分類器21aは、クラスが異なる複数の物体において非ゼロの逸脱量Δが生じた画像データPD2を、追加学習用カテゴリに分類するように構成されてもよい。具体的には、例えば、予めクラス毎の基準範囲RRを作成しておく。そして、画像分類器21aは、当該クラス毎の基準範囲RRを用いてクラス毎に画像データPD2を分類し、複数のクラスで第2カテゴリC2に分類された画像データPD2を追加学習用カテゴリに分類すればよい。
【0069】
<その他の変形例>
画像分類器21aは、
図7に示したように、逸脱量Δがゼロである画像データPD2、すなわち、物体検出に適した画像データPD2を第1カテゴリC1に分類した。画像分類器21aは、当該第1カテゴリC1に分類された画像データPD2を、更に、最終的な推定結果となるコンフィデンス値によって分類してもよい。この場合、物体検出に適した画像データPD2は、例えば、強く適した画像データPD2と、弱く適した画像データPD2とに分類される。
【0070】
追加学習を行う場合、実際には、過学習を防止するため、第1カテゴリC1に分類された画像データPD2をある程度含ませる場合がある。ただし、物体検出に強く適した画像データPD2、すなわち、コンフィデンス値がかなり高い画像データPD2は、学習効果が低い画像データとなる場合が多い。そこで、このような方式によって、物体検出に弱く適した画像データPD2を、追加学習用として選定することも有益である。
【0071】
<検証結果>
図11は、
図6における画像処理装置を用いて、追加学習を行った場合の効果の一例を示す図である。
図11には、追加学習で用いた画像枚数と物体検出の精度との関係が示される。また、
図11には、
図6に示した画像処理装置を用いて追加学習用の画像データと選定した場合の検証結果43aと、比較例として、実施の形態1で述べたようなコンフィデンス値に基づいて追加学習用の画像データと選定した場合の検証結果43bとが示される。
図11から分かるように、検証結果43aでは、検証結果43bと比較して、同一の検出精度を得るための画像枚数が0.4倍に削減され、また、画像枚数が同一ならば、検出精度を9%高めることができる。
【0072】
<実施の形態2の主要な効果>
以上、実施の形態2の方式を用いると、特徴量FVに基づいて画像データを3以上に分類でき、ひいては、背景となる画像データを除外して追加学習用の画像データを選定できる。その結果、実際の形態1で述べた効果と同様の効果が得られ、更に、背景となる画像データを除外することで、機械学習モデルに対する学習をより効率化することが可能になる。
【0073】
(実施の形態3)
<画像処理装置の概略>
図12は、実施の形態3による画像処理装置の主要部の構成例を示す概略図ある。
図13は、
図12における画像分類器の動作例を説明する図である。
図12に示される画像処理装置は、
図6に示した構成例と比較して、次の3点が異なっている。第1の相違点として、メモリ16が予め記憶している閾値データ40cは、第1閾値TH1に加えて第2閾値TH2を定めるデータとなっている。第2の相違点として、メモリ16は、更に、割合テーブル45を予め記憶している。
【0074】
第3の相違点として、
図6の場合とは異なる画像分類器21cが設けられる。画像分類器21cは、
図13に示されるように、メモリ16が記憶している第2閾値TH2を用いて、第2カテゴリC2に分類されるB現場での画像データPD2を、更に、第4カテゴリC4か、第5カテゴリC5かに分類する。第2閾値TH2は、第1閾値TH1よりも小さい値である。第4カテゴリC4は、逸脱量Δがゼロから第2閾値TH2までの範囲である。第5カテゴリC5は、逸脱量Δが第2閾値TH2から第1閾値TH1までの範囲である。
【0075】
また、画像分類器21cは、メモリ16内の割合テーブル45に、第4カテゴリC4に分類する画像データPD2の枚数と第5カテゴリC5に分類する画像データPD2の枚数との枚数比と、物体検出の要求精度との対応関係を表す割合データを記憶している。画像分類器21cは、当該割合データに基づいて、入力された要求精度に対応する枚数比となるように、入力されたB現場での画像データPD2を、追加学習用カテゴリに分類する。
【0076】
図14は、
図12における割合テーブルの構成例を示す概略図である。
図14に示される割合テーブル45は、要求精度と、追加学習用の画像枚数の比率との対応関係を表す。
図14に示される例では、要求精度が75%までの範囲では、第1カテゴリC1の枚数比は1である。要求精度が75%から80%までの範囲では、第1カテゴリC1および第4カテゴリC4の枚数比は、C1:C4=0.7:0.3である。要求精度が80%から85%までの範囲では、第1カテゴリC1、第4カテゴリC4および第5カテゴリC5の枚数比は、C1:C4:C5=0.5:0.3:0.2である。
【0077】
一方、
図13に示されるように、AIによる学習では、例えば、TPに分類される画像データを用いると例えば75%の要求精度を達成できる。更に、弱いFPや弱いFNに分類される画像データを加えると例えば80%の要求精度を達成できる。更に、強いFPや強いFNに分類される画像データを加えると例えば85%の要求精度を達成できる。
【0078】
ただし、例えば、弱いFPや強いFP等は、概念的なものであり、FPを何らかの指標で区別することで得られるものである。また、例えば、弱いFPや弱いFNに分類される画像データのみを用いると、過学習が生じ得る。このため、実際には、例えば、TPに分類される画像データも適宜加えた上で、学習を行わせることが望ましい。
【0079】
ここで、実施の形態3の方式では、第4カテゴリC4に分類される画像データPD2は、弱いFPまたは弱いFNに分類される画像データとみなされる。第5カテゴリC5に分類される画像データPD2は、強いFPまたは強いFNに分類される画像データとみなされる。すなわち、第2閾値TH2を設けることで、弱いFPまたは弱いFNと、強いFPまたは強いFNとを区別することができる。
【0080】
図15は、
図12における画像処理装置において、追加学習の設定画面の一例を説明する図である。
図15に示される設定画面50は、画像処理装置に設けられる図示しないディスプレイ、または、画像処理装置に通信ネットワークを介して接続されるサーバ等の管理装置のディスプレイに表示される。ユーザは、
図15に示されるような設定画面50を介して、物体精度の要求精度を選択し、また、追加学習で用いる画像枚数を入力する。
【0081】
このような設定に基づいて、画像分類器21cは、割合テーブル45を参照し、設定された要求精度に対応する枚数比を満たしつつ、かつ、入力された画像枚数に達するまで、入力された画像データPD2を、メモリ16内の追加学習用画像領域25に書き込んでいく。例えば、画像枚数が1000枚であり、要求精度が75%~80%の場合、画像分類器21cは、第1カテゴリC1の画像データPD2を700枚、第4カテゴリC4の画像データPD2を300枚収集する。
【0082】
<実施の形態3の主要な効果>
以上、実施の形態3の方式を用いると、実施の形態1,2で述べた各種効果と同様の効果が得られる。更に、割合テーブル45を設けることで、追加学習用の画像データを、物体の要求精度に応じて効率的に選定することができ、より効率的な学習を行うことが可能になる。
【符号の説明】
【0083】
10…エッジカメラ(画像処理装置)、15…コントローラ、16…メモリ、20…特徴量抽出器、21…画像分類器、25…追加学習用画像領域、45…割合テーブル、C1~C5…カテゴリ、D1~D5…次元、FV…特徴量、IL…入力層、LL…最終層(出力層)、ML…中間層、PD…画像データ、RR…基準範囲、TH1,TH2…閾値、Δ1~Δ1024…逸脱量