JP2017134617A - Position estimation device, program and position estimation method - Google Patents

Position estimation device, program and position estimation method Download PDF

Info

Publication number
JP2017134617A
JP2017134617A JP2016013860A JP2016013860A JP2017134617A JP 2017134617 A JP2017134617 A JP 2017134617A JP 2016013860 A JP2016013860 A JP 2016013860A JP 2016013860 A JP2016013860 A JP 2016013860A JP 2017134617 A JP2017134617 A JP 2017134617A
Authority
JP
Japan
Prior art keywords
image
feature point
motion
unit
moving body
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016013860A
Other languages
Japanese (ja)
Other versions
JP6658001B2 (en
Inventor
康宏 梶原
Yasuhiro Kajiwara
康宏 梶原
靖子 白鷹
Yasuko Shirataka
靖子 白鷹
和史 松下
Kazufumi Matsushita
和史 松下
多聞 貞末
Tamon Sadasue
多聞 貞末
和寛 ▲高▼澤
和寛 ▲高▼澤
Kazuhiro Takazawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016013860A priority Critical patent/JP6658001B2/en
Publication of JP2017134617A publication Critical patent/JP2017134617A/en
Application granted granted Critical
Publication of JP6658001B2 publication Critical patent/JP6658001B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a position estimation device capable of improving accuracy of a position to be estimated.SOLUTION: A position estimation device comprises: an image feature point extraction part 11 for extracting a feature point from an image which is imaged by an imaging device; an image feature point tracking part 12 for tracking the feature point of the image which was imaged earlier in time; an environment map generation part 15 for using a three-dimensional coordinate of a movable body, distance information and a camera parameter of the imaging device for generating a map including the three-dimensional coordinate of the feature point; a position detection part 16 for detecting a position and an attitude of the movable body in which a tolerance of a projection coordinate when the three-dimensional coordinate is projected in the image and the coordinate of the feature point, or a tolerance of a conversion coordinate when the coordinate of the feature point is converted into the three-dimensional coordinate and the three-dimensional coordinate becomes smaller; and a permitted motion defining part 17 for based on movement speed of the movable body which is detected by the position detection part based on a position, rotation speed of the movable body which is detected based on the attitude, and an imaging condition of the image, defining a motion in which an image in which the feature point can be tracked, can be imaged.SELECTED DRAWING: Figure 6

Description

本発明は、位置推定装置、プログラム及び位置推定方法に関する。   The present invention relates to a position estimation device, a program, and a position estimation method.

運転者が移動体を操縦したり外部から操縦しなくても移動体が自立的に決められた経路に沿って移動したりする技術の開発が進められている。移動体が経路に沿って移動するには移動中も移動体が位置を正確に推定する必要がある。そして、移動体の位置や姿勢を移動体が備えるカメラを用いて推定するVisual−SLAM(Simultaneous Localization and Mapping;同時位置推定地図構築)が知られている。Visual−SLAMでは、時系列の映像から周囲の静止物体の三次元位置情報を含む環境地図の生成と、移動体の位置や姿勢の推定とを同時に行うことができる。   Development of a technique in which a moving body moves along a route determined autonomously without a driver maneuvering the moving body or maneuvering from the outside is underway. In order for the moving body to move along the route, it is necessary for the moving body to accurately estimate the position even during movement. Then, Visual-SLAM (Simultaneous Localization and Mapping; simultaneous position estimation map construction) that estimates the position and orientation of a moving body using a camera provided in the moving body is known. In Visual-SLAM, it is possible to simultaneously generate an environment map including three-dimensional position information of surrounding stationary objects from a time-series image and estimate the position and orientation of a moving object.

カメラを用いた位置と姿勢の検出では、時系列に撮像された画像から複数の特徴点とその三次元座標を求めておき、次のタイミングで撮像された画像の特徴点との対応付けを行う。次のタイミングの画像のうち追跡された特徴点の三次元座標が分かっているので、該三次元座標と画像内の特徴点との対応を利用して自己位置と姿勢の推定が行われる。   In the detection of position and orientation using a camera, a plurality of feature points and their three-dimensional coordinates are obtained from images taken in time series, and are associated with the feature points of the image taken at the next timing. . Since the three-dimensional coordinates of the tracked feature points in the next timing image are known, the self-position and orientation are estimated using the correspondence between the three-dimensional coordinates and the feature points in the image.

このようにカメラを用いて位置と姿勢が検出される場合、位置と姿勢の精度が撮像された映像の品質に大きく依存することが知られている。そこで、カメラによる映像の品質に対しロバストな位置推定技術が従来から考案されている(例えば、特許文献1参照。)。特許文献1には、異なるタイミングで撮像された複数の画像のそれぞれから対応した対応点を検索し、検索された対応点の全ての組から対応点の複数の組を繰り返し選択し、繰り返し選択された対応点の複数の組に基づいて自車両の運動推定候補を各々算出する運動推定装置が開示されている。   When the position and orientation are detected using the camera in this way, it is known that the accuracy of the position and orientation greatly depends on the quality of the captured image. In view of this, a position estimation technique that is robust with respect to the quality of images taken by a camera has been conventionally devised (see, for example, Patent Document 1). In Patent Document 1, corresponding points corresponding to each of a plurality of images captured at different timings are searched, and a plurality of sets of corresponding points are repeatedly selected from all the sets of corresponding points searched, and repeatedly selected. A motion estimation device that calculates motion estimation candidates for the host vehicle based on a plurality of sets of corresponding points is disclosed.

しかしながら、従来の技術では、特徴点の対応付けが困難なほど画像が大きく変化した場合に、推定される位置や姿勢の精度が低下するおそれがあるという問題がある。例えば、移動体は目的地に早く到着することが望ましいと考えられるが、移動体が早く移動するために位置や姿勢の変化が大きくなると異なるタイミングで撮像された画像内の特徴点の対応付けが困難になる場合がある。この場合、過去に対応付けが可能であった画像を用いて位置や姿勢が推定されるので、推定される位置や姿勢の精度が低下するおそれがある。   However, in the conventional technique, there is a problem that the accuracy of the estimated position and orientation may be reduced when the image changes so much that the feature points are difficult to be associated. For example, it is considered that it is desirable for the moving body to arrive at the destination early, but if the change in the position or posture becomes large because the moving body moves quickly, the feature points in the image captured at different timing may be associated with each other. It can be difficult. In this case, since the position and orientation are estimated using images that can be associated in the past, the accuracy of the estimated position and orientation may be reduced.

上術した課題に鑑み、本発明は、推定される位置の精度を向上できる位置推定装置を提供することを目的とする。   In view of the above-described problems, an object of the present invention is to provide a position estimation device that can improve the accuracy of an estimated position.

本発明は、被写体までの距離情報を検出可能な撮像装置が撮像した周囲の画像から移動体の位置を推定すると共に周囲の地図を作成する位置推定装置であって、前記撮像装置が撮像した前記画像から特徴点を抽出する画像特徴点抽出部と、前記画像の前記特徴点を前記撮像装置が撮像した前記画像において追跡する画像特徴点追跡部と、前記移動体の三次元座標、前記距離情報及び前記撮像装置のカメラパラメータを用いて、前記特徴点の三次元座標を含む前記地図を生成する環境地図生成部と、前記三次元座標を前記画像に投影した場合の投影座標と前記特徴点の座標の誤差、又は、前記特徴点の座標を前記三次元座標に変換した場合の変換座標と前記三次元座標の誤差がより小さくなる前記移動体の位置と姿勢を検出する位置検出部と、前記位置検出部が前記位置に基づき検出する前記移動体の移動速度又は前記姿勢に基づき検出する前記移動体の回転速度の少なくともいずれかと、前記画像の撮像条件に基づいて、前記特徴点を追跡可能な前記画像を撮像できる運動を定義する許容運動定義部と、を有する。   The present invention is a position estimation device that estimates a position of a moving body from a surrounding image captured by an imaging device capable of detecting distance information to a subject and creates a surrounding map, and the imaging device captures the image An image feature point extraction unit that extracts a feature point from an image, an image feature point tracking unit that tracks the feature point of the image in the image captured by the imaging device, three-dimensional coordinates of the moving object, and the distance information And an environment map generation unit that generates the map including the three-dimensional coordinates of the feature points using the camera parameters of the imaging device, and the projection coordinates and the feature points when the three-dimensional coordinates are projected onto the image. A position detection unit that detects a position error and a position of the moving body in which the error of the coordinates or the converted coordinates when the coordinates of the feature points are converted into the three-dimensional coordinates and the error of the three-dimensional coordinates becomes smaller; The feature point can be tracked based on at least one of the moving speed of the moving body detected based on the position or the rotational speed of the moving body detected based on the posture and the imaging condition of the image. And an allowable motion definition unit that defines a motion capable of capturing the image.

推定される位置の精度を向上できる位置推定装置を提供することができる。   A position estimation device capable of improving the accuracy of the estimated position can be provided.

移動体の概略斜視図の一例である。It is an example of the schematic perspective view of a moving body. 位置計測部と移動体制御部のハードウェア構成図の一例である。It is an example of the hardware block diagram of a position measurement part and a mobile body control part. 位置計測部の機能ブロック図の一例である。It is an example of the functional block diagram of a position measurement part. ピンホールカメラモデルにおける画像内の特徴点の座標とワールド座標系の三次元座標の対応を説明する図の一例である。It is an example of the figure explaining the correspondence of the coordinate of the feature point in the image in a pinhole camera model, and the three-dimensional coordinate of a world coordinate system. 記憶部に記憶される情報を模式的に示す図の一例である。It is an example of the figure which shows the information memorize | stored in a memory | storage part typically. 本実施形態における位置計測部の全体的な処理手順を示すフローチャート図の一例である。It is an example of the flowchart figure which shows the whole process sequence of the position measurement part in this embodiment. 位置姿勢計測処理を説明するための図の一例である。It is an example of the figure for demonstrating a position and orientation measurement process. 環境地図生成処理の一例示すフローチャートである。It is a flowchart which shows an example of an environmental map production | generation process. 許容運動定義部が許容運動を定義する手順を示すフローチャート図の一例である。It is an example of the flowchart figure which shows the procedure in which an allowable motion definition part defines an allowable motion. 図9の許容運動判定の処理を説明するフローチャート図の一例である。It is an example of the flowchart figure explaining the process of allowable exercise | movement determination of FIG. 移動体制御部の動作手順を示すフローチャート図の一例である。It is an example of the flowchart figure which shows the operation | movement procedure of a mobile body control part. 経路コストの算出方法を説明する図の一例である。It is an example of the figure explaining the calculation method of route cost.

以下、本発明を実施するための形態について図面を参照しながら説明する。
図1は、移動体の概略斜視図の一例である。図1の移動体はマルチコプターやドローンなどと呼ばれる飛行物体100である。この飛行物体100は放射状に配置される複数のロータ(回転翼)9を回転させることによって上昇・下降し、また、前後左右等に移動する。上昇時には4つのロータ9の回転数を増大させ、下降時には4つのロータ9の回転数を減少させる。また、前進時又は後退時には対称にあるロータ9の回転数に変化を付け機体を傾けることで前進又は後退する。
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
FIG. 1 is an example of a schematic perspective view of a moving body. The moving body in FIG. 1 is a flying object 100 called a multicopter or a drone. The flying object 100 moves up and down by rotating a plurality of rotors (rotary blades) 9 arranged radially, and moves back and forth, right and left. The rotational speed of the four rotors 9 is increased at the time of ascent, and the rotational speed of the four rotors 9 is decreased at the time of the ascent. Further, when moving forward or backward, the rotational speed of the symmetrical rotor 9 is changed and the machine body is tilted to move forward or backward.

本実施形態の飛行物体100は、Visual−SLAM(Simultaneous Localization and Mapping;同時位置推定地図構築)を使用して、時系列の映像から周囲の静止物体(三次元点)の三次元座標を含む環境地図の生成と、自己位置や姿勢の推定とを同時に行う。   The flying object 100 of this embodiment uses Visual-SLAM (Simultaneous Localization and Mapping; simultaneous position estimation map construction) and includes an environment including three-dimensional coordinates of surrounding stationary objects (three-dimensional points) from a time-series image. Map generation and self-position and posture estimation are performed simultaneously.

図1の飛行物体100は、位置を計測する位置計測部10及び移動に関する制御を行う移動体制御部30を有している。位置計測部10は飛行物体100の現在の位置と姿勢を推定、計測又は算出等するものであり、移動体制御部30は現在の位置を参考にしながら目的地まで飛行物体100を移動させる。また、飛行物体100はステレオカメラ50を有している。ステレオカメラ50は、被写体との距離を検出できるという特徴を有する。距離を検出可能な手段を別に設ければ単眼のカメラでもよいし、距離情報を取得できる単眼カメラでもよい。距離を検出可能な手段の一例としてレーザーレーダが挙げられる。   The flying object 100 in FIG. 1 includes a position measurement unit 10 that measures a position and a moving body control unit 30 that performs control related to movement. The position measurement unit 10 estimates, measures, or calculates the current position and orientation of the flying object 100, and the moving body control unit 30 moves the flying object 100 to the destination while referring to the current position. The flying object 100 has a stereo camera 50. The stereo camera 50 has a feature that the distance to the subject can be detected. If a means capable of detecting the distance is provided separately, a monocular camera may be used, or a monocular camera capable of acquiring distance information may be used. An example of a means capable of detecting the distance is a laser radar.

図2は、位置計測部10と移動体制御部30のハードウェア構成図の一例である。位置計測部10は、例えば、スマートフォン、タブレット端末、ノートPC、デジタルカメラ、又は、飛行物体100や車両、移動式ロボット等の各種移動体に設けられた制御装置を本体とすることができる。したがって、位置計測部10は情報処理装置としての機能を備える。   FIG. 2 is an example of a hardware configuration diagram of the position measurement unit 10 and the moving body control unit 30. The position measuring unit 10 can have, for example, a smartphone, a tablet terminal, a notebook PC, a digital camera, or a control device provided in various moving bodies such as the flying object 100, a vehicle, and a mobile robot. Therefore, the position measuring unit 10 has a function as an information processing apparatus.

位置計測部10は、入力装置101と、出力装置102と、ドライブ装置103と、カメラI/F104と、位置計測装置105と、移動体制御部I/F106、補助記憶装置107と、主記憶装置108と、各種制御を行うCPU(Central Processing Unit)109と、ネットワーク接続装置110と、姿勢センサ111と、論理回路112とを有し、これらはシステムバスBで相互に接続されている。   The position measurement unit 10 includes an input device 101, an output device 102, a drive device 103, a camera I / F 104, a position measurement device 105, a moving body control unit I / F 106, an auxiliary storage device 107, and a main storage device. 108, a CPU (Central Processing Unit) 109 that performs various controls, a network connection device 110, an attitude sensor 111, and a logic circuit 112, which are connected to each other via a system bus B.

入力装置101は、ユーザ等が操作するキーボード、マウス等のポインティングデバイスやマイク等の音声入力デバイス等を有し、ユーザ等からの各種操作信号の入力を受け付ける。また、入力装置101として出力装置102と一体のタッチパネルを備えていてもよい。   The input device 101 includes a keyboard operated by a user, a pointing device such as a mouse, a voice input device such as a microphone, and the like, and receives input of various operation signals from the user. Further, a touch panel integrated with the output device 102 may be provided as the input device 101.

出力装置102は、位置計測部10の状態を示すLED、CUI(Character User Interface)やGUI(Graphical User Interface)などで各種の情報を表示するディスプレイなどであり、位置計測部10の処理結果や状態を外部に出力する。更に、音声を出力するスピーカの機能を備えていてよい。   The output device 102 is a display that displays various types of information using an LED, a CUI (Character User Interface), a GUI (Graphical User Interface), or the like that indicates the state of the position measurement unit 10. Is output to the outside. Furthermore, a speaker function for outputting sound may be provided.

ドライブ装置103には、例えば記録媒体103a等が着脱自在に装着され、CPU109からの制御で記録媒体103aに記録された各種情報を読み込んだり、各種情報を記録媒体103aに書き込んだりすることができる。位置計測部10が実行するプログラムは、例えば記録媒体103a等に記憶された状態で配布されたり、プログラムを配信したりするサーバから配布される。   For example, a recording medium 103 a and the like are detachably attached to the drive device 103, and various information recorded on the recording medium 103 a can be read and various information can be written on the recording medium 103 a under the control of the CPU 109. The program executed by the position measuring unit 10 is distributed, for example, in a state stored in the recording medium 103a, or distributed from a server that distributes the program.

記録媒体103aは、各種のプログラムやデータ等を記憶するコンピュータで読み取り可能な媒体である。記録媒体103aは、例えばUSB(Universal Serial Bus)メモリやSDメモリ、CD−ROM等の可搬型である。   The recording medium 103a is a computer-readable medium that stores various programs and data. The recording medium 103a is a portable type such as a USB (Universal Serial Bus) memory, an SD memory, or a CD-ROM.

カメラI/F104はステレオカメラ50とのインタフェースである。カメラI/F104はステレオカメラ50にカメラパラメータ(主に内部パラメータをいい、例えば焦点距離、露光時間、画像中心、絞り値、ISO感度、アスペクト比、スキュー補正量、ゆがみ補正量、フレーム間隔など)を送信し、ステレオカメラ50から画像データやカメラパラメータを受信したりする。   The camera I / F 104 is an interface with the stereo camera 50. The camera I / F 104 is a camera parameter for the stereo camera 50 (mainly internal parameters such as focal length, exposure time, image center, aperture value, ISO sensitivity, aspect ratio, skew correction amount, distortion correction amount, frame interval, etc.). And image data and camera parameters are received from the stereo camera 50.

位置計測装置105は、GPS(Global Positioning System;全地球測位システム)機能等を用いて、飛行物体100の位置情報(座標:緯度、経度、標高)を取得する。室内や地下ではIMES(Indoor Messaging System)やビーコンから位置情報を取得してもよい。   The position measuring device 105 acquires position information (coordinates: latitude, longitude, altitude) of the flying object 100 using a GPS (Global Positioning System) function or the like. Location information may be acquired from IMES (Indoor Messaging System) or a beacon indoors or underground.

移動体制御部I/F106は、移動体制御部30と通信するためのインタフェースである。具体的にはUSBケーブル、IC,SPI、MicroWireなどが接続される。 The mobile body control unit I / F 106 is an interface for communicating with the mobile body control unit 30. Specifically, a USB cable, I 2 C, SPI, MicroWire, or the like is connected.

補助記憶装置107は、例えばSSD(Solid State Drive)やHDD(Hard Disk Drive)等のストレージ装置等である。補助記憶装置107は、CPU109が図2の各ブロックへ出力する制御信号を生成するためのプログラム、オペレーティングシステム等が記憶されている。   The auxiliary storage device 107 is, for example, a storage device such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive). The auxiliary storage device 107 stores a program for generating a control signal that the CPU 109 outputs to each block in FIG. 2, an operating system, and the like.

主記憶装置108には、補助記憶装置107から読み出されたプログラム等を展開され、CPU109により実行される。主記憶装置108は、例えばRAM(Random Access Memory)等であるが、これに限定されるものではない。   A program read from the auxiliary storage device 107 is expanded in the main storage device 108 and executed by the CPU 109. The main storage device 108 is, for example, a RAM (Random Access Memory) or the like, but is not limited to this.

CPU109は、オペレーティングシステムやプログラムに基づいて、各種演算や図2の各部に対し制御信号を出力し、位置計測部10の全体の処理を制御する。プログラムの実行結果等を補助記憶装置107に格納することができる。   The CPU 109 controls the overall processing of the position measurement unit 10 by outputting various calculations and control signals to each unit in FIG. 2 based on the operating system and program. The execution result of the program can be stored in the auxiliary storage device 107.

ネットワーク接続装置110は、CPU109からの制御信号に基づき、各種のネットワークに接続する通信装置である。例えば、無線LAN(Local Area Network)や3G、4Gの公共無線通信網に接続する。あるいは有線LANに接続してもよい。これにより、ネットワーク接続装置110は、プログラムや設定情報等をネットワークに接続されている外部装置等から取得できる。また、ネットワーク接続装置110は、プログラムを実行することで得られた実行結果等を外部装置等に提供することができる。   The network connection device 110 is a communication device that connects to various networks based on a control signal from the CPU 109. For example, it connects to a wireless local area network (LAN) or 3G or 4G public wireless communication network. Alternatively, it may be connected to a wired LAN. Thereby, the network connection apparatus 110 can acquire a program, setting information, etc. from the external apparatus etc. which are connected to the network. Further, the network connection device 110 can provide an execution result obtained by executing the program to an external device or the like.

姿勢センサ111は、飛行物体100の姿勢を検出するための各種のセンサである。例えば、3軸のジャイロセンサ、3軸の加速度センサ、及び、磁気方位センサを有する。   The attitude sensor 111 is various sensors for detecting the attitude of the flying object 100. For example, a three-axis gyro sensor, a three-axis acceleration sensor, and a magnetic direction sensor are included.

論理回路112は、特定の情報処理を行うハードウェアである。具体的には、AND、OR、NAND、NOR回路などを要素として、加算器、乗算器、メモリ、ラッチなど、及び、これらが組み合わされたIC、LSI、ASIC、FPGAなどである。本実施形態では、後述する特徴点の抽出、追跡、及び、視差演算などを論理回路112が行う。   The logic circuit 112 is hardware that performs specific information processing. Specifically, an adder, a multiplier, a memory, a latch, and the like, and an IC, LSI, ASIC, FPGA, and the like, which are combined using an AND, OR, NAND, NOR circuit, and the like as elements. In this embodiment, the logic circuit 112 performs feature point extraction, tracking, and parallax calculation, which will be described later.

本実施形態では、上述したコンピュータ本体のハードウェア構成に実行プログラム(例えば、位置姿勢計測プログラム等)をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態における位置姿勢計測処理等を実現することができる。また、上述した位置姿勢計測処理に対応するプログラムは、例えば装置上で常駐している状態であってもよく、起動指示により起動させてもよい。   In the present embodiment, by installing an execution program (for example, a position / orientation measurement program) in the hardware configuration of the computer main body described above, the hardware / resource and the software cooperate to perform the position / orientation measurement process in the present embodiment. Etc. can be realized. Further, the program corresponding to the above-described position and orientation measurement processing may be in a resident state on the apparatus, for example, or may be activated by an activation instruction.

続いて、移動体制御部30について説明する。移動体制御部30は飛行物体100の運動を制御する。運動とは、位置、移動速度、及び、姿勢の少なくとも1つをいう。移動体制御部30は、位置計測部I/F201、演算制御装置202、モータコントローラ203及び4つのモータ204を有している。   Next, the moving body control unit 30 will be described. The moving body control unit 30 controls the movement of the flying object 100. Movement means at least one of position, moving speed, and posture. The moving body control unit 30 includes a position measurement unit I / F 201, an arithmetic control device 202, a motor controller 203, and four motors 204.

位置計測部I/F201は、位置計測部10と通信するためのインタフェースである。具体的にはUSBケーブル、I2C,SPI、MicroWireなどが接続される。例えば、位置計測部10が推定した位置、移動速度及び姿勢、並びに後述する許容運動マップが位置計測部I/F201を介して送信される。   The position measurement unit I / F 201 is an interface for communicating with the position measurement unit 10. Specifically, a USB cable, I2C, SPI, MicroWire, or the like is connected. For example, a position estimated by the position measurement unit 10, a moving speed and posture, and an allowable motion map described later are transmitted via the position measurement unit I / F 201.

演算制御装置202は、4つのモータ204の回転数を制御することでロータ9の回転数を制御し、位置(三次元空間の位置)、移動速度、姿勢などを制御する。4個のロータ9の1つ以上を揚力発生用のロータ9や姿勢制御用のロータ9として動作するように制御する。更に、移動の際には、左右又は前後のロータ9の回転数をアンバランス(回転数差を設けて)にして機体を傾けるように制御することにより移動させる。なお、ロータ9の回転により生じる飛行物体100への回転トルクを抑制するため、4個のロータ9のうち、2つを時計回り方向へ回転させ、残りの2つを反時計回り方向へ回転させる。   The arithmetic and control unit 202 controls the rotation speed of the rotor 9 by controlling the rotation speeds of the four motors 204, and controls the position (position in the three-dimensional space), the moving speed, the posture, and the like. One or more of the four rotors 9 are controlled to operate as a lift generating rotor 9 or a posture controlling rotor 9. Further, when moving, the rotational speed of the left and right or front and rear rotors 9 is unbalanced (with a difference in rotational speed) and is controlled to be tilted so as to be moved. In order to suppress the rotational torque to the flying object 100 generated by the rotation of the rotor 9, two of the four rotors 9 are rotated in the clockwise direction and the remaining two are rotated in the counterclockwise direction. .

演算制御装置202には予め経由地を含む目的地の座標が登録されており、位置計測部10が検出する位置と姿勢に基づいて、経由地又は目的地に接近するように飛行物体100の移動方向を決定する。適切な移動速度は予め定められているものとする。演算制御装置202は移動方向と移動速度等により決定した4つのロータ9の回転数を指示する回転数指示信号をモータコントローラ203に出力する。   The coordinates of the destination including the waypoint are registered in advance in the arithmetic and control unit 202, and the flying object 100 moves so as to approach the waypoint or the destination based on the position and orientation detected by the position measuring unit 10. Determine the direction. It is assumed that an appropriate moving speed is determined in advance. The arithmetic and control unit 202 outputs to the motor controller 203 a rotation speed instruction signal for instructing the rotation speeds of the four rotors 9 determined by the movement direction and the movement speed.

モータコントローラ203は回転数指示信号に応じてモータ204の回転数を制御する。回転数指示信号に応じた電流がモータ204に流れるように例えばPWM信号を生成しモータ204に出力する。モータコントローラ203はモータ204の回転数を検出又は取得してフィードバック制御を行う。また、同一回転数で回転すべきモータ204に微小な回転数の違いがあれば、同一回転数となるように電流を制御する。更に、2つのロータ9の間で回転数指示信号に応じた回転数差が得られない場合、指示された回転数差が得られるように少なくとも1つのモータ204に流れる電流を制御する。   The motor controller 203 controls the rotation speed of the motor 204 according to the rotation speed instruction signal. For example, a PWM signal is generated and output to the motor 204 so that a current corresponding to the rotation speed instruction signal flows to the motor 204. The motor controller 203 detects or acquires the rotation speed of the motor 204 and performs feedback control. Also, if there is a minute difference in the number of rotations of the motor 204 that should rotate at the same number of rotations, the current is controlled so that the number of rotations is the same. Further, when a rotational speed difference corresponding to the rotational speed instruction signal cannot be obtained between the two rotors 9, the current flowing in at least one motor 204 is controlled so that the designated rotational speed difference is obtained.

<位置計測部10の機能構成>
続いて、図3を用いて位置計測部10の機能について説明する。図3は、位置計測部10の機能ブロック図の一例である。位置計測部10は、画像特徴点抽出部11、画像特徴点追跡部12、深度計測部13、撮像部制御部14、環境地図生成部15、移動体位置計測部16、及び、許容運動定義部17を有する。
<Functional Configuration of Position Measuring Unit 10>
Next, the function of the position measurement unit 10 will be described with reference to FIG. FIG. 3 is an example of a functional block diagram of the position measurement unit 10. The position measurement unit 10 includes an image feature point extraction unit 11, an image feature point tracking unit 12, a depth measurement unit 13, an imaging unit control unit 14, an environment map generation unit 15, a moving body position measurement unit 16, and an allowable motion definition unit. 17.

画像特徴点抽出部11、画像特徴点追跡部12及び深度計測部13は上述の論理回路112により実現される。撮像部制御部14、環境地図生成部15、移動体位置計測部16、及び、許容運動定義部17は、補助記憶装置107から主記憶装置108に展開されたプログラムをCPU109が実行することで実現される機能又は手段である。ただし、画像特徴点抽出部11、画像特徴点追跡部12及び深度計測部13が、CPU109がプログラムを実行することで実現されてもよい。   The image feature point extraction unit 11, the image feature point tracking unit 12, and the depth measurement unit 13 are realized by the above-described logic circuit 112. The imaging unit control unit 14, the environment map generation unit 15, the moving body position measurement unit 16, and the allowable motion definition unit 17 are realized by the CPU 109 executing a program developed from the auxiliary storage device 107 to the main storage device 108. Function or means to be performed. However, the image feature point extraction unit 11, the image feature point tracking unit 12, and the depth measurement unit 13 may be realized by the CPU 109 executing a program.

また、位置計測部10は記憶部1000を有している。記憶部1000は、補助記憶装置107又は主記憶装置108の少なくとも一方により構築される情報の記憶手段である。   Further, the position measuring unit 10 has a storage unit 1000. The storage unit 1000 is information storage means constructed by at least one of the auxiliary storage device 107 and the main storage device 108.

撮像部制御部14は、カメラパラメータをステレオカメラ50に出力して、ステレオカメラ50を制御する。本実施形態では、カメラパラメータのうち、少なくとも露光時間とフレーム間隔が出力される。フレーム間隔(撮像間隔)は固定でもよいし撮像される環境などに応じて撮像部制御部14が制御してもよい。固定の場合、フレーム間隔は飛行物体100の補助記憶装置107などに記録されている。また、撮像部制御部14は、ステレオカメラ50が撮像する画像のヒストグラムを利用して、例えば飽和する画素がなく低輝度から高輝度までの使用されるように露光時間を決定する。   The imaging unit control unit 14 controls the stereo camera 50 by outputting camera parameters to the stereo camera 50. In this embodiment, at least the exposure time and the frame interval are output among the camera parameters. The frame interval (imaging interval) may be fixed, or may be controlled by the imaging unit control unit 14 according to the environment in which the image is captured. In the fixed case, the frame interval is recorded in the auxiliary storage device 107 of the flying object 100 or the like. Further, the imaging unit control unit 14 uses the histogram of the image captured by the stereo camera 50 to determine the exposure time so that, for example, there is no saturated pixel and the pixel is used from low luminance to high luminance.

深度計測部13は、ステレオ計測法により各画素又は画素ブロックごとにステレオカメラ50から被写体までの距離を計測する。いわゆる、ブロックマッチング法により画像を一定の大きさのブロックに分割し、それぞれのブロックの水平方向のずれを視差として算出する。更に、ブロックコストを算出した後、周囲との滑らかさを考慮して視差を最適化するSemi-Global-Mating法などを適用することが好ましい。詳細は例えば非特許文献1に開示されている。   The depth measurement unit 13 measures the distance from the stereo camera 50 to the subject for each pixel or pixel block by the stereo measurement method. The image is divided into blocks of a certain size by a so-called block matching method, and the horizontal shift of each block is calculated as parallax. Furthermore, after calculating the block cost, it is preferable to apply a Semi-Global-Mating method that optimizes the parallax in consideration of the smoothness with the surroundings. Details are disclosed in Non-Patent Document 1, for example.

画像特徴点抽出部11は、ステレオカメラ50が撮像した画像から特徴点(画像特徴点)を抽出する。画像特徴点抽出部11は、撮像した画像毎に特徴点を抽出する。画像特徴点抽出部11は、例えば画像の輝度値を用いて特徴点を抽出したり、画像中の物体の形状等から特徴点を抽出したりする手法があるが、これらに限定されるものではない。   The image feature point extraction unit 11 extracts feature points (image feature points) from the image captured by the stereo camera 50. The image feature point extraction unit 11 extracts a feature point for each captured image. For example, the image feature point extraction unit 11 extracts a feature point using the luminance value of the image, or extracts a feature point from the shape of an object in the image, but is not limited thereto. Absent.

特徴点の抽出手法としては、例えばHarrisオペレータやFAST(Features from Accelerated Segment Test)オペレータを用いることができる。Harrisオペレータは、2つのエッジの交点をコーナーとして検出する画像処理である。FASTオペレータは、注目画素の周囲の円周上における16個の画素の画素値が連続してn個以上、注目画素より明るいか暗い場合にコーナーを検出する画像処理である。その他、特徴点の抽出手法として、例えばSIFT(Scale Invariant Feature Transform)特徴量記述子、SURF(Speeded Up Robust Features)特徴量記述子を用いることができる。画像特徴点抽出部11は、画像上の特徴点の座標とその特徴量(画素値、濃度、輝度など)とを画像特徴点情報として記憶部1000に記録する。   As a feature point extraction method, for example, a Harris operator or a FAST (Features from Accelerated Segment Test) operator can be used. The Harris operator is image processing that detects the intersection of two edges as a corner. The FAST operator is image processing that detects a corner when the pixel values of 16 pixels on the circumference around the pixel of interest are n or more consecutively and are brighter or darker than the pixel of interest. In addition, as feature point extraction methods, for example, a SIFT (Scale Invariant Feature Transform) feature descriptor and a SURF (Speeded Up Robust Features) feature descriptor can be used. The image feature point extraction unit 11 records the coordinates of the feature points on the image and their feature amounts (pixel value, density, luminance, etc.) in the storage unit 1000 as image feature point information.

画像特徴点追跡部12は、時系列の(異なるタイミングで撮像された)画像の特徴点を追跡する。画像特徴点追跡部12は、例えば画像特徴点抽出部11が抽出した特徴点を、その特徴点を抽出した画像より後にステレオカメラ50が撮像した画像の中から探索することで各特徴点の追跡を行う。また、画像特徴点追跡部12は、探索結果から追跡の成否(成功、失敗)を判定し、その判定結果に基づき記憶部1000の画像特徴点情報に登録等を行う。すなわち、画像の特徴点ごとに追跡の成否が登録される。   The image feature point tracking unit 12 tracks feature points of time-series images (captured at different timings). The image feature point tracking unit 12 tracks each feature point by searching, for example, the feature points extracted by the image feature point extracting unit 11 from images captured by the stereo camera 50 after the image from which the feature points are extracted. I do. Further, the image feature point tracking unit 12 determines success or failure (success or failure) of the tracking from the search result, and registers the image feature point information in the storage unit 1000 based on the determination result. That is, success or failure of tracking is registered for each feature point of the image.

画像特徴点追跡部12は、例えば、ブロックマッチングや特徴量等による探索手法を用いて特徴点の追跡を行うことができる。ブロックマッチングを用いて特徴点の追跡を行う場合、画像特徴点追跡部12は、時系列の1つ前の画像の特徴点を含むブロックを取り出し、時系列の1つ後の画像に対しブロックマッチングを行う。   The image feature point tracking unit 12 can track feature points using, for example, a search method based on block matching or feature amounts. When tracking feature points using block matching, the image feature point tracking unit 12 extracts a block including the feature points of the image immediately before the time series, and performs block matching on the image after the time series. I do.

また、上述した特徴量を用いた探索を行う場合には、画像特徴点追跡部12は、画像特徴点抽出部11と同様の特徴点記述処理を行い、画像特徴点情報として記録されている特徴点と、相関の高い特徴点を探索する。また、画像特徴点追跡部12は、上述の探索の結果、相関が所定の閾値を超えている場合には追跡成功と判定し、閾値以下の場合には追跡失敗と判定する。   When performing the search using the above-described feature amount, the image feature point tracking unit 12 performs the same feature point description processing as that of the image feature point extracting unit 11, and is recorded as image feature point information. Search for points and feature points with high correlation. The image feature point tracking unit 12 determines that tracking is successful when the correlation exceeds a predetermined threshold as a result of the search described above, and determines tracking failure when the correlation is less than or equal to the threshold.

環境地図生成部15は、画像特徴点情報、カメラパラメータ、及び、深度計測部13の計測結果から、周囲の環境の三次元地図を生成する。例えば、飛行物体100の初期位置(後述するワールド座標系の三次元座標)は、位置計測装置105により既知である。この初期位置において、カメラパラメータの焦点距離と深度計測部13の結果により特徴点までの距離が分かるので、特徴点の三次元座標は図4のようにして求めることができる。   The environment map generation unit 15 generates a three-dimensional map of the surrounding environment from the image feature point information, camera parameters, and the measurement result of the depth measurement unit 13. For example, the initial position of the flying object 100 (three-dimensional coordinates in the world coordinate system described later) is known by the position measurement device 105. At this initial position, since the distance to the feature point is known from the focal length of the camera parameter and the result of the depth measurement unit 13, the three-dimensional coordinates of the feature point can be obtained as shown in FIG.

図4(a)は、ピンホールカメラモデルにおける画像内の特徴点の座標とワールド座標系の三次元座標の対応を説明する図の一例である。(x,y)は特徴点の画像上の座標で、(X,Y,Z)は特徴点のワールド座標系の三次元座標である。fは焦点距離である。深度計測部13により計測された深度(距離)がZであるので、図4(b)に示すxとX、fとZの比例関係からX=Z・(x-cx)/fが得られる。同様に、Y=Z・(y-cy)/fが得られる。cxとcyは画像中である(画像内の特徴点の座標が左上コーナーを原点としているため)。   FIG. 4A is an example for explaining the correspondence between the feature point coordinates in the image and the three-dimensional coordinates of the world coordinate system in the pinhole camera model. (X, y) are the coordinates of the feature point on the image, and (X, Y, Z) are the three-dimensional coordinates of the feature point in the world coordinate system. f is a focal length. Since the depth (distance) measured by the depth measurement unit 13 is Z, X = Z · (x−cx) / f is obtained from the proportional relationship between x and X and f and Z shown in FIG. . Similarly, Y = Z · (y−cy) / f is obtained. cx and cy are in the image (because the coordinates of feature points in the image have the upper left corner as the origin).

したがって、飛行物体100の初期位置とそこで撮像された画像に含まれる三次元点(ワールド座標系における特徴点)の三次元座標が分かることになる。環境地図生成部15はこれにより簡易的な環境地図を生成しておき、後に最適化を行う。   Therefore, the initial position of the flying object 100 and the three-dimensional coordinates of the three-dimensional points (feature points in the world coordinate system) included in the image captured there are known. The environment map generation unit 15 thereby generates a simple environment map and performs optimization later.

図3に戻り、移動体位置計測部16は、環境地図と画像特徴点情報から、自身の位置と姿勢を計測する処理を行う。初期位置から飛行物体100が移動して周囲を撮像した場合、異なる場所から同じ特徴点が撮像される。移動体位置計測部16は、特徴点のワールド座標系における三次元座標をカメラ座標系に変換する回転行列R,平行移動ベクトルtを後述するように求めることで、移動後の位置と姿勢を計測する。そして、この移動後の位置と姿勢において図4のようにして特徴点の三次元座標が分かる。したがって、ワールド座標系において撮像時の飛行物体100の位置と姿勢を常に更新し、かつ、環境地図を生成しながら移動できる。   Returning to FIG. 3, the moving body position measurement unit 16 performs processing for measuring its own position and orientation from the environment map and the image feature point information. When the flying object 100 moves from the initial position and images the surroundings, the same feature points are imaged from different locations. The moving body position measurement unit 16 measures the position and orientation after movement by obtaining a rotation matrix R and a translation vector t for converting the three-dimensional coordinates of the feature points in the world coordinate system to the camera coordinate system as described later. To do. Then, the three-dimensional coordinates of the feature points can be known as shown in FIG. Accordingly, the position and orientation of the flying object 100 at the time of imaging in the world coordinate system can be constantly updated and moved while generating an environment map.

許容運動定義部17は、露光時間とフレーム間隔を元に、飛行物体100に許容される又は制限される運動を定義し移動体制御部30に出力する。移動体制御部30は制約の範囲内で飛行物体100の運動を制御する。詳細は後述される。   The allowable motion definition unit 17 defines a motion permitted or restricted by the flying object 100 based on the exposure time and the frame interval, and outputs the motion to the moving body control unit 30. The moving body control unit 30 controls the movement of the flying object 100 within the limits. Details will be described later.

<<記憶部に記憶される情報>>
図5は記憶部1000に記憶される情報を模式的に示す図の一例である。記憶部1000には、環境地図1001、画像特徴点情報1002、カメラパラメータ1003、許容運動情報1004、移動体位置姿勢情報1005、及び、運動パラメータ使用運動1006が記憶される。
<< Information stored in memory >>
FIG. 5 is an example of a diagram schematically showing information stored in the storage unit 1000. The storage unit 1000 stores an environment map 1001, image feature point information 1002, camera parameters 1003, allowable motion information 1004, moving body position / posture information 1005, and motion parameter using motion 1006.

環境地図1001とは、特徴点の三次元座標が登録された地図である。特徴点ごとに三次元座標が登録されており、飛行物体100が移動した空間の地図が再現される。これにより、建物や壁等の物体、道路等がどこにあるか等の周辺環境の情報が得られる。なお、環境地図は、周囲の静止物体等の2次元の情報であってもよい。   The environment map 1001 is a map in which three-dimensional coordinates of feature points are registered. Three-dimensional coordinates are registered for each feature point, and a map of the space in which the flying object 100 has moved is reproduced. Thereby, information on the surrounding environment such as where an object such as a building or a wall, a road, or the like is located can be obtained. The environment map may be two-dimensional information such as surrounding stationary objects.

画像特徴点情報1002は、画像ごとに以下の情報を有する。
画像上の特徴点の座標
特徴点の特徴量(画素値、濃度、輝度など)
時系列の1つ前の画像からの追跡の成否
カメラパラメータ1003については上述のように主に内部パラメータであり、すくなくとも露光時間とフレーム間隔を含む。露光時間とはCCDやCMOSの撮像素子が被写体光に晒されている時間である。フレーム間隔とは、ステレオカメラ50が1つの画像を撮像してから次の画像を撮像するまでの時間的な間隔である。
The image feature point information 1002 includes the following information for each image.
Feature quantity (pixel value, density, brightness, etc.) of the coordinate feature point of the feature point on the image
Tracking success / failure from previous image in time series The camera parameter 1003 is mainly an internal parameter as described above, and includes at least an exposure time and a frame interval. The exposure time is a time during which a CCD or CMOS image sensor is exposed to subject light. The frame interval is a time interval from when the stereo camera 50 captures one image until the next image is captured.

許容運動情報1004は、複数の運動パラメータのうち、許容運動定義部17により許容された運動パラメータ又は運動パラメータを特定するための情報である。運動パラメータは、飛行物体100の運動の内容を規定するパラメータである。例えば、剛体の自由度は6つ(ピッチ角θ、ロール角φ、ヨー角ψの回転、X,Y,Z方向の移動)であるが、飛行物体100が例えば一定方向へ移動する場合でも移動体制御部30は複数のモータ204を制御する。このため、飛行物体の運動を制御しやすいように、運動パラメータがいくつか設定されている。運動パラメータは例えば、上昇、下降、右旋回、左旋回、前進、後進、右移動、左移動などであるがこれらに限られない。   The allowable motion information 1004 is information for specifying a motion parameter or a motion parameter permitted by the allowable motion definition unit 17 among the plurality of motion parameters. The motion parameter is a parameter that defines the motion content of the flying object 100. For example, the degree of freedom of the rigid body is six (pitch angle θ, roll angle φ, rotation of yaw angle ψ, movement in X, Y, and Z directions), but even when flying object 100 moves in a certain direction, for example. The body control unit 30 controls the plurality of motors 204. For this reason, several motion parameters are set so that the motion of the flying object can be easily controlled. Examples of the motion parameters include, but are not limited to, ascending, descending, turning right, turning left, moving forward, moving backward, moving right, moving left, and the like.

移動体位置姿勢情報1005は、特徴点が検出された画像を撮像したステレオカメラ50の位置と姿勢に関する情報である。移動体位置姿勢情報1005には撮像した画像ごとに位置と姿勢が登録されている。   The moving body position / orientation information 1005 is information related to the position and orientation of the stereo camera 50 that captures the image from which the feature point is detected. The moving body position / orientation information 1005 registers the position and orientation for each captured image.

運動パラメータ使用運動1006は各運動パラメータで使用する運動を示す。例えば、上昇であれば、回転は伴わないので、ピッチ角θ、ロール角φ、及び、ヨー角ψが変化する運動は行われない。また、移動を伴わない姿勢変化では、位置が変化しない(後述する平行移動ベクトルがゼロ)。X方向への移動であれば、移動の原理に基づく姿勢の変化とX座標が変化する。運動パラメータ使用運動1006には運動パラメータごとにピッチ角θ、ロール角φ、ヨー角ψ、X座標、Y座標、Z座標が変化するかどうかが対応付けて登録されている。   The exercise parameter use exercise 1006 indicates an exercise used for each exercise parameter. For example, if it is ascending, no rotation is involved, and therefore, movements that change the pitch angle θ, the roll angle φ, and the yaw angle ψ are not performed. In addition, the position does not change in a posture change that does not involve movement (a parallel movement vector described later is zero). If the movement is in the X direction, the change in posture and the X coordinate change based on the principle of movement. Whether or not the pitch angle θ, the roll angle φ, the yaw angle ψ, the X coordinate, the Y coordinate, and the Z coordinate change is registered in the motion parameter using motion 1006 in association with each motion parameter.

<遺影計測部の処理>
次に、図6、7を用いて、本実施形態における位置姿勢計測処理の一例について、フローチャートを用いて説明する。図6は、本実施形態における位置計測部10の全体的な処理手順を示すフローチャート図の一例である。
<Processing of the remains measurement unit>
Next, an example of the position / orientation measurement process in the present embodiment will be described with reference to FIGS. FIG. 6 is an example of a flowchart illustrating an overall processing procedure of the position measurement unit 10 in the present embodiment.

ステレオカメラ50は、撮像部制御部14から通知されたカメラパラメータ等により画像を取得する(S10)。ステレオカメラ50は一定の周期で撮像を行い、時系列に画像を生成する。例えば、飛行物体100が移動している場合、ステレオカメラ50は、移動中の時系列な画像を生成する。ステレオカメラ50は、撮像した画像を、画像特徴点抽出部11、画像特徴点追跡部12、及び深度計測部13に出力する。   The stereo camera 50 acquires an image based on camera parameters and the like notified from the imaging unit control unit 14 (S10). The stereo camera 50 captures images at a constant cycle and generates images in time series. For example, when the flying object 100 is moving, the stereo camera 50 generates a time-series image during movement. The stereo camera 50 outputs the captured image to the image feature point extraction unit 11, the image feature point tracking unit 12, and the depth measurement unit 13.

次に、画像特徴点抽出部11は、ステップS10で得られた画像から特徴点を抽出する(S20)。特徴点は記憶部1000の画像特徴点情報1002に記憶される。   Next, the image feature point extraction unit 11 extracts feature points from the image obtained in step S10 (S20). The feature points are stored in the image feature point information 1002 of the storage unit 1000.

次に、画像特徴点追跡部12は、連続する画像間において、S20の処理で得られた特徴点を追跡する(S30)。追跡の成否は記憶部1000の画像特徴点情報1002に記憶される。   Next, the image feature point tracking unit 12 tracks the feature points obtained by the process of S20 between successive images (S30). The success or failure of tracking is stored in the image feature point information 1002 of the storage unit 1000.

深度計測部13は画像の画素又は画素ブロック毎に深度(距離情報)を計測する(S40)。深度は画像の画素又は画素ブロックに埋め込まれるので画像と共に参照される。あるいは、記憶部1000の画像特徴点情報1002に特徴点と対応付けて記憶してもよい。   The depth measurement unit 13 measures the depth (distance information) for each pixel or pixel block of the image (S40). Depth is referenced with the image because it is embedded in a pixel or pixel block of the image. Alternatively, the image feature point information 1002 in the storage unit 1000 may be stored in association with the feature points.

なお、環境地図生成部15は、図4に示したように、記憶部1000に記憶されている画像の特徴点(座標)と、飛行物体の位置と姿勢及び深度を用いて環境地図を随時作成しておく。   As shown in FIG. 4, the environment map generation unit 15 creates an environment map as needed using the feature points (coordinates) of the image stored in the storage unit 1000 and the position, orientation, and depth of the flying object. Keep it.

次に、移動体位置計測部16は、飛行物体100(又は、ステレオカメラ50)の位置と姿勢の計測を行う(S50)。位置と姿勢は記憶部1000の移動体位置姿勢情報1005に記憶される。   Next, the moving body position measurement unit 16 measures the position and orientation of the flying object 100 (or the stereo camera 50) (S50). The position and posture are stored in the moving body position / posture information 1005 of the storage unit 1000.

次に、環境地図生成部15は、画像特徴点情報1002、及び、S50の処理で得られる移動体位置姿勢情報1005等を用いて環境地図生成処理を行う(S60)。なお、S60の処理では、環境地図の生成だけでなく、環境地図の更新(例えば、補正、削除、拡張)等を行うこともできる。   Next, the environment map generation unit 15 performs an environment map generation process using the image feature point information 1002 and the moving body position and orientation information 1005 obtained by the process of S50 (S60). In the process of S60, not only the generation of the environment map but also the update (for example, correction, deletion, expansion) of the environment map can be performed.

次に、許容運動定義部17はカメラパラメータ1003と移動体位置計測部16が算出する移動速度と回転速度に基づいて、画像における特徴点の移動量を算出し、許容できる運動パラメータを決定する(S70)。   Next, the allowable motion definition unit 17 calculates the movement amount of the feature point in the image based on the camera parameter 1003 and the moving speed and the rotational speed calculated by the moving body position measuring unit 16, and determines an allowable motion parameter ( S70).

<処理の詳細>
以下では、図6のステップS50、S60、S70について詳細に説明する。
<Details of processing>
Hereinafter, steps S50, S60, and S70 of FIG. 6 will be described in detail.

<<S50 位置姿勢計測処理>>
上述した位置計測部10における位置姿勢計測処理(S50)について具体的に説明する。図7は、位置姿勢計測処理を説明するための図の一例である。移動体位置計測部16は、環境地図の生成で得られた特徴点の三次元座標と画像における特徴点の座標の対応関係を用いて位置と姿勢を計測する。
<< S50 Position and orientation measurement process >>
The position / orientation measurement process (S50) in the position measurement unit 10 will be specifically described. FIG. 7 is an example of a diagram for explaining the position and orientation measurement processing. The moving body position measurement unit 16 measures the position and orientation using the correspondence relationship between the three-dimensional coordinates of the feature points obtained by generating the environment map and the coordinates of the feature points in the image.

飛行物体100(ステレオカメラ50)と共に移動する座標系をカメラ座標系と称し、扱う三次元空間の全体の座標系をワールド座標系と称す。カメラ座標系は例えばカメラの撮像素子の中央を原点とする座標系である。ワールド座標系はGPSで使用されるWGS84座標系、世界測地系又は日本測地系などである。カメラ座標系のZ方向が飛行物体100の正面、X方向が側面、Y方向が下面であるとする。Y軸周りの回転により生じる姿勢はヨー角(ψ)で指定され、Z軸周りの回転により生じる姿勢はロール角(ρ)で指定され、X軸周りの回転により生じる姿勢はピッチ角(θ)で指定される。   A coordinate system that moves together with the flying object 100 (stereo camera 50) is referred to as a camera coordinate system, and an overall coordinate system of the three-dimensional space to be handled is referred to as a world coordinate system. The camera coordinate system is a coordinate system having the origin at the center of the image sensor of the camera, for example. The world coordinate system is a WGS84 coordinate system used in GPS, a world geodetic system, a Japanese geodetic system, or the like. Assume that the Z direction of the camera coordinate system is the front surface of the flying object 100, the X direction is the side surface, and the Y direction is the lower surface. The posture generated by rotation around the Y axis is specified by the yaw angle (ψ), the posture generated by rotation around the Z axis is specified by the roll angle (ρ), and the posture generated by rotation around the X axis is the pitch angle (θ). Specified by.

位置計測部10は、ワールド座標系からカメラ座標系へ変換する回転行列R、平行移動ベクトルtを、位置と姿勢の推定により求める。カメラ座標系とワールド座標系とを変換する行列のうち回転成分の行列を回転行列R、平行移動成分の行列を平行移動ベクトルtと称する。   The position measurement unit 10 obtains a rotation matrix R and a translation vector t that are converted from the world coordinate system to the camera coordinate system by estimating the position and orientation. Of the matrices for converting the camera coordinate system and the world coordinate system, the rotation component matrix is referred to as a rotation matrix R, and the translation component matrix is referred to as a translation vector t.

ここで、R、tは、それぞれ以下の(1)式で表される。   Here, R and t are each represented by the following formula (1).

Figure 2017134617
なお、以下では、右側の右カメラ(ステレオカメラ50の撮像方向と同じ向きを見た場合に右側)により撮像された画像を用いるものとして説明するが、左カメラの画像を用いてもよい。
Figure 2017134617
In the following description, it is assumed that an image captured by the right camera on the right side (right side when viewed in the same direction as the imaging direction of the stereo camera 50) is used, but an image of the left camera may be used.

回転行列R、平行移動ベクトルtを求めるために、画像内にある特徴点のワールド座標系での三次元座標Xi w、及び、ステレオカメラ50の透視投影行列を利用する。透視投影行列には以下のカメラパラメータ1003が使用される。
・X方向の焦点距離fx
・Y方向の焦点距離fy
・X方向の画像中心ox
・Y方向の画像中心oy
三次元座標Xi w、透視投影行列は、それぞれ以下に示す(2)式、(3)式で表される。
In order to obtain the rotation matrix R and the translation vector t, the three-dimensional coordinates X i w of the feature points in the image in the world coordinate system and the perspective projection matrix of the stereo camera 50 are used. The following camera parameters 1003 are used for the perspective projection matrix.
-Focal length fx in the X direction
・ Y direction focal length fy
・ Image center ox in X direction
-Image center oy in the Y direction
The three-dimensional coordinates X i w and the perspective projection matrix are expressed by the following expressions (2) and (3), respectively.

Figure 2017134617
Figure 2017134617

Figure 2017134617
透視投影行列Pは、三次元点を撮像面に投影する行列である。三次元点が画像のどの位置に撮像されるかを算出することが可能になる。なお、透視投影行列Pは同次座標系で表されている。
Figure 2017134617
The perspective projection matrix P is a matrix for projecting three-dimensional points onto the imaging surface. It is possible to calculate at which position in the image the three-dimensional point is imaged. The perspective projection matrix P is expressed in a homogeneous coordinate system.

特徴点の三次元座標については、上述した環境地図1001に登録されている。また、透視投影行列Pで使用される焦点距離や画像中心などはカメラパラメータ1003に登録されている。カメラパラメータ1003については、例えばカメラキャリブレーションによって担当者等が予め求めおくことができる。カメラキャリブレーションについては、例えばZhangの手法(Z.Zhang,"A flexible new technique for camera calibration",IEEE Transactions on Pattern Analysis and Machine Intelligence,22(14):1330-1334,2000)等を用いることができるが、これに限定されるものではない。   The three-dimensional coordinates of the feature points are registered in the environment map 1001 described above. Further, the focal length and the image center used in the perspective projection matrix P are registered in the camera parameter 1003. The camera parameter 1003 can be obtained in advance by a person in charge, for example, by camera calibration. For camera calibration, for example, Zhang's technique (Z. Zhang, “A flexible new technique for camera calibration”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 22 (14): 1330-1334, 2000) may be used. Yes, but not limited to this.

また、本実施形態において、移動体位置計測部16は、上述の処理以外に、ステレオカメラ50の歪み補正を行ってもよい。なお、歪みのパラメータについてもZhangの手法で得ることができる。また、歪み補正については、特徴点抽出を行う前に画像自体の歪み補正を行ってもよく、特徴点を抽出した後に、歪みのパラメータ等を用いて補正してもよい。移動体位置計測部16は、上述したいずれかの処理を行った後に、位置と姿勢の推定を行うことで、より高精度にステレオカメラ50又は飛行物体100の位置と姿勢を計測することができる。   Moreover, in this embodiment, the mobile body position measurement part 16 may perform distortion correction of the stereo camera 50 other than the above-mentioned process. Note that the distortion parameters can also be obtained by the Zhang method. As for the distortion correction, the distortion of the image itself may be corrected before extracting the feature points, or the distortion may be corrected after extracting the feature points. The mobile body position measurement unit 16 can estimate the position and orientation of the stereo camera 50 or the flying object 100 with higher accuracy by performing the position and orientation estimation after performing any of the above-described processes. .

移動体位置計測部16は、三次元座標Xi w、及び、透視投影行列Pを利用して、再投影誤差を最小化にするR,t及び三次元点の座標を求める。再投影誤差は、特徴点の三次元座標を画像上に投影した点の座標(再投影座標)と、実際にそれがステレオカメラ50で観測された座標との差分により定義される。ステレオカメラ50で観測された座標とは、画像特徴点情報1002に登録された特徴点の画像内の座標である。 The moving body position measurement unit 16 uses the three-dimensional coordinates X i w and the perspective projection matrix P to obtain R, t and three-dimensional point coordinates that minimize the reprojection error. The reprojection error is defined by a difference between a coordinate of a point obtained by projecting the three-dimensional coordinates of the feature point on the image (reprojection coordinate) and a coordinate actually observed by the stereo camera 50. The coordinates observed by the stereo camera 50 are the coordinates in the image of the feature points registered in the image feature point information 1002.

再投影座標は、例えば「三次元点のカメラ座標系への変換」及び「仮想スクリーンへの投影」により求めることができる。   The reprojection coordinates can be obtained by, for example, “conversion of a three-dimensional point to a camera coordinate system” and “projection onto a virtual screen”.

まず、三次元点のカメラ座標系への変換は、以下に示す(4)式で求めることができる。(4)式では、カメラ座標系での三次元点の座標をXi cとした。 First, conversion of a three-dimensional point into a camera coordinate system can be obtained by the following equation (4). (4) In the formula, the coordinates of the three-dimensional point in the camera coordinate system and the X i c.

Figure 2017134617
上述した(4)式により、カメラの座標系での三次元点の座標を得ることができる。
Figure 2017134617
The coordinates of the three-dimensional point in the camera coordinate system can be obtained by the above-described equation (4).

次に、仮想スクリーンへ再投影された三次元点の座標を求める。ここで、再投影点の座標をxi r、yi rとする。xi rは右カメラの画像のx座標、yi rは右カメラの画像のy座標である。再投影点の座標xi r、yi rは以下により求めることができる。 Next, the coordinates of the three-dimensional point re-projected on the virtual screen are obtained. Here, the coordinates of the reprojection point are set to x i r and y i r . x i r is the x coordinate of the right camera image, and y i r is the y coordinate of the right camera image. The coordinates x i r and y i r of the reprojection point can be obtained as follows.

Figure 2017134617
(5)式は、(4)式で得られたカメラ座標系での三次元点の座標Xi cを透視投影行列Pで2次元の座標に変換する(投影する)処理を表している。また、同次座標系で表されている。
Figure 2017134617
(5) represents the (4) for converting the coordinates X i c of the three-dimensional point in two-dimensional coordinates in the perspective projection matrix P in the resulting camera coordinate system (projection) process. It is also expressed in a homogeneous coordinate system.

次に、再投影誤差は、(5)式で求めた再投影点の座標、及び、実際にステレオカメラ50で観測された特徴点の座標の2乗誤差の総和として、以下に示す(6)式で定義される。   Next, the reprojection error is shown as the sum of the square error of the coordinates of the reprojection points obtained by the equation (5) and the coordinates of the feature points actually observed by the stereo camera 50 (6) It is defined by an expression.

Figure 2017134617
上述した(6)式において、nはあるフレームで撮像された三次元座標が既知の特徴点の点数である。位置と姿勢の推定は、再投影誤差を最小化するRとtを求める問題であり、以下に示す(7)式のように定式化することができる。
Figure 2017134617
In the above equation (6), n is the number of feature points whose three-dimensional coordinates captured in a certain frame are known. The estimation of the position and orientation is a problem for obtaining R and t that minimize the reprojection error, and can be formulated as shown in the following equation (7).

Figure 2017134617
この最小化問題は、PnP問題として知られており、この式をそのまま解くと非線形最小化問題となる。PnP問題は、n点の対応から飛行物体100の位置と姿勢を推定する問題である。
Figure 2017134617
This minimization problem is known as a PnP problem, and if this equation is solved as it is, it becomes a non-linear minimization problem. The PnP problem is a problem of estimating the position and orientation of the flying object 100 from the correspondence of n points.

一般に、非線形最小化問題は算出コストが高く、また適切な初期値を設定しないと適切な解が求まらないという課題がある。非線形最小化問題を解くには、線形化する方法、Levenberg-Marquardt法など利用する方法が知られている。   In general, the nonlinear minimization problem has a problem that the calculation cost is high and an appropriate solution cannot be obtained unless an appropriate initial value is set. In order to solve the nonlinear minimization problem, a linearization method, a Levenberg-Marquardt method or the like is known.

また、ステレオカメラ50が用いられているため、左右の画像を使用して、以下のように再投影誤差を最小化するRとtを求めてもよい。   Further, since the stereo camera 50 is used, R and t that minimize the reprojection error may be obtained using the left and right images as follows.

Figure 2017134617
(8)式は右カメラの画像と左カメラの画像のそれぞれで再投影誤差を求め、その合計が最も少なくなるRとtを求めることを示す。
Figure 2017134617
Expression (8) indicates that the reprojection error is obtained for each of the right camera image and the left camera image, and R and t that minimize the sum are obtained.

以上のようにして回転行列R、平行移動ベクトルtを求めることができれば、飛行物体100の位置と姿勢を求めることができる。回転行列Rはワールド座標系に対する回転行列なので、ステレオカメラ50と一体の飛行物体100がワールド座標系に対しどのくらい傾いているかを示す情報となる。   If the rotation matrix R and the translation vector t can be obtained as described above, the position and orientation of the flying object 100 can be obtained. Since the rotation matrix R is a rotation matrix with respect to the world coordinate system, the rotation matrix R is information indicating how much the flying object 100 integrated with the stereo camera 50 is inclined with respect to the world coordinate system.

Figure 2017134617
(12)式は、剛体がロール角φ、ピッチ角θ、ヨー角ψで回転する場合の回転行列を示す。r31の要素が-sinθであるためピッチ角θを求めることができる。ピッチ角θが分かるとr32又はr33からヨー角ψを求めることができる。同様に、r11又はr21からロール角φを求めることができる。したがって、飛行物体100の姿勢を決定できる。
Figure 2017134617
Equation (12) represents a rotation matrix in the case where the rigid body rotates with a roll angle φ, a pitch angle θ, and a yaw angle ψ. Since the element of r31 is −sin θ, the pitch angle θ can be obtained. If the pitch angle θ is known, the yaw angle ψ can be obtained from r32 or r33. Similarly, the roll angle φ can be obtained from r11 or r21. Therefore, the attitude of the flying object 100 can be determined.

位置については、平行移動ベクトルtがワールド座標系からの平行移動量を表すので、画像内にある特徴点のワールド座標系での三次元座標Xi wに平行移動ベクトルtを適用することで、カメラと共に移動する飛行物体100のワールド座標系における位置を決定できる。 For the position, since the translation vector t represents the translation amount from the world coordinate system, by applying the translation vector t to the three-dimensional coordinates X i w in the world coordinate system of the feature points in the image, The position of the flying object 100 moving with the camera in the world coordinate system can be determined.

なお、本実施形態では、再投影誤差が最小になる回転行列R、平行移動ベクトルtを求めたが、オブジェクトスペースエラー(Object space error)が最小になる回転行列R、平行移動ベクトルtを求めてもよい。オブジェクトスペースエラーは三次元座標の誤差である。この場合、移動体位置計測部16はオブジェクトスペースエラーが最小になるように回転行列R、平行移動ベクトルtを求める。すなわち、透視投影行列P、回転行列R及び平行移動ベクトルtを画像の特徴点の座標に適用し三次元座標(変換座標)を求め、環境地図の三次元座標との差が最小になるように回転行列R、平行移動ベクトルtを求める。この場合、線形に解が求まるため算出コストを低減できるという利点がある。   In this embodiment, the rotation matrix R and the translation vector t that minimize the reprojection error are obtained. However, the rotation matrix R and the translation vector t that minimize the object space error are obtained. Also good. An object space error is an error in three-dimensional coordinates. In this case, the moving body position measurement unit 16 obtains the rotation matrix R and the translation vector t so that the object space error is minimized. That is, the perspective projection matrix P, the rotation matrix R, and the translation vector t are applied to the coordinates of the feature points of the image to obtain three-dimensional coordinates (transformed coordinates) so that the difference from the three-dimensional coordinates of the environment map is minimized. A rotation matrix R and a translation vector t are obtained. In this case, since the solution is obtained linearly, there is an advantage that the calculation cost can be reduced.

<<S60 環境地図生成処理>>
次に、図8を用いて、上述した環境地図生成部15における環境地図生成処理について、フローチャートを用いて説明する。図8は、環境地図生成処理の一例示すフローチャートである。
<< S60 Environmental Map Generation Processing >>
Next, the environment map generation processing in the environment map generation unit 15 described above will be described using a flowchart with reference to FIG. FIG. 8 is a flowchart illustrating an example of the environment map generation process.

図8において、環境地図生成部15は、環境地図全体の再投影誤差の最小化処理を行う(S601)。この再投影誤差の最小化処理はバンドル調整ともいう。姿勢(Rj,tj)は1回の撮像で1つ得られる(jは画像の撮像順)。また、各撮像(画像)でn個の三次元点の座標Xiが得られている。したがって、ステップS601の処理では、例えば、過去の撮像で得られたNj個の位置と姿勢(Rj,tj)と各撮像で得られたn個の三次元点の座標Xiをパラメータとして、再投影誤差が最小となる位置と姿勢を求める処理である。この処理は(13)式により表すことができる。 In FIG. 8, the environment map generation unit 15 performs reprojection error minimization processing for the entire environment map (S601). This process of minimizing reprojection error is also called bundle adjustment. One posture (Rj, tj) is obtained by one imaging (j is the imaging order). In addition, the coordinates X i of n three-dimensional points are obtained in each imaging (image). Therefore, in the process of step S601, for example, Nj positions and orientations (Rj, tj) obtained by past imaging and coordinates X i of n three-dimensional points obtained by each imaging are used as parameters. This is a process for obtaining the position and orientation at which the projection error is minimized. This process can be expressed by equation (13).

Figure 2017134617
(13)式は、例えば非線形の最小二乗問題である。したがって、再投影誤差が最小となる位置と姿勢及び三次元点の座標Xiは、例えばLevenberg−Marquardt法等を用いて求めることができるが、これに限定されるものではない。
Figure 2017134617
Equation (13) is, for example, a nonlinear least square problem. Therefore, the position and orientation at which the reprojection error is minimized and the coordinate X i of the three-dimensional point can be obtained by using, for example, the Levenberg-Marquardt method, but are not limited thereto.

(13)式は、Nj個の撮像と各撮像で得られたn個の三次元点の座標Xiから再投影誤差が最も小さくなるように位置と姿勢(Rj,tj)と座標Xiを求めるので、(13)式を最小化する姿勢(Rj,tj)と三次元点の座標Xiが分かると、環境地図全体の再投影誤差を最小化したことになる。 Expression (13) expresses the position, orientation (Rj, tj), and coordinate X i so that the reprojection error is minimized from the coordinates X i of N j- dimensional images and n three-dimensional points obtained by each imaging. Therefore, if the attitude (Rj, tj) that minimizes the expression (13) and the coordinates X i of the three-dimensional point are known, the reprojection error of the entire environment map is minimized.

次に、環境地図生成部15は、複数回の追跡に成功した特徴点を環境地図1001に登録する(S602)。ステップS602の処理は、例えば三次元再構成処理と、信頼度計測処理とを有する。三次元再構成処理とは、例えば特徴点の三次元座標を求める処理である。三次元座標の算出は、図4と同様に求めることができる。具体的には以下の(14)〜(16)式で求める。カメラ座標系において、画像における特徴点の座標が分かっているので視差Zと焦点距離fから測距情報が得られる((16)式)。測距情報が得られると、ピンホールカメラモデルにより、カメラ座標系のX座標とY座標を求めることができる((14)(15)式)。   Next, the environment map generation unit 15 registers the feature points that have been successfully tracked a plurality of times in the environment map 1001 (S602). The process in step S602 includes, for example, a three-dimensional reconstruction process and a reliability measurement process. The three-dimensional reconstruction process is a process for obtaining the three-dimensional coordinates of feature points, for example. The calculation of the three-dimensional coordinates can be obtained in the same manner as in FIG. Specifically, it calculates | requires by the following (14)-(16) Formula. Since the coordinates of the feature points in the image are known in the camera coordinate system, ranging information can be obtained from the parallax Z and the focal length f (Equation (16)). When the distance measurement information is obtained, the X coordinate and the Y coordinate of the camera coordinate system can be obtained by the pinhole camera model (Equations (14) and (15)).

Figure 2017134617
(14)〜(16)式において、Z、xr、yr、b、d、f、cx、及び、cyの意味は下記のようになる。
Z:測距情報
xr:特徴点の右カメラの画像上の観測座標[pixel]
yr:特徴点の右カメラの画像上の観測座標[pixel]
b: ステレオカメラ50のベースラインの距離[mm]
d: 視差[pixel]
f: 焦点距離 [mm]
cx:画像のX方向の中心座標 [pixel]
cy:画像のY方向の中心座標 [pixel]
なお、ステレオカメラ50でなく単眼カメラである場合、2つの単眼カメラを用いてDLT(Direct Linear Transformation)法等を用いて三次元位置を求めることができる(DLT法を用いた手法については非特許文献2を参照)。
Figure 2017134617
(14) to (16), Z, x r, y r , b, d, f, c x, and the meaning of c y is as follows.
Z: Ranging information
x r : Observation coordinates on the right camera image of the feature point [pixel]
y r : Observation coordinates on the right camera image of the feature point [pixel]
b: Baseline distance of stereo camera 50 [mm]
d: Parallax [pixel]
f: Focal length [mm]
c x : Center coordinate in the X direction of the image [pixel]
c y : Center coordinates in the Y direction of the image [pixel]
If the camera is a monocular camera instead of the stereo camera 50, a three-dimensional position can be obtained by using a DLT (Direct Linear Transformation) method using two monocular cameras (a method using the DLT method is not patented). Reference 2).

次に、上述した信頼度計測処理とは、再投影誤差のフィッシャー(Fisher)情報量の逆数を信頼度として、これが閾値より高い三次元点を信頼できる点として環境地図1001に登録する処理である。フィッシャー情報量は、確率変数がパラメータに関して持つ情報量のことである。なお、上述の閾値は、予め設定された値としてもよく、また環境地図1001への追加候補点の全点のうち、上位から所定数の点を環境地図1001に追加するようにしてもよい。上述したような追加する点の抽出条件は、処理毎に設定してもよい。つまり、S602の処理において、環境地図生成部15は、三次元再構成処理に成功し、かつ信頼度計測により信頼度が高い点のみを環境地図1001に登録する。   Next, the reliability measurement process described above is a process of registering in the environment map 1001 as a reliable point for a three-dimensional point that is higher than the threshold value, using the reciprocal of the Fisher information amount of the reprojection error as the reliability. . The Fisher information amount is the information amount that the random variable has regarding the parameter. Note that the above-described threshold value may be a preset value, or a predetermined number of points may be added to the environment map 1001 from the top among all the candidate points to be added to the environment map 1001. The extraction conditions for points to be added as described above may be set for each process. In other words, in the process of S602, the environment map generation unit 15 registers only the points that have been successfully subjected to the three-dimensional reconstruction process and have high reliability by the reliability measurement in the environment map 1001.

次に、環境地図生成部15は、環境地図1001にあるアウトライアの三次元点を削除する(S603)。アウトライアとは統計において他の値から大きく外れた値をいう。ステップS603の処理では、環境地図1001にある全点について、上述した信頼度を算出し、算出した信頼度が閾値より小さい点を環境地図1001から削除する。この閾値についても予め設定された値としてもよく、環境地図1001にある三次元点の全点のうち、下位から所定数の点を環境地図1001から削除してもよい。上述したような削除する点の抽出条件は、処理毎に設定してもよい。   Next, the environment map generation unit 15 deletes the 3D points of the outliers in the environment map 1001 (S603). Outliers are values that deviate significantly from other values in statistics. In the process of step S603, the reliability described above is calculated for all points on the environment map 1001, and points with the calculated reliability smaller than the threshold are deleted from the environment map 1001. This threshold value may also be set in advance, and a predetermined number of points may be deleted from the environment map 1001 from all the three-dimensional points on the environment map 1001. The point extraction conditions as described above may be set for each process.

<<S70 許容運動定義>>
次に、許容運動定義について説明する。許容運動定義とは、飛行物体100の運動を表す複数のパラメータセットのそれぞれについて、その時点で、どのパラメータセットが許容されるかが記述された情報である。
<< S70 Definition of Allowable Motion >>
Next, the allowable motion definition will be described. The permissible motion definition is information describing which parameter set is permitted at each point in time for each of a plurality of parameter sets representing the motion of the flying object 100.

図9は、許容運動定義部17が許容運動を定義する手順を示すフローチャート図の一例である。図9の処理は、運動パラメータIDの全てについて繰り返し実行される。ここでは運動パラメータIDの数をn個(0〜n−1)とする。運動パラメータIDは運動パラメータを区別するための識別情報である。識別情報とは、複数の対象からある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらの組み合わせをいう。   FIG. 9 is an example of a flowchart illustrating a procedure in which the allowable motion definition unit 17 defines the allowable motion. The process of FIG. 9 is repeatedly executed for all the motion parameter IDs. Here, the number of exercise parameter IDs is n (0 to n-1). The exercise parameter ID is identification information for distinguishing the exercise parameter. Identification information refers to a name, a code, a character string, a numerical value, or a combination thereof used to uniquely distinguish a specific target from a plurality of targets.

図9の処理では、まず、許容運動定義部17が許容運動判定を行う(S701)。許容運動判定とは、許容できる運動かどうかを判定することをいうが詳細は図10にて説明される。   In the process of FIG. 9, first, the allowable motion definition unit 17 performs the allowable motion determination (S701). The allowable exercise determination refers to determining whether or not the exercise is allowable, and the details will be described with reference to FIG.

そして、許容できる運動である場合(S702のYes)、i番目の運動パラメータに関する運動を許容運動として登録する(S703)。   If the motion is acceptable (Yes in S702), the motion related to the i-th motion parameter is registered as the permitted motion (S703).

許容運動定義部17が有限の数の運動パラメータから、特徴点を追跡可能な運動パラメータを選択するので、実用的な時間内に許容できる運動を決定できる。   Since the allowable motion definition unit 17 selects a motion parameter capable of tracking a feature point from a finite number of motion parameters, an allowable motion can be determined within a practical time.

図10は、図9の許容運動判定の処理を説明するフローチャート図の一例である。許容運動判定の処理は、ある運動パラメータで飛行物体100が運動した場合に、環境地図に含まれる三次元点のうち最新の画像で撮像された特徴点が、撮像中(露光中)の画像で観測可能かを判定する処理である。露光時間が長ければ撮像中の画像での観測は困難になり、フレーム間隔が長ければ特徴点が大きく移動するので撮像中の画像での観測は困難になる。したがって、撮像中(露光中)の画像において、環境地図に含まれる点のうち最新の画像で撮像された点が撮像中(露光中)の画像でどのくらい移動するかを予測することで、撮像中(露光中)の画像で撮像できるかどうかを判定可能となる。図10では、一定数以上の特徴点が観測可能であると予想される運動パラメータ(運動)を許容運動であると判定する。   FIG. 10 is an example of a flowchart for explaining the allowable motion determination process of FIG. In the allowable motion determination process, when the flying object 100 moves with a certain motion parameter, the feature point captured in the latest image among the three-dimensional points included in the environmental map is an image being captured (under exposure). This is a process for determining whether observation is possible. If the exposure time is long, observation on the image being picked up becomes difficult, and if the frame interval is long, the feature point moves greatly, so that observation on the image being picked up becomes difficult. Therefore, in the image being captured (exposure), by predicting how much the point captured in the latest image among the points included in the environment map moves in the image being captured (exposure), It is possible to determine whether or not the image can be captured with the (under exposure) image. In FIG. 10, a motion parameter (motion) that is expected to be able to observe a certain number or more of feature points is determined to be an allowable motion.

まず、許容運動定義部17は、記憶部1000から環境地図1001を読み出す(S7701)。   First, the allowable motion definition unit 17 reads the environment map 1001 from the storage unit 1000 (S7701).

また、許容運動定義部17は、記憶部1000からカメラパラメータ1003を読み出す(S7702)。カメラパラメータ1003には露光時間とフレーム間隔が含まれている。   Further, the allowable motion definition unit 17 reads the camera parameter 1003 from the storage unit 1000 (S7702). The camera parameter 1003 includes an exposure time and a frame interval.

次に、許容運動定義部17は、最新の画像で撮像された特徴点かつ環境地図に含まれる特徴点の数をM個として、以下の処理を繰り返す。   Next, the allowable motion definition unit 17 repeats the following process with M feature points captured in the latest image and included in the environment map.

まず、許容運動定義部17は、露光中の特徴点の移動距離を予測する(S7703)。微小時間の間に飛行物体100が、回転行列dRで表される回転を行い、平行移動ベクトルdtで表される移動を行う場合、画像上の移動量vは以下の(17)式で求めることができる。   First, the allowable motion definition unit 17 predicts the moving distance of the feature point during exposure (S7703). When the flying object 100 rotates during the minute time as represented by the rotation matrix dR and moves as represented by the parallel movement vector dt, the movement amount v on the image is obtained by the following equation (17). Can do.

Figure 2017134617
(17)式の左辺は、微小時間が経過した後に露光中の特徴点が撮像される画像内の座標と、最新の画像で特徴点が撮像されている画像内の座標との差分を表している。(17)式から、露光中の画像における移動量vを求めることができる。なお、移動距離は(17)式のvi xとvi の二乗和の平方根である。(17)式では最新の画像で撮像されたカメラ座標系の特徴点の座標をXi cとした。
Figure 2017134617
The left side of the equation (17) represents the difference between the coordinates in the image where the feature point being exposed after the minute time has elapsed and the coordinates in the image where the feature point is captured in the latest image. Yes. From the equation (17), the movement amount v in the image being exposed can be obtained. The moving distance is the square root of the sum of squares of v i x and v i y in equation (17). (17) the coordinates of the feature points of the camera coordinate system captured at latest image was X i c in formula.

回転行列dRは、最新の画像に撮像されている特徴点のワールド座標系の三次元座標をカメラ座標系に変換する回転行列Rの各要素の微小量である。   The rotation matrix dR is a minute amount of each element of the rotation matrix R that converts the three-dimensional coordinates of the feature point captured in the latest image into the camera coordinate system.

まず、回転行列dRと平行移動ベクトルdtは以下のように求める。移動体位置計測部16は位置と姿勢を計測しているため、移動速度と各回転軸の回転速度を算出している。露光時間は既知なので、移動速度で飛行物体100が露光時間、移動する際の平行移動ベクトルdtを算出できる。同様に、各回転軸の回転速度は、ヨー角ψ、ピッチ角θ、ロール角φの時間的変化なので、移動体位置計測部16に取って既知である。各回転軸の回転速度に露光時間を乗じれば露光時間における回転量が分かる。   First, the rotation matrix dR and the translation vector dt are obtained as follows. Since the moving body position measuring unit 16 measures the position and orientation, it calculates the moving speed and the rotating speed of each rotating shaft. Since the exposure time is known, the translation vector dt when the flying object 100 moves with the moving speed can be calculated. Similarly, the rotational speed of each rotating shaft is known to the moving body position measuring unit 16 because it is a temporal change in the yaw angle ψ, the pitch angle θ, and the roll angle φ. By multiplying the rotation speed of each rotation axis by the exposure time, the amount of rotation in the exposure time can be determined.

そして、許容運動定義部17は、現在着目している運動パラメータで使用する運動を運動パラメータ使用運動1006から読み出す。そして、使用しない運動に対応する回転行列dRと平行移動ベクトルdtの要素をゼロに置き換える。例えば、上昇する場合は回転行列dRの各要素をゼロにしてよい。また、移動を伴わない姿勢変化では、平行移動ベクトルdtの各要素をゼロにしてよい。また、X方向(のみ)への移動であれば、移動の原理に基づく回転角以外は変化しないので、回転行列dRの要素のうち変化しない要素をゼロにしてよい。この場合、Y座標とZ座標は変化しないので、平行移動ベクトルdtうちY座標とZ座標の変化分をゼロにしてよい。このようにして、運動パラメータに応じて回転行列dRと平行移動ベクトルdtを算出できる。   Then, the allowable motion definition unit 17 reads the motion used with the motion parameter currently focused on from the motion parameter using motion 1006. Then, the elements of the rotation matrix dR and the translation vector dt corresponding to the motion not used are replaced with zero. For example, when it rises, each element of the rotation matrix dR may be set to zero. Further, in a posture change not accompanied by movement, each element of the parallel movement vector dt may be set to zero. Further, if the movement is in the X direction (only), the rotation angle other than the rotation angle based on the principle of movement does not change, so the elements that do not change among the elements of the rotation matrix dR may be set to zero. In this case, since the Y coordinate and the Z coordinate do not change, the change amount of the Y coordinate and the Z coordinate in the translation vector dt may be set to zero. In this way, the rotation matrix dR and the translation vector dt can be calculated according to the motion parameter.

許容運動定義部17は、このようにして求めた回転行列dRと平行移動ベクトルdtを(17)式に設定することで、露光時間における飛行物体100の画像上の移動量vを予測できる。   The allowable motion definition unit 17 can predict the movement amount v on the image of the flying object 100 during the exposure time by setting the rotation matrix dR and the parallel movement vector dt obtained in this way in the equation (17).

なお、回転行列dRと平行移動ベクトルdtの一方だけと露光時間から飛行物体100の画像上の移動量vを予測してもよい。   Note that the movement amount v on the image of the flying object 100 may be predicted from only one of the rotation matrix dR and the parallel movement vector dt and the exposure time.

次に、許容運動定義部17は、露光時間における移動距離が閾値L1〔ピクセル数〕より小さいか否かを判定する(S7014)。露光時間中の移動距離が閾値L1以上の場合、被写体ブレ(モーションブラー)が発生する可能性が高いと判定する。すなわち、観測可能な特徴点でないと判定する。理論上は、1ピクセル以上の動きがある場合は被写体ブレが発生する。このため、閾値L1は1ピクセル(画素と画素の1ピッチ)となり、露光時間中の移動距離が1ピクセル未満の場合はステップS7014の判定がYesとなる。若干の被写体ブレを許容して数ピクセルとしてもよい。   Next, the allowable motion definition unit 17 determines whether or not the moving distance in the exposure time is smaller than the threshold value L1 [number of pixels] (S7014). When the moving distance during the exposure time is equal to or greater than the threshold value L1, it is determined that there is a high possibility of subject blurring (motion blur). That is, it is determined that the feature point is not observable. Theoretically, subject blur occurs when there is a movement of one pixel or more. For this reason, the threshold value L1 is 1 pixel (pixel to pixel pitch), and if the moving distance during the exposure time is less than 1 pixel, the determination in step S7014 is Yes. Some pixels may be allowed to allow slight subject blurring.

次に、運動制約定義17部は、フレーム間隔における画像上の飛行物体100の移動距離を予測する(S7015)。フレームとフレームの間における画像上の移動体の運動をベクトルで表すものをオプティカルフローと呼ぶ。本実施形態では、フレーム間のオプティカルフローは、ステップS7013と同様に求められる。すなわち、露光時間の代わりにフレーム間隔を用いればよい。   Next, the motion constraint definition 17 unit predicts the moving distance of the flying object 100 on the image at the frame interval (S7015). What expresses a motion of a moving object on an image between frames as a vector is called an optical flow. In the present embodiment, the optical flow between frames is obtained in the same manner as in step S7013. That is, the frame interval may be used instead of the exposure time.

許容運動定義部17は、このようにして求め得た回転行列dRと平行移動ベクトルdtを(17)式に設定することで、フレーム間隔における飛行物体100の画像上の移動距離を予測できる。   The allowable motion definition unit 17 can predict the moving distance on the image of the flying object 100 in the frame interval by setting the rotation matrix dR and the translation vector dt obtained in this way in the equation (17).

次に、運動制約定義は、フレーム間の移動距離が閾値L2〔ピクセル数〕より小さいか否かを判定する(S7016)。閾値L2は、特徴点追跡アルゴリズムの性能の限界に考慮して予め定められている。よって、閾値L2は、特徴点の追跡アルゴリズムによって異なることが好ましい。例えば、特徴点追跡アルゴリズムが事前に探索範囲を指定するブロックマッチングである場合、探索範囲を指定する画素サイズが閾値L2となる。特徴点追跡アルゴリズムにPyramidal KLT (又はLucas-Kanade法など)が用いられた場合を説明する。特徴点追跡のPyramidal(ピラミッド)とは、元の画像から解像度の異なる複数の画像を作成してそれぞれから特徴点を探索することをいう。また、KLTは、微小時間においては平行移動のみしか生じず、特徴量の変化がないことを仮定して特徴点を追跡することをいう。Pyramidal KLT (又はLucas-Kanade法など)が用いられた場合、最高レベル(最も解像度が高い)のピラミッド画像においてKLTのコストが算出される局所ウインドウのサイズが閾値L2となる。   Next, in the motion constraint definition, it is determined whether or not the moving distance between frames is smaller than the threshold value L2 [number of pixels] (S7016). The threshold value L2 is determined in advance in consideration of the performance limit of the feature point tracking algorithm. Therefore, the threshold L2 is preferably different depending on the feature point tracking algorithm. For example, when the feature point tracking algorithm is block matching that specifies a search range in advance, the pixel size that specifies the search range is the threshold L2. The case where Pyramidal KLT (or Lucas-Kanade method etc.) is used for the feature point tracking algorithm will be described. “Pyramidal” of feature point tracking refers to creating a plurality of images with different resolutions from an original image and searching for feature points from each of them. Further, KLT refers to tracking feature points on the assumption that only parallel movement occurs in a minute time and there is no change in feature amount. When Pyramidal KLT (or Lucas-Kanade method or the like) is used, the size of the local window in which the cost of KLT is calculated in the highest level (highest resolution) pyramid image is the threshold L2.

また、特徴量記述が用いられた手法の場合、画像のほぼ全体が探索範囲となるので、ステレオカメラ50の撮像範囲を超えない範囲が閾値L2となる。こうすることで、特徴点の追跡の性能を超えない運動で飛行物体100が移動することができる。   In the case of the technique using the feature description, the entire range of the image is the search range, and the range that does not exceed the imaging range of the stereo camera 50 is the threshold L2. By doing so, the flying object 100 can move with a motion that does not exceed the performance of tracking feature points.

なお、フレーム間の移動距離が閾値L2より小さくても、次のフレームで特徴点が画像範囲外に移動してしまうおそれがある。このため、許容運動定義部17は、最新の画像における特徴点の位置にオプティカルフローの移動ベクトルを加えた座標が、縦横ともに0より大きくかつ画像の幅と高さを超えない範囲に収まっているかを判定する。この範囲に収まっていない場合は、フレーム間の移動距離が閾値L2より小さくても観測可能な特徴点としては登録されない。   Even if the moving distance between frames is smaller than the threshold value L2, the feature point may move out of the image range in the next frame. For this reason, the allowable motion definition unit 17 determines whether the coordinates obtained by adding the optical flow movement vector to the position of the feature point in the latest image are larger than 0 both vertically and horizontally and do not exceed the width and height of the image. Determine. If it is not within this range, it is not registered as an observable feature point even if the moving distance between frames is smaller than the threshold L2.

ステップS7016の判定がYesの場合、許容運動定義部17は特徴点を可観測特徴点として登録する(S7017)。   If the determination in step S7016 is Yes, the allowable motion definition unit 17 registers the feature point as an observable feature point (S7017).

M個の特徴点について可観測特徴点かどうかの判定が行われると処理はステップS7018に進む。   If it is determined whether M feature points are observable feature points, the process advances to step S7018.

許容運動定義部17は、可観測特徴点がK個以上あるか否かを判定する(S7018)。   The allowable motion definition unit 17 determines whether or not there are K or more observable feature points (S7018).

ステップS7018の判定がYesの場合、許容運動定義部17は、図9で着目しているi番目の運動パラメータが許容運動であると判定する(S7019)。許容運動定義部17は、運動パラメータのうち許容運動であると判定された運動パラメータを許容運動マップに登録する。   When the determination in step S7018 is Yes, the allowable motion definition unit 17 determines that the i-th motion parameter focused on in FIG. 9 is the allowable motion (S7019). The allowable motion definition unit 17 registers the motion parameter determined as the allowable motion among the motion parameters in the allowable motion map.

<移動体制御部30の処理>
次に、図11を用いて移動体制御部30の処理について説明する。図11は、移動体制御部30の動作手順を示すフローチャート図の一例である。移動体制御部30は、N個の許容運動マップから最も経路コストが小さい運動を採用する。許容運動マップは、運動パラメータのうち許容運動として登録された運動パラメータである。すなわち、許容運動マップの運動パラメータの運動を飛行物体100が行った場合、次の画像にN個以上の可観測特徴点が得られると判定されている。
<Processing of moving body control unit 30>
Next, the process of the mobile body control part 30 is demonstrated using FIG. FIG. 11 is an example of a flowchart illustrating an operation procedure of the moving body control unit 30. The moving body control unit 30 employs the motion with the lowest path cost from the N allowable motion maps. The allowable motion map is a motion parameter registered as an allowable motion among the motion parameters. That is, when the flying object 100 performs the motion of the motion parameter of the allowable motion map, it is determined that N or more observable feature points are obtained in the next image.

移動体制御部30は、各運動パラメータごとに予定移動先に到達するための経路コストを算出する(S110)。経路コストは時間、燃費、機体への負荷などである。本実施形態では説明の便宜上、経路コストが時間であるとして説明する。   The mobile body control unit 30 calculates a route cost for reaching the planned destination for each motion parameter (S110). The route cost includes time, fuel consumption, and load on the aircraft. In the present embodiment, for convenience of explanation, it is assumed that the route cost is time.

図12は、経路コストの算出方法を説明する図の一例である。例えば、飛行物体100が移動する経路にA座標とB座標が登録されている場合、飛行物体100はA座標に到達したが次に予定移動先であるB座標に移動する必要がある。ここで、A座標からB座標に移動する運動パラメータが複数ある場合がある。通常は、直線で到達できる経路cを移動する運動パラメータを採用するが、本実施形態では、許容運動定義部17が経路cを移動する運動パラメータを許容しないことができる。したがって、本実施形態の飛行物体100は、位置の推定を継続することができる。   FIG. 12 is an example of a diagram illustrating a route cost calculation method. For example, when the A coordinate and the B coordinate are registered in the path along which the flying object 100 moves, the flying object 100 needs to move to the B coordinate that is the next scheduled movement destination after reaching the A coordinate. Here, there may be a plurality of motion parameters that move from the A coordinate to the B coordinate. Normally, a motion parameter that moves along a path c that can be reached in a straight line is employed. However, in the present embodiment, the allowable motion definition unit 17 may not allow a motion parameter that moves along the path c. Therefore, the flying object 100 of this embodiment can continue position estimation.

この場合、移動体制御部30はB座標に移動するため経路aや経路bを通過する別の運動パラメータで経路コストを算出する(S110)。   In this case, since the moving body control unit 30 moves to the B coordinate, the moving body control unit 30 calculates the route cost using another motion parameter passing through the route a and the route b (S110).

そして、許容されている全ての運動パラメータで経路コストを算出すると、移動体制御部30は最も経路コストが低い運動パラメータを採用する(S120)。   When the path cost is calculated with all the permitted motion parameters, the mobile control unit 30 adopts the motion parameter with the lowest path cost (S120).

したがって、許容運動定義部17で定義された許容運動の運動パラメータのいずれかのうち、最も低い経路コストで移動する運動パラメータを採用できる。例えば、最も短い時間で移動する運動パラメータを採用できる。   Therefore, the motion parameter that moves at the lowest path cost among the motion parameters of the allowable motion defined by the allowable motion definition unit 17 can be adopted. For example, an exercise parameter that moves in the shortest time can be employed.

なお、経路はA*アルゴリズムやダイクストラ法などを用いて自動生成してもよいし、ユーザが移動体に記録させたものでも良い。   The route may be automatically generated using an A * algorithm or Dijkstra method, or may be recorded by a user on a moving body.

以上説明したように、本実施形態の飛行物体100は、画像の撮像条件に基づいて、被写体ブレが起こらず、かつ、フレーム間で追跡が可能な特徴点が閾値以上の画像が撮像される場合に、着目している運動パラメータの運動が可能であると判定する。したがって、本実施形態の飛行物体100は位置と姿勢を継続して検出しやすい。また、位置と姿勢を継続して検出しやすい運動パラメータのうち、最も低い経路コストで移動する運動パラメータを採用するので、移動に必要な時間の増大を最小限に抑制できる。   As described above, the flying object 100 according to the present embodiment captures an image in which subject blurring does not occur and feature points that can be tracked between frames are greater than or equal to a threshold based on the image capturing conditions. Then, it is determined that the exercise with the exercise parameter of interest is possible. Therefore, the flying object 100 of the present embodiment is easy to detect the position and orientation continuously. In addition, since the motion parameter that moves with the lowest path cost is adopted among the motion parameters that are easy to detect the position and posture continuously, an increase in time required for the movement can be suppressed to the minimum.

<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
<Other application examples>
The best mode for carrying out the present invention has been described above with reference to the embodiments. However, the present invention is not limited to these embodiments, and various modifications can be made without departing from the scope of the present invention. And substitutions can be added.

本実施形態では移動体として飛行物体100を例に説明したが、車両、移動式ロボット、船、潜水艦等の各種移動体で適用することができる。また、移動体に搭載されたスマートフォンなどの情報処理装置に適用することができる。   In the present embodiment, the flying object 100 has been described as an example of the moving body. However, the present invention can be applied to various moving bodies such as a vehicle, a mobile robot, a ship, and a submarine. Further, the present invention can be applied to an information processing apparatus such as a smartphone mounted on a moving body.

また、図10などの構成例は、飛行物体100による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。飛行物体100の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。   In addition, the configuration example in FIG. 10 and the like is divided according to main functions in order to facilitate understanding of processing by the flying object 100. The present invention is not limited by the way of dividing the processing unit or the name. The processing of the flying object 100 can be divided into more processing units depending on the processing content. Moreover, it can also divide | segment so that one process unit may contain many processes.

また、上述した各実施形態で述べたフローチャートは、矛盾の無い限り順序を入れ替えてもよい。   Further, the order of the flowcharts described in the above embodiments may be changed as long as there is no contradiction.

なお、ステレオカメラ50は撮像装置の一例であり、移動体位置計測部16は位置検出部の一例であり、カメラパラメータは撮像条件の一例である。位置計測部10は位置推定装置の一例であり、位置計測部10が行う処理や方法は位置推定方法の一例である。   The stereo camera 50 is an example of an imaging device, the moving body position measurement unit 16 is an example of a position detection unit, and the camera parameter is an example of an imaging condition. The position measurement unit 10 is an example of a position estimation device, and the processes and methods performed by the position measurement unit 10 are examples of a position estimation method.

10 位置計測部
11 画像特徴点抽出部
12 画像特徴点追跡部
13 深度計測部
14 撮像部制御部
15 環境地図生成部
16 移動体位置計測部
17 許容運動定義部
30 移動体制御部
50 ステレオカメラ
100 飛行物体
DESCRIPTION OF SYMBOLS 10 Position measurement part 11 Image feature point extraction part 12 Image feature point tracking part 13 Depth measurement part 14 Imaging part control part 15 Environment map generation part 16 Mobile body position measurement part 17 Permissible motion definition part 30 Mobile body control part 50 Stereo camera 100 Flying object

特開2012−150655号公報JP 2012-150655 A

Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer So-ciety Conference on, Vol. 2, pp.807 - 814, 2005.。Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer So-ciety Conference on, Vol. 2, pp.807-814, 2005. 佐藤智和、"複数の動画像を用いたカメラパラメータ推定に基づく屋外環境の三次元モデル化に関する研究"、奈良先端科学技術大学院大学、博士論文、2003年3月24日。Tomokazu Sato, “Research on 3D modeling of outdoor environment based on camera parameter estimation using multiple moving images”, Nara Institute of Science and Technology, Doctoral Dissertation, March 24, 2003.

Claims (10)

被写体までの距離情報を検出可能な撮像装置が撮像した周囲の画像から移動体の位置を推定すると共に周囲の地図を作成する位置推定装置であって、
前記撮像装置が撮像した前記画像から特徴点を抽出する画像特徴点抽出部と、
前記画像の前記特徴点を前記撮像装置が撮像した前記画像において追跡する画像特徴点追跡部と、
前記移動体の三次元座標、前記距離情報及び前記撮像装置のカメラパラメータを用いて、前記特徴点の三次元座標を含む前記地図を生成する環境地図生成部と、
前記特徴点の前記三次元座標を前記画像に投影した場合の投影座標と前記特徴点の座標の誤差、又は、前記特徴点の座標を前記三次元座標に変換した場合の変換座標と前記特徴点の前記三次元座標の誤差がより小さくなる前記移動体の位置と姿勢を検出する位置検出部と、
前記位置検出部が前記位置に基づき検出する前記移動体の移動速度又は前記姿勢に基づき検出する前記移動体の回転速度の少なくともいずれかと、前記画像の撮像条件に基づいて、前記特徴点を追跡可能な前記画像を撮像できる前記移動体の運動を定義する許容運動定義部と、を有する位置推定装置。
A position estimation device that estimates a position of a moving body from a surrounding image captured by an imaging device capable of detecting distance information to a subject and creates a surrounding map,
An image feature point extraction unit that extracts a feature point from the image captured by the imaging device;
An image feature point tracking unit that tracks the feature point of the image in the image captured by the imaging device;
An environment map generation unit that generates the map including the three-dimensional coordinates of the feature points using the three-dimensional coordinates of the moving body, the distance information, and camera parameters of the imaging device;
An error between the projected coordinate and the feature point coordinate when the three-dimensional coordinate of the feature point is projected onto the image, or the converted coordinate and the feature point when the feature point coordinate is converted into the three-dimensional coordinate. A position detection unit for detecting the position and orientation of the moving body in which the error of the three-dimensional coordinates is smaller;
The feature point can be tracked based on at least one of the moving speed of the moving body detected based on the position or the rotational speed of the moving body detected based on the posture, and the imaging condition of the image. And a permissible motion defining unit that defines motion of the moving body capable of capturing the image.
前記撮像条件は露光時間に関する情報を含み、
前記許容運動定義部は、前記移動体が前記移動速度及び前記回転速度で運動し、前記撮像装置が前記露光時間で前記画像を撮像した場合に、前記特徴点を追跡可能な前記運動を定義する請求項1に記載の位置推定装置。
The imaging condition includes information on exposure time,
The allowable motion defining unit defines the motion that can track the feature point when the moving body moves at the moving speed and the rotational speed and the imaging apparatus captures the image during the exposure time. The position estimation apparatus according to claim 1.
前記許容運動定義部は、前記移動体が前記移動速度及び前記回転速度で運動し、前記撮像装置が前記露光時間で前記画像を撮像した場合に、前記画像における前記特徴点の移動量が1ピクセル未満である前記運動を定義する請求項2に記載の位置推定装置。   The allowable motion defining unit is configured such that when the moving body moves at the moving speed and the rotational speed, and the imaging device captures the image during the exposure time, the moving amount of the feature point in the image is 1 pixel. The position estimation apparatus according to claim 2, wherein the movement is defined as being less than a value. 前記撮像条件は撮像間隔に関する情報を含み、
前記許容運動定義部は、前記移動体が前記移動速度及び前記回転速度で運動し、前記撮像装置が前記撮像間隔で次の前記画像を撮像した場合に、前記特徴点を追跡可能な前記運動を定義する請求項1〜3のいずれか1項に記載の位置推定装置。
The imaging condition includes information regarding an imaging interval,
The allowable motion defining unit is configured to perform the motion that can track the feature point when the moving body moves at the moving speed and the rotational speed and the imaging apparatus captures the next image at the imaging interval. The position estimation apparatus according to claim 1, wherein the position estimation apparatus is defined.
前記許容運動定義部は、前記撮像間隔における前記特徴点の移動ベクトルを算出し、
前記移動ベクトルの長さが閾値よりも小さい場合に、前記特徴点を追跡可能であると判定する請求項4に記載の位置推定装置。
The allowable motion definition unit calculates a movement vector of the feature point in the imaging interval;
The position estimation apparatus according to claim 4, wherein the feature point is determined to be traceable when a length of the movement vector is smaller than a threshold value.
前記画像特徴点追跡部は、事前に設定された探索範囲の中でのみ前記特徴点の探索を行い、
前記許容運動定義部は前記移動ベクトルで移動した前記特徴点が前記探索範囲に含まれる場合、前記特徴点を追跡可能であると判定する請求項5に記載の位置推定装置。
The image feature point tracking unit searches for the feature point only in a preset search range,
The position estimation apparatus according to claim 5, wherein the allowable motion definition unit determines that the feature point can be traced when the feature point moved by the movement vector is included in the search range.
前記画像特徴点追跡部は、Pyramidal KLTを用いて前記特徴点の追跡を行い、
前記許容運動定義部は、前記移動ベクトルで移動した前記特徴点がPyramidal KLTで利用する最高レベルのピラミッド画像におけるKLTの局所ウインドウ内にある場合、前記特徴点を追跡可能であると判定する請求項6に記載の位置推定装置。
The image feature point tracking unit tracks the feature point using Pyramidal KLT,
The allowable motion defining unit determines that the feature point is traceable when the feature point moved by the movement vector is within a local window of the KLT in the highest level pyramid image used in Pyramidal KLT. 6. The position estimation device according to 6.
前記許容運動定義部は、前記移動体が採用することが可能な運動を規定する複数の運動パラメータ及び前記運動パラメータに対応付けられた変化しうる自由度を記憶部から読み出し、
前記許容運動定義部は、前記運動パラメータごとに前記自由度を参照して、前記運動パラメータが規定する運動が、前記特徴点を追跡可能な前記画像を撮像できる運動であるかどうかを判定する請求項1〜7のいずれか1項に記載の位置推定装置。
The allowable motion definition unit reads a plurality of motion parameters that define motions that can be adopted by the mobile body and variable degrees of freedom associated with the motion parameters from the storage unit,
The permissible motion definition unit refers to the degree of freedom for each motion parameter, and determines whether the motion specified by the motion parameter is a motion that can capture the image capable of tracking the feature point. Item 8. The position estimation device according to any one of Items 1 to 7.
被写体までの距離情報を検出可能な撮像装置が撮像した周囲の画像から移動体の位置を推定すると共に周囲の地図を作成する情報処理装置を、
前記撮像装置が撮像した前記画像から特徴点を抽出する画像特徴点抽出部と、
前記画像の前記特徴点を前記撮像装置が撮像した前記画像において追跡する画像特徴点追跡部と、
前記移動体の三次元座標、前記距離情報及び前記撮像装置のカメラパラメータを用いて、前記特徴点の三次元座標を含む前記地図を生成する環境地図生成部と、
前記三次元座標を前記画像に投影した場合の投影座標と前記特徴点の座標の誤差、又は、前記特徴点の座標を前記三次元座標に変換した場合の変換座標と前記三次元座標の誤差がより小さくなる前記移動体の位置と姿勢を検出する位置検出部と、
前記位置検出部が前記位置に基づき検出する前記移動体の移動速度又は前記姿勢に基づき検出する前記移動体の回転速度の少なくともいずれかと、前記画像の撮像条件に基づいて、前記特徴点を追跡可能な前記画像を撮像できる運動を定義する許容運動定義部、として機能させるためのプログラム。
An information processing apparatus that estimates a position of a moving body from a surrounding image captured by an imaging apparatus capable of detecting distance information to a subject and creates a surrounding map,
An image feature point extraction unit that extracts a feature point from the image captured by the imaging device;
An image feature point tracking unit that tracks the feature point of the image in the image captured by the imaging device;
An environment map generation unit that generates the map including the three-dimensional coordinates of the feature points using the three-dimensional coordinates of the moving body, the distance information, and camera parameters of the imaging device;
An error between the projected coordinates when the three-dimensional coordinates are projected onto the image and the coordinates of the feature points, or an error between the converted coordinates and the three-dimensional coordinates when the coordinates of the feature points are converted into the three-dimensional coordinates. A position detection unit for detecting the position and posture of the moving body that is smaller;
The feature point can be tracked based on at least one of the moving speed of the moving body detected based on the position or the rotational speed of the moving body detected based on the posture, and the imaging condition of the image. A program for functioning as an allowable motion definition unit that defines a motion capable of capturing the image.
被写体までの距離情報を検出可能な撮像装置が撮像した周囲の画像から移動体の位置を推定すると共に周囲の地図を作成する位置推定装置の位置推定方法であって、
画像特徴点抽出部が、前記撮像装置が撮像した前記画像から特徴点を抽出するステップと、
画像特徴点追跡部が、前記画像の前記特徴点を前記撮像装置が撮像した前記画像において追跡するステップと、
環境地図生成部が、前記移動体の三次元座標、前記距離情報及び前記撮像装置のカメラパラメータを用いて、前記特徴点の三次元座標を含む前記地図を生成するステップと、
位置検出部が、前記三次元座標を前記画像に投影した場合の投影座標と前記特徴点の座標の誤差、又は、前記特徴点の座標を前記三次元座標に変換した場合の変換座標と前記三次元座標の誤差がより小さくなる前記移動体の位置と姿勢を検出するステップと、
前記位置検出部が前記位置に基づき検出する前記移動体の移動速度又は前記姿勢に基づき検出する前記移動体の回転速度の少なくともいずれかと、前記画像の撮像条件に基づいて、許容運動定義部が、前記特徴点を追跡可能な前記画像を撮像できる運動を定義するステップと、を有する位置推定方法。
A position estimation method for a position estimation apparatus that estimates a position of a moving body from a surrounding image captured by an imaging apparatus capable of detecting distance information to a subject and creates a map of the surrounding area,
An image feature point extraction unit extracting a feature point from the image captured by the imaging device;
An image feature point tracking unit tracking the feature point of the image in the image captured by the imaging device;
An environment map generating unit generating the map including the three-dimensional coordinates of the feature points using the three-dimensional coordinates of the moving object, the distance information, and the camera parameters of the imaging device;
An error between the projection coordinates when the three-dimensional coordinates are projected on the image and the coordinates of the feature points, or the converted coordinates and the cubic when the coordinates of the feature points are converted into the three-dimensional coordinates. Detecting the position and orientation of the moving body in which the error of the original coordinates becomes smaller;
Based on at least one of the moving speed of the moving body detected by the position detecting unit based on the position or the rotational speed of the moving body detected based on the posture, and the imaging condition of the image, an allowable motion defining unit, Defining a motion capable of capturing the image capable of tracking the feature point.
JP2016013860A 2016-01-27 2016-01-27 Position estimation device, program, position estimation method Active JP6658001B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016013860A JP6658001B2 (en) 2016-01-27 2016-01-27 Position estimation device, program, position estimation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016013860A JP6658001B2 (en) 2016-01-27 2016-01-27 Position estimation device, program, position estimation method

Publications (2)

Publication Number Publication Date
JP2017134617A true JP2017134617A (en) 2017-08-03
JP6658001B2 JP6658001B2 (en) 2020-03-04

Family

ID=59504968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016013860A Active JP6658001B2 (en) 2016-01-27 2016-01-27 Position estimation device, program, position estimation method

Country Status (1)

Country Link
JP (1) JP6658001B2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325967A (en) * 2018-09-14 2019-02-12 腾讯科技(深圳)有限公司 Method for tracking target, device, medium and equipment
CN109753076A (en) * 2017-11-03 2019-05-14 南京奇蛙智能科技有限公司 A kind of unmanned plane vision tracing implementing method
WO2019093282A1 (en) * 2017-11-08 2019-05-16 川崎重工業株式会社 Environment acquisition system
WO2019117078A1 (en) * 2017-12-15 2019-06-20 東芝ライフスタイル株式会社 Electric cleaner
KR20190124515A (en) * 2018-04-26 2019-11-05 한국조선해양 주식회사 3d map generating system
CN110750094A (en) * 2018-07-23 2020-02-04 杭州海康威视数字技术股份有限公司 Method, device and system for determining pose change information of movable equipment
JP2020064339A (en) * 2018-10-15 2020-04-23 株式会社Uei Map creation apparatus, robot, map creation method and map creation program
JPWO2019111701A1 (en) * 2017-12-05 2020-11-26 ソニー株式会社 Control devices, control methods, programs, and mobiles
CN112417924A (en) * 2019-08-20 2021-02-26 北京地平线机器人技术研发有限公司 Method and device for acquiring space coordinates of marker post
EP3761629A4 (en) * 2018-02-26 2021-04-21 Sony Corporation Information processing device, information processing method, and program
KR20210057964A (en) * 2019-11-13 2021-05-24 울산대학교 산학협력단 Method and system for determining location information of moving object with photography apparatus
JP2021099384A (en) * 2019-12-19 2021-07-01 キヤノン株式会社 Information processing apparatus, information processing method, and program
JP2021518558A (en) * 2018-03-19 2021-08-02 アウトサイト Methods and systems for identifying the material composition of objects
WO2023030062A1 (en) * 2021-09-01 2023-03-09 中移(成都)信息通信科技有限公司 Flight control method and apparatus for unmanned aerial vehicle, and device, medium and program
JP7500515B2 (en) 2021-09-03 2024-06-17 株式会社東芝 Processing device related to inspection of subject, inspection system for subject, processing method related to inspection of subject, and processing program related to inspection of subject

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011209203A (en) * 2010-03-30 2011-10-20 Sony Corp Self-position estimating device and self-position estimating method
WO2015049717A1 (en) * 2013-10-01 2015-04-09 株式会社日立製作所 Device for estimating position of moving body and method for estimating position of moving body
JP2016111414A (en) * 2014-12-03 2016-06-20 コニカミノルタ株式会社 Flying body position detection system and flying body

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011209203A (en) * 2010-03-30 2011-10-20 Sony Corp Self-position estimating device and self-position estimating method
WO2015049717A1 (en) * 2013-10-01 2015-04-09 株式会社日立製作所 Device for estimating position of moving body and method for estimating position of moving body
JP2016111414A (en) * 2014-12-03 2016-06-20 コニカミノルタ株式会社 Flying body position detection system and flying body

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753076A (en) * 2017-11-03 2019-05-14 南京奇蛙智能科技有限公司 A kind of unmanned plane vision tracing implementing method
CN109753076B (en) * 2017-11-03 2022-01-11 南京奇蛙智能科技有限公司 Unmanned aerial vehicle visual tracking implementation method
WO2019093282A1 (en) * 2017-11-08 2019-05-16 川崎重工業株式会社 Environment acquisition system
JP2019086419A (en) * 2017-11-08 2019-06-06 川崎重工業株式会社 Environment acquisition system
TWI687870B (en) * 2017-11-08 2020-03-11 日商川崎重工業股份有限公司 Environment acquisition system and environment acquisition method
CN111417836A (en) * 2017-11-08 2020-07-14 川崎重工业株式会社 Environment acquisition system
JPWO2019111701A1 (en) * 2017-12-05 2020-11-26 ソニー株式会社 Control devices, control methods, programs, and mobiles
US11592829B2 (en) 2017-12-05 2023-02-28 Sony Corporation Control device and control method, program, and mobile object
JP7180612B2 (en) 2017-12-05 2022-11-30 ソニーグループ株式会社 CONTROL DEVICE, CONTROL METHOD, PROGRAM, AND MOVING OBJECT
WO2019117078A1 (en) * 2017-12-15 2019-06-20 東芝ライフスタイル株式会社 Electric cleaner
EP3761629A4 (en) * 2018-02-26 2021-04-21 Sony Corporation Information processing device, information processing method, and program
US11430204B2 (en) 2018-02-26 2022-08-30 Sony Corporation Information processing device, information processing method, and program
JP2021518558A (en) * 2018-03-19 2021-08-02 アウトサイト Methods and systems for identifying the material composition of objects
KR102618865B1 (en) * 2018-04-26 2023-12-28 에이치디한국조선해양 주식회사 3d map generating system
KR20190124515A (en) * 2018-04-26 2019-11-05 한국조선해양 주식회사 3d map generating system
CN110750094A (en) * 2018-07-23 2020-02-04 杭州海康威视数字技术股份有限公司 Method, device and system for determining pose change information of movable equipment
CN109325967A (en) * 2018-09-14 2019-02-12 腾讯科技(深圳)有限公司 Method for tracking target, device, medium and equipment
CN109325967B (en) * 2018-09-14 2023-04-07 腾讯科技(深圳)有限公司 Target tracking method, device, medium, and apparatus
US12106491B2 (en) 2018-09-14 2024-10-01 Tencent Technology (Shenzhen) Company Limited Target tracking method and apparatus, medium, and device
JP2020064339A (en) * 2018-10-15 2020-04-23 株式会社Uei Map creation apparatus, robot, map creation method and map creation program
CN112417924A (en) * 2019-08-20 2021-02-26 北京地平线机器人技术研发有限公司 Method and device for acquiring space coordinates of marker post
KR102473202B1 (en) * 2019-11-13 2022-12-02 울산대학교 산학협력단 Method and system for determining location information of moving object with photography apparatus
KR20210057964A (en) * 2019-11-13 2021-05-24 울산대학교 산학협력단 Method and system for determining location information of moving object with photography apparatus
JP2021099384A (en) * 2019-12-19 2021-07-01 キヤノン株式会社 Information processing apparatus, information processing method, and program
JP7547045B2 (en) 2019-12-19 2024-09-09 キヤノン株式会社 Information processing device, information processing method, and program
WO2023030062A1 (en) * 2021-09-01 2023-03-09 中移(成都)信息通信科技有限公司 Flight control method and apparatus for unmanned aerial vehicle, and device, medium and program
JP7500515B2 (en) 2021-09-03 2024-06-17 株式会社東芝 Processing device related to inspection of subject, inspection system for subject, processing method related to inspection of subject, and processing program related to inspection of subject

Also Published As

Publication number Publication date
JP6658001B2 (en) 2020-03-04

Similar Documents

Publication Publication Date Title
JP6658001B2 (en) Position estimation device, program, position estimation method
CN112567201B (en) Distance measuring method and device
US11127203B2 (en) Leveraging crowdsourced data for localization and mapping within an environment
US9996936B2 (en) Predictor-corrector based pose detection
JP6107081B2 (en) Image processing apparatus, image processing method, and program
CN109461208B (en) Three-dimensional map processing method, device, medium and computing equipment
US10157478B2 (en) Enabling use of three-dimensional locations of features with two-dimensional images
CN112258567A (en) Visual positioning method and device for object grabbing point, storage medium and electronic equipment
KR20150144729A (en) Apparatus for recognizing location mobile robot using key point based on gradient and method thereof
JP2004213332A (en) Calibration device, calibration method, program for calibration, and calibration mending tool
JP2013187862A (en) Image data processing device, image data processing method, and program for image data processing
CN105324792B (en) For estimating method of the moving element relative to the angular displacement of reference direction
JP2020042819A (en) Method and apparatus for determining motion vector field, device, computer-readable storage medium, and vehicle
US11504608B2 (en) 6DoF inside-out tracking game controller
JP7183085B2 (en) Mobile behavior registration device, mobile behavior registration system, mobile behavior registration method, mobile behavior registration program, and mobile behavior determination device
US10977810B2 (en) Camera motion estimation
KR102618069B1 (en) Method and apparatus for analyasing indoor building disaster information using point cloud data and visual information from ground survey robot
JP2018173882A (en) Information processing device, method, and program
CN110503684A (en) Camera position and orientation estimation method and device
WO2018134866A1 (en) Camera calibration device
JP2017182564A (en) Positioning device, positioning method, and positioning computer program
WO2019186677A1 (en) Robot position/posture estimation and 3d measurement device
KR101863647B1 (en) Hypothetical line mapping and verification for 3D maps
JP5230354B2 (en) POSITIONING DEVICE AND CHANGED BUILDING DETECTION DEVICE
JP6603993B2 (en) Image processing apparatus, image processing method, image processing system, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200120

R151 Written notification of patent or utility model registration

Ref document number: 6658001

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151