(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】画像処理装置、画像処理方法及び画像処理プログラム
(51)【国際特許分類】
H04N 19/85 20140101AFI20240611BHJP
H04N 19/124 20140101ALI20240611BHJP
【FI】
H04N19/85
H04N19/124
(21)【出願番号】P 2022574950
(86)(22)【出願日】2021-01-14
(86)【国際出願番号】 JP2021001047
(87)【国際公開番号】W WO2022153437
(87)【国際公開日】2022-07-21
【審査請求日】2023-07-14
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】久保田 智規
(72)【発明者】
【氏名】中尾 鷹詔
(72)【発明者】
【氏名】村田 康之
【審査官】山内 裕史
(56)【参考文献】
【文献】国際公開第2020/116451(WO,A1)
【文献】Ramprasaath R. Selvaraju, et al.,Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization,2017 IEEE International Conference on Computer Vision,2017年12月25日,pp.618-626
【文献】Hyomin Choi and Ivan V. Bajic,HIGH EFFICIENCY COMPRESSION FOR OBJECT DETECTION,arXiv,arXiv:1710.11151v2,2018年02月16日,pp.1-5
【文献】Leonardo Galteri, et al.,Video Compression for Object Detection Algorithms,2018 24th International Conference on Pattern Recognition (ICPR),2018年11月29日,pp.3007-3012
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
画像データが順伝播されることで隠れ層より出力される第1の特徴マップを取得する第1の取得部と、
前記画像データが異なる量子化値を用いて順次符号化された後、復号されることで得られる複数の復号データが、それぞれ順伝播されることで隠れ層より出力される複数の第2の特徴マップを取得する第2の取得部と、
前記第1の特徴マップと前記複数の第2の特徴マップとの間のそれぞれの誤差を逆伝播させることで、前記画像データの各ブロックの認識結果への影響度を算出し、前記画像データを符号化する際の各ブロックの量子化値を決定する決定部と
を有する画像処理装置。
【請求項2】
前記画像データが順伝播されることで出力層より出力される出力結果と、前記画像データが所定の量子化値を用いて符号化され、復号されることで得られる復号データが、順伝播されることで出力層より出力される出力結果との誤差を、前記隠れ層の手前まで逆伝播させることで出力される第3の特徴マップを取得する第3の取得部を更に有し、
前記決定部は、
前記第1の特徴マップと前記複数の第2の特徴マップとの間のそれぞれの誤差を逆伝播させる際、前記第3の特徴マップに応じた領域の誤差をゼロにして逆伝播させる、請求項1に記載の画像処理装置。
【請求項3】
前記第1の特徴マップと前記複数の第2の特徴マップとの間のそれぞれの誤差を、対応するチャネル同士の誤差を重み付け加算することで算出する、請求項1に記載の画像処理装置。
【請求項4】
画像データが順伝播されることで隠れ層より出力される第1の特徴マップを取得する第1の取得部と、
前記画像データが異なる量子化値を用いて順次符号化された後、復号されることで得られる複数の復号データが、それぞれ順伝播されることで隠れ層より出力される複数の第2の特徴マップを取得する第2の取得部と、
前記第1の特徴マップ及び複数の第2の特徴マップの各領域の信号強度を、ブロックごとに集計することで、前記画像データの各ブロックの認識結果への影響度を算出し、前記画像データを符号化する際の各ブロックの量子化値を決定する決定部と
を有する画像処理装置。
【請求項5】
前記決定部は、
前記第1の特徴マップと所定の第2の特徴マップとの間の誤差を逆伝播させることで、前記第1の特徴マップ及び所定の第2の特徴マップの各領域と、前記画像データの各ブロックとの位置関係を特定する、請求項4に記載の画像処理装置。
【請求項6】
前記決定部は、
前記第1の特徴マップと所定の第2の特徴マップとの間の誤差を複数の領域に分割し、それぞれの領域の誤差を順次逆伝播させることで、前記第1の特徴マップ及び所定の第2の特徴マップの各領域と、前記画像データの各ブロックとの位置関係を特定する、請求項4に記載の画像処理装置。
【請求項7】
前記決定部により決定された量子化値を用いて、前記画像データを符号化する符号化部を更に有する、請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
前記第1の特徴マップ及び前記第2の特徴マップがそれぞれ取得される隠れ層の位置、または、前記画像データを順次符号化する際に用いる量子化値の変更間隔は、演算量、演算時間、認識精度、電力量、発熱量のいずれかを指標として動的に変更される、請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
画像データが順伝播されることで隠れ層より出力される第1の特徴マップを取得し、
前記画像データが異なる量子化値を用いて順次符号化された後、復号されることで得られる複数の復号データが、それぞれ順伝播されることで隠れ層より出力される複数の第2の特徴マップを取得し、
前記第1の特徴マップと前記複数の第2の特徴マップとの間のそれぞれの誤差を逆伝播させることで、前記画像データの各ブロックの認識結果への影響度を算出し、前記画像データを符号化する際の各ブロックの量子化値を決定する、
処理をコンピュータが実行する画像処理方法。
【請求項10】
画像データが順伝播されることで隠れ層より出力される第1の特徴マップを取得し、
前記画像データが異なる量子化値を用いて順次符号化された後、復号されることで得られる複数の復号データが、それぞれ順伝播されることで隠れ層より出力される複数の第2の特徴マップを取得し、
前記第1の特徴マップと前記複数の第2の特徴マップとの間のそれぞれの誤差を逆伝播させることで、前記画像データの各ブロックの認識結果への影響度を算出し、前記画像データを符号化する際の各ブロックの量子化値を決定する、
処理をコンピュータに実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【0002】
一般に、画像データを記録または伝送する際には、符号化処理によりデータサイズを小さくすることで、記録コストや伝送コストの削減を図る。
【0003】
一方で、AI(Artificial Intelligence)による認識処理に利用する目的で、画像データを記録または伝送する場合においては、認識対象をAIが認識できる限界まで圧縮率を上げて(つまり、限界圧縮率で)符号化処理を行うことが考えられる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2019-050896号公報
【文献】特開2020-003785号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、限界圧縮率を算出しようとすると、符号化処理時の演算量が増大することが想定される。
【0006】
一つの側面では、AIによる認識処理に適した符号化処理を行う際の、演算量を削減することを目的とする。
【課題を解決するための手段】
【0007】
一態様によれば、画像処理装置は、
画像データが順伝播されることで隠れ層より出力される第1の特徴マップを取得する第1の取得部と、
前記画像データが異なる量子化値を用いて順次符号化された後、復号されることで得られる複数の復号データが、それぞれ順伝播されることで隠れ層より出力される複数の第2の特徴マップを取得する第2の取得部と、
前記第1の特徴マップと前記複数の第2の特徴マップとの間のそれぞれの誤差を逆伝播させることで、前記画像データの各ブロックの認識結果への影響度を算出し、前記画像データを符号化する際の各ブロックの量子化値を決定する決定部とを有する。
【発明の効果】
【0008】
AIによる認識処理に適した符号化処理を行う際の、演算量を削減することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、画像処理システムのシステム構成の一例を示す図である。
【
図2】
図2は、画像処理装置及びサーバ装置のハードウェア構成の一例を示す図である。
【
図3】
図3は、画像処理装置の解析部の機能構成の一例を示す第1の図である。
【
図4】
図4は、CNN部及び重要特徴マップ生成部の処理の具体例を示す第1の図である。
【
図5】
図5は、集計部の処理の具体例を示す図である。
【
図6】
図6は、量子化値マップ生成部の処理の具体例を示す図である。
【
図7】
図7は、画像処理装置による画像処理の流れを示す第1のフローチャートである。
【
図8】
図8は、CNN部及び重要特徴マップ生成部の処理の具体例を示す第2の図である。
【
図9】
図9は、画像処理装置による画像処理の流れを示す第2のフローチャートである。
【
図10】
図10は、画像処理装置の解析部の機能構成の一例を示す第2の図である。
【
図11】
図11は、CNN部及び信号強度算出部の処理の具体例を示す図である。
【
図12】
図12は、画像処理装置による画像処理の流れを示す第3のフローチャートである。
【
図13】
図13は、動的に変更する設定値を説明するための図である。
【
図14】
図14は、設定値の動的変更処理の具体例を示す図である。
【発明を実施するための形態】
【0010】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0011】
[第1の実施形態]
<画像処理システムのシステム構成>
はじめに、第1の実施形態に係る画像処理装置を備える画像処理システムのシステム構成について説明する。
図1は、画像処理システムのシステム構成の一例を示す図である。
図1に示すように、画像処理システム100は、撮像装置110、画像処理装置120、サーバ装置130を有する。画像処理システム100において、画像処理装置120とサーバ装置130とは、ネットワーク(不図示)を介して通信可能に接続される。
【0012】
撮像装置110は、所定のフレーム周期で撮影を行い、動画像データを画像処理装置120に送信する。なお、動画像データには、少なくとも認識処理の対象となる物体(認識対象)が含まれるフレームの画像データと、認識処理の対象となる物体(認識対象)が含まれない(認識対象外の物体のみが含まれる)フレームの画像データとが含まれる。更には、動画像データにはいずれの物体も含まれないフレーム画像が含まれていてもよい。
【0013】
画像処理装置120には画像処理プログラムがインストールされており、当該画像処理プログラムが実行されることで、画像処理装置120は、解析部121及び符号化部122として機能する。
【0014】
解析部121は、認識処理を行う学習済みモデルを有する。解析部121は、動画像データの各フレームの画像データまたは復号データ(画像データに対して異なる量子化値(量子化ステップともいう)で符号化処理が行われた場合の符号化データを復号した復号データ)を、学習済みモデルに入力することで認識処理を行う。
【0015】
また、解析部121は、認識処理の際に、例えば、誤差逆伝播法を用いて学習済みモデルの動作解析を行うことで、認識結果への影響度を示すマップ(「重要特徴マップ」と称す)を生成し、所定領域ごとに影響度を集計する。なお、ここでいう所定領域とは、符号化処理が行われる際に用いられるブロックを指す。
【0016】
また、解析部121は、符号化部122に対して、所定数の異なる量子化値での符号化処理をブロックごとに指示し、それぞれの量子化値で符号化処理が行われた場合の符号化データを復号した復号データについて、同様の処理を繰り返す。なお、符号化部122に対して指示する、ブロックごとの量子化値の集合を、以下では、「量子化値マップ」と称す。
【0017】
つまり、解析部121では、量子化値マップを変更することで、学習済みモデルに入力する画像データの画質を変更しながら、変更後の各画像データについて、各ブロックの認識結果への影響度を集計する。
【0018】
また、解析部121は、量子化値マップを変更したことに伴う集計値の変化に基づいて、各ブロックの最適な量子化値を探索する。なお、最適な量子化値とは、所定数の異なる量子化値のうち、画像データに含まれる認識対象を正しく認識処理することができる、限界圧縮率に応じた量子化値を指す。ブロックごとに算出される限界圧縮率に応じた量子化値の集合を、以下では「決定量子化値マップ」と称す。
【0019】
符号化部122は、解析部121から指示された量子化値マップを用いて、動画像データの対応するフレームの画像データを符号化し、生成した符号化データを解析部121に戻す。
【0020】
また、符号化部122は、解析部121から指示された決定量子化値マップを用いて、動画像データの対応するフレームの画像データを符号化し、生成した符号化データをサーバ装置130に伝送する。
【0021】
サーバ装置130には、復号プログラムがインストールされており、当該復号プログラムが実行されることで、サーバ装置130は、復号部131として機能する。
【0022】
復号部131は、画像処理装置120から伝送された符号化データを復号し、復号データを生成する。復号部131は、生成した復号データを、復号データ格納部132に格納する。
【0023】
<画像処理装置及びサーバ装置のハードウェア構成>
次に、画像処理装置120及びサーバ装置130のハードウェア構成について説明する。
図2は、画像処理装置及びサーバ装置のハードウェア構成の一例を示す図である。
【0024】
このうち、
図2の2aは、画像処理装置のハードウェア構成の一例を示す図である。画像処理装置120は、プロセッサ201、メモリ202、補助記憶装置203、I/F(Interface)装置204、通信装置205、ドライブ装置206を有する。なお、画像処理装置120の各ハードウェアは、バス207を介して相互に接続されている。
【0025】
プロセッサ201は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等の各種演算デバイスを有する。プロセッサ201は、各種プログラム(例えば、画像処理プログラム等)をメモリ202上に読み出して実行する。
【0026】
メモリ202は、ROM(Read Only Memory)、RAM(Random Access Memory)等の主記憶デバイスを有する。プロセッサ201とメモリ202とは、いわゆるコンピュータを形成し、プロセッサ201が、メモリ202上に読み出した各種プログラムを実行することで、当該コンピュータは各種機能を実現する。
【0027】
補助記憶装置203は、各種プログラムや、各種プログラムがプロセッサ201によって実行される際に用いられる各種データを格納する。
【0028】
I/F装置204は、外部装置の一例である撮像装置110と、画像処理装置120とを接続する接続デバイスである。
【0029】
通信装置205は、他の装置の一例であるサーバ装置130と通信するための通信デバイスである。
【0030】
ドライブ装置206は記録媒体210をセットするためのデバイスである。ここでいう記録媒体210には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体210には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【0031】
なお、補助記憶装置203にインストールされる各種プログラムは、例えば、配布された記録媒体210がドライブ装置206にセットされ、該記録媒体210に記録された各種プログラムがドライブ装置206により読み出されることでインストールされる。あるいは、補助記憶装置203にインストールされる各種プログラムは、通信装置205を介してネットワークからダウンロードされることで、インストールされてもよい。
【0032】
一方、
図2の2bは、サーバ装置130のハードウェア構成の一例を示す図である。なお、サーバ装置130のハードウェア構成は、画像処理装置120のハードウェア構成と概ね同じであるため、ここでは、画像処理装置120との相違点を中心に説明する。
【0033】
プロセッサ221は、例えば、復号プログラム等をメモリ222上に読み出して実行する。
【0034】
I/F装置224は、サーバ装置130に対する操作を、操作装置231を介して受け付ける。また、I/F装置224は、サーバ装置130による処理の結果を出力し、表示装置232を介して表示する。また、通信装置225は、画像処理装置120と通信する。
【0035】
<画像処理装置の解析部の機能構成>
次に、画像処理装置120の解析部121の機能構成について説明する。
図3は、画像処理装置の解析部の機能構成の一例を示す第1の図である。
図3に示すように、解析部121は、入力部/復号部310、CNN部320、重要特徴マップ生成部330、集計部340、量子化値マップ生成部350、出力部360を有する。
【0036】
入力部/復号部310は、撮像装置110より送信された動画像データの各フレームの画像データを取得し、CNN部320に通知する。また、入力部/復号部310は、符号化部122より通知された符号化データを取得し、復号したうえで、復号データをCNN部320に通知する。
【0037】
CNN部320は、認識処理を行う学習済みモデルを有する。CNN部320は、画像データまたは復号データを入力することで、学習済みモデルを実行させる。
【0038】
重要特徴マップ生成部330は第1及び第2の取得部の一例であり、学習済みモデルの実行時に隠れ層のレイヤから出力される特徴マップを取得する。また、重要特徴マップ生成部330は、取得した特徴マップを用いて誤差逆伝播法による重要特徴マップを生成する。
【0039】
具体的には、重要特徴マップ生成部330は、画像データが入力されたことで取得した特徴マップと、復号データが入力されたことで取得した特徴マップとの誤差を算出する。また、重要特徴マップ生成部330は、算出した誤差を逆伝播させることで、学習済みモデルの入力層より、誤差逆伝播結果を取得する。更に、重要特徴マップ生成部330は、取得した誤差逆伝播結果に基づく重要特徴マップを生成し、集計部340に通知する。
【0040】
なお、誤差逆伝播法による重要特徴マップの生成方法の詳細は、例えば、
「Selvaraju, Ramprasaath R., et al. "Grad-cam: Visual explanations from deep networks via gradient-based localization." The IEEE International Conference on Computer Vision (ICCV), 2017, pp. 618-626」、
等の文献に開示されている。
【0041】
集計部340は、通知された重要特徴マップに基づいて、各領域の認識結果への影響度を、ブロック単位で集計し、ブロックごとの影響度の集計値を算出する。また、集計部340は、算出した各ブロックの集計値を、符号化処理に用いた量子化値と対応付けて集計結果格納部370に格納する。
【0042】
量子化値マップ生成部350は決定部の一例であり、ブロックごとに量子化値を順次変更しながら、量子化値マップを生成する。なお、量子化値の変更範囲は予め定められているものとする。また、量子化値の変更間隔(つまり、「解析粒度」)は、例えば、ユーザから指示され、予め設定値として設定されているものとする。
【0043】
また、量子化値マップ生成部350は、集計結果格納部370に格納された集計結果に基づいて、ブロックごとに、限界圧縮率に応じた量子化値を探索し、決定量子化値マップを生成する。
【0044】
出力部360は、量子化値マップ生成部350により生成された量子化値マップまたは決定量子化値マップを、符号化部122に通知する。また、出力部360は、動画像データの対応するフレームの画像データを、符号化部122に通知する。
【0045】
<CNN部及び重要特徴マップ生成部の処理の具体例>
次に、解析部121を構成する各部のうち、CNN部320及び重要特徴マップ生成部330の処理の具体例について説明する。
図4は、CNN部及び重要特徴マップ生成部の処理の具体例を示す第1の図である。
【0046】
図4に示すように、CNN部320は、学習済みモデルとして、入力層、隠れ層、出力層を有し、入力層のレイヤ401に画像データが入力されると、画像データは各レイヤにて順伝播方向に処理される。これにより、隠れ層のレイヤ402からは、特徴マップ410(第1の特徴マップの一例)が出力される(実線太矢印参照)。
【0047】
同様に、入力層のレイヤ401に復号データ1が入力されると、復号データ1は各レイヤにて順伝播方向に処理され、隠れ層のレイヤ402より、特徴マップ411(第2の特徴マップの一例)が出力される(実線太矢印参照)。なお、復号データ1とは、画像データの各ブロックが、例えば、量子化値Q1からなる量子化値マップで符号化処理された後、符号化データが、入力部/復号部310により復号されたデータを指す。
【0048】
同様に、入力層のレイヤ401に復号データ2が入力されると、復号データ2は、各レイヤにて順伝播方向に処理され、隠れ層のレイヤ402より、特徴マップ412(第2の特徴マップの他の一例)が出力される(実線太矢印参照)。なお、復号データ2とは、画像データの各ブロックが、例えば、量子化値Q2からなる量子化値マップで符号化処理された後、符号化データが、入力部/復号部310により復号されたデータを指す。
【0049】
以降、
図4においては記載を省略しているが、復号データ3、復号データ4、・・・等についても同様に処理され、特徴マップが出力される。なお、特徴マップが出力されるレイヤは、例えば、ユーザから「処理範囲」として指示され、予め設定値として設定されているものとする。
【0050】
また、
図4に示すように、重要特徴マップ生成部330は、
・画像データが順伝播方向に処理されることで出力された特徴マップ410と、
・各復号データ(復号データ1、2、・・・)が順伝播方向に処理されることで出力された各特徴マップ(特徴マップ411、412、・・・)と、
の間の各誤差(誤差1、2、・・・)を算出する。
【0051】
また、重要特徴マップ生成部330は、算出した各誤差(誤差1、2、・・・)を、隠れ層のレイヤ402から逆方向に伝播させる。これにより、CNN部320の入力層のレイヤ401からは、誤差逆伝播結果として、各重要特徴マップ(重要特徴マップ421、422、・・・)が出力される(点線太矢印参照)。重要特徴マップ生成部330は、CNN部320より出力された各重要特徴マップ(重要特徴マップ421、422)を、集計部340に通知する。
【0052】
このように、CNN部320は、順伝播方向の処理を、出力層のレイヤまで実行せず、途中のレイヤ(隠れ層のレイヤ402)まで実行し、当該レイヤから出力される特徴マップについて算出した誤差を、当該レイヤから逆伝播する。これにより、第1の実施形態に係る画像処理装置120によれば、
・隠れ層のレイヤ402の次のレイヤ以降の順伝播方向の処理と、
・隠れ層のレイヤ402の手前のレイヤ(順伝播方向に見た場合には次のレイヤ)までの誤差逆伝播と、
を省略することが可能となり、AIによる認識処理に適した符号化処理を行う際の、演算量を削減することができる。
【0053】
このように、途中のレイヤまでの順伝播方向の処理と、途中のレイヤからの誤差逆伝播とにより、重要特徴マップを生成することができるのは、途中のレイヤにおける特徴マップが同じであるならば、出力層のレイヤからの出力も同じになる、という特性に基づく。
【0054】
なお、上記説明では、途中のレイヤの決定方法(つまり、「処理範囲」の決定方法)について言及しなかったが、処理範囲は、例えば、動画像データのシーンの傾向に応じて決められてもよい。具体的には、まず、シーンごとに、様々な処理範囲を設定し、それぞれの処理範囲のもとで生成された重要特徴マップを用いて限界圧縮率を求める。そして、限界圧縮率に応じた量子化値で符号化した後に復号し、復号データの認識精度が許容限界精度となる処理範囲を、当該シーンにおける最適な処理範囲として決めてもよい。
【0055】
あるいは、画像処理装置120の処理性能の観点から、動画像データをリアルタイムに処理可能な処理範囲を探索し、リアルタイムに処理可能な最大の処理範囲を、最適な処理範囲として決めてもよい。
【0056】
また、上記説明では、誤差の算出方法の詳細について言及しなかったが、重要特徴マップ生成部330では、レイヤ402から出力される、複数のチャネルの特徴マップに対して、対応するチャネル同士で誤差を算出する。このとき、全てのチャネルについて誤差を算出してもよいし、一部のチャネルについて誤差を算出してもよい。また、対応するチャネル同士で算出した誤差は、単純に加算してもよいし、重み付け加算してもよい。なお、いずれの算出方法を用いるかは、ユーザから「誤差の算出方法」として指示され、予め設定値として設定されているものとする。
【0057】
<集計部の処理の具体例>
次に、解析部121を構成する各部のうち、集計部340の処理の具体例について説明する。
図5は、集計部の処理の具体例を示す図である。このうち、5aは、画像データ510について符号化処理が行われる際に用いられるブロックの配置例を示している。5aに示すように、本実施形態では説明の簡略化のため、画像データ510内のブロックは全て同じ大きさであるとする。また、5aの例は、画像データ510の左上のブロックのブロック番号を"ブロック1"とし、右下のブロックのブロック番号を"ブロックm"としている。
【0058】
また、5bに示すように、集計部340により算出される集計結果520には、情報の項目として、"ブロック番号"、"量子化値"が含まれる。
【0059】
"ブロック番号"には、画像データ510内の各ブロックのブロック番号が格納される。"量子化値"には、符号化部122が符号化処理を行う際に設定可能な所定数の量子化値が格納される。
【0060】
なお、5bの例では、説明の簡略化のため、4種類の量子化値("Q1"から"Q4")のみを記載しているが、符号化部122による符号化処理では、4種類以上の量子化値が設定可能であるとする。
【0061】
また、集計結果520において、"ブロック番号"と"量子化値"とに対応付けられた欄には、
・対応する量子化値を用いて画像データ510に対して符号化処理を行い、
・復号データについて認識処理が行われた際に算出された重要特徴マップに基づいて、対応するブロックにおいて集計された、
"集計値"が格納される。
【0062】
<量子化値マップ生成部による処理の具体例>
次に、解析部121を構成する各部のうち、量子化値マップ生成部350による処理の具体例について説明する。
図6は、量子化値マップ生成部による処理の具体例を示す図である。
図6において、グラフ610_1~610_mは、横軸に量子化値、縦軸に集計値をとり、集計結果520に含まれる各ブロックの集計値をプロットすることで生成されるグラフである。
【0063】
グラフ610_1~610_mに示すように、量子化値を用いて符号化処理を行った場合の集計値の変化は、ブロックごとに異なる。量子化値マップ生成部350では、例えば、
・集計値の大きさが所定の閾値を超えた場合、あるいは、
・集計値の変化量が所定の閾値を超えた場合、あるいは、
・集計値の傾きが所定の閾値を超えた場合、あるいは、
・集計値の傾きの変化が所定の閾値を超えた場合、
のいずれかの条件を満たす場合の量子化値を、各ブロックの限界圧縮率に応じた量子化値と判定する。
【0064】
図6の例は、量子化値マップ生成部350が、グラフ610_1に基づいて、限界圧縮率に応じた量子化値を"Q
3"と判定したことを示している。また、
図6の例は、量子化値マップ生成部350が、グラフ610_2に基づいて、限界圧縮率に応じた量子化値を"Q
1"と判定したことを示している。また、
図6の例は、量子化値マップ生成部350が、グラフ610_3に基づいて、限界圧縮率に応じた量子化値を"Q
2"と判定したことを示している。更に、
図6の例は、量子化値マップ生成部350が、グラフ610_mに基づいて、限界圧縮率に応じた量子化値を"Q
3"と判定したことを示している。
【0065】
図6の例は、画像データ510内のブロック1~ブロックmに、限界圧縮率に応じた量子化値が設定され、決定量子化値マップが生成された様子を示している。
【0066】
<画像処理の流れ>
次に、画像処理装置120による画像処理の流れについて説明する。
図7は、画像処理装置による画像処理の流れを示す第1のフローチャートである。
【0067】
ステップS701において、解析部121は、量子化値の解析粒度を設定する。
【0068】
ステップS702において、解析部121は、処理範囲及び誤差の算出方法を設定する。
【0069】
ステップS703において、解析部121は、撮像装置110により撮影された動画像データの取得開始が可能であると判断する。また、既に、動画像データの取得を開始している場合にあっては、解析部121は、動画像データの取得継続が可能であると判断する。これにより、解析部121は、次のフレームの画像データを取得する前に、量子化値を初期化して、デフォルトの量子化値マップを生成する。
【0070】
ステップS704において、解析部121は、画像データまたは符号化データを取得する。また、解析部121は、符号化データを取得した場合にあっては、符号化データを復号し、復号データを生成する。
【0071】
ステップS705において、解析部121は、画像データまたは復号データを、設定された処理範囲まで、順伝播方向に処理し、特徴マップを出力する。
【0072】
ステップS706において、解析部121は、画像データが順伝播方向に処理されることで出力された特徴マップと、復号データが順伝播方向に処理されることで出力された特徴マップとの間の誤差を算出する。
【0073】
ステップS707において、解析部121は、誤差逆伝播により重要特徴マップを生成する。
【0074】
ステップS708において、解析部121は、生成した重要特徴マップをブロック単位で集計し、集計結果格納部370に格納する。
【0075】
ステップS709において、解析部121は、符号化部122に設定可能な所定数全ての量子化値について解析を行ったか否かを判定する。ステップS709において、解析を行っていない量子化値があると判定した場合には(ステップS709においてNOの場合には)、ステップS710に進む。
【0076】
ステップS710において、解析部121は、量子化値を上げて、量子化値マップを変更する。また、符号化部122は、変更された量子化値マップを用いて、画像データに対して符号化処理を行い、符号化データを生成する。その後、ステップS704に戻る。
【0077】
一方、ステップS709において、全ての量子化値について解析を行ったと判定した場合には(ステップS709においてYESの場合には)、ステップS711に進む。
【0078】
ステップS711において、解析部121は、ブロック単位で最適な量子化値を探索し、決定量子化値マップを生成する。
【0079】
ステップS712において、符号化部122は、生成された決定量子化値マップを用いて、画像データを符号化し、符号化データを生成する。
【0080】
ステップS713において、符号化部122は、生成した符号化データをサーバ装置130に伝送する。
【0081】
ステップS714において、解析部121は、画像処理を終了するか否かを判定する。ステップS714において、画像処理を終了しないと判定した場合には(ステップS714においてNOの場合には)、ステップS703に戻り、動画像データにおける次のフレームの画像データを取得する前に、量子化値を初期化し、量子化値マップを生成する。
【0082】
一方、ステップS704において、画像処理を終了すると判定した場合には(ステップS714においてYESの場合には)、画像処理を終了する。
【0083】
以上の説明から明らかなように、第1の実施形態に係る画像処理装置120は、画像データがCNN部にて順伝播されることでCNN部の隠れ層より出力される第1の特徴マップを取得する。また、第1の実施形態に係る画像処理装置120は、画像データが異なる量子化値を用いて順次符号化された後、復号されることで得られる複数の復号データが、それぞれCNN部にて順伝播されることで隠れ層より出力される複数の第2の特徴マップを取得する。また、第1の実施形態に係る画像処理装置120は、第1の特徴マップと第2の特徴マップとの間の各誤差を逆伝播することで、画像データの各ブロックの認識結果への影響度を算出し、画像データを符号化する際の各ブロックの量子化値を決定する。
【0084】
このように、第1の実施形態では、AIによる認識処理に適した符号化処理を行う際、順伝播方向の処理を出力層まで実行せず、隠れ層のレイヤまで実行し、当該レイヤから出力される特徴マップについて算出した誤差を、当該レイヤから逆伝播させる。
【0085】
これにより、第1の実施形態によれば、AIによる認識処理に適した符号化処理を行う際の、演算量を削減することができる。
【0086】
[第2の実施形態]
上記第1の実施形態では、隠れ層から出力される特徴マップの誤差を逆伝播させることで、画像データの各ブロックの認識結果への影響度を算出した。しかしながら、隠れ層における特徴マップには、当該隠れ層以降の順伝播方向の処理により取り除かれるべき情報が含まれている。
【0087】
そこで、第2の実施形態では、隠れ層から出力される特徴マップの誤差を逆伝播させる際、当該取り除かれるべき情報を取り除いたうえで逆伝播させる。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
【0088】
<CNN部及び重要特徴マップ生成部の処理の具体例>
はじめに、第2の実施形態に係る画像処理装置120の解析部121を構成する各部のうち、CNN部及び重要特徴マップ生成部の処理の具体例について説明する。
図8は、CNN部及び重要特徴マップ生成部の処理の具体例を示す第2の図である。
【0089】
図8に示すように、CNN部320は、学習済みモデルとして、入力層、隠れ層、出力層を有し、入力層のレイヤ401に画像データが入力されると、画像データは各レイヤにて順伝播方向に処理され、隠れ層のレイヤ402より、特徴マップ800が出力される。また、画像データは、隠れ層のレイヤ402以降も順伝播方向に処理され、出力層のレイヤ403より、出力結果801が出力される。
【0090】
同様に、入力層のレイヤ401に復号データ1が入力されると、復号データ1は各レイヤにて順伝播方向に処理され、隠れ層のレイヤ402より、特徴マップ810が出力される。また、復号データ1は、隠れ層のレイヤ402以降も順伝播方向に処理され、出力層のレイヤ403より、出力結果811が出力される。
【0091】
更に、入力層のレイヤ401に復号データ2が入力されると、復号データ2は各レイヤにて順伝播方向に処理され、隠れ層のレイヤ402より、特徴マップ820が出力される。
【0092】
以降、
図8においては記載を省略しているが、復号データ3、復号データ4、・・・等についても、復号データ2と同様の処理が行われ、隠れ層のレイヤ402より特徴マップがそれぞれ出力される。
【0093】
なお、本実施形態において、特徴マップが出力されるレイヤは、例えば、ユーザから「処理範囲」として指示され、予め設定値として設定されているものとする。また、出力層のレイヤ403まで順伝播方向の処理を行う対象(
図8の例では、画像データと復号データ1)は、例えば、ユーザから「出力層まで処理する対象」として指示され、予め設定値として設定されているものとする。
【0094】
また、重要特徴マップ生成部830は第1~第3の取得部の一例であり、
図8に示すように、
・画像データが順伝播方向に処理されることで、出力層のレイヤ403より出力された出力結果801と、
・復号データ1が順伝播方向に処理されることで、出力層のレイヤ403より出力された出力結果811と、
の間の誤差(誤差0)を算出する。
【0095】
また、重要特徴マップ生成部830は、算出した誤差(誤差0)を、隠れ層のレイヤ402の手前のレイヤ(順伝播方向に見た場合には次のレイヤ)まで、逆伝播させる。これにより、隠れ層のレイヤ402の手前のレイヤからは、誤差逆伝播結果として、特徴マップ802(第3の特徴マップの一例)が出力され、重要特徴マップ生成部830では、CNN部320より出力される特徴マップ802を取得する。
【0096】
また、
図8に示すように、重要特徴マップ生成部830は、
・画像データが順伝播方向に処理されることで、隠れ層のレイヤ402より出力された特徴マップ800と、
・復号データ1が順伝播方向に処理されることで、隠れ層のレイヤ402より出力された特徴マップ810と、
の間の誤差(誤差1)を算出する。更に、重要特徴マップ生成部830は、算出した誤差(誤差1)を、取得した特徴マップ802を用いて加工し、加工後の誤差1を、隠れ層のレイヤ402から逆伝播させる。これにより、CNN部320の入力層のレイヤ401からは、誤差逆伝播結果として、重要特徴マップ840が出力され、重要特徴マップ生成部830では、CNN部320より出力された重要特徴マップ840を、集計部340に通知する。
【0097】
同様に、
図8に示すように、重要特徴マップ生成部830は、
・画像データが順伝播方向に処理されることで、隠れ層のレイヤ402より出力された特徴マップ800と、
・復号データ2が順伝播方向に処理されることで、隠れ層のレイヤ402より出力された特徴マップ820と、
の間の誤差(誤差2)を算出する。また、重要特徴マップ生成部830は、算出した誤差(誤差2)を、取得した特徴マップ802を用いて加工し、加工後の誤差2を、隠れ層のレイヤ402から逆伝播させる。これにより、CNN部320の入力層のレイヤ401からは、誤差逆伝播結果として、重要特徴マップ850が出力され、重要特徴マップ生成部830では、CNN部320より出力された重要特徴マップ850を、集計部340に通知する。
【0098】
以降、
図8においては記載を省略しているが、復号データ3、復号データ4、・・・等についても同様に処理され、重要特徴マップがそれぞれ出力される。
【0099】
このように、隠れ層のレイヤ402より出力される特徴マップ800、810、820、・・・には、隠れ層のレイヤ402以降の順伝播方向の処理により、取り除かれるべき情報が含まれていることに鑑みて、第2の実施形態では、
・最低限、1つの画像データと1つの復号データ(例えば、復号データ1)については、出力層のレイヤ403まで順伝播方向の処理を行い、出力層のレイヤ403からそれぞれ出力される出力結果を取得し、
・取得した出力結果間の誤差を、隠れ層のレイヤ402の手前のレイヤまで逆伝播させる。
【0100】
これにより、第2の実施形態では、隠れ層のレイヤ402以降の順伝播方向の処理により取り除かれるべき情報を、特徴マップ802として顕在化させることができる。
【0101】
そして、隠れ層のレイヤ402以降に取り除かれるべき情報を、誤差1、2から取り除く加工を行い、加工後の誤差1、2を逆伝播させることで、入力層のレイヤ401からは、より精度の高い重要特徴マップを取得することができる。
【0102】
なお、"隠れ層のレイヤ402以降に取り除かれるべき情報を、誤差1、2から取り除く"とは、誤差1、2の各領域の誤差値のうち、隠れ層のレイヤ402以降に取り除かれるべき情報が位置する領域の誤差値をゼロにすることを指す。
【0103】
<画像処理の流れ>
次に、画像処理装置120による画像処理の流れについて説明する。
図9は、画像処理装置による画像処理の流れを示す第2のフローチャートである。
図7を用いて説明した第1のフローチャートとの相違点は、ステップS901、S902~S904である。
【0104】
ステップS901において、解析部121は、処理範囲及び出力層まで処理する対象(例えば、画像データ及び復号データ1)を設定する。また、解析部121は、誤差の算出方法を設定する。
【0105】
ステップS902において、解析部121は、処理中の画像データまたは復号データが、出力層まで処理する対象(例えば、画像データまたは復号データ1)であった場合には、出力層のレイヤまで順伝播方向の処理を行う。また、解析部121は、出力層のレイヤより出力された出力結果を用いて、誤差(例えば、誤差0)の算出が可能である場合には、誤差(例えば、誤差0)を算出し、算出した誤差(例えば、誤差0)を逆伝播させることで、取り除かれるべき情報を取得する。
【0106】
ステップS903において、解析部121は、ステップS706において算出された誤差(例えば、誤差1、2、・・・)を、取り除かれるべき情報を用いて加工する。
【0107】
ステップS904において、解析部121は、加工後の誤差(例えば、加工後の誤差1、2、・・・)を逆伝播させ、重要特徴マップを生成する。
【0108】
以上の説明から明らかなように、第2の実施形態に係る画像処理装置120は、指定された画像データ及び復号データについて、出力層のレイヤまで順伝播方向の処理を行い、出力層のレイヤから出力された出力結果を用いて誤差を算出する。また、第2の実施形態に係る画像処理装置120は、出力結果を用いて算出した誤差を、隠れ層の所定のレイヤの手前まで逆伝播させることで、隠れ層の所定のレイヤ以降に取り除かれるべき情報(第3の特徴マップ)を取得する。更に、第2の実施形態に係る画像処理装置120は、隠れ層の所定のレイヤから出力される特徴マップの誤差から、取り除かれるべき情報を取り除く加工を行い、加工後の誤差を逆伝播させることで、画像データの各ブロックの認識結果への影響度を算出する。
【0109】
これにより、第2の実施形態によれば、上記第1の実施形態と同様の効果を享受しつつ、更に、画像データの各ブロックの認識結果への影響度を、より高い精度で算出することができる。
【0110】
[第3の実施形態]
上記第1及び第2の実施形態では、画像データの各ブロックの認識結果への影響度を算出する際に、隠れ層のレイヤから出力される特徴マップを用いて誤差を算出し、算出した誤差(または加工した誤差)を逆伝播させて重要特徴マップを生成した。
【0111】
これに対して、第3の実施形態では、隠れ層のレイヤから出力される特徴マップの信号強度を用いて、画像データの各ブロックの認識結果への影響度を算出する。以下、第3の実施形態について、上記第1及び第2の実施形態との相違点を中心に説明する。
【0112】
<画像処理装置の解析部の機能構成>
はじめに、第3の実施形態に係る画像処理装置120の解析部の機能構成について説明する。
図10は、画像処理装置の解析部の機能構成の一例を示す第2の図である。
図10に示すように、解析部1000は、入力部/復号部310、CNN部1010、信号強度算出部1020、量子化値マップ生成部1030、出力部360を有する。
【0113】
このうち、入力部/復号部310、出力部360は、
図3の入力部/復号部310、出力部360と同様の機能を有するため、ここでは、説明を省略する。
【0114】
CNN部1010は、画像データまたは復号データを入力することで、学習済みモデルを実行させる。また、CNN部1010は、学習済みモデルの実行時に隠れ層のレイヤから、特徴マップを出力する。
【0115】
信号強度算出部1020は第1及び第2の取得部の他の一例であり、CNN部1010より出力される特徴マップを取得し、取得した特徴マップの信号強度を、ブロック単位で集計し、信号強度格納部1040に格納する。なお、信号強度算出部1020は、特徴マップの信号強度をブロック単位で集計するにあたり、指定された2つの特徴マップについて誤差を算出し、算出した誤差を逆伝播させることで、学習済みモデルの入力層より、誤差逆伝播結果を取得する。そして、信号強度算出部1020は、取得した"誤差逆伝播結果"と"特徴マップ間の誤差"との対応関係から、特徴マップの各領域と、画像データの各ブロックとの位置関係を特定するブロックマップを生成する。
【0116】
信号強度算出部1020では、生成したブロックマップを用いて、特徴マップの信号強度をブロック単位で集計する。
【0117】
量子化値マップ生成部1030は決定部の他の一例であり、ブロックごとに量子化値を順次変更しながら、量子化値マップを生成する。また、量子化値マップ生成部1030は、信号強度格納部1040に格納された信号強度の集計結果に基づいて、ブロックごとに、限界圧縮率に応じた量子化値を探索し、決定量子化値マップを生成する。
【0118】
<CNN部及び信号強度算出部の処理の具体例>
次に、解析部1000を構成する各部のうち、CNN部1010及び信号強度算出部1020の処理の具体例について説明する。
図11は、CNN部及び信号強度算出部の処理の具体例を示す図である。
【0119】
図11に示すように、CNN部1010は、学習済みモデルとして、入力層、隠れ層、出力層を有する。CNN部1010の入力層のレイヤ401に画像データが入力されると、画像データは各レイヤにて順伝播方向に処理され、隠れ層のレイヤ402より、特徴マップ1100が出力される。
【0120】
同様に、入力層のレイヤ401に復号データ1が入力されると、復号データ1は各レイヤにて順伝播方向に処理され、隠れ層のレイヤ402より、特徴マップ1110が出力される。
【0121】
ここで、信号強度算出部1020では、特徴マップ1100と特徴マップ1110との誤差を算出し、算出した誤差を、隠れ層のレイヤ402から逆伝播させる。これにより、CNN部1010の入力層のレイヤ401からは、誤差逆伝播結果が出力される。
【0122】
信号強度算出部1020では、
・入力層のレイヤ401から出力された誤差逆伝播結果と、
・特徴マップ1100と特徴マップ1110との間の誤差と
の対応関係から、隠れ層のレイヤ402から出力される特徴マップ(特徴マップ1100及び特徴マップ1110)の各領域の信号強度が、画像データの各ブロックのいずれのブロックに対応するかの位置関係を特定するブロックマップ1130を生成する。
【0123】
なお、逆伝播させる誤差の算出に用いる対象(例えば、画像データ1、復号データ1)は、例えば、ユーザから「誤差逆伝播する対象」として指示され、予め設定値として設定されているものとする。
【0124】
また、信号強度算出部1020では、隠れ層のレイヤ402から出力される各特徴マップの信号強度を、ブロックマップ1130に基づいて、ブロック単位で集計し、ブロックごとの信号強度の変化を示すグラフ1140を生成する。グラフ1140は、横軸に量子化値、縦軸に信号強度をとったグラフであり、信号強度が大きいほど、認識結果への影響度が高いことを示す。信号強度算出部1020では、生成したグラフ1140を、信号強度格納部1040に格納する。
【0125】
これにより、量子化値マップ生成部1030では、例えば、
・信号強度の大きさが所定の閾値を下回った場合、あるいは、
・信号強度の変化量が所定の閾値を超えた場合、あるいは、
・信号強度の傾きが所定の閾値を超えた場合、あるいは、
・信号強度の傾きの変化が所定の閾値を超えた場合、
のいずれかの条件を満たす場合の量子化値を、各ブロックの限界圧縮率に応じた量子化値と判定する。
【0126】
なお、上記説明では、ブロックマップ1130を生成するにあたり、特徴マップ1100と特徴マップ1110との間の誤差を、1回、逆伝播させる場合について説明した。しかしながら、誤差の逆伝播の方法はこれに限定されず、例えば、特徴マップ1100と特徴マップ1110との間の誤差を、複数の領域に分割し、それぞれの領域の誤差を、順次逆伝播させることで、ブロックマップ1130を生成してもよい。なお、誤差の逆伝播の方法は、例えば、ユーザから「領域の分割方法」として指示され、予め設定値として設定される。
【0127】
<画像処理の流れ>
次に、画像処理装置120による画像処理の流れについて説明する。
図12は、画像処理装置による画像処理の流れを示す第3のフローチャートである。
図7を用いて説明した第1のフローチャートとの相違点は、ステップS1201、S1202、S1203、S1204である。
【0128】
ステップS1201において、解析部1000は、処理範囲及び誤差逆伝播する対象(例えば、画像データ、復号データ1)を設定する。
【0129】
ステップS1202において、解析部1000は、処理中の画像データまたは復号データが、誤差逆伝播する対象(例えば、画像データ、復号データ1)であった場合には、特徴マップの誤差を算出し、算出した誤差を入力層まで逆伝播させる。また、解析部1000は、入力層より出力される誤差逆伝播結果を用いて、ブロックマップを生成する。
【0130】
ステップS1203において、解析部1000は、生成したブロックマップを用いて、ステップS705において出力された特徴マップの各領域の信号強度を、ブロック単位で集計する。
【0131】
ステップS1204において、解析部1000は、信号強度の変化に基づいて、ブロック単位で最適な量子化値を探索し、決定量子化値マップを生成する。
【0132】
以上の説明から明らかなように、第3の実施形態に係る画像処理装置120は、隠れ層のレイヤより出力される特徴マップの各領域の信号強度を、ブロック単位で集計することで、決定量子化値マップを生成する。
【0133】
これにより、第3の実施形態に係る画像処理装置120によれば、
・隠れ層のレイヤ402の次のレイヤ以降の順伝播方向の処理と、
・隠れ層のレイヤ402の手前のレイヤ(順伝播方向に見た場合には次のレイヤ)までの誤差逆伝播と、
・「誤差逆伝播する対象」として設定された対象以外の隠れ層のレイヤ402からの誤差逆伝播と、
を省略することが可能となり、演算量を削減することができる。
【0134】
つまり、第3の実施形態によれば、AIによる認識処理に適した符号化処理を行う際の、演算量を削減することができる。
【0135】
[第4の実施形態]
上記第1乃至第3の実施形態では、各種設定値を、予め設定するものとして説明した。これに対して、第4の実施形態では、各種設定値のうち、演算量または演算時間の増減に関わる設定値を動的に変更させる場合について説明する。以下、第4の実施形態について説明する。
【0136】
<動的に変更する設定値の説明>
はじめに、動的に変更する設定値(演算量または演算時間の増減に関わる設定値)について説明する。
図13は、動的に変更する設定値を説明するための図である。
【0137】
図13に示すように、動的に変更する設定値には、量子化値の「解析粒度」が含まれる(符号1301)。量子化値の解析粒度を細かくすると、CNN部320に入力される復号データの数が増え、量子化値の解析粒度を粗くすると、CNN部320に入力される復号データの数が減る。つまり、CNN部320に入力される復号データの数を増減させることで、CNN部320の演算量が増減するからである。
【0138】
また、
図13に示すように、動的に変更する設定値には、「処理範囲」が含まれる(符号1302)。処理範囲を広くすると、CNN部320における演算量が増え、処理範囲を狭くすると、CNN部320における演算量が減る。つまり、処理範囲を拡縮することで、CNN部320の演算量が増減するからである。
【0139】
また、
図13に示すように、動的に変更する設定値には、装置の分担範囲が含まれる(符号1303)。上記各実施形態では、1つの画像処理装置120を用いて画像処理を実行する場合について説明したが、例えば、処理性能の異なる複数の画像処理装置を用いて画像処理を実行する場合も考えられる。この場合、各画像処理装置の分担範囲を変更することで、演算時間が増減するからである。
【0140】
また、
図13に示すように、動的に変更する設定値には、「出力層まで処理する対象」の数が含まれる(符号1303)。上記第2の実施形態では、画像データと復号データ1を、出力層まで処理する対象として設定する場合について説明した。しかしながら、出力層まで処理する対象を、複数組設定する場合も考えられる。このような場合においては、出力層まで処理する対象の数を増減させることで、CNN部320の演算量が増減するからである。
【0141】
また、
図13に示すように、動的に変更する設定値には、「誤差逆伝播させる対象」の数が含まれる(符号1304)。上記第3の実施形態では、ブロックマップを生成するにあたり、誤差を複数の領域に分割し、それぞれの領域の誤差を、順次逆伝播させる場合について説明した。このとき、誤差を分割する数を増やすと、誤差逆伝播させる回数が増え、誤差を分割する数を減らすと、誤差逆伝播させる回数が減る。つまり、「領域の分割方法」を変えることで、CNN部320の演算量が増減するからである。
【0142】
なお、本実施形態において、上記設定値は、例えば、解析部121、1000が、予め定められた指標(例えば、演算量、演算時間等)に基づいて、動的に変更するものとする。つまり、本実施形態において、解析部121、1000は、設定値を動的に変更する変更部として機能する。
【0143】
<設定値の動的変更処理の具体例>
次に、上記設定値のうち、「処理範囲」を動的に変更させる場合の処理の具体例について説明する。
図14は、設定値の動的変更処理の具体例を示す図である。
【0144】
図14において、グラフ1410は、縦軸に所定の処理単位(例えば、1フレーム)あたり演算時間(演算時間/処理単位)をとり、横軸に時刻をとったグラフである。なお、グラフ1410において、許容限界演算時間とは、動画像データをリアルタイムに処理するために許容されうる、1フレームあたりの演算時間を指す。
【0145】
また、グラフ1420は、縦軸に認識精度をとり、横軸に時刻をとったグラフである。なお、グラフ1420において、許容限界精度とは、決定量子化値マップを用いて符号化した符号化データを復号し、復号データに対して認識処理を行った場合の認識精度の限界値を指す。更に、グラフ1430は、縦軸に処理範囲をとり、横軸に時刻をとったグラフである。
【0146】
図14の例の場合、画像処理の開始直後は、演算時間/処理単位が、許容限界演算時間を超えていたところ(時刻t
1)、処理範囲を動的に変更し(処理範囲を狭くし)、演算量を減らすことで、許容限界演算時間まで落ちている(時刻t
2)。
【0147】
また、
図14の例の場合、更に処理範囲を動的に変更し(処理範囲を狭くし)、演算量を減らしたことで、演算時間/処理単位が、許容限界演算時間を大きく下回っている(時刻t
3、t
4)。ただし、
図14の例の場合、演算時間/処理単位が、許容限界演算時間を大きく下回ったタイミングで、認識精度が、許容限界精度に近づいている。
【0148】
このため、
図14の例では、処理範囲を動的に変更し(処理範囲を少し拡げ)、演算量を増やしている(時刻t
5)。これにより、演算時間/処理単位が少し増える一方で、認識精度が回復している(時刻t
5)。
【0149】
また、
図14の例では、以降、処理範囲を動的に変更しながら(処理範囲を少し狭めたり、少し広げたりしながら)、演算時間/処理単位と、認識精度との最適なバランスを探索している(時刻t
6、t
7)。
【0150】
このように、「処理範囲」を動的に変更させることで、最適な処理範囲を探索することができる。なお、
図14の例では、最適な処理範囲を探索する際の指標として、"演算時間/処理単位"と、"認識精度"とを用いたが、それら以外の指標を用いてもよい。
【0151】
演算時間/処理単位と、認識精度以外の指標としては、例えば、画像処理装置120の使用電力量や、発熱量等が挙げられる。
【0152】
[その他の実施形態]
上記各実施形態では、紙面の都合上、CNN部に含まれるレイヤの数を5個としたが、CNN部に含まれるレイヤの数は、5個以上であってもよい。
【0153】
また、上記第1乃至第3の実施形態では、各種設定値の設定方法について言及しなかったが、例えば、各種設定値は、操作装置231を介してサーバ装置130に入力し、ネットワークを介して画像処理装置120に送信することで、設定されてもよい。あるいは、画像処理装置120に操作装置を接続し、接続した操作装置から直接、画像処理装置120に入力することで設定されてもよい。
【0154】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0155】
100 :画像処理システム
110 :撮像装置
120 :画像処理装置
121 :解析部
122 :符号化部
130 :サーバ装置
131 :復号部
310 :入力部/復号部
320 :CNN部
330 :重要特徴マップ生成部
340 :集計部
350 :量子化値マップ生成部
360 :出力部
830 :重要特徴マップ生成部
1000 :解析部
1010 :CNN部
1020 :信号強度算出部
1030 :量子化値マップ生成部