KR102287401B1 - 3d 공간 지도를 2d 평면도로 변환하기 위한 방법 및 장치 - Google Patents
3d 공간 지도를 2d 평면도로 변환하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR102287401B1 KR102287401B1 KR1020210069207A KR20210069207A KR102287401B1 KR 102287401 B1 KR102287401 B1 KR 102287401B1 KR 1020210069207 A KR1020210069207 A KR 1020210069207A KR 20210069207 A KR20210069207 A KR 20210069207A KR 102287401 B1 KR102287401 B1 KR 102287401B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- map
- pixel intensity
- noise
- lines
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012937 correction Methods 0.000 claims abstract description 90
- 238000012935 Averaging Methods 0.000 claims description 15
- 239000000284 extract Substances 0.000 claims description 8
- 238000000513 principal component analysis Methods 0.000 claims description 6
- 238000009499 grossing Methods 0.000 claims description 4
- 101150011158 THI1 gene Proteins 0.000 description 8
- 101100294244 Uromyces fabae PIG1 gene Proteins 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 3
- 102100034280 Ankyrin repeat domain-containing protein 26 Human genes 0.000 description 2
- 101000780116 Homo sapiens Ankyrin repeat domain-containing protein 26 Proteins 0.000 description 2
- 101001036145 Homo sapiens Serine/threonine-protein kinase greatwall Proteins 0.000 description 2
- 101150073441 THI2 gene Proteins 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012546 transfer Methods 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
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G06T5/001—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Processing (AREA)
Abstract
3D 공간 지도를 2D 평면도로 변환하기 위한 방법이 개시된다. 상기 3D 공간 지도를 2D 평면도로 변환하기 위한 방법은 프로세서는 라이다 센서로부터 3D 포인트 클라우드 데이터를 수신하고 3D 공간 지도를 생성하는 단계, 상기 프로세서는 상기 3D 공간 지도를 2D 평면에 투사하여 2D 투영(projection) 지도로 변환하는 단계, 상기 프로세서는 상기 변환된 2D 투영 지도에 가우시안 필터를 적용하여 에지 지도를 생성하는 단계, 상기 프로세서는 상기 생성된 에지 지도에서 이동 로봇이 지나간 경로를 따라 상기 경로에 존재하는 점들을 노이즈로 인식하고 상기 노이즈를 제거하는 단계, 상기 프로세서는 상기 노이즈가 제거된 에지 지도에서 주요 선들(Principal line)을 추출하고, 추출된 주요 선들과 y축 사이의 기울기를 계산하고, 상기 계산된 기울기에 따라 상기 주요 선들을 회전시켜 보정 지도를 생성하는 단계, 상기 프로세서는 임의로 상기 보정 지도에서 임의의 사이즈와 임의의 위치를 가진 제1영역을 선택하는 단계, 상기 프로세서는 상기 제1영역에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 상기 선택된 영역에서 추가적으로 노이즈를 제거하는 단계, 상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 단계, 상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화하는 단계, 및 상기 프로세서는 상기 단순화된 경계 선들에 의해 정의되는 객체를 임의의 파일 형식에 포함된 객체와 대응하여 상기 임의의 파일 형식에 포함된 객체로 저장하고 2D 평면도를 생성하는 단계를 포함한다.
Description
본 발명은 3D 공간 지도를 2D 평면도로 변환하기 위한 방법 및 장치에 관한 것으로, 상세하게는 관리자가 쇼핑몰, 또는 마트의 관리를 위해 3D 공간 지도를 2D 평면도로 변환하기 위한 방법 및 장치에 관한 것이다.
쇼핑몰 또는 마트의 관리자는 쇼핑몰, 또는 마트의 관리를 위해 매대(stand), 랙(rack), 엘리베이터, 또는 비상구의 위치를 판단할 필요가 있다. 즉, 관리자는 쇼핑몰, 또는 마트의 내부 지도가 필요하다. 내부 지도를 생성하기 위해 사람이 직접 매대, 또는 랙의 위치를 파악하는 것은 시간과 노력이 많이 든다. 쇼핑몰, 또는 마트에서 매대, 또는 랙의 위치는 자주 변경될 수 있기 때문이다.
따라서 관리자가 쇼핑몰, 또는 마트의 관리를 위해 쉽게 내부 지도를 생성할 수 있는 방법이 요구된다.
본 발명이 이루고자 하는 기술적인 과제는 프로그램에 의해 3D 공간 지도를 2D 평면도로 변환할 수 있는 방법 및 장치를 제공하는 것이다.
본 발명의 실시 예에 따른 3D 공간 지도를 2D 평면도로 변환하기 위한 방법은 프로세서는 라이다 센서로부터 3D 포인트 클라우드 데이터를 수신하고 3D 공간 지도를 생성하는 단계, 상기 프로세서는 상기 3D 공간 지도를 2D 평면에 투사하여 2D 투영(projection) 지도로 변환하는 단계, 상기 프로세서는 상기 변환된 2D 투영 지도에 가우시안 필터를 적용하여 에지 지도를 생성하는 단계, 상기 프로세서는 상기 생성된 에지 지도에서 이동 로봇이 지나간 경로를 따라 상기 경로에 존재하는 점들을 노이즈로 인식하고 상기 노이즈를 제거하는 단계, 상기 프로세서는 상기 노이즈가 제거된 에지 지도에서 주요 선들(Principal line)을 추출하고, 추출된 주요 선들과 y축 사이의 기울기를 계산하고, 상기 계산된 기울기에 따라 상기 주요 선들을 회전시켜 보정 지도를 생성하는 단계, 상기 프로세서는 임의로 상기 보정 지도에서 임의의 사이즈와 임의의 위치를 가진 제1영역을 선택하는 단계, 상기 프로세서는 상기 제1영역에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 상기 선택된 영역에서 추가적으로 노이즈를 제거하는 단계, 상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 단계, 상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화하는 단계, 및 상기 프로세서는 상기 단순화된 경계 선들에 의해 정의되는 객체를 임의의 파일 형식에 포함된 객체와 대응하여 상기 임의의 파일 형식에 포함된 객체로 저장하고 2D 평면도를 생성하는 단계를 포함한다.
상기 프로세서는 상기 제1영역에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 추가적으로 노이즈를 제거하는 단계는 상기 프로세서는 상기 픽셀 강도 히스토그램에서 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있는지 판단하는 단계, 상기 프로세서는 상기 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 상기 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있다고 판단할 때, 상기 프로세서는 상기 픽셀 강도 히스토그램의 분산을 계산하는 단계, 상기 계산된 분산이 상기 임의의 분산 문턱값보다 클 때, 상기 프로세서는 임의로 상기 보정 지도에서 임의의 사이즈와 임의의 위치를 가진 제2영역을 선택하는 단계, 상기 프로세서는 상기 제2영역을 선택하고 상기 제2영역에서 픽셀 강도 히스토그램을 생성하는 단계, 상기 프로세서는 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있는지 판단하는 단계, 상기 프로세서는 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 상기 임의의 픽셀 강도 이하에서 상기 픽셀 값의 개수가 상기 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있다고 판단할 때, 상기 프로세서는 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 분산을 계산하는 단계, 및 상기 프로세서는 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 상기 계산된 분산이 상기 임의의 분산 문턱값보다 작을 때, 상기 프로세서는 상기 제2영역에서 노이즈를 제거하는 단계를 포함한다.
상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 단계는 상기 프로세서는 상기 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에서 순차적으로 슬라이딩하여 컨볼루션 연산을 수행하는 단계, 및 상기 컨볼루션 연산의 결과값이 임의의 픽셀 문턱값 이상일 때, 상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 상기 생성된 템플릿 윈도우와 컨볼루션되는 이미지에 대해 상기 미리 정의된 객체들 중 어느 하나로 인식하는 단계를 포함한다.
상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 단계는 상기 프로세서는 상기 템플릿 윈도우의 가로 세로 비를 변환하는 단계, 상기 프로세서는 상기 가로 세로 비가 변환된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에서 순차적으로 슬라이딩하여 컨볼루션 연산을 수행하는 단계, 및 상기 컨볼루션 연산의 결과값이 임의의 픽셀 문턱값 이상일 때, 상기 프로세서는 상기 가로 세로 비가 변환된 보정 지도에서 상기 생성된 템플릿 윈도우와 컨볼루션되는 이미지에 대해 상기 미리 정의된 객체들 중 어느 하나로 인식하는 단계를 포함한다.
상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화하는 단계는 상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 상기 등고선을 찾는 알고리즘을 이용하여 복수의 등고선들을 추출하는 단계, 상기 프로세서는 상기 추출된 복수의 등고선들을 복수의 그룹들로 분류하는 단계, 상기 프로세서는 상기 분류된 복수의 그룹들에서 상기 추출된 복수의 등고선들의 두께를 계산하는 단계, 상기 프로세서는 상기 추출된 복수의 등고선들 중에서 가장 두꺼운 등고선을 선택하는 단계, 상기 프로세서는 라인 피팅(line fitting) 알고리즘을 이용하여 상기 가장 두꺼운 등고선에서 복수의 직선들을 추정하는 단계, 상기 프로세서는 주성분 분석을 통해 상기 추정된 복수의 직선들의 노이즈를 감소시키는 단계, 상기 프로세서는 상기 추정된 복수의 직선들을 각도에 따라 복수의 직선들로 나누는 단계, 상기 프로세서는 상기 나눠진 복수의 직선들 각각과 기울기가 제1도인 제1가상 직선과의 거리를 계산하여 제1계산 값들을 생성하는 단계, 상기 프로세서는 상기 나눠진 복수의 직선들 각각과 기울기가 제2도인 제2가상 직선과의 거리를 계산하여 제2계산 값들을 생성하는 단계, 상기 프로세서는 상기 나눠진 복수의 직선들 각각과 기울기가 제3도인 제3가상 직선과의 거리를 계산하여 제3계산 값들을 생성하는 단계, 상기 프로세서는 상기 제1계산 값들, 상기 제2계산 값들, 및 상기 제3계산 값들 중에서 가장 작은 계산 값들을 가지는 가상 직선을 대표 직선으로 추출하는 단계, 및 상기 프로세서는 서로 교차하는 2개의 대표 직선들의 교차 점을 식별하여 상기 2개의 대표 직선들을 부드럽게 만드는 단계를 포함한다.
본 발명의 실시 예에 따른 3D 공간 지도를 2D 평면도로 변환하기 위한 장치는 명령들을 실행하는 프로세서, 및 상기 명령들을 저장하는 메모리를 포함한다.
상기 명령들은 라이다 센서로부터 3D 포인트 클라우드 데이터를 수신하고 3D 공간 지도를 생성하며, 상기 3D 공간 지도를 2D 평면에 투사하여 2D 투영(projection) 지도로 변환하며, 상기 변환된 2D 투영 지도에 가우시안 필터를 적용하여 에지 지도를 생성하며, 상기 생성된 에지 지도에서 이동 로봇이 지나간 경로를 따라 상기 경로에 존재하는 점들을 노이즈로 인식하고 상기 노이즈를 제거하며, 상기 노이즈가 제거된 에지 지도에서 주요 선들(Principal line)을 추출하고, 추출된 주요 선들과 y축 사이의 기울기를 계산하고, 상기 계산된 기울기에 따라 상기 주요 선들을 회전시켜 보정 지도를 생성하며, 임의로 상기 보정 지도에서 임의의 사이즈와 임의의 위치를 가진 제1영역을 선택하며, 상기 제1영역에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 상기 선택된 영역에서 추가적으로 노이즈를 제거하며, 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하며, 상기 추가적으로 노이즈가 제거된 보정 지도에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화하며, 상기 단순화된 경계 선들에 의해 정의되는 객체를 임의의 파일 형식에 포함된 객체와 대응하여 상기 임의의 파일 형식에 포함된 객체로 저장하고 2D 평면도를 생성하도록 구현된다.
상기 제1영역에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 추가적으로 노이즈를 제거하는 명령들은 상기 픽셀 강도 히스토그램에서 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있는지 판단하며, 상기 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 상기 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있다고 판단될 때, 상기 픽셀 강도 히스토그램의 분산을 계산하며, 상기 계산된 분산이 상기 임의의 분산 문턱값보다 클 때, 임의로 상기 보정 지도에서 임의의 사이즈와 임의의 위치를 가진 제2영역을 선택하며, 상기 제2영역을 선택하고 상기 제2영역에서 픽셀 강도 히스토그램을 생성하며, 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있는지 판단하며, 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 상기 임의의 픽셀 강도 이하에서 상기 픽셀 값의 개수가 상기 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있다고 판단될 때, 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 분산을 계산하며, 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 상기 계산된 분산이 상기 임의의 분산 문턱값보다 작을 때, 상기 제2영역에서 노이즈를 제거하도록 구현된다.
상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 명령들은 상기 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에서 순차적으로 슬라이딩하여 컨볼루션 연산을 수행하며, 상기 컨볼루션 연산의 결과값이 임의의 픽셀 문턱값 이상일 때, 상기 추가적으로 노이즈가 제거된 보정 지도에서 상기 생성된 템플릿 윈도우와 컨볼루션되는 이미지에 대해 상기 미리 정의된 객체들 중 어느 하나로 인식하도록 구현된다.
상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 명령들은 상기 템플릿 윈도우의 가로 세로 비를 변환하며, 상기 가로 세로 비가 변환된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에서 순차적으로 슬라이딩하여 컨볼루션 연산을 수행하며, 상기 컨볼루션 연산의 결과값이 임의의 픽셀 문턱값 이상일 때, 상기 가로 세로 비가 변환된 보정 지도에서 상기 생성된 템플릿 윈도우와 컨볼루션되는 이미지에 대해 상기 미리 정의된 객체들 중 어느 하나로 인식하도록 구현된다.
상기 추가적으로 노이즈가 제거된 보정 지도에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화하는 명령들은 상기 추가적으로 노이즈가 제거된 보정 지도에서 상기 등고선을 찾는 알고리즘을 이용하여 복수의 등고선들을 추출하며, 상기 추출된 복수의 등고선들을 복수의 그룹들로 분류하며, 상기 분류된 복수의 그룹들에서 상기 추출된 복수의 등고선들의 두께를 계산하며, 상기 추출된 복수의 등고선들 중에서 가장 두꺼운 등고선을 선택하며, 라인 피팅(line fitting) 알고리즘을 이용하여 상기 가장 두꺼운 등고선에서 복수의 직선들을 추정하며, 주성분 분석을 통해 상기 추정된 복수의 직선들의 노이즈를 감소시키며, 상기 추정된 복수의 직선들을 각도에 따라 복수의 직선들로 나누며, 상기 나눠진 복수의 직선들 각각과 기울기가 제1도인 제1가상 직선과의 거리를 계산하여 제1계산 값들을 생성하며, 상기 나눠진 복수의 직선들 각각과 기울기가 제2도인 제2가상 직선과의 거리를 계산하여 제2계산 값들을 생성하며, 상기 나눠진 복수의 직선들 각각과 기울기가 제3도인 제3가상 직선과의 거리를 계산하여 제3계산 값들을 생성하며, 상기 제1계산 값들, 상기 제2계산 값들, 및 상기 제3계산 값들 중에서 가장 작은 계산 값들을 가지는 가상 직선을 대표 직선으로 추출하며, 서로 교차하는 2개의 대표 직선들의 교차 점을 식별하여 상기 2개의 대표 직선들을 부드럽게 만들도록 구현된다.
본 발명의 실시 예에 따른 3D 공간 지도를 2D 평면도로 변환하기 위한 방법 및 장치는 라이다 센서의 라이다 정보로부터 생성된 3D 공간 지도에 대해 여러가지 후처리 동작을 수행함으로써 쇼핑몰, 또는 마트의 관리를 위한 2D 평면도를 생성할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 쇼핑몰 또는 마트의 특정 층의 상면도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 2D 투영 지도의 이미지를 나타낸다.
도 3은 본 발명의 실시 예에 따른 에지 지도의 이미지를 나타낸다.
도 4는 본 발명의 실시 예에 따른 노이즈를 제거하기 위한 동작을 설명하기 위한 이미지를 나타낸다.
도 5는 본 발명의 실시 예에 따른 보정 지도의 생성을 설명하기 위한 이미지를 나타낸다.
도 6은 본 발명의 실시 예에 따른 보정 지도의 이미지를 나타낸다.
도 7은 도 6에 도시된 임의의 영역에서의 픽셀 강도 히스토그램들을 나타내다.
도 8은 본 발명의 실시 예에 따른 객체를 인식하기 위한 방법을 설명하기 위한 추가적으로 노이즈가 제거된 보정 지도를 나타낸다.
도 9는 본 발명의 실시 예에 따른 경계 선을 단순화하는 방법을 설명하기 위해 가장 두꺼운 등고선이 도시된 이미지를 나타낸다.
도 10은 본 발명의 실시 예에 따른 2D 평면도의 이미지를 나타낸다.
도 11은 본 발명의 실시 예에 따른 3D 공간 지도를 2D 평면도로 변환하기 위한 방법을 설명하기 위한 흐름도를 나타낸다.
도 1은 본 발명의 실시 예에 따른 쇼핑몰 또는 마트의 특정 층의 상면도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 2D 투영 지도의 이미지를 나타낸다.
도 3은 본 발명의 실시 예에 따른 에지 지도의 이미지를 나타낸다.
도 4는 본 발명의 실시 예에 따른 노이즈를 제거하기 위한 동작을 설명하기 위한 이미지를 나타낸다.
도 5는 본 발명의 실시 예에 따른 보정 지도의 생성을 설명하기 위한 이미지를 나타낸다.
도 6은 본 발명의 실시 예에 따른 보정 지도의 이미지를 나타낸다.
도 7은 도 6에 도시된 임의의 영역에서의 픽셀 강도 히스토그램들을 나타내다.
도 8은 본 발명의 실시 예에 따른 객체를 인식하기 위한 방법을 설명하기 위한 추가적으로 노이즈가 제거된 보정 지도를 나타낸다.
도 9는 본 발명의 실시 예에 따른 경계 선을 단순화하는 방법을 설명하기 위해 가장 두꺼운 등고선이 도시된 이미지를 나타낸다.
도 10은 본 발명의 실시 예에 따른 2D 평면도의 이미지를 나타낸다.
도 11은 본 발명의 실시 예에 따른 3D 공간 지도를 2D 평면도로 변환하기 위한 방법을 설명하기 위한 흐름도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않은 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 쇼핑몰 또는 마트의 특정 층의 상면도를 나타낸다.
도 1을 참고하면, 마트, 창고, 공장, 또는 쇼핑몰의 특정 층(100)은 상품 진열을 위한 랙(31, 33, 또는 39), 또는 매대(35)를 포함할 수 있다. 또한, 마트, 창고, 공장, 또는 쇼핑몰의 특정 층(100)은 다른 층으로 이동하기 위한 에스컬레이터(37)를 포함할 수 있다. 이동 로봇(10)은 특정 층(100)에서 3D 공간 지도 생성을 위해 이용된다. 또한, 이동 로봇(10)은 마트, 창고, 공장, 또는 쇼핑몰 등에서 상품 이송, 상품 안내, 또는 재고 관리 등의 목적으로 이용될 수 있다. 또한, 실시 예에 따라 이동 로봇(10)은 실내뿐만 아니라 실외에서도 이용될 수 있다.
이동 로봇(10)은 바퀴(미도시)와 같은 이동 수단에 의해 이동하는 장치이다. 실시 예에 따라 이동 로봇(10)은 자율 주행 장치, 운송 로봇 또는 자율 주행 로봇 등 다양한 용어들로 호칭될 수 있다. 이동 로봇(10)은 상기 3D 공간 지도의 생성을 위한 라이다 센서(11)를 포함할 수 있다. 이동 로봇(10)은 특정 층(100)을 이동하면서 라이다 센서(11)를 이용하여 3D 포인트 클라우드 데이터를 취득할 수 있다. 라이다 센서(11)는 상기 3D 포인트 클라우드 데이터를 생성한다. 상기 3D 포인트 클라우드는 객체, 또는 공간을 표현하는 데이터세트들을 의미한다. 상기 3D 포인트 클라우드는 3D 포인트들을 포함한다. 상기 3D 포인트들 각각은 (X, Y, Z)의 좌표로 표현된다. 상기 3D 공간 지도는 상기 3D 포인트 클라우드를 이용하여 생성된다. 이동 로봇(10)은 상기 3D 포인트들 중 10hz 이상으로 출력되는 상기 3D 포인트들을 하나의 축을 기준으로 모아 상기 3D 공간 진도를 생성한다.
장치(20)는 네트워크를 통해 이동 로봇(10)과 통신할 수 있다. 장치(20)는 3D 공간 지도를 2D 평면도로 변환하기 위한 장치이다. 장치(20)는 서버, PC, 노트북, 또는 태블릿 PC와 같은 전자 장치일 수 있다. 장치(20)는 디스플레이(21), 프로세서(23), 및 메모리(25)를 포함한다.
장치(20)는 네트워크를 통해 이동 로봇(10)으로부터 상기 3D 공간 지도를 수신할 수 있다. 디스플레이(21)에는 상기 3D 공간 지도가 표시될 수 있다.
프로세서(23)는 3D 공간 지도를 2D 평면도로 변환하기 위한 명령들을 실행한다. 메모리(25)는 상기 명령들을 저장한다. 이하, 상기 3D 공간 지도를 2D 평면도로 변환하기 위한 명령들이 설명된다.
도 2는 본 발명의 실시 예에 따른 2D 투영 지도의 이미지를 나타낸다.
도 1과 도 2를 참고하면, 프로세서(23)는 상기 3D 공간 지도를 2D 평면에 투사하여 2D 투영(projection) 지도로 변환한다. 상기 3D 공간 지도는 (X, Y, Z)인 3D 좌표로 표현된다. 상깅 3D 좌표로 표현되는 3D 공간 지도를 2D 평면에 투사할 때, 상기 3D 공간 지도의 Z 좌표는 상기 2D 평면에서는 픽셀 강도로 표현된다. 예컨대, 상기 3D 공간 지도에서 Z 좌표 값이 클수록 상기 2D 평면에서 높은 픽셀 강도 값으로 표현된다. 즉, 상기 3D 공간 지도에서 Z 좌표 값이 클수록 상기 2D 평면에서 어둡게 표현된다.
도 3은 본 발명의 실시 예에 따른 에지 지도의 이미지를 나타낸다.
도 1과 도 3을 참고하면, 프로세서(23)는 상기 변환된 2D 투영 지도에 가우시안 필터를 적용하여 에지 지도를 생성한다. 또한, 프로세서(23)는 소벨(sobel) 필터를 추가적으로 이용하여 에지 지도를 생성할 수 있다.
도 4는 본 발명의 실시 예에 따른 노이즈를 제거하기 위한 동작을 설명하기 위한 이미지를 나타낸다.
도 1과 도 4를 참고하면, 프로세서(23)는 상기 생성된 에지 지도에서 이동 로봇(10)이 지나간 경로를 따라 상기 경로에 존재하는 점들을 노이즈로 인식하고 상기 노이즈를 제거한다. 도 4에서 이동 로봇(10)이 지나간 경로는 화살표로 표시된다. 이동 로봇(10)이 지나간 경로는 이동 로봇(10)의 라이다 센서(11)를 통해 확인이 가능하다. 이동 로봇(10)이 지나간 경로는 객체나 장애물이 존재하지 않은 영역이므로, 이동 로봇(10)이 지나간 경로에 존재하는 점들은 노이즈로 인식된다.
도 5는 본 발명의 실시 예에 따른 보정 지도의 생성을 설명하기 위한 이미지를 나타낸다. 도 5 (a)는 보정 지도가 생성되기 전의 이미지를 나타내며, 도 5 (b)는 보정 지도가 생성된 후의 이미지를 나타낸다.
도 1과 도 5 (a)를 참고하면, 프로세서(23)는 도 5 (a)에 도시된 상기 노이즈가 제거된 에지 지도에서 주요 선들(Principal line; PL)을 추출하고, 추출된 주요 선들과 y축 사이의 기울기를 계산한다.
프로세서(23)는 상기 계산된 기울기에 따라 상기 주요 선들을 회전시켜 도 5 (b)에 도시된 보정 지도를 생성한다.
프로세서(23)에 의해 상기 2D 투영 지도로의 변환, 에지 지도의 생성, 노이즈 제거, 및 상기 보정 지도의 생성은 등록 특허(10-2159048)에서 이미 상세하게 설명된 내용으로 자세한 설명은 생략한다. 본 발명에서 상기 2D 투영 지도는 등록 특허(10-2159048)에서 2차원 지도와 대응된다. 본 발명에서 에지 지도는 등록 특허(10-2159048)에서 에지 맵과 대응된다. 본 발명에서 노이즈 제거는 등록 특허(10-2159048)에서 이동 객체에 의한 노이즈 제거와 대응된다. 본 발명에서 보정 지도 생성은 등록 특허(10-2159048)에서 점유율 높이 지도의 자세 보정과 대응된다.
도 6은 본 발명의 실시 예에 따른 보정 지도의 이미지를 나타낸다.
도 1과 도 6 (a)를 참고하면, 프로세서(23)는 임의로 상기 보정 지도(200)에서 임의의 사이즈와 임의의 위치를 가진 제1영역(AR1)을 선택한다. 프로세서(23)는 난수를 생성하여 임의의 사이즈와 임의의 위치를 가진 제1영역(AR1)을 선택할 수 있다. 프로세서(23)는 상기 선택된 제1영역(AR1)에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 추가적으로 노이즈를 제거한다. 상기 픽셀 강도 분포는 픽셀 강도 히스토그램의 분산을 의미한다.
도 7은 도 6에 도시된 임의의 영역에서의 픽셀 강도 히스토그램들을 나타내다. 도 7 (a)는 선택된 제1영역(AR1)의 X축을 따라 생성된 픽셀 강도 히스토그램을 나타낸다.
도 1 내지 도 7을 참고하면, 프로세서(23)는 제1영역(AR1)을 선택하고, 선택된 제1영역(AR1)의 X축을 따라 픽셀 강도 히스토그램을 생성한다. 프로세서(23)는 제1영역(AR1)의 X축을 따라 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도(THI1) 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수(THC1)보다 많은 픽셀 강도가 있는지 판단한다. 도 7 (a)에 도시된 제1영역(AR1)의 X축을 따라 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도(THI1) 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수(THC1)보다 픽셀 강도(PI1)가 있으므로, 프로세서(23)는 제1영역(AR1)의 X축을 따라 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도(THI1) 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수(THC1)보다 많은 픽셀 강도(PI1)가 있다고 판단한다.
프로세서(23)는 임의의 픽셀 강도(THI1) 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수(THC1)보다 많은 픽셀 강도(PI1)가 있다고 판단할 때, 프로세서(23)는 상기 X축을 따라 픽셀 강도 히스토그램의 분산을 계산한다. 프로세서(23)는 상기 계산된 분산이 임의의 분산 문턱값보다 작은지 판단한다.
프로세서(23)는 상기 계산된 분산이 상기 임의의 분산 문턱값보다 클 때, 프로세서(23)는 임의로 상기 보정 지도(200)에서 임의의 사이즈와 임의의 위치를 가진 제2영역(예컨대, AR2)을 선택한다. 실시 예에 따라 프로세서(23)는 제1영역(AR1)의 사이즈를 줄여 제2영역(AR2)을 선택할 수 있다.
프로세서(23)는 제2영역(AR2)을 선택하고, 제2영역(AR2)의 X축을 따라 픽셀 강도 히스토그램을 생성한다.
도 7 (b)는 선택된 제2영역(AR2)의 X축을 따라 생성된 픽셀 강도 히스토그램을 나타낸다.
프로세서(23)는 제2영역(AR2)의 X축을 따라 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도(THI1) 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수(THC1)보다 많은 픽셀 강도가 있는지 판단한다. 도 7 (a)에 도시된 제2영역(AR2)의 X축을 따라 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도(THI1) 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수(THC1)보다 픽셀 강도(PI2)가 있으므로, 프로세서(23)는 제2영역(AR2)의 X축을 따라 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도(THI1) 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수(THC1)보다 많은 픽셀 강도(PI2)가 있다고 판단한다.
프로세서(23)는 제2영역(AR2)의 X축을 따라 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도(THI1) 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수(THC1)보다 많은 픽셀 강도(PI2)가 있다고 판단할 때, 프로세서(23)는 제2영역(AR2)의 X축을 따라 픽셀 강도 히스토그램의 분산을 계산한다. 프로세서(23)는 상기 계산된 분산이 임의의 분산 문턱값보다 작은지 판단한다. 프로세서(23)는 상기 계산된 분산이 상기 임의의 분산 문턱값보다 작을 때, 프로세서(23)는 선택된 제2영역(AR2)에서 노이즈를 제거한다. 상기 노이즈를 제거한다함은 프로세서(23)는 선택된 제2영역(AR2)에서 모든 픽셀들의 강도를 0으로 설정함을 의미한다. 도 6 (b)는 노이즈인 제2영역(AR2)이 제거된 보정 지도의 이미지를 나타낸다.
프로세서(23)는 상기 계산된 분산이 상기 임의의 분산 문턱값보다 클 때, 프로세서(23)는 임의로 상기 보정 지도(200)에서 임의의 사이즈와 임의의 위치를 가진 또 다른 제3영역을 선택한다.
또한, 프로세서(23)는 선택된 제1영역(AR1)의 Y축을 따라 픽셀 강도 히스토그램을 생성할 수 있다. 도 7 (c)는 선택된 제1영역(AR1)의 Y축을 따라 생성된 픽셀 강도 히스토그램을 나타낸다. 프로세서(23)는 Y축을 따라 생성된 픽셀 강도 히스토그램에서도 X축과 유사하게 임의의 픽셀 강도(THI2) 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수(THC2)보다 많은 픽셀 강도가 있는지 판단하고, 상기 Y축을 따라 픽셀 강도 히스토그램의 분산을 계산하고, 분산 결과에 따라 제1영역(AR1)에서 노이즈를 제거할지 제2영역(AR2)을 선택할지 결정한다. 프로세서(23)는 제2영역(AR2)을 선택할 때, 프로세서(23)는 Y축을 따라 생성된 픽셀 강도 히스토그램에서도 X축과 유사하게 임의의 픽셀 강도(THI2) 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수(THC2)보다 많은 픽셀 강도가 있는지 판단하고, 상기 Y축을 따라 픽셀 강도 히스토그램의 분산을 계산하고, 분산 결과에 따라 제2영역(AR2)에서 노이즈를 제거할지 결정한다. 도 7 (d)는 선택된 제2영역(AR2)의 Y축을 따라 생성된 픽셀 강도 히스토그램을 나타낸다.
실시 예에 따라 프로세서(23)는 제1영역(AR1)의 X축을 따라 픽셀 강도 히스토그램을 생성하거나, 제1영역(AR1)의 Y축을 따라 픽셀 강도 히스토그램을 생성하여 제2영역(AR2)을 선택할 수 있다. 제1영역(AR1)의 X축을 따라 생성된 픽셀 강도 히스토그램과 제1영역(AR1)의 Y축을 따라 생성된 픽셀 강도 히스토그램 중 어느 하나가 위에서 언급한 조건들을 만족할 때, 프로세서(23)는 제2영역(AR2)을 선택할 수 있다.
실시 예에 따라 제1영역(AR1)의 X축을 따라 생성된 픽셀 강도 히스토그램과 제1영역(AR1)의 Y축을 따라 생성된 픽셀 강도 히스토그램이 모두 위에서 언급한 조건들을 동시에 만족할 때, 프로세서(23)는 제2영역(AR2)을 선택할 수 있다.
또한, 제2영역(AR2)의 X축을 따라 생성된 픽셀 강도 히스토그램과 제2영역(AR2)의 Y축을 따라 생성된 픽셀 강도 히스토그램 중 어느 하나가 위에서 언급한 조건들을 만족할 때, 프로세서(23)는 제2영역(AR2)의 노이즈를 제거할 수 있다.
실시 예에 따라 제2영역(AR2)의 X축을 따라 생성된 픽셀 강도 히스토그램과 제2영역(AR2)의 Y축을 따라 생성된 픽셀 강도 히스토그램이 모두 위에서 언급한 조건들을 동시에 만족할 때, 프로세서(23)는 제2영역(AR2)의 노이즈를 제거할 수 있다.
도 8은 본 발명의 실시 예에 따른 객체를 인식하기 위한 방법을 설명하기 위한 추가적으로 노이즈가 제거된 보정 지도를 나타낸다.
도 1과 도 8을 참고하면, 프로세서(23)는 상기 추가적으로 노이즈가 제거된 보정 지도(300)에서 사전에 미리 정의된 객체들(331, 333, 335, 337, 및 339) 중 어느 하나(예컨대, 331)의 영상들(OI1~OI6)의 일부(예컨대, OI1, OI3, 및 OI5)를 평균하여 템플릿 윈도우(TW)를 생성하고 생성된 템플릿 윈도우(TW)를 상기 추가적으로 노이즈가 제거된 보정 지도(300)에 적용하여 상기 미리 정의된 객체들(331, 333, 335, 337, 및 339) 중 어느 하나(예컨대, 331)를 인식한다. 사전에 미리 정의된 객체들(331, 333, 335, 337, 및 339)은 랙(331, 333, 또는 339), 매대(335), 및 에스컬레이터(337)를 포함한다. 실시 예에 따라 영상들(OI1~OI6)의 다른 일부(예컨대, OI2, OI4, 및 OI6)를 평균하여 템플릿 윈도우(TW)가 생성될 수 있다. 템플릿 윈도우(TW)는 임의의 픽셀 값들 가지는 매트릭스 형태로 구현될 수 있다. 템플릿 윈도우(TW)의 각 픽셀 값은 사전에 미리 정의된 객체들(331, 333, 335, 337, 및 339) 중 어느 하나(예컨대, 331)의 영상들(OI1~OI6)의 일부(예컨대, OI1, OI3, 및 OI5)를 평균한 픽셀 값을 가진다.
프로세서(23)는 상기 생성된 템플릿 윈도우(TW)를 상기 추가적으로 노이즈가 제거된 보정 지도(300)에서 순차적으로 슬라이딩하여 컨볼루션 연산을 수행한다. 상기 추가적으로 노이즈가 제거된 보정 지도(300)는 픽셀 값들을 가진다.
상기 컨볼루션 연산의 결과값이 임의의 픽셀 문턱값 이상일 때, 프로세서(23)는 상기 추가적으로 노이즈가 제거된 보정 지도(300)에서 상기 생성된 템플릿 윈도우(TW)와 컨볼루션되는 이미지(예컨대, IMG)에 대해 상기 미리 정의된 객체들(331, 333, 335, 또는 337) 중 어느 하나(예컨대, 331)로 인식한다. 인식된 객체(예컨대, 331)는 나중에 임의의 파일 형식(예컨대, DXF 파일 형식)에 포함된 객체(예컨대, 랙)와 대응하여 상기 임의의 파일 형식(예컨대, DXF 파일 형식)에 포함된 객체(예컨대, 랙)로 저장된다.
상기 임의의 픽셀 문턱값 이상이 되는 상기 컨볼루션 연산의 결과값이 없을 때, 프로세서(23)는 템플릿 윈도우(TW)의 가로 세로 비를 변환한다.
프로세서(23)는 상기 가로 세로 비가 변환된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도(300)에서 순차적으로 슬라이딩하여 컨볼루션 연산을 수행한다. 상기 가로 세로 비가 변환된 템플릿 윈도우를 이용할 때, 랙(339)이 인식될 수 있다. 랙(339)은 랙(331)과 같은 객체이지만, 상기 추가적으로 노이즈가 제거된 보정 지도(300)에서 가로 세로 비가 다르다.
도 9는 본 발명의 실시 예에 따른 경계 선을 단순화하는 방법을 설명하기 위해 가장 두꺼운 등고선이 도시된 이미지를 나타낸다.
도 1과 도 9를 참고하면, 프로세서(23)는 상기 추가적으로 노이즈가 제거된 보정 지도(500)에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화한다.
경계 선들(TL)을 단순화하는 구체적인 방법은 아래와 같다.
프로세서(23)는 상기 추가적으로 노이즈가 제거된 보정 지도에서 상기 등고선을 찾는 알고리즘을 이용하여 복수의 등고선들을 추출한다. 상기 등고선을 찾는 알고리즘은 소벨(sobel) 필터와 같은 픽셀 기반의 알고리즘, 액티브 컨투어 모델(active contour model)과 같은 에지 기반의 알고리즘, 또는 딥러닝 기반의 알고리즘일 수 있다. 예컨대, 도 9에서는 도시되지 않았지만, 도 1에 도시된 랙(31, 33, 또는 39), 매대(35), 또는 에스컬레이터(37)의 경계 선들이 복수의 등고선들로 추출될 수 있다.
프로세서(23)는 상기 추출된 복수의 등고선들을 복수의 그룹들로 분류한다. 상기 복수의 그룹들은 추출된 복수의 등고선들의 위치에 따라 분류될 수 있다. 도 1에 도시된 랙(31, 33, 또는 39), 매대(35), 또는 에스컬레이터(37)의 등고 선들은 서로 다른 그룹들로 분류될 수 있다.
프로세서(23)는 상기 분류된 복수의 그룹들에서 상기 추출된 복수의 등고선들의 두께를 계산한다.
프로세서(23)는 상기 추출된 복수의 등고선들 중에서 가장 두꺼운 등고선(TL)을 선택한다. 상기 가장 두꺼운 등고선(TL)은 특정 층(100)의 외부 벽과 대응된다. 가장 두꺼운 등고선(TL)을 제외한 나머지 등고선들은 상기 추가적으로 노이즈가 제거된 보정 지도(500)에서 지워진다. 도 9에서는 가장 두꺼운 등고선(TL)만이 도시되며, 상기 추출된 복수의 등고선들은 도시되지 않는다.
프로세서(23)는 라인 피팅(line fitting) 알고리즘을 이용하여 상기 가장 두꺼운 등고선(TL)에서 복수의 직선들을 추정한다. 종래 기술과의 차이점은 종래 기술의 경우, 라인 피팅 알고리즘은 불연속적인 점들을 대상으로 이용되나, 본 발명은 연속하는 점들을 대상으로 이용된다는 점에서 차이가 있다. 연속하는 점들을 대상으로 라인 피팅 알고리즘이 이용될 때, 중간에 끊겨진 복수의 라인들이 생성된다. 프로세서(23)는 상기 중간에 끊겨진 복수의 라인들을 서로 연결하여 상기 복수의 직선들을 추정한다. 도 9에서는 상기 복수의 직선들은 도시되지 않는다.
프로세서(23)는 주성분 분석을 통해 상기 추정된 복수의 직선들의 노이즈를 감소시킨다. 상기 주성분 분석은 확률적 허프 변환(probabilistic hough transform)이 이용될 수 있다.
프로세서(23)는 상기 추정된 복수의 직선들을 각도에 따라 복수의 직선들(예컨대, PL1~PL9)로 나눈다. 상기 추정된 복수의 직선들을 각도에 따라 복수의 직선들(예컨대, PL1~PL9)로 나누기 위해 상기 픽셀 기반의 알고리즘, 상기 에지 기반의 알고리즘, 또는 상기 딥러닝 기반의 알고리즘이 이용될 수 있다. 제1복수의 직선들(PL1)은 복수의 직선들을 포함한다. 제2복수의 직선들(PL2)은 복수의 직선들을 포함한다.
프로세서(23)는 상기 나눠진 복수의 직선들(예컨대, PL1~PL9) 각각과 기울기가 제1도(예컨대, 0도)인 제1가상 직선과의 거리를 계산하여 제1계산 값들을 생성하고, 상기 나눠진 복수의 직선들(예컨대, PL1~PL9) 각각과 기울기가 제2도(예컨대, 45도)인 제2가상 직선과의 거리 계산하여 제2계산 값들을 생성하고, 상기 나눠진 복수의 직선들(예컨대, PL1~PL9) 각각과 기울기가 제3도(예컨대, 90도)인 제3가상 직선과의 거리 계산하여 제3계산 값들을 생성한다. 상기 제1가상 직선, 상기 제2가상 직선, 또는 상기 제3가상 직선은 상기 노이즈가 감소된 복수의 직선들 중 어느 하나일 수 있다. 실시 예에 따라 상기 제1가상 직선, 상기 제2가상 직선, 또는 상기 제3가상 직선은 상기 노이즈가 감소된 복수의 직선들 중 어느 하나가 아니라, 임의의 설정된 선일 수 있다.
프로세서(23)는 상기 제1계산 값들, 상기 제2계산 값들, 및 상기 제3계산 값들에서 가장 작은 값들을 가지는 가상 직선을 대표 직선(SL)으로 추출한다.
예컨대, 프로세서(23)는 제1복수의 직선들(PL1) 각각과 기울기가 제1도(예컨대, 0도)인 제1가상 직선(VL1)과의 거리를 계산하여 제1계산 값들을 생성하고, 제1복수의 직선들(PL1) 각각과 기울기가 제2도(예컨대, 45도)인 제2가상 직선(VL2)과의 거리 계산하여 제2계산 값들을 생성하고, 제1복수의 직선들(PL1) 각각과 기울기가 제3도(예컨대, 90도)인 제3가상 직선(VL3)과의 거리 계산하여 제3계산 값들을 생성한다.
제1복수의 직선들(PL1)의 기울기는 제1가상 직선(VL1)의 기울기와 가장 유사하므로, 상기 제1계산 값들, 상기 제2계산 값들, 및 상기 제3계산 값들 중 상기 제1계산 값들이 가장 작다. 따라서 프로세서(23)는 상기 제1가상 직선(VL1)을 대표 직선(SL)으로 추출할 수 있다. 또한, 대표 직선(SL)은 제1복수의 직선들(PL1) 중 어느 하나일 수 있다.
실시 예에 따라 프로세서(230)는 상기 제1계산 값들의 평균, 상기 제2계산 값들의 평균, 및 상기 제3계산 값들의 평균에서 가장 작은 평균 값들을 가지는 가상 직선을 대표 직선(SL)으로 추출할 수 있다.
프로세서(23)는 서로 교차하는 2개의 대표 직선들(SL1, SL2)의 교차 점(IP)을 식별하여 상기 2개의 대표 직선들(SL1, SL2)을 부드럽게 만든다. 상기 2개의 대표 직선들(SL1, SL2)을 부드럽게 만드는 것은 선들(OL1, OL2)을 제거함을 의미한다. 즉, 교차 점(IP)만 남고, 선들(OL1, OL2)은 제거된다.
앞에서 설명한 동작들은 2D 평면도를 생성하기 위해 수행된다.
프로세서(23)는 상기 단순화된 경계 선들에 의해 정의되는 객체를 임의의 파일 형식에 포함된 객체와 대응하여 상기 임의의 파일 형식에 포함된 객체로 저장하고 2D 평면도를 생성한다. 예컨대, 프로세서(23)는 도 9에 도시된 단순화된 경계 선들에 의해 정의되는 객체(특정 층(100)의 외부 벽)를 임의의 파일 형식(예컨대, DXF 파일 형식)에 포함된 객체(외부 벽)와 대응하여 상기 임의의 파일 형식(예컨대, DXF 파일 형식)에 포함된 객체(외부 벽)로 저장한다.
도 10은 본 발명의 실시 예에 따른 2D 평면도의 이미지를 나타낸다.
도 1과 도 10을 참고하면, 도 10에 도시된 2D 평면도는 단순한 직선들로만 구현된다. 따라서 도 10에 도시된 2D 평면도는 상기 임의의 파일 형식(예컨대, DXF 파일 형식)으로 저장될 수 있다. 도 10에 도시된 2D 평면도는 상기 임의의 파일 형식(예컨대, DXF 파일 형식)으로 저장함으로써 마트, 창고, 공장, 또는 쇼핑몰의 관리자의 전자 장치에 상기 2D 평면도가 실시간으로 표시될 수 있다. 상기 임의의 파일 형식(예컨대, DXF 파일 형식)은 객체 유형(예컨대, 랙, 외부 벽, 또는 에스컬레이터)를 파일 정보로서 포함한다.
도 6, 도 8, 및 도 9에 도시된 보정 지도의 파일의 사이즈는 상기 2D 평면도의 파일의 사이즈보다 상대적으로 커서 상기 관리자의 전자 장치에 실시간으로 상기 보정 지도가 실시간으로 표시되기에는 어려움이 있다.
또한, 상기 관리자의 전자 장치에서 상기 보정 지도의 파일을 열기 위해서는 전용 프로그램이 설치되어야 한다. 반면, 상기 2D 평면도는 DXF 파일 형식으로 저장되기 때문에 범용 소프트웨어인 CAD 소프트웨어가 설치되면 상기 2D 평면도의 파일을 열 수 있다.
또한, 도 6, 도 8, 및 도 9에 도시된 보정 지도는 노이즈를 포함하고, 완전히 가공되지 않아 상기 관리자가 쉽게 보정 지도를 파악하기 어렵다. 반면, 상기 2D 평면도는 완전히 가공되어 상기 관리자가 쉽게 상기 2D 평면도를 파악할 수 있다.
도 11은 본 발명의 실시 예에 따른 3D 공간 지도를 2D 평면도로 변환하기 위한 방법을 설명하기 위한 흐름도를 나타낸다.
도 1 내지 도 11을 참고하면, 프로세서(23)는 라이다 센서(11)로부터 3D 포인트 클라우드 데이터인 3D 공간 지도를 수신한다(S10).
프로세서(23)는 상기 3D 공간 지도를 2D 평면에 투사하여 2D 투영(projection) 지도로 변환한다(S20).
프로세서(23)는 상기 변환된 2D 투영 지도에 가우시안 필터를 적용하여 에지 지도를 생성한다(S30).
프로세서(23)는 상기 생성된 에지 지도에서 이동 로봇이 지나간 경로를 따라 상기 경로에 존재하는 점들을 노이즈로 인식하고 상기 노이즈를 제거한다(S40).
프로세서(23)는 상기 노이즈가 제거된 에지 지도에서 주요 선들(Principal line)을 추출하고, 추출된 주요 선들과 y축 사이의 기울기를 계산하고, 상기 계산된 기울기에 따라 상기 주요 선들을 회전시켜 보정 지도를 생성한다(S50).
프로세서(23)는 임의로 상기 보정 지도에서 임의의 사이즈와 임의의 위치를 가진 제1영역을 선택한다(S60).
프로세서(23)는 상기 제1영역에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 상기 선택된 영역에서 추가적으로 노이즈를 제거한다(S70).
프로세서(23)는 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식한다(S80).
프로세서(23)는 상기 추가적으로 노이즈가 제거된 보정 지도에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화한다(S90).
프로세서(23)는 상기 단순화된 경계 선들에 의해 정의되는 객체를 임의의 파일 형식에 포함된 객체와 대응하여 상기 임의의 파일 형식에 포함된 객체로 저장하고 2D 평면도를 생성한다(S100).
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 이동 로봇;
11: 라이다 센서;
31, 33, 39: 랙(rack);
37: 에스컬레이터;
20: 장치;
21: 디스플레이;
23: 프로세서;
25: 메모리;
11: 라이다 센서;
31, 33, 39: 랙(rack);
37: 에스컬레이터;
20: 장치;
21: 디스플레이;
23: 프로세서;
25: 메모리;
Claims (10)
- 프로세서는 라이다 센서로부터 3D 포인트 클라우드 데이터를 수신하고 3D 공간 지도를 생성하는 단계;
상기 프로세서는 상기 3D 공간 지도를 2D 평면에 투사하여 2D 투영(projection) 지도로 변환하는 단계;
상기 프로세서는 상기 변환된 2D 투영 지도에 가우시안 필터를 적용하여 에지 지도를 생성하는 단계;
상기 프로세서는 상기 생성된 에지 지도에서 이동 로봇이 지나간 경로를 따라 상기 경로에 존재하는 점들을 노이즈로 인식하고 상기 노이즈를 제거하는 단계;
상기 프로세서는 상기 노이즈가 제거된 에지 지도에서 주요 선들(Principal line)을 추출하고, 추출된 주요 선들과 y축 사이의 기울기를 계산하고, 상기 계산된 기울기에 따라 상기 주요 선들을 회전시켜 보정 지도를 생성하는 단계;
상기 프로세서는 임의로 상기 보정 지도에서 임의의 사이즈와 임의의 위치를 가진 제1영역을 선택하는 단계;
상기 프로세서는 상기 제1영역에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 상기 선택된 영역에서 추가적으로 노이즈를 제거하는 단계;
상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 단계;
상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화하는 단계; 및
상기 프로세서는 상기 단순화된 경계 선들에 의해 정의되는 객체를 임의의 파일 형식에 포함된 객체와 대응하여 상기 임의의 파일 형식에 포함된 객체로 저장하고 2D 평면도를 생성하는 단계를 포함하는 3D 공간 지도를 2D 평면도로 변환하기 위한 방법. - 제1항에 있어서, 상기 프로세서는 상기 제1영역에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 추가적으로 노이즈를 제거하는 단계는,
상기 프로세서는 상기 픽셀 강도 히스토그램에서 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있는지 판단하는 단계;
상기 프로세서는 상기 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 상기 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있다고 판단할 때, 상기 프로세서는 상기 픽셀 강도 히스토그램의 분산을 계산하는 단계;
상기 계산된 분산이 상기 임의의 분산 문턱값보다 클 때, 상기 프로세서는 임의로 상기 보정 지도에서 임의의 사이즈와 임의의 위치를 가진 제2영역을 선택하는 단계;
상기 프로세서는 상기 제2영역을 선택하고 상기 제2영역에서 픽셀 강도 히스토그램을 생성하는 단계;
상기 프로세서는 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있는지 판단하는 단계;
상기 프로세서는 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 상기 임의의 픽셀 강도 이하에서 상기 픽셀 값의 개수가 상기 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있다고 판단할 때, 상기 프로세서는 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 분산을 계산하는 단계; 및
상기 프로세서는 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 상기 계산된 분산이 상기 임의의 분산 문턱값보다 작을 때, 상기 프로세서는 상기 제2영역에서 노이즈를 제거하는 단계를 포함하는 3D 공간 지도를 2D 평면도로 변환하기 위한 방법. - 제1항에 있어서, 상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 단계는,
상기 프로세서는 상기 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에서 순차적으로 슬라이딩하여 컨볼루션 연산을 수행하는 단계; 및
상기 컨볼루션 연산의 결과값이 임의의 픽셀 문턱값 이상일 때, 상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 상기 생성된 템플릿 윈도우와 컨볼루션되는 이미지에 대해 상기 미리 정의된 객체들 중 어느 하나로 인식하는 단계를 포함하는 3D 공간 지도를 2D 평면도로 변환하기 위한 방법. - 제1항에 있어서, 상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 단계는,
상기 프로세서는 상기 템플릿 윈도우의 가로 세로 비를 변환하는 단계;
상기 프로세서는 상기 가로 세로 비가 변환된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에서 순차적으로 슬라이딩하여 컨볼루션 연산을 수행하는 단계; 및
상기 컨볼루션 연산의 결과값이 임의의 픽셀 문턱값 이상일 때, 상기 프로세서는 상기 가로 세로 비가 변환된 보정 지도에서 상기 생성된 템플릿 윈도우와 컨볼루션되는 이미지에 대해 상기 미리 정의된 객체들 중 어느 하나로 인식하는 단계를 포함하는 3D 공간 지도를 2D 평면도로 변환하기 위한 방법. - 제3항에 있어서, 상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화하는 단계는,
상기 프로세서는 상기 추가적으로 노이즈가 제거된 보정 지도에서 상기 등고선을 찾는 알고리즘을 이용하여 복수의 등고선들을 추출하는 단계;
상기 프로세서는 상기 추출된 복수의 등고선들을 복수의 그룹들로 분류하는 단계;
상기 프로세서는 상기 분류된 복수의 그룹들에서 상기 추출된 복수의 등고선들의 두께를 계산하는 단계;
상기 프로세서는 상기 추출된 복수의 등고선들 중에서 가장 두꺼운 등고선을 선택하는 단계;
상기 프로세서는 라인 피팅(line fitting) 알고리즘을 이용하여 상기 가장 두꺼운 등고선에서 복수의 직선들을 추정하는 단계;
상기 프로세서는 주성분 분석을 통해 상기 추정된 복수의 직선들의 노이즈를 감소시키는 단계;
상기 프로세서는 상기 추정된 복수의 직선들을 각도에 따라 복수의 직선들로 나누는 단계;
상기 프로세서는 상기 나눠진 복수의 직선들 각각과 기울기가 제1도인 제1가상 직선과의 거리를 계산하여 제1계산 값들을 생성하는 단계;
상기 프로세서는 상기 나눠진 복수의 직선들 각각과 기울기가 제2도인 제2가상 직선과의 거리를 계산하여 제2계산 값들을 생성하는 단계;
상기 프로세서는 상기 나눠진 복수의 직선들 각각과 기울기가 제3도인 제3가상 직선과의 거리를 계산하여 제3계산 값들을 생성하는 단계;
상기 프로세서는 상기 제1계산 값들, 상기 제2계산 값들, 및 상기 제3계산 값들 중에서 가장 작은 계산 값들을 가지는 가상 직선을 대표 직선으로 추출하는 단계; 및
상기 프로세서는 서로 교차하는 2개의 대표 직선들의 교차 점을 식별하여 상기 2개의 대표 직선들을 부드럽게 만드는 단계를 포함하며,
상기 2개의 대표 직선들을 부드럽게 만드는 단계는,
상기 2개의 대표 직선들 중 상기 교차 점을 지나 튀어나온 선들이 제거되는 것을 의미하는 3D 공간 지도를 2D 평면도로 변환하기 위한 방법. - 명령들을 실행하는 프로세서; 및
상기 명령들을 저장하는 메모리를 포함하며,
상기 명령들은,
라이다 센서로부터 3D 포인트 클라우드 데이터를 수신하고 3D 공간 지도를 생성하며,
상기 3D 공간 지도를 2D 평면에 투사하여 2D 투영(projection) 지도로 변환하며,
상기 변환된 2D 투영 지도에 가우시안 필터를 적용하여 에지 지도를 생성하며,
상기 생성된 에지 지도에서 이동 로봇이 지나간 경로를 따라 상기 경로에 존재하는 점들을 노이즈로 인식하고 상기 노이즈를 제거하며,
상기 노이즈가 제거된 에지 지도에서 주요 선들(Principal line)을 추출하고, 추출된 주요 선들과 y축 사이의 기울기를 계산하고, 상기 계산된 기울기에 따라 상기 주요 선들을 회전시켜 보정 지도를 생성하며,
임의로 상기 보정 지도에서 임의의 사이즈와 임의의 위치를 가진 제1영역을 선택하며,
상기 제1영역에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 상기 선택된 영역에서 추가적으로 노이즈를 제거하며,
상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하며,
상기 추가적으로 노이즈가 제거된 보정 지도에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화하며,
상기 단순화된 경계 선들에 의해 정의되는 객체를 임의의 파일 형식에 포함된 객체와 대응하여 상기 임의의 파일 형식에 포함된 객체로 저장하고 2D 평면도를 생성하도록 구현되는 3D 공간 지도를 2D 평면도로 변환하기 위한 장치. - 제6항에 있어서, 상기 제1영역에서 픽셀 강도 히스토그램을 생성하고, 생성된 픽셀 강도 히스토그램에서 픽셀 강도 분포에 따라 추가적으로 노이즈를 제거하는 명령들은,
상기 픽셀 강도 히스토그램에서 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있는지 판단하며,
상기 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 상기 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있다고 판단될 때, 상기 픽셀 강도 히스토그램의 분산을 계산하며,
상기 계산된 분산이 상기 임의의 분산 문턱값보다 클 때, 임의로 상기 보정 지도에서 임의의 사이즈와 임의의 위치를 가진 제2영역을 선택하며,
상기 제2영역을 선택하고 상기 제2영역에서 픽셀 강도 히스토그램을 생성하며,
상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 임의의 픽셀 강도 이하에서 픽셀 값의 개수가 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있는지 판단하며,
상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 상기 임의의 픽셀 강도 이하에서 상기 픽셀 값의 개수가 상기 임의의 픽셀 값 개수보다 많은 픽셀 강도가 있다고 판단될 때, 상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 분산을 계산하며,
상기 제2영역에서 생성된 픽셀 강도 히스토그램에서 상기 계산된 분산이 상기 임의의 분산 문턱값보다 작을 때, 상기 제2영역에서 노이즈를 제거하도록 구현되는 3D 공간 지도를 2D 평면도로 변환하기 위한 장치. - 제6항에 있어서, 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 명령들은,
상기 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에서 순차적으로 슬라이딩하여 컨볼루션 연산을 수행하며,
상기 컨볼루션 연산의 결과값이 임의의 픽셀 문턱값 이상일 때, 상기 추가적으로 노이즈가 제거된 보정 지도에서 상기 생성된 템플릿 윈도우와 컨볼루션되는 이미지에 대해 상기 미리 정의된 객체들 중 어느 하나로 인식하도록 구현되는 3D 공간 지도를 2D 평면도로 변환하기 위한 장치. - 제6항에 있어서, 상기 추가적으로 노이즈가 제거된 보정 지도에서 사전에 미리 정의된 객체들 중 어느 하나의 영상들의 일부를 평균하여 템플릿 윈도우를 생성하고 생성된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에 적용하여 상기 미리 정의된 객체들 중 어느 하나를 인식하는 명령들은,
상기 템플릿 윈도우의 가로 세로 비를 변환하며,
상기 가로 세로 비가 변환된 템플릿 윈도우를 상기 추가적으로 노이즈가 제거된 보정 지도에서 순차적으로 슬라이딩하여 컨볼루션 연산을 수행하며,
상기 컨볼루션 연산의 결과값이 임의의 픽셀 문턱값 이상일 때, 상기 가로 세로 비가 변환된 보정 지도에서 상기 생성된 템플릿 윈도우와 컨볼루션되는 이미지에 대해 상기 미리 정의된 객체들 중 어느 하나로 인식하도록 구현되는 3D 공간 지도를 2D 평면도로 변환하기 위한 장치. - 제8항에 있어서, 상기 추가적으로 노이즈가 제거된 보정 지도에서 등고선(contour)을 찾는 알고리즘을 이용하여 경계 선들을 단순화하는 명령들은,
상기 추가적으로 노이즈가 제거된 보정 지도에서 상기 등고선을 찾는 알고리즘을 이용하여 복수의 등고선들을 추출하며,
상기 추출된 복수의 등고선들을 복수의 그룹들로 분류하며,
상기 분류된 복수의 그룹들에서 상기 추출된 복수의 등고선들의 두께를 계산하며,
상기 추출된 복수의 등고선들 중에서 가장 두꺼운 등고선을 선택하며,
라인 피팅(line fitting) 알고리즘을 이용하여 상기 가장 두꺼운 등고선에서 복수의 직선들을 추정하며,
주성분 분석을 통해 상기 추정된 복수의 직선들의 노이즈를 감소시키며,
상기 추정된 복수의 직선들을 각도에 따라 복수의 직선들로 나누며,
상기 나눠진 복수의 직선들 각각과 기울기가 제1도인 제1가상 직선과의 거리를 계산하여 제1계산 값들을 생성하며,
상기 나눠진 복수의 직선들 각각과 기울기가 제2도인 제2가상 직선과의 거리를 계산하여 제2계산 값들을 생성하며,
상기 나눠진 복수의 직선들 각각과 기울기가 제3도인 제3가상 직선과의 거리를 계산하여 제3계산 값들을 생성하며,
상기 제1계산 값들, 상기 제2계산 값들, 및 상기 제3계산 값들 중에서 가장 작은 계산 값들을 가지는 가상 직선을 대표 직선으로 추출하며,
서로 교차하는 2개의 대표 직선들의 교차 점을 식별하여 상기 2개의 대표 직선들을 부드럽게 만들도록 구현되며,
상기 2개의 대표 직선들을 부드럽게 만드는 것은,
상기 2개의 대표 직선들 중 상기 교차 점을 지나 튀어나온 선들이 제거되는 것을 의미하는 3D 공간 지도를 2D 평면도로 변환하기 위한 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210069207A KR102287401B1 (ko) | 2021-05-28 | 2021-05-28 | 3d 공간 지도를 2d 평면도로 변환하기 위한 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210069207A KR102287401B1 (ko) | 2021-05-28 | 2021-05-28 | 3d 공간 지도를 2d 평면도로 변환하기 위한 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102287401B1 true KR102287401B1 (ko) | 2021-08-09 |
Family
ID=77313164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210069207A KR102287401B1 (ko) | 2021-05-28 | 2021-05-28 | 3d 공간 지도를 2d 평면도로 변환하기 위한 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102287401B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098926A (zh) * | 2022-06-29 | 2022-09-23 | 广联达科技股份有限公司 | 一种空间设计方法、装置、设备及可读存储介质 |
KR102531141B1 (ko) * | 2022-03-16 | 2023-05-11 | 주식회사 플럭시티 | 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102074406B1 (ko) * | 2019-07-25 | 2020-02-06 | 주식회사 딥노이드 | 영상 랜드마크 분류 장치 및 방법 |
KR20200026798A (ko) * | 2017-04-23 | 2020-03-11 | 오캠 테크놀로지스 리미티드 | 이미지를 분석하기 위한 웨어러블기기 및 방법 |
KR102108326B1 (ko) * | 2019-12-19 | 2020-05-12 | 주식회사 세오 | 레이더 신호 및 카메라 영상 정보 기반 인공지능 객체 식별 방법 및 시스템 |
KR20200072380A (ko) * | 2018-11-30 | 2020-06-22 | 경희대학교 산학협력단 | 영상에서의 객체 인식 방법 및 장치 |
KR20200080190A (ko) * | 2018-12-26 | 2020-07-06 | 경희대학교 산학협력단 | 영상에서의 객체 제거 방법 및 그 장치 |
KR102159048B1 (ko) | 2019-12-26 | 2020-09-23 | 주식회사 폴라리스쓰리디 | 자율 주행 로봇의 스캔 경로 생성 방법 및 이를 수행하기 위한 컴퓨팅 장치 |
KR20210022016A (ko) * | 2019-08-02 | 2021-03-02 | 네이버랩스 주식회사 | 라이다와 카메라를 이용하여 이미지 특징점의 깊이 정보를 향상시키는 방법 및 시스템 |
KR20210027037A (ko) * | 2019-08-29 | 2021-03-10 | 엘지전자 주식회사 | 내비게이션 영상 제공 방법 및 디바이스 |
-
2021
- 2021-05-28 KR KR1020210069207A patent/KR102287401B1/ko active IP Right Grant
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200026798A (ko) * | 2017-04-23 | 2020-03-11 | 오캠 테크놀로지스 리미티드 | 이미지를 분석하기 위한 웨어러블기기 및 방법 |
KR20200072380A (ko) * | 2018-11-30 | 2020-06-22 | 경희대학교 산학협력단 | 영상에서의 객체 인식 방법 및 장치 |
KR20200080190A (ko) * | 2018-12-26 | 2020-07-06 | 경희대학교 산학협력단 | 영상에서의 객체 제거 방법 및 그 장치 |
KR102074406B1 (ko) * | 2019-07-25 | 2020-02-06 | 주식회사 딥노이드 | 영상 랜드마크 분류 장치 및 방법 |
KR20210022016A (ko) * | 2019-08-02 | 2021-03-02 | 네이버랩스 주식회사 | 라이다와 카메라를 이용하여 이미지 특징점의 깊이 정보를 향상시키는 방법 및 시스템 |
KR20210027037A (ko) * | 2019-08-29 | 2021-03-10 | 엘지전자 주식회사 | 내비게이션 영상 제공 방법 및 디바이스 |
KR102108326B1 (ko) * | 2019-12-19 | 2020-05-12 | 주식회사 세오 | 레이더 신호 및 카메라 영상 정보 기반 인공지능 객체 식별 방법 및 시스템 |
KR102159048B1 (ko) | 2019-12-26 | 2020-09-23 | 주식회사 폴라리스쓰리디 | 자율 주행 로봇의 스캔 경로 생성 방법 및 이를 수행하기 위한 컴퓨팅 장치 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102531141B1 (ko) * | 2022-03-16 | 2023-05-11 | 주식회사 플럭시티 | 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템 |
CN115098926A (zh) * | 2022-06-29 | 2022-09-23 | 广联达科技股份有限公司 | 一种空间设计方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7433609B2 (ja) | 物体識別のための方法および計算システム | |
JP5172010B2 (ja) | Rgb及び奥行き計測ハイブリッドカメラセンサを使用する長方形テーブル検知 | |
KR102287401B1 (ko) | 3d 공간 지도를 2d 평면도로 변환하기 위한 방법 및 장치 | |
JP2019032830A (ja) | 対象オブジェクトをつかみ取るための把持姿勢を検出するシステム及び方法 | |
US9412040B2 (en) | Method for extracting planes from 3D point cloud sensor data | |
US10452949B2 (en) | System and method for scoring clutter for use in 3D point cloud matching in a vision system | |
Ebrahimpour et al. | Vanishing point detection in corridors: using Hough transform and K-means clustering | |
US20130051658A1 (en) | Method of separating object in three dimension point cloud | |
JP2002352225A (ja) | 障害物検出装置及びその方法 | |
US20160283792A1 (en) | Information processing apparatus, information processing method, and storage medium | |
CN110363817A (zh) | 目标位姿估计方法、电子设备和介质 | |
CN107949851B (zh) | 在场景内的物体的端点的快速和鲁棒识别 | |
JP2010541065A (ja) | 3次元飲料容器位置決定装置 | |
Fan et al. | Dynamic objects elimination in SLAM based on image fusion | |
CN110207702B (zh) | 目标定位的方法及装置 | |
KR20200055239A (ko) | 로봇군 제어 방법 및 시스템 | |
Yogeswaran et al. | 3d surface analysis for automated detection of deformations on automotive body panels | |
Kanezaki et al. | High-speed 3d object recognition using additive features in a linear subspace | |
JP6119409B2 (ja) | 対象物領域分割方法及び対象物領域分割装置 | |
WO2020062546A1 (zh) | 目标跟踪处理方法、电子设备 | |
WO2022227939A1 (zh) | 地面障碍物检测方法以及使用该方法的移动机器 | |
US20190371001A1 (en) | Information processing apparatus, method of controlling information processing apparatus, and non-transitory computer-readable storage medium | |
CN113111899A (zh) | 基于图像分类的物体识别或物体注册的方法及计算系统 | |
JP6977667B2 (ja) | 物体らしさ推定装置、方法、およびプログラム | |
CN115683109A (zh) | 基于cuda和三维栅格地图的视觉动态障碍物检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |