KR101206213B1 - High speed slam system and method based on graphic processing unit - Google Patents

High speed slam system and method based on graphic processing unit Download PDF

Info

Publication number
KR101206213B1
KR101206213B1 KR1020100036122A KR20100036122A KR101206213B1 KR 101206213 B1 KR101206213 B1 KR 101206213B1 KR 1020100036122 A KR1020100036122 A KR 1020100036122A KR 20100036122 A KR20100036122 A KR 20100036122A KR 101206213 B1 KR101206213 B1 KR 101206213B1
Authority
KR
South Korea
Prior art keywords
threads
image
feature point
points
sigma
Prior art date
Application number
KR1020100036122A
Other languages
Korean (ko)
Other versions
KR20110116609A (en
Inventor
김진걸
김기태
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020100036122A priority Critical patent/KR101206213B1/en
Publication of KR20110116609A publication Critical patent/KR20110116609A/en
Application granted granted Critical
Publication of KR101206213B1 publication Critical patent/KR101206213B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

그래픽 가속기를 사용한 고속 SLAM 시스템 및 방법이 개시된다. 그래픽 가속기 기반 고속 SLAM 시스템은 그래픽 가속기(GPU: Graphics Processing Unit)를 포함하고, 상기 그래픽 가속기가 카메라에서 입력된 입력 영상의 스케일을 변환하여 복수의 피라미드 영상을 생성하며, 상기 그래픽 가속기가 상기 복수의 피라미드 영상 각각에 대하여 가우시안 커널을 적용하여 각각의 서브 이미지들의 차영상을 계산하고, 상기 그래픽 가속기가 상기 서브 이미지들의 차 영상에서 이미지 키를 추출하고, 상기 이미지 키의 안정성을 검증하여 특징점을 추출하며, 중앙 연산 처리 장치가 상기 특징점을 사용하여 특징점을 가진 오브젝트인 랜드마크를 식별하는 특징점 추출부; 및 상기 카메라가 장착된 로봇과 상기 랜드마크의 위치를 추정하여 상기 카메라가 장착된 로봇의 위치를 인식하고 지도를 작성하는 지도 작성부를 포함한다.A high speed SLAM system and method using a graphics accelerator is disclosed. A graphics accelerator-based high speed SLAM system includes a graphics processing unit (GPU), wherein the graphics accelerator converts a scale of an input image input from a camera to generate a plurality of pyramid images, and the graphics accelerator generates the plurality of pyramid images. A Gaussian kernel is applied to each pyramid image to calculate the difference image of each sub-image, the graphic accelerator extracts an image key from the difference image of the sub-images, and verifies the stability of the image key to extract feature points. A feature point extracting unit for identifying, by a central processing unit, a landmark that is an object having a feature point using the feature point; And a map preparation unit for recognizing the location of the camera-mounted robot and creating a map by estimating the location of the camera-mounted robot and the landmark.

Figure R1020100036122
Figure R1020100036122

Description

그래픽 가속기 기반 고속 SLAM 시스템 및 방법{HIGH SPEED SLAM SYSTEM AND METHOD BASED ON GRAPHIC PROCESSING UNIT}HIGH SPEED SLAM SYSTEM AND METHOD BASED ON GRAPHIC PROCESSING UNIT

본 발명의 일실시예들은 그래픽 가속기를 사용하여 SIFT 알고리즘과 UKF SLAM 알고리즘의 처리 속도를 증가시킨 고속 SLAM 방법 및 시스템에 대한 것이다.Embodiments of the present invention are directed to a fast SLAM method and system that increases the processing speed of SIFT algorithm and UKF SLAM algorithm using a graphics accelerator.

최근 하드웨어의 발전과 더불어 서비스 로봇에 대한 수요와 기대가 증가하고 있다. Recently, with the development of hardware, the demand and expectation for service robot are increasing.

이러한 서비스 로봇들이 이동 중에 자신의 위치를 인식할 수 있는 방법으로는 초음파 센서, 레이저 스캐너, 관성 센서, 영상 센서를 사용하는 방법이 있다.Such service robots may use an ultrasonic sensor, a laser scanner, an inertial sensor, and an image sensor to recognize their location while moving.

이 중 영상 센서는 높은 반도체 집적도와 가격 경쟁력 측면에서 타 센서보다 우위에 있으며 정보 취득량이 가장 많은 센서이다. Among them, image sensor is superior to other sensors in terms of high semiconductor density and price competitiveness, and has the largest amount of information acquisition.

그러나 영상센서를 이용하여 특징을 추출하고, 추출된 정보를 바탕으로 위치인식 알고리즘을 수행하는 과정은 연산량에 대한 부담이 매우 크기 때문에 실시간성이 보장되지 않는 실정이다.However, the process of extracting the feature using the image sensor and performing the position recognition algorithm based on the extracted information does not guarantee real time because the burden on the computational amount is very large.

또한, 로봇이 자신의 위치를 확인하기 위하여 생성하는 지도를 구역별로 분할하여 생성함으로써 지도 생성에 필요한 정보의 계산량를 감소시켜 속도를 향상하는 방법이 있으나, 이 경우에는 분할된 지도간의 연속성을 보장하기 어렵다는 문제점이 있었다.In addition, there is a method of improving the speed by dividing the map generated by the robot to identify its location by area to reduce the calculation amount of information necessary for generating the map, but in this case, it is difficult to guarantee the continuity between the divided maps. There was a problem.

따라서, 영상 센서에서 수집되는 이미지로부터 특징을 추출하는 알고리즘과, 추출된 정보를 바탕으로 위치인식 알고리즘을 빠르게 수행할 수 있는 방법이나 시스템이 필요한 실정이다.Therefore, there is a need for an algorithm for extracting features from an image collected by an image sensor and a method or system for quickly performing a location recognition algorithm based on the extracted information.

본 발명의 일실시예들은 그래픽 가속기를 사용하여 SIFT 알고리즘에서 영상 피라미드 생성과정과 서브 이미지의 차영상을 생성하는 과정을 각 스케일의 피라미드 영상 별로 병렬 실행함으로써 SIFT 알고리즘의 처리 속도를 향상시킬 수 있는 그래픽 가속기 기반 고속 SLAM 시스템 및 방법을 제공한다.One embodiment of the present invention is a graphic accelerator that can improve the processing speed of the SIFT algorithm by performing the process of generating the image pyramid and the sub-image of the sub-image in the SIFT algorithm for each pyramid image of each scale in parallel An accelerator-based high speed SLAM system and method are provided.

또한, 본 발명의 일실시예들은 그래픽 가속기를 사용하여 UKF SLAM 알고리즘에서 시그마 포인트 개수에 따른 복수의 스레드를 생성하고, 복수의 스레드가 각기 하나씩의 시그마 포인트를 생성하고, 비선형 방정식을 적용하며, 기대 값과 분산을 계산함으로써 UKF SLAM 알고리즘의 처리 속도를 향상시킬 수 있는 그래픽 가속기 기반 고속 SLAM 시스템 및 방법을 제공한다.In addition, embodiments of the present invention generate a plurality of threads according to the number of sigma points in the UKF SLAM algorithm using a graphics accelerator, a plurality of threads each generates one sigma point, apply a nonlinear equation, and expect The present invention provides a graphics accelerator-based high speed SLAM system and method that can improve the processing speed of the UKF SLAM algorithm by calculating values and variances.

본 발명의 일실시예에 따른 그래픽 가속기 기반 고속 SLAM 시스템은 다중 프로세서의 파이프 라인 구조를 가진 그래픽 가속기(GPU: Graphics Processing Unit)를 포함하고, 상기 그래픽 가속기가 카메라에서 입력된 입력 영상의 스케일을 변환하여 복수의 피라미드 영상을 생성하며, 상기 그래픽 가속기가 상기 복수의 피라미드 영상 각각에 대하여 가우시안 커널을 적용하여 각각의 서브 이미지들의 차영상을 계산하고, 상기 그래픽 가속기가 상기 서브 이미지들의 차 영상에서 이미지 키를 추출하고, 상기 이미지 키의 안정성을 검증하여 특징점을 추출하며, 중앙 연산 처리 장치가 상기 특징점을 사용하여 특징점을 가진 오브젝트인 랜드마크를 식별하는 특징점 추출부; 및 상기 카메라가 장착된 로봇과 상기 랜드마크의 위치를 추정하여 상기 카메라가 장착된 로봇의 위치를 인식하고 지도를 작성하는 지도 작성부를 포함한다. A graphics accelerator-based high speed SLAM system according to an embodiment of the present invention includes a graphics processing unit (GPU) having a pipeline structure of a multiprocessor, and the graphics accelerator converts a scale of an input image input from a camera. Generate a plurality of pyramid images, the graphic accelerator to apply a Gaussian kernel to each of the plurality of pyramid images to calculate the difference image of each sub-image, and the graphic accelerator to calculate an image key in the difference image of the sub-images A feature point extraction unit for extracting a feature point by verifying the stability of the image key and extracting a feature point, and a central processing unit using the feature point to identify a landmark that is an object having the feature point; And a map preparation unit for recognizing the location of the camera-mounted robot and creating a map by estimating the location of the camera-mounted robot and the landmark.

본 발명의 일실시예에 따른 지도 작성부는, 상기 그래픽 가속기를 포함하고, 상기 특징점 추출부가 식별한 랜드마크의 개수에 따라 표본 추출 포인트인 시그마 포인트들의 개수를 설정하며, 상기 그래픽 가속기가 상기 시그마 포인트들의 개수에 따라 복수의 스레드를 생성하고, 상기 복수의 스레드가 특징점 정보를 기초로 각기 다른 복수의 시그마 포인트를 생성하며, 상기 복수의 스레드가 각각의 시그마 포인트에 비선형 방정식을 적용하며, 상기 복수의 스레드가 각각의 시그마 포인트에 비선형 방정식을 적용한 값의 기대 값과 분산을 계산하여 상기 카메라가 장착된 로봇과 상기 랜드마크의 위치를 추정할 수 있다.According to an embodiment of the present invention, the map generator includes the graphic accelerator, and sets the number of sigma points that are sampling points according to the number of landmarks identified by the feature point extractor, and the graphic accelerator sets the sigma points. Generate a plurality of threads according to the number of the plurality of threads, the plurality of threads generate a plurality of different sigma points based on feature point information, the plurality of threads apply a nonlinear equation to each sigma point, and the plurality of threads A thread may calculate the expected value and the variance of a value of applying a nonlinear equation to each sigma point to estimate the position of the robot and the landmark on which the camera is mounted.

본 발명의 일실시예들은 그래픽 가속기를 사용하여 SIFT 알고리즘에서 영상 피라미드 생성과정과 서브 이미지의 차영상을 생성하는 과정을 각 스케일의 피라미드 영상 별로 병렬 실행함으로써 SIFT 알고리즘의 처리 속도를 향상시킬 수 있다.Embodiments of the present invention can improve the processing speed of the SIFT algorithm by executing the process of generating the image pyramid and the difference image of the sub-image in the SIFT algorithm using the graphics accelerator in parallel for each pyramid image of each scale.

또한, 본 발명의 일실시예들은 그래픽 가속기를 사용하여 UKF SLAM 알고리즘에서 시그마 포인트 개수에 따른 복수의 스레드를 생성하고, 복수의 스레드가 각기 하나씩의 시그마 포인트를 생성하고, 비선형 방정식을 적용하며, 기대 값과 분산을 계산함으로써 UKF SLAM 알고리즘의 처리 속도를 향상시킬 수 있다.In addition, embodiments of the present invention generate a plurality of threads according to the number of sigma points in the UKF SLAM algorithm using a graphics accelerator, a plurality of threads each generates one sigma point, apply a nonlinear equation, and expect By calculating the values and variances, we can speed up the processing of the UKF SLAM algorithm.

도 1은 본 발명의 일실시예에 따른 그래픽 가속기 기반 고속 SLAM 시스템의 개괄적인 모습을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 특징점 추출부의 상세 구성도이다.
도 3은 본 발명의 일실시예에 따른 지도 작성부의 상세 구성도이다.
도 4는 본 발명의 일실시예에 따른 SIFT 알고리즘에 대한 흐름도이다.
도 5는 본 발명의 일실시예에 따른 SLAM 알고리즘에 대한 흐름도이다.
1 is a view showing an overview of a graphics accelerator-based high speed SLAM system according to an embodiment of the present invention.
2 is a detailed block diagram of a feature point extraction unit according to an embodiment of the present invention.
3 is a detailed block diagram of a map preparation unit according to an embodiment of the present invention.
4 is a flowchart of an SIFT algorithm according to an embodiment of the present invention.
5 is a flowchart of a SLAM algorithm according to an embodiment of the present invention.

이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예들을 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings and the contents described in the accompanying drawings, but the present invention is not limited or limited to the embodiments.

본 발명의 일실시예에 따른 그래픽 가속기 기반 고속 SLAM 시스템은 다중 프로세서의 파이프 라인 구조를 가진 그래픽 가속기(GPU: Graphics Processing Unit)를 사용하여 SIFT 알고리즘과 UKF SLAM 알고리즘을 병렬로 실행함으로써, SIFT 알고리즘과 UKF SLAM 알고리즘의 처리 속도를 향상시킬 수 있다.The high-speed SLAM system based on the graphic accelerator according to an embodiment of the present invention executes the SIFT algorithm and the UKF SLAM algorithm in parallel by using a graphics processing unit (GPU) having a multiprocessor pipeline structure. The processing speed of the UKF SLAM algorithm can be improved.

도 1은 본 발명의 일실시예에 따른 그래픽 가속기 기반 고속 SLAM 시스템의 개괄적인 모습을 도시한 도면이다. 1 is a view showing an overview of a graphics accelerator-based high speed SLAM system according to an embodiment of the present invention.

본 발명의 일실시예에 따른 그래픽 가속기 기반 고속 SLAM 시스템은 도 1에 도시된 바와 같이 특징점 추출부(120)와 지도 작성부(130)로 구성될 수 있다. Graphic accelerator based high-speed SLAM system according to an embodiment of the present invention may be composed of a feature point extraction unit 120 and a map preparation unit 130 as shown in FIG.

특징점 추출부(110)는 CPU(210)와 GPU(220)를 포함하며, SIFT(Scale Invariant Feature Transform) 알고리즘을 실행하여 카메라(110)에서 입력된 영상에서 특징점을 추출한다. 이때, 특징점은 영상의 국소적인 명암 정보를 사용하여 돌출되어 보이거나 두드러지게 보이는 지점들을 추출한 점들이다. 이때, 특징점은 조명, 크기, 시점의 변화나 평행이동한 경우에도 변하지 않는 특성을 가지고 있으며 노이즈에도 민감하지 않은 지점일 수 있다.The feature point extractor 110 includes a CPU 210 and a GPU 220, and extracts feature points from an image input from the camera 110 by executing a scale invariant feature transform (SIFT) algorithm. At this time, the feature points are points extracted from protruding or prominent points using local contrast information of the image. In this case, the feature point may have a characteristic that does not change even when changes in illumination, size, viewpoint, or parallel movement and may be insensitive to noise.

구체적으로 먼저, 특징점 추출부(110)의 CPU(210)는 도 2에 도시된 바와 같이 카메라(110)에서 입력된 영상을 RAM 메모리에 임시로 저장하고, 상기 영상의 해상도와 동일한 크기를 갖는 프레임 버퍼를 생성한다. 이때, CPU(210)는 각각의 화소가 픽셀 셰이더에서 처리될 수 있도록 화면 전체 크기의 사각형을 생성할 수 있다.Specifically, first, the CPU 210 of the feature point extractor 110 temporarily stores an image input from the camera 110 in a RAM memory as shown in FIG. 2, and has a frame having the same size as the resolution of the image. Create a buffer. In this case, the CPU 210 may generate a rectangle of the entire screen size so that each pixel may be processed in the pixel shader.

다음으로 CPU(210)는 RAM 메모리 상에 저장된 영상을 텍스처 메모리 형태(221)로 변환하여 GPU 메모리에 저장할 수 있다.Next, the CPU 210 may convert the image stored in the RAM memory into the texture memory form 221 and store the image in the GPU memory.

그 다음으로 GPU(220)의 픽셀 셰이더는 SIFT 알고리즘을 실행하여 특징점을 추출할 수 있다. 이때, SIFT 알고리즘은 NVIDIA에서 개발된 셰이딩 언어인 cg(C for Graphics)를 통해서 구현될 수 있다.Next, the pixel shader of the GPU 220 may extract a feature point by executing a SIFT algorithm. In this case, the SIFT algorithm may be implemented through cg (C for Graphics), a shading language developed by NVIDIA.

이때, GPU(220)의 픽셀 셰이더는 추출한 특징점(226)의 정보인 특징점 정보(227)를 GPU 메모리에 저장할 수 있다.In this case, the pixel shader of the GPU 220 may store the feature point information 227, which is information of the extracted feature point 226, in the GPU memory.

마지막으로 CPU(210)는 기 저장된 특징점(212)과 GPU 메모리에 저장된 특징점의 정보(227)를 비교하여 특징점을 가진 오브젝트(213)인 랜드마크를 식별할 수 있다.Finally, the CPU 210 may identify the landmark, which is the object 213 having the feature point, by comparing the previously stored feature points 212 and the information 227 of the feature points stored in the GPU memory.

이하에서 GPU(220)의 픽셀 셰이더의 특징점 추출 과정을 상세히 설명한다.Hereinafter, a feature point extraction process of the pixel shader of the GPU 220 will be described in detail.

먼저, GPU(220)의 픽셀 셰이더는 GPU 메모리에 저장된 텍스처 메모리 형태의 입력 영상(221)의 스케일을 변환하여 복수의 피라미드 영상(Image Pyramids) (222)을 생성할 수 있다.First, the pixel shader of the GPU 220 may generate a plurality of image pyramids 222 by converting a scale of an input image 221 having a texture memory type stored in the GPU memory.

이때, GPU(220)의 픽셀 셰이더는 생성한 피라미드 영상(222)을 GPU 메모리에 저장하며, GPU 메모리에 저장된 이미지 피라미드 영상(223)들은 도 2에 도시된 바와 같이 각기 다른 n 종류의 스케일로 변환된 영상일 수 있다.In this case, the pixel shader of the GPU 220 stores the generated pyramid image 222 in the GPU memory, and the image pyramid images 223 stored in the GPU memory are converted into different n kinds of scales as shown in FIG. 2. It may be an image.

그 다음에, GPU(220)의 픽셀 셰이더는 GPU 메모리에 저장된 각각의 피라미드 영상(223)에 대하여 가우시안 커널(224)을 적용하여 각각의 서브 이미지들의 차영상(DoG(Differential of Gaussian)(225)을 생성할 수 있다.Next, the pixel shader of the GPU 220 applies the Gaussian kernel 224 to each pyramid image 223 stored in the GPU memory to apply a differential image of each sub-image (DoG (Differential of Gaussian) 225). Can be generated.

이때, GPU(220)의 픽셀 셰이더는 다중 프로세서의 파이프 라인 구조를 사용하여 GPU 메모리에 저장된 n개의 피라미드 영상(223)에 가우시안 커널(224)을 동시 적용함으로써 1회의 연산으로 n개의 DoG(225)를 생성하여 GPU 메모리에 저장할 수 있다.In this case, the pixel shader of the GPU 220 may simultaneously apply the Gaussian kernel 224 to the n pyramid images 223 stored in the GPU memory using a pipeline structure of a multiprocessor, thereby performing n DoGs 225 in one operation. Can be created and stored in GPU memory.

마지막으로, GPU(220)의 픽셀 셰이더는 GPU 메모리에 저장된 서브 이미지들의 차영상(225)에서 이미지 키를 추출하고, 추출한 이미지 키의 안정성을 검증하여 특징점(226)을 추출할 수 있다.Finally, the pixel shader of the GPU 220 may extract the image key from the difference image 225 of the sub-images stored in the GPU memory, and extract the feature point 226 by verifying the stability of the extracted image key.

지도 작성부(130)는 GPU를 포함하며, UKF(Unscented Kalman Filter) SLAM(Simultaneous Localization and Mapping) 알고리즘을 실행하여 카메라(110)가 장착된 로봇의 현재 위치를 인식하고 로봇 주변의 지도를 작성한다.The map generator 130 includes a GPU and recognizes the current position of the robot equipped with the camera 110 and creates a map around the robot by executing an Unscented Kalman Filter (UKF) Simulaneous Localization and Mapping (SLAM) algorithm. .

이때, 지도 작성부(130)는 특징점 추출부(120)가 식별한 랜드마크에서 카메라(110)가 장착된 로봇과 랜드마크의 위치 정보가 포함된 상태 벡터를 추정하여 카메라(110)가 장착된 로봇의 위치를 인식하고 지도를 작성할 수 있다. 이때, 지도 작성부(130)가 추정하는 상태 벡터의 개수는 특징점 추출부(110)가 식별한 랜드마크의 개수가 증가함에 따라 함께 증가하는 개수다.In this case, the map preparation unit 130 estimates the robot with the camera 110 and the state vector including the location information of the landmark from the landmark identified by the feature point extractor 120, and the camera 110 is mounted. Recognize the location of the robot and map it. In this case, the number of state vectors estimated by the map generator 130 is increased as the number of landmarks identified by the feature point extractor 110 increases.

구체적으로 먼저, 지도 작성부(130)는 특징점 추출부(120)가 식별한 랜드마크의 개수에 따라 표본 추출 포인트인 시그마 포인트들의 개수를 설정하고, 지도 작성부(130)의 GPU가 도 3에 도시된 바와 같이 시그마 포인트들의 개수에 따라 복수의 스레드(310,320,330)를 생성할 수 있다. Specifically, first, the map generator 130 sets the number of sigma points that are sampling points according to the number of landmarks identified by the feature point extractor 120, and the GPU of the map generator 130 is shown in FIG. 3. As illustrated, a plurality of threads 310, 320, and 330 may be generated according to the number of sigma points.

이때, 특징점 추출부(110)가 식별한 랜드마크의 개수에 따른 상태벡터의 개수가 n개인 경우에 지도 작성부(130)가 설정하는 시그마 포인트들의 개수는 2n개일 수 있다. 이때, 지도 작성부(130)의 GPU는 시그마 포인트를 생성하기 위한 2n개의 스레드(310)와, 비선형 방정식을 적용하기 위한 2n개의 스레드(320), 및 기대 값과 분산을 계산하기 위한 2n개의 스레드(330)를 생성할 수 있다.In this case, when the number of state vectors according to the number of landmarks identified by the feature point extractor 110 is n, the number of sigma points set by the map generator 130 may be 2n. In this case, the GPU of the map generator 130 includes 2n threads 310 for generating sigma points, 2n threads 320 for applying nonlinear equations, and 2n threads for calculating expected values and variances. 330 may be generated.

다음으로 복수의 스레드(310)는 특징점 정보를 기초로 각기 다른 복수의 시그마 포인트를 생성하여 GPU에 포함된 메모리인 글로벌(Global) 메모리(340)에 저장할 수 있다. 이때, 각각의 스레드(310)은 1개씩의 시그마 포인트를 생성할 수 있다.Next, the plurality of threads 310 may generate a plurality of different sigma points based on the feature point information and store them in the global memory 340, which is a memory included in the GPU. In this case, each thread 310 may generate one sigma point.

그 다음으로 복수의 스레드(320)는 글로벌 메모리(340)에 저장된 각각의 시그마 포인트에 비선형 방정식을 적용하고, 각각의 시그마 포인트에 비선형 방정식을 적용한 값을 글로벌(Global) 메모리(340)에 저장할 수 있다. 이때, 각각의 스레드(320)은 각기 다른 시그마 포인트에 비선형 방정식을 적용할 수 있다.Next, the plurality of threads 320 may apply a nonlinear equation to each sigma point stored in the global memory 340, and store a value obtained by applying the nonlinear equation to each sigma point in the global memory 340. have. In this case, each thread 320 may apply a nonlinear equation to different sigma points.

그 다음에 복수의 스레드(330)가 각각의 시그마 포인트에 비선형 방정식을 적용한 값의 기대 값과 분산을 계산하여 글로벌 메모리(340)에 저장할 수 있다.The plurality of threads 330 may then calculate the expected values and variances of the nonlinear equations applied to each sigma point and store them in the global memory 340.

마지막으로, 지도 작성부(130)는 기대 값과 분산을 사용하여 카메라(110)가 장착된 로봇과 랜드마크의 위치를 추정할 수 있다.Finally, the map generator 130 may estimate the location of the robot and the landmark on which the camera 110 is mounted using the expected value and the variance.

지도 작성부(130)는 시그마 포인트의 개수와 동일한 개수의 스레드를 사용하여 동시에 복수의 시그마 포인트를 생성하고, 각각의 시그마 포인트에 비선형 방정식을 적용하며, 비선형 방정식을 적용한 값의 기대 값과 분산을 계산함으로써, 상태 벡터의 개수 증가에 따라 기대 값과 분산을 계산하는데 걸리는 시간이 증가하는 것을 방지할 수 있다.The map generator 130 simultaneously generates a plurality of sigma points using the same number of threads as the number of sigma points, applies a nonlinear equation to each sigma point, and calculates an expected value and a variance of a value obtained by applying the nonlinear equation. By calculating, the time taken to calculate the expected value and the variance can be prevented from increasing as the number of state vectors increases.

도 4는 본 발명의 일실시예에 따른 SIFT 알고리즘에 대한 흐름도이다.4 is a flowchart of an SIFT algorithm according to an embodiment of the present invention.

단계(S410)에서 CPU(210)는 카메라(110)에서 입력된 영상을 RAM 메모리에 임시로 저장하고, 상기 영상의 해상도와 동일한 크기를 갖는 프레임 버퍼를 생성한다. 이때, CPU(210)는 RAM 메모리 상에 저장된 영상을 텍스처 메모리 형태(221)로 변환하여 GPU 메모리에 저장할 수 있다.In operation S410, the CPU 210 temporarily stores an image input from the camera 110 in a RAM memory, and generates a frame buffer having the same size as the resolution of the image. In this case, the CPU 210 may convert the image stored in the RAM memory into the texture memory form 221 and store the image in the GPU memory.

단계(S420)에서 GPU(220)의 픽셀 셰이더는 단계(S410)에서 GPU 메모리에 저장된 텍스처 메모리 형태의 입력 영상(221)의 스케일을 변환하여 복수의 피라미드 영상(222)을 생성할 수 있다. 이때, GPU(220)의 픽셀 셰이더는 생성한 피라미드 영상(222)을 GPU 메모리에 저장할 수 있다.In operation S420, the pixel shader of the GPU 220 may generate a plurality of pyramid images 222 by converting a scale of an input image 221 having a texture memory type stored in the GPU memory in operation S410. In this case, the pixel shader of the GPU 220 may store the generated pyramid image 222 in the GPU memory.

단계(S430)에서 GPU(220)의 픽셀 셰이더는 단계(S420)에서 GPU 메모리에 저장된 각각의 피라미드 영상(223)에 대하여 가우시안 커널(224)을 적용하여 각각의 서브 이미지들의 차영상(DoG(Differential of Gaussian)(225)을 생성할 수 있다.In operation S430, the pixel shader of the GPU 220 may apply a Gaussian kernel 224 to each pyramid image 223 stored in the GPU memory in operation S420 to perform a difference image of each sub-image (DoG (Differential). of Gaussian) 225.

이때, GPU(220)의 픽셀 셰이더는 GPU 메모리에 저장된 n개의 피라미드 영상(223)에 가우시안 커널(224)을 동시 적용하여 1회의 연산으로 n개의 DoG(225)를 생성하고, GPU 메모리에 저장할 수 있다.In this case, the pixel shader of the GPU 220 may simultaneously apply the Gaussian kernel 224 to the n pyramid images 223 stored in the GPU memory to generate n DoGs 225 in one operation and store them in the GPU memory. have.

단계(S440)에서 GPU(220)의 픽셀 셰이더는 단계(S430)에서 GPU 메모리에 저장된 서브 이미지들의 차영상(225)에서 이미지 키를 추출하고, 추출한 이미지 키의 안정성을 검증하여 특징점(226)을 추출할 수 있다. 이때, GPU(220)의 픽셀 셰이더는 추출한 특징점(226)의 정보인 특징점 정보(227)를 GPU 메모리에 저장할 수 있다.In operation S440, the pixel shader of the GPU 220 extracts an image key from the difference image 225 of sub-images stored in the GPU memory in operation S430, and verifies the stability of the extracted image key to determine the feature point 226. Can be extracted. In this case, the pixel shader of the GPU 220 may store the feature point information 227, which is information of the extracted feature point 226, in the GPU memory.

단계(S450)에서 CPU(210)는 기 저장된 특징점(212)과 단계(S440)에서 GPU 메모리에 저장된 특징점의 정보(227)를 비교하여 특징점을 가진 오브젝트(213)인 랜드마크를 식별할 수 있다In operation S450, the CPU 210 may identify the landmark, which is the object 213 having the feature point, by comparing the previously stored feature points 212 and the information 227 of the feature points stored in the GPU memory in operation S440.

도 5는 본 발명의 일실시예에 따른 SLAM 알고리즘에 대한 흐름도이다.5 is a flowchart of a SLAM algorithm according to an embodiment of the present invention.

단계(S510)에서 지도 작성부(130)의 복수의 스레드(310)는 특징점 정보를 기초로 각기 다른 복수의 시그마 포인트를 생성하여 글로벌(Global) 메모리(340)에 저장할 수 있다. 이때, 각각의 스레드(310)은 1개씩의 시그마 포인트를 생성할 수 있다. 또한, 상기 복수의 스레드(310)는 지도 작성부(130)가 시그마 포인트들의 개수에 따라 생성한 스레드일 수 있다.In operation S510, the plurality of threads 310 of the map generator 130 may generate a plurality of different sigma points based on the feature point information and store the plurality of sigma points in the global memory 340. In this case, each thread 310 may generate one sigma point. In addition, the threads 310 may be threads generated by the map generator 130 according to the number of sigma points.

단계(S520)에서 지도 작성부(130)의 복수의 스레드(320)는 단계(S510)에서 저장된 각각의 시그마 포인트에 비선형 방정식을 적용하고, 각각의 시그마 포인트에 비선형 방정식을 적용한 값을 글로벌(Global) 메모리(340)에 저장할 수 있다. 이때, 각각의 스레드(320)은 각기 다른 시그마 포인트에 비선형 방정식을 적용할 수 있다.In operation S520, the plurality of threads 320 of the map generator 130 apply a nonlinear equation to each sigma point stored in operation S510, and apply a non-linear equation to each sigma point. ) May be stored in the memory 340. In this case, each thread 320 may apply a nonlinear equation to different sigma points.

단계(S530)에서 지도 작성부(130)의 복수의 스레드(330)는 단계(S520)에서 저장된 값의 기대 값과 분산을 계산하여 글로벌 메모리(340)에 저장할 수 있다.In operation S530, the plurality of threads 330 of the map generator 130 may calculate the expected value and the variance of the values stored in operation S520 and store the calculated values in the global memory 340.

단계(S540)에서 지도 작성부(130)는 단계(S530)에서 저장된 기대 값과 분산을 사용하여 카메라(110)가 장착된 로봇과 랜드마크의 위치를 추정할 수 있다.In operation S540, the map generator 130 may estimate the location of the robot and the landmark on which the camera 110 is mounted using the expected values and the variances stored in operation S530.

단계(S550)에서 지도 작성부(130)는 단계(S540)에서 추정한 로봇과 랜드마크의 위치를 사용하여 로봇의 현재 위치를 인식하고, 로봇 주변의 지도를 작성할 수 있다.In operation S550, the map generator 130 may recognize the current location of the robot by using the location of the robot and the landmark estimated in operation S540, and create a map around the robot.

이와 같이, 본 발명의 일실시예에 따른 그래픽 가속기 기반 고속 SLAM 방법은 그래픽 가속기를 사용하여 SIFT 알고리즘에서 영상 피라미드 생성과정과 서브 이미지의 차영상을 생성하는 과정을 각 스케일의 피라미드 영상 별로 병렬 실행함으로써 SIFT 알고리즘의 처리 속도를 향상시킬 수 있다.As described above, the graphic accelerator-based high-speed SLAM method according to an embodiment of the present invention executes a process of generating an image pyramid and a difference image of a sub-image in a SIFT algorithm by performing a parallel accelerator for each pyramid image of each scale. The processing speed of the SIFT algorithm can be improved.

또한, 그래픽 가속기를 사용하여 UKF SLAM 알고리즘에서 시그마 포인트 개수에 따른 복수의 스레드를 생성하고, 복수의 스레드가 각기 하나씩의 시그마 포인트를 생성하고, 비선형 방정식을 적용하며, 기대 값과 분산을 계산함으로써 UKF SLAM 알고리즘의 처리 속도를 향상시킬 수 있다.In addition, the UKF SLAM algorithm uses a graphics accelerator to generate a plurality of threads according to the number of sigma points, a plurality of threads each to generate one sigma point, apply a nonlinear equation, calculate the expected value and the variance The processing speed of the SLAM algorithm can be improved.

그리고, UKF SLAM 알고리즘의 처리 속도를 향상시킴으로써 지도를 구역별로 분할하지 않고 전체 지도를 작성하여도 종래의 CPU만을 사용하여 구역별로 분할한 경우와 비슷한 시간이 소요되므로 전체 지도를 작성하여 사용할 수 있다.In addition, by improving the processing speed of the UKF SLAM algorithm, even if the entire map is not divided by zone, it takes a similar time as the case of dividing by zone using a conventional CPU alone, so that the entire map can be created and used.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

110: 카메라
120: 특징점 추출부
130: 지도 작성부
110: camera
120: Feature point extraction unit
130: Map Builder

Claims (5)

다중 프로세서의 파이프 라인 구조를 가진 그래픽 가속기(GPU: Graphics Processing Unit)를 포함하고,
상기 그래픽 가속기가 카메라에서 입력된 입력 영상의 스케일을 변환하여 생성한 복수의 피라미드 영상 각각에 대하여 가우시안 커널을 적용하여 각각의 서브 이미지들의 차영상을 계산하고,
상기 그래픽 가속기가 상기 서브 이미지들의 차 영상에서 추출한 이미지 키의 안정성을 검증하여 특징점을 추출하며,
중앙 연산 처리 장치가 상기 특징점을 사용하여 특징점을 가진 오브젝트인 랜드마크를 식별하는 특징점 추출부; 및
상기 카메라가 장착된 로봇과 상기 랜드마크의 위치를 추정하여 상기 카메라가 장착된 로봇의 위치를 인식하고 지도를 작성하는 지도 작성부
를 포함하고,
상기 지도 작성부는,
식별한 랜드마크의 개수에 따라 표본 추출 포인트인 시그마 포인트들의 개수를 설정하며, 시그마 포인트들의 개수에 따라 복수의 제1 스레드와, 복수의 제2 스레드, 및 복수의 제3 스레드를 생성하고,
상기 제1 스레드들은,
특징점 정보를 기초로 시그마 포인트를 각각 생성하며,
상기 제2 스레드들은,
제1 스레드들이 생성한 시그마 포인트들 각각에 비선형 방정식을 적용하며,
상기 제3 스레드들은,
제2 스레드들이 비선형 방정식을 적용한 시그마 포인트의 기대 값과 분산을 계산하여 상기 카메라가 장착된 로봇과 상기 랜드마크의 위치를 추정하는 것을 특징으로 하는 그래픽 가속기 기반 고속 SLAM 시스템.
Includes a graphics processor (GPU) with a multiprocessor pipeline structure,
Calculating a difference image of each sub-image by applying a Gaussian kernel to each of a plurality of pyramid images generated by converting the scale of the input image inputted from the camera by the graphic accelerator,
The graphic accelerator verifies the stability of the image key extracted from the difference image of the sub-images to extract feature points,
A feature point extracting unit for identifying, by the central processing unit, a landmark that is an object having a feature point using the feature point; And
A map preparation unit for recognizing the location of the camera-mounted robot and creating a map by estimating the location of the camera-mounted robot and the landmark.
Including,
The map creation unit,
Set the number of sigma points that are sampling points according to the number of landmarks identified, and generate a plurality of first threads, a plurality of second threads, and a plurality of third threads according to the number of sigma points,
The first threads,
Each of the sigma points is generated based on the feature point information.
The second threads,
Apply a nonlinear equation to each of the sigma points generated by the first threads,
The third threads,
And a second thread calculates an expected value and a variance of a sigma point to which a nonlinear equation is applied, and estimates the position of the robot and the landmark on which the camera is mounted.
제1항에 있어서,
상기 특징점 추출부의 중앙 연산 처리 장치는,
상기 카메라에서 입력된 입력 영상을 텍스처 메모리 형태로 변환한 다음에 상기 그래픽 가속기의 메모리에 저장하고,
상기 그래픽 가속기는 상기 그래픽 가속기의 메모리에 저장된 입력 영상의 스케일을 변환하여 복수의 피라미드 영상을 생성하는 것을 특징으로 하는 그래픽 가속기 기반 고속 SLAM 시스템.
The method of claim 1,
The central processing unit of the feature point extraction unit,
Converts the input image input from the camera into a texture memory form and then stores it in the memory of the graphics accelerator,
And the graphic accelerator converts the scale of the input image stored in the memory of the graphic accelerator to generate a plurality of pyramid images.
제1항에 있어서,
상기 지도 작성부는,
상기 특징점 추출부가 식별한 랜드마크의 개수에 따라 표본 추출 포인트인 시그마 포인트들의 개수를 설정하는 것을 특징으로 하는 그래픽 가속기 기반 고속 SLAM 시스템.
The method of claim 1,
The map creation unit,
And a number of sigma points that are sampling points according to the number of landmarks identified by the feature point extractor.
다중 프로세서의 파이프 라인 구조를 가진 그래픽 가속기(Graphics Processing Unit)가 카메라에서 입력된 입력 영상의 스케일을 변환하여 복수의 피라미드 영상을 생성하는 단계;
상기 그래픽 가속기가 상기 복수의 피라미드 영상 각각에 대하여 가우시안 커널을 적용하여 각각의 서브 이미지들의 차영상을 계산하는 단계;
상기 그래픽 가속기가 상기 서브 이미지들의 차 영상에서 이미지 키를 추출하는 단계;
상기 그래픽 가속기가 상기 이미지 키의 안정성을 검증하여 특징점을 추출하는 단계;
중앙 연산 처리 장치가 상기 특징점을 사용하여 특징점을 가진 오브젝트인 랜드마크를 식별하는 단계
식별한 랜드마크의 개수에 따라 표본 추출 포인트인 시그마 포인트들의 개수를 설정하는 단계;
시그마 포인트들의 개수에 따라 복수의 제1 스레드와, 복수의 제2 스레드, 및 복수의 제3 스레드를 생성하는 단계;
상기 제1 스레드들이 특징점 정보를 기초로 시그마 포인트를 각각 생성하는 단계;
상기 제2 스레드들이 시그마 포인트들 각각에 비선형 방정식을 적용하는 단계; 및
상기 제3 스레드들이 비선형 방정식을 적용한 시그마 포인트의 기대 값과 분산을 계산하여 상기 카메라가 장착된 로봇과 상기 랜드마크의 위치를 식별하는 단계
를 포함하는 SIFT 알고리즘 실행 방법.
Generating a plurality of pyramid images by converting a scale of an input image input from a camera by a graphics processing unit having a pipeline structure of a multiprocessor;
Calculating, by the graphic accelerator, a difference image of each sub-image by applying a Gaussian kernel to each of the plurality of pyramid images;
Extracting an image key from the difference image of the sub-images by the graphic accelerator;
Extracting feature points by verifying the stability of the image key by the graphic accelerator;
Identifying, by the central processing unit, a landmark that is an object having a feature point using the feature point
Setting the number of sigma points that are sampling points according to the number of identified landmarks;
Creating a plurality of first threads, a plurality of second threads, and a plurality of third threads according to the number of sigma points;
Generating, by the first threads, sigma points respectively based on feature point information;
The second threads applying a nonlinear equation to each of the sigma points; And
Calculating the expected values and variances of the sigma points to which the third threads apply a nonlinear equation to identify the robot equipped with the camera and the location of the landmark.
SIFT algorithm execution method comprising a.
특징점 추출부가 식별한 랜드마크의 개수에 따라 표본 추출 포인트인 시그마 포인트들의 개수를 설정하는 단계;
다중 프로세서의 파이프 라인 구조를 가진 그래픽 가속기(GPU: Graphics Processing Unit)가 상기 시그마 포인트들의 개수에 따라 복수의 제1 스레드와, 복수의 제2 스레드, 및 복수의 제3 스레드를 생성하는 단계;
상기 제1 스레드들이 특징점 정보를 기초로 시그마 포인트를 각각 생성하는 단계;
상기 제2 스레드들이 시그마 포인트들 각각에 비선형 방정식을 적용하는 단계;
상기 제3 스레드들이 비선형 방정식을 적용한 시그마 포인트의 기대 값과 분산을 계산하여 카메라가 장착된 로봇과 랜드마크의 위치를 추정하는 단계
를 포함하는 그래픽 가속기 기반 고속 SLAM 알고리즘 실행 방법.
Setting the number of sigma points that are sampling points according to the number of landmarks identified by the feature point extractor;
Generating a plurality of first threads, a plurality of second threads, and a plurality of third threads according to the number of sigma points by a graphics processing unit (GPU) having a pipeline structure of a multiprocessor;
Generating, by the first threads, sigma points respectively based on feature point information;
The second threads applying a nonlinear equation to each of the sigma points;
Estimating the location of the robot and the landmark on which the camera is mounted by calculating the expected value and the variance of the sigma point to which the third threads apply the nonlinear equation.
Graphic accelerator based high speed SLAM algorithm execution method comprising a.
KR1020100036122A 2010-04-19 2010-04-19 High speed slam system and method based on graphic processing unit KR101206213B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100036122A KR101206213B1 (en) 2010-04-19 2010-04-19 High speed slam system and method based on graphic processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100036122A KR101206213B1 (en) 2010-04-19 2010-04-19 High speed slam system and method based on graphic processing unit

Publications (2)

Publication Number Publication Date
KR20110116609A KR20110116609A (en) 2011-10-26
KR101206213B1 true KR101206213B1 (en) 2012-11-28

Family

ID=45030856

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100036122A KR101206213B1 (en) 2010-04-19 2010-04-19 High speed slam system and method based on graphic processing unit

Country Status (1)

Country Link
KR (1) KR101206213B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105467838A (en) * 2015-11-10 2016-04-06 山西大学 Synchronous positioning and map constructing method under random finite set framework

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101904203B1 (en) 2012-06-20 2018-10-05 삼성전자주식회사 Apparatus and method of extracting feature information of large source image using scalar invariant feature transform algorithm
CN104539265A (en) * 2014-11-25 2015-04-22 广东石油化工学院 Self-adaptive UKF (Unscented Kalman Filter) algorithm
CN105115511B (en) * 2015-07-24 2017-09-26 浙江工业大学 A kind of adaptive terrestrial reference choosing method navigated towards lunar surface
CN106504229B (en) * 2016-09-30 2019-11-12 上海联影医疗科技有限公司 The detection method of characteristic point in image
US10580135B2 (en) 2016-07-14 2020-03-03 Shanghai United Imaging Healthcare Co., Ltd. System and method for splicing images
CN109726168B (en) * 2016-11-03 2021-09-21 中科寒武纪科技股份有限公司 SLAM operation device and method
CN106778726B (en) * 2016-12-14 2020-06-30 广州视源电子科技股份有限公司 Board card positioning method and device
CN107341507B (en) * 2017-06-20 2020-01-21 华中科技大学 GPU and cascade hash based rapid image SIFT feature matching method
CN109543694A (en) * 2018-09-28 2019-03-29 天津大学 A kind of visual synchronization positioning and map constructing method based on the sparse strategy of point feature
CN109274119B (en) * 2018-10-23 2021-06-01 中国矿业大学 Three-phase current type grid-connected inverter control method
CN109840517A (en) * 2019-03-08 2019-06-04 兰州交通大学 A kind of estimation of MEMS gyro noise and filtering method
CN113112394A (en) * 2021-04-13 2021-07-13 北京工业大学 Visual SLAM front-end acceleration method based on CUDA technology

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문 1 : 학위논문 인하대학교
논문 2 : 제어 로봇 시스템 학회지(2009년 6월)*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105467838A (en) * 2015-11-10 2016-04-06 山西大学 Synchronous positioning and map constructing method under random finite set framework
CN105467838B (en) * 2015-11-10 2017-12-05 山西大学 A kind of synchronous superposition method under stochastic finite collection framework

Also Published As

Publication number Publication date
KR20110116609A (en) 2011-10-26

Similar Documents

Publication Publication Date Title
KR101206213B1 (en) High speed slam system and method based on graphic processing unit
Poirson et al. Fast single shot detection and pose estimation
JP6942488B2 (en) Image processing equipment, image processing system, image processing method, and program
JP4637618B2 (en) Lane recognition device
Bagdanov et al. Real-time hand status recognition from RGB-D imagery
US9928426B1 (en) Vehicle detection, tracking and localization based on enhanced anti-perspective transformation
CN104933738A (en) Visual saliency map generation method based on local structure detection and contrast
KR101478709B1 (en) Method and apparatus for extracting and generating feature point and feature descriptor rgb-d image
Petit et al. Augmenting markerless complex 3D objects by combining geometrical and color edge information
Głowacz et al. Video detection algorithm using an optical flow calculation method
EP4123106A1 (en) Image processing device, image processing method, and image processing program
US20220270327A1 (en) Systems and methods for bounding box proposal generation
US20230082097A1 (en) Method and device for multi-sensor data-based fusion information generation for 360-degree detection and recognition of surrounding object
US11600086B2 (en) Dictionary learning device, dictionary learning method, and program storage medium
KR101394473B1 (en) Method for detecting moving object and surveillance system thereof
Brauer et al. Generative 2d and 3d human pose estimation with vote distributions
CN113743487A (en) Enhanced remote sensing image target detection method and system
US11809997B2 (en) Action recognition apparatus, action recognition method, and computer-readable recording medium
Ikoma Hands and arms motion estimation of a car driver with depth image sensor by using particle filter
Fengjing et al. Airport runway extraction method in aviation reconnaissance image
JP5719277B2 (en) Object coordinate system conversion matrix estimation success / failure determination apparatus, object coordinate system conversion matrix estimation success / failure determination method, and program thereof
CN113312979B (en) Image processing method and device, electronic equipment, road side equipment and cloud control platform
Inan et al. Harnessing Vision Transformers for LiDAR Point Cloud Segmentation
Qiu et al. Edge-Feature-Based Aircraft Cover Recognition and Pose Estimation for AR-Aided Inner Components Inspection
Al-Sabbag et al. Real-Time quantitative visual inspection using extended reality

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170829

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee