(57)【要約】      （修正有）【課題】より高い精度で画像内の被写体の位置を特定する装置、方法及びプログラムを提供する。【解決手段】少なくとも所望の第一の被写体を含む画像である第一の画像から所望の第一の被写体の位置を特定する位置特定装置であって、第一の画像の所定の特徴を表す第一の特徴量を取得する第一画像特徴量取得部１０５と、第二の被写体を含む第二の画像から所定の特徴を表す第二の特徴量を取得する第二画像特徴量取得部１１０と、第二の画像の特徴を表すマップである特徴マップの集合である特徴マップ複数のうち第二の被写体に対応する特徴マップである選択特徴マップと、が対応付けられている推定部１１１と、推定部により第一の特徴量に対応付けられると推定された推定第一特徴マップと、推定第一特徴マップを用いて所望の第一の被写体の位置を特定する位置特定部１１３と、を備える。【選択図】図１
2019153092.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも所望の第一の被写体を含む画像である第一の画像から前記所望の第一の被写体の位置を特定する位置特定装置であって、
前記第一の画像の所定の特徴を表す第一の特徴量を取得する特徴量取得部と、
第二の被写体を含む第二の画像から得られた前記所定の特徴を表す第二の特徴量と、前記第二の画像の特徴を表すマップである特徴マップの集合である特徴マップ複数のうち前記第二の被写体に対応する特徴マップである選択特徴マップと、が対応付けられている推定部と、
前記推定部により前記第一の特徴量に対応付けられると推定された推定第一特徴マップと、
前記推定第一特徴マップを用いて前記所望の第一の被写体の位置を特定する位置特定部と、
を備える、位置特定装置。
【請求項２】
前記第二の画像の特徴を表す特徴マップ複数に含まれる特徴マップは、前記第二の画像に対して第一の畳み込み処理を行った出力、もしくは畳み込み処理を行った出力に対してさらに第二の畳み込み処理を行った出力、である
請求項１記載の位置特定装置。
【請求項３】
前記第一の畳み込み処理と前記第二の畳み込み処理は、学習済みのニューラルネットワークの中間層であり、
前記特徴マップ複数に含まれる特徴マップは、前記中間層の出力値である
請求項２記載の位置特定装置。
【請求項４】
前記選択特徴マップは、前記第二の画像のうち、前記第二の被写体以外の領域よりも前記第二の被写体を含む領域に強く反応する特徴マップである
請求項３記載の位置特定装置。
【請求項５】
少なくとも所望の第一の被写体を含む画像である第一の画像から前記所望の第一の被写体の位置を特定する位置特定方法であって、
前記第一の画像の所定の特徴を表す第一の特徴量を取得する特徴量取得ステップと、
第二の被写体を含む第二の画像から得られた前記所定の特徴を表す第二の特徴量と、前記第二の画像の特徴を表すマップの集合である特徴マップ複数のうち前記第二の被写体に対応する特徴マップである選択特徴マップと、が対応付けられている推定ステップと、
前記推定ステップにより前記第一の特徴量に対応付けられると推定された推定第一特徴マップを用いて前記第一の画像から前記所望の第一の被写体の位置を特定する位置特定ステップと、
を備える、位置特定方法。
【請求項６】
請求項１から４のいずれか一項に記載の位置特定装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置特定装置、位置特定方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、統計的機械学習を用いて画像内の被写体の位置を特定する技術が多く提案されている。位置特定技術は、自動車の自動運転等のように様々な産業への応用が期待されている。位置特定装置が、画像から物体の位置を特定するための手法として、物体検出及び領域分割と呼ばれる２つの手法が知られている。物体検出は対象の被写体を包含する矩形領域を提示する手法である。領域分割は、ピクセル毎に被写体が画像内のどの物体に属しているかという情報を提示する手法である。
【０００３】
領域分割のうち、画像内に存在する物体の種類を示す正解データのみを与える手法は、弱教師付き領域分割と呼ばれる。正解データが与えられたデータを弱教師付きデータと呼ぶ。弱教師付きデータは、容易に大量のデータを収集できる。弱教師付きデータは、ビッグデータと親和性が高いため、多くの手法が提案されている。
【０００４】
弱教師付き領域分割では、非特許文献１のように画像内の物体の大まかな位置を示すマスク画像を用いて画像の背景部分を除去する手法が知られている。図９は、画像内の物体の背景が除去された画像の一例を示す図である。弱教師付き領域分割では、非特許文献２のようにＤＲＮ（Dilated Residual Network）と呼ばれる深層学習手法の一種を用いることで、対象画像に対する高精度なマスク画像が生成される事が知られている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】W. Shimoda, K. Yanai,“Distinct Class-specific Saliency Maps for Weakly Supervised Semantic Segmentation”, 2016.
【非特許文献２】F. Yu, V. Koltun, T. Funkuhouser, “Dilated Residual Networks”, 2017.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＤＲＮ等の深層学習を用いた領域分割手法は、高い精度を示す。しかし、位置を特定したい被写体と背景とが同時に写された学習データの場合、高精度なマスク画像を生成する事が難しい。例えば、下方向にカメラを設置されたドローンは、屋外で撮像する場合、地面が含まれる画像群を撮像する。撮像された画像群は、地面以外の物体と地面とをセットで画像内に含む。したがって、弱教師付き領域分割において、単純にＤＲＮに入力・伝搬させて出力層を用いるだけでは上述の画像等に対する領域分割は困難である。これに対して出力層のマスク画像の代わりに中間層の出力値をマスク画像として用いる手法が考えられる。
【０００７】
しかしながら、中間層の出力値には、入力された画像のどのような特徴に対してマスク画像が生成されるのかという点が明示的に与えられていない。したがって、位置特定装置は、中間層の出力値に対して、どのようなマスク画像が生成されるか推定する必要がある。また、所望の被写体にマスク画像が生成されない場合がある。例えば、入力された画像内において、所望の被写体が連続せずに入力された画像内の左側と右側に存在する場合、中間層の出力値に基づいて、２つのマスク画像が生成される場合、かつ画像内左側の物体に反応したマスク画像と画像内右側の物体に反応した画像とが得られる場合がある。このようなマスク画像が得られた場合、位置特定装置は、複数のマスク画像を合成することで、新たなマスク画像を生成し、被写体の位置を特定しなければならない。
【０００８】
上記事情に鑑み、本発明は、より高い精度で画像内の被写体の位置を特定する技術を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明の一態様は、少なくとも所望の第一の被写体を含む画像である第一の画像から前記所望の第一の被写体の位置を特定する位置特定装置であって、前記第一の画像の所定の特徴を表す第一の特徴量を取得する特徴量取得部と、第二の被写体を含む第二の画像から得られた前記所定の特徴を表す第二の特徴量と、前記第二の画像の特徴を表すマップである特徴マップの集合である特徴マップ複数のうち前記第二の被写体に対応する特徴マップである選択特徴マップと、が対応付けられている推定部と、前記推定部により前記第一の特徴量に対応付けられると推定された推定第一特徴マップと、前記推定第一特徴マップを用いて前記所望の第一の被写体の位置を特定する位置特定部と、を備える、位置特定装置である。
【発明の効果】
【００１０】
本発明により、より高い精度で画像内の被写体の位置を特定することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態における、位置特定装置の機能構成の例を示す機能ブロック図である。
【図２】手書き数字認識におけるＣＮＮの識別結果の一例を示す図である。
【図３】ニューロンを可視化した特徴マップの一例を示す図である。
【図４】第１の実施形態における、特徴量・Ｉｎｄｅｘデータベースを生成する処理の流れを示すフローチャートである。
【図５】第１の実施形態における、被写体の位置を特定する処理の流れを示すフローチャートである。
【図６】第２の実施形態における、位置特定装置の機能構成を表す機能ブロック図である。
【図７】第２の実施形態における、データベースを生成する処理の流れを示すフローチャートである。
【図８】第２実施形態における、被写体の位置を特定する処理の流れを示すフローチャートである。
【図９】画像内の物体の背景が除去された画像の一例を示す図である。
【発明を実施するための形態】
【００１２】
（第１の実施形態）
図１は、第１の実施形態における、位置特定装置の機能構成の例を示す機能ブロック図である。位置特定装置１００は、被写体と背景とが一緒に写っている画像において、画像に含まれる被写体の領域を検出する。位置特定装置１００は、例えば、ドローン等の飛翔体によって空撮された画像に含まれる被写体の領域を特定する。
【００１３】
位置特定装置１００は、バスで接続されたＣＰＵ（Central Processing Unit）等のプロセッサやメモリや補助記憶装置などを備え、位置特定プログラムを実行することによって第１画像入力部１０１、制御部１０２、被写体・背景分離部１０３、特徴マップ取得部１０４、第１画像特徴量取得部１０５、データベース生成部１０６、データベース記憶部１０７、第２画像入力部１０８、マスク画像生成部１０９、第２画像特徴量取得部１１０、対応マスク検索部１１１、マスク合成部１１２及び被写体位置特定部１１３を備える装置として機能する。なお、位置特定装置１００の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されてもよい。位置特定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。位置特定プログラムは、電気通信回線を介して送信されてもよい。
【００１４】
第１画像入力部１０１は、タッチパネル、マウス及びキーボード等の入力装置を用いて構成される。第１画像入力部１０１は、入力装置を位置特定装置１００に接続するためのインタフェースであってもよい。この場合、第１画像入力部１０１は、入力装置において入力された入力信号から入力データ（例えば、位置特定装置１００に対する指示を示す指示情報）を生成し、位置特定装置１００に入力する。なお、第２画像入力部１０８に関しても同様に構成される。
【００１５】
第１画像入力部１０１は、被写体と背景とを含む画像を受け付ける。第１画像入力部１０１が受け付けた画像は、後述のデータベースの生成に用いられる。第１画像入力部１０１は、受け付けた画像を被写体・背景分離部１０３に出力する。
【００１６】
制御部１０２は、位置特定装置１００の各部の動作を制御する。制御部１０２は、例えばＣＰＵ等のプロセッサ及びＲＡＭ（Random Access Memory）を備えた装置により実行される。制御部１０２は、位置特定プログラムを実行することによって、被写体・背景分離部１０３、特徴マップ取得部１０４、第１画像特徴量取得部１０５、データベース生成部１０６、データベース記憶部１０７、第２画像入力部１０８、マスク画像生成部１０９、第２画像特徴量取得部１１０、対応マスク検索部１１１、マスク合成部１１２及び被写体位置特定部１１３として機能する。
【００１７】
被写体・背景分離部１０３は、受け付けた被写体と背景とを含む画像から被写体と背景とが分離された画像を生成する。被写体・背景分離部１０３は、少なくとも２枚以上の被写体と背景とが分離された画像を生成する。被写体・背景分離部１０３は、分離された画像の背景を示す画像を黒色で塗りつぶすことで、被写体のみの画像を生成する。被写体・背景分離部１０３は、任意の方法で被写体と背景とを分離した画像を生成してもよい。分離された画像には、背景の一部が残っていてもよいし、被写体が欠ける等のノイズが含まれてもよい。要は、被写体のみの画像は画像領域の大半を被写体が占めていればよい。大半とは被写体と背景の性質により変動するが、好ましくは７割以上である。精度を考慮しなければ、１ピクセルでも前景が含まれていれば良い。被写体・背景分離部１０３は、生成された被写体のみの画像を特徴マップ取得部１０４及び第１画像特徴量取得部１０５に出力する。
【００１８】
特徴マップ取得部１０４は、被写体のみの画像を後述する学習済みのＤＲＮに伝搬させる。ＤＲＮは、ＣＮＮの一手法である。ＣＮＮ（Convolution Neural Network）は、深層学習の一手法である。ＣＮＮは、入力された画像に対して畳み込み処理を繰り返すことで出力値を得る手法である。入力される被写体のみの画像を被写体画像と言う。畳み込み処理の出力値は特徴マップと呼ばれる。つまり、特徴マップ取得部１０４は、被写体画像をＤＲＮに入力・伝播させた場合、畳み込み処理の数と同数の特徴マップが存在する。特徴マップ取得部１０４は、被写体画像をＤＲＮに入力・伝搬させた結果得られるＤＲＮの中間層の出力値、すなわち特徴マップを取得する。特徴マップ取得部１０４は、特徴マップを出力する。ここで改めて特徴マップについて説明する。特徴マップは、例えば、特徴モデル（例えば前記学習済みのＤＲＮ）の所定の中間層の出力値である。すなわち、特徴マップは、被写体画像若しくは被写体画像を少なくとも１つの前記所定の中間層とは異なる中間層を伝搬させた出力値に対して、所定の中間層に係る演算を行った出力値である。特徴マップは、所定の中間層に係る演算を行うフィルタの出力値といいかえてもよい。特徴マップ取得部１０４は、被写体画像をＤＲＮに入力・伝搬させ、１つ以上の特徴マップを得る。特徴マップは、対象画像などのＤＲＮに入力された画像若しくは対象画像などのＤＲＮに入力された画像に対して畳み込み処理を行った結果、得られた特徴マップにさらに畳み込み処理を行った結果によって生成される。
本実施例では特徴モデルについてＤＲＮを例として説明するが、入力データの畳み込みにより画像若しくは画像の所定の領域毎の特徴を抽出する処理を中間層で行うニューラルネットワークであればＤＲＮに限定されない。
【００１９】
なお、特徴マップ取得部１０４で用いられるＤＲＮは、予め自然画像データセットで学習済みである。自然画像データセットは、例えば海、山、川、森又は空等の自然を含む画像であるが、あらゆる物体を撮影した画像群であってもよい。あらゆる物体を撮影した画像群は、例えば、抽出したい対象である所望の被写体が存在しうる場所にカメラを設置し、所定の期間撮影し続けた画像であってもよい。自然画像データセットは、クラスタリングできるだけの数があればよい。例えば、画像がどのカテゴリに分類されるかの確率に関する精度を考慮しない場合、自然画像データセットは１枚の画像であってもよい。
【００２０】
図２は、手書き数字認識におけるＣＮＮの識別結果の一例を示す図である。ＣＮＮでは、入力された画像に対して、画像がどのカテゴリに分類されるかの確率が算出される。ＣＮＮでは、出力層の中で最も確率が高いカテゴリを出力すればＣＮＮの識別結果となる。ＤＲＮは、出力層で得られるベクトル（図２の例では、１０個の要素を持つベクトル）と正解ベクトル（図２の例では、０クラスの確率を示す要素に１、それ以外の要素に０が存在するベクトル）との差分を最小化するように学習する。具体的には、ＳｏｆｔＭａｘロスと呼ばれる目的関数の最小化を行う事で学習される。学習において、誤差逆伝搬法（ＢＰ法）で算出された勾配情報に基づいて、確率的勾配降下法（ＳＧＤ法）によって目的関数の最小化が行われる。なお、ＣＮＮは自然画像データ等で学習されたモデルであればよくＤＲＮに限定されない。
【００２１】
図１に戻り、位置特定装置１００の説明を続ける。特徴マップ取得部１０４は、中間層の出力値、すなわち段落００１７に記載されたように被写体画像をＤＲＮに入力・伝播させた結果得られた複数の特徴マップから所望の被写体に適する特徴マップを取得する。適するとは、所望の被写体に対応する領域に対して強く反応を示す、言い換えると所望の被写体を抽出するマスク生成に用いるために有効であること、である。特徴マップ取得部１０４は、最大値を示すニューロンが存在する特徴マップを取得してもよいし、被写体に反応した特徴マップであるかをユーザが目視確認することで取得してもよい。取得された特徴マップがＤＲＮにおける何番目の特徴マップであるかを示す情報を「Ｉｎｄｅｘ」という。すなわち、Ｉｎｄｅｘは特徴マップを取得可能な中間層の位置を示す情報である。特徴マップ取得部１０４は、取得された特徴マップに対応するＩｎｄｅｘを取得する。特徴マップ取得部１０４は、取得されたＩｎｄｅｘを、データベース生成部１０６に出力する。特徴マップは、画像内に含まれるいくつかの任意の特徴表現のいずれかに反応を示すことが期待される。なお、本実施例では、取得される所望の被写体に適する特徴マップは、所望の被写体とは異なる所望の被写体であっても反応するという前提のもと利用している。いいかえると、所望の被写体が太陽光パネルであった場合、太陽光パネルに反応する特徴マップを得ることができれば、特徴マップを得た画像と類似する性質をもつように太陽光パネルが撮影された異なる画像においても、得られた特徴マップは太陽光パネルに反応するという仮定に基づいている。画像と類似する性質とは、選択する特徴量が反映される特徴を意図する。例えば、輝度値を選択した場合は輝度値が反映される性質であり、符号量を選択した場合は被写体の模様が反映される性質である。
【００２２】
ここで、最大値を示すニューロンが存在する特徴マップの取得方法について説明する。図３は、ニューロンを可視化した特徴マップの一例を示す図である。特徴マップ取得部１０４は、ＤＲＮの中間層の出力値として複数の特徴マップを取得する。各特徴マップは、それぞれ画像のように高さ（Ｈ）及び幅（Ｗ）分のニューロンを有する。ニューロンは、入力された画像に対して数値を出力する。特定の中間層（図３では、出力層の１層前）では、全体でＨ×Ｗ×（特徴マップの数）個のニューロンが存在する。特徴マップ取得部１０４は、被写体のみの画像を入力することで、Ｈ×Ｗ×（特徴マップの数）の配列を生成する。配列にはニューロンによって出力された値が保持される。
【００２３】
特徴マップ取得部１０４は、生成された配列に対して、最大値の位置を特定する処理を実行する。最大値は、配列の要素の中で、最大となる値である。最大値の位置とは、最大値を保持する配列の要素を特定する情報である。最大値の位置を特定する処理は、総当たり等の公知の手法が用いられてもよい。このような処理によって、特徴マップ取得部１０４は、最大値を示すニューロンが存在する特徴マップを取得することができる。なお、特徴マップ取得部１０４は、特徴マップ毎にニューロンに出力された値の平均値を算出し、平均値が最大になる特徴マップを取得してもよい。また、特徴マップ取得部１０４は、被写体に反応を示している領域と入力でマスクされている領域とのオーバーラップの割合で決定する等どのような方法で特徴マップを取得してもよい。
【００２４】
図１に戻り、位置特定装置１００の説明を続ける。第１画像特徴量取得部１０５は、被写体画像から、画像の輝度特徴量を取得する。本実施例における輝度特徴量は輝度値である。なお、第１画像特徴量取得部１０５は、輝度特徴量の代わりに勾配情報に基づいて算出された画像特徴量又はＣＮＮの中間層から取得された特徴量を取得してもよい。第１画像特徴量取得部１０５で取得する輝度特徴量は、所望の被写体の被写体を特徴づけられる性質を有する物であれば他の特徴量であってもよい。また、ＤＲＮ又はＣＮＮで利用していると特定しうる特徴量と相関を有する特徴量であってもよい。第１画像特徴量取得部１０５は、取得された画像の輝度特徴量を、データベース生成部１０６に出力する。
【００２５】
データベース生成部１０６は、取得された輝度特徴量とＩｎｄｅｘとを、１対１対応させることで特徴量・Ｉｎｄｅｘデータベースを生成する。データベース生成部１０６は、生成された特徴量・Ｉｎｄｅｘデータベースをデータベース記憶部１０７に記録する。
還元すると、第１画像特徴量取得部１０５で取得された輝度特徴量と、特徴マップ取得部１０４で所望の被写体に適すると判定された特徴マップとを関連付けるといってもよい。
【００２６】
データベース記憶部１０７は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。データベース記憶部１０７は、特徴量・Ｉｎｄｅｘデータベースを記憶する。
【００２７】
第２画像入力部１０８は、被写体の位置を取得したい画像である対象画像を受け付ける。第２画像入力部１０８が受け付けた対象画像は、受け付けた対象画像をマスク画像生成部１０９及び第２画像特徴量取得部１１０に出力する。
【００２８】
マスク画像生成部１０９は、対象画像をＤＲＮに入力・伝播させ、複数の特徴マップを取得する。この処理は特徴マップ取得部１０４と同様であるため説明を省略する。マスク画像生成部１０９は、特徴マップ取得部１０４と同じ学習済みのＤＲＮを用いる。マスク画像生成部１０９は、異なるＤＲＮを用いてもよいが、その場合、特徴マップ取得部１０４で用いるＤＲＮの特徴マップに対応するＩｎｄｅｘと、マスク画像生成部１０９で用いるＤＲＮの特徴マップに対応するＩｎｄｅｘなど、ＤＲＮ間のＩｎｄｅｘを何らかの手法で対応付ける必要がある。マスク画像生成部１０９は、対象画像をＤＲＮに入力・伝搬させることで、ＤＲＮの中間層の出力値、すなわち特徴マップを取得する。マスク画像生成部１０９は、取得した中間層の出力値をマスク合成部１１２に出力する。
【００２９】
第２画像特徴量取得部１１０は、対象画像から輝度特徴量を取得する。ここで取得する輝度特徴量は、第１画像特徴量取得部１０５と同じ手段で取得されていればよい。本実施例では、輝度特徴量は輝度値として説明を続ける。
【００３０】
対応マスク検索部１１１は、第２画像特徴量取得部１１０で取得した輝度特徴量に基づき、特徴量・Ｉｎｄｅｘデータベースから、Ｉｎｄｅｘを取得する。例えば、対応マスク検索部１１１は、第２画像特徴量取得部１１０で取得した輝度特徴量と特徴量・Ｉｎｄｅｘデータベースに記録された輝度特徴量の値と最も近い輝度特徴量の値を特定する。対応マスク検索部１１１は、特定された輝度特徴量と１対１に対応付けられたＩｎｄｅｘを取得する。また、対応マスク検索部１１１は、クラスタリングアルゴリズムを用いて代表的なＩｎｄｅｘを予め設定し、最も距離の近いクラスタ中心を用いてもよい。対応マスク検索部１１１は、取得されたＩｎｄｅｘに基づいて、マスク画像の生成に適切な特徴マップをＤＲＮの中間層の出力値から取得する。
Ｉｎｄｅｘは、上述した通り第２画像特徴量取得部１１０で取得した輝度特徴量と最も近い特徴量・Ｉｎｄｅｘデータベースに格納されている輝度特徴量に対応するＩｎｄｅｘを用いてもよいし、第２画像特徴量取得部１１０で取得した輝度特徴量と、特徴量・Ｉｎｄｅｘデータベースに格納されている輝度特徴量との差が所定の閾値以下である特徴量・Ｉｎｄｅｘデータベースに格納されている輝度特徴量に対応するＩｎｄｅｘ、すなわち複数のＩｎｄｅｘを用いてもよい。
対応マスク検索部１１１の処理は、データベース生成部１０６で説明した、輝度特徴量と特徴マップとの関連に基づいて、対象画像をＤＲＮに入力・伝搬することで得られた特徴マップの中から、所望の被写体に反応すると推定される特徴マップの推定を行うと言い換えてもよい。
対応マスク検索部１１１は、複数枚の特徴マップからマスク画像を生成する場合、特徴量・Ｉｎｄｅｘデータベースを用いて、重み付き和の重みを算出する。対応マスク検索部１１１は、算出された重みに基づいて、マスク画像を生成する。対応マスク検索部１１１は、例えば、輝度特徴量の値が近い順に距離等を用いることで重みを算出してもよい。対応マスク検索部１１１は、その他の公知の手法を用いて重みを算出してもよい。なお、対応マスク検索部１１１は、特徴量・Ｉｎｄｅｘデータベースに記録された確率分布を取得して、モデル化し、関連付けることでマスク画像を生成するように構成されてもよい。
【００３１】
マスク合成部１１２は、マスク画像生成部１０９で得られた特徴マップのうち取得されたＩｎｄｅｘに対応する特徴マップをマスク画像として生成する。マスク合成部１１２は、複数のＩｎｄｅｘを使用する場合、Ｉｎｄｅｘに対する重みに基づいてマスク画像を生成してもよい。重みづけには、重みづけ和や論理演算、後述するような機械学習による重みづけ等が用いられる。マスク合成部１１２は、対象画像に対して適用するための被写体の位置を示す合成マスク画像を生成する。
【００３２】
被写体位置特定部１１３は、生成された合成マスク画像に基づいて、被写体の位置が特定された位置情報を生成する。被写体位置特定部１１３は、位置情報を被写体位置特定結果として出力する。被写体位置特定部１１３は、位置特定部の一態様である。位置特定部は、生成されたマスク画像に基づいて、被写体の位置を特定する。
【００３３】
図４は、第１の実施形態における、特徴量・Ｉｎｄｅｘデータベースを生成する処理の流れを示すフローチャートである。第１画像入力部１０１は、被写体と背景とを含む画像を受け付ける（ステップＳ１０１）。被写体・背景分離部１０３は、受け付けた被写体と背景とを含む画像から被写体と背景とが分離された被写体のみの画像である被写体画像を生成する（ステップＳ１０２）。被写体・背景分離部１０３は、生成された被写体画像を特徴マップ取得部１０４及び第１画像特徴量取得部１０５に出力する（ステップＳ１０３）。
【００３４】
特徴マップ取得部１０４は、被写体画像を学習済みのＤＲＮに入力・伝播させる（ステップＳ１０４）。特徴マップ取得部１０４は、マスクに適する特徴マップを取得する（ステップＳ１０５）。特徴マップ取得部１０４は、取得した特徴マップに対応するＩｎｄｅｘを取得する（ステップＳ１０６）。マスクに適する特徴マップの取得と、該特徴マップに対応するＩｎｄｅｘの取得については前述した特徴マップ取得部１０４に係る記載を参照されたい。
【００３５】
第１画像特徴量取得部１０５は、被写体画像から輝度特徴量を取得する（ステップＳ１０７）。データベース生成部１０６は、取得された輝度特徴量とＩｎｄｅｘとを、１対１対応させることで、特徴量・Ｉｎｄｅｘデータベースを生成する（ステップＳ１０８）。
【００３６】
図５は、第１の実施形態における、被写体の位置を特定する処理の流れを示すフローチャートである。第２画像入力部１０８は、被写体の位置を取得したい画像である対象画像を受け付ける（ステップＳ２０１）。マスク画像生成部１０９は、対象画像を学習済みのＤＲＮに入力・伝播させ、特徴マップを取得する（ステップＳ２０２）。第２画像特徴量取得部１１０は、対象画像に基づいて、画像の輝度特徴量を取得する（ステップＳ２０３）。
【００３７】
対応マスク検索部１１１は、取得された輝度特徴量に基づいて、特徴量・ＩｎｄｅｘデータベースからＩｎｄｅｘを取得する（ステップＳ２０４）。対応マスク検索部１１１は、複数のＩｎｄｅｘを用いる場合、各Ｉｎｄｅｘに対応する特徴マップの重みを取得する（ステップＳ２０５）。マスク合成部１１２は、取得された中間層のＩｎｄｅｘに対応する特徴マップと得られた重みとに基づいて、合成マスク画像を生成する（ステップＳ２０６）。被写体位置特定部１１３は、生成された合成マスク画像に基づいて、被写体の位置を特定した位置情報を生成する（ステップＳ２０７）。
【００３８】
このように構成された位置特定装置１００は、被写体画像と学習済みのＤＲＮから得られた所望の被写体に適する特徴マップのＩｎｄｅｘと、被写体画像の輝度特徴量とを関連付けることで得られた特徴量・Ｉｎｄｅｘデータベースを利用することで、対象画像から所望の被写体の位置を特定する。すなわち所望の被写体を取り出すことを可能にする。
この実施形態のポイントを記載すると、
１．被写体画像を学習済みのＤＲＮに入力・伝搬させ、中間層の出力である特徴マップを複数得る
２．得られた特徴マップのうち、所望の被写体に適する特徴マップを取得する
３．被写体画像からあらかじめ定められた特徴量を抽出する
４．抽出された特徴量と、所望の被写体に適する特徴マップに対応するＩｎｄｅｘを関連付ける
５．対象画像を、１．と同じ学習済みのＤＲＮに入力・伝搬させ、特徴マップを複数取得する
６．３．と同じ手法により対象画像から特徴量を抽出する
７．６．で抽出された特徴量と近い、４．で関連付けられた特徴量に対応するＩｎｄｅｘを取得する
８．５．で得られた特徴マップのうち、７．で得られたＩｎｄｅｘに対応する特徴マップを取得する
９．８．で得られた特徴マップをマスクとして対象画像に適用することで所望の被写体の位置を取得する得る
となる。これは、本来であればブラックボックスである学習済みのニューラルネットワークの中間層の出力である特徴マップをマスクとして利用するため、３．６．に記載したような、特徴量をキーとして関連付けるための構成である。
【００３９】
（第２の実施形態）
次に、第２の実施形態における位置特定装置１００ａについて説明する。第１の実施形態の位置特定装置１００は、輝度特徴量などの予め決定された特徴量を用いて、複数枚の特徴マップから合成マスク画像を生成した。第１の実施形態は、位置を特定したい被写体内と背景等の位置を特定したい被写体以外（以下「背景等」という。）の間で輝度値の差分値が顕著な場合に特に有効な手法であったが、それ以外の場合には、精度が十分に得られない可能性があった。そこで、第２の実施形態の位置特定装置１００ａは、被写体と背景等との輝度値の差分値が十分に大きくない場合に、機械学習によって重みを決定する。言い換えると、被写体の特徴量の分布と背景等の特徴量の分布が重複する領域が大きい場合に特に有効な手法を本実施例では提供する。本実施例のポイントは、学習用の画像をＤＲＮに入力・伝搬させた際に得られる特徴マップのうち、被写体に強く反応する特徴マップについて大きい重みが、被写体以外に強く反応する特徴マップについて小さな重みが設定されるように学習を行う点である。強く反応する、とは特徴マップ取得部１０４と同様である。
【００４０】
図６は、第２の実施形態における、位置特定装置の機能構成を表す機能ブロック図である。第２の実施形態における位置特定装置１００ａは、制御部１０２の代わりに制御部１０２ａとマスク合成部１１２の代わりにマスク合成部１１２ａとを備える点、機械学習部１１４、変換データベース記憶部１１５及び特徴量候補決定部１１６をさらに備える点で第１の実施形態とは異なるが、それ以外の構成は同じである。以下、第１の実施形態と異なる点について説明する。
【００４１】
制御部１０２ａは、位置特定装置１００ａの各部の動作を制御する。制御部１０２ａは、例えばＣＰＵ等のプロセッサ及びＲＡＭを備えた装置により実行される。制御部１０２ａは、位置特定プログラムを実行することによって、被写体・背景分離部１０３、特徴マップ取得部１０４、第１画像特徴量取得部１０５、データベース生成部１０６、データベース記憶部１０７、第２画像入力部１０８、マスク画像生成部１０９、第２画像特徴量取得部１１０、対応マスク検索部１１１、マスク合成部１１２ａ、被写体位置特定部１１３及び機械学習部１１４として機能する。
【００４２】
機械学習部１１４は、被写体・背景分離部１０３から被写体画像を受け付ける。機械学習部１１４は、特徴マップ取得部１０４から、特徴マップを受け付ける。機械学習部１１４は、被写体画像と特徴マップとに基づいて、高精度なマスク画像への特徴マップの変換データを学習によって決定する。変換データは、画像内の被写体の位置と、画像の中間層の出力値に基づいて決定されるマスク画像を変換するデータである。機械学習部１１４は、例えば、被写体の位置を示す正解データを被写体の位置情報とする。機械学習部１１４は、例えば、特徴マップが被写体の位置情報に合致するように学習してもよいし、例えば、任意の特徴マップに対して被写体の位置情報に合致するように学習してもよいし、特徴マップごとに重みを学習させ、その線形和が位置情報に合致するように学習させてもよい。また、機械学習部１１４は、単純な重み付き和を算出する等の線形の処理の代わりに中間層の出力値に対する非線形な変換を用いてもよい。非線形な変換であっても、同様の効果を奏する。機械学習部１１４は、学習によって生成された変換データを変換データベースとして変換データベース記憶部１１５に記録する。被写体のみの画像は学習画像の一態様である。学習画像は、所望の被写体が撮像された対象画像とは異なる画像であって、被写体を含む画像である。
【００４３】
変換データベース記憶部１１５は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。変換データベース記憶部１１５は、変換データベースを記憶する。
【００４４】
特徴量候補決定部１１６は、被写体の位置を取得したい画像を受け付ける。特徴量候補決定部１１６は、輝度特徴量又は変換データのどちらを用いて、受け付けた画像に基づく合成マスク画像を生成するか決定する。具体的には、特徴量候補決定部１１６は、画像内の輝度値の差分値を取得する。特徴量候補決定部１１６は、輝度値の差分値が閾値以上の場合、第１の実施形態と同様に、輝度特徴量の値を用いることに決定する。これに対して、特徴量候補決定部１１６は、輝度値の差分値が閾値未満の場合、変換データを用いることに決定する。なお、閾値は、ユーザが目視によって輝度値の変化の少ない画像を１枚以上選択する。特徴量候補決定部１１６は、選択された画像の被写体内の輝度値の変化を閾値としてもよい。また、特徴量候補決定部１１６は、輝度値のヒストグラムを用いて、単峰性の分布であるか否かを判定する等のように、他の手法を用いて閾値を決定してもよい。
【００４５】
マスク合成部１１２ａは、特徴量候補決定部１１６の決定結果に応じて、マスク画像を合成する。マスク合成部１１２ａは、特徴量候補決定部１１６が、輝度特徴量の値を用いることに決定した場合は実施例１と同様の処理であるため説明を省略する。
【００４６】
マスク合成部１１２ａは、特徴量候補決定部１１６が、変換データを用いることに決定した場合、変換データベース記憶部１１５から学習によって事前に生成された変換データベースを取得する。マスク合成部１１２ａは、マスク画像生成部１０９から受け付けたマスク画像を、変換データに基づいて変換する事で合成マスク画像を生成する。マスク合成部１１２ａは、マスク変換部の一態様である。マスク変換部は、学習画像内の被写体の位置と、学習画像の中間層の出力値に基づいて決定されるマスク画像を変換する変換データとを対応付ける。マスク変換部は、変換データと対応付けることで、マスク画像を被写体の位置を表す合成マスク画像に変換する。
【００４７】
図７は、第２の実施形態における、データベースを生成する処理の流れを示すフローチャートである。第２の実施形態では、特徴量・Ｉｎｄｅｘデータベース以外に、変換データベースが生成される処理が追加される。なお、ステップＳ１０１からステップＳ１０８は、第１の実施形態と同様であるため、説明を省略する。
【００４８】
機械学習部１１４は、ＤＲＮの中間層の出力値が、被写体の位置情報に合致するように学習する（ステップＳ３０１）。機械学習部１１４は、学習によって生成された変換データを変換データベースとして記録する。（ステップＳ３０２）。
【００４９】
図８は、第２実施形態における、被写体の位置を特定する処理の流れを示すフローチャートである。なおステップＳ２０１からステップＳ２０５は、第１の実施形態と同様であるため、説明を省略する。
【００５０】
特徴量候補決定部１１６は、輝度値の差分値が閾値以上であるか否かを判定する(ステップＳ４０１)。輝度値の差分値が閾値以上の場合（ステップＳ４０１：ＹＥＳ）、処理は、ステップＳ２０３に遷移する。輝度値の差分値が閾値未満の場合（ステップＳ４０１：ＮＯ）、処理は、ステップＳ４０２に遷移する。
【００５１】
マスク合成部１１２ａは、特徴量候補決定部１１６の決定結果に応じて、マスク画像を合成する（ステップＳ４０２）。マスク合成部１１２ａは、輝度値の差分値が閾値以上だった場合、取得された中間層のＩｎｄｅｘとＩｎｄｅｘに対する重みに基づいて、マスク画像を合成することで、合成マスク画像を生成する。マスク合成部１１２ａは、輝度値の差分値が閾値未満だった場合、マスク画像を、変換データに基づいて変換する事で合成マスク画像を生成する。被写体位置特定部１１３は、生成された合成マスク画像に基づいて、被写体の位置を示す位置情報を生成する（ステップＳ４０３）。
【００５２】
このように構成された位置特定装置１００ａは、機械学習部１１４が、ＤＲＮの中間層の出力値が被写体の位置情報に合致するように学習することで、変換データベースを生成する。次に、位置特定装置１００ａの特徴量候補決定部１１６は、輝度値の差分値に基づいて、輝度特徴量又は変換データのどちらを用いてマスク画像を生成するか決定する。マスク合成部１１２ａは、特徴量候補決定部１１６の決定に基づいて、合成マスク画像を生成する。被写体位置特定部１１３は、生成された合成マスク画像に対して、位置特定を行うことで、画像内の被写体の位置を特定することができる。このように構成された位置特定装置１００ａは、輝度特徴量の値を用いて、Ｉｎｄｅｘの特定及びマスクの重みづけを行う場合、精度が十分に得られないような画像に対しても、被写体の位置を示すマスク画像を生成することができる。
【００５３】
上述した実施形態における位置特定装置１００をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００５４】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００５５】
本発明は、撮像された画像に含まれる被写体の位置検出する装置に適用可能である。
【符号の説明】
【００５６】
１００…位置特定装置，  １０１…第１画像入力部，  １０２…制御部，  １０３…被写体・背景分離部，  １０４…特徴マップ取得部，  １０５…第１画像特徴量取得部，  １０６…データベース生成部，  １０７…データベース記憶部，  １０８…第２画像入力部，  １０９…マスク画像生成部，  １１０…第２画像特徴量取得部，  １１１…対応マスク検索部，  １１２…マスク合成部，  １１３…被写体位置特定部，  １００ａ…位置特定装置，  １１４…機械学習部，  １１５…変換データベース記憶部，  １１６…特徴量候補決定部，  １０２ａ…制御部，  １１２ａ…マスク合成部
【図１】
2019153092.tif 000003
【図２】
2019153092.tif 000004
【図３】
2019153092.tif 000005
【図４】
2019153092.tif 000006
【図５】
2019153092.tif 000007
【図６】
2019153092.tif 000008
【図７】
2019153092.tif 000009
【図８】
2019153092.tif 000010
【図９】
2019153092.tif 000011