(57)【要約】  画像を用いた位置の推定を正確に行う。  位置推定システム１０は、参照用画像と位置を示す情報とを対応付けて記憶した参照用画像データベース１１と、位置推定の対象となる推定用画像、及び当該推定用画像の画角に係る情報を取得する取得部１２と、取得された推定用画像の画角に係る情報に基づいて、参照用画像及び推定用画像の少なくとも何れか一方の画像の拡大又は縮小を行う画像処理部１３と、拡大又は縮小が行われた画像を用いて、参照用画像と推定用画像との比較を行って、当該参照用画像に対応付けられた位置を示す情報から当該推定用画像に係る位置を推定する推定部１４とを備える。
2020137068.tif 000002
【特許請求の範囲】
【請求項１】
参照用画像と位置を示す情報とを対応付けて記憶した参照用画像データベースと、
位置推定の対象となる推定用画像、及び当該推定用画像の画角に係る情報を取得する取得部と、
前記取得部によって取得された前記推定用画像の画角に係る情報に基づいて、前記参照用画像及び前記推定用画像の少なくとも何れか一方の画像の拡大又は縮小を行う画像処理部と、
前記画像処理部によって拡大又は縮小が行われた画像を用いて、前記参照用画像と前記推定用画像との比較を行って、当該参照用画像に対応付けられた位置を示す情報から当該推定用画像に係る位置を推定する推定部と、
を備える位置推定システム。
【請求項２】
前記参照用画像データベースは、前記参照用画像に対応付けて当該参照用画像の画角に係る情報を記憶し、
前記画像処理部は、前記参照用画像の画角に係る情報にも基づいて、画像の拡大又は縮小を行う、請求項１に記載の位置推定システム。
【請求項３】
前記取得部は、前記推定用画像の画角に係る情報として、当該画角を算出するための情報を取得し、
前記画像処理部は、前記画角を算出するための情報から画角を算出して、算出した画角に基づいて、画像の拡大又は縮小を行う、請求項１又は２に記載の位置推定システム。
【請求項４】
前記画像処理部は、前記参照用画像及び前記推定用画像の縦横比を合わせる画像処理を行い、画像の拡大又は縮小を行う請求項１〜３の何れか一項に記載の位置推定システム。
【請求項５】
前記画像処理部は、前記参照用画像及び前記推定用画像の少なくとも何れか一方の画像に対して歪み補正を行う請求項１〜４の何れか一項に記載の位置推定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に基づいて位置を推定する位置推定システムに関する。
【背景技術】
【０００２】
従来から、撮像（撮影）によって得られた撮像画像から、当該撮像画像が撮像された位置を推定する技術が提案されている（例えば、特許文献１参照）。例えば、位置に対応付けた参照用画像を予め用意しておき、参照用画像と撮像画像とを比較して、撮像画像に類似している参照用画像に対応付けられた位置から、当該位置を推定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−５４７５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
デジタルカメラは、機種によって様々なレンズ及び画像センサを搭載しており、機種によって画角（撮影画角）が異なる。また、カメラが有するズーム機能によっても撮像できる画角が異なる。画角が異なる場合、同一位置から同一方向を向いて撮像しても画像に写り込む風景の範囲が変わる。そのため、画像同士の比較のみでは、正確に位置を推定できないおそれがある。参照用画像の画角よりも撮像画像の画角が狭い場合は、撮像方向に対して真の位置よりも前方に位置を推定してしまう。一方で、参照用画像の画角よりも撮像画像の画角が広い場合は、撮像方向に対して真の位置よりも後方に位置を推定してしまう。【０００５】
例えば、図９に示すように画角が６０度の参照用画像を用いて推定することを考える。推定対象の撮像画像であるユーザ画像の画角が３０度であった場合、ユーザ画像と参照用画像とを比較すると、ユーザ画像が撮像された位置で撮像された参照用画像（位置Ａに対応付けられた参照用画像）とは一致せず、ユーザ画像が撮像された位置ではない位置で撮像された参照用画像（位置Ｂに対応付けられた参照用画像）と一致してしまう。そのため、本来、ユーザ画像が撮像された位置は位置Ａであるにもかかわらず、ユーザ画像が撮像された位置は位置Ｂであると誤って推定されてしまう。【０００６】
本発明の一実施形態は、上記に鑑みてなされたものであり、画像を用いた位置の推定を高精度に行うことができる位置推定システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の一実施形態に係る位置推定システムは、参照用画像と位置を示す情報とを対応付けて記憶した参照用画像データベースと、位置推定の対象となる推定用画像、及び当該推定用画像の画角に係る情報を取得する取得部と、取得部によって取得された推定用画像の画角に係る情報に基づいて、参照用画像及び推定用画像の少なくとも何れか一方の画像の拡大又は縮小を行う画像処理部と、画像処理部によって拡大又は縮小が行われた画像を用いて、参照用画像と推定用画像との比較を行って、当該参照用画像に対応付けられた位置を示す情報から当該推定用画像に係る位置を推定する推定部と、を備える。【０００８】
本発明の一実施形態に係る位置推定システムでは、推定用画像の画角が考慮されて画像の拡大又は縮小が行われて、推定用画像に係る位置が推定される。従って、本発明の一実施形態に係る位置推定システムによれば、画像を用いた位置の推定を高精度に行うことができる。
【発明の効果】
【０００９】
本発明の一実施形態では、推定用画像の画角が考慮されて画像の拡大又は縮小が行われて、推定用画像に係る位置が推定される。従って、本発明の一実施形態によれば、画像を用いた位置の推定を高精度に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る位置推定システムの構成を示す図である。
【図２】画像センサのサイズ、焦点距離及び画角の関係を示す図である。
【図３】画像のクロップを示す図である。
【図４】画像のアンクロップを示す図である。
【図５】アンクロップ前の画像及びアンクロップ後の画像の例を示す図である。
【図６】画像の縦横比を変更する画像処理の例を示す図である。
【図７】本発明の実施形態に係る位置推定システムで実行される処理を示すフローチャートである。
【図８】本発明の実施形態に係る位置推定システムのハードウェア構成を示す図である。
【図９】本発明の課題を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面と共に本発明に係る位置推定システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１２】
図１に本実施形態に係る位置推定システム１０を示す。位置推定システム１０は、画像（画像データ）に基づいて位置を推定するシステムである。具体的には、位置推定システム１０は、ユーザ端末２０によって撮像されたユーザ画像に基づいて、ユーザ端末２０の位置、具体的にはユーザ画像を撮像した位置（ユーザ位置）を推定する。また、位置推定システム１０は、位置の推定とあわせて、ユーザ画像が撮像された方向（方位）を推定することとしてもよい。
【００１３】
ユーザ端末２０は、ユーザに所持（携帯）されて利用される。ユーザ端末２０は、例えば、携帯電話機、スマートフォン又はタブレット端末である。ユーザ端末２０は、撮像装置であるカメラを備えており、撮像によってユーザ画像を取得することができる。また、ユーザ端末２０は、移動体通信機能等の通信機能を有している。位置推定システム１０とユーザ端末２０とは、移動体通信網等の通信網を介して互いに情報の送受信を行うことができる。
【００１４】
ユーザ端末２０は、自身の位置の推定を行う際に自身が備えるカメラで周囲の風景を撮像して撮像によって得られたユーザ画像を位置推定システム１０に送信する。また、ユーザ端末２０は、ユーザ画像の送信とあわせて当該ユーザ画像の画角に係る情報を位置推定システム１０に送信する。ユーザ端末２０から位置推定システム１０に送信される画角に係る情報としては、画角自体を示す情報であってもよいし、画角を算出するための情報であってもよい。画角自体の情報である場合、当該情報は、例えば、ユーザ画像の縦方向（垂直方向）の画角及び横方向（水平方向）の画角の情報である。画角を算出するための情報は、例えば、カメラの画像センサの縦方向及び横方向のサイズ、並びに撮像時の焦点距離の情報である。位置推定システム１０は、これらをユーザ端末２０から受信して位置の推定に用いる。
【００１５】
位置推定システム１０は、例えば、サーバ装置によって実現される。また、位置推定システム１０は、複数のサーバ装置、即ち、コンピュータシステムによって実現されてもよい。
【００１６】
引き続いて、本実施形態に係る位置推定システム１０の機能を説明する。図１に示すように位置推定システム１０は、参照用画像データベース１１と、取得部１２と、画像処理部１３と、推定部１４とを備えて構成される。
【００１７】
参照用画像データベース１１は、参照用画像と位置を示す情報とを対応付けて記憶したデータベースである。参照用画像データベース１１は、参照用画像に対応付けて当該参照用画像の画角に係る情報を記憶することとしてもよい。
【００１８】
参照用画像は、画像に基づいた位置推定に用いられる位置推定システム１０に予め記憶される画像である。参照用画像に対応付けられる情報によって示される位置は、参照用画像が撮像された位置である。本実施形態では、参照用画像と位置推定の対象となる推定用画像とを比較して、それらが同じ画像であれば、参照用画像に対応付けられた情報によって示される位置を推定位置とするという考え方に基づいて画像に基づいた位置推定を行う。但し、後述するように本実施形態では、比較される画像は画像処理が行われた画像である。
【００１９】
参照用画像に対応付けられる位置を示す情報は、例えば、当該位置の緯度及び経度である。但し、位置を示す情報としてそれ以外の情報が用いられてもよい。参照用画像データベース１１は、複数の参照用画像を記憶する。適切な位置推定を行えるように、参照用画像データベース１１は、様々な位置を示す情報に対応付けられた複数の参照用画像を記憶することとしてもよい。
【００２０】
参照用画像データベース１１によって記憶される参照用画像は、当該参照用画像の画角（当該参照用画像が撮像された際の画角）が把握されているものである。参照用画像データベース１１は、それぞれの参照用画像の画角が異なる場合には、それぞれの参照用画像に対応付けて当該参照用画像の画角に係る情報、具体的には当該画角を示す情報を記憶することとしてもよい。それぞれの参照用画像に対応付けて記憶される情報は、例えば、当該参照用画像の縦方向の画角及び横方向の画角の情報である。
【００２１】
また、参照用画像データベース１１は、それぞれの参照用画像に対応付けて、方向を示す情報を記憶していてもよい。当該方向は、参照用画像が撮像された方向である。方向を示す情報を記憶することで、位置推定システム１０において、推定用画像に対して、位置に加えて方向を推定することができる。
【００２２】
参照用画像データベース１１に記憶される参照用画像、及び参照用画像に係る情報は、参照用画像に対応付いた位置での撮像及び当該位置でのＧＰＳ（グローバルポジショニングシステム）等での測位等によって生成される。
【００２３】
取得部１２は、位置推定の対象となる推定用画像、及び当該推定用画像の画角に係る情報を取得する機能部である。取得部１２は、推定用画像の画角に係る情報として、当該画角を算出するための情報を取得することとしてもよい。
【００２４】
具体的には、取得部１２は、ユーザ端末２０から送信されるユーザ画像及び当該ユーザ画像の画角に係る情報を、推定用画像、及び当該推定用画像の画角に係る情報として受信して取得する。ユーザ画像の画角に係る情報は、例えば、上述したように画角自体を示す情報である。あるいは、ユーザ画像の画角に係る情報は、画角を算出するための情報であってもよい。当該情報は、例えば、上述したようにカメラの画像センサの縦方向及び横方向のサイズ、並びに撮像時の焦点距離の情報である。取得部１２は、取得したユーザ画像及び情報を画像処理部１３に出力する。
【００２５】
画像処理部１３は、取得部１２によって取得されたユーザ画像の画角に係る情報に基づいて、参照用画像及びユーザ画像の少なくとも何れか一方の画像の拡大又は縮小を行う機能部である。画像処理部１３は、参照用画像の画角に係る情報にも基づいて、画像の拡大又は縮小を行うこととしてもよい。画像処理部１３は、画角を算出するための情報から画角を算出して、算出した画角に基づいて、画像の拡大又は縮小を行うこととしてもよい。画像処理部１３は、参照用画像及びユーザ画像の縦横比を合わせる画像処理を行い、画像の拡大又は縮小を行うこととしてもよい。
【００２６】
画像処理部１３は、取得部１２からユーザ画像及び情報を入力する。取得部１２から入力したユーザ画像の画角に係る情報が、当該画角を算出するための上述した情報であった場合、画像処理部１３は、例えば、以下のように画角を算出する。図２に示すように画像センササイズ（図２に示す画像センサ２１の長さ）Ｓ、焦点距離Ｆ及び画角Ａの間には下記の関係が成立する。
画像センササイズＳ／（２×焦点距離Ｆ）＝ｔａｎ（画角Ａ／２）
従って、画像処理部１３は、逆三角関数ａｒｃｔａｎｇｅｎｔを用いて下記の式によって画角Ａを算出する。
画角Ａ＝２×ａｒｃｔａｎ（画像センササイズＳ／（２×焦点距離Ｆ））
なお、縦方向の画角を求める場合には、画像センサの縦方向のサイズ（長さ）を用い、横方向の画角を求める場合には、画像センサの横方向のサイズ（長さ）を用いる。
【００２７】
なお、画角を算出するための情報及び画角の算出方法は、上記以外のものが用いられてもよい。例えば、ユーザ画像の撮像に用いられたカメラの機種を示す情報が、画角を算出するための情報として用いられてもよい。
【００２８】
取得部１２によって取得されたユーザ画像は、位置推定のために参照用画像データベース１１に記憶された各参照用画像と比較される。ユーザ画像と参照用画像とを比較する前に、画像処理部１３は、ユーザ画像又はユーザ画像の一方を基準として、もう一方の画像を基準の画角に合わせて拡大又は縮小する。なお、画角に応じた画像の拡大又は縮小は、画像の縦及び横双方について行われる。
【００２９】
画角を合わせる方の画像が、基準の画角よりも大きい場合、画像処理部１３は、画像の縮小として画像のクロップ（切り抜き、切り取り）を行う。画角を合わせる方の画像が、基準の画角よりも小さい場合、画像処理部１３は、画像の拡大として画像のアンクロップ（塗り足し）を行う。
【００３０】
画像処理部１３は、取得部１２から入力した情報によって示されるユーザ画像の画角又は上記のように算出したユーザ画像の画角と、参照用画像データベース１１に記憶された参照用画像の画角とを参照して画像のクロップ又はアンクロップを行う。なお、ユーザ画像と参照用画像との画角が同一である場合、画像処理部１３は、画像の拡大及び縮小を行わない。
【００３１】
画角Ｘ＞画角Ｙである画角Ｘの画像を画角Ｙに合わせる処理であるクロップの処理を説明する。画像処理部１３は、クロップ後の画像の長さＬの元画像に対する割合を、三角関数ｔａｎｇｅｎｔを用いた以下の式により算出する。
クロップ後の画像の長さの元画像に対する割合＝ｔａｎ（Ｙ／２）／ｔａｎ（Ｘ／２）
続いて、図３に示すように、画像処理部１３は、画像の中心線を基準に上記で算出した割合で元画像の切り出し処理を行って、画角Ｙの画像を生成する。上記の割合の算出及び切り出し処理は、画像の縦方向及び横方向それぞれについて行われる。なお、図３では、縦方向の画角をＸ，Ｙ、クロップ後の画像の長さをＬとし、横方向の画角をＸ´，Ｙ´、クロップ後の画像の長さをＬ´としている。
【００３２】
画角Ｘ＜画角Ｙである画角Ｘの画像を画角Ｙに合わせる処理であるアンクロップの処理を説明する。画像処理部１３は、アンクロップ後の画像の長さＬの元画像に対する割合を、三角関数ｔａｎｇｅｎｔを用いた以下の式により算出する。
アンクロップ後の画像の長さの元画像に対する割合＝ｔａｎ（Ｙ／２）／ｔａｎ（Ｘ／２）
なお、上記の式は、画角Ｘ，Ｙの大小によらない。即ち、上記の式は、画角Ｘ＞画角Ｙの場合と同様である。続いて、図４に示すように、画像処理部１３は、画像の中心線を基準に上記で算出した割合で画像の塗り足し処理を行って、画角Ｙの画像を生成する。画角Ｙの画像のうち、元画像に含まれない部分、即ち塗り足しを行う部分については、当然ながら何が写っているか未知の領域であるため、予め設定した色（例えば、白又は黒）にて補間を行うことで画角Ｙの画像を生成する。上記の割合の算出及び塗り足し処理は、画像の縦方向及び横方向それぞれについて行われる。なお、図４では、縦方向の画角をＸ，Ｙ、アンクロップ後の画像の長さをＬとし、横方向の画角をＸ´，Ｙ´、アンクロップ後の画像の長さをＬ´としている。図５にアンクロップ前の画像及びアンクロップ後の画像の例を示す。
【００３３】
なお、上記の図３及び図４の例では、画像の縦方向及び横方向の何れも、画角Ｘ＞画角Ｙ、又は画角Ｘ＜画角Ｙとなっていた。しかしながら、縦方向及び横方向の一方が、画角Ｘ＞画角Ｙであり、もう一方が画角Ｘ＜画角Ｙとなっている場合もある。その場合、画角Ｘ＞画角Ｙとなっている方向については上記と同様にクロップを行い、画角Ｘ＜画角Ｙとなっている方向については上記と同様にアンクロップを行えばよい。
【００３４】
画像処理部１３は、例えば、参照用画像毎、即ちユーザ画像と各参照用画像との組み合わせ毎に上記のユーザ画像のクロップ又はアンクロップを行う。但し、画角が同一である参照用画像に対してはユーザ画像のクロップ又はアンクロップは一度だけ行われればよい。例えば、参照用画像データベース１１に記憶された参照用画像の画角が全て同一であれば、全ての参照用画像に対してユーザ画像のクロップ又はアンクロップは一度だけ行われればよい。この場合、参照用画像データベース１１に参照用画像に対応付けて画角を記憶させておく必要はなく、画像処理部１３は、予め一律である参照用画像の画角を記憶しておき、その画角に基づいてユーザ画像のクロップ又はアンクロップを行えばよい。また、画像処理部１３は、ユーザ画像に対して、参照用画像のクロップ又はアンクロップを行うこととしてもよい。
【００３５】
参照用画像とユーザ画像との画角合わせ処理については、上述したように縦方向及び横方向それぞれに対してクロップあるいはアンクロップ処理を行ってもよいが、別の方法として、まず画像の縦横比（アスペクト比）を合わせる画像処理を行った後、縦方向及び横方向のどちらか一方について縦横比を維持しつつ画角合わせの処理を行ってもよい。
【００３６】
縦横比が大きい画像の縦横比を小さくする場合は、横方向のサイズを基準として、元画像の上下をアンクロップすることとすればよい。例えば、図６（ａ）に示すように縦横比が１６：９の画像を４：３にする場合には、画像の上下をアンクロップする。縦横比が小さい画像の縦横比を大きく場合は、縦方向のサイズを基準として、元画像の左右をアンクロップすることとすればよい。例えば、図６（ｂ）に示すように縦横比が４：３の画像を１６：９にする場合には、画像の左右をアンクロップする。なお、この際、アンクロップを行う方向の画角（アンクロップ領域も含む画角）は、基準方向の画角に基づいて縦横比に応じた割合で算出する。
【００３７】
上記はアンクロップで縦横比を合わせた例であるが、逆にクロップによって縦横比を合わせることもできる。例えば、図６（ａ）に示す場合、左右を切り取って４：３とする。但し、この場合、画像領域を切り落とすことで後述する画像の比較に用いる領域が狭くなり、位置推定精度の劣化につながる懸念がある。
【００３８】
クロップ又はアンクロップを行った後の参照用画像とユーザ画像との画像サイズを一致させる必要はない。但し、推定部１４において、比較する画像同士の画像サイズが一致している必要がある画像の比較を行う場合には、画像処理部１３は、画像に対して上述したクロップ又はアンクロップを行った後に、参照用画像とユーザ画像との画像のサイズを、一方の画像全体を拡大又は縮小することで一致させる。
【００３９】
画像処理部１３は、拡大又は縮小を行った画像を推定部１４に出力する。また、画像処理部１３は、拡大又は縮小を行った画像の比較対象となる画像も推定部１４に出力する。
【００４０】
推定部１４は、画像処理部１３によって拡大又は縮小が行われた画像を用いて、参照用画像とユーザ画像との比較を行って、当該参照用画像に対応付けられた位置を示す情報から当該ユーザ画像に係る位置を推定する機能部である。具体的には推定部１４は、以下のように推定を行う。推定されるユーザ画像に係る位置は、上述したようにユーザ画像を撮像した位置である。
【００４１】
推定部１４は、画像処理部１３から、ユーザ画像及び参照用画像を入力する。入力したユーザ画像及び参照用画像の少なくとも一方は、拡大（上述した例ではアンクロップ）又は縮小（上述した例ではクロップ）がなされており、それぞれの画像の画角が合わされている。推定部１４は、それらのユーザ画像と参照用画像とを比較して類似度を算出する。推定部１４は、類似度を、例えば、０％〜１００％の値で算出する。推定部１４は、ユーザ画像に対して各参照用画像との類似度を算出する。
【００４２】
類似度の算出については、ＳＩＦＴ（Scale  Invariant  Feature  Transform）と呼ばれる手法等を用いて特徴点又は特徴量を抽出して、あるいは輪郭、エッジを抽出して双方の画像の特徴点又は輪郭等のマッチングを行って類似度を算出する方法を用いることができる。あるいは、色調のヒストグラムを比較して類似度を算出することとしてもよい。但し、ヒストグラムを用いる手法は、アンクロップ前の画像とアンクロップ後の画像とでヒストグラムが同一となるため、画角を合わせるための画像処理にアンクロップを用いている場合には用いることができない。あるいは、ニューラルネットワークによる深層学習（Deep  Learning）技術を用いて類似度を算出することとしてもよい。
【００４３】
なお、アンクロップにより補完した領域については、特徴量等を抽出する範囲の対象外としたり、あるいは特徴量等が抽出されない色（例えば、上述した白又は黒）で保管を行うこととしたりして、類似度の算出には利用しないようにする。アンクロップによって補完された領域は元画像に写っていない“未知”の領域であるため、類似性が見いだされるべきではなく、もし類似性が見いだされたとしたらそれはノイズというべきものであるためである。但し、アンクロップによって生成された画像全体、即ち、アンクロップによって生成された部分を含む画像のサイズについては、類似度の算出に用いられる。
【００４４】
画角を合わせた参照用画像とユーザ画像との類似度が１００％であった場合、即ち画角を合わせた参照用画像とユーザ画像とに１００％の一致が見られた場合、推定部１４は、当該参照用画像に対応付けられて参照用画像データベース１１に記憶された情報によって示される位置、即ち当該参照用画像の位置をユーザ画像に係る位置と推定する。
【００４５】
但し、１００％の一致が見られることはまれであり、多くの場合においては複数の参照用画像について０％を超える類似度が算出される。この場合、推定部１４は、最も類似度が高い参照用画像の位置を、ユーザ画像に係る位置と推定してもよい。あるいは、推定部１４は、０％を超える類似度が算出された複数の参照用画像について、類似度の合計が１００％になるように類似度の正規化を行い、正規化後の類似度で参照用画像の位置に重み付けを行った重心位置をユーザ画像に係る位置と推定してもよい。
【００４６】
なお、参照用画像とユーザ画像との比較に基づく位置の推定は、上記の方法に限られず、従来の技術を含む任意の方法で行われてもよい。また、推定部１４は、位置の推定と同様の方法でユーザ画像に係る方向（方位）、具体的には、ユーザ画像を撮像した方向を推定してもよい。
【００４７】
推定部１４は、推定した位置を示す情報を出力する。例えば、推定部１４は、ユーザ画像の送信元であるユーザ端末２０に推定した位置を示す情報を送信する。また、推定した位置を示す情報の出力は、上記以外での任意の方法によって行われてもよい。
【００４８】
ユーザがカメラのズーム機能を用いる等して、ユーザ画像が狭い画角となった場合、参照用画像との比較及び類似度の算出の際に十分な量の特徴又は輪郭を得られないことがある。その結果、数多くの参照用画像に対して類似度が算出されてしまい、位置推定の精度が落ちることがある。これを防ぐため、ユーザ画像の撮像時に画角が予め設定した一定値以下であった場合、即ち、受信したユーザ画像の画角が一定値以下であった場合、及び類似度の算出時に予め設定した一定数以上の参照用画像に対して一定値（例えば０％）を超える類似度が算出された場合に位置推定失敗と扱ったり、エラー又は警告を出したりしてもよい。
【００４９】
画像処理部１３は、参照用画像及びユーザ画像の少なくとも何れか一方の画像に対して歪み補正を行うこととしてもよい。参照用画像あるいはユーザ画像の撮像において、利用するカメラ及びレンズの性質によって画像に歪み（レンズディストーション、歪曲収差）が発生することがある。画像が広角になるほど類似度算出に利用できる特徴が増加するため位置推定精度が向上するが、一方で画像の歪みによって正確な類似度が算出できない可能性がある。例えば、参照用画像がたる型の歪み、ユーザ画像が糸巻き型の歪みというように歪みの種類が異なったり、あるいは同種の歪みでも歪みの程度が異なったりする場合、類似度の算出時に影響を及ぼす。そのため、画像処理部１３が、画角合わせの処理の前あるいは後に既存の歪み補正技術により、参照用画像及びユーザ画像の何れか、又は両方に対して歪み補正を行ってから、推定部１４が上記の類似度算出を行ってもよい。この処理により、位置推定の精度を向上させることができる。以上が、本実施形態に係る位置推定システム１０の機能である。
【００５０】
引き続いて、図７のフローチャートを用いて、本実施形態に係る位置推定システム１０で実行される処理（位置推定システム１０が行う動作方法）を説明する。本処理では、まず、取得部１２によって、ユーザ画像、及び当該ユーザ画像の画角に係る情報が取得される（Ｓ０１）。続いて、画像処理部１３によって、ユーザ画像の画角に係る情報に基づいて、参照用画像データベース１１に記憶された参照用画像、及びユーザ画像の少なくとも何れか一方の画像の拡大又は縮小が行われる（Ｓ０２）。続いて、拡大又は縮小が行われた画像が用いられて、推定部１４によって、参照用画像とユーザ画像との比較が行われて、当該参照用画像に対応付けられた位置を示す情報から当該ユーザ画像に係る位置が推定される（Ｓ０３）。続いて、推定部１４によって、推定された位置を示す情報が出力される（Ｓ０４）。以上が、本実施形態に係る位置推定システム１０で実行される処理である。
【００５１】
上述したように本実施形態では、ユーザ画像の画角が考慮されて画像の拡大又は縮小が行われて、ユーザ画像に係る位置が推定される。従って、本実施形態によれば、画像を用いた位置の推定を高精度に行うことができる。
【００５２】
また、上述したように、参照用画像に当該参照用画像の画角に係る情報を対応付けて参照用画像データベース１１に記憶させておき、参照用画像の画角に係る情報にも基づいて画像の拡大又は縮小が行われてもよい。この構成によれば、互いに画角が異なる複数の参照用画像がある場合に、それぞれの参照用画像の画角に応じた画像の拡大又は縮小を行うことができる。従って、互いに画角が異なる複数の参照用画像がある場合であっても、画像を用いた位置の推定を高精度に行うことができる。但し、複数の参照用画像の画角が一律である場合等、複数の参照用画像に対して、ユーザ画像の一律の拡大又は縮小を行い得る場合には、個々の参照用画像に当該参照用画像の画角に係る情報を対応付けて記憶させる構成をとる必要はない。
【００５３】
また、上述したようにユーザ画像の画角を算出するための情報を取得し、その情報から画角を算出することとしてもよい。この構成によれば、直接的な画角を示す情報が取得できない場合でも、画像を用いた位置の推定を高精度に行うことができる。
【００５４】
また、上述したように参照用画像及びユーザ画像の縦横比を合わせる画像処理を行い、画像の拡大又は縮小を行うこととしてもよい。この構成によれば、縦方向及び横方向毎の画像の拡大又は縮小を行う必要がないため、拡大又は縮小を容易に行うことができる。
【００５５】
なお、本実施形態では、位置の推定対象となる推定用画像は、ユーザ端末２０によって撮像されて送信されたユーザ画像であったが、推定用画像としては任意の画像を用いることができる。
【００５６】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した１つの装置を用いて実現されてもよいし、物理的又は論理的に分離した２つ以上の装置を直接的又は間接的に（例えば、有線、無線などを用いて）接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記１つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【００５７】
例えば、本開示の一実施の形態における位置推定システム１０は、本開示の情報処理を行うコンピュータとして機能してもよい。図８は、本開示の一実施の形態に係る位置推定システム１０のハードウェア構成の一例を示す図である。上述の位置推定システム１０は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、バス１００７などを含むコンピュータ装置として構成されてもよい。また、ユーザ端末２０も同様のハードウェアによって構成されていてもよい。
【００５８】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。位置推定システム１０のハードウェア構成は、図に示した各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００５９】
位置推定システム１０における各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることによって、プロセッサ１００１が演算を行い、通信装置１００４による通信を制御したり、メモリ１００２及びストレージ１００３におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
【００６０】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central  Processing  Unit）によって構成されてもよい。例えば、上述の位置推定システム１０における各機能は、プロセッサ１００１によって実現されてもよい。
【００６１】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュール、データなどを、ストレージ１００３及び通信装置１００４の少なくとも一方からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、位置推定システム１０における各機能は、メモリ１００２に格納され、プロセッサ１００１において動作する制御プログラムによって実現されてもよい。上述の各種処理は、１つのプロセッサ１００１によって実行される旨を説明してきたが、２以上のプロセッサ１００１により同時又は逐次に実行されてもよい。プロセッサ１００１は、１以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【００６２】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  ＲＯＭ）、ＲＡＭ（Random  Access  Memory）などの少なくとも１つによって構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）などと呼ばれてもよい。メモリ１００２は、本開示の一実施の形態に係る情報処理を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュールなどを保存することができる。
【００６３】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact  Disc  ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つによって構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。位置推定システム１０が備える記憶媒体は、例えば、メモリ１００２及びストレージ１００３の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
【００６４】
通信装置１００４は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【００６５】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、LEDランプなど）である。なお、入力装置１００５及び出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００６６】
また、プロセッサ１００１、メモリ１００２などの各装置は、情報を通信するためのバス１００７によって接続される。バス１００７は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
【００６７】
また、位置推定システム１０は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも１つを用いて実装されてもよい。
【００６８】
本開示において説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００６９】
入出力された情報等は特定の場所（例えば、メモリ）に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【００７０】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：true又はfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【００７１】
本開示において説明した各態様／実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【００７２】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【００７３】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【００７４】
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術（同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ：Digital  Subscriber  Line）など）及び無線技術（赤外線、マイクロ波など）の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【００７５】
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【００７６】
サーバ（位置推定システム１０）及びクライアント（ユーザ端末２０）の少なくとも一方は、送信装置、受信装置、通信装置などと呼ばれてもよい。なお、サーバ及びクライアントの少なくとも一方は、移動体に搭載されたデバイス、移動体自体などであってもよい。当該移動体は、乗り物（例えば、車、飛行機など）であってもよいし、無人で動く移動体（例えば、ドローン、自動運転車など）であってもよいし、ロボット（有人型又は無人型）であってもよい。なお、サーバ及びクライアントの少なくとも一方は、必ずしも通信動作時に移動しない装置も含む。例えば、ユーザ端末２０は、センサなどのＩｏＴ（Internet  of  Things）機器であってもよい。
【００７７】
また、本開示におけるサーバは、クライアント端末で読み替えてもよい。例えば、サーバ及びクライアント端末間の通信を、複数のユーザ端末間の通信（例えば、Ｄ２Ｄ（Device-to-Device）、Ｖ２Ｘ（Vehicle-to-Everything）などと呼ばれてもよい）に置き換えた構成について、本開示の各態様／実施形態を適用してもよい。この場合、上述のサーバが有する機能をクライアント端末が有する構成としてもよい。
【００７８】
同様に、本開示におけるクライアント端末は、サーバで読み替えてもよい。この場合、上述のクライアント端末が有する機能をサーバが有する構成としてもよい。
【００７９】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【００８０】
本開示において、「含む（include）」、「含んでいる（including）」及びそれらの変形が使用されている場合、これらの用語は、用語「備える（comprising）」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は（or）」は、排他的論理和ではないことが意図される。
【００８１】
本開示において、例えば、英語でのa,  an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【００８２】
本開示において、「ＡとＢが異なる」という用語は、「ＡとＢが互いに異なる」ことを意味してもよい。なお、当該用語は、「ＡとＢがそれぞれＣと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
【符号の説明】
【００８３】
１０…位置推定システム、１１…参照用画像データベース、１２…取得部、１３…画像処理部、１４…推定部、２０…ユーザ端末、２１…画像センサ、１００１…プロセッサ、１００２…メモリ、１００３…ストレージ、１００４…通信装置、１００５…入力装置、１００６…出力装置、１００７…バス。
【図１】
2020137068.tif 000003
【図２】
2020137068.tif 000004
【図３】
2020137068.tif 000005
【図４】
2020137068.tif 000006
【図５】
2020137068.tif 000007
【図６】
2020137068.tif 000008
【図７】
2020137068.tif 000009
【図８】
2020137068.tif 000010
【図９】
2020137068.tif 000011
【国際調査報告】
2020137068.tif 000012
2020137068.tif 000013
2020137068.tif 000014