(57)【要約】【課題】原画像に映る立体物の幾何形状に歪みを生じさせることなく、目標画像の位置姿勢に整合させて変形させた表示画像を生成するプログラム、装置及び方法を提供する。【解決手段】参照対象が映り込んだ原画像を、当該参照対象が映り込んだ目標画像に基づいて変形した表示画像を生成する装置に搭載されたコンピュータを機能させるプログラムであって、原画像及び目標画像それぞれについて、当該参照対象が映る参照画像に基づく位置姿勢ベクトルを推定する位置姿勢推定手段と、原画像の位置姿勢ベクトルを、目標画像の位置姿勢ベクトルへ整合させる変換行列を算出する変換行列算出手段と、原画像を変換行列によって変形した表示画像を生成する表示画像生成手段としてコンピュータを機能させる。【選択図】図４
2019220032.tif 000002
【特許請求の範囲】
【請求項１】
参照対象が映り込んだ原画像を、当該参照対象が映り込んだ目標画像に基づいて変形した表示画像を生成する装置に搭載されたコンピュータを機能させるプログラムであって、
原画像及び目標画像それぞれについて、当該参照対象が映る参照画像に基づく位置姿勢ベクトルを推定する位置姿勢推定手段と、
原画像の前記位置姿勢ベクトルを、目標画像の前記位置姿勢ベクトルへ整合させる変換行列を算出する変換行列算出手段と、
原画像を前記変換行列によって変形した表示画像を生成する表示画像生成手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
前記位置姿勢推定手段は、
参照対象が映る参照画像と、当該参照対象の参照世界座標とを対応付けて予め記憶しており、
原画像及び目標画像から、前記参照画像の局所特徴に基づく特徴点を抽出し、
前記参照画像の特徴点座標と当該参照対象の参照世界座標との座標変換に基づいて、参照対象の相対的な位置姿勢ベクトルを推定する
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記位置姿勢推定手段は、原画像及び目標画像から、前記参照画像の局所特徴に基づく特徴点を抽出し、
前記変換行列算出手段は、原画像に映る参照画像の特徴点座標から、目標画像に映る参照画像の特徴点座標への相似変換行列を、前記変換行列として算出する
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記位置姿勢推定手段は、原画像及び目標画像から、前記参照画像の局所特徴に基づく特徴点を抽出し、
前記位置姿勢ベクトルは、前記参照画像に基づく所定の単位ベクトルであり、
前記変換行列は、回転θ、並進t及びスケールｓによって表され、
前記変換行列算出手段は、回転θ及び並進ｔに含まれる誤差を除去し、スケールｓにのみ誤差が含まれるように位置姿勢ベクトルを整合した変換行列を算出する
ようにコンピュータを機能させることを特徴とする請求項１又は２のいずれか１項に記載のプログラム。
【請求項５】
前記変換行列算出手段は、
画像平面内の回転方向を整合させる回転整合手段と、
画像平面内の並進方向を整合させる並進整合手段と、
画像平面内のスケールを整合させるスケール整合手段と
を含むようにコンピュータを機能させることを特徴とする請求項４に記載のプログラム。
【請求項６】
前記位置姿勢推定手段は、前記位置姿勢ベクトルを、
世界座標系の鉛直方向の単位ベクトル、
世界座標系の任意の水平方向の単位ベクトル、又は
ユーザによって設定された任意の単位ベクトル
を透視投影変換によって算出したベクトルとする
ようにコンピュータを機能させることを特徴とする請求項４又は５に記載のプログラム。
【請求項７】
前記位置姿勢推定手段は、前記位置姿勢ベクトルの始点を、
ユーザによって設定された任意の点、又は、
カメラ視点の世界座標値から撮影方向に伸びる直線と、参照対象の世界座標値の所定周辺との交点
とするようにコンピュータを機能させることを特徴とする請求項６に記載のプログラム。
【請求項８】
前記回転整合手段に続いて前記並進整合手段を機能させるものであり、
前記回転整合手段は、画像平面内について原画像の位置姿勢ベクトルの回転方向を、目標画像の位置姿勢ベクトルの回転方向と一致するように回転整合させる回転行列と、当該回転行列に基づいた回転整合後の原画像とを、前記並進整合手段へ出力し、
前記並進整合手段は、画像平面内について前記回転整合後の原画像の位置姿勢ベクトルの並進方向を、目標画像の位置姿勢ベクトルの並進方向と一致するように並進整合させる並進ベクトルと、前記回転行列と、前記回転行列及び前記並進ベクトルに基づいた回転並進整合後の原画像とを、前記スケール整合手段へ出力する
ようにコンピュータを機能させることを特徴とする請求項５から７のいずれか１項に記載のプログラム。
【請求項９】
前記並進整合手段に続いて前記回転整合手段を機能させるものであり、
前記並進整合手段は、画像平面内について原画像の位置姿勢ベクトルの並進方向を、目標画像の位置姿勢ベクトルの並進方向と一致するように並進整合させる並進ベクトルと、当該並進ベクトルに基づいた並進整合後の原画像とを、前記回転整合手段へ出力し、
前記回転整合手段は、画像平面内について前記並進整合後の原画像の位置姿勢ベクトルの回転方向を、目標画像の位置姿勢ベクトルの回転方向と一致するように回転整合させる回転行列と、前記並進ベクトルと、前記回転行列及び前記並進ベクトルに基づいた回転並進整合後の原画像とを、前記スケール整合手段へ出力する
ようにコンピュータを機能させることを特徴とする請求項５から７のいずれか１項に記載のプログラム。
【請求項１０】
前記スケール整合手段は、前記回転並進整合後の原画像のスケールが目標画像のスケールと一致するように前記回転並進整合後の原画像をスケール整合させる
ようにコンピュータを機能させることを特徴とする請求項８又は９のいずれか１項に記載のプログラム。
【請求項１１】
前記目標画像は、所定フレームレートで時系列的に変化する画像であり、
前記スケール整合手段は、時系列的に連続して算出されるスケール変換値を平滑化する
ようにコンピュータを機能させることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記参照対象は、所定物体又は所定マーカであり、
原画像は、カメラによって事前に撮影された原撮影画像であり、
目標画像は、カメラによってリアルタイムに撮影された目標撮影画像である
ようにコンピュータを機能させることを特徴とする請求項１から１１のいずれか１項に記載のプログラム。
【請求項１３】
原撮影画像に参照対象が映る参照画像に基づく所定位置に、仮想画像を重畳させた原拡張現実画像から、目標撮影画像に対する目標拡張現実画像を、前記表示画像として生成するために、
前記表示画像生成手段は、前記仮想画像を前記変換行列によって変形させて、目標撮影画像に映り込んだ参照画像の所定位置に重畳させた目標拡張現実画像を、前記表示画像として生成する
ようにコンピュータを機能させることを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記原拡張現実画像における前記仮想画像は、原撮影画像に参照対象が映る参照画像に対して、３次元的にカメラ視点から見た形状のものである
ようにコンピュータを機能させることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
参照対象が映り込んだ原画像を、当該参照対象が映り込んだ目標画像に基づいて変形した表示画像を生成する表示画像生成装置であって、
原画像及び目標画像それぞれについて、当該参照対象が映る参照画像に基づく位置姿勢ベクトルを推定する位置姿勢推定手段と、
原画像の前記位置姿勢ベクトルを、目標画像の前記位置姿勢ベクトルへ整合させる変換行列を算出する変換行列算出手段と、
原画像を前記変換行列によって変形した表示画像を生成する表示画像生成手段と
を有することを特徴とする表示画像生成装置。
【請求項１６】
参照対象が映り込んだ原画像を、当該参照対象が映り込んだ目標画像に基づいて変形した表示画像を生成する装置の表示画像生成方法であって、
前記装置は、
原画像及び目標画像それぞれについて、当該参照対象が映る参照画像に基づく位置姿勢ベクトルを推定する第１のステップと、
原画像の前記位置姿勢ベクトルを、目標画像の前記位置姿勢ベクトルへ整合させる変換行列を算出する第２のステップと、
原画像を前記変換行列によって変形した表示画像を生成する第３のステップと
を実行することを特徴とする表示画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原画像を、目標画像に基づいて変形させる技術に関する。
【背景技術】
【０００２】
従来、撮影対象物に対するカメラの相対的な位置姿勢に応じて、撮影画像にコンテンツをリアルタイムに表示する技術がある（例えば特許文献１、非特許文献１参照）。このコンテンツとは、拡張現実(Augmented Reality)画像として、撮影画像に重畳的に表示可能な仮想画像である。
【０００３】
図１は、撮影画像に拡張現実の仮想画像を重畳的に表示する説明図である。
【０００４】
図１（ａ）によれば、撮影対象物に、マーカ（参照対象）が貼り付けられている。マーカは、例えば２次元的なＱＲコード（登録商標）であってもよい。その撮影対象物は、位置姿勢が異なる４台のカメラcam1、cam2、cam3、cam4によって撮影されている。
図１（ｂ）によれば、各カメラの撮影画像が表されている。撮影画像にマーカが映り込む場合、そのマーカは、カメラの向きに応じて異なる角度から映る。撮影画像に映り込むマーカの参照画像の形状から、その位置姿勢が抽出される。
図１（ｃ）によれば、参照対象が映る参照画像毎に、その位置姿勢（参照世界座標値）に応じた仮想画像が予め記憶されている。そして、撮影画像における参照画像の位置姿勢と、予め記憶された複数の参照対象が映る参照画像の位置姿勢ベクトルとを、「距離関数」に基づいて比較する。距離が短い（位置姿勢が類似する）と推定された参照対象に紐づく仮想画像を、撮影画像に重畳的に表示する。コンテンツが立体形状の場合、カメラの視線分ベクトルに応じて、異なる形状の仮想画像が選択される。
図１（ｄ）によれば、表示画像は、目標撮影画像に映るマーカの上に、例えば直方体の仮想画像が重畳的に表示される。
このような処理によって、比較的低い処理負荷で、高品位な仮想画像をリアルタイム表示することができる。
【先行技術文献】
【特許文献】
【０００５】
特開２０１６−７１４９６号公報
【非特許文献】
【０００６】
【非特許文献１】「複雑な光学特性をもつ実物体の写実的な再現のための事前撮影画像による拡張現実システム」、情報処理学会第100回AVM研究会 講演番号No.13、[online]、［平成３０年６月１３日検索］、インターネット＜URL:https://www.ipsj.or.jp/kenkyukai/event/avm100.html＞
【非特許文献２】加藤, M. Billinghurst, 浅野, 橘, "マーカー追跡に基づく拡張現実感システムとそのキャリブレーション", 日本バーチャルリアリティ学会論文誌, vol.4, 20 no.4, pp.607-617, 1999.、[online]、［平成３０年６月１３日検索］、インターネット＜URL:http://intron.kz.tsukuba.ac.jp/tvrsj/4.4/kato/p-99_VRSJ4_4.pdf＞
【非特許文献３】D.G.Lowe, Distinctive image features from scale-invariant key points, Proc. of Int. Journal of Computer Vision (IJCV), 60(2) pp.91-110 (2004)、[online]、［平成３０年６月１３日検索］、インターネット＜URL:https://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf＞
【非特許文献４】H.Bay, T.Tuytelaars, and L.V.Gool, SURF: Speed Up Robust Features, Proc. of Int. Conf. of ECCV, (2006)、[online]、［平成３０年６月１３日検索］、インターネット＜URL:http://www.vision.ee.ethz.ch/~surf/eccv06.pdf＞
【非特許文献５】Ethan Rublee, Vincent Rabaud, Kurt Konolige, Gary R. Bradski: ORB: An efficient alternative to SIFT or SURF. ICCV 2011: 2564-2571.、[online]、［平成３０年６月１３日検索］、インターネット＜URL:http://www.willowgarage.com/sites/default/files/orb_final.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述した従来技術によれば、選択された仮想画像について、予め記憶された仮想画像の所定平面の位置姿勢が、撮影画像の所定平面の位置姿勢と一致するように、仮想画像を更に射影変換している。これによって、登録された仮想情報に紐づく位置姿勢と、撮影画像の位置姿勢との間のズレを補正している。
しかしながら、仮想画像に含まれる全ての画素を所定平面上の点として扱い、その所定平面の位置姿勢を補正する射影変換を、その所定平面上でない空間に位置する立体物に対しても適用してしまうために、立体物として表現される仮想画像は、その形状が歪んだように変換される。
この課題は、撮影画像と仮想画像との間の位置姿勢のズレに関わらず、一般的な原画像を目的画像に変換しようとした際にも同様である。
【０００８】
図２は、従来技術における原画像を目標画像に基づいて射影変換した説明図である。
【０００９】
図２によれば、３次元空間を表現する原画像には、参照対象に基づく参照画像と、参照対象以外の立体物とが映り込んでいる。また、目標画像にも、少なくとも参照対象に基づく参照画像が映り込んでいる。
図２からも明らかなとおり、原画像を、所定平面を基準とする射影変換によって、目標画像の視点からの位置姿勢に変換した場合、特に立体物はその形状が歪んだように変換されてしまう。
また、目標画像が、時系列的に変化する映像である場合、射影変換による歪み方も時系列的に変化することとなる。そのために、原画像に剛体立体物が含まれる場合、本来変化しないはずの立体物の形状も時系列的に変化するように見えてしまう。これは、ユーザに対して不自然な印象を与えることとなる。
【００１０】
そこで、本発明は、原画像に映る立体物の幾何形状に歪みを生じさせることなく、目標画像の位置姿勢に整合させて変形させた表示画像を生成するプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によれば、参照対象が映り込んだ原画像を、当該参照対象が映り込んだ目標画像に基づいて変形した表示画像を生成する装置に搭載されたコンピュータを機能させるプログラムであって、
原画像及び目標画像それぞれについて、当該参照対象が映る参照画像に基づく位置姿勢ベクトルを推定する位置姿勢推定手段と、
原画像の位置姿勢ベクトルを、目標画像の位置姿勢ベクトルへ整合させる変換行列を算出する変換行列算出手段と、
原画像を変換行列によって変形した表示画像を生成する表示画像生成手段と
してコンピュータを機能させることを特徴とする。
【００１２】
本発明のプログラムにおける他の実施形態によれば、
位置姿勢推定手段は、
参照対象が映る参照画像と、当該参照対象の参照世界座標とを対応付けて予め記憶しており、
原画像及び目標画像から、参照画像の局所特徴に基づく特徴点を抽出し、
参照画像の特徴点座標と当該参照対象の参照世界座標との座標変換に基づいて、参照対象の相対的な位置姿勢ベクトルを推定する
ようにコンピュータを機能させることも好ましい。
【００１３】
本発明のプログラムにおける他の実施形態によれば、
位置姿勢推定手段は、原画像及び目標画像から、参照画像の局所特徴に基づく特徴点を抽出し、
変換行列算出手段は、原画像に映る参照画像の特徴点座標から、目標画像に映る参照画像の特徴点座標への相似変換行列を、変換行列として算出する
ようにコンピュータを機能させることも好ましい。
【００１４】
本発明のプログラムにおける他の実施形態によれば、
位置姿勢推定手段は、原画像及び目標画像から、参照画像の局所特徴に基づく特徴点を抽出し、
位置姿勢ベクトルは、参照画像に基づく所定の単位ベクトルであり、
変換行列は、回転θ、並進t及びスケールｓによって表され、
変換行列算出手段は、回転θ及び並進ｔに含まれる誤差を除去し、スケールｓにのみ誤差が含まれるように位置姿勢ベクトルを整合した変換行列を算出する
ようにコンピュータを機能させることも好ましい。
【００１５】
本発明のプログラムにおける他の実施形態によれば、
変換行列算出手段は、
画像平面内の回転方向を整合させる回転整合手段と、
画像平面内の並進方向を整合させる並進整合手段と、
画像平面内のスケールを整合させるスケール整合手段と
を含むようにコンピュータを機能させることも好ましい。
【００１６】
本発明のプログラムにおける他の実施形態によれば、
位置姿勢推定手段は、位置姿勢ベクトルを、
世界座標系の鉛直方向の単位ベクトル、
世界座標系の任意の水平方向の単位ベクトル、又は
ユーザによって設定された任意の単位ベクトル
を透視投影変換によって算出したベクトルとする
ようにコンピュータを機能させることも好ましい。
【００１７】
本発明のプログラムにおける他の実施形態によれば、
位置姿勢推定手段は、位置姿勢ベクトルの始点を、
ユーザによって設定された任意の点、又は、
カメラ視点の世界座標値から撮影方向に伸びる直線と、参照対象の世界座標値の所定周辺との交点
とするようにコンピュータを機能させることも好ましい。
【００１８】
本発明のプログラムにおける他の実施形態によれば、
回転整合手段に続いて並進整合手段を機能させるものであり、
回転整合手段は、画像平面内について原画像の位置姿勢ベクトルの回転方向を、目標画像の位置姿勢ベクトルの回転方向と一致するように回転整合させる回転行列と、当該回転行列に基づいた回転整合後の原画像とを、並進整合手段へ出力し、
並進整合手段は、画像平面内について回転整合後の原画像の位置姿勢ベクトルの並進方向を、目標画像の位置姿勢ベクトルの並進方向と一致するように並進整合させる並進ベクトルと、回転行列と、回転行列及び並進ベクトルに基づいた回転並進整合後の原画像とを、スケール整合手段へ出力する
ようにコンピュータを機能させることも好ましい。
【００１９】
本発明のプログラムにおける他の実施形態によれば、
並進整合手段に続いて回転整合手段を機能させるものであり、
並進整合手段は、画像平面内について原画像の位置姿勢ベクトルの並進方向を、目標画像の位置姿勢ベクトルの並進方向と一致するように並進整合させる並進ベクトルと、当該並進ベクトルに基づいた並進整合後の原画像とを、回転整合手段へ出力し、
回転整合手段は、画像平面内について並進整合後の原画像の位置姿勢ベクトルの回転方向を、目標画像の位置姿勢ベクトルの回転方向と一致するように回転整合させる回転行列と、並進ベクトルと、回転行列及び並進ベクトルに基づいた回転並進整合後の原画像とを、スケール整合手段へ出力する
ようにコンピュータを機能させることも好ましい。
【００２０】
本発明のプログラムにおける他の実施形態によれば、
スケール整合手段は、回転並進整合後の原画像のスケールが目標画像のスケールと一致するように回転並進整合後の原画像をスケール整合させる
ようにコンピュータを機能させることも好ましい。
【００２１】
本発明のプログラムにおける他の実施形態によれば、
目標画像は、所定フレームレートで時系列的に変化する画像であり、
スケール整合手段は、時系列的に連続して算出されるスケール変換値を平滑化する
ようにコンピュータを機能させることも好ましい。
【００２２】
本発明のプログラムにおける他の実施形態によれば、
参照対象は、所定物体又は所定マーカであり、
原画像は、カメラによって事前に撮影された原撮影画像であり、
目標画像は、カメラによってリアルタイムに撮影された目標撮影画像である
ようにコンピュータを機能させることも好ましい。
【００２３】
本発明のプログラムにおける他の実施形態によれば、
原撮影画像に参照対象が映る参照画像に基づく所定位置に、仮想画像を重畳させた原拡張現実画像から、目標撮影画像に対する目標拡張現実画像を、表示画像として生成するために、
表示画像生成手段は、仮想画像を変換行列によって変形させて、目標撮影画像に映り込んだ参照画像の所定位置に重畳させた目標拡張現実画像を、表示画像として生成する
ようにコンピュータを機能させることも好ましい。
【００２４】
本発明のプログラムにおける他の実施形態によれば、
原拡張現実画像における仮想画像は、原撮影画像に参照対象が映る参照画像に対して、３次元的にカメラ視点から見た形状のものである
ようにコンピュータを機能させることも好ましい。
【００２５】
本発明によれば、参照対象が映り込んだ原画像を、当該参照対象が映り込んだ目標画像に基づいて変形した表示画像を生成する表示画像生成装置であって、
原画像及び目標画像それぞれについて、当該参照対象が映る参照画像に基づく位置姿勢ベクトルを推定する位置姿勢推定手段と、
原画像の位置姿勢ベクトルを、目標画像の位置姿勢ベクトルへ整合させる変換行列を算出する変換行列算出手段と、
原画像を変換行列によって変形した表示画像を生成する表示画像生成手段と
を有することを特徴とする。
【００２６】
本発明によれば、参照対象が映り込んだ原画像を、当該参照対象が映り込んだ目標画像に基づいて変形した表示画像を生成する装置の表示画像生成方法であって、
装置は、
原画像及び目標画像それぞれについて、当該参照対象が映る参照画像に基づく位置姿勢ベクトルを推定する第１のステップと、
原画像の位置姿勢ベクトルを、目標画像の位置姿勢ベクトルへ整合させる変換行列を算出する第２のステップと、
原画像を変換行列によって変形した表示画像を生成する第３のステップと
を実行することを特徴とする。
【発明の効果】
【００２７】
本発明のプログラム、装置及び方法によれば、原画像に映る立体物の幾何形状に歪みを生じさせることなく、目標画像の位置姿勢に整合させて変形させた表示画像を生成することができる。
【図面の簡単な説明】
【００２８】
【図１】撮影画像に拡張現実の仮想画像を重畳的に表示する説明図である。
【図２】従来技術における原画像を目標画像に基づいて射影変換した説明図である。
【図３】本発明における原画像を目標画像に基づいて変形した説明図である。
【図４】本発明における装置の機能構成図である。
【図５】位置姿勢ベクトルの単位ベクトルを注視点とした説明図である。
【図６】透視投影変換によって算出した原画像及び目標画像の位置姿勢ベクトルを表す説明図である。
【図７】原画像を目標画像に基づいて変形した説明図である。
【図８】仮想画像を含む原画像を、目標画像に基づいて変形した説明図である。
【発明を実施するための形態】
【００２９】
以下では、図面を用いて、本発明を実施するための形態について詳細に説明する。
【００３０】
図３は、本発明における原画像を目標画像に基づいて変形した説明図である。
【００３１】
図３によれば、図２と比較して、原画像に映る立体物の幾何形状に歪みを生じさせることなく、目標画像の位置姿勢に整合させて変形させた表示画像が表されている。このように、原画像を目標画像に対応して変換することによって、本来変化しないはずの立体物の形状について、ユーザが不自然な印象を持つことがないようにする。
【００３２】
図４は、本発明における表示画像生成装置の機能構成図である。
【００３３】
図４によれば、本発明の表示画像生成装置１は、参照対象が映り込んだ原画像を、当該参照対象が映り込んだ目標画像に基づいて変形した表示画像を生成する。ここで、表示画像生成装置は、例えばスマートフォンのような、カメラとディスプレイとを搭載した端末１として表されている。スマートフォンに限られず、タブレットやパーソナルコンピュータであってもよい。
勿論、本発明の機能を、ネットワークを介したサーバに搭載するものであってもよい。例えば、サーバは、通信インタフェースを介して、ユーザのスマートフォンのカメラによって撮影された撮影画像（目標画像）を受信し、原画像をその目標画像に基づいて変形した表示画像を、そのユーザのスマートフォンへ返信するものであってもよい。
尚、本発明を１台の装置のみで実現することなく、本発明の機能を区分して、ネットワークを介したサーバ及び端末のシステムとして構成することもできる。
【００３４】
図４によれば、端末１は、位置姿勢推定部１１と、変換行列算出部１２と、表示画像生成部１３とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置の表示画像生成方法としても理解できる。
尚、図４よれば、端末１は、参照対象の参照画像が映り込んだ原画像を保持しており、カメラから、参照対象の参照画像が映り込んだ目標画像を取得したとする。このとき原画像を目標画像に変形させた表示画像を生成する。
【００３５】
［位置姿勢推定部１１］
位置姿勢推定部１１は、原画像及び目標画像それぞれについて、当該参照対象が映る参照画像に基づく位置姿勢ベクトルを推定する。
「位置姿勢ベクトル」は、カメラから見て、例えば撮影対象物に貼り付けられたマーカ（参照対象）を基準とした相対的な位置姿勢（並進ｔ及び回転θ）である（例えば非特許文献２参照）。
【００３６】
位置姿勢推定部１１は、参照対象が映る参照画像と、当該参照対象の参照世界座標とを対応付けて予め記憶する（例えば非特許文献２におけるマーカ等）。その上で、以下のステップによって、位置姿勢ベクトルを推定する。
（Ｓ１）原画像及び目標画像から、局所特徴抽出アルゴリズムによって、参照画像の局所特徴（例えば相対的な輝度勾配）に基づく特徴点を抽出する。
（Ｓ２）原画像及び目標画像それぞれについて、参照画像の特徴点座標と当該参照対象の参照世界座標との座標変換に基づいて、参照対象の相対的な位置姿勢ベクトルを推定する。
そして、原画像及び目標画像と、それぞれの位置姿勢ベクトルとを、変換行列算出部１２へ出力する。
【００３７】
尚、例えば、目標画像に参照対象が映り込んでいない場合や、目標画像のノイズ等の影響によって参照対象の参照画像を抽出できない場合、処理を終了する。そのような場合、カメラによって撮影された目標画像をそのまま、表示画像として、端末１のディスプレイに表示する。
【００３８】
参照画像の特徴情報は、回転やスケールの変化にロバストな、例えばＳＩＦＴ(Scale-Invariant Feature Transform)やＳＵＲＦ(Speeded Up Robust Features)の特徴量であってもよいし、コンパクトな局所特徴を高速に抽出するＯＲＢ(Oriented FAST and Rotated BRIEF)の特徴量であってもよい（例えば非特許文献３、４、５参照）。
例えばＳＩＦＴの場合、１枚の画像からは１２８次元の局所特徴の集合が抽出される。ＳＩＦＴとは、スケールスペースを用いて特徴的な局所領域を解析し、そのスケール変化及び回転に不変となる局所特徴を記述する技術である。
また、ＳＵＲＦの場合、ＳＩＦＴよりも高速処理が可能であって、１枚の画像から６４次元の局所特徴の集合が抽出される。ＳＩＦＴは、処理コストが高く且つリアルタイムマッチングが困難であるのに対し、ＳＵＲＦは、積分画像を利用することによって処理を高速化している。
更に、ＯＲＢの場合、スマートフォンやタブレットのようなモバイル端末が普及する中で、拡張現実感の用途について、省メモリ化及び高速マッチング化に適する。
【００３９】
位置姿勢推定部１１は、世界座標系の位置姿勢ベクトルｇwldを算出する。位置姿勢ベクトルは少なくとも、長さをもつ３次元ベクトルであり、所定の単位ベクトルとする。
位置姿勢ベクトルは、例えば以下のいずれかの単位ベクトルを、透視投影変換によって算出したベクトルをいう。
（１）世界座標系の鉛直方向の単位ベクトル
（２）世界座標系の任意の水平方向の単位ベクトル
（３）ユーザによって設定された任意の単位ベクトル
【００４０】
また、世界座標系の位置姿勢ベクトルｇwldの始点（世界基準点Ｇwld）は、参照対象の３次元空間上のいずれの点でもよい。例えば以下のいずれかの点であってもよい。
（１）ユーザによって設定された、原画像と目標画像との両方に含まれる任意の点
（２）カメラ視点の世界座標値から撮影方向に伸びる直線（視線分ベクトル）と、参照対象の世界座標値の所定周辺との交点
【００４１】
図５は、位置姿勢ベクトルの単位ベクトルを注視点とした説明図である。
【００４２】
図５によれば、カメラの世界座標値を用いて、カメラ視点Ｐcam(x,y,z)から参照対象に向けた「撮影視線分ベクトル」が表されている。カメラ視点Ｐcam(x,y,z)から撮影方向に伸びる半直線と、参照対象に基づく対称面との交点Ｐlookat(u,v,w)を、注視点とし、その注視点を単位ベクトルの始点としている。
【００４３】
図６は、透視投影変換によって算出した原画像及び目標画像の位置姿勢ベクトルを表す説明図である。
【００４４】
図６によれば、原画像Ｉsについて、世界座標系の位置姿勢ベクトルｇwldを、透視投影変換によって原画像Ｉsの平面に射影して、原画像Ｉsの位置姿勢ベクトルｇs（始点Ｇs）を算出する。
同様に、目標画像Ｉdについても、世界座標系の位置姿勢ベクトルｇwldを、透視投影変換によって目標画像Ｉdの平面に射影して、目標画像の位置姿勢ベクトルｇd（始点Ｇd）を算出する。
そして、位置姿勢推定部１１は、原画像Ｉsの位置姿勢ベクトルｇsと、目標画像Ｉdの位置姿勢ベクトルｇdとを、変換行列算出部１２へ出力する。
【００４５】
［変換行列算出部１２］
変換行列算出部１２は、原画像Ｉsの位置姿勢ベクトルｇsを、目標画像Ｉdの位置姿勢ベクトルｇdへ整合させる変換行列を算出する。
【００４６】
図７は、原画像を目標画像に基づいて変形した説明図である。
図７（ａ）によれば、原画像の参照画像に基づく位置姿勢ベクトルを、目標画像の参照画像に基づく位置姿勢ベクトルへ、回転並進整合させること表している。
【００４７】
ここで、変換行列を算出するために、以下の２つの方法がある。
＜＜相似変換に基づく位置姿勢の整合＞＞
＜＜回転及び並進の誤差を除去し、スケールのみに誤差を含める位置姿勢の整合＞＞
【００４８】
＜＜相似変換に基づく位置姿勢の整合＞＞
変換行列算出部１２は、原画像Ｉsに映る参照画像の特徴点座標（ｘi,ｙi）（i∈Ｉ、Ｉは特徴点の添字集合）から、目標画像Ｉdに映る参照画像の特徴点座標（Ｘi,Ｙi）への相似変換行列を、変換行列として算出する。相似変換を、以下のように定義する。
【数１】
2019220032.tif 000003
【００４９】
ここで、以下のようにおく。
【数２】
2019220032.tif 000004
原画像Ｉsと目標画像Ｉdとから抽出された特徴点のうち、対応の存在する特徴点の添字集合をＪ＝｛ｊ0,・・・,ｊN｝とすると、前述の式［１］は、以下のように書き換えられる。
【数３】
2019220032.tif 000005
【００５０】
次に、式［３］をＡｘ＝ｂとおくと、ｘは最小二乗法によって、以下のように算出される。
ｘ＝（ＡTＡ）-1ＡTｂ                                            式［４］
パラメータａ,ｂ,ｃ,ｄによって、以下の相似変換行列Ｍが算出される。
【数４】
2019220032.tif 000006
【００５１】
前述した図３のように、３次元空間の立体物が映る原画像を、目標画像に合わせて、平面を基準とする相似変換で異なる視点から見えるように変換する。これによって、画像内の立体物の幾何形状を保ったまま、所定平面の位置姿勢が凡そ一致するように位置姿勢を整合させることができる。
【００５２】
ここで、前述した式［５］によれば、誤差を最小化する近似解を算出するために、並進、回転及びスケールの３要素全てに誤差が含まれる。一方で、前述した非特許文献１のように、位置姿勢を整合した仮想画像を代置してユーザに提示する場合、当該仮想画像のスケールに含まれる誤差は、カメラの画角の影響として知覚されるために、不自然な印象を与えることはない。しかしながら、回転及び並進に含まれる誤差は、実世界とのズレとして知覚されるため、ユーザに不自然な印象を与えてしまう。
【００５３】
＜＜回転及び並進の誤差を除去し、スケールのみに誤差を含める位置姿勢の整合＞＞
変換行列算出部１２は、回転θ及び並進ｔに含まれる誤差を除去し、スケールｓにのみ誤差が含まれるように、位置姿勢を整合させる変換行列を算出する。
【００５４】
変換行列算出部１２は、以下の３つの機能からなる。
画像平面内の回転方向を整合させる回転整合部
画像平面内の並進方向を整合させる並進整合部
画像平面内のスケールを整合させるスケール整合部
本発明によれば、変換行列算出部１２は、回転整合部及び並進整合部を、スケール整合部よりも優先的に機能させる。
【００５５】
変換行列算出部は、回転整合部と並進整合部とは、以下のような順序で機能させる。
＜回転整合部1211->並進整合部1222＞
＜並進整合部1221->回転整合部1212＞
【００５６】
＜回転整合部1211->並進整合部1222＞
［回転整合部1211］
回転整合部は、画像平面内について原画像の位置姿勢ベクトルｇsの回転方向を、目標画像の位置姿勢ベクトルｇdの回転方向と一致するように回転整合させる回転行列Ｒと、当該回転行列Ｒに基づいた回転整合後の原画像Ｉs（Ｒ）とを、並進整合部へ出力する。
この回転角θは、反時計回りの回転方向を正として、以下のように算出される。
θ＝sgn（ｇs×ｇd）arccos（(ｇs・ｇd)／(|ｇs||ｇd|)）          式［６］
【００５７】
回転整合部は、回転行列Ｒを、以下のように算出する。
【数５】
2019220032.tif 000007
これは、原画像Ｉsの中心座標値（ｃx,ｃy）を用いて、原画像Ｉsの同次座標系に積算したものである。
これによって、回転整合部は、回転角θを用いて原画像Ｉsを回転整合し、回転整合後の原画像Ｉs（Ｒ）を算出する。
そして、回転整合部は、回転行列Ｒと回転整合後の原画像Ｉs（Ｒ）とを、並進整合部へ出力する。
【００５８】
［並進整合部1222］
次に、並進整合部は、画像平面内について回転整合後の原画像Ｉs（Ｒ）の位置姿勢ベクトルの並進方向を、目標画像Ｉdの位置姿勢ベクトルの並進方向と一致するように並進整合させる並進ベクトルＴと、回転行列Ｒ及び並進ベクトルＴに基づいた回転並進整合後の原画像Ｉs（ＲＴ）とを、スケール整合部へ出力する。
【００５９】
並進整合部は、原画像Ｉsの点Ｇsから目標画像Ｉdの点ＧdまでのベクトルＧsＧdを、回転整合部から入力された回転行列Ｒを用いて回転させ、並進ベクトルＴとして算出する。点Ｏを原点として、以下のように表される。
Ｔ＝Ｒ（ＧsＧd）＝Ｒ（ＯＧd−ＯＧs）                            式［８］
この並進ベクトルＴを、回転整合部から入力された回転整合後の原画像Ｉs（Ｒ）の座標系に加算することによって並進整合し、その回転並進整合後の原画像Ｉs（ＲＴ）を算出する。
そして、並進整合部は、回転並進整合後の原画像Ｉs（ＲＴ）と、回転行列Ｒ及び並進ベクトルＴを、スケール整合部へ出力する。
【００６０】
＜並進整合部1221->回転整合部1212＞
［並進整合部1221］
並進整合部は、画像平面内について原画像の位置姿勢ベクトルｇsの並進方向を、目標画像の位置姿勢ベクトルｇdの並進方向と一致するように並進整合させる並進ベクトルＴと、当該並進ベクトルＴに基づいた並進整合後の原画像Ｉs（Ｔ）とを、回転整合部へ出力する。
この並進ベクトルＴは、点Ｏを原点として、以下のように表される。
Ｔ＝ＧsＧd＝ＯＧd−ＯＧs                                        式［９］
この並進ベクトルＴを、原画像Ｉsの座標系に加算することによって並進整合し、その並進整合後の画像Ｉs（Ｔ）と、並進ベクトルＴとを、回転整合部へ出力する。
【００６１】
［回転整合部1212］
次に、回転整合部は、画像平面内について並進整合後の原画像Ｉs（Ｔ）の位置姿勢ベクトルの回転方向を、目標画像の位置姿勢ベクトルの回転方向と一致するように回転整合させる回転行列Ｒと、当該回転行列Ｒ及び並進ベクトルＴに基づいた回転並進整合後の原画像Ｉs（ＲＴ）とを、スケール整合部へ出力する。
この回転角θは、反時計回りの回転方向を正として、以下のように算出される。
θ＝sgn（ｇs×ｇd）arccos（(ｇs・ｇd)／(|ｇs||ｇd|)）          式［１０］
【００６２】
回転整合部は、回転行列Ｒを、以下のように算出する。
【数６】
2019220032.tif 000008
これは、引数に対応する座標値を返す関数Ｇd（・）を用いて、原画像のＩsの同次座標系に積算したものである。
これによって、回転整合部は、回転角θを用いて並進整合後の原画像Ｉs（Ｔ）を回転整合し、回転並進整合後の原画像Ｉs（ＲＴ）を算出する。
そして、回転整合部は、回転並進整合後の原画像Ｉs（ＲＴ）と、回転行列Ｒ及び並進ベクトルＴとを、スケール整合部へ出力する。
【００６３】
［スケール整合部］
スケール整合部は、回転並進整合後の原画像Ｉs（ＲＴ）のスケールを、目標画像Ｉdのスケールと一致するようにスケール整合させ、原画像Ｉs（ｓＲＴ）を出力する。
【００６４】
スケール整合部は、原画像Ｉsから抽出された特徴点座標に対して、入力された回転行列Ｒ及び並進ベクトルＴを用いて回転並進変換をする。当該特徴点座標（ｘi,ｙi）に対して、回転並進変換後の特徴点座標（ｘi（ＲＴ）,ｙi（ＲＴ））は、以下のように算出される。
【数７】
2019220032.tif 000009
i∈Ｉ（Ｉは、特徴点の添字集合）
【００６５】
目標画像から抽出された特徴点座標（Ｘi,Ｙi）は、スケール変換値ｓを用いて、以下のように算出される。
【数８】
2019220032.tif 000010
j∈Ｊ（Ｊは、対応が存在する特徴点の添字集合）
尚、目標画像の点Ｇdを中心とするスケール変換をすることによって、目標画像の点Ｇdの位置を固定したスケール変換をしていることに注意すべきである。
【００６６】
前述の式［１３］について、以下のようにおく。
ｂs：左辺の縦ベクトルを添字展開して横方向に並べた行列
Ａd：右辺の縦ベクトルを添字展開して横方向に並べた行列
この場合、スケール変換値ｓは、最小二乗法を用いて、以下のように算出される。
ｓ＝（ＡdＴＡd）−１ＡdＴｂs                                    式［１４］
【００６７】
スケール整合部は、スケール変換値ｓを、画像の座標系に積算することによって算出する。
そして、変換行列算出部１２のスケール整合部は、最終的に、変換行列（回転、並進、スケール）を、表示画像生成部１３へ出力する。
【００６８】
＜時系列に変化する目標画像に対する実施形態＞
目標画像の特徴点座標（Ｘi(t),Ｙi(t)）が時系列に変化する場合、スケール変換値ｓ(t)も不安定に変動する可能性がある。これによって、位置姿勢ベクトルを整合させるスケールも不安定に変動し、ユーザに不自然な印象を与えてしまう。
【００６９】
そこで、変換行列算出部１２のスケール整合部は、時系列的に連続して算出されるスケール変換値ｓ(t)を平滑化する。
スケール整合部は、自ら算出したスケール変換値ｓ(t)から、Kステップ時刻前のスケール変換値ｓ(t-K)までを記憶し、以下のように、平滑化されたスケール変換値ｓ(t)を算出する。
ｓ(t)＝1/(K+1) Σk=0K ｓ(t-k)                                  式［１５］
スケール整合部は、そのスケール変換値ｓ(t)を、回転並進整合後の原画像Ｉs（ＲＴ(t)）の座標系に積算することによって、位置姿勢を整合した原画像Ｉs（ｓＲＴ(t)）を算出する。
【００７０】
これによって、目標画像が所定フレームレートで時系列に変化する場合でも、画像内に映り込む立体物の幾何形状の歪みを生じさせず、立体物の位置姿勢が安定したように見える表示画像を生成する。即ち、時系列に連続してリアルタイムに表示画像を閲覧するユーザが、できる限り違和感を持たないようにすることができる。
【００７１】
尚、前述した位置姿勢推定部１１と、変換行列算出部１２と、表示画像生成部１３とが、時系列の目標画像毎に実行される
【００７２】
［表示画像生成部１３］
表示画像生成部１３は、原画像Ｉsの座標系に変換行列Ｍを積算することによって、位置姿勢の整合された表示画像を生成する。
図７（ｂ）によれば、原画像を、変換行列に基づいて回転・並進・スケールを整合させた表示画像を表している。
【００７３】
図８は、仮想画像を含む原画像を、目標画像に基づいて変形した説明図である。
【００７４】
図８によれば、以下のようなものとする。
参照対象  ：所定物体又は所定マーカ
原撮影画像：カメラによって事前に撮影された参照画像を含む原撮影画像
原画像    ：原撮影画像に重畳すべき原仮想画像
目標画像  ：カメラによってリアルタイムに撮影された参照画像を含む目標撮影画像
表示画像  ：目標撮影画像に、原仮想画像を変形した目標仮想画像を重畳した目標拡張現実画像
【００７５】
図８（ａ）によれば、原撮影画像について、参照対象が映る参照画像に基づく所定位置の位置姿勢ベクトルが推定され、目標撮影画像についても、参照対象が映る参照画像に基づく所定位置の位置姿勢ベクトルが推定される。そして、原撮影画像の位置姿勢ベクトルを、目標撮影画像の位置姿勢ベクトルへ回転並進整合させて、変換行列を算出する。
図８（ｂ）によれば、その変換行列を用いて、原仮想画像を変形して、目標仮想画像が生成される。
図８（ｃ）によれば、目標画像に目標仮想画像を重畳して、目標拡張現実画像としての表示画像が生成される。
【００７６】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、原画像に映る立体物の幾何形状に歪みを生じさせることなく、目標画像の位置姿勢に整合させて変形させた表示画像を生成することができる。
また、原仮想画像の立体物の幾何形状に歪みを生じさせることなく、目標撮影画像の位置姿勢に整合させて変形させて重畳的に表示し、目標拡張現実画像としての表示画像を生成することもできる。
【００７７】
前述した本発明における種々の実施形態によれば、当業者は、本発明の技術思想及び見地の範囲における種々の変更、修正及び省略を容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００７８】
１  装置
１１  位置姿勢推定部
１２  変換行列算出部
１３  表示画像生成部
【図１】
2019220032.tif 000011
【図２】
2019220032.tif 000012
【図３】
2019220032.tif 000013
【図４】
2019220032.tif 000014
【図５】
2019220032.tif 000015
【図６】
2019220032.tif 000016
【図７】
2019220032.tif 000017
【図８】
2019220032.tif 000018