(57)【要約】  制御装置（１００）は、移動体に配置された撮影用撮像装置（１０）が撮影した画像データを取得する取得部（１２１）と、画像データに含まれる被写体に基づいて、移動体に設けられた複数の測距用撮像装置（２０−１，２０−２，２０−３，２０−４）間で検出される被写体の位置の相対位置を算出する算出部（１２７）と、を備える。
2020121882.tif 000002
【特許請求の範囲】
【請求項１】
移動体に配置された撮影用撮像装置が撮影した画像データを取得する取得部と、
前記画像データに含まれる被写体に基づいて、前記移動体に設けられた複数の測距用撮像装置間で検出される前記被写体の位置の相対位置を算出する算出部と、
を備える、制御装置。
【請求項２】
前記算出部は、前記撮影用撮像装置の撮影領域と、複数の前記測距用撮像装置の測距領域との少なくとも一部が重複する重複領域に位置する前記被写体に基づいて、前記相対位置を算出する、
請求項１に記載の制御装置。
【請求項３】
前記撮影用撮像装置は、前記移動体に対して回転可能に配置されている、
請求項２に記載の制御装置。
【請求項４】
前記算出部は、前記撮影領域と、複数の前記測距用撮像装置のうち、第１測距用撮像装置の第１測距領域との少なくとも一部が重複する第１重複領域に位置する第１被写体と、第２測距用撮像装置の第２測距領域との少なくとも一部が重複する第２重複領域に位置する第２被写体とに基づいて、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
請求項３に記載の制御装置。
【請求項５】
前記撮影用撮像装置が回転することで、前記第１重複領域と前記第２重複領域との少なくとも一方が生成される、
請求項４に記載の制御装置。
【請求項６】
前記撮影用撮像装置が回転することで、前記第１重複領域と前記第２重複領域とが同時に生成される、
請求項５に記載の制御装置。
【請求項７】
前記算出部は、前記第１被写体から検出された特徴点と、前記第２被写体から検出された特徴点とに基づいて、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
請求項４に記載の制御装置。
【請求項８】
前記算出部は、前記撮影用撮像装置が撮影した前記第１被写体の画像データから検出された特徴点と、前記第１測距用撮像装置が撮影した前記第１被写体の画像データから検出された特徴点との対応関係及び前記撮影用撮像装置が撮影した前記第２被写体の画像データから検出された特徴点と、前記第２測距用撮像装置が撮影した前記第２被写体の画像データから検出された特徴点との対応関係に基づいて、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
請求項７に記載の制御装置。
【請求項９】
前記算出部は、前記移動体の起動時に、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
請求項４に記載の制御装置。
【請求項１０】
前記算出部は、前記撮影用撮像装置を利用した風景の撮影を行っていないときに、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
請求項４に記載の制御装置。
【請求項１１】
前記第１被写体と、前記第２被写体とは、それぞれ、キャリブレーションボードである、
請求項４に記載の制御装置。
【請求項１２】
前記第１被写体と、前記第２被写体とは、人である、
請求項４に記載の制御装置。
【請求項１３】
前記第２被写体と、前記第２被写体とは、自然物又は人工物である、
請求項４に記載の制御装置。
【請求項１４】
前記算出部は、前記第１被写体に含まれる画素位置のベクトルと、前記第２被写体に含まれる画素位置のベクトルとに基づいて、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
請求項４に記載の制御装置。
【請求項１５】
移動体に配置された撮影用撮像装置が撮影した画像データを取得し、
前記画像データに含まれる被写体に基づいて、前記移動体に設けられた複数の測距用撮像装置間で検出される前記被写体の位置の相対位置を算出する、
制御方法。
【請求項１６】
コンピュータを、
移動体に配置された撮影用撮像装置が撮影した画像データを取得する取得部と、
前記画像データに含まれる被写体に基づいて、前記移動体に設けられた複数の測距用撮像装置間で検出される前記被写体の位置の相対位置を算出する算出部と、
して機能させるための、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御装置、制御方法、および制御プログラムに関する。
【背景技術】
【０００２】
ドローンなどの無人移動体に撮像装置を取り付けて、風景などを撮影する技術が知られている。【０００３】
例えば、特許文献１には、移動体が撮像した画像を用いて移動体に対して直感的に移動を指示させることが可能な制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−８２４４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されているような移動体には、障害物を検知するための測距用のカメラが撮影用のカメラとは別に取り付けられている。測距用のカメラが移動体に複数設けられている場合には、複数の測距用のカメラで撮影される被写体の相対位置を算出し、相対位置のずれを補正することで、精度よく障害物の位置を特定することができるようになる。【０００６】
そこで、本開示では、複数の測距用のカメラで撮影される被写体の相対位置を算出することのできる制御装置、制御方法及び制御プログラムを提案する。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本開示に係る一形態の制御装置は、移動体に配置された撮影用撮像装置が撮影した画像データを取得する取得部と、前記画像データに含まれる被写体に基づいて、前記移動体に設けられた複数の測距用撮像装置間で検出される前記被写体の位置の相対位置を算出する算出部と、を備える。
【図面の簡単な説明】
【０００８】
【図１Ａ】本実施形態に係る移動体の構成の一例を示す模式図である。
【図１Ｂ】本実施形態に係る移動体の測距範囲を説明するための図である。
【図２】本実施形態に係る制御装置の構成の一例を示すブロック図である。
【図３】撮影データから抽出される特徴量を説明するための模式図である。
【図４】各測距用カメラをキャリブレーションするための撮影方法を説明するための模式図である。
【図５】最適な特徴点のペアを検出する方法を説明するための模式図である。
【図６】撮影用カメラと、各測距用カメラとの相対位置の関係を説明するための模式図である。
【図７】キャリブレーションを実行する方法の第１の例を説明するための模式図である。
【図８】第１の例の撮影画像データと測距画像データの一例を示す模式図である。
【図９】第１の例の撮影画像データと測距画像データの一例を示す模式図である。
【図１０】第１の例のキャリブレーションを実行させるための指示の一例を模式図である。
【図１１】キャリブレーションを実行する方法の第２の例を説明するための模式図である。
【図１２】第２の例の撮影画像データと測距画像データの一例を示す模式図である。
【図１３】第２の例の撮影画像データと測距画像データの一例を示す模式図である。
【図１４】第２の例のキャリブレーションを実行させるための指示の一例を模式図である。
【図１５】第３の例の撮影画像データと測距画像データの一例を示す模式図である。
【図１６】第３の例の撮影画像データと測距画像データの一例を示す模式図である。
【図１７】キャリブレーションを実行する方法の第４の例を説明するための模式図である。
【図１８】制御装置の処理の流れの一例を示すフローチャートである。
【図１９】無人飛行装置の処理の流れの一例を示すフローチャートである。
【図２０】制御装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【００１０】
また、以下に示す項目順序に従って本開示を説明する。
１．概要
１−１．移動体の一例
２．実施形態
２−１．制御装置の構成
２−２．キャリブレーションの方法
２−２−１．第１の例
２−２−２．第２の例
２−２−３．第３の例
２−２−４．第４の例
２−３．制御装置の動作
３．ハードウェア構成
【００１１】
（１．概要）
［１−１．移動体の一例］
図１Ａと、図１Ｂとを用いて、本実施形態に係る移動体の一例について説明する。図１Ａは、本実施形態に係る移動体の一例を示す模式図である。図１Ｂは、本実施形態に係る移動体の一例を示す模式図である。
【００１２】
図１Ａと、図１Ｂとに示すように、本実施形態に係る移動体は、例えば、ドローンなどの無人飛行装置１である。無人飛行装置１は、例えば、撮影用カメラ１０と、第１測距用カメラ２０−１と、第２測距用カメラ２０−２と、第３測距用カメラ２０−３と、第４測距用カメラ２０−４とを備える。以下では、本実施形態に係る移動体は、無人飛行装置１であるものとして説明するが、これは例示であり、本開示を限定するものではない。本開示に係る移動体は、工場などで用いられる自律移動型ロボットなどであってもよい。
【００１３】
撮影用カメラ１０は、例えば、支持装置１１によって、無人飛行装置１の本体部２の下部に設けられている。撮影用カメラ１０は、例えば、無人飛行装置１の周囲を撮影する。撮影用カメラ１０は、例えば、無人飛行装置１が飛行中に、風景などを撮影する。具体的には後述するが、本開示では、撮影用カメラ１０は、第１測距用カメラ２０−１〜第４測距用カメラ２０−４が検出する被写体の相対値のずれを補正するための撮影用にも使用される。
【００１４】
支持装置１１は、本体部２の下部において、撮影用カメラ１０を支持している。支持装置１１は、例えば、ジンバル機構１２で撮影用カメラ１０を支持している。このため、撮影用カメラ１０は、本体部２に対して回転可能に取り付けられている。言い換えれば、撮影用カメラ１０は、回転することで、無人飛行装置１の周囲を撮影可能に、本体部２に取り付けられている。
【００１５】
第１測距用カメラ２０−１〜第４測距用カメラ２０−４は、図１Ｂに示すように、本体部２の外周に沿って設けられている。第１測距用カメラ２０−１は、第１測距範囲３０−１に存在する障害物などを検出する。第２測距用カメラ２０−２は、第２測距範囲３０−２に存在する障害物などを検出する。第３測距用カメラ２０−３は、第３測距範囲３０−３に存在する障害物などを検出する。第４測距用カメラ２０−４は、第４測距範囲３０−４に存在する障害物などを検出する。すなわち、第１測距用カメラ２０−１〜第４測距用カメラ２０−４によって、無人飛行装置１の周囲に存在する障害物を検出する。これにより、無人飛行装置１は、第１測距用カメラ２０−１〜第４測距用カメラ２０−４で障害物を検出し、検出した障害物を回避しながら飛行することが可能となる。第１測距用カメラ２０−１〜第４測距用カメラ２０−４は、例えば、通常の撮影用カメラ、ステレオカメラ、ＴｏＦ（Time  of  Flight）カメラで実現することができる。
【００１６】
ところで、第１測距用カメラ２０−１〜第４測距用カメラ２０−４は、通常、無人飛行装置１の製造時に各測距用カメラで検出される障害物などの相対位置を一致させるための、キャリブレーションが行われている。
【００１７】
しかしながら、無人飛行装置１の出荷後、製造時のキャリブレーションの結果からずれが生じることが想定される。例えば、第１測距用カメラ２０−１〜第４測距用カメラ２０−４がさらされた熱や温度、および第１測距用カメラ２０−１〜第４測距用カメラ２０−４を構成する材料の経時変化によって、各測距用カメラの相対値関係が変化してしまう可能性がある。また、例えば、無人飛行装置１の飛行時などの振動により、各測距用カメラの相対位置関係が変化してしまう可能性がある。また、例えば、無人飛行装置１の墜落などで、各測距用カメラに衝撃が直性的に加わることで、各測距用カメラの相対位置関係が変化してしまう可能性がある。
【００１８】
各測距用カメラの相対位置関係が変化した場合には、出荷後であっても、各測距用カメラの相対位置関係のキャリブレーションを行うことが好ましい。しかしながら、図１Ｂに示したように、各測距用カメラは、異なる方向を向いていることが一般的である。そのため、各測距用カメラの測距範囲はオーバーラップしていないため相対位置の変化を検出することが困難であり、適切なキャリブレーションを実行することが困難である。
【００１９】
本開示では、撮影用カメラ１０と、第１測距用カメラ２０−１〜第４測距用カメラ２０−４とを利用して、各測距用カメラの相対位置のキャリブレーションを実行する。
【００２０】
（２．実施形態）
[２−１．制御装置の構成]
図２を用いて、本実施形態に係る制御装置の構成について説明する。図２は、本実施形態に係る制御装置の構成の一例を示すブロック図である。
【００２１】
図２に示すように、本実施形態に係る制御装置１００は、記憶部１１０と、制御部１２０と、通信部１３０とを備えている。制御装置１００は、例えば、無人飛行装置１に搭載され、各測距装置の相対位置関係を算出し、算出した相対位置関係のキャリブレーションを実行することのできる装置である。制御装置１００は、例えば、工場などで用いられる自律移動型ロボットに搭載されてもよい。
【００２２】
記憶部１１０は、種々の情報を保持している。記憶部１１０は、例えば、制御装置１００の各部を実現させるためのプログラムを記憶している。この場合、制御部１２０は、記憶部１１０に記憶されているプログラムを展開して実行することで、各部の機能を実現する。記憶部１１０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、または、ハードディスク、ソリッドステートドライブ、光ディスクなどの記憶装置で実現することができる。記憶部１１０は、複数の異なるメモリ等で構成されてもよい。
【００２３】
制御部１２０は、例えば、記憶部１１０に記憶されているプログラムを実行することで、各種の機能を実現する。制御部１２０は、例えば、ＣＰＵ（Central  Processing  Unit）を含む電子的な回路で実現することができる。制御部１２０は、取得部１２１と、撮像制御部１２２と、処理部１２３と、抽出部１２４と、マッチング部１２５と、推定部１２６と、算出部１２７とを備える。
【００２４】
取得部１２１は、種々の情報を取得する。取得部１２１は、例えば、通信部１３０を介して、撮影用カメラ１０が撮影した撮影画像データを取得する。取得部１２１は、例えば、通信部１３０を介して、第１測距用カメラ２０−１〜第４測距用カメラ２０−４が撮影した測距画像データを取得する。取得部１２１は、例えば、取得した撮影画像データ及び測距画像データを処理部１２３に出力する。
【００２５】
撮像制御部１２２は、種々の撮影装置を制御する。撮像制御部１２２は、例えば、撮影用カメラ１０が撮影するタイミングを制御する。撮像制御部１２２は、例えば、第１測距用カメラ２０−１〜第４測距用カメラ２０−４が測距するタイミングを制御する。撮像制御部１２２は、例えば、第１測距用カメラ２０−１〜第４測距用カメラ２０−４のキャリブレーショを行う際に、撮影用カメラ１０と、キャリブレーションを行う測距用カメラとの撮像タイミング及び測距タイミングを同期させる。この場合、撮像制御部１２２は、例えば、撮影用カメラ１０と、キャリブレーションを行う測距用カメラとに対して、同期信号を出力することで、撮像タイミング及び測距タイミングを同期させる。
【００２６】
処理部１２３は、撮影画像データ及び測距画像データに対して、種々の処理を実行する。処理部１２３は、例えば、撮影画像データ及び測距画像データに対して、レンズ歪みの補正を実行する。処理部１２３は、例えば、撮影画像データ及び測距画像データのフォーマットが異なる場合には、情報量の少ない方のフォーマットに撮影画像データ又は測距画像データのフォーマットを変換する。具体的には、処理部１２３は、一方がＲＧＢ画像データであり、他方が輝度（Gray）画像データである場合に、ＲＧＢ画像データを輝度画像データに変換する。処理部１２３は、例えば、撮影画像データ及び測距画像データの画像サイズが所定以上異なる場合には、スケーリング処理を実行し、両者の画像サイズを近づける。処理部１２３は、例えば、撮影画像データ及び測距画像データの各画素に対してガンマ補正を実行する。なお、処理部１２３が、撮影画像データ及び測距画像データに対して、実行する処理をこれらに限定されるものではない。
【００２７】
抽出部１２４は、撮影画像データ及び測距画像データから種々の情報を抽出する。抽出部１２４は、例えば、撮影画像データ及び測距画像データからコーナーやエッジなどの局所特徴量を抽出する。抽出部１２４は、例えば、撮影画像データ及び測距画像データに含まれる木や家の画像から局所特徴量を検出する。
【００２８】
抽出部１２４は、例えば、テンプレートマッチングによって、特徴量を含む領域をブロックとして検出してもよい。抽出部１２４は、例えば、キャリブレーションにキャリブレーションボードを用いる場合には、サークルグリッドのサークルを検出してもよいし、チェスボードのコーナーを検出するようにしてもよい。
【００２９】
抽出部１２４は、例えば、Ｄｅｅｐ  Ｌｅａｒｎｉｎｇなどの機械学習により、人認識や物体認識によるオブジェクトやマッチングのためのＣＮＮ（Convolutional  Neural  Network）特徴量を検出してもよい。
【００３０】
抽出部１２４は、例えば、撮影画像データ及び測距画像データの１フレームの画像デーから特徴量を必ずしも抽出しなくてもよい。抽出部１２４は、例えば、過去複数フレームに渡る撮影画像データ及び測距画像データに含まれる人などの被写体に基づいて、特徴量を抽出してもよい。この場合、抽出部１２４は、例えば、過去複数フレームに渡る撮影画像データ及び測距画像データに含まれる人の、各画像データのおける位置の変化を特徴量として検出すればよい。
【００３１】
図３を用いて、撮影画像データから抽出される特徴量について説明する。図３は、撮影データから抽出される特徴量を説明するための模式図である。
【００３２】
図３は、撮影用カメラ１０が撮影した撮影画像データＳである。撮影データＳは、家Ｈの画像データである。この場合、抽出部１２４は、家Ｈから特徴点を抽出する。
【００３３】
図３において、抽出部１２４は、例えば、家Ｈのコーナーやエッジなどの輝度の勾配情報などに基づいて、特徴点Ｐ１と、特徴点Ｐ２と、特徴点Ｐ３と、特徴点Ｐ４と、特徴点Ｐ５と、特徴点Ｐ６と、特徴点Ｐ７と、特徴点Ｐ８と、特徴点Ｐ９とを検出する。
【００３４】
抽出部１２４は、撮影用カメラ１０が撮影した撮影画像データだけでなく、各測距用カメラが測距した測距画像データからも特徴点を抽出する。具体的には、抽出部１２４は、例えば、各測距用カメラの相対位置のキャリブレーションを実行するための測距した、測距画像データから特徴点を抽出する。
【００３５】
抽出部１２４が抽出する特徴点の数に特に制限はないが、キャリブレーションの精度という観点からは、少なくとも８個の特徴点を抽出することが好ましく、できるだけ多くの特徴点を抽出することが好ましい。
【００３６】
図４を用いて、各測距用カメラをキャリブレーションするための撮影方法について説明する。図４は、各測距用カメラをキャリブレーションするための撮影方法を説明するための模式図である。
【００３７】
図４は、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置をキャリブレーションする方法を示している。図４には、第１測距用カメラ２０−１の測距範囲である、第１測距範囲３０−１と、第２測距用カメラ２０−２の測距範囲である第２測距範囲３０−２と、撮影用カメラ１０の撮影範囲である撮影範囲４０が示されている。
【００３８】
第１測距座標系３１−１は、第１測距用カメラ２０−１で撮影される被写体の座標系である。第２測距座標系３１−２２は、第２測距用カメラ２０−２で撮影される被写体の座標系である。撮影座標系４１は、撮影用カメラ１０で撮影される被写体の座標系である。
【００３９】
撮影用カメラ１０の撮影範囲４０と、第１測距範囲３０−１との少なくとも一部が重複し、かつ撮影用カメラ１０の撮影範囲４０と、第２測距範囲の３０−２との少なくとも一部が重複するように、撮影用カメラ１０の向きを変更する。
【００４０】
撮影用カメラ１０と、第１測距用カメラ２０−１とは、撮影範囲４０と、第１測距範囲３０−１との重複領域である第１重複領域５０−１に存在する被写体を撮影する。また、撮影用カメラ１０と、第２測距用カメラ２０−２とは、撮影範囲４０と、第２測距範囲３０−２との重複領域である第２重複領域５０−２に存在する被写体を撮影する。この場合、第１重複領域５０−１と、第２重複領域５０−２とが、同時に存在するように撮影用カメラ１０の向きを調整することが好ましい。
【００４１】
そして、抽出部１２４は、第１重複領域５０−１に存在する被写体を撮影用カメラ１０と、第１測距用カメラ２０−１とのそれぞれで撮影した画像データから特徴点を抽出する。また、抽出部１２４は、第２重複領域５０−２に存在する被写体を撮影用カメラ１０と、第２測距用カメラ２０−２とのそれぞれで撮影した画像データから特徴点を抽出する。
【００４２】
なお、抽出部１２４が、第１測距用カメラ２０−１及び第２測距用カメラ２０−２が撮影した測距画像データから特徴点を抽出する方法については、撮影画像データから特徴点を抽出する方法と同じなので説明は省略する。
【００４３】
再び図２を参照する。マッチング部１２５は、撮影画像データ及び測距画像データから種々の情報のマッチングを検出する。マッチング部１２５は、例えば、撮影画像データ及び測距画像データから抽出された特徴点のリスト間で、最適な特徴点の対応点（対応関係のペア）を検出する。マッチング部１２５は、例えば、最適な特徴点のペアとして、特徴量間の距離が最小となる組み合わせを検出する。この場合、マッチング部１２５は、例えば、特徴点間の輝度差分の最も小さくなる特徴点同士をペアとして検出する。
【００４４】
図５を用いて、最適な特徴点のペアを検出する方法について説明する。図５は、最適な特徴点のペアを検出する方法を説明するための模式図である。
【００４５】
撮影画像データＳ１は、例えば、撮影用カメラ１０によって、図４における第２重複領域５０−２で撮影された、家Ｈの撮影画像データである。測距画像データＤ１は、第２測距用カメラ２０−２によって、図４における第２重複領域５０−２で撮影された、家Ｈの測距画像データである。
【００４６】
図５に示す例の場合、抽出部１２４は、例えば、撮影画像データＳ１から、特徴点Ｐ１と、特徴点Ｐ２と、特徴点Ｐ３と、特徴点Ｐ４と、特徴点Ｐ５と、特徴点Ｐ６と、特徴点Ｐ７と、特徴点Ｐ８と、特徴点Ｐ９とを抽出する。また、抽出部１２４は、例えば、測距画像データＤ１から、特徴点Ｐ１１と、特徴点Ｐ１２と、特徴点Ｐ１３と、特徴点Ｐ１４と、特徴点Ｐ１５と、特徴点Ｐ１６と、特徴点Ｐ１７と、特徴点Ｐ１８と、特徴点Ｐ１９とを抽出する。
【００４７】
そして、マッチング部１２５は、撮影画像データＳ１から検出された特徴点Ｐ１〜Ｐ９と、測距画像データＤ１から検出されたＰ１１〜Ｐ１９との、最適なペアを検出する。
【００４８】
具体的には、マッチング部１２５は、例えば、特徴点Ｐ１と、特徴点Ｐ１１とをペアとして検出する。マッチング部１２５は、例えば、特徴点Ｐ２と、特徴点Ｐ１２とをペアとして検出する。マッチング部１２５は、例えば、特徴点Ｐ３と、特徴点Ｐ１３とをペアとして検出する。マッチング部１２５は、例えば、特徴点Ｐ４と、特徴点Ｐ１４とをペアとして検出する。マッチング部１２５は、例えば、特徴点Ｐ５と、特徴点Ｐ１５とをペアとして検出する。マッチング部１２５は、例えば、特徴点Ｐ６と、特徴点Ｐ１６とをペアとして検出する。マッチング部１２５は、例えば、特徴点Ｐ７と、特徴点Ｐ１７とをペアとして検出する。マッチング部１２５は、例えば、特徴点Ｐ８と、特徴点Ｐ１８とをペアとして検出する。マッチング部１２５は、例えば、特徴点Ｐ９と、特徴点Ｐ１９とをペアとして検出する。
【００４９】
なお、各測距用カメラのキャリブレーションを、キャリブレーションボードを用いて行う場合には、特徴点のペアの対応関係が取れているので、マッチング部１２５の処理は省略してもよい。
【００５０】
再び図２を参照する。推定部１２６は、撮影画像データ及び測距画像データから種々の情報を推定する。推定部１２６は、例えば、撮影画像データ及び測距画像データに基づいて、撮影用カメラ１０と各測距用カメラとの相対位置と姿勢を推定する。
【００５１】
図６を用いて、撮影用カメラ１０と、各測距用カメラとの相対位置の関係を推定する方法について説明する。図６は、撮影用カメラ１０と、各測距用カメラとの相対位置の関係を説明するための模式図である。
【００５２】
図６では、例えば、撮影用カメラ１０と、第２測距用カメラ２０−２との相対位置を推定する方法について説明する。
【００５３】
図６において、光軸Ｏ１は、撮影用カメラ１０の光軸中心である。光軸Ｏ２は、第２測距用カメラ２０−２の光軸中心である。３次元点Ｘは、光軸Ｏ１と、光軸Ｏ２とが交わる点である。
【００５４】
撮影画像データＳ１には、例えば、特徴点ＰＧｉが含まれている。測距画像データＤ１には、例えば、特徴点ＰＡｉが含まれている。ここで、特徴点ＰＧｉと、特徴点ＰＡｉは、対応の取れた特徴点であるとする。
【００５５】
この場合、特徴点ＰＧｉは、ｉ番目の対応が取れた撮影画像データＳ１における１点の画素位置のベクトルとして、［ｕｇｉ，ｖｇｉ，１］Ｔと表すことができる。特徴点ＰＡｉは、ｉ番目の対応が取れた撮影画像データＳ１における１点の画素位置のベクトルとして、［ｕａｉ，ｖａｉ，１］Ｔと表すことができる。
【００５６】
そして、推定部１２６は、「ＰＧｉＴＦＰＡｉ＝０」を満たすような、３×３行列である基礎行列Ｆを推定する。基礎行列Ｆには、カメラの内部パラメータと、カメラの外部パラメータとが含まれている。この場合、推定部１２６は、周知の方法を用いて、基礎行列Ｆを推定すればよい。具体的には、推定部１２６は、最小二乗法や、ＲＡＮＳＡＣ（Random  Sample  Consensus）など用いて、基礎行列Ｆを推定すればよい。この場合、対応の取れている特徴点のペアが８点以上あることが好ましい。基礎行列Ｆが算出されると、特徴点ＰＧｉから特徴点ＰＡｉに座標変換するための、回転行列Ｒと、並進ベクトルＴを算出することが可能となる。
【００５７】
再び図２を参照する。算出部１２７は、撮影画像データ及び測距画像データから種々の情報を算出する。算出部１２７は、例えば、撮影用カメラ１０の撮影範囲４０と、複数の測距用カメラの測距領域との少なくとも一部が重複する重複領域に位置する被写体に基づいて、撮影用カメラ１０と、各測距用カメラとの相対位置を算出する。具体的には、算出部１２７は、撮影範囲４０と、第１測距範囲３０−１との少なくとも一部が重複する第１重複領域５０−１に位置する第１被写体と、撮影範囲４０と、第２測距範囲３０−２との少なくとも一部が重複する第２重複領域５０−２に位置する第２被写体とに基づいて、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との、相対位置を算出する。この場合、算出部１２７は、例えば、第１被写体の撮影用画像データから検出された特徴点と、第１測距用カメラ２０−１が撮影した第１被写体の測距用画像データから検出された特徴点との対応関係を算出する。算出部１２７は、例えば、第２被写体の撮影用画像データから検出された特徴点と、第２測距用カメラ２０−２が撮影した第２被写体の測距用画像データから検出された特徴点との対応関係を算出する。そして、算出部１２７は、算出した２つの対応関係に基づいて、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との、相対位置を算出する。算出部１２７は、例えば、推定部１２６によって推定された基礎行列Ｆを用いて、撮影用カメラ１０と、第２測距用カメラ２０−２との相対位置を算出する。
【００５８】
算出部１２７は、推定された基礎行列Ｆを用いて、基本行列Ｅを算出する。基本行列Ｅは、「Ｅ＝ＫＧＴＦＫＡ」で表すことができる。ＫＧは、撮影用カメラ１０の内部パラメータである。撮影用カメラ１０の内部パラメータには、撮影用カメラ１０の視野角や、光軸の中心などに関する情報が含まれる。ＫＡは、第２測距用カメラ２０−２の内部パラメータである。第２測距用カメラ２０−２の内部パラメータには、第２測距用カメラ２０−２の視野角や、光軸の中心などに関する情報が含まれる。ここで、ＫＧ及びＫＡは、既知である。そのため、算出部１２７は、基本行列Ｅの式に示すように、特異値分解を実行することで、回転行列Ｒと並進ベクトルＴとを算出することができる。
【００５９】
算出部１２７は、例えば、図４に示しているように、第１測距座標系３１−１から撮影座標系４１に変換するための、回転行列ＲＧＡと、並進ベクトルＴＧＡを算出する。算出部１２７は、例えば、撮影座標系４１から第２測距座標系３１−２に変換するための回転行列ＲＢＧと並進ベクトルＴＢＧを算出する。ここで、第１測距座標系３１−１の座標をＸＡ、第２測距座標系３１−２の座標をＸＢ、撮影座標系４２の座標系をＸＧで表すことにする。
【００６０】
この場合、ＸＧは、「ＸＧ＝ＲＧＡＸＡ＋ＴＧＡ」と表すことができる。ＸＢは、「ＸＢ＝ＲＧＢＸＧ＋ＴＢＧ」と表すことができる。よって、ＸＢの式にＸＧを代入すると、「ＸＢ＝ＲＧＢ（ＲＧＡＸＡ＋ＴＧＡ）＋ＴＢＧ」となる。これを展開すると、ＸＢは、「ＸＢ＝ＲＢＡＸＡ＋ＴＢＡ」と表すことができる。これにより、ＸＡからＸＢへ変換することができる。言い換えれば、算出部１２７は、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置の関係を算出することができる。これにより、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置の関係のずれをキャリブレーションすることができるようになる。また、本開示は、同様の方法により、各測距用カメラの相対位置を算出し、キャリブレーションを実行することができる。
【００６１】
本開示において、キャリブレーションを実行するタイミングは、無人飛行装置１の出荷後であれば特に制限はない。制御装置１００は、例えば、無人飛行装置１が動作するタイミングでキャリブレーションを実行すればよい。制御装置１００は、例えば、撮影用カメラ１０による風景などの撮影を行っていない時間を利用して、定期的にキャリブレーションを実行すればよい。制御装置１００は、例えば、無人飛行装置１が墜落などによりＩＭＵ（Internal  Measurement  Unit）などのセンサが大きな振動を検知した場合に、キャリブレーションを実行すればよい。これらのタイミングでキャリブレーションを実行することで、各測距用カメラの相対位置がずれた状態で無人飛行装置１を動作させてしまうことを防止することができる。また、制御装置１００は、ユーザからの指示に基づいて実行してもよい。
【００６２】
［２−２．キャリブレーションの方法］
＜２−２−１．第１の例＞
図７と、図８と、図９と、図１０とを用いて、キャリブレーションを実行する方法の第１の例について説明する。図７は、キャリブレーションを実行する方法の第１の例を説明するための模式図である。図８は、第１の例の撮影画像データと測距画像データの一例を示す模式図である。図９は、第１の例の撮影画像データと測距画像データの一例を示す模式図である。図１０は、第１の例のキャリブレーションを実行させるための指示の一例を示す模式図である。なお、以下では、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との間の相対位置をキャリブレーションする方法について説明する。
【００６３】
図７に示すように、第１の例では、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置を、キャリブレーションボードＢを使用して、キャリブレーションを実行する。キャリブレーションボードＢは、例えば、チェスボードである。
【００６４】
この場合、まず、第１重複領域５０−１と、第２重複領域５０−２とが存在するように、撮影用カメラ１０の向きを調整する。そして、第１重複領域５０−１にキャリブレーションボードＢを配置し、撮影用カメラ１０と、第１測距用カメラ２０−１とで、キャリブレーションボードＢを撮影する。次いで、第２重複領域５０−２にキャリブレーションボードＢを配置し、撮影用カメラ１０と、第２測距用カメラ２０−２とで、キャリブレーションボードＢを撮影する。
【００６５】
図８は、第１重複領域５０−１で撮影されたキャリブレーションボードＢの撮影画像データＳ２と測距画像データＤ２が示されている。撮影画像データＳ２は、撮影用カメラ１０で撮影された撮影画像データである。測距画像データＤ２は、第１測距用カメラ２０−１で撮影された測距画像データである。
【００６６】
制御装置１００は、撮影画像データＳ２から、例えば、特徴点Ｐ２１と、特徴点Ｐ２２と、特徴点Ｐ２３と、特徴点Ｐ２４と、特徴点Ｐ２５と、特徴点Ｐ２６と、特徴点Ｐ２７と、特徴点Ｐ２８とを検出する。制御装置１００は、測距画像データＤ２から、例えば、特徴点Ｐ３１と、特徴点Ｐ３２と、特徴点Ｐ３３と、特徴点Ｐ３４と、特徴点Ｐ３５と、特徴点Ｐ３６と、特徴点Ｐ３７と、特徴点Ｐ３８とを検出する。特徴点Ｐ２１〜Ｐ２８は、それぞれ、特徴点Ｐ３１〜Ｐ３８に対応する特徴点である。
【００６７】
図９は、第２重複領域５０−２で撮影されたキャリブレーションボードＢの撮影画像データＳ３と測距画像データＤ３が示されている。撮影画像データＳ３は、撮影用カメラ１０で撮影された撮影画像データである。測距画像データＤ３は、第２測距用カメラ２０−２で撮影された測距画像データである。
【００６８】
制御装置１００は、撮影画像データＳ３から、例えば、特徴点Ｐ４１と、特徴点Ｐ４２と、特徴点Ｐ４３と、特徴点Ｐ４４と、特徴点Ｐ４５と、特徴点Ｐ４６と、特徴点Ｐ４７と、特徴点Ｐ４８とを検出する。制御装置１００は、測距画像データＤ３から、例えば、特徴点Ｐ５１と、特徴点Ｐ５２と、特徴点Ｐ５３と、特徴点Ｐ５４と、特徴点Ｐ５５と、特徴点Ｐ５６と、特徴点Ｐ５７と、特徴点Ｐ５８とを検出する。特徴点Ｐ５１〜Ｐ５８は、それぞれ、特徴点Ｐ５１〜Ｐ５８に対応する特徴点である。
【００６９】
制御装置１００は、第１重複領域５０−１及び第２重複領域５０−２に配置されたキャリブレーションボードＢから抽出した各特徴点に基づいて、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置を算出することができる。そして、制御装置１００は、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置のキャリブレーションを実行することができる。なお、相対位置を推定する方法については、上述したとおりなので、説明を省略する。
【００７０】
図１０は、第１測距用カメラ２０−１と第２測距用カメラ２０−２とをキャリブレーションする際に、ユーザへの指示を示す表示画面の一例である。表示画面２００は、例えば、無人飛行装置１のプロポ型のコントローラ、スマートフォン、タブレット端末などに表示される表示画面である。
【００７１】
表示画面２００には、無人飛行装置アイコン２１０と、進捗バー２２０と、第１測距範囲アイコン２３０−１と、第２測距範囲アイコン２３０−２と、第３測距範囲アイコン２３０−３と、第４測距範囲アイコン２３０−４と、撮影範囲アイコン２４０と、指示領域２５０とが含まれている。
【００７２】
無人飛行装置アイコン２１０は、無人飛行装置１を示している。進捗バー２２０は、キャリブレーションの進捗状況を示している。進捗バー２２０を確認することで、キャリブレーションの進捗状況を適切に把握することができる。
【００７３】
第１測距範囲アイコン２３０−１〜２３０−４は、それぞれ、第１測距範囲３０−１〜３０−４を示している。撮影範囲アイコン２４０は、撮影範囲４０を示している。指示領域２５０は、ユーザを移動させる領域を示している。
【００７４】
表示画面２００では、例えば、「ここに移動してください」と指示領域２５０に表示することで、ユーザＵに対し、キャリブレーションボードＢを持って、指示領域２５０に移動することを促している。これにより、ユーザＵは、指示された領域にキャリブレーションボードＢを持って移動することで、例えば、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置を算出し、キャリブレーションを実行することができる。すなわち、表示画面２００を表示させることによって、容易に各カメラの相対位置の算出と、キャリブレーションとを実行することができるようになる。
【００７５】
＜２−２−２．第２の例＞
図１１と、図１２と、図１３と、図１４とを用いて、キャリブレーションを実行する方法の第２の例について説明する。図１１は、キャリブレーションを実行する方法の第２の例を説明するための模式図である。図１２は、第２の例の撮影画像データと測距画像データの一例を示す模式図である。図１３は、第２の例の撮影画像データと測距画像データの一例を示す模式図である。図１４は、第２の例のキャリブレーションを実行させるための指示の一例を示す模式図である。なお、以下では、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との間の相対位置をキャリブレーションする方法について説明する。
【００７６】
図１１に示すように、第２の例では、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置を、ユーザＵ自身を撮影することで、キャリブレーションを実行する。
【００７７】
この場合、まず、ユーザＵは、第１重複領域５０−１に移動し、撮影用カメラ１０と、第１測距用カメラ２０−１とで、自身を撮影する。次いで、ユーザＵは、第２重複領域５０−２に移動し、撮影用カメラ１０と、第２測距用カメラ２０−２とで、自身を撮影する。
【００７８】
図１２は、第１重複領域５０−１で撮影されたユーザＵの撮影画像データＳ４と測距画像データＤ４が示されている。撮影画像データＳ４は、撮影用カメラ１０で撮影された撮影画像データである。測距画像データＤ４は、第１測距用カメラ２０−１で撮影された測距画像データである。
【００７９】
制御装置１００は、撮影画像データＳ４から、例えば、特徴点Ｐ６１と、特徴点Ｐ６２と、特徴点Ｐ６３と、特徴点Ｐ６４と、特徴点Ｐ６５と、特徴点Ｐ６６と、特徴点Ｐ６７とを検出する。制御装置１００は、測距画像データＤ４から、例えば、特徴点Ｐ７１と、特徴点Ｐ７２と、特徴点Ｐ７３と、特徴点Ｐ７４と、特徴点Ｐ７５と、特徴点Ｐ７６と、特徴点Ｐ７７とを検出する。特徴点Ｐ６１〜Ｐ６７は、それぞれ、特徴点Ｐ７１〜Ｐ７７に対応する特徴点である。
【００８０】
図１３は、第２重複領域５０−２で撮影されたユーザＵの撮影画像データＳ５と測距画像データＤ５が示されている。撮影画像データＳ５は、撮影用カメラ１０で撮影された撮影画像データである。測距画像データＤ５は、第２測距用カメラ２０−２で撮影された測距画像データである。
【００８１】
制御装置１００は、撮影画像データＳ５から、例えば、特徴点Ｐ８１と、特徴点Ｐ８２と、特徴点Ｐ８３と、特徴点Ｐ８４と、特徴点Ｐ８５と、特徴点Ｐ８６と、特徴点Ｐ８７とを検出する。制御装置１００は、測距画像データＤ５から、例えば、特徴点Ｐ９１と、特徴点Ｐ９２と、特徴点Ｐ９３と、特徴点Ｐ９４と、特徴点Ｐ９５と、特徴点Ｐ９６と、特徴点Ｐ９７とを検出する。特徴点Ｐ８１〜Ｐ８７は、それぞれ、特徴点Ｐ９１〜Ｐ９７に対応する特徴点である。
【００８２】
制御装置１００は、第１重複領域５０−１及び第２重複領域５０−２に位置したユーザＵから抽出した各特徴点に基づいて、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置を算出することができる。そして、制御装置１００は、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置のキャリブレーションを実行することができる。なお、相対位置を推定する方法については、上述したとおりなので、説明を省略する。
【００８３】
図１４は、第１測距用カメラ２０−１と第２測距用カメラ２０−２とをキャリブレーションする際に、ユーザへの指示を示す表示画面の一例である。
【００８４】
表示画面２００Ａには、無人飛行装置アイコン２１０と、進捗バー２２０と、第１測距範囲アイコン２３０−１と、第２測距範囲アイコン２３０−２と、第３測距範囲アイコン２３０−３と、第４測距範囲アイコン２３０−４と、撮影範囲アイコン２４０と、指示領域２５０とが含まれている。
【００８５】
表示画面２００Ａでは、例えば、「ここに移動してください」と指示領域２５０に表示することで、ユーザＵに対し、指示領域２５０に移動することを促している。これにより、制御装置１００、指示された領域に移動したユーザＵから検出された特徴点に基づいて、例えば、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置を算出し、キャリブレーションを実行することができる。すなわち、表示画面２００Ａを表示させることによって、容易に各カメラの相対位置の算出と、キャリブレーションとを容易に実行することができるようになる。
【００８６】
＜２−２−３．第３の例＞
図１５と、図１６とを用いて、キャリブレーションを実行する方法の第３の例について説明する。図１５は、第３の例の撮影画像データと測距画像データの一例を示す模式図である。図１６は、第３の例の撮影画像データと測距画像データの一例を示す模式図である。
【００８７】
上述した、第１の例と、第２の例とでは、第１重複領域５０−１と、第２重複領域５０−２とにおいて、同一の被写体を撮影し、特徴点を検出することで、各測距用カメラの相対値の算出と、キャリブレーションとを実行した。しかしながら、第１重複領域５０−１と、第２重複領域５０−２とで撮影される被写体は互いに異なっていてもよい。
【００８８】
図１５は、第１重複領域５０−１で撮影された木Ｔの撮影画像データＳ６と測距画像データＤ６が示されている。撮影画像データＳ６は、撮影用カメラ１０で撮影された撮影画像データである。測距画像データＤ６は、第１測距用カメラ２０−１で撮影された測距画像データである。
【００８９】
制御装置１００は、撮影画像データＳ６から、例えば、特徴点Ｐ１０１と、特徴点Ｐ１０２と、特徴点Ｐ１０３と、特徴点Ｐ１０４と、特徴点Ｐ１０５と、特徴点Ｐ１０６と、特徴点Ｐ１０７とを検出する。制御装置１００は、測距画像データＤ６から、例えば、特徴点Ｐ１１１と、特徴点Ｐ１１２と、特徴点Ｐ１１３と、特徴点Ｐ１１４と、特徴点Ｐ１１５と、特徴点Ｐ１１６と、特徴点Ｐ１１７とを検出する。特徴点Ｐ１０１〜Ｐ１０７は、それぞれ、特徴点Ｐ１１１〜Ｐ１１７に対応する特徴点である。
【００９０】
図１６は、第２重複領域５０−２で撮影された家Ｈの撮影画像データＳ７と測距画像データＤ７が示されている。撮影画像データＳ７は、撮影用カメラ１０で撮影された撮影画像データである。測距画像データＤ７は、第２測距用カメラ２０−２で撮影された測距画像データである。
【００９１】
制御装置１００は、撮影画像データＳ７から、例えば、特徴点Ｐ１２１と、特徴点Ｐ１２２と、特徴点Ｐ１２３と、特徴点Ｐ１２４と、特徴点Ｐ１２５と、特徴点Ｐ１２６と、特徴点Ｐ１２７と、特徴点Ｐ１２８と、特徴点Ｐ１２９とを検出する。制御装置１００は、測距画像データＤ７から、例えば、特徴点Ｐ１３１と、特徴点Ｐ１３２と、特徴点Ｐ１３３と、特徴点Ｐ１３４と、特徴点Ｐ１３５と、特徴点Ｐ１３６と、特徴点Ｐ１３７と、特徴点Ｐ１３８と、特徴点Ｐ１３９とを検出する。特徴点Ｐ１２１〜Ｐ１２９は、それぞれ、特徴点Ｐ１３１〜Ｐ１３９に対応する特徴点である。
【００９２】
制御装置１００は、第１重複領域５０−１に位置した木Ｔから抽出した各特徴点と、第２重複領域５０−２に位置した家Ｈから抽出した各特徴点に基づいて、第１測距用カメラ２０−１と、第２測距用カメラ２０−２との相対位置を算出することができる。この場合、制御装置１００は、例えば、無人飛行装置１の飛行中に第１重複領域５０−１と、第２重複領域５０−２とに位置した任意の被写体に基づいて、各測距用カメラの相対位置の算出とキャリブレーションを実行することができる。
【００９３】
＜２−２−４．第４の例＞
図１７を用いて、キャリブレーションを実行する方法の第４の例について説明する。図１７は、キャリブレーションを実行する方法の第４の例を説明するための模式図である。
【００９４】
第１の例〜第３の例では、無人飛行装置１の出荷時に取り付けられていた、撮影用カメラ１０と、各測距用カメラを用いて、各測距用カメラの相対位置を算出し、キャリブレーションを実行している。しかしながら、撮影用カメラ１０は、無人飛行装置１の出荷後にユーザによって取り換えられることが想定される。この場合、取り換え前の撮影用カメラ１０と、取り換え後の撮影用カメラ１０Ａとでは、通常、内部パラメータが異なっている。そのため、撮影用カメラ１０Ａと、各測距用カメラとで、撮影カメラの内部パラメータ推定も含めたキャリブレーションを実行することが好ましい。以下では、撮影用カメラ１０Ａと、第１測距用カメラ２０−１とでキャリブレーションを実行する方法について説明する。
【００９５】
この場合、図１７に示すように、まず、撮影用カメラ１０Ａと、第１測距用カメラ２０−１とを同じ方向に向ける。そして、撮影用カメラ１０Ａの撮影範囲４０Ａと、第１測距用カメラの第１測距範囲３０−１とが少なくとも一部が重複する重複領域５０Ａを生成する。
【００９６】
この場合、重複領域５０Ａに位置する任意の被写体Ｏを、撮影用カメラ１０Ａと、第１測距用カメラ２０−１とで撮影する。そして、撮影用カメラ１０Ａが撮影した撮影画像データと、第１測距用カメラ２０−１が撮影した測距画像データから特徴点、および、特徴点までの距離データを抽出する。これにより、第１測距用カメラ２０−１で撮られた被写体Ｏのサイズが既知となり、撮影用カメラ１０Ａの内部パラメータの推定が可能になる。以降のキャリブレーションステップに関しては、上述した第１の例〜第３の例の方法を用いることによって、撮影用カメラ１０Ａと、第１測距用カメラ２０−１との相対位置を算出し、キャリブレーションを実行することができる。すなわち、本開示は、撮影用カメラ１０Ａと、各測距用カメラとの相対位置の算出と、キャリブレーションとの実行をも行うことができる。
【００９７】
［２−３．制御装置の動作］
次に、図１８を用いて、制御装置の処理の流れについて説明する。図１８は、制御装置の処理の流れの一例を示すフローチャートである。
【００９８】
まず、制御装置１００は、キャリブレーションを開始するためのトリガを検出する（ステップＳ１０１）。制御装置１００は、トリガを検出することで、キャリブレーションを開始する。そして、制御装置１００は、ステップＳ１０２に進む。
【００９９】
次に、制御装置１００は、撮影用カメラ１０の向きをキャリブレーション用の向きに調整する（ステップＳ１０２）。具体的には、制御装置１００は、撮影用カメラ１０をジンバル機構１２で制御して、キャリブレーションを行う測距用カメラに併せた向きに調整する。そして、制御装置１００は、ステップＳ１０３に進む。
【０１００】
次に、制御装置１００は、撮影用カメラ１０と、キャリブレーション対象となる測距用カメラとを同期させて、被写体を撮影する（ステップＳ１０３）。そして、制御装置１００は、ステップＳ１０４に進む。
【０１０１】
次いで、制御装置１００は、被写体の撮影結果に基づいて、キャリブレーション対象となる測距用カメラの撮影用カメラ１０に対する相対位置を推定する（ステップＳ１０４）。ここで、制御装置１００は、測距用カメラの撮影用カメラ１０に対する姿勢を推定してもよい。そして、制御装置１００は、ステップＳ１０５に進む。
【０１０２】
制御装置１００は、ステップＳ１０５において、相対位置の推定結果が妥当であるか否かを判定する。
【０１０３】
推定結果が妥当でない場合（ステップＳ１０５のＮｏ）、制御装置１００は、ステップＳ１０３に戻り、上述の処理を実行する。一方、推定結果が妥当である場合（ステップＳ１０５のＹｅｓ）、制御装置１００は、ステップＳ１０６に進む。
【０１０４】
次に、制御装置１００は、キャリブレーションを実行し、キャリブレーションの結果を記憶部１１０に記憶する（ステップＳ１０６）。そして、制御装置１００は、ステップＳ１０７に進む。
【０１０５】
次に、制御装置１００は、ステップＳ１０７において、他にキャリブレーションの必要な測距用カメラがあるか否かを判定する。
【０１０６】
キャリブレーションの必要な測距用カメラが有る場合（ステップＳ１０７のＹｅｓ）、制御装置１００は、ステップＳ１０２に戻り、上述の処理を実行する。一方、キャリブレーションの必要な測距用カメラがない場合（ステップＳ１０７のＮｏ）、制御装置１００は、図１８の処理を終了する。
【０１０７】
図１９を用いて、無人飛行装置が障害物を検出し、障害物を回避する動作の流れについて、説明する。図１９は、キャリブレーション結果を用いて、無人飛行装置１が障害物を回避する処理の流れの一例を示すフローチャートである。
【０１０８】
まず、無人飛行装置１は、撮影用カメラ１０と、各測距用カメラとで、無人飛行装置１の周囲を撮影した撮影データとを取得する（ステップＳ２０１）。そして、無人飛行装置１は、ステップＳ２０２に進む。
【０１０９】
次に、無人飛行装置１は、撮影データに基づいて、無人飛行装置１の周囲の物体までの３次元距離を推定する（ステップＳ２０２）。そして、無人飛行装置１は、ステップＳ２０３に進む。
【０１１０】
次に、無人飛行装置１は、周囲の物体までの３次元距離に基づいて、回避すべき障害物を検出する（ステップＳ２０３）。具体的には、無人飛行装置１は、例えば、第１測距用カメラ２０−１の座標系と、第２測距用カメラ２０−２との座標系とで、回避すべき障害物を検出する。そして、無人飛行装置１は、ステップＳ２０４に進む。
【０１１１】
次に、無人飛行装置１は、第１測距用カメラ２０−１の座標系と、第２測距用カメラ２０−２との座標系とで検出された障害物の座標系を撮影用カメラ１０の統一座標系に変換する（ステップＳ２０４）。そして、無人飛行装置１は、ステップＳ２０５に進む。
【０１１２】
次に、無人飛行装置１は、統一座標系において、無人飛行装置１の周囲に存在する障害物に関する情報を含む障害物マップを構築する（ステップＳ２０５）。そして、無人飛行装置１は、ステップＳ２０６に進む。
【０１１３】
次に、無人飛行装置１は、障害物マップに基づいて、障害物の回避動作を実行する（ステップＳ２０６）。そして、無人飛行装置１は、図１９の処理を終了する。
【０１１４】
（３．ハードウェア構成）
上述してきた各実施形態に係る制御装置１００は、例えば、図２０に示すような構成のコンピュータ１０００によって実現される。図２０は、制御装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス１５００、及び入出力インターフェイス１６００を有する。コンピュータ１０００の各部は、バス１０５０によって接続される。
【０１１５】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムをＲＡＭ１２００に展開し、各種プログラムに対応した処理を実行する。
【０１１６】
ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１１７】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、ＨＤＤ１４００は、プログラムデータ１４５０の一例である本開示に係るプログラムを記録する記録媒体である。
【０１１８】
通信インターフェイス１５００は、コンピュータ１０００が外部ネットワーク１５５０（例えばインターネット）と接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、通信インターフェイス１５００を介して、他の機器からデータを受信したり、ＣＰＵ１１００が生成したデータを他の機器へ送信したりする。
【０１１９】
入出力インターフェイス１６００は、入出力デバイス１６５０とコンピュータ１０００とを接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス１６００は、所定の記録媒体（メディア）に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１２０】
例えば、コンピュータ１０００が制御装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、各部の機能を実現する。また、ＨＤＤ１４００には、本開示に係るプログラムが格納される。なお、ＣＰＵ１１００は、プログラムデータ１４５０をＨＤＤ１４００から読み取って実行するが、他の例として、外部ネットワーク１５５０を介して、他の装置からこれらのプログラムを取得してもよい。
【０１２１】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【０１２２】
なお、本技術は以下のような構成も取ることができる。
（１）
移動体に配置された撮影用撮像装置が撮影した画像データを取得する取得部と、
前記画像データに含まれる被写体に基づいて、前記移動体に設けられた複数の測距用撮像装置間で検出される前記被写体の位置の相対位置を算出する算出部と、
を備える、制御装置。
（２）
前記算出部は、前記撮影用撮像装置の撮影領域と、複数の前記測距用撮像装置の測距領域との少なくとも一部が重複する重複領域に位置する前記被写体に基づいて、前記相対位置を算出する、
前記（１）に記載の制御装置。
（３）
前記撮影用撮像装置は、前記移動体に対して回転可能に配置されている、
前記（１）または（２）に記載の制御装置。
（４）
前記算出部は、前記撮影領域と、複数の前記測距用撮像装置のうち、第１測距用撮像装置の第１測距領域との少なくとも一部が重複する第１重複領域に位置する第１被写体と、第２測距用撮像装置の第２測距領域との少なくとも一部が重複する第２重複領域に位置する第２被写体とに基づいて、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
前記（３）に記載の制御装置。
（５）
前記撮影用撮像装置が回転することで、前記第１重複領域と前記第２重複領域との少なくとも一方が生成される、
前記（４）に記載の制御装置。
（６）
前記撮影用撮像装置が回転することで、前記第１重複領域と前記第２重複領域とが同時に生成される、
前記（４）または（５）に記載の制御装置。
（７）
前記算出部は、前記第１被写体から検出された特徴点と、前記第２被写体から検出された特徴点とに基づいて、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
前記（４）〜（６）のいずれかに記載の制御装置。
（８）
前記算出部は、前記撮影用撮像装置が撮影した前記第１被写体の画像データから検出された特徴点と、前記第１測距用撮像装置が撮影した前記第１被写体の画像データから検出された特徴点との対応関係及び前記撮影用撮像装置が撮影した前記第２被写体の画像データから検出された特徴点と、前記第２測距用撮像装置が撮影した前記第２被写体の画像データから検出された特徴点との対応関係に基づいて、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
前記（４）〜（７）のいずれかに記載の制御装置。
（９）
前記算出部は、前記移動体の起動時に、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
前記（４）〜（８）のいずれかに記載の制御装置。
（１０）
前記算出部は、前記撮影用撮像装置を利用した風景の撮影を行っていないときに、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
前記（４）〜（９）のいずれかに記載の制御装置。
（１１）
前記第１被写体と、前記第２被写体とは、それぞれ、キャリブレーションボードである、
前記（４）〜（１０）のいずれかに記載の制御装置。
（１２）
前記第１被写体と、前記第２被写体とは、人である、
前記（４）〜（１１）のいずれかに記載の制御装置。
（１３）
前記第２被写体と、前記第２被写体とは、自然物又は人工物である、
前記（４）〜（１２）のいずれかに記載の制御装置。
（１４）
前記算出部は、前記第１被写体に含まれる画素位置のベクトルと、前記第２被写体に含まれる画素位置のベクトルとに基づいて、前記第１測距用撮像装置と、前記第２測距用撮像装置との、前記相対位置を算出する、
前記（４）〜（１３）のいずれかに記載の制御装置。
（１５）
移動体に配置された撮影用撮像装置が撮影した画像データを取得し、
前記画像データに含まれる被写体に基づいて、前記移動体に設けられた複数の測距用撮像装置間で検出される前記被写体の位置の相対位置を算出する、
制御方法。
（１６）
コンピュータを、
移動体に配置された撮影用撮像装置が撮影した画像データを取得する取得部と、
前記画像データに含まれる被写体に基づいて、前記移動体に設けられた複数の測距用撮像装置間で検出される前記被写体の位置の相対位置を算出する算出部と、
して機能させるための、制御プログラム。
【符号の説明】
【０１２３】
１  無人飛行装置
１０  撮影用カメラ
２０−１  第１測距用カメラ
２０−２  第２測距用カメラ
２０−３  第３測距用カメラ
２０−４  第４測距用カメラ
１００  制御装置
１１０  記憶部
１２０  制御部
１２１  取得部
１２２  撮像制御部
１２３  処理部
１２４  抽出部
１２５  マッチング部
１２６  推定部
１２７  算出部
１３０  通信部
【図１Ａ】
2020121882.tif 000003
【図１Ｂ】
2020121882.tif 000004
【図２】
2020121882.tif 000005
【図３】
2020121882.tif 000006
【図４】
2020121882.tif 000007
【図５】
2020121882.tif 000008
【図６】
2020121882.tif 000009
【図７】
2020121882.tif 000010
【図８】
2020121882.tif 000011
【図９】
2020121882.tif 000012
【図１０】
2020121882.tif 000013
【図１１】
2020121882.tif 000014
【図１２】
2020121882.tif 000015
【図１３】
2020121882.tif 000016
【図１４】
2020121882.tif 000017
【図１５】
2020121882.tif 000018
【図１６】
2020121882.tif 000019
【図１７】
2020121882.tif 000020
【図１８】
2020121882.tif 000021
【図１９】
2020121882.tif 000022
【図２０】
2020121882.tif 000023
【国際調査報告】
2020121882.tif 000024
2020121882.tif 000025
2020121882.tif 000026
2020121882.tif 000027
2020121882.tif 000028
2020121882.tif 000029