(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】画像分析装置、画像分析方法及びコンピュータプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20231205BHJP
【FI】
G06T7/00 350B
(21)【出願番号】P 2019238139
(22)【出願日】2019-12-27
【審査請求日】2022-11-07
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】逸身 勇人
(72)【発明者】
【氏名】バイエ フロリアン
(72)【発明者】
【氏名】篠原 悠介
(72)【発明者】
【氏名】岩井 孝法
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2019-121141(JP,A)
【文献】国際公開第2017/145960(WO,A1)
【文献】Ravi Teja MULLAPUDI et al.,“Online Model Distillation for Efficient Video Inference”,2019 IEEE/CVF International Conference on Computer Vision (ICCV),2019年10月,pp.3572-3581
【文献】Pratik Prabhanjan BRAHMA et al.,“Subset Replay Based Continual Learning for Scalable Improvement of Autonomous Systems”,2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW),2018年06月,pp.1179-1187
【文献】高木純平他,自己蒸留によるDNNの蒸留の効率化,電子情報通信学会技術研究報告 Vol.118 No.470 [online] IEICE Technical Report,日本,一般社団法人電子情報通信学会,2019年02月25日,第118巻 第470号,pp.209-214
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
動画データを構成する複数の画像フレームを順次取得する取得手段と、
第1画像分析モデルを用いて前記複数の画像フレームを分析可能な第1分析手段と、
前記第1画像分析モデルよりも処理速度が速く、前記第1画像分析モデルよりも分析精度が低く且つ前記第1画像分析モデルを用いて行われる分析の結果を用いて更新可能な第2画像分析モデルを用いて前記複数の画像フレームを分析可能な第2分析手段と、
前記複数の画像フレームのうち前記第1及び第2画像分析モデルを用いて既に分析された画像フレームである分析済みフレームを、前記分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する評価値と関連付けて複数格納する格納手段と、
前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の抽出条件を満たす少なくとも一つの分析済みフレームを抽出する抽出手段と、
前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果と、前記複数の画像フレームのうち前記取得手段が新たに取得した画像フレームである新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果とを用いて、前記第2画像分析モデルを更新する更新手段と
を備える画像分析装置。
【請求項2】
前記抽出条件は、前記評価値の大きさに基づく条件を含む
請求項1に記載の画像分析装置。
【請求項3】
前記格納手段は、前記更新手段が前記
第2画像分析モデルを更新する都度、前記
第2画像分析モデルを更新するために用いられた前記分析済みフレームに関連付けられている前記評価値を、前記
第2画像分析モデルが更新される前の前記評価値である更新前評価値から、前記
第2画像分析モデルが更新された後の前記評価値である更新後評価値へと変更し、
前記抽出条件は、前記更新前評価値と前記更新後評価値との大小関係に基づく条件を含む
請求項1又は2に記載の画像分析装置。
【請求項4】
前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の破棄条件を満たす少なくとも一つの分析済みフレームを破棄する破棄手段を更に備える
請求項1から3のいずれか一項に記載の画像分析装置。
【請求項5】
前記破棄条件は、前記評価値の大きさに基づく条件を含む
請求項4に記載の画像分析装置。
【請求項6】
前記格納手段は、前記更新手段が前記
第2画像分析モデルを更新する都度、前記
第2画像分析モデルを更新するために用いられた前記分析済みフレームに関連付けられている前記評価値を、前記更新手段が前記
第2画像分析モデルを更新する前の前記評価値である更新前評価値から、前記更新手段が前記
第2画像分析モデルを更新した後の前記評価値である更新後評価値へと変更し、
前記破棄条件は、前記更新前評価値と前記更新後評価値との大小関係に基づく条件を含む
請求項4又は5に記載の画像分析装置。
【請求項7】
前記更新手段は、前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果を用いて、前記抽出された分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する前記評価値である第1評価値を算出し、前記新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果を用いて、前記新規フレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する前記評価値である第2評価値を算出し、前記第1及び第2評価値に重み付け処理を実行し、重み付け処理が実行された前記第1及び第2評価値を用いて前記画像分析モデルを更新する
請求項1から6のいずれか一項に記載の画像分析装置。
【請求項8】
前記更新手段は、前記第1評価値の重みが前記第2評価値の重みよりも大きくなるように、前記重み付け処理を実行する
請求項7に記載の画像分析装置。
【請求項9】
コンピュータによって、
動画データを構成する複数の画像フレームを順次取得し、
第1画像分析モデルを用いて前記複数の画像フレームを分析し、
前記第1画像分析モデルよりも処理速度が速く、前記第1画像分析モデルよりも分析精度が低く且つ前記第1画像分析モデルを用いた分析結果を用いて更新可能な第2画像分析モデルを用いて前記複数の画像フレームを分析し、
格納手段に、前記複数の画像フレームのうち前記第1及び第2画像分析モデルを用いて既に分析された画像フレームである分析済みフレームを、前記分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する評価値と関連付けて複数格納し、
前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の抽出条件を満たす少なくとも一つの分析済みフレームを抽出し、
前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果と、前記複数の画像フレームのうち新たに取得された画像フレームである新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果とを用いて、前記第2画像分析モデルを更新する
画像分析方法。
【請求項10】
コンピュータに、画像分析方法を実行させるプログラムであって、
前記画像分析方法は、
動画データを構成する複数の画像フレームを順次取得し、
第1画像分析モデルを用いて前記複数の画像フレームを分析し、
前記第1画像分析モデルよりも処理速度が速く、前記第1画像分析モデルよりも分析精度が低く且つ前記第1画像分析モデルを用いた分析結果を用いて更新可能な第2画像分析モデルを用いて前記複数のフレームを分析し、
格納手段に、前記複数の画像フレームのうち前記第1及び第2画像分析モデルを用いて既に分析された画像フレームである分析済みフレームを、前記分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する評価値と関連付けて複数格納し、
前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の抽出条件を満たす少なくとも一つの分析済みフレームを抽出し、
前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果と、前記複数の画像フレームのうち新たに取得された画像フレームである新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果とを用いて、前記第2画像分析モデルを更新する
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画データを構成する複数の画像フレームを分析可能な画像分析装置、画像分析方法及びコンピュータプログラムの技術分野に関する。
【背景技術】
【0002】
動画データ(言い換えれば、動画データセット又は動画レコード)を構成する複数の画像フレームを分析する画像分析装置の一例が非特許文献1に記載されている。具体的には、非特許文献1に記載された画像分析装置は、相対的に軽量な画像分析モデルを用いて、画像フレームを分析する。更に、非特許文献1に記載された画像分析装置は、軽量な画像分析モデルより高価な(その結果、分析精度が高い)画像分析モデルを用いて画像フレームに対して行われる分析の結果を相対的に軽量な画像分析モデルを学習させることで、相対的に軽量な画像分析モデルを更新している。
【0003】
その他、本願発明に関連する先行技術文献として、特許文献1から特許文献4が挙げられる。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2019/208411号パンフレット
【文献】特開2019-056966号公報
【文献】特開2017-224184号公報
【文献】特開2016-191973号公報
【文献】特許第6446971号
【非特許文献】
【0005】
【文献】Ravi Teja Mullapudi et al.、“Online Model Distillation for Efficient Video Interface”、arXiv 1812.02699、2018年12月6日
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した非特許文献1に記載された画像分析装置は、オンラインで相対的に軽量な画像分析モデルを学習させている。具体的には、非特許文献1に記載された画像分析装置は、オンラインで相対的に軽量な画像分析モデルを学習させるために、画像分析装置に新たに入力された新たな画像フレームを、相対的に高価な画像分析モデルを用いて分析する。その後、非特許文献1に記載された画像分析装置は、高価な画像分析モデルを用いて行われた分析の結果を、相対的に軽量な画像分析モデルに学習させることで、軽量な画像分析モデルを更新している。この場合、オフラインで相対的に軽量な画像分析モデルを学習させる(つまり、あらかじめ用意した学習用データを相対的に軽量な画像分析モデルに学習させる)場合と比較して、相対的に軽量な画像分析モデルを用いた画像フレームの分析精度の向上に限界があるという技術的問題が生ずる。
【0007】
本発明は、上述した技術的問題を解決可能な画像分析装置、画像分析方法及びコンピュータプログラムを提供することを課題とする。一例として、本発明は、相対的に軽量な画像分析モデルを用いた画像フレームの分析精度を向上させることが可能な画像分析装置、画像分析方法及びコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【0008】
本発明の一の態様において、画像分析装置は、動画データを構成する複数の画像フレームを順次取得する取得手段と、第1画像分析モデルを用いて前記複数の画像フレームを分析可能な第1分析手段と、前記第1画像分析モデルよりも処理速度が速く、前記第1画像分析モデルよりも分析精度が低く且つ前記第1画像分析モデルを用いて行われる分析の結果を用いて更新可能な第2画像分析モデルを用いて前記複数の画像フレームを分析可能な第2分析手段と、前記複数の画像フレームのうち前記第1及び第2画像分析モデルを用いて既に分析された画像フレームである分析済みフレームを、前記分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する評価値と関連付けて複数格納する格納手段と、前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の抽出条件を満たす少なくとも一つの分析済みフレームを抽出する抽出手段と、前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果と、前記複数の画像フレームのうち前記取得手段が新たに取得した画像フレームである新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果とを用いて、前記第2画像分析モデルを更新する更新手段と備える。
【0009】
本発明の一の態様において、画像分析方法は、コンピュータによって、動画データを構成する複数の画像フレームを順次取得し、第1画像分析モデルを用いて前記複数の画像フレームを分析し、前記第1画像分析モデルよりも処理速度が速く、前記第1画像分析モデルよりも分析精度が低く且つ前記第1画像分析モデルを用いた分析結果を用いて更新可能な第2画像分析モデルを用いて前記複数の画像フレームを分析し、格納手段に、前記複数の画像フレームのうち前記第1及び第2画像分析モデルを用いて既に分析された画像フレームである分析済みフレームを、前記分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する評価値と関連付けて複数格納し、前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の抽出条件を満たす少なくとも一つの分析済みフレームを抽出し、前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果と、前記複数の画像フレームのうち新たに取得された画像フレームである新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果とを用いて、前記第2画像分析モデルを更新する。
【0010】
本発明の一態様において、コンピュータプログラムは、コンピュータに、画像分析方法を実行させるプログラムであって、前記画像分析方法は、動画データを構成する複数の画像フレームを順次取得し、第1画像分析モデルを用いて前記複数の画像フレームを分析し、前記第1画像分析モデルよりも処理速度が速く、前記第1画像分析モデルよりも分析精度が低く且つ前記第1画像分析モデルを用いた分析結果を用いて更新可能な第2画像分析モデルを用いて前記複数の画像フレームを分析し、格納手段に、前記複数の画像フレームのうち前記第1及び第2画像分析モデルを用いて既に分析された画像フレームである分析済みフレームを、前記分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する評価値と関連付けて複数格納し、前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の抽出条件を満たす少なくとも一つの分析済みフレームを抽出し、前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果と、前記複数の画像フレームのうち新たに取得された画像フレームである新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果とを用いて、前記第2画像分析モデルを更新する。
【発明の効果】
【0011】
上述した画像分析装置、画像分析方法及びコンピュータプログラムの夫々の一の態様によれば、相対的に軽量な画像分析モデルを用いた画像フレームの分析精度を向上させることができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本実施形態の画像分析システムの全体構成を例示するブロック図である。
【
図2】
図2は、画像分析装置の構成を例示するブロック図である。
【
図3】
図3は、記憶装置が記憶するキャッシュデータのデータ構造を例示するデータ構造図である。
【
図4】
図4は、画像分析装置が行う画像分析動作の流れを例示するフローチャートである。
【
図5】
図5は、キャッシュデータから更新用データが抽出される様子を例示するデータ構造図である。
【
図6】
図6は、キャッシュデータが更新される様子を例示するデータ構造図である。
【
図7】
図7は、キャッシュデータが更新される様子を例示するデータ構造図である。
【
図8】
図8は、本実施形態の画像分析装置が更新した軽量画像分析モデルを用いた画像分析処理の分析精度と、比較例の画像分析装置が更新した軽量画像分析モデルを用いた画像分析処理の分析精度を例示するグラフである。
【
図9】
図9は、記憶装置が記憶するキャッシュデータのデータ構造を例示するデータ構造図である。
【発明を実施するための形態】
【0013】
以下、図面を参照しながら、画像分析装置、画像分析方法及びコンピュータプログラムの実施形態について説明する。以下では、画像分析装置、画像分析方法及びコンピュータプログラムの実施形態が適用された画像分析システムSYSについて説明する。
【0014】
<1>画像分析システムSYSの構成
<1-1>画像分析システムSYSの全体構成
はじめに、
図1を参照しながら、本実施形態の画像分析システムSYSの構成について説明する。
図1は、本実施形態の画像システムSYSの構成を例示するブロック図である。
【0015】
図1に示すように、画像分析システムSYSは、カメラ1と、画像分析装置2とを備えている。
【0016】
図1に示すように、画像分析システムSYSは、カメラ1と、画像分析装置2とを備えている。カメラ1と画像分析装置2とは、データバスを介して接続されている。但し、カメラ1と画像分析装置2とは、有線の通信ネットワーク網及び無線の通信ネットワーク網の少なくとも一方を含む通信ネットワーク網5を介して接続されていてもよい。
【0017】
カメラ1は、カメラ1が備える光学系の特性によって定まる所定の撮影範囲(言い換えれば、撮影画角)に含まれる光景を撮影可能な撮影機器である。カメラ1は、所定の撮影レート(例えば、1秒間に30回撮影範囲を撮影する撮影レート)で撮影範囲を撮影する。その結果、カメラ1は、夫々が撮影範囲の状況を示す複数の画像フレームを、時系列データとして出力する。つまり、カメラ1は、複数の画像フレームによって構成される動画データ(つまり、映像データ)を出力する。尚、本実施形態では、「データ」は、「データセット」又は「レコード」と称されてもよい。
【0018】
画像分析装置2は、カメラ1が出力する動画データを取得する。画像分析装置2は、カメラ1から取得した動画データに対して、所定の画像分析モデルを用いた画像分析処理を実行する。画像分析モデルは、例えば、ニューラルネットワークを用いた演算モデルであってもよいし、ニューラルネットワーク以外の任意の構造を有する演算モデルであってもよい。更に、画像分析装置2は、カメラ1から取得した動画データを用いて画像分析モデルを学習させることで、画像分析モデルを更新するモデル更新処理を実行する。
【0019】
本実施形態では、画像分析装置2は、画像分析処理の一例として、物体検出処理を実行してもよい。物体検出処理は、動画データを構成する各画像フレームを用いて、カメラ1が撮影範囲を撮影していた時点でカメラ1の撮影範囲に存在していた物体を検出する処理である。つまり、物体検出処理は、各画像フレームが示す画像に表現されている物体を検出する処理である。以下の説明では、画像分析装置2が動画データに対して物体検出処理を行う例について説明する。但し、画像分析装置2は、画像分析処理の一例として、物体検出処理とは異なる処理を実行してもよい。
【0020】
物体検出処理は、画像フレームが示す画像に表現されている物体を検出する処理を含んでいてもよい。画像に表現されている物体を検出する処理は、画像内における物体の位置を特定する処理を含んでいてもよい。物体の位置を特定する処理は、例えば、画像内で物体を包含する矩形上の領域(いわゆるボックス)の座標(例えば、2次元座標系の座標値)を特定する処理を含んでいてもよい。また、物体検出処理は、画像に表現されている物体を検出する処理に加えて又は代えて、画像に表現されている物体のクラスを特定する(言い換えれば、識別する又は認識する)処理を含んでいてもよい。つまり、物体検出処理は、画像に表現されている物体の種類を特定する処理を含んでいてもよい。以下の説明では、説明の便宜上、物体検出処理は、物体の位置及び物体のクラスの双方を特定する処理を含む例について説明する。
【0021】
<1-2>画像分析装置2の構成
続いて、
図2を参照しながら、画像分析装置2の構成について説明する。
図2は、画像分析装置2の構成を例示するブロック図である。
【0022】
図2に示すように、画像分析装置2は、演算装置21と、記憶装置22と、入出力IF(Interface:インタフェース)23とを備えている。演算装置21と、記憶装置22と、入出力IF23とは、データバス24を介して接続されていてもよい。
【0023】
演算装置21は、CPU(Central Processing Unit)及びGPU(Graphic Processing Unit)の少なくとも一方を含む。演算装置21は、コンピュータプログラムを読み込む。例えば、演算装置21は、記憶装置22が記憶しているコンピュータプログラムを読み込んでもよい。例えば、演算装置21は、コンピュータで読み取り可能な記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。演算装置21は、通信装置24を介して、画像分析装置2の外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、ダウンロードしてもよい又は読み込んでもよい)。演算装置21は、読み込んだコンピュータプログラムを実行する。その結果、演算装置21内には、画像分析装置2が行うべき動作を実行するための論理的な機能ブロックが実現される。具体的には、演算装置21内には、上述した画像分析処理及びモデル更新処理を含む画像分析動作を実行するための論理的な機能ブロックが実現される。つまり、演算装置21は、画像分析装置2が行うべき動作を実行するための論理的な機能ブロックを実現するためのコントローラとして機能可能である。
【0024】
図2には、画像分析動作を実行するために演算装置21内に実現される論理的な機能ブロックの一例が示されている。
図2に示すように、演算装置21内には、画像取得部210と、画像分析部211と、画像分析部212と、モデル更新部213と、キャッシュ管理部214とが実現される。尚、画像分析部211、画像分析部212、モデル更新部213及びキャッシュ管理部214の夫々の動作の詳細については、後に
図4等を参照しながら詳述するが、ここでその概要について簡単に説明する。
【0025】
画像取得部210は、入出力IF23を介して、カメラ1が時系列データとして出力する複数の画像フレームを順次取得する。
【0026】
画像分析部211は、動画データに対して(つまり、動画データを構成する各画像フレームに対して)画像分析処理を実行可能である。その結果、画像分析部211は、画像分析処理の結果として、画像分析部211が特定した物体の位置を示す位置情報qlと、画像分析部211が特定した物体のクラスを示すクラス情報qcとを出力する。
【0027】
画像分析部212もまた、動画データに対して(つまり、動画データを構成する各画像フレームに対して)画像分析処理を実行可能である。その結果、画像分析部212は、画像分析処理の結果として、画像分析部212が特定した物体の位置を示す位置情報plと、画像分析部212が特定した物体のクラスを示すクラス情報pcとを出力する。
【0028】
画像分析部211及び画像分析部212は、画像分析部212が実行する画像分析処理の処理速度が、画像分析部211が実行する画像分析処理の処理速度よりも速いという点で異なっていてもよい。つまり、画像分析部211及び画像分析部212は、一の画像フレームに対して画像分析部212が実行した画像分析処理が完了するまでに要する時間が、同じ一の画像フレームに対して画像分析部211が実行した画像分析処理が完了するまでに要する時間よりも短いという点で異なっていてもよい。尚、画像分析処理の処理速度は、典型的には、画像分析処理の処理負荷が軽くなるほど速くなる。このため、画像分析部211及び画像分析部212は、画像分析部212が実行する画像分析処理の処理負荷が、画像分析部211が実行する画像分析処理の処理負荷よりも軽いという点で異なっていてもよい。また、上述したように、画像分析処理は、画像分析モデルを用いて行われる。このため、「画像分析部212が実行する画像分析処理の処理速度が、画像分析部211が実行する画像分析処理の処理速度よりも速い」という状態は、実質的には、「画像分析部212が用いる画像分析モデルの処理速度が、画像分析部212が用いる画像分析モデルの処理速度よりも速い」という状態と等価であるとも言える。
【0029】
画像分析部211及び画像分析部212は、画像分析部211が実行する画像分析処理による分析精度が、画像分析部212が実行する画像分析処理による分析精度よりも高いという点で異なっていてもよい。「画像分析部211が実行する画像分析処理による分析精度が、画像分析部212が実行する画像分析処理による分析精度よりも高い」という状態は、実質的には、「画像分析部211が用いる画像分析モデルの分析精度が、画像分析部212が用いる画像分析モデルの分析精度よりも高い」という状態と等価であるとも言える。尚、本実施形態では、上述したように画像分析処理が物体検出処理である。このため、分析精度は、画像フレームが示す画像に表現されている物体を正しく検出できるほど高くなる物体の検出精度を意味していてもよい。また、ここで言う分析精度は、後述する画像分析動作(特に、
図4のステップS112)で算出される分析精度を意味していてもよい。
【0030】
画像分析部211及び画像分析部212の夫々は、上述した画像分析モデルを用いた画像分析処理を実行する。上述したように画像分析部211と画像分析部212との間では画像分析処理の処理速度及び分析精度の少なくとも一方が異なるがゆえに、画像分析部211が用いる画像分析モデルは、典型的には、画像分析部212が用いる画像分析モデルとは異なる。但し、画像分析部211が用いる画像分析モデルは、画像分析部212が用いる画像分析モデルと同一であってもよい。
【0031】
以上説明した画像分析部211及び画像分析部212の違いを踏まえ、以下の説明では、説明の便宜上、画像分析部211を“高精度画像分析部211”と称し、画像分析部212を“軽量画像分析部”と称して、両者をより明確に区別する。また、画像分析部211が用いる画像分析モデルを“高精度画像分析モデル”と称し、画像分析部212が用いる画像分析モデルを“軽量画像分析モデル”と称して、両者を区別する。
【0032】
このような高精度画像分析部211及び軽量画像分析部212を備える画像分析装置2は、通常は、軽量画像分析部212を用いて画像分析処理を実行してもよい。この場合、画像分析装置2は、相対的に軽い処理負荷で、相対的に高速に画像分析処理を実行することができる。一方で、軽量画像分析部212が軽量画像分析モデルを用いて実行する画像分析処理の分析精度が相対的に低いがゆえに、軽量画像分析モデルには改善の余地があるとも言える。ここで、高精度画像分析部211が実行する画像分析処理の分析精度が高いがゆえに、高精度画像分析部211が実行する画像分析処理の結果は、信頼性が相対的に高い。このため、画像分析装置2は、高精度画像分析部211が実行する画像分析処理の結果を用いて、軽量画像分析部212が用いる軽量画像分析モデルを更新してもよい。つまり、画像分析装置2は、高精度画像分析部211が実行する画像分析処理の結果を計量画像分析モデルに学習させることで、軽量画像分析モデルを更新してもよい。
【0033】
モデル更新部213は、モデル更新処理を行う。本実施形態では特に、モデル更新部213は、上述したように、軽量画像分析部212が用いる軽量画像分析モデルを更新する。具体的には、モデル更新部213は、画像分析部211が出力した位置情報ql及びクラス情報qcと、画像分析部212が出力した位置情報pl及びクラス情報pcとに基づいて、損失関数の値L(以降、“ロス値L”と称する)を算出する。ロス値Lは、軽量画像分析部212が実行する画像分析処理の結果を評価するための評価値に相当する。ロス値Lは、例えば、物体の位置に関するロス値と、物体のクラスに関するロス値との総和であってもよい。物体の位置に関するロス値の一例として、Smooth L1 Lossと称されるロス値SLが用いられてもよい。ロス値SLは、「SL=0.5×(ql-pl)^2:|ql-pl|<1の場合、SL=|ql-pl|-0.5:|ql-pl|<1でない場合」という数式2で表現されるロス値が用いられてもよい。物体のクラスに関するロス値の一例として、Focal Lossと称されるロス値FLが用いられてもよい。ロス値FLは、「FL=(qc-pc)×γ×CE(qc、pc)」という数式2で表現される。尚、数式2中の「γ」は、パラメータであり、CE(qc、pc)は、クラス情報qcとクラス情報pcとの交差エントロピーである。その後、モデル更新部213は、ロス値Lに基づいて、軽量画像分析モデルを更新する。例えば、上述したロス値FLとロス値SLとの総和に相当するロス値Lは、軽量画像分析部212が実行する画像分析処理の結果が良好になるほど小さくなる。この場合には、モデル更新部213は、ロス値Lが小さくなるように(典型的には、最小になるように)軽量画像分析モデルを更新することが好ましい。尚、本段落において、記号「|x|」は、「xの絶対値」を表しており、記号「x^y」は、「xのy乗(べき乗)」を表している。
【0034】
キャッシュ管理部214は、モデル更新部213がモデル更新処理を行うために利用するキャッシュデータ221を管理する。例えば、キャッシュデータ221は、キャッシュデータ221のデータ構造の一例を示すデータ構造図である
図3に例示するように、高精度画像分析部211(更には、軽量画像分析部212)が過去に画像分析処理を実行した画像フレーム(以降、適宜“分析済みフレーム”と称する)と、分析済みフレームに対して高精度画像分析部211が過去に実行した画像分析処理の結果と、分析済みフレームに対して軽量画像分析部212が過去に実行した画像分析処理の結果を評価するためのロス値Lとを含む更新用データ2211を複数含んでいてもよい。つまり、キャッシュデータ221は、分析済みフレームと、高精度画像分析部211が過去に実行した画像分析処理の結果と、ロス値Lとが関連付けられた更新用データ2211を複数含んでいてもよい。尚、
図3に示す例では、キャッシュデータ221は、更新用データ2211をN(但し、Nは2以上の整数)個含んでいる。また、
図3に示す例では、更新用データ2211は、高精度画像分析部211が過去に実行した画像分析処理の結果として、分析済みフレームから高精度画像分析部211が特定した物体の位置を示す位置情報qlと、分析済みフレームから高精度画像分析部211が特定した物体のクラスを示すクラス情報qcとを含んでいる。尚、以下では、分析済みフレーム(つまり、過去に取得された画像フレーム)から特定された位置情報ql及びクラス情報qcを、夫々、位置情報ql_past及びクラス情報qc_pastと称する。同様に、分析済みフレーム(つまり、過去に取得された画像フレーム)から特定された位置情報pl及びクラス情報pcを、夫々、位置情報pl_past及びクラス情報pc_pastと称する。
【0035】
記憶装置22は、所望のデータを記憶可能である。例えば、記憶装置22は、演算装置21が実行するコンピュータプログラムを一時的に記憶していてもよい。記憶装置22は、演算装置21がコンピュータプログラムを実行している際に演算装置21が一時的に使用するデータを一時的に記憶してもよい。記憶装置22は、画像分析装置2が長期的に保存するデータを記憶してもよい。本実施形態では特に、記憶装置22は、上述したキャッシュデータ221を記憶する。尚、記憶装置22は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。
【0036】
入出力IF23は、画像分析装置2とカメラ1との間でのデータの送受信を行う装置である。従って、画像分析装置2は、入出力IF23を介して、カメラ1から動画データ(つまり、画像データ)を取得する。
【0037】
<2>画像分析システムSYSの動作
続いて、画像分析システムSYSの動作について説明する。以下では、
図4を参照しながら、画像分析システムSYSが行う動作の少なくとも一部として、画像分析装置2が行う画像分析動作(つまり、上述した画像分析処理とモデル更新処理とを含む動作)について説明する。
図4は、画像分析装置2が行う画像分析動作の流れを例示するフローチャートである。
【0038】
図4に示すように、演算装置21は、変数tを1に初期化する(ステップS101)。変数tは、画像分析装置2が画像分析動作を開始してから画像分析装置2がカメラ1から取得した画像フレームの数を示す変数である。
【0039】
その後、画像取得部210が入出力IF23を介して画像分析装置2がカメラ1から画像フレームを新たに取得した場合には(ステップS102:Yes)、軽量画像分析部212は、ステップS102で新たに取得された画像フレームに対して、軽量画像分析モデルを用いた画像分析処理(つまり、物体検出処理)を行う(ステップS103)。
【0040】
その後、演算装置21は、画像分析動作を終了するか否かを判定する(ステップS104)。画像分析動作を終了すると判定された場合には、画像分析装置2は、
図4に示す画像分析動作を終了する。
【0041】
一方で、画像分析動作を終了すると判定された場合には、モデル更新部213は、ステップS102で新たに取得された画像フレームを用いて、軽量画像分析モデルを更新するか否かを判定する(ステップS105)。
図4に示す例では、モデル更新部213は、変数tをパラメータσで除算した剰余が0であるか否か、及び、変数tがパラメータn未満であるか否を判定することで、軽量画像分析モデルを更新するか否かを判定している(ステップS105)。パラメータσは、軽量画像分析モデルの更新周期を規定する数値パラメータである。具体的には、パラメータσは、σ個の画像フレームが取得されるたびに軽量画像分析モデルが更新されるように更新周期を規定する数値パラメータである。また、パラメータnは、軽量画像分析モデルの更新を継続する継続期間を規定する数値パラメータである。具体的には、パラメータnは、画像分析装置2が画像分析動作を開始してからn個の画像フレームが取得された時点で軽量画像分析モデルの更新を停止するようにモデル更新処理の継続期間を規定する数値パラメータである。つまり、パラメータnは、画像分析装置2が画像分析動作を開始してからn個の画像フレームが取得されるまでは軽量画像分析モデルが更新され、画像分析装置2が画像分析動作を開始してからn個の画像フレームが取得された後は軽量画像分析モデルが更新されないように継続期間を規定する数値パラメータである。
【0042】
ステップS105における判定の結果、変数tをパラメータσで除算した剰余が0でないと判定された場合には(ステップS105:No)、現在のタイミングが、軽量画像分析モデルを更新するタイミングではないと想定される。このため、モデル更新部213は、ステップS102で新たに取得された画像フレームを用いて、軽量画像分析モデルを更新しない。この場合、モデル更新部213は、変数tを1だけインクリメントする(ステップS116)。その後、ステップS102以降の処理が繰り返される。
【0043】
ステップS105における判定の結果、変数tをパラメータσで除算した剰余が0であると判定された変数tがパラメータn以上であると判定された場合であっても、変数tがパラメータn以上であると判定された場合には(ステップS105:No)、軽量画像分析モデルの更新を継続する継続期間が既に経過してしまったと想定される。このため、モデル更新部213は、ステップS102で新たに取得された画像フレームを用いて、軽量画像分析モデルを更新しない。この場合、モデル更新部213は、変数tを1だけインクリメントする(ステップS116)。その後、ステップS102以降の処理が繰り返される。但し、この場合には、変数tが初期化されない限りは変数tがパラメータn未満になることはないため、原則として、軽量画像分析モデルが更新されることない。
【0044】
他方で、ステップS105における判定の結果、変数tをパラメータσで除算した剰余が0であり且つ変数tがパラメータn未満であると判定された場合には(ステップS105:Yes)、モデル更新部213は、ステップS102で新たに取得された画像フレームを用いて、軽量画像分析モデルを更新する(ステップS111からステップS126)。
【0045】
具体的には、モデル更新部213は、ステップS102で新たに取得された画像フレーム(以降、“新規フレーム”と称する)に対して画像分析処理を行うように、高精度画像分析部211を制御する(ステップS111)。
【0046】
その後、モデル更新部213は、ステップS103において軽量画像分析部212が実行した画像分析処理の結果と、ステップS111において高精度画像分析部211が実行した画像分析処理の結果とを用いて、軽量画像分析部212の分析精度を算出する(ステップS112)。以下、分析精度を算出する処理の一例について説明する。
【0047】
まず、ステップS111において高精度画像分析部211が実行した画像分析処理の結果は、高精度画像分析部211によって特定された物体の位置を示す位置情報qlと、高精度画像分析部211によって特定された物体のクラスを示すクラス情報qcとを含む。同様に、ステップS103において軽量画像分析部212が実行した画像分析処理の結果は、軽量画像分析部212によって特定された物体の位置を示す位置情報plと、軽量画像分析部212によって特定された物体のクラスを示すクラス情報pcとを含む。尚、以下では、ステップS102で新たに取得された画像フレームから特定された位置情報ql及びクラス情報qc並びに位置情報pl及びクラス情報pcを、夫々、位置情報ql_current及びクラス情報qc_current並びに位置情報pl_current及びクラス情報pc_currentと称する。この場合、モデル更新部213は、位置情報ql_current及びクラス情報qc_currentを正解データとして用いることで、位置情報pl_current及びクラス情報pc_currentの精度を、軽量画像分析部212が実行した画像分析処理の分析精度として算出してもよい。この際、モデル更新部213は、信頼度が0.5以上になる位置情報ql_current及びクラス情報qc_currentを正解データとして用いることで、位置情報pl_current及びクラス情報pc_currentの精度を、軽量画像分析部212の分析精度として算出してもよい。尚、分析精度として、画像分析処理(特に、物体検出処理)の精度を示す既存の指標値が用いられてもよい。このような既存の指標値の一例として、mAP(mean Average Precision)及びIoU(Intersection over Union)の少なくとも一つが挙げられる。
【0048】
その後、モデル更新部213は、変数uを1に初期化する(ステップS113)。変数uは、モデル更新処理による軽量画像分析モデルの更新回数を示す変数である。
【0049】
その後、モデル更新部213は、ステップS112で算出した分析精度が下限閾値TH1未満であるか否か、及び、変数uが上限閾値TH2未満であるか否かを判定する(ステップS114)。下限閾値TH1は、軽量画像分析部212の分析精度が、軽量画像分析部212が画像フレームに対して適切な画像分析処理を行うことができる程度に高いか否かを判定するために分析精度と比較される閾値である。軽量画像分析部212の分析精度が下限閾値TH1未満である状態は、軽量画像分析部212の分析精度が、軽量画像分析部212が画像フレームに対して適切な画像分析処理を行うことができない可能性がある程度に低い状態に対応する。軽量画像分析部212の分析精度が下限閾値TH1以上である状態は、軽量画像分析部212の分析精度が、軽量画像分析部212が画像フレームに対して適切な画像分析処理を行うことができる程度に高い状態に対応する。上限閾値TH2は、変数u(つまり、軽量画像分析モデルの更新回数)の上限値を規定する閾値である。
【0050】
ステップS114における判定の結果、ステップS112で算出した分析精度が所定閾値TH1未満であり、且つ、変数uが所定閾値TH2未満であると判定された場合には(ステップS114:Yes)、軽量画像分析部212の分析精度が未だ十分に高くないがゆえに、モデル更新処理によって軽量画像分析モデルが更新されるべき状況にあると想定される。そこで、この場合には、画像分析装置2は、実際に軽量画像分析モデルを更新する(ステップS121からステップS122)。
【0051】
具体的には、キャッシュ管理部214は、キャッシュデータ2211から、軽量画像分析モデルを更新するために用いるべき少なくとも一つの更新用データ2211を抽出する(ステップS121)。つまり、キャッシュ管理部214は、キャッシュデータ2211から、分析済みフレームと、高精度画像分析部211が過去に実行した画像分析処理の結果と、ロス値Lとを、軽量画像分析モデルを更新するために用いるべきデータとして抽出する。
【0052】
本実施形態では、キャッシュ管理部214は、例えば、ロス値Lに基づく所定の抽出条件を満たす少なくとも一つの更新用データ2211を抽出する。例えば、ロス値Lは、典型的には、軽量画像分析部212が実行した画像分析処理の結果が良好になるほど、小さくなる。つまり、ロス値Lは、軽量画像分析部212が実行した画像分析処理の結果と、高精度画像分析部211が実行した画像分析処理の結果との差分が小さくなるほど、小さくなる。このため、相対的に大きなロス値Lを含む更新用データ2211に含まれる分析済みフレームは、相対的に小さなロス値Lを含む更新用データ2211に含まれる分析済みフレームと比較して、軽量画像分析モデルにとって相対的に物体を検出しづらい画像フレームであると言える。つまり、相対的に大きなロス値Lを含む更新用データ2211に含まれる分析済みフレームは、軽量画像分析モデルが十分に学習していない(つまり、計量画像分析モデルにとって相対的に苦手な)画像フレームであると言える。この場合、十分に学習していない画像フレームを用いて軽量画像分析モデルを更新すれば、十分に学習した画像フレームを用いて軽量画像分析モデルを更新する場合と比較して、軽量画像分析モデルを用いた画像分析処理の結果が相対的に大きく改善することが期待される。このため、キャッシュ管理部214は、相対的に大きなロス値Lを含む更新用データ2211を抽出してもよい。
【0053】
例えば、キャッシュデータ221から更新用データ2211が抽出される様子を例示する
図5に示すように、ロス値L#Nが他のロス値L#1からロス値L#N-1よりも大きい場合には、キャッシュ管理部214は、ロス値L#Nと、ロス値L#Nに関連付けられた分析済みフレームx#Nと、ロス値L#Nに関連付けられた位置情報ql_past#N及びクラス情報qc_past#Nとを含む更新用データ2211を抽出してもよい。
【0054】
相対的に大きなロス値Lを含む更新用データ2211を抽出するために、抽出条件は、ロス値Lの大きさに関する条件を含んでいてもよい。例えば、抽出条件は、ロス値Lが大きくなるほど更新用データ2211が抽出される確率が高くなるという条件を含んでいてもよい。例えば、抽出条件は、ロス値Lが最大になる更新用データ2211が抽出されるという条件を含んでいてもよい。例えば、抽出条件は、ロス値Lが所定の抽出閾値よりも大きい更新用データ2211が抽出されるという条件を含んでいてもよい。例えば、抽出条件は、ロス値Lが大きい順に所定個の更新用データ2211が抽出されるという条件を含んでいてもよい。いずれの抽出条件が用いられたとしても、キャッシュ管理部214は、相対的に大きなロス値Lを含む更新用データ2211を抽出することができる。
【0055】
その後、モデル更新部213は、ステップS121で抽出した更新用データ2211に含まれる画像フレーム(つまり、分析済みフレーム)と、ステップS102で新たに取得した画像フレーム(つまり、新規フレーム)とを用いて、軽量画像分析モデルを更新する(ステップS122)。つまり、モデル更新部213は、分析済みフレームと新規フレームとの双方を軽量画像分析モデルに学習させることで、軽量画像分析モデルを更新する(ステップS122)。
【0056】
軽量画像分析モデルを更新するために、モデル更新部213は、分析済みフレームに対応するロス値L(以降、“ロス値L_past”と称する)と、新規フレームに対応するロス値L(以降、“ロス値L_current”と称する)とを算出する。ロス値L_pastは、ステップS121で抽出した更新用データ2211に含まれる分析済みフレームに対して軽量画像分析部211が実行した画像分析処理の結果を評価するための損失関数の値である。一方で、ロス値L_currentは、ステップS102で新たに取得された新規フレームに対して軽量画像分析部211が実行した画像分析処理の結果を評価するための損失関数の値である。
【0057】
ロス値L_pastを算出するために、モデル更新部213は、ステップS121で抽出した分析済みフレームに対して画像処理を行うように、軽量画像分析部212を制御する。その結果、モデル更新部213は、分析済みフレームから軽量画像分析部212が特定した物体の位置を示す位置情報pl_pastと、分析済みフレームから軽量画像分析部212が特定した物体のクラスを示すクラス情報pc_pastとを取得する。また、モデル更新部213は、ステップS121で抽出した更新用データ2211から、分析済みフレームから高精度画像分析部211が特定した物体の位置を示す位置情報ql_pastと、分析済みフレームから高精度画像分析部211が特定した物体のクラスを示すクラス情報qc_pastとを取得する。その後、モデル更新部213は、位置情報pc_past、クラス情報pc_past、位置情報ql_past及びクラス情報qc_pastに基づいて、ロス値L_pastを算出する。例えば、モデル更新部213は、上述したロス値Lを算出するための数式1及び2を用いて、ロス値L_pastを算出する。
【0058】
また、モデル更新部213は、ステップS103において軽量画像分析部212が実行した画像分析処理の結果と、ステップS111において高精度画像分析部211が実行した画像分析処理の結果とを用いて、ロス値L_currentを算出する。つまり、モデル更新部213は、位置情報pc_current、クラス情報pc_current、位置情報ql_current及びクラス情報qc_currentに基づいて、ロス値L_currentを算出する。
【0059】
その後、モデル更新部213は、ロス値L_pastとロス値L_currentとの総和に相当するロス値L_totalを、軽量画像分析モデルを更新するために用いるロス値Lとして算出する。つまり、モデル更新部213は、ロス値L_totalに基づいて、軽量画像分析モデルを更新する。言い換えれば、モデル更新部213は、ロス値L_totalに基づいて軽量画像分析モデルを学習させることで、軽量画像分析モデルを更新する。例えば、モデル更新部213は、ロス値L_totalが小さくなる(典型的には、最小になる)ように軽量画像分析モデルを構成するパラメータ等を更新することで、軽量画像分析モデルを更新する。例えば、軽量画像分析モデルがニューラルネットワークを用いた演算モデルである場合には、モデル更新部213は、ロス値L_totalが小さくなる(典型的には、最小になる)ようにニューラルネットワークのパラメータ(例えば、重み、バイアス及びノードの接続経路の少なくとも一つ)を学習させることで、軽量画像分析モデルを更新する。
【0060】
モデル更新部213は、ロス値L_totalを算出する際に、ロス値L_pastとロス値L_currentとの少なくとも一方に重み付け処理を施してもよい。例えば、モデル更新部213は、L_total=α×L_current+(1-α)×L_pastという数式を用いて、ロス値L_totalを算出してもよい。この場合、αは重み付け係数を示しており、0より大きく且つ1より小さい値に設定される。重み付け係数αが1に設定されている場合には、軽量画像分析モデルは、ロス値L_pastを用いることなく更新される。つまり、軽量画像分析モデルは、更新用データ2211に含まれる分析済みフレームを用いることなく、新規フレームを用いて更新される。
【0061】
一方で、重み付け係数αが小さくなればなるほど、軽量画像分析モデルの更新に対するロス値L_pastの寄与度が増加する。この場合、軽量画像分析モデルの時間的汎用性が増加する。つまり、軽量画像分析モデルが、直近に入力された画像フレームに特化した汎用性の相対的に低い画像分析モデルになる可能性が小さくなる。言い換えれば、軽量画像分析モデルが、直近に入力された画像フレームを過学習した汎用性の相対的に低い画像分析モデルになる可能性が小さくなる。尚、軽量画像分析モデルの時間的汎用性の増加度合いをより高めるという点から言えば、重み付け係数αは、0.5未満の値に設定されてもよい。
【0062】
軽量画像分析モデルが更新されると、分析済みフレームに対応するロス値L_pastが変わる可能性が高い。典型的には、軽量画像分析モデルが更新されると、分析済みフレームに対応するロス値L_pastが小さくなる可能性が相対的に高い。なぜならば、ロス値L_totalが小さくなるように計量画像分析モデルが更新されるがゆえに、ロス値L_totalを構成するロス値L_pastもまた小さくなる可能性があるからである。このため、キャッシュ管理部214は、軽量画像分析モデルが更新された場合には、軽量画像分析モデルの更新によって変動したロス値L_pastを用いて、キャッシュデータ221を更新する(ステップS123からステップS124)。具体的には、キャッシュ管理部214は、ステップS121で抽出された処理済みデータに対して、更新された軽量画像分析モデルを用いて画像分析処理を行うように、軽量画像分析部212を制御する(ステップS123)。その結果、キャッシュ管理部214は、分析済みフレームから軽量画像分析モデルを用いて特定された物体の位置を示す位置情報pl_pastと、分析済みフレームから軽量画像分析モデルを用いて特定された物体のクラスを示すクラス情報pc_pastとを取得する。その後、キャッシュ管理部214は、ステップS123で取得した位置情報pl_past及びクラス情報pc_pastと、ステップS121で抽出した位置情報ql_past及びクラス情報qc_pastとを用いて、軽量画像分析モデルの更新によって変動した後のロス値L_pastを算出する。その後、キャッシュ管理部214は、ステップS121で抽出した更新用データ2211に含まれるロス値Lを、軽量画像分析モデルを更新する前のロス値L_pastから、軽量画像分析モデルを更新した後のロス値L_pastに変更する(ステップS124)。
【0063】
例えば、キャッシュデータ221が更新される様子を例示する
図6に示すように、分析済みフレームx#Nを含む更新用データ2211を用いて軽量画像分析モデルが更新された場合には、分析済みフレームx#Nを含む更新用データ2211に含まれるロス値L#Nが更新される。つまり、ロス値L#Nが、軽量画像分析モデルを更新した後のロス値L’#Nに変更される。
【0064】
その後、モデル更新部213は、ステップS123において軽量画像分析部212が実行した画像分析処理の結果と、ステップS111において高精度画像分析部211が実行した画像分析処理の結果とを用いて、軽量画像分析モデルが更新された後の軽量画像分析部212の分析精度を算出する(ステップS125)。尚、ステップS125における処理は、ステップS112における処理と同一であってもよいため、その詳細な説明は省略する。
【0065】
その後、モデル更新部213は、変数uを1だけインクリメントした後(ステップS126)、ステップS114以降の処理を繰り返す。尚、ステップS112において分析精度が算出された後にステップS125において分析精度が新たに算出された場合には、モデル更新部213は、ステップS114において、ステップS112で算出した分析精度に代えて、ステップS125で算出した分析精度が下限閾値TH1未満であるか否かを判定する。
【0066】
他方で、ステップS114における判定の結果、ステップS112(或いは、ステップS125)で算出した分析精度が所定閾値TH1以上であると判定された場合には(ステップS114:No)、軽量画像分析部212の分析精度が既に十分に高いがゆえに、モデル更新処理によって軽量画像分析モデルが更新される必要性が相対的に小さい状況にあると想定される。そこで、この場合には、モデル更新部213は、軽量画像分析モデルを更新するためのモデル更新処理を終了する。
【0067】
また、ステップS114における判定の結果、変数uが所定閾値TH2以上であると判定された場合には(ステップS114:No)、モデル更新処理による軽量画像分析モデルの更新回数が上限に達していると想定される。そこで、この場合には、モデル更新部213は、軽量画像分析モデルを更新するためのモデル更新処理を終了する。
【0068】
軽量画像分析モデルを更新する処理を終了した後には、キャッシュ管理部214は、キャッシュデータ221を更新する(ステップS115)。具体的には、キャッシュデータ221が更新される様子を例示する
図7に示すように、キャッシュ管理部214は、ステップS102で取得した画像フレームを分析済みフレーム(
図7に示す例では、分析済みフレームx#N+1)として含む更新用データ2211を、キャッシュデータ221に追加する。新たに追加される更新用データ2211は、ステップS102で取得した新規フレームに対してステップS111において高精度画像分析部211が実行した画像分析処理の結果(つまり、位置情報ql_current及びクラス情報qc_current)を、位置情報ql_past及びクラス情報qc_pastとして含む。更に、新たに追加される更新用データ2211は、ステップS102で取得した新規フレームに対応するロス値LとしてステップS123で算出されたロス値L_currentを含む。
【0069】
また、更新用データ2211の追加に伴ってキャッシュデータ221のデータサイズが上限サイズを超える場合には、キャッシュ管理部214は、キャッシュデータ221から少なくとも一つの更新用データ2211を破棄(つまり、削除)してもよい。
【0070】
本実施形態では、キャッシュ管理部214は、例えば、ロス値Lに基づく所定の破棄条件を満たす少なくとも一つの更新用データ2211を削除してもよい。例えば、上述したように、相対的に大きなロス値Lを含む更新用データ2211に含まれる分析済みフレームは、軽量画像分析部212が用いる軽量画像分析モデルにとって相対的に物体を検出しづらい画像フレームである。逆に言えば、相対的に小さなロス値Lを含む更新用データ2211に含まれる分析済みフレームは、軽量画像分析部212が用いる軽量画像分析モデルにとって相対的に物体を検出しやすい画像フレームである。つまり、相対的に小さなロス値Lを含む更新用データ2211に含まれる分析済みフレームは、軽量画像分析モデルが十分に学習した画像フレームである可能性が高い。この場合、十分に学習した画像フレームを用いて軽量画像分析モデルを更新しても、十分に学習していない画像フレームを用いて軽量画像分析モデルを更新する場合と比較して、軽量画像分析モデルを用いた画像分析処理の結果の改善量には限界がある。このため、モデル更新部213は、相対的に小さなロス値Lを含む更新用データ2211を破棄してもよい。
【0071】
例えば、キャッシュデータ221から更新用データ2211が破棄される様子を例示する
図7に示すように、ロス値L#2が他のロス値L#1及びロス値L#3からロス値L#N+1よりも小さい場合には、キャッシュ管理部214は、ロス値L#2と、ロス値L#2に関連付けられた分析済みフレームx#2と、ロス値L#2に関連付けられた位置情報ql_past#2及びクラス情報qc_past#2とを含む更新用データ2211を破棄してもよい。
【0072】
相対的に小さなロス値Lを含む更新用データ2211を破棄するために、破棄条件は、ロス値Lの大きさに関する条件を含んでいてもよい。例えば、破棄条件は、ロス値Lが小さくなるほど更新用データ2211が破棄される確率が高くなるという条件を含んでいてもよい。例えば、破棄条件は、ロス値Lが最小になる更新用データ2211が破棄されるという条件を含んでいてもよい。例えば、破棄条件は、ロス値Lが所定の破棄閾値よりも小さい更新用データ2211が破棄されるという条件を含んでいてもよい。例えば、破棄条件は、ロス値Lが小さい順に所定個の更新用データ2211が破棄されるという条件を含んでいてもよい。いずれの破棄条件が用いられたとしても、キャッシュ管理部214は、相対的に小さなロス値Lを含む更新用データ2211を破棄することができる。
【0073】
<3>画像分析システムSYSの技術的効果
以上説明したように、本実施形態の画像分析システムSYSによれば、画像分析装置2は、カメラ1から新たに取得された画像フレームのみならず、キャッシュデータ221に含まれる更新用データ2211を用いて、軽量画像分析モデルを更新することができる。つまり、画像分析装置2は、過去に軽量画像分析モデルを更新するために用いられた分析済みフレームを用いて、軽量画像分析モデルを更新することができる。このため、カメラ1から新たに取得された画像フレームのみを用いて軽量画像分析モデルが更新される場合と比較して、軽量画像分析モデルを用いた画像分析処理の分析精度が向上する。例えば、
図8は、本実施形態の画像分析装置2が更新した(つまり、学習させた)軽量画像分析モデルを用いた画像分析処理の分析精度を実線で示している。一方で、
図8は、カメラ1から新たに取得された画像フレームのみを用いて更新された軽量画像分析モデル(第1比較例)を用いた画像分析処理の分析精度を一点鎖線で示している。
図8に示すように、本実施形態の画像分析装置2が更新した軽量画像分析モデルを用いた画像分析処理の分析精度は、カメラ1から新たに取得された画像フレームのみを用いて更新された第1比較例の軽量画像分析モデルを用いた画像分析処理の分析精度よりも高いことが分かる。
【0074】
また、画像分析装置2は、ロス値Lに基づく抽出条件を満たす少なくとも一つの更新用データ2211を、軽量画像分析モデルを更新するために用いる更新用データ2211として抽出する。その結果、キャッシュデータ2211からランダムに(つまり、ロス値Lを考慮することなく)抽出される更新用データ2211を用いて軽量画像分析モデルが更新される場合と比較して、軽量画像分析モデルを用いた画像分析処理の分析精度が向上する。なぜならば、ロス値Lに基づく抽出条件を満たす少なくとも一つの更新用データ2211は、軽量画像分析モデルが十分に学習していない画像フレームを含んでいるがゆえに、軽量画像分析モデルは、十分に学習していない画像フレームを優先的に学習するからである。例えば、
図8は、キャッシュデータ2211からランダムに抽出される更新用データ2211を用いて更新された軽量画像分析モデル(第2比較例)を用いた画像分析処理の分析精度を点線で示している。
図8に示すように、本実施形態の画像分析装置2が更新した軽量画像分析モデルを用いた画像分析処理の分析精度は、キャッシュデータ2211からランダムに抽出される更新用データ2211を用いて更新された第2比較例の軽量画像分析モデルを用いた画像分析処理の分析精度よりも高いことが分かる。
【0075】
また、上述したようにロス値L_totalを算出する際にロス値L_pastとロス値L_currentとの少なくとも一方に重み付け処理が施される場合には、軽量画像分析モデルを用いた画像分析処理の分析精度のばらつきが小さくなる。なぜならば、上述したように、重み付け処理によって軽量画像分析モデルの時間的汎用性が増加するからである。特に、画像分析処理の分析精度のばらつきが小さくなるという効果は、重み付け係数αが0.5未満の値に設定される場合により顕著になる。例えば、
図8は、0.5未満の値に設定された重み付け係数αを用いて画像分析装置2が更新した軽量画像分析モデル(重み付けあり)を用いた画像分析処理の分析精度を太い実線で示し、重み付け係数αを用いることなく画像分析装置2が更新した軽量画像分析モデル(重み付けない)を用いた画像分析処理の分析精度を細い実線で示している。
図8に示すように、重み付け係数αが0.5未満の値に設定される場合に画像分析処理の分析精度のばらつきが小さくなることが分かる。
【0076】
<4>変形例
上述した説明では、画像分析装置2は、相対的に大きなロス値Lを含む更新用データ2211を、軽量画像分析モデルを更新するために用いるべき更新用データ2211として抽出するために、ロス値Lの大きさに関する抽出条件を満たす更新用データ2211を抽出している。一方で、画像分析装置2は、ロス値Lに関するその他の抽出条件を満たす更新用データ2211を抽出してもよい。
【0077】
例えば、軽量画像分析モデルが更新される都度、軽量画像分析モデルを更新するために用いられた分析済みフレームに対応するロス値L_pastが変わる可能性が高いことは上述したとおりである。特に、上述したように、軽量画像分析モデルが更新される都度、軽量画像分析モデルを更新するために用いられた分析済みフレームに対応するロス値L_pastが小さくなる可能性が高いことは上述したとおりである。一方で、仮に軽量画像分析モデルが更新された場合に軽量画像分析モデルを更新するために用いられた分析済みフレームに対応するロス値L_pastが大きくなった場合には、当該分析済みフレームを用いた学習効果が薄れてしまったと想定される。つまり、更新後の軽量画像分析モデルは、軽量画像分析モデルを更新するために用いられた分析済みフレームを用いた学習結果を忘れてしまったと想定される。この場合、軽量画像分析モデルを更新したことでロス値L_pastが増加した場合に軽量画像分析モデルを更新するために用いられた分析済みフレームは、軽量画像分析モデルが再度学習することが好ましい画像フレームであると言える。この場合、再度学習することが好ましい画像フレームを用いて軽量画像分析モデルを更新すれば、再度学習しなくてもよい画像フレームを用いて軽量画像分析モデルを更新する場合と比較して、軽量画像分析モデルを用いた画像分析処理の結果が相対的に大きく改善することが期待される。このため、モデル更新部213は、軽量画像分析モデルの更新に伴ってロス値L_pastが増加しなかった更新用データ2211よりも、軽量画像分析モデルの更新に伴ってロス値L_pastが増加した更新用データ2211を優先的に抽出してもよい。
【0078】
軽量画像分析モデルの更新に伴ってロス値L_pastが増加した更新用データ2211を優先的に抽出するために、抽出条件は、軽量画像分析モデルの更新によるロス値L_pastの変化量に関する条件を含んでいてもよい。つまり、抽出条件は、軽量画像分析モデルを更新する前のロス値L_pastと軽量画像分析モデルを更新した後のロス値L_pastとの大小関係に関する条件を含んでいてもよい。特に、抽出条件は、軽量画像分析モデルを更新する前のロス値L_pastに対する軽量画像分析モデルを更新した後のロス値L_pastの増加に関する条件を含んでいてもよい。例えば、抽出条件は、一の分析済みフレームを用いた軽量画像分析モデルの更新によってロス値L_pastが大きくなった回数の、一の分析済みフレームを用いて軽量画像分析モデルが更新された回数(つまり、
図4のステップS112が行われた回数)に対する比率が大きくなるほど、更新用データ2211が抽出される確率が高くなるという条件を含んでいてもよい。
【0079】
同様の理由から、
図4のステップS115においてキャッシュデータ221から更新用データ2211が破棄される場合においても、キャッシュ管理部214は、軽量画像分析モデルの更新に伴ってロス値L_pastが増加した更新用データ2211よりも、軽量画像分析モデルの更新に伴ってロス値L_pastが増加しなかった更新用データ2211を優先的に破棄してもよい。軽量画像分析モデルの更新に伴ってロス値L_pastが増加しなかった更新用データ2211を破棄するために、破棄条件は、軽量画像分析モデルの更新によるロス値L_pastの変化量に関する条件を含んでいてもよい。つまり、破棄条件は、軽量画像分析モデルを更新する前のロス値L_pastと軽量画像分析モデルを更新した後のロス値L_pastとの大小関係に関する条件を含んでいてもよい。特に、破棄条件は、軽量画像分析モデルを更新する前のロス値L_pastに対する軽量画像分析モデルを更新した後のロス値L_pastの増加に関する条件を含んでいてもよい。例えば、破棄条件は、一の分析済みフレームを用いた軽量画像分析モデルの更新によってロス値L_pastが大きくなった回数の、一の分析済みフレームを用いて軽量画像分析モデルが更新された回数(つまり、
図4のステップS112が行われた回数)に対する比率が小さくなるほど、更新用データ2211が破棄される確率が高くなるという条件を含んでいてもよい。
【0080】
尚、抽出条件及び破棄条件の少なくとも一方が、軽量画像分析モデルの更新によるロス値L_pastの変化量に関する条件を含む場合には、
図9に示すように、上述したキャッシュデータ221に代えて、軽量画像分析モデルの更新によるロス値L_pastの変化量を示すパラメータ(
図9では、“変化パラメータ”と称されている)を含むキャッシュデータ221aが記憶装置22によって記憶されてもよい。つまり、記憶装置22は、上述した更新用データ2211と比較して、変化パラメータを更に含むという点で異なる更新用データ2211aを複数格納したキャッシュデータ221aが記憶装置22によって記憶されてもよい。例えば、更新用データ2211aは、一の分析済みフレームを用いた軽量画像分析モデルの更新によってロス値L_pastが大きくなった回数の、一の分析済みフレームを用いて軽量画像分析モデルが更新された回数に対する比率を、ロス値L_pastの変化量を示すパラメータとして含んでいてもよい。
【0081】
この場合であっても、画像分析装置2は、ロス値Lに基づく抽出条件を満たす少なくとも一つの更新用データ2211(或いは、更新用データ2211a、以下この段落において同じ)を、軽量画像分析モデルを更新するために用いる更新用データ2211として抽出することができる。このため、キャッシュデータ2211からランダムに(つまり、ロス値Lを考慮することなく)抽出される更新用データ2211を用いて軽量画像分析モデルが更新される場合と比較して、軽量画像分析モデルを用いた画像分析処理の分析精度が向上する。つまり、変形例においても、上述した画像分析システムSYSが享受可能な効果と同様の効果が享受可能となる。
【0082】
<5>付記
以上説明した実施形態に関して、更に以下の付記を開示する。
[付記1]
動画データを構成する複数の画像フレームを順次取得する取得手段と、
第1画像分析モデルを用いて前記複数の画像フレームを分析可能な第1分析手段と、
前記第1画像分析モデルよりも処理速度が速く、前記第1画像分析モデルよりも分析精度が低く且つ前記第1画像分析モデルを用いて行われる分析の結果を用いて更新可能な第2画像分析モデルを用いて前記複数の画像フレームを分析可能な第2分析手段と、
前記複数の画像フレームのうち前記第1及び第2画像分析モデルを用いて既に分析された画像フレームである分析済みフレームを、前記分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する評価値と関連付けて複数格納する格納手段と、
前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の抽出条件を満たす少なくとも一つの分析済みフレームを抽出する抽出手段と、
前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果と、前記複数の画像フレームのうち前記取得手段が新たに取得した画像フレームである新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果とを用いて、前記第2画像分析モデルを更新する更新手段と
を備える画像分析装置。
[付記2]
前記抽出条件は、前記評価値の大きさに基づく条件を含む
付記1に記載の画像分析装置。
[付記3]
前記評価値は、前記第2画像分析モデルを用いて行われた分析の結果が良好になるほど小さくなり、
前記抽出条件は、関連付けられている前記評価値が大きくなるほど前記分析済みフレームが抽出される確率が高くなるという条件、関連付けられている前記評価値が最大となる又は第1閾値より大きい前記分析済みフレームが抽出されるという条件、並びに、関連付けられている前記評価値が大きい順に所定枚数の前記分析済みフレームが抽出されるという条件の少なくとも一つを含む
付記2に記載の画像分析装置。
[付記4]
前記格納手段は、前記更新手段が前記画像分析モデルを更新する都度、前記画像分析モデルを更新するために用いられた前記分析済みフレームに関連付けられている前記評価値を、前記画像分析モデルが更新される前の前記評価値である更新前評価値から、前記画像分析モデルが更新された後の前記評価値である更新後評価値へと変更し、
前記抽出条件は、前記更新前評価値と前記更新後評価値との大小関係に基づく条件を含む
付記1から3のいずれか一項に記載の画像分析装置。
[付記5]
前記評価値は、前記第2画像分析モデルを用いて行われた分析の結果が良好になるほど小さくなり、
前記抽出条件は、前記複数の分析済みフレームのうちの一の分析済みフレームを用いた前記第2画像分析モデルの更新によって前記一の分析済みフレームに関連付けられた前記更新後評価値が前記一の分析済みフレームに関連付けられた前記更新前評価値よりも大きくなった回数の、前記一の分析済みフレームを用いて前記画像分析モデルを更新した回数に対する比率が大きくなるほど、前記一の分析済みフレームが抽出される確率が高くなるという条件を含む
付記4に記載の画像分析装置。
[付記6]
前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の破棄条件を満たす少なくとも一つの分析済みフレームを破棄する破棄手段を更に備える
付記1から5のいずれか一項に記載の画像分析装置。
[付記7]
前記破棄条件は、前記評価値の大きさに基づく条件を含む
付記6に記載の画像分析装置。
[付記8]
前記評価値は、前記第2画像分析モデルを用いて行われた分析の結果が良好になるほど小さくなり、
前記破棄条件は、関連付けられている前記評価値が小さくなるほど前記分析済みフレームが破棄される確率が高くなるという条件、関連付けられている前記評価値が最小となる又は第2閾値より小さい前記分析済みフレームが破棄されるという条件、並びに、関連付けられている前記評価値が小さい順に所定枚数の前記分析済みフレームが破棄されるという条件の少なくとも一つを含む
付記7に記載の画像分析装置。
[付記9]
前記格納手段は、前記更新手段が前記画像分析モデルを更新する都度、前記画像分析モデルを更新するために用いられた前記分析済みフレームに関連付けられている前記評価値を、前記更新手段が前記画像分析モデルを更新する前の前記評価値である更新前評価値から、前記更新手段が前記画像分析モデルを更新した後の前記評価値である更新後評価値へと変更し、
前記破棄条件は、前記更新前評価値と前記更新後評価値との大小関係に基づく条件を含む
付記6から8のいずれか一項に記載の画像分析装置。
[付記10]
前記評価値は、前記第2画像分析モデルを用いて行われた分析の結果が良好になるほど小さくなり、
前記破棄条件は、前記複数の分析済みフレームのうちの一の分析済みフレームを用いた前記第2画像分析モデルの更新によって前記一の分析済みフレームに関連付けられた前記更新後評価値が前記一の分析済みフレームに関連付けられた前記更新前評価値よりも大きくなった回数の、前記一の分析済みフレームを用いて前記第2画像分析モデルを更新した回数に対する比率が小さくなるほど、前記一の分析済みフレームが破棄される確率が高くなるという条件を含む
付記9に記載の画像分析装置。
[付記11]
前記更新手段は、前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果を用いて、前記抽出された分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する前記評価値である第1評価値を算出し、前記新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果を用いて、前記新規フレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する前記評価値である第2評価値を算出し、前記第1及び第2評価値に重み付け処理を実行し、重み付け処理が実行された前記第1及び第2評価値を用いて前記画像分析モデルを更新する
付記1から10のいずれか一項に記載の画像分析装置。
[付記12]
前記更新手段は、前記第1評価値の重みが前記第2評価値の重みよりも大きくなるように、前記重み付け処理を実行する
付記11に記載の画像分析装置。
[付記13]
コンピュータによって、
動画データを構成する複数の画像フレームを順次取得し、
第1画像分析モデルを用いて前記複数の画像フレームを分析し、
前記第1画像分析モデルよりも処理速度が速く、前記第1画像分析モデルよりも分析精度が低く且つ前記第1画像分析モデルを用いた分析結果を用いて更新可能な第2画像分析モデルを用いて前記複数の画像フレームを分析し、
格納手段に、前記複数の画像フレームのうち前記第1及び第2画像分析モデルを用いて既に分析された画像フレームである分析済みフレームを、前記分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する評価値と関連付けて複数格納し、
前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の抽出条件を満たす少なくとも一つの分析済みフレームを抽出し、
前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果と、前記複数の画像フレームのうち新たに取得された画像フレームである新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果とを用いて、前記第2画像分析モデルを更新する
画像分析方法。
[付記14]
コンピュータに、画像分析方法を実行させるプログラムであって、
前記画像分析方法は、
動画データを構成する複数の画像フレームを順次取得し、
第1画像分析モデルを用いて前記複数の画像フレームを分析し、
前記第1画像分析モデルよりも処理速度が速く、前記第1画像分析モデルよりも分析精度が低く且つ前記第1画像分析モデルを用いた分析結果を用いて更新可能な第2画像分析モデルを用いて前記複数の画像フレームを分析し、
格納手段に、前記複数の画像フレームのうち前記第1及び第2画像分析モデルを用いて既に分析された画像フレームである分析済みフレームを、前記分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する評価値と関連付けて複数格納し、
前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の抽出条件を満たす少なくとも一つの分析済みフレームを抽出し、
前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果と、前記複数の画像フレームのうち新たに取得された画像フレームである新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果とを用いて、前記第2画像分析モデルを更新する
コンピュータプログラム。
[付記15]
コンピュータに画像分析方法を実行させるプログラムが記録された、コンピュータ読み取り可能な一時的でない記録媒体であって、
前記画像分析方法は、
動画データを構成する複数の画像フレームを順次取得し、
第1画像分析モデルを用いて前記複数の画像フレームを分析し、
前記第1画像分析モデルよりも処理速度が速く、前記第1画像分析モデルよりも分析精度が低く且つ前記第1画像分析モデルを用いた分析結果を用いて更新可能な第2画像分析モデルを用いて前記複数の画像フレームを分析し、
格納手段に、前記複数の画像フレームのうち前記第1及び第2画像分析モデルを用いて既に分析された画像フレームである分析済みフレームを、前記分析済みフレームに対して前記第2画像分析モデルを用いて行われた分析の結果を評価する評価値と関連付けて複数格納し、
前記格納手段に格納された前記複数の分析済みフレームから、前記評価値に基づく所定の抽出条件を満たす少なくとも一つの分析済みフレームを抽出し、
前記抽出された分析済みフレームに対して前記第1画像分析モデルを用いて行われた分析の結果と、前記複数の画像フレームのうち新たに取得された画像フレームである新規フレームに対して前記第1画像分析モデルを用いて行われた分析の結果とを用いて、前記第2画像分析モデルを更新する
記録媒体。
【0083】
本発明は、請求の範囲及び明細書全体から読み取るこのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴う画像分析装置、画像分析方法、コンピュータプログラム及び記録媒体もまた本発明の技術思想に含まれる。
【符号の説明】
【0084】
1 カメラ
2 画像分析装置
21 演算装置
211 高精度画像分析部
212 軽量画像分析部
213 モデル更新部
214 キャッシュ管理部
22 記憶装置
221 キャッシュデータ
2211 更新用データ