(57)【要約】【課題】移動体の航法パラメータの時間分解能を増やしても、航法パラメータの計算に必要な計算リソースの増加を抑制することができる航法装置、航法パラメータ計算方法およびプログラムを提供する。【解決手段】航法装置１が、移動体２の航法パラメータの計算に用いるデータを入力として移動体２の航法パラメータの計算を行うニューラルネットワークを用いて、データ検索部１３によって検索されたデータに対応した移動体２の航法パラメータを計算する。【選択図】図１
2020090143.tif 000002
【特許請求の範囲】
【請求項１】
移動体の航法パラメータの計算に用いるデータを取得するデータ取得部と、
前記データ取得部によって取得されたデータを記憶装置に記憶させるデータ記憶処理部と、
前記記憶装置に記憶されたデータを検索するデータ検索部と、
前記移動体の航法パラメータの計算に用いるデータを入力として前記移動体の航法パラメータの計算を行うニューラルネットワークを用いて、前記データ検索部によって検索されたデータに対応した前記移動体の航法パラメータを計算するパラメータ計算部と、
を備えたことを特徴とする航法装置。
【請求項２】
前記データ取得部は、前記移動体に搭載された撮影装置によって撮影された画像を示す画像データと、前記画像データの奥行き方向の情報を示すデプスデータとを取得し、
前記データ記憶処理部は、前記画像データおよび前記デプスデータを前記記憶装置に記憶させ、
前記データ検索部は、前記記憶装置に記憶された前記画像データの時系列および前記デプスデータを検索し、
前記パラメータ計算部は、前記画像データおよび前記デプスデータを入力として前記移動体の位置の変化量と姿勢の変化量の両方またはいずれか一方を示す航法パラメータの計算を行うニューラルネットワークを用いて、前記データ検索部によって検索された前記画像データの時系列および前記デプスデータから、前記画像データの時系列に対応した前記移動体の航法パラメータを計算すること
を特徴とする請求項１記載の航法装置。
【請求項３】
前記データ取得部は、前記移動体に搭載された距離センサから取得された、当該距離センサから測距点までの距離を示す距離データを用いて、前記デプスデータを生成すること
を特徴とする請求項２記載の航法装置。
【請求項４】
前記データ取得部は、前記画像データを用いて前記デプスデータを生成すること
を特徴とする請求項２記載の航法装置。
【請求項５】
前記データ取得部は、前記移動体に搭載された撮影装置によって撮影された画像を示す画像データを取得し、
前記データ記憶処理部は、前記画像データを前記記憶装置に記憶させ、
前記データ検索部は、前記記憶装置に記憶された前記画像データの時系列を検索し、
前記パラメータ計算部は、前記画像データを入力として当該画像データの奥行き方向の情報の計算および前記移動体の位置の変化量と姿勢の変化量の両方またはいずれか一方を示す航法パラメータの計算を行うニューラルネットワークを用いて、前記データ検索部によって検索された前記画像データの時系列から、前記画像データの時系列に対応した前記移動体の航法パラメータを計算すること
を特徴とする請求項１記載の航法装置。
【請求項６】
前記データ取得部は、前記移動体に搭載された撮影装置によって撮影された画像を示す画像データと、前記移動体の大まかな位置情報とを取得し、
前記データ記憶処理部は、前記画像データ、前記移動体が移動している領域を予め上空から撮影したグラウンド画像データおよび前記グラウンド画像データの奥行き方向の情報を示すグラウンドデプスデータを前記記憶装置に記憶させ、
前記データ検索部は、前記データ取得部によって取得された位置情報に基づいて、前記記憶装置に記憶された前記画像データ、前記グラウンド画像データおよび前記グラウンドデプスデータを検索し、
前記パラメータ計算部は、前記画像データ、前記グラウンド画像データおよび前記グラウンドデプスデータを入力として前記移動体の位置および姿勢の両方または一方を示す航法パラメータの計算を行うニューラルネットワークを用いて、前記データ検索部によって検索された前記画像データ、前記グラウンド画像データおよび前記グラウンドデプスデータから、前記画像データが取得されたときの前記移動体の航法パラメータを計算すること
を特徴とする請求項１記載の航法装置。
【請求項７】
前記データ取得部は、前記移動体に搭載された撮影装置によって撮影された画像を示す画像データと、前記移動体の大まかな位置情報とを取得し、
前記データ記憶処理部は、前記画像データ、および、前記移動体が移動している領域を予め上空から撮影したグラウンド画像データを前記記憶装置に記憶させ、
前記データ検索部は、前記データ取得部によって取得された位置情報に基づいて、前記記憶装置に記憶された前記画像データ、および前記グラウンド画像データを検索し、
前記パラメータ計算部は、前記画像データおよび前記グラウンド画像データを入力として前記移動体の位置および姿勢の両方または一方を示す航法パラメータの計算を行うニューラルネットワークを用いて、前記データ検索部によって検索された前記画像データおよび前記グラウンド画像データから、前記画像データが取得されたときの前記移動体の航法パラメータを計算すること
を特徴とする請求項１記載の航法装置。
【請求項８】
前記データ取得部は、慣性計測装置によって計測された前記移動体の姿勢データを取得し、
前記パラメータ計算部は、前記姿勢データ、前記画像データ、前記グラウンド画像データおよび前記グラウンドデプスデータを入力として前記移動体の位置を示す航法パラメータの計算を行うニューラルネットワークを用いて、前記姿勢データ、前記データ検索部によって検索された前記画像データ、前記グラウンド画像データおよび前記グラウンドデプスデータから、前記移動体の航法パラメータを計算すること
を特徴とする請求項６記載の航法装置。
【請求項９】
前記データ取得部は、慣性計測装置によって計測された前記移動体の姿勢データを取得し、
前記パラメータ計算部は、前記姿勢データ、前記画像データおよび前記グラウンド画像データを入力として前記移動体の位置を示す航法パラメータの計算を行うニューラルネットワークを用いて、前記姿勢データ、前記データ検索部によって検索された前記画像データおよび前記グラウンド画像データから、前記移動体の航法パラメータを計算すること
を特徴とする請求項７記載の航法装置。
【請求項１０】
前記データ取得部は、前記移動体に搭載された撮影装置によって撮影された画像を示す画像データと、前記移動体の大まかな位置情報とを取得し、
前記データ記憶処理部は、前記画像データ、前記移動体が移動している領域を予め上空から撮影したグラウンド画像データおよび前記グラウンド画像データの奥行き方向の情報を示すグラウンドデプスデータを前記記憶装置に記憶させ、
前記データ検索部は、前記データ取得部によって取得された位置情報に基づいて、前記記憶装置に記憶された前記画像データ、前記グラウンド画像データおよび前記グラウンドデプスデータを検索し、
前記パラメータ計算部は、前記画像データ、前記グラウンド画像データ、前記グラウンドデプスデータ、および前記移動体の位置情報を入力として前記移動体の姿勢を示す航法パラメータの計算を行うニューラルネットワークを用いて、前記データ検索部によって検索された前記画像データ、前記グラウンド画像データおよび前記グラウンドデプスデータと、前記データ取得部によって取得された位置情報とから、前記画像データが取得されたときの前記移動体の航法パラメータを計算すること
を特徴とする請求項１記載の航法装置。
【請求項１１】
前記データ取得部は、前記移動体に搭載された撮影装置によって撮影された画像を示す画像データと、前記移動体の大まかな位置情報とを取得し、
前記データ記憶処理部は、前記画像データ、および、前記移動体が移動している領域を予め上空から撮影したグラウンド画像データを前記記憶装置に記憶させ、
前記データ検索部は、前記データ取得部によって取得された位置情報に基づいて、前記記憶装置に記憶された前記画像データおよび前記グラウンド画像データを検索し、
前記パラメータ計算部は、前記画像データ、前記グラウンド画像データおよび前記移動体の位置情報を入力として前記移動体の姿勢を示す航法パラメータの計算を行うニューラルネットワークを用いて、前記データ検索部によって検索された前記画像データおよび前記グラウンド画像データと、前記データ取得部によって取得された位置情報とから、前記画像データが取得されたときの前記移動体の航法パラメータを計算すること
を特徴とする請求項１記載の航法装置。
【請求項１２】
データ取得部が、移動体の航法パラメータの計算に用いるデータを取得するステップと、
データ記憶処理部が、前記データ取得部によって取得されたデータを記憶装置に記憶させるステップと、
データ検索部が、前記記憶装置に記憶されたデータを検索するステップと、
パラメータ計算部が、前記移動体の航法パラメータの計算に用いるデータを入力として前記移動体の航法パラメータの計算を行うニューラルネットワークを用いて、前記データ検索部によって検索されたデータに対応した前記移動体の航法パラメータを計算するステップと、
を備えたことを特徴とする航法パラメータ計算方法。
【請求項１３】
コンピュータを、
移動体の航法パラメータの計算に用いるデータを取得するデータ取得部、
前記データ取得部によって取得されたデータを記憶装置に記憶させるデータ記憶処理部、
前記記憶装置に記憶されたデータを検索するデータ検索部、
前記移動体の航法パラメータの計算に用いるデータを入力として前記移動体の航法パラメータの計算を行うニューラルネットワークを用いて、前記データ検索部によって検索されたデータに対応した前記移動体の航法パラメータを計算するパラメータ計算部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の航法パラメータを計算する航法装置、航法パラメータ計算方法およびプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１に記載された航法装置は、移動体に搭載されたカメラによって撮影された画像と、移動体に搭載されたレーザ測距装置によって検出されたレーザ光の照射基準点から測距点までの距離データとを用いて、移動体の位置および姿勢の計算を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６０２９７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された航法装置は、カメラによって撮影された画像を示す画像データごとに画像特徴に基づく画像マッチングを行い、距離データを用いた移動体の位置および姿勢の調整計算を行う必要がある。これらの処理は演算負荷が高いため、移動体の位置と姿勢を示す航法パラメータの時間分解能を増やす必要がある場合、多大な計算リソースを必要とするという課題があった。
【０００５】
本発明は上記の課題を解決するものであり、移動体の航法パラメータの時間分解能を増やしても、航法パラメータの計算に必要な計算リソースの増加を抑制することができる航法装置、航法パラメータ計算方法およびプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る航法装置は、移動体の航法パラメータの計算に用いるデータを取得するデータ取得部と、データ取得部によって取得されたデータを記憶装置に記憶させるデータ記憶処理部と、記憶装置に記憶されたデータを検索するデータ検索部と、移動体の航法パラメータの計算に用いるデータを入力として移動体の航法パラメータの計算を行うニューラルネットワークを用いて、データ検索部によって検索されたデータに対応した移動体の航法パラメータを計算するパラメータ計算部を備える。
【発明の効果】
【０００７】
本発明によれば、移動体の航法パラメータの計算に用いるデータを入力として移動体の航法パラメータの計算を行うニューラルネットワークを用いて、移動体の航法パラメータの計算に用いるデータに対応した航法パラメータを計算する。ニューラルネットワークを用いることにより、移動体の航法パラメータの時間分解能を増やしても、航法パラメータの計算に必要な計算リソースの増加を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る航法装置の構成例を示すブロック図である。
【図２】実施の形態１に係る航法パラメータ計算方法を示すフローチャートである。
【図３】実施の形態１における画像データの例を示す図である。
【図４】実施の形態１における画像データの別の例を示す図である。
【図５】実施の形態１におけるデプスデータの例を示す図である。
【図６】ニューラルネットワークの構成例を示す図である。
【図７】実施の形態１に係る航法装置の変形例の構成を示すブロック図である。
【図８】実施の形態１に係る航法装置の別の変形例の構成を示すブロック図である。
【図９】図９Ａは、実施の形態１に係る航法装置の機能を実現するハードウェア構成を示すブロック図である。図９Ｂは、実施の形態１に係る航法装置の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。
【図１０】実施の形態２に係る航法装置の構成例を示すブロック図である。
【図１１】実施の形態２に係る航法パラメータ計算方法を示すフローチャートである。
【図１２】図１２Ａは、実施の形態２におけるグラウンド画像データの例を示す図である。図１２Ｂは、実施の形態２におけるグラウンドデプスデータの例を示す図である。図１２Ｃは、実施の形態２における画像データの例を示す図である。図１２Ｄは、図１２Ａのグラウンド画像データに対して図１２Ｃの画像データを重畳させたグラウンド画像データの例を示す図である。
【図１３】実施の形態２に係る航法装置の変形例の構成を示すブロック図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１は、実施の形態１に係る航法装置１の構成例を示すブロック図である。航法装置１は、例えば、移動体２に搭載された測量システムが備える航法装置である。測量システムは、航法装置１に加え、撮影装置３と距離センサ４とを備えており、撮影装置３によって撮影された画像を示す画像データと、距離センサ４によって計測された測距点までの距離データとを用いて、地形の測量を行う。
【００１０】
航法装置１は、移動中の移動体２の航法パラメータを計算する。移動体２の航法パラメータは、例えば、移動体２の位置、姿勢またはこれらの変化量を示すパラメータである。
なお、航法装置１は、図１に示すように移動体２に搭載された装置であってもよいし、移動体２とは別の場所に設けられた装置であってもよい。航法装置１は、移動体２と別の場所に設けられた装置である場合、有線または無線の通信によって移動体２から受信した情報を用いて移動体２の位置および姿勢を推定する。移動体２は、移動しつつ、撮影装置３による撮影および距離センサ４による計測が可能な移動体であり、例えば、航空機、人工衛星または無人飛行体（ＵＡＶ）である。以下では、移動体２が航空機であるものとして説明を行う。
【００１１】
撮影装置３は、移動体２から測量対象を撮影する装置であり、例えば、航空機に搭載されて上空から地表側を撮影する１つまたは複数の空撮カメラである。撮影装置３によって光学情報が撮影される。例えば、撮影装置３によって地表側の地形または構造物を被写体とした光学情報が得られる。また、撮影装置３は、例えば、予め定められた周期で地表側を撮影し、撮影日時を含む光学情報を生成する。
【００１２】
距離センサ４は、距離センサ４から測距点までの距離を検出するセンサである。測距点は、撮影装置３によって撮影された光学情報の被写体である。例えば、距離センサ４は、航空機に搭載されたレーザスキャナである。レーザスキャナは、レーザ光を被写体側に照射して被写体からの反射光を受光し、受光した反射光の情報に基づいてレーザ光の照射基準点から被写体までの距離を検出する。
【００１３】
航法装置１は、画像取得部１０、デプス取得部１１、データ記憶処理部１２、データ検索部１３およびパラメータ計算部１４を備える。画像取得部１０は、移動体２から撮影された画像データを、移動体２の航法パラメータの計算に用いるデータとして取得するデータ取得部である。例えば、画像取得部１０は、撮影装置３によって撮影日時を含む光学情報が得られるたびに、光学情報から被写体の画像を示す画像データを生成して取得し、取得した画像データをデータ記憶処理部１２に順次出力する。画像データは、撮影日時ごとの静止画像であってもよいし、動画像であってもよい。
【００１４】
デプス取得部１１は、撮影装置３によって撮影された画像データの奥行き方向の情報を示すデプスデータを、移動体２の航法パラメータの計算に用いるデータとして取得するデータ取得部である。例えば、デプス取得部１１は、画像取得部１０によって取得された画像データを入力すると、距離センサ４によって検出された距離データと、画像取得部１０によって取得された画像データとを用いて、画像データの奥行き方向の距離を示すデプスデータを生成する。また、デプスデータには、画像データの撮影日時が含まれる。デプス取得部１１は、距離センサ４によって距離データが検出されるたびにデプスデータを生成し、生成したデプスデータをデータ記憶処理部１２に順次出力する。
【００１５】
データ記憶処理部１２は、画像取得部１０によって順次取得された画像データの時系列を、図１において不図示の記憶装置に記憶し、デプス取得部１１によって取得されたデプスデータを、上記記憶装置に記憶する。データ記憶処理部１２によって、画像データは、画像の撮影日時に紐付けられ、デプスデータは、対応する画像データが示す画像の撮影日時に紐付けられて上記記憶装置に記憶される。
【００１６】
データ検索部１３は、データ記憶処理部１２によって上記記憶装置に記憶された画像データの時系列およびデプスデータを検索する。例えば、データ検索部１３は、時刻情報に基づいて、画像データの時系列およびデプスデータを、データ記憶処理部１２から検索する。ここで、撮影日時が時刻ｉである被写体の画像を示す画像データＩｉが取得された場合、データ検索部１３は、この画像データＩｉと、時刻ｉよりも１時刻単位前の時刻ｉ−１が撮影日時である同じ被写体の画像を示す画像データＩｉ−１とからなる時系列および時刻ｉに得られた画像データＩｉに対応するデプスデータＤをデータ記憶処理部１２から検索する。
【００１７】
パラメータ計算部１４は、ニューラルネットワークを用いて、データ検索部１３によって検索された画像データの時系列およびデプスデータから、画像データの時系列に対応した航法パラメータを計算する。上記ニューラルネットワークは、画像データおよびデプスデータを入力として移動体２の航法パラメータの計算を行うように学習されている。ここで、移動体２の航法パラメータは、例えば、移動体２の位置の変化量と姿勢の変化量の両方またはいずれか一方を示すパラメータである。
【００１８】
例えば、パラメータ計算部１４は、上記ニューラルネットワークを用いて、データ検索部１３によって検索された画像データＩｉ、画像データＩｉ−１およびデプスデータＤから、時刻ｉ−１から時刻ｉまでの間の移動体２の位置および姿勢の各変化量を計算する。パラメータ計算部１４によって計算された航法パラメータは、データ記憶処理部１２に記憶される。
【００１９】
次に動作について説明する。
図２は、実施の形態１に係る航法パラメータ計算方法を示すフローチャートである。
画像取得部１０が、撮影装置３から光学情報を取得し、取得した光学情報から、被写体の画像を示す画像データを生成してデータ記憶処理部１２に出力する。データ記憶処理部１２は、画像取得部１０から入力した画像データを記憶装置に記憶する（ステップＳＴ１）。このとき、画像取得部１０は、画像データをデプス取得部１１に出力してもよい。図３は、画像データ１０Ａを示す図であり、図４は、画像データ１０Ｂを示す図である。例えば、画像データ１０Ａおよび画像データ１０Ｂには、図３および図４に示すように矩形状の構造物が写っており、これらの構造物は住宅の屋根である。以下では、画像データ１０Ａが時刻ｉに得られた画像データＩｉであり、画像データ１０Ｂが時刻ｉ−１に得られた画像データＩｉ−１であるものとする。
【００２０】
デプス取得部１１が、距離センサ４によって検出された距離データおよび画像取得部１０によって取得された画像データを用いてデプスデータを生成し、生成したデプスデータをデータ記憶処理部１２に出力する。データ記憶処理部１２は、デプス取得部１１から入力したデプスデータを記憶装置に記憶する（ステップＳＴ２）。図５は、デプスデータ２０を示す図である。デプスデータ２０は、画像データＩｉに対応したデプスデータＤであり、画像データ１０Ａの奥行き方向の距離を示している。デプスデータ２０では、地表面からの高さが濃淡で表現されており、色が濃いほど地表面に近く（低い）、色が薄いほど地表面から遠い（高い）。画像データ１０Ａとデプスデータ２０を参照すると、住宅の屋根に相当する部分は、他の部分に比べて高い位置にあることが分かる。
ステップＳＴ１およびステップＳＴ２の処理が、データ取得部（画像取得部１０およびデプス取得部１１）による、移動体２の航法パラメータの計算に用いるデータの取得処理と、データ記憶処理部１２による、データ取得部によって取得されたデータを記憶装置に記憶させる処理に相当する。
【００２１】
データ検索部１３が、データ記憶処理部１２によって記憶装置に記憶された画像データＩｉ、画像データＩｉ−１およびデプスデータＤを検索する（ステップＳＴ３）。例えば、データ検索部１３は、最新の画像データＩｉが時刻ｉに得られると、この画像データＩｉ、時刻ｉ−１に得られた画像データＩｉ−１および画像データＩｉに対応するデプスデータＤを記憶装置から検索して、パラメータ計算部１４に出力する。
【００２２】
パラメータ計算部１４は、ニューラルネットワークを用いて、データ検索部１３により検索された画像データおよびデプスデータから、移動体２の位置および姿勢の各変化量を示す航法パラメータを計算する（ステップＳＴ４）。
例えば、パラメータ計算部１４は、画像データＩｉ、画像データＩｉ−１およびデプスデータＤをニューラルネットワークの入力層に入力し、このニューラルネットワークによって計算されて出力層から出力された時刻ｉ−１から時刻ｉまでの間の移動体２の位置の変化量（Δｘ，Δｙ，Δｚ）と姿勢の変化量（Δω，Δφ，Δκ）とを取得する。
Δωは、移動体２のローリング方向の姿勢角の変化量を示しており、Δφは、移動体２のピッチング方向の姿勢角の変化量を示しており、Δκは、移動体２のヨーイング方向の姿勢角の変化量を示している。なお、パラメータ計算部１４は、移動体２の位置の変化量のみを示す航法パラメータを計算してもよいし、移動体２の姿勢の変化量のみを示す航法パラメータを計算してもよい。また、パラメータ計算部１４は、移動体２の姿勢角であるω、φおよびκのうちの少なくとも一つの姿勢角の変化量を、移動体２の航法パラメータとして計算してもよい。
【００２３】
この後、パラメータ計算部１４は、航法パラメータの計算を終了するか否かを確認する（ステップＳＴ５）。例えば、測量システムが地形の測量を終了する場合、航法装置１による移動体２の航法パラメータの計算も終了される。航法パラメータの計算を終了する場合（ステップＳＴ５；ＹＥＳ）、図２に示す一連の処理が終了される。一方、航法パラメータの計算を終了しない場合（ステップＳＴ５；ＮＯ）、ステップＳＴ１の処理に戻り、前述した一連の処理が繰り返される。
【００２４】
次に、航法パラメータの計算に用いられるニューラルネットワークについて説明する。
パラメータ計算部１４が用いるニューラルネットワークは、画像データの時系列およびデプスデータと、これに対応する移動体２の位置および姿勢の各変化量とをセットとした教師データを用いて、画像データＩｉ、画像データＩｉ−１およびデプスデータＤを入力すると、時刻ｉ−１から時刻ｉまでの間の移動体２の位置の変化量（Δｘ，Δｙ，Δｚ）と姿勢の変化量（Δω，Δφ，Δκ）との両方または一方を計算して出力するように学習されている。ニューラルネットワークでは、従来の航法装置において移動体の航法パラメータの計算精度を高めるために反復して行われる上記航法パラメータの調整計算が不要である。上記調整計算は多大な計算リソースを必要としたので、ニューラルネットワークを用いることで、計算リソースの増加を抑制することができる。
航法パラメータの計算に用いるニューラルネットワークは、画像データＩｉから画像データＩｉ−ｎまでの（ｎ＋１）個の画像データを入力可能な入力層を有したニューラルネットワークであってもよい。パラメータ計算部１４は、（ｎ＋１）個の画像データおよび時刻ｉに対応するデプスデータＤを入力として移動体２の位置の変化量および姿勢の変化量の両方または一方を計算するニューラルネットワークを用いて、（ｎ＋１）個の画像データの時系列に対応する移動体２の位置の変化量および姿勢の変化量の両方または一方を示す航法パラメータを計算する。
【００２５】
例えば、参考文献１には、畳み込みニューラルネットワーク（以下、ＣＮＮと記載する）を用いた画像認識によって物体を識別する技術が記載されている。ＣＮＮとは、二次元の入力信号、例えば画像データに相当する二次元信号に対して階層ごとにフィルタを適用して次の層に渡すことを特徴するニューラルネットワークである。
（参考文献１）Ａｌｅｘ  Ｋｒｉｚｈｅｖｓｋｙ，  Ｉｌｙａ  Ｓｕｔｓｋｅｖｅｒ，  ａｎｄ  Ｇｅｏｆｆｒｅｙ  Ｅ  Ｈｉｎｔｏｎ，  “Ｉｍａｇｅｎｅｔ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｗｉｔｈ  ｄｅｅｐ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ”  ，Ｉｎ  Ａｄｖａｎｃｅｓ  ｉｎ  ｎｅｕｒａｌ  ｉｎｆｏｒｍａｔｉｏｎ  ｐｒｏｃｅｓｓｉｎｇ  ｓｙｓｔｅｍｓ，  ｐａｇｅｓ  １０９７−１１０５，  ２０１２．
【００２６】
ニューラルネットワークは、入力信号の重み付き和を計算し、計算結果に活性化関数と呼ばれる非線形関数を適用して出力するパーセプトロンが階層的に配置された計算モデルである。パーセプトロンは、入力信号をＸ＝（ｘ１，ｘ２，・・・，ｘｎ）とし、重みをＷ＝（ｗ１，ｗ２，・・・，ｗｎ）とし、活性化関数をｆ（  ）とし、＊をベクトルの要素積とした場合、下記式（１）のように表される。ＣＮＮにおいて、パーセプトロンは、二次元信号を入力とし、入力した二次元信号の重み付き和を計算して次の層に渡す。活性化関数としては、シグモイド関数またはＲｅＬＵ関数が用いられる。
ｏｕｔ＝ｆ（Ｘ＊Ｗ）        ・・・（１）
【００２７】
図６は、ニューラルネットワークの構成例を示す図である。図６に示すように、ニューラルネットワークでは、パーセプトロンが階層的に配置されており、各階層で入力された信号を処理していくことで、識別結果が計算される。最終層は、識別するタスクの出力に対応しており、回帰タスクであれば、信号に活性化関数が適用された値がそのまま予測値として出力され、分類タスクであれば、最終層において信号にソフトマックス関数が適用された値が出力される。
【００２８】
ＣＮＮは、図６に示すように、複数の二次元信号のマップから構成される。複数の二次元信号のそれぞれがパーセプトロンに対応するとみなすことができ、前層の特徴マップに対して重み付き和を計算して活性化関数を適用した結果が次層に出力される。入力信号に対して重み付き和を計算して活性化関数を適用する処理は、ＣＮＮにおいて畳み込み演算と呼ばれる。ＣＮＮには、プーリング処理を行う層が挿入されることもある。プーリング処理は、特徴マップに平均値演算または最大値演算を行ってダウンサンプリングする処理である。
【００２９】
図６に示すＣＮＮは、第１層、第２層および第３層に畳み込み層を有し、第４層と第５層に全結合層が配置されている。全結合層は、中間層で得られた演算結果を結合して重み付き和を計算してから出力する。また、ニューラルネットワークの学習は、誤差逆伝播によって行われ、確率的勾配降下法を用いて分類誤差が最小化される。誤差逆伝播は、ニューラルネットワークの出力誤差を最終層から順に前の層へ伝播させて重みを更新する処理である。
【００３０】
なお、これまで、レーザスキャナによって検出された距離データを用いたデプスデータの生成を示したが、例えば、デプス取得部１１が、画像取得部１０によって取得された画像データと、キネクト（登録商標）によって検出されたデプス情報あるいは距離カメラによって距離情報とを用いて、デプスデータを生成してもよい。
【００３１】
次に、実施の形態１に係る航法装置の変形例について説明する。
図７は、航法装置１の変形例である航法装置１Ａの構成を示すブロック図である。図７において、航法装置１Ａは、画像取得部１０、デプス取得部１１Ａ、データ記憶処理部１２Ａ、データ検索部１３Ａおよびパラメータ計算部１４Ａを備える。
【００３２】
データ記憶処理部１２Ａは、画像取得部１０によって取得された画像データと、パラメータ計算部１４Ａによって計算された移動体２の航法パラメータとを、図７において不図示の記憶装置に記憶する。データ検索部１３Ａは、データ記憶処理部１２Ａによって上記記憶装置に記憶された画像データの時系列を検索して、デプス取得部１１Ａとパラメータ計算部１４Ａに出力する。
【００３３】
デプス取得部１１Ａは、データ検索部１３Ａによって検索された画像データの時系列を用いて、デプスデータを生成するデータ取得部である。例えば、デプス取得部１１Ａは、データ検索部１３Ａによって検索された画像データＩｉと画像データＩｉ−１に対して、ステレオ写真の原理に基づく画像処理を施して時刻ｉのデプスデータＤを生成する。例えば、この画像処理は、移動体２の移動に応じた画像データＩｉの被写体の位置と画像データＩｉ−１の被写体の位置とのずれを利用して、画像データＩｉの奥行き方向の距離を計算する処理である。なお、デプスデータＤの生成には、ステレオ写真の原理に基づいた、従来の画像処理を用いてもよい。
【００３４】
パラメータ計算部１４Ａは、ニューラルネットワークを用いて、データ検索部１３Ａによって検索された画像データの時系列と、デプス取得部１１Ａによって計算されたデプスデータから、画像データの時系列に対応した航法パラメータを計算する。
デプス取得部１１Ａが、画像取得部１０によって取得された画像データを用いてデプスデータを生成するので、航法装置１Ａは、移動体２が距離センサ４を備えていなくても、移動体２の航法パラメータを計算することが可能である。
【００３５】
なお、航法パラメータの計算に用いるニューラルネットワークは、画像データＩｉから画像データＩｉ−ｎまでの（ｎ＋１）個の画像データを入力可能な入力層を有したニューラルネットワークであってもよい。パラメータ計算部１４Ａは、（ｎ＋１）個の画像データおよびデプスデータを入力として移動体２の位置の変化量および姿勢の変化量の両方または一方を計算するニューラルネットワークを用いて、移動体２の位置の変化量および姿勢の変化量の両方または一方を示す航法パラメータを計算する。
【００３６】
図８は、航法装置１の変形例である航法装置１Ｂの構成を示すブロック図である。図８において、航法装置１Ｂは、画像取得部１０、データ記憶処理部１２Ｂ、データ検索部１３Ｂおよびパラメータ計算部１４Ｂを備える。データ記憶処理部１２Ｂは、画像取得部１０によって取得された画像データと、パラメータ計算部１４Ｂによって計算された移動体２の航法パラメータを、図８において不図示の記憶装置に記憶する。データ検索部１３Ｂは、データ記憶処理部１２Ｂによって上記記憶装置に記憶された画像データの時系列を検索してパラメータ計算部１４Ｂに出力する。
【００３７】
パラメータ計算部１４Ｂは、ニューラルネットワークを用いて、データ検索部１３Ｂによって検索された画像データの時系列から、画像データの時系列に対応した航法パラメータを計算する。上記ニューラルネットワークは、画像データを入力とし、この画像データの奥行き方向の情報を中間層で計算してから移動体２の航法パラメータを計算するように学習されている。上記画像データの奥行き方向の情報が、デプスデータに相当する情報である。
【００３８】
例えば、このニューラルネットワークが、画像データＩｉおよび画像データＩｉ−１を入力することで、画像データＩｉの奥行き方向の距離情報が中間層で計算され、計算された上記距離情報を用いて最終層までの各階層で移動体２の航法パラメータが計算される。このようにニューラルネットワークがデプスデータに相当する情報を生成するので、航法装置１Ｂは、移動体２が距離センサ４を備えていなくても、移動体２の航法パラメータを計算することが可能である。
【００３９】
なお、航法パラメータの計算に用いるニューラルネットワークは、画像データＩｉから画像データＩｉ−ｎまでの（ｎ＋１）個の画像データを入力可能な入力層を有したニューラルネットワークであってもよい。パラメータ計算部１４Ｂは、（ｎ＋１）個の画像データを入力として移動体２の位置の変化量および姿勢の変化量の両方または一方を計算するニューラルネットワークを用いて、移動体２の位置の変化量および姿勢の変化量の両方または一方を示す航法パラメータを計算する。
【００４０】
次に、航法装置１の機能を実現するハードウェア構成について説明する。
航法装置１における、画像取得部１０、デプス取得部１１、データ記憶処理部１２、データ検索部１３およびパラメータ計算部１４の機能は、処理回路によって実現される。
すなわち、航法装置１は、図２に示したステップＳＴ１からステップＳＴ５までの処理を実行するための処理回路を備えている。処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってもよい。
【００４１】
図９Ａは、航法装置１の機能を実現するハードウェア構成を示すブロック図である。図９Ｂは、航法装置１の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。図９Ａおよび図９Ｂにおいて、インタフェース１００は、航法装置１と撮影装置３および距離センサ４との間における情報のやり取りを中継するインタフェースである。記憶装置１０１は、データ記憶処理部１２によって画像データおよびデプスデータが記憶される記憶装置である。記憶装置１０１は、例えば、航法装置１が備えるハードディスクであってもよいし、通信ネットワークを介して情報の読み出しが可能な外部記憶装置であってもよい。
【００４２】
処理回路が、図９Ａに示す専用のハードウェアの処理回路１０２である場合、処理回路１０２は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはこれらを組み合わせたものが該当する。
航法装置１における、画像取得部１０、デプス取得部１１、データ記憶処理部１２、データ検索部１３およびパラメータ計算部１４の機能を別々の処理回路で実現してもよく、これらの機能をまとめて１つの処理回路で実現してもよい。
【００４３】
処理回路が、図９Ｂに示すプロセッサ１０３である場合、航法装置１における、画像取得部１０、デプス取得部１１、データ記憶処理部１２、データ検索部１３およびパラメータ計算部１４の機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせによって実現される。なお、ソフトウェアまたはファームウェアは、プログラムとして記述されてメモリ１０４に記憶される。
【００４４】
プロセッサ１０３は、メモリ１０４に記憶されたプログラムを読み出して実行することで、航法装置１における、画像取得部１０、デプス取得部１１、データ記憶処理部１２、データ検索部１３およびパラメータ計算部１４の機能を実現する。すなわち、航法装置１は、プロセッサ１０３によって実行されるときに、図２に示したフローチャートにおけるステップＳＴ１からステップＳＴ５までの処理が結果的に実行されるプログラムを記憶するためのメモリ１０４を備える。これらのプログラムは、航法装置１における、画像取得部１０、デプス取得部１１、データ記憶処理部１２、データ検索部１３およびパラメータ計算部１４の手順または方法を、コンピュータに実行させる。メモリ１０４は、コンピュータを、航法装置１における、画像取得部１０、デプス取得部１１、データ記憶処理部１２、データ検索部１３およびパラメータ計算部１４として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
【００４５】
メモリ１０４は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ−ＥＰＲＯＭ）などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤなどが該当する。
【００４６】
航法装置１における、画像取得部１０、デプス取得部１１、データ記憶処理部１２、データ検索部１３およびパラメータ計算部１４の機能について一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。
例えば、画像取得部１０、デプス取得部１１およびデータ記憶処理部１２は、専用のハードウェアである処理回路１０２で機能を実現し、データ検索部１３およびパラメータ計算部１４は、プロセッサ１０３がメモリ１０４に記憶されたプログラムを読み出して実行することによって機能を実現する。このように、処理回路は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせにより上記機能を実現することができる。
【００４７】
以上のように、実施の形態１に係る航法装置１は、移動体２の航法パラメータの計算に用いるデータを入力として移動体２の航法パラメータの計算を行うニューラルネットワークを用いて、移動体２の航法パラメータの計算に用いるデータに対応した移動体２の航法パラメータを計算する。このニューラルネットワークを用いることにより、特許文献１に記載された従来の航法装置のように、画像データごとに画像特徴に基づく画像マッチングと移動体の位置および姿勢の調整計算とを行う必要がなくなるため、移動体２の航法パラメータの時間分解能を増やしても、航法パラメータの計算に必要な計算リソースの増加を抑制することができる。
【００４８】
実施の形態２．
図１０は、実施の形態２に係る航法装置１Ｃの構成例を示すブロック図である。図１０において、図１と同一の構成要素には同一の符号を付して説明を省略する。航法装置１Ｃは、例えば、移動体２に搭載された測量システムが備える航法装置である。測量システムは、航法装置１Ｃに加えて、撮影装置３およびＧＮＳＳ５を備えており、撮影装置３によって撮影された画像データと、ＧＮＳＳ５によって計測された移動体２の位置情報とを用いて、地形の測量を行う。
【００４９】
航法装置１Ｃは、移動中の移動体２の位置および姿勢を推定する。なお、航法装置１Ｃは、図１０に示すように、移動体２に搭載された装置であってもよいし、移動体２とは別の場所に設けられた装置であってもよい。航法装置１Ｃは、移動体２と別の場所に設けられた装置である場合、有線または無線の通信によって移動体２から受信した情報を用いて移動体２の位置および姿勢を推定する。
【００５０】
ＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）５は、ＧＮＳＳ衛星から受信したＧＮＳＳ信号を解析して、移動体２の現在位置を示す位置情報を計測する。ＧＮＳＳ５によって計測される移動体２の位置情報は、ＧＮＳＳ信号の受信精度に応じた誤差が含まれる移動体２の大まかな位置を示す情報である。
【００５１】
航法装置１Ｃは、図１０に示すように、画像取得部１０、データ記憶処理部１２Ｃ、データ検索部１３Ｃ、パラメータ計算部１４Ｃおよび位置情報取得部１５を備える。
位置情報取得部１５は、ＧＮＳＳ５によって計測された移動体２の位置情報を取得するデータ取得部である。データ記憶処理部１２Ｃによって、図１０において不図示の記憶装置に、画像取得部１０によって取得された画像データが予め記憶され、グラウンド画像データとグラウンドデプスデータとが予め記憶されている。
【００５２】
グラウンド画像データは、移動体２が移動（飛行）している領域を予め上空から撮影した画像データであり、撮影された上記領域の位置情報に紐付けられてデータ記憶処理部１２Ｃに記憶されている。グラウンドデプスデータは、このグラウンド画像データの奥行き方向の情報（距離）を示すデプスデータである。例えば、グラウンドデプスデータは、これに対応するグラウンド画像データに紐付けられてデータ記憶処理部１２Ｃに記憶されている。
【００５３】
データ検索部１３Ｃは、位置情報取得部１５によって取得された移動体２の位置情報に基づいて、データ記憶処理部１２Ｃに記憶された画像データ、グラウンド画像データおよびこれに対応するグラウンドデプスデータを検索する。例えば、データ検索部１３Ｃは、画像取得部１０によって画像データが取得されてデータ記憶処理部１２Ｃに記憶されると、データ記憶処理部１２Ｃから、この画像データを検索し、この画像データが取得されたときの移動体２の位置情報に対応するグラウンド画像データおよびグラウンドデプスデータを検索する。
【００５４】
パラメータ計算部１４Ｃは、ニューラルネットワークを用いて、データ検索部１３Ｃによって検索された画像データ、グラウンド画像データ、およびグラウンドデプスデータから、画像データが取得されたときの移動体２の航法パラメータを計算する。ニューラルネットワークは、画像データ、グラウンド画像データおよびグラウンドデプスデータを入力として移動体２の航法パラメータの計算を行うように学習されている。また、航法パラメータは、画像データが取得されたときの移動体２の位置と姿勢との両方またはいずれか一方を示すパラメータである。
【００５５】
次に動作について説明する。
図１１は、実施の形態２に係る航法パラメータ計算方法を示すフローチャートである。以下の説明において、移動体２は、航空機であり、撮影装置３は、移動体２の下方を撮影する。図１２Ａは、グラウンド画像データ３０の例を示す図である。図１２Ｂは、グラウンドデプスデータ４０の例を示す図である。図１２Ｃは、画像データ１０Ｃの例を示す図である。図１２Ｄは、図１２Ａのグラウンド画像データ３０に対して、図１２Ｃの画像データ１０Ｃを重畳させたグラウンド画像データ５０の例を示す図である。
【００５６】
画像取得部１０が、撮影装置３から光学情報を取得し、取得した光学情報から、被写体の画像を示す画像データを生成してデータ記憶処理部１２Ｃに出力する。データ記憶処理部１２Ｃは、画像取得部１０から入力した画像データを上記記憶装置に記憶する（ステップＳＴ１ａ）。例えば、画像取得部１０は、図１２Ｃに示す画像データ１０Ｃを取得すると、取得した画像データ１０Ｃをデータ記憶処理部１２Ｃに出力するとともに、画像データ１０Ｃを取得したことを位置情報取得部１５に通知する。なお、撮影装置３によって光学情報が撮影されると直ちに画像取得部１０が当該光学情報に対応した画像データを生成することから、撮影装置３による光学情報の撮影と、画像取得部１０による画像データの取得は、ほぼ同じ時刻であるものとする。
【００５７】
位置情報取得部１５は、ＧＮＳＳ５によって計測された移動体２の位置情報を取得し、取得した位置情報をデータ検索部１３Ｃに出力する（ステップＳＴ２ａ）。例えば、位置情報取得部１５は、画像取得部１０によって画像データ１０Ｃが取得されたことが通知されると、画像データ１０Ｃが取得されたときの移動体２の位置情報をＧＮＳＳ５から取得する。ステップＳＴ１ａおよびステップＳＴ２ａの処理が、データ取得部（画像取得部１０および位置情報取得部１５）による、移動体２の航法パラメータの計算に用いるデータの取得処理と、データ記憶処理部１２Ｃによる、データ取得部によって取得されたデータを記憶装置に記憶させる処理に相当する。
【００５８】
データ検索部１３Ｃは、データ記憶処理部１２Ｃによって上記記憶装置に記憶された画像データ１０Ｃを検索し、位置情報取得部１５によって取得された移動体２の位置情報に基づいて、当該記憶装置から、グラウンド画像データ３０とこれに対応するグラウンドデプスデータ４０とを検索する（ステップＳＴ３ａ）。例えば、データ検索部１３Ｃは、データ記憶処理部１２Ｃによって上記記憶装置に記憶された画像データ１０Ｃを検索し、画像データ１０Ｃが取得されたときに移動体２の下方の領域が撮影されたグラウンド画像データ３０およびこれに対応するグラウンドデプスデータ４０を検索する。
【００５９】
パラメータ計算部１４Ｃは、ニューラルネットワークを用いて、データ検索部１３Ｃにより検索された画像データ１０Ｃ、グラウンド画像データ３０およびグラウンドデプスデータ４０から、画像データ１０Ｃが取得されたときの移動体２の位置または姿勢を示す航法パラメータを計算する（ステップＳＴ４ａ）。
【００６０】
例えば、パラメータ計算部１４Ｃは、画像データ１０Ｃ、グラウンド画像データ３０およびグラウンドデプスデータ４０をニューラルネットワークの入力層に入力し、このニューラルネットワークによって計算されて出力層から出力された移動体２の位置（ｘ，ｙ，ｚ）を取得する。なお、ステップＳＴ４ａの処理で計算される移動体２の航法パラメータは、移動体２の姿勢（ω，φ，κ）であってもよいし、移動体２の位置（ｘ，ｙ，ｚ）と姿勢（ω，φ，κ）の両方であってもよい。このようにして計算された移動体２の航法パラメータは、データ記憶処理部１２Ｃに記憶される。また、移動体２の航法パラメータとして計算される姿勢角は、ω、φおよびκのうちの少なくとも一つであってもよい。
【００６１】
この後、パラメータ計算部１４Ｃは、航法パラメータの計算を終了するか否かを確認する（ステップＳＴ５ａ）。例えば、測量システムが地形の測量を終了する場合、移動体２の航法パラメータの計算も終了される。航法パラメータの計算を終了する場合（ステップＳＴ５ａ；ＹＥＳ）、図１１に示す一連の処理が終了される。一方、航法パラメータの計算を終了しない場合（ステップＳＴ５ａ；ＮＯ）、ステップＳＴ１ａの処理に戻り、前述した一連の処理が繰り返される。
【００６２】
ステップＳＴ４ａの処理で移動体２の位置（ｘ，ｙ，ｚ）が得られるので、この位置に基づいて、グラウンド画像データ３０における画像データ１０Ｃの位置を求めることが可能である。図１２Ｄに示すグラウンド画像データ５０は、移動体２の位置の計算結果を反映させたグラウンド画像データであり、画像中の領域５０ａは、画像データ１０Ｃが取得された移動体２の位置を示している。
【００６３】
なお、パラメータ計算部１４Ｃが用いる上記ニューラルネットワークは、画像データ、グラウンド画像データおよびグラウンドデプスデータと、これに対応する移動体２の位置および姿勢の両方または一方をセットとした教師データを用いて、上記画像データが取得されたときの移動体２の位置および姿勢の両方または一方を計算して出力するように学習されている。
【００６４】
また、ニューラルネットワークは、画像データ、グラウンド画像データ、グラウンドデプスデータおよび移動体２の位置情報と、これに対応する移動体２の姿勢（ω，φ，κ）をセットとした教師データを用いて、上記画像データが取得されたときの移動体２の姿勢（ω，φ，κ）を計算して出力するように学習されてもよい。この場合、パラメータ計算部１４Ｃは、このニューラルネットワークを用いて、画像データ、グラウンド画像データ、グラウンドデプスデータおよび移動体２の位置情報から、当該画像データが取得されたときの移動体２の姿勢を計算する。このとき、移動体２の航法パラメータとして計算される姿勢角は、ω、φおよびκのうちの少なくとも一つであってもよい。
【００６５】
さらに、ニューラルネットワークは、画像データ、グラウンド画像データおよび移動体２の位置情報と、これに対応する移動体２の姿勢（ω，φ，κ）をセットとした教師データを用いて、上記画像データが取得されたときの移動体２の姿勢（ω，φ，κ）を計算して出力するように学習されてもよい。この場合、パラメータ計算部１４Ｃは、このニューラルネットワークを用いて、画像データ、グラウンド画像データおよび移動体２の位置情報から、当該画像データが取得されたときの移動体２の姿勢を計算する。このとき、移動体２の航法パラメータとして計算される姿勢角は、ω、φおよびκのうちの少なくとも一つであってもよい。
【００６６】
さらに、ニューラルネットワークは、画像データおよびグラウンド画像データと、これに対応する移動体２の位置および姿勢の両方または一方をセットとした教師データを用いて、上記画像データが取得されたときの移動体２の位置（ｘ，ｙ，ｚ）および姿勢（ω，φ，κ）の両方または一方を計算して出力するように学習されてもよい。この場合、パラメータ計算部１４Ｃは、このニューラルネットワークを用いて、画像データおよびグラウンド画像データから、当該画像データが取得されたときの移動体２の位置および姿勢の両方または一方を計算する。移動体２の航法パラメータとして計算される姿勢角は、ω、φおよびκのうちの少なくとも一つであってもよい。
【００６７】
次に、航法装置１Ｃの機能を実現するハードウェア構成について説明する。
航法装置１Ｃにおける、画像取得部１０、データ記憶処理部１２Ｃ、データ検索部１３Ｃ、パラメータ計算部１４Ｃおよび位置情報取得部１５の機能は、処理回路によって実現される。すなわち、航法装置１Ｃは、図１１に示したステップＳＴ１ａからステップＳＴ５ａまでの処理を実行するための処理回路を備えている。処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するＣＰＵであってもよい。
【００６８】
処理回路が、図９Ａに示す専用のハードウェアの処理回路１０２である場合、処理回路１０２は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡ、またはこれらを組み合わせたものが該当する。
航法装置１Ｃにおける、画像取得部１０、データ記憶処理部１２Ｃ、データ検索部１３Ｃ、パラメータ計算部１４Ｃおよび位置情報取得部１５の機能を別々の処理回路で実現してもよく、これらの機能をまとめて１つの処理回路で実現してもよい。
【００６９】
処理回路が、図９Ｂに示すプロセッサ１０３である場合、航法装置１Ｃにおける、画像取得部１０、データ記憶処理部１２Ｃ、データ検索部１３Ｃ、パラメータ計算部１４Ｃおよび位置情報取得部１５の機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせによって実現される。なお、ソフトウェアまたはファームウェアは、プログラムとして記述されてメモリ１０４に記憶される。
【００７０】
プロセッサ１０３は、メモリ１０４に記憶されたプログラムを読み出して実行することで、航法装置１Ｃにおける、画像取得部１０、データ記憶処理部１２Ｃ、データ検索部１３Ｃ、パラメータ計算部１４Ｃおよび位置情報取得部１５の機能を実現する。すなわち、航法装置１Ｃは、プロセッサ１０３によって実行されるときに、図１１に示したフローチャートにおけるステップＳＴ１ａからステップＳＴ５ａまでの処理が結果的に実行されるプログラムを記憶するためのメモリ１０４を備える。これらのプログラムは、航法装置１Ｃにおける、画像取得部１０、データ記憶処理部１２Ｃ、データ検索部１３Ｃ、パラメータ計算部１４Ｃおよび位置情報取得部１５の手順または方法を、コンピュータに実行させる。メモリ１０４は、コンピュータを、航法装置１における、画像取得部１０、データ記憶処理部１２Ｃ、データ検索部１３Ｃ、パラメータ計算部１４Ｃおよび位置情報取得部１５として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
【００７１】
航法装置１Ｃにおける、画像取得部１０、データ記憶処理部１２Ｃ、データ検索部１３Ｃ、パラメータ計算部１４Ｃおよび位置情報取得部１５の機能について一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせにより上記機能を実現することができる。
【００７２】
次に、実施の形態２に係る航法装置の変形例について説明する。
図１３は、航法装置１Ｃの変形例である航法装置１Ｄの構成を示すブロック図である。図１３において、図１および図１１と同一の構成要素には同一の符号を付して説明を省略する。図１３に示す移動体２は、航法装置１Ｄ、撮影装置３およびＧＮＳＳ５に加えて、ＩＭＵ（慣性計測装置）６を備える。ＩＭＵ６は、移動体２の姿勢データを計測する。姿勢データには、例えば、移動体２の姿勢角である（ω，φ，κ）が含まれる。
航法装置１Ｄは、画像取得部１０、データ記憶処理部１２Ｃ、データ検索部１３Ｃ、パラメータ計算部１４Ｄ、位置情報取得部１５および姿勢データ取得部１６を備える。姿勢データ取得部１６は、ＩＭＵ６によって計測された移動体２の姿勢データを取得する。
【００７３】
パラメータ計算部１４Ｄは、ニューラルネットワークを用いて、データ検索部１３Ｃによって検索された画像データ、グラウンド画像データおよびグラウンドデプスデータと、姿勢データ取得部１６によって取得された移動体２の姿勢データから、画像データが取得されたときの移動体２の航法パラメータを計算する。ニューラルネットワークは、画像データ、グラウンド画像データ、グラウンドデプスデータおよび移動体２の姿勢データを入力として移動体２の航法パラメータの計算を行うように学習されている。また、航法パラメータは、画像データが取得されたときの移動体２の位置を示すパラメータである。
【００７４】
画像取得部１０は、撮影装置３から光学情報を取得し、取得した光学情報から生成した画像データを、データ記憶処理部１２Ｃに出力するとともに、画像データを取得したことを、位置情報取得部１５と姿勢データ取得部１６とに通知する。位置情報取得部１５は、画像取得部１０によって画像データが取得されたことが通知されると、画像データが取得されたときの移動体２の位置情報をＧＮＳＳ５から取得する。姿勢データ取得部１６は、画像取得部１０によって画像データが取得されたことが通知されると、画像データが取得されたときの移動体２の姿勢データをＩＭＵ６から取得する。
【００７５】
データ検索部１３Ｃは、位置情報取得部１５によって取得された移動体２の位置情報に基づいて、データ記憶処理部１２Ｃに記憶された画像データ、グラウンド画像データおよびこれに対応するグラウンドデプスデータを検索する。
パラメータ計算部１４Ｄは、ニューラルネットワークを用いて、データ検索部１３Ｃによって検索された画像データ、グラウンド画像データおよびグラウンドデプスデータと、姿勢データ取得部１６によって取得された姿勢データとから、画像データが取得されたときの移動体２の位置を示す航法パラメータを計算する。
【００７６】
なお、パラメータ計算部１４Ｄが用いる上記ニューラルネットワークは、画像データ、グラウンド画像データ、グラウンドデプスデータおよびＩＭＵ６によって計測された姿勢データと、これに対応する移動体２の位置（ｘ，ｙ，ｚ）とをセットとした教師データを用いて、上記画像データが取得されたときの移動体２の位置を計算して出力するように学習されている。
【００７７】
また、ニューラルネットワークは、画像データ、グラウンド画像データおよびＩＭＵ６によって計測された姿勢データと、これに対応する移動体２の位置をセットとした教師データを用いて、上記画像データが取得されたときの移動体２の位置（ｘ，ｙ，ｚ）を計算して出力するように学習されてもよい。この場合、パラメータ計算部１４Ｄは、このニューラルネットワークを用いて、画像データ、グラウンド画像データおよび姿勢データから、当該画像データが取得されたときの移動体２の位置を計算する。
【００７８】
以上のように、実施の形態２に係る航法装置１Ｃは、画像データ、グラウンド画像データおよびグラウンドデプスデータを入力として移動体２の航法パラメータの計算を行うニューラルネットワークを用いて、画像データが取得されたときの移動体２の航法パラメータを計算する。このニューラルネットワークを用いることによって、特許文献１に記載された従来の航法装置のように、画像データごとに画像特徴に基づく画像マッチングと移動体の位置および姿勢の調整計算とを行う必要がなくなるため、移動体２の航法パラメータの時間分解能を増やしても、航法パラメータの計算に必要な計算リソースの増加を抑制することができる。
【００７９】
また、実施の形態２に係る航法装置１Ｄは、画像データ、グラウンド画像データ、グラウンドデプスデータおよびＩＭＵ６によって計測された姿勢データを入力として、移動体２の航法パラメータの計算を行うニューラルネットワークを用いて、画像データが取得されたときの移動体２の航法パラメータを計算する。このニューラルネットワークを用いることによって、上記と同様に、移動体２の航法パラメータの計算に必要な計算リソースの増加を抑制することができる。
【００８０】
なお、本発明は上記実施の形態に限定されるものではなく、本発明の範囲内において、実施の形態のそれぞれの自由な組み合わせまたは実施の形態のそれぞれの任意の構成要素の変形もしくは実施の形態のそれぞれにおいて任意の構成要素の省略が可能である。
【符号の説明】
【００８１】
１，１Ａ，１Ｂ，１Ｃ，１Ｄ  航法装置、２  移動体、３  撮影装置、４  距離センサ、１０  画像取得部、１０Ａ，１０Ｂ，１０Ｃ  画像データ、１１，１１Ａ  デプス取得部、１２，１２Ａ，１２Ｂ，１２Ｃ  データ記憶処理部、１３，１３Ａ，１３Ｂ，１３Ｃ  データ検索部、１４，１４Ａ，１４Ｂ，１４Ｃ，１４Ｄ  パラメータ計算部、１５  位置情報取得部、１６  姿勢データ取得部、２０  デプスデータ、３０  グラウンド画像データ、４０  グラウンドデプスデータ、５０  グラウンド画像データ、５０ａ  領域、１００  インタフェース、１０１  記憶装置、１０２  処理回路、１０３  プロセッサ、１０４  メモリ。
【図１】
2020090143.tif 000003
【図２】
2020090143.tif 000004
【図３】
2020090143.tif 000005
【図４】
2020090143.tif 000006
【図５】
2020090143.tif 000007
【図６】
2020090143.tif 000008
【図７】
2020090143.tif 000009
【図８】
2020090143.tif 000010
【図９】
2020090143.tif 000011
【図１０】
2020090143.tif 000012
【図１１】
2020090143.tif 000013
【図１２】
2020090143.tif 000014
【図１３】
2020090143.tif 000015