KR20210051707A - Apparatus for tracking feature point based on image for drone hovering and method thereof - Google Patents
Apparatus for tracking feature point based on image for drone hovering and method thereof Download PDFInfo
- Publication number
- KR20210051707A KR20210051707A KR1020190137314A KR20190137314A KR20210051707A KR 20210051707 A KR20210051707 A KR 20210051707A KR 1020190137314 A KR1020190137314 A KR 1020190137314A KR 20190137314 A KR20190137314 A KR 20190137314A KR 20210051707 A KR20210051707 A KR 20210051707A
- Authority
- KR
- South Korea
- Prior art keywords
- feature point
- image
- point tracking
- output
- unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 132
- 239000011159 matrix material Substances 0.000 claims abstract description 106
- 238000001514 detection method Methods 0.000 claims abstract description 73
- 239000000872 buffer Substances 0.000 claims abstract description 40
- 238000004364 calculation method Methods 0.000 claims abstract description 31
- 230000033001 locomotion Effects 0.000 claims description 101
- 239000013598 vector Substances 0.000 claims description 82
- 230000008569 process Effects 0.000 claims description 77
- 230000006870 function Effects 0.000 claims description 35
- 238000001914 filtration Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 6
- 238000003706 image smoothing Methods 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 230000007717 exclusion Effects 0.000 claims description 2
- 230000015556 catabolic process Effects 0.000 abstract description 3
- 238000006731 degradation reaction Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 17
- 238000013461 design Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000001629 suppression Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 235000019800 disodium phosphate Nutrition 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 239000010426 asphalt Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000005311 autocorrelation function Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64D—EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- B64D47/00—Equipment not otherwise provided for
- B64D47/08—Arrangements of cameras
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/04—Control of altitude or depth
- G05D1/042—Control of altitude or depth specially adapted for aircraft
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Aviation & Aerospace Engineering (AREA)
- Multimedia (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
Abstract
Description
본 발명은 드론 정지 비행을 위한 영상 기반 특징점 추적 장치 및 그 방법에 관한 것으로서, 특히 드론으로부터 획득된 연속된 복수의 영상을 근거로 복수의 특징점을 검출하고, 연속된 영상에 대해 검출된 특징점에 대한 추적을 수행하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치 및 그 방법에 관한 것이다.The present invention relates to an image-based feature point tracking apparatus and method for stationary flight of a drone, in particular, detecting a plurality of feature points based on a plurality of consecutive images acquired from a drone, and The present invention relates to an image-based feature point tracking apparatus and method for a drone stationary flight that performs tracking.
최근 드론은 군사용 외에 산업용, 학술용, 레저용 등 다양한 분야에서 활용되며 그 수요가 급증하고 있다.Recently, drones are used in various fields such as industrial, academic, leisure, etc. besides military use, and their demand is increasing rapidly.
상기 드론은 분야별로 목적에 따라 다양한 환경에 활용될 수 있는데, 드론을 실외에서 사용할 경우 위성 항법 장치(Global Positioning System: GPS)를 활용하여 정확한 호버링(hovering)이 가능하다.The drone can be used in various environments depending on the purpose of each field. When the drone is used outdoors, accurate hovering is possible by using a global positioning system (GPS).
하지만, 실내에서 사용할 경우, GPS 신호의 수신이 어렵고, 실내 구조물에 의한 장애물이 많아 안정적인 비행에 어려움이 존재한다.However, when used indoors, it is difficult to receive GPS signals, and there are many obstacles caused by indoor structures, so there is difficulty in stable flight.
따라서, 실내에서 드론을 제어할 경우, 여러 동작의 안정성과 실험자 및 기체의 안전을 위해 자체적인 정지 비행 기술이 필요하다.Therefore, when controlling a drone indoors, its own stationary flight technology is required for the stability of various operations and the safety of the experimenter and the aircraft.
본 발명의 목적은 드론으로부터 획득된 연속된 복수의 영상을 근거로 복수의 특징점을 검출하고, 연속된 영상에 대해 검출된 특징점에 대한 추적을 수행하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치 및 그 방법을 제공하는 데 있다.It is an object of the present invention to detect a plurality of feature points based on a plurality of consecutive images acquired from a drone, and an image-based feature point tracking device for stopping flight of a drone that performs tracking on the detected feature points for the continuous images, and the like. There is a way to provide
본 발명의 다른 목적은 특징점 검출과 특징점 추적 알고리즘에 공통으로 사용되는 연산 기능을 공유하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치 및 그 방법을 제공하는 데 있다.Another object of the present invention is to provide an image-based feature point tracking apparatus and method for a drone stationary flight that shares a common computation function for feature point detection and feature point tracking algorithms.
본 발명의 또 다른 목적은 모션 벡터 값을 구하는 과정에서 연산 특성을 고려한 효율적인 나눗셈기를 제공하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치 및 그 방법을 제공하는 데 있다.Another object of the present invention is to provide an image-based feature point tracking apparatus and method for a drone stationary flight that provides an efficient divider in consideration of computational characteristics in a process of obtaining a motion vector value.
본 발명의 실시예에 따른 드론 정지 비행을 위한 영상 기반 특징점 추적 장치는 드론으로부터 획득되는 연속된 복수의 이미지를 임시 저장하는 프레임 버퍼; 상기 프레임 버퍼를 포함하는 영상 기반 특징점 추적 장치의 동작 모드를 특징점 검출 모드 또는 특징점 추적 모드로 설정하는 제어부; 상기 프레임 버퍼로부터 제공되는 연속된 복수의 이미지 중에서 첫 번째 이미지를 출력하는 제 1 먹스; 상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지로부터 특징점 검출 과정과 특징점 추적 과정에서의 동일한 행렬의 원소를 계산하는 헤시안 행렬 연산부(Hessian-matrix calculation unit); 상기 첫 번째 이미지로부터 복수의 특징점을 검출하는 특징점 검출부; 상기 프레임 버퍼로부터 제공되는 연속된 복수의 이미지 중에서 현재 시점의 이미지를 출력하는 제 2 먹스; 및 상기 연속된 복수의 이미지에 포함된 이전 이미지 및 현재 이미지에 대해 특징점을 추적하여 모션 벡터를 산출하는 상기 특징점 추적부를 포함할 수 있다.An image-based feature point tracking apparatus for a still flight of a drone according to an embodiment of the present invention includes: a frame buffer temporarily storing a plurality of consecutive images acquired from a drone; A control unit for setting an operation mode of the image-based feature point tracking device including the frame buffer to a feature point detection mode or a feature point tracking mode; A first mux outputting a first image from among a plurality of consecutive images provided from the frame buffer; A Hessian-matrix calculation unit that calculates elements of the same matrix in a feature point detection process and a feature point tracking process from the first image output from the first mux or the interpolated first image output from the feature point tracking unit ; A feature point detector for detecting a plurality of feature points from the first image; A second mux outputting an image of a current viewpoint from among a plurality of consecutive images provided from the frame buffer; And the feature point tracking unit for calculating a motion vector by tracking feature points for a previous image and a current image included in the plurality of consecutive images.
본 발명의 실시예에 따른 드론 정지 비행을 위한 영상 기반 특징점 추적 방법은 프레임 버퍼에 의해, 드론으로부터 획득되는 연속된 복수의 이미지를 임시 저장하는 단계; 제어부에 의해, 상기 제어부를 포함하는 영상 기반 특징점 추적 장치의 동작 모드를 특징점 검출 모드로 설정하는 단계; 제 1 먹스에 의해, 상기 프레임 버퍼로부터 제공되는 연속된 복수의 이미지 중에서 첫 번째 이미지를 출력하는 단계; 헤시안 행렬 연산부에 의해, 상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지로부터 특징점 검출 과정과 특징점 추적 과정에서의 동일한 행렬의 원소를 계산하는 단계; 특징점 검출부에 의해, 상기 첫 번째 이미지로부터 복수의 특징점을 검출하는 단계; 상기 제어부에 의해, 상기 영상 기반 특징점 추적 장치의 동작 모드를 특징점 검출 모드에서 특징점 추적 모드로 변환하는 단계; 제 2 먹스에 의해, 상기 프레임 버퍼로부터 제공되는 연속된 복수의 이미지 중에서 현재 시점의 이미지를 출력하는 단계; 및 상기 특징점 추적부에 의해, 상기 연속된 복수의 이미지에 포함된 이전 이미지 및 현재 이미지에 대해 특징점을 추적하여 모션 벡터를 산출하는 단계를 포함할 수 있다.An image-based feature point tracking method for a still flight of a drone according to an embodiment of the present invention includes the steps of temporarily storing a plurality of consecutive images acquired from a drone by a frame buffer; Setting, by a control unit, an operation mode of the image-based feature point tracking device including the control unit as a feature point detection mode; Outputting, by a first mux, a first image from among a plurality of consecutive images provided from the frame buffer; Calculating, by a Hessian matrix operator, an element of the same matrix in a feature point detection process and a feature point tracking process from a first image output from the first mux or an interpolated first image output from a feature point tracking unit; Detecting, by a feature point detection unit, a plurality of feature points from the first image; Converting, by the control unit, an operation mode of the image-based feature point tracking device from a feature point detection mode to a feature point tracking mode; Outputting, by a second mux, an image of a current viewpoint from among a plurality of consecutive images provided from the frame buffer; And calculating, by the feature point tracking unit, a motion vector by tracking feature points for a previous image and a current image included in the continuous plurality of images.
본 발명의 실시예에 따른 드론 정지 비행을 위한 영상 기반 특징점 추적 장치는 미리 설정된 개수 단위의 연속된 복수의 이미지 중에서 첫 번째 이미지를 출력하는 제 1 먹스; 상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지로부터 특징점 검출 과정과 특징점 추적 과정에서의 동일한 행렬의 원소를 계산하는 헤시안 행렬 연산부; 상기 첫 번째 이미지로부터 복수의 특징점을 검출하는 특징점 검출부; 상기 연속된 복수의 이미지 중에서 현재 시점의 이미지를 출력하는 제 2 먹스; 및 상기 연속된 복수의 이미지에 포함된 이전 이미지 및 현재 이미지에 대해 특징점을 추적하여 모션 벡터를 산출하는 상기 특징점 추적부를 포함할 수 있다.An image-based feature point tracking apparatus for a stop flight of a drone according to an embodiment of the present invention includes: a first mux for outputting a first image among a plurality of consecutive images of a predetermined number unit; A Hessian matrix calculator for calculating elements of the same matrix in a feature point detection process and a feature point tracking process from the first image output from the first mux or the interpolated first image output from the feature point tracking unit; A feature point detector for detecting a plurality of feature points from the first image; A second mux for outputting an image of a current viewpoint from among the plurality of consecutive images; And the feature point tracking unit for calculating a motion vector by tracking feature points for a previous image and a current image included in the plurality of consecutive images.
본 발명은 드론으로부터 획득된 연속된 복수의 영상을 근거로 복수의 특징점을 검출하고, 연속된 영상에 대해 검출된 특징점에 대한 추적을 수행함으로써, 성능 저하가 없으면서도 간소화를 통해 복잡도를 줄일 수 있는 효과가 있다.The present invention detects a plurality of feature points based on a plurality of consecutive images acquired from a drone, and performs tracking of the detected feature points on the continuous images, thereby reducing complexity through simplification without degrading performance. It works.
또한, 본 발명은 특징점 검출과 특징점 추적 알고리즘에 공통으로 사용되는 연산 기능을 공유함으로써, 저전력 및 저면적으로도 우수한 추적 성능 지원이 가능할 수 있는 효과가 있다.In addition, the present invention has an effect that it is possible to support excellent tracking performance even in low power and low area by sharing a calculation function commonly used in the feature point detection and feature point tracking algorithm.
또한, 본 발명은 모션 벡터 값을 구하는 과정에서 연산 특성을 고려한 효율적인 나눗셈기를 제공함으로써, 기존의 나눗셈기 대신 연산량을 줄여 효율적인 시스템 운영이 가능한 효과가 있다.In addition, the present invention provides an efficient divider in consideration of computational characteristics in the process of obtaining a motion vector value, thereby reducing the amount of computation instead of the conventional divider, thereby enabling efficient system operation.
도 1 및 도 2는 본 발명의 실시예에 따른 드론 정지 비행을 위한 영상 기반 특징점 추적 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 PLK 알고리즘의 예를 나타낸 도이다.
도 4는 본 발명의 실시예에 따른 가우시안 필터의 구성을 나타낸 블록도이다.
도 5는 본 발명의 실시예에 따른 영역 확인부의 구성을 나타낸 블록도이다.
도 6은 본 발명의 실시예에 따른 보간부의 구성을 나타낸 블록도이다.
도 7은 본 발명의 실시예에 따른 윈도우 영역 추출기의 구성을 나타낸 블록도이다.
도 8은 본 발명의 실시예에 따른 보간 계산기의 구성을 나타낸 블록도이다.
도 9는 본 발명의 실시예에 따른 모션 벡터 연산부의 구성을 나타낸 블록도이다.
도 10은 본 발명의 실시예에 따른 디바이더 유닛의 동작 순서를 나타낸 흐름도이다.
도 11은 본 발명의 실시예에 따른 실험에 사용된 DJI phantom4 drone을 나타낸 도이다.
도 12 내지 도 14는 본 발명의 실시예에 따른 드론으로 획득한 하방 영상과 관련한 예를 나타낸 도이다.
도 15 내지 도 17은 본 발명의 실시예에 따른 각 실험 환경에서의 영상 기반 특징점 추적 장치의 출력을 누적시킨 결과와 GPS 좌표정보를 기반으로 획득한 이동경로의 비교 예를 나타낸 도이다.
도 18은 본 발명의 실시예에 따른 드론 정지 비행을 위한 영상 기반 특징점 추적 방법을 나타낸 흐름도이다.1 and 2 are block diagrams showing the configuration of an image-based feature point tracking apparatus for a stationary drone flight according to an embodiment of the present invention.
3 is a diagram showing an example of a PLK algorithm according to an embodiment of the present invention.
4 is a block diagram showing the configuration of a Gaussian filter according to an embodiment of the present invention.
5 is a block diagram showing the configuration of an area check unit according to an embodiment of the present invention.
6 is a block diagram showing the configuration of an interpolation unit according to an embodiment of the present invention.
7 is a block diagram showing the configuration of a window area extractor according to an embodiment of the present invention.
8 is a block diagram showing the configuration of an interpolation calculator according to an embodiment of the present invention.
9 is a block diagram showing the configuration of a motion vector calculator according to an embodiment of the present invention.
10 is a flowchart showing an operation sequence of a divider unit according to an embodiment of the present invention.
11 is a diagram showing a DJI phantom4 drone used in an experiment according to an embodiment of the present invention.
12 to 14 are diagrams showing an example of a downward image acquired by a drone according to an embodiment of the present invention.
15 to 17 are diagrams illustrating an example of a comparison between a result of accumulating the output of an image-based feature point tracking device in each experimental environment according to an embodiment of the present invention and a movement path obtained based on GPS coordinate information.
18 is a flowchart illustrating an image-based feature point tracking method for stationary drone flight according to an embodiment of the present invention.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. In addition, the technical terms used in the present invention should be interpreted as generally understood by those of ordinary skill in the technical field to which the present invention belongs, unless otherwise defined in the present invention, and is excessively comprehensive. It should not be construed as a human meaning or an excessively reduced meaning. In addition, when a technical term used in the present invention is an incorrect technical term that does not accurately express the spirit of the present invention, it should be replaced with a technical term that can be correctly understood by those skilled in the art. In addition, general terms used in the present invention should be interpreted as defined in the dictionary or according to the context before and after, and should not be interpreted as an excessively reduced meaning.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.In addition, the singular expression used in the present invention includes a plurality of expressions unless the context clearly indicates otherwise. In the present invention, terms such as “consisting of” or “comprising” should not be construed as necessarily including all of the various components or steps described in the invention, and some components or some steps may not be included. It is to be construed that it may or may further include additional components or steps.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.In addition, terms including ordinal numbers such as first and second used in the present invention may be used to describe the elements, but the elements should not be limited by the terms. The terms are used only to distinguish one component from another. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numerals regardless of the reference numerals, and redundant descriptions thereof will be omitted.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In addition, in describing the present invention, when it is determined that a detailed description of a related known technology may obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easily understanding the spirit of the present invention and should not be construed as limiting the spirit of the present invention by the accompanying drawings.
도 1 및 도 2는 본 발명의 실시예에 따른 드론 정지 비행을 위한 영상 기반 특징점 추적 장치(10)의 구성을 나타낸 블록도이다.1 and 2 are block diagrams showing the configuration of an image-based feature
도 1 및 도 2에 도시한 바와 같이, 드론 정지 비행을 위한 영상 기반 특징점 추적 장치(10)는 프레임 버퍼(100), 제 1 먹스(200), 헤시안 행렬 연산부(300), 특징점 검출부(400), 제 2 먹스(500), 특징점 추적부(600), 메모리(700) 및 제어부(800)로 구성된다. 도 1 및 도 2에 도시된 영상 기반 특징점 추적 장치(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1 및 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 영상 기반 특징점 추적 장치(10)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 영상 기반 특징점 추적 장치(10)가 구현될 수도 있다.As shown in FIGS. 1 and 2, the image-based feature
드론(drone)의 호버링(hovering, 정지 비행) 기술에는 IMU 센서 기반 방식, 레이더 기반 방식, 영상 기반 방식 등이 적용될 수 있다.IMU sensor-based method, radar-based method, image-based method, etc. can be applied to the drone's hovering (stationary flight) technology.
이 중 드론의 동체에 탑재된 하방 카메라 모듈을 활용한 영상 기반 호버링 방식은 레이더 등의 여타 능동적 센서 기반 방식들과 달리 전력 소모, 탑재 중량이 적으면서도 우수한 성능을 지원 가능하기 때문에 소형 기체인 드론에 적용하기 용이하다.Among them, the image-based hovering method using the lower camera module mounted on the body of the drone is unlike other active sensor-based methods such as radar, and has low power consumption and loading weight while supporting excellent performance, so it is suitable for drones, which are small aircraft. It is easy to apply.
상기 영상 기반 호버링 방식은 드론으로부터 취득한 하방 영상을 통해 드론의 움직임을 추적한 후, 추적된 움직임만큼 보정하는 방식으로 호버링을 수행한다.The image-based hovering method performs hovering by tracking a motion of a drone through a downward image acquired from a drone, and then correcting as much as the tracked motion.
이에 하방 영상 정보를 활용하여 드론의 움직임을 정확히 추적하는 것은 호버링 기능 지원에 있어 필수적인 요소라 할 수 있다.Therefore, it can be said that accurately tracking the movement of the drone by using the lower image information is an essential factor in supporting the hovering function.
이러한 영상 기반 호버링 방식에 대표적으로 활용되는 알고리즘으로 블록 매칭 알고리즘(block matching algorithm), 특징 기술자 매칭 알고리즘(feature descriptor matching algorithm), KLT(Kanade Lucas Tomasi) 특징 추적 알고리즘 등이 존재한다.Algorithms that are representatively used for such an image-based hovering method include a block matching algorithm, a feature descriptor matching algorithm, and a Kanade Lucas Tomasi (KLT) feature tracking algorithm.
이 중, KLT 특징 추적 알고리즘은 영상 내 모든 픽셀에 대해 움직임을 추정하게 되면 입력 영상의 해상도에 따라 연산량이 기하급수적으로 증가하기 때문에, 영상 내 주요한 특징점을 찾는 검출(detection, 추출) 과정과 연속된 영상에서 검출된 특징점의 변위를 계산하는 추적(tracking) 과정으로 나뉜다. 각 과정마다 다양한 알고리즘이 존재한다.Among them, the KLT feature tracking algorithm, when estimating motion for all pixels in an image, increases exponentially according to the resolution of the input image. It is divided into a tracking process that calculates the displacement of the feature point detected in the image. There are various algorithms for each process.
상기 영상 기반 특징점 추적 장치(10)는 검출 과정에서 좋은 성능을 나타내는 Shi-Tomasi 알고리즘을 적용하고, 추적 과정에서 좋은 성능을 나타내는 PLK(Pyramidal Lucas-Kanade) 알고리즘을 적용한다.The image-based feature
여기서, 상기 Shi-Tomasi 알고리즘은 추적 과정에서 사용되는 행렬의 고윳값이 큰 지점을 특징점으로 선별하는 방법으로 추적에 유리한 지점을 특징점으로 검출한다.Here, the Shi-Tomasi algorithm detects a point advantageous for tracking as a feature point by selecting a point with a large high value of the matrix used in the tracking process as a feature point.
즉, 상기 Shi-Tomasi 알고리즘은 전체 명암 영상에서 특징점이 될 작은 크기의 이미지 패치를 찾는 지역 특징 검출 방법 중 하나로, 상기 KLT 특징 추적 알고리즘에서 특징점 검출 단계로 제안되었다.That is, the Shi-Tomasi algorithm is one of the local feature detection methods for finding a small-sized image patch that will be a feature point in the entire contrast image, and is proposed as a feature point detection step in the KLT feature tracking algorithm.
또한, 상기 Shi-Tomasi 알고리즘은 기존의 특징점 검출 및 추적 알고리즘과 같이 단순히 평행 이동만 가정한 것이 아닌 어파인(affine) 변환까지 고려하여 다양한 추적 응용에서 우수한 성능을 나타내고 있다.In addition, the Shi-Tomasi algorithm shows excellent performance in various tracking applications by considering the affine transformation rather than simply assuming parallel movement, like the conventional feature point detection and tracking algorithm.
객체 추적에 강건한 특징점을 검출하기 위해서는 이미지 패치 단위에 적용된 계수 행렬 H가 영상 잡음 정도보다 커야한다. 상기 계수 행렬 H는 가로와 세로 방향으로의 명암값 변화에 따른 자기 상관 함수 행렬이며, 다음의 [수학식 1]로 나타낸다.In order to detect feature points that are robust to object tracking, the coefficient matrix H applied to the image patch unit must be larger than the image noise level. The coefficient matrix H is an autocorrelation function matrix according to changes in intensity values in the horizontal and vertical directions, and is represented by the following [Equation 1].
여기서, 상기 n은 탐색 윈도우의 크기를 나타내고, 상기 i는 상기 탐색 윈도우 중 임의의 요소를 나타내고, 상기 dx 및 dy는 이미지 패치를 각각 x 방향과 y 방향으로 미분한 값을 나타낸다.Here, n denotes the size of the search window, i denotes an arbitrary element of the search window, and dx and dy denote values obtained by differentiating the image patch in the x and y directions, respectively.
이때, 상기 [수학식 1]에 따른 계수 행렬 H는 입력 영상에서 잡음의 영향과 일정 크기 이하의 추적하기 힘든 특징이 있을 수 있다.In this case, the coefficient matrix H according to [Equation 1] may have an effect of noise in the input image and a characteristic that is difficult to track down to a predetermined size or less.
이러한 특징에 대응하며 정확도를 높이기 위해서, 상기 [수학식 1]의 계수 행렬 H의 각각의 원소에 가중치(wi)를 적용하면, 다음의 [수학식 2]와 같이 변형된다.In order to respond to these characteristics and increase the accuracy, when a weight (wi) is applied to each element of the coefficient matrix H of [Equation 1], it is transformed as shown in [Equation 2] below.
또한, 명암 변화가 작은 경우, 계수 행렬 H는 잡음에 큰 영향을 받기 때문에, 추적에 유리한 특징점이라 할 수 없다. 따라서, 이러한 픽셀을 배제하고 추적에 유리한 특징점을 검출하기 위해서, 다음의 [수학식 3]과 같이, 상기 계수 행렬 H의 고윳값을 확인하는 과정을 수행한다.In addition, when the change in brightness and darkness is small, since the coefficient matrix H is greatly affected by noise, it cannot be said to be an advantageous feature point for tracking. Therefore, in order to exclude such pixels and detect a feature point advantageous for tracking, a process of confirming the high value of the coefficient matrix H is performed as shown in [Equation 3] below.
즉, 상기 계수 행렬 H의 두 고윳값 중 작은 값이 특징점을 결정하는 기준이 되며, 상기 두 고윳값 중 작은 값을 임계값(threshold)과 비교하여, 클 경우 해당 픽셀을 특징점 후보로 선정한다.That is, the smaller of the two high-value values of the coefficient matrix H serves as a criterion for determining the feature point, and the smaller of the two high-value values is compared with a threshold value, and if large, a corresponding pixel is selected as a feature point candidate.
또한, 특징점 후보군을 선별하기 위해서 앞선 [수학식 3]에서 행렬의 고윳값 계산 및 비교가 필요하지만, 행렬의 고유 다항식과 이차 방정식 근의 공식을 사용하면 이를 하나의 식으로 간소화할 수 있다.In addition, in order to select a candidate feature point group, it is necessary to calculate and compare the high eigenvalue of the matrix in [Equation 3], but it can be simplified into a single equation by using the eigen polynomial of the matrix and the formula of the quadratic equation.
즉, 상기 [수학식 2]의 2×2 행렬 각각의 원소를 순서대로 p, r, r, q라 하면, 고유 다항식은 다음의 [수학식 4]와 같이 나타낼 수 있다.That is, if the elements of each of the 2×2 matrix in [Equation 2] are in order p, r, r, and q, the eigen polynomial can be expressed as the following [Equation 4].
상기 [수학식 4]를 근의 공식에 대입하여 정리하면, 최소 고윳값을 다음의 [수학식 5]로 나타낼 수 있으며, 이에 따라 특징점 후보군 선정 과정을 간단하게 구현할 수 있다.By substituting the [Equation 4] into the root formula and arranging it, the minimum high value can be expressed by the following [Equation 5], and accordingly, the process of selecting a candidate feature point group can be easily implemented.
상기 [수학식 5]를 통해 선정된 특징점 중에서 서로 근접한 특징점들은 동일 객체를 나타내거나 유사한 움직임을 보이기 때문에, 추적 과정에서 불필요한 연산을 발생시킨다. 따라서, 성능 향상을 위해 추적 과정에 사용될 특징점들을 선별하는 과정이 추가로 요구되며, 이에 따라 상기 Shi-Tomasi 알고리즘은 앞서 계산한 고윳값을 윈도우 내에서 내림차순으로 정렬하고, 내림차순으로 정렬된 복수의 고윳값 중에서 값이 큰 지점만 특징점으로 유지시키는 과정을 적용한 후, 일정 거리 내의 후보군을 추가로 제외하는 과정으로 최종 특징점을 선별한다.Among the feature points selected through [Equation 5], since feature points that are close to each other represent the same object or show similar motion, unnecessary calculations are generated in the tracking process. Therefore, in order to improve performance, a process of selecting the feature points to be used in the tracking process is additionally required, and accordingly, the Shi-Tomasi algorithm sorts the previously calculated high values in descending order within the window, and a plurality of high values sorted in descending order. The final feature point is selected by applying a process of maintaining only the point with a large value among the yu values as feature points, and then additionally excluding a candidate group within a certain distance.
상기 PLK 알고리즘(또는 PLK Optical Flow Estimation 알고리즘)은 연속된 두 장의 이미지에서 같은 위치의 픽셀은 같은 명암값을 갖는다는 가정하에 다음의 [수학식 6]으로 모델링되고, Taylor series expansion에 따라 다음의 [수학식 7]로 나타낼 수 있다.The PLK algorithm (or PLK Optical Flow Estimation Algorithm) is modeled by the following [Equation 6] under the assumption that pixels at the same location in two consecutive images have the same intensity value, and according to the Taylor series expansion, the following [ It can be represented by Equation 7].
여기서, 상기 좌변의 I는 현재 이미지에서의 해당 픽셀의 밝기값을 나타내고, 상기 우변의 I는 다음 이미지에서의 해당 픽셀의 밝기값을 나타낸다.Here, I on the left side represents the brightness value of the corresponding pixel in the current image, and I on the right side represents the brightness value of the corresponding pixel in the next image.
한 윈도우 내의 픽셀들은 같은 광류를 갖는다고 가정하면, 윈도우 내의 모든 화소가 상기 [수학식 7]을 만족해야 하므로, 행렬 형태의 다음의 [수학식 8]로 나타낼 수 있다.Assuming that the pixels in one window have the same light flow, all pixels in the window must satisfy the above [Equation 7], so it can be expressed by the following [Equation 8] in the form of a matrix.
여기서, 상기 v는 (u,v)로 나타내는 모션 벡터(motion vector)를 의미하고, 상기 A 행렬과 상기 b 벡터는 각각 다음의 [수학식 9]와 같이 나타낸다.Here, v denotes a motion vector represented by (u,v), and the A matrix and the b vector are respectively represented by the following [Equation 9].
상기 [수학식 8]로부터 A 행렬의 역행렬을 구하기 위해 행렬식을 바꿔 쓰면 다음의 [수학식 10]으로 나타낼 수 있다.If the determinant is rewritten to obtain the inverse matrix of the matrix A from [Equation 8], it can be expressed as the following [Equation 10].
상기 [수학식 10]을 풀고, 더 나은 품질의 모션 벡터 값을 위해 가중치 함수를 적용하면 다음의 [수학식 11]과 같이 2×2 행렬과 2×1 행렬의 곱으로 모션 벡터를 계산할 수 있다.If [Equation 10] is solved and a weight function is applied for a motion vector value of better quality, a motion vector can be calculated by multiplying a 2×2 matrix and a 2×1 matrix as shown in [Equation 11] below. .
여기서, 상기 u는 x축 방향의 움직임을 나타내고, 상기 v는 y축 방향의 움직임을 나타낸다.Here, u denotes motion in the x-axis direction, and v denotes motion in the y-axis direction.
또한, 상기 영상 기반 특징점 추적 장치(10)는 더 정밀한 모션 벡터를 얻기 위해 계산된 모션 벡터(u,v)를 통해 특징점의 위치를 보정한 뒤, 반복(iteration)을 통해 최종적인 변위(또는 모션 벡터)를 계산한다. 여기서, 상기 보정 과정은 동일한 지점(또는 픽셀)에 대해서 상기 계산된 모션 벡터를 메모리(700)에 저장된 특징점의 좌표값과 더하는 과정일 수 있다.In addition, the image-based feature
또한, 탐색 윈도우의 크기가 작은 경우 움직임이 큰 변위를 추적하지 못해 강건성이 낮아지며, 큰 탐색 윈도우를 사용할 경우 작은 변위에 대한 정확성이 저하되고, 연산량 또한 증가하게 되는 한계를 갖는다.In addition, when the size of the search window is small, it is not possible to track a large displacement, so that the robustness decreases. When a large search window is used, the accuracy for a small displacement decreases and the computational amount is also increased.
도 3에 도시된 바와 같이, 이를 해결하기 위해 제안된 PLK 알고리즘은 데시메이션 필터(decimation filter)를 통해 획득한 계층 영상 중 가장 낮은 해상도를 갖는 영상 에서 모션 벡터값 이 계산되었다고 가정하면, 상기 모션 벡터값()은 다음의 [수학식 12]와 같이 계산되고, 새로운 초기 추정값으로 사용됨으로써 다음 레벨(L-1)로 전달된다.As shown in FIG. 3, the PLK algorithm proposed to solve this problem is a hierarchical image obtained through a decimation filter. The image with the lowest resolution among Motion vector value at Assuming that is calculated, the motion vector value ( ) Is calculated as in the following [Equation 12], and is transferred to the next level (L-1) by being used as a new initial estimate.
여기서, 상기 v는 모션 벡터를 나타낸다.Here, v represents a motion vector.
이러한 전달 과정이 반복되어 최종 레벨인 에서의 계산이 끝나면, 최종 모션 벡터는 다음의 [수학식 13]으로 정의된다.This delivery process is repeated and the final level After the calculation in is completed, the final motion vector is defined by the following [Equation 13].
여기서, 상기 d는 최종 모션 벡터를 나타낸다.Here, d represents the final motion vector.
이와 같이, 상기 영상 기반 특징점 추적 장치(10)는 최초 이미지로부터 특징점 검출 과정을 수행하고, 이후 입력되는 이미지로부터 추적 과정을 수행한다.In this way, the image-based feature
또한, 상기 영상 기반 특징점 추적 장치(10)는 프레임마다(또는 이미지마다) 계산된 모션 벡터값을 드론의 F/C(Fight Controller)로 전달하여, 드론의 움직임을 제어한다.In addition, the image-based feature
또한, 상기 영상 기반 특징점 추적 장치(10)는 미리 설정된 개수의 이미지(예를 들어 N장의 이미지)에서 특징점 추출 및 추적 과정이 끝나면, 다시 그 다음으로 입력되는 이미지들로부터 특징점 추출 및 추적 과정을 반복적으로 수행한다.In addition, after the process of extracting and tracking feature points from a preset number of images (for example, N images) is finished, the image-based feature
상기 프레임 버퍼(100)는 드론(미도시)으로부터 획득되는 연속된 복수의 이미지(또는 복수의 영상/하방 영상)를 임시 저장한다. 이때, 상기 드론으로부터 획득되는 이미지는 상기 드론의 하부에 구비된 카메라(미도시)를 통해 해당 드론이 위치하는(또는 이동하는) 지역의 하방에 대응하는 이미지일 수 있다.The
또한, 상기 프레임 버퍼(100)는 상기 제어부(800)의 제어에 의해, 상기 프레임 버퍼(100)에 임시 저장되는 연속된 복수의 이미지 중 적어도 하나의 이미지를 상기 제 1 먹스(200) 및 상기 제 2 먹스(500)에 각각 제공(또는 출력/전송)한다.In addition, the
상기 제 1 먹스(200)는 상기 프레임 버퍼(100)로부터 제공되는 연속된 복수의 이미지 중에서 첫 번째 이미지를 출력한다. 여기서, 상기 첫 번째 이미지는 미리 설정된 단위 개수 이미지(예를 들어 10개 단위, 50개 단위, 100개 단위 등 포함)를 근거로 상기 복수의 이미지 중에서 첫 번째 이미지(예를 들어 50개 단위를 기준으로 하는 경우, 연속된 50개의 이미지 중에서 첫 번째 이미지)를 나타낸다.The
상기 도 2에 도시한 바와 같이, 상기 헤시안 행렬 연산부(Hessian-matrix calculation unit: HSU)(300)는 제 3 먹스(310), 미분기(320), 복수의 곱셈기(330) 및 복수의 가우시안 필터(340)로 구성된다. 상기 도 2에 도시된 헤시안 행렬 연산부(300)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 헤시안 행렬 연산부(300)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 헤시안 행렬 연산부(300)가 구현될 수도 있다.As shown in FIG. 2, the Hessian-matrix calculation unit (HSU) 300 includes a
상기 헤시안 행렬 연산부(300)는 특징점 검출 과정에 사용되는 Shi-Tomasi 알고리즘과 특징점 추적 과정에 사용되는 PLK 알고리즘의 동일한 행렬의 원소를 계산(또는 산출)한다.The
상기 제 3 먹스(310)는 상기 제 1 먹스(200)로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부(600)로부터 출력되는 보간된 첫 번째 이미지에 대해서 상기 제어부(800)에 의해 설정된 상기 영상 기반 특징점 추적 장치(10)의 동작 모드에 따라 상기 제 1 먹스(200)로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부(600)로부터 출력되는 보간된 첫 번째 이미지를 출력한다.The
즉, 상기 제어부(800)에 의해 설정된 상기 영상 기반 특징점 추적 장치(10)의 동작 모드가 특징점 검출 모드일 때, 상기 제 3 먹스(310)는 상기 제 1 먹스(200)로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부(600)로부터 출력되는 보간된 첫 번째 이미지 중에서 상기 제 1 먹스(200)로부터 출력되는 첫 번째 이미지를 상기 제 3 먹스(310)의 출력값으로 출력한다.That is, when the operation mode of the image-based feature
또한, 상기 제어부(800)에 의해 설정된 상기 영상 기반 특징점 추적 장치(10)의 동작 모드가 특징점 추적 모드일 때, 상기 제 3 먹스(310)는 상기 제 1 먹스(200)로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부(600)로부터 출력되는 보간된 첫 번째 이미지 중에서 상기 특징점 추적부(600)로부터 출력되는 보간된 첫 번째 이미지를 상기 제 3 먹스(310)의 출력값으로 출력한다.In addition, when the operation mode of the image-based feature
상기 미분기(Differentiator)(320)는 상기 제 3 먹스(310)의 출력값을 소벨 필터(sobel filter)를 사용하여 x 방향과 y 방향으로의 명암차를 계산한다.The
즉, 상기 미분기(320)는 상기 제 3 먹스(310)로부터 출력되는 첫 번째 이미지 또는 보간된 첫 번째 이미지로부터 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 계산한다.That is, the
상기 복수의 곱셈기(330)는 상기 미분기(320)에서 계산된 첫 번째 이미지(또는 보간된 첫 번째 이미지)와 관련한 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)에 대해 곱셈 기능을 적용하여 상기 특징점 검출 과정과 특징점 추적 과정에서 동일하게 사용되는 복수의 변수를 생성한다.The plurality of
즉, 제 1 곱셈기(331)는 상기 미분기(320)에서 계산된 첫 번째 이미지(또는 보간된 첫 번째 이미지)와 관련한 x 방향으로의 명암차(dx)를 두 입력으로 하여 곱셈 기능을 수행하여, 상기 제 1 곱셈기(331)의 출력값(예를 들어 dx2)을 출력한다.That is, the
또한, 제 2 곱셈기(332)는 상기 미분기(320)에서 계산된 첫 번째 이미지(또는 보간된 첫 번째 이미지)와 관련한 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 두 입력으로 하여 곱셈 기능을 수행하여, 상기 제 2 곱셈기(332)의 출력값(예를 들어 dxdy)을 출력한다.In addition, the second multiplier 332 calculates the contrast (dx) in the x direction and the contrast (dy) in the y direction with respect to the first image (or interpolated first image) calculated by the
또한, 제 3 곱셈기(333)는 상기 미분기(320)에서 계산된 첫 번째 이미지(또는 보간된 첫 번째 이미지)와 관련한 y 방향으로의 명암차(dy)를 두 입력으로 하여 곱셈 기능을 수행하여, 상기 제 3 곱셈기(333)의 출력값(예를 들어 dy2)을 출력한다.In addition, the
이와 같이, 상기 복수의 곱셈기(330)는 상기 미분기(320)에서 계산된 첫 번째 이미지(또는 보간된 첫 번째 이미지)와 관련한 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 근거로 상기 특징점 검출 과정과 특징점 추적 과정에서 동일하게 사용되는 복수의 변수를 생성한다.In this way, the plurality of
상기 복수의 가우시안 필터(Gaussian Filter)(340)는 상기 복수의 곱셈기(330)에서 생성된 복수의 변수에 대해서 영상의 스무딩 처리를 수행한다.The plurality of
즉, 제 1 가우시안 필터(341)는 상기 제 1 곱셈기(331)로부터 출력되는 상기 제 1 곱셈기(331)의 출력값(예를 들어 dx2)에 가중치를 적용한 후, 가우시안 필터를 적용한다. That is, the first Gaussian filter 341 applies a weight to the output value (eg, dx 2 ) of the
또한, 제 2 가우시안 필터(342)는 상기 제 2 곱셈기(332)로부터 출력되는 상기 제 2 곱셈기(332)의 출력값(예를 들어 dxdy)에 가중치를 적용한 후, 가우시안 필터를 적용한다.In addition, the second Gaussian filter 342 applies a weight to an output value (eg, dxdy) of the second multiplier 332 output from the second multiplier 332 and then applies a Gaussian filter.
또한, 제 3 가우시안 필터(343)는 상기 제 3 곱셈기(333)로부터 출력되는 상기 제 3 곱셈기(333)의 출력값(예를 들어 dy2)에 가중치를 적용한 후, 가우시안 필터를 적용한다. In addition, the third Gaussian filter 343 applies a weight to the output value (eg, dy 2 ) of the
이와 같이, 상기 복수의 가우시안 필터(340)는 영상에 대한 스무딩 처리를 수행하여, 해당 가우시안 필터(340)의 출력값(또는 상기 헤시안 행렬 연산부(300)의 출력값/가우시안 필터링된 상기 헤시안 행렬 연산부(300)의 출력값)(예를 들어 가중치가 적용된 widx2, widxdy, widy2)을 상기 특징점 검출부(400) 및 상기 특징점 추적부(600)에 제공한다.In this way, the plurality of
도 4는 가우시안 필터(340)의 하드웨어 구조로, 라인 버퍼(line buffer), 시프트 레지스터(shift register) 및 어큐뮬레이션 유닛(accumulation unit)으로 구성된다.4 is a hardware structure of the
상기 미분기(320)와 상기 가우시안 필터(340)는 3×3 필터 마스크(filter mask)에 포함되는 영역의 픽셀 값들이 필요하다. 이때, 이미지 데이터 스트림(image data stream)은 로우(row) 방향으로 순차로 입력되기 때문에, 2개의 라인 버퍼 및 9개의 시프트 레지스터를 활용하여 3×3 필터 마스크에 포함되는 값이 동시에 어큐뮬레이션 유닛에 입력되도록 구성한다.The
이로 인해, 본 발명의 실시예에 따른 가우시안 필터(340)는 별도의 여분의 프레임 버퍼와 클록 사이클(clock cycles) 없이 3×3 이미지 필터 연산이 가능하며, 가우시안 필터 탭(Gaussian filter tap)이 1/16, 1/8, 1/4로 구성되기 때문에, 별도의 곱셈기(mutiplier)없이 비트 시프트(bit shift) 연산과 누적(accumulation) 연산으로 구현할 수 있다.Accordingly, the
또한, 상기 가우시안 필터(340) 이외에도 상기 미분기(320)나 상기 특징점 추적부(600)에 포함된 보간부도 같은 콘볼루션(convolution) 연산으로 이루어지기 때문에 동일한 라인 버퍼 기반 구조를 갖는다.In addition, in addition to the
따라서, 상기 헤시안 행렬 연산부(300)를 적용함으로써, 기존 구조 대비 4개의 라인 버퍼, 9개의 곱셈기와 가산기, 18개의 8-비트 레지스터를 줄일 수 있다.Therefore, by applying the
이와 같이, 상기 헤시안 행렬 연산부(300)를 통해 Shi-Tomasi 특징점 검출 알고리즘과 PLK(Pyramidal Lucas-Kanade) 알고리즘에서 공통으로 연산되는 부분을 공유하고 각 알고리즘을 간소화 및 개선함으로써, 저면적으로도 우수한 추적 성능을 제공하여, 탑재 중량 및 소모 전력이 엄격히 제한되는 드론에 적용하기에 용이할 수 있다.In this way, through the Hessian
상기 도 2에 도시한 바와 같이, 상기 특징점 검출부(Feature point Detection Unit: FDU)(400)는 특징점 가능성 연산부(410), 경계 및 임계치 확인부(420), 비최대 억제부(430) 및 영역 확인부(440)로 구성된다. 상기 도 2에 도시된 특징점 검출부(400)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 특징점 검출부(400)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 특징점 검출부(400)가 구현될 수도 있다.As shown in FIG. 2, the feature point detection unit (FDU) 400 includes a feature point
상기 특징점 검출부(400)는 상기 헤시안 행렬 연산부(300)의 출력값을 이용해서 상기 첫 번째 이미지로부터 복수의 특징점을 검출(또는 추출)한다.The feature
상기 특징점 가능성 연산부(Corner Possibility Calculator)(410)는 상기 헤시안 행렬 연산부(300)로부터의 출력값(또는 가우시안 필터링된 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy))에 대해 고윳값을 계산한다.The
즉, 상기 특징점 가능성 연산부(410)는 앞선 [수학식 5]의 연산을 통해 고윳값을 계산한다.That is, the feature
상기 경계 및 임계치 확인부(Boundary/Threshold Checking Unit)(420)는 상기 특징점 가능성 연산부(410)에 의해 계산된 고윳값을 근거로 영상 경계에 있지 않으면서도 고윳값이 임계값 이상인 지점을 특징점 후보군으로 선정한다.The boundary/
즉, 상기 특징점 가능성 연산부(410)는 상기 계산된 복수의 고윳값을 내림차순으로 정렬한다.That is, the feature
또한, 상기 특징점 가능성 연산부(410)는 상기 내림차순으로 정렬된 복수의 고윳값 중에서 영상 경계에 있지 않으면서도 고윳값이 임계값 이상인 지점을 특징점 후보군으로 선정한다. 이때, 상기 경계 및 임계치 확인부(420)는 상기 내림차순으로 정렬된 복수의 고윳값 중에서 고윳값이 높은 순으로 미리 설정된 개수(예를 들어 128개)를 상기 특징점 후보군으로 선정할 수도 있다.In addition, the feature point
여기서, 계산되는 고윳값의 범위는 영상 밝기에 따라 변화하는데, 이에 적용되는 임계값 또한 유동적으로 바뀌어야 하므로, 가변 가능하도록 구성할 수 있다.Here, the range of the calculated high value varies according to the image brightness, and since the threshold value applied thereto must also be changed flexibly, it can be configured to be variable.
상기 비최대 억제부(Non-maximum Suppression Unit)(430)는 상기 선정된 특징점 후보군에 포함된 다수의 특징점 중에서 고윳값 비교를 통해 근접 후보군에 대한 배제 처리 기능을 수행한다.The non-maximum suppression unit 430 performs an exclusion processing function for a proximity candidate group by comparing a high value among a plurality of feature points included in the selected feature point candidate group.
상기 영역 확인부(Region Checking Unit)(440)는 상기 선정된 특징점 후보군에 포함된 다수의 특징점 중에서 일정 거리 내의 특징점을 제외(또는 영역 내 중복 후보군 배제 처리 기능을 수행)하여 최종적인 복수의 특징점을 선정(또는 선별)한다. 이때, 상기 영역 확인부(440)는 상기 이미지를 복수의 영역으로 나누고(또는 분할하고), 각 영역 내에서 각각 가장 먼저 입력되는 특징점 후보군 하나만을 최종 특징점에 포함시킬 수 있다.The region checking unit 440 excludes a feature point within a certain distance from among a plurality of feature points included in the selected feature point candidate group (or performs a function to exclude overlapping candidate groups within the region), and selects a final plurality of feature points. Select (or screen). In this case, the region checking unit 440 may divide (or divide) the image into a plurality of regions, and include only one of the first candidate feature point candidate groups inputted first in each region as a final feature point.
또한, 상기 영역 확인부(400)는 상기 선정된 최종적인 복수의 특징점(또는 복수의 특징점의 좌표 정보)을 상기 메모리(700)에 저장한다.In addition, the
도 5는 상기 영역 확인부(400)의 블록도로, 각 블록을 제어하는 제어기(controller), 영역 간 중복 여부를 판별하는 N 영역 블록으로 구성된다.FIG. 5 is a block diagram of the
같은 크기로 구분된 N 개의 영역 내에서 각각 가장 먼저 입력받는 특징점 후보군 하나만 특징점으로 선정하도록 구성하여, 유클리드 거리 계산을 하지 않고도 일정 거리 이상이 띄어진 특징점이 검출되도록 구성할 수 있다.In the N areas divided by the same size, only one feature point candidate group, which is first input, is selected as a feature point, and feature points having a certain distance or more can be detected without calculating the Euclidean distance.
또한, 비최대 억제 처리를 거친 특징점 후보군의 신호가 순차로 상기 영역 확인부(400)에 입력될 때, 각각의 영역을 담당하는 블록은 제어기가 출력하는 제어 신호에 따라 작동한다. 이때, 상기 N 영역 블록은 픽셀 개수를 세는 로우(row)와 컬럼(column) 좌표 카운터(coordinate counter)를 활용하여 출력할 특징점의 위치를 제어할 수 있다.In addition, when signals of candidate feature point groups that have undergone non-maximum suppression processing are sequentially input to the
상기 제 2 먹스(500)는 상기 프레임 버퍼(100)로부터 제공되는 연속된 복수의 이미지 중에서 첫 번째 이미지를 제외한 다른 이미지(또는 상기 연속된 복수의 이미지 중에서 현재 이미지)를 출력한다. 여기서, 상기 다른 이미지는 미리 설정된 단위 개수 이미지(예를 들어 10개 단위, 50개 단위, 100개 단위 등 포함)를 근거로 상기 복수의 이미지 중에서 첫 번째 이미지를 제외한 나머지 이미지 중에서 현재 입력된 이미지(또는 현재 이미지)(예를 들어 50개 단위를 기준으로 하는 경우, 연속된 50개의 이미지 중에서 첫 번째 이미지 다음 순서인 두 번째 이미지)를 나타낸다.The
상기 도 2에 도시한 바와 같이, 상기 특징점 추적부(Feature point Tracking Unit: FTU)(600)는 복수의 보간부(610), 영상차 계산부(620), 복수의 다른 곱셈기(630), 복수의 다른 가우시안 필터(640), 모션 벡터 연산부(650), 모션 벡터 매니저(660) 및 모션 추정기(670)로 구성된다. 상기 도 2에 도시된 특징점 추적부(600)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 특징점 추적부(600)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 특징점 추적부(600)가 구현될 수도 있다.As shown in FIG. 2, the feature point tracking unit (FTU) 600 includes a plurality of interpolating
상기 특징점 추적부(600)는 연속된 복수의 이미지를 근거로 앞서 추출된 특징점에 대한 추적 기능을 수행하여 모션 벡터를 생성한다.The feature
기존의 PLK 알고리즘에서는 데시메이션 필터(decimation filter)를 통해 계층을 구성하고, 가장 높은 레벨에서부터 추적을 시작한다. 이때, 상기 데시메이션 필터는 콘볼루션(convolution) 연산을 요구하며 계층적 구조의 추적에 필요한 연산을 연속적으로 처리하기 위해 각 계층에 대한 결과값을 저장할 별도의 메모리 공간이 필요하다.In the existing PLK algorithm, a hierarchy is formed through a decimation filter, and tracking starts from the highest level. In this case, the decimation filter requires a convolution operation and requires a separate memory space to store result values for each layer in order to continuously process an operation required for tracking a hierarchical structure.
따라서, 본 발명의 실시예에서는 심플 다운-샘플링(simple down-sampling) 방법을 이용하여 단순히 프레임 버퍼의 제어 신호를 레벨에 따라 달리해주는 방법으로 별도의 지연시간이나 메모리없이 계층을 구성할 수 있도록 하였다.Therefore, in the embodiment of the present invention, a simple down-sampling method is used to simply change the control signal of the frame buffer according to the level, so that a layer can be configured without a separate delay time or memory. .
또한, 실험을 통해 데시메이션 필터 대신 심플 다운-샘플링 방법을 이용한 추적결과 성능 저하가 거의 없음을 확인하였다.In addition, through an experiment, it was confirmed that there was little performance degradation as a result of tracking using a simple down-sampling method instead of a decimation filter.
상기 복수의 보간부(interpolator Unit, 보간기)(610)는 상기 제 1 먹스(200)로부터 출력되는 이전 이미지, 상기 제 2 먹스(500)로부터 출력되는 현재 이미지에 대한 보간 기능을 각각 수행한다.The plurality of
즉, 제 1 보간부(611)는 상기 제 1 먹스(200)로부터 출력되는 이전 이미지에 대한 보간 기능을 수행하고, 상기 수행에 따른 보간된 이전 이미지(또는 보간된 이미지)를 상기 제 3 먹스(310) 및 상기 영상차 계산부(620)에 제공한다.That is, the
또한, 제 2 보간부(612)는 상기 제 2 먹스(500)로부터 출력되는 현재 이미지에 대한 보간 기능을 수행하고, 상기 수행에 따른 보간된 현재 이미지를 상기 영상차 계산부(620)에 제공한다.In addition, the
도 6은 본 발명의 실시예에 따른 보간부(610)의 블록도로, 특징점 좌표(feature coordinate, Fc)와 피라미드 레벨(pyramid level)에 따라 적합한 픽셀 정보가 입력되도록 제어하는 윈도우 영역 추출기(window region extractor)와 특징점 위치에 따른 보정을 수행하는 보간 계산기(interpolation calculator)로 구성된다.6 is a block diagram of an
도 7은 본 발명의 실시예에 따른 윈도우 영역 추출기의 블록도로, 상기 윈도우 영역 추출기는 상기 메모리(700)에 저장되어있는 현재 특징점 좌표와 피라미드 레벨 정보를 입력받아 특징점 좌표 주변 영역의 이미지 윈도우(image window)가 상기 보간 계산기에 입력되도록 한다. 이때, 현재 피라미드 레벨에 따라서 다운-샘플링(down-sampling)까지 수행되는데, 프레임 버퍼에 이미지 데이터(image data)가 로우(row) 방향으로 저장되어 있다고 하면, 주소(address)는 다음의 [수학식 14]와 같이 계산되어 각각 먹스(MUX)에 연결되고, 현재 피라미드 레벨에 따라 선택되어 계층적 영상을 별도의 메모리 없이 얻을 수 있도록 구성(또는 설계)한다.7 is a block diagram of a window area extractor according to an embodiment of the present invention, wherein the window area extractor receives current feature point coordinates and pyramid level information stored in the
여기서, 상기 c1과 c2는 각각 row counter value와 column counter value를 나타내고, 상기 ws는 탐색 윈도우의 크기를 나타내고, 상기 L은 피라미드 레벨을 나타낸다.Here, c 1 and c 2 denote a row counter value and a column counter value, respectively, w s denotes the size of a search window, and L denotes a pyramid level.
도 8은 본 발명의 실시예에 따른 보간 계산기의 블록도로, 상기 보간 계산기는 계산된 모션 벡터로부터 보정된 특징점 좌표값이 정수가 아닌 실수값이기 때문에, 인접한 네 개의 픽셀의 명암값에 따른 바이리니어 보간(bilinear interpolation)을 통해 추적된 특징점 좌표의 밝기값을 계산한다. 여기서, 상기 바이리니어 보간은 x축과 y축 각각의 좌표값에 따라 가중치가 결정되는 일차원 필터와, 특징점 주변의 5×5 윈도우의 콘볼루션 연산으로 계산되며, 좌표값과 좌표값의 반올림한 값의 차의 사인 비트(sing bit)에 의하여 필터의 형태가 결정된다.8 is a block diagram of an interpolation calculator according to an embodiment of the present invention. Since the interpolation calculator is a real value rather than an integer, the coordinate value of the feature point corrected from the calculated motion vector is bilinear according to the intensity values of four adjacent pixels. The brightness value of the traced feature point coordinates is calculated through bilinear interpolation. Here, the bilinear interpolation is calculated by a one-dimensional filter whose weight is determined according to the coordinate values of each of the x-axis and y-axis, and a convolution operation of a 5×5 window around the feature point, and the coordinate value and the coordinate value are rounded off. The shape of the filter is determined by the sine bit of the difference of.
또한, 상기 보간 계산기는 라인 버퍼 구조로 설계하여, x축과 y축 각각의 일차원 보간 연산을 연속적으로 처리하도록 설계하여, 짧은 레이턴시(latency)로 별도의 추가적인 메모리 공간없이 계층 구성이 가능할 수 있다.In addition, the interpolation calculator is designed to have a line buffer structure, and is designed to continuously process one-dimensional interpolation operations for each of the x-axis and y-axis, so that a hierarchical configuration can be performed without an additional memory space with a short latency.
상기 영상차 계산부(620)는 상기 제 1 보간부(611)로부터 제공되는 보간된 이전 이미지와 상기 제 2 보간부(612)로부터 제공되는 보간된 현재 이미지 간의 명암차(dt)를 계산한다.The image
상기 복수의 다른 곱셈기(630)는 상기 헤시안 행렬 연산부(300)에서 계산된 이전 이미지에 대한 명암차(dx, dy)와 상기 계산된 보간된 이전 이미지와 보간된 현재 이미지 간의 명암차(dt)에 대해 곱셈 기능을 적용하여 복수의 다른 변수를 생성한다.The plurality of other multipliers 630 include a contrast difference (dx, dy) for a previous image calculated by the
즉, 제 4 곱셈기(631)는 상기 미분기(320)에서 계산된 첫 번째 이미지(또는 이전 이미지)와 관련한 x 방향으로의 명암차(dx)와 상기 영상차 계산부(620)에 의해 계산된 이미지 간의 명암차(dt)를 두 입력으로 하여 곱셈 기능을 수행하여, 상기 제 4 곱셈기(631)의 출력값(예를 들어 dxdt)을 출력한다.That is, the
또한, 제 5 곱셈기(632)는 상기 미분기(320)에서 계산된 첫 번째 이미지(또는 이전 이미지)와 관련한 y 방향으로의 명암차(dy)와 상기 영상차 계산부(620)에 의해 계산된 이미지 간의 명암차(dt)를 두 입력으로 하여 곱셈 기능을 수행하여, 상기 제 5 곱셈기(632)의 출력값(예를 들어 dydt)을 출력한다.In addition, the
이와 같이, 상기 복수의 다른 곱셈기(630)는 상기 미분기(320)에서 계산된 이전 이미지에 대한 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy) 및 상기 영상차 계산부(620)에서 계산된 보간된 이전 이미지와 보간된 현재 이미지 간의 명암차(dt)에 곱셈기를 적용한다.In this way, the plurality of other multipliers 630 include a contrast difference in the x direction (dx) and a contrast difference in the y direction (dy) with respect to the previous image calculated by the
상기 복수의 다른 가우시안 필터(640)는 상기 복수의 다른 곱셈기(630)에서 생성된 복수의 다른 변수에 대해서 영상의 스무딩 처리를 수행한다.The plurality of different
즉, 제 4 가우시안 필터(641)는 상기 제 4 곱셈기(631)로부터 출력되는 상기 제 4 곱셈기(631)의 출력값(예를 들어 dxdt)에 가중치를 적용한 후, 가우시안 필터를 적용한다.That is, the fourth
또한, 제 5 가우시안 필터(642)는 상기 제 5 곱셈기(632)로부터 출력되는 상기 제 5 곱셈기(632)의 출력값(예를 들어 dxdy)에 가중치를 적용한 후, 가우시안 필터를 적용한다.In addition, the fifth
이와 같이, 상기 복수의 다른 가우시안 필터(640)는 영상에 대한 스무딩 처리를 수행하여, 해당 다른 가우시안 필터(640)의 출력값(예를 들어 가중치가 적용된 widxdt, widydt)을 상기 모션 벡터 연산부(650)에 제공한다.In this way, the plurality of different
상기 모션 벡터 연산부(Motion Vector Calculator)(650)는 상기 복수의 다른 가우시안 필터(640)의 출력값(예를 들어 widxdt, widydt)과, 상기 헤시안 행렬 연산부(300)에서의 출력값(예를 들어 widx2, widxdy, widy2)을 근거로 모션 벡터(예를 들어 (u,v))를 산출한다.The
도 9는 상기 모션 벡터 연산부의 블록도로, 상기 모션 벡터 연산부는 계산된 영상 차 값과 그래디언트(gradient) 값에 각각 가중치가 곱해진 값들을 이용하여 앞선 [수학식 11]을 연산한다. 이때, 연산은 영상 차 값과 그래디언트 값들의 덧셈(summation) 및 2×2 인버스 매트릭스(inverse matrix) 연산으로 이루어지므로, 입력되는 영상 차 값과 그래디언트 값들이 어큐뮬레이터 세트(accumulator)로 입력되어 덧셈값을 연산하며, 2×2 인버스 매트릭스 연산을 위해 나눗수(제수, divisor) 계산기 및 나뉨수(피제수, dividend) 계산기와 분할자(divider)를 통해 인버스 매트릭스 연산이 수행되어 최종 모션 벡터 값이 출력된다.9 is a block diagram of the motion vector calculator, and the motion vector calculator calculates [Equation 11] using values obtained by multiplying a calculated image difference value and a gradient value by weights, respectively. At this time, since the operation is performed by summation of image difference values and gradient values and a 2×2 inverse matrix operation, the input image difference values and gradient values are input to an accumulator set to obtain the added value. For the 2×2 inverse matrix operation, the inverse matrix operation is performed through a divider (divisor) calculator, a dividend calculator, and a divider, and the final motion vector value is output.
하지만, 모션 벡터 값을 구하는 과정에서 2×2 인버스 매트릭스 연산이 이뤄지게 되기 때문에, 행렬의 행렬식(determinant)으로 나눠주는 연산이 필요하다. 이때, 일반적인 나눗셈기를 활용하는 경우, 복잡한 알고리즘을 사용하여 상당한 연산량이 요구된다.However, since a 2×2 inverse matrix operation is performed in the process of obtaining a motion vector value, it is necessary to divide it by a determinant of the matrix. In this case, when a general divider is used, a considerable amount of computation is required using a complex algorithm.
본 발명의 실시예에서는 상기 일반적인 나눗셈기 대신, 연산 특성을 고려한 효율적인 디바이더 유닛(divider unit)을 사용하여, 상기 디바이더 유닛은 다음의 도 10의 순서도에 따라 동작한다.In an exemplary embodiment of the present invention, an efficient divider unit in consideration of operation characteristics is used instead of the general divider, and the divider unit operates according to the flowchart of FIG. 10 below.
여기서, 상기 z는 나뉨수, 상기 d는 나눗수, 상기 i는 몫의 정수값, 상기 f는 소수점 자릿수를 나타낸다.Here, z is the number of divisions, d is the number of divisions, i is the integer value of the quotient, and f is the number of decimal places.
즉, 상기 도 10에 도시된 인테저 파트(integer part)는 상기 z가 상기 d보다 작거나 같을 때까지 상기 z를 상기 d로 빼주면서 몫을 누적하여, 몫을 구하고, 플랙션 파트(fraction part)는 나머지를 소수점으로 구한다.That is, the integer part shown in FIG. 10 accumulates the quotient while subtracting z by the d until the z is less than or equal to the d to obtain the quotient, and the fraction part ) Returns the remainder to the decimal point.
상기 디바이더 유닛은 몫의 크기에 따라 레이턴시가 비례하는 특성이 있지만, 모션 벡터를 추정하는 윈도우가 고정된 5×5 크기를 갖기 때문에, 계산된 모션 벡터 결과는 5 이하의 값을 얻게 된다.The divider unit has a characteristic in which the latency is proportional according to the size of the quotient, but since the window for estimating the motion vector has a fixed size of 5×5, the calculated motion vector result is 5 or less.
따라서 10 클록 사이클(clock cycles) 이내로 나눗셈 연산이 가능하기 때문에, 높은 하드웨어 리소스를 갖는 일반적인 나눗셈기 대신, 시프터(shifter)와 감산기(subtractor)만을 사용하여 간단하게 구현 가능하며, 적은 지연시간과 저면적으로 성능 열화없이 인버스 매트릭스 연산이 가능할 수 있다.Therefore, since division operation is possible within 10 clock cycles, it can be implemented simply by using only a shifter and a subtractor instead of a general divider with high hardware resources, and has low latency and low area. As a result, inverse matrix operation can be performed without performance degradation.
또한, 계산이 끝난 모션 벡터 값은 이전의 메모리(700)에 저장되어 있던 값과 더해져 다시 저장되며, 새 저장된 특징점 위치로부터 다시 모션 벡터를 계산하는 과정이 반복된다.In addition, the calculated motion vector value is added to the previously stored value in the
해당 과정은 설정된 반복(iteration) 횟수만큼 반복되며, 반복이 끝난 뒤, 계층적 방법을 적용함으로써, 최종 모션 벡터가 계산된다.This process is repeated as many times as a set number of iterations, and after the iteration is over, a final motion vector is calculated by applying a hierarchical method.
이와 같이, 상기 영상 기반 특징점 추적 장치(10)는 모든 특징점에 대해 이러한 추적 과정이 끝났을 때, 다음 프레임의 추적을 진행하는 과정을 반복하여, 매 프레임에서의 모션 벡터들의 평균치를 실시간으로 출력한다.In this way, the image-based feature
상기 모션 벡터 매니저(Motion Vector manager)(660)는 상기 모션 벡터 연산부(650)로부터 산출된 모션 벡터와 상기 메모리(700)에 저장된 특징점의 좌표 정보(또는 좌표값)를 서로 가산하여 보정된 특징점의 좌표 정보를 생성한다.The
또한, 상기 모션 벡터 매니저(660)는 상기 생성된 보정된 특징점의 좌표 정보를 상기 메모리(700)에 저장한다.In addition, the
이와 같이, 상기 모션 벡터 매니저(660)는 현재 특징점에서 계산된 모션 벡터를 보정한다.In this way, the
상기 모션 추정기(Motion Estimator)(670)는 복수의 상기 보정된 특징점의 좌표 정보(또는 복수의 모션 벡터)에 대한 평균치를 계산한다.The
또한, 상기 모션 추정기(670)는 상기 계산된 복수의 보정된 특징점의 좌표 정보에 대한 평균치(u,v 형태로 표현)를 상기 드론의 호버링을 위해서 상기 드론에 제공한다.In addition, the
상기 메모리(700)는 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory: RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory: ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다.The
또한, 상기 메모리(700)는 상기 특징점 검출부(400)로부터 검출된 복수의 특징점(또는 복수의 특징점의 좌표 정보)을 저장한다.In addition, the
또한, 상기 메모리(700)는 상기 특징점 추적부(600)에 의해 산출된 모션 벡터와 미리 저장된 특징점의 좌표 정보를 가산하여, 가산된 특징점의 좌표 정보(또는 보정된 특징점의 좌표 정보)를 저장한다.In addition, the
상기 제어부(800)는 상기 영상 기반 특징점 추적 장치(10)의 전반적인 제어 기능을 수행한다.The
또한, 상기 제어부(800)는 상기 메모리(700)에 저장된 프로그램 및 데이터를 이용하여 영상 기반 특징점 추적 장치(10)의 전반적인 제어 기능을 실행한다. 상기 제어부(800)는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다. CPU는 상기 메모리(700)에 액세스하여, 상기 메모리(700)에 저장된 O/S를 이용하여 부팅을 수행할 수 있으며, 상기 메모리(700)에 저장된 각종 프로그램, 콘텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.In addition, the
또한, 상기 제어부(800)는 미리 설정된 개수의 이미지(예를 들어 N장의 이미지)에서 특징점 추출 및 추적 과정이 끝나면, 다시 그 다음으로 입력되는 이미지들로부터 특징점 추출 및 추적 과정을 반복적으로 수행하도록 상기 영상 기반 특징점 추적 장치(10)에 포함된 다양한 구성 요소들을 제어한다.In addition, when the process of extracting and tracking feature points from a preset number of images (for example, N images) is finished, the
또한, 상기 제어부(800)는 미리 설정된 개수의 이미지(예를 들어 N장의 이미지) 중에서 첫 번째 이미지에 대해서 특징점 추출 과정이 수행되도록 상기 영상 기반 특징점 추적 장치(10)의 동작 모드를 특징점 검출 모드로 설정(또는 특징점 추적 모드에서 특징점 검출 모드로 전환/변환)한다.In addition, the
또한, 상기 제어부(800)는 미리 설정된 개수의 이미지(예를 들어 N장의 이미지) 중에서 첫 번째 이미지를 제외한 나머지 이미지에 대해서 특징점 추적 과정이 수행되도록 상기 영상 기반 특징점 추적 장치(10)의 동작 모드를 특징점 추적 모드로 설정(또는 특징점 검출 모드에서 특징점 추적 모드로 전환/변환)한다.In addition, the
또한, 상기 제어부(800)는 상기 프레임 버퍼(100), 상기 제 1 먹스(200), 상기 헤시안 행렬 연산부(300), 상기 특징점 검출부(400), 상기 제 2 먹스(500), 상기 특징점 추적부(600) 및 상기 메모리(700)의 동작을 제어하여, 미리 설정된 이미지 개수 단위로, 해당 이미지로부터 복수의 특징점을 검출하는 과정, 연속된 복수의 이미지에 대해 특징점을 추적하여 모션 벡터를 산출하는 과정을 반복 수행한다.In addition, the
이와 같이, 드론으로부터 획득된 연속된 복수의 영상을 근거로 복수의 특징점을 검출하고, 연속된 영상에 대해 검출된 특징점에 대한 추적을 수행할 수 있다.In this way, a plurality of feature points may be detected based on a plurality of consecutive images acquired from a drone, and the detected feature points may be tracked for the continuous images.
또한, 이와 같이, 특징점 검출과 특징점 추적 알고리즘에 공통으로 사용되는 연산 기능을 공유할 수 있다.In addition, as described above, a computation function commonly used in the feature point detection and feature point tracking algorithms can be shared.
또한, 이와 같이, 모션 벡터 값을 구하는 과정에서 연산 특성을 고려한 효율적인 나눗셈기를 제공할 수 있다.In addition, as described above, it is possible to provide an efficient divider in consideration of computational characteristics in the process of obtaining a motion vector value.
또한, 상기 영상 기반 특징점 추적 장치(10)는 성능 평가를 위해 도 11에 나타낸 DJI phantom4 drone을 활용하였다.In addition, the image-based feature
다양한 시나리오에 대해 비행 동작을 수행한 후, 각 시나리오별로 드론 하방 카메라로 촬영된 영상과 GPS 좌표 정보를 추출하였다.After performing flight motions for various scenarios, images captured by the drone's lower camera and GPS coordinate information were extracted for each scenario.
촬영된 영상에 대해 제안된 영상 기반 특징점 추적 장치(10)의 추적 결과를 누적시킨 경로와 추출된 GPS 좌표 정보 기반 이동경로를 비교하는 방법으로 추적 성능 평가를 수행하였다.Tracking performance evaluation was performed by comparing a route obtained by accumulating the tracking result of the proposed image-based feature
도 12 내지 도 14에 도시된 바와 같이, 잔디밭, 아스팔트 및 보도블록 환경에서, 실내 환경을 고려한 2m 이하의 고도에서 각각 10초간 비행을 통해 얻은 데이터로 실험을 진행하였다.As shown in FIGS. 12 to 14, experiments were conducted with data obtained by flying for 10 seconds each at an altitude of 2 m or less in consideration of the indoor environment in the environment of a lawn, asphalt and sidewalk block.
비행 영상은 30 fps로 획득되고, GPS 기록은 0.1초 단위로 기록되어 위도 및 경도 데이터로 저장하였다. 이때, 제안된 영상 기반 특징점 추적 장치(10)의 결과는 픽셀 단위로 출력되기 때문에, GPS 기반 이동경로와 비교하기 위해선 각 출력값에 대한 단위 변환이 필요하다. 따라서, 다음의 [수학식 15]를 통해 각 출력값을 메트릭 유닛(metric unit)으로 변환하여 비교 검증을 수행하였다.Flight images were acquired at 30 fps, and GPS records were recorded in 0.1 second increments and stored as latitude and longitude data. In this case, since the result of the proposed image-based feature
여기서, 상기 h는 드론의 고도를 나타내고, 상기 wx와 wy는 이미지 센서의 가로 길이 및 세로 길이를 각각 나타내고, 상기 f는 초점 거리를 나타내고, 상기 Rx 및 Ry는 수평 해상도 및 수직 해상도를 각각 나타낸다.Here, h denotes the altitude of the drone, w x and w y denotes the horizontal and vertical lengths of the image sensor, respectively, f denotes the focal length, and R x and R y denotes the horizontal resolution and the vertical resolution. Respectively.
상기 메트릭 유닛으로 변환된 영상 기반 특징점 추적 장치(10)의 출력을 누적시킨 결과와 GPS 좌표정보를 기반으로 획득한 이동경로를 도 15 내지 도 17에 나타내었다.15 to 17 show a result of accumulating the output of the image-based feature
본 발명의 실시예에 따른 상기 영상 기반 특징점 추적 장치(10)는 모든 실험 환경에 대해 GPS 기반 결과와 유사한 이동 궤적을 갖는 것을 상기 도 15 내지 도 17을 통해 확인할 수 있다.It can be seen from FIGS. 15 to 17 that the image-based feature
또한, GPS 기반으로 획득한 이동경로와 상기 영상 기반 특징점 추적 장치(10)의 출력결과에 대한 RMSE를 다음의 [표 1]에 나타내었다.In addition, the RMSE for the movement path acquired based on GPS and the output result of the image-based feature
상기 [표 1]과 같이, 상기 영상 기반 특징점 추적 장치(10)는 GPS와 유사한 추적 성능 결과를 보임으로써, 실내 환경 등 GPS가 제한된 상황에서도 상기 영상 기반 특징점 추적 장치(10)를 이용하여 호버링이 가능함을 확인할 수 있다.As shown in [Table 1], the image-based feature
또한, 상기 영상 기반 특징점 추적 장치(10)는 Verilog HDL을 이용하여 설계되었으며, 설계 후 Xilinx Virtex-7 xe7vx1140tflg1930-1 FPGA(Field Programmable Gate Array) 디바이스에서 구현 및 검증하였다.In addition, the image-based feature
다음의 [표 2]에 상기 영상 기반 특징점 추적 장치(10)의 구현 결과를 나타내었다. 최대 130MHz의 동작 주파수로 총 2744개의 Slice와 25개의 DSP, 11.5개의 block RAM으로 구현 가능함을 확인하였다.Table 2 below shows the implementation results of the image-based feature
xc7vx1140tflg1930-1Xilinx Virtex-7
xc7vx1140tflg1930-1
다음의 [표 3]은 기존 FPGA 기반 PLK 특징점 추적기 설계와 하드웨어 리소스(hardware resource) 비교 결과로, 상기 영상 기반 특징점 추적 장치(10)는 기존 피라미달(pyramidal) KLT 특징점 추적기 대비 70% 이상의 면적 감소를 보였다.The following [Table 3] is a result of comparing the design of the conventional FPGA-based PLK feature point tracker and hardware resource. The image-based feature
또한, 한 장의 영상을 리드(read)하는데 걸리는 클록 사이클(clock cycle)을 프레임 사이클(frame cycle)이라 하면, 상기 영상 기반 특징점 추적 장치(10)의 경우, 특징점 검출 과정에서는 약 1.01 프레임 사이클이 소요되고, 특징점 추적에서는 특징점 하나당 평균 2550 클록 사이클이 소요된다.In addition, if the clock cycle taken to read one image is called a frame cycle, in the case of the image-based feature
따라서, 130MHz의 동작 주파수에서 640×480 VGA 영상에 대해 386 fps의 처리가 가능하고, 최대 122개의 특징점에 대해 추적이 가능하다.Therefore, it is possible to process 386 fps for a 640×480 VGA image at an operating frequency of 130 MHz, and to track a maximum of 122 feature points.
다음의 [표 4]는 기존 FPGA 기반 특징점 추적기들과의 처리 속도 및 특징점 추적 가능 개수 비교 결과로, 상기 영상 기반 특징점 추적 장치(10)는 기존 대비 더 빠른 속도로 처리 가능함을 나타내었다.The following [Table 4] is a result of comparing the processing speed and the number of feature points traceable with the existing FPGA-based feature point trackers, and it is shown that the image-based feature
여기서, 상기 비교 대상 1은 G. K. Wonjun Jang, Sungchanoh, "A hardwar implementation of pyramidal KLT feature tracker for driving assistance system," in Proceedings of the 12th International IEEE Conference on Intelligent Transportation Systems, St Louis, MO, USA, Oct. 2009, pp. 220-225.이고, 상기 비교 대상 2는 Y. C. Ham, Y. Shi, "Developing a smart camera for gesture recognition in HCI applications", Proc. 13th IEEE Int. Symp. Consumer Electron. (ISCE), pp. 994-998, May 2009.이고, 상기 비교 대상 3은 Zhilei Chai, Jianbo Shi, "Improving KLT in Embedded Systems by Processing Oversampling Video Sequence in Real-Time", RECONFIG 2011 Reconfigurable Computing and FPGAs International Conference on Reconfigurable Computing and FPGAs International Conference on 2011, pp. 297-302이다.Here, the
이와 같이, 상기 영상 기반 특징점 추적 장치(10)는 드론의 호버링을 위한 효율적인 구조의 KLT 특징점 추적 장치를 제공하고, 이의 하드웨어 구조 설계 결과를 제공한다.As described above, the image-based feature
또한, 상기 영상 기반 특징점 추적 장치(10)는 Shi-Tomasi 특징점 검출 알고리즘과 PLK 특징점 추적 알고리즘을 간소화하고, 효율적인 하드웨어 설계 및 특징점 검출부와 특징점 추적부의 연산 공유 구조를 통해 저면적, 저전력의 효율적인 구조를 제공한다.In addition, the image-based feature
또한, 상기 영상 기반 특징점 추적 장치(10)는 실제 드론환경에서 실험 및 검증을 수행한 결과, 드론에 탑재된 GPS 정보 기반 결과와 유사한 성능을 갖는 것을 확인하였으며, 이의 실시간 검증을 위해 하드웨어 구조 설계를 진행하였다. FPGA 기반 구현 결과, 최대 130MHz의 동작 주파수로 총 2744개의 Slice와 25개의 DSP, 92.85Kbit의 on chip memory로 구현 가능함을 확인하였다. 또한, 640×480 VGA 영상에 대해 최대 386fps로 실시간 동작 가능함을 확인하였다.In addition, the image-based feature
이하에서는, 본 발명에 따른 드론 정지 비행을 위한 영상 기반 특징점 추적 방법을 도 1 내지 도 18을 참조하여 상세히 설명한다.Hereinafter, an image-based feature point tracking method for a stop flight of a drone according to the present invention will be described in detail with reference to FIGS. 1 to 18.
도 18은 본 발명의 실시예에 따른 드론 정지 비행을 위한 영상 기반 특징점 추적 방법을 나타낸 흐름도이다.18 is a flowchart illustrating an image-based feature point tracking method for stationary flight of a drone according to an embodiment of the present invention.
먼저, 프레임 버퍼(100)는 드론(미도시)으로부터 획득되는 연속된 복수의 이미지(또는 복수의 영상/하방 영상)를 임시 저장한다. 이때, 상기 드론으로부터 획득되는 이미지는 상기 드론의 하부에 구비된 카메라(미도시)를 통해 해당 드론이 위치하는(또는 이동하는) 지역의 하방에 대응하는 이미지일 수 있다.First, the
또한, 제어부(800)는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치(10)의 동작 모드를 특징점 검출 모드로 설정한다.In addition, the
일 예로, 상기 프레임 버퍼(100)는 상기 드론으로부터 획득되는 연속된 제 1 이미지 내지 제 10 이미지를 임시 저장한다.For example, the
또한, 상기 제어부(800)는 상기 영상 기반 특징점 추적 장치(10)의 동작 모드를 특징점 검출 모드로 설정한다(S1810).In addition, the
이후, 제 1 먹스(200)는 상기 프레임 버퍼(100)로부터 제공되는 연속된 복수의 이미지 중에서 첫 번째 이미지를 출력한다.Thereafter, the
일 예로, 상기 제 1 먹스(200)는 상기 프레임 버퍼(100)로부터 출력되는 제 1 이미지 내지 제 3 이미지 중에서 첫 번째 이미지인 제 1 이미지를 출력한다(S1820).For example, the
이후, 헤시안 행렬 연산부(Hessian-matrix calculation unit: HSU)(300)는 상기 제 1 먹스(200)로부터 출력되는 첫 번째 이미지 또는 특징점 추적부(600)로부터 출력되는 보간된 첫 번째 이미지로부터 특징점 검출(또는 특징점 추출) 과정과 특징점 추적 과정에서의 동일한 행렬의 원소를 계산(또는 산출)한다.Thereafter, the Hessian-matrix calculation unit (HSU) 300 detects feature points from the first image output from the
즉, 상기 헤시안 행렬 연산부(300)는 상기 제 1 먹스(200)로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부(600)로부터 출력되는 보간된 첫 번째 이미지에 대해서 상기 영상 기반 특징점 추적 장치(10)의 동작 모드에 따라 상기 제 1 먹스(200)로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부(600)로부터 출력되는 보간된 첫 번째 이미지로부터 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 계산한다.That is, the Hessian
또한, 상기 헤시안 행렬 연산부(300)는 상기 계산된 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)에 복수의 곱셈기를 적용하여 상기 특징점 검출 과정과 특징점 추적 과정에서 동일하게 사용되는 복수의 변수를 생성하고, 상기 생성된 복수의 변수에 대해 가중치를 각각 적용한 후 가우시안 필터링하여, 헤시안 행렬 연산부(300)의 출력값(또는 가우시안 필터링된 상기 헤시안 행렬 연산부(300)의 출력값)(예를 들어 가중치가 적용된 widx2, widxdy, widy2)을 생성(또는 출력)한다.In addition, the
일 예로, 사기 특징점 추적부(600)는 상기 제 1 먹스(200)로부터 출력되는 제 1 이미지에 대해 보간 연산을 수행하고, 보간된 제 1 이미지를 상기 헤시안 행렬 연산부(300)로 출력한다.For example, the fraudulent feature
또한, 상기 영상 기반 특징점 추적 장치(10)의 동작 모드가 특징점 검출 모드인 상태에서, 상기 헤시안 행렬 연산부(300)는 상기 제 1 먹스(200)로부터 출력되는 제 1 이미지와 상기 특징점 추적부(600)로부터 출력되는 보간된 제 1 이미지 중에서 상기 특징점 검출 모드에 따라 상기 제 1 먹스(200)로부터 출력되는 제 1 이미지를 선택한다.In addition, in a state in which the operation mode of the image-based feature
또한, 상기 헤시안 행렬 연산부(300)는 상기 선택된 제 1 이미지로부터 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 계산한다.In addition, the
또한, 상기 헤시안 행렬 연산부(300)는 상기 계산된 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)에 곱셈기를 각각 적용하여 복수의 변수를 생성하고, 상기 생성된 복수의 변수에 대해 가중치를 적용한 후 가우시안 필터링하여, 헤시안 행렬 연산부(300)의 출력값(예를 들어 widx2, widxdy, widy2)을 생성(또는 출력)한다.In addition, the
다른 일 예로, 상기 특징점 추적부(600)는 상기 제 1 먹스(200)로부터 출력되는 제 2 이미지에 대해 보간 연산을 수행하고, 보간된 제 2 이미지를 상기 헤시안 행렬 연산부(300)로 출력한다.As another example, the feature
또한, 상기 영상 기반 특징점 추적 장치(10)의 동작 모드가 특징점 추적 모드인 상태에서, 상기 헤시안 행렬 연산부(300)는 상기 제 1 먹스(200)로부터 출력되는 제 2 이미지와 상기 특징점 추적부(600)로부터 출력되는 보간된 제 2 이미지 중에서 상기 특징점 추적 모드에 따라 상기 특징점 추적부(600)로부터 출력되는 보간된 제 2 이미지를 선택한다.In addition, in a state in which the operation mode of the image-based feature
또한, 상기 헤시안 행렬 연산부(300)는 상기 선택된 보간된 제 2 이미지로부터 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 계산한다.In addition, the
또한, 상기 헤시안 행렬 연산부(300)는 상기 계산된 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)에 곱셈기를 각각 적용하여 복수의 변수를 생성하고, 상기 생성된 복수의 변수에 대해 가중치를 적용한 후 가우시안 필터링하여, 헤시안 행렬 연산부(300)의 출력값을 생성(또는 출력)한다(S1830).In addition, the
이후, 특징점 검출부(400)는 상기 첫 번째 이미지로부터 복수의 특징점을 검출한다.Thereafter, the feature
즉, 상기 특징점 검출부(400)는 상기 헤시안 행렬 연산부(300)로부터의 출력값(또는 가우시안 필터링된 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy))에 대해 고윳값을 계산한다.That is, the feature
또한, 상기 특징점 검출부(400)는 상기 계산된 복수의 고윳값을 내림차순으로 정렬한다.In addition, the feature
또한, 상기 특징점 검출부(400)는 내림차순으로 정렬된 복수의 고윳값 중에서 영상 경계에 있지 않으면서도 고윳값이 임계값 이상인 지점을 특징점 후보군으로 선정한다. 이때, 상기 특징점 검출부(400)는 상기 내림차순으로 정렬된 복수의 고윳값 중에서 고윳값이 높은 순으로 미리 설정된 개수(예를 들어 128개)를 상기 특징점 후보군으로 선정할 수도 있다.In addition, the feature
또한, 상기 특징점 검출부(400)는 상기 선정된 특징점 후보군에 포함된 다수의 특징점 중에서 일정 거리 내의 특징점을 제외하여 최종적인 복수의 특징점을 선정(또는 선별)한다. 이때, 상기 특징점 검출부(400)는 상기 이미지를 복수의 영역으로 나누고(또는 분할하고), 각 영역 내에서 각각 가장 먼저 입력되는 특징점 후보군 하나만을 최종 특징점에 포함시킬 수 있다.In addition, the feature
또한, 상기 특징점 검출부(400)는 상기 선정된(또는 선별된) 복수의 특징점(또는 복수의 특징점의 좌표 정보)을 메모리(700)에 저장한다.In addition, the feature
또한, 상기 제어부(800)는 상기 영상 기반 특징점 추적 장치(10)의 동작 모드를 특징점 검출 모드에서 특징점 추적 모드로 변환(또는 설정)한다.In addition, the
일 예로, 상기 특징점 검출부(400)는 상기 헤시안 행렬 연산부(300)로부터의 출력값에 대해 고윳값을 계산한다.For example, the feature
또한, 상기 특징점 검출부(400)는 상기 계산된 복수의 고윳값을 내림차순으로 정렬한다.In addition, the feature
또한, 상기 특징점 검출부(400)는 내림차순으로 정렬된 복수의 고윳값 중에서 미리 설정된 128개를 상기 특징점 후보군으로 선정한다.In addition, the feature
또한, 상기 특징점 검출부(400)는 상기 선정된 특징점 후보군에 포함된 128개의 특징점 중에서 일정 거리 내의 특징점을 제외하여 최종적인 복수의 특징점(예를 들어 100개의 특징점)을 선정한다.In addition, the feature
또한, 상기 특징점 검출부(400)는 상기 선정된 100개의 특징점(또는 100개의 특징점의 좌표 정보/좌표값)을 상기 메모리(700)에 저장한다.In addition, the feature
또한, 상기 제어부(800)는 상기 영상 기반 특징점 추적 장치(10)의 동작 모드를 특징점 검출 모드에서 특징점 추적 모드로 변환한다(S1840).In addition, the
이후, 제 2 먹스(500)는 상기 프레임 버퍼(100)로부터 제공되는 연속된 복수의 이미지 중에서 현재 시점의 이미지(또는 앞서 상기 제 1 먹스(200)에서의 출력 이미지 다음 순서의 이미지)를 출력한다.Thereafter, the
일 예로, 상기 제 2 먹스(500)는 상기 제 1 프레임 버퍼로부터 출력되는 제 1 이미지 내지 제 3 이미지 중에서 첫 번째 이미지인 상기 제 1 이미지 다음 순서인 제 2 이미지를 출력한다(S1850).As an example, the
이후, 상기 특징점 추적부(600)는 연속된 복수의 이미지(예를 들어 이전 이미지 및 현재 이미지)에 대해 특징점을 추적하여 모션 벡터를 산출한다.Thereafter, the feature
즉, 상기 특징점 추적부(600)는 상기 제 1 먹스(200)로부터 출력되는 이전 이미지를 보간 처리하고, 상기 제 2 먹스(500)로부터 출력되는 현재 이미지를 보간 처리한다.That is, the feature
또한, 상기 특징점 추적부(600)는 상기 보간된 이전 이미지와 상기 보간된 현재 이미지 간의 명암차(dt)를 계산한다.In addition, the feature
또한, 상기 특징점 추적부(600)는 상기 헤시안 행렬 연산부(300)에서 계산된 이전 이미지에 대한 x 방향으로의 명암차(dx)와 상기 계산된 명암차(dt)에 가중치와 곱셈기를 적용한 후 가우시안 필터링하고, 상기 헤시안 행렬 연산부(300)에서 계산된 이전 이미지에 대한 y 방향으로의 명암차(dy)와 상기 계산된 명암차(dt)에 가중치와 곱셈기를 적용한 후 가우시안 필터링한다.In addition, the feature
또한, 상기 특징점 추적부(600)는 상기 가우시안 필터링된 값(예를 들어 widxdt, widydt)과, 상기 헤시안 행렬 연산부(300)에서의 출력값(예를 들어 widx2, widxdy, widy2)을 근거로 모션 벡터(예를 들어 (u,v))를 산출한다.In addition, the feature
또한, 상기 특징점 추적부(600)는 상기 산출된 모션 벡터와 상기 메모리(700)에 저장된 특징점의 좌표 정보(또는 좌표값)를 서로 가산하여 보정된 특징점의 좌표 정보를 상기 메모리(700)에 저장한다.In addition, the feature
또한, 상기 특징점 추적부(600)는 상기 보정된 특징점의 좌표 정보를 입력값으로 하여 미리 설정된 횟수(예를 들어 5회)만큼 모션 벡터를 산출하는 과정을 반복 수행하여 최종적인 모션 벡터를 산출한다.In addition, the feature
또한, 상기 특징점 추적부(600)는 상기 드론에서 호버링 기능을 수행할 수 있도록 상기 산출된 모션 벡터를 상기 드론에 제공한다. 이에 따라, 상기 드론은 상기 특징점 추적부(600)로부터 제공되는 모션 벡터를 근거로 해당 드론의 동작을 제어하여 호버링 기능을 수행할 수 있다.In addition, the feature
일 예로, 상기 특징점 추적부(600)는 상기 제 1 먹스(200)로부터 출력되는 제 1 이미지를 보간 처리하고, 상기 제 2 먹스(500)로부터 출력되는 제 2 이미지를 보간 처리한다.For example, the feature
또한, 상기 특징점 추적부(600)는 상기 보간된 제 1 이미지와 상기 보간된 제 2 이미지 간의 명암차(dt)를 계산한다.In addition, the feature
또한, 상기 특징점 추적부(600)는 상기 헤시안 행렬 연산부(300)에서 계산된 제 1 이미지에 대한 x 방향으로의 명암차(dx)와 상기 계산된 명암차(dt)에 곱셈기를 적용하여 다른 변수(예를 들어 dxdt)를 생성하고, 상기 생성된 다른 변수에 대해 가중치를 적용한 후 가우시안 필터링하고, 상기 헤시안 행렬 연산부(300)에서 계산된 제 1 이미지에 대한 y 방향으로의 명암차(dy)와 상기 계산된 명암차(dt)에 곱셈기를 적용하여 다른 변수(예를 들어 dydt)를 생성하고, 상기 생성된 다른 변수에 대해 가중치를 적용한 후 가우시안 필터링한다.In addition, the feature
또한, 상기 특징점 추적부(600)는 상기 가우시안 필터링된 값(예를 들어 widxdt, widydt)과, 상기 헤시안 행렬 연산부(300)에서의 가우시안 필터링된 값(예를 들어 widx2, widxdy, widy2)을 근거로 모션 벡터를 산출한다.In addition, the feature
또한, 상기 특징점 추적부(600)는 상기 산출된 모션 벡터와 상기 메모리(700)에 저장된 특징점의 좌표 정보(또는 좌표값)를 서로 가산하여 보정된 특징점의 좌표 정보를 상기 메모리(700)에 저장한다.In addition, the feature
또한, 상기 특징점 추적부(600)는 상기 보정된 특징점의 좌표 정보를 입력값으로 하여 미리 설정된 횟수인 5회만큼 모션 벡터를 산출하는 과정을 반복 수행하여 최종적인 모션 벡터를 산출한다.In addition, the feature
또한, 상기 특징점 추적부(600)는 상기 드론에서 호버링 기능을 수행할 수 있도록 상기 산출된 모션 벡터를 상기 드론에 제공한다(S1860).In addition, the feature
이후, 상기 제어부(800)는 상기 프레임 버퍼(100), 상기 제 1 먹스(200), 상기 헤시안 행렬 연산부(300), 상기 특징점 검출부(400), 상기 제 2 먹스(500), 상기 특징점 추적부(600) 및 상기 메모리(700)의 동작을 제어하여, 미리 설정된 이미지 개수 단위로, 해당 이미지로부터 복수의 특징점을 검출하는 과정, 연속된 복수의 이미지에 대해 특징점을 추적하여 모션 벡터를 산출하는 과정을 반복 수행한다.Thereafter, the
일 예로, 상기 프레임 버퍼(100), 상기 제 1 먹스(200), 상기 헤시안 행렬 연산부(300), 상기 특징점 검출부(400), 상기 제 2 먹스(500), 상기 특징점 추적부(600) 및 상기 메모리(700)는 상기 제어부(800)의 제어에 의해, 미리 설정된 이미지 개수인 10개 단위로, 10개의 이미지 중 첫 번째 이미지에 대해서 특징점을 검출하는 과정을 수행하고, 10개의 이미지 중 연속된 2개의 이미지에 대해서 특징점을 추적하는 과정을 수행한다(S1870).For example, the
본 발명의 실시예는 앞서 설명된 바와 같이, 드론으로부터 획득된 연속된 복수의 영상을 근거로 복수의 특징점을 검출하고, 연속된 영상에 대해 검출된 특징점에 대한 추적을 수행하여, 성능 저하가 없으면서도 간소화를 통해 복잡도를 줄일 수 있다.As described above, the embodiment of the present invention detects a plurality of feature points based on a plurality of consecutive images acquired from a drone, and performs tracking on the detected feature points for consecutive images, without deteriorating performance. Complexity can be reduced through simplification.
또한, 본 발명의 실시예는 앞서 설명된 바와 같이, 특징점 검출과 특징점 추적 알고리즘에 공통으로 사용되는 연산 기능을 공유하여, 저전력 및 저면적으로도 우수한 추적 성능 지원이 가능할 수 있다.In addition, as described above, the embodiment of the present invention shares an operation function commonly used for feature point detection and feature point tracking algorithms, so that excellent tracking performance can be supported even with low power consumption and low area.
또한, 본 발명의 실시예는 앞서 설명된 바와 같이, 모션 벡터 값을 구하는 과정에서 연산 특성을 고려한 효율적인 나눗셈기를 제공하여, 기존의 나눗셈기 대신 연산량을 줄여 효율적인 시스템 운영이 가능할 수 있다.In addition, as described above, an exemplary embodiment of the present invention provides an efficient divider in consideration of arithmetic characteristics in the process of obtaining a motion vector value, so that an efficient system operation may be possible by reducing an amount of computation instead of a conventional divider.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above-described contents may be modified and modified without departing from the essential characteristics of the present invention by those of ordinary skill in the technical field to which the present invention pertains. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.
10: 드론 정지 비행을 위한 영상 기반 특징점 추적 장치
100: 프레임 버퍼
200: 제 1 먹스
300: 헤시안 행렬 연산부
400: 특징점 검출부
500: 제 2 먹스
600: 특징점 추적부
700: 메모리
800: 제어부
310: 제 3 먹스
320: 미분기
330: 복수의 곱셈기
340: 복수의 가우시안 필터
410: 특징점 가능성 연산부
420: 경계 및 임계치 확인부
430: 비최대 억제부
440: 영역 확인부
610: 복수의 보간부
620: 영상차 계산부
630: 복수의 다른 곱셈기
640: 복수의 다른 가우시안 필터
650: 모션 벡터 연산부
660: 모션 벡터 매니저
670: 모션 추정기10: Image-based feature point tracking device for stationary drone flight
100: frame buffer 200: first mux
300: Hessian matrix operation unit 400: feature point detection unit
500: second mux 600: feature point tracking unit
700: memory 800: control unit
310: third mux 320: differentiator
330: multiple multipliers 340: multiple Gaussian filters
410: feature point possibility calculation unit 420: boundary and threshold check unit
430: non-maximum suppression unit 440: area check unit
610: a plurality of interpolation units 620: image difference calculation unit
630: multiple different multipliers 640: multiple different Gaussian filters
650: motion vector operation unit 660: motion vector manager
670: motion estimator
Claims (36)
상기 프레임 버퍼를 포함하는 영상 기반 특징점 추적 장치의 동작 모드를 특징점 검출 모드 또는 특징점 추적 모드로 설정하는 제어부;
상기 프레임 버퍼로부터 제공되는 연속된 복수의 이미지 중에서 첫 번째 이미지를 출력하는 제 1 먹스;
상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지로부터 특징점 검출 과정과 특징점 추적 과정에서의 동일한 행렬의 원소를 계산하는 헤시안 행렬 연산부(Hessian-matrix calculation unit);
상기 첫 번째 이미지로부터 복수의 특징점을 검출하는 특징점 검출부;
상기 프레임 버퍼로부터 제공되는 연속된 복수의 이미지 중에서 현재 시점의 이미지를 출력하는 제 2 먹스; 및
상기 연속된 복수의 이미지에 포함된 이전 이미지 및 현재 이미지에 대해 특징점을 추적하여 모션 벡터를 산출하는 상기 특징점 추적부를 포함하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.A frame buffer temporarily storing a plurality of consecutive images obtained from the drone;
A control unit for setting an operation mode of the image-based feature point tracking device including the frame buffer to a feature point detection mode or a feature point tracking mode;
A first mux outputting a first image from among a plurality of consecutive images provided from the frame buffer;
A Hessian-matrix calculation unit that calculates elements of the same matrix in a feature point detection process and a feature point tracking process from the first image output from the first mux or the interpolated first image output from the feature point tracking unit ;
A feature point detector for detecting a plurality of feature points from the first image;
A second mux outputting an image of a current viewpoint from among a plurality of consecutive images provided from the frame buffer; And
An image-based feature point tracking device for a drone stop flight, including the feature point tracking unit for calculating a motion vector by tracking feature points with respect to a previous image and a current image included in the plurality of consecutive images.
상기 복수의 이미지는,
상기 드론의 하부에 구비된 카메라를 통해 상기 드론이 위치하는 지역의 하방에 대응하는 이미지인 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 1,
The plurality of images,
An image-based feature point tracking device for a drone stop flight, characterized in that the image corresponding to a lower portion of an area in which the drone is located through a camera provided under the drone.
상기 헤시안 행렬 연산부는,
상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지에 대해서 상기 영상 기반 특징점 추적 장치의 동작 모드가 특징점 검출 모드일 때, 상기 제 1 먹스로부터 출력되는 첫 번째 이미지로부터 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 계산하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 1,
The Hessian matrix operation unit,
When the operation mode of the image-based feature point tracking device is a feature point detection mode for a first image output from the first mux or an interpolated first image output from the feature point tracking unit, a first output from the first mux An image-based feature point tracking device for stationary drone flight, characterized in that calculating a contrast difference (dx) in the x direction and a contrast difference (dy) in the y direction from the image.
상기 헤시안 행렬 연산부는,
상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지에 대해서 상기 영상 기반 특징점 추적 장치의 동작 모드가 특징점 추적 모드일 때, 상기 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지로부터 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 계산하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 3,
The Hessian matrix operation unit,
With respect to the first image output from the first mux or the interpolated first image output from the feature point tracking unit, when the operation mode of the image-based feature point tracking device is a feature point tracking mode, the interpolated output from the feature point tracking unit An image-based feature point tracking device for stationary drone flight, characterized in that calculating a contrast difference (dx) in the x direction and a contrast difference (dy) in the y direction from the first image.
상기 헤시안 행렬 연산부는,
상기 계산된 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)에 복수의 곱셈기를 적용하여 상기 특징점 검출 과정과 특징점 추적 과정에서 동일하게 사용되는 복수의 변수를 생성하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 4,
The Hessian matrix operation unit,
A plurality of multipliers are applied to the calculated contrast difference in the x direction (dx) and the contrast difference in the y direction (dy) to generate a plurality of variables that are used equally in the process of detecting the feature point and the process of tracking the feature point. Image-based feature point tracking device for stationary flight of drones.
상기 헤시안 행렬 연산부는,
상기 생성된 복수의 변수에 대해 가중치를 각각 적용한 후 가우시안 필터링하여 상기 동일한 행렬의 원소인 상기 헤시안 행렬 연산부의 출력값을 생성하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 5,
The Hessian matrix operation unit,
The image-based feature point tracking apparatus for drone stop flight, characterized in that for generating an output value of the Hessian matrix operator, which is an element of the same matrix, by applying a weight to each of the generated variables and then Gaussian filtering.
상기 특징점 검출부는,
상기 헤시안 행렬 연산부로부터의 출력값에 대해 고윳값을 계산하고, 상기 계산된 복수의 고윳값을 내림차순으로 정렬하고, 상기 내림차순으로 정렬된 복수의 고윳값 중에서 고윳값이 높은 순으로 미리 설정된 개수를 특징점 후보군으로 선정하고, 상기 선정된 특징점 후보군에 포함된 다수의 특징점 중에서 일정 거리 내의 특징점을 제외하여 최종적인 복수의 특징점을 선정하고, 상기 선정된 복수의 특징점의 좌표 정보를 메모리에 저장하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 1,
The feature point detection unit,
Calculate a high eigen value for the output value from the Hessian matrix operator, sort the calculated plurality of high eigen values in descending order, and feature a preset number in the order of high eigen value among the plurality of high eigen values sorted in the descending order. Selecting as a candidate group, selecting a final plurality of feature points excluding feature points within a certain distance from among a plurality of feature points included in the selected feature point candidate group, and storing coordinate information of the selected plurality of feature points in a memory. A video-based feature point tracking device for stopping flying drones.
상기 특징점 검출부는,
상기 첫 번째 이미지를 복수의 영역으로 나누고, 각 영역 내에서 각각 가장 먼저 입력되는 특징점 후보군 하나만을 최종 특징점에 포함시키는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 7,
The feature point detection unit,
Dividing the first image into a plurality of regions, and including only one of the first feature point candidate group inputted first in each region as a final feature point.
상기 특징점 추적부는,
상기 제 1 먹스로부터 출력되는 이전 이미지를 보간 처리하고, 상기 제 2 먹스로부터 출력되는 현재 이미지를 보간 처리하고, 상기 보간된 이전 이미지와 상기 보간된 현재 이미지 간의 명암차(dt)를 계산하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 1,
The feature point tracking unit,
Interpolating a previous image output from the first mux, interpolating a current image output from the second mux, and calculating a contrast difference (dt) between the interpolated previous image and the interpolated current image Image-based feature point tracking device for stationary flight of drones.
상기 특징점 추적부는,
상기 헤시안 행렬 연산부에서 계산된 이전 이미지에 대한 x 방향으로의 명암차(dx)와 상기 계산된 명암차(dt)에 가중치와 곱셈기를 적용한 후 가우시안 필터링하고, 상기 헤시안 행렬 연산부에서 계산된 이전 이미지에 대한 y 방향으로의 명암차(dy)와 상기 계산된 명암차(dt)에 가중치와 곱셈기를 적용한 후 가우시안 필터링하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 9,
The feature point tracking unit,
After applying a weight and a multiplier to the x-direction contrast (dx) and the calculated contrast (dt) with respect to the previous image calculated by the Hessian matrix calculation unit, Gaussian filtering is performed, and the previous calculated by the Hessian matrix calculation unit An image-based feature point tracking device for stationary drone flight, comprising applying a weight and a multiplier to the contrast (dy) in the y direction of the image and the calculated contrast (dt), and then performing Gaussian filtering.
상기 특징점 추적부는,
상기 가우시안 필터링된 값과 상기 헤시안 행렬 연산부에서의 출력값을 근거로 모션 벡터를 산출하고, 상기 산출된 모션 벡터와 메모리에 저장된 특징점의 좌표 정보를 서로 가산하여 보정된 특징점의 좌표 정보를 상기 메모리에 저장하고, 상기 보정된 특징점의 좌표 정보를 입력값으로 하여 미리 설정된 횟수만큼 모션 벡터를 산출하는 과정을 반복 수행하여 최종적인 모션 벡터를 산출하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 10,
The feature point tracking unit,
A motion vector is calculated based on the Gaussian filtered value and an output value from the Hessian matrix calculator, and the calculated coordinate information of the feature point is added to the memory by adding the calculated motion vector and the coordinate information of the feature point stored in the memory to each other. An image-based feature point tracking device for drone stationary flight, characterized in that the process of calculating a motion vector by a predetermined number of times is repeatedly performed by storing the coordinate information of the corrected feature point as an input value and calculating a final motion vector. .
제어부에 의해, 상기 제어부를 포함하는 영상 기반 특징점 추적 장치의 동작 모드를 특징점 검출 모드로 설정하는 단계;
제 1 먹스에 의해, 상기 프레임 버퍼로부터 제공되는 연속된 복수의 이미지 중에서 첫 번째 이미지를 출력하는 단계;
헤시안 행렬 연산부에 의해, 상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지로부터 특징점 검출 과정과 특징점 추적 과정에서의 동일한 행렬의 원소를 계산하는 단계;
특징점 검출부에 의해, 상기 첫 번째 이미지로부터 복수의 특징점을 검출하는 단계;
상기 제어부에 의해, 상기 영상 기반 특징점 추적 장치의 동작 모드를 특징점 검출 모드에서 특징점 추적 모드로 변환하는 단계;
제 2 먹스에 의해, 상기 프레임 버퍼로부터 제공되는 연속된 복수의 이미지 중에서 현재 시점의 이미지를 출력하는 단계; 및
상기 특징점 추적부에 의해, 상기 연속된 복수의 이미지에 포함된 이전 이미지 및 현재 이미지에 대해 특징점을 추적하여 모션 벡터를 산출하는 단계를 포함하는 드론 정지 비행을 위한 영상 기반 특징점 추적 방법.Temporarily storing a plurality of consecutive images obtained from the drone by the frame buffer;
Setting, by a control unit, an operation mode of the image-based feature point tracking device including the control unit as a feature point detection mode;
Outputting, by a first mux, a first image from among a plurality of consecutive images provided from the frame buffer;
Calculating, by a Hessian matrix operator, an element of the same matrix in a feature point detection process and a feature point tracking process from a first image output from the first mux or an interpolated first image output from a feature point tracking unit;
Detecting, by a feature point detection unit, a plurality of feature points from the first image;
Converting, by the control unit, an operation mode of the image-based feature point tracking device from a feature point detection mode to a feature point tracking mode;
Outputting, by a second mux, an image of a current viewpoint from among a plurality of consecutive images provided from the frame buffer; And
And calculating, by the feature point tracking unit, a motion vector by tracking feature points for a previous image and a current image included in the plurality of consecutive images.
상기 복수의 이미지는,
상기 드론의 하부에 구비된 카메라를 통해 상기 드론이 위치하는 지역의 하방에 대응하는 이미지인 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 방법.The method of claim 12,
The plurality of images,
An image-based feature point tracking method for a stationary flight of a drone, characterized in that an image corresponding to a lower portion of an area in which the drone is located through a camera provided under the drone.
상기 동일한 행렬의 원소를 계산하는 단계는,
상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지에 대해서 상기 영상 기반 특징점 추적 장치의 동작 모드가 특징점 검출 모드일 때, 상기 제 1 먹스로부터 출력되는 첫 번째 이미지로부터 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 계산하는 과정;
상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지에 대해서 상기 영상 기반 특징점 추적 장치의 동작 모드가 특징점 추적 모드일 때, 상기 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지로부터 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 계산하는 과정;
상기 계산된 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)에 복수의 곱셈기를 적용하여 상기 특징점 검출 과정과 특징점 추적 과정에서 동일하게 사용되는 복수의 변수를 생성하는 과정; 및
상기 생성된 복수의 변수에 대해 가중치를 각각 적용한 후 가우시안 필터링하여 상기 동일한 행렬의 원소인 상기 헤시안 행렬 연산부의 출력값을 생성하는 과정을 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 방법.The method of claim 12,
The step of calculating the elements of the same matrix,
When the operation mode of the image-based feature point tracking device is a feature point detection mode for a first image output from the first mux or an interpolated first image output from the feature point tracking unit, a first output from the first mux Calculating a contrast difference in the x direction (dx) and a contrast difference in the y direction (dy) from the image;
With respect to the first image output from the first mux or the interpolated first image output from the feature point tracking unit, when the operation mode of the image-based feature point tracking device is a feature point tracking mode, the interpolated output from the feature point tracking unit Calculating a contrast difference (dx) in the x direction and a contrast difference (dy) in the y direction from the first image;
Generating a plurality of variables equally used in the feature point detection process and feature point tracking process by applying a plurality of multipliers to the calculated contrast difference in the x direction (dx) and the contrast difference in the y direction (dy); And
And generating an output value of the Hessian matrix operator, which is an element of the same matrix, by applying a weight to each of the generated variables and then performing Gaussian filtering. .
상기 첫 번째 이미지로부터 복수의 특징점을 검출하는 단계는,
상기 헤시안 행렬 연산부로부터의 출력값에 대해 고윳값을 계산하는 과정;
상기 계산된 복수의 고윳값을 내림차순으로 정렬하는 과정;
상기 내림차순으로 정렬된 복수의 고윳값 중에서 고윳값이 높은 순으로 미리 설정된 개수를 특징점 후보군으로 선정하는 과정;
상기 선정된 특징점 후보군에 포함된 다수의 특징점 중에서 일정 거리 내의 특징점을 제외하여 최종적인 복수의 특징점을 선정하는 과정; 및
상기 선정된 복수의 특징점의 좌표 정보를 메모리에 저장하는 과정을 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 방법.The method of claim 12,
The step of detecting a plurality of feature points from the first image,
Calculating a high value for an output value from the Hessian matrix operator;
Sorting the calculated plurality of high values in descending order;
Selecting a pre-set number as a feature point candidate group in the order of the highest high value among the plurality of high Y values arranged in descending order;
Selecting a final plurality of feature points by excluding feature points within a predetermined distance from among a plurality of feature points included in the selected feature point candidate group; And
And storing coordinate information of the selected plurality of feature points in a memory.
상기 최종적인 복수의 특징점을 선정하는 과정은,
상기 첫 번째 이미지를 복수의 영역으로 나누고, 각 영역 내에서 각각 가장 먼저 입력되는 특징점 후보군 하나만을 최종 특징점에 포함시키는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 방법.The method of claim 15,
The process of selecting the final plurality of feature points,
Dividing the first image into a plurality of regions, and including only one of the first feature point candidate group inputted first in each region as a final feature point.
상기 모션 벡터를 산출하는 단계는,
상기 제 1 먹스로부터 출력되는 이전 이미지를 보간 처리하고, 상기 제 2 먹스로부터 출력되는 현재 이미지를 보간 처리하는 과정;
상기 보간된 이전 이미지와 상기 보간된 현재 이미지 간의 명암차(dt)를 계산하는 과정;
상기 헤시안 행렬 연산부에서 계산된 이전 이미지에 대한 x 방향으로의 명암차(dx)와 상기 계산된 명암차(dt)에 가중치와 곱셈기를 적용한 후 가우시안 필터링하고, 상기 헤시안 행렬 연산부에서 계산된 이전 이미지에 대한 y 방향으로의 명암차(dy)와 상기 계산된 명암차(dt)에 가중치와 곱셈기를 적용한 후 가우시안 필터링하는 과정;
상기 가우시안 필터링된 값과 상기 헤시안 행렬 연산부에서의 출력값을 근거로 모션 벡터를 산출하는 과정;
상기 산출된 모션 벡터와 메모리에 저장된 특징점의 좌표 정보를 서로 가산하여 보정된 특징점의 좌표 정보를 상기 메모리에 저장하는 과정; 및
상기 보정된 특징점의 좌표 정보를 입력값으로 하여 미리 설정된 횟수만큼 모션 벡터를 산출하는 과정을 반복 수행하여 최종적인 모션 벡터를 산출하는 과정을 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 방법.The method of claim 12,
The step of calculating the motion vector,
Interpolating a previous image output from the first mux and interpolating a current image output from the second mux;
Calculating a contrast difference (dt) between the interpolated previous image and the interpolated current image;
After applying a weight and a multiplier to the x-direction contrast (dx) and the calculated contrast (dt) with respect to the previous image calculated by the Hessian matrix calculation unit, Gaussian filtering is performed, and the previous calculated by the Hessian matrix calculation unit Applying a weight and a multiplier to the contrast (dy) in the y direction of the image and the calculated contrast (dt), followed by Gaussian filtering;
Calculating a motion vector based on the Gaussian filtered value and an output value from the Hessian matrix operator;
Adding the calculated motion vector and coordinate information of the feature point stored in the memory to each other and storing the corrected coordinate information of the feature point in the memory; And
And a process of calculating a final motion vector by repeating a process of calculating a motion vector as many times as a preset number of times using the coordinate information of the corrected feature point as an input value, and calculating a final motion vector. Way.
상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지로부터 특징점 검출 과정과 특징점 추적 과정에서의 동일한 행렬의 원소를 계산하는 헤시안 행렬 연산부;
상기 첫 번째 이미지로부터 복수의 특징점을 검출하는 특징점 검출부;
상기 연속된 복수의 이미지 중에서 현재 시점의 이미지를 출력하는 제 2 먹스; 및
상기 연속된 복수의 이미지에 포함된 이전 이미지 및 현재 이미지에 대해 특징점을 추적하여 모션 벡터를 산출하는 상기 특징점 추적부를 포함하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.A first mux for outputting a first image from among a plurality of consecutive images of a preset number unit;
A Hessian matrix calculator for calculating elements of the same matrix in a feature point detection process and a feature point tracking process from the first image output from the first mux or the interpolated first image output from the feature point tracking unit;
A feature point detector for detecting a plurality of feature points from the first image;
A second mux for outputting an image of a current viewpoint from among the plurality of consecutive images; And
An image-based feature point tracking device for a drone stop flight, including the feature point tracking unit for calculating a motion vector by tracking feature points with respect to a previous image and a current image included in the plurality of consecutive images.
상기 헤시안 행렬 연산부는,
상기 제 1 먹스로부터 출력되는 첫 번째 이미지 또는 상기 특징점 추적부로부터 출력되는 보간된 첫 번째 이미지를 상기 영상 기반 특징점 추적 장치의 동작 모드에 따라 선택적으로 출력하는 제 3 먹스;
상기 제 3 먹스로부터 출력되는 상기 첫 번째 이미지 또는 상기 보간된 첫 번째 이미지로부터 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 계산하는 미분기;
상기 미분기에서 계산된 첫 번째 이미지 또는 보간된 첫 번째 이미지와 관련한 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)에 대해 곱셈 기능을 적용하여 상기 특징점 검출 과정과 특징점 추적 과정에서 동일하게 사용되는 복수의 변수를 생성하는 복수의 곱셈기; 및
상기 복수의 곱셈기에서 생성된 복수의 변수에 대해서 영상의 스무딩 처리를 수행하여 상기 동일한 행렬의 원소를 계산하는 복수의 가우시안 필터를 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 18,
The Hessian matrix operation unit,
A third mux selectively outputting a first image output from the first mux or an interpolated first image output from the feature point tracking unit according to an operation mode of the image-based feature point tracking device;
A differentiator for calculating a contrast difference (dx) in the x direction and a contrast difference (dy) in the y direction from the first image output from the third mux or the interpolated first image;
The feature point detection process and feature point tracking process by applying a multiplication function to the contrast difference (dx) in the x direction and the contrast difference (dy) in the y direction related to the first image or interpolated first image calculated by the differentiator A plurality of multipliers for generating a plurality of variables used in the same manner; And
And a plurality of Gaussian filters for calculating the elements of the same matrix by performing image smoothing on a plurality of variables generated by the plurality of multipliers.
상기 미분기는,
상기 제 3 먹스의 출력값을 소벨 필터를 사용하여 x 방향과 y 방향으로의 명암차를 계산하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 19,
The differentiator,
An image-based feature point tracking device for stopping flight of a drone, characterized in that for calculating the contrast between the x-direction and the y-direction using a Sobel filter on the output value of the third mux.
상기 복수의 곱셈기는,
상기 미분기에서 계산된 첫 번째 이미지 또는 보간된 첫 번째 이미지와 관련한 x 방향으로의 명암차(dx)를 두 입력으로 하여 곱셈 기능을 수행하여 제 1 출력값(dx2)을 출력하는 제 1 곱셈기;
상기 미분기에서 계산된 첫 번째 이미지 또는 보간된 첫 번째 이미지와 관련한 x 방향으로의 명암차(dx)와 y 방향으로의 명암차(dy)를 두 입력으로 하여 곱셈 기능을 수행하여 제 2 출력값dxdy)을 출력하는 제 2 곱셈기; 및
상기 미분기에서 계산된 첫 번째 이미지 또는 보간된 첫 번째 이미지와 관련한 y 방향으로의 명암차(dy)를 두 입력으로 하여 곱셈 기능을 수행하여 제 3 출력값(dy2)을 출력하는 제 3 곱셈기를 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 19,
The plurality of multipliers,
A first multiplier for outputting a first output value (dx 2 ) by performing a multiplication function by taking two inputs of the first image calculated by the differentiator or the contrast difference (dx) in the x direction related to the first interpolated image;
The second output value dxdy by performing a multiplication function with two inputs of the first image calculated by the differentiator or the contrast difference in the x direction (dx) and the contrast difference in the y direction (dy) related to the first image interpolated) A second multiplier that outputs a; And
A third multiplier for outputting a third output value (dy 2 ) by performing a multiplication function by using the first image calculated by the differentiator or the contrast difference (dy) in the y direction related to the first interpolated image as two inputs. An image-based feature point tracking device for stationary drone flight, characterized in that.
상기 복수의 가우시안 필터는,
상기 제 1 곱셈기로부터 출력되는 상기 제 1 곱셈기의 출력값(dx2)에 가중치를 적용한 후, 가우시안 필터를 적용하여 출력하는 제 1 가우시안 필터;
상기 제 2 곱셈기로부터 출력되는 상기 제 2 곱셈기의 출력값(dxdy)에 가중치를 적용하여 출력하는 제 2 가우시안 필터; 및
상기 제 3 곱셈기로부터 출력되는 상기 제 3 곱셈기의 출력값(dy2)에 가중치를 적용하여 출력하는 제 3 가우시안 필터를 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 21,
The plurality of Gaussian filters,
A first Gaussian filter that applies a weight to the output value (dx 2 ) of the first multiplier output from the first multiplier and then applies a Gaussian filter to output it;
A second Gaussian filter for outputting by applying a weight to the output value dxdy of the second multiplier output from the second multiplier; And
And a third Gaussian filter for outputting by applying a weight to the output value dy 2 of the third multiplier output from the third multiplier.
상기 헤시안 행렬 연산부는,
특징점 검출 과정에 사용되는 Shi-Tomasi 알고리즘과 특징점 추적 과정에 사용되는 PLK(Pyramidal Lucas-Kanade) 알고리즘의 동일한 행렬의 원소를 계산하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 18,
The Hessian matrix operation unit,
An image-based feature point tracking device for drone stationary flight, characterized in that calculating elements of the same matrix of the Shi-Tomasi algorithm used in the feature point detection process and the Pyramidal Lucas-Kanade (PLK) algorithm used in the feature point tracking process.
상기 특징점 검출부는,
상기 헤시안 행렬 연산부로부터의 출력값에 대해 고윳값을 계산하는 특징점 가능성 연산부;
상기 특징점 가능성 연산부에 의해 계산된 고윳값을 근거로 영상 경계에 있지 않으면서도 고윳값이 임계값 이상인 지점을 특징점 후보군으로 선정하는 경계 및 임계치 확인부;
상기 선정된 특징점 후보군에 포함된 다수의 특징점 중에서 고윳값 비교를 통해 근접 후보군에 대한 배제 처리 기능을 수행하는 비최대 억제부; 및
상기 선정된 특징점 후보군에 포함된 다수의 특징점 중에서 일정 거리 내의 특징점을 제외하여 최종적인 복수의 특징점을 선정하는 영역 확인부를 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 18,
The feature point detection unit,
A feature point probability calculator that calculates a high value for the output value from the Hessian matrix calculator;
A boundary and threshold checking unit that selects a point having a high eigen value equal to or greater than a threshold value without being at an image boundary based on the high eigenvalue calculated by the feature point possibility calculating unit as a feature point candidate group;
A non-maximum suppressor for performing an exclusion processing function for a neighboring candidate group by comparing a high value among a plurality of feature points included in the selected feature point candidate group; And
An image-based feature point tracking apparatus for a drone stop flight, comprising: a region checking unit for selecting a final plurality of feature points excluding feature points within a predetermined distance from among a plurality of feature points included in the selected feature point candidate group.
상기 경계 및 임계치 확인부는,
상기 계산된 복수의 고윳값을 내림차순으로 정렬하고, 상기 내림차순으로 정렬된 복수의 고윳값 중에서 영상 경계에 있지 않으면서도 고윳값이 임계값 이상인 지점을 특징점 후보군으로 선정하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 24,
The boundary and threshold checking unit,
Drone stop flight, characterized in that, among the plurality of calculated high-yield values, sorted in descending order, and selected as a feature point candidate group, a point having a high-yield value equal to or greater than a threshold value without being at an image boundary among the plurality of high-yield values arranged in descending order An image-based feature point tracking device for
상기 경계 및 임계치 확인부는,
상기 내림차순으로 정렬된 복수의 고윳값 중에서 고윳값이 높은 순으로 미리 설정된 개수를 상기 특징점 후보군으로 선정하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 25,
The boundary and threshold checking unit,
An image-based feature point tracking apparatus for a drone stop flight, comprising selecting a preset number of feature point candidates in the order of highest high yield value among a plurality of high yield values arranged in descending order as the feature point candidate group.
상기 영역 확인부는,
상기 첫 번째 이미지를 복수의 영역으로 나누고, 각 영역 내에서 각각 가장 먼저 입력되는 특징점 후보군 하나만을 최종 특징점에 포함시키는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 24,
The area check unit,
Dividing the first image into a plurality of regions, and including only one of the first feature point candidate group inputted first in each region as a final feature point.
상기 특징점 추적부는,
상기 제 1 먹스로부터 출력되는 이전 이미지 및 상기 제 2 먹스로부터 출력되는 현재 이미지에 대한 보간 기능을 각각 수행하는 복수의 보간부;
상기 복수의 보간부로부터 제공되는 보간된 이전 이미지와 보간된 현재 이미지 간의 명암차(dt)를 계산하는 영상차 계산부;
상기 헤시안 행렬 연산부에서 계산된 이전 이미지에 대한 명암차(dx, dy)와 상기 계산된 보간된 이전 이미지와 보간된 현재 이미지 간의 명암차(dt)에 대해 곱셈 기능을 적용하여 복수의 다른 변수를 생성하는 복수의 다른 곱셈기;
상기 복수의 다른 곱셈기에서 생성된 복수의 다른 변수에 대해서 영상의 스무딩 처리를 수행하는 복수의 다른 가우시안 필터; 및
상기 복수의 다른 가우시안 필터의 출력값(widxdt, widydt)과, 상기 헤시안 행렬 연산부에서의 출력값(widx2, widxdy, widy2)을 근거로 모션 벡터를 산출하는 모션 벡터 연산부를 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 18,
The feature point tracking unit,
A plurality of interpolation units each performing an interpolation function on a previous image output from the first mux and a current image output from the second mux;
An image difference calculator configured to calculate a contrast difference (dt) between the interpolated previous image and the interpolated current image provided from the plurality of interpolating units;
A multiplication function is applied to the contrast difference (dx, dy) of the previous image calculated by the Hessian matrix operator and the contrast difference (dt) between the interpolated previous image and the interpolated current image. A plurality of different multipliers to generate;
A plurality of different Gaussian filters for performing image smoothing on a plurality of different variables generated by the plurality of different multipliers; And
And a motion vector calculator that calculates a motion vector based on the output values (widxdt, widydt) of the plurality of different Gaussian filters and the output values (widx 2 , widxdy, widy 2) of the Hessian matrix calculator. Image-based feature point tracking device for stationary drone flight.
상기 복수의 보간부는,
상기 제 1 먹스로부터 출력되는 이전 이미지에 대한 보간 기능을 수행하고, 상기 수행에 따른 보간된 이전 이미지를 상기 헤시안 행렬 연산부에 포함된 제 3 먹스 및 상기 영상차 계산부에 제공하는 제 1 보간부; 및
상기 제 2 먹스로부터 출력되는 현재 이미지에 대한 보간 기능을 수행하고, 상기 수행에 따른 보간된 현재 이미지를 상기 영상차 계산부에 제공하는 제 2 보간부를 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 28,
The plurality of interpolation units,
A first interpolation unit that performs an interpolation function on a previous image output from the first mux, and provides a third mux included in the Hessian matrix operation unit and the image difference calculation unit with the interpolated previous image according to the execution ; And
And a second interpolation unit that performs an interpolation function on the current image output from the second mux, and provides the interpolated current image according to the execution to the image difference calculation unit. Image-based feature point tracking device.
상기 보간부는,
특징점 좌표와 피라미드 레벨에 따라 픽셀 정보가 입력되도록 제어하는 윈도우 영역 추출기; 및
특징점 위치에 따른 보정을 수행하는 보간 계산기를 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 28,
The interpolation unit,
A window area extractor that controls pixel information to be input according to the coordinates of the feature point and the pyramid level; And
An image-based feature point tracking device for drone stationary flight, comprising: an interpolation calculator that performs correction according to the feature point position.
상기 윈도우 영역 추출기는,
메모리에 저장되어있는 현재 특징점 좌표와 피라미드 레벨 정보를 입력받아 특징점 좌표 주변 영역의 이미지 윈도우를 상기 보간 계산기에 입력하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 30,
The window area extractor,
An image-based feature point tracking apparatus for a drone stop flight, characterized in that receiving current feature point coordinates and pyramid level information stored in a memory and inputting an image window of a region around the feature point coordinates into the interpolation calculator.
상기 보간 계산기는,
계산된 모션 벡터로부터 보정된 특징점 좌표값이 정수가 아닌 실수값이기 때문에, 인접한 네 개의 픽셀의 명암값에 따른 바이리니어 보간(bilinear interpolation)을 통해 추적된 특징점 좌표의 밝기값을 계산하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 30,
The interpolation calculator,
Since the corrected feature point coordinate value from the calculated motion vector is a real value rather than an integer, the brightness value of the tracked feature point coordinates is calculated through bilinear interpolation according to the intensity values of four adjacent pixels. A video-based feature point tracking device for stopping flying drones.
상기 보간 계산기는,
x축과 y축 각각의 일차원 보간 연산을 연속적으로 처리하도록 라인 버퍼 구조로 설계하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 30,
The interpolation calculator,
An image-based feature point tracking device for drone stationary flight, characterized in that the line buffer structure is designed to continuously process one-dimensional interpolation operations of each of the x-axis and y-axis.
상기 복수의 다른 곱셈기는,
상기 헤시안 행렬 연산부에 포함된 미분기에서 계산된 첫 번째 이미지 또는 이전 이미지와 관련한 x 방향으로의 명암차(dx)와, 상기 영상차 계산부에 의해 계산된 이미지 간의 명암차(dt)를 두 입력으로 하여 곱셈 기능을 수행하여 제 4 출력값(dxdt)을 출력하는 제 4 곱셈기; 및
상기 미분기에서 계산된 첫 번째 이미지 또는 이전 이미지와 관련한 y 방향으로의 명암차(dy)와 상기 영상차 계산부에 의해 계산된 이미지 간의 명암차(dt)를 두 입력으로 하여 곱셈 기능을 수행하여 제 5 출력값(dydt)을 출력하는 제 5 곱셈기를 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 28,
The plurality of different multipliers,
Two inputs are the contrast difference (dx) in the x direction with respect to the first image or previous image calculated by the differentiator included in the Hessian matrix calculation unit and the contrast difference (dt) between the images calculated by the image difference calculation unit. A fourth multiplier that performs a multiplication function and outputs a fourth output value dxdt; And
A multiplication function is performed using two inputs, the contrast difference (dy) in the y direction relative to the first image or the previous image calculated by the differentiator and the contrast difference (dt) between the images calculated by the image difference calculator. An image-based feature point tracking device for a drone stationary flight, comprising: a fifth multiplier that outputs 5 output values (dydt).
상기 복수의 다른 가우시안 필터는,
상기 제 4 곱셈기로부터 출력되는 상기 제 4 곱셈기의 출력값(dxdt)에 가중치를 적용한 후, 가우시안 필터를 적용하여 출력하는 제 4 가우시안 필터; 및
상기 제 5 곱셈기로부터 출력되는 상기 제 5 곱셈기의 출력값(dxdy)에 가중치를 적용하여 출력하는 제 5 가우시안 필터를 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 34,
The plurality of different Gaussian filters,
A fourth Gaussian filter that applies a weight to the output value (dxdt) of the fourth multiplier output from the fourth multiplier and then applies a Gaussian filter to output it; And
And a fifth Gaussian filter for outputting by applying a weight to the output value (dxdy) of the fifth multiplier output from the fifth multiplier.
상기 특징점 추적부는,
상기 모션 벡터 연산부로부터 산출된 모션 벡터와 메모리에 저장된 특징점의 좌표 정보를 서로 가산하여 보정된 특징점의 좌표 정보를 생성하는 모션 벡터 매니저; 및
복수의 상기 보정된 특징점의 좌표 정보에 대한 평균치를 계산하고, 상기 계산된 평균치를 드론에 제공하는 모션 추정기를 더 포함하는 것을 특징으로 하는 드론 정지 비행을 위한 영상 기반 특징점 추적 장치.The method of claim 28,
The feature point tracking unit,
A motion vector manager for generating coordinate information of the corrected feature point by adding the motion vector calculated from the motion vector calculating unit and the coordinate information of the feature point stored in the memory; And
And a motion estimator for calculating an average value of the coordinate information of the plurality of corrected feature points and providing the calculated average value to the drone.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190137314A KR102340125B1 (en) | 2019-10-31 | 2019-10-31 | Apparatus for tracking feature point based on image for drone hovering and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190137314A KR102340125B1 (en) | 2019-10-31 | 2019-10-31 | Apparatus for tracking feature point based on image for drone hovering and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210051707A true KR20210051707A (en) | 2021-05-10 |
KR102340125B1 KR102340125B1 (en) | 2021-12-16 |
Family
ID=75917726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190137314A KR102340125B1 (en) | 2019-10-31 | 2019-10-31 | Apparatus for tracking feature point based on image for drone hovering and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102340125B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230058788A (en) * | 2021-10-25 | 2023-05-03 | 한남대학교 산학협력단 | Method for controlling shooting image of drone for improving quality of restoring volume metry 3d model |
KR20230070970A (en) * | 2021-11-15 | 2023-05-23 | 국방과학연구소 | Method of calculating flight path, apparatus for calculating flight path, and computer program for the method |
CN116560394A (en) * | 2023-04-04 | 2023-08-08 | 武汉理工大学 | Unmanned aerial vehicle group pose follow-up adjustment method and device, electronic equipment and medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101303124B1 (en) | 2012-05-31 | 2013-09-09 | 삼성에스디에스 주식회사 | Apparatus and method for object tracking using feature descriptor, and apparatus and method for removing garbage feature |
-
2019
- 2019-10-31 KR KR1020190137314A patent/KR102340125B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101303124B1 (en) | 2012-05-31 | 2013-09-09 | 삼성에스디에스 주식회사 | Apparatus and method for object tracking using feature descriptor, and apparatus and method for removing garbage feature |
Non-Patent Citations (3)
Title |
---|
Louis H.Buck, "Resource-Constrained Machine Vision on a Micro Air Vehicle", (2013.07.31.) 1부.* * |
Zhilei Chai외 1인, "Improving KLT in Embedded Systems by Processing Oversampling Video Sequence in real-time", 2011 International Conference on Reconfigurable Computing and FPGAs, (2011.12.02.) 1부.* * |
한동일외 1인, "실시간 고성능 특징점 추출 엔진을 위한 효율적인 메모리 구조 설계", 대한전자공학회 학술대회, (2012.06.30.) 1부.* * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230058788A (en) * | 2021-10-25 | 2023-05-03 | 한남대학교 산학협력단 | Method for controlling shooting image of drone for improving quality of restoring volume metry 3d model |
KR20230070970A (en) * | 2021-11-15 | 2023-05-23 | 국방과학연구소 | Method of calculating flight path, apparatus for calculating flight path, and computer program for the method |
CN116560394A (en) * | 2023-04-04 | 2023-08-08 | 武汉理工大学 | Unmanned aerial vehicle group pose follow-up adjustment method and device, electronic equipment and medium |
CN116560394B (en) * | 2023-04-04 | 2024-06-07 | 武汉理工大学 | Unmanned aerial vehicle group pose follow-up adjustment method and device, electronic equipment and medium |
Also Published As
Publication number | Publication date |
---|---|
KR102340125B1 (en) | 2021-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Engel et al. | Direct sparse odometry | |
US10672131B2 (en) | Control method, non-transitory computer-readable storage medium, and control apparatus | |
CN110945565B (en) | Dense visual SLAM with probability bin map | |
Barranco et al. | Parallel architecture for hierarchical optical flow estimation based on FPGA | |
KR102340125B1 (en) | Apparatus for tracking feature point based on image for drone hovering and method thereof | |
Badenas et al. | Motion-based segmentation and region tracking in image sequences | |
CN111640140A (en) | Target tracking method and device, electronic equipment and computer readable storage medium | |
Xu et al. | A segmentation based variational model for accurate optical flow estimation | |
CN110631554A (en) | Robot posture determining method and device, robot and readable storage medium | |
Jellal et al. | LS-ELAS: Line segment based efficient large scale stereo matching | |
CN102509071B (en) | Optical flow computation system and method | |
CN103106667A (en) | Motion target tracing method towards shielding and scene change | |
CN103218827B (en) | The contour tracing method of segmentation and figure matching and correlation is combined in Shape-based interpolation transmission | |
Ttofis et al. | Towards accurate hardware stereo correspondence: A real-time fpga implementation of a segmentation-based adaptive support weight algorithm | |
Ali et al. | Hardware/software co-design of a real-time kernel based tracking system | |
CN110390685B (en) | Feature point tracking method based on event camera | |
Liu et al. | EDFLOW: Event driven optical flow camera with keypoint detection and adaptive block matching | |
US20180005039A1 (en) | Method and apparatus for generating an initial superpixel label map for an image | |
KR20160123871A (en) | Method and apparatus for estimating image optical flow | |
El‐Shafie et al. | Survey on hardware implementations of visual object trackers | |
CN111914756A (en) | Video data processing method and device | |
Bu et al. | Semi-direct tracking and mapping with RGB-D camera for MAV | |
Firouznia et al. | Chaotic particle filter for visual object tracking | |
Szeliski et al. | A parallel feature tracker for extended image sequences | |
Truong et al. | Single object tracking using particle filter framework and saliency-based weighted color histogram |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |