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

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

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人鳥取大学の特許一覧

特許7156643姿勢推定装置、学習装置、方法、及びプログラム
<>
  • 特許-姿勢推定装置、学習装置、方法、及びプログラム 図1
  • 特許-姿勢推定装置、学習装置、方法、及びプログラム 図2
  • 特許-姿勢推定装置、学習装置、方法、及びプログラム 図3
  • 特許-姿勢推定装置、学習装置、方法、及びプログラム 図4
  • 特許-姿勢推定装置、学習装置、方法、及びプログラム 図5
  • 特許-姿勢推定装置、学習装置、方法、及びプログラム 図6
  • 特許-姿勢推定装置、学習装置、方法、及びプログラム 図7
  • 特許-姿勢推定装置、学習装置、方法、及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-11
(45)【発行日】2022-10-19
(54)【発明の名称】姿勢推定装置、学習装置、方法、及びプログラム
(51)【国際特許分類】
   G06T 7/70 20170101AFI20221012BHJP
   G06T 7/00 20170101ALI20221012BHJP
【FI】
G06T7/70 Z
G06T7/00 350C
【請求項の数】 5
(21)【出願番号】P 2019030703
(22)【出願日】2019-02-22
(65)【公開番号】P2020135637
(43)【公開日】2020-08-31
【審査請求日】2021-05-21
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504150461
【氏名又は名称】国立大学法人鳥取大学
(74)【代理人】
【識別番号】110001519
【氏名又は名称】特許業務法人太陽国際特許事務所
(72)【発明者】
【氏名】入江 豪
(72)【発明者】
【氏名】西山 正志
(72)【発明者】
【氏名】岩井 儀雄
(72)【発明者】
【氏名】上野 高貴
【審査官】佐藤 実
(56)【参考文献】
【文献】Xiaoming Deng et al.,Joint Hand Detection and Rotation Estimation Using CNN,IEEE Transactions on Image Processing,IEEE,2018年,Vol.27, No.4,pp.1888-1900,https://ieeexplore.ieee.org/document/8128503
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
画像Ipに撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定し、前記推定された前記相対的な姿勢を用いて、前記基準姿勢の前記所定の被写体が撮像されている画像Iaに、前記画像Ipを幾何変換する第1推定部と、
前記第1推定部による幾何変換の結果と、前記画像Iaとが一致するように、前記相対的な姿勢の推定及び前記幾何変換を学習する学習部と、
推定対象の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定する第2推定部と、
を有し、
前記第1推定部は、画像Iaと同一の被写体を写した基準姿勢でない画像Ipに対して幾何変換層付きモデルを適用し、幾何変換後の画像Ipである画像Ipt、並びに特徴量fptを求め、
前記学習部は、前記画像Ia、並びに前記画像Ia及び前記画像Ipと別の被写体を写した画像Inのそれぞれに対して幾何変換層無しモデルを適用し、前記画像Iaに対応する特徴量fa、及び前記画像Inに対応する特徴量fnを求め、
画像Iptと画像Iaに基づき、アピアランス損失を求め、特徴量fa、特徴量fpt、特徴量fnを基に、特徴量損失を求め、アピアランス損失と特徴量損失の重み付き和を小さくするように幾何変換層付きモデルのパラメータを更新すると共に、幾何変換層無しモデルに幾何変換層付きモデルのパラメータをコピーし、
前記第1推定部の処理及び前記学習部の処理を、所定の終了条件が満たされるまで繰り返すことにより、前記幾何変換層付きモデルを学習し、
前記第2推定部は、学習済みの前記幾何変換層付きモデルに対して前記推定対象の画像を入力し、前記幾何変換層付きモデルの幾何変換層が出力した姿勢パラメータを得ることにより、前記推定対象の画像に対して前記相対的な姿勢を推定する
姿勢推定装置。
【請求項2】
前記幾何変換は、STN(Spatial Transformer Networks)である請求項記載の姿勢推定装置。
【請求項3】
前記第2推定部は、前記推定対象の画像に対して前記幾何変換層付きモデルを適用し、幾何変換後の画像の特徴量を求め、
前記第2推定部により得られた特徴量と、被写体情報が付与された参照画像に対して前記画像の特徴量を抽出する処理を行って得られた特徴量とを照合することにより、前記推定対象の画像に撮像された所定の被写体を認識する照合部を更に含む請求項1又は2記載の姿勢推定装置。
【請求項4】
第1推定部が、画像Ipに撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定し、前記推定された前記相対的な姿勢を用いて、前記基準姿勢の前記所定の被写体が撮像されている画像Iaに、前記画像Ipを幾何変換し、
学習部が、前記第1推定部による幾何変換の結果と、前記画像Iaとが一致するように、前記相対的な姿勢の推定及び前記幾何変換を学習し、
第2推定部が、推定対象の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定することを含む姿勢推定方法であって、
前記第1推定部は、画像Iaと同一の被写体を写した基準姿勢でない画像Ipに対して幾何変換層付きモデルを適用し、幾何変換後の画像Ipである画像Ipt、並びに特徴量fptを求め、
前記学習部は、前記画像Ia、並びに前記画像Ia及び前記画像Ipと別の被写体を写した画像Inのそれぞれに対して幾何変換層無しモデルを適用し、前記画像Iaに対応する特徴量fa、及び前記画像Inに対応する特徴量fnを求め、
画像Iptと画像Iaに基づき、アピアランス損失を求め、特徴量fa、特徴量fpt、特徴量fnを基に、特徴量損失を求め、アピアランス損失と特徴量損失の重み付き和を小さくするように幾何変換層付きモデルのパラメータを更新すると共に、幾何変換層無しモデルに幾何変換層付きモデルのパラメータをコピーし、
前記第1推定部の処理及び前記学習部の処理を、所定の終了条件が満たされるまで繰り返すことにより、前記幾何変換層付きモデルを学習し、
前記第2推定部は、学習済みの前記幾何変換層付きモデルに対して前記推定対象の画像を入力し、前記幾何変換層付きモデルの幾何変換層が出力した姿勢パラメータを得ることにより、前記推定対象の画像に対して前記相対的な姿勢を推定する
姿勢推定方法。
【請求項5】
画像Ipに撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定し、前記推定された前記相対的な姿勢を用いて、前記基準姿勢の前記所定の被写体が撮像されている画像Iaに、前記画像Ipを幾何変換する第1推定部、
前記第1推定部による幾何変換の結果と、前記画像Iaとが一致するように、前記相対的な姿勢の推定及び前記幾何変換を学習する学習部、及び
推定対象の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定する第2推定部
としてコンピュータを機能させるためのプログラムであって、
前記第1推定部は、画像Iaと同一の被写体を写した基準姿勢でない画像Ipに対して幾何変換層付きモデルを適用し、幾何変換後の画像Ipである画像Ipt、並びに特徴量fptを求め、
前記学習部は、前記画像Ia、並びに前記画像Ia及び前記画像Ipと別の被写体を写した画像Inのそれぞれに対して幾何変換層無しモデルを適用し、前記画像Iaに対応する特徴量fa、及び前記画像Inに対応する特徴量fnを求め、
画像Iptと画像Iaに基づき、アピアランス損失を求め、特徴量fa、特徴量fpt、特徴量fnを基に、特徴量損失を求め、アピアランス損失と特徴量損失の重み付き和を小さくするように幾何変換層付きモデルのパラメータを更新すると共に、幾何変換層無しモデルに幾何変換層付きモデルのパラメータをコピーし、
前記第1推定部の処理及び前記学習部の処理を、所定の終了条件が満たされるまで繰り返すことにより、前記幾何変換層付きモデルを学習し、
前記第2推定部は、学習済みの前記幾何変換層付きモデルに対して前記推定対象の画像を入力し、前記幾何変換層付きモデルの幾何変換層が出力した姿勢パラメータを得ることにより、前記推定対象の画像に対して前記相対的な姿勢を推定する
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、姿勢推定装置、学習装置、方法、及びプログラムに係り、特に、画像に撮像された被写体の姿勢を推定するための姿勢推定装置、学習装置、方法、及びプログラムに関する。
【背景技術】
【0002】
画像認識技術の進展が目覚ましい。これまで実用化されてきた顔や指紋による個人認証技術や、人物・顔の認識・追跡技術の更なる高度化に加え、スマートフォン等の汎用デバイス上で動作する文字認識/物体認識技術も普及してきており、O2Oサービスやナビゲーションサービス等、新しいサービスへも活用されるようになってきている。
【0003】
特に最近注目を集めている応用の一つに、ロボットの“目”としての活用がある。製造業においては、古くより画像認識機能を備えたロボットによるファクトリーオートメーションの導入が進められてきたが、昨今のロボットAI技術の進歩に伴い、リテイル・物流現場での搬送・在庫管理、運送・運搬など、より高度な認識が求められるフィールドへの展開が期待されてきている。
【0004】
典型的な画像認識技術は、画像そのもの、あるいは、それに写る被写体に名称ラベル(以降単にラベルと呼ぶ)を与える技術である。例えば、ある画像にリンゴが写っていたとし、これを入力された時の画像認識技術の望ましい動作としては、“リンゴ”というラベルを出力する、あるいは、当該画像のリンゴの写る領域、すなわち画素の集合に対して、“リンゴ”というラベルを割り当てることである。
【0005】
一方で、先に述べたようなロボットに具備されうる画像認識技術においては、このようにラベルを出力するのみでは不十分である場合も多い。例えば、リテーラーでのロボットの活用事例として、物品棚にある商品を把持・運搬し、別の商品棚に移すような場面を考えよう。この際、当該タスクを完遂するためには、ロボットは大雑把に言って、(1)物品棚にあるさまざまな商品の中から、移すべき対象の商品を特定する、(2)当該商品を把持する、(3)目的の商品棚まで移動・運搬する、(4)望ましいレイアウトとなるよう配置する、という工程を実行できなければならない。然るに画像認識技術は、物品棚、商品、商品棚を認識できることはもちろんのこと、これに加えて、特に(2)、(4)に関連しては物体を把持、陳列するために物体の姿勢、すなわち、位置・角度・大きさも正確に認識できる必要があるのである。先に述べたような典型的な画像認識技術には、このような物体の姿勢を推定する機能は備えておらず、別途、物体の姿勢を推定するような技術が必要となる。
【0006】
このような問題を鑑み、物体の姿勢を推定するための画像認識技術が発明・開示されてきている。
【0007】
非特許文献1には、Scale Invariant Feature Transform (SIFT)特徴と一般化ハフ変換に基づく姿勢推定方法が開示されている。この姿勢推定方法では、画像の輝度値を解析することで、顕著な輝度変化を持つような部分領域を多数抽出し、それら各部分領域の輝度変化を、大きさ・回転に対して不変性を持つ特徴量ベクトルとして表現する(SIFT特徴)。次に、同一物体を写した互いに異なる2枚の画像に含まれる部分領域について、SIFT特徴同士のユークリッド距離を測り、これが小さい値を持つような異なる画像間の部分領域同士を対応候補として求める。さらに、同一の物体から得られた部分領域であれば、物体上の対応する部分領域間の姿勢の変化が、撮影視点に依らず一貫性を持つという仮定に基づき、対応候補となった部分領域間の位置・姿勢・大きさの「ずれ」を求める。同一の物体から得られた対応する部分領域の集合は、このずれに一貫性があるという仮定の下、ずれのヒストグラムを構成したとすると、これらはごく少数のビンに集中して分布することが想定される。したがって、頻度の高いビンに分布している対応候補のみを真に有効な対応であると見做し、そのビンに対応するずれを姿勢パラメータとして推定する。この姿勢は、比較された2枚の画像に写る物体の相対的な姿勢変化を表しており、一方の物体の姿勢を基準姿勢とすれば、他方の姿勢を知ることが可能となっている。
【0008】
特許文献1には、非特許文献1を改良した技術が開示されている。SIFT特徴に基づき部分領域の対応候補を求め、これらの位置・姿勢・大きさのずれを計算して対応の適否を判定することは同様であるが、ずれを評価する際に3次元回転角度を考えている。結果として、非特許文献1の技術よりもさらに精細な姿勢推定を可能にしている。
【0009】
非特許文献2に開示の技術は、前述の2つの文献とは異なり、畳み込みニューラルネットワーク(Convolutional Neural Network: CNN)を用いた機械学習に基づく技術を開示している。予め、画像に対して、そこに写る物体を囲む8点の直方体の頂点を記録した大量の学習用画像データ(例えば12万枚)を用意しておき、このデータを基に、画像が入力された際に、当該画像に写る物体を囲む8点の直方体の頂点を予測するようなCNNを誤差逆伝搬法に基づいて学習することにより、姿勢推定を可能にしている。
【先行技術文献】
【特許文献】
【0010】
【文献】特開2015-95156号公報
【非特許文献】
【0011】
【文献】David G. Lowe, “Distinctive Image Features from Scale-Invariant Keypoints ”, International Journal of Computer Vision, pp.91-110, 2004.
【文献】Jonathan Tremblay, Thang To, Balakumar Sundaralingam, Yu Xiang, Dieter Fox, and Stan Birchfield. Deep Object Pose Estimation for Semantic Robotic Grasping of Household Objects, Proceedings of Conference on Robot Learning, pp. 306-316, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0012】
大局的にみれば、既存の発明は、同一物体を写した2枚の異なる画像間の対応関係を分析することにより、相対的な姿勢を推定するか(非特許文献1、特許文献1)、あるいは、画像とそこに写る物体の姿勢を表す情報(8点の直方体の頂点など)を記録した大量の学習用データを基にCNNを学習し、姿勢推定器を構成するか(非特許文献2)のいずれかの方法を採っている。
【0013】
しかしながら、特許文献1、非特許文献1に記載の技術は、予め姿勢を推定する対象となる種類の物体の画像を必ず保持していなければならないという問題があった。仮に、姿勢を推定する対象の物体が10種類であるとすると、姿勢を推定したい画像と、先の10種類の物体がそれぞれ基準姿勢で撮影された、少なくとも10枚の画像とをそれぞれ比較し、相対的な姿勢を推定する必要がある。この原理的に、物体の姿勢を推定するためには、必ずその物体が基準姿勢として写っている画像を保持しておかなければ適用できず、すなわち、未知の物体に対しては適用できないという問題があった。
【0014】
さらに、姿勢推定は2枚の画像間の相対的な姿勢変化により実施されるため、物体の種類の数に応じて姿勢推定処理に掛かる時間が増大していくという問題もあった。
【0015】
また、非特許文献2に記載の方法は、CNNの学習に、姿勢を表す情報を記録した大量の学習用データが必要となるという問題があった。姿勢を表す情報(非特許文献2の場合、8点の直方体の頂点)は画像の画素レベルでの精細さと、正確さを備えている必要があり、このような情報を付与するのはコストがかかる。また、CNNは一般に大量の学習データが必要であることからも、学習データの構築に掛かるコストは非常に高くなることが想定される。
【0016】
すなわち、現在に至るまで、低コストで収集可能な学習用データのみに基づき、未知の物体に対しても高精度に姿勢を推定できる画像認識技術は発明されていなかった。
【0017】
本発明は、上記問題点を解決するために成されたものであり、低コストで収集可能な学習用データのみに基づいて、画像に撮像された被写体の姿勢を精度良く推定することができる姿勢推定装置、方法、及びプログラムを提供することを目的とする。
【0018】
また、低コストで収集可能な学習用データのみに基づいて、画像に撮像された被写体の姿勢を精度良く推定するための学習を行うことができる学習装置を提供することを目的とする。
【課題を解決するための手段】
【0019】
上記目的を達成するために、第1の態様に係る姿勢推定装置は、第一の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定する姿勢推定装置であって、前記第一の画像に対して所定の処理を行うことで前記相対的な姿勢を推定する推定部を有し、前記所定の処理は、前記基準姿勢の前記所定の被写体が撮像されている第二の画像に、前記第一の画像を幾何変換するよう最適化された処理の一部に基づいている。
【0020】
第2の態様に係る学習装置は、第一の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定する処理を学習する学習装置であって、前記第一の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定し、前記推定された前記相対的な姿勢を用いて、前記基準姿勢の前記所定の被写体が撮像されている第二の画像に、前記第一の画像を幾何変換する推定部と、前記推定部による幾何変換の結果と、前記第二の画像とが一致するように、前記相対的な姿勢の推定及び前記幾何変換を学習する学習部と、を含んで構成されている。
【0021】
第3の態様に係る姿勢推定方法は、第一の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定する姿勢推定方法であって、推定部が、前記第一の画像に対して所定の処理を行うことで前記相対的な姿勢を推定することを含み、前記所定の処理は、前記基準姿勢の前記所定の被写体が撮像されている第二の画像に、前記第一の画像を幾何変換するよう最適化された処理の一部に基づいている。
【0022】
第4の態様に係るプログラムは、第一の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を推定するためのプログラムであって、コンピュータに、前記第一の画像に対して所定の処理を行うことで前記相対的な姿勢を推定することを実行させるためのプログラムであり、前記所定の処理は、前記基準姿勢の前記所定の被写体が撮像されている第二の画像に、前記第一の画像を幾何変換するよう最適化された処理の一部に基づいている。
【発明の効果】
【0023】
本発明の一態様である姿勢推定装置、方法、及びプログラムによれば、低コストで収集可能な学習用データのみに基づいて、画像に撮像された被写体の姿勢を精度良く推定することができる、という効果が得られる。
【0024】
また、本発明の一態様である学習装置によれば、低コストで収集可能な学習用データのみに基づいて、画像に撮像された被写体の姿勢を精度良く推定するための学習を行うことができる、という効果が得られる。
【図面の簡単な説明】
【0025】
図1】幾何変換層付きの画像変換器の構成を示すブロック図である。
図2】幾何変換層の構成を示すブロック図である。
図3】幾何変換層無しの画像変換器の構成を示すブロック図である。
図4】本発明の実施の形態に係る学習処理の流れを示すフローチャートである。
図5】本発明の実施の形態に係る学習装置の構成を示すブロック図である。
図6】本発明の実施の形態に係る姿勢推定装置の構成を示すブロック図である。
図7】学習装置又は姿勢推定装置として機能するコンピュータの一例の概略ブロック図である。
図8】実験結果を示す図である。
【発明を実施するための形態】
【0026】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0027】
<<処理概要>>
本実施形態における姿勢推定方法は、画像を入力として受け付けると、その姿勢パラメータ、姿勢変換画像、並びに特徴量を出力するニューラルネットワークを画像変換器として用いる構成を採る。ここで言う姿勢パラメータとは、物体の姿勢を表す値であり、より具体的には、例えば、物体の位置・大きさ・角度を与える行列であるアフィン変換行列や射影変換行列の要素である。また、姿勢とは、基準となる姿勢から、物体にどのような剛体運動が与えられたかを示す値である。姿勢変換画像は、当該姿勢パラメータによる姿勢変換を入力画像に適用した場合に得られる姿勢変換後の画像を意味する。また、特徴量は、入力画像に写る物体の特徴をベクトル表現したものであり、物体の名称を特定するのに用いるものである。
【0028】
画像変換器の構成は、上記のような入出力関係を実現できるものであれば任意の構成を採ることができるが、構成の一例を説明する。
【0029】
図1は当該画像変換器10の構成の一例を示す図である。この構成はCNNに基づいており、畳み込み層、プーリング層、全結合層、幾何変換層の4種類の層の組み合わせで構成されており、例えば、幾何変換層11、畳み込み層12、プーリング層13、畳み込み層14、プーリング層15、全結合層16、17を含んで構成されている。畳み込み層、プーリング層、全結合層については広く知られた公知の層であり、例えば参考文献1に記載のものを用いればよい。
【0030】
[参考文献1]Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. ImageNet Classification with Deep Convoutional Neural Networks. Proceedings of Neural Information Processing Systems, 2012.
【0031】
また、幾何変換層11については、画像を入力として受け付けると、その姿勢パラメータ、並びに、姿勢パラメータに基づく画像変換を入力画像に適用して得られる姿勢変換画像を出力できるような層であればどんなものでも構わない。例えば、下記の公知の層を用いることができる。
【0032】
[参考文献2]Max Jaderberg, Karen Simonyan, Andrew Zisserman, and Koray Kavukcuoglu. Spatial Transformer Networks. Proceedings of Neural Information Processing Systems, 2015.
【0033】
例えば、図2に示すように、幾何変換層11は、当該幾何変換層11に入力された画像Uから、アフィン変換行列、又は、射影変換行列により表現される姿勢パラメータθを推定する姿勢パラメータ推定層11Aと、推定した姿勢パラメータθを画像Uに適用することによって姿勢変換画像Vを求め、出力する画像変換層11Bとにより構成される。姿勢パラメータ推定層11Aは、画像Uを入力として受け付け、当該画像Uに写る物体のアフィン変換行列、又は、射影変換行列の要素を出力するニューラルネットワークにより構成される。このように構成される幾何変換層11は、入力画像に写る物体が、基準姿勢に対して位置・大きさ・角度の観点でどの程度ずれているかを直接推定することができるため、好適である。
【0034】
もちろん、本発明における画像変換器10のニューラルネットワークの構成はこれに限られるものではなく、先の入出力要件を満たす限りどんな構成を採っても構わない。好ましくは、最終層にL2正規化層を加える。こうすることによって、特徴量を頑健化できるため、好適である。
【0035】
また、例えば、図1に示した構成は、畳み込み層及びプーリング層の組み合わせを2回繰り返し、その後全結合層を2層積んだ構造となっているが、この全結合層2層の代わりに、参考文献3、あるいは、参考文献4などに開示されている大域的プーリング層を用いても構わない。
【0036】
[参考文献3]Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep Residual Learning for Image Recognition,Proceedings of Conference on Computer Vision and Pattern Recognition, 2016.
【0037】
[参考文献4]Giorgos Tolias, Ronan Sicre, and Herve Jegou. Particular Object Retrieval with Integral Max-pooling of CNN Activations. ArXiv Preprint: https://arxiv.org/abs/1511.05879, 2015.
【0038】
このように、全結合の無い構成にすることにより、入力画像のサイズに依らず、常に同じ次元数の特徴量を求めることができるため好適である。
【0039】
以降、簡単のため、図1に示す画像変換器10を用いる場合を例にとり、説明を続ける。
【0040】
本実施形態における姿勢推定方法は、この画像変換器10を用いて特徴量及び姿勢を求める姿勢推定処理と、当該画像変換器10を学習する学習処理の、大別して2つの異なる処理を実行する。
【0041】
以降、まず学習処理について詳述し、その後、姿勢推定処理について詳細に述べる。
【0042】
<<学習処理>>
学習処理は、姿勢推定を行う前に、少なくとも一度実施する必要のある処理であり、より具体的には、画像変換器10のパラメータであるニューラルネットワークの重みを学習用データに基づいて適切に決定するための処理である。
【0043】
なお、本学習処理を実行する上では、先に説明した画像変換器10(ニューラルネットワーク)において、幾何変換層を除いた画像変換器10Aも用いる。一例として、図1の画像変換器10に対し、幾何変換層11を除いたニューラルネットワークの構成を図3に図示する。以降、幾何変換層11を有するニューラルネットワークにより構成された画像変換器10を幾何変換層付きモデル10、それを持たない画像変換器10Aを幾何変換層無しモデル10Aと呼称する。ここで、幾何変換層11以外のパラメータは両モデルで共通のものを利用する。すなわち、図1図3の例では、対応する畳み込み層、全結合層のパラメータは全て同じ値を持つものとする。
【0044】
本実施形態における学習処理を実行するには、予め学習用画像データを準備しておく必要がある。この学習用画像データは、画像の三つ組みの集合により構成されるものである。この三つ組みとは、ある物体を基準姿勢で写した画像I、画像Iと同一の被写体を別姿勢で写した画像I、画像Iとは異なる被写体を写した画像Iの三つからなり、異なる画像の組み合わせからなる三つ組みの集合により学習用画像データが構成されるとする。
【0045】
このような三つ組みの学習用画像データは、次の(a)~(d)の要件を満たす画像集合があれば自動的に構成することが可能である。
【0046】
(a)1枚以上の画像を含み、各画像は少なくとも一つの物体を写したものであること。
【0047】
(b)学習用画像データ全体を通して2種類以上の物体を含み、同一種類の物体を写した画像が少なくとも2枚以上存在すること。
【0048】
(c)全種類の物体に対して、それぞれ基準姿勢となる物体画像が存在し、特定できること。
【0049】
(d)同一種類の物体を写した画像同士が互いに識別可能であること。
【0050】
上記(a)~(d)の要件が揃ったものであれば、例えば、以下の(1)~(3)の処理により、上記三つ組みを一組構成することができる。
【0051】
(1)基準姿勢となる画像をランダムに一つ選び、これを画像Iとする。
【0052】
(2)画像Iと同一の被写体を写した基準姿勢でない画像Iをランダムに選び、これを画像Iとする。
【0053】
(3)画像I、Iと別の被写体を写した画像をランダムに選び、これを画像Iとする。
【0054】
(1)~(3)の処理を、所望の組数が揃うまで繰り返せば、学習用画像データを構成可能である。
【0055】
なお実際には、上記要件を満たすような学習用画像データを準備する手段は本発明の要点とは無関係であり、どのような手段で準備しても構わない。人手によって準備しても構わないし、自動的に準備しても構わない。
【0056】
上記のような学習用画像データが存在するもとで、本発明の実施形態における学習処理は、次の工程により実行される。図4に、本実施形態における学習処理の概要を示す。
【0057】
まず、ステップS301では、画像Iに対して幾何変換層付きモデル10を適用し、幾何変換後の画像Iである画像Ipt、並びに特徴量fptを求める。
【0058】
続いてステップS302では、画像I、画像Iのそれぞれに対して幾何変換層無しモデル10Aを適用し、対応する特徴量f、fを求める。
【0059】
続いてステップS303では、画像Iptと画像Iに基づき、アピアランス損失を求める。
【0060】
続いてステップS304では、特徴量f、特徴量fpt、特徴量fを基に、特徴量損失を求める。
【0061】
続いてステップS305では、アピアランス損失と特徴量損失の重み付き和を小さくするように幾何変換層付きモデル10のパラメータを更新し、幾何変換層無しモデル10Aにパラメータをコピーする。
【0062】
上記ステップS301~S305を所定の終了条件が満たされるまで繰り返し、終了条件を満たした場合に学習処理を終了する。
【0063】
ステップS301、S302については、先に説明した幾何変換層付きモデル10、幾何変換層無しモデル10Aを各画像に対して適用することで直ちに実行することができるものである。以降、ステップS303~S305について、その処理詳細を説明する。
【0064】
<各処理の処理詳細>
以降、各処理の詳細処理について、本実施形態における一例を説明する。
【0065】
[ステップS303:アピアランス損失計算処理]
【0066】
この処理では、同一の被写体を含む画像I、並びに、Iptに基づいて、その画像としての見え方の差異であるところのアピアランス損失を求める。
【0067】
ステップS301を通して、学習用画像データに含まれる画像Iに対して、幾何変換層11による姿勢変換を施した姿勢変換画像Iptが得られている。画像I、Iは同一の被写体を写しており、異なっているのはそれぞれ撮影された姿勢であることから、理想的には、姿勢変換後の画像Iptは、画像Iと同じ見えになっていることが好ましい。
【0068】
この考え方から、画像Iと画像Iptの画素値の距離の総和を求め、これをアピアランス損失Lとして用いる。画素値の距離は、例えばL1距離によって下記のように求めることができる。
【0069】
【数1】
(1)
【0070】
ここで、I (x、y、c)またはIpt (x、y、c)は、それぞれ画像I またはIpt のx、y位置におけるチャネルcの画素値を表し、X、Y、CはそれぞれI 、Ipt の組に対するxの定義域、yの定義域、cの定義域を表す。Nは学習用画像データの中に含まれる三つ組みの数、あるいはそれ以下の定数である。
【0071】
このアピアランス損失Lは、姿勢変換後の画像Ipt と画像I が同じ見えになっているほど小さい値を取り、Ipt =I の場合に0となる。すなわち、様々な画像I に対してこの値が小さくするように幾何変換層11のパラメータを学習することによって、どんな姿勢で撮影された被写体であっても、常に基準姿勢時の被写体を撮影した画像I に近づけるような姿勢変換を行うことができるようになり、結果として、姿勢パラメータは基準姿勢との差異を推定することができるようになるのである。
【0072】
アピアランス損失は必ずしも上記式(1)の形でなくとも構わず、画像Ipt と画像I が同じ見えになっているほど小さい値を取り、Ipt =I の場合に0となるようなものであれば任意の形態をとって構わない。例えば、利用する距離はL1距離でなくともよく、例えばL2距離などを用いても構わない。また、X、Y、Cは必ずしも画像全体を指示するものでなくとも構わない。もし予め物体の写る領域が何らかの形で与えられるのであれば、その範囲に限定して計算しても構わない。通常、画像には、背景など、対象とする被写体以外のものが写り込んでいる場合も多いが、物体の姿勢変化を求めるという観点からは、被写体と関係のない画素の情報を含まない方が望ましく、そのような観点では可能な限り被写体が写る領域に限定して定義域が設定されていることが好ましい。
【0073】
以上がステップS303で行う処理である。
【0074】
[ステップS304:特徴量損失計算処理]
この処理では、特徴量を学習するために必要な特徴量損失を求める。画像認識の観点から言えば、同一の被写体を含む画像I、Iptの特徴量f、fptはベクトルとして互いに近く、また、逆に、異なる被写体を含む画像I、Iの特徴量f、fはベクトルとして互いに遠くなっている方が好ましい。このような特徴量を得ることにより、特徴量の近さに基づいて同一被写体を検索したり、あるいは、例えばK近傍法などの識別法により被写体の名称を推定することもできるようになる。
【0075】
このような特徴量を学習するための損失は様々な形態のものが有り得るが、例えば下記のような損失を用いることができる。
【0076】
【数2】

(2)
【0077】
ここで、||x|| はxのL2ノルム、mは0以上の実数値であり、任意の値に設定してよいが、例えば0.3などとすればよい。
【0078】
この特徴量損失Lfは、特徴量fpt が特徴量f よりもL2距離の意味で特徴量f にm以上近しければ最小値である0を取り、そうでなければ、0よりも大きな値を取る。したがって、様々な三つ組みに対してこの値が小さくするように幾何変換層付きモデル10のパラメータを学習することによって、同一の被写体を撮影した画像ほど近い特徴量を出力できるようになるのである。
【0079】
あるいは、下記のような特徴量損失を用いても構わない。
【0080】
【数3】

(3)
【0081】
このように定められた特徴量損失Lfは、特徴量fpt とf が同じL2距離の意味で近いほど小さい値となり、また、特徴量f とf がL2距離の意味で遠いほど小さい値を取る。そうでなければ、0よりも大きな値を取る。
【0082】
特徴量損失は必ずしも上記式(2)あるいは式(3)の形でなくとも構わない。例えば、ノルムはL2ノルムでなくともよく、例えばL1ノルムなどを用いても構わない。
【0083】
以上がステップS304で行う処理である。
【0084】
[ステップS304:モデルパラメータ更新]
【0085】
この処理では、ステップS303、S304で求めたアピアランス損失L、及び特徴量損失Lを基に、これらの重み付き和Lを小さくするように幾何変換層付きモデル10のパラメータを更新する。
【0086】
具体的には、Lは下記のように定義される。
【0087】
【数4】

(4)
【0088】
λは二つの損失のバランスを取るパラメータであり、任意の実数値を設定してよい。例えばλ=100などとすればよい。
【0089】
、L共に、ニューラルネットワークのパラメータに対して区分的に微分可能であることを鑑みれば、勾配法により学習可能である。例えば、確率的勾配降下法に基づいて学習する場合、幾何変換層付きモデル10のあるパラメータをwとおくと、1ステップあたり、
【0090】
【数5】

(5)
【0091】
に基づいてパラメータwを更新していけばよい。任意のパラメータwに対するLの微分値は、誤差逆伝搬法により計算することができる。もちろん、モーメンタム項を利用する、重み減衰を利用するなど、一般的な確率的勾配降下法の改善法を導入しても構わないし、あるいは別の勾配降下法を利用しても構わない。
【0092】
上記に基づいて全てのパラメータの値を更新した後、幾何変換層11を除く全てのパラメータを幾何変換層無しモデル10Aへとコピーする。
【0093】
以上がステップS305で行う処理である。
【0094】
以上、S301~S305までの処理を、終了条件を満たすまで繰り返す。終了条件は任意のものを定めて構わないが、例えば「所定の回数(例えば100回など)繰り返したら終了」、「誤差の現象が一定の繰り返し回数の間、一定の範囲内に収まっていたら終了」などとすればよい。
【0095】
以上、本実施形態の一例における学習処理の詳細を説明した。
【0096】
<<姿勢推定処理>>
続いて、本実施形態の一例における姿勢推定方法の姿勢推定処理について説明する。
【0097】
学習処理が済んだ幾何変換層付きモデル10を用いれば、姿勢推定処理は非常に単純である。具体的には、幾何変換層付きモデル10に対して画像を入力し、幾何変換層11が出力した姿勢パラメータを得ればよい。なお、本実施形態の一例において、姿勢パラメータはアフィン変換行列、あるいは、射影変換行列を想定しているが、両者ともに、当該行列から物体の大きさ、位置(平行移動)、及び角度は容易に求めることが可能である。
【0098】
また、もし仮に本実施形態の一例において得られる幾何変換層付きモデル10は、特徴量も同時に出力することができるが、前述の通り、この特徴量を用いれば、例えばK平均法などの公知の方法を用いて、被写体の名称を認識することも可能である。
【0099】
以上が、本実施形態の一例における姿勢推定方法の姿勢推定処理である。
【0100】
<<装置構成>>
以下、図面を参照して、本発明の一実施形態による学習装置及び姿勢推定装置について説明する。
【0101】
図5は、学習装置100の構成を示すブロック図である。同図に示す学習装置100は、上述した学習処理に従って、入力された第一の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を表す姿勢パラメータを推定する画像変換器10を学習する。学習装置100は、入力部20及び演算部30を備える。演算部30は、モデル記憶部32、推定部34、及び学習部38を備える。なお、モデル記憶部32は、学習装置100の内部にあっても外部にあっても構わないが、本実施形態においては内部に配する構成を採る。
【0102】
入力部20は、所定の被写体が撮影された2枚以上の第一の画像、及び所定の被写体とは異なる被写体が撮像された画像である2枚以上の第三の画像を受け付ける。
【0103】
モデル記憶部32は、画像変換器10及び画像変換器10Aの各々のパラメータを記憶する。
【0104】
推定部34は、画像変換器10により、第一の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を表す姿勢パラメータを推定し、推定された姿勢パラメータを用いて、第一の画像を幾何変換することにより、基準姿勢の所定の被写体が撮像されている第二の画像を求めると共に、第二の画像の特徴量を抽出する。
【0105】
また、推定部34は、画像変換器10Aにより、第一の画像の特徴量を抽出する。また、推定部34は、画像変換器10Aにより、第一の画像の被写体とは異なる被写体が撮像された画像である第三の画像の特徴量を抽出する。
【0106】
学習部38は、同一被写体を撮影した少なくとも2枚以上の第一の画像を、少なくとも1枚以上の画像を含む2つのグループに分け、一方のグループの画像に画像変換器10Aの幾何変換層11を適用して求めた第二の画像の画素値と、他方のグループの画像の画素値の距離の総和が最小となり、かつ、第一の画像の被写体とは異なる被写体が撮像された画像である第三の画像に対して画像変換器10Aにより得られた特徴量と、第一の画像に対して画像変換器10により得られた特徴量との距離が遠くなり、かつ、第一の画像に対して画像変換器10により得られた特徴量と、第一の画像に対して画像変換器10Aにより得られた特徴量との距離が近くなるように、上記式(1)~式(5)に従って、画像変換器10、10Aを学習し、モデル記憶部32を更新する。
【0107】
上記の推定部34、及び学習部38の各処理は、予め定められた終了条件を満たすまで繰り返し行われる。
【0108】
図6は、姿勢推定装置150の構成を示すブロック図である。同図に示す姿勢推定装置150は、上述した姿勢推定処理に従って、入力された第一の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を表す姿勢パラメータを推定すると共に、第一の画像の被写体を認識する。姿勢推定装置150は、入力部50、演算部60、及び出力部70を備える。演算部60は、モデル記憶部62、推定部64、参照画像データベース66、及び照合部68を備える。なお、モデル記憶部62及び参照画像データベース66は、姿勢推定装置150の内部にあっても外部にあっても構わないが、本実施形態においては内部に配する構成を採る。
【0109】
入力部50は、推定対象となる、所定の被写体が撮影された第一の画像を受け付ける。
【0110】
モデル記憶部62は、学習装置100によって学習された、画像変換器10のパラメータを記憶する。
【0111】
推定部64は、画像変換器10により、第一の画像に撮像された所定の被写体の、基準姿勢に対する相対的な姿勢を表す姿勢パラメータを推定し、推定された姿勢パラメータを用いて、第一の画像を幾何変換することにより、基準姿勢の所定の被写体が撮像されている第二の画像を求めると共に、第二の画像の特徴量を抽出する。
【0112】
参照画像データベース66には、被写体情報である被写体の名称が既知の、参照画像の各々についての特徴量を記憶している。参照画像の特徴量は、予め画像変換器10又は画像変換器10Aによって抽出しておくものとする。
【0113】
また、照合部68は、推定部64によって抽出された特徴量と、参照画像の特徴量とを照合することにより、第一の画像の被写体の名称を認識する。
【0114】
出力部70は、推定された姿勢パラメータ、第二の画像、及び第一の画像の被写体の名称を出力する。
【0115】
学習装置100及び姿勢推定装置150の各々は、一例として、図7に示すコンピュータ84によって実現される。コンピュータ84は、CPU86、メモリ88、プログラム90を記憶した記憶部92、モニタを含む表示部94、及びキーボードやマウスを含む入力部96を含んでいる。CPU86、メモリ88、記憶部92、表示部94、及び入力部96はバス98を介して互いに接続されている。
【0116】
記憶部92はHDD、SSD、フラッシュメモリ等によって実現される。記憶部92には、コンピュータ84を学習装置100又は姿勢推定装置150として機能させるためのプログラム90が記憶されている。CPU86は、プログラム90を記憶部92から読み出してメモリ88に展開し、プログラム90を実行する。なお、プログラム90をコンピュータ可読媒体に格納して提供してもよい。
【0117】
<<実験結果>>
これまで説明した本技術の実施形態の一例により構築した学習処理方法及び姿勢推定処理方法を用いて学習処理及び姿勢推定処理を行った実験結果を示す。
【0118】
本実験は、10種類の文字がさまざまな姿勢で撮影された12939組の三つ組みを含む画像群を用い、認識精度、及び、姿勢推定誤差を評価したものである。ここで、三つ組みは、文字が基準姿勢で撮影されたシード画像と、当該シード画像を、予め求めておいたアフィン変換行列により幾何変換したアフィン変換画像と、当該シード画像とは異なる文字が撮影されたシード画像とからなる。
【0119】
なお、学習用画像データとして、上記三つ組みの集合の内11559組を用いて学習処理を実施し、評価用データとして、残りの1380組を用いて姿勢推定処理を実施した。
【0120】
また、比較例となる従来技術として、参考文献2に記載のCNNを用いて構成した画像変換器を用いた技術についても、同様に、学習処理及び姿勢推定処理を実施した。
【0121】
図8に、認識精度及び姿勢推定誤差の結果を示す。ここで、認識精度は、文字の種類を正しく認識できた画像の割合であり、0~1の値を取り、高ければ高いほどよいことを表す。姿勢推定誤差は、真の姿勢(アフィン変換行列)に対する推定誤差であり、0以上の値を取り、小さければ小さいほどよいことを表す。本図から明らかな通り、本技術によれば、従来技術に対して極めて高精度な認識が可能である。
【0122】
以上説明したように、本発明の実施の形態に係る姿勢推定装置によれば、基準姿勢の被写体が撮像されている第二の画像に、第一の画像を幾何変換するよう最適化することにより、低コストで収集可能な学習用データのみに基づいて、画像に撮像された被写体の姿勢を精度良く推定することができる。
【0123】
本発明の実施の形態に係る学習装置によれば、基準姿勢の被写体が撮像されている第二の画像に、第一の画像を幾何変換するよう最適化することにより、低コストで収集可能な学習用データのみに基づいて、画像に撮像された被写体の姿勢を精度良く推定するための学習を行うことができる。
【0124】
また、画像変換器は、幾何変換層を備えたニューラルネットワークにより構成され、当該幾何変換層の学習は、同一被写体を撮影した異なる2枚の画像Aと画像Bを入力し、一方の画像Bにのみ当該幾何変換層を適用して姿勢変換画像Bを求め、この姿勢変換画像Bと、もう一方の幾何変換層を適用しなかった画像Aとの画素値が一致するように行われる。このように学習された幾何変換層を用いると、画像Bに写る物体がどのような姿勢のものであっても、常に画像Aと見た目が一致するように変換することができる。この原理により、仮に画像Aが基準姿勢で写る物体を含むようなものである場合、任意の姿勢で写る同一被写体画像を基準姿勢に近づけることができるようになるのである。同時に、この幾何変換層は、その変換に用いた姿勢パラメータを出力するように構成されており、その姿勢パラメータを持って、画像Bに写る物体が、基準姿勢からどの程度ずれているかを推定することが可能である。
【0125】
また、同一被写体を写した画像さえあれば、常にこれが基準姿勢を写した画像となるように画像を変換する幾何変換層を学習するという原理により、明示的な姿勢情報が付与された学習用データが無くとも、画像の見た目が一致するか否かという基準のみで、姿勢推定を行うことができるようになるのである。これは、明示的な姿勢情報が付与された学習用データを収集するよりも、遥かに低コストで収集可能な学習用データによって学習できることを意味しており、非特許文献2のような技術よりも極めて低いコストで学習が可能である。
【0126】
さらに、当該幾何変換層を、入力画像に対して適用して、アフィン変換行列、または、射影変換行列を推定し、これを適用して幾何変換画像を求めるニューラルネットワークとして画像変換器を構成することにより、位置・大きさ・角度を正確に求めることが可能である。これは、アフィン変換行列及び射影変換行列は、位置・大きさ・角度を変換する行列であることに由来する。このように構成することで、画像Bが、基準姿勢を持つ画像Aに対して、位置・大きさ・角度の観点でどの程度ずれているかを直接推定することができるのである。
【0127】
また、本発明の実施の形態による学習装置は、同一被写体画像のみを要求し、その物体がどんな種類のものであるかという情報を利用しない。すなわち、非特許文献1あるいは特許文献1とは異なり、未知の物体に対しても高精度に姿勢を推定できる。
【0128】
以上の通り、本発明の実施の形態により、低コストで収集可能な学習用データのみに基づき、未知の物体に対しても高精度に姿勢を推定できる姿勢推定装置、方法、及びプログラムを提供することができる。
【0129】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0130】
例えば、姿勢推定装置は、入力画像の複数の領域で、それぞれ姿勢パラメータを推定するようにしてもよい。例えば、入力画像を領域分割して画像変換器に入力し、領域毎に姿勢パラメータを推定するようにしてもよい。
【0131】
また、学習装置と姿勢推定装置とを別々の装置として構成する場合を例に説明したが、一つの装置として構成してもよい。
【0132】
また、本発明の実施形態における姿勢推定方法及び学習方法を、汎用演算処理装置、記憶装置等を備えたコンピュータやサーバ等により構成して、各処理がプログラムによって実行されるものとしてもよい。このプログラムは記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して実現しても構わない。
【0133】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【符号の説明】
【0134】
10 画像変換器、幾何変換層付きモデル
10A 画像変換器、幾何変換層無しモデル
11 幾何変換層
11A 姿勢パラメータ推定層
11B 画像変換層
20、50 入力部
30、60 演算部
32、62 モデル記憶部
34、64 推定部
38 学習部
66 参照画像データベース
68 照合部
70 出力部
100 学習装置
150 姿勢推定装置
図1
図2
図3
図4
図5
図6
図7
図8