(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-05
(45)【発行日】2024-08-14
(54)【発明の名称】解析装置、解析方法及び解析プログラム
(51)【国際特許分類】
H04N 19/126 20140101AFI20240806BHJP
H04N 19/154 20140101ALI20240806BHJP
H04N 19/176 20140101ALI20240806BHJP
G06T 7/00 20170101ALI20240806BHJP
【FI】
H04N19/126
H04N19/154
H04N19/176
G06T7/00 350C
(21)【出願番号】P 2022569367
(86)(22)【出願日】2020-12-15
(86)【国際出願番号】 JP2020046730
(87)【国際公開番号】W WO2022130497
(87)【国際公開日】2022-06-23
【審査請求日】2023-04-06
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】久保田 智規
(72)【発明者】
【氏名】中尾 鷹詔
(72)【発明者】
【氏名】村田 康之
【審査官】久保 光宏
(56)【参考文献】
【文献】特許第7310926(JP,B2)
【文献】特許第7409400(JP,B2)
【文献】「株式会社 富士通研究所 AIが認識できる画質で映像データを高圧縮する技術を開発」,月刊セキュリティ研究,日本,一般社団法人セキュリティスペシャリスト協会,2020年04月25日,2020年5月号(第23巻第5号通巻258号),第44~45頁,ISSN: 1347-9210.
【文献】久保田 智規(外2名),「深層学習を用いた映像解析のための高圧縮な動画像符号化手法」,電子情報通信学会技術研究報告,日本,一般社団法人 電子情報通信学会,2020年02月27日,Vol.119, No.456,第121~126頁,ISSN: 2432-6380.
【文献】中尾 鷹詔(外2名),「AI解析向け動画像符号化方式」,情報処理学会研究報告,日本,情報処理学会,2020年02月20日,Vol.2020-OS-148, No.7,全6頁,[online], [令和2年2月20日検索], インターネット, <URL: http://id.nii.ac.jp/1001/00203245/>,ISSN: 2188-8795.
【文献】久保田 智規(外3名),「CNNを用いた物体認識における誤認識の原因を可視化する一手法」,電子情報通信学会技術研究報告,日本,一般社団法人 電子情報通信学会,2019年08月28日,Vol.119, No.193,第99~104頁,ISSN: 2432-6380.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
H04N1/41-1/419
G06T9/00-9/40
G06T7/00
G06V10/00-20/90
G06N3/02-3/10
G06N20/00-20/20
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
画質が変更された変更後の各画像データに対して認識処理が行われた場合の、各領域の認識結果への影響度に基づいて、第1の圧縮レベルを判定する判定部と、
前記第1の圧縮レベルに応じた第2の圧縮レベルで圧縮された画像データが復号された場合に、復号データに対して認識処理を行い、認識結果を算出する算出部と、
算出された認識結果に応じて、前記第1の圧縮レベルと前記第2の圧縮レベルのいずれの圧縮レベルで画像データを圧縮するかを決定する決定部と
を有する解析装置。
【請求項2】
画像データが所定数の異なる圧縮レベルで圧縮され、各圧縮データが復号された各復号データに対して認識処理が行われた場合の、各領域の認識結果への影響度を集計する集計部を有し、
前記判定部は、集計された前記各領域の認識結果への影響度に基づいて、前記所定数の異なる圧縮レベルから、前記第1の圧縮レベルを判定する、請求項1に記載の解析装置。
【請求項3】
前記第2の圧縮レベルは、前記所定数の異なる圧縮レベルの間の圧縮レベルであって、前記第1の圧縮レベルよりも高い圧縮レベルである、請求項2に記載の解析装置。
【請求項4】
前記決定部は、算出された認識結果が許容値以上の場合、前記第2の圧縮レベルで画像データを圧縮し、算出された認識結果が許容値未満の場合、前記第1の圧縮レベルで画像データを圧縮することを決定する、請求項3に記載の解析装置。
【請求項5】
前記決定部は、決定した圧縮レベルを、集計された前記各領域の認識結果への影響度に基づいて調整する、請求項4に記載の解析装置。
【請求項6】
画像データが所定の1種類の圧縮レベルで圧縮され、圧縮データが復号された後、復号データに対して認識処理が行われた場合の、各領域の認識結果への影響度を集計する集計部を有し、
前記判定部は、集計された前記各領域の認識結果への影響度がいずれのグループに属するかを判定し、判定したグループに予め対応付けられた圧縮レベルを、前記第1の圧縮レベルとして判定する、請求項1に記載の解析装置。
【請求項7】
前記第2の圧縮レベルは、集計された前記各領域の認識結果への影響度が所定の影響度となる圧縮レベルであって、判定したグループに予め対応付けられた、前記第1の圧縮レベルとは異なる圧縮レベルである、請求項6に記載の解析装置。
【請求項8】
前記決定部は、算出された認識結果が許容値以上の場合、前記第2の圧縮レベルで画像データを圧縮し、算出された認識結果が許容値未満の場合、前記第1の圧縮レベルで画像データを圧縮することを決定する、請求項7に記載の解析装置。
【請求項9】
前記決定部は、決定した圧縮レベルを、集計された前記各領域の認識結果への影響度に基づいて調整する、請求項8に記載の解析装置。
【請求項10】
画質が変更された変更後の各画像データに対して認識処理が行われた場合の、各領域の認識結果への影響度に基づいて、第1の圧縮レベルを判定し、
前記第1の圧縮レベルに応じた第2の圧縮レベルで圧縮された画像データが復号された場合に、復号データに対して認識処理を行い、認識結果を算出し、
算出された認識結果に応じて、前記第1の圧縮レベルと前記第2の圧縮レベルのいずれの圧縮レベルで画像データを圧縮するかを決定する、
処理をコンピュータが実行する解析方法。
【請求項11】
画質が変更された変更後の各画像データに対して認識処理が行われた場合の、各領域の認識結果への影響度に基づいて、第1の圧縮レベルを判定し、
前記第1の圧縮レベルに応じた第2の圧縮レベルで圧縮された画像データが復号された場合に、復号データに対して認識処理を行い、認識結果を算出し、
算出された認識結果に応じて、前記第1の圧縮レベルと前記第2の圧縮レベルのいずれの圧縮レベルで画像データを圧縮するかを決定する、
処理をコンピュータに実行させるための解析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、解析装置、解析方法及び解析プログラムに関する。
【背景技術】
【0002】
一般に、画像データを記録または伝送する場合、圧縮処理によりデータサイズを小さくすることで、記録コストや伝送コストを削減する。
【0003】
一方で、近年、AI(Artificial Intelligence)による画像の認識処理に利用される目的で、画像データを記録または伝送するケースが増えてきている。AIの代表的なモデルとしては、例えば、深層学習や機械学習を用いたモデルが挙げられる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-101406号公報
【文献】特開2019-079445号公報
【文献】特開2011-234033号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の圧縮処理は、人間の視覚特性に基づいて行われており、AIの動作解析に基づいて行われているわけではない。このため、AIによる画像の認識処理に必要でない領域について、十分な圧縮レベルで圧縮処理が行われていない場合があった。
【0006】
一方で、解析装置等を用いて、圧縮処理前にAIによる画像の認識処理に必要でない領域を解析しようとすると、解析装置等の演算量が増大することが想定される。
【0007】
一つの側面では、AIによる画像の認識処理に適した圧縮処理を、演算量を抑えて実現することを目的とする。
【課題を解決するための手段】
【0008】
一態様によれば、解析装置は、
画質が変更された変更後の各画像データに対して認識処理が行われた場合の、各領域の認識結果への影響度に基づいて、各領域の第1の圧縮レベルを判定する判定部と、
前記第1の圧縮レベルに応じた第2の圧縮レベルで圧縮された画像データが復号された場合に、復号データに対して認識処理を行い、認識結果を算出する算出部と、
算出された認識結果に応じて、前記第1の圧縮レベルと前記第2の圧縮レベルのいずれの圧縮レベルで画像データを圧縮するかを決定する決定部とを有する。
【発明の効果】
【0009】
AIによる画像の認識処理に適した圧縮処理を、演算量を抑えて実現することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、圧縮処理システムのシステム構成の一例を示す図である。
【
図2】
図2は、解析装置または画像圧縮装置のハードウェア構成の一例を示す図である。
【
図3】
図3は、解析装置の機能構成の一例を示す第1の図である。
【
図5】
図5は、量子化値設定部、精度評価部及び量子化値決定部による処理の具体例を示す第1の図である。
【
図6】
図6は、画像圧縮装置の機能構成の一例を示す図である。
【
図7】
図7は、圧縮処理システムによる圧縮処理の流れの一例を示す第1のフローチャートである。
【
図8】
図8は、解析装置の機能構成の一例を示す第2の図である。
【
図9】
図9は、量子化値設定部、精度評価部及び量子化値決定部による処理の具体例を示す第2の図である。
【
図10】
図10は、圧縮処理システムによる圧縮処理の流れの一例を示す第2のフローチャートである。
【
図11】
図11は、解析装置の機能構成の一例を示す第3の図である。
【
図12】
図12は、CNN部による処理の具体例を示す図である。
【
図13】
図13は、量子化値決定部による処理の具体例を示す図である。
【
図14】
図14は、圧縮処理システムによる圧縮処理の流れの一例を示す第3のフローチャートである。
【発明を実施するための形態】
【0011】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0012】
[第1の実施形態]
<圧縮処理システムのシステム構成>
はじめに、第1の実施形態に係る解析装置を含む、圧縮処理システム全体のシステム構成について説明する。
図1は、圧縮処理システムのシステム構成の一例を示す第1の図である。第1の実施形態において、圧縮処理システムが実行する処理は、圧縮レベル(に応じた量子化値)を決定するフェーズと、決定した圧縮レベル(に応じた量子化値)に基づいて圧縮処理を行うフェーズとに大別することができる。
【0013】
図1において、1aは、圧縮レベル(に応じた量子化値)を決定するフェーズにおける圧縮処理システムのシステム構成を示している。また、1bは、決定した圧縮レベル(に応じた量子化値)に基づいて圧縮処理を行うフェーズにおける圧縮処理システムのシステム構成を示している。
【0014】
図1の1aに示すように、圧縮レベル(に応じた量子化値)を決定するフェーズにおける圧縮処理システムには、撮像装置110、解析装置120、画像圧縮装置130が含まれる。
【0015】
撮像装置110は、所定のフレーム周期で撮影を行い、画像データを解析装置120に送信する。なお、画像データには、認識処理の対象となるオブジェクトが含まれるものとする。
【0016】
解析装置120は、認識処理を行う学習済みモデルを有する。解析装置120は、画像データまたは復号データ(画像データに対して異なる圧縮レベルで圧縮処理が行われた場合の圧縮データを復号した復号データ)を、学習済みモデルに入力することで認識処理を行い、認識結果を出力する。
【0017】
また、解析装置120は、例えば、誤差逆伝播法を用いて学習済みモデルの動作解析を行うことで、認識結果への影響度を示すマップ(「重要特徴マップ」と称す)を生成し、所定領域ごと(圧縮処理が行われる際に用いられるブロックごと)に影響度を集計する。
【0018】
なお、解析装置120では、画像圧縮装置130に対して、所定数の異なる圧縮レベル(に応じた量子化値)での圧縮処理を指示し、それぞれの圧縮レベルで圧縮処理が行われた場合の圧縮データについて、同様の処理を繰り返す。つまり、解析装置120では、画像データの画質を変更しながら、変更後の各画像データについて、各ブロックの認識結果への影響度を集計する。
【0019】
また、解析装置120は、各圧縮レベル(に応じた各量子化値)に対する、集計値の変化に基づいて、各ブロックの最適な圧縮レベル(に応じた量子化値)を、所定数の異なる圧縮レベルの中から判定する。なお、最適な圧縮レベル(に応じた量子化値)とは、所定数の異なる圧縮レベルのうち、画像データに含まれるオブジェクトを正しく認識処理することができる最大の圧縮レベル(に応じた量子化値)を指す。
【0020】
また、解析装置120は、画像圧縮装置130に対して、所定数の異なる圧縮レベルの間の圧縮レベルであって、判定した圧縮レベルよりも高い圧縮レベル(に応じた量子化値)での圧縮処理を指示する。
【0021】
また、解析装置120は、判定した圧縮レベルよりも高い圧縮レベルで圧縮処理が行われた場合の圧縮データを復号し、復号データを学習済みモデルに入力することで、認識結果を出力する。
【0022】
更に、解析装置120は、出力した認識結果が所定の許容値以上であるか否かに応じて、最終的に、判定した圧縮レベルで圧縮処理を行うか、判定した圧縮レベルよりも高い圧縮レベルで圧縮処理を行うかを決定する。
【0023】
一方、
図1の1bに示すように、決定した圧縮レベル(に応じた量子化値)に基づいて圧縮処理を行うフェーズにおける圧縮処理システムには、解析装置120、画像圧縮装置130、ストレージ装置140が含まれる。
【0024】
解析装置120は、ブロックごとに決定した圧縮レベル(に応じた量子化値)及び画像データを画像圧縮装置130に送信する。
【0025】
画像圧縮装置130は、決定した圧縮レベル(に応じた量子化値)を用いて画像データに対して圧縮処理を行い、圧縮データをストレージ装置140に格納する。
【0026】
このように、本実施形態に係る解析装置120では、各ブロックの認識結果への影響度を算出し、所定数の異なる圧縮レベルの中から、学習済みモデルによる認識処理に適した圧縮レベルを判定する。これにより、認識処理に適した圧縮レベルを判定するまでの処理を簡素化することができる(つまり、演算量を抑えることができる)。
【0027】
また、本実施形態に係る解析装置120では、判定した圧縮レベルよりも高い圧縮レベルでの圧縮処理が可能か否かを、認識結果と許容値とを比較することで判定する(つまり、重要特徴マップを生成することなく判定する)。これにより、より高い圧縮レベルの適否を判定するまでの処理を簡素化することができる(つまり、演算量を抑えることができる)。
【0028】
この結果、本実施形態に係る解析装置120によれば、AIによる画像の認識処理に適した圧縮処理を、演算量を抑えて実現することができる。
【0029】
<解析装置及び画像圧縮装置のハードウェア構成>
次に、解析装置120及び画像圧縮装置130のハードウェア構成について説明する。なお、解析装置120と画像圧縮装置130とは、同様のハードウェア構成を有するため、ここでは、
図2を用いて両装置の説明をまとめて行う。
【0030】
図2は、解析装置または画像圧縮装置のハードウェア構成の一例を示す図である。解析装置120または画像圧縮装置130は、プロセッサ201、メモリ202、補助記憶装置203、I/F(Interface)装置204、通信装置205、ドライブ装置206を有する。なお、解析装置120または画像圧縮装置130の各ハードウェアは、バス207を介して相互に接続されている。
【0031】
プロセッサ201は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等の各種演算デバイスを有する。プロセッサ201は、各種プログラム(例えば、後述する解析プログラムまたは画像圧縮プログラム等)をメモリ202上に読み出して実行する。
【0032】
メモリ202は、ROM(Read Only Memory)、RAM(Random Access Memory)等の主記憶デバイスを有する。プロセッサ201とメモリ202とは、いわゆるコンピュータを形成し、プロセッサ201が、メモリ202上に読み出した各種プログラムを実行することで、当該コンピュータは各種機能を実現する(各種機能の詳細は後述する)。
【0033】
補助記憶装置203は、各種プログラムや、各種プログラムがプロセッサ201によって実行される際に用いられる各種データを格納する。
【0034】
I/F装置204は、外部装置の一例である操作装置210、表示装置220と、解析装置120または画像圧縮装置130とを接続する接続デバイスである。I/F装置204は、解析装置120または画像圧縮装置130に対する操作を、操作装置210を介して受け付ける。また、I/F装置204は、解析装置120または画像圧縮装置130による処理の結果を出力し、表示装置220を介して表示する。
【0035】
通信装置205は、他の装置と通信するための通信デバイスである。解析装置120の場合、通信装置205を介して撮像装置110及び画像圧縮装置130と通信する。また、画像圧縮装置130の場合、通信装置205を介して解析装置120及びストレージ装置140と通信する。
【0036】
ドライブ装置206は記録媒体230をセットするためのデバイスである。ここでいう記録媒体230には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体230には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【0037】
なお、補助記憶装置203にインストールされる各種プログラムは、例えば、配布された記録媒体230がドライブ装置206にセットされ、該記録媒体230に記録された各種プログラムがドライブ装置206により読み出されることでインストールされる。あるいは、補助記憶装置203にインストールされる各種プログラムは、通信装置205を介してネットワークからダウンロードされることで、インストールされてもよい。
【0038】
<解析装置の機能構成>
次に、解析装置120の機能構成について説明する。
図3は、解析装置の機能構成の一例を示す第1の図である。上述したように、解析装置120には、解析プログラムがインストールされており、当該プログラムが実行されることで、解析装置120は、入力部310、CNN部320、量子化値設定部330、出力部340として機能する。また、解析装置120は、重要特徴マップ生成部350、集計部360、精度評価部370、量子化値決定部380として機能する。
【0039】
入力部310は、撮像装置110より送信される画像データ、または、画像圧縮装置130より送信される圧縮データを取得する。入力部310は、取得した画像データをCNN部320及び出力部340に通知する。また、入力部310は、取得した圧縮データを、不図示の復号部を用いて復号し、復号データをCNN部320に通知する。
【0040】
CNN部320は算出部の一例であり、学習済みモデルを有する。CNN部320は、画像データまたは復号データを入力することで、画像データまたは復号データに含まれるオブジェクトについての認識処理を行い、認識結果を出力する。
【0041】
量子化値設定部330は判定部の一例である。量子化値設定部330は、画像圧縮装置130が圧縮処理を行う際に用いる、所定数の異なる圧縮レベル(本実施形態では、4種類の圧縮レベル)に応じた量子化値を、順次、出力部340に通知する。
【0042】
また、量子化値設定部330は、所定数の異なる圧縮レベルに応じた量子化値を出力部340に通知したことに応じて、所定数の圧縮レベルに対応する集計値を集計結果格納部390より読み出す。また、量子化値設定部330は、読み出した集計値に基づいて、所定数の異なる圧縮レベルの中から、最適な圧縮レベルを判定する。また、量子化値設定部330は、判定した最適な圧縮レベル(第1の圧縮レベル)に応じた量子化値(「暫定量子化値」と称す)を量子化値決定部380に通知する。
【0043】
更に、量子化値設定部330は、所定数の異なる圧縮レベルの間の圧縮レベルであって、判定した最適な圧縮レベルよりも高い圧縮レベル(第2の圧縮レベル)に応じた量子化値(「補間量子化値」と称す)を、出力部340及び量子化値決定部380に通知する。
【0044】
出力部340は、入力部310が取得した画像データを、画像圧縮装置130に送信する。また、出力部340は、量子化値設定部330より通知された各量子化値(または補間量子化値)を、順次、画像圧縮装置130に送信する。更に、出力部340は、量子化値決定部380により決定された量子化値(「決定量子化値」と称す)を、画像圧縮装置130に送信する。
【0045】
重要特徴マップ生成部350はマップ生成部の一例であり、学習済みモデルが画像データまたは復号データに対して認識処理を行った際の認識結果に基づいて算出される誤差から、誤差逆伝播法を利用して重要特徴マップを生成する。
【0046】
重要特徴マップ生成部350では、例えば、BP(Back Propagation)法、GBP(Guided Back Propagation)法または選択的BP法を用いることで、重要特徴マップを生成する。
【0047】
なお、BP法は、認識結果が正解ラベルとなる画像データ(または復号データ)に対して認識処理を行うことで得たスコアから各ラベルの誤差を計算し、入力層まで逆伝播して得られる勾配の大小を画像化することで、特徴部分を可視化する方法である。また、GBP法は、勾配情報の正値のみを特徴部分として画像化することで、特徴部分を可視化する方法である。
【0048】
更に、選択的BP法は、正解ラベルの誤差のみを最大にしたうえで、BP法またはGBP法を用いて逆伝播する方法である。選択的BP法の場合、可視化される特徴部分は、正解ラベルのスコアにのみ影響を与える特徴部分となる。
【0049】
このように、重要特徴マップ生成部350では、BP法、GBP法または選択的BP法等の誤差逆伝播法による誤差逆伝播結果を用いる。これにより、重要特徴マップ生成部350では、画像データまたは復号データが入力されてから認識結果が出力されるまでのCNN部320内の各経路の信号の流れと強度とを解析する。この結果、重要特徴マップ生成部350によれば、入力された画像データまたは復号データのどの領域が、認識結果にどの程度影響を及ぼしているかを可視化することができる。
【0050】
なお、誤差逆伝播法による重要特徴マップの生成方法は、例えば、
「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」、
等の文献に開示されている。
【0051】
集計部360は、重要特徴マップに基づいて、各領域の認識結果への影響度をブロック単位で集計し、ブロックごとの影響度の集計値を算出する。また、集計部360は、算出した各ブロックの集計値を、量子化値と対応付けて集計結果格納部390に格納する。
【0052】
精度評価部370は、
・出力部340により補間量子化値が送信されることで、画像圧縮装置130において、当該補間量子化値に基づく圧縮処理が行われ、
・画像圧縮装置130より送信された圧縮データが、入力部310において復号され、
・復号データがCNN部320に入力され、認識処理が行われることで、認識結果が出力された場合に、
当該認識結果をCNN部320より取得する。また、精度評価部370は、CNN部320より取得した認識結果が所定の許容値以上であるか否かを評価し、評価結果を量子化値決定部380に通知する。
【0053】
量子化値決定部380は決定部の一例であり、精度評価部370より通知された評価結果に基づいて決定量子化値を決定し、出力部340に通知する。具体的には、量子化値決定部380は、精度評価部370より、所定の許容値以上であるとの評価結果が通知された場合には、量子化値設定部330より通知された補間量子化値を、決定量子化値に決定し、出力部340に通知する。
【0054】
一方、精度評価部370より、所定の許容値未満であるとの評価結果が通知された場合には、量子化値設定部330より通知された暫定量子化値を、決定量子化値に決定し、出力部340に通知する。
【0055】
<集計結果の具体例>
次に、集計結果格納部390に格納された集計結果の具体例について説明する。
図4は、集計結果の具体例を示す図である。このうち、4aは、画像データ410内のブロックの配置例を示している。4aに示すように、本実施形態では説明の簡略化のため、画像データ410内のブロックは全て同じ大きさであるとする。また、4aの例では、画像データの左上のブロックのブロック番号を"ブロック1"とし、右下のブロックのブロック番号を"ブロックm"としている。
【0056】
4bに示すように、集計結果420には、情報の項目として、"ブロック番号"、"量子化値"が含まれる。
【0057】
"ブロック番号"には、画像データ410内の各ブロックのブロック番号が格納される。"量子化値"には、画像圧縮装置130が圧縮処理を行わない場合を示す"圧縮なし"、及び、画像圧縮装置130が圧縮処理を行う際に用いる、4種類の圧縮レベルに応じた量子化値("Q1"から"Q4")が格納される。
【0058】
また、集計結果420において、"ブロック番号"と"量子化値"とにより特定される領域には、
・対応する量子化値を用いて画像データ410に対して圧縮処理を行い、
・取得した圧縮データを復号した復号データを入力することで、学習済みモデルが認識処理を行い、
・認識処理が行われた際に算出された重要特徴マップに基づいて、対応するブロックにおいて集計された、
集計値が格納される。
【0059】
<量子化値設定部、精度評価部及び量子化値決定部による処理の具体例>
次に、量子化値設定部330、精度評価部370及び量子化値決定部380による処理の具体例について説明する。
図5は、量子化値設定部、精度評価部及び量子化値決定部による処理の具体例を示す第1の図である。
図5において、グラフ510_1~510_mは、横軸に量子化値、縦軸に集計値をとり、集計結果420に含まれる各ブロックの集計値をプロットすることで生成したグラフである。
【0060】
グラフ510_1~510_mに示すように、4種類の圧縮レベルに応じた量子化値("Q1"から"Q4")を用いて圧縮処理を行った場合の集計値の変化は、ブロックごとに異なる。量子化値設定部330では、例えば、
・集計値の大きさが所定の閾値を超えた場合、あるいは、
・集計値の変化量が所定の閾値を超えた場合、あるいは、
・集計値の傾きが所定の閾値を超えた場合、あるいは、
・集計値の傾きの変化が所定の閾値を超えた場合、
のいずれかの条件を満たす場合の量子化値を、各ブロックの暫定量子化値と判定する。
【0061】
図5の例は、量子化値設定部330が、グラフ510_1に基づいて、暫定量子化値="Q
3"と判定したことを示している。また、
図5の例は、量子化値設定部330が、グラフ510_2に基づいて、暫定量子化値="Q
1"と判定したことを示している。また、
図5の例は、量子化値設定部330が、グラフ510_3に基づいて、暫定量子化値="Q
2"と判定したことを示している。更に、
図5の例は、量子化値設定部330が、グラフ510_mに基づいて、暫定量子化値="Q
3"と判定したことを示している。
【0062】
また、グラフ510_1~510_mに示すように、4種類の圧縮レベルの間の圧縮レベルであって、最適な圧縮レベルよりも高い圧縮レベルに応じた補間量子化値(つまり、暫定量子化値よりも高い量子化値)が画像圧縮装置130に送信される。具体的には、Qx1、Qx2、Qx3、・・・ Qxmが補間量子化値として画像圧縮装置130に送信される。
【0063】
これにより、画像圧縮装置130では、補間量子化値により圧縮処理が行われ、CNN部320では、圧縮データを復号した復号データについての認識処理が行われる。また、精度評価部370では、認識結果が許容値以上であるか否かが判定され、量子化値決定部380では、判定結果に基づく決定量子化値が決定される。
【0064】
図5の例は、補間量子化値="Q
x1"により圧縮処理が行われ、圧縮データを復号した復号データについて認識処理が行われることで、認識結果1が出力されたことを示している。また、出力された認識結果1が許容値未満であると判定されたことで、暫定量子化値="Q
3"が、ブロック1の決定量子化値(B
1Q)として決定されたことを示している。
【0065】
また、
図5の例は、補間量子化値="Q
x2"により圧縮処理が行われ、圧縮データを復号した復号データについて認識処理が行われることで、認識結果2が出力されたことを示している。また、出力された認識結果2が許容値未満であると判定されたことで、暫定量子化値="Q
1"が、ブロック2の決定量子化値(B
2Q)として決定されたことを示している。
【0066】
また、
図5の例は、補間量子化値="Q
x3"により圧縮処理が行われ、圧縮データを復号した復号データについて認識処理が行われることで、認識結果3が出力されたことを示している。また、出力された認識結果3が許容値未満であると判定されたことで、暫定量子化値="Q
2"が、ブロック3の決定量子化値(B
3Q)として決定されたことを示している。
【0067】
更に、
図5の例は、補間量子化値="Q
xm"により圧縮処理が行われ、圧縮データを復号した復号データについて認識処理が行われることで、認識結果mが出力されたことを示している。また、出力された認識結果mが許容値以上であると判定されたことで、補間量子化値="Q
xm"が、ブロック3の決定量子化値(B
mQ)として決定されたことを示している。
【0068】
図5において符号530は、ブロック1~ブロックmの決定量子化値として、B
1Q~B
mQが決定され、対応するブロックに設定された様子を示している。
【0069】
なお、集計の際のブロックのサイズと圧縮処理に用いるブロックのサイズとは、一致していなくてもよい。その場合、量子化値決定部380では、例えば、以下のように量子化値を決定する。
・集計の際のブロックのサイズより、圧縮処理に用いるブロックのサイズの方が大きい場合
圧縮処理に用いるブロックに含まれる、集計の際の各ブロックの集計値に基づく量子化値の平均値(あるいは、最小値、最大値、その他の指標で加工した値)を、圧縮処理に用いる各ブロックの量子化値とする。
・集計の際のブロックのサイズより、圧縮処理に用いるブロックのサイズの方が小さい場合
集計の際のブロックに含まれる、圧縮処理に用いる各ブロックの量子化値として、集計の際のブロックの集計値に基づく量子化値を用いる。
【0070】
<画像圧縮装置の機能構成>
次に、画像圧縮装置130の機能構成について説明する。
図6は、画像圧縮装置の機能構成の一例を示す図である。上述したように、画像圧縮装置130には、画像圧縮プログラムがインストールされており、当該プログラムが実行されることで、画像圧縮装置130は、符号化部620として機能する。
【0071】
符号化部620は圧縮部の一例である。符号化部620は、差分部621、直交変換部622、量子化部623、エントロピ符号化部624、逆量子化部625、逆直交変換部626を有する。また、符号化部620は、加算部627、バッファ部628、ループ内フィルタ部629、フレームバッファ部630、画面内予測部631、画面間予測部632を有する。
【0072】
差分部621は、画像データ(例えば、画像データ410)と予測画像データとの差分を算出し、予測残差信号を出力する。
【0073】
直交変換部622は、差分部621により出力された予測残差信号に対して、直交変換処理を実行する。
【0074】
量子化部623は、直交変換処理された予測残差信号を量子化し、量子化信号を生成する。量子化部623では、符号530に示す量子化値(解析装置120より送信された量子化値(4種類の圧縮レベルに応じた量子化値、補間量子化値)または決定量子化値)を用いて量子化信号を生成する。
【0075】
エントロピ符号化部624は、量子化信号に対してエントロピ符号化処理を行うことで、圧縮データを生成する。
【0076】
逆量子化部625は、量子化信号を逆量子化する。逆直交変換部626は、逆量子化された量子化信号に対して、逆直交変換処理を実行する。
【0077】
加算部627は、逆直交変換部626より出力された信号と、予測画像データとを加算することで、参照画像データを生成する。バッファ部628は、加算部627により生成された参照画像データを格納する。
【0078】
ループ内フィルタ部629は、バッファ部628に格納された参照画像データに対してフィルタ処理を行う。ループ内フィルタ部629には、
・デブロッキングフィルタ(Deblocking filter:DB)、
・サンプルアダプティブオフセットフィルタ(Sample Adaptive Offset filter:SAO)、
・適応ループフィルタ(Adaptive loop filter:ALF)、
が含まれる。
【0079】
フレームバッファ部630は、ループ内フィルタ部629によりフィルタ処理が行われた参照画像データをフレーム単位で格納する。
【0080】
画面内予測部631は、参照画像データに基づいて画面内予測を行い、予測画像データを生成する。画面間予測部632は、入力された画像データ(例えば、画像データ410)と参照画像データとを用いてフレーム間で動き補償を行い、予測画像データを生成する。
【0081】
なお、画面内予測部631または画面間予測部632により生成された予測画像データは、差分部621及び加算部627に出力される。
【0082】
なお、上記説明では、符号化部620が、MPEG-2、MPEG-4、H.264、HEVCなどの既存の動画符号化方式を用いて圧縮処理を行うものとした。しかしながら、符号化部620による圧縮処理は、これらの動画符号化方式に限定されず、量子化等のパラメータにより圧縮率が制御される任意の符号化方式を用いて行われてもよい。
【0083】
<圧縮処理システムによる圧縮処理の流れ>
次に、圧縮処理システム100による圧縮処理の流れについて説明する。
図7は、圧縮処理システムによる圧縮処理の流れの一例を示す第1のフローチャートである。
【0084】
ステップS701において、量子化値設定部330は、圧縮レベルを初期化する(量子化値(Q1)を設定する)とともに、圧縮レベルの上限を設定する(量子化値(Q4)を設定する)。
【0085】
ステップS702において、入力部310は画像データをフレーム単位で取得し、CNN部320は画像データに対して認識処理を行う。また、重要特徴マップ生成部350は重要特徴マップを生成し、集計部360は各領域の影響度をブロック単位で集計し、集計結果を集計結果格納部390に格納する。
【0086】
ステップS703において、出力部340は画像データと、現在の圧縮レベル(に応じた量子化値)とを画像圧縮装置130に送信する。また、画像圧縮装置130は、送信された画像データを、現在の圧縮レベル(に応じた量子化値)で圧縮処理を行い、圧縮データを生成する。
【0087】
ステップS704において、入力部310は圧縮データを取得し、取得した圧縮データを復号することで復号データを生成する。また、CNN部320は復号データに対して認識処理を行う。また、重要特徴マップ生成部350は重要特徴マップを生成し、集計部360は各領域の影響度をブロック単位で集計し、集計結果を集計結果格納部390に格納する。
【0088】
ステップS705において、量子化値設定部330は、圧縮レベルを上げる(ここでは、量子化値(Q2)を設定する)。
【0089】
ステップS706において、量子化値設定部330は、現在の圧縮レベルが上限を超えたか否か(現在の量子化値が、最大の量子化値(Q4)を超えたか否か)を判定する。ステップS706において、現在の圧縮レベルが上限を超えていないと判定した場合には(ステップS706においてNoの場合には)、ステップS703に戻る。
【0090】
一方、ステップS706において、現在の圧縮レベルが上限を超えたと判定した場合には、ステップS706においてYesの場合には)、ステップS707に進む。
【0091】
ステップS707において、量子化値設定部330は、集計結果格納部390に格納された集計結果に基づいて、最適な圧縮レベルに応じた暫定量子化値を、ブロック単位で判定する。
【0092】
ステップS708において、量子化値設定部330は、判定した暫定量子化値よりも高い補間量子化値を出力部340に通知し、出力部340は、補間量子化値を画像圧縮装置130に送信する。また、画像圧縮装置130は、補間量子化値を用いて、画像データに対して圧縮処理を行い、圧縮データを生成する。
【0093】
ステップS709において、入力部310は圧縮データを取得し、取得した圧縮データを復号することで復号データを生成する。また、CNN部320は復号データに対して認識処理を行う。また、精度評価部370は、認識結果が所定の許容値以上であるか否かを評価する。
【0094】
ステップS710において、量子化値決定部380は、評価結果に基づいて決定量子化値を決定し、決定量子化値を画像圧縮装置130に送信する。
【0095】
ステップS711において、画像圧縮装置130は、決定量子化値で画像データを圧縮し、圧縮データをストレージ装置140に格納する。
【0096】
以上の説明から明らかなように、第1の実施形態に係る解析装置は、画像データに対して所定数の異なる圧縮レベル(に応じた量子化値)を用いて圧縮処理が行われた場合の各圧縮データを取得する。また、第1の実施形態に係る解析装置は、各圧縮データを復号した復号データに対して認識処理を行い、認識結果に基づいて算出される誤差から、誤差逆伝播法を利用することで、各領域の認識結果への影響度を示す重要特徴マップを生成する。また、第1の実施形態に係る解析装置は、重要特徴マップに基づいて影響度をブロック単位で集計し、所定数の異なる圧縮レベルに対応する、各ブロックの集計値に基づいて、画像データの各ブロックの最適な圧縮レベルに応じた暫定量子化値を判定する。また、第1の実施形態に係る解析装置は、所定数の異なる圧縮レベルの間の圧縮レベルであって、判定された圧縮レベルよりも高い圧縮レベルに応じた補間量子化値を用いて圧縮処理を行い、圧縮データを取得する。また、第1の実施形態に係る解析装置は、取得した圧縮データを復号した復号データの認識結果が許容値以上であるか否かに応じて、暫定量子化値または補間量子化値のいずれかを決定量子化値として決定する。
【0097】
このように、第1の実施形態に係る解析装置は、所定数の異なる圧縮レベルの中から認識処理に適した圧縮レベル(に応じた暫定量子化値)を判定する。これにより、認識処理に適した圧縮レベルを判定するまでの処理を簡素化することができる。また、第1の実施形態に係る解析装置は、判定した圧縮レベルよりも高い圧縮レベルでの圧縮処理が可能か否かを、認識結果と許容値とを比較することで(つまり、重要特徴マップを生成することなく)判定する。これにより、より高い圧縮レベルの適否を判定するまでの処理を簡素化することができる。
【0098】
この結果、第1の実施形態によれば、AIによる画像の認識処理に適した圧縮処理を、演算量を抑えて実現することができる。
【0099】
[第2の実施形態]
上記第1の実施形態では、認識結果への影響度に基づいて決定量子化値を決定するにあたり、4種類の異なる圧縮レベルに応じた量子化値を用いて圧縮処理を行う場合について説明した。
【0100】
これに対して、第2の実施形態では、所定の1種類の量子化値を用いて圧縮処理を行うことで、決定量子化値を決定する場合について説明する。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
【0101】
<解析装置の機能構成>
はじめに、第2の実施形態に係る解析装置120の機能構成について説明する。
図8は、解析装置の機能構成の一例を示す第2の図である。
図3に示した機能構成との相違点は、量子化値設定部810、出力部820、精度評価部830、量子化値決定部840の機能が、量子化値設定部330、出力部340、精度評価部370、量子化値決定部380の機能とは異なる点である。
【0102】
量子化値設定部810は判定部の他の一例であり、所定の1種類の圧縮レベルに応じた量子化値(Qn)を、出力部820に通知する。また、量子化値設定部810は、所定の1種類の圧縮レベルに応じた量子化値を出力部340に通知したことに応じて、所定の1種類の圧縮レベルに対応する集計値を集計結果格納部390より読み出す。また、量子化値設定部810は、読み出した集計値が属するグループを判定し、判定したグループに予め対応付けられた最適な圧縮レベル(第1の圧縮レベル)に応じた量子化値を、暫定量子化値として量子化値決定部840に通知する。
【0103】
また、量子化値設定部810は、各グループに予め対応付けられた最適な圧縮レベルとは異なる圧縮レベル(第2の圧縮レベル)に応じた量子化値(暫定量子化値とは異なる「限界量子化値」と称す)を、出力部820に通知する。
【0104】
出力部820は、入力部310が取得した画像データを、画像圧縮装置130に送信する。また、出力部820は、量子化値設定部810より通知された、所定の1種類の圧縮レベルに応じた量子化値(Qn)を、画像圧縮装置130に送信する。また、出力部820は、量子化値設定部810より通知された限界量子化値を、画像圧縮装置130に送信する。更に、出力部820は、量子化値決定部840により決定された決定量子化値を、画像圧縮装置130に送信する。
【0105】
精度評価部830は、
・出力部820より限界量子化値が送信されることで、画像圧縮装置130において、当該限界量子化値に基づく圧縮処理が行われ、
・画像圧縮装置130より送信された圧縮データが、入力部310において復号され、
・復号データがCNN部320に入力され、認識処理が行われることで、認識結果が出力された場合に、
当該認識結果をCNN部320より取得する。また、精度評価部830は、CNN部320より取得した認識結果が所定の許容値以上であるか否かを評価し、評価結果を量子化値決定部840に通知する。
【0106】
量子化値決定部840は決定部の他の一例であり、精度評価部830より通知された評価結果に基づいて決定量子化値を決定し、出力部820に通知する。具体的には、量子化値決定部840は、精度評価部830より、所定の許容値以上であるとの評価結果が通知された場合には、量子化値設定部810より通知された限界量子化値を、決定量子化値に決定し、出力部820に通知する。
【0107】
一方、精度評価部830より、所定の許容値未満であるとの評価結果が通知された場合には、量子化値設定部810より通知された暫定量子化値を、決定量子化値に決定し、出力部820に通知する。
【0108】
<量子化値設定部、精度評価部及び量子化値決定部による処理の具体例>
次に、量子化値設定部810、精度評価部830及び量子化値決定部840による処理の具体例について説明する。
図9は、量子化値設定部、精度評価部及び量子化値決定部による処理の具体例を示す第2の図である。
図9において、グラフ910は、横軸に量子化値、縦軸に集計値をとり、量子化値の変化に対する集計値の変化を表す、3つのパターンを示したグラフである。ここで、量子化値の変化に対する集計値の変化は、以下のような性質を有する。
・低い圧縮レベルが最適な圧縮レベルとなることが推定されるブロックの場合、グラフは、低い圧縮レベルで立ち上がり、高い圧縮レベルを設定した場合の集計値が大きくなる(グループX参照)。
・中程度の圧縮レベルが最適な圧縮レベルとなることが推定されるブロックの場合、グラフは、中程度の圧縮レベルで立ち上がり、高い圧縮レベルを設定した場合の集計値は中程度になる(グループY参照)。
・高い圧縮レベルが最適な圧縮レベルとなることが推定されるブロックの場合、グラフは、高い圧縮レベルで立ち上がり、高い圧縮レベルを設定した場合の集計値が小さくなる(グループZ参照)。
【0109】
図9の例は、量子化値設定部810が、所定の1種類の圧縮レベルに応じた量子化値(Q
n)を、出力部820に通知したことに応じて、所定の1種類の圧縮レベルに対応する各ブロックの集計値を集計結果格納部390より読み出した様子を示している。これにより、量子化値設定部810は、各ブロックがいずれのグループに属するかを判定することができるとともに、各ブロックの暫定量子化値を判定することができる。
【0110】
図9の例の場合、グループXに属すると判定された場合、暫定量子化値="Q
X"と判定される。また、グループYに属すると判定された場合、暫定量子化値="Q
Y"と判定される。また、グループZに属すると判定された場合、暫定量子化値="Q
Z"と判定される。
【0111】
また、
図9の例は、復号データが所定の画質となる限界量子化値として、グループXに属すると判定されたブロックには"Q
CX"が設定されることを示している。また、復号データが所定の画質となる限界量子化値として、グループYに属すると判定されたブロックには"Q
CY"が設定されることを示している。更に、復号データが所定の画質となる限界量子化値として、グループZに属すると判定されたブロックには"Q
CZ"が設定されることを示している。
【0112】
上述したように、限界量子化値は画像圧縮装置130に送信された後、当該限界量子化値に基づく圧縮処理が行われ、圧縮データは、解析装置120に送信される。また、圧縮データは、入力部310により復号された後、CNN部320に入力されることで、認識処理が行われる。更に、認識結果に対しては、精度評価部830にて許容値以上であるか否かの評価が行われる。
【0113】
図9において、符号920は、量子化値決定部840による決定量子化値の決定方法の具体例を示したものである。
図9の符号920に示すように、集計値がグループXに属するブロックの場合、
・限界量子化値="Q
CX"に対応する認識結果が許容値以上であると評価された場合、量子化値決定部840では、限界量子化値="Q
CX"を決定量子化値に決定する。
・限界量子化値="Q
CX"に対応する認識結果が許容値未満であると評価された場合、量子化値決定部840では、暫定量子化値="Q
X"を決定量子化値に決定する。
【0114】
また、
図9の符号920に示すように、集計値がグループYに属するブロックの場合、
・限界量子化値="Q
CY"に対応する認識結果が許容値以上であると評価された場合、量子化値決定部840では、限界量子化値="Q
CY"を決定量子化値に決定する。
・限界量子化値="Q
CY"に対応する認識結果が許容値未満であると評価された場合、量子化値決定部840では、暫定量子化値="Q
Y"を決定量子化値に決定する。
【0115】
また、
図9の符号920に示すように、集計値がグループZに属するブロックの場合、
・限界量子化値="Q
CZ"に対応する認識結果が許容値以上であると評価された場合、量子化値決定部840では、限界量子化値="Q
CZ"を決定量子化値に決定する。
・限界量子化値="Q
CZ"に対応する認識結果が許容値未満であると評価された場合、量子化値決定部840では、暫定量子化値="Q
Z"を決定量子化値に決定する。
【0116】
<圧縮処理システムによる圧縮処理の流れ>
次に、圧縮処理システム100による圧縮処理の流れについて説明する。
図10は、圧縮処理システムによる圧縮処理の流れの一例を示す第2のフローチャートである。
【0117】
ステップS1001において、量子化値設定部810は、所定の1種類の圧縮レベルに応じた量子化値(Qn)を出力部820に通知する。
【0118】
ステップS1002において、入力部310は画像データをフレーム単位で取得する。
【0119】
ステップS1003において、出力部820は、画像データと所定の1種類の圧縮レベルに応じた量子化値(Qn)とを画像圧縮装置130に送信する。また、画像圧縮装置130は、送信された画像データに対して、所定の1種類の圧縮レベルに応じた量子化値(Qn)を用いて圧縮処理を行い、圧縮データを生成する。
【0120】
ステップS1004において、入力部310は、画像圧縮装置130により生成された圧縮データを取得し、復号する。また、CNN部320は、復号データに対して認識処理を行い、認識結果を出力する。
【0121】
ステップS1005において、重要特徴マップ生成部350は、認識結果に基づいて算出される誤差から、誤差逆伝播法を利用することで、各領域の認識結果への影響度を示す重要特徴マップを生成する。
【0122】
ステップS1006において、集計部360は、重要特徴マップに基づいて、各領域の認識結果への影響度をブロック単位で集計する。また、集計部360は、集計値を、集計結果格納部390に格納する。
【0123】
ステップS1007において、量子化値設定部810は、集計結果格納部390に格納された各ブロックの集計値が、いずれのグループに属するかを判定する。これにより、量子化値設定部810は、各ブロックをグループ分けする。
【0124】
ステップS1008において、量子化値設定部810は、ブロックごとに、判定したグループそれぞれに対応付けられた最適な圧縮レベルに応じた量子化値(暫定量子化値)を、量子化値決定部840に通知する。また、量子化値設定部810は、ブロックごとに、判定したグループそれぞれに対応付けられた限界量子化値を、出力部820に通知する。
【0125】
ステップS1009において、出力部820は、限界量子化値を画像圧縮装置130に送信する。また、画像圧縮装置130は、限界量子化値を用いて圧縮処理を行うことで、圧縮データを生成し、解析装置120に送信する。
【0126】
ステップS1010において、入力部310は、画像圧縮装置130より送信された圧縮データを復号する。また、CNN部320は、復号データに対して認識処理を行う。更に、精度評価部830は、認識結果が所定の許容値以上であるか否かを評価する。
【0127】
ステップS1011において、量子化値決定部840は、認識結果が所定の許容値以上であるか否かに基づいて、ブロックごとに決定量子化値を決定する。
【0128】
ステップS1012において、画像圧縮装置130は、決定量子化値を用いて、画像データに対して圧縮処理を行い、圧縮データをストレージ装置140に格納する。
【0129】
以上の説明から明らかなように、第2の実施形態に係る解析装置は、画像データに対して所定の1種類の圧縮レベル(に応じた量子化値)を用いて圧縮処理が行われた場合の圧縮データを取得する。また、第2の実施形態に係る解析装置は、圧縮データを復号した復号データに対して認識処理を行った際の認識結果に基づいて算出される誤差から、誤差逆伝播法を利用することで、各領域の認識結果への影響度を示す重要特徴マップを生成する。また、第2の実施形態に係る解析装置は、重要特徴マップに基づいて影響度をブロック単位で集計し、集計値が属するグループを判定することで、グループに対応付けられた暫定量子化値を判定する。また、第2の実施形態に係る解析装置は、グループに対応付けられた暫定量子化値とは異なる限界量子化値を用いて圧縮処理が行われた場合の圧縮データを取得する。また、第2の実施形態に係る解析装置は、取得した圧縮データを復号した復号データの認識結果が許容値以上であるか否かに応じて、暫定量子化値または限界量子化値のいずれかを決定量子化値として決定する。
【0130】
このように、第2の実施形態に係る解析装置は、所定の1種類の圧縮レベルで画像データに対して圧縮処理を行うことで、画像データをブロック単位でグループ分けし、認識処理に適した圧縮レベル(に応じた暫定量子化値)を判定する。これにより、認識処理に適した圧縮レベルを判定するまでの処理を簡素化することができる。また、第2の実施形態に係る解析装置は、グループごとに予め対応付けられた限界量子化値による圧縮処理が可能か否かを、認識結果と許容値とを比較することで(つまり、重要特徴マップを生成することなく)判定する。これにより、より高い圧縮レベルの適否を判定するまでの処理を簡素化することができる。
【0131】
この結果、第2の実施形態によれば、AIによる画像の認識処理に適した圧縮処理を、演算量を抑えて実現することができる。
【0132】
[第3の実施形態]
上記第1の実施形態では、4種類の圧縮レベルに応じた量子化値を用いて圧縮処理を行う場合について説明した。しかしながら、圧縮処理を行う際に用いる圧縮レベルの種類は4種類に限定されない。例えば、画像圧縮装置130において設定可能な量子化値の数が51個であったとすると、26種類の圧縮レベルに応じた量子化値を用いて(つまり、1つ置きの量子化値を用いて)圧縮処理を行ってもよい。これにより、51個の量子化値を用いて圧縮処理を行う場合と同等のきざみ精度で、決定量子化値を決定することができる。
【0133】
また、上記第1の実施形態では、1種類の補間量子化値を用いて圧縮処理を行う場合について説明した。しかしながら、圧縮処理を行う際に用いる補間量子化値の種類の数は、1種類に限定されず、複数種類であってもよい。
【0134】
このように、圧縮レベルの種類の数及び補間量子化値の種類の数は、圧縮処理システム100全体の演算量をどのように設計するかに応じて、任意に決定されるものとする。
【0135】
また、上記第1及び第2の実施形態では、暫定量子化値と補間量子化値のいずれか、または、暫定量子化値と限界量子化値のいずれかを、決定量子化値として決定するものとして説明した。しかしながら、決定量子化値の決定方法はこれに限定されない。例えば、決定量子化値を決定する際に、暫定量子化値と補間量子化値のいずれか、または、暫定量子化値と限界量子化値のいずれかを選択し、選択した量子化値に対して重要特徴マップに応じて微調整を行ったうえで決定量子化値を決定してもよい。
【0136】
また、上記第2の実施形態では、限界量子化値が暫定量子化値より大きい値であるとして説明したが、限界量子化値は暫定量子化値より小さい値であってもよい。あるいは、暫定量子化値より大きい限界量子化値と、暫定量子化値より小さい限界量子化値の両方を用いて圧縮処理を行い、認識結果を評価してもよい。
【0137】
上記第1及び第2の実施形態では、画像データ内に認識処理の対象となるオブジェクトが1つ含まれているものとして説明した。しかしながら、画像データ内には、認識処理の対象となるオブジェクトが複数含まれている場合もあり、その場合、オブジェクトごとに、認識結果が異なることも考えられる。
【0138】
このような場合、量子化値決定部380、840では、各ブロックがいずれのオブジェクトに含まれているかを判定し、判定したオブジェクトの認識結果に従って、決定量子化値を決定するものとする。
【0139】
[第4の実施形態]
上記第1乃至第3の実施形態では、認識処理に適した圧縮レベルを判定するまでの処理(あるいは、より高い圧縮レベルの適否を判定するまでの処理)を簡素化することで、決定量子化値を決定する際の解析装置120における演算量を減らす場合について説明した。これに対して、第4の実施形態では、CNN部内の処理を簡素化することで、決定量子化値を決定する際の解析装置120における演算量を減らす場合について説明する。以下、第4の実施形態について、上記第1乃至第3の実施形態との相違点を中心に説明する。
【0140】
<解析装置の機能構成>
はじめに、第4の実施形態に係る解析装置120の機能構成について説明する。
図11は、解析装置の機能構成の一例を示す第3の図である。
図3に示した機能構成との相違点は、CNN部1110、量子化値設定部1120、量子化値決定部1130の機能が、CNN部320、量子化値設定部330、量子化値決定部380の機能とは異なる点である。
【0141】
CNN部1110は、YOLO部1111、後処理部1112、オブジェクト位置格納部1113を有する。
【0142】
YOLO部1111は第1の算出部の一例であり、学習済みのYOLOモデルであり、画像データまたは復号データを入力することで、画像データまたは復号データの各セルのスコア(認識処理を行うことで得たオブジェクトごとのスコア)を算出する。
【0143】
また、YOLO部1111は、復号データを入力することで算出した各セルのスコアについて、オブジェクトごとに誤差を算出し、算出した誤差を逆伝播する。これにより、重要特徴マップ生成部350では、各セルの認識結果への影響度を示す重要特徴マップを生成することができる。
【0144】
なお、YOLO部1111では、誤差を算出する際、画像データをYOLO部1111に入力することで算出した各セルのスコアを用いる。また、オブジェクトごとに誤差を算出する際、YOLO部1111は、画像データを入力することで算出した各セルのスコアに基づいて、後処理部1112が認識したオブジェクトの位置を示す情報を、オブジェクト位置格納部1113より読み出して用いる。
【0145】
後処理部1112は特定部の一例であり、YOLO部1111に画像データが入力されることで出力された各セルのスコアに基づいて、画像データに含まれる各オブジェクトの位置を特定する。また、後処理部1112は、特定した各オブジェクトの位置を示す情報を、オブジェクト位置格納部1113に格納する。
【0146】
このように、CNN部1110は、オブジェクトごとの誤差を算出する際に用いる各オブジェクトの位置を示す情報を、後処理部1112を動作させることなく、オブジェクト位置格納部1113より読み出すことで取得する。つまり、CNN部1110内の処理を簡素化する。これにより、誤差を逆伝播させて重要特徴マップ生成部350(第2の算出部の一例)が重要特徴マップを生成する際の演算量を削減することができる。
【0147】
量子化値設定部1120は、画像圧縮装置130が圧縮処理を行う際に用いる、複数の圧縮レベル(本実施形態では、設定可能な51種類の圧縮レベル)に応じた量子化値を、順次、出力部340に通知する。
【0148】
量子化値決定部1130は決定部の他の一例であり、集計結果格納部390に格納された、複数の圧縮レベルに応じた量子化値を出力部340に通知したことに応じて、複数の圧縮レベルに対応する集計値を、集計結果格納部390より読み出す。また、量子化値決定部1130は、読み出した集計値に基づいて、最適な圧縮レベルに応じた量子化値である決定量子化値を決定する。また、量子化値決定部1130は、決定した決定量子化値を出力部340に通知する。
【0149】
<CNN部による処理の具体例>
次に、CNN部1110による処理の具体例について説明する。
図12は、CNN部による処理の具体例を示す図である。
図12に示すように、画像データ1210が入力されると、YOLO部1111は、各セルのスコア1220を算出する。また、算出された各セルのスコア1220は、後処理部1112に入力され、後処理部1112では、画像データ1210に含まれるオブジェクトの位置1230を特定する。また、後処理部1112は、特定したオブジェクトの位置1230を示す情報を、オブジェクト位置格納部1113に格納する。
【0150】
続いて、復号データ1210_1(量子化値=QP1を用いて圧縮処理された圧縮データを復号した復号データ)が入力されると、YOLO部1111は、各セルのスコア1220_1を算出する。また、YOLO部1111は、算出した各セルのスコア1220_1と算出した各セルのスコア1220との誤差を、オブジェクト位置格納部1113に格納された各オブジェクトの位置1230を示す情報に基づいて、オブジェクトごとに算出する。更に、YOLO部1111は、算出したオブジェクトごとの誤差を逆伝播する。これにより、重要特徴マップ生成部350では、復号データ1210_1についての重要特徴マップを生成することができる。
【0151】
続いて、復号データ1210_2(量子化値=QP2を用いて圧縮処理された圧縮データを復号した復号データ)が入力されると、YOLO部1111は、各セルのスコア1220_2を算出する。また、YOLO部1111は、算出した各セルのスコア1220_2と算出した各セルのスコア1220との誤差を、オブジェクト位置格納部1113に格納された各オブジェクトの位置1230を示す情報に基づいて、オブジェクトごとに算出する。更に、YOLO部1111は、算出したオブジェクトごとの誤差を逆伝播する。これにより、重要特徴マップ生成部350では、復号データ1210_2についての重要特徴マップを生成することができる。
【0152】
CNN部1110では、復号データ1210_51まで、上記処理を繰り返す。これにより、重要特徴マップ生成部350では、復号データ1210_51についての重要特徴マップを生成することができる。
【0153】
<量子化値決定部による処理の具体例>
次に、量子化値決定部1130による処理の具体例について説明する。
図13は、量子化値決定部による処理の具体例を示す図である。
図13において、グラフ1310_1~1310_mは、横軸に量子化値、縦軸に集計値をとり、量子化値の変化に対する各ブロック(ブロック1~ブロックm)の集計値をプロットすることで生成したグラフである。
【0154】
量子化値決定部1130では、グラフ1310_1~1310_mそれぞれにおいて、例えば、集計値の変化量が所定の閾値を超えた場合の量子化値を、最適な圧縮レベルに応じた量子化値である決定量子化値として決定する。
【0155】
図13の例は、ブロック1の決定量子化値が"Q
42"に決定され、ブロック2の決定量子化値が"Q
5"に決定され、ブロック3の決定量子化値が"Q
12"に決定され、ブロック51の決定量子化値が"Q
46"に決定された様子を示している。
【0156】
<圧縮処理システムによる圧縮処理の流れ>
次に、圧縮処理システム100による圧縮処理の流れについて説明する。
図14は、圧縮処理システムによる圧縮処理の流れの一例を示す第3のフローチャートである。
図7を用いて説明した第1のフローチャートとの相違点は、ステップS1401、S1402、S1403、S1404、S1405である。
【0157】
ステップS1401において、入力部310は画像データをフレーム単位で取得し、CNN部1110は画像データに対して認識処理を行い、セル単位のスコアを算出したうえで、認識結果を出力する。また、CNN部1110は画像データに含まれるオブジェクトの位置を示す情報を格納する。
【0158】
ステップS1402において、重要特徴マップ生成部350はオブジェクトごとに算出された、各セルのスコアの誤差を逆伝播することで重要特徴マップを生成する。また、集計部360は各領域の影響度をブロック単位で集計し、集計結果を集計結果格納部390に格納する。
【0159】
ステップS1403において、入力部310は圧縮データを取得し、取得した圧縮データを復号することで復号データを生成する。また、CNN部1110は復号データに対して認識処理を行い、セル単位のスコアを出力する。
【0160】
ステップS1404において、重要特徴マップ生成部350はオブジェクトの位置を示す情報に基づいてオブジェクトごとに算出された、各セルのスコアの誤差を逆伝播することで、重要特徴マップを生成する。また、集計部360は、各領域の影響度をブロック単位で集計し、集計結果を集計結果格納部390に格納する。
【0161】
ステップS1405において、量子化値決定部1130は、ブロック単位で決定量子化値を決定し、決定量子化値を画像圧縮装置130に送信する。
【0162】
以上の説明から明らかなように、第4の実施形態に係る解析装置は、画像データに対して認識処理を行い、各セルのスコアを算出する。また、第4の実施形態に係る解析装置は、算出された各セルのスコアに基づいて、画像データに含まれるオブジェクトの位置を特定する。また、第4の実施形態に係る解析装置は、画像データに対して、設定可能な全ての量子化値を用いて圧縮処理が行われた場合の各圧縮データを取得する。また、第4の実施形態に係る解析装置は、各圧縮データを復号した復号データに対して認識処理を行い、特定されたオブジェクトの位置を示す情報に基づいて、オブジェクトごとに誤差を算出する。また、第4の実施形態に係る解析装置は、算出した誤差を逆伝播することで、各セルの認識結果への影響度を示す重要特徴マップを生成する。また、第4の実施形態に係る解析装置は、重要特徴マップに基づいて、認識結果への影響度をブロック単位で集計し、設定可能な全ての圧縮レベルに対応する、各ブロックの集計値に基づいて、画像データの各ブロックの決定量子化値を決定する。
【0163】
このように、第4の実施形態に係る解析装置は、オブジェクトごとの誤差を算出する際に、画像データに対して認識処理を行った際に特定したオブジェクトの位置を示す情報を用いる。これにより、誤差を逆伝播させて重要特徴マップを生成する際のCNN部内の処理を簡素化することができる。
【0164】
この結果、第4の実施形態によれば、AIによる画像の認識処理に適した圧縮処理を、演算量を抑えて実現することができる。
【0165】
[その他の実施形態]
上記第4の実施形態では、CNN部内の処理を簡素化する場合について説明した。しかしながら、上記第1乃至第3の実施形態と同様に、認識処理に適した圧縮レベルを判定するまでの処理(あるいは、高い圧縮レベルの適否を判定するまでの処理)を簡素化しつつ、更に、CNN部内における処理を簡素化してもよい。
【0166】
また、上記第4の実施形態では、CNN部のモデルとして、NMS(Non-Maximum Suppression)などの手法を用いてクラスタ処理し、認識結果(バウンディングボックス)を得るYOLOモデルを挙げた。しかしながら、CNN部のモデルとして、YOLOモデル以外のCNNモデルを用いてもよい。
【0167】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0168】
100 :圧縮処理システム
110 :撮像装置
120 :解析装置
130 :画像圧縮装置
140 :ストレージ装置
201 :プロセッサ
202 :メモリ
203 :補助記憶装置
204 :I/F装置
205 :通信装置
206 :ドライブ装置
210 :操作装置
220 :表示装置
310 :入力部
320 :CNN部
330 :量子化値設定部
340 :出力部
350 :重要特徴マップ生成部
360 :集計部
370 :精度評価部
380 :量子化値決定部
390 :集計結果格納部
410 :画像データ
420 :集計結果
530 :符号
620 :符号化部
621 :差分部
622 :直交変換部
623 :量子化部
624 :エントロピ符号化部
625 :逆量子化部
626 :逆直交変換部
627 :加算部
628 :バッファ部
629 :ループ内フィルタ部
630 :フレームバッファ部
631 :画面内予測部
632 :画面間予測部
810 :量子化値設定部
820 :出力部
830 :精度評価部
840 :量子化値決定部
1110 :CNN部
1120 :量子化値設定部
1130 :量子化値決定部