(57)【要約】【課題】可動物体において距離測定のための自律動作をする。【解決手段】一実施形態によれば、カメラとセンサを搭載した可動物体を使用して距離を測定する方法は、測定の対象である目標物を特定することと、可動物体の移動中であってカメラが前記目標物を追跡しているときに、前記カメラによって前記目標物を撮影し、複数の画像を取得することと、前記複数の画像の取得時点に対応する可動物体の動き情報を収集することと、前記動き情報と前記複数の画像とに基づいて前記目標物と前記可動物体との間の距離を計算することと、を備える。【選択図】図５
2020030204.tif 000002
【特許請求の範囲】
【請求項１】
カメラを搭載した可動物体を使用して距離を測定する方法であって、
測定の対象である目標物を特定することと、
可動物体の移動中であってカメラが前記目標物を追跡しているときに、前記カメラによって前記目標物を撮影し、複数の画像を取得することと、
前記複数の画像の取得時点に対応する可動物体の動き情報を収集することと、
前記動き情報と前記複数の画像とに基づいて前記目標物と前記可動物体との間、または測定対象物と前記可動物体との間の距離を計算することと、
を備える距離測定方法。
【請求項２】
前記動き情報は、可動物体自身の慣性航法データと、可動物体自体の姿勢情報を特定するためのセンサデータとを統合することにより、取得される請求項１に記載の距離測定方法。
【請求項３】
前記複数の画像の取得時点に対応する前記動き情報に基づいて前記複数の画像のそれぞれに対応して複数の推定カメラ姿勢を取得することと、
可動物体の姿勢情報を特定するためのデータを可動物体のセンサから取得することと、
取得したセンサデータに基づいて前記複数の画像の一つであるキーフレームと、該キーフレームの後に取り込まれた画像フレームとの間のカメラ姿勢関係を取得し、該カメラ姿勢関係が予め設定された条件を満たすかどうかを判定し、前記条件を満たすカメラ姿勢関係に応じて、複数の画像のうちの１つとして画像フレームを選択することと、
をさらに備え、
前記画像フレームの選択は、
第１のカメラ姿勢関係が事前設定条件を満たさないことに応答して、前記キーフレームと、第１の画像フレームの後に取り込まれた第２の画像フレームとの間の第２のカメラ姿勢関係を取得することと、
第２のカメラ姿勢関係が前記事前設定条件を満たすかどうかを判定し、前記第２のカメラ姿勢関係が前記事前設定条件を満たすことに応答して、第２の画像フレームを複数の画像のうちの１つとして選択することと、
を含む請求項１に記載の距離測定方法。
【請求項４】
前記複数の画像の取得時点に対応する前記動き情報に基づいて前記複数の画像のそれぞれに対応して複数の推定カメラ姿勢を取得することと、
可動物体の姿勢情報を特定するためのデータを可動物体のセンサから取得することと、
取得したセンサデータに基づいて前記複数の画像の一つであるキーフレームと、該キーフレームの後に取り込まれた画像フレームとの間のカメラ姿勢関係を取得し、該カメラ姿勢関係が事前設定条件を満たすかどうかを判定し、前記事前設定条件を満たすカメラ姿勢関係に応じて、複数の画像のうちの１つとして画像フレームを選択することと、
をさらに備え、
前記事前設定条件は、回転閾値または変位閾値の少なくともいずれかを含み、
前記カメラ姿勢関係は、前記キーフレームを捉える瞬間から画像フレームを捉える瞬間までの回転変化、および、前記キーフレームを捉える瞬間から画像フレームを捉える瞬間までの前記カメラの位置変化のうちの少なくともいずれかを含み、
前記カメラ姿勢関係が事前設定条件を満たすかどうかを判断することは、
回転変化が回転閾値未満であることに応答して、カメラ姿勢関係が前記予め設定された条件を満たすと判定すること、および、回転変化が回転閾値よりも小さく、位置変化が変位閾値よりも大きいことに応答して、前記カメラ姿勢関係が前記予め設定された条件を満たすと判定すること、の少なくともいずれかを含む、
請求項１に記載の距離測定方法。
【請求項５】
前記可動物体は支持機構を介して複数のカメラを支持し、前記方法は、
前記複数の画像の取得時点に対応する動き情報に基づいて複数の推定カメラの姿勢を取得することを備え、
前記支持機構のステータス情報は、前記複数の画像の取得時点に対応し、
前記方法は、
前記複数のカメラの各々から取得された複数の画像の各々から複数の特徴点を抽出することと、
前記複数の特徴点に対し、それらの二次元（２Ｄ）位置を追跡することと、
前記複数の画像内の前記複数の特徴点の２Ｄ位置に基づいて、前記複数の特徴点の３次元（３Ｄ）位置と、カメラ姿勢情報とを取得することと、
前記目標物または前記測定対象物に関連付けられた少なくとも1つの特徴点の３Ｄ位置と、カメラ姿勢情報によって示されるカメラの３Ｄ位置とに従って、前記目標物と前記可動物体との間、または前記測定対象物と前記可動物体との間の距離を計算することと、
をさらに備える請求項１に記載の距離測定方法。
【請求項６】
前記複数の特徴点の前記２Ｄ位置を追跡することは、
前記複数の画像のうちの連続する２つの画像間の複数の特徴点の変位を追跡することと、
追跡された変位に従って複数の特徴点のオプティカルフローベクトルを取得することと、
をさらに備える請求項４に記載の距離測定方法。
【請求項７】
前記複数の特徴点は目標物の中心点を含み、
前記複数の画像内の前記複数の特徴点の２Ｄ位置を追跡することは、前記複数の画像から特定された、目標物の領域内にある複数の目標特徴点のオプティカルフローベクトルに基づいて、前記複数の画像内の前記目標物の中心点の２Ｄ位置を追跡することを含み、
前記複数の特徴点の３Ｄ位置を取得することは、前記複数の画像内の中心点の２Ｄ位置と前記複数の画像の取得時点に対応する複数の推定カメラ姿勢とに基づいて中心点の３Ｄ位置を取得することを含み、
前記目標物と前記可動物体との間の距離を計算することは、前記カメラ姿勢情報によって指示される前記中心点の３Ｄ位置および前記カメラの３Ｄ位置に従って前記距離を計算することを含む、
請求項５に記載の距離測定方法。
【請求項８】
前記中心点の前記２Ｄ位置を追跡することは、
前記複数の画像における中心点と目標特徴点との位置関係を決定することと、
前記位置関係に従って、目標特徴点のオプティカルフローベクトルに対応する重みを割り当てることと、
前記目標特徴点のオプティカルフローベクトルと対応する重みとに基づいて前記中心点のオプティカルフローベクトルをフィッティングすることと、
を含む請求項７に記載の距離測定方法。
【請求項９】
前記複数の特徴点の前記３Ｄ位置と、前記カメラ姿勢情報とを取得することは、
全再投影誤差を最小化するバンドル調整アルゴリズムに基づく最適化問題を解くことによって、複数の特徴点および複数の推定カメラ姿勢の３Ｄ位置を同時に改良し、複数の特徴点の３次元位置およびカメラを取得することと、
を含む請求項５に記載の距離測定方法。
【請求項１０】
前記目標物を特定することは、
前記カメラによって取得された、前記目標物を含む初期画像を取得し、
前記初期画像内で目標領域のユーザ選択を取得し、
画素の画像特徴に基づいて前記初期画像の画素をクラスタリングすることによって前記初期画像のスーパーピクセルを取得することと、
前記目標領域に位置する少なくとも一つのスーパーピクセルを取得することと、
前記少なくとも一つのスーパーピクセルによって形成される画像領域を、目標物を表す領域として特定することと、
を含む請求項１に記載の距離測定方法。
【請求項１１】
前記目標物を特定した後に、畳み込みニューラルネットワーク（ＣＮＮ）を使用して前記目標物が可動物体であるかどうかを判定することをさらに備え、
前記目標物が可動物体であると決定されたことに応答して、妥協された測定精度が存在することを示す警告メッセージが提示される、
請求項１に記載の距離測定方法。
【請求項１２】
前記目標物を特定した後に、前記目標物に対応する目標特徴点を抽出することと、
目標特徴点の量が予め設定された量閾値より少ないかどうかを判定することと、
をさらに備え、
目標特徴点の量が事前設定量閾値未満であることに応答して、妥協された測定精度が存在することを示す警告メッセージが提示される、
請求項１に記載の距離測定方法。
【請求項１３】
前記目標物と前記可動物体との間の推定距離である初期半径を決定することと、
前記初期半径に基づいて初期速度を決定ことと、
目標物の周囲に前記初期半径を有する曲線経路に沿って初期速度で前記可動物体を移動させることと、
をさらに備える請求項１に記載の距離測定方法。
【請求項１４】
前記複数の画像のうちの１つに含まれる目標物以外の少なくとも１つの物体を自動的に特定し、前記測定対象物を指定するユーザ指示を受け取り、該ユーザ指示に基づいて前記少なくとも１つの物体から前記測定対象物を取得することにより、前記複数の画像のうちの１つに含まれる前記測定対象物を特定すること
をさらに備える請求項１に記載の距離測定方法。
【請求項１５】
請求項１から１４のいずれか一項に記載の距離測定方法をコンピュータに実行させるためのプログラム。
【請求項１６】
カメラを搭載した外部の可動物体を使用して距離を測定するシステムであって、
プロセッサと、
前記プロセッサに距離測定を実行させるためのプログラムを格納するメモリと、
可動物体から送信される複数の画像の表示を可能にするとともに、表示される画像を用いてユーザが目標物を特定するためのユーザインタフェイスと、
を備え、
前記複数の画像は、可動物体の移動中に前記目標物を追跡しているときに可動物体のカメラにより撮影されて前記プロセッサに送信され、
前記プロセッサは、ユーザによる前記目標物の特定を受けて前記目標物を追跡するための指示信号を生成して可動物体に送信し、さらに、前記複数の画像の取得時点に対応する可動物体の動き情報を収集し、収集した動き情報と前記複数の画像とに基づいて前記目標物と可動物体との間の距離を計算する、
距離測定システム。
【請求項１７】
前記動き情報は、可動物体自身の慣性航法データと、可動物体自体の姿勢情報を特定するための可動物体が搭載するセンサからのセンサデータとを含み、
前記プロセッサは、前記慣性航法データと、前記センサデータとを統合することにより、前記動き情報を取得する請求項１６に記載の距離測定システム。
【請求項１８】
前記プロセッサは、
前記複数の画像の取得時点に対応する前記動き情報に基づいて前記複数の画像のそれぞれに対応して複数の推定カメラ姿勢を取得し、可動物体の姿勢情報を特定するためのデータを可動物体のセンサから取得し、取得したセンサデータに基づいて前記複数の画像の一つであるキーフレームと、該キーフレームの後に取り込まれた画像フレームとの間のカメラ姿勢関係を取得し、該カメラ姿勢関係が事前設定条件を満たすかどうかを判定し、前記事前設定条件を満たすカメラ姿勢関係に応じて、複数の画像のうちの１つとして画像フレームを選択し、さらに、
第１のカメラ姿勢関係が前記事前設定条件を満たさないことに応答して、前記キーフレームと、第１の画像フレームの後に取り込まれた第２の画像フレームとの間の第２のカメラ姿勢関係を取得し、第２のカメラ姿勢関係が前記事前設定条件を満たすかどうかを判定し、前記事前設定条件を満たす第２のカメラ姿勢関係に応答して、第２の画像フレームを複数の画像のうちの１つとして選択することにより、前記画像フレームを選択する、
請求項１６に記載の距離測定システム。
【請求項１９】
前記可動物体は支持機構を介して複数のカメラを支持し、
前記プロセッサは、
前記複数の画像の取得時点に対応する動き情報に基づいて複数の推定カメラの姿勢を取得し、前記複数のカメラの各々から取得された複数の画像の各々から複数の特徴点を抽出し、該複数の特徴点に対し、それらの二次元（２Ｄ）位置を追跡し、前記複数の画像内の前記複数の特徴点の２Ｄ位置に基づいて、前記複数の特徴点の３次元（３Ｄ）位置と、カメラ姿勢情報とを取得し、前記複数の画像の取得時点に対応する支持機構のステータス情報と、前記目標物に関連付けられた少なくとも1つの特徴点の３Ｄ位置と、カメラ姿勢情報によって示されるカメラの３Ｄ位置と、に従って、前記目標物と前記可動物体との間の距離を計算する、
請求項１６に記載の距離測定システム。
【請求項２０】
前記プロセッサは、
前記複数の画像のうちの連続する２つの画像間の複数の特徴点の変位を追跡し、追跡された変位に従って複数の特徴点のオプティカルフローベクトルを取得することにより、前記複数の特徴点に対して、それらの二次元（２Ｄ）位置を追跡する、
請求項１９に記載の距離測定システム。
【請求項２１】
前記複数の特徴点は目標物の中心点を含み、
前記プロセッサは、
前記複数の画像から特定された、目標物の領域内にある複数の目標特徴点のオプティカルフローベクトルに基づいて、複数の画像内の前記目標物の中心点の２Ｄ位置を追跡することにより前記複数の特徴点の２Ｄ位置を追跡し、
前記複数の画像内の中心点の２Ｄ位置と前記複数の画像の取得時点に対応する複数の推定カメラ姿勢とに基づいて中心点の３Ｄ位置を取得することにより前記複数の特徴点の３Ｄ位置を取得し、
前記カメラ姿勢情報によって指示される前記中心点の３Ｄ位置および前記カメラの３Ｄ位置に従って前記距離を計算することにより前記目標物と前記可動物体との間の距離を計算する、
請求項１９に記載の距離測定システム。
【請求項２２】
前記プロセッサは、
前記複数の画像における中心点と目標特徴点との位置関係を決定し、前記位置関係に従って、目標特徴点のオプティカルフローベクトルに対応する重みを割り当て、前記目標特徴点のオプティカルフローベクトルと対応する重みとに基づいて前記中心点のオプティカルフローベクトルをフィッティングすることにより、前記目標物の中心点の２Ｄ位置を追跡する、
請求項１６に記載の距離測定システム。
【請求項２３】
前記プロセッサは、
全再投影誤差を最小化するバンドル調整アルゴリズムに基づく最適化問題を解くことによって、複数の特徴点および複数の推定カメラ姿勢の３Ｄ位置を同時に改良することにより、前記複数の特徴点の３次元（３Ｄ）位置と、前記カメラ姿勢情報とを取得する、
請求項１９に記載の距離測定システム。
【請求項２４】
可動物体本体と、 
前記可動物体本体に揚力および推力の少なくともいずれかを与えて任意の移動を可能にする推進機構と、
前記可動物体本体に搭載され、可動物体の移動中に画像を撮影するカメラを含む検知装置と、
ユーザからの指示信号を受けて目標物を特定し、前記カメラからの複数の画像の取得時点に対応する可動物体の動き情報を収集し、該動き情報と前記複数の画像とに基づいて前記目標物と前記可動物体との間、または測定対象物と前記可動物体との間の距離を計算するプロセッサと、
を備える可動物体。
【請求項２５】
前記検知装置は、前記可動物体の空間配置、速度、および加速度の少なくともいずれかを検出するセンサを含み、
前記プロセッサは、前記可動物体の慣性航法データと、前記可動物体の姿勢情報を特定するためのセンサデータとを統合することにより、前記動き情報を取得する請求項２４に記載の可動物体。
【請求項２６】
前記プロセッサは、前記目標物と前記可動物体との間の推定距離から初期半径を決定し、該初期半径に基づいて前記可動物体の初期速度を決定し、前記目標物の周囲に前記初期半径を持つ曲線パスに沿って前記初期速度で前記可動物体を移動する請求項２４に記載の可動物体。
【請求項２７】
前記プロセッサは、
複数の画像のそれぞれの取得時点に対応する動き情報に基づいて前記複数の画像のそれぞれに対応して複数の推定カメラ姿勢を取得し、
前記センサからの検出データに基づいて前記複数の画像の一つであるキーフレームと、該キーフレームの後に取り込まれた画像フレームとの間のカメラ姿勢関係を取得し、該カメラ姿勢関係が事前設定条件を満たすかどうかを判定し、前記事前設定条件を満たすカメラ姿勢関係に応じて、複数の画像のうちの１つとして画像フレームを選択する、
請求項２５に記載の可動物体。
【請求項２８】
前記プロセッサは、
第１のカメラ姿勢関係が前記事前設定条件を満たさないことに応答して、前記キーフレームと、第１の画像フレームの後に取り込まれた第２の画像フレームとの間の第２のカメラ姿勢関係を取得することと、
第２のカメラ姿勢関係が前記事前設定条件を満たすかどうかを判定し、前記第２のカメラ姿勢関係が前記事前設定条件を満たすことに応答して、第２の画像フレームを複数の画像のうちの１つとして選択することにより、前記画像フレームを選択する請求項２７に記載の可動物体。
【請求項２９】
前記事前設定条件は、回転閾値または変位閾値の少なくともいずれかを含み、
前記カメラ姿勢関係は、前記キーフレームを捉える瞬間から画像フレームを捉える瞬間までの回転変化、および、前記キーフレームを捉える瞬間から画像フレームを捉える瞬間までの前記カメラの位置変化のうちの少なくともいずれかを含み、
前記カメラ姿勢関係が事前設定条件を満たすかどうかを判断することは、
回転変化が回転閾値未満であることに応答して、カメラ姿勢関係が前記予め設定された条件を満たすと判定すること、および、
回転変化が回転閾値よりも小さく、位置変化が変位閾値よりも大きいことに応答して、前記カメラ姿勢関係が前記予め設定された条件を満たすと判定すること、
の少なくともいずれかを含む、請求項２７に記載の可動物体。
【請求項３０】
前記可動物体本体は支持機構を介して複数のカメラを支持し、
前記プロセッサは、
前記複数のカメラからの複数の画像のそれぞれに対応する動き情報に基づいて、複数の推定カメラ姿勢を取得し、
複数の画像内の複数の特徴点の二次元（２Ｄ）位置を追跡し、
複数の特徴点の３次元（３Ｄ）位置および複数の画像内の複数の特徴点の２Ｄ位置に基づいてカメラ姿勢情報と、複数の画像の取得時点に対応する可動物体のカメラを支持する支持機構のステータス情報とを取得し、さらに、前記目標物または前記測定対象物に関連付けられた１つまたは複数の特徴点の３Ｄ位置と、カメラ姿勢情報によって示されるカメラの３Ｄ位置とに従って、前記目標物または前記測定対象物と前記可動物体との間の距離を計算する、
請求項２４に記載の可動物体。
【請求項３１】
前記可動物体本体は支持機構を介して複数のカメラを支持し、
前記センサは、加速度計およびジャイロスコープの少なくともいずれかを含み、
前記動き情報は、前記加速度計、前記ジャイロスコープ、および前記支持機構のうちの少なくとも１つによって収集されたデータを含む、
請求項２５に記載の可動物体。
【請求項３２】
前記プロセッサは、
前記目標物と前記可動物体との間の距離に基づいて前記目標物または前記測定対象物のサイズを計算する請求項２４に記載の可動物体。
【請求項３３】
前記プロセッサは、前記複数の画像のうちの１つに含まれる目標物以外の少なくとも１つの物体を自動的に特定し、ユーザからの指示に基づいて、特定された前記物体から前記測定対象物を取得する請求項２４に記載の可動物体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、距離測定方法、プログラム、距離測定システム、および可動物体に関し、より詳細には、例えば無人航空機（ｕｎｍａｎｎｅｄ  ａｅｒｉａｌ  ｖｅｈｉｃｌｅ；ＵＡＶ）を用いた距離測定方法を対象とする。
【背景技術】
【０００２】
特定の建物や看板までの距離を測定することは、多くの産業活動で必要とされている。従来のレーザ測距方法は煩雑であり、特殊な機器を必要とする。アクセスしにくい場所では、測定方法はさらに制限される。
【０００３】
今日の技術開発と共に、無人航空機（以下、単に「ＵＡＶ」と称する。）のような航空機を含む可動物体が様々な用途で使用されてきた。ＵＡＶを使用する既存の距離測定技術は、ＵＡＶの全地球測位システム（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ；ＧＰＳ）位置を利用すること、または複雑であるか効果的でない場合があり得るＵＡＶ上に専用のレーザ測距装置を取り付けることを含む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開番号第２０１７／００４７９９号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
可動物体において距離測定のための自律動作を開発する要求が高まっている。
本発明は、距離測定方法、プログラム、距離測定システム、および可動物体を提供することを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、カメラを搭載した可動物体を使用した距離測定方法が提供され、該距離測定方法は、
測定の対象である目標物を特定することと、
可動物体の移動中であってカメラが前記目標物を追跡しているときに、前記カメラによって前記目標物を撮影し、複数の画像を取得することと、
前記複数の画像の取得時点に対応する可動物体の動き情報を収集することと、
前記動き情報と前記複数の画像とに基づいて前記目標物と前記可動物体との間、または測定対象物と前記可動物体との間の距離を計算することと、
を備える。
【０００７】
本発明の第２の態様によれば、上述の距離測定方法をコンピュータに実行させるためのプログラムが提供される。
【０００８】
また、本発明の第３の態様によれば、カメラを搭載した外部の可動物体を使用して距離を測定するシステムが提供され、該距離測定システムは、
プロセッサと、
前記プロセッサに距離測定を実行させるためのプログラムを格納するメモリと、
可動物体から送信される複数の画像の表示を可能にするとともに、表示される画像を用いてユーザが目標物を特定するためのユーザインタフェイスと、
を備え、
前記複数の画像は、可動物体の移動中に前記目標物を追跡しているときに可動物体のカメラにより撮影されて前記プロセッサに送信され、
前記プロセッサは、ユーザによる前記目標物の特定を受けて前記目標物を追跡するための指示信号を生成して可動物体に送信し、さらに、前記複数の画像の取得時点に対応する可動物体の動き情報を収集し、収集した動き情報と前記複数の画像とに基づいて前記目標物と可動物体との間の距離を計算する。
【０００９】
さらに、本発明の第４の態様によれば、可動物体が提供され、該可動物体は、
可動物体本体と、 
前記可動物体本体に揚力および推力の少なくともいずれかを与えて任意の移動を可能にする推進機構と、
前記可動物体本体に搭載され、可動物体の移動中に画像を撮影するカメラを含む検知装置と、
ユーザからの指示信号を受けて目標物を特定し、前記カメラからの複数の画像の取得時点に対応する前記可動物体の動き情報を収集し、該動き情報と前記複数の画像とに基づいて前記目標物と前記可動物体との間、または測定対象物と前記可動物体との間の距離を計算するプロセッサと、
を備える。
【発明の効果】
【００１０】
本発明の実施形態によれば、ユーザによって選択された物体の距離測定をリアルタイムで直感的で便利に提供でき、速い計算速度で信頼できる測定結果を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明のいくつかの例示的実施形態における距離測定のための動作環境の略図の一例である。
【図２】本発明のいくつかの例示的実施形態による可動物体を示す略図の一例である。
【図３】本発明の例示的な一実施形態によるＵＡＶの画像センサの例を示す図の一例である。
【図４】本発明の例示的な一実施形態によるコンピューティングデバイスを示す概略ブロック図の一例である。
【図５】本発明の例示的な一実施形態による距離測定プロセスの概略手順を示すフローチャートの一例である。
【図６】本発明の例示的な一実施形態による目標物の特定に関連するグラフィカルユーザインタフェイスの一例を示す図である。
【図７Ａ】本発明の例示的な一実施形態によるスーパーピクセル領域分割の結果を示す画像の一例である。
【図７Ｂ】図７Ａに示す画像の拡大部分の一例を示す図である。
【図８】本発明の例示的な一実施形態による距離計算プロセスの一例を示すフローチャートの一例である。
【図９】本発明の例示的な一実施形態によるキーフレーム抽出プロセスを示す図の一例である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態のいくつかについて図面を参照しながら説明する。添付の図面は、あくまでも本願発明の理解を容易にするためのものであり、本発明の範囲を限定することを意図するものでは決してない。図面において同一または対応する要素・部材には同一の参照符号を付し、その重複説明は適宜省略する。また、図中の各部材の形状・サイズについては、説明を容易にするため、適宜拡大・縮小・省略するために現実の縮尺・比率とは合致していない場合がある。また、「実質的に」の用語は、測定誤差をも含む趣旨で使用される。
【００１３】
また、以下で使用される第１、第２等のような用語は、同一又は相応する構成要素を区別するための識別記号に過ぎなく、同一又は相応する構成要素が、第１、第２等の用語によって限定されるものではない。
【００１４】
また、結合とは、各構成要素間の接触関係において、各構成要素間に物理的に直接接触される場合だけを意味するのではなく、他の構成が各構成要素間に介在され、その他の構成に構成要素がそれぞれ接触されている場合まで含む概念である。
【００１５】
（１）動作環境
図１は、本発明のいくつかの例示的実施形態における距離測定のための動作環境の概略を示すブロック図の一例である。
【００１６】
図１は、本開示の例示的な実施形態による動作環境を示す概略ブロック図である。図１に示すように、可動物体１００は無線でリモートコントローラ１０４と通信することができる。可動物体１００は、例えば、無人航空機（ＵＡＶ）、無人自動車、移動ロボット、無人ボート、潜水艦、宇宙船、衛星などであり得る。リモートコントローラ１０４は、通常の制御装置の他、可動物体１００を制御することができるアプリケーション（ａｐｐ）を備えた端末装置とすることができる。端末装置は、例えば、スマートフォン、タブレット、ゲーム装置などであり得る。可動物体本体１０２はカメラ１０２２を搭載することができる。可動物体１００のカメラ１０２２によって取得された画像またはビデオ（例えば、連続的な画像フレーム）は、リモートコントローラ１０４に送信され、リモートコントローラ１０４に結合されたスクリーンに表示されてもよい。本明細書で使用されるとき、リモートコントローラ１０４に結合された画面は、リモートコントローラ１０４に埋め込まれた画面、および、リモートコントローラ１０４に動作可能に接続された表示装置の画面の少なくともいずれかを指すことができる。表示装置は、例えば、スマートフォンまたはタブレットとすることができる。カメラ１０２２は、可動物体１００の支持機構１０２４（例えば、ジンバル）によって支持された可動物体本体１０２の搭載物であり得る。カメラ１０２２は目標物１０６を追跡することができ、カメラ１０２２によって取得された画像は目標物１０６を含み得る。本明細書で記載される「カメラによる物体の追跡」は、物体を含む１つまたは複数の画像を取得するためにカメラを使用することを指すことがある点に留意されたい。例えば、カメラ１０２２は、可動物体１００が特定のパターンで動いている間に、目標物１０６の複数の画像を取得することができる。目標物１０６とカメラ１０２２との間の相対位置は、可動物体１００の移動によって変化する可能性があるので、目標物１０６は、複数の画像内の異なる位置に現れる可能性がある。取得された複数の画像は、目標物以外の１つまたは複数の背景物体も含むことができ、背景物体も複数の画像内の異なる位置に現れることがあることを理解されたい。可動物体１００は、直線、ポリライン、円弧、曲線経路などに沿って移動するなど、任意の適切なパターンで移動することができる。移動パターンは、予め決められていてもよいし、可動物体１００のセンサからのフィードバックに基づいてリアルタイムで調整されてもよい。可動物体本体１０２に搭載された、または搭載されていない１つまたは複数のプロセッサ（例えば、ＵＡＶ上のプロセッサおよびリモートコントローラ１０４内のプロセッサの少なくともいずれか）は、例えば、カメラ１０２２によって取得された画像、および、可動物体１００によって収集された他のセンサデータの少なくともいずれかを分析することによって、可動物体１００（例えばカメラ１０２２）と目標物１０６との間の距離を計算するように構成される。
【００１７】
（２）可動物体
以下、可動物体の一例としてＵＡＶを取り上げて本発明に係る可動物体のいくつかの例示的実施形態について説明する。
【００１８】
図２は、例示的な一実施形態であるＵＡＶを示す略図の一例である。図２に示すように、本実施形態のＵＡＶ２００（例えば、図１に示す可動物体１００）は、検知システム２０２、推進システム２０４、通信回路２０６、および搭載コントローラ２０８を含むことができる。
【００１９】
推進システム２０４は、（例えば、搭載コントローラ２０８およびリモートコントローラ１０４の少なくともいずれかからの制御信号に応答して）ＵＡＶ２００が所望の運動を実行できるように構成されてよい。例えば、表面からの離陸、または表面への着陸、特定の位置および方向の少なくともいずれかでのホバリング、特定の経路に沿った移動、特定の方向への特定の速度での移動などである。推進システム２０４は、ＵＡＶ２００に揚力および推力の少なくともいずれかを提供してＵＡＶ２００の移動を可能にするために、１つまたは複数の任意の適切なプロペラ、ブレード、ローター、モーター、エンジンなどを含み得る。通信回路２０６は、無線通信を確立し、外部のリモートコントローラ１０４とのデータ送信を実行するように構成されてもよい。送信データは、センシングデータおよび制御データの少なくともいずれかを含み得る。搭載コントローラ２０８は、（例えば、検知システム２０２からの検知データの分析に基づいて）ＵＡＶ２００に搭載された１つ以上の部品、またはＵＡＶ２００と通信する外部装置の動作を制御するように構成され得る。
【００２０】
搭載コントローラ２０８は、後述する距離測定方法の一連の手順が記述されたプログラムを格納する図示しないメモリに接続され、当該プログラムを読み出して実行することにより、目標物とＵＡＶ２００との間、または測定対象物とＵＡＶ２００との間の距離測定を行う。ただし、搭載コントローラ２０８および図示しないメモリは、後述する上述した距離測定のための機能の全てを実行可能なものである必要はなく、検知システム２０２、推進システム２０４および通信回路２０６の操作に必須の機能を除き、その他の機能、特に高負荷の機能を、例えばクラウドコンピューティングなどを利用して外部の装置に実行させてもよい。この点は、後述する距離測定システム（プロセッサ４０４及び記憶媒体４０２）についても同様である。
【００２１】
検知システム２０２は、ＵＡＶ２００の空間配置、速度、および加速度の少なくともいずれか（例えば、互いに直交する３方向における並進および３度までの回転の少なくともいずれかに関連したＵＡＶ２００の姿勢）を検知することができる１つまたは複数のセンサを含むことができる。センサの例として、位置センサ（たとえば、全地球測位システム（ＧＰＳ）センサ、位置三角測量を可能にするモバイルデバイス送信機）、画像センサ（たとえばカメラ１０２２などの、可視、赤外線および紫外線の少なくともいずれかを検知可能な撮像デバイス、近接センサ（超音波センサ、ＬＩＤＡＲ、飛行時間型カメラなど）、慣性センサ（たとえば加速度計、ジャイロスコープ、慣性測定ユニット（ＩＭＵ））、高度センサ、圧力センサ（例えば気圧計）、音声センサ（例えばマイクロフォン）または磁場センサ（例えば磁力計、電磁気センサ）を挙げることができるが、これらに限定されない。任意の適切な数および組み合わせの少なくともいずれかのセンサを検知システム２０２に含めることができる。検知システム２０２によって収集および分析の少なくともいずれかがなされた感知データを使用して、（例えば、搭載コントローラ２０８およびリモートコントローラ１０４の少なくともいずれかなどの適切な処理ユニットを使用して）ＵＡＶ２００の空間配置、速度、および向きの少なくともいずれかを制御することができる。さらに、検知システム２０２を使用して、潜在的な障害物への近接、地理的特徴の位置、人工構造物の位置など、ＵＡＶ２００を囲む環境に関するデータを提供することができる。
【００２２】
いくつかの実施形態では、ＵＡＶ２００は、ＵＡＶ２００によって運ばれる搭載物を支持するための支持機構をさらに含み得る。支持機構は、ＵＡＶ２００の中央／本体に対して自由度１度、２度、または３度で搭載物が動くことができるように、搭載物の動きおよび向きの少なくともいずれかを（たとえば、搭載コントローラ２０８からの制御信号に応答して）搬送および制御するジンバルを含むことができる。搭載物はカメラ（例えば、カメラ１０２２）であり得る。いくつかの実施形態では、搭載物はＵＡＶ２００に固定的に連結されてもよい。
【００２３】
いくつかの実施形態では、検知システム２０２は少なくとも加速度計、ジャイロスコープ、ＩＭＵ、および画像センサを含む。加速度計、ジャイロスコープ、およびＩＭＵは、ＵＡＶ２００の中央／本体に配置されてもよい。画像センサは、ＵＡＶ２００の中央／本体内に配置されたカメラであっても、またはＵＡＶ２００の搭載物であってもよい。ＵＡＶ２００の搭載物がジンバルによって運ばれるカメラを含むとき、検知システム２０２は、例えば、光電式エンコーダ、ホール効果センサ、および、ジンバルに配置された、またはジンバル内に埋め込まれた第２の組の加速度計、ジャイロスコープ、およびＩＭＵの少なくともいずれかなどの、搭載物カメラの姿勢情報の収集および測定の少なくともいずれかを行うための他の構成要素をさらに含み得る。
【００２４】
いくつかの実施形態では、検知システム２０２は複数の画像センサをさらに含み得る。図３は、本開示の例示的実施形態によるＵＡＶの画像センサの例を示す。図３に示すように、ＵＡＶは、搭載物としてジンバルによって運ばれるカメラ２０２２と、２つのレンズ（これらは共にステレオビジョンカメラを構成する）を含む前方視システム２０２４と、ステレオビジョンカメラを含む下方視システム２０２６とを含む。任意の画像センサによって収集された画像／ビデオは、ＵＡＶのリモートコントローラ１０４に送信されて表示されてもよい。いくつかの実施形態において、カメラ２０２２はメインカメラと呼ばれることがある。目標物１０６（図１参照）までの距離は、複数の画像を撮像する際のメインカメラのカメラ姿勢を追跡し、撮像された目標物１０６を含む複数の画像を解析することによって測定することができる。いくつかの実施形態において、ジンバルによって運ばれるカメラ２０２２は、カラー画像を取り込む単眼カメラであり得る。
【００２５】
本実施形態のＵＡＶにおいて使用されるカメラモデルでは、カメラ行列を使用して、三次元（３Ｄ）世界座標から二次元（２Ｄ）画素座標への射影マッピングを記述する。［ｕ，ｖ，１］Ｔが均質／射影座標における２Ｄ点位置（例えば、画像内の点の２Ｄ座標）を表し、そして、［ｘｗ，ｙｗ，ｚｗ］Ｔが世界座標における３Ｄ点位置（例えば、実世界における３Ｄ位置）を表すものとする。ここで、ｚCはカメラの光学中心からのＺ軸、Ｋはカメラ較正行列、Ｒは回転行列、Ｔは並進行列を表す。世界座標からピクセル座標へのマッピング関係は、次のように記述できる。
2020030204.tif 000003
【００２６】
カメラ較正行列Ｋは、カメラの固有パラメータを記述する。有限射影カメラの場合、その固有行列Ｋには5つの固有パラメータが含まれる。
2020030204.tif 000004
【００２７】
ここで、fは距離に対するカメラの焦点距離である。パラメータαｘ＝ｆｍｘ，αｙ＝ｆｍｙは、ピクセル単位での焦点距離を表す。ここで、ｍｘおよびｍｙは、ピクセルを単位距離に関連づける（たとえば、ピクセル座標系の）ｘ軸およびｙ軸方向のスケールファクタ、すなわち、1インチなどの単位距離に対応するピクセルの数である。ＣＣＤ（カップルドデバイス）カメラではピクセルは正方形ではないため、γはＸ軸とＹ軸の間のスキュー係数を表す。μo，ｖoは、いくつかの実施形態では画像の中心にある主点の座標を表す。
【００２８】
回転行列Ｒおよび並進行列Ｔは、カメラの外部パラメータであり、これは、３Ｄ世界座標から３Ｄカメラ座標への座標系変換を表す。
【００２９】
前方視システム２０２４および下方視システム２０２６の少なくともいずれかは、グレースケールステレオ画像対を取り込むステレオカメラを含み得る。カメラ２０２２の知覚範囲は、ステレオカメラの知覚範囲よりも大きくてもよい。ＵＡＶの視覚走行距離（ＶＯ）回路は、前方視システム２０２４および下方視システム２０２６の少なくともいずれかのステレオカメラによって収集された画像データを分析するように構成されてもよい。ＵＡＶのＶＯ回路は、収集されたグレースケールステレオ画像データに基づいてＵＡＶの位置および動きを追跡するために任意の適切な視覚走行距離測定アルゴリズムを実装することができる。視覚オドメトリアルゴリズムは、一連の取得画像内の複数の特徴点の位置変化（すなわち、特徴点のオプティカルフロー）を追跡することと、特徴点のオプティカルフローに基づいてカメラの動きを取得することとを含み得る。いくつかの実施形態では、前方視システム２０２４および下方視システム２０２６の少なくともいずれかは、ＵＡＶに固定的に結合され、したがって、ＶＯ回路によって取得されたカメラの動きおよび姿勢の少なくともいずれかは、ＵＡＶの動きおよび姿勢の少なくともいずれかを表すことができる。第１の取得時点における１つの画像から第２の取得時点における別の画像への特徴点の位置変化を分析することによって、ＶＯ回路は、２つの取得時点の間のカメラ／ＵＡＶ姿勢関係を得ることができる。本明細書で使用されるように、任意の２つの瞬間（すなわち、時点）間のカメラ姿勢関係またはＵＡＶ姿勢関係は、次のように説明され得る：第１の瞬間から第２の瞬間までのカメラまたはＵＡＶの回転変化、および最初の瞬間から２番目の瞬間までのカメラまたはＵＡＶの空間位置。本明細書で使用されるように、取得モーメントは、画像／フレームがＵＡＶ上のカメラによって取得される時点を指す。ＶＯ回路は、（例えば、視覚慣性走行距離測定アルゴリズムを実装することによって）向上した精度でカメラ／ＵＡＶの姿勢を取得するために慣性航法データをさらに統合することができる。
【００３０】
（３）距離測定システム
以下、本発明に係る距離測定システムのいくつかの実施の形態について図面を参照しながら説明する。以下では、図４に示すコンピューティングデバイス４００を取り上げて説明するが、勿論これに限ることなく他の様々な実施形態が可能である。
【００３１】
図４は、本開示の例示的な実施形態によるコンピューティングデバイス４００を示す概略ブロック図の一例である。コンピューティングデバイス４００は、可動物体１００およびリモートコントローラ１０４の少なくともいずれかの内に実装することができ、本開示と一致する距離測定方法を実行するように構成することができる。図４に示すように、コンピューティングデバイス４００は、少なくとも１つのプロセッサ４０４、少なくとも１つの記憶媒体４０２、および少なくとも１つのトランシーバ４０６を含む。本開示によれば、少なくとも１つのプロセッサ４０４、少なくとも１つの記憶媒体４０２、および少なくとも１つのトランシーバ４０６は、別々の装置とすることができ、またはそれらのうちの任意の２つ以上を１つの装置に統合することができる。いくつかの実施形態では、コンピューティングデバイス４００はディスプレイ４０８をさらに含み得る。
【００３２】
少なくとも１つの記憶媒体４０２は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ、フラッシュメモリ、揮発性メモリ、ハードディスク記憶装置、またはハードディスク記憶媒体などの非一時的コンピュータ可読記憶媒体を含むことができる。光媒体少なくとも１つのプロセッサ４０４に結合された少なくとも１つの記憶媒体４０２は、命令およびデータの少なくともいずれかを記憶するように構成されていてもよい。例えば、少なくとも１つの記憶媒体４０２は、ＩＭＵによって収集されたデータ、カメラによって取得された画像、距離測定プロセスを実施するためのコンピュータ実行可能命令などを記憶するように構成され得る。
【００３３】
少なくとも１つのプロセッサ４０４は、マイクロプロセッサ、マイクロコントローラ、中央処理装置（ＣＰＵ）、ネットワークプロセッサ（ＮＰ）、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路などの任意の適切なハードウェアプロセッサを含むことができる。回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネント。少なくとも１つの記憶媒体４０２は、少なくとも１つのプロセッサ４０４によって実行されると、少なくとも１つのプロセッサ４０４並びに少なくとも１つのトランシーバ４０６の少なくともいずれかを制御して本開示と一致する距離測定方法を実行するコンピュータプログラムコードを記憶する。以下に記載される例示的な方法のうちの１つのようなものである。いくつかの実施形態では、コンピュータプログラムコードはまた、少なくとも１つのプロセッサ４０４を制御して、上述のように可動物体および遠隔制御の少なくともいずれかによって実行することができる機能のいくつかまたはすべてを実行する。これらの機能のいずれもまたコンピューティングデバイス４００の例となり得る。
【００３４】
少なくとも１つのトランシーバ４０６は、少なくとも１つのプロセッサ４０４によって制御されて、他の装置へのデータ送信および別の装置からのデータ受信の少なくともいずれかを行う。少なくとも１つのトランシーバ４０６は、有線および無線通信の少なくともいずれかに適した任意の数の送信機および受信機の少なくともいずれかを含み得る。トランシーバ４０６は、任意のサポートされている周波数チャネルでの無線通信のための１つ以上のアンテナを含み得る。
【００３５】
ディスプレイ４０８は、コンピューティングデバイス４００内のコンテンツを表示するための、または別のデバイスから送信されるコンテンツを表示するための１つまたは複数の画面を含み得る。例えば、可動物体のカメラにより取得された画像／ビデオを表示し、目標物を決定して入力することをユーザに要求するためのグラフィカルユーザインタフェイス、目標物までの測定距離を示すグラフィカルユーザインタフェイスなどを表示する。いくつかの実施形態では、ディスプレイ４０８は、ユーザによるタッチ入力／ジェスチャを受け取るように構成されたタッチスクリーンディスプレイとすることができる。いくつかの実施形態では、コンピューティングデバイス４００は、ジョイスティック、コントロールパネル、スピーカなどの他のＩ  ／  Ｏ（入力／出力）デバイスを含み得る。動作中、コンピューティングデバイス４００は、以下に示す態様の距離測定方法を実施することができる。
【００３６】
（４）距離測定方法
上述したＵＡＶまたは距離測定システムを用いた距離測定について、本発明に係る距離測定方法の一実施形態として図面を参照しながら以下に説明する。
【００３７】
本実施形態では、ＵＡＶに搭載された複数のカメラから取得された複数の撮影画像と、これら複数の画像の撮影時刻に対応する動き情報とに基づいて該ＵＡＶから目標物までの距離を計算する。後述するように、好適な実施態様としてＵＡＶ自身の慣性測定ユニット（ＩＭＵ）からの慣性航法データを、カメラから取得された撮影画像のデータと統合することによって、ユーザによって選択された物体からの距離をリアルタイムで測定できる。開示される方法は直感的で便利であり、そして速い計算速度で信頼できる測定結果を提供することができる。
【００３８】
図５は、本発明の例示的な一実施形態による距離測定プロセスの概略手順を示すフローチャートの一例である。
【００３９】
図５に示す距離測定プロセスは、例えば前述した可動物体１００およびリモートコントローラ１０４の少なくともいずれかによって実行することができ、また、プロセッサ、記憶媒体、および可動物体に搭載されたカメラを含むシステムによっても実行可能である。
【００４０】
記憶媒体は、プロセッサにより読み出して実行可能なコンピュータ可読命令を格納することができ、コンピュータ可読命令は、開示された距離測定方法をプロセッサに実行させることができる。本明細書では、説明を容易にするため、ＵＡＶを可動物体１００の一例として使用する。しかしながら、開示された方法は他の任意の適切な可動物体によって実施され得ることは勿論である。
【００４１】
図５を参照すると、本実施形態による距離測定方法は、まず、測定対象である目標物を特定することを含む（ステップＳ５０２）。この目標物は、ユーザ入力に基づいて画像から識別される。画像は例えば図１に示すカメラ１０２２によって取得され、リモートコントローラ１０４に表示されたものでよい。
【００４２】
いくつかの実施形態では、リモートコントローラ１０４の他、スマートフォン、スマートタブレット、スマートメガネなどのヒューマンマシンインタラクション端末は、目標物に対するユーザ選択を受け取ることができる。図６は、本本発明の例示的な一実施形態による目標物の特定に関連するグラフィカルユーザインタフェイスの一例である。図６に示すように、グラフィカルユーザインタフェイスは初期画像６０２を表示してもよい。初期画像６０２は、ＵＡＶと通信しているリモートコントローラの画面上に表示されてもよい。初期画像６０２は、ＵＡＶによって取得され、ＵＡＶから送信されたリアルタイム画像であり得る。遠隔制御は、ユーザが初期画像６０２内の目標領域６０４を特定することを可能にし得る。目標領域６０４は、例えば目標領域の中心でのシングルタップ、目標領域内の任意の位置でのダブルタップ、第１のコーナ点でのシングル／ダブルタップ、およびターゲット領域のバウンディングボックスを定義する第２のコーナ点でのシングル／ダブルタップタップをダブルタップする、ターゲット領域を囲む形状の自由描画、またはターゲット領域のバウンディングボックスを定義する始点と終点を有するドラッグ操作などのユーザ選択に基づいて特定することができる。ユーザ入力が目標物に対応するものとして画像内の１つの点のみを識別するとき、複数のセグメント化された画像セクションを得るために画像セグメンテーションプロセスが実行され、ターゲット領域は識別されたポイントを含むセグメント化セクションとして決定され得る。いくつかの実施形態では、ユーザ入力は物体名または物体のタイプであり得る。名前／タイプに基づいて初期画像内の１つまたは複数の物体を識別するためにパターン認識または画像分類アルゴリズムを実施することができ、ユーザによって入力された名前またはタイプと一致する物体が目標物として決定される。
【００４３】
いくつかの実施形態では、ＵＡＶのカメラが目標物を追跡している間（すなわち、目標物を含む画像を取得している間）、ユーザは、たとえば次のようにして取得画像に含まれる別の物体までの距離を測定することを要求できる。この要求は、例えば上記グラフィカルユーザインタフェイスに表示された画像において上記測定目標物に対応する領域を選択すること、または上記測定目標物の名称または種類を入力することにより可能である。測定目標物は、目標物の背景物であってもよい。言い換えれば、ＵＡＶのカメラによって取得された複数の画像には、目標物と背景物体の両方が含まれる。
【００４４】
いくつかの実施形態において、測定対象物を特定することは、グラフィカルユーザインタフェイス上に表示された複数の画像のうちの１つの中の領域のユーザ選択を取得することと、選択された領域に基づいて測定対象物を取得することを含むことがある。例えば、図６に示すように、ユーザは、測定対象物に対応する領域として領域６０６を選択してもよい。
【００４５】
いくつかの他の実施形態では、測定対象物を特定することは、以下を含むことができる：
１）複数の画像のうちの１つに含まれる目標物以外の少なくとも１つの物体を自動的に特定する
２）測定対象物を指定するユーザ指示を受信する
３）前記ユーザ指示に基づいて、前記特定された少なくとも１つの物体から前記測定対象物を取得する。
【００４６】
パターン認識または画像分類アルゴリズムを実施して、名前、種類、または他の物体特性に基づいて、取り込まれた画像内の１つまたは複数の物体を自動的に特定することができる。例えば、特定された物体は、傘、オレンジ色の車、平らな屋根の上の建物などである。また、ユーザによって入力された名称または種類に一致するものが目標物として決定される。物体の特定は、特定の名前またはタイプについてのユーザ入力を受け取った後に実行され得る。代替的に、複数の特定された物体を（例えば、物体の名前／特徴を列挙することによって、または画像内の物体に対応する境界ボックスを表示することによって）グラフィカルユーザインタフェイス上で提示することができ、一つの物体のユーザ選択（例えば、１つの名前または１つのバウンディングボックスについての選択）を受けて、目標物が決定される。
【００４７】
いくつかの実施形態では、画像内の物体を特定することは、その物体を表す画像内の領域を特定することを含み得る。例えば、目標物を特定することは、ユーザ入力に基づいて目標物を表す初期画像内の領域を特定することを含み得る。初期画像内の目標物を特定する際の以下の開示された手順は、任意の適切な画像内の任意の適切な物体を特定する際に適用することができることを理解することができる。いくつかの実施形態では、目標領域は、目標物を表す領域と見なされる。いくつかの実施形態では、目標領域のユーザ選択は正確な操作ではない場合があり、最初に特定された目標領域は目標物のおおよその位置およびサイズを示す場合がある。目標物を表す領域は、例えばスーパーピクセル領域分割法を実施することによって、初期画像に従って目標領域を精緻化することによって得ることができる。
【００４８】
スーパーピクセルは、類似のテクスチャ、色、および輝度レベルの少なくともいずれかを有する一群の連結ピクセルを含むことができる。スーパーピクセルは、特定の視覚的意義を有する不規則な形状のピクセルブロックであり得る。スーパーピクセル領域分割は、画像を複数の重ならないスーパーピクセルに分割することを含む。一実施形態では、初期画像のスーパーピクセルは、画素の画像特徴に基づいて初期画像の画素をクラスタリングすることによって得ることができる。単純線形反復クラスタリング（ＳＬＩＣ）アルゴリズム、グラフベースの領域分割アルゴリズム、Ｎカット領域分割アルゴリズム、ターボピクセル領域分割アルゴリズム、クイックシフト領域分割アルゴリズム、グラフカット領域分割アルゴリズム、グラフカットｂ領域分割アルゴリズムなど、任意の適切なスーパーピクセル領域分割アルゴリズムを使用することができる。スーパーピクセル領域分割アルゴリズムは、カラー画像とグレースケール画像の両方に使用できることを理解することができる。
【００４９】
また、目標領域内に位置する１つ以上のスーパーピクセルを取得し、該１つ以上のスーパーピクセルによって形成される領域を、目標物を表す領域として特定することができる。目標領域の外側にあるスーパーピクセルは除外される。目標領域内に部分的に位置するスーパーピクセルの場合、目標領域内に位置するスーパーピクセル内のピクセル数をスーパーピクセル内の全ピクセル数で割ることによって占有率を決定することができる。占有率が予め設定された閾値（例えば、５０％）より大きい場合、スーパーピクセルは目標領域に位置していると見なすことができる。事前設定の閾値は実際の用途に基づいて調整することができる。
【００５０】
図７Ａは、本発明の例示的な一実施形態によるスーパーピクセル領域分割の結果を示す画像の一例である。図７Ｂは、図７Ａに示す画像の拡大部分の一例を示す図である。図７Ｂを参照すると、スーパーピクセル７０４、７０６、および７０８を含む、複数のスーパーピクセルが全体的にまたは部分的にユーザ選択の目標領域７０２内に配置されている。スーパーピクセル７０４は、目標領域７０２に完全に囲まれており、目標物を表す領域に含まれると見なされる。いくつかの実施形態では、事前設定の占有率しきい値は５０％であり得る。したがって、これらの実施形態では、図７Ｂのスーパーピクセル７０６は、その５０％未満が目標領域７０２内に位置するため、スーパーピクセル７０６は目標物を表す領域から除外される。一方、スーパーピクセル７０８は、５０％を超えるスーパーピクセル７０８が目標領域７０２内に配置されているため、目標物を表す領域に含まれる。
【００５１】
いくつかの実施形態では、開示された方法は、目標物を特定した後に妥協された測定精度を示す警告メッセージを提示することを含み得る。場合によって、目標物が潜在的に速く動いているとき、または目標物が追跡するのに十分な詳細を含まないときなど、目標物は、測定精度に影響を及ぼす特定の特性を有することがある。リモートコントローラは、目標物が１つまたは複数の特定の特性を有すると判断した場合、警告メッセージおよび、測定精度を潜在的に妥協した理由を提示することがある。いくつかの実施形態では、警告メッセージは、測定を放棄または続行するオプションをさらに含むことができ、測定ステップは、ユーザ入力に基づく確認選択を受け取った後に続けることができる。
【００５２】
いくつかの実施形態において、開示された方法は、目標物が動いている物体であるかどうかを判定することを含み得る。いくつかの実施形態では、開示された方法は、目標物が動いている物体であると決定された場合に妥協された測定精度を示す警告メッセージを提示することをさらに含み得る。例えば、畳み込みニューラルネットワーク（ＣＮＮ）を目標物上に実行して、目標物の種類を特定することができる。目標物の種類は、例えば、人、動物、自動車、航空機、ボートなど、目標物が移動する可能性が高いことを示す移動性の高い種類や、ドアや椅子など、移動の可能性が低いことを示す移動性の低い種類や、建物、木、道路標識などの移動不可の種類のいずれであってもよい。警告メッセージはそれぞれに応じて表示され得る。いくつかの実施形態では、目標物の移動速度が事前設定された閾値を下回るかどうかを判定することを含み得る。すなわち、目標物がある閾値速度を下回って移動した場合、目標物までの距離の正確な測定を提供することができる。この一方、目標物の移動速度が事前設定された閾値速度以上である場合、妥協された測定精度を示す警告メッセージを提示することがあり得る。
【００５３】
いくつかの実施形態における距離測定方法では、目標物に対応する目標特徴点（例えば、初期画像内の目標物を表す領域）を抽出し、ターゲット特徴点の量が事前設定の閾値量より少ないかどうかを判定するステップを含み得る。いくつかの実施形態における距離測定方法では、目標特徴点の量が事前設定の閾値量未満であることに応答して、妥協された測定精度を示す警告メッセージを提示することをさらに含み得る。目標物が一連の画像フレーム内で追跡され得るかどうかは、目標物が十分なテクスチャ詳細または十分な数量の特徴点を含むかどうかに基づいて判断され得る。特徴点は、ハリスコーナ検出器、ＨＯＧ（有向勾配ヒストグラム）特徴記述子などのような任意の適切な特徴抽出方法によって抽出することができる。
【００５４】
いくつかの実施形態では、目標物の目標領域が決定されると、リモートコントローラ上のグラフィカルユーザインタフェイスは、例えば、初期画像上に重なる目標領域の境界線または境界ボックス、潜在的に妥協された測定精度の決定に応じた警告メッセージ、並びに継続的な距離測定の確認および目標領域のさらなる編集の少なくともいずれかのオプションの少なくともいずれかを表示することができる。
【００５５】
図５に戻り、ＵＡＶが移動しているときにそのカメラが目標物を追跡して一連の画像を取得し、取得された画像をプロセッサが受信し得る（Ｓ５０４）。言い換えれば、ＵＡＶに搭載されているカメラは、ＵＡＶが動いているときに目標物を含む一連の画像を取得することができる。いくつかの実施形態では、画像取得は、ＵＡＶの日常的な（例えば、固定周波数での）動作であり得、リモートコントローラは、ＵＡＶから取得画像のリアルタイム送信を受信し、画面上に表示し得る。ＵＡＶのルーチン動作とは、ＵＡＶの飛行中に通常実行され得るＵＡＶの動作を指す。画像取得の他に、ルーチン操作は、移動制御が受信されないときに安定してホバリングすること、自動的に障害物を回避すること、遠隔制御からの制御コマンドに応答すること（例えば、リモートコントローラへのユーザ入力に基づく飛行高度、速度、および方向の少なくともいずれかの調整）、リモートコントローラでユーザによって選択された場所に向かって飛行すること、並びに、リモートコントローラへフィードバックを提供すること（例えば、位置および飛行状態を報告すること、リアルタイム画像を送信すること）の少なくともいずれかを含み得る。
【００５６】
ＵＡＶの移動方向および速度の少なくともいずれかを決定することは、距離測定を容易にする操作であり得る。距離測定プロセスの開始時に、ＵＡＶは、目標物の周囲に初期半径を有する円弧または曲線経路に沿って初期速度で移動し得る。目標物は、円弧または曲線経路の中心またはその近くに配置することができる。初期半径は、目標物とＵＡＶとの間の推定距離であり得る。いくつかの実施形態では、初期速度は初期半径に基づいて決定されてもよい。例えば、初速度は初期半径と正の相関関係を有してもよい。
【００５７】
いくつかの実施形態では、目標物とＵＡＶとの間の推定距離は、ＵＡＶの立体視カメラ（例えば、図３に示す前方視システム２０２４）から取得されたデータに基づいて決定され得る。例えば、ＵＡＶのメインカメラ（例えば、図３に示すカメラ２０２２）によって取得された初期画像内の目標物を特定した後、実質的に同じ瞬間にステレオカメラによって取得された画像を分析して深度マップを得ることができる。すなわち、深度マップは、目標物に対応する物体をも含み得る。対応する物体の深度は、目標物とＵＡＶとの間の推定距離として使用することができる。目標物とＵＡＶとの間の推定距離は、ＵＡＶ上の任意の適切な深度センサ、例えばレーザセンサ、赤外線センサ、レーダなどから得られたデータに基づいて決定され得ることが理解され得る。
【００５８】
いくつかの実施形態では、目標物とＵＡＶとの間の推定距離は、事前設定値に基づいて決定され得る。事前設定値は、（例えば、ＵＡＶのメインカメラの解像度に基づいて）ＵＡＶによって測定可能な最も遠い距離であり得る。例えば、深度マップにおいて目標物に対応する物体を特定することが困難である場合には、初期半径をそのまま設定値として決定してもよい。
【００５９】
いくつかの実施形態では、ＵＡＶが移動しているとき、例えばカメラによって取得された画像などのＵＡＶの感知データをフィードバックデータとして使用することができ、かつ、ＵＡＶの速度、ＵＡＶの移動方向、ＵＡＶの回転角度のうちの少なくとも１つ、またはカメラを支持するジンバルの回転角度は、フィードバックデータに基づいて調整され得る。そのようにして、閉ループ制御を実現することができる。フィードバックデータは、取り込まれた画像内の目標物に対応するピクセル座標を含み得る。いくつかの実施形態では、カメラを支持するジンバルの回転角度は、取得された画像に目標物が確実に含まれるように調整され得る。言い換えれば、目標物はカメラによって追跡される。場合によっては、目標物は、特定の所定の位置（例えば、画像中心）または特定の所定のサイズ（例えば、ピクセル単位）で追跡される。すなわち、フィードバックデータに基づいて判定されるように、目標物の一部が撮像画像内にない場合に、ジンバルの回転度合いを調整してもよい。例えば、目標物に対応する残りのピクセルが取得画像の上端に位置する場合、ジンバルは、次の取得画像が目標物全体を確実に含むようにカメラをある程度上方向に回転させることができる。いくつかの実施形態では、ＵＡＶの速度は、現在の画像内および以前に取得された画像内の目標物の位置差（たとえば、一致するスーパーピクセルの２Ｄ座標）に基づいて調整することができる。現在の画像および以前に取得された画像は、２つの連続して取得されたフレーム、または所定の間隔で取得されたフレームであり得る。例えば、位置差が第１の閾値より小さければ、ＵＡＶの速度を上げることができる。そして、位置差が第２の閾値よりも大きい場合、ＵＡＶの速度は遅くなる可能性がある。言い換えれば、２つの画像における目標物の位置の差が第１の閾値より小さいことは、冗長な情報が収集され分析されていることを示唆している。そこで、フレーム間に十分な位置を形成して計算パワー／リソースを確保し、測定プロセスをスピードアップするためＵＡＶの速度を上げてもよい。この一方、２つの画像における目標物の位置の差が大きいと、複数の撮像画像間で同じ特徴点を追跡することが困難になり、不正確な結果につながる可能性があるので、ＵＡＶの速度を下げて測定精度および安定性を確保する。いくつかの実施形態では、ユーザが目標物以外の背景物体までの距離を測定することを要求する場合、ＵＡＶおよびジンバルの少なくともいずれかの動きは、現在の画像および以前に取得した画像内の背景物体の位置差に基づいて調整され得る。
【００６０】
いくつかの実施形態では、ＵＡＶの動きは、ユーザ入力に基づいて手動で制御されてもよい。ＵＡＶの速度またはジンバルの回転度がフィードバックデータに基づいて調整されるべきであると決定するとき、遠隔制御はユーザに自動補正を要求するかまたは手動操作への提案を提供するように促し得る（例えばプロンプトメッセージの表示または「距離を測るために速度を落とす」などの音声メッセージを再生する。いくつかの実施形態では、手動入力が存在しない場合、ＵＡＶは、距離測定のための事前設定手順に基づいて自動飛行を実行することができる（例えば、上述のようにフィードバックデータに基づいて速度および半径を調整する）。
【００６１】
ＵＡＶが移動して画像を撮影している場合、画像の取得時点に対応するＵＡＶの動き情報も収集される（Ｓ５０６）。動き情報は、ＵＡＶが移動しているときの加速度計およびジャイロスコープの読み取り値など、ＵＡＶによって記録された様々なセンサデータを含み得る。いくつかの実施形態では、動き情報は、ジンバルの回転角度など、メインカメラを支持するジンバルの姿勢情報を含み得る。いくつかの実施形態では、動き情報は、ＵＡＶが移動しているときにＩＭＵおよびＶＯ回路から得られるＵＡＶ姿勢関係、ＵＡＶの姿勢情報（たとえば向きおよび位置）など、ＵＡＶのルーティング動作のために定期的に生成される他のセンサデータをさらに含み得る。世界座標系のＵＡＶは、ＩＭＵデータ、ＶＯデータ、およびＧＰＳデータの統合から取得される。目標物の画像を取得すること（Ｓ５０４）およびＵＡＶの動き情報を収集すること（Ｓ５０６）は、ＵＡＶが移動しているのと同時に実行され得ることが理解され得る。また、Ｓ５０４およびＳ５０６における撮影画像および収集された動き情報は、日常的な作業のために定期的に生成されたデータを含んでいてもよく、直接取得して測距に利用することができる。
【００６２】
複数の撮影画像に含まれる物体とＵＡＶとの間の距離は、複数の撮影画像と複数の画像の撮影時刻に対応する動き情報とに基づいて計算することができる（Ｓ５０８）。測定対象物は、目標物でもよいし、複数の画像に含まれる背景物でもよい。メインカメラによって取得された画像と共にＩＭＵおよびＶＯ回路からのデータを分析することによって、複数の画像の取得時点に対応する画像点の３Ｄ位置およびカメラ姿勢情報を決定することができる。さらに、複数の画像に含まれる目標物までの距離は、画像点の３Ｄ位置に基づいて決定することができる。距離計算は、ＵＡＶ上および遠隔制御装置上の少なくともいずれかで実行することができる。
【００６３】
図８は、本発明の例示的な一実施形態による距離計算プロセスの一例を示すフローチャートの一例である。図８を参照すると、本実施形態では、メインカメラによって取り込まれた連続画像フレームから複数のキーフレームを選択することができる（Ｓ５０８１）。選択されたキーフレームはキーフレームシーケンスを形成することができる。いくつかの実施形態では、画像フレームの元のシーケンスは固定周波数で取得され、それらが特定の条件を満たさない場合、特定の元の画像フレームはキーフレームとして選択されないことがある。いくつかの実施形態では、キーフレームは、ＵＡＶが着実に動いているとき（例えば、小さな回転変化）に取得された画像フレームを含む。いくつかの実施形態では、最新のキーフレームから現在の画像フレームへの位置変化が予め設定された閾値よりも大きい（例えば、顕著な変位の）場合、現在の画像フレームが新しいキーフレームとして選択される。いくつかの実施形態では、第１のキーフレームは、初期画像、またはＵＡＶが定常状態にあるとき（例えば、モーションブラーを回避するため）の初期画像の特定の期間内に取得された画像であり得る。第１のキーフレームの後に取り込まれた画像フレームは、当該画像フレームの取り込み時点と最新のキーフレームとの間の姿勢関係に基づいてキーフレームとして決定され選択され得る。言い換えれば、２つの取得瞬間（例えば、最新のキーフレームが取得された瞬間から現在の画像フレームが取得された瞬間までのメインカメラの回転変化および変位）におけるメインカメラの姿勢関係を評価することによって、現在の画像フレームをキーフレームとして選択することができるかどうかを決定することができる。
【００６４】
いくつかの実施形態では、ＵＡＶが動いていてカメラが画像フレームを取り込んでいるときに、新しいキーフレームを決定してキーフレームシーケンスに追加することができる。各キーフレームは、メインカメラの対応する推定カメラ姿勢を有することができる。推定カメラ姿勢は、ＵＡＶのＩＭＵデータ、ＵＡＶのＶＯデータ、およびメインカメラを支持するジンバルの位置／回転データを組み込むことによって取得され得る。キーフレームシーケンス中のキーフレームが一定数ｍ（例えば１０個）に達すると、測定対象物までの距離を算出するのに使用できる状態になる。
【００６５】
キーフレームが決定されれば、キーフレームごとに特徴抽出を行うことができる（Ｓ５０８２）。いくつかの実施形態において、特徴抽出は、１つのキーフレームが決定／選択されるとすぐに実行され得る。すなわち、キーフレームの特徴抽出は、次のキーフレームが特定されているときに同時に実行することができる。いくつかの他の実施形態では、特徴抽出は、キーフレームシーケンス内のすべてのキーフレームが決定されるときなど、一定数のキーフレームが決定されるときに実行され得る。ここでは任意の適切な特徴抽出方法を実施することができる。例えば、スパース特徴抽出を使用して計算量を減らすことができる。ＦＡＳＴ（加速セグメントテストからの特徴）、ＳＵＳＡＮ（最小一価セグメント同化核）コーナ演算子、ハリスコーナ演算子などのようなコーナ点を特徴点として得るためにコーナ検出アルゴリズムを実行することができる。一例としてハリスコーナ検出アルゴリズムを使用して、画像点Ｉを与えられて、その領域（ｕ，ｖ）にわたって画像パッチを取り、それを（ｕ，ｖ）シフトすることを考えると、構造テンソルＡは以下のように定義される。
2020030204.tif 000005
ここで、Ｉｘ，Ｉｙは点Ｉの偏導関数である。像点に対応するｘ方向およびｙ方向の勾配情報Ｍｃは次のように定義することができる。
2020030204.tif 000006
【００６６】
ここで、ｄｅｔ（Ａ）は行列式Ａ、ｔｒａｃｅ（Ａ）はトレースＡ、ｋは調整可能な感度パラメータである。しきい値Ｍｔｈを設定できる。Ｍｃ＞Ｍｔｈとき、像点は特徴点と見なされる。
【００６７】
１つのキーフレーム内の特徴点は、１つまたは複数の他のキーフレーム内に現れることがある。言い換えれば、２つの連続するキーフレームは、同じ環境／物体を記述する一致する特徴点を含み得る。キーフレーム内のそのような特徴点の２Ｄ位置を追跡して、特徴点のオプティカルフローを得ることができる（Ｓ５０８３）。ここでは任意の適切な特徴抽出／追跡および画像登録方法のうちの少なくともいずれかを実施することができる。例としてＫａｎａｄｅ−Ｌｕｃａｓ−Ｔｏｍａｓｉ（ＫＬＴ）フィーチャトラッカーを使用しｈを２つの画像Ｆ（ｘ），Ｇ（ｘ）間の変位を示すものとすると、Ｇ（ｘ）＝Ｆ（ｘ＋ｈ）であり、キーフレーム内の特徴点の変位は、次の式の反復に基づいて取得できる。
【００６８】
2020030204.tif 000007
ここで、
2020030204.tif 000008
であり、 Ｆ(x)は、G(x)より早く取り込まれ、ｗ(x)は重み付け関数であり、ｘは位置を表すベクトルである。さらに、前の画像hに対する現在の画像の変位を取得した後、現在の画像ｈ’に対する前の画像の変位を取得するために逆計算を実行することができる。理論的にはｈ＝−ｈ’である。実際の計算が理論的条件すなわち、ｈ＝−ｈ’を満たす場合、特徴点が正しく追跡されている、すなわち、ある画像内の特徴点が別の画像内の特徴点と一致すると判断することができる。いくつかの実施形態では、追跡された特徴点はキーフレームのいくつかまたはすべてにおいて特定することができ、各追跡された特徴点は少なくとも２つの連続したフレームにおいて特定することができる。
【００６９】
キーフレーム内の追跡された特徴点の２Ｄ位置に基づいて、シーンジオメトリの３Ｄ構造に関する最適化問題を解き、カメラ姿勢に関連するパラメータを考慮することによって、特徴点の３次元（３Ｄ）位置および精緻化されたカメラ姿勢情報を得ることができる（Ｓ５０８４）。例示的な実施形態では、観察された画像点の画像位置と予測された画像点の画像位置との間の再投影誤差を最小限に抑えるためのバンドル調整（ＢＡ）アルゴリズムをこのステップで使用することができる。異なる視点からの多数の３Ｄ点（すなわち、キーフレームからの特徴点）を表す画像のセットを考えると、バンドル調整は、シーンの幾何学形状を記述する３Ｄ座標、相対運動のパラメータ（例えば、キーフレームを取得するときにカメラの姿勢が変化する）、および画像を取得するために使用されるカメラの光学特性をすべての点の対応する画像投影を含む最適性基準に従って同時に精緻化する問題として定義することができる。ＢＡアルゴリズムの数学的表現は次のとおりである。
【００７０】
2020030204.tif 000009
ここで、ｉは、追跡されたi番目の三次元点（例えば、Ｓ５０８３からの追跡された特徴点）を表し、ｎは追跡された点の数であり、ｂｉはｉ番目の点の三次元位置を表す。ｊは、ｊ番目の画像（例えば、Ｓ５０８１からのキーフレーム）を示し、ｍは画像の数を示し、ａjは、回転情報Ｒ、並進情報Ｔ、および固有パラメータＫの少なくともいずれかを含む、j番目の画像のカメラ姿勢情報を示す。vijiはi番目の点がi番目の画像に射影があるかどうかを示す。もしj番目の画像がi番目の点を含んでいればvij=1であり、そうでなければvij=0である。Ｑ(aj,bi)は、カメラの姿勢情報ａjに基づくj番目の画像内のi番目の点の予測投影である。xijは、j番目の画像内のi番目の点の実際の投影を記述するベクトルである（たとえば、画像内のその点の２次元座標）。d(x1,x2)はベクトルx1とベクトルx2とで表される像点間のユークリッド距離を表す。
【００７１】
いくつかの実施形態では、バンドル調整は、一組の利用可能な画像内の観測点の位置を最も正確に予測する一組のパラメータを見つけるための一組の初期カメラ推定値および構造パラメータ推定値を共同で改良することになる。初期カメラおよび構造パラメータ推定値、すなわちａ＿ｊの初期値は、ＵＡＶのＩＭＵおよびＵＡＶのＶＯ回路からのルーチン動作データに基づいて得られた推定カメラ姿勢情報である。すなわち、ＵＡＶの日常的な動作を維持する際に、ＩＭＵおよびＶＯ回路は、ＵＡＶ自体の姿勢情報を特定するためにセンサデータを分析することができる。キーフレームを取得するカメラの推定カメラ姿勢の初期値は、一致する取得時点でのＵＡＶの姿勢情報と、一致する時点でのカメラを支持しているジンバルの姿勢情報とを組み合わせることによって得ることができる。一実施形態では、推定カメラ姿勢の初期値は、ＵＡＶのＧＰＳデータをさらに統合することができる。
【００７２】
以上、添付の図面を参照しながら本発明の実施の形態を説明したが、これらは発明の容易な理解のためになされたものであり、これらをもって本発明の特許請求の範囲を限定するものではない。上述の実施の形態に付与した番号は、記載上の便宜を図るためのものに過ぎず、特に実施形態の優劣を示すものではない。また、フローチャートでは論理的な順序を示したが、特定の状況においては、記載されたステップを異なる順序で実行することもできる。
【００７３】
測定対象物とＵＡＶとの間の距離は、測定対象物に関連する１つ以上の特徴点の３Ｄ位置に従って得ることができる（Ｓ５０８５）。以下では、距離算出およびサイズ決定の実施形態を説明する際に、測定対象物の一例として目標物を用いる。目標物に関して開示される手順は、キーフレームに含まれる任意の適切な測定対象物に適用することができることを理解することができる。いくつかの実施形態では、目標物までの距離は、目標物の中心点までの距離と見なされる。目標物の中心点は、例えば、目標物の幾何学的中心、目標物の重心、または目標物のバウンディングボックスの中心であり得る。中心点は、Ｓ５０８２から抽出された特徴点に含まれていてもよいし含まれていなくてもよい。中心点が抽出された特徴点に含まれる場合、バンドル調整結果から得られる中心点の三次元位置に基づいて、中心点までの距離を直接求めることができる。
【００７４】
一実施形態では、Ｓ５０８２から抽出された特徴点に中心点が含まれない場合、特徴点のオプティカルフローベクトルと、これに対応する重みとに基づくフィッティングにより中心点のオプティカルフローベクトルを取得する。
キーフレーム内の特徴点の２Ｄ位置を追跡すること（Ｓ５０８３）は、中心点を特徴点に追加することと、目標特徴点のオプティカルフローベクトルに基づいて得られた中心点のオプティカルフローベクトルに従って、キーフレーム内の目標物の中心点の２Ｄ位置を追跡することをさらに含み得る。いくつかの実施形態において、ターゲット特徴点は、Ｓ５０８２から抽出され、目標物の領域内に位置する特徴点であり得る。すなわち、中心点をＢＡアルゴリズム計算のための追跡点として追加することによって、中心点の３Ｄ位置は、ＢＡアルゴリズムの結果から直接得ることができる。数学的にｘｉは、ｉ番目の目標特徴点のオプティカルフローベクトルを表し、目標物に対応する領域内に特徴点がｎあると仮定すると、中心点ｘ０のオプティカルフローベクトルは次のようにして得ることができる。
【００７５】
2020030204.tif 000010
ここで、wiは、中心点とi番目の目標特徴点との間の距離に基づくi番目の目標特徴点に対応する重みである。一実施形態では、wiは以下のようにガウス分布に基づいて得ることができる：
2020030204.tif 000011
ここで、σは経験に基づいて調整することができ、diは画像上の中心点とi番目の目標特徴点との間の距離、すなわち、
2020030204.tif 000012
であり、ここで、 (ui,vi)はi番目の目標特徴点の２Ｄ画像位置であり、 (u0,v0)は中心点の２Ｄ画像位置を表す。
【００７６】
いくつかの実施形態では、中心点のオプティカルフローベクトルを取得する際に使用されるいくつかの目標特徴点は、必ずしも目標物の領域内になくてもよい。例えば、その２Ｄ位置が中心点から一定範囲内にある特徴点を目標特徴点として用いることができる。このような範囲は目標物の面積よりも大きいことがあり、例えば、中心点のオプティカルフローベクトルを計算する際により多くの特徴点を含む。点のオプティカルフローベクトルを取得し、その点をＢＡ計算に追加する同様の手法を使用して、追加すべき点と抽出された特徴点との間の２Ｄ位置関係に基づいて中心点以外の点の３Ｄ位置を取得することができる。例えば、目標物の角の点を追跡してＢＡ計算に追加することができ、目標物の角の３次元位置に基づいて目標物のサイズを取得することができる。
別の実施形態では、中心点がＳ５０８２から抽出された特徴点に含まれていない場合、目標物に関連付けられた１つまたは複数の特徴点の３Ｄ位置に従って目標物までの距離を計算すること（Ｓ５０８５）は、複数の目標特徴点の３Ｄ位置に基づいて中心点の３Ｄ位置を決定することをさらに含んでよい。２Ｄ画像内の中心点の範囲内に位置する特徴点を特定することができ、特定された特徴点の深度情報をそれらの３Ｄ位置に基づいて得ることができる。一例では、特定された特徴点の大部分は、事前設定された分散範囲内で同じ深度情報または類似の深度情報を有することがあり、目標物と同じ画像平面内に位置すると見なすことができる。すなわち、特定された特徴点の大部分の深度は、目標物の深度、すなわち目標物とＵＡＶとの間の距離と見なすことができる。別の例では、特定された特徴点の深度の加重平均は、目標物の深度として決定することができる。中心点と特定された特徴点との間の距離に基づいて重みを決定することができる。
【００７７】
いくつかの実施形態では、目標物のサイズは、目標物とＵＡＶとの間の距離に基づいて取得されてもよい。目標物のサイズは、例えば、目標物の長さ、幅、高さ、および体積の少なくともいずれかを含み得る。一実施形態では、目標物が直方体などの平行六面体であると仮定すると、目標物のサイズは、目標物の対角線上の２点／頂点の３Ｄ座標を評価することによって得ることができる。一実施形態では、２Ｄ画像内の目標物の長さまたは高さは、目標物の奥行きとカメラの焦点距離との比（例えば９０００ｍｍ／６０ｍｍ）およびカメラセンサ定義（２００ピクセル／ｍｍ）に基づいて、ピクセル単位（例えば、２８００ピクセル）で得ることができ、目標物の長さまたは高さは通常の単位長で得ることができる（例えば２．１ｍ）。
【００７８】
再び図５を参照すると、本実施形態の距離測定方法は、計算された距離をユーザに提示することをさらに含む（Ｓ５１０）。例えば、距離の提示は、グラフィカルユーザインタフェイスでの表示および音声メッセージによるブロードキャストの少なくともいずれかでなされてもよい。いくつかの実施形態では、リモートコントローラは、取得された画像をグラフィカルユーザインタフェイスに表示し、グラフィカルユーザインタフェイスに現在表示されている画像に距離をマークすることができる。さらに、グラフィカルユーザインタフェイスに現在表示されている画像は、特定された測定対象物を有する初期画像、または測定対象物を含むライブフィード画像であり得る。
【００７９】
いくつかの実施形態では、物体（例えば目標物または背景物体）とＵＡＶとの間の距離は、カメラによって取得された追加の第２の画像と、該第２の画像の取得時点に対応する動き情報とに基づいてリアルタイムで更新され得る。（例えば、Ｓ５０８４およびＳ５０８５により）キーフレームに対応する物体の３Ｄ位置が得られた後、その後の任意の瞬間に新しい画像、例えば第２の画像が取り込まれると、この第２の画像に対応する物体の位置は、最後のキーフレームに対応する物体の３Ｄ位置と、最後のキーフレームの取得時点と第２の画像の取得時点との間のカメラ姿勢関係とを組み合わせることによって得ることができる。いくつかの実施形態では、距離は、一定の時間間隔で（例えば、毎秒）、またはＳ５０８２〜Ｓ５０８５を繰り返し実行することなく新しいキーフレームが選択される毎に更新され得る。一例では、物体の３Ｄ位置が利用可能であるので、物体とＵＡＶとの間の更新された距離は、ＵＡＶの現在の３Ｄ位置と物体の３Ｄ位置とを積分する（例えば、間のユークリッド距離を計算する）ことによって都合よく決定され得る。別の例では、ある時間における物体とＵＡＶとの間の位置関係が分かっているので（例えば、最後のキーフレームの取得時点での位置関係は、第１の変位ベクトルによって記述することができる）、物体とＵＡＶとは、既知の位置関係と、現在時刻と既知の位置関係に対応する時点との間のＵＡＶの位置変化とを統合する（例えば、最後のキーフレーム以降のＵＡＶ自体の位置の変化を表す２番目の変位ベクトルに第１の変位ベクトルを加算することによって得られるベクトルの絶対値を計算する）ことによって都合よく決定され得る。いくつかの他の実施形態では、システムは、ある数の新しいキーフレームが累積されて新しいキーフレームシーケンスを形成するときに、物体までの更新距離を計算するために再びＳ５０８２〜Ｓ５０８５を実行することができる。
【００８０】
いくつかの実施形態では、目標物が静止しているときにキーフレームが取得される。いくつかの実施形態では、目標物が動いており、目標物の背景物体が静止しているときにキーフレームが取得される。背景物体の３Ｄ位置は、本明細書で開示された方法を使用して取得され得る。さらに、背景物と目標物との間の相対位置に基づいて、目標物の追跡された動きおよび背景物の３Ｄ位置に基づいて、目標物までの距離を得ることができる。例えば、背景物が建物であり、目標物が自動車であって、ＵＡＶが移動して建物と自動車の両方を含む画像を取得している間にこの自動車が建物に向かって、または建物から離れて移動する場合である。上述のプロセス（例えば、Ｓ５０８１〜Ｓ５０８５）の実行によって、建物の３Ｄ位置および建物とＵＡＶとの間の位置関係を得ることができる。さらに、自動車と建物との間の３Ｄ位置関係は、ＵＡＶに搭載された奥行きセンサ（例えばステレオカメラやレーダーなど）によって示唆される建物と自動車との間の相対的な奥行きの変化と、取得された画像によって示唆される建物と自動車との間の相対的な２Ｄ位置の変化との組み合わせから得ることができる。建物とＵＡＶとの間の３Ｄ位置関係と、自動車と建物との間の３Ｄ位置関係とを統合することによって、自動車とＵＡＶとの間の距離のみならず、自動車とＵＡＶとの間の３Ｄ位置関係を得ることができる。
【００８１】
いくつかの実施形態では、測定対象物とＵＡＶとの間の距離を計算すること（Ｓ５０８）は、ＵＡＶの日常的な動作を維持する際に生成されたデータにアクセスすることと、この日常動作のためのデータを利用して測定対象物とＵＡＶとの間の距離を計算するためことと、をさらに含み得る。ＵＡＶが作動しているとき、様々なセンサデータがリアルタイムで記録され、ＵＡＶの日常的な動作を維持するために分析される。
【００８２】
通常の動作は、搭載カメラを使用して画像を取得すること、取得した画像を表示するためにリモートコントローラに送信すること、何らの移動コントロールをも受信しないときに安定的にホバリングすること、障害物を自動的に回避することと、リモートコントローラからの制御コマンドに応答すること（例えば、リモートコントローラへのユーザ入力に基づく飛行の高度、速度、および方向の少なくともいずれか、リモートコントローラ上でユーザによって選択された場所への飛行）並びにリモートコントローラへのフィードバックを提供すること（例えば、場所および飛行状態の報告、リアルタイム画像の実際の送信）の少なくともいずれかをさらに含み得る。記録されたセンサデータは、ジャイロスコープのデータ、加速度計のデータ、メインカメラを支持するジンバルの回転角度、ＧＰＳデータ、メインカメラによって収集されたカラー画像データ、ステレオビジョンカメラシステムによって収集されたグレースケール画像データを含み得る。ＵＡＶの慣性航法システムを使用して、ルーチン動作のためにＵＡＶの現在位置／所在地を取得することができる。慣性航法システムは、ジャイロスコープデータ、加速度計データ、およびＧＰＳデータの少なくともいずれかに基づくＵＡＶの慣性測定ユニット（ＩＭＵ）によって実施され得る。ＵＡＶの現在位置／所在地はまた、ＵＡＶのステレオカメラによって収集されたグレースケール画像データに基づいて視覚オドメトリ機構を実行するＶＯ回路によっても取得され得る。ＩＭＵおよびＶＯ回路からのデータは統合され分析されて、世界座標系におけるＵＡＶの位置を含むＵＡＶの姿勢情報をより高い精度で得ることができる。いくつかの実施形態では、開示された距離測定システムは、距離を計算するために必要なデータが、ＵＡＶの日常的な動作のために収集されたデータから容易にアクセス可能であるかどうかを判断し得る。特定の種類のデータが利用可能でない場合、システムは、データ収集を可能にし、欠けている種類のデータを取得するために、対応するセンサまたはＵＡＶの他の構成要素と通信し得る。いくつかの実施形態では、開示された距離測定手順は、ＵＡＶの日常的な動作のために収集されたデータ以外に、追加のデータを収集する必要がない。さらに、本明細書に開示された距離測定手順は、ＩＭＵおよびＶＯ回路によって生成されたデータなど、日常的な動作を維持する際にすでに処理され生成されたデータを利用することができる。
【００８３】
いくつかの実施形態において、ＵＡＶの日常的な動作のためにＩＭＵおよびＶＯ回路によって生成されたデータは、距離測定プロセスにおいて直接使用され得る。日常的な操作のために生成されたデータは、距離測定プロセスにおけるキーフレームの選択（例えば、Ｓ５０８１）およびバンドル調整の初期値の決定（例えば、Ｓ５０８４）の少なくともいずれかに使用することができる。
【００８４】
いくつかの実施形態では、キーフレームを選択するために使用することができるＵＡＶのルーチン動作を維持するために生成されるデータは、前の画像フレームの取得時点におけるＵＡＶの姿勢、および前の画像フレームの取得時点以降に収集されたＩＭＵデータを含む。いくつかの実施形態では、そのようなデータは、現在の画像フレームに対応する推定カメラ姿勢を決定し、それに応じて現在の画像フレームがキーフレームであるかどうかを決定する際に使用することができる。例えば、日常的な動作は、（例えば、視覚慣性走行距離測定アルゴリズムを適用することにより）ＩＭＵデータおよびＶＯ／ＧＰＳデータに基づいて連続的にＵＡＶの姿勢を計算することを含む。したがって、前の画像フレームの取得時点におけるＵＡＶの姿勢は使用される準備ができている。現在の画像フレームに対応するＵＡＶの姿勢は、現在の画像フレームがキーフレームであるかどうかを判断する瞬間には、すぐには解決されないかまたは準備ができていない可能性がある。したがって、前の画像フレームの取得時点におけるＵＡＶの姿勢と、現在の画像フレームの取得時点に対応するＩＭＵデータ（例えば、前の画像フレームの取得時点と現在の画像フレームの取得時点との間に収集されたＩＭＵデータ）とに従って、現在の画像フレームに対応するメインカメラの推定カメラ姿勢を得ることができる。
【００８５】
いくつかの実施形態では、ＩＭＵ事前統合は、以前のＵＡＶ位置と現在のＩＭＵデータとに基づいて一連の画像フレームの取得時点の間におけるＵＡＶの移動／位置変化を推定するために実施することができる。例えば、現在の画像フレームを取り込むときのＵＡＶの位置は、前の画像フレームを取り込むときのＵＡＶの位置および慣性航法システムからのデータのＩＭＵ事前統合に基づいて推定することができる。ＩＭＵ事前統合は、時点ＡにおけるＵＡＶの位置と、時点Ａと時点Ｂとの間で得られた慣性測定値の累積とを使用して、時点ＢにおけるＵＡＶの位置を推定するプロセスである。
【００８６】
離散形式でのＩＭＵ事前統合の数学的記述は次のとおりである。
2020030204.tif 000013
ここで、ｐk+1は、現在の画像フレームを取り込むときのＵＡＶの推定３Ｄ位置であり、ｐkは、（例えば、ＩＭＵ、ＶＯ回路、およびＧＰＳセンサの少なくともいずれかに基づいて計算される）日常の動作からのデータに基づく前の画像フレームを取り込むときのＵＡＶの３Ｄ位置である。ｖk+1は現在の画像フレームを取り込むときのＵＡＶの速度であり、ｖkは前の画像フレームを取り込むときのＵＡＶの速度である。ｑk+1は現在の画像フレームを取り込むときはＵＡＶの４元数であり、ｑkは前の画像フレームを取り込むときはＵＡＶの４元数である。そして、(ba)k+1(ba)kおよび(bω)k+1は、現在の画像フレームと前の画像フレームを取り込むときのそれぞれの加速度計バイアスである。(bω)k+1および(bω)kは、現在の画像フレームと前の画像フレームを取り込むときのそれぞれのジャイロスコープバイアスである。Δｔは現在の画像フレームｋ＋１を取り込む瞬間と前の画像フレームｋを取り込む瞬間との間の時間差である。amは加速度計の現在の読み値、ｇは重力加速度、ωはジャイロスコープの現在の読み値を表する。Δqは、現在の画像フレームと前の画像フレームとの間の回転推定値であり、ｑ｛  ｝は、オイラー角表現から４元数表現への変換を表す。ＲｗｉはＵＡＶ座標系と世界座標系との間の回転関係を示し、四元数ｑから得ることができる。
【００８７】
いくつかの実施形態では、現在の画像フレームおよび前の画像フレームは、２つの連続して取り込まれた撮像フレームであり得る。ＩＭＵ事前統合プロセスでは、センサから直接得られるパラメータは、加速度計の読みとジャイロスコープの読みを含む。残りのパラメータは、上記の数学的説明または任意の他の適切な計算に基づいて得ることができる。したがって、現在の画像フレームに対応するＵＡＶの姿勢は、前の画像フレームに対応するＵＡＶの姿勢のＩＭＵ事前積分によって推定することができる（例えば、視覚慣性走行距離測定法および現在の画像フレームに対応するＩＭＵデータを使用してＵＡＶの日常的な動作において以前に解決された）。
【００８８】
いくつかの実施形態では、連続画像フレームを取り込む頻度（例えば、２０〜３０Ｈｚ）は、記録加速度計の読みおよびジャイロスコープの読みの頻度（例えば、２００〜４００Ｈｚ）より低い。すなわち、２つの連続する画像フレームの取得時点の間に、複数の加速度計の読みおよびジャイロスコープの読みを得ることができる。一実施形態では、ＩＭＵ事前統合は、加速度計の記録周波数およびジャイロスコープの読み取り値に基づいて実行することができる。例えば、Δｔ’は、２つの連続する加速度計とジャイロスコープの読み取り値の間の時間差を表し、Δｔ＝ｎΔｔ’であり、ｎは１より大きい整数であることを示す。ＩＭＵ事前積分は、Δｔ’に従って加速度計およびジャイロスコープの読み取りの記録周波数と同じ周波数で実行することができる。現在の画像フレームを取得するときのＵＡＶの推定３Ｄ位置は、画像取得と加速度計／ジャイロスコープデータ記録との間の一致する瞬間にｎ番目の事前積分結果毎に出力することによって得ることができる。一実施形態では、２つの連続した画像フレームの取得時点の間に得られた複数の加速度計／ジャイロスコープの読みをフィルタリングして、ＩＭＵ事前統合に使用するためのノイズ低減結果を得る。
【００８９】
いくつかの実施形態において、距離測定プロセスにおいて（例えば、キーフレーム選択において）ＵＡＶの日常的な動作のために生成されたデータを使用することは、ＵＡＶが定常移動状態にあるかどうかを判断する際にジャイロスコープの読み取り値を使用することを含み得る。ＵＡＶが定常的な移動状態にない場合、取り込まれた画像は距離測定における使用には適していない可能性がある。例えば、角速度が予め設定された閾値未満の場合、すなわち、
2020030204.tif 000014
である場合、ＵＡＶは定常移動状態にあると判定することができ、定常移動状態で取得された画像を距離測定に使用することができる。また、定常的な移動状態で撮影されていない画像は、キーフレームとして選択されないことがある。
【００９０】
いくつかの実施形態では、２つの連続するフレーム（例えば、前の画像フレームと現在の画像フレーム）の取得時点の間のカメラ姿勢関係は、ＩＭＵ事前統合からの結果に従って推定することができる。いくつかの実施形態では、ＶＯアルゴリズムがＵＡＶのステレオ画像に対して使用されるとき、ＶＯアルゴリズムから取得されたステレオカメラの動きは、ＵＡＶの位置および動きを示すことができる。さらに、ステレオカメラのカメラ姿勢、または、ＶＯアルゴリズム、ＩＭＵ事前統合データ、およびＧＰＳデータの少なくともいずれかから得られるＵＡＶの姿勢は、メインカメラのカメラ姿勢の粗い推定を提供することができる。いくつかの実施形態では、メインカメラの推定カメラ姿勢は、ＵＡＶの姿勢と、ＵＡＶに対するジンバルの姿勢（例えば、ジンバルの回転角度と、ＵＡＶとジンバル姿勢との間の相対高度との少なくともいずれか）とを組み合わせることによって得られる。例えば、前の画像フレームに対応するメインカメラの推定カメラ姿勢は、（例えば、ルーチン動作からの）前の画像フレームに対応するＵＡＶの姿勢と、前の画像フレームに対応するジンバルの回転度との組み合わせであり得る。現在の画像フレームに対応するメインカメラの推定カメラ姿勢は、（例えば、ＩＭＵ事前統合からの）現在の画像フレームに対応するＵＡＶの推定姿勢と、現在の画像フレームに対応するジンバルの回転度との組み合わせであり得る。
【００９１】
いくつかの実施形態において、距離測定プロセスにおいて（例えば、キーフレーム選択において）ＵＡＶの日常的な動作のために生成されたデータを使用することは、キーフレームと、キーフレームの後に取得された画像フレームとの間のカメラ姿勢関係を取得することにおいて。２つの連続するフレーム間のカメラ姿勢の関係を使用することを含み得る。現在のキーフレームが決定されれば、次のキーフレームを抽出することは、キーフレームと、キーフレームの後に取り込まれた画像フレームとの間のカメラ姿勢関係が予め設定された条件を満たすかどうかを決定することと、予め設定された条件を満たすカメラ姿勢関係に応じて、画像フレームを次のキーフレームとして選択することとを含み得る。
【００９２】
図９は、本発明の例示的な一実施形態によるキーフレーム抽出プロセスを示す図の一例である。図９に示すように、元々の画像順序は、固定周波数（例えば、３０Ｈｚ）で取り込まれた複数の画像フレームを含む。ＶＯ計算およびＩＭＵ事前積分の少なくともいずれかは、２つの連続したフレーム毎に実行され、２つの連続した画像取り込み時点の間のカメラ姿勢関係を得る。あるキーフレームとそのキーフレーム以降に撮影された画像フレームとの間のカメラ姿勢関係は、２つの連続する取得時点間のカメラ姿勢関係を繰り返し累積すること、すなわちキーフレームとその最古のペアのカメラ姿勢関係から分析対象の画像フレームとその最新の先行フレームとのペアのカメラ姿勢関係に至るまで累積することによって得ることができる。例えば、図９に示すように、現在のキーフレームは時点Ｔ０で取得される。時点Ｔ０と時点Ｔ１との間のカメラ姿勢関係は、ＶＯ計算およびＩＭＵ事前積分の少なくともいずれかから得られ、事前設定された条件が満たされるかどうかを決定するために分析され得る。時点Ｔ０と時点Ｔ１との間のカメラ姿勢関係について事前設定の条件が満たされない場合、キーフレーム選択プロセスは、時点Ｔ０と時点Ｔ２との間のカメラ姿勢関係が事前設定条件を満たすかどうかを判断するために進む。時点Ｔ０と時点Ｔ２との間のカメラ姿勢関係と、時点Ｔ１と時点Ｔ２との間のカメラ姿勢関係とを組み合わせることによって時点Ｔ０と時点Ｔ２との間のカメラ姿勢関係を得ることができる。時刻Ｔ０と時刻Ｔ３との間のカメラ姿勢関係について事前設定条件が満たされると、キーフレーム選択プロセスは、時刻Ｔ３において取得された画像フレームを次のキーフレームとして決定する。
【００９３】
いくつかの実施形態では、カメラ姿勢関係に対応する事前設定条件は、回転閾値または変位閾値の少なくとも一方を含む。一実施形態では、画像フレームと現在のキーフレームとの間の変位が十分に大きい場合、および画像フレームと現在のキーフレームとの間の回転が十分に小さい場合のいずれにおいても、画像フレームは次のキーフレームとして決定される。言い換えれば、カメラ姿勢関係は、キーフレームを捉える瞬間から画像フレームを捉える瞬間までの回転変化、および、キーフレームを捉える瞬間から画像フレームを捉える瞬間までのカメラの位置変化のうちの少なくとも１つを含む。カメラ姿勢関係がプリセット条件を満たすかどうかを判断することは、回転変化が回転閾値未満であることに応答して、カメラ姿勢関係がプリセット条件を満たすと判断すること、および、回転変化が回転閾値より小さく、位置変化が変位閾値より大きいことに応答してカメラ姿勢関係がプリセット条件を満たすと判断すること少なくともいずれかを含む。いくつかの実施形態では、位置変化が変位閾値以下である（例えば、位置変化が処理するのに十分に有意ではないことを示す）場合、画像フレームはキーフレームとして選択されるためには失格とされ、プロセスは次の画像フレームの分析へ移動する。いくつかの実施形態では、回転変化が回転閾値以上である場合（例えば、画像が安定した環境で撮影されなかったため結果の精度を損なう可能性があることを示す）、画像フレームは破棄され、プロセスは次の画像フレームの分析へ移動する。
【００９４】
数学的には、回転の変化Rはオイラー角で
2020030204.tif 000015
と記述できる。プリセット条件は、以下の不等式
2020030204.tif 000016
を満たすことを含み得る。ここで、α＿ｔｈは回転閾値である。位置／並進変化ｔは
2020030204.tif 000017
によって記述することができる。事前設定条件は、以下の不等式
2020030204.tif 000018
を満たすことを含み得る。ここで、ｄｔｈは変位閾値である。
【００９５】
いくつかの実施形態では、（例えば、バンドル調整アルゴリズムの初期値を割り当てる際の）距離測定プロセスにおけるＵＡＶのルーチン動作のためのデータの使用は、ＩＭＵ、ＶＯ回路、およびＧＰＳセンサからのデータを統合して、キーフレームの取得時点に対応するＵＡＶの姿勢情報を取得することを含み得る。メインカメラの推定カメラ姿勢情報は、例えば、ステレオカメラのカメラ姿勢の線形重ね合わせ（すなわち、ＵＡＶの姿勢情報）およびメインカメラとＵＡＶとの位置関係（すなわち、ＵＡＶに対するジンバルの位置／回転）によって得ることができる。ＢＡアルゴリズムは最適化問題であるので、ランダムな初期値を割り当てることは大域的最適化に代えて局所的最適化をもたらすかもしれない。Ｓ５０８４におけるＢＡアルゴリズムの初期値についてのＩＭＵおよびＶＯデータからの推定カメラ姿勢情報を使用して、反復回数を減らすことができ、アルゴリズムの収束時間を早くすることができ、そして誤り確率が減少する。さらに、いくつかの実施形態では、正確な結果を得るための初期値および制約としてＧＰＳデータもＢＡアルゴリズムで使用され得る。
【００９６】
いくつかの実施形態では、距離測定プロセスで使用されるＵＡＶのルーチン動作のためのデータは、ＵＡＶによって収集および生成され（たとえば、Ｓ５０４、Ｓ５０６、Ｓ５０８１、およびＳ５０８４で初期値を取得するとき）、リモートコントローラに送信される。目標物の特定および距離の計算および提示は、リモートコントローラ上で実行される（例えば、Ｓ５０２、Ｓ５０８２〜Ｓ５０８５、Ｓ５１０）。いくつかの実施形態では、物体を特定し、計算された距離を提示する際にユーザ入力を取得することのみがリモートコントローラ上で実行され、残りのステップはすべてＵＡＶによって実行される。
【００９７】
（５）プロブラム及び記録媒体
上述した距離測定方法の一連の手順は、プログラムに組み込んでコンピュータに読込ませて実行させてもよい。これにより、本発明にかかる距離測定方法を、ＵＡＶに通信可能に接続される汎用のコンピュータを用いて実現することができる。
【００９８】
また、上述した距離測定方法の一連の手順をコンピュータに実行させるプログラムとしてフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読込ませて実行させてもよい。
【００９９】
記録媒体は、磁気ディスクや光ディスク等の携帯可能なものに限定されず、ハードディスク装置やリードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）などの固定型の記録媒体でもよいし、非一時的記憶媒体でもよい。
また、上述したパターン計測方法の一連の手順を組込んだプログラムをインターネット等の通信回線（無線通信を含む）を介して頒布してもよい。さらに、上述したパターン計測方法の一連の手順を組込んだプログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、又は記録媒体に収納して頒布してもよい。
【０１００】
本明細書に記載されるカメラ姿勢情報を計算するための数学的手順が唯一の手順ではないことを理解されたい。本明細書開示された特定のステップは他の適切な手順／アルゴリズムで置き換えてもよい。
【０１０１】
本開示は、無人航空機（ＵＡＶ）を使用して距離を測定するための方法およびシステム、ならびに距離を測定することが可能なＵＡＶを提供する。従来の測距方法とは異なり、開示された方法などは、ユーザがＵＡＶのカメラによって取得された画像内の関心対象を選択することを可能にし、測定距離をほぼリアルタイム（例えば５００ミリ秒未満）で提供するグラフィカルユーザインタフェイスを提供する。  さらに、開示された方法は、ＵＡＶ自身のＩＭＵからの慣性航法データおよび日常的な動作のために生成されたＶＯ回路からのデータを距離測定に直接利用することができ、それはさらに計算リソースおよび処理時間を節約する。開示された方法は直感的で便利であり、そして速い計算速度で信頼できる測定結果を提供することができる。
【０１０２】
方法の実施形態に関連する図に示されるプロセスは、任意の適切な順序または順序で実行または実行することができ、それは、図に示された順序および上述された順序に限定されない。例えば、２つの連続したプロセスは、関連する機能に応じて、待ち時間および処理時間を短縮するために適切な場合には実質的に同時にまたは並行して実行され、あるいは図示される順序と逆の順序で実行され得る。
【０１０３】
さらに、装置の実施形態に関連する図中の構成要素は、必要に応じて図に示すものとは異なる方法で結合することができる。いくつかの構成要素は省略されてもよく、追加の構成要素が追加されてもよい。
【０１０４】
本開示の他の実施形態は、本明細書の考察および本明細書に開示された実施形態の実施から当業者には明らかであろう。本明細書および実施例は例示としてのみ考慮されるべきであり、本発明の範囲を限定するものではなく、本発明の真の範囲および精神は特許請求の範囲によって示されることが意図される。
【符号の説明】
【０１０５】
１００…可動物体
１０２…可動物体本体
１０４…リモートコントローラ
１０６…目標物
２００…ＵＡＶ
２０２…検知システム
２０４…推進システム
２０６…通信回路
２０８…搭載コントローラ
４００…コンピューティングデバイス
４０２…記憶媒体
４０４…プロセッサ
４０６…トランシーバ
４０８…ディスプレイ
６０２…初期画像
６０４，７０２…目標領域
６０６…目標物に対応する領域
７０４，７０６，７０８…スーパーピクセル
１０２２，２０２２…カメラ
１０２４…支持機構
２０２４…前方視システム
２０２６…下方視システム
【図１】
2020030204.tif 000019
【図２】
2020030204.tif 000020
【図３】
2020030204.tif 000021
【図４】
2020030204.tif 000022
【図５】
2020030204.tif 000023
【図６】
2020030204.tif 000024
【図７Ａ】
2020030204.tif 000025
【図７Ｂ】
2020030204.tif 000026
【図８】
2020030204.tif 000027
【図９】
2020030204.tif 000028