IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特開2022-143363対応点検出装置、対応点検出方法及びプログラム
<>
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図1
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図2
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図3
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図4
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図5
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図6
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図7
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図8
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図9
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図10
  • 特開-対応点検出装置、対応点検出方法及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022143363
(43)【公開日】2022-10-03
(54)【発明の名称】対応点検出装置、対応点検出方法及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20220926BHJP
   G06N 3/04 20060101ALI20220926BHJP
【FI】
G06T7/00 350C
G06N3/04
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021043830
(22)【出願日】2021-03-17
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】石川 彰夫
(72)【発明者】
【氏名】川田 亮一
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096DA02
5L096HA09
5L096HA11
5L096JA03
5L096JA11
5L096KA04
(57)【要約】
【課題】画像に含まれる被写体の向きが未学習であっても複数の画像における特徴点を検出する。
【解決手段】対応点検出装置は、第1画像と第2画像とのそれぞれに、学習モデルに含まれる複数の処理層を伝搬させる伝搬制御部と、前記第1画像に基づく一以上の第1画像出力と、前記第2画像に基づく一以上の第2画像出力とを抽出する抽出部と、前記一以上の第1画像出力と前記一以上の第2画像出力とに基づいて、前記第1画像に含まれる特徴点である一以上の第1画像特徴点と、前記第2画像に含まれる特徴点である一以上の第2画像特徴点とを検出する特徴点検出部と、を有し、前記学習モデルは、入力された入力データにそれぞれ異なる角度の回転を施す複数の回転層と、前記複数の回転層が変換した複数の変換データに畳み込みフィルタを適用する畳み込み層とを有する。
【選択図】図5


【特許請求の範囲】
【請求項1】
第1画像と、前記第1画像に鏡映変換が施された第2画像とのそれぞれに、入力された画像に基づいて当該画像に含まれる被写体の種別を出力可能な学習モデルに含まれる複数の処理層であって、複数のユニットをそれぞれ含む前記複数の処理層を伝搬させる伝搬制御部と、
前記第1画像に基づいて、前記複数の処理層から選択した後段処理層、及び前記後段処理層より前の処理層である前段処理層の両方の処理層において活性化している前記ユニットのうち、前記第2画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第1画像出力と、前記第2画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第1画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第2画像出力とを抽出する抽出部と、
前記一以上の第1画像出力と前記一以上の第2画像出力とに基づいて、前記第1画像に含まれる特徴点である一以上の第1画像特徴点と、前記第2画像に含まれる特徴点である一以上の第2画像特徴点とを検出する特徴点検出部と、
を有し、
前記学習モデルは、入力された入力データにそれぞれ異なる角度の回転を施す複数の回転層と、前記複数の回転層が変換した複数の変換データに畳み込みフィルタを適用する畳み込み層とを有する、
対応点検出装置。
【請求項2】
前記抽出部は、前記後段処理層が前記畳み込み層であり、かつ前記前段処理層が前記複数の回転層である場合、前記第1画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第2画像に基づいて前記複数の回転層のいずれかと前記畳み込み層とにおいて活性化している前記ユニットと共通する前記ユニットを示す前記一以上の第1画像出力と、前記第2画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第1画像に基づいて前記複数の回転層のいずれかと前記畳み込み層とにおいて活性化している前記ユニットと共通する前記ユニットを示す前記一以上の第2画像出力とを抽出する、
請求項1に記載の対応点検出装置。
【請求項3】
前記抽出部は、前記後段処理層が前記複数の回転層である場合、前記第1画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第2画像に基づいて前記複数の回転層のいずれかにおいて活性化している前記ユニットと共通する前記ユニットの活性化に寄与した前記前段処理層の前記ユニットを示す前記一以上の第1画像出力と、前記第2画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第1画像に基づいて前記複数の回転層のいずれかにおいて活性化している前記ユニットと共通する前記ユニットの活性化に寄与した前記前段処理層の前記ユニットを示す前記一以上の第2画像出力とを抽出する、
請求項1又は2に記載の対応点検出装置。
【請求項4】
前記一以上の第1画像特徴点と、前記一以上の第2画像特徴点とに基づいて、前記第1画像に含まれる被写体の向きを推定する推定部をさらに有する、
請求項1から3のいずれか一項に記載の対応点検出装置。
【請求項5】
コンピュータが実行する、
第1画像と、前記第1画像に鏡映変換が施された第2画像とのそれぞれに、入力された画像に基づいて当該画像に含まれる被写体の種別を出力可能な学習モデルに含まれる複数の処理層であって、複数のユニットをそれぞれ含む前記複数の処理層を伝搬させるステップと、
前記第1画像に基づいて、前記複数の処理層から選択した後段処理層、及び前記後段処理層より前の処理層である前段処理層の両方の処理層において活性化している前記ユニットのうち、前記第2画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第1画像出力と、前記第2画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第1画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第2画像出力とを抽出するステップと、
前記一以上の第1画像出力と前記一以上の第2画像出力とに基づいて、前記第1画像に含まれる特徴点である一以上の第1画像特徴点と、前記第2画像に含まれる特徴点である一以上の第2画像特徴点とを検出するステップと、
を有し、
前記学習モデルは、入力された入力データにそれぞれ異なる角度の回転を施す複数の回転層と、前記複数の回転層が変換した複数の変換データに畳み込みフィルタを適用する畳み込み層とを有する、
対応点検出方法。
【請求項6】
コンピュータを、
第1画像と、前記第1画像に鏡映変換が施された第2画像とのそれぞれに、入力された画像に基づいて当該画像に含まれる被写体の種別を出力可能な学習モデルに含まれる複数の処理層であって、複数のユニットをそれぞれ含む前記複数の処理層を伝搬させる伝搬制御部、
前記第1画像に基づいて、前記複数の処理層から選択した後段処理層、及び前記後段処理層より前の処理層である前段処理層の両方の処理層において活性化している前記ユニットのうち、前記第2画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第1画像出力と、前記第2画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第1画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第2画像出力とを抽出する抽出部、及び
前記一以上の第1画像出力と前記一以上の第2画像出力とに基づいて、前記第1画像に含まれる特徴点である一以上の第1画像特徴点と、前記第2画像に含まれる特徴点である一以上の第2画像特徴点とを検出する特徴点検出部、
として機能させ、
前記学習モデルは、入力された入力データにそれぞれ異なる角度の回転を施す複数の回転層と、前記複数の回転層が変換した複数の変換データに畳み込みフィルタを適用する畳み込み層とを有する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の画像それぞれに含まれる被写体の対応点を検出する対応点検出装置、対応点検出方法及びプログラムに関する。
【背景技術】
【0002】
従来、画像に含まれる被写体を認識する技術が知られている。特許文献1には、畳み込みニューラルネットワーク(以下、「CNN(Convolutional Neural Network)」という。)を用いて、複数の画像における特徴点を検出する装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-097065号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1で用いられるCNNの学習モデルにおいては、入力された入力画像に含まれる被写体が、学習に用いられた学習画像に含まれる被写体に対して多少の位置ずれや変形があっても柔軟に被写体を認識することができるが、入力画像に含まれる被写体の向きが学習画像に含まれる被写体とは異なる向きで写っている場合、被写体を認識することができない場合がある。この場合、特許文献1で開示されている装置は、複数の画像における特徴点を検出することができない場合があった。
【0005】
そこで、本発明はこれらの点に鑑みてなされたものであり、画像に含まれる被写体の向きが未学習であっても複数の画像における特徴点を検出することができる対応点検出装置、対応点検出方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様に係る対応点検出装置は、第1画像と、前記第1画像に鏡映変換が施された第2画像とのそれぞれに、入力された画像に基づいて当該画像に含まれる被写体の種別を出力可能な学習モデルに含まれる複数の処理層であって、複数のユニットをそれぞれ含む前記複数の処理層を伝搬させる伝搬制御部と、前記第1画像に基づいて、前記複数の処理層から選択した後段処理層、及び前記後段処理層より前の処理層である前段処理層の両方の処理層において活性化している前記ユニットのうち、前記第2画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第1画像出力と、前記第2画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第1画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第2画像出力とを抽出する抽出部と、前記一以上の第1画像出力と前記一以上の第2画像出力とに基づいて、前記第1画像に含まれる特徴点である一以上の第1画像特徴点と、前記第2画像に含まれる特徴点である一以上の第2画像特徴点とを検出する特徴点検出部と、を有し、前記学習モデルは、入力された入力データにそれぞれ異なる角度の回転を施す複数の回転層と、前記複数の回転層が変換した複数の変換データに畳み込みフィルタを適用する畳み込み層とを有する。
【0007】
前記抽出部は、前記後段処理層が前記畳み込み層であり、かつ前記前段処理層が前記複数の回転層である場合、前記第1画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第2画像に基づいて前記複数の回転層のいずれかと前記畳み込み層とにおいて活性化している前記ユニットと共通する前記ユニットを示す前記一以上の第1画像出力と、前記第2画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第1画像に基づいて前記複数の回転層のいずれかと前記畳み込み層とにおいて活性化している前記ユニットと共通する前記ユニットを示す前記一以上の第2画像出力とを抽出してもよい。
【0008】
前記抽出部は、前記後段処理層が前記複数の回転層である場合、前記第1画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第2画像に基づいて前記複数の回転層のいずれかにおいて活性化している前記ユニットと共通する前記ユニットの活性化に寄与した前記前段処理層の前記ユニットを示す前記一以上の第1画像出力と、前記第2画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第1画像に基づいて前記複数の回転層のいずれかにおいて活性化している前記ユニットと共通する前記ユニットの活性化に寄与した前記前段処理層の前記ユニットを示す前記一以上の第2画像出力とを抽出してもよい。
【0009】
前記対応点検出装置は、前記一以上の第1画像特徴点と、前記一以上の第2画像特徴点とに基づいて、前記第1画像に含まれる被写体の向きを推定する推定部をさらに有してもよい。
【0010】
本発明の第2の態様に係る対応点検出方法は、コンピュータが実行する、第1画像と、前記第1画像に鏡映変換が施された第2画像とのそれぞれに、入力された画像に基づいて当該画像に含まれる被写体の種別を出力可能な学習モデルに含まれる複数の処理層であって、複数のユニットをそれぞれ含む前記複数の処理層を伝搬させるステップと、前記第1画像に基づいて、前記複数の処理層から選択した後段処理層、及び前記後段処理層より前の処理層である前段処理層の両方の処理層において活性化している前記ユニットのうち、前記第2画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第1画像出力と、前記第2画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第1画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第2画像出力とを抽出するステップと、前記一以上の第1画像出力と前記一以上の第2画像出力とに基づいて、前記第1画像に含まれる特徴点である一以上の第1画像特徴点と、前記第2画像に含まれる特徴点である一以上の第2画像特徴点とを検出するステップと、を有し、前記学習モデルは、入力された入力データにそれぞれ異なる角度の回転を施す複数の回転層と、前記複数の回転層が変換した複数の変換データに畳み込みフィルタを適用する畳み込み層とを有する。
【0011】
本発明の第3の態様に係るプログラムは、コンピュータを、第1画像と、前記第1画像に鏡映変換が施された第2画像とのそれぞれに、入力された画像に基づいて当該画像に含まれる被写体の種別を出力可能な学習モデルに含まれる複数の処理層であって、複数のユニットをそれぞれ含む前記複数の処理層を伝搬させる伝搬制御部、前記第1画像に基づいて、前記複数の処理層から選択した後段処理層、及び前記後段処理層より前の処理層である前段処理層の両方の処理層において活性化している前記ユニットのうち、前記第2画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第1画像出力と、前記第2画像に基づいて、前記両方の処理層において活性化している前記ユニットのうち、前記第1画像に基づいて前記両方の処理層のうちの少なくとも前記後段処理層において活性化している前記ユニットと共通する前記ユニットを示す一以上の第2画像出力とを抽出する抽出部、及び前記一以上の第1画像出力と前記一以上の第2画像出力とに基づいて、前記第1画像に含まれる特徴点である一以上の第1画像特徴点と、前記第2画像に含まれる特徴点である一以上の第2画像特徴点とを検出する特徴点検出部、として機能させ、前記学習モデルは、入力された入力データにそれぞれ異なる角度の回転を施す複数の回転層と、前記複数の回転層が変換した複数の変換データに畳み込みフィルタを適用する畳み込み層とを有する。
【発明の効果】
【0012】
本発明によれば、画像に含まれる被写体の向きが未学習であっても複数の画像における特徴点を検出することができるという効果を奏する。
【図面の簡単な説明】
【0013】
図1】対応点検出装置の概要を説明するための図である。
図2】学習モデルの構成の一部を示す図である。
図3】回転層及び畳み込み層におけるデータの流れを模式的に表した図である。
図4】回転層及び畳み込み層におけるデータの流れを模式的に表した図である。
図5】対応点検出装置の構成を示す図である。
図6】抽出部が行う抽出処理を模式的に表した図である。
図7】抽出部が行う抽出処理を模式的に表した図である。
図8】抽出部が行う抽出処理を模式的に表した図である。
図9】抽出部が行う抽出処理を模式的に表した図である。
図10】特徴点を取捨選択する方法を模式的に表した図である。
図11】対応点検出装置の処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【0014】
[対応点検出装置1の概要]
図1は、対応点検出装置1の概要を説明するための図である。対応点検出装置1は、学習モデルMを用いて、複数の画像における特徴点を検出するために用いられる装置であり、例えばPC(Personal Computer)である。画像は、被写体を含む静止画像又は動画像である。対応点検出装置1は、画像が動画像である場合、動画像に含まれるフレーム画像ごとに特徴点を検出する処理を実行する。被写体は、例えば、人物の顔や車両の前面やスポーツのコート等、左右あるいは上下の線対称な物体である。
【0015】
学習モデルMは、入力された画像に含まれる被写体の種別をラベルとして出力するように学習されたモデルである。学習モデルMは、CNNの学習モデルであり、複数の処理層を含む。図1に示す例において、学習モデルMは、複数の処理層として、入力層M10、隠れ層M20及び出力層M30を含む。隠れ層M20は、少なくとも、複数の回転層M21と、畳み込み層M22とを含む。隠れ層M20は、畳み込み層M22とは異なる他の畳み込み層、プーリング層、正規化層及び全結合層をさらに含んでもよい。対応点検出装置1は、画像を学習モデルMに入力し、入力層M10から出力層M30までの各処理層を伝搬させることにより、画像に含まれる被写体の種別をラベルとして学習モデルMに出力させる。学習モデルMは、画像G0に基づいて学習したモデルである。
【0016】
図1に示す画像G1には、人の顔が写っており、画像G2には、画像G1を鏡映変換した人の顔が写っている。画像G1、画像G2に写っている被写体は、いずれも上側を向いている。一般的に、CNNの学習モデルは、右側に向いている被写体を含む画像G0に基づいて学習すると、画像G0に含まれる被写体に対して多少の位置ずれや変形がある被写体であっても認識することができる。しかしながら、画像G0に含まれる被写体と、画像G1に含まれる被写体とは顔の向きが大きく異なるため、画像G0に基づいて学習したCNNの学習モデルにおいては、画像G1に含まれる被写体を認識することができない場合がある。対応点検出装置1は、学習モデルが複数の画像それぞれに含まれる被写体を認識できないと、複数の画像における特徴点を検出することが困難となる。
【0017】
画像G1に含まれる被写体をCNNの学習モデルに認識させるためには、被写体が画像G0に写っている被写体の向きとは異なる向きで写っている画像G1に基づいて学習モデルに学習させる必要がある。この場合、CNNの学習モデルの管理者は、画像G0に加えて、画像G1をはじめとする様々な回転を施した複数の画像も用意しなければならず、管理者の負担が増大するという問題があった。
【0018】
そこで、対応点検出装置1は、直前の処理層から入力された入力データにそれぞれ異なる角度の回転を施す複数の回転層M21と、複数の回転層が変換した複数の変換データに畳み込みフィルタを適用する畳み込み層M22とを有する学習モデルMを用いて、複数の画像における特徴点を検出する。学習モデルMは、入力された画像に基づくデータに対して、それぞれ異なる角度の回転を施し、回転を施した変換データに基づいて被写体の種類を出力する。学習モデルMは、例えば、画像G0に含まれる被写体と同一又は近似する態様として、画像G1を右に90度の回転を施した変換データに基づいて被写体を認識し、画像G2を右に270度の回転を施した変換データに基づいて被写体を認識する。
【0019】
対応点検出装置1は、学習モデルMが被写体の種別を出力するに至った各処理層における計算結果、すなわち、深層学習による抽象度の高い特徴量を用いて、画像G1及び画像G2において共通する特徴点を検出する。ここで、対応点検出装置1は、共通する特徴点の検出を、伝搬させた順序とは逆の順序で行う。
【0020】
対応点検出装置1は、共通する特徴点を検出することにより、画像G1に写っている被写体の特徴領域と、画像G2に写っている被写体の特徴領域とにそれぞれ対応関係があることを検出する。対応関係は、画像G1に対応する特徴点が示す画像G1に含まれる画素と、画像G2に対応する特徴点が示す画像G2に含まれる画素とが一致又は近似した関係である。このようにすることで、学習モデルMは、入力された画像に含まれる被写体の向きが未学習であっても被写体を認識することができる。対応点検出装置1は、このような学習モデルMを用いることにより、複数の画像における特徴点を検出することができる。
以下、学習モデルMの構成について説明する。
【0021】
[学習モデルMの構成]
図2は、学習モデルMの構成の一部を示す図である。図2に示す処理層Mxは、回転層M21及び畳み込み層M22以外の処理層(例えば、入力層、他の畳み込み層、プーリング層、正規化層のうちのいずれかの処理層)である。
【0022】
上述のとおり、学習モデルMは、複数の回転層M21と、畳み込み層M22とを有する。各回転層M21は、単一の処理層であってもよいし、畳み込み層及びプーリング層等の複数の処理層を含むモジュール(例えばInceptionモジュール)であってもよい。
【0023】
学習モデルMが、複数の畳み込み層を有する場合、複数の回転層M21の直後に存在する畳み込み層M22は、複数の畳み込み層のうち、相対的に出力層M30に近い畳み込み層であってもよい。このようにすることで、学習モデルMは、回転層M21が回転を施す入力データのデータサイズが小さくなり、回転層M21が回転を施す処理の負荷を軽減させることができる。隠れ層M20にプーリング層が含まれる場合、複数の回転層M21の直後に存在する畳み込み層M22は、プーリング層と出力層M30との間に含まれてもよい。
【0024】
図2(a)に示す例において、畳み込み層M22には、複数の回転層M21に対して1つの畳み込みフィルタFが配置されている。図2(b)に示すように、畳み込み層M22には、複数の回転層M21それぞれに対応する複数の畳み込みフィルタFであって、それぞれ同一の複数の畳み込みフィルタFが配置されてもよい。
【0025】
畳み込み層M22は、各回転層M21によって回転が施された複数の変換データに畳み込みフィルタFを適用する。畳み込み層M22は、例えば、畳み込みフィルタFを適用した複数の変換データを足し合わせる。
【0026】
上述のとおり、複数の回転層M21は、入力データにそれぞれ異なる角度の回転を施す。例えば、第1の回転層M21では、入力データを0度に回転させる変換を施し、第2の回転層M21では、入力データを30度に回転させる変換を施す。
【0027】
具体的には、各回転層M21は、回転を施した入力データである変換データを算出することにより、入力データに回転を施す。各回転層M21は、所定の単位に分割された複数の分割変換領域を含む変換領域を有する。所定の単位は、1つのピクセルであってもよいし、複数のピクセルであってもよい。
【0028】
ここで、変換領域(回転層M21)のサイズは、学習モデルMに入力される画像に対する当該画像に含まれる被写体の大きさに基づいて定められる基準に合致するサイズである。「学習モデルMに入力される画像に対する当該画像に含まれる被写体の大きさに基づいて定められる基準に合致するサイズ」は、画像において被写体の種別(例えば人)を認識し得る領域(例えば人の顔)に対応する入力データを含むサイズである。変換領域のサイズは、例えば、入力データの大きさに等しいサイズである。このようにすることで、学習モデルMは、入力された画像において被写体の種別を認識し得る領域に回転が施された場合の特徴に等しい特徴に基づいて推論することができる。
【0029】
各分割回転領域には、入力データに回転を施した場合に少なくとも一部が重なる、入力データを所定の単位に分割した複数の分割データ領域のうちの一以上の分割データ領域と、分割データ領域が重なる割合に応じて定められた係数であって、当該一以上の分割データ領域それぞれに対応する係数とが関連付けられている。
【0030】
この場合において、まず、各回転層M21は、処理層Mxから入力データが入力されると、当該入力データの分割データ領域に関連付けられている回転層M21の分割変換領域ごとに、当該分割変換領域に関連付けられている係数を当該分割データ領域の値に乗じた乗算値を算出する。そして、各回転層M21は、分割変換領域ごとに、当該分割変換領域と一以上の分割データ領域それぞれとに対応する一以上の乗算値を合計した変換データを算出する。各回転層M21は、変換データを算出すると、当該変換データを畳み込みフィルタFに入力する。
【0031】
図3及び図4は、回転層M21及び畳み込み層M22におけるデータの流れを模式的に表した図である。図3及び図4に示す入力データDは、処理層Mxが出力したデータである。図3及び図4においては、入力データDを9等分に分割した複数の分割データ領域のうちの分割データ領域D2に着目して説明する。図3及び図4に示すリンクLは、分割データ領域と分割変換領域との関連付けを示す。図3及び図4に示すリンクLには、係数が関連付けられており、リンクLが太いほど、係数によって示される値が大きいことを示す。
【0032】
図3に示す第1の回転層M21は、入力データDを、当該入力データDの中心を回転軸として0度回転させる変換を施す。入力データDを0度回転させた場合の分割データ領域D2が、第1の回転層M21の分割変換領域R2に重なる。そのため、分割データ領域D2と分割変換領域R2とが、リンクL1で関連付けられている。
【0033】
この場合において、第1の回転層M21は、リンクL1に関連付けられた係数(例えば1.0)を分割データ領域D2の値に乗じた乗算値を算出し、当該乗算値を分割変換領域R2に関連付ける。第1の回転層M21は、上記処理をリンクLごとに実行する。その後、第1の回転層M21は、分割変換領域ごとに、当該分割変換領域に関連付けた一以上の乗算値を合計することにより、変換データを算出する。
【0034】
図4に示す第2の回転層M21は、入力データDを、当該入力データDの中心を回転軸として45度左回転させる変換を施す。入力データDを45度左回転させた場合の分割データ領域D2は、分割変換領域R1、R2、R4それぞれに重なる。そのため、分割データ領域D2と分割変換領域R1とが、リンクL2で関連付けられている。また、分割データ領域D2と分割変換領域R2とが、リンクL3で関連付けられている。また、分割データ領域D2と分割変換領域R4とが、リンクL4で関連付けられている。
【0035】
この場合において、第2の回転層M21は、リンクL2に関連付けられた係数(例えば0.5)を分割データ領域D2の値に乗じた乗算値を算出し、当該乗算値を分割変換領域R1に関連付ける。また、第2の回転層M21は、リンクL3に関連付けられた係数(例えば0.25)を分割データ領域D2の値に乗じた乗算値を算出し、当該乗算値を分割変換領域R2に関連付ける。また、第2の回転層M21は、リンクL4に関連付けられた係数(例えば0.25)を分割データ領域D2の値に乗じた乗算値を算出し、当該乗算値を分割変換領域R4に関連付ける。
【0036】
第1の回転層M21は、他のリンクLに対して乗算値を算出した後において、分割変換領域ごとに、当該分割変換領域に関連付けた一以上の乗算値を合計することにより、変換データを算出する。各回転層M21は、変換データを算出すると、当該変換データを畳み込みフィルタFに入力する。学習モデルMは、このような構成を備えることにより、様々な向きの被写体が含まれる複数の画像のうちの少なくともいずれかに基づいて被写体を認識することと同等の効果を得ることができる。
【0037】
[対応点検出装置1の構成]
続いて、対応点検出装置1の構成について説明する。図5は、対応点検出装置1の構成を示す図である。対応点検出装置1は、操作部11、記憶部12、及び制御部13を有する。制御部13は、取得部131と、伝搬制御部132と、抽出部133と、指示受付部134と、特徴点検出部135と、選択部136と、推定部137とを有する。
【0038】
操作部11は、ユーザの操作を受け付ける入力デバイスである。記憶部12は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)及びハードディスク等の記憶媒体である。記憶部12は、制御部13が実行する各種のプログラムを記憶する。
【0039】
制御部13は、例えばCPU(Central Processing Unit)である。制御部13は、記憶部12に記憶されているプログラムを実行することにより、対応点検出装置1に係る機能を制御する。制御部13は、プログラムを実行することにより、取得部131、伝搬制御部132、抽出部133、指示受付部134、特徴点検出部135、選択部136及び推定部137として機能する。
【0040】
取得部131は、第1画像と第2画像とを取得する。取得部131は、第1画像に基づいて、第2画像を生成してもよい。取得部131は、例えば、第1画像を取得すると、第1画像に鏡映変換を施した第2画像を生成する。
【0041】
伝搬制御部132は、第1画像と第2画像とのそれぞれに、入力された画像に基づいて当該画像に含まれる被写体の種別を出力可能な学習モデルMに含まれる複数の処理層であって、複数のユニットをそれぞれ含む複数の処理層を伝搬させる。図1に示す例において、伝搬制御部132は、第1画像及び第2画像のそれぞれに、学習モデルMに含まれる入力層M10から出力層M30までの各処理層を、順に伝搬させる。
【0042】
抽出部133は、第1画像に基づいて、複数の処理層から選択した後段処理層、及び後段処理層より前の処理層である前段処理層の両方の処理層において活性化しているユニットのうち、第2画像に基づいて両方の処理層のうちの少なくとも後段処理層において活性化しているユニットと共通するユニットを示す一以上の第1画像出力を抽出する。また、抽出部133は、第2画像に基づいて、両方の処理層において活性化しているユニットのうち、第1画像に基づいて両方の処理層のうちの少なくとも後段処理層において活性化しているユニットと共通するユニットを示す一以上の第2画像出力を抽出する。抽出部133は、第1画像出力と第2画像出力とを関連付けて抽出する。
【0043】
活性化の定義は、例えば、ユニットの出力値又はユニットの出力値と当該ユニットの結合の重みとの積が、所定の閾値を超えた場合でもよいし、出力の大きい順に所定の個数又は所定の割合に含まれた場合であってもよい。また、全結合層以外の処理層においては、例えば、チャンネルごとに出力の大きい順に所定の個数又は所定の割合に含まれた場合であってもよい。抽出部133は、例えば、特許文献1に記載されている技術を用いて、第1画像に基づく一以上の第1画像出力と、第2画像に基づく一以上の第2画像出力とを抽出することができる。
【0044】
抽出部133は、後段処理層が畳み込み層M22であり、かつ前段処理層が複数の回転層M21である場合、第1画像に基づいて複数の回転層M21のいずれかと畳み込み層M22とにおいて活性化しているユニットを示す一以上の第1画像出力と、第2画像に基づいて複数の回転層M21のいずれかと畳み込み層M22とにおいて活性化しているユニットを示す一以上の第2画像出力とを抽出する。具体的には、抽出部133は、第1画像に基づいて、回転層M21及び畳み込み層M22の両方の処理層において活性化しているユニットのうち、第2画像に基づいて複数の回転層M21のいずれかと畳み込み層M22とにおいて活性化しているユニットと共通するユニットを示す一以上の第1画像出力と、第2画像に基づいて、回転層M21及び畳み込み層M22の両方の処理層において活性化しているユニットのうち、第1画像に基づいて複数の回転層のいずれかと畳み込み層とにおいて活性化しているユニットと共通するユニットを示す一以上の第2画像出力とを抽出する。
【0045】
図6図7図8図9は、抽出部133が行う抽出処理を模式的に表した図である。図6図7図8図9は、学習モデルMにおいて、入力された画像に処理層Mx、回転層M21及び畳み込み層M22の順に各処理層を伝搬させた状態を示す。処理層Mxは、回転層M21及び畳み込み層M22以外の処理層(例えば、入力層、他の畳み込み層、プーリング層、正規化層のうちのいずれかの処理層)である。図6図8は、第1画像を学習モデルMに入力した場合の状態を示し、図6は、各画像出力を抽出する前の状態を示し、図8は、各画像出力を抽出した後の状態を示す。図7図9は、第2画像を学習モデルMに入力した場合の状態を示し、図7、各画像出力を抽出する前の状態を示し、図9は、各画像出力を抽出した後の状態を示す。
【0046】
図6図7図8図9に示す例においては、便宜上、分けて記載するが、畳み込み層M22に含まれるユニットU1―1とユニットU2-1とは同じユニットであり、ユニットU1―2とユニットU2-2とは同じユニットである。各処理層は、複数のチャンネルを有しており、ユニットUx-1は、第1のチャンネルに属すユニットを示し、ユニットUx-2は、第2のチャンネルに属すユニットを示す。
【0047】
図6図7図8図9においてユニット間を結合する結合線の太さは、結合するユニットからの出力の大きさを示し、点線は、重みが小さいことを示す。図6図7図8図9においてユニットを示すオブジェクトの枠線の太さは、活性化している度合いを示す。図6に示す例においては、ユニットU1-1、U3-1、U5-1、U6-2、U8-1、U9-2、U11-1、U13-1、U15-1、U16-2が活性化している。図7に示す例においては、ユニットU2-1、U3-2、U5-1、U6-1、U7-2、U8-1、U9-1、U10-2、U11-2、U13-2、U15-1、U16-1、U17-2が活性化している。
【0048】
この場合において、抽出部133は、まず、複数の回転層M21のうち、畳み込み層M22のユニットの活性化に寄与したユニットを含む回転層M21を特定する。抽出部133は、例えば、畳み込み層M22のユニットに入力した値が最も大きいユニットを含む回転層M21、又は各回転層M21に含まれる複数のユニットそれぞれが畳み込み層M22のユニットに入力した値の総和が最も大きい回転層M21を、畳み込み層M22のユニットの活性化に寄与したユニットを含む回転層M21として特定する。抽出部133は、畳み込み層M22のユニットの活性化に寄与したユニットを含む回転層M21として、図6に示す例においては回転層M21aを特定し、図7に示す例においては回転層M21bを特定する。
【0049】
そして、抽出部133は、特定した各回転層M21の中から、それぞれ共通して活性化しているユニットを示す画像出力を抽出する。具体的には、抽出部133は、後段処理層において活性化しているユニットに結合する前段処理層の複数のユニットのうち、ユニットの位置が相対的に同じであり、かつチャンネルが共通するユニットを抽出する。図6に示すユニットU3-1、U6-2と、図7に示すユニットU8-1、U11-2とは、相対的な位置が同じであり、かつチャンネルが共通する。図8に示すように、抽出部133は、ユニットU3-1、U6-2を示す第1画像出力を抽出する。また、図9に示すように、抽出部133は、ユニットU8-1、U11-2を示す第2画像出力を抽出する。このようにすることで、対応点検出装置1は、学習モデルMが第1画像及び第2画像それぞれに含まれる被写体の認識に寄与した回転層M21のユニットを抽出することができる。
【0050】
抽出部133は、回転層M21における画像出力を抽出すると、当該画像出力に基づいて、回転層M21の前の処理層である処理層Mxにおける抽出処理を実行する。抽出部133は、後段処理層が複数の回転層M21である場合、第1画像に基づいて、回転層M21及び処理層Mxの両方の処理層において活性化しているユニットのうち、第2画像に基づいて複数の回転層M21のいずれかにおいて活性化しているユニットと共通するユニットの活性化に寄与した前段処理層のユニットを示す一以上の第1画像出力する。また、抽出部133は、第2画像に基づいて、回転層M21及び処理層Mxの両方の処理層において活性化しているユニットのうち、第1画像に基づいて複数の回転層M21のいずれかにおいて活性化しているユニットと共通するユニットの活性化に寄与した前段処理層のユニットを示す一以上の第2画像出力とを抽出する。
【0051】
図6に示す例において、回転層M21aのユニットU3-1の活性化に寄与した処理層Mxのユニットは、ユニットU13-1であり、回転層M21aのユニットU6-2の活性化に寄与した処理層Mxのユニットは、ユニットU16-2である。また、図7に示す例において、回転層M21bのユニットU8-1の活性化に寄与した処理層Mxのユニットは、ユニットU15-1であり、回転層M21bのユニットU11-2の活性化に寄与した処理層Mxのユニットは、ユニットU13-2である。
【0052】
図8に示すように、抽出部133は、第1画像に基づいて、複数の回転層M21及び処理層Mxの両方の処理層において活性化しているユニットのうち、第2画像に基づいて複数の回転層M21のいずれかにおいて活性化しているユニットと共通するユニットの活性化に寄与した前段処理層のユニットとして、ユニットU13-1、U16-2を示す第1画像出力を抽出する。また、図9に示すように、抽出部133は、第2画像に基づいて、複数の回転層M21及び処理層Mxの両方の処理層において活性化しているユニットのうち、第1画像に基づいて複数の回転層M21のいずれかにおいて活性化しているユニットと共通するユニットの活性化に寄与した前段処理層のユニットとして、ユニットU13-2、U15-1を示す第2画像出力を抽出する。このようにすることで、対応点検出装置1は、第1画像及び第2画像において対応する画素(ユニット)の組を抽出することができる。
【0053】
抽出部133は、上述の抽出処理を入力層まで繰り返し行うことが好ましい。しかし、抽出部133は、抽出処理を最初の処理層まで行わずに、途中の処理層で終了してもよい。このように、抽出部133は、伝搬制御部が伝搬させた順序とは逆の順序で抽出処理を行うことにより、抽象度が高い出力を抽出することができる。
【0054】
抽出部133は、ユーザによって指定された処理層を後段処理層として選択してもよい。具体的には、まず、指示受付部134は、操作部11を介して、複数の処理層のうち、後段処理層として用いる処理層を選択する指示を受け付ける。そして、抽出部133は、指示受付部134が受け付けた指示が示す処理層を、後段処理層として使用する。
【0055】
特徴点検出部135は、抽出部133が抽出した一以上の第1画像出力と一以上の第2画像出力とに基づいて、第1画像に含まれる特徴点である一以上の第1画像特徴点と、第2画像に含まれる特徴点である一以上の第2画像特徴点とを検出する。具体的には、特徴点検出部135は、まず、一以上の第1画像出力及び一以上の第2画像出力に基づいて、対応する特徴点を探索する。そして、特徴点検出部135は、相互の対応関係にある一以上の第1画像出力に基づく一以上の第1画像特徴点と、一以上の第2画像出力に基づく一以上の第2画像特徴点とを検出する。相互の対応関係は、第1画像に含まれる特徴点が示す第1画像に含まれる画素と、第2画像に含まれる特徴点が示す第2画像に含まれる画素とが一致又は近似した関係である。
【0056】
選択部136は、特徴点検出部135が推定した一以上の第1画像特徴点及び一以上の第2画像特徴点から、相互の対応関係に基づいて一部の第1画像特徴点及び一部の第2画像特徴点を選択する。具体的には、選択部136は、誤検出した対応関係を除去し、除去した後の対応関係に基づく一以上の第1画像特徴点及び一以上の第2画像特徴点を選択する。対応関係の誤検出は、第1画像特徴点及び第2画像特徴点の対応関係に矛盾が生じている状態であり、例えば回転行列が算出できない場合である。
【0057】
選択部136は、例えば、第2画像の被写体を第1画像の被写体に一致させる3次元回転行列を生成する処理を実行し、有効な回転行列が生成できた場合は、正しい対応関係であるとみなし、有効な回転行列が生成できない場合は、誤検出した対応関係であるとみなし、該当する特徴点を削除する。選択部136は、例えば、RANSAC(Random Sampling Consensus)法又は最小2乗メディアン(LMedS:Least Median of Square)法に基づいて絞り込みを行うことにより対応関係を除去する。
【0058】
図10は、特徴点を取捨選択する方法を模式的に表した図である。図10(a)は、学習モデルMに入力した第1画像である画像G1aと、第2画像である画像G2aとを示す。図10(b)、(c)は、抽出部133が第1画像に基づく第1画像出力を抽出した回転層M21によって回転を施した変換データを模式的に表した第1変換画像である画像G1bと、抽出部133が第2画像に基づく第2画像出力を抽出した回転層M21によって回転を施した変換データを模式的に表した第2変換画像である画像G2bとを示す。画像G1bは、画像G1aを左に90度の回転を施した画像であり、画像G2bは、画像G2aを左に270度の回転を施した画像である。
【0059】
被写体は、左右あるいは上下に線対称な形状であるため、第1画像特徴点と対応関係を有する第2画像特徴点は、鏡映変換する前の被写体において第1画像特徴点と対称な位置にある点を示している。図10(b)に示す例において、第1画像特徴点である特徴点P1は、被写体の左目の目尻を示し、第1画像特徴点である特徴点P2は、被写体の右目の目尻を示し、第2画像特徴点である特徴点P3は、被写体の右目の目尻を示し、第2画像特徴点である特徴点P4は、被写体の左目の目尻を示す。特徴点P1及び特徴点P4は相互に対応関係を有する第1画像特徴点及び第2画像特徴点であり、特徴点P2及び特徴点P3は相互に対応関係を有する第1画像特徴点及び第2画像特徴点である。
【0060】
この場合において、第2変換画像を再び鏡映変換すると、鏡映変換された特徴点P3は、被写体の左目の目尻を示し、鏡映変換された特徴点P4は右目の目尻を示すようになる。この場合、選択部136は、相互に対応関係を有する特徴点P1と特徴点P4との位置が一致又は近似し、相互に対応関係を有する特徴点P2と特徴点P3との位置が一致又は近似するので、これらの特徴点を選択する。このようにすることで、左目の目尻と右目の目尻という被写体において対称な位置関係にある点の画像上の画素の位置を得ることができる。
【0061】
図10(c)に示す例において、第1画像特徴点である特徴点P5は、被写体の左目の目頭を示し、第1画像特徴点である特徴点P6は、被写体の右目の目尻を示し、第2画像特徴点である特徴点P7は、被写体の右目の目尻を示し、第2画像特徴点である特徴点P8は、被写体の左目の目尻を示す。特徴点P5及び特徴点P8は相互に対応関係を有する第1画像特徴点及び第2画像特徴点であり、特徴点P6及び特徴点P7は相互に対応関係を有する第1画像特徴点及び第2画像特徴点である。
【0062】
この場合において、第2回転画像を再び鏡映変換すると、鏡映変換された特徴点P7は、被写体の左目の目尻を示し、鏡映変換された特徴点P8は、右目の目尻を示すようになる。しかしながら、特徴点P5の位置(左目の目頭)と、特徴点P7の鏡映変換された位置(左目の目尻)とは、画像における位置が異なるため、選択部136は、特徴点P5と特徴点P7とを誤検出したとみなして除去する。
【0063】
図5に戻り、対応点検出装置1は、特徴点を検出した結果を用いて、第1画像に含まれる被写体の向きを推定してもよい。具体的には、推定部137は、一以上の第1画像特徴点と、一以上の第2画像特徴点とに基づいて、第1画像に含まれる被写体の向きを推定する。例えば、推定部137は、まず、相互に対応関係を有する一以上の第1画像特徴点及び一以上の第2画像特徴点に基づいて、被写体の正中面の3次元的な位置を特定する。推定部137は、特定した正中面の3次元的な位置に基づいて、被写体の向きを算出する。そして、推定部137は、算出した被写体の向きに対して、第1回転画像に施した角度とは反対の角度で回転させた被写体の向きを算出することにより、被写体の向きを推定する。
【0064】
対応点検出装置1は、回転層M21を有する学習モデルMを使用し、深層学習によって求められた抽象度が高い特徴量に基づいて画像に含まれる被写体の向きを算出することにより、被写体の正中面の位置を特定する精度を向上させることができる。その結果、対応点検出装置1は、被写体の向きを推定する精度を向上させることができる。例えば、対応点検出装置1は、サッカー場のフィールドにおけるラインの形状を用いて、AR(Augmented Reality)映像生成装置又は自由視点映像生成装置に、精度が高い向きを示す情報を提供することができる。これにより、対応点検出装置1は、AR映像生成装置又は自由視点映像生成装置によって生成されるAR映像又は自由視点映像の画質を向上させることができる。
【0065】
[対応点検出装置1の処理]
続いて、対応点検出装置1の処理の流れについて説明する。図11は、対応点検出装置1の処理の流れを示すシーケンス図である。本処理は、取得部131が、第1画像と第2画像とを取得したことを契機として開始する(S1)。
【0066】
伝搬制御部132は、第1画像と第2画像とのそれぞれに、学習モデルMに含まれる複数の処理層を伝搬させる(S2)。抽出部133は、第1画像に基づいて、後段処理層及び前段処理層の両方の処理層において活性化しているユニットのうち、第2画像に基づいて両方の処理層のうちの少なくとも後段処理層において活性化しているユニットと共通するユニットを示す一以上の第1画像出力と、第2画像に基づいて、両方の処理層において活性化しているユニットのうち、第1画像に基づいて両方の処理層のうちの少なくとも後段処理層において活性化しているユニットと共通するユニットを示す一以上の第2画像出力とを抽出する(S3)。
【0067】
特徴点検出部135は、抽出部133が抽出した一以上の第1画像出力と一以上の第2画像出力とに基づいて、第1画像に含まれる特徴点である一以上の第1画像特徴点と、第2画像に含まれる特徴点である一以上の第2画像特徴点とを検出する(S4)。そして、推定部137は、一以上の第1画像特徴点と、一以上の第2画像特徴点とに基づいて、第1画像に含まれる被写体の向きを推定する(S5)。
【0068】
[本実施の形態における効果]
以上説明したとおり、対応点検出装置1は、直前の処理層から入力された入力データにそれぞれ異なる角度の回転を施す複数の回転層M21と、複数の回転層が変換した複数の変換データに畳み込みフィルタを適用する畳み込み層M22とを有する学習モデルMを用いて、複数の画像における特徴点を検出する。このようにすることで、学習モデルMは、入力された画像に含まれる被写体の向きが未学習であっても被写体を認識することができる。対応点検出装置1は、このような学習モデルMを用いることにより、複数の画像における特徴点を検出することができる。
【0069】
なお、本発明により、国連が主導する持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」に貢献することが可能となる。
【0070】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【符号の説明】
【0071】
1 対応点検出装置
11 操作部
12 記憶部
13 制御部
131 取得部
132 伝搬制御部
133 抽出部
134 指示受付部
135 特徴点検出部
136 選択部
137 推定部
M 学習モデル
M10 入力層
M20 隠れ層
M21 回転層
M22 畳み込み層
M30 出力層
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11