(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-03
(45)【発行日】2024-10-11
(54)【発明の名称】画像処理装置およびその制御方法
(51)【国際特許分類】
G06T 7/143 20170101AFI20241004BHJP
G06T 7/00 20170101ALI20241004BHJP
【FI】
G06T7/143
G06T7/00 350C
(21)【出願番号】P 2022138342
(22)【出願日】2022-08-31
【審査請求日】2023-10-24
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】齋藤 建志
【審査官】村山 絢子
(56)【参考文献】
【文献】米国特許出願公開第2022/0147751(US,A1)
【文献】特開2021-103347(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06T 1/00
H04N 23/00
H04N 23/40-23/76
H04N 23/90-23/959
H04N 5/222-5/257
(57)【特許請求の範囲】
【請求項1】
撮像画像を取得する取得手段と、
前記撮像画像の各位置における物体の存在尤度を表す尤度マップを取得する尤度取得手段と、
前記撮像画像の各位置において、それぞれの位置を基準とした物体の位置およびサイズを示す領域テンソルを取得する領域取得手段と、
前記撮像画像に対する第1の位置座標を受け付ける受付手段と、
前記第1の位置座標に基づいてそれぞれが前記領域テンソルにより示される2以上の領域候補に対応する前記尤度マップの尤度と前記領域テンソルとに基づいて、前記第1の位置座標に対応する物体領域を決定する領域決定手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記領域取得手段は、前記撮像画像をj行i列のj×i個の小領域に分割した各小領域の位置における領域テンソルを取得し、
前記領域決定手段は、j×i個の小領域のうち前記第1の位置座標に相対的に近い2以上の小領域に対応する2以上の領域候補を選択する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記領域テンソルは、前記撮像画像の各位置から物体を囲う領域の境界上の複数の点それぞれまでの距離を示すテンソルである
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記尤度取得手段は、事前に学習された第1の多層ニューラルネットワークを用いて前記尤度マップを取得する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記領域取得手段は、事前に学習された第2の多層ニューラルネットワークを用いて前記領域テンソルを取得する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記領域決定手段は、前記尤度マップにおける尤度を重みとして、前記2以上の領域候補を加重平均により統合して物体領域を決定する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記第1の位置座標に基づいて前記領域決定手段により第1の物体領域を決定させ、該第1の物体領域から決定される第2の位置座標に基づいて前記領域決定手段により第2の物体領域を決定させる制御手段と、
前記尤度マップにおける前記第1の位置座標に対応する第1の尤度値と、前記尤度マップにおける前記領域決定手段で決定した物体領域の中心に対する前記第2の位置座標に対応する第2の尤度値と、の何れが大きいかを判定する判定手段と、
前記判定手段により前記第1の尤度値が前記第2の尤度値より大きいと判定された場合は前記第1の物体領域を外部装置に出力し、前記判定手段により前記第1の尤度値が前記第2の尤度値より小さいと判定された場合は前記第2の物体領域を前記外部装置に出力する、出力手段と、
をさらに有する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記制御手段は、さらに、前記第2の物体領域から決定される第3の位置座標に基づいて前記領域決定手段により第3の物体領域を決定させ、
前記判定手段は、さらに、前記第2の尤度値と、前記尤度マップにおける前記第3の位置座標に対応する第3の尤度値と、の何れが大きいかを判定し、
前記出力手段は、前記判定手段により前記第2の尤度値が前記第3の尤度値より大きいと判定された場合は前記第2の物体領域を前記外部装置に出力し、前記判定手段により前記第2の尤度値が前記第3の尤度値より小さいと判定された場合は前記第3の物体領域を前記外部装置に出力する
ことを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記受付手段は、前記撮像画像を表示するタッチパネルディスプレイであり、
前記第1の位置座標は、前記タッチパネルディスプレイに対するユーザからのタッチ操作に基づき決定される位置座標である
ことを特徴とする請求項1に記載の画像処理装置。
【請求項10】
前記外部装置は、前記撮像画像を撮像した撮像装置のフォーカス制御を行うフォーカス制御装置である
ことを特徴とする請求項7に記載の画像処理装置。
【請求項11】
画像処理装置の制御方法であって、
撮像画像を取得する取得工程と、
前記撮像画像の各位置における物体の存在尤度を表す尤度マップを取得する尤度取得工程と、
前記撮像画像の各位置において、それぞれの位置を基準とした物体の位置およびサイズを示す領域テンソルを取得する領域取得工程と、
前記撮像画像に対する第1の位置座標を受け付ける受付工程と、
前記第1の位置座標に基づいてそれぞれが前記領域テンソルにより示される2以上の領域候補に対応する前記尤度マップの尤度と前記領域テンソルとに基づいて前記第1の位置座標に対応する物体領域を決定する決定工程と、
を含むことを特徴とする制御方法。
【請求項12】
コンピュータを、請求項1乃至10の何れか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像内の物体領域を指定する方法に関するものである。
【背景技術】
【0002】
コンピュータビジョンはコンピュータに入力された画像を理解し、その画像の様々な特性を認識する技術である。その中で物体検出は、自然画像内に存在する物体の位置と種類を推定するタスクである。非特許文献1には、多層ニューラルネットワークを用いることで物体の中心を示す尤度マップを取得し、尤度マップのピーク点を抽出することにより物体の中心位置を検出する技術が開示されている。
【0003】
物体検出は撮像装置のオートフォーカス(AF)制御に利用することが可能である。特許文献1には、ユーザの指定座標を受け取り、画像と共に多層ニューラルネットワークに入力することで、ユーザの意図を踏まえた主被写体を特定し、オートフォーカス制御を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】Xingyi Zhou et al.,"Objects as Points",2019
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1においては、ユーザの指示した位置が被写体から外れている場合には、ユーザが意図した被写体を特定することは困難である。また、ユーザが指定する物体の種類や大きさ、見え方によっては、ユーザが意図した被写体を特定するのはさらに困難となる。そのため、被写体の存在する尤度の推定の誤りや、被写体までのベクトル推定の誤りにより、ユーザの意図しない他の被写体を特定する結果となる場合がある。
【0007】
本発明は、このような問題に鑑みてなされたものであり、ユーザが意図する被写体領域をより正確に特定可能とする技術を提供することを目的としている。
【課題を解決するための手段】
【0008】
上述の問題点を解決するため、本発明に係る画像処理装置は以下の構成を備える。すなわち、画像処理装置は、
撮像画像を取得する取得手段と、
前記撮像画像の各位置における物体の存在尤度を表す尤度マップを取得する尤度取得手段と、
前記撮像画像の各位置において、それぞれの位置を基準とした物体の位置およびサイズを示す領域テンソルを取得する領域取得手段と、
前記撮像画像に対する第1の位置座標を受け付ける受付手段と、
前記第1の位置座標に基づいてそれぞれが前記領域テンソルにより示される2以上の領域候補に対応する前記尤度マップの尤度と前記領域テンソルとに基づいて、前記第1の位置座標に対応する物体領域を決定する領域決定手段と、
を有する。
【発明の効果】
【0009】
本発明によれば、ユーザが意図する被写体領域をより正確に特定可能とする技術を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態に係る画像処理装置の機能構成を示す図である。
【
図2】第1実施形態における画像処理装置の処理フローチャートである。
【
図3】2つの被写体が写る撮像画像とその尤度マップの例を示す図である。
【
図4】物体領域候補の取得(S203)の例を示す図である。
【
図5】物体領域候補の選択(S207)の詳細フローチャートである。
【
図6】物体領域候補の統合(S209)及び選択位置補正(S210)の例を示す図である。
【
図7】第2実施形態に係る画像処理装置の機能構成を示す図である。
【
図8】第2実施形態における情報処理装置の処理フローチャートである。
【
図9】選択位置補正(S210)における成功と失敗の例を示す図である。
【
図10】画像処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、撮像画像における物体領域を特定する画像処理装置を例に挙げて以下に説明する。
【0013】
<装置構成>
図1は、第1実施形態に係る画像処理装置100の機能構成を示す図である。画像処理装置100は、撮影装置110により得られた撮像画像に対して後述する物体領域の特定処理を行い、特定した物体領域の情報を処理装置120に出力する。
【0014】
撮像装置110は、光学系、撮像素子などを有し、撮像した画像を画像処理装置100に出力する。例えば、撮像装置110として、ディジタルカメラや監視カメラを用いることができる。また、撮像装置110は、ユーザからの入力を受け付けるインタフェースを持ち、当該入力に基づく情報を画像処理装置100に出力する。例えば、撮像装置110は、インタフェースとしてタッチパネルディスプレイを搭載し、ユーザからのタッチ操作結果(タッチされた位置座標)のデータを出力する。
【0015】
外部装置である処理装置120は、画像処理装置100から取得した物体領域の情報を利用した処理(カメラのオートフォーカス機能など)を行う。例えば、物体領域の中から測距点をいくつかサンプリングし、位相差AFに用いることができる。
【0016】
画像処理装置100は、画像取得部101、尤度マップ取得部102、候補取得部103、指示受付部104、選択部105、統合部106、位置補正部107を備える。画像処理装置100は、ディジタルカメラや監視カメラに含まれてもよいし、独立の処理装置としてもよい。
【0017】
画像取得部101は、撮影装置110から出力された画像(撮像画像)を取得する。尤度マップ取得部102は、取得した画像から尤度マップを算出する。候補取得部103は、取得した画像から物体領域候補を算出する。
【0018】
指示受付部104は、ユーザ指示を取得する。ここでは、ユーザが撮像装置110に対して行ったタッチ操作による指示座標を撮像装置110から取得することを想定する。
【0019】
選択部105は、尤度マップと指示座標とに基づいて、物体領域候補の中から一つ以上の物体領域候補を選択する。統合部106は、選択された物体領域候補を統合し、物体領域を一つ算出する。位置補正部107は、算出された「物体領域のみ」もしくは「物体領域と尤度マップの組み合わせ」に基づいて、物体領域候補を再び選択するための選択位置を算出する。
【0020】
図10は、画像処理装置のハードウェア構成を示す図である。画像処理装置100は、汎用的な情報処理装置を用いて構成することができ、CPU1101、メモリ1102、入力部1103、記憶部1104、表示部1105、通信部1106等を備える。
図1に示した画像処理装置100の各機能部は、CPU1101が制御プログラムを実行することにより実現される。
【0021】
<装置の動作>
図2は、第1実施形態における画像処理装置の処理フローチャートである。まず、全体の概略動作を説明し、各ステップの詳細については後述する。
【0022】
S200では、撮像装置110は、撮影を開始し画像(動画像を構成するフレーム画像)を出力する。そして、画像処理装置100の画像取得部101は、撮像装置110から出力された画像を取得する。
【0023】
S201では、画像取得部101は、撮影された画像を所定の解像度に変換する。S202では、尤度マップ取得部102は、S202で解像度変換された画像の各位置(小領域)における物体の中心がある尤度算出を行い尤度マップを算出する。S203では、候補取得部103は、S202で解像度変換された画像における物体領域候補の領域算出を行う。後述するように、ここでは、物体領域候補をテンソルの形式で算出する。
【0024】
S204では、指示受付部104は、ユーザからの座標指示を受け付ける。上述したように、ここでは、指示受付部104は、ユーザが撮像装置110に対して指示した指示座標を、撮像装置110から受信する。S205では、S204における指示の有無に基づき分岐する。指示があった場合はS206に進み、指示がなかった場合はS212に進む。
【0025】
S206では、指示受付部104は、受け付けた座標指示が示す座標をS201で変換した解像度の画像に対応する座標に変換する。S207では、選択部105は、所与の位置座標(S206で変換された座標、または、1つ前の処理ループのS210で算出された座標)に基づいて1つ以上の物体領域候補を選択する。S207の詳細については
図5を参照して後述する。
【0026】
S208では、選択部105は、S207により1つ以上の物体領域候補が選択されているか否かを判定する。選択されている場合はS209に進み、選択されていない場合はS212に進む。S209では、統合部106は、選択された1つ以上の物体領域候補を1つの領域に統合する。
【0027】
S210では、位置補正部107は、S209で統合された領域及びS202で算出された尤度マップに基づいて、S207での物体領域候補の選択に利用した座標(位置)を補正した選択位置を算出する。
【0028】
S211では、統合部106は、位置補正部107による選択位置の算出回数が所定の回数未満であるか否かを判定する。所定の回数未満である場合はS207に進み、補正された選択位置を新たな座標としてS207~S211の処理ループを再び実行する。一方、所定の回数に達した場合はS212に進む。
【0029】
S212では、統合部106は、S209で統合した領域を処理装置120に出力する。なお、S205でNoあるいは(S207~S211の1回目の処理ループで)S208でNoと判定された場合は「領域なし」として出力する。
【0030】
<画像変換(S201)の詳細>
ここでは、S200で取得される画像が、例えば幅5000ピクセル、高さ4000ピクセルのRGB画像であるとして説明する。S201では尤度マップや物体領域候補を算出する多層ニューラルネットワークの入力形式に合わせるために、撮像画像を所定のサイズに変換する。
【0031】
本実施形態においては、多層ニューラルネットワークの入力サイズは幅500ピクセル、高さ400ピクセルのRGB画像とする。そのため、本実施形態ではS200で取得した撮像画像を10分の1に縮小することを想定するが、他の方法で縮小してもよい。たとえば、撮像画像の上下左右の黒画像をパディングし幅6000ピクセル、高さ4800ピクセルのRGB画像を生成した後、12分の1に縮小してもよい。あるいは、撮像画像から所定の領域を直接切り取ってもよい。変換された画像において、左上隅の頂点が原点座標(0,0)であるとする。座標(i,j)は、画像のj行i列の画素の座標を示し、右下隅の頂点の画素は座標(499,399)となる。以降、変換された画像の座標系を「画像座標系」と呼ぶ。
【0032】
<尤度マップの取得(S202)の詳細>
本実施形態では、非特許文献1のように、尤度マップを多層ニューラルネットワークにより算出することを想定する。撮像装置内に有するニューラルネットワークを用いることもできるし、外部の装置に有するニューラルネットワークが算出した尤度マップを、通信ネットワークを介して取得して用いることもできる。上述のように、多層ニューラルネットワークの入力は解像度変換された画像であり、幅500ピクセル、高さ400ピクセル、3チャネル(RGB)の画像である。多層ニューラルネットワークの出力は10列8行、1チャネルのテンソル(行列)である。算出されたテンソル(行列)を尤度マップと呼ぶ。尤度マップ(の1チャネル目)において、左上隅の頂点が原点座標(0,0)であるとする。座標(i,j)はj行i列の画素の座標を示し、右下隅の頂点の画素は座標(9,7)となる。以降、尤度マップの座標系を「マップ座標系」と呼ぶ。
【0033】
尤度マップを算出する多層ニューラルネットワークは、多数の学習データ(画像と尤度マップの組)を用いて事前に学習しておく。詳細は非特許文献1を参照されたい。本実施形態において尤度マップは、あらゆる物体に対して反応する顕著性マップであることを仮定するが、特定の物体のみに反応する顕著性マップであってもよい。顕著性マップとは、人が注視しやすい部分を画像で表現したマップを意味する。
【0034】
図3は、2つの被写体が写る撮像画像とその尤度マップの例を示す図である。
図3(a)は画像変換された撮像画像の例を示し、
図3(b)はこの撮像画像に対応する尤度マップの例を示している。
【0035】
画像変換された撮像画像300には、後方(奥側)の被写体301と前方(手前側)の被写体302の二つの被写体が写っている。尤度マップの各要素領域はその要素領域に対応する箇所の物体の存在尤度を示す。図示の都合上、要素領域としているが、要素領域は画素と対応させることもできる。存在尤度(各要素領域の値)は0から255までの値をとり、値が大きいほど存在尤度が高いことを示す。
図3(b)の各要素領域は尤度が低いほど白く、尤度が高くなるにつれて黒く示している。尤度マップ304は、特に前方の被写体302に対する尤度が高く算出されており、座標(6,4)で最大尤度「204」をとる。
【0036】
<物体領域候補の取得(S203)の詳細>
物体領域候補についても尤度マップと同様に、多層ニューラルネットワークを用いて算出する。撮像装置内に有するニューラルネットワークを用いることもできるし、外部の装置に有するニューラルネットワークが算出した物体領域候補を、通信ネットワークを介して取得して用いることもできる。多層ニューラルネットワークの入力は尤度マップの算出と同様に、解像度変換された画像であり、幅500ピクセル、高さ400ピクセル、3チャネルのRGB画像である。多層ニューラルネットワークの出力は10列8行の4チャネルのテンソルである。すなわち、解像度変換された画像をj行i列のj×i個の小領域に分割した各小領域の位置における領域テンソルである(ここではj=10、i=8)。
【0037】
領域テンソルの1チャネル目は各要素領域から物体輪郭左端までの距離、同様に2チャネル目は物体輪郭上端までの距離、3チャネル目は物体輪郭左端までの距離、4チャネル目は物体輪郭下端までの距離を示す。以上の計4チャネルの情報から、物体の中心位置と物体のサイズを算出することができる。この領域テンソルを以降では「物体領域候補テンソル」と呼ぶ。
【0038】
また、物体領域候補テンソルに対して更に2チャネル分を追加し、物体中心位置までの横と縦方向それぞれの距離を表すオフセットマップとしてもよい。ただし、本実施形態では後述する選択位置補正によって物体中心位置を算出する手法に主眼を置くため、以後の説明では物体領域候補テンソルは4チャネルのみであるとして説明する。
【0039】
以下の説明では、物体領域候補テンソルの各チャネルは尤度マップと同じ行数と列数を持ち、それらの座標系もマップ座標系であるとする。ただし、物体領域候補テンソルの各チャネルの列数と行数は尤度マップと異なってもよく、異なる場合は補間(例えばバイリニア補間)により行数と列数を一致させてもよい。
【0040】
物体領域候補テンソルを算出する多層ニューラルネットワークは、尤度マップの算出と同様に、多数の学習データ(画像と物体輪郭までの上下左右の距離の組)を用いて事前に学習しておく。本実施形態では4チャネルの情報を同時に出力する多層ニューラルネットワークを想定する。ただし、1チャネル出力する多層ニューラルネットワークを4つ用意し、その結果を結合してもよい。
【0041】
図4は、物体領域候補取得(S203)の例を示す図である。
図4(a)は画像変換された撮像画像の例を示し、
図4(b)~(e)は物体を囲う矩形400に関する距離マップを示している。より詳細には、
図4(b)は矩形400への上端への距離マップ、
図4(c)は矩形400への下端への距離マップ、
図4(d)は矩形400への右端への距離マップ、
図4(e)は矩形400への左端への距離マップをそれぞれ示している。各要素領域において示される距離(数値)の単位はピクセルである。
【0042】
ここで、
図3(b)において尤度が最大となった座標(6,4)に注目する。
図4(b)~(e)の白黒反転している要素領域が、対応する注目箇所である。
図4(a)において、点401に示される点がこの注目箇所に対応する画像上の位置である。以下の数式(1)を用いてマップ座標を画像座標に変換することができる。
【0043】
【0044】
ここで、I
w、I
hはそれぞれ画像変換された撮像画像の幅と高さを表し、M
w、M
hはそれぞれマップの幅と高さを表す。(I
x,I
y)は画像座標系の点を、(M
x,M
y)はマップ座標系の点を表す。数式(1)によれば、マップ座標の点(6,4)は画像座標に変換すると(325,225)である。即ち、
図4の点401の画像座標が(325,225)である。
【0045】
また、注目箇所における物体を囲う矩形端(上下左右)への距離は、
図4(b)~(e)よりそれぞれ「344」、「348」、「178」、「166」である。以上より、注目箇所における物体領域候補400は、画像座標系において座標(325,225)を基準に、4方向(上下左右)にそれぞれ、「344」、「348」、「178」、「166」の距離に位置する4辺の矩形で表現される。
【0046】
本実施形態では、物体領域候補を、矩形端(上下左右)までの距離により表現しているが他の表現方法を用いてもよい。例えば、物体領域候補を、物体を囲う領域の境界上の複数の点403を結んだ複数の辺404で定義し、各マップ座標に対応する(Ix,Iy)から各点までの距離で表現してもよい。
【0047】
<物体領域候補の選択(S207)の詳細>
図5は、物体領域候補選択(S207)の詳細フローチャートである。
【0048】
S500では、選択部105は、各変数を初期化する。n及びmはカウンタである。Nは選択する物体領域候補の数、Tは尤度の閾値、Dは距離の閾値である。Lijはマップ座標系のj行i列に対応する尤度、Sijはマップ座標系のj行i列に対応する物体領域候補である。また、(Px,Py)は指示受付部104で取得した指示座標である。なお、指示座標(Px,Py)は画像座標系で与えられた指示座標を数式(1)に基づいてマップ座標系に変換したものであり、2次元の実数ベクトルである。
【0049】
S501では、選択部105は、すべてのマップ座標の中から指示座標(Px,Py)にm番目に近いマップ座標(u,v)を選択する。(u,v)は2次元の正の整数ベクトルである。
【0050】
S502では、選択部105は、(u,v)が存在し、且つ、(Px,Py)と(u,v)との間の距離が閾値D以下であるか否かを判定する。YesであればS503に進み、そうでなければ処理を終了する。本実施形態では、距離を導出するための距離関数として数式(2)により示されるユークリッド距離を用いるが、他の距離関数を用いてもよい。
【0051】
【0052】
S503では、選択部105は、マップ座標(u,v)に対応する位置における尤度マップの値Luvを抽出する。
【0053】
S504では、選択部105は、Luvと尤度の閾値Tを比較する。LuvがT以上であればS505に進み、LuvがT未満であればS509に進みmをインクリメント(1加算)してS501に戻る。
【0054】
S505では、選択部105は、マップ座標(u,v)に対応する物体領域候補Suvを抽出する。
【0055】
S506では、選択部105は、現在の尤度Luvと物体領域候補SuvをそれぞれLn、Snとして保存する。
【0056】
S507では、選択部105は、nとNを比較する。nがN以上であれば処理を終了する。一方、nがN未満であれば、S508に進みnをインクリメント(1加算)し、S509に進みmをインクリメント(1加算)して、S501に戻る。
【0057】
本実施形態では所定の数Nの物体領域候補を選択したが、選択する物体領域候補の個数の決定方法はこれに限らない。例えば、尤度Lnの合計が所定の値以上になるように物体領域候補を選択してもよい。
【0058】
<物体領域候補の統合(S209)の詳細>
ここでは、ユーザが
図3(a)における後方の被写体301を選択する場合を想定するが、前方の被写体302を選択する場合でも指示座標のみ異なり同様の処理となる。
【0059】
図6(a)および
図6(b)は、物体領域候補統合(S209)を説明する図である。
図6(a)に例示的に示されるように、ユーザは、撮像画像300に対して被写体301を選択したい場合、座標600を(例えばタッチ操作により)指示する。ここでは、指示した座標は画像座標系の(235,245)であり、数式(1)によりマップ座標系に変換すると(4.2,4.4)である。
【0060】
そのため、前述の物体領域候補の選択処理を行うと、斜線領域601が選択される。すなわち、斜線領域601は、マップ座標系において(4.2,4.4)から最も近い(4,4)、2番目に近い(4,5)、3番目に近い(5,4)から構成される領域である。従って尤度L1、L2、L3にはそれぞれL44、L45、L54が保存される。また、物体領域候補S1、S2、S3にはそれぞれS44、S45、S54が保存される。矩形602、603、604は、それぞれS44、S45、S54に対応する物体領域候補を図示したものである。
【0061】
図6(b)に示す領域605~609における値は、それぞれ斜線領域601に対応する、「尤度」、「矩形上端への距離」、「矩形下端への距離」、「矩形右端への距離」、「矩形左端への距離」を表す。また、矩形領域610は物体領域候補統合(物体領域の領域決定)の結果を示している。
【0062】
物体領域候補統合について、具体的な計算例を用いて説明する。まず、画像座標系における物体領域候補の中心位置を計算する。数式(1)より、マップ座標の(4,4)に対応する画像座標は(225,225)である。同様にS45の中心位置、S54の中心位置を算出することができる。
【0063】
物体領域候補の統合には尤度の加重平均を用いる。尤度の加重平均は以下の数式(3)を用いて計算することができる。
【0064】
【0065】
xnは加重平均をとる対象の値であり、xは加重平均をとった結果である。例えば、統合された物体領域の中心位置のx座標を求める場合、Snに対応する物体領域候補の中心位置のx座標をxnに代入すればよい。同様にして、中心位置のy座標、および、矩形端(上下左右)までのそれぞれの距離を数式(3)に代入すると、統合された物体領域の中心位置(x座標、y座標)、および矩形端(上下左右)までの距離を求めることができる。
【0066】
尤度Lnの初期値に0を代入しておくことで、距離閾値Dの範囲内で尤度閾値Tを超える物体領域候補が所定個数Nに満たない場合でも、数式(3)を用いて統合された物体領域を算出することができる。なお、尤度Lnがすべて0である場合は「物体領域なし」とする。
【0067】
<選択位置の補正(S210)の詳細>
図6(c)および
図6(d)は、選択位置の補正(S210)を説明する図である。位置補正部107では、統合部106によって得られた物体領域及び尤度マップを用いてユーザによる指示座標600を補正する。
図6(c)では、指示座標600を座標611に補正する例を示している。
【0068】
補正方法の一つは、統合部106によって得られた物体領域の中心を新たな選択位置とする方法である。上述の物体領域候補の算出で説明したように、各物体領域候補の中心はそれぞれのマップ座標系の点を画像座標系の点に変換した(Ix,Iy)から算出された「物体を囲う矩形の中心」に相当する。そのため、統合により得られた矩形領域610を尤度マップの値で加重平均して得られる座標611は、物体尤度に基づいた「物体を囲う矩形の中心」と見なすことが出来る。
【0069】
そのため、物体領域候補S1、S2、S3の何れかが別の物体の領域を含んでいる場合を除けば、指示座標600から矩形領域610の座標611へのベクトル612は、物体の中心方向へのベクトルとなる。
【0070】
なお、上述の説明では物体統合枠の中心を座標611するよう説明したが、他の基準に基づく座標を算出してもよい。他の算出方法について
図6(d)を用いて説明する。物体領域候補S
1、S
2、S
3それぞれにおける矩形端(上下左右)への距離マップ値を、物体領域端へのベクトル613と見なす。そして、各ベクトル及び尤度マップ値を用いて数式(3)を用いて加重平均したベクトル615を指示座標600に適用し、補正後の座標611とする。この場合、物体統合枠の中心を補正後の座標とするときに得られるベクトル612よりもノルムが大きくなるため、選択位置の補正効果をより強くすることができる。
【0071】
<結果の出力(S212)の詳細>
2回目の処理ループ(S207~S211)では、1回目の処理ループにおいて算出された座標611を物体領域候補選択(S207)の指示座標として設定して同様の処理を行う。本実施形態では、処理ループをN回(Nは1以上の整数)繰り返し、統合部106は、第N回目の物体領域候補統合の結果を処理装置120に出力する。
【0072】
<効果>
以上説明したとおり第1実施形態によれば、オフセットマップなどの中心位置補正情報を別途学習することなく、ユーザの指示座標を、より物体中心に近い座標へと移動させることが出来る。たとえば、所望の物体の中心位置からずれた位置をユーザが指定した場合であっても、所望の物体の中心位置をより正確に特定することが可能となる。また、算出された座標を用いて物体領域候補の選択および統合を行うことにより、より正確な物体領域を得ることが可能となる。
【0073】
すなわち、オフセットマップ及び尤度マップの学習が困難な被写体や、限られた物体領域候補テンソルのチャネル数の場合であっても、より正確な物体領域を得ることが可能となる。
【0074】
(第2実施形態)
上述の第1実施形態では選択位置の補正回数(ループ回数)は一定としていた。しかし、補正回数が多すぎると、補正された選択位置が、ユーザが意図した被写体の中心から離れてしまう場合がある。例えば、物体領域候補テンソルで表される矩形端への距離マップ値が(例えば隣接物を含んでしまうことにより)不正確である場合に、補正された選択位置が所望の被写体から離れてしまう。また、物体尤度が低いマップ座標に対応する物体領域候補が多い場合にも、補正された選択位置が所望の被写体から離れてしまう。
【0075】
そこで、第2実施形態では、補正された選択位置を評価し処理ループ実行の継続有無を判定する形態について説明する。
【0076】
<装置構成>
図7は、第1実施形態に係る画像処理装置700の機能構成を示す図である。終了判定部701を更に有する点が、第1実施形態(
図1)と異なる。なお、画像処理装置700のハードウェア構成は第1実施形態(
図10)と同様であるため説明は省略する。
【0077】
終了判定部701は、位置補正部107の結果及び尤度マップ取得部102の結果を評価し、位置補正部107による補正を終了するか否かの判定を行う。補正を終了しない(再度実行する)と判定された場合は、選択部105及び統合部106、位置補正部107の処理を再度実行する。一方、補正を終了すると判断された場合は、統合部106は、その時点での物体領域を処理結果として処理装置120に出力する。
【0078】
<装置の動作>
図8は、第2実施形態における画像処理装置の処理フローチャートである。基本的な処理の流れは第1実施形態(
図2)と同様であるが、S211の代わりにS801およびS802を実行する点が異なる。
【0079】
S801では、直前の処理ループ(S207~S210)で得られた処理結果(選択位置の補正)を評価し、補正処理(処理ループ)を終了するか否かの判定を行う。例えば、選択位置の補正が成功していた場合は終了しないと判定し、補正が失敗していた場合は終了すると判定する。S802では、S801において終了すると判定された場合はS212に進み、直前のS209で得られた物体領域を出力する。一方、S801において終了しないと判定された場合はS207に戻り、S210で得られた選択位置を指示座標として次の処理ループを実行する。
【0080】
<補正の終了判定(S801)の詳細>
終了判定部701は、直前に位置補正部107によって算出された補正位置(座標611)と、マップ座標系の点を画像座標系に変換した各点(Ix,Iy)との距離を算出する。そして、補正位置に最も近い点に対応するマップ座標での尤度マップを尤度L4とする。また、S209で算出したユーザの指示座標600(すなわち補正前の座標)に対応する尤度マップ値をL1とする。
【0081】
図9(a)は、選択位置の補正(S210)における成功の例を示す図である。
図9(a)においては、L
1よりもL
4が大きくなり、尤度マップ上では座標611が指示座標600よりも物体の中心らしい位置に存在すると評価できる。すなわち、選択位置の補正は成功したと判定することが出来る。そのため、補正位置に基づく物体領域の決定を継続して行った方がより良い結果が得られると予測される。そこで、終了判定部701は、処理ループの実行を終了しない(再度実行する)と判定し、選択部105及び統合部106、位置補正部107の処理を再度実行する。
【0082】
一方、
図9(b)は、選択位置の補正(S210)における失敗の例を示す図である。
図9(b)においては、L
1よりもL
4が小さくなる。想定される状況は以下の2つの場合である。
・ユーザが意図した被写体(被写体301)から離れる方向(ベクトル903)に行く場合。
・尤度マップ取得部102が誤って低い尤度を算出した場合。
【0083】
いずれの場合においても、L1とL4の差が大きい場合には、座標611は、ユーザが指定した被写体(被写体301)により近い点を算出したとは言えない。そのため、補正位置に基づく物体領域の決定を継続して行ったとしても良い結果が得られないと予測される。そこで、終了判定部701は、処理ループの実行を終了すると判定し、再度の補正処理の実行により、ユーザが指定した被写体から離れるリスクを回避する。
【0084】
<効果>
第2実施形態によれば、直前の処理ループで得られた処理結果(選択位置の補正)を評価し、補正処理(処理ループ)を終了するか否かの判定を行う。これにより、過剰な補正回数により発生する選択位置の補正失敗に起因する悪影響(すなわち誤った物体領域の決定)を避けることが可能となる。
【0085】
本明細書の開示は、以下の画像処理装置、制御方法、およびプログラムを含む。
(項目1)
撮像画像を取得する取得手段と、
前記撮像画像の各位置における物体の存在尤度を表す尤度マップを取得する尤度取得手段と、
前記撮像画像の各位置において、それぞれの位置を基準とした物体の位置およびサイズを示す領域テンソルを取得する領域取得手段と、
前記撮像画像に対する第1の位置座標を受け付ける受付手段と、
前記第1の位置座標に基づいてそれぞれが前記領域テンソルにより示される2以上の領域候補に対応する前記尤度マップの尤度と前記領域テンソルとに基づいて、前記第1の位置座標に対応する物体領域を決定する領域決定手段と、
を有することを特徴とする画像処理装置。
(項目2)
前記領域取得手段は、前記撮像画像をj行i列のj×i個の小領域に分割した各小領域の位置における領域テンソルを取得し、
前記領域決定手段は、j×i個の小領域のうち前記第1の位置座標に相対的に近い2以上の小領域に対応する2以上の領域候補を選択する
ことを特徴とする項目1に記載の画像処理装置。
(項目3)
前記領域テンソルは、前記撮像画像の各位置から物体を囲う領域の境界上の複数の点それぞれまでの距離を示すテンソルである
ことを特徴とする項目1または2に記載の画像処理装置。
(項目4)
前記尤度取得手段は、事前に学習された第1の多層ニューラルネットワークを用いて前記尤度マップを取得する
ことを特徴とする項目1乃至3の何れか1項目に記載の画像処理装置。
(項目5)
前記領域取得手段は、事前に学習された第2の多層ニューラルネットワークを用いて前記領域テンソルを取得する
ことを特徴とする項目1乃至4の何れか1項目に記載の画像処理装置。
(項目6)
前記領域決定手段は、前記尤度マップにおける尤度を重みとして、前記2以上の領域候補を加重平均により統合して物体領域を決定する
ことを特徴とする項目1乃至5の何れか1項目に記載の画像処理装置。
(項目7)
前記第1の位置座標に基づいて前記領域決定手段により第1の物体領域を決定させ、該第1の物体領域から決定される第2の位置座標に基づいて前記領域決定手段により第2の物体領域を決定させる制御手段と、
前記尤度マップにおける前記第1の位置座標に対応する第1の尤度値と、前記尤度マップにおける前記領域決定手段で決定した物体領域の中心に対する前記第2の位置座標に対応する第2の尤度値と、の何れが大きいかを判定する判定手段と、
前記判定手段により前記第1の尤度値が前記第2の尤度値より大きいと判定された場合は前記第1の物体領域を外部装置に出力し、前記判定手段により前記第1の尤度値が前記第2の尤度値より小さいと判定された場合は前記第2の物体領域を前記外部装置に出力する、出力手段と、
をさらに有する
ことを特徴とする項目1乃至6の何れか1項目に記載の画像処理装置。
(項目8)
前記制御手段は、さらに、前記第2の物体領域から決定される第3の位置座標に基づいて前記領域決定手段により第3の物体領域を決定させ、
前記判定手段は、さらに、前記第2の尤度値と、前記尤度マップにおける前記第3の位置座標に対応する第3の尤度値と、の何れが大きいかを判定し、
前記出力手段は、前記判定手段により前記第2の尤度値が前記第3の尤度値より大きいと判定された場合は前記第2の物体領域を前記外部装置に出力し、前記判定手段により前記第2の尤度値が前記第3の尤度値より小さいと判定された場合は前記第3の物体領域を前記外部装置に出力する
ことを特徴とする項目7に記載の画像処理装置。
(項目9)
前記受付手段は、前記撮像画像を表示するタッチパネルディスプレイであり、
前記第1の位置座標は、前記タッチパネルディスプレイに対するユーザからのタッチ操作に基づき決定される位置座標である
ことを特徴とする項目1乃至8の何れか1項目に記載の画像処理装置。
(項目10)
前記外部装置は、前記撮像画像を撮像した撮像装置のフォーカス制御を行うフォーカス制御装置である
ことを特徴とする項目7に記載の画像処理装置。
(項目11)
画像処理装置の制御方法であって、
撮像画像を取得する取得工程と、
前記撮像画像の各位置における物体の存在尤度を表す尤度マップを取得する尤度取得工程と、
前記撮像画像の各位置において、それぞれの位置を基準とした物体の位置およびサイズを示す領域テンソルを取得する領域取得工程と、
前記撮像画像に対する第1の位置座標を受け付ける受付工程と、
前記第1の位置座標に基づいてそれぞれが前記領域テンソルにより示される2以上の領域候補に対応する前記尤度マップの尤度と前記領域テンソルとに基づいて前記第1の位置座標に対応する物体領域を決定する決定工程と、
を含むことを特徴とする制御方法。
(項目12)
コンピュータを、項目1乃至10の何れか1項目に記載の画像処理装置の各手段として機能させるためのプログラム。
【0086】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0087】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0088】
100 画像処理装置; 101 画像取得部; 102 尤度マップ取得部; 103 候補取得部; 104 指示受付部; 105 選択部; 106 統合部; 107 位置補正部