KR102538225B1 - 센서 퓨전 기반의 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

센서 퓨전 기반의 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102538225B1
KR102538225B1 KR1020230030194A KR20230030194A KR102538225B1 KR 102538225 B1 KR102538225 B1 KR 102538225B1 KR 1020230030194 A KR1020230030194 A KR 1020230030194A KR 20230030194 A KR20230030194 A KR 20230030194A KR 102538225 B1 KR102538225 B1 KR 102538225B1
Authority
KR
South Korea
Prior art keywords
semantic segmentation
data
point cloud
image
cloud data
Prior art date
Application number
KR1020230030194A
Other languages
English (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 KR1020230030194A priority Critical patent/KR102538225B1/ko
Application granted granted Critical
Publication of KR102538225B1 publication Critical patent/KR102538225B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 시맨틱 세그멘테이션 방법을 제안한다. 상기 방법은 학습 데이터 생성 장치가, 라이다(lidar)로부터 획득된 점군 데이터(point cloud) 및 동시에 카메라(camera)를 통해 촬영된 이미지(image)를 수신하는 단계, 상기 학습 데이터 생성 장치가, 상기 수신한 점군 데이터 및 상기 이미지를 전처리하는 단계 및 상기 학습 데이터 생성 장치가, 사전 기계 학습(machine learning)된 인공 지능(AI, Artificial Intelligence)을 기초로 상기 전처리 된 점군 데이터 및 이미지 각각으로부터 특징을 독립적으로 추출하고, 상기 추출된 특징을 융합하여 시맨틱 세그멘테이션 특징맵을 생성하는 단계를 포함할 수 있다.

Description

센서 퓨전 기반의 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for semantic segmentation based on sensor fusion, and computer program recorded on record-medium for executing method thereof}
본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터의 가공에 관한 것이다. 보다 상세하게는, 카메라 및 라이다의 센서 퓨전을 통해 얻어낸 융합 데이터를 바탕으로 2차원의 시맨틱 세그멘테이션을 추론하기 위한, 센서 퓨전 기반의 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.
일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증 단계로 진행된다.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하고, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.
한편, 차량의 자율주행(automatic driving)은 차량 스스로 판단하여 주행할 수 있는 시스템을 의미한다. 이와 같은, 자율주행은 시스템이 주행에 관여하는 정도와 운전차가 차량을 제어하는 정도에 따라 비자동화부터 완전 자동화까지 점진적인 단계로 구분될 수 있다. 일반적으로, 자율주행의 단계는 국제자동차기술자협회(SAE(Society of Automotive Engineers) International)에서 분류한 6단계의 레벨로 구분된다. 국제자동차기술자협회가 분류한 6단계에 따르면, 레벨 0단계는 비자동화, 레벨 1단계는 운전자 보조, 레벨 2단계는 부분 자동화, 레벨 3단계는 조건부 자동화, 레벨 4단계는 고도 자동화, 그리고 레벨 5단계는 완전 자동화 단계이다.
차량의 자율주행은 인지(perception), 측위(localization), 경로 계획(path planning) 및 제어(control)의 메커니즘을 통해 수행된다. 현재 여러 기업체들은 자율주행 메커니즘 중에서 인지 및 경로 계획을 인공지능(AI)을 이용하여 구현하기 위해 개발 중에 있다.
그러나, 최근에는 자율주행 차량의 충돌 사고가 빈번히 발생함에 따라, 자율 주행의 안전성 개선에 대한 요구가 늘어나고 있다.
특히, RGB 카메라 센서와 2차원 객체 인식(object detection) 기술을 중심으로 하는 최근의 자율 주행용 첨단 운전자 보조 시스템(Advanced Driver Assistance System, ADAS)으로는 주변 객체들의 3차원적 상대 거리나 구조 등을 알기 어려운 문제점이 있었다.
이러한 문제점을 해결하기 위하여, 최근에는 라이다(lidar)와 같은 3차원 센서 및 카메라와 같은 2차원 센서로부터 취득한 멀티 모달(multi modal) 데이터를 융합하는 센서 퓨전(sensor fusion) 기법과, 객체 인식의 단위를 데이터의 구성 단위까지 확장하는 시맨틱 세그멘테이션(semantic segmentation) 기법에 대한 연구가 활발이 진행되고 있다.
그러나, 카메라와 라이다의 센서 퓨전을 활용하는 기존의 시맨틱 세그멘테이션 연구들은 대부분 3차원의 라이다 점군 데이터와 2차원의 카메라 영상 데이터를 혼합하기 위해 점군 데이터를 2차원의 평면 데이터로 변환한다.
이를 이용해 만들어진 평면 형태의 추론 결과는 라이다의 장점인 3차원의 거리 정보가 손실된 상태이므로 주행 환경에 대한 3차원적 정보들을 제공하기 어려운 문제점이 있었다.
대한민국 등록특허공보 제10-2073873호, ‘시맨틱 세그멘테이션 방법 및 그 장치’, (2020.01.30. 등록)
본 발명의 일 목적은 카메라 및 라이다의 센서 퓨전을 통해 얻어낸 융합 데이터를 바탕으로 2차원의 시맨틱 세그멘테이션을 추론하기 위한, 센서 퓨전 기반의 시맨틱 세그멘테이션 방법을 제공하는 것이다.
본 발명의 다른 목적은 카메라 및 라이다의 센서 퓨전을 통해 얻어낸 융합 데이터를 바탕으로 2차원의 시맨틱 세그멘테이션을 추론하기 위한, 센서 퓨전 기반의 시맨틱 세그멘테이션 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 시맨틱 세그멘테이션 방법을 제안한다. 상기 방법은 학습 데이터 생성 장치가, 라이다(lidar)로부터 획득된 점군 데이터(point cloud) 및 동시에 카메라(camera)를 통해 촬영된 이미지(image)를 수신하는 단계, 상기 학습 데이터 생성 장치가, 상기 수신한 점군 데이터 및 상기 이미지를 전처리하는 단계 및 상기 학습 데이터 생성 장치가, 사전 기계 학습(machine learning)된 인공 지능(AI, Artificial Intelligence)을 기초로 상기 전처리 된 점군 데이터 및 이미지 각각으로부터 특징을 독립적으로 추출하고, 상기 추출된 특징을 융합하여 시맨틱 세그멘테이션 특징맵을 생성하는 단계를 포함할 수 있다.
구체적으로, 상기 수신하는 단계는 상기 점군 데이터 및 상기 이미지를 동기화 하기 위한 하기의 수학식 3으로 표현되는 캘리브레이션 행렬을 함께 취득하는 것을 특징으로 한다.
[수학식 3]
Figure 112023026217872-pat00001
(여기서, u 및 v는 이미지 내 픽셀들의 2차원 좌표, x, y 및 z는 점군 데이터의 3차원 좌표, fu 및 fv는 픽셀 단위의 초점 거리, u0 및 v0은 이미지 평면에서 점군 데이터가 위치하는 x 및 y 좌표를 의미한다.)
상기 전처리하는 단계는 상기 캘리브레이션 행렬을 기초로 상기 점군 데이터를 상기 이미지와 동일한 크기를 갖는 2차원 평면 상의 좌표에 사영하는 것을 특징으로 한다.
상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는 상기 사영된 점군 데이터 및 상기 이미지로부터 심층 특징(deep feature)을 추출하는 인코더 및 상기 심층 특징을 해석하여 세그멘테이션 추론 맵을 생성하는 디코더를 통해 시맨틱 세그멘테이션을 추론하는 것을 특징으로 한다.
상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는 상기 인코더를 통해 심층 특징을 생성하되, 상기 사영된 점군 데이터 및 상기 이미지를 멀티 모달(multi modal) 방식으로 수용하고, 병렬 구조로 배치된 상기 복수의 컨벌루션 블록들을 이용하여 상기 사영된 점군 데이터 및 상기 이미지로부터 지역적 특징 및 구조적 특징을 상호 독립적으로 추출하는 것을 특징으로 한다.
상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는 제1 컨벌루션 블록 및 제2 컨벌루션 블록을 통해 상기 사영된 점군 데이터 및 상기 이미지 각각을 입력 크기의 1/2 및 1/4로 단계적으로 다운 샘플링하여 특징맵을 추출하는 것을 특징으로 한다.
상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는 연결 계층(concatenate)를 통해 상기 다운 샘플링 된 특징맵을 연결하고, 제3 컨벌루션 블록을 통해 연결된 특징 맵을 입력 크기의 1/8 면적을 가진 융합 특징맵으로 생성하는 것을 특징으로 한다.
상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는 상기 생성된 융합 특징맵을 사전 설정된 크기의 패치(patch)로 분할하고, 각 지역으로부터 해당 지역들을 대표하는 패치 임베딩(patch embedding)을 구성하고, 위치 임베딩(position embedding)을 가산하여 각 패치를 대표하는 임베딩 벡터를 생성하는 것을 특징으로 한다.
상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는 상기 생성된 임베딩 벡터를 연속된 복수의 트랜스포머 모듈을 통해 심층 특징 벡터(fusion based deep feature)로 변환하는 것을 특징으로 한다.
상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는 재배열(reshape) 계층을 통해 상기 변환된 심층 특징 벡터를 입력 크기 대비 1/16 크기의 특징맵으로 변환하는 것을 특징으로 한다.
상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는 상기 변환된 특징맵을 복수의 업 샘플링(up sampling) 계층을 통해 면적을 사전 설정된 배수로 확장하되, 접합 계층을 통해 상기 복수의 업샘플링 계층 각각에서의 특징맵을 상기 인코더의 각 단계에서 대응하는 특징맵과 접합하는 것을 특징으로 한다.
상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는 상기 복수의 업 샘플링 계층 각각에서 업샘플링 된 특징맵을 3*3 커널을 사용하는 컨벌루션 계층에 통과시키는 것을 특징으로 한다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 시맨틱 세그멘테이션 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory), 송수신기(transceiver) 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가, 라이다(lidar)로부터 획득된 점군 데이터(point cloud) 및 동시에 카메라(camera)를 통해 촬영된 이미지(image)를 수신하는 단계, 상기 프로세서가, 상기 수신한 점군 데이터 및 상기 이미지를 전처리하는 단계 및 상기 프로세서가, 상기 전처리 된 점군 데이터 및 이미지 각각으로부터 특징을 독립적으로 추출하고, 상기 추출된 특징을 융합하여 시맨틱 세그멘테이션을 추론하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들에 따르면, 카메라 및 라이다의 센서 퓨전을 통해 얻어낸 3차원 정보를 포함하는 융합 데이터를 바탕으로 2차원의 시맨틱 세그멘테이션을 추론하고, 추론 결과를 3차원으로 재구성할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 인공지능 학습 시스템을 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 학습 데이터 수집 장치의 구성을 설명하기 위한 예시도이다.
도 3은 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.
도 4는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 하드웨어 구성도이다.
도 5는 본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 및 3차원 해석 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 및 3차원 해석 방법을 설명하기 위한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 방법을 구체적으로 설명하기 위한 예시도이다.
도 8은 본 발명의 일 실시예에 따른 3차원 해석 방법을 설명하기 위한 예시도이다.
도 9는 본 발명의 일 실시예에 따른 3차원 해석 방법의 성능을 설명하기 위한 예시도이다.
도 10은 본 발명의 일 실시예에 따른 2차원 시맨틱 세그맨테이션의 3차원 해석 결과를 나타낸 도면이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
한편, 최근에는 라이다(lidar)와 같은 3차원 센서 및 카메라와 같은 2차원 센서로부터 취득한 멀티 모달(multi modal) 데이터를 융합하는 센서 퓨전(sensor fusion)과, 객체 인식의 단위를 데이터의 구성 단위까지 확장하는 시맨틱 세그멘테이션(semantic segmentation)이 활발히 연구되고 있다.
센서 퓨전은 이종의 센서로부터 취득한 멀티 모달 데이터를 상호 융합하는 기술이다. 센서 퓨전은 딥러닝 분야에서 다수의 원천(source)으로부터 형성된 데이터 또는 정보들이 융합되는 시점에 따라 세 가지 종류로 구분한다.
데이터 단계 퓨전(data level or early fusion)은 원천으로부터 취득된 데이터 자체를 융합하여 새로운 표현형을 갖는 융합 데이터를 만든다. 이 융합데이터는 신경망에 전달되어 특징맵(feature map)을 추출, 결과 추론 맵(prediction map)을 만드는데 활용된다. 이 방법은 신경망에 입력으로 수용되는 데이터의 종류가 적어 신경망의 전체적인 구조가 비교적 단순하게 구성된다는 장점이 있다.
이와 달리 특징 단계 퓨전(deep feature level or mid-level fusion)은 원천으로부터 취득한 멀티 모달 데이터를 신경망에 입력으로 각각 전달한다. 병렬 구조의 신경망을 통해 각각의 입력으로부터 추출되는 멀티 모달 특징들은 신경망의 내부에서 하나로 융합되어 심층 융합 특징을 구성하며, 이는 결과 추론 맵을 만드는데 활용된다. 이 방법은 신경망이 결과를 추론함에 있어 멀티 모달 데이터로부터 추출한 각각의 특징부터 그들의 융합 특징까지 다양하게 활용 가능한 장점이 있다.
추론 단계 퓨전(score level or late fusion) 또한 멀티 모달 데이터를 신경망의 입력으로 각각 전달하나, 특징 단계 퓨전과 달리 각각의 원천마다 독립된 신경망을 사용한다. 각 신경망이 독립적으로 만들어낸 결과 추론 맵들은 합산, 평균 등의 단순 연산이나 별도로 학습된 분류기를 활용함으로써 최종 추론 맵을 도출하는데 활용된다. 이 방법은 추론 결과가 융합에 사용된 센서들 사이의 특성 차나 상호 간섭에 의한 영향에 강인하다는 장점이 있다.
시맨틱 세그멘테이션은 자율 주행 차량이 주행 환경을 인지하는데 필요한 핵심적인 요소 기술 중의 하나로서 카메라로부터 취득한 2차원 RGB 영상의 객체들을 픽셀 단위로 분류(dense prediction)할 수 있다.
특히, 최근에는 기존의 컨볼루션 계층을 중심으로 구성된 심층 신경망을 사용하는 방식에서 더 나아가 셀프 어텐션을 기반으로 특징들 사이의 상대적 중요도를 알아내 보다 표현력이 높은 심층 특징들을 추출해낼 수 있는 트랜스포머 모듈을 추가하여 2차원 시맨틱 세그멘테이션의 성능을 증진하는 연구들이 늘고 있다.
트랜스포머 모듈을 활용하면 신경망에 컨볼루션 계층을 비교적 적게 사용하더라도 표현력이 좋은 심층 특징들을 추출할 수 있으며, 이 심층 특징들을 바탕으로 기존의 방법들보다 상대적으로 좋은 성능을 보였다.
그러나 앞서 언급한 바와 같이 이들 2차원 시맨틱 세그멘테이션 방법이 만들어내는 평면 형태의 추론 결과만으로는 차량의 실제 주행 환경인 3차원에서의 객체의 구조나 상대적 거리 등을 파악하기 어려우며, 3차원 정보를 추론하기 위해 여러 대의 카메라를 사용할 경우에는 계산량이 과도하게 늘어난다는 문제가 있다.
또한, 카메라와 라이다의 센서 퓨전을 활용하는 기존의 시맨틱 세그멘테이션 연구들은 대부분 3차원의 라이다 점군 데이터와 2차원의 카메라 영상 데이터를 혼합하기 위해 점군 데이터를 2차원의 평면 데이터로 변환한다.
이를 이용해 만들어진 평면 형태의 추론 결과는 라이다의 장점인 3차원의 거리 정보가 손실된 상태이므로 주행 환경에 대한 3차원적 정보들을 제공하기 어렵다.
이러한 한계를 극복하고자, 본 발명은 시맨틱 세그멘테이션 기법과, 카메라 및 라이다의 센서 퓨전을 통해 얻어낸 3차원 정보를 포함하는 융합 데이터를 기초로 한 2차원 시맨틱 세그멘테이션 결과를 3차원으로 재구성할 수 있는 다양한 수단들을 제안하고자 한다.
도 1은 본 발명의 일 실시예에 따른 인공지능 학습 시스템을 나타낸 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 학습 데이터 수집 장치(100), 학습 데이터 생성 장치(200) 및 인공지능 학습 장치(300)를 포함하여 구성될 수 있다.
이와 같은, 일 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 학습 데이터 수집 장치(100)는 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 수집하기 위하여, 차량에 설치된 라이다(lidar) 및 카메라(camera)로부터 실시간으로 데이터를 수집하는 장치이다. 하지만, 이에 한정된 것은 아니고, 학습 데이터 수집 장치(100)는 레이더(radar) 및 초음파 센서(ultrasonic sensor)를 포함할 수도 있다. 또한, 학습 데이터 수집 장치(100)의 제어 대상이자, 차량에 설치되어 기계 학습용 데이터를 획득, 촬영 또는 감지하는 센서는 종류별로 하나씩 구비되는 것으로 한정되지 아니하며, 동일한 종류의 센서라 할지라도 복수 개로 구비될 수 있다.
학습 데이터 수집 장치(100)의 제어 대상이자, 차량에 설치되어 기계 학습용 데이터를 획득, 촬영 또는 감지하는 센서들의 종류에 대해서는 추후 도 2를 참조하여 보다 구체적으로 설명하기로 한다.
다음 구성으로, 학습 데이터 생성 장치(200)는 복수의 학습 데이터 수집 장치(100) 각각으로부터 이동통신(mobile communication)을 이용하여 각각의 학습 데이터 수집 장치(100)에 의해 실시간으로 수집된 데이터를 수신하고, 수신된 데이터에 대하여 어노테이션을 수행할 수 있다.
이러한, 학습 데이터 생성 장치(200)는 학습 데이터 생성 장치(100)는 인공지능 학습 장치(400)로부터 인공지능(AI) 학습용 데이터의 요청이 수신되기 이전에, 선제적으로 인공지능(AI) 학습용 데이터를 생성할 수 있는 빅데이터(big data)를 구축해 놓을 수 있다.
특징적으로, 학습 데이터 생성 장치(200)는 라이다(lidar)로부터 획득된 점군 데이터(point cloud) 및 동시에 카메라(camera)를 통해 촬영된 이미지(image)를 수신하고, 수신한 점군 데이터 및 이미지를 전처리하고, 사전 기계 학습(machine learning)된 인공 지능(AI, Artificial Intelligence)을 기초로 전처리 된 점군 데이터 및 이미지 각각으로부터 특징을 독립적으로 추출하고, 추출된 특징을 융합하여 시맨틱 세그멘테이션 특징맵을 생성할 수 있다.
또한, 학습 데이터 생성 장치(200)는 라이다(lidar)로부터 획득된 점군 데이터(point cloud) 및 동시에 카메라(camera)를 통해 촬영된 이미지(image)를 수신하고, 사전 기계 학습(machine learning)된 인공 지능(AI, Artificial Intelligence)을 기초로 점군 데이터 및 이미지로부터 2차원 시맨틱 세그멘테이션 특징맵을 생성하고, 생성된 특징맵으로부터 3차원 정보를 해석할 수 있다.
이와 같은 특징을 가지는, 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100) 및 인공지능 학습 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.
예를 들어, 학습 데이터 생성 장치(200)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
한편, 학습 데이터 생성 장치(200)에 관한 구체적인 설명은 이하, 도 3 및 도 4를 참조하여 후술하도록 한다.
다음 구성으로, 인공지능 학습 장치(300)는 인공지능(AI)을 개발하는데 사용될 수 있는 장치이다.
구체적으로, 인공지능 학습 장치(300)는 인공지능(AI)이 개발 목적을 달성하기 위하여 인공지능(AI) 학습용 데이터가 만족해야 하는 요구 사항을 포함하는 요구 값을 학습 데이터 생성 장치(200)에 전송할 수 있다. 인공지능 학습 장치(300)는 학습 데이터 생성 장치(200)로부터 인공지능(AI) 학습용 데이터를 수신할 수 있다. 그리고, 인공지능 학습 장치(300)는 수신된 인공지능(AI) 학습용 데이터를 이용하여, 개발하고자 하는 인공지능(AI)을 기계 학습할 수 있다.
이와 같은, 인공지능 학습 장치(300)는 학습 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
상술한 바와 같은, 하나 이상의 학습 데이터 수집 장치(100), 학습 데이터 생성 장치(200) 및 인공지능 학습 장치(300)는 장치들 사이에 직접 연결된 보안회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다.
도 2는 본 발명의 일 실시예에 따른 센서들을 설명하기 위한 예시도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 차량(10)에 고정 설치된 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50) 중 하나 이상을 제어하여, 인공지능(AI)을 기계 학습시키기 위한 기초 데이터를 수집할 수 있다.
여기서, 차량(10)은 인공지능(AI)을 기계 학습시키기 위한 기초 데이터를 수집하기 위한 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50)가 설치된 차량으로, 인공지능(AI)에 의해 자율주행을 수행하는 차량과는 서로 구별될 수 있다.
레이더(20)는 차량(10)에 고정 설치되어 차량(10)의 주행 방향을 향하여 전자기파(electromagnetic wave)를 발사하고, 차량(10)의 전방에 위치하는 객체(object)에 의해 반사되어 돌아온 전자기파를 감지하여, 차량(10)이 전방에 대한 영상에 해당하는 감지 데이터를 생성할 수 있다.
다르게 말하면, 감지 데이터는 차량(10)에 고정 설치된 레이더(20)에 의해 차량의 주행 방향을 향하여 발사된 전자기파를 반사시킨 점들(points)에 대한 정보이다. 따라서, 감지 데이터에 포함된 점들의 좌표들은 차량(10)의 전방에 위치하는 객체의 위치 및 형상에 대응하는 값을 가질 수 있다. 이러한, 감지 데이터는 2차원 정보가 될 수 있으나, 이에 한정되지 않고 3차원 정보가 될 수도 있다.
라이다(30)는 차량(10)에 고정 설치되어 차량(10)의 주위로 레이저 펄스(laser pulse)를 방사하고, 차량(10)의 주위에 위치하는 객체에 의해 반사되어 돌아온 빛을 감지하여, 차량(10)의 주위에 대한 3차원 영상에 해당하는 3D 점군 데이터를 생성할 수 있다.
다르게 말하면, 3D 점군 데이터는 차량(10)에 고정 설치된 라이다(30)에 의해 차량의 주위로 방사된 레이저 펄스를 반사시킨 점들에 대한 3차원 정보이다. 따라서, 3D 점군 데이터에 포함된 점들의 좌표들은 차량(10)의 주위에 위치하는 객체의 위치 및 형성에 대응하는 값을 가질 수 있다.
카메라(40)는 차량(10)에 고정 설치되어 차량(10)의 주위에 대한 2차원 이미지를 촬영할 수 있다. 이와 같은, 카메라(40)는 서로 다른 방향을 촬영할 수 있도록 복수 개가 지표면과 수평 또는 수평 방향으로 이격되게 설치될 수 있다. 예를 들어, 도 2는 서로 다른 6개의 방향을 촬영할 수 있는 6개의 카메라(40)가 고정 설치된 차량(10)의 예시를 도시하고 있으나, 차량(10)에 설치될 수 있는 카메라(40)가 다양한 개수로 구성될 수 있음은 본 발명이 속한 기술분야의 통상의 지식을 가진 자에게 자명할 것이다.
다르게 말하면, 2D 이미지는 차량(10)에 고정 설치된 카메라(40)에 의해 촬영된 이미지이다. 따라서, 2D 이미지에는 카메라(40)가 향하는 방향에 위치하는 객체의 색상 정보가 포함될 수 있다.
초음파 센서(50)는 차량(50)에 고정 설치되어 차량(10)의 주위로 초음파(ultrasonic)를 발사하고, 차량(10)과 인접하게 위치하는 객체에 의해 반사되어 돌아온 음파를 감지하여, 차량(10)에 설치된 초음파 센서(50)와 객체 사이의 거리에 해당하는 거리 정보를 생성할 수 있다. 일반적으로, 초음파 센서(50)는 복수 개로 구성되어, 객체와 접촉하기 쉬운 차량(10)의 전방, 후방, 전측방 및 후측방에 고정 설치될 수 있다.
다르게 말하면, 거리 정보는 차량(10)에 고정 설치된 초음파 센서(50)에 의해 감지된 객체로부터의 거리에 관한 정보이다.
이하, 상술한 바와 같은, 학습 데이터 생성 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.
도 3을 참조하면, 학습 데이터 생성 장치(200)는 통신부(205), 입출력부(210), 사전학습부(215), 데이터전처리부(220), 추론부(225), 3차원해석부(230) 및 저장부(235)를 포함하여 구성될 수 있다.
이와 같은, 학습 데이터 생성 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
구체적으로, 통신부(205)는 인공지능(AI)의 기계 학습을 위한 이미지 및 점군 데이터를 학습 데이터 수집 장치(100)로부터 수신할 수 있다.
또한, 통신부(205)는 학습 데이터 수집 장치(100)로부터 점군 데이터 및 이미지를 동기화 하기 위한 캘리브레이션 행렬을 함께 수신할 수 있다.
또한, 통신부(205)는 시맨틱 세그멘테이션의 3차원 해석 결과를 인공지능 학습 장치(300)에 전송할 수 있다.
다음 구성으로, 입출력부(210)는 사용자 인터페이스(User Interface, UI)를 통해 사용자로부터 신호를 입력 받거나, 연산된 결과를 외부로 출력할 수 있다.
구체적으로, 입출력부(210)는 사용자로부터 시맨틱 세그멘테이션 특징맵을 생성하거나, 생성된 시맨틱 세그멘테이션 특징맵을 3차원 해석하기 위한 다양한 설정 값들을 입력받고, 생성된 결과 값들을 출력할 수 있다.
다음 구성으로, 사전 학습부(215)는 2차원 시맨틱 세그멘테이션을 추론하기 위한 인공 지능을 사전 학습시킬 수 있다.
구체적으로, 사전 학습부(215)는 사전 저장된 데이터 셋에 포함된 라이다로부터 획득된 점군 데이터, 점군 데이터와 동시에 카메라를 통해 촬영된 이미지, 라이다 및 카메라 사이의 캘리브레이션 정보, 점군 데이터의 3차원 포인트 단위로 클래스 라벨이 명시되어 있는 정답 데이터를 기초로 인공 지능을 사전 학습시킬 수 있다.
이때, 사전 학습부(215)는 점군 데이터 및 정답 데이터를 이미지의 2차원 평면상 좌표에 사영시키되, 이미지의 사영될 픽셀과 맨해튼 거리(Manhattan distance)가 사전 설정된 값 이내인 픽셀들을 동일한 클래스를 갖도록 할 수 있다.
또한, 사전 학습부(215)는 복수의 손실함수 중 적어도 하나를 통해 인공 지능을 사전 학습시킬 수 있다.
이때, 사전 학습부(215)는 하기의 수학식 1으로 표현되는 손실함수를 통해 인공 지능을 사전 학습시킬 수 있다.
[수학식 1]
Figure 112023026217872-pat00002
(여기서, ppred는 크로스 엔트로피를 기반으로 하는 추론 확률, ptrue는 정답을 의미한다.)
또한, 사전 학습부(215)는 하기의 수학식 2로 표현되는 손실함수를 통해 상기 인공 지능을 사전 학습시킬 수 있다.
[수학식 2]
Figure 112023026217872-pat00003
(여기서, ppred는 Dice 계수를 기반으로 하는 추론 확률, ptrue는 정답을 의미한다.)
이때, 사전 학습부(215)는 배경 클래스에 해당하는 픽셀을 손실함수의 종류와 관계없이 손실 값의 계산에서 제외시킬 수 있다.
다음 구성으로, 데이터전처리부(220)는 학습 데이터 수집 장치(100)로부터 수신한 점군 데이터 및 이미지를 전처리할 수 있다.
구체적으로, 데이터전처리부(220)는 점군 데이터 및 이미지와 함께 수신한 캘리브레이션 행렬을 기초로 점군 데이터를 이미지와 동일한 크기를 갖는 2차원 평면 상의 좌표에 사영할 수 있다.
여기서, 캘리브레이션 행렬은 하기의 수학식 3으로 표현될 수 있다.
[수학식 3]
Figure 112023026217872-pat00004
(여기서, u 및 v는 이미지 내 픽셀들의 2차원 좌표, x, y 및 z는 점군 데이터의 3차원 좌표, fu 및 fv는 픽셀 단위의 초점 거리, u0 및 v0은 이미지 평면에서 점군 데이터가 위치하는 x 및 y 좌표를 의미한다.)
다음 구성으로, 추론부(225)는 사전 기계 학습(machine learning)된 인공 지능(AI, Artificial Intelligence)을 기초로 전처리 된 점군 데이터 및 이미지 각각으로부터 특징을 독립적으로 추출하고, 추출된 특징을 융합하여 시맨틱 세그멘테이션 특징맵을 생성할 수 있다.
구체적으로, 추론부(225)는 사영된 점군 데이터 및 상기 이미지로부터 심층 특징(deep feature)을 추출하는 인코더 및 심층 특징을 해석하여 세그멘테이션 추론 맵을 생성하는 디코더를 통해 시맨틱 세그멘테이션을 추론할 수 있다.
이때, 추론부(225)는 인코더를 통해 심층 특징을 생성하되, 사영된 점군 데이터 및 이미지를 멀티 모달(multi modal) 방식으로 수용하고, 병렬 구조로 배치된 복수의 컨벌루션 블록들을 이용하여 사영된 점군 데이터 및 이미지로부터 지역적 특징 및 구조적 특징을 상호 독립적으로 추출할 수 있다.
즉, 추론부(225)는 제1 컨벌루션 블록 및 제2 컨벌루션 블록을 통해 상기 사영된 점군 데이터 및 상기 이미지 각각을 입력 크기의 1/2 및 1/4로 단계적으로 다운 샘플링하여 특징맵을 추출할 수 있다.
다음으로, 추론부(225)는 연결 계층(concatenate)를 통해 다운 샘플링 된 특징맵을 연결하고, 제3 컨벌루션 블록을 통해 연결된 특징맵을 입력 크기의 1/8 면적을 가진 융합 특징맵으로 생성할 수 있다.
다음으로, 추론부(225)는 생성된 융합 특징맵을 사전 설정된 크기의 패치(patch)로 분할하고, 각 지역으로부터 해당 지역들을 대표하는 패치 임베딩(patch embedding)을 구성하고, 위치 임베딩(position embedding)을 가산하여 각 패치를 대표하는 임베딩 벡터를 생성할 수 있다.
다음으로, 추론부(225)는 생성된 임베딩 벡터를 연속된 복수의 트랜스포머 모듈을 통해 심층 특징 벡터(fusion based deep feature)로 변환할 수 있다.
다음으로, 추론부(225)는 재배열(reshape) 계층을 통해 변환된 심층 특징 벡터를 입력 크기 대비 1/16 크기의 특징맵으로 변환할 수 있다.
다음으로, 추론부(225)는 변환된 특징맵을 복수의 업 샘플링(up sampling) 계층을 통해 면적을 사전 설정된 배수로 확장하되, 접합 계층을 통해 복수의 업샘플링 계층 각각에서의 특징맵을 인코더의 각 단계에서 대응하는 특징맵과 접합할 수 있다.
여기서, 추론부(225)는 복수의 업 샘플링 계층 각각에서 업샘플링 된 특징맵을 3*3 커널을 사용하는 컨벌루션 계층에 통과시킬 수 있다.
다음 구성으로, 3차원해석부(230)는 생성된 특징맵으로부터 3차원 정보를 해석할 수 있다.
구체적으로, 3차원해석부(230)는 점군 데이터의 3차원 좌표 및 점군 데이터를 사영한 이미지의 2차원 평면상 좌표 쌍을 준비할 수 있다.
또한, 3차원해석부(230)는 생성된 특징맵에 대하여 각각의 2차원 평면상 좌표마다 해당 좌표를 중심으로 3*3 크기의 커널을 사용하는 최대 풀링(max pooling) 연산을 적용할 수 있다.
또한, 3차원해석부(230)는 최대 풀링 연산을 통해 각 좌표에 대한 세그먼트를 추정한 벡터를 획득할 수 있다.
그리고, 3차원해석부(230)는 획득된 벡터 중 가장 큰 확률을 갖는 클래스를 점군 데이터의 3차원 좌표에 대해 추론된 클래스로 예측할 수 있다.
다음 구성으로, 저장부(235)는 학습 데이터 생성 장치(200)의 동작에 필요한 데이터를 저장할 수 있다. 저장부(235)는 인공지능(AI) 학습을 위한 데이터를 설계하는데 필요한 데이터를 저장할 수 있다.
이하, 상술한 바와 같은 학습 데이터 생성 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.
도 4는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 하드웨어 구성도이다.
도 4를 참조하면, 학습 데이터 생성 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다.
프로세서(250)는 메모리(255)에 상주된 소프트웨어(280a)에 따른 명령어를 기초로, 학습 데이터 생성 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 학습 데이터 수집 장치(100) 및 인공지능 학습 장치(300)와 데이터를 송수신할 수 있다.
입출력장치(265)는 학습 데이터 설계 장치(200)의 동작에 필요한 데이터를 입력 받고, 생성된 결과 값을 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(275)는 본 발명에 다른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 시맨틱 세그멘테이션 방법 및 3차원 해석 방법의 수행에 필요한 정보들을 저장할 수 있다. 특히, 스토리지(275)는 시맨틱 세그멘테이션 방법 및 3차원 해석 방법을 수행하기 위한 프로그램을 저장하는 데이터베이스(285)를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 소프트웨어(280a, 280b)는 프로세서(250)가 라이다(lidar)로부터 획득된 점군 데이터(point cloud) 및 동시에 카메라(camera)를 통해 촬영된 이미지(image)를 수신하고, 수신한 점군 데이터 및 이미지를 전처리하는 단계 및 프로세서(250)가, 전처리 된 점군 데이터 및 이미지 각각으로부터 특징을 독립적으로 추출하고, 추출된 특징을 융합하여 시맨틱 세그멘테이션을 추론하는 단계를 실행하기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
또한, 본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 소프트웨어(280a, 280b)는 프로세서(250)가 라이다(lidar)로부터 획득된 점군 데이터(point cloud) 및 동시에 카메라(camera)를 통해 촬영된 이미지(image)를 수신하는 단계, 프로세서(250), 사전 기계 학습(machine learning)된 인공 지능(AI, Artificial Intelligence)을 기초로 점군 데이터 및 이미지로부터 2차원 시맨틱 세그멘테이션 특징맵을 생성하는 단계 및 프로세서(250), 생성된 특징맵으로부터 3차원 정보를 해석하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.
도 4에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 5는 본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 및 3차원 해석 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 먼저 S100 단계에서 학습 데이터 생성 장치는 학습 데이터 수집 장치로부터 점군 데이터 및 이미지를 수신할 수 있다. 이때, 학습 데이터 생성 장치는 점군 데이터 및 이미지와 함께 캘리브레이션 형렬을 추가로 수신할 수 있다.
다음으로, S200 단계에서 학습 데이터 생성 장치는 학습 데이터 수집 장치로부터 수신한 점군 데이터 및 이미지를 전처리할 수 있다.
구체적으로, 학습 데이터 생성 장치는 점군 데이터 및 이미지와 함께 수신한 캘리브레이션 행렬을 기초로 점군 데이터를 이미지와 동일한 크기를 갖는 2차원 평면 상의 좌표에 사영할 수 있다.
다음으로, S300 단계에서 학습 데이터 생성 장치는 사전 기계 학습(machine learning)된 인공 지능(AI, Artificial Intelligence)을 기초로 전처리 된 점군 데이터 및 이미지 각각으로부터 특징을 독립적으로 추출하고, 추출된 특징을 융합하여 시맨틱 세그멘테이션 특징맵을 생성할 수 있다.
구체적으로, 학습 데이터 생성 장치는 사영된 점군 데이터 및 상기 이미지로부터 심층 특징(deep feature)을 추출하는 인코더 및 심층 특징을 해석하여 세그멘테이션 추론 맵을 생성하는 디코더를 통해 시맨틱 세그멘테이션을 추론할 수 있다.
이때, 학습 데이터 생성 장치는 인코더를 통해 심층 특징을 생성하되, 사영된 점군 데이터 및 이미지를 멀티 모달(multi modal) 방식으로 수용하고, 병렬 구조로 배치된 복수의 컨벌루션 블록들을 이용하여 사영된 점군 데이터 및 이미지로부터 지역적 특징 및 구조적 특징을 상호 독립적으로 추출할 수 있다.
즉, 학습 데이터 생성 장치는 제1 컨벌루션 블록 및 제2 컨벌루션 블록을 통해 상기 사영된 점군 데이터 및 상기 이미지 각각을 입력 크기의 1/2 및 1/4로 단계적으로 다운 샘플링하여 특징맵을 추출할 수 있다.
또한, 학습 데이터 생성 장치는 연결 계층(concatenate)를 통해 다운 샘플링 된 특징맵을 연결하고, 제3 컨벌루션 블록을 통해 연결된 특징맵을 입력 크기의 1/8 면적을 가진 융합 특징맵으로 생성할 수 있다.
학습 데이터 생성 장치는 생성된 융합 특징맵을 사전 설정된 크기의 패치(patch)로 분할하고, 각 지역으로부터 해당 지역들을 대표하는 패치 임베딩(patch embedding)을 구성하고, 위치 임베딩(position embedding)을 가산하여 각 패치를 대표하는 임베딩 벡터를 생성할 수 있다.
학습 데이터 생성 장치는 생성된 임베딩 벡터를 연속된 복수의 트랜스포머 모듈을 통해 심층 특징 벡터(fusion based deep feature)로 변환할 수 있다.
학습 데이터 생성 장치는 재배열(reshape) 계층을 통해 변환된 심층 특징 벡터를 입력 크기 대비 1/16 크기의 특징맵으로 변환할 수 있다.
학습 데이터 생성 장치는 변환된 특징맵을 복수의 업 샘플링(up sampling) 계층을 통해 면적을 사전 설정된 배수로 확장하되, 접합 계층을 통해 복수의 업샘플링 계층 각각에서의 특징맵을 인코더의 각 단계에서 대응하는 특징맵과 접합할 수 있다.
여기서, 학습 데이터 생성 장치는 복수의 업 샘플링 계층 각각에서 업샘플링 된 특징맵을 3*3 커널을 사용하는 컨벌루션 계층에 통과시킬 수 있다.
그리고, S400 단계에서 학습 데이터 생성 장치는 생성된 특징맵으로부터 3차원 정보를 해석할 수 있다.
구체적으로, 학습 데이터 생성 장치는 점군 데이터의 3차원 좌표 및 점군 데이터를 사영한 이미지의 2차원 평면상 좌표 쌍을 준비할 수 있다.
또한, 학습 데이터 생성 장치는 생성된 특징맵에 대하여 각각의 2차원 평면상 좌표마다 해당 좌표를 중심으로 3*3 크기의 커널을 사용하는 최대 풀링(max pooling) 연산을 적용할 수 있다.
또한, 학습 데이터 생성 장치는 최대 풀링 연산을 통해 각 좌표에 대한 세그먼트를 추정한 벡터를 획득할 수 있다.
그리고, 학습 데이터 생성 장치는 획득된 벡터 중 가장 큰 확률을 갖는 클래스를 점군 데이터의 3차원 좌표에 대해 추론된 클래스로 예측할 수 있다.
이하 도면을 참조하여, 본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 및 3차원 해석 방법에 대하여 더욱 상세히 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 및 3차원 해석 방법을 설명하기 위한 예시도이고, 도 7은 본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 방법을 구체적으로 설명하기 위한 예시도이고, 도 8은 본 발명의 일 실시예에 따른 3차원 해석 방법을 설명하기 위한 예시도이다.
도 6 내지 도 8을 참조하면, 데이터 원천(Data Source) 단계에서는 카메라와 라이다 센서로부터 각각 차량 전방의 2차원 RGB 영상과 차량 둘레 전 영역의 3차원 점군 데이터를 취득한다. 또한 두 센서의 데이터 취득 영역이 서로 상이하므로 이를 동기화 하기 위해 사용되는 캘리브레이션 행렬을 함께 취득한다.
이어서, 데이터 전처리(data pre-process) 단계에서는 라이다로부터 취득한 데이터 중 차량의 전방 영역, 즉 카메라가 영상을 취득하는 영역과 동일한 영역의 데이터를 선별하는 과정을 수행한다.
이를 통해 구분된 N개의 전방 영역 점군 좌표(x,y,z) 데이터(N, 3)는 앞서 구한 캘리브레이션 행렬을 바탕으로 RGB 영상과 동일한 크기(H, W)를 갖는 2차원 평면상의 사영 좌표 (u,v)로 변환된다. 이로써 전방 영역의 점군 데이터인 N개의 3차원 좌표 (x,y,z)들은 (H, W, 1) 크기의 사영 영상으로 변환되며 이 사영 영상과 (H, W, 3) 크기의 RGB 영상을 다음 단계인 추론 단계로 전달한다.
추론(prediction) 단계에서는 앞서 전달받은 두 영상을 바탕으로 심층 신경망을 이용한 2차원 시맨틱 세그멘테이션을 수행한다. 이때 사용되는 심층 신경망은 입력으로부터 심층 특징(deep feature)을 추출하는 인코더(encoder)와 심층 특징을 해석해 세그멘테이션 추론 맵을 만들어내는 디코더(decoder)를 포함하는 인코더-디코더 구조로 이루어져 있다.
여기서, 인코더는 "ResNet50"의 컨볼루션 블록들을 바탕으로 입력 데이터의 지역적, 구조적 특징들을 추출하고 트랜스포머 모듈을 사용하여 추출된 특징들을 보다 표현력이 좋은 심층 특징들로 변환한다.
대신 신경망이 사영 영상을 위한 입력(remission input)과 RGB 영상을 위한 입력(RGB input)을 동시에 수용할 수 있도록 구성하고 신경망 내 모듈들을 센서 퓨전 방법에 따라 병렬 구조로 배치하여 기존 방법과 달리 멀티 모달 데이터의 처리를 가능하게 한다.
또한, 디코더는 인코더의 각 단계에서 추출되는 특징맵들이 심층 특징과 연결되어 입력과 동일한 (H, W, C) 크기의 결과 추론 맵을 구성할 수 있도록 컨볼루션 계층을 비롯한 여러 신경망 계층들로 구성한다. 이 때 C는 픽셀 단위로 객체를 분류할 수 있는 클래스의 총 개수이다.
이에 따라, 도 7에 도시된 바와 같이, 신경망은 멀티 모달 입력을 수용하고 병렬 구조로 배치된 컨볼루션 블록들을 이용하여 각 입력으로부터 각 입력의 구조적, 지역적 특징들을 상호 독립적으로 추출한다.
이에 따라, 추출된 입력 대비 1/2, 1/4 면적의 특징맵들이 추출되며 그 중 1/4 면적의 특징맵들을 특징 단계 퓨전에 활용하기 위해 연결 계층(concatenate)을 두어 서로 이어 붙인다. 이렇게 만들어진 연결 특징맵은 세 번째 컨볼루션 블록을 통해 입력 대비 1/8 면적을 가진 융합 특징맵으로 만들어진다.
이어서, 트랜스포머 모듈에 앞서 만든 융합 특징맵을 전달하기 위해 융합 특징맵을 (2, 2) 크기의 패치로 분할한 뒤 각 지역으로부터 해당 지역들을 대표하는 패치 임베딩(patch embedding)을 구성하고 위치 임베딩(position embedding)을 가산하여 각 패치를 대표하는 임베딩 벡터들을 만든다. 이어서 이 임베딩 벡터들은 9개의 연속된 트랜스포머 모듈로 구성된 트랜스포머 블록을 거치면서 융합 특징맵에 포함된 중요 특징들을 중심으로 구성된 심층 특징 벡터(fusion based deep feature)로 변환된다.
다음으로, 디코더에서는 먼저 인코더로부터 추출한 심층 특징 벡터들을 재배열(reshape) 계층을 통해 입력 대비 1/16 크기의 특징맵으로 변환하고 3*3 커널을 사용하는 컨볼루션 계층을 통과하도록 한 후, 업 샘플링(up sampling) 계층을 통해 그 면적을 두 배로 확장한다.
이 확장된 특징맵이 앞서 심층 특징 벡터에 담겨 있던 주요 특징들을 담고 있다 하더라도 벡터화로 인해 손실된 지역적, 구조적 특성들은 컨볼루션과 업샘플링 만으로 쉽게 회복되지 않는다.
따라서, 접합 계층을 이용하여 해당 특징맵과 앞서 인코더에서 추출된 동일 크기의 특징맵을 이어 붙임으로써 특징맵이 심층 특징 벡터의 주요 특징들과 인코딩 당시 추출된 지역적, 구조적 특성들을 동시에 내포할 수 있도록 한다.
이어서, 접합 특징맵을 3*3 커널을 사용하는 컨볼루션 계층을 이용해 서로 혼합하고, 다시 업샘플링 계층을 통해 확장, 그리고 인코더 내 동일 크기의 특징맵을 접합하는 과정을 2회 더 반복함으로써 특징맵의 크기를 입력 대비 1/2까지 복원해 낸다.
마지막으로, 그 특징맵을 다시 한번 업샘플링하고 3*3 커널을 사용하는 컨볼루션 계층을 적용하여 입력과 동일한 크기의 특징맵을 만들어 낸 뒤 이를 소프트맥스 활성화 함수와 1*1 커널을 사용하는 컨볼루션 계층인 세그멘테이션 헤드에 전달하여 세그멘테이션 추론맵을 만들어 낸다.
프로세스의 마지막 단계인 데이터 후처리(data post-processing) 단계에서는 도 8에 도시된 바와 같이 점군 데이터를 활용하여 신경망이 만들어내는 2차원의 세그멘테이션 추론 맵을 3차원 정보로 재해석하는 과정(reconstruction)을 수행한다.
먼저, 데이터 전처리 단계에서 사영 영상 생성에 사용했던 N개의 3차원 좌표 (x,y,z)와 이를 사영한 N개의 2차원 평면상 좌표 (u,v) 쌍을 준비한다. 이어서, 신경망에 의해 추론된 (H, W, C) 크기의 세그멘테이션 추론 맵에 대하여 각각의 2차원 좌표 (u,v)마다 해당 좌표를 중심으로 3*3 크기의 커널을 사용하는 최대 풀링(max pooling) 연산을 적용한다.
이를 통해, 본 발명은 N 개의 좌표 각각에 대해 세그먼트를 추정한 벡터를 얻어낼 수 있으며 그 중 가장 큰 확률을 갖는 클래스를 3차원 좌표(x,y,z)에 대해 추론된 클래스로 본다.
따라서, 데이터 전처리 단계에서 분리한 전방 영역의 점군 데이터 각각에 대한 시맨틱 세그멘테이션 추론 결과를 얻을 수 있으며, 그 결과 각 좌표의 세그먼트 값을 담은 (N, C) 크기의 출력 행렬을 얻을 수 있다.
이하, 본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 방법 및 3차원 해석 방법의 성능에 대하여 설명하도록 한다.
도 9는 본 발명의 일 실시예에 따른 3차원 해석 방법의 성능을 설명하기 위한 예시도이다.
실험
실험은 "AMD EPYC 7742 64-Core Processor" 급의 CPU(Central Processing Unit), "A100 80GB" 급의 GPU(Graphics Processing Unit) 및 2TB의 메모리가 탑재된 하드웨어 환경에서 진행하였다.
신경망 구현을 위한 소프트웨어 환경은 "ubuntu 20.04" 운영체제에 설치된 "Python 3.9"에 "Tensorflow 2.80" 과 "Keras 2.80"을 설정해 활용하였다.
인코더에 사용된 트랜스포머 모듈은 GeLU(Gauusian Error Linear Unit) 활성화 함수를 사용하도록 하였으며, 디코더를 구성하는 모든 컨볼루션 계층은 세그멘테이션 헤드를 제외하고 모두 ReLU 활성화 함수를 사용하도록 하였고 각각의 컨볼루션 계층 이후에는 배치 정규화 계층과 드롭 아웃 계층을 두어 신경망의 과적합을 최소화할 수 있도록 하였다.
신경망의 학습에는 Adam(Adaptive Moment Estimation) 최적화기를 사용하였으며 학습률은 0.001로 시작해 학습이 2에폭(Epoch)이상 진행되지 않을 때마다 0.75배씩 줄어들도록 하였다.
학습은 최대 500에폭 동안 진행하도록 설정하였으며 이때 손실 값이 연속적으로 10에폭 이상 낮아지지 않으면 학습을 조기 종료하도록 설정하였다.
본 발명의 일 실시예에 시맨틱 세그멘테이션 방법의 학습과 평가에 사용된 데이터 셋은 "semantic KITTI"로 자율 주행 분야의 3차원 객체 인식이나 시맨틱 세그멘테이션 등의 연구에 널리 활용된다.
사용된 데이터 셋은 총 21개 시퀀스로 구성되어 있으며 각 시퀀스에는 2차원 RGB 프레임 이미지들과 3차원 점군 그리고 각 데이터를 취득한 카메라와 라이다 센서 사이의 캘리브레이션 정보 그리고 각각의 3차원 포인트 단위로 클래스 라벨이 명시되어 있는 정답(Ground Truth: GT) 데이터를 포함하고 있다.
본 실험에서는 그 중 8번 시퀀스를 제외한 0번부터 10번까지의 총 10개 시퀀스, 총 19,130건의 프레임을 학습 데이터로 사용하고 4,071건의 프레임으로 구성된 8번 시퀀스를 평가 데이터로 활용한다.
다만, 사용된 데이터 셋에는 2차원 시맨틱 세그멘테이션을 위한 정답 데이터가 존재하지 않는다. 따라서, 점군 데이터에 대해 매겨진 정답 데이터를 점군 데이터를 사영하는 방법과 동일한 방법으로 사영하여 2차원 시맨틱 세그멘테이션을 위한 정답 데이터를 만들 경우, 도 9의 (a)와 같이 대부분의 픽셀의 값이 0을 갖는 희소 데이터가 만들어진다.
이는, 신경망의 학습을 극도로 저해하는 요소로 작용하므로, 이를 보완하기 위해 정답 데이터의 사영 될 픽셀과 맨해튼 거리(Manhattan distance)가 2 이내인 픽셀들을 동일한 클래스를 갖도록 하여 도 9의 (b)와 같이 정답 데이터의 희소성을 줄여 활용하였다.
실험 과정에서 신경망의 학습에 사용되는 손실함수는 하기의 수학식 1 및 2로 각각 표현되는 "Focal loss"함수 및 "Dice loss"함수를 사용하였다.
[수학식 1]
Figure 112023026217872-pat00005
(여기서, ppred는 크로스 엔트로피를 기반으로 하는 추론 확률, ptrue는 정답을 의미한다.)
[수학식 2]
Figure 112023026217872-pat00006
(여기서, ppred는 Dice 계수를 기반으로 하는 추론 확률, ptrue는 정답을 의미한다.)
Focal loss 함수는 수학식 1과 같이 크로스 엔트로피를 기반으로 하는 추론 확률(ppred)과 정답(ptrue) 사이의 가중치 합을 구하여 손실 값을 계산하는 방법으로 각각의 픽셀 단위로 추론 정확성(accuracy)을 증진하는 것을 목적으로 한다.
한편, Dice loss 함수는 수학식 2와 같이 Dice 계수를 기반으로 하는 추론 확률(ppred)과 정답(ptrue) 사이의 유사도를 구하여 손실 값을 계산하는 방법으로 전체적인 추론의 유사도(similarity)를 증진하는 것을 목적으로 한다.
이때, 배경 클래스에 해당하는 픽셀의 경우에는 손실함수의 종류와 관계없이 손실 값의 계산에서 제외함으로써 신경망이 배경 지역을 정확히 추론하는데 편향되어 학습되는 문제를 방지하도록 한다.
본 발명의 실시예에 따른 시맨틱 세그멘테이션 성능 평가를 위해서는 시맨틱 세그멘테이션 분야에서 널리 사용되는 하기의 수학식 4에 따른 MIoU (Mean Intersection over Union)을 사용하였다.
[수학식 4]
Figure 112023026217872-pat00007
MIoU는 수학식 4에서 보이는 바와 같이, 전체 N장으로 이루어진 영상 데이터 셋에서 각 영상마다 구한 IoU 값의 평균을 나타내며, IoU는 영상의 픽셀마다 추론된 클래스들과 해당 픽셀의 정답을 비교하여 그 둘이 서로 동일한 데이터의 수(TP)를 전체 추론 데이터의 수로 나누어 준 값(TP+FN+FP)을 의미한다.
이는 추론치가 클래스 라벨이 명시되어 있는 정답(GT)과 일치하는 비율을 의미하는 것으로써 픽셀 단위의 객체 추론에 대한 정확도를 나타낼 수 있다.
이때에도 손실함수의 경우와 마찬가지로 배경 픽셀에 해당하는 클래스는 평가 값의 계산에서 제외함으로써 신경망이 전경 지역을 정확히 추론하지 못함에도 성능이 높게 나오는 편향 문제를 방지하도록 한다.
절제 연구
본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 방법에서 사용할 신경망의 구조와 손실함수의 구성 등에 따른 성능 평가를 토대로 상세 사항들을 결정하기 위해 수행한 절제 실험 결과들에 관해 서술한다.
먼저, 첫 번째 실험에서는 제안 방법에 대한 최적의 센서 퓨전을 결정하기 위해 신경망에 적용되는 퓨전 방법을 데이터 단계 퓨전, 특징 단계 퓨전 그리고 추론 단계 퓨전으로 나누어 각각 적용함으로써 센서 퓨전을 적용한 경우와 그렇지 않은 경우의 성능을 비교하였다.
이때, 데이터 단계 퓨전을 적용한 신경망은 하기의 수학식 5와 같이 연결 계층을 통해 점군의 사영 영상(XPCD)과 RGB 영상(XRGB)을 이어 붙인 (H, W, 4) 크기의 하나의 융합 데이터를 인코더의 입력으로 전달하고, 그 출력을 다시 디코더의 입력으로 전달하여 하나의 2차원 세그멘테이션 추론맵(Yseg)을 만들어 낸다.
[수학식 5]
Figure 112023026217872-pat00008
한편, 추론 단계 퓨전을 적용한 신경망은 하기의 수학식 6에 표시된 바와 같이 두 입력을 위한 서로 다른 가중치((θen1, θde1), (θen2, θde2))를 갖는 독립적인 신경망들을 각각 적용하여 두 개의 2차원 세그멘테이션 추론 맵을 만들어내며 이들을 평균(average)하는 방법으로 하나의 2차원 세그멘테이션 추론맵을 만들어 낸다.
[수학식 6]
Figure 112023026217872-pat00009
또한, 특징 단계 퓨전의 경우에는 신경망을 구성하는 초입의 블록으로부터 시작하여 한 블록씩 더 깊은 신경망 블록에서 퓨전 하도록 하여 다양한 경우의 수를 비교할 수 있도록 하였으며, 학습의 진행은 "Focal loss"함수를 바탕으로 수행하였다.
[표 1]
Figure 112023026217872-pat00010
한편, 표 1은 본 발명의 실시예에 따른 시맨틱 세그멘테이션 방법에 대한 센서 융합 응용 실험 결과를 나타낸 표이다.
표 1에 기재된 바와 같이, 센서 퓨전을 사용하지 않고 입력으로 RGB 영상만을 사용한 단일 모달(single modal)의 방법이 센서 퓨전을 사용한 그 어떤 경우보다 낮은 0.1012의 MIoU를 기록하였다.
센서 퓨전을 적용한 경우들끼리 비교할 경우에는 추론 단계 퓨전을 적용한 경우가 0.1844로 가장 낮은 MIoU를 기록하였으며 데이터 단계 퓨전이 0.2045 그리고 특징 단계 퓨전이 평균 0.2095로 가장 높은 수치를 기록하였다.
특징 단계 퓨전 중에는 인코더를 구성하는 두 번째 컨볼루션 블록의 출력을 서로 융합하여 사용할 때가 0.2152의 MIoU로 가장 높은 수치를 기록하였으며, 그 이후에 융합하면 점차 성능이 하락하는 모습을 보였다.
이에 따라, 센서 퓨전을 사용하는 것이 그렇지 않은 것보다 더 나은 결과를 만들어 낼 수 있고, 동시에 특징 단계 퓨전을 사용할 때 최적의 성능을 발휘할 수 있음을 알 수 있다.
두 번째 실험으로는 인코더에서 심층 특징 벡터를 구성하는 데 사용되는 트랜스포머 모듈의 수에 따른 성능 변화를 알아보고자 모듈의 수를 6개에서부터 9, 12, 18, 24로 차례로 늘려가며 총 5개 경우에 대해 학습하고 일련의 성능 변화를 관찰하도록 하였다.
이때, 인코더의 나머지 구성에는 앞서 첫 번째 실험에서 가장 좋은 성능을 보였던 특징 단계 퓨전을 적용한 구성을 사용하였으며, 학습을 위한 손실함수는 이전과 동일하게 "Focal loss"함수를 사용하였다.
한편, 표 2는 심층 특징 벡터 형성을 위한 인코더 세부 구성 실험 결과를 나타낸 표이다.
표 2에 기재된 바와 같이, 모듈의 수가 늘어날수록 점차 성능이 상승하여 9개의 모듈을 사용할 때 MIoU를 기준으로 가장 높은 0.2240의 성능을 보였으며, 그보다 모듈의 수가 더 늘어나면 점차 그 성능이 하락하는 모습을 보였다.
특히, 9개의 모듈을 사용한 인코더가 12개의 모듈을 사용하는 기존 방법의 구성보다 신경망이 얕음에도 불구하고 약 1%가량 더 나은 성능을 보인 것은 센서 퓨전을 사용하면 표현력 높은 심층 특징을 비교적 빨리 만들어 낼 수 있다는 것을 의미한다고 볼 수 있다.
세 번째 실험으로는 시맨틱 세그멘테이션 분야에서 널리 사용되는 두 손실함수인 수학식 1의 "Focal loss"함수와 수학식 2의 "Dice loss"함수를 각각 적용하여 신경망을 학습하고 그 결과를 평가함으로써 손실함수의 변화가 성능에 미치는 영향을 관찰하고자 하였다.
또한, 하기의 수학식 7과 같이, 두 손실함수 중 하나를 주(Main) 손실함수로 함과 동시에 나머지 하나를 규제항(regularizer)으로 추가하여 두 손실함수가 가진 각자의 장점인 픽셀 단위의 정확도 증진과 전체적인 구조적 유사도를 동시에 증진하고자 하는 실험도 함께 수행하였다.
[수학식 7]
Figure 112023026217872-pat00011
한편, 표 3은 학습에 사용된 손실함수의 구성에 따른 실험 결과를 나타낸 표이다.
[표 3]
Figure 112023026217872-pat00012
이 때, 신경망은 앞서 두 번째 실험에서 가장 우수한 성능을 보인 본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 방법으로 만들었으며, 실험 결과 하기의 표 3에서 기재된 바와 같이 "Dice loss"함수를 규제항으로 하고 "Focal loss"함수를 사용할 때 가장 좋은 결과를 보였다.
이는 "Focal loss"함수를 중심으로 학습하여 픽셀 별 정확도 증진에 학습의 초점을 맞추되, "Dice loss"함수를 규제항으로 함께 사용해 전체적인 유사도의 증진에 방해가 되는 부분에는 강한 규제 값을, 반대로 전체적 유사도 증진에 도움이 되는 부분에는 약한 규제 값을 부여함으로써 모델이 보다 고르게 학습될 수 있도록 한 결과로 보인다.
도 10은 본 발명의 일 실시예에 따른 2차원 시맨틱 세그멘테이션의 3차원 해석 결과를 나타낸 도면이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 시맨틱 세그멘테이션 방법을 통해 2차원 세그멘테이션 MIoU 기준 31.94%의 성능을 거둘 수 있었으며, 이를 토대로 도 10에 도시된 바와 같이, 3차원 시맨틱 세그멘테이션 정보를 재해석해 낼 수 있다.
[표 4]
Figure 112023026217872-pat00013
한편, 표 4는 본 발명의 실시예 및 비교예에 따른 시맨틱 세그멘테이션 결과를 나타낸 표이다.
이에 따라, 기존 방법으로는 구해내는 것이 불가능했던 3차원 좌표를 기준으로 하는 세그멘테이션 MIoU를 표 4와 같이 구해낼 수 있으며, 그 수치는 17.12%를 기록하였다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100 : 학습 데이터 수집 장치 200 : 학습 데이터 생성 장치
300 : 인공지능 학습 장치
205 : 통신부 210 : 입출력부
215 : 사전 학습부 220 : 데이터 전처리부
225 : 추론부 230 : 3차원 해석부
235 : 저장부

Claims (10)

  1. 학습 데이터 생성 장치가, 라이다(lidar)로부터 획득된 점군 데이터(point cloud) 및 동시에 카메라(camera)를 통해 촬영된 이미지(image)를 수신하는 단계;
    상기 학습 데이터 생성 장치가, 상기 수신한 점군 데이터 및 상기 이미지를 전처리하는 단계; 및
    상기 학습 데이터 생성 장치가, 사전 기계 학습(machine learning)된 인공 지능(AI, Artificial Intelligence)을 기초로 상기 전처리 된 점군 데이터 및 이미지 각각으로부터 특징을 독립적으로 추출하고, 상기 추출된 특징을 융합하여 시맨틱 세그멘테이션 특징맵을 생성하는 단계;를 포함하고,
    상기 수신하는 단계는
    상기 점군 데이터 및 상기 이미지를 동기화 하기 위한 하기의 수학식 3으로 표현되는 캘리브레이션 행렬을 함께 취득하는 것을 특징으로 하는, 시맨틱 세그멘테이션 방법.
    [수학식 3]
    Figure 112023047032566-pat00014

    (여기서, u 및 v는 이미지 내 픽셀들의 2차원 좌표, x, y 및 z는 점군 데이터의 3차원 좌표, fu 및 fv는 픽셀 단위의 초점 거리, u0 및 v0은 이미지 평면에서 점군 데이터가 위치하는 x 및 y 좌표를 의미한다.)
  2. 제1 항에 있어서, 상기 전처리하는 단계는
    상기 캘리브레이션 행렬을 기초로 상기 점군 데이터를 상기 이미지와 동일한 크기를 갖는 2차원 평면 상의 좌표에 사영하는 것을 특징으로 하는, 시맨틱 세그멘테이션 방법.
  3. 제2 항에 있어서, 상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는
    상기 사영된 점군 데이터 및 상기 이미지로부터 심층 특징(deep feature)을 추출하는 인코더 및 상기 심층 특징을 해석하여 세그멘테이션 추론 맵을 생성하는 디코더를 통해 시맨틱 세그멘테이션을 추론하는 것을 특징으로 하는, 시맨틱 세그멘테이션 방법.
  4. 제3 항에 있어서, 상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는
    상기 인코더를 통해 심층 특징을 생성하되, 상기 사영된 점군 데이터 및 상기 이미지를 멀티 모달(multi modal) 방식으로 수용하고, 병렬 구조로 배치된 복수의 컨벌루션 블록들을 이용하여 상기 사영된 점군 데이터 및 상기 이미지로부터 지역적 특징 및 구조적 특징을 상호 독립적으로 추출하는 것을 특징으로 하는, 시맨틱 세그멘테이션 방법.
  5. 제4 항에 있어서, 상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는
    제1 컨벌루션 블록 및 제2 컨벌루션 블록을 통해 상기 사영된 점군 데이터 및 상기 이미지 각각을 입력 크기의 1/2 및 1/4로 단계적으로 다운 샘플링하여 특징맵을 추출하는 것을 특징으로 하는, 시맨틱 세그멘테이션 방법.
  6. 제5 항에 있어서, 상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는
    연결 계층(concatenate)를 통해 상기 다운 샘플링 된 특징맵을 연결하고, 제3 컨벌루션 블록을 통해 연결된 특징 맵을 입력 크기의 1/8 면적을 가진 융합 특징맵으로 생성하는 것을 특징으로 하는, 시맨틱 세그멘테이션 방법.
  7. 제6 항에 있어서, 상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는
    상기 생성된 융합 특징맵을 사전 설정된 크기의 패치(patch)로 분할하고, 각 지역으로부터 해당 지역들을 대표하는 패치 임베딩(patch embedding)을 구성하고, 위치 임베딩(position embedding)을 가산하여 각 패치를 대표하는 임베딩 벡터를 생성하는 것을 특징으로 하는, 시맨틱 세그멘테이션 방법.
  8. 제7 항에 있어서, 상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는
    상기 생성된 임베딩 벡터를 연속된 복수의 트랜스포머 모듈을 통해 심층 특징 벡터(fusion based deep feature)로 변환하는 것을 특징으로 하는, 시맨틱 세그멘테이션 방법.
  9. 제8 항에 있어서, 상기 시맨틱 세그멘테이션 특징맵을 생성하는 단계는
    재배열(reshape) 계층을 통해 상기 변환된 심층 특징 벡터를 입력 크기 대비 1/16 크기의 특징맵으로 변환하는 것을 특징으로 하는, 시맨틱 세그멘테이션 방법.
  10. 메모리(memory);
    송수신기(transceiver); 및
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 라이다(lidar)로부터 획득된 점군 데이터(point cloud) 및 동시에 카메라(camera)를 통해 촬영된 이미지(image)를 수신하는 단계;
    상기 프로세서가, 상기 수신한 점군 데이터 및 상기 이미지를 전처리하는 단계; 및
    상기 프로세서가, 사전 기계 학습(machine learning)된 인공 지능(AI, Artificial Intelligence)을 기초로 상기 전처리 된 점군 데이터 및 이미지 각각으로부터 특징을 독립적으로 추출하고, 상기 추출된 특징을 융합하여 시맨틱 세그멘테이션 특징맵을 생성하는 단계;를 포함하여 실행시키되,
    상기 수신하는 단계는
    상기 점군 데이터 및 상기 이미지를 동기화 하기 위한 하기의 수학식 3으로 표현되는 캘리브레이션 행렬을 함께 취득하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
    [수학식 3]
    Figure 112023047032566-pat00025

    (여기서, u 및 v는 이미지 내 픽셀들의 2차원 좌표, x, y 및 z는 점군 데이터의 3차원 좌표, fu 및 fv는 픽셀 단위의 초점 거리, u0 및 v0은 이미지 평면에서 점군 데이터가 위치하는 x 및 y 좌표를 의미한다.)
KR1020230030194A 2023-03-07 2023-03-07 센서 퓨전 기반의 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR102538225B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230030194A KR102538225B1 (ko) 2023-03-07 2023-03-07 센서 퓨전 기반의 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230030194A KR102538225B1 (ko) 2023-03-07 2023-03-07 센서 퓨전 기반의 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102538225B1 true KR102538225B1 (ko) 2023-05-31

Family

ID=86542644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230030194A KR102538225B1 (ko) 2023-03-07 2023-03-07 센서 퓨전 기반의 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102538225B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102073873B1 (ko) 2019-03-22 2020-02-05 주식회사 루닛 시맨틱 세그먼테이션 방법 및 그 장치
KR102343056B1 (ko) * 2021-07-08 2021-12-24 주식회사 인피닉 어노테이션을 위한 이미지의 데이터 로드를 감축시키는 방법
KR20220095169A (ko) * 2020-12-29 2022-07-06 군산대학교산학협력단 3차원 객체 감지를 위한 장치의 동작 방법 및 그 장치
KR102459778B1 (ko) * 2022-05-12 2022-10-31 주식회사 유오케이 라이다 및 카메라를 이용한 변화 탐지 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102073873B1 (ko) 2019-03-22 2020-02-05 주식회사 루닛 시맨틱 세그먼테이션 방법 및 그 장치
KR20220095169A (ko) * 2020-12-29 2022-07-06 군산대학교산학협력단 3차원 객체 감지를 위한 장치의 동작 방법 및 그 장치
KR102343056B1 (ko) * 2021-07-08 2021-12-24 주식회사 인피닉 어노테이션을 위한 이미지의 데이터 로드를 감축시키는 방법
KR102459778B1 (ko) * 2022-05-12 2022-10-31 주식회사 유오케이 라이다 및 카메라를 이용한 변화 탐지 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BEHLEY, Jens, et al. "Semantickitti: A dataset for semantic scene understanding of lidar sequences". In: Proceedings of the IEEE/CVF International Conference on Computer Vision(ICCV), 2019, pp. 9297-9 *
L. A. Rosero and F. S. Osório, "Calibration and multi-sensor fusion for on-road obstacle detection," 2017 Latin American Robotics Symposium (LARS) and 2017 Brazilian Symposium on Robotics (SBR), 2017, *

Similar Documents

Publication Publication Date Title
US11482014B2 (en) 3D auto-labeling with structural and physical constraints
CN112417967B (zh) 障碍物检测方法、装置、计算机设备和存储介质
CN111666921B (zh) 车辆控制方法、装置、计算机设备和计算机可读存储介质
US9990736B2 (en) Robust anytime tracking combining 3D shape, color, and motion with annealed dynamic histograms
CN113366486B (zh) 使用区域外上下文的对象分类
Huang et al. Robust inter-vehicle distance estimation method based on monocular vision
KR102108953B1 (ko) 센서 품질 저하에 강인한 딥러닝 기반 카메라, 라이더 센서 융합 인지 방법 및 시스템
US11074438B2 (en) Disentangling human dynamics for pedestrian locomotion forecasting with noisy supervision
KR102546206B1 (ko) 멀티 스케일 특징들의 상관관계 및 지역적 연관성을 활용한 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
US20220058818A1 (en) Object-centric three-dimensional auto labeling of point cloud data
US11475628B2 (en) Monocular 3D vehicle modeling and auto-labeling using semantic keypoints
US20230213643A1 (en) Camera-radar sensor fusion using local attention mechanism
JP7224682B1 (ja) 自律走行のための3次元多重客体検出装置及び方法
Dewangan et al. Towards the design of vision-based intelligent vehicle system: methodologies and challenges
CN114782785A (zh) 多传感器信息融合方法及装置
US20220309794A1 (en) Methods and electronic devices for detecting objects in surroundings of a self-driving car
CN113255779B (zh) 多源感知数据融合识别方法、系统及计算机可读存储介质
Liu et al. Deep transfer learning for intelligent vehicle perception: A survey
KR102538225B1 (ko) 센서 퓨전 기반의 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
CN112800822A (zh) 利用结构约束和物理约束进行3d自动标记
KR102538231B1 (ko) 시맨틱 세그멘테이션의 3차원 해석 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102613160B1 (ko) 3차원 시맨틱 세그멘테이션 방법 및 이를 실행하기위하여 기록매체에 기록된 컴퓨터 프로그램
CN117576665B (zh) 一种面向自动驾驶的单摄像头三维目标检测方法及系统
US20240135721A1 (en) Adversarial object-aware neural scene rendering for 3d object detection
Shan et al. Recognitions of collision avoidance for unmanned surface vessels with visible light camera using broad learning system

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