JP6441586B2 - Information processing apparatus and information processing method - Google Patents

Information processing apparatus and information processing method Download PDF

Info

Publication number
JP6441586B2
JP6441586B2 JP2014091950A JP2014091950A JP6441586B2 JP 6441586 B2 JP6441586 B2 JP 6441586B2 JP 2014091950 A JP2014091950 A JP 2014091950A JP 2014091950 A JP2014091950 A JP 2014091950A JP 6441586 B2 JP6441586 B2 JP 6441586B2
Authority
JP
Japan
Prior art keywords
processing module
processing
feature points
information processing
feature point
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.)
Active
Application number
JP2014091950A
Other languages
Japanese (ja)
Other versions
JP2015210677A (en
Inventor
領 此村
領 此村
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.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
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 University of Tokyo NUC filed Critical University of Tokyo NUC
Priority to JP2014091950A priority Critical patent/JP6441586B2/en
Publication of JP2015210677A publication Critical patent/JP2015210677A/en
Application granted granted Critical
Publication of JP6441586B2 publication Critical patent/JP6441586B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明に係るいくつかの態様は、情報処理装置および情報処理方法に関する。   Some embodiments according to the present invention relate to an information processing apparatus and an information processing method.

近年、例えばカメラ(画像センサ)等で撮影した映像等をリアルタイムで処理することにより、位置推定等の各種処理をリアルタイムで行うことが考えられている。特に、UAV(Unmanned Aerial Vehicle)の中でも特にマルチコプターロボット等の飛行ロボットは、地上ロボットとは異なり車輪のオドメトリ情報などの外部の固定物の接触を利用することができないため、自己位置推定を行うためには非接触的手法を用いる必要がある。よって、飛行ロボットに関しては、画像処理による自己位置推定が用いられることが多い。   In recent years, for example, it has been considered that various processing such as position estimation is performed in real time by processing video captured by a camera (image sensor) or the like in real time. In particular, a flying robot such as a multicopter robot among UAVs (Unmanned Aero Vehicles), unlike a ground robot, cannot use contact with external fixed objects such as wheel odometry information, and thus performs self-position estimation. For this purpose, it is necessary to use a non-contact method. Therefore, self-position estimation by image processing is often used for flying robots.

なお、自己位置推定のためには、例えばカメラで撮影した画像から特徴点を検出したり特徴点を記述する記述子を生成したりする処理が必要となることがある。特徴点を検出する手法としては、例えばFAST(非特許文献1参照。)と呼ばれる手法があり、特徴点を記述する記述子を生成する手法としては、例えばBRIEF(非特許文献2参照。)と呼ばれる手法がある。   For self-position estimation, for example, it may be necessary to detect a feature point from an image taken by a camera or generate a descriptor describing the feature point. As a technique for detecting feature points, for example, there is a technique called FAST (see Non-Patent Document 1), and as a technique for generating a descriptor describing a feature point, for example, BREF (see Non-Patent Document 2). There is a technique called.

飛行ロボットに対して画像処理による自己位置推定を行う場合には、通常、機体上の計算機のみではリソースが不足するため、地上局の計算機を必要とする場合が多い。これは、オンライン画像処理を中心とした計算と、周期的な姿勢推定と制御を機体上の計算機でリアルタイムにより行うことが難しいため、無線で地上局の計算機と通信した上で、このような演算量の多い計算を地上局側で行う手法である。   When self-position estimation is performed on a flying robot by image processing, a computer on the aircraft is usually insufficient in resources, so a ground station computer is often required. This is because calculation based on online image processing and periodic attitude estimation and control are difficult to perform in real time with a computer on the aircraft, so such calculations are performed after wirelessly communicating with a ground station computer. This is a method of performing a large amount of calculations on the ground station side.

E. Rosten, R. Porter, and T. Drummond. "Faster and better: A machine learning approach to corner detection." IEEE Trans. Pattern Analysis and Machine Intelligence, 32:105-119, 2010.E. Rosten, R. Porter, and T. Drummond. "Faster and better: A machine learning approach to corner detection." IEEE Trans. Pattern Analysis and Machine Intelligence, 32: 105-119, 2010. M. Calonder, V. Lepetit, C. Strecha, and P. Fua. "Brief: Binary robust independent elementary features." In European Conference on Computer Vision, 2010.M. Calonder, V. Lepetit, C. Strecha, and P. Fua. "Brief: Binary robust independent elementary features." In European Conference on Computer Vision, 2010.

しかしながら、地上機を用いる場合には、飛行ロボットの活躍範囲が無線通信のためのインフラ整備が整っている範囲に限られてしまう。また、飛行ロボットの数が増えればそれに比例して地上機の数も増やさなければならない。もし、姿勢制御等の様々な処理を全て機体上で行う、いわゆるオンボード処理に特化した飛行ロボットシステムができれば、地上機に頼ることなく、ロボットが自身で判断し行動することによって、通信距離などに束縛されない広範囲の環境でミッションを行うことが可能となる。   However, when a ground plane is used, the active range of the flying robot is limited to a range where infrastructure for wireless communication is in place. In addition, if the number of flying robots increases, the number of ground planes must increase proportionally. If a flying robot system specialized in so-called on-board processing that performs various processes such as attitude control on the aircraft is possible, the communication distance can be determined by the robot judging and acting on its own without relying on ground planes. It is possible to perform missions in a wide range of environments that are not bound by the above.

本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、限られたリソースでリアルタイム処理により位置推定を行うことのできる情報処理装置及び情報処理方法を提供することを目的の1つとする。   Some aspects of the present invention have been made in view of the above-described problems, and an object of the present invention is to provide an information processing apparatus and an information processing method capable of performing position estimation by real-time processing with limited resources. I will.

本発明の所定の態様に係る情報処理装置は、一定のレートで画像フレームのデータ入力を受ける入力処理、入力された画像フレームに対して、複数の特徴点を並列処理により検出する検出処理、及び前記複数の特徴点の特徴をそれぞれ記述する複数の記述子を並列処理により生成する記述処理を、クロック単位での制御により一定速度で実行可能な第1の計算処理モジュールと、前記第1の計算処理モジュールで検出及び記述された各画像フレームの前記複数の特徴点に対して、画像フレーム間で対応関係を求める処理、及び前記対応関係に基づいて位置推定を行う位置推定処理を実行可能な第2の計算処理モジュールとを備える。   An information processing apparatus according to a predetermined aspect of the present invention includes an input process for receiving image frame data input at a constant rate, a detection process for detecting a plurality of feature points by parallel processing for the input image frame, and A first calculation processing module capable of executing description processing for generating a plurality of descriptors respectively describing features of the plurality of feature points by parallel processing at a constant speed by control in units of clocks; and the first calculation A process for obtaining correspondence between image frames for the plurality of feature points of each image frame detected and described by a processing module, and a position estimation process for performing position estimation based on the correspondence 2 calculation processing modules.

本発明の所定の態様に係る情報処理方法は、一定のレートで画像フレームのデータ入力を受ける入力処理、入力された画像フレームに対して、複数の特徴点を並列処理により検出する検出処理、及び前記複数の特徴点の特徴をそれぞれ記述する複数の記述子を並列処理により生成する記述処理を、クロック単位での制御により一定速度で実行可能な第1の計算処理モジュールに実行させると共に、出及び記述された各画像フレームの特徴点に対して、画像フレーム間で対応関係を求める処理、及び前記対応関係に基づいて位置推定を行う位置推定処理を実行可能な第2の計算処理モジュールに実行させる。   An information processing method according to a predetermined aspect of the present invention includes an input process of receiving image frame data input at a constant rate, a detection process of detecting a plurality of feature points by parallel processing for the input image frame, and A description process for generating a plurality of descriptors respectively describing features of the plurality of feature points by parallel processing is executed by a first calculation processing module that can be executed at a constant speed by control in units of clocks. For a feature point of each described image frame, a second calculation processing module capable of executing a process for obtaining a correspondence between image frames and a position estimation process for performing position estimation based on the correspondence are executed. .

なお、本発明において、「部」や「手段」、「装置」、「システム」とは、単に物理的手段を意味するものではなく、その「部」や「手段」、「装置」、「システム」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や「手段」、「装置」、「システム」が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や「手段」、「装置」、「システム」の機能が1つの物理的手段や装置により実現されても良い。   In the present invention, “part”, “means”, “apparatus”, and “system” do not simply mean physical means, but “part”, “means”, “apparatus”, “system”. This includes the case where the functions possessed by "are realized by software. Further, even if the functions of one “unit”, “means”, “apparatus”, and “system” are realized by two or more physical means or devices, two or more “parts” or “means”, The functions of “device” and “system” may be realized by a single physical means or device.

本発明の実施形態に係る情報処理装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the information processing apparatus which concerns on embodiment of this invention. 特徴点検出処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of a feature point detection process. 特徴点検出処理及び記述子生成処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of a feature point detection process and a descriptor production | generation process.

以下に本発明の実施形態を説明する。以下の説明及び参照する図面の記載において、同一又は類似の構成には、それぞれ同一又は類似の符号が付されている。   Embodiments of the present invention will be described below. In the following description and the description of the drawings to be referred to, the same or similar components are denoted by the same or similar reference numerals.

本実施形態では、単眼カメラを用いた自己位置推定と全自動飛行動作を、地上機を必要としないオンボード処理で実現する、手のひらサイズの飛行ロボットである情報処理装置について説明する。なお、情報処理装置の実現方法は、本実施形態に係る手のひらサイズの飛行ロボットに限られるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。本実施形態はあらゆる点で単なる例示にすぎず、具体的構成やサイズなどについて限定的に解釈されるものではない。   In the present embodiment, an information processing apparatus that is a palm-sized flying robot that realizes self-position estimation and fully automatic flight operation using a monocular camera by on-board processing that does not require a ground plane will be described. Note that the information processing apparatus implementation method is not limited to the palm-sized flying robot according to the present embodiment, and can be implemented in various other forms without departing from the gist of the present invention. The present embodiment is merely an example in all respects, and the specific configuration and size are not limitedly interpreted.

(1 機能構成の概要)
本実施形態にかかる情報処理装置では、このようなオンボード処理を実現するために、大きく2つの工夫をすることができる。1つ目は、FPGA(Field−Programmable Gate Array)とMCU(Micro−Control Unit)とを組合せて用いることにより、小型ながら強力な情報処理性能を持った電子回路を実現することである。2つ目は、自機の制御とミッションの遂行という2つの要求仕様をリソースの限られた手のひらサイズの飛行ロボットである情報処理装置上で実現するために、信号処理部分を中心に並列化及びカスケード化することにより、モジュール同士のメモリ転送のコストなどを極力小さく抑えた、バスレベルからソフトウェアを設計している点である。
(1 Outline of functional configuration)
The information processing apparatus according to the present embodiment can be largely devised in order to realize such on-board processing. The first is to realize a small electronic circuit having powerful information processing performance by using a combination of a Field-Programmable Gate Array (FPGA) and a Micro-Control Unit (MCU). Secondly, in order to realize the two required specifications of the control of the aircraft and the execution of the mission on the information processing device which is a palm-sized flying robot with limited resources, the signal processing part is parallelized and By cascading, the software is designed from the bus level, minimizing the cost of memory transfer between modules.

図1に、本実施形態に係る飛行ロボットである情報処理装置1の機能構成の概要を示す機能ブロック図を示す。図1における情報処理装置1では、オンボード自己位置推定機能と、目標位置へのトラッキング機能とが実現されるものとする。図1に示すように、本実施形態に係る情報処理装置1は、イメージセンサ10と、FPGA20と、MCU30と、慣性計測装置(以下、IMUとも呼ぶ。)40と、モータ50とを含む。   FIG. 1 is a functional block diagram showing an outline of a functional configuration of an information processing apparatus 1 that is a flying robot according to the present embodiment. In the information processing apparatus 1 in FIG. 1, an on-board self-position estimation function and a tracking function to a target position are realized. As illustrated in FIG. 1, the information processing apparatus 1 according to the present embodiment includes an image sensor 10, an FPGA 20, an MCU 30, an inertial measurement device (hereinafter also referred to as an IMU) 40, and a motor 50.

イメージセンサ10は、単眼カメラとして機能するセンサであり、一定のレートで撮像した画像フレームを出力する。イメージセンサ10を実現可能なスペックは種々考えることができるが、ここでは、画像フレームはサイズが160pixel×120pixelのカラーYUV422フォーマット、画像フレームの更新速度を30fps(frames per second)、動作周波数25MHzのものを用いることができる。例えば、CMOSカメラを用いることができる。   The image sensor 10 is a sensor that functions as a monocular camera, and outputs image frames captured at a constant rate. Various specs that can realize the image sensor 10 can be considered. Here, the image frame has a color YUV422 format with a size of 160 pixels × 120 pixels, an image frame update rate of 30 fps (frames per second), and an operating frequency of 25 MHz. Can be used. For example, a CMOS camera can be used.

IMU40には、例えば3軸加速度センサ、3軸ジャイロセンサ、3軸コンパスセンサ(磁気センサ)を含むことができ、これらのセンサで検出された値を用いて、情報処理装置1の機体のロール、ピッチ、ヨー角度を計算すること(センサフュージョン)を可能とする。IMU40に含まれる各種センサには種々のセンサを用いることが考えられるが、例えば、3軸加速度センサには、Kionix社のKXRB5−2050を、3軸ジャイロセンサにはSTMicroelectronics社のLPR4150ALとLY3100ALHの組合せを、3軸コンパスセンサにはHoneyWell社のHMC5883Lを、それぞれ用いることができる。   The IMU 40 can include, for example, a three-axis acceleration sensor, a three-axis gyro sensor, and a three-axis compass sensor (magnetic sensor), and using the values detected by these sensors, It is possible to calculate the pitch and yaw angle (sensor fusion). Various sensors may be used for various sensors included in the IMU 40. For example, a combination of Kionix KXRB5-2050 for a three-axis acceleration sensor and a combination of LPR4150AL and LY3100ALH for a three-axis gyro sensor by STMicroelectronics HMC5883L manufactured by Honeywell can be used for the three-axis compass sensor.

モータ50は、飛行ロボットである情報処理装置1を飛行させるための図示しないプロペラを回転させるためのものであり、例えば情報処理装置1が4つのプロペラを有するクアッドコプタである場合には、情報処理装置1は4つのモータを有する。モータには大きく分けてブラシ型とブラシレス型とがあり、モータ50にはいずれを用いることもできるが、ここでは、ギアを使った減速機構を用いずにKV値(電圧あたりの回転速度)の比較的小さなブラシレスモータを用いる。モータ50として用いることのできるブラシレスモータは種々考えられるが、例えば、hexTronik社製のブラシレスモータHXM2000をモータ50として用い、図示しない4インチのプロペラを直接駆動することが考えられる。   The motor 50 is for rotating a propeller (not shown) for flying the information processing apparatus 1 which is a flying robot. For example, when the information processing apparatus 1 is a quadcopter having four propellers, the information processing apparatus 1 has four motors. There are roughly two types of motors, brush type and brushless type, and either can be used for the motor 50, but here the KV value (rotation speed per voltage) is not used without using a gear reduction mechanism. Use a relatively small brushless motor. Various brushless motors that can be used as the motor 50 are conceivable. For example, it is conceivable that a brushless motor HXM2000 manufactured by hexTronik is used as the motor 50 and a 4-inch propeller (not shown) is directly driven.

情報処理装置1に組まれる各構成のうち、FPGA20とMCU30とが、能動的に計算処理を行う計算モジュールである。なお、FPGA20とMCU30とは、物理的に異なる処理チップ(プロセッサ)として実現することもできるし、物理的に1つの処理チップ上に実現することもできる。   Among the components assembled in the information processing apparatus 1, the FPGA 20 and the MCU 30 are calculation modules that actively perform calculation processing. Note that the FPGA 20 and the MCU 30 can be realized as physically different processing chips (processors), or can be realized physically on one processing chip.

ここで、イメージセンサ10から入力される画像フレームに対する処理を行う場合、画像フレームをDDRSDRAM等のメモリに一時保存した上で、当該画像フレームに対して、複数の特徴点を検出する特徴点検出処理23や各特徴点の記述子を生成する記述子生成処理25(それぞれ後述)等を含む、必要な計算処理の大半をMCU30で行うことも考えられる。しかしながら、画像フレームをメモリに記憶しようとすると、カメラ信号の同期を待つ処理などのために遅延が発生する。また、大半の処理を単一のプロセッサであるMCU30上で実現しようとすることも、演算時間の遅延につながる。このような処理時間の遅延はリアルタイムで動作する必要のある飛行ロボットの実現において致命的である。   Here, when performing processing on an image frame input from the image sensor 10, a feature point detection process for detecting a plurality of feature points for the image frame after temporarily storing the image frame in a memory such as a DDR SDRAM. It is also conceivable that the MCU 30 performs most of the necessary calculation processing including the descriptor generation processing 25 (each described later) for generating the descriptors 23 and descriptors of each feature point. However, when trying to store the image frame in the memory, a delay occurs due to processing for waiting for synchronization of the camera signal. In addition, attempting to implement most of the processing on the MCU 30 that is a single processor also leads to a delay in the computation time. Such processing time delay is fatal in realizing a flying robot that needs to operate in real time.

そこで本実施形態に係る情報処理装置1では、DDRSDRAMへの画像フレームの保存処理を行わず、また、FPGA20上で特徴点検出処理23及び記述子生成処理25を行う。   Therefore, the information processing apparatus 1 according to the present embodiment does not perform image frame storage processing in the DDR SDRAM, and performs feature point detection processing 23 and descriptor generation processing 25 on the FPGA 20.

(2 FPGA20及びMCU30における処理)
(2.1 概要)
以下、FPGA20及びMCU30における処理の概要を説明する。イメージセンサ10からの画像フレームはFPGA20の入力処理21により一定のレート(ここでは30fps)でストリーム入力される。FPGA20は入力される各画像フレームに対して、複数の特徴点を検出する特徴点検出処理23、及び各特徴点の記述子を生成する記述子生成処理25を並列的に行う。ここで、本実施形態においては、特徴点検出処理23にはFASTアルゴリズムが用いられ、特徴点の記述子(以下、BRIEF記述子とも呼ぶ。)の生成にはBRIEFアルゴリズムが用いられる。本実施形態において、BRIEF記述子は256byteである。
(2 Processing in FPGA 20 and MCU 30)
(2.1 Overview)
Hereinafter, an outline of processing in the FPGA 20 and the MCU 30 will be described. The image frames from the image sensor 10 are stream-input at a constant rate (here, 30 fps) by the input processing 21 of the FPGA 20. The FPGA 20 performs in parallel a feature point detection process 23 for detecting a plurality of feature points and a descriptor generation process 25 for generating a descriptor of each feature point for each input image frame. In this embodiment, the FAST algorithm is used for the feature point detection process 23, and the BRIEF algorithm is used for generating a feature point descriptor (hereinafter also referred to as a BRIEF descriptor). In the present embodiment, the BRIEF descriptor is 256 bytes.

次に、FPGA20は、検出した特徴点の2次元イメージ座標上における座標と、特徴点の記述子とが含まれる特徴点情報を出力処理27によりMCU30が内蔵するSRAMへとDMA(Direct Memory Access)転送する。このとき、SRAM上にはリングバッファとして8Kbyte確保され、出力処理27は、特徴点検出処理23により特徴点が見つかったと判定され次第、FPGA20によりすぐに行われる。FPGA20が出力処理27により出力する特徴点情報にはフレーム番号が含まれており、その特徴点が何枚目のフレームであるかをMCU30が検出することができるようになっている。特徴点検出処理23及び記述子生成処理25の1フレーム分の処理が終わると、出力処理27は全ての特徴点処理が終わった旨をMCU30へと通知する。   Next, the FPGA 20 outputs the feature point information including the coordinates of the detected feature point on the two-dimensional image coordinates and the descriptor of the feature point to the SRAM built in the MCU 30 by the output process 27 (DMA (Direct Memory Access)). Forward. At this time, 8 Kbytes are secured as a ring buffer on the SRAM, and the output process 27 is immediately performed by the FPGA 20 as soon as it is determined by the feature point detection process 23 that a feature point has been found. The feature point information output from the FPGA 20 by the output process 27 includes a frame number, and the MCU 30 can detect the frame number of the feature point. When the process for one frame of the feature point detection process 23 and the descriptor generation process 25 is completed, the output process 27 notifies the MCU 30 that all the feature point processes have been completed.

MCU30のプロセスは、大きく分けて2つある。1つ目はタイマ割り込みによって周期的に呼び出される関数群である。ここではこのような処理をコントロールプロセスと呼ぶ。コントロールプロセスにおいてMCU30は、加速度センサ、ジャイロセンサ、コンパスセンサを含むIMU40から値を取得し、センサフュージョンによって姿勢角度を得るセンサフュージョン処理31、及び、現在位置と目標位置とから計算された目標角度についてPID(Proportional Integral Derivative Controller)制御を行う姿勢制御処理33がこれに含まれる。   There are roughly two processes of the MCU 30. The first is a group of functions that are called periodically by a timer interrupt. Here, such processing is called a control process. In the control process, the MCU 30 acquires values from the IMU 40 including an acceleration sensor, a gyro sensor, and a compass sensor, and obtains an attitude angle by sensor fusion, and a target angle calculated from the current position and the target position. This includes attitude control processing 33 for performing PID (Proportional Integral Derivative Controller) control.

2つ目は、タイマ割り込みから抜けた状態の空き時間に実行される関数群であり、FPGA20から転送された特徴点とその記述子とを記録する特徴点管理処理37、過去の特徴点との対応関係を取る特徴点対応付け処理35、当該対応関係及びMCU30からの値に基づいて自己位置推定を行うバンドル調整処理39が含まれる。   The second is a group of functions that are executed in the idle time after the timer interrupt, and the feature point management process 37 that records the feature points transferred from the FPGA 20 and their descriptors, and the past feature points. A feature point associating process 35 that takes a correspondence relationship, and a bundle adjustment process 39 that performs self-position estimation based on the correspondence relationship and values from the MCU 30 are included.

(2.2 特徴点検出処理23及び記述子生成処理25)
以下、本実施形態におけるFPGA20が行う特徴点検出処理23及び記述子生成処理25について説明する。本実施形態における特徴点検出処理23及び記述子生成処理25を、ここでは纏めて「CSFB(Concurrently Streamed FAST and BRIEF)と呼ぶ。CSFBの特徴としては、以下4点を挙げることができる。
1.カメラの奥行方向や回転運動などもトラッキングできる。
2.リアルタイムで実行可能である(例えば、30fps以上)。
3.画像フレームの生データを保存するための外部メモリを必要としない。
4.掛け算、割り算処理を行わないため、FPGA20上にDSP(Digital Signal Processor)リソースを必要としない。
(2.2 Feature Point Detection Process 23 and Descriptor Generation Process 25)
Hereinafter, the feature point detection process 23 and the descriptor generation process 25 performed by the FPGA 20 in the present embodiment will be described. The feature point detection processing 23 and the descriptor generation processing 25 in this embodiment are collectively referred to herein as “CSFB (Concurrently Streamed FAST and BREF). The features of CSFB include the following four points.
1. The camera's depth direction and rotational movement can also be tracked.
2. It can be executed in real time (for example, 30 fps or more).
3. No external memory is required to store raw image frame data.
4). Since no multiplication or division processing is performed, no DSP (Digital Signal Processor) resource is required on the FPGA 20.

以下、FPGA20上で実行する処理について説明する。FPGA20では、各プロセスはそれぞれに与えられたクロックに従って、互いに独立して動作しており、処理を並列化することによって、信号効率を大幅に向上させることが可能である。   Hereinafter, a process executed on the FPGA 20 will be described. In the FPGA 20, each process operates independently of each other according to a given clock, and signal efficiency can be greatly improved by parallelizing the processes.

前述のとおり、本実施形態に係るイメージセンサ10はYUV422フォーマット、160×120ピクセルで、30fpsのフレームレートで画像フレームを得ることができ、1ピクセル辺り16ビット、2クロックが割当てられている。FPGA20上ではFASTアルゴリズム(特徴点検出処理23)とBRIEFアルゴリズム(記述子生成処理25)とが同時に実行される。   As described above, the image sensor 10 according to the present embodiment has a YUV422 format, 160 × 120 pixels, can obtain an image frame at a frame rate of 30 fps, and is assigned 16 bits per pixel and 2 clocks. On the FPGA 20, the FAST algorithm (feature point detection processing 23) and the BREF algorithm (descriptor generation processing 25) are executed simultaneously.

まず、FASTアルゴリズム(特徴点検出処理23)について、図2を参照しながら説明する。FASTアルゴリズムによる特徴点の検出方法は、対象ピクセル(Target Point。図2中「C」で表現されている。)の周囲16ピクセル(Fast Scan Point。図2中「F」で表現されている。)に対して、中心にある当該対象ピクセルとの明暗比較を行い、閾値以上明るいピクセル/暗いピクセルが周方向に連続している長さが予め定められた数(ここでは10ピクセルとする。)以上に達している場合に、当該対象ピクセルが特徴点として検出される。   First, the FAST algorithm (feature point detection processing 23) will be described with reference to FIG. The feature point detection method using the FAST algorithm is represented by 16 pixels (Fast Scan Point, “F” in FIG. 2) around the target pixel (Target Point, expressed by “C” in FIG. 2). ) Is compared with the target pixel at the center, and a predetermined number of pixels (here, 10 pixels) in which the number of pixels brighter than the threshold / dark pixels continuous in the circumferential direction is determined in advance. When the above is reached, the target pixel is detected as a feature point.

新しいピクセルの輝度情報は2クロックに1回のペースで8ビットで送られ(図2中Newdata[7:0])、8×8×8bitsの大きさのバッファIbuf(l)[j](0≦l≦7、0≦j≦7)に保存される。また、8個のブロックRAM(BRAM(l)[m]、0≦l≦7、3≦m≦hpix−3)は、新しいピクセルデータの書込みと、過去のデータの読み出しとを行うが、これはIbufにターゲットポイント周辺のピクセル情報を供給するために用いられる。その8個のブロックRAM(BRAM)は、水平同期信号(HSYNC)の立ち上がりエッジのカウントに応じて、データの書き込みを行うか、データの読み出しを行うかの役割が変わる。
以上のプロセスを式で表現すると、以下のようになる。
The brightness information of the new pixel is sent at a rate of 8 bits once every two clocks (Newdata [7: 0] in FIG. 2), and the buffer Ibuf (l) [j] (0) having a size of 8 × 8 × 8 bits. ≦ l ≦ 7, 0 ≦ j ≦ 7). In addition, eight block RAMs (BRAM (l) [m], 0 ≦ l ≦ 7, 3 ≦ m ≦ hpix-3) perform writing of new pixel data and reading of past data. Is used to supply Ibuf with pixel information around the target point. The eight block RAMs (BRAMs) change the role of data writing or data reading in accordance with the rising edge count of the horizontal synchronization signal (HSYNC).
The above process can be expressed as an expression as follows.

Figure 0006441586
Figure 0006441586

Figure 0006441586
Figure 0006441586

Figure 0006441586
Figure 0006441586

Figure 0006441586
ここで、「!l」はlではないことを意味し、「%8」は8で割った剰余を意味する。
Figure 0006441586
Here, “! L” means not l, and “% 8” means the remainder divided by 8.

このような、対象ピクセルが特徴点であるか否かを判定する処理を、図3に示すように、当該対象ピクセルの周囲である各Fast scan pointに対して行う。Fast scan pointが16ピクセルある場合には、評価パターンは計32個ある(16ピクセルのそれぞれを開始点として、対象ピクセルよりも閾値以上明るいピクセルが10個連続するパターン、対象ピクセルよりも閾値以上暗いピクセルが10個連続するパターン。図3中fbp[i]及びfbn[i](0≦i≦15))。   Such processing for determining whether or not the target pixel is a feature point is performed on each Fast scan point around the target pixel, as shown in FIG. When the Fast scan point is 16 pixels, there are a total of 32 evaluation patterns (a pattern in which 10 pixels that are brighter than the target pixel are consecutive, starting from each of the 16 pixels, and darker than the target pixel. A pattern of ten consecutive pixels, which is fbp [i] and fbn [i] (0 ≦ i ≦ 15) in FIG.

このような特徴点判定処理は、オリジナルのFASTアルゴリズムでは、特徴点の探索順を木構造を用いた機械学習により高速化している。しかしながら本実施形態においては、このような評価(特徴点であるか否かを評価するための演算)はFPGA20が、並列処理により全パターンについて評価する。これらの各パターンで特徴と判定された場合には評価値として正の値が与えられ、この前パターンの合計値が、当該対象ピクセルの特徴点としての評価値fscore[cy][cx]となる。
以上のプロセスを式で表現すると、以下のようになる。
Such feature point determination processing is speeded up by machine learning using a tree structure in the original FAST algorithm. However, in the present embodiment, the FPGA 20 evaluates all patterns by parallel processing for such evaluation (calculation for evaluating whether or not it is a feature point). When it is determined that each of the patterns is a feature, a positive value is given as an evaluation value, and the total value of the previous pattern becomes an evaluation value fscore [cy] [cx] as a feature point of the target pixel. .
The above process can be expressed as an expression as follows.

Figure 0006441586
Figure 0006441586

Figure 0006441586
Figure 0006441586

Figure 0006441586
Figure 0006441586

Figure 0006441586
Figure 0006441586

Figure 0006441586
Figure 0006441586

検出された特徴点については、前述のとおり、BRIEFアルゴリズムにより記述子生成処理25を行う。BRIEFアルゴリズムでは、ターゲットとなる対象ピクセルの周囲の点をランダムに2点抽出し、その明暗比較を行う処理を繰り返し、その結果を示すバイナリ列で特徴点を記述する記述子(BRIEF記述子。図3中desc[i])とするものである。ここでは、抽出処理は1つの対象ピクセルに対して256回行うことにより、その結果を示す64byteの記述子が生成される。当該処理は、FPGA20により並列に実行することができる。   As described above, the descriptor generation process 25 is performed on the detected feature point by the BREF algorithm. In the BRIEF algorithm, a point that randomly extracts two points around a target pixel of interest, repeats the process of comparing the brightness and darkness, and describes a feature point using a binary string indicating the result (BRIEF descriptor. FIG. 3 is desc [i]). Here, the extraction process is performed 256 times for one target pixel, thereby generating a 64-byte descriptor indicating the result. The processing can be executed in parallel by the FPGA 20.

なお、本実施形態においてFPGA20は特徴点の記述子生成処理25を特徴点検出処理23と同時に行うため、特徴点として検出された時点でBRIEF記述子も同時に得ることが可能である。これにより、外部メモリを使用することなく、FPGA20はストリームデータである画像フレームから特徴点の検出と記述処理とを行うことが可能となっている。
以上のプロセスを式で表現すると、以下のようになる。
In this embodiment, the FPGA 20 performs the feature point descriptor generation process 25 at the same time as the feature point detection process 23, so that it is possible to obtain a BREF descriptor at the same time as the feature point is detected. As a result, the FPGA 20 can perform feature point detection and description processing from an image frame as stream data without using an external memory.
The above process can be expressed as an expression as follows.

Figure 0006441586
Figure 0006441586

Figure 0006441586
Figure 0006441586

ここで、k0〜k3の組合せは、デスクトップコンピュータ上でランダムに選ばれた256個の組合せから、正解データと比較して最も性能の良い物を選んだ上で、当該組合せをFPGA20上に初期値としてハードウェアコーティングすることができる。 Here, the combination of k 0 to k 3 is selected from 256 combinations randomly selected on the desktop computer, and the combination with the best performance compared with the correct answer data is selected. Hardware coating can be performed as an initial value.

FPGA20は、256ビットとして得られたBRIEF記述子(BRIEFバイナリ列)は、特徴点検出処理23(FASTアルゴリズム)によって特徴点として判定される場合、すなわちfscore[cy][cx]が0でない場合に、出力処理27(データ転送プロセス)としてMCU30へのデータ転送を行う。出力処理27に送られる特徴点情報には、2バイトの特徴点座標、32バイトのBRIEF記述子、1バイトのインデックスとfscoreを含むことができる。   In the FPGA 20, when the BRIEF descriptor (BRIEF binary string) obtained as 256 bits is determined as a feature point by the feature point detection processing 23 (FAST algorithm), that is, when fscore [cy] [cx] is not 0. As an output process 27 (data transfer process), data transfer to the MCU 30 is performed. The feature point information sent to the output process 27 can include a 2-byte feature point coordinate, a 32-byte BREF descriptor, a 1-byte index, and fscore.

特徴点情報は、前述のとおり、出力処理27によりMCU30のDMA転送機能を用いてMCU30へと転送される。これにより、MCU30はCPUリソースを全く使用することなく、特徴点の座標や記述子の情報を得ることが可能である。   The feature point information is transferred to the MCU 30 by the output processing 27 using the DMA transfer function of the MCU 30 as described above. Thereby, the MCU 30 can obtain the coordinates of the feature points and the information of the descriptor without using any CPU resources.

なお、上述の手法では、FPGA20のデータ転送は、MCU30のデータ書き込み指令、及びデータ読み出し指令とは無関係に実行されるため、垂直同期信号と同期するための待ち合わせ時間をゼロとすることが可能である。   In the above method, the data transfer of the FPGA 20 is executed regardless of the data write command and the data read command of the MCU 30, so that the waiting time for synchronizing with the vertical synchronization signal can be set to zero. is there.

(2.3 MCU30における処理)
MCU30は、先述の通りFPGA20から特徴点情報を受け取る。その中には、画像平面における特徴点の座標、及びBRIEF記述子が含まれる。また、タイマ割り込みによって周期的に呼び出されるコントロールプロセスの中において、MCU30はセンサフュージョン処理31によって回転姿勢を得る。また、MCUはFPGA20から得られた特徴点を管理し(特徴点管理処理37)、対応関係の記述を行った後(特徴点対応付け処理35)、自己位置推定を行う(バンドル調整処理39)。
(2.3 Processing in MCU 30)
The MCU 30 receives the feature point information from the FPGA 20 as described above. Among these are the coordinates of feature points in the image plane and the BRIEF descriptor. Also, in the control process that is periodically called by the timer interrupt, the MCU 30 obtains the rotation posture by the sensor fusion process 31. Further, the MCU manages the feature points obtained from the FPGA 20 (feature point management processing 37), describes the correspondence (feature point association processing 35), and performs self-position estimation (bundle adjustment processing 39). .

センサフュージョン処理31としては、コンプリメンタリフィルタ、拡張カルマンフィルタ、クォータニオンベースの勾配法を用いるフィルダ等があり、いずれを用いることも考えられる。本実施形態では特に、Madgwickらによって提案されたクォータニオンベースの勾配法を用いることが考えられる。   Examples of the sensor fusion process 31 include a complementary filter, an extended Kalman filter, a filter using a quaternion-based gradient method, and any of these may be used. In this embodiment, it is possible to use the quaternion-based gradient method proposed by Madgwick et al.

特徴点管理処理37について説明する。各特徴点は常に画像フレームに登場するものもあれば、消えてしまう(検出できなくなる)ものもある。特に、飛行ロボット上に実装するカメラ(イメージセンサ10)から撮影する画像フレームで得られる特徴点には、飛行により生じる振動により明滅を繰り返すものも多い。そこで、一時的に消えてしまった特徴点も、のちの画像フレームで再び登場した場合には、それを認識する必要が生じる。   The feature point management process 37 will be described. Some feature points always appear in the image frame, while others disappear (cannot be detected). In particular, many feature points obtained from an image frame photographed from a camera (image sensor 10) mounted on a flying robot often repeat blinking due to vibration caused by flight. Therefore, if a feature point that has temporarily disappeared appears again in a later image frame, it must be recognized.

しかしながら、消えてしまった特徴点をいつまでも記憶すると、新しく登場する特徴点が随時加わることによりメモリ使用量が単調増加することとなるため、限られたメモリリソースで実装することができない。そこで、本実施形態では、現時点までに管理している特徴点と、最新の画像フレームから得られた特徴点との対応関係を取った上で(特徴点対応付け処理35)、その対応付けに失敗したものに対してはペナルティを与え、ある一定のスコアに達した特徴点についてはメモリ上から削除する。その上で、記憶している特徴点のデータ量がメモリ上限に達した場合には、新しい特徴点の追加を行わないことで、データがあふれることを防ぐ。   However, if feature points that have disappeared are stored indefinitely, memory features increase monotonically as new feature points appear as they are added, and thus cannot be implemented with limited memory resources. Therefore, in the present embodiment, the correspondence between the feature points managed so far and the feature points obtained from the latest image frame is obtained (feature point association processing 35), and the association is performed. Penalties are given to those that fail, and feature points that reach a certain score are deleted from the memory. In addition, when the data amount of the stored feature points reaches the upper limit of the memory, data is prevented from overflowing by not adding new feature points.

各特徴点の初期化は、同じ特徴点が写った複数のフレームを用いて行う。2フレームを用いてカメラの回転、並進を求める方法として8点法や5点法と呼ばれるものがあるが、そういった計算をMCU30上でやるには非常に計算コストが大きくなるため、本実施形態では異なる手法を用いる。本実施形態では、地面形状が平面であるという仮定を用いた上で、特徴点座標についてのバンドル調整処理39を行うことにより、徐々に特徴点の実際の3次元座標に近づける処理により、特徴点の初期化を行う。   Initialization of each feature point is performed using a plurality of frames in which the same feature point is captured. There are methods called the 8-point method and the 5-point method for obtaining the rotation and translation of the camera using two frames. However, in order to perform such a calculation on the MCU 30, the calculation cost becomes very high. Use a different approach. In the present embodiment, by using the assumption that the ground shape is a plane and performing bundle adjustment processing 39 on the feature point coordinates, the feature points are gradually brought closer to the actual three-dimensional coordinates of the feature points. Initialize the.

地上形状が平面であるという仮定を入れた場合、現在の自己位置が既知の元で特徴点座標を求めることが可能となる。これを初期値としてバンドル調整を数フレームにわたって行うことで、実際の特徴点の3次元座標を計算することが可能となる。   When it is assumed that the ground shape is a plane, the feature point coordinates can be obtained based on the known current position. By performing bundle adjustment over several frames using this as an initial value, it is possible to calculate the three-dimensional coordinates of actual feature points.

最後に、自己位置の初期化と推定手法について説明する。自己位置推定の開始地点として、下向きカメラを使って平面形状の地面の上のある高さを飛行している状態を想定する。この初期高さについては、超音波センサなどを用いて予め画像座標系のスケールと、実座標のスケールとを合わせることができる。これを用いて平面上に映る特徴点座標を決定する。その後のフレームについては、初期化を終えた特徴点を用いて自己位置についてのバンドル調整式から更新する。なお、新しく登場した特徴点については自己位置の推定には寄与しない。   Finally, the self-position initialization and estimation method will be described. As a starting point for self-position estimation, a state is assumed in which a down-facing camera is used to fly a certain height above a planar ground surface. About this initial height, the scale of an image coordinate system and the scale of an actual coordinate can be match | combined previously using an ultrasonic sensor etc. Using this, the feature point coordinates reflected on the plane are determined. Subsequent frames are updated from the bundle adjustment formula for the self-position using the feature points that have been initialized. Note that new feature points do not contribute to the estimation of self-location.

(3 本実施形態に係る効果)
以上説明した本実施形態に係る飛行ロボットである情報処理装置1では、オンボード(限られたリソース)かつリアルタイムで自己位置推定を行って飛行することが可能となる。特に、情報処理装置1は、特徴点の検出及び記述処理をFPGA20で行っている。FPGA20はクロック単位での制御により、画像フレームの入力に合わせて一定速度で処理を実行可能、特徴点の検出や識別子生成に係る処理を並列的に実行することが可能、消費電力が低い、等の特徴を有するため、リアルタイムでの自己位置推定に顕著に貢献することができる。
(3 Effects of this embodiment)
The information processing apparatus 1 that is the flying robot according to the present embodiment described above can fly by performing self-position estimation in real time on board (limited resources). In particular, the information processing apparatus 1 performs feature point detection and description processing using the FPGA 20. The FPGA 20 can execute processing at a constant speed according to the input of an image frame by controlling in units of clocks, can execute processing related to feature point detection and identifier generation in parallel, has low power consumption, etc. Therefore, it can significantly contribute to self-position estimation in real time.

1 :情報処理装置
10 :イメージセンサ
20 :FPGA
21 :入力処理
23 :特徴点検出処理
25 :記述子生成処理
27 :出力処理
31 :センサフュージョン処理
33 :姿勢制御処理
35 :特徴点対応付け処理
37 :特徴点管理処理
39 :バンドル調整処理
50 :モータ
1: Information processing apparatus 10: Image sensor 20: FPGA
21: Input processing 23: Feature point detection processing 25: Descriptor generation processing 27: Output processing 31: Sensor fusion processing 33: Attitude control processing 35: Feature point association processing 37: Feature point management processing 39: Bundle adjustment processing 50: motor

Claims (7)

一定のレートで画像フレームのデータ入力を受ける入力処理、
入力された画像フレームに対して、特徴点であるか否かを評価するための演算を並列処理することにより複数の特徴点を検出する検出処理、及び
前記複数の特徴点の特徴をそれぞれ記述する複数の記述子を並列処理により生成する記述処理
を、クロック単位での制御により一定速度で実行可能な第1の計算処理モジュールと、
前記第1の計算処理モジュールで検出及び記述された各画像フレームの前記複数の特徴点に対して、画像フレーム間で対応関係を求める処理、及び
前記対応関係に基づいて位置推定を行う位置推定処理
を実行可能な第2の計算処理モジュールと
を備える情報処理装置。
Input processing that receives image frame data input at a constant rate,
A detection process for detecting a plurality of feature points by performing parallel processing of an operation for evaluating whether or not the input image frame is a feature point, and a feature of each of the plurality of feature points are described. A first calculation processing module capable of executing description processing for generating a plurality of descriptors by parallel processing at a constant speed by control in units of clocks;
A process for obtaining a correspondence between image frames for the plurality of feature points of each image frame detected and described by the first calculation processing module, and a position estimation process for estimating a position based on the correspondence An information processing apparatus comprising: a second calculation processing module capable of executing
前記第1の計算処理モジュールは、前記検出処理及び前記記述処理を同時に実行する、
請求項1記載の情報処理装置。
The first calculation processing module executes the detection processing and the description processing simultaneously.
The information processing apparatus according to claim 1.
前記第1の計算処理モジュールは、前記検出処理において、FASTアルゴリズムにより前記複数の特徴点を検出する、
請求項1又は請求項2記載の情報処理装置。
In the detection process, the first calculation processing module detects the plurality of feature points by a FAST algorithm.
The information processing apparatus according to claim 1 or 2.
前記第1の計算処理モジュールは、前記記述処理において、BRIEF(Binary Robust Independent Elementary Features)アルゴリズムにより、前記複数の特徴点の特徴を記述する前記複数の記述子を生成する、
請求項1乃至請求項3のいずれか1項記載の情報処理装置。
The first calculation processing module generates the plurality of descriptors describing features of the plurality of feature points by a BREF (Binary Robust Independent Elementary Features) algorithm in the description processing.
The information processing apparatus according to any one of claims 1 to 3.
前記第2の計算処理モジュールは、慣性計測装置からの入力と、前記対応関係とに基づいて位置推定を行う、
請求項1乃至請求項4のいずれか1項記載の情報処理装置。
The second calculation processing module performs position estimation based on the input from the inertial measurement device and the correspondence relationship.
The information processing apparatus according to any one of claims 1 to 4.
前記第1の計算処理モジュールと前記第2の計算処理モジュールとは同一のチップに実装される、
請求項1乃至請求項5のいずれか1項記載の情報処理装置。
The first calculation processing module and the second calculation processing module are mounted on the same chip.
The information processing apparatus according to any one of claims 1 to 5.
一定のレートで画像フレームのデータ入力を受ける入力処理、
入力された画像フレームに対して、特徴点であるか否かを評価するための演算を並列処理することにより複数の特徴点を検出する検出処理、及び
前記複数の特徴点の特徴をそれぞれ記述する複数の記述子を並列処理により生成する記述処理
を、クロック単位での制御により一定速度で実行可能な第1の計算処理モジュールに実行させると共に、
前記第1の計算処理モジュールで検出及び記述された各画像フレームの前記複数の特徴点に対して、画像フレーム間で対応関係を求める処理、及び
前記対応関係に基づいて位置推定を行う位置推定処理
を実行可能な第2の計算処理モジュールに実行させる、情報処理方法。
Input processing that receives image frame data input at a constant rate,
A detection process for detecting a plurality of feature points by performing parallel processing of an operation for evaluating whether or not the input image frame is a feature point, and a feature of each of the plurality of feature points are described. A description process for generating a plurality of descriptors by parallel processing is executed by the first calculation processing module that can be executed at a constant speed by control in clock units, and
A process for obtaining a correspondence between image frames for the plurality of feature points of each image frame detected and described by the first calculation processing module, and a position estimation process for estimating a position based on the correspondence An information processing method for causing a second calculation processing module capable of executing
JP2014091950A 2014-04-25 2014-04-25 Information processing apparatus and information processing method Active JP6441586B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014091950A JP6441586B2 (en) 2014-04-25 2014-04-25 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014091950A JP6441586B2 (en) 2014-04-25 2014-04-25 Information processing apparatus and information processing method

Publications (2)

Publication Number Publication Date
JP2015210677A JP2015210677A (en) 2015-11-24
JP6441586B2 true JP6441586B2 (en) 2018-12-19

Family

ID=54612807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014091950A Active JP6441586B2 (en) 2014-04-25 2014-04-25 Information processing apparatus and information processing method

Country Status (1)

Country Link
JP (1) JP6441586B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11763484B2 (en) 2020-04-30 2023-09-19 Toyota Jidosha Kabushiki Kaisha Location estimation system and location estimation method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017096548A1 (en) * 2015-12-09 2017-06-15 SZ DJI Technology Co., Ltd. Systems and methods for auto-return
CN106005411A (en) * 2016-07-14 2016-10-12 辽宁猎鹰航空科技有限公司 Intelligent warning system for unmanned aerial vehicle
CN106204660B (en) * 2016-07-26 2019-06-11 华中科技大学 A kind of Ground Target Tracking device based on characteristic matching
JP7091031B2 (en) 2017-07-27 2022-06-27 サムスン エレクトロニクス カンパニー リミテッド Imaging device
JP7047848B2 (en) 2017-10-20 2022-04-05 日本電気株式会社 Face 3D shape estimation device, face 3D shape estimation method, and face 3D shape estimation program
CN110928605B (en) * 2019-11-14 2023-05-02 天津大学 Beam adjustment method hardware accelerator based on Zynq FPGA
JP7283665B2 (en) * 2019-12-19 2023-05-30 株式会社豊田自動織機 Self-position estimation device, mobile object, self-position estimation method, and self-position estimation program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4800163B2 (en) * 2006-09-29 2011-10-26 株式会社トプコン Position measuring apparatus and method
JP2010181919A (en) * 2009-02-03 2010-08-19 Toyohashi Univ Of Technology Three-dimensional shape specifying device, three-dimensional shape specifying method, three-dimensional shape specifying program
JP5593884B2 (en) * 2010-07-02 2014-09-24 富士通株式会社 Feature point determination device, feature point determination method, and feature point determination program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11763484B2 (en) 2020-04-30 2023-09-19 Toyota Jidosha Kabushiki Kaisha Location estimation system and location estimation method

Also Published As

Publication number Publication date
JP2015210677A (en) 2015-11-24

Similar Documents

Publication Publication Date Title
JP6441586B2 (en) Information processing apparatus and information processing method
US11914370B2 (en) System and method for providing easy-to-use release and auto-positioning for drone applications
US11073389B2 (en) Hover control
Honegger et al. Real-time and low latency embedded computer vision hardware based on a combination of FPGA and mobile CPU
CN110494360A (en) For providing the autonomous system and method photographed and image
CN108235815B (en) Imaging control device, imaging system, moving object, imaging control method, and medium
US20200326709A1 (en) Method and device for controlling reset of gimbal, gimbal, and unmanned aerial vehicle
Quigley et al. The open vision computer: An integrated sensing and compute system for mobile robots
WO2022021027A1 (en) Target tracking method and apparatus, unmanned aerial vehicle, system, and readable storage medium
CN111623773B (en) Target positioning method and device based on fisheye vision and inertial measurement
WO2021147113A1 (en) Plane semantic category identification method and image data processing apparatus
WO2019127306A1 (en) Template-based image acquisition using a robot
Li et al. Monocular Snapshot‐based Sensing and Control of Hover, Takeoff, and Landing for a Low‐cost Quadrotor
WO2019144286A1 (en) Obstacle detection method, mobile platform, and computer readable storage medium
CN113038020B (en) System and method for time of day acquisition
US20210181769A1 (en) Movable platform control method, movable platform, terminal device, and system
CN116952229A (en) Unmanned aerial vehicle positioning method, device, system and storage medium
Chenini et al. Embedded real-time localization of UAV based on an hybrid device
KR102565444B1 (en) Method and apparatus for identifying object
WO2022021028A1 (en) Target detection method, device, unmanned aerial vehicle, and computer-readable storage medium
EP3867725A1 (en) Obstacle detection
US20210256732A1 (en) Image processing method and unmanned aerial vehicle
WO2018109847A1 (en) Control device, imaging device, mobile body, control method, and program
US10447992B1 (en) Image processing method and system
CN114119885A (en) Image feature point matching method, device and system and map construction method and system

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151028

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181015

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: 20181112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181122

R150 Certificate of patent or registration of utility model

Ref document number: 6441586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250