(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022144486
(43)【公開日】2022-10-03
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20220926BHJP
G06T 7/70 20170101ALI20220926BHJP
G06N 3/08 20060101ALI20220926BHJP
G06N 20/00 20190101ALI20220926BHJP
【FI】
G06T7/00 350C
G06T7/70 A
G06N3/08
G06N20/00 130
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021045525
(22)【出願日】2021-03-19
(71)【出願人】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】石寺 永記
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096EA39
5L096FA69
5L096GA30
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
【課題】高速化が難しく、画像同士の類似性を評価する尺度を予め決める必要があること。
【解決手段】入力画像中からクエリ画像に似た部分画像を検出する画像処理装置は、ニューラルネットワークと処理手段とを備える。ニューラルネットワークは、クエリ画像とクエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、クエリ画像に似た部分画像の入力画像中における推定位置を出力するように、教師データを用いて機械学習されている。処理手段は、学習済みのニューラルネットワークに対して入力画像とクエリ画像とを関連付けて入力し、クエリ画像に似た部分画像の入力画像中における位置を計算する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力画像中からクエリ画像に似た部分画像を検出する画像処理装置であって、
クエリ画像と前記クエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、前記クエリ画像に似た部分画像の前記入力画像中における推定位置を出力するように、教師データを用いて機械学習されたニューラルネットワークと、
学習済みの前記ニューラルネットワークに対して入力画像とクエリ画像とを関連付けて入力し、前記クエリ画像に似た部分画像の前記入力画像中における位置を計算する処理手段と、
を備えた画像処理装置。
【請求項2】
前記ニューラルネットワークは、前記入力画像が入力される第1の入力層と、前記クエリ画像が入力される第2の入力層と、前記第1の入力層に入力された前記入力画像の特徴と前記第2の入力層に入力された特徴とを合成した合成特徴を抽出する畳み込み層と、前記畳み込み層により抽出された合成特徴に基づいて前記推定位置を算出して出力する中間層および出力層とを備える、
請求項1に記載の画像処理装置。
【請求項3】
前記畳み込み層の各ニューロンは、前記第1の入力層の局所領域のニューロンの出力値と前記第2の入力層の全てのニューロンの出力値とを入力するように構成されている、
請求項2に記載の画像処理装置。
【請求項4】
前記中間層および出力層は、画像中の物体らしい領域を見つける検出と見つけた領域に対してクラスの判断を行う識別とを同時に行う深層畳み込みニューラルネットワークで構成されている、
請求項2または3に記載の画像処理装置。
【請求項5】
前記中間層および出力層が、YOLO(You Only Look Once)により構成されている、
請求項2乃至4の何れかに記載の画像処理装置。
【請求項6】
前記中間層および出力層が、SSD(Single Shot Multibox Detector)により構成されている、
請求項2乃至4の何れかに記載の画像処理装置。
【請求項7】
入力画像中からクエリ画像に似た部分画像を検出する画像処理方法であって、
クエリ画像と前記クエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、前記クエリ画像に似た部分画像の前記入力画像中における推定位置を出力するように、教師データを用いてニューラルネットワークの機械学習を行い、
学習済みの前記ニューラルネットワークに対して入力画像とクエリ画像とを関連付けて入力し、前記クエリ画像に似た部分画像の前記入力画像中における位置を計算する、
画像処理方法。
【請求項8】
入力画像中からクエリ画像に似た部分画像を検出するコンピュータに、
クエリ画像と前記クエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、前記クエリ画像に似た部分画像の前記入力画像中における推定位置を出力するように、教師データを用いてニューラルネットワークの機械学習を行う処理と、
学習済みの前記ニューラルネットワークに対して入力画像とクエリ画像とを関連付けて入力し、前記クエリ画像に似た部分画像の前記入力画像中における位置を計算する処理と、
を行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【0002】
サイズの大きな入力画像中から、それよりサイズの小さなクエリ画像に似た部分画像を検索するための方法として、テンプレートマッチング手法がある。テンプレートマッチング手法では、入力画像の左上から右下にかけてクエリ画像をスライドさせながら、クエリ画像とクエリ画像に重なる部分の画像との類似度を計算する。
【0003】
一方、一般物体検出の分野では、畳み込みニューラルネットワーク(Convolutional Neural Network、CNN)を使用して、画像中から人物や車など特定クラスを検出する技術が提案ないし実用化されている。例えば、特許文献1には、注目する画像中の局所領域を細かなステップでスライドさせながら、全ての局所領域をCNNで識別する手法が提案されている。また、画像中の物体らしい領域を見つける検出と、見つけた領域に対してクラスの判断を行う識別とを同時に行う深層CNN(Deep CNN)が提案ないし実用化されている。YOLO(You Look Only Once)やSSD(Single Shot MultiBox Detector)などが、そのような深層CNNの例である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したテンプレートマッチング手法は、高速化が困難であり、また画像同士の類似度を評価する尺度を予め決める必要がある。特許文献1に記載の技術、および、YOLOやSSDなどの深層CNNを用いれば、物体検出までの処理を高速化することはできる。しかし、検出した物体がクエリ画像に写っている物体と似ているか否かを別途に調べる必要がある。例えば、大勢の人物が写っている入力画像の中にクエリ画像に写っている特定の人物が存在するか否かを調べる場合、特許文献1に記載の技術あるいはYOLOやSSDなどの深層CNNを用いて検出した個々の人物の像とクエリ画像に写っている人物の像との類似度を算出して、人物像が同一の人物に係る像か否かを調べる必要がある。そのため、画像同士の類似度を評価する尺度が依然として必要になると共に、最終結果を得るまでの処理を高速化することは困難である。
【0006】
本発明の目的は、上述した課題、すなわち、高速化が難しく、画像同士の類似性を評価する尺度を予め決める必要がある、という課題を解決する画像処理装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明の一形態に係る画像処理装置は、
入力画像中からクエリ画像に似た部分画像を検出する画像処理装置であって、
クエリ画像と前記クエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、前記クエリ画像に似た部分画像の前記入力画像中における推定位置を出力するように、教師データを用いて機械学習されたニューラルネットワークと、
学習済みの前記ニューラルネットワークに対して入力画像とクエリ画像とを関連付けて入力し、前記クエリ画像に似た部分画像の前記入力画像中における位置を計算する処理手段と、
を備えるように構成されている。
【0008】
また、本発明の一形態に係る画像処理方法は、
入力画像中からクエリ画像に似た部分画像を検出する画像処理方法であって、
クエリ画像と前記クエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、前記クエリ画像に似た部分画像の前記入力画像中における推定位置を出力するように、教師データを用いてニューラルネットワークの機械学習を行い、
学習済みの前記ニューラルネットワークに対して入力画像とクエリ画像とを関連付けて入力し、前記クエリ画像に似た部分画像の前記入力画像中における位置を計算する、
ように構成されている。
【0009】
また、本発明の一形態に係るプログラムは、
入力画像中からクエリ画像に似た部分画像を検出するコンピュータに、
クエリ画像と前記クエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、前記クエリ画像に似た部分画像の前記入力画像中における推定位置を出力するように、教師データを用いてニューラルネットワークの機械学習を行う処理と、
学習済みの前記ニューラルネットワークに対して入力画像とクエリ画像とを関連付けて入力し、前記クエリ画像に似た部分画像の前記入力画像中における位置を計算する処理と、
を行わせるように構成されている。
【発明の効果】
【0010】
本発明は、上述したような構成を有することにより、入力画像中からクエリ画像に似た部分画像を高速に検索することができ、また、画像同士の類似性を評価する尺度を予め決める必要がなくなる。
【図面の簡単な説明】
【0011】
【
図1】本発明の第1の実施形態に係る画像処理装置のブロック図である。
【
図2】本発明の第2の実施形態に係る画像処理装置のブロック図である。
【
図3】本発明の第2の実施形態におけるニューラルネットワークの機械学習処理の概要を示す模式図である。
【
図4】本発明の第2の実施形態に係る画像処理装置における処理手段の動作の一例を示すフローチャートである。
【
図5】本発明の第2の実施形態に係る画像処理装置におけるニューラルネットワークの構成例を示す図である。
【
図6】本発明の第2の実施形態に係る画像処理装置におけるニューラルネットワークの第1畳み込み層および第2畳み込み層と第3畳み込み層との接続関係を示す模式図である。
【発明を実施するための形態】
【0012】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
先ず、本発明の第1の実施形態に係る画像処理装置について説明する。本実施形態では、本発明の画像処理装置の概要を説明する。
【0013】
図1は、本発明の第1の実施形態に係る画像処理装置10のブロック図である。本実施形態に係る画像処理装置10は、入力画像中からクエリ画像に似た部分画像を検出するように構成されている。画像処理装置10は、学習済みのニューラルネットワーク11と処理手段12とを備える。
【0014】
ニューラルネットワーク11は、クエリ画像とそのクエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、クエリ画像に似た部分画像の入力画像中における推定位置を出力するように、教師データを用いて機械学習処理が施されている。
【0015】
処理手段12は、ニューラルネットワーク11に対して入力画像とクエリ画像とを関連付けて入力し、クエリ画像に似た部分画像の入力画像中における位置を計算する。
【0016】
このように本実施形態に係る画像処理装置10では、ニューラルネットワーク11は、クエリ画像とそのクエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、クエリ画像に似た部分画像の入力画像中における推定位置を出力するように、教師データを用いて機械学習処理が施されている。そして、処理手段12は、ニューラルネットワーク11に対して入力画像とクエリ画像とを関連付けて入力し、クエリ画像に似た部分画像の入力画像中における位置を計算する。そのため、画像処理装置10によれば、入力画像中からクエリ画像に似た部分画像を高速に検索することができ、また、画像同士の類似性を評価する尺度を予め決める必要がなくなる。
【0017】
[第2の実施形態]
次に、本発明の第2の実施形態に係る画像処理装置について説明する。本実施形態では、本発明の画像処理装置を具体的に説明する。
【0018】
図2は、本発明の第2の実施形態に係る画像処理装置20のブロック図である。本実施形態に係る画像処理装置20は、大勢の人物が写っている入力画像の中にクエリ画像に写っている特定の人物が存在するか否かを検出するように構成されている。画像処理装置20は、画像サーバ21と、通信インターフェース(I/F)部22と、操作入力部23と、画面表示部24と、記憶部25と、演算処理部26とを含んで構成されている。
【0019】
カメラ27は、防犯・監視などの目的のために多くの人物が行きかう街頭、屋内などに設置された撮像装置である。カメラ27は、固定された場所から固定された撮像方向で同一或いは異なる撮像領域を撮像してよい。或いはカメラ27は、車などの移動体に搭載されて移動しながら同一或いは異なる撮像領域を撮像してよい。カメラ27の台数は任意である。1台のカメラ27であってもよいし、互いに異なる撮像領域を撮像する2台以上のカメラ27が存在していてもよい。カメラ27は、例えば、数百万画素程度の画素容量を有するCCD(Charge-Coupled Device)イメージセンサやCMOS(Complementary MOS)イメージセンサを備え、一定のフレームレートで連続して撮像を行うカラーカメラであってよい。
【0020】
画像サーバ21は、有線または無線によりカメラ27に接続され、カメラ27で撮像して得られた時系列の画像から構成される映像(動画)を過去一定期間分蓄積する。画像サーバ21は、例えば、カメラ27で撮像された画像をフレーム画像の単位で蓄積する。また、画像サーバ21は、各々のフレーム画像を、そのフレーム画像を取得したカメラ27を一意に識別するカメラIDと撮像時刻とに関連付けて蓄積する。
【0021】
通信I/F部22は、データ通信回路から構成され、無線または有線によって外部装置との間でデータ通信を行うように構成されている。操作入力部23は、キーボードやマウスなどの装置から構成され、オペレータの操作を検出して演算処理部26に出力するように構成されている。画面表示部24は、LCD(Liquid Crystal Display)などの装置から構成され、演算処理部26からの指示に応じて、各種情報を画面表示するように構成されている。
【0022】
記憶部25は、ハードディスクやメモリなどの記憶装置から構成され、演算処理部26における各種処理に必要な処理情報およびプログラム251を記憶するように構成されている。プログラム251は、演算処理部26に読み込まれて実行されることにより各種処理部を実現するプログラムであり、通信I/F部22などのデータ入出力機能を介して図示しない外部装置や記録媒体から予め読み込まれて記憶部25に保存される。記憶部25に記憶される主な処理情報には、画像DB(データベース)252、および、ニューラルネットワーク253がある。
【0023】
画像DB252は、画像サーバ21を通じて取得されたカメラ27の画像を保存するデータベースである。ニューラルネットワーク253は、
図1を参照して説明したニューラルネットワーク11と同様に構成されている。
【0024】
演算処理部26は、MPUなどのプロセッサとその周辺回路を有し、記憶部25からプログラム251を読み込んで実行することにより、上記ハードウェアとプログラム251とを協働させて各種処理部を実現するように構成されている。演算処理部26で実現される主な処理部は、画像取得手段261、学習手段262、および、処理手段263である。
【0025】
画像取得手段261は、カメラ27で撮像されて得られた画像を画像サーバ21から取得し、画像DB252に保存するように構成されている。
【0026】
学習手段262は、ニューラルネットワーク253を機械学習させるための手段である。学習手段262は、クエリ画像とそのクエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、クエリ画像に似た部分画像の入力画像中における推定位置を出力するように、教師データを用いてニューラルネットワーク253の機械学習処理を実施する。
【0027】
処理手段263は、
図1を参照して説明した処理手段12と同様に構成されている。
【0028】
次に、画像処理装置20の動作を説明する。画像処理装置20の動作は、画像収集動作と学習動作と検索動作とに大別される。画像収集動作は画像取得手段261により実行される。学習動作は学習手段262により実行される。検索動作は処理手段263により実行される。以下、それぞれの動作について説明する。
【0029】
<画像収集動作>
画像取得手段261は、カメラ27で撮像された画像を蓄積する画像サーバ21から定期的に最新の画像を取得し、画像DB252に追加する処理を実施する。画像取得手段261による上記処理は、例えば、学習動作および検索動作が開始される前から実行され、学習動作および検索動作中も継続して実行される。
【0030】
<学習動作>
学習手段262は、学習に使用する教師データを生成する機能と、生成した教師データを使用してニューラルネットワーク253を機械学習する機能とを有する。
【0031】
学習手段262は、教師データの生成では、例えば、画像DB252に保存されている画像の一部を使って多数の教師データを作成する。1つの教師データは、1以上の人物が写っているカメラ27の1枚のフレーム画像(以下、大画像と記す)と、一人の人物が写っている1枚の画像(以下、小画像と記す)と、小画像に写っている人物と一致する人物の大画像上の位置を表す矩形情報とから構成される。ここで、大画像のサイズ(画素数)を、縦H画素、横W画素の固定値とする。また、小画像のサイズ(画素数)を、縦h画素、横w画素の固定値とする。h<H、w<Wである。矩形情報は、例えば、一致する人物の外接矩形の4頂点の座標値(画素位置)としてよい。学習手段262は、操作入力部23および画面表示部24を介した対話型処理により、上記のような教師データを作成してよい。また、学習手段262は、各種のアノテーションツールを使って教師データを作成してよい。なお、画像DB252に保存されている画像から教師データを作成する以外に、別の場所で作成された教師データを使用してもよい。
【0032】
学習手段262は、ニューラルネットワーク253の機械学習では、
図3の模式図に示すように、教師データを構成する大画像と小画像とを関連付けてニューラルネットワーク253に入力する(
図3の(1))。ニューラルネットワーク253は、大画像と小画像とが関連付けて入力された場合、小画像に似た部分画像の大画像中における推定位置とその確率(スコア)とを出力する(
図3の(2))。学習手段262は、ニューラルネットワーク253から実際の出力がえられた時、教師データを構成する矩形情報と比較して、実際の出力がどれくらい異なっているかを誤差関数によって評価する(
図3の(3))。そして、学習手段262は、誤差関数を小さくするような方向に、例えば誤差逆伝搬法を用いてニューラルネットワーク253の重み値を更新する(
図3の(4))。学習手段262は、例えば誤差関数が十分小さくなるまで、多くの教師データを使用して上記処理を繰り返す。
【0033】
<検索動作>
図4は、処理手段263の動作の一例を示すフローチャートである。
図4を参照すると、処理手段263は、先ず、クエリ画像を取得する(ステップS1)。例えば、処理手段263は、画像DB252に保存された画像のうち、オペレータまたは外部装置から指定されたカメラIDと撮像時刻とで一意に定まる画像から、指定された矩形情報で切り出した部分画像をクエリ画像として取得してよい。あるいは、処理手段263は、操作入力部23または画面表示部24を通じてオペレータからクエリ画像を直接取得してよい。あるいは、処理手段263は、通信I/F部22を通じて外部装置からクエリ画像を取得してよい。ここで、クエリ画像のサイズは、教師データを構成する小画像と同じサイズとしてよい。
【0034】
次に処理手段263は、入力画像を取得する(ステップS2)。例えば、処理手段263は、画像DB252に保存された画像のうち、オペレータまたは外部装置から指定されたカメラIDと撮像時刻とで一意に定まる画像を入力画像として取得してよい。あるいは、処理手段263は、操作入力部23または画面表示部24を通じてオペレータから入力画像を直接取得してよい。あるいは、処理手段263は、通信I/F部22を通じて外部装置から入力画像を取得してよい。ここで、入力画像のサイズは、教師データを構成する大画像と同じサイズとしてよい。
【0035】
次に処理手段263は、学習済みのニューラルネットワーク253を使用して、クエリ画像に似た部分画像の入力画像中における位置を計算する(ステップS3)。具体的には、処理手段263は、先ず、学習済みのニューラルネットワーク253に対して、クエリ画像と入力画像とを関連付けて入力し、ニューラルネットワーク253から出力される、クエリ画像に似た部分画像の入力画像中における推定位置とスコアとのペアを1以上取得する。次に処理手段263は、1以上のペアのうちの最大スコアが予め定められた閾値以上か否かを判断する。次に処理手段263は、最大スコアが閾値以上でなければ、入力画像中にはクエリ画像に似た部分画像は存在しないとする検索結果を生成する。また、処理手段263は、最大スコアが閾値以上であれば、最大スコアに係る推定位置および当該スコアを検索結果として生成する。
【0036】
次に処理手段263は、上記生成した検索結果を画面表示部24に表示し、または/おおび、通信I/F部22を通じて外部装置へ出力する(ステップS4)。
【0037】
続いて、ニューラルネットワーク253の構成例について説明する。
【0038】
図5は、ニューラルネットワーク253の構成例を示す図である。この例のニューラルネットワーク253は、第1入力層31、第2入力層32、第1畳み込み層33、第2畳み込み層34、第3畳み込み層35、中間層36、および、出力層37を備えている。
【0039】
第1入力層31および第2入力層32は、ニューラルネットワーク253の入力層を構成する。このうち、第1入力層31は、入力画像(大画像)の画素の情報をそのまま第1畳み込み層33に伝搬する層であり、入力画像のサイズに応じた数のニューロンから構成される。第2入力層32は、クエリ画像(小画像)の画素の情報をそのまま第2畳み込み層34に伝搬する層であり、クエリ画像のサイズに応じた数のニューロンから構成される。
【0040】
第1畳み込み層33および第2畳み込み層34は、ニューラルネットワーク253の最初の中間層を構成する。このうち、第1畳み込み層33は、第1入力層31に入力された入力画像の特徴(特徴マップ)を抽出する層である。第1畳み込み層33は、入力画像のサイズおよび畳み込みを行う局所領域(局所受容野)のサイズに応じた数のニューロンから構成される。畳み込みを行う局所領域のサイズは、例えば3×3ニューロンとしてよいが、それに限定されない。また、第1畳み込み層33の各ニューロンの出力値は、第1入力層31の対応する局所領域の複数のニューロンの出力値と第1畳み込み層33用の3×3個の重み(重み行列)とを畳み込み演算した結果と、第1畳み込み層33用のバイアスおよび活性化関数とに基づいて計算される。
【0041】
また、第2畳み込み層34は、第2入力層32に入力されたクエリ画像の特徴(特徴マップ)を抽出する層である。第2畳み込み層34は、クエリ画像のサイズおよび畳み込みを行う局所領域のサイズに応じた数のニューロンから構成される。畳み込みを行う局所領域のサイズは、例えば3×3ニューロンとしてよいが、それに限定されない。また、第2畳み込み層34の各ニューロンの出力値は、第2入力層32の対応する局所領域の複数のニューロンの出力値と第2畳み込み層34用の3×3個の重み(重み行列)とを畳み込み演算した結果と、第2畳み込み層34用のバイアスおよび活性化関数とに基づいて計算される。
【0042】
第3畳み込み層35は、第1畳み込み層33によって抽出された入力画像の特徴と第2畳み込み層34によって抽出されたクエリ画像の特徴とを合成した特徴を抽出する層である。具体的には、第3畳み込み層35は、第1畳み込み層33のサイズおよび畳み込みを行う第1畳み込み層33の局所領域のサイズに応じた数のニューロンから構成される。畳み込みを行う局所領域のサイズは、例えば3×3ニューロンとしてよいが、それに限定されない。また、第2畳み込み層34と第3畳み込み層35とは全結合されている。このため、第3畳み込み層35の各ニューロンの出力値は、第1畳み込み層33の対応する局所領域の複数のニューロンの出力値と第3畳み込み層35用の3×3個の重み(第1重み行列)とを畳み込み演算した結果と、第2畳み込み層34の全ニューロンの出力値と第3畳み込み層35用の3×2個の重み(第2重み行列)とを畳み込み演算した結果と、第3畳み込み層35用のバイアスおよび活性化関数とに基づいて計算される。
【0043】
図6は、第1畳み込み層33および第2畳み込み層34と第3畳み込み層35との接続関係を示す模式図である。説明の便宜上、第1畳み込み層33のサイズを縦9×横6ニューロン、第2畳み込み層34のサイズを縦3×横2ニューロン、第3畳み込み層35のサイズを縦7×横4ニューロンとする。すると、例えば、第3畳み込み層35の左上隅から2番目のニューロン351には、第1畳み込み層33の左上隅から2番目のニューロン352を左上頂点とする3×3ニューロンの出力と、第2畳み込み層34の全てのニューロンである3×2ニューロンの出力とが入力される。ニューロン351では、第1畳み込み層33の上記3×3ニューロンの出力と3×3個の重み(第1重み行列)との畳み込み演算結果と、第2畳み込み層34の上記3×2ニューロンの出力と3×2個の重み(第2重み行列)との畳み込み演算結果とが計算される。また、ニューロン351では、上記2つの畳み込み演算結果の和と、予め定められたバイアスおよび活性化関数に基づいて、ニューロン351の出力値が計算される。
【0044】
ここで、上述した全ての重みは、正または負の値をとる。
【0045】
再び
図5を参照すると、第3畳み込み層35の後段には、その他の中間層36が続き、さらに最終段には出力層37が設けられている。すなわち、第3畳み込み層35の各ニューロンの出力値は、中間層36の入力値となる。中間層36および出力層37は、第3畳み込み層35によって抽出された入力画像の特徴とクエリ画像の特徴とを合成した特徴に基づいて、クエリ画像に似た部分画像の入力画像中における位置を推定し出力する働きをする。中間層36および出力層37から構成される中間・出力層38は、例えば、画像中の物体らしい領域を見つける検出と見つけた領域に対してクラスの判断を行う識別とを同時に行う深層CNN(Deep CNN)によって構成してよい。そのような深層CNNとしては、例えばYOLOあるいはSSDが例示される。YOLOあるいはSSDを使用する場合、第3畳み込み層35の各ニューロンの出力値は、YOLOあるいはSSDの入力層の入力値として扱われる。
【0046】
以上が、ニューラルネットワーク253の構成例である。但し、ニューラルネットワーク253は上記説明した構成例に限定されない。例えば、第1畳み込み層33と第2畳み込み層34と第3畳み込み層35の代わりに第4畳み込み層を使用してよい。この第4畳み込み層は、例えば、第1入力層31のサイズおよび畳み込みを行う局所領域(例えば3×3ニューロン)のサイズに応じた数のニューロンから構成される。また、第2入力層32と第4畳み込み層とは全結合されている。そのため、第4畳み込み層の各ニューロンの出力値は、第1入力層31の対応する局所領域の複数のニューロンの出力値と第4畳み込み層用の局所領域分の重みとを畳み込み演算した結果と、第2入力層32の全てのニューロンの出力値と第4畳み込み層用の第2入力層32のニューロン分の重みとを畳み込み演算した結果と、第4畳み込み層用のバイアスおよび活性化関数とに基づいて計算される。あるいは、ニューラルネットワーク253の第1畳み込み層33、第2畳み込み層34、および第3畳み込み層35の少なくとも一つは、2層以上の畳み込み層から構成されていてよい。
【0047】
以上説明したように本実施形態に係る画像処理装置20では、ニューラルネットワーク253は、クエリ画像とそのクエリ画像に似た部分画像を有する入力画像とが関連付けて入力された際に、クエリ画像に似た部分画像の入力画像中における推定位置を出力するように、学習手段262により教師データを用いて機械学習処理が施される。そして、処理手段263は、学習済みのニューラルネットワーク253に対して入力画像とクエリ画像とを関連付けて入力し、クエリ画像に似た部分画像の入力画像中における位置を計算する。そのため、画像処理装置20によれば、入力画像中からクエリ画像に似た部分画像を高速に検索することができ、また、画像同士の類似性を評価する尺度を予め決める必要がなくなる。
【0048】
また、本実施形態におけるニューラルネットワーク253は、第1入力層31に入力された入力画像の特徴と第2入力層32に入力された特徴とを合成した合成特徴を抽出する畳み込み層(第1畳み込み層33と第2畳み込み層34と第3畳み込み層35、あるいは第4畳み込み層)を有する。そのため、ニューラルネットワーク253は、クエリ画像との類似性の観点で入力画像の局所領域毎に特徴を抽出することができる。その結果、そのような合成特徴を抽出する畳み込み層を有しないニューラルネットワークと比較して、精度の向上が期待できる。
【0049】
以上、上記各実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。例えば、上記実施形態では、複数の人物が写っている入力画像中から特定の人物が写っているクエリ画像に似た部分画像を検出する画像処理装置に対して本発明を適用したが、それに限定されない。例えば、複数の人物以外の物体(例えば、車、船、犬など)が写っている入力画像中から特定の人物以外の物体が写っているクエリ画像に似た部分画像を検出する画像処理装置に対して本発明を適用してよい。
【産業上の利用可能性】
【0050】
本発明は、画像から特定の物体を検出する分野に適用でき、特にサイズの大きな画像からサイズの小さな画像に似た部分画像を検出する分野に利用できる。
【符号の説明】
【0051】
10 画像処理装置
11 ニューラルネットワーク
12 処理手段
20 画像処理装置
21 画像サーバ
22 通信I/F部
23 操作入力部
24 画面表示部
25 記憶部
26 演算処理部
31 第1入力層
32 第2入力層
33 第1畳み込み層
34 第2畳み込み層
35 第3畳み込み層
36 中間層
37 出力層
38 中間・出力層
251 プログラム
252 画像DB
253 ニューラルネットワーク
261 画像取得手段
262 学習手段
263 処理手段
351、352 ニューロン