(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-12
(45)【発行日】2024-11-20
(54)【発明の名称】情報処理装置、情報処理方法、および、プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20241113BHJP
G06V 10/82 20220101ALI20241113BHJP
【FI】
G06T7/00 350C
G06V10/82
(21)【出願番号】P 2022192249
(22)【出願日】2022-11-30
【審査請求日】2023-10-18
(73)【特許権者】
【識別番号】322003857
【氏名又は名称】パナソニックオートモーティブシステムズ株式会社
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】吉濱 豊
【審査官】豊田 好一
(56)【参考文献】
【文献】特開2021-196900(JP,A)
【文献】特開2022-83484(JP,A)
【文献】特開2021-170293(JP,A)
【文献】特開2020-135872(JP,A)
【文献】特開2021-157207(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
画像が入力され、入力された前記画像に対してニューラルネットワークモデルを用いて推論を行う推論部と、
前記推論部による前記推論の結果を示す結果情報を処理して出力値を出力する後処理部とを備え、
前記推論部は、
前記ニューラルネットワークモデルが有する複数の層のうち、最も入力層側に位置する1以上の層として、1以上のDWConv(Depthwise Convolution)層であって、ストライドが2以上であるDWConv層を有する
情報処理装置。
【請求項2】
前記推論部は、
前記ニューラルネットワークモデルが有する複数の層のうち、前記1以上のDWConv層の後段の層として、1以上のConv(Convolution)層であって、ストライドが2以上であるConv層を有する
請求項1に記載の情報処理装置。
【請求項3】
前記推論部は、
前記画像として、フルハイビジョンサイズの画像が入力される
請求項1に記載の情報処理装置。
【請求項4】
前記1以上のDWConv層は、2個のDWConv層である
請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
情報処理装置が実行する情報処理方法であって、
画像が入力され、入力された前記画像に対してニューラルネットワークモデルを用いて推論を行い、
前記推論の結果を示す結果情報を処理して出力値を出力し、
前記ニューラルネットワークモデルは、前記ニューラルネットワークモデルが有する複数の層のうち、最も入力層側に位置する1以上の層として、1以上のDWConv層であって、ストライドが2以上であるDWConv層を有する
情報処理方法。
【請求項6】
請求項5に記載の情報処理方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、および、プログラムに関する。
【背景技術】
【0002】
画像に対する推論処理を、ディープニューラルネットワークを用いて行う技術がある。推論処理において、予め、画像のサイズを縮小する処理がなされることがある(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、画像のサイズを縮小するなど、画像のサイズを調整する処理は、プロセッサに比較的高い負荷をかけ、また、上記処理の実行に比較的長い時間を要するという問題がある。
【0005】
そこで、本発明は、画像のサイズを調整する処理の負荷を低減する情報処理装置等を提供する。
【課題を解決するための手段】
【0006】
本発明の一態様に係る情報処理装置は、画像が入力され、入力された前記画像に対してニューラルネットワークモデルを用いて推論を行う推論部と、前記推論部による前記推論の結果を示す結果情報を処理して出力値を出力する後処理部とを備え、前記推論部は、前記ニューラルネットワークモデルが有する複数の層のうち、最も入力層側に位置する1以上の層として、1以上のDWConv(Depthwise Convolution)層であって、ストライドが2以上であるDWConv層を有する情報処理装置である。
【0007】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0008】
本発明の情報処理装置は、画像のサイズを調整する処理の負荷を低減することができる。
【図面の簡単な説明】
【0009】
【
図1】実施の形態における情報処理装置の構成を示す説明図である。
【
図2A】実施の形態におけるニューラルネットワークモデルの構成を示す説明図である。
【
図2B】畳み込み演算におけるストライドを示す説明図である。
【
図3】実施の形態における情報処理装置の処理を示すフロー図である。
【
図4】実施の形態における情報処理装置の構成を示す説明図である。
【
図5】実施の形態における情報処理装置の処理を示すフロー図である。
【
図6】比較例における処理部の構成を示す説明図である。
【
図7】比較例におけるニューラルネットワークモデルの構成を示す説明図である。
【
図8】比較例における情報処理装置の処理を示すフロー図である。
【
図9】比較例における処理部の構成を示す説明図である。
【
図10】比較例における情報処理装置の処理を示すフロー図である。
【
図11】実施の形態における情報処理装置の推論精度の例を示す説明図である。
【
図12】実施の形態における情報処理装置の処理時間の例を示す説明図である。
【
図13】実施の形態におけるニューラルネットワークモデルの構成の具体例を示す説明図である。
【発明を実施するための形態】
【0010】
(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、画像を縮小する処理に関し、以下の問題が生じることを見出した。
【0011】
画像に対する推論処理を、ディープニューラルネットワークを用いて行う場合、入力される画像の画像サイズが比較的大きい(言い換えれば、解像度が比較的高い)と、ディープニューラルネットワークを用いた処理の負荷の増大、または、処理に要する時間の増大を招く。
【0012】
例えば、30fpsのフレームレートで取得される画像に対してディープニューラルネットワークを用いて推論処理を行う場合、一の画像に対する推論処理を(1/30)秒以内に行うことができれば、推論処理をリアルタイムで行うことができる利点がある。
【0013】
そこで、ディープニューラルネットワークを用いた推論処理において、予め、画像を縮小する処理がなされることがある(特許文献1参照)。縮小された画像を用いてディープニューラルネットワークを用いた推論処理を行うことで、情報処理装置の処理負荷の低減、および、処理の実行に要する時間の短縮の効果が得られる。
【0014】
しかしながら、画像のサイズを縮小するなど、画像のサイズを調整する処理は、プロセッサに比較的高い負荷をかけ、また、上記処理の実行に比較的長い時間を要するという問題がある。
【0015】
そこで、本発明は、画像のサイズを調整する処理の負荷を低減する情報処理装置等を提供する。
【0016】
以下、本明細書の開示内容から得られる発明を例示し、その発明から得られる効果等を説明する。
【0017】
(1)画像が入力され、入力された前記画像に対してニューラルネットワークモデルを用いて推論を行う推論部と、前記推論部による前記推論の結果を示す結果情報を処理して出力値を出力する後処理部とを備え、前記推論部は、前記ニューラルネットワークモデルが有する複数の層のうち、最も入力層側に位置する1以上の層として、1以上のDWConv(Depthwise Convolution)層であって、ストライドが2以上であるDWConv層を有する、情報処理装置。
【0018】
上記態様によれば、情報処理装置は、ニューラルネットワークモデルの最も入力層側に位置する1以上の、ストライドが2以上であるDWConv層を有するので、入力された画像に対するDWConv層を用いた縮小処理と、縮小した画像に対する後続の層を用いた推論処理とを、ニューラルネットワークモデルを用いてまとめて行うことができる。これは、ストライドがS(ただしS≧2)であるDWConv層が、入力画像を(1/S)倍に調整する機能を有することに基づく。
【0019】
仮に、情報処理装置が、ニューラルネットワークモデルに入力される前に画像に縮小処理を施すとすれば、縮小処理と推論処理とを別個に実行することになる。縮小処理は、一般に、プロセッサに比較的高い負荷をかける。また、情報処理装置が縮小処理と推論処理とを別個に実行する場合、縮小処理および推論処理そのものの負荷に加えて、各処理の呼び出しおよび復帰の処理も必要となり、負荷の増大を招く。上記態様によれば、情報処理装置は、ニューラルネットワークモデルに入力される前に画像に縮小処理を施す必要がないので、上記縮小処理を行うとすれば生じ得る処理負荷の上昇を未然に回避することに寄与する。よって、情報処理装置は、画像のサイズを調整する処理の負荷を低減することができる。
【0020】
(2)前記推論部は、前記ニューラルネットワークモデルが有する複数の層のうち、前記1以上のDWConv層の後段の層として、1以上のConv(Convolution)層であって、ストライドが2以上であるConv層を有する、(1)に記載の情報処理装置。
【0021】
上記態様によれば、DWConv層を用いて縮小された画像に対して、引き続き、ニューラルネットワークモデルが有する当該Conv層および後続の層により推論処理を行うことができる。これにより、ニューラルネットワークモデルを用いて縮小処理と推論処理とをまとめて実行することができ、処理負荷の低減に一層寄与する。よって、情報処理装置は、画像のサイズを調整する処理の負荷を、より一層低減することができる。
【0022】
(3)前記推論部は、前記画像として、フルハイビジョンサイズの画像が入力される、(1)または(2)に記載の情報処理装置。
【0023】
上記態様によれば、情報処理装置は、フルハイビジョンサイズの画像に対する推論処理において、画像のサイズを調整する処理の負荷を低減することができる。
【0024】
(4)前記1以上のDWConv層は、2個のDWConv層である、(1)~(3)のいずれかに記載の情報処理装置。
【0025】
上記態様によれば、情報処理装置は、ニューラルネットワークモデルの最も入力側に位置する2個のDWConv層を用いた縮小処理により、入力画像のサイズを縦方向および横方向それぞれに1/4に容易に調整しながら、後続の層を用いて推論処理を実行することができる。よって、情報処理装置は、より容易に、画像のサイズを調整する処理の負荷を低減することができる。
【0026】
(5)情報処理装置が実行する情報処理方法であって、画像が入力され、入力された前記画像に対してニューラルネットワークモデルを用いて推論を行い、前記推論の結果を示す結果情報を処理して出力値を出力し、前記ニューラルネットワークモデルは、前記ニューラルネットワークモデルが有する複数の層のうち、最も入力層側に位置する1以上の層として、1以上のDWConv層であって、ストライドが2以上であるDWConv層を有する、情報処理方法。
【0027】
上記態様によれば、上記情報処理装置と同様の効果を奏する。
【0028】
(6)(5)に記載の情報処理方法をコンピュータに実行させるプログラム。
【0029】
上記態様によれば、上記情報処理装置と同様の効果を奏する。
【0030】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【0031】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0032】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0033】
(実施の形態)
本実施の形態において、画像のサイズを調整する処理の負荷を低減する情報処理装置10などについて説明する。画像のサイズは、例えば、画像の縦方向または横方向の画素数であり、この場合を例として説明するが、これに限られない。
【0034】
まず、本実施の形態におけるニューラルネットワークモデルを用いた推論処理について説明する。
【0035】
図1は、本実施の形態における情報処理装置10の構成を示す説明図である。
図2Aは、本実施の形態におけるニューラルネットワークモデル15の構成を示す説明図である。
図2Bは、畳み込み演算におけるストライドを示す説明図である。
【0036】
情報処理装置10は、ニューラルネットワークモデル15を用いた推論処理を行う情報処理装置の構成の例である。
【0037】
図1に示されるように、本実施の形態における情報処理装置10は、取得部11と、処理部12と、出力部13とを備える。情報処理装置10が備える構成要素の一部または全部は、情報処理装置10が備えるプロセッサ(例えばCPU(Central Processing Unit))がメモリ(不図示)を用いて所定のプログラムを実行することで実現される。
【0038】
取得部11は、情報処理装置10による推論の対象となる画像を取得する。情報処理装置10による推論の対象となる画像は、例えば、フルハイビジョンサイズの画像、つまり、1920画素×1080画素の画像であるがこれに限られない。取得部11は、上記画像を、情報処理装置10の外部の装置から通信インタフェース(不図示)を介して取得してもよいし、情報処理装置10が備える記憶装置(不図示)に格納されている画像を読み出すことによって取得してもよい。取得部11は、取得した画像を処理部12に提供する。
【0039】
処理部12は、取得部11から提供された画像に対してニューラルネットワークモデルを用いた推論処理を行う。処理部12は、行った推論処理の結果を示す情報を出力部13に提供する。推論処理には、例えば、画像に映っている物体の検知処理、および、画像に映っている文字または図形の認識処理等が含まれ得る。
【0040】
処理部12は、推論部121と、後処理部122とを有する。
【0041】
推論部121は、画像が入力され、入力された画像に対してニューラルネットワークモデル(NNモデルともいう)15を用いて推論を行う。ニューラルネットワークモデル15は、入力層、中間層および出力層を有するディープニューラルネットワークモデルである。
【0042】
なお、推論部121に入力される画像は、取得部11から提供された画像であり、画像のサイズを調整する処理(いわゆる前処理)は施されていない画像である。言い換えれば、処理部12は、後述する比較例における情報処理装置の前処理部921に相当する前処理部(
図6参照)を備えていない。
【0043】
図2Aに示されるように、ニューラルネットワークモデル15は中間層として、入力側から出力側に向かって、DWConv層21および22と、Conv層23および24等とを有する。ニューラルネットワークモデル15が有する各層は、当該層に入力される入力値に対して演算(例えば、フィルタを用いた畳み込み演算等)を施し、演算の結果として得た値を出力する。なお、
図2Aにおいて、入力層および出力層の図示は省略されている。
【0044】
DWConv層21および22(DWConv層21等ともいう)は、それぞれ、ストライドが2であるDWConv層である。DWConv層21等は、それぞれ、ストライドが2以上であるDWConvの例である。
【0045】
ストライドは、畳み込みニューラルネットワークにおける、畳み込み演算ごとのフィルタの移動幅である(
図2B参照)。ストライドが大きいほど、より小さなサイズの出力画像が得られる。具体的には、
図2Bの(a)に示される、ストライドが1である場合には、入力画像と同じ出力画像が得られるが、
図2Bの(b)に示される、ストライドが2である場合には、出力画像のサイズは、入力画像のサイズの約1/2である。
【0046】
なお、入力画像サイズがストライドで割り切れる場合に、出力画像のサイズが入力画像のサイズの1/2になる。一方、入力画像サイズがストライドで割り切れない場合には、出力画像のサイズが入力画像のサイズの1/2より若干大きくなることがあるが、出力画像のサイズと、入力画像のサイズの1/2との差分は、入力画像のサイズまたは出力画像のサイズに比べて極めて小さい。上記説明では、上記両方の場合を含めて、出力画像のサイズが入力画像のサイズの約1/2であると記載している。
【0047】
このように、ストライドがS(ただしS≧2)であるDWConv層は、入力画像のサイズを約(1/S)倍に調整する機能を有するといえる。同様に、複数個の、ストライドがSであるDWConv層は、画像のサイズを約(1/S)のn乗倍に調整する機能を有するといえる。
【0048】
なお、DWConv層21等のストライドが3以上である場合も同様である。DWConv層21等のストライドがS(ただしS≧2)である場合、出力画像のサイズは、入力画像のサイズの約1/Sである。
【0049】
DWConv層21および22は、それぞれ、ストライドが2であるDWConv層であるので、入力画像のサイズの約1/4のサイズの出力画像を、後段の層に提供する。
【0050】
Conv層23および24は、推論処理に用いられる層である。例えば、Conv層23は、ストライドが1以上であるConv層であり、Conv層24は、ストライドが1であるConv層である。なお、Conv層23とConv層24との間に、1以上のConv層またはPWConv(Pointwise Convolution)層が含まれてもよい。
【0051】
以上のように、ニューラルネットワークモデル15が有する複数の層のうち、最も入力層側に位置する1以上の層が、1以上のDWConv層であって、ストライドが2以上であるDWConv層であるという特徴がある。
図2Aに示される例では、1以上のDWConv層が、2個のDWConv層21および22に相当する。
【0052】
また、ニューラルネットワークモデル15が有する複数の層のうち、最も入力層側に位置する1以上のDWConv層の後段の層が、1以上のConv層であって、ストライドが2以上である1以上のConv層であるという特徴があってもよい。
【0053】
なお、一般に、ニューラルネットワークモデルの最も入力層側に、ストライドが2以上であるDWConv層が配置される構成は、知られていない。ニューラルネットワークモデルの最も入力層側に、画像サイズの変更を伴うDWConv層が配置されると、単に入力画像のサイズを縮小することになるからである。
【0054】
後処理部122は、推論部121による推論の結果を示す結果情報に対して後処理を実行する。例えば、後処理部122は、推論部121による推論結果を示す情報が、物体の検知確率を示すスコア情報である場合には、比較的高いスコア情報を有する物体を示す情報(文字情報または画像)を生成する。
【0055】
ニューラルネットワークモデル15は、ニューラルネットワークモデル15が有する複数の層のうち、最も入力層側に位置する1以上の層として、ストライドが2以上である1以上のDWConv層を有する、という特徴を有する。
【0056】
また、ニューラルネットワークモデル15は、ニューラルネットワークモデル15が有する複数の層のうち、上記1以上のDWConv層の後段の層として、ストライドが2以上である1以上のConv層を有する、という特徴を有する。
【0057】
出力部13は、処理部12が実行した推論処理の結果を出力する。出力部13は、通信インタフェースを介して上記推論結果を他の装置に出力してもよい。情報処理装置10が表示画面(不図示)を備えている場合には上記推論結果を示す画像を表示画面に表示することで出力してもよい。また、情報処理装置10がスピーカ(不図示)を備えている場合には上記推論結果を示す音声をスピーカによりしてもよい。
【0058】
以降において、情報処理装置10が実行する処理(情報処理方法ともいう)を説明する。
【0059】
図3は、本実施の形態における情報処理装置10の処理を示すフロー図である。
図3に示される処理は、情報処理装置10によるディープニューラルネットワークを用いた推論処理の例である。
【0060】
ステップS101において、取得部11は、画像を取得し、処理部12(より具体的には推論部121)に提供する。
【0061】
ステップS102において、推論部121は、ステップS101で取得部11から提供された画像に対してニューラルネットワークモデル15を用いて推論処理を実行する。後処理部122は、推論部121による推論処理の結果に対する後処理を施す。
【0062】
ステップS103において、出力部13は、ステップS102で実行された推論処理の結果を出力する。
【0063】
図3に示される一連の処理により、情報処理装置10は、画像のサイズを調整する処理の負荷を低減することができる。
【0064】
以降において、本実施の形態におけるニューラルネットワークモデルの学習処理について説明する。
【0065】
図4は、本実施の形態における情報処理装置30の構成を示す説明図である。情報処理装置30は、ディープニューラルネットワークの学習処理を行う情報処理装置の構成の例である。
【0066】
図4に示されるように、情報処理装置30は、取得部31と、処理部32と、訓練部33とを備える。
【0067】
取得部31は、ニューラルネットワークモデル35の学習のための画像(訓練用画像ともいう)と、正解情報とを取得する。訓練用画像は、例えば、フルハイビジョンサイズの画像、つまり、1920画素×1080画素の画像であるがこれに限られない。訓練用画像は、予め用意された画像である。正解情報は、訓練用画像に紐づけられており、当該訓練用画像に対する推論処理によって処理部32が出力すべき情報である。正解情報は、推論処理が画像に映っている物体の検知処理である場合には、当該画像に物体が映っているか否かを示す情報であり得る。
【0068】
取得部31は、上記訓練用画像を、情報処理装置30の外部の装置から通信インタフェース(不図示)を介して取得してもよいし、情報処理装置30が備える記憶装置(不図示)に格納されている画像を読み出すことによって取得してもよい。取得部31が取得する訓練用画像の個数は、例えば数千~数万以上である。取得部31は、取得した訓練用画像を処理部32に提供する。
【0069】
処理部32は、取得部31から提供された訓練用画像に対してニューラルネットワークモデル35を用いた推論処理を行う。処理部32は、行った推論処理の結果を示す情報を訓練部33に提供する。推論処理は、情報処理装置10の処理部12が行う推論処理と同じである。情報処理装置30による学習がなされた時点でのニューラルネットワークモデル35が、情報処理装置10のニューラルネットワークモデル15として用いられ得る。
【0070】
処理部32は、推論部321と、後処理部322とを有する。
【0071】
推論部321は、画像が入力され、入力された画像に対してニューラルネットワークモデル35を用いて推論を行う。ニューラルネットワークモデル35は、ディープニューラルネットワークモデルである。ニューラルネットワークモデル35が有する層の構成は、ニューラルネットワークモデル15におけるものと同じである(
図2A参照)。
【0072】
後処理部322は、推論部321による推論の結果を示す結果情報を処理する。後処理部322は、後処理部122の処理と同じである。
【0073】
訓練部33は、ニューラルネットワークモデル35が有する各層のパラメータを調整することで、ニューラルネットワークモデル35の訓練を行う。訓練部33は、処理部32による推論処理によって得た出力情報と、取得部31から得られた正解情報とを比較して、出力情報が正解情報に近づくようにニューラルネットワークモデル35における各層のパラメータを調整する。
【0074】
情報処理装置30は、訓練用画像を用いて訓練部33によりニューラルネットワークモデル35の各層のパラメータを調整する。このように調整がなされたニューラルネットワークモデル35が、情報処理装置10の処理部12のニューラルネットワークモデル15として用いられる。
【0075】
図5は、本実施の形態における情報処理装置30の処理を示すフロー図である。
図5に示される処理は、情報処理装置30によるディープニューラルネットワークを用いた学習処理の例である。
【0076】
ステップS201において、取得部31は、訓練用画像を取得し、処理部32(具体的には推論部321)に提供する。
【0077】
ステップS202において、推論部321は、ステップS201で取得部31から提供された訓練用画像に対してニューラルネットワークモデル35を用いて推論処理を実行する。後処理部322は、推論部321による推論処理の結果に対する後処理を施す。
【0078】
ステップS203において、訓練部33は、ステップS202の推論処理の結果を用いてニューラルネットワークモデル35を訓練する。
【0079】
ステップS204において、訓練部33は、ニューラルネットワークモデル35による推論処理の精度が基準値以上であるか否かを判定する。推論処理の精度は、例えば物体検出におけるmAP(mean Average Precision)である。基準値は、推論処理の精度としてmAPを用いる場合には、例えば60%~90%の範囲の値とすることができる。推論処理の精度が基準値以上であると判定した場合(ステップS204でYes)には、
図5に示される一連の処理を終了し、そうでない場合(ステップS204でNo)には、ステップS201を再び実行する。
【0080】
図5に示される一連の処理により、ニューラルネットワークモデル35の学習がなされる。
【0081】
以降において、本実施の形態の情報処理装置10および情報処理装置30に関連する技術(比較例ともいう)を説明する。比較例における情報処理装置は、処理部が、画像のサイズを調整する機能を有する前処理部を有し、ニューラルネットワークモデルが画像のサイズを調整する機能を有しない。
【0082】
以降において、比較例におけるニューラルネットワークモデルを用いた推論処理について説明する。
【0083】
比較例における情報処理装置は、情報処理装置10と比較して、処理部12に代えて処理部92を備える点で情報処理装置10と異なる。処理部92の構成について説明する。
【0084】
図6は、比較例における処理部92の構成を示す説明図である。
図7は、比較例におけるニューラルネットワークモデル95の構成を示す説明図である。
【0085】
処理部92は、ニューラルネットワークモデル95を用いた推論処理を行う処理部の例である。上記推論処理の前には、サイズ調整処理を含む前処理が実行される。
【0086】
処理部92は、取得部から提供された画像に対してニューラルネットワークモデル95を用いた推論処理を行う。処理部92は、行った推論処理の結果を示す情報を出力部13に提供する。
【0087】
図6に示されるように、処理部92は、前処理部921と、推論部922と、後処理部923とを有する。
【0088】
前処理部921は、画像が入力され、入力された画像に対して前処理を行う。前処理は、画像のサイズを、ニューラルネットワークモデル95を用いた推論処理に適したサイズに調整する処理を含む。画像のサイズを調整する処理は、例えば、線形近似を用いる方法がある。前処理部921は、前処理を施した後の画像を推論部922に提供する。
【0089】
推論部922は、画像が入力され、入力された画像に対してニューラルネットワークモデル95を用いて推論を行う。ニューラルネットワークモデル95は、ディープニューラルネットワークモデルである。
【0090】
図7に示されるように、ニューラルネットワークモデル95は、入力側から出力側に向かって、Conv層81および82を有する。各層は、当該層に入力される入力値に対してフィルタを用いた畳み込み演算を施し、演算の結果として得た値を出力する。
【0091】
Conv層81および82は、情報処理装置10のニューラルネットワークモデル15が備えるConv層23および24と同様である。なお、情報処理装置10におけるConv層23とConv層24との場合と同様に、Conv層81とConv層82との間に、1以上のConv層またはPWConv層が含まれてもよい。
【0092】
後処理部923は、推論部922による推論の結果を示す結果情報を処理する。後処理部923は、情報処理装置10の後処理部122と同じである。
【0093】
図8は、比較例における情報処理装置の処理を示すフロー図である。
図8に示される処理は、情報処理装置によるディープニューラルネットワークを用いた推論処理の例である。
【0094】
ステップS301において、取得部は、画像を取得し、処理部92(より具体的には前処理部921)に提供する。
【0095】
ステップS302において、前処理部921は、ステップS301で取得部から提供された画像に対する前処理として、上記画像のサイズを調整する処理を施して推論部922に提供する。
【0096】
ステップS303において、推論部922は、ステップS302で前処理部921から提供された画像に対してニューラルネットワークモデル95を用いて推論処理を実行する。また、後処理部923は、推論部922による推論処理の結果に対して後処理を施す。
【0097】
ステップS304において、出力部は、ステップS303で実行された推論処理の結果を出力する。
【0098】
一般に、画像に対するサイズ調整処理に要する時間は比較的長い。例えば、フルハイビジョンサイズの画像を960画素×540画素の画像にサイズ調整するのに50ミリ秒の時間を要することがある。サイズ調整処理に比較的長い時間を要する場合、その後に実行される推論処理の実行が遅延し、推論処理の結果の出力の遅延を招く。
【0099】
以降において、比較例におけるニューラルネットワークモデルの学習処理について説明する。
【0100】
図9は、比較例における処理部72の構成を示す説明図である。処理部72は、ディープニューラルネットワークの学習処理を行う情報処理装置が備える処理部の構成の例である。
【0101】
比較例における情報処理装置は、情報処理装置30と比較して、処理部32に代えて処理部72を備える点で情報処理装置30と異なる。処理部72の構成について説明する。
【0102】
処理部72は、取得部から提供された訓練用画像に対してニューラルネットワークモデル75を用いた推論処理を行う。処理部72は、行った推論処理の結果を示す情報を訓練部73に提供する。推論処理は、処理部92が行う推論処理と同じである。学習処理がなされた時点でのニューラルネットワークモデル75が、処理部92のニューラルネットワークモデル95として用いられ得る。
【0103】
処理部72は、前処理部721と、推論部722と、後処理部723とを有する。
【0104】
前処理部721は、画像が入力され、入力された画像に対して前処理を行う。前処理は、前処理部921が実行する前処理と同様である。前処理部721は、前処理を施した後の画像を推論部722に提供する。
【0105】
推論部722は、画像が入力され、入力された画像に対してニューラルネットワークモデル75を用いて推論を行う。ニューラルネットワークモデル75は、ディープニューラルネットワークモデルである。ニューラルネットワークモデル75が有する層の構成は、ニューラルネットワークモデル95におけるものと同じである(
図7参照)。
【0106】
後処理部723は、推論部722による推論の結果を示す結果情報を処理する。後処理部723は、後処理部923の処理と同じである。
【0107】
訓練部73は、ニューラルネットワークモデル75が有する各層のパラメータを調整することで、ニューラルネットワークモデル75の訓練を行う。訓練部73は、処理部72による推論処理によって得た出力情報と、取得部から得られた正解情報とを比較して、出力情報が正解情報に近づくようにニューラルネットワークモデル75における各層のパラメータを調整する。
【0108】
訓練部73は、訓練用画像を用いてニューラルネットワークモデル75の各層のパラメータを調整する。このように調整がなされたニューラルネットワークモデル75が、処理部92のニューラルネットワークモデル95として用いられる。
【0109】
図10は、比較例における情報処理装置の処理を示すフロー図である。
図10に示される処理は、情報処理装置によるディープニューラルネットワークを用いた学習処理の例である。
【0110】
ステップS401において、取得部は、訓練用画像を取得し、処理部72(より具体的には前処理部721)に提供する。
【0111】
ステップS402において、前処理部721は、ステップS401で取得部から提供された画像に対する前処理として、上記画像のサイズを調整する処理を施して推論部722に提供する。
【0112】
ステップS403において、推論部722は、ステップS402で前処理部721から提供された画像に対してニューラルネットワークモデル75を用いて推論処理を実行する。また、後処理部723は、推論部722による推論処理の結果に対して後処理を施す。
【0113】
ステップS404において、訓練部73は、ステップS403の推論処理の結果を用いてニューラルネットワークモデル75を訓練する。
【0114】
ステップS405において、訓練部73は、ニューラルネットワークモデル75による推論処理の精度が基準値以上であるか否かを判定する。推論処理の精度、および、基準値については、情報処理装置30におけるものと同じである。推論処理の精度が基準値以上であると判定した場合(ステップS405でYes)には、
図10に示される一連の処理を終了し、そうでない場合(ステップS405でNo)には、ステップS401を再び実行する。
【0115】
以降において、本実施の形態における情報処理装置10の推論精度および処理時間について説明する。
【0116】
図11は、本実施の形態における情報処理装置10の推論精度の例を示す説明図である。
図11には、情報処理装置10の推論精度の例と、比較例における情報処理装置の推論精度の例とが示されている。
【0117】
図11に示されるように、比較例における情報処理装置の推論精度は、約51%であり、情報処理装置10の推論精度は、約62%である。
【0118】
このように、情報処理装置10の推論精度は、比較例における情報処理装置の推論精度に劣ることがない。DWConv層でサイズ調整を行うことによる学習パラメータ追加により、情報処理装置10の推論精度は、比較例における情報処理装置の推論精度より高くなる。
【0119】
図12は、本実施の形態における情報処理装置10の推論処理に要する処理時間の例を示す説明図である。
【0120】
図12には、2つのハードウェアHW1およびHW2それぞれにより構築される情報処理装置10の処理時間の例と、比較例における情報処理装置の処理時間の例とが示されている。処理時間は、一の画像についての推論処理に要する時間である。より具体的には、情報処理装置10の場合には、処理時間は、一の画像について推論部121が実行する推論処理と、後処理部122が実行する後処理とに要する時間である。また、比較例における情報処理装置の場合には、処理時間は、一の画像について前処理部921が実行する前処理と、推論部922が実行する推論処理と、後処理部923が実行する後処理とに要する時間である。
【0121】
図12に示されるように、ハードウェアHW1により構築される、比較例における情報処理装置の処理時間は約45msecであり、情報処理装置10の処理時間は約6msecである。また、ハードウェアHW2により構築される、比較例における情報処理装置の処理時間は約48msecであり、情報処理装置10の処理時間は約8msecである。
【0122】
このように、どちらのハードウェアを用いた場合でも、情報処理装置10の処理時間は、比較例における情報処理装置より短く、具体的には、ハードウェアHW1の場合で約(1/7.5)倍、ハードウェアHW2の場合で約(1/6)倍である。
【0123】
以降において、本実施の形態における情報処理装置10のニューラルネットワークモデル15の具体的な構成例を説明する。
【0124】
図13は、本実施の形態におけるニューラルネットワークモデルの構成の具体例を示す説明図である。
【0125】
図13の(a)には、比較例におけるニューラルネットワークモデル95の具体的な層の構成例が7つ示されている。
図13の(a)には、層の種別(Conv層、DWConv層およびPWConv層)と、当該層のストライド(括弧内)とが示されている。
【0126】
図13の(a)に示されている7つの例#1~#7は、それぞれ、周知のニューラルネットワークモデルである、MobileNetV1、MobileNetV2、MobileNetV3、EfficientNetV1、EfficientNetV2、VoVNetおよびGENetに相当する。
【0127】
例えば、
図13の(a)に示されている例#1のニューラルネットワークモデルは、入力側から順に、ストライドが2であるConv層、ストライドが1であるDWConv層、ストライドが1であるPWConv層、ストライドが2であるDWConv層、・・・を有する。
【0128】
図13の(b)には、本実施の形態におけるニューラルネットワークモデル15の具体的な層の構成例が7つ示されている。
【0129】
図13の(b)に示される7つの例#1~#7は、それぞれ、
図13の(b)に示される7つの例#1~#7をベースとして、ニューラルネットワークモデル15の最も入力側に位置する層を、ストライドが2であるDWConv層としたものである。
図13の(b)に示される7つの例#1~#7における第2層以降は、それぞれ、
図13の(a)に示される7つの例#1~#7における第1層以降と同様である。
【0130】
例えば、
図13の(b)に示されている例#1のニューラルネットワークモデルは、入力側から順に、ストライドが2であるDWConv層、ストライドが2であるConv層、ストライドが1であるDWConv層、ストライドが1であるPWConv層、・・・を有する。
【0131】
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態の情報処理装置などを実現するソフトウェアは、次のようなプログラムである。
【0132】
すなわち、このプログラムは、コンピュータに、情報処理装置が実行する情報処理方法であって、画像が入力され、入力された前記画像に対してニューラルネットワークモデルを用いて推論を行い、前記推論の結果を示す結果情報を処理して出力値を出力し、前記ニューラルネットワークモデルは、前記ニューラルネットワークモデルが有する複数の層のうち、最も入力層側に位置する1以上の層として、1以上のDWConv層であって、ストライドが2以上であるDWConv層を有する情報処理方法を実行させるプログラムである。
【0133】
以上、一つまたは複数の態様に係る情報処理装置などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【0134】
本発明は、画像に映っている可能性がある物体を検知する物体検知処理を行う情報処理装置に利用可能である。
【符号の説明】
【0135】
10、30 情報処理装置
11、31 取得部
12、32、72、92 処理部
13 出力部
15、35、75、95 ニューラルネットワークモデル
21、22 DWConv層
23、24、81、82 Conv層
33、73 訓練部
121、321、722、922 推論部
122、322、723、923 後処理部
721、921 前処理部