(57)【特許請求の範囲】
【請求項１】
無人機の水平並進速度を評価する方法であって、前記無人機は、
該無人機がその上を飛行している地形に対する該無人機の高度を測定するのに適している高度計と、
前記地形のシーンの連続したデジタル画像を取得するのに適している、下方監視垂直方向ビデオカメラとを備え、
該方法は、画像間で、前記カメラによって取得された前記シーンの動きを推定すること、及び前記推定された動きに対して、前記測定された高度の関数であるスケールファクターを適用することを含み、
前記動きの推定は、
連続的に減少する異なる解像度において前記シーンの所与の取得された画像をモデル化する画像ピラミッドタイプの多重解像度表現を周期的かつ継続的に更新すること、及び
新たに取得された画像毎に、画像間での前記シーンの差分の動きを推定するために、前記多重解像度表現にオプティカルフローアルゴリズムを反復的に適用することを含み、
該方法は、
前記オプティカルフローアルゴリズムによって生成されたデータから、前記取得されたシーン内のマイクロコントラストのレベルを表すと共に、前記画像の勾配成分の行列
【数１】
0005854655.tif 000008
から導出される少なくとも１つのテクスチャリングパラメーターを得ること、ただし、Ｉｘ及びＩｙは前記画像の前記勾配成分であり、Ｅは、前記勾配が所定の第１の有用なしきい値よりも大きいノルムを与える点の集合である、
前記無人機の前記水平並進速度の近似値を得ること、
前記テクスチャリングパラメーター及び前記速度近似値に第１の一連の所定の判定基準を適用すること、及び
前記第１の一連の所定の判定基準が満たされる場合には、画像間での前記シーンの差分の動きを推定するために、前記オプティカルフローアルゴリズムからコーナー検出器アルゴリズムに切り替わること、
をさらに含む、方法。
【請求項２】
前記少なくとも１つのテクスチャリングパラメーターは、前記画像の前記勾配成分の前記行列のトレースの値である、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのテクスチャリングパラメーターは、前記勾配が第１の所定の有用なしきい値よりも大きいノルムを与える点の前記集合Ｅのカージナル数である、請求項１に記載の方法。
【請求項４】
前記少なくとも１つのテクスチャリングパラメーターは、前記画像の前記勾配成分の前記行列のトレースの値であり、かつ前記少なくとも１つのテクスチャリングパラメーターは、前記勾配が第１の所定の有用なしきい値よりも大きいノルムを与える点の前記集合Ｅのカージナル数であり、前記オプティカルフローアルゴリズムから前記コーナー検出器アルゴリズムに切り替わるか否かを判断するための前記第１の一連の所定の判定基準は、以下の条件、
前記トレースの値が第２の所与のしきい値よりも大きいこと、及び
前記カージナル数の値が第３の所与のしきい値よりも大きいこと、及び
前記速度近似値が第４の所与のしきい値よりも小さいこと、
を累積的に含む、請求項１に記載の方法。
【請求項５】
前記コーナー検出器アルゴリズムに切り替わった後で、前記速度近似値が第５のしきい値未満であるとき、前記方法は、画像間で特徴点を追跡するための少なくともいくつかの選択されたトラッカーに対して、該トラッカーの探索パラメーター、及び制限方向における前記画像内の探索ゾーンの大きさを変更することによって、前記コーナー検出器アルゴリズムを適合させることをさらに含む、請求項１に記載の方法。
【請求項６】
前記コーナー検出器アルゴリズムに切り替わった後で、前記速度近似値が第５のしきい値未満であるとき、前記方法は、前記無人機を所定の位置にサーボ制御する自動操縦モードを起動することをさらに含む、請求項１に記載の方法。
【請求項７】
前記コーナー検出器アルゴリズムに切り替わった後に、
前記コーナー検出器アルゴリズムによって生成されたデータから、前記コーナー検出器アルゴリズムによって画像間でのシーンの差分の動きを推定する際に失敗するリスクを表す少なくとも１つの失敗リスクパラメーターを得ること、
前記無人機の前記水平並進速度の近似値を得ること、
前記失敗リスクパラメーター及び前記速度近似値に第２の一連の所定の判定基準を適用すること、並びに
前記第２の一連の所定の判定基準が満たされる場合には、画像間での前記シーンの差分の動きを推定するために、前記オプティカルフローアルゴリズムに戻ること、
をさらに含む、請求項１に記載の方法。
【請求項８】
前記失敗リスクパラメーターは、画像間で特徴点を追跡するための、前記コーナー検出器アルゴリズムによって用いられるロックオンされたトラッカーの数を含む、請求項７に記載の方法。
【請求項９】
前記オプティカルフローアルゴリズムに戻るか否かを判断する前記第２の一連の所定の判定基準は、以下の条件、
前記ロックオンされたトラッカーの数が第６の所与のしきい値よりも小さいこと、又は
前記速度近似値が第７の所与のしきい値よりも大きいこと、
のいずれかを含む、請求項８に記載の方法。
【請求項１０】
第１のアルゴリズム、すなわち、前記オプティカルフローアルゴリズム又は前記コーナー検出器アルゴリズムから他方のアルゴリズムに切り替わった後に取得された連続した画像の数をカウントすること、及び前記他方のアルゴリズムへの前記切り替えの後に或る最小画像数をカウントすることを条件として前記第１のアルゴリズムに戻ることをさらに含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無人機、詳細にはヘリコプター、クアッドリコプター（quadricopter：４翼ヘリコプター）等の回転翼無人機を操縦することに関する。
【背景技術】
【０００２】
そのような無人機の一般的な例は、フランスのパリにあるParrot SAが提供しているＡＲドローン（AR Drone）である。このＡＲドローンは、一連のセンサー（３軸加速度計及びジャイロ、高度計）が取り付けられたクアッドリコプターである。その無人機は、その無人機が向けられるシーンの画像を捕捉する前方カメラ、及び無人機がその上空を飛行している地形の画像を捕捉する、垂直方向のカメラも設けられている。
【０００３】
無人機は、無線リンクを介して無人機に接続される遠隔制御デバイスによって、ユーザが操縦することができる。無人機は、安定してホバリング飛行するための自動システムも設けられ、自動システムは、特に無人機が自動的に平衡点に達することができるようにする役割を果たし、一旦、平衡点に達すると、空気の動き及びセンサーのドリフトのような外部作用に起因する並進の小さな動きを補正することによって、定点を保持するために必要とされるトリミング補正を与える役割を果たす。無人機の下に位置する超音波テレメーターである高度計は垂直速度の測定値を与え、それにより、無人機の高度を安定させるために、推力をサーボ制御できるようにする。さらに、慣性センサー（加速度計及びジャイロ）は、無人機の角速度及び姿勢角を或る特定の精度で測定する役割を果たし、それゆえ、重力の方向と反対の方向に沿って無人機の推力方向を動的にサーボ制御するために用いることができる。
【０００４】
ホバリング飛行を確立するために、無人機の線速度を除去するという問題が残されている。残念なことに、使用される低コストの加速度計は、一般的に雑音が多すぎて、それらの加速度計からの信号が２度積分されると、無人機の速度に関する満足のいく推定値を与えることはできない。
【０００５】
特許文献１（Parrot）は、前方監視カメラの画像から、そのカメラによって取得される一連の画像を解析し、画像内の種々の特徴的な点の動きを識別することによって、無人機の水平速度を推定することを提案している。
【０００６】
しかしながら、その技法は、特に最も遅い速度において、精度不足に陥る（無人機が低速で前方に動いているときに、捕捉されるシーンは、画像が切り替わっても、ほとんど変化を与えない）。また、その技法は、カメラによって捕捉されるシーンにおいて取り上げられる特徴点の有無に大きく依存する。すなわち、画像が一様であるとき、たとえば、壁又は屋外では空を示しているときには、特徴的な点は存在しないに等しいので、その技法は役に立たない。
【０００７】
本発明は、無人機の水平速度を評価するために、前方監視カメラによってではなく、垂直方向カメラによって供給される画像を使用することに基づく。
【０００８】
しかしながら、上記カメラによって取得された画像内の種々の点の動きを識別するには、難しい作業が残されており、その作業は、ｉ）シーンの特性（コントラストの大小、すなわち、大きくなる方に変化しているか、小さくなる方に変化しているか）、ｉｉ）速度、及びｉｉｉ）計算の複雑さを限定することの制約に同時に強く依存する。
【０００９】
具体的には、ホバリング中に自動安定化サーボ制御を実行することが望ましい場合には、サーボ制御を実効的かつ反応的に実行できるように、同時に正確であり、高感度であり（平衡点付近の線速度は非常に低い場合があるため）、そしてリアルタイムに入手可能である速度測定値を有することが適切である。
【００１０】
それにもかかわらず、本発明は、無人機のホバリング飛行を安定させるという目的のために速度を評価することには限定されないこと、そして、無人機が最大速度（約５メートル／秒（ｍ／ｓ））に近い値で動いている場合をも含んだ、無人機の全ての飛行形態に広く適用可能であることに気づくべきである。
【００１１】
ビデオカメラによって捕捉されるシーンにおける移動速度を推定できるようにする種々のアルゴリズムがある。
【００１２】
第１のタイプのアルゴリズムは、非特許文献１及び非特許文献２において記述されるものに基づく、いわゆる「オプティカルフローアルゴリズム」である。
【００１３】
また、非特許文献３も参照することができ、その文献は、着陸中に無人機を操縦するために、異なる解像度を用いてオプティカルフローを推定するための多重解像度技法を記述する。
【００１４】
オプティカルフロー法は、シーンに課される制約が非常に少ない（コントラスト、コンテンツをほとんど必要としない）という利点を与える。さらに、「多重解像度」手法を用いることによって、高速及び低速の両方の速度を推定することができる。その一方で、その方法は、回転、及び姿勢の変化に対して影響されやすいので、所与の結果の品質を本質的に検証することはできず、すなわち、そのアルゴリズムは常に大きな勾配を与えるだけの十分な点をもたらす結果を供給するが、その結果は無意味な場合であっても供給される。
【００１５】
要するに、オプティカルフロー法は、非常に広範囲の速度にわたって機能することができる「全地形」法であるが、必ずしも信頼性があるとは限らないばかりか、特に低速においてあまり正確ではない結果をもたらす。
【００１６】
別のタイプのアルゴリズムは、いわゆる、「コーナー検出器」又は「特徴点検出器」アルゴリズムを含み、その基本原理は、たとえば、非特許文献４及び非特許文献５において詳述される。
【００１７】
コーナー検出器アルゴリズムは正確かつロバストであり、回転を考慮に入れ、異常な評価結果を検出することができ、かつそれらの結果を除去することができる。さらに、その絶対精度は、速度にかかわらず一定であり（オプティカルフロー法とは異なる）、特に低速において優れた結果を得ることができ、その利点は、ホバリング飛行の安定化及びサーボ制御のためにその結果を用いることが望ましい場合に特に顕著である。
【００１８】
その一方で、その方法は、コントラスト及びテクスチャに関して、シーンに対してはるかに多くの制約を課し、それは遭遇する場合がある全ての状況に適用できないことを意味する。
【００１９】
最後に、全ての状況下で、無人機の或る特定の自動操縦制御をサーボ制御するためにその計算結果を用いるには、そのデータが実際にリアルタイムに入手可能である必要があり、何が起きても、可能な限りの反応度で無人機を自動操縦できることを確保するのに十分迅速に入手可能である必要がある。
【００２０】
この制約は、多くの場合に高速のプロセッサ及び大きな記憶容量を有するコンピューター上で実行されるように設計される従来のアルゴリズムを実施する可能性を制限する。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】国際公開第２００９／１０９７１１号
【非特許文献】
【００２２】
【非特許文献１】LUCAS B. D. 及びKANADE T.著「An Iterative Image Registration Technique with an Application to Stereo Vision」（Proc. DARPA Image Understanding Workshop, pp. 121-130, 1981）
【非特許文献２】HORN B. K. P.及びSCHUNK B.著「Determining Optical Flow」（Artificial Intelligence, (17): pp. 185-204, 1981）
【非特許文献３】MONDRAGON I.他著「3D Pose Estimation Based on Planar Object Tracking for UAVs Control」（Proc. IEEE Conf. on Robotics and Automation, pp. 35-41, May 3-8, 2010）
【非特許文献４】ROSTEN E.及びDRUMMOND T.著「Fusing Points and Lines for High Performance Tracking」（IEEE International Conference on Computer Vision, pp. 1508-1511, 2005）
【非特許文献５】ROSTEN E.及びDRUMMOND T.著「Machine Learning for High-Speed Corner Detection」（European Conference on Computer Vision, pp. 430-443, 2006）
【発明の概要】
【発明が解決しようとする課題】
【００２３】
本発明の目的の１つは、上記の２つの技法、すなわち、オプティカルフロー及びコーナー検出の利点を併せ持つ新規の方法を提供すること、そして限定はしないが、特に、ホバリング飛行中の無人機をサーボ制御するために速度を検出することとの関連で、その方法を提供することである。
【００２４】
本発明の別の目的は、無人機が非常に変わりやすく、予測不可能である地形の上空を飛行しているときに生じるような、コントラストが非常に低く雑音が高いシーン、又は、画像内で識別される形状の外見が予測不可能に変化しやすいシーンであっても、これらの利点から利益を得ることができるようにすることである。
【００２５】
本発明のさらに別の利点は、無人機内に組み込まれる、それゆえ、計算能力に関して制限される能力を有する機上コンピューターによって速度のリアルタイム測定値を供給するように実施されるのに適している、水平速度を測定する方法を提案することである。
【課題を解決するための手段】
【００２６】
この目的を達成するために、本発明は、無人機、特に、無人機がその上空を飛行している地形に対して無人機の高度を測定するのに適している高度計と、その地形のシーンの連続したデジタル画像を取得するのに適している、下方監視垂直方向ビデオカメラとを備える無人機の水平並進速度を評価する方法を提供する。
【００２７】
本発明は、画像間でカメラによって取得されるシーンの動きを推定することによって、かつその推定された動きに対して、測定された高度の関数であるスケールファクターを適用することによって機能する。
【００２８】
それ自体が知られているように、動きの推定は、シーンの所与の取得される画像を連続的に減少する異なる解像度においてモデル化する画像ピラミッドタイプの多重解像度表現を周期的かつ継続的に更新すること；及び画像間でシーンの差分の動きを推定するために、新たに取得された画像毎に、上記多重解像度表現にオプティカルフロータイプの反復アルゴリズムを適用することを含む。
【００２９】
本発明の特徴的な態様では、その方法はさらに、オプティカルフローアルゴリズムによって生成されたデータから、取得されたシーン内のマイクロコントラストのレベルを表す少なくとも１つのテクスチャリングパラメーターを得ること；無人機の水平並進速度の近似値を得ること；そのテクスチャリングパラメーター（複数可）及びその速度近似値に第１の一連の所定の判定基準を適用すること；並びに第１の一連の所定の判定基準が満たされる場合には、画像間でシーンの差分の動きを推定するために、オプティカルフローアルゴリズムからコーナー検出器タイプのアルゴリズムに切り替えることを含む。テクスチャリングパラメーターは、画像の勾配成分の行列：
【００３０】
【数１】
0005854655.tif 000002
【００３１】
から導出されるパラメーターである。ただし、Ｉｘ及びＩｙは画像の勾配成分であり、Ｅは、勾配が所定の第１の有用なしきい値よりも大きなノルムを与える点の集合である。
【００３２】
テクスチャリングパラメーター（複数可）は、詳細には、上記行列のトレースの値、及び勾配が第１の所定の有用なしきい値よりも大きなノルムを与える点の集合Ｅのカージナル数とすることができる。
【００３３】
オプティカルフローアルゴリズムからコーナー検出器アルゴリズムに切り替わるか否かを判断するための第１の一連の所定の判定基準は、詳細には、以下の条件、すなわち、トレースの値が第２の所与のしきい値よりも大きいこと；及びカージナル数の値が第３の所与のしきい値よりも大きいこと；及び速度推定値が第４の所与のしきい値よりも小さいこと、を累積的に含むことができる。
【００３４】
選択されたアルゴリズムがコーナー検出器アルゴリズムであり、速度近似値が第５のしきい値よりも小さいとき、コーナー検出器アルゴリズムも、有利には、少なくともいくつかの選択されたトラッカーに対して、トラッカーの探索パラメーター、及び制限方向における画像内の探索ゾーンの大きさを変更することによって適合する。有利には、そのような状況下で、無人機を所定の位置にサーボ制御する自動操縦モードを起動することも提供される。
【００３５】
本発明の第２の態様では、その方法は、コーナー検出器アルゴリズムに切り替えた後に：コーナー検出器アルゴリズムによって生成されたデータから、コーナー検出器アルゴリズムによって画像間でシーンの差分の動きを推定する際に失敗するリスクを表す少なくとも１つのパラメーターを得ること；無人機の水平並進速度の近似値を得ること；失敗リスクパラメーター（複数可）及び速度近似値に第２の一連の所定の判定基準を適用すること；並びに、第２の一連の所定の判定基準が満たされる場合には、画像間でシーンの差分の動きを推定するために、オプティカルフローアルゴリズムに戻ることを含む。失敗リスクパラメーターは、詳細には、コーナー検出器アルゴリズムによって用いられるロックオンされたトラッカーの数を含むことができる。
【００３６】
オプティカルフローアルゴリズムに戻るか否かを判断するための第２の一連の所定の判定基準は、詳細には、以下の条件、すなわち、ロックオンされたトラッカーの数が第６の所与のしきい値未満であること；又は速度推定値が第７の所与のしきい値よりも大きいこと、のいずれかを含むことができる。
【００３７】
最後に、その方法は、第１のアルゴリズム、すなわち、オプティカルフローアルゴリズム又はコーナー検出器アルゴリズムから他方のアルゴリズムに切り替わった後に取得された連続した画像の数をカウントすること、及び他方のアルゴリズムに切り替わった後に或る最小画像数をカウントすることを条件として、第１のアルゴリズムに戻ることを提供することができる。
【図面の簡単な説明】
【００３８】
【図１】無人機、及びその無人機を遠隔で操縦できるようにする関連する遠隔制御装置を示す概略図である。
【図２】画像ピラミッド、すなわち、垂直方向カメラによって取得されるシーンの多重解像度表現の図である。
【図３】オプティカルフロータイプのアルゴリズムの種々のステップの包括的な流れ図である。
【図４】コーナー検出器アルゴリズムの種々のステップの包括的な流れ図である。
【図５】一方のアルゴリズムから他方のアルゴリズムに切り替わるための或る特定の数の判定基準に応じて、推定器（オプティカルフロー又はコーナー検出器）を選択するための本発明のアルゴリズムの不可欠なステップを示す図である。
【発明を実施するための形態】
【００３９】
これ以降、添付の図面を参照しながら本発明の実施態様を説明する。
【００４０】
以下に、本発明の実施態様を説明する。
【００４１】
図１において、参照番号１０は無人機、たとえば、フランスのパリにあるParrot SAが提供しているＡＲドローンのようなクアッドリコプターの全体を参照する。無人機１０は同一平面の４つのローター１２を有し、該ローターのモーターは、統合された、飛行及び姿勢制御システムによって独立して制御される。
【００４２】
また、無人機１０は、無人機が向けられるシーンの画像を取得する役割を果たす第１の前方監視カメラ１４と、無人機がその上空を飛行している地形１８の連続したデジタル画像を取得するのに適している、下方監視垂直方向カメラ１６とを備える。図式的に２０で示される、このカメラの視角は、たとえば、６４度の斜めの線を有することができ、解像度は１７６×１４４ピクセルである（これらの値は、もちろん、単に例示として与えられる）。
【００４３】
また、無人機１０には、超音波高度計２２も設けられており、超音波高度計は、地面に向かってビーム２４を放射し、地面に対する無人機の高度を常に特定する役割を果たす。この情報は、詳細には、画像が取得されるときに該画像内のシーンの動きを地形１８に対する速度に関する情報に変換できるように、カメラ１６によって取得される画像に適用されるスケールファクターを推定するために用いられる。
【００４４】
最後に、その無人機は、無人機の角速度及び姿勢角を或る特定の精度で測定する役割を果たす慣性センサー（加速度計及びジャイロ）を備える。
【００４５】
無人機１０は、遠隔制御装置２６、たとえば、前方監視カメラ１４によって取得される画像を表示するタッチスクリーン２８を有する装置を、単にスクリーン２８に指３０で触れることによってユーザが操縦コマンドを起動できるようにするために、その上に重ね合わせられる或る特定の数の記号と共に用いて、操縦することができる。遠隔制御装置２６は、ロール軸及びピッチ軸を中心に遠隔制御装置を対応するように傾けることによって、無人機の姿勢を制御できるようにする傾斜センサーも設けられる。
【００４６】
また、その無人機は、ユーザによって適用される外部コマンドが存在しない場合に、ホバリング飛行を安定させるための独立したシステムも設けられる。
【００４７】
そのシステムは、適切なトリムコマンド、すなわち、空気の動き及びセンサーのドリフトのような外部作用に起因する並進の最低限の動きを補正するためのコマンドを発令することによって、定点での平衡を保持するために必要とされる補正をもたらす役割を果たす。
【００４８】
動作できるようにするために、自動スタビライザーシステムは、速度情報、詳細には、無人機の並進の水平線速度についての情報を有する必要がある。
【００４９】
カメラによって取得されるシーンの画像内の変化に応じて、連続した画像間で検出され、追跡される形状の動きから、上記線速度の方向及び大きさを推定するために、本発明は、無人機に設けられた垂直監視ビデオカメラ２２を用いることを提案する。
【００５０】
以下の仮定が行なわれる。
・第一に、そのシーンは「平坦な」シーンである、すなわち、地形１８が水平であると仮定される。機上テレメーターは、無人機からシーン（地形１８）までの距離の測定値を与えるが、用いられる技術（超音波）は、この距離が評価される画像内の正確な点を特定することはできない。それゆえ、そのシーンにわたって、テレメーターによって与えられるデータに対して高度がほとんど変化しないと仮定され、かつシーン内の全ての点が画像の焦点面から同じ距離に位置すると仮定され、シーン深度のいかなる影響も無視する。具体的には、この仮定は、通常、カメラ及びテレメーターが地面を監視しているときにはいつでも当てはまる。
・第二に、シーンの輝度は一定であると仮定され、カメラの反応は一定であると暗黙的に仮定される。
・最後に、一連の画像から速度を推定する際の難しさを削減するために、観測中のシーンは動かないと仮定される。
【００５１】
一定のオプティカルフローに基づくアルゴリズム
以下において、上記の刊行物である非特許文献１及び非特許文献２から知られている、このタイプのアルゴリズムの主要な特徴を説明し、さらなる詳細については、それらの文献を参照することができる。
【００５２】
詳細には、オプティカルフローが局所的に一定であるという条件で、すなわち、カメラによって取得されるシーン内の点毎にオプティカルフローの動きが同じであるという条件でLucas-Kanade推定法を用いることができ、その方法は簡単かつ迅速である（この仮定は、シーンが正確に平面であり、動きが、光軸を中心にする回転を伴うことなく、カメラの焦点面に対して平行であり、かつシーンの輝度が一定であるという条件の場合に当てはまる）。
【００５３】
この方法の欠点は、該方法が画像信号のテイラー近似に基づいており、それにより、確実に検出することができる最大速度が数ピクセルのみに低減されることである。
【００５４】
その欠点を軽減するために、元の画像の一連の連続的な縮小画像を作成することによって、多重解像度手法によって理論的に検出可能である最大速度を高めることができる。この手法は、「画像ピラミッド」としても知られており、図２において図示される。この例では、１７６×１４４ピクセルの解像度を有する完全な画像（レベル０）から始めて、同じ画像が２分の１ずつ縮小して再利用され、レベル１は８８×７２ピクセルであり、レベル２は４４×３６ピクセルであり、レベル３は２２×１８ピクセルである。
【００５５】
推定されるオプティカルフローの精度は、実行される縮小に反比例するが、対応する最大検出可能速度は縮小のレベルに比例して増加する。
【００５６】
多重解像度手法は、最も低い解像度（ここでは、レベル３）において一定のオプティカルフローを推定し、その後、その結果を次の解像度（レベル２）のための予測として再び導入することからなる。画像の粗いバージョン（たとえば、レベル３）で作業する利点は、画像内で非常に小さな動きしか許されず、それゆえ、点追跡が非常に速いということにある。その後、このようにして得られた動き情報を用いて、より低いレベルにおける画像内の動きを予測することができる。十分な精度が得られるまで、このようして、レベルからレベルへと進行し続ける。具体的には、レベル３（３段階の連続的な縮小）において推定を開始し、レベル１（１段階の縮小）において終了すれば十分であり、それにより、極めて迅速に正確な結果を得ることができる。レベル０（完全な画像）を諦めることによって、計算の約７５％の節減を達成できるようになり、それにより、計算時間と、結果の精度との間の有効な歩み寄りを確保することができる。
【００５７】
最も低いレベル（ここでは、レベル１）において用いられる予測は、この解像度のスケールに一致する、最後に推定された速度である。
【００５８】
低解像度誤差は、解像度が高くなるときに、さらに大きな誤差を引き起こすので、連続した各推定値が先行する推定値と同じ方向にあること、そして、その推定値が或る特定のしきい値よりも大きいときに、平滑化された信号と同じ方向にあることを検証することによって、各予測の確度を検証することが適切である。平滑化された信号は、カメラの動きを指数平滑化することによって得られる。この信号は、速度の推定に失敗した場合において十分直ちに更新されないときは、０に向かうように減衰する。これが行なわれない場合、この信号そのものが異常になるであろう。
【００５９】
図３は、フローチャートの形で、上記のオプティカルフローアルゴリズムによって実施される種々のステップを要約する。
【００６０】
このアルゴリズムを適用することによって一定のオプティカルフロー（Ｆｘ，Ｆｙ）を推定した後に、２つの画像間での動きの推定値を推定するためには、基準座標系の変更（カメラの基準座標系以外の基準座標系において撮影するため）、及びスケールの変更（カメラの焦点距離Length及びシーンまでの距離Altitudeを使用する）を実行すれば十分である。
【００６１】
【数２】
0005854655.tif 000003
【００６２】
オプティカルフローを推定するために用いられる画像間での任意の回転を補償することも適切である。この回転情報は慣性ユニットによってもたらされ、導入されるおそれがある誤差（像平面と回転軸に対して垂直な平面との間の交線に沿って成分を追加する回転）は、推定されたフローに、２つの画像間での回転に起因する光心の動きを加算することによって補償することができる。
【００６３】
【数３】
0005854655.tif 000004
【００６４】
ただし、
Ｒｒｏｔａｔｉｏｎは補償されるべき回転であり、
ｐｒｏｊは空間内の点をスクリーン上に投影する関数であり、
（Ｃｘ，Ｃｙ）は画像の中心であり、
Ｇは補償の利得である。
【００６５】
その補償は、非常に大きなベースにおいて最適な利得Ｇを計算することによって最適化することができる。並進が０の場合の理想的な利得は１に等しいので、結果として生成される最適利得は１未満であり、平均的にのみ最適である。したがって、速度が０の状況の場合に１の利得を保つ（ホバリング中に定点をサーボ制御する）ことが、より有効である場合がある。
【００６６】
回転を補償することによって、ホバリング中に回転の発生に直面しても、計算をロバストに行なうことが可能になり、とりわけ、この計算が線形動きモデルを保存することが可能になり、この線形動きモデルによって、計算に関して準トランスペアレントに予測を適用することが可能になる（画像全体の変化が、ポインターを移動させることになる）。
【００６７】
コーナー検出に基づくアルゴリズム
以下において、それ自体が特に上記の刊行物である非特許文献３及び非特許文献４から知られている、このタイプのアルゴリズムの主な特徴を説明し、さらなる詳細については、それらの文献が参照することができる。
【００６８】
このアルゴリズムは、画像内の種々の特徴点（「コーナー」）の動きを推定することによって機能する。このために、そのアルゴリズムは、特徴点を追跡する役割を果たす、いわゆる「トラッカー（tracker）」構造を使用し、トラッカー構造は後続の画像において上記点を見つけるために必要とされる情報を提供する。トラッカーが画像間で点を追跡できるとき、「ロックオンされた」と言われる。そうでない場合には、「失われた」と言われる。
【００６９】
画像の第１の解析は、たとえば、「加速セグメントテストからの特徴点（ＦＡＳＴ：feature from accelerated segment test）」として知られているタイプのコーナー検出を用いることによって、特徴点を検出する役割を果たす。その後、そのアルゴリズムは、そのコンテンツが有効であることを検証した後に、これらのコーナー上にトラッカーを配置するか、又は１つの画像内の特徴点が多くの場合に後続の画像内でも特徴点のままであると仮定して、これらの点のうちの１つにおいてトラッカーの新たな位置を探し出そうとする。したがって、新たな画像内のトラッカーのための探索ゾーンは、特徴位置のリストに限定される。また、計算時間及びロバスト性を最適化するために、探索ゾーンはトラッカーの先行する動きに応じて限定される。
【００７０】
ＦＡＳＴコーナー検出器は、コントラストしきい値を一定にし、かつ経路半径を一定にして、さらには５０％まで縮小された画像のバージョンにおいて捕捉が実行されるようにして、メモリアクセス回数を低減するように最適化される。検出器に反応する位置はテーブル内に格納され、画像上にマークされる。そのテーブルは、（新たなトラッカーを位置決めするための）位置に関していかなる制約も課すことなく、コーナーに迅速にアクセスできるようにし、その画像は、それらの位置が（位置決めされたトラッカーを探すために）ランダムにアクセスされることを可能にする。
【００７１】
後続のステップは、二重指数平滑化によってトラッカーの将来の位置を予測することからなる。トラッカーが非常に遅いとき、その予測される位置は、その現在の位置と同一であるとみなされる。トラッカーのための探索長方形は、予測される位置と、先行する画像内の実際の位置との間の距離に応じてサイズを変更する。探索半径は、大きすぎるときには縮小され、実際の距離に近すぎるときは伸長される（最大半径は、新たに配置されたトラッカー毎に用いられる）。
【００７２】
トラッカーが画像上に配置されるときに、その位置を中心にして固定のサイズ（たとえば、７×７ピクセル）の画像断片又は「パッチ」が記録され、このパッチが、後続の画像において探索される。異なるパッチを比較するために用いられる距離は、絶対差の和である。
【００７３】
【数４】
0005854655.tif 000005
【００７４】
トラッカーを探索するために、予測された位置の周囲の位置が、螺旋経路に従って走査され、コーナー毎に記述子に対する距離が計算され、その距離が以下の３つのしきい値と比較される。
・高いしきい値であり、そのしきい値未満では、特徴位置でない場合であっても、現在の位置に直に隣接する８つの位置のテストが許される。
・低いしきい値であり、そのしきい値未満では、半ピクセル探索後に探索が中止される。
・中間のしきい値であり、そのしきい値は、低いしきい値を通過するために、半ピクセル探索を許可する。
【００７５】
コーナー検出器は、画像内の本物のコーナーに反応するだけではないので、しばしば、望ましくない位置が特徴位置として分類されることが起こり得る。
【００７６】
これらの望ましくない位置は、本物のコーナーで生じるように、明確な最小値を与える代わりに、その周囲において絶対差の和が概ね一定であり、かつ雑音を含む位置である。したがって、最低限のコントラスト量が必要とされ、その際、潜在的な記述子であると見なされる各パッチにおいてテストが実行される。２値化された経路は、テストによって、そのコンテンツが表面的なものであるか否かを判断し、解析中のパッチを拒否又は容認する役割を果たす。
【００７７】
図４は、上記のコーナー検出器アルゴリズムによって実施される種々のステップを要約するフローチャートである。
【００７８】
定点サーボ制御において用いるための速度を推定することに関連して、一旦これらの種々の動作が実行されると、以下に記述されるように、コーナー検出を非常に低い速度に適合するように変更することが好都合である場合があり、それは「ゴールドモード」と呼ばれる。
【００７９】
速度が遅いとき、その推定値は、より雑音を多く含む。トラッカー精度はピクセルの半分に限定されており、それゆえ、速度誤差は、高度が高くなるにつれて大きくなる。その際、任意の速度を相殺する代わりに、カメラの位置を定位置にサーボ制御することが好ましい場合がある。
【００８０】
言い換えると、ドリフト（誤差の累積、風等）を避けるために、サーボ制御が速度値（その値そのものは非常に低い）から独立するように、無人機を速度においてではなく、位置においてサーボ制御することが好ましい。
【００８１】
位置に対するサーボ制御を提供するために、かつトラッカーがメモリを一切持たない（失われたトラッカーを見つけることができない）と仮定すると、長い寿命を与えるトラッカーに頼る必要がある。それゆえ、カメラの速度が遅いときには、特定のトラッカーを、より長く動作し続けられるようにする特殊なモードに変更することができる。用いられるアルゴリズムは実際にはさらに複雑であるが、この複雑さは、探索ゾーンを小さくすることによって補償される。
【００８２】
このために、限られた半径にわたって、トラッカーによって網羅的な探索が実行され、その後、半ピクセル探索によって追随される。さらに、トラッカーの基準パッチにおいて、さらには、トラッカーが比較されることになるパッチにおいても、ローパスフィルタリングが実行され、それにより、エイリアシング（スペクトルフォールディング）及びモアレ図形のような干渉するサンプリング現象に直面するときのロバスト性を高める。
【００８３】
「ゴールド」モードに変更するためには、トラッカーの動きの平均量が所与のしきい値よりも低くなる必要があり、その際、最小限の画像数にわたってロックオンされているトラッカーは変更されて、「ゴールド」トラッカーになり、優先権は中央のトラッカーに与えられる。
【００８４】
少なくとも１つのトラッカーが「ゴールド」モードに変更されたとき、並進の付加的な動きが推定され、速度には変換されない。その際、サーボ制御は、最新の動きを補償する代わりに、「ゴールド」モードが確立された時点で監視していた場所にカメラを戻そうとする。トラッカーを追加することが基準位置を現在の位置で更新することを伴う場合であっても、「ゴールド」トラッカーを追加しようとする試みが規則的に行なわれる。
【００８５】
コーナー検出器アルゴリズムによって速度を評価する際の最後のステップは、画像間で並進の動きを推定するからなる。
【００８６】
追跡アルゴリズムは、シーン内の複数の点の画像における動きを与えるので、シーンが平面であると仮定すると（カメラが地面を監視しているので、その仮定は理にかっている）、これらの点から欠けているのは、深度情報だけである。
【００８７】
カメラの動きは、反復再重み付け最小二乗逆投影誤差の和を最小にすることによって、トラッカーの動きから推定される（逆投影誤差は、最新の画像内で見られる位置と、カメラが動いた後の理論的な位置との間の距離である）。
【００８８】
トラッカーの動きの量がしきい値よりも大きい場合には、瞬間速度を推定する代わりに、最新の画像の捕捉時点と早期の画像の捕捉時点との間の動きを推定することもできる。これは、計算ために利用することができるトラッカーの数を最小限に抑えるという効果を有するが、最終的に推定される速度の値を平滑化しながら、トラッカーの位置に関する雑音の大きさを相応に低減する。
【００８９】
より適切なアルゴリズムを選択すること
序文において詳述されるように、これら２つのアルゴリズム、すなわち、オプティカルフロー及びコーナー検出はそれぞれ特有の利点及び欠点を与える。
【００９０】
本発明の創意は、これら２つのアルゴリズムを選択肢として用いることにあり、いかなるときでも、それらのアルゴリズムのうちのいずれが種々の制約（低速又は高速、より大きなレベル又はより小さなレベルのコントラスト及びテクスチャを有するシーン等）に、より適合しているかを選択するからなる。
【００９１】
新たに画像が処理される度に、次の画像に対してアルゴリズムが変更されるべきであるか否かに関する問題が生じ、アルゴリズムのうちのいずれが、より良好な結果を与えることを先験的に予想することができるかを判断することによって、これが行なわれる。
【００９２】
それにもかかわらず、アルゴリズム間の切替えは、計算時間に関して付加的な犠牲を伴うので、切り替える場合に、最初の２つの連続した画像が取り込まれたら、新たなアルゴリズムが最適に機能することができるか否かを判断することも重要である。
【００９３】
上記で説明されたように、それらのアルゴリズムはいずれも、初期に適用される前処理ステージと、その後に適用される更新ステージとを必要とする。したがって、
・オプティカルフローに基づくアルゴリズムは、カメラによって捕捉される各画像から画像ピラミッドを形成し、その処理の終了時に、この画像ピラミッドの古いバージョンを更新する。そして、
・コーナー検出器アルゴリズムは、前処理中に画像の縮小されたバージョンにおいてコーナーを入手する必要があり、その更新は、後続の画像の前に、コーナー上にトラッカーを置き換えることを含む。
【００９４】
それゆえ、コーナー検出器アルゴリズムは、先行する画像からコーナーが既に入手されていなかった場合には、動作することはできない。コーナーが一切ない場合、トラッカーを一切配置することができないので、次の画像において追跡されるべきトラッカーが存在しなくなる。古いトラッカーを保存することは、あまりにも大きな画像ゾーンにおいてそれらのトラッカーを探索することを伴うことになり、その間に回転を受けている場合もあるので、考えることはできない。
【００９５】
残念なことに、縮小された画像であっても、コーナーを入手することは、計算時間に関してコストがかかる演算であるので、不必要なときには、すなわち、オプティカルフローアルゴリズムの方が適合していると考えられる場合には、この演算を避けることが見込まれなければならない。
【００９６】
対照的に、オプティカルフローアルゴリズムの前処理は高速であり、更新は、単にポインターを交換することによって実行することができるので、計算時間に関してコストがかからないことに気づくべきである。さらに、第１の画像縮小（レベル０からレベル１への移行）は、両方のアルゴリズムにとって有益であるので、決して無駄ではない。
【００９７】
それゆえ、オプティカルフローアルゴリズムの前処理及び更新を毎回実行する一方で、コーナー検出器アルゴリズムは特に速度が遅いので、コーナー検出器アルゴリズムの方が良好なアルゴリズムであるときにのみ、その前処理及び更新を実行することが適切である。
【００９８】
さらに、オプティカルフローアルゴリズムは任意のタイプのシーンにより良好に適合するので、デフォルトで用いられるアルゴリズムはオプティカルフローアルゴリズムである。
【００９９】
最後に、各アルゴリズムは、第１のアルゴリズムへの逆方向の切替えは回避される或る量の「クレジット」、すなわち、アルゴリズムを切り替えた後の或る最小画像数を与えられる。このクレジットはオプティカルフローからコーナー検出への切替えを制御する場合には通常１０画像であるが、反対の切替えの場合には数画像のみである（相対的に長いコーナー入手前処理が計算速度を過度に遅らせないようにするため）。
【０１００】
図５を参照して、これ以降、どちらの推定器アルゴリズムが、より良好に適合するかを選択するためのアルゴリズムが説明される。
【０１０１】
上記のように、画像ピラミッドが形成され、新たな画像毎に毎回更新される（ブロック１００）。或る最小限の数の画像が経過した（クレジットが使い果たされた）場合で（テスト１０２）、かつ選択されたアルゴリズムがオプティカルフローである場合には（テスト１０４）、問題は、オプティカルフローからコーナー検出への移行を行なうべきであるか否かである。このために、そのシーン及び動きがコーナー検出とって相応しいか否かを判断することが適切である。
【０１０２】
オプティカルフローアルゴリズム（ブロック１０６）は、予測及び整合性テストのために用いられるような、推定された速度のバージョンを既に知っている。このデータは、動きは速い傾向にあるか、遅い傾向にあるかを良好に示す。それは、粗いアルゴリズム誤差に対してロバストであり、コーナー検出器アルゴリズムの場合の予測として再導入されることもできる。
【０１０３】
１つの変形では、又はさらに、この速度推定は、慣性ユニットによってもたらされる情報から得ることができる。
【０１０４】
上記のように、動作できるようにするために、コーナー検出器アルゴリズムのみが特殊なコンテンツを必要とする。
【０１０５】
それにもかかわらず、シーンコンテンツ推定器を実現することは難しく、その唯一の目的が、オプティカルフローアルゴリズムからコーナー検出器アルゴリズムに切り替わる際の潜在的な利点の評価に用いられることであるとすると、複雑さの点から余分な犠牲を払うことになる。
【０１０６】
その代わりに、推定に関するオプティカルフロー法の「副産物」が使用される。この方法は、各画像において、Lucas-Kanade公式を計算することを伴う。
【０１０７】
【数５】
0005854655.tif 000006
【０１０８】
ただし、
Ｉｘ及びＩｙは画像の勾配の成分であり、
Ｅは、勾配が第１の所定の有用なしきい値よりも高いノルム（絶対値）を与える点の集合である。
【０１０９】
この公式において、画像の勾配の成分の行列である、反転のための中央の正方行列
【０１１０】
【数６】
0005854655.tif 000007
【０１１１】
がいずれにしても計算される。
【０１１２】
その結果が画像全体にわたって一定であるという条件がある限りにおいて、その行列は、画像全体の勾配についての情報を保持し、そのために、この行列が調べられることに気づくべきである。
【０１１３】
この行列のトレースの値が使用され、この値はＥにわたる勾配の平均ノルムの推定値を与える。
【０１１４】
Ｅが十分な点を含む場合（すなわち、そのカージナル数が所与のしきい値よりも高い場合）で、かつそのトレースの値が十分に大きい場合に、このことは、取得されたシーンがテクスチャを有する、すなわち、シーンが、そのアルゴリズムを満足のいくように実行することができるだけ十分なマイクロコントラストを含むという良好な指示となる。
【０１１５】
判断しきい値は、コーナー検出器において用いられるコントラストしきい値に応じて調整されるべきである。
【０１１６】
数学的には、急な平均勾配は、コーナーが存在することを確実に保証するものではないが、統計的には、この指標は有効に機能し、この急な平均勾配を超えると、いかなる付加的な計算も伴わない。
【０１１７】
シーンに関するこの「テクスチャ指標」は、それだけでは、コーナー検出器が用いられる場合に十分な数のトラッカーを保証するシーン品質を測定することはできないので、この指標を他のパラメーターと組み合わせる必要がある。
【０１１８】
以下のものが代表的なパラメーターとして選択される。
・特徴ゾーンが画像内によく分散しているか否かを示すテクスチャ指標に用いられる点の数（Ｅのカージナル数）；及び
・速度が「概して速い」か、又は「概して遅い」かを判断できるようにする、速度推定値（平滑化された信号によって与えられる速度をいくつかの画像にわたって平均したもの）。
【０１１９】
こうして、以下の条件の３つ全てが合わせられる場合（テスト１０８）：すなわち、
・テクスチャ指標のスコア（行列のトレース）が第１のしきい値よりも高く、かつ
・用いられる点の数（カージナル数Ｅ）が第２のしきい値よりも大きく、かつ
・推定された速度が第３の所与のしきい値よりも小さい場合には、コーナー検出器アルゴリズムに切り替わることが決定される（ブロック１１０）。
【０１２０】
上記のように、現在の画像の処理は、画像ピラミッドを更新することで終了し、これがあらゆる場合に行なわれる（ブロック１１２）。
【０１２１】
ここで、現時点で選択されたアルゴリズムがコーナー検出器であると仮定される（ブロック１１４）。
【０１２２】
したがって、検討すべき事柄は、オプティカルフローアルゴリズムに戻ることが好ましいか、それともコーナー検出器アルゴリズムのままでいることが好ましいかを判断することである。なお、この場合において、いくつかのトラッカーに対して上記の「ゴールド」モードを起動することが適切であろうとなかろうと、コーナー検出器アルゴリズムのままでいることが好ましいかを判断する。
【０１２３】
コーナー検出器アルゴリズムがLucas-Kanade公式を使用しない限り、オプティカルフローアルゴリズムと共に用いられたシーンテクスチャ指標はもはや利用することはできない。
【０１２４】
しかしながら、コーナー検出器アルゴリズムが現在の画像を処理するのに依然として適切であるか否かを判断するために、コーナー検出器アルゴリズムの動作に依拠することができる。
【０１２５】
処理の終了時にロックオンされたトラッカーの数は、並進の動きが推定された品質のための指標ではない（それゆえ、速度が評価された）。すなわち、多数のトラッカーを使用していても質の悪い推定値を得る可能性もあるし、１つのトラッカーしか使用していなくても優れた推定値を得る可能性もある。同様に、トラッカーが動かされる画像ゾーンに関してトラッカーによって得られる類似度スコアは、位置決め誤差には関連付けられない。トラッカーの数を増やすことによってのみ、平均して、満足のいく結果を保証することができる。
【０１２６】
それゆえ、ロックオンされたトラッカーの数は、コーナー検出器アルゴリズムが長期的に見て失敗するリスクに関する指標を与え、その状況はオプティカルフローアルゴリズムに直ちに切り替わることによって避けることができる（オプティカルフローアルゴリズムは概ね失敗しないが、誤差がわずかに増加することを犠牲にする）。
【０１２７】
したがって、以下の２つの条件のうちのいずれか一方が満たされる場合には（テスト１１６）、システムはオプティカルフローアルゴリズムに戻る。
・平滑化された速度推定値が所与のしきい値よりも大きいか、又は
・ロックオンされたトラッカーの数が別の所与のしきい値よりも小さい。
【０１２８】
これらの条件のいずれかが満たされる場合には、オプティカルフローアルゴリズムへの逆の切替えが実行される（ブロック１１８）。
【０１２９】
上記のように、現時点でどちらのアルゴリズムであるかにかかわらず、画像ピラミッド更新はいつでも実行されるので、その画像の処理は画像ピラミッドを更新することで終了になる（ブロック１１２）。
【０１３０】
テスト１１６において、コーナー検出器アルゴリズムが維持されるべきであることがわかった場合には、「ゴールド」モードが稼働されているか否かが検証される（テスト１２０）。
・「ゴールド」モードが稼働されている場合には、現在の状況が保たれ、コーナー検出器アルゴリズムが現状のまま維持される（ブロック１１０）；
・そうでない場合には、トラッカーの動きの平均量が推定され（テスト１２２）、所与のしきい値未満である場合には、ｉ）或る最小限の数の画像にわたってロックオンされていたトラッカーが「ゴールド」モードに移行され、ｉｉ）基準位置が格納され、ｉｉｉ）アルゴリズムがコーナー検出器モードに保持される（ブロック１２４）。
【０１３１】
再び、画像処理は画像ピラミッドを更新することで終了になる（ブロック１１２）。
【図１】
0005854655.tif 000009
【図２】
0005854655.tif 000010
【図３】
0005854655.tif 000011
【図４】
0005854655.tif 000012
【図５】
0005854655.tif 000013