WO2023017947A1 - 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템 - Google Patents

자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템 Download PDF

Info

Publication number
WO2023017947A1
WO2023017947A1 PCT/KR2022/004580 KR2022004580W WO2023017947A1 WO 2023017947 A1 WO2023017947 A1 WO 2023017947A1 KR 2022004580 W KR2022004580 W KR 2022004580W WO 2023017947 A1 WO2023017947 A1 WO 2023017947A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
client
data
learning model
model
Prior art date
Application number
PCT/KR2022/004580
Other languages
English (en)
French (fr)
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 (주)에이아이매틱스
Publication of WO2023017947A1 publication Critical patent/WO2023017947A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery

Definitions

  • FIG. 4 is a flowchart illustrating an embodiment of an operation performed in the client shown in FIG. 1;
  • the server 130 may be implemented by including a plurality of functional components that perform independent operations. More specifically, the server 130 includes a learning data receiving unit 310, a learning model building unit 330, a learning model distribution unit 350, a deep learning analysis unit 370, a learning model evaluation unit 390, and a control unit ( (not shown in FIG. 3) may be included.
  • the learning model built by the learning model building unit 330 it can be built through unsupervised learning based on unlabeled learning data, and the learning model with this generality is each client ( 110), specificity for each camera can be given through additional learning.
  • the learning model builder 330 may independently build learning models that perform operations such as depth estimation, motion estimation, and parameter estimation necessary for autonomous driving.
  • FIG. 5 is a flowchart illustrating the basic operation of the visual information processing system according to the present invention.
  • the client 110 to which the machine learning model is distributed may collect sensor data from internal sensors (S540) and apply the sensor data to the distributed machine learning model (S550). Then, the client 110 may perform a specific operation by transferring the result of the model to an application operating on the client 110 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명은 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템에 관한 것으로, 상기 방법은 클라이언트로부터 이미지 데이터를 포함하는 학습 데이터를 수신하는 단계; 상기 학습 데이터를 학습하여 학습 모델- 상기 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현됨 -을 구축하는 단계; 상기 학습 모델을 상기 클라이언트에 배포(deploy)하는 단계; 상기 클라이언트로부터 상기 학습 모델에 해당 클라이언트 상의 로컬 데이터가 적용되어 수행된 딥러닝 분석(deep learning analysis) 결과를 수신하는 단계; 및 상기 딥러닝 분석 결과를 기초로 상기 학습 모델의 안정성을 평가하는 단계;를 포함한다.

Description

자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템
본 발명은 시각 정보 처리 기술에 관한 것으로, 보다 상세하게는 자율 주행 차량을 위해 카메라에서 촬영된 동영상을 이용하여 인공지능을 학습시키는 것과 그 인공지능의 결과물을 이용하여 시각적 속성을 추정하는 시스템에 관한 것이다.
근래에 자율 주행 차량을 구성을 하기 위한 센서들(예를 들어, 카메라, Radar, Lidar, 초음파 센서 등)의 종류가 갈수록 늘어나고 있고, 그 개수 또한 증가하고 있다. 따라서, 자율 주행 차량을 운용하는데 각 센서들을 장치하는 비용과 그 장비에 대한 소프트웨어 개발 및 운용 비용이 기하급수적으로 증가하고 있는 문제가 있다.
또한, 무작위 다수의 영상을 활용한 머신 러닝 모델은 다양한 카메라에서 촬영된 영상으로 학습되어 일반성을 가지지만, 각 카메라 센서의 환경에 맞는 특정성을 가질 수 없게 되는 문제가 있다.
일반적으로 영상을 기반으로 하는 시각적 속성 추정 기술은 카메라에서 촬영되는 영상들로부터 시각적 속성을 알아내는 것이다. 이는 각종 로봇, 드론, 자율 주행 차량, 스마트폰 등 전반적인 산업 분야에서 활용되고 있다. 예를 들어, 자율 주행 차량에서는 시각적 속성으로 영상에 대한 깊이 정보, 모션(차량의 자차 움직임) 등을 추정할 수 있다. 그리고, 해당 결과들은 다른 응용 기술(3D object detection, pseudo-lidar)에 사용될 수 있다.
한편, 종래의 시각적 속성 추정에 관한 기술들의 예는 크게 두 가지로 나뉘어져 있다. 첫 번째는 깊이 추정에 관한 기술로 입력된 영상에 대한 깊이를 추정하는 기술이다. 한국공개특허 제10-2017-0082794호(2017.07.17)는 깊이 추정 방법 및 장치, 및 거리 추정기 학습 방법 및 장치를 개시하고 있다. 두 번째는 모션 추정에 관한 기술로 입력된 동영상에 대한 모션을 추정하는 기술이다. 한국등록특허 제10-1758058호(2017.07.10)는 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템을 개시하고 있다.
[선행기술문헌]
[특허문헌]
한국공개특허 제10-2017-0082794호 (2017.07.17)
한국등록특허 제10-1758058호 (2017.07.10)
본 발명의 일 실시예는 자율 주행 차량을 위해 카메라에서 촬영된 동영상을 이용하여 인공지능을 학습시키는 것과 그 인공지능의 결과물을 이용하여 시각적 속성을 추정하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템을 제공하고자 한다.
본 발명의 일 실시예는 영상만으로 자율 주행에서 필요로 하는 시각적 속성(깊이 추정, 모션 추정, 유리 왜곡 해결 등)을 해결하여 Radar, Lidar, 초음파 센서 등의 사용에 따른 비용 문제를 해결하고, 비지도 학습 기반의 머신 러닝 모델의 장점을 이용해 일반성을 가진 모델로부터 클라이언트(client)에서 추가로 온라인학습(online-learning)을 진행하여 각 카메라에 대한 특정성을 부여하여 문제를 해결할 수 있는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템을 제공하고자 한다.
실시예들 중에서, 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법은 클라이언트로부터 이미지 데이터를 포함하는 학습 데이터를 수신하는 단계; 상기 학습 데이터를 학습하여 학습 모델- 상기 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현됨 -을 구축하는 단계; 상기 학습 모델을 상기 클라이언트에 배포(deploy)하는 단계; 상기 클라이언트로부터 상기 학습 모델에 해당 클라이언트 상의 로컬 데이터가 적용되어 수행된 딥러닝 분석(deep learning analysis) 결과를 수신하는 단계; 및 상기 딥러닝 분석 결과를 기초로 상기 학습 모델의 안정성을 평가하는 단계;를 포함한다.
상기 학습 데이터를 수신하는 단계는 상기 클라이언트 상에서 상기 이미지 데이터의 생성 시점에 동기화되고 상기 고유 파라미터, IMU, GPS 및 차량 속도를 포함하는 연관 데이터(related data)가 수집되는 단계; 및 상기 클라이언트 상에서 상기 연관 데이터가 상기 이미지 데이터와 함께 패키징(packaging)되어 상기 학습 데이터로 생성되는 단계를 포함할 수 있다.
상기 학습 모델을 구축하는 단계는 상기 영상을 기초로 상기 깊이 및 상기 모션을 독립적으로 추정하는 단계; 상기 영상을 기초로 상기 고유 파라미터를 추정하거나 또는 상기 학습 데이터에서 상기 고유 파라미터를 추출하는 단계; 상기 학습 데이터에서 IMU, GPS 및 차량 속도를 추출하는 단계; 및 상기 깊이, 상기 모션, 상기 고유 파라미터, 상기 IMU, 상기 GPS 및 상기 차량 속도를 기초로 손실 함수(loss function)를 최소화하는 방향으로 학습을 반복 수행하는 단계를 포함할 수 있다.
상기 학습 모델을 구축하는 단계는 와핑 손실(warping loss) 및 깊이 스무딩 손실(depth smoothing loss) 간의 합으로 상기 손실 함수를 정의하는 단계; 및 상기 손실 함수에 속도 감시 손실(velocity supervision loss) 및 모션 정규화 손실(motion regularization loss) 중 적어도 하나를 선택적으로 추가하여 재정의하는 단계를 포함할 수 있다.
상기 딥러닝 분석 결과를 수신하는 단계는 상기 클라이언트 상에서 상기 로컬 데이터로 구성된 학습 데이터를 기초로 상기 학습 모델을 온라인 학습(online-learning)하는 단계를 포함할 수 있다.
상기 딥러닝 분석 결과를 수신하는 단계는 상기 딥러닝 분석 결과가 상기 해당 클라이언트 상의 애플리케이션(application)에 적용되어 수행된 애플리케이션 결과를 상기 클라이언트로부터 수신하는 단계를 더 포함할 수 있다.
상기 안정성을 평가하는 단계는 상기 애플리케이션 결과를 기초로 상기 애플리케이션의 정확도(accuracy)를 산출하고 상기 정확도에 따라 상기 학습 모델의 안정성을 평가하는 단계를 포함할 수 있다.
실시예들 중에서, 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 시스템은 이미지 데이터를 포함하는 학습 데이터를 생성하고 서버로부터 수신한 학습 모델을 온라인 학습하여 로컬 데이터에 관한 딥러닝 분석(deep learning analysis) 결과를 생성하는 클라이언트; 및 상기 클라이언트로부터 수신한 학습 데이터를 학습하여 상기 학습 모델- 상기 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현됨 -을 구축하고 상기 클라이언트로부터 수신한 딥러닝 분석 결과를 기초로 상기 학습 모델의 안정성을 평가하는 서버;를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템은 자율 주행 차량을 위해 카메라에서 촬영된 동영상을 이용하여 인공지능을 학습시키는 것과 그 인공지능의 결과물을 이용하여 시각적 속성을 추정할 수 있다.
본 발명의 일 실시예에 따른 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템은 영상만으로 자율 주행에서 필요로 하는 시각적 속성(깊이 추정, 모션 추정, 유리 왜곡 해결 등)을 해결하여 Radar, Lidar, 초음파 센서 등의 사용에 따른 비용 문제를 해결할 수 있다.
본 발명의 일 실시예에 따른 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템은 비지도 학습 기반의 머신 러닝 모델의 장점을 이용해 일반성을 가진 모델로부터 클라이언트(client)에서 추가로 온라인학습(online-learning)을 진행하여 각 카메라에 대한 특정성을 부여하여 문제를 해결할 수 있다.
도 1은 본 발명에 따른 시각 정보 처리 시스템을 설명하는 도면이다.
도 2는 본 발명에 따른 시각 정보 처리 시스템의 기본 구성을 설명하는 도면이다.
도 3은 도 1에 도시된 서버의 기능적 구성을 설명하는 도면이다.
도 4는 도 1에 도시된 클라이언트에서 수행되는 동작의 일 실시예를 설명하는 순서도이다.
도 5는 본 발명에 따른 시각 정보 처리 시스템의 기본 동작을 설명하는 순서도이다.
도 6은 도 1에 도시된 클라이언트와 서버에서 수행되는 동작의 일 실시예를 설명하는 순서도이다.
도 7은 도 1에 도시된 클라이언트에서 수행되는 온라인 학습 동작을 설명하는 순서도이다.
도 8은 도 1에 도시된 클라이언트에서 수행되는 추론 과정을 설명하는 도면이다.
도 9는 본 발명에 따른 시각 정보 처리 시스템에서 수행되는 학습 과정을 설명하는 도면이다.
도 10a 내지 10c는 본 발명에 따른 시각 정보 처리 시스템에서 수행되는 학습 과정의 다양한 실시예들을 설명하는 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명에 따른 시각 정보 처리 시스템을 설명하는 도면이다.
도 1을 참조하면, 시각 정보 처리 시스템(100)은 클라이언트(110) 및 서버(130)를 포함하여 구현될 수 있다. 즉, 시각 정보 처리 시스템(100)은 클라이언트(110)와 서버(130) 간의 연동을 통해 자율 주행에서 필요한 시각 정보를 처리할 수 있으며, 해당 과정에서 시각적 속성을 추정하기 위한 일련의 동작들을 실행할 수 있다.
먼저, 클라이언트(110)는 이미지 데이터를 포함하는 학습 데이터를 생성하고 서버(130)로부터 수신한 학습 모델을 온라인 학습하여 로컬 데이터에 관한 딥러닝 분석(deep learning analysis) 결과를 생성하는 장치에 해당할 수 있다. 클라이언트(110)는 자율 주행 가능한 차량에 설치되어 동작할 수 있으며, 이를 위해 자율 주행에 필요한 기능을 구현하기 위한 소정의 센서들을 포함하여 구현될 수 있다. 클라이언트(110)는 네트워크를 통해 서버(130)와 연결될 수 있으며, 복수의 클라이언트(110)들이 동시에 서버(130)와 연결된 상태에서 독립적인 동작을 수행할 수도 있다.
서버(130)는 클라이언트(110)로부터 수신한 학습 데이터를 학습하여 학습 모델을 구축하고 클라이언트(110)로부터 수신한 딥러닝 분석 결과를 기초로 학습 모델의 안정성을 평가하는 장치에 해당할 수 있다. 여기에서, 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하는 동작을 수행할 수 있다. 특히, 서버(130)는 학습 모델이 일반적인 특성을 갖도록 하는 사전 학습을 수행할 수 있으며, 학습된 모델을 클라이언트(110)에게 전달하여 클라이언트(110) 상에서 각 카메라에 대한 고유의 특성을 부여하는 온라인 학습이 이루어지도록 할 수 있다.
한편, 서버(130)는 다양한 클라이언트(110)들로부터 수신되는 학습 데이터들을 저장하기 위한 데이터베이스(도1에 미도시함)와 연동하여 동작할 수 있다. 이때, 데이터베이스는 서버(130)와 독립된 장치로 구현되어 서버(130)와 네트워크를 통해 연결될 수 있다. 예를 들어, 데이터베이스는 클라우드 상에서 동작하는 인스턴스로 구현되어 서버(130)와 네트워크를 통해 연결됨으로써 무제한적인 용량을 가진 가상의 저장공간을 제공할 수 있다.
도 2는 본 발명에 따른 시각 정보 처리 시스템의 기본 구성을 설명하는 도면이다.
도 2를 참조하면, 시각 정보 처리 시스템(100)은 자율주행에서의 시각적 속성 추정을 위해 다양한 기능적 모듈들을 포함하여 구현될 수 있다. 여기에서, 기능적 모듈들은 클라이언트(110) 또는 서버(130) 상에 포함되어 구현될 수 있으며, 필요에 따라 일방에만 선택적으로 부가되거나 또는 양방에 일괄 적용될 수 있다.
보다 구체적으로, 기능적 모듈들은 비전 센서들(210), 추가 센서들(220), 네트워크 인터페이스(230), 인공지능 프로세서(240), 이미지 전처리 프로세서(250) 및 딥러닝 네트워크(260)를 포함할 수 있다.
비전 센서들(210)은 카메라 등과 같이 이미지 또는 영상의 시각적 정보를 생성하는 센서에 해당할 수 있다. 비전 센서들(210)은 윤곽 감지, 픽셀 계산, 코드 리딩, 3D 스캔 등의 동작을 수행할 수 있다. 추가 센서들(220)은 비전 센서들(210) 이외의 센서에 해당할 수 있다. 예를 들어, 추가 센서들(220)은 GPS, IMU, 차량 속도 센서(vehicle velocity) 등을 포함할 수 있다.
또한, 네트워크 인터페이스(230)는 네트워크 통신을 수행할 수 있으며, WIFI, Cellular 등을 포함할 수 있다. 인공지능(AI) 프로세서(240)와 이미지 전처리 프로세서(250)는 다양한 동작 프로시저를 실행하고 처리하는 연산 처리 장치에 해당할 수 있다. 인공지능(AI) 프로세서(240)와 이미지 전처리 프로세서(250)는 CPU, GPU, TPU, FPGA, DSP 등으로 구현될 수 있다.
딥러닝 네트워크(260)는 딥러닝을 통해 구축될 수 있으며, 다양한 예측 연산을 처리할 수 있다. 예를 들어, 딥러닝 네트워크(260)는 깊이 추정(estimating depth), 자세 추정(estimating pose), 고유 파라미터 추정(estimating intrinsic) 등의 동작을 수행할 수 있으며, 각 동작을 수행하는 독립적인 모델들로 구축될 수 있다.
도 3은 도 1에 도시된 서버의 기능적 구성을 설명하는 도면이다.
도 3을 참조하면, 본 발명에 따른 서버(130)는 독립적인 동작을 수행하는 복수의 기능적 구성들을 포함하여 구현될 수 있다. 보다 구체적으로, 서버(130)는 학습 데이터 수신부(310), 학습 모델 구축부(330), 학습 모델 배포부(350), 딥러닝 분석부(370), 학습 모델 평가부(390) 및 제어부(도 3에 미도시함)을 포함할 수 있다.
학습 데이터 수신부(310)는 클라이언트(110)로부터 이미지 데이터를 포함하는 학습 데이터를 수신할 수 있다. 여기에서, 클라이언트(110)는 자율 주행 가능한 차량에 설치되어 동작할 수 있으며, 차량 내 설치 위치와 기능에 따라 다양한 유형의 이미지 데이터를 생성할 수 있다. 학습 데이터 수신부(310)는 차량 및 클라이언트(110) 별로 학습 데이터를 수집하여 저장할 수 있으며, 저장 과정에서 학습 데이터에 차량 및 클라이언트(110)에 관한 식별 정보를 추가적으로 부가할 수 있다.
일 실시예에서, 학습 데이터 수신부(310)에 의해 수신되는 학습 데이터는 클라이언트(110) 상에서 생성될 수 있다. 보다 구체적으로, 클라이언트(110) 상에서 이미지 데이터의 생성 시점에 동기화되고 고유 파라미터, IMU, GPS 및 차량 속도를 포함하는 연관 데이터(related data)가 수집될 수 있으며, 수집된 연관 데이터는 이미지 데이터와 함께 패키징(packaging)되어 학습 데이터로 생성될 수 있다.
즉, 클라이언트(110)는 자체적으로 수집된 정보들을 통합하여 학습 데이터를 생성할 수 있으며, 이때 서버(130)로부터 제공받은 학습 데이터에 관한 생성 규칙이 적용될 수 있다. 학습 데이터는 기본적으로 이미지 데이터와 해당 이미지 데이터가 생성되는 시점에서의 다양한 연관 데이터를 포함하여 생성될 수 있다. 생성 규칙은 데이터 유형, 데이터 정렬 순서, 시점 및 데이터 크기 등에 관한 정보를 포함할 수 있다.
또한, 학습 데이터는 각 클라이언트(110)에서의 고유 데이터를 포함하지 않도록 생성될 수 있다. 즉, 클라이언트(110)는 서버(130) 상에서 일반화된(general) 모델 구축에 사용되는 범용적인 학습 데이터를 제공하기 위하여 클라이언트(110)의 특징적인 정보가 담긴 학습 데이터는 의도적으로 제거할 수 있다. 클라이언트(110)는 학습 데이터에 관한 패키징 과정에서 사전에 설정된 제거 조건을 충족하는 데이터의 경우 학습 데이터에서 제거할 수 있다.
학습 모델 구축부(330)는 학습 데이터를 학습하여 학습 모델을 구축할 수 있다. 여기에서, 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현될 수 있다. 자율 주행 가능한 차량의 경우 자율주행 제어를 위해 시각적 속성을 효과적으로 획득하여야 하며, 학습 모델 구축부(330)는 영상 만을 활용하여 시각적 속성들을 효과적으로 추정하기 위한 일반화된 학습 모델을 구축할 수 있다.
특히, 학습 모델 구축부(330)에 의해 구축된 학습 모델의 경우 레이블(label)이 부여되지 않은 학습 데이터를 기초로 비지도 학습을 통해 구축될 수 있으며, 이러한 일반성을 가진 학습 모델은 각 클라이언트(110) 상에서의 추가적인 학습을 통해 각 카메라에 대한 특정성이 부여될 수 있다. 학습 모델 구축부(330)는 자율 주행에 필요한 깊이 추정, 모션 추정 및 파라미터 추정 등의 동작을 수행하는 학습 모델들을 각각 독립적으로 구축할 수 있다.
일 실시예에서, 학습 모델 구축부(330)는 영상을 기초로 깊이 및 모션을 독립적으로 추정하고, 영상을 기초로 고유 파라미터를 추정하거나 또는 학습 데이터에서 고유 파라미터를 추출하며, 학습 데이터에서 IMU, GPS 및 차량 속도를 추출할 수 있다. 학습 모델 구축부(330)는 깊이, 모션, 고유 파라미터, IMU, GPS 및 차량 속도를 기초로 손실 함수(loss function)를 최소화하는 방향으로 학습을 반복적으로 수행할 수 있다. 상기와 같이 학습 모델 구축부(330)에 의해 수행되는 구체적인 학습 동작은 서버(130) 상에서 일반화된 학습 모델을 구축하는 과정에서 활용될 수 있으며, 클라이언트(110) 상에서 클라이언트 전용의 특정화된 학습 모델을 구축하는 과정에서 활용될 수도 있다. 이에 대한 구체적인 설명은 도 10을 통해 보다 자세히 설명한다.
일 실시예에서, 학습 모델 구축부(330)는 와핑 손실(warping loss) 및 깊이 스무딩 손실(depth smoothing loss) 간의 합으로 손실 함수를 정의하고, 손실 함수에 속도 감시 손실(velocity supervision loss) 및 모션 정규화 손실(motion regularization loss) 중 적어도 하나를 선택적으로 추가하여 재정의할 수 있다. 이에 대한 구체적인 설명은 도 10을 통해 보다 자세히 설명한다.
학습 모델 배포부(350)는 학습 모델을 클라이언트(110)에 배포(deploy)할 수 있다. 학습 모델 구축부(330)에 의해 구축된 일반화된 학습 모델은 서버(130)에 의해 각 클라이언트(110)에 배포될 수 있다. 배포 과정은 클라이언트(110)와 서버(130) 사이에 연결된 네트워크를 통해 진행될 수 있으며, 학습 모델 배포부(350)는 배포 과정의 전반을 제어할 수 있다. 만약 배포 과정에서 네트워크 연결이 단절되어 중단된 경우 학습 모델 배포부(350)는 배포 정보를 임시 저장할 수 있고, 네트워크 연결이 복원된 경우 중단된 배포 과정을 재개할 수 있다. 학습 모델 배포부(350)는 배포 규칙에 따라 배포 동작을 처리할 수 있으며, 필요에 따라 클라이언트(110)별 배포 규칙을 생성하여 배포 과정에서 독립적으로 적용할 수 있다.
딥러닝 분석부(370)는 클라이언트(110)로부터 학습 모델에 해당 클라이언트 상의 로컬 데이터가 적용되어 수행된 딥러닝 분석(deep learning analysis) 결과를 수신할 수 있다. 즉, 클라이언트(110)는 서버(130)로부터 수신한 학습 모델을 기초로 해당 클라이언트 상에서 자체적으로 수집된 로컬 데이터를 이용하여 딥러닝 분석을 수행할 수 있다. 여기에서, 로컬 데이터는 각 클라이언트(110)에서 수집되는 개별 데이터에 해당할 수 있으며, 해당 클라이언트(110)에서 동작하는 센서들의 센서 데이터들을 포함할 수 있다.
일 실시예에서, 딥러닝 분석부(370)는 클라이언트(110) 상에서 로컬 데이터로 구성된 학습 데이터를 기초로 학습 모델을 온라인 학습(online-learning)할 수 있다. 클라이언트(110)는 자체적으로 온라인 학습을 수행할 수 있으며, 딥러닝 분석부(370)는 클라이언트(110)와 연동하여 클라이언트(110) 상에서 수행되는 온라인 학습 동작을 제어할 수 있다. 예를 들어, 딥러닝 분석부(370)는 클라이언트(110)로의 모델 배포 과정을 모니터링하고, 클라이언트(110) 상에서의 로컬 데이터의 수집 상황을 모니터링할 수 있다. 딥러닝 분석부(370)는 특정 클라이언트(110)에서의 모델 배포가 완료되고 로컬 데이터가 충분히 수집된 경우 해당 클라이언트(110)에게 온라인 학습에 관한 개시 명령을 전달할 수 있다. 해당 클라이언트(110)는 딥러닝 분석부(370)의 개시 명령에 따라 학습 모델에 관한 온라인 학습을 수행할 수 있다.
한편, 클라이언트(110)는 자체적인 제어 프로시저에 따라 온라인 학습을 독립적으로 수행할 수 있으며, 필요한 경우 딥러닝 분석부(370)에게 온라인 학습의 개시와 종료에 관한 정보를 전달할 수 있다.
일 실시예에서, 딥러닝 분석부(370)는 딥러닝 분석 결과가 해당 클라이언트(110) 상의 애플리케이션(application)에 적용되어 수행된 애플리케이션 결과를 클라이언트(110)로부터 수신할 수 있다. 여기에서, 애플리케이션은 클라이언트(110) 상에서 동작하는 고유의 응용 기능에 해당할 수 있다. 예를 들어, 애플리케이션은 3D 객체 탐지(3D object detection), 의사 라이다(pseudo-lidar) 등을 포함할 수 있다. 각 클라이언트(110)는 고유의 기능을 수행하는 적어도 하나의 애플리케이션을 실행시킬 수 있으며, 학습 모델을 통해 수행된 딥러닝 분석 결과를 해당 애플리케이션의 실행에 필요한 정보들 중 일부로 제공할 수 있다. 딥러닝 분석부(370)는 클라이언트(110)로부터 딥러닝 분석 결과와 함께 해당 딥러닝 분석 결과가 적용된 애플리케이션의 수행 결과 즉, 애플리케이션 결과를 수신할 수 있다.
학습 모델 평가부(390)는 딥러닝 분석 결과를 기초로 학습 모델의 안정성을 평가할 수 있다. 학습 모델 평가부(390)는 각 클라이언트(110)로부터 수집된 딥러닝 분석 결과를 기초로 서버(130) 상에서 수행되는 학습 과정을 평가하거나 학습에 사용되는 학습 알고리즘의 평가 및 기 구축된 학습 모델에 대한 평가 등을 수행할 수 있다. 학습 모델 평가부(390)는 학습 모델 자체의 안정성을 평가하기 위한 평가 기준이 존재하지 않기 때문에 클라이언트(110)에서 수행되는 애플리케이션의 수행 결과를 평가 기준으로 활용할 수 있다. 즉, 학습 모델 평가부(390)는 애플리케이션의 수행 결과에 따라 학습 모델의 안전성을 간접적으로 평가함으로써 해당 학습 모델의 계속적인 사용 여부 또는 해당 학습 모델의 갱신 여부 등을 결정할 수 있다.
일 실시예에서, 학습 모델 평가부(390)는 애플리케이션 결과를 기초로 애플리케이션의 정확도(accuracy)를 산출하고 정확도에 따라 학습 모델의 안정성을 평가할 수 있다. 예를 들어, 학습 모델 평가부(390)는 클라이언트(110) 상에서 수행된 3D 객체 탐지(3D object detection)의 결과를 수신하고 이를 기초로 객체 탐지의 정확도를 평가할 수 있다. 여기에서, 정확도(accuracy)는 정답(Ground Truth)과 예측 결과(Prediction) 간의 비교를 통해 산출될 수 있다.
보다 구체적으로, 이미지 데이터에 기반한 객체 탐지의 경우 이미지 내에 존재하는 객체들을 식별하고 클래스를 분류하는 과정에 해당할 수 있다. 학습 모델 평가부(390)는 객체 탐지의 결과로서 수신한 객체 정보에서 객체의 바운딩 박스(bounding box)를 검출하고 해당 바운딩 박스 내부의 식별된 객체의 클래스가 실제 클래스와 일치하는지를 결정할 수 있다. 만약 클래스가 일치하지 않는 경우 해당 객체 탐지는 실패로 분류될 수 있다. 만약 클래스가 일치하는 경우 학습 모델 평가부(390)는 식별된 객체의 바운딩 박스와 실제 바운딩 박스를 서로 비교하여 객체 탐지의 정확도를 산출할 수 있다. 이때, 정밀도 산출을 위해 IoU(Intersection Over Union), 정밀도(Precision), 재현율(Recall), AP(Average Precision), mAP(mean Average Precision) 등이 활용될 수 있다.
제어부(도 3에 미도시함)는 서버(130)의 전체적인 동작을 제어하고, 학습 데이터 수신부(310), 학습 모델 구축부(330), 학습 모델 배포부(350), 딥러닝 분석부(370) 및 학습 모델 평가부(390) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 도 1에 도시된 클라이언트에서 수행되는 동작의 일 실시예를 설명하는 순서도이다.
도 4를 참조하면, 클라이언트(110)는 내부에 설치된 비전 센서를 통해 이미지 데이터를 획득할 수 있다(S410). 또한, 클라이언트(110)는 추가 센서들을 통해 연관 데이터를 획득할 수 있다(S420). 이때, 연관 데이터에는 카메라 고유 파라미터(camera intrinsic), IMU, 차량 속도(vehicle velocity) 등이 포함될 수 있다. 클라이언트(110)는 이미지 데이터와 연관 데이터를 패키징하여 학습 데이터를 생성할 수 있다(S430). 이후, 클라이언트(110)에서 패키징된 학습 데이터는 서버(130)로 전송되어 모델 학습 과정에 사용될 수 있다.
한편, 학습 데이터에 대한 패키징 동작은 클라이언트(110)에 의해 수행될 수 있으나, 반드시 이에 한정되지 않으며, 서버(130)에 의해 수행될 수도 있다. 이 경우, 서버(130)는 클라이언트(110)로부터 이미지 데이터와 연관 데이터를 순차적으로 수신한 후 학습 데이터를 패키징하는 동작을 수행할 수 있다.
도 5는 본 발명에 따른 시각 정보 처리 시스템의 기본 동작을 설명하는 순서도이다.
도 5를 참조하면, 시각 정보 처리 시스템(100)은 클라이언트(110)와 서버(130) 간의 연동을 통해 동작할 수 있다. 보다 구체적으로, 서버(130)는 클라이언트(110)로부터 수집한 데이터들을 기반으로 학습 데이터를 준비할 수 있다(S510). 이후, 서버(130)는 학습 데이터를 학습하여 기계학습 모델을 구축할 수 있다(S520). 서버(130) 상에서 이루어지는 학습 동작은 레이블(label)이 부여되지 않은 데이터를 이용하는 비지도 학습을 통해 수행될 수 있으며, 이를 통해 클라이언트(110)의 이미지 센서와 운영 환경에 독립적인 일반화된 모델이 구축될 수 있다. 서버(130)에 의해 구축된 기계학습 모델은 각 클라이언트(110)에게 배포되어 클라이언트(110)의 이미지 센서와 운영 환경에 맞게 튜닝(tuning)될 수 있다.
즉, 기계학습 모델이 배포된 클라이언트(110)는 내부의 센서들로부터 센서 데이터를 수집할 수 있으며(S540), 배포된 기계학습 모델에 센서 데이터를 적용할 수 있다(S550). 이후, 클라이언트(110)는 모델의 결과를 클라이언트(110) 상에서 동작하는 애플리케이션(application)에 전달하여 고유 동작을 수행할 수 있다.
도 6은 도 1에 도시된 클라이언트와 서버에서 수행되는 동작의 일 실시예를 설명하는 순서도이다.
도 6을 참조하면, 클라이언트(110)는 센서들로부터 센서 데이터를 수신할 수 있으며(S610), 수신된 센서 데이터에 대한 전처리(pre-processing) 동작을 수행할 수 있다(S620). 예를 들어, 이미지 데이터의 경우 증강(augmentation), 정규화(normalization), 스케일링(scaling) 등의 전처리 과정이 적용될 수 있다. 클라이언트(110)는 센서 데이터에 대한 전처리를 통해 모델에 적용 가능한 형태의 데이터를 획득할 수 있다.
또한, 클라이언트(110)는 전처리 후 데이터를 기계학습 모델에 입력하여 딥러닝 분석을 수행할 수 있다(S630). 여기에서, 기계학습 모델은 서버(130) 상에서 학습된 모델로서 서버(130)에 의해 클라이언트(110)로 배포된 모델에 해당할 수 있다. 딥러닝 분석은 이미지 데이터의 시각적 속성들을 추론하는 동작을 포함할 수 있다. 예를 들어, 자율주행 차량에 설치되어 동작하는 클라이언트(110)의 경우 이미지에 대한 딥러닝 분석을 통해 깊이(depth), 자세(pose) 및 고유 파라미터(intrinsic)에 관한 추정 결과를 딥러닝 분석 결과로서 생성할 수 있다.
클라이언트(110)는 딥러닝 분석 결과를 내부 애플리케이션(application)에 전달할 수 있으며(S640), 애플리케이션의 동작에 따른 결과를 응용 결과로서 획득할 수 있다. 이후, 클라이언트(110)는 딥러닝 분석 결과와 응용 결과를 서버(130)에 전달할 수 있다(S650). 서버(130)는 클라이언트(110)로부터 수신한 데이터를 이용하여 딥러닝 모델의 안정성을 평가할 수 있다(S660). 즉, 클라이언트(110) 상에서 수행된 응용 알고리즘의 결과를 이용하여 딥러닝 결과를 간접적으로 평가할 수 있으며, 이에 따라 모델의 안정성을 확인할 수 있게 된다.
도 7은 도 1에 도시된 클라이언트에서 수행되는 온라인 학습 동작을 설명하는 순서도이다.
도 7을 참조하면, 서버(130)에 의해 학습된 모델은 각 클라이언트(110)로 배포될 수 있다. 클라이언트(110)는 배포된 모델을 그대로 활용할 수 있으나, 필요에 따라 해당 이미지 센서와 운용 환경에 맞춰 튜닝하는 추가적인 학습을 수행할 수 있다. 예를 들어, 도 7에서, 클라이언트(110)는 모델에 대해 자체 센서로부터 수신된 센서 데이터를 활용하여 학습 데이터를 준비할 수 있고(S710), 이를 기초로 온라인 학습(online-learning)을 수행할 수 있다(S720).
여기에서, 온라인 학습은 데이터를 순차적으로 작은 학습 단위(mini batch)로 적용하여 모델을 학습하는 방법에 해당할 수 있다. 클라이언트(110)는 서버(130)로부터 배포 받은 모델에 대해 자체적으로 수집한 데이터를 적용하는 온라인 학습을 통해 일반성을 가진 모델을 클라이언트(110)의 고유 특성을 가진 모델로 튜닝할 수 있다.
이후, 클라이언트(110)는 센서들로부터 센서 데이터를 수신한 다음(S730), 온라인 학습을 통해 최종 구축된 모델에 센서 데이터를 적용할 수 있다(S740). 클라이언트(110)는 모델의 결과물을 딥러닝 분석 결과로서 응용(application)에 전달하여 고유의 응용 동작을 수행할 수 있다(S750).
도 8은 도 1에 도시된 클라이언트에서 수행되는 추론 과정을 설명하는 도면이다.
도 8을 참조하면, 클라이언트(110)는 이미지(images)와 연관 센서 데이터(related sensor data)를 수집하고 전처리(pre-processing)된 데이터를 각 모델에 적용하여 시각적 속성을 추정할 수 있다. 구체적으로, 클라이언트(110)는 깊이 추정 모델(Depth Estimation Model)을 통해 깊이(Depth)를 추정할 수 있고, 모션 추정 모델(Motion Estimation Model)을 통해 모션(Motion)을 추정할 수 있으며, 고유 파라미터 추정 모델(Camera Intrinsic Estimation Model)을 통해 카메라 고유 파라미터(Camera Intrinsic)을 추정할 수 있다.
이후, 클라이언트(110)는 추정된 값들을 딥러닝 분석 결과로서 응용(Application)에 전달하여 애플리케이션 결과(Application Output)를 획득할 수 있다. 클라이언트(110)를 통해 생성된 딥러닝 분석 결과와 애플리케이션 결과는 서버(130)에 전달되어 모델 평가에 활용될 수 있다.
도 9는 본 발명에 따른 시각 정보 처리 시스템에서 수행되는 학습 과정을 설명하는 도면이다.
도 9를 참조하면, 시각 정보 처리 시스템(100)은 클라이언트(110) 또는 서버(130) 상에서 모델을 구축하는 학습(learning) 과정을 수행할 수 있다. 즉, 서버(130)는 다양한 클라이언트(110)들로부터 수신한 데이터를 학습하여 일반화된 기계학습 모델을 구축할 수 있고, 이를 다시 각 클라이언트(110)에게 배포할 수 있다. 또한, 클라이언트(110)는 배포된 모델을 각 특성에 맞춰 온라인 학습하여 클라이언트 전용 모델을 구축할 수 있다.
도 9의 경우, 클라이언트(110) 또는 서버(130) 상에서 이루어지는 학습 과정이 도시되어 있다. 학습 과정은 입력으로 수신되는 이미지들로부터 다양한 시각적 속성들을 추론하여 출력으로 생성하는 과정에서 기 정의된 손실 함수(Loss function)의 손실(Loss)을 최소화하는 방향으로 동작할 수 있으며, 옵티마이저(optimizer)에 의해 모델의 파라미터들이 반복적으로 갱신됨으로써 학습이 이루어질 수 있다.
깊이 추정 모델(Depth Estimation Model)과 모션 추정 모델(Ego-motion Estimation Model), 파라미터 추정 모델(Intrinsic Estimation Model)은 인접한 시간 △t의 차이를 가지는 두 개 이상의 이미지(It, It+1) 사이의 기하학적 관계를 비지도 학습하여 구축될 수 있다. 비지도 학습을 진행하기 위해서는 손실 함수(Loss function)를 이용하여 손실(Loss)을 정의하여야 하며, 해당 손실을 줄이는 방향으로 옵티마이저가 동작할 수 있다. 결과적으로, 손실이 줄어드는 과정에서 이전 모델의 각 파라미터들이 누적적으로 학습될 수 있다.
한편, 옵티마이저의 가장 보편적인 예는 경사 하강법(Gradient descent) 방식(예를 들어, Adam optimizer, RMS prop 등)일 수 있다. 또한, 손실 함수는 재투영 오류 손실 함수(Reprojection Error loss function), SSIM 손실 함수(SSIM loss function), 깊이 스무딩 손실 함수(Depth smoothing loss function), 속도 감시 손실 함수(Velocity Supervision loss function), 모션 정규화 손실 함수(Motion Regularization loss function) 등을 포함할 수 있다. 여기에서, 재투영 오류 손실과 SSIM 손실의 합은 와핑 손실(Warping loss)에 해당할 수 있다. 실제 학습 과정에서는 각 손실(loss)의 입력들이 서로 다르게 설정될 수 있으며, 학습되는 모델들 중의 일부에만 사용될 수 있고 사용을 위해 일부 동작들이 변경될 수도 있다. 보다 구체적인 실시예들에 대해서는 도 10을 참조하여 설명한다.
도 10a 내지 10c는 본 발명에 따른 시각 정보 처리 시스템에서 수행되는 학습 과정의 다양한 실시예들을 설명하는 도면이다.
시각 정보 처리 시스템(100)에서 수행되는 학습 과정은 기 정의된 손실 함수의 손실들을 최소화하는 방향으로 수행될 수 있다. 여기에서, 손실 함수(Loss function)는 다양한 손실 함수들의 합으로 정의될 수 있다. 예를 들어, Loss function = 1 + 2 + 3 + 4 + 5와 같이 정의될 수 있으며, 각 번호의 손실 함수는 아래와 같다.
1: Reprojection Error loss function, 2: SSIM loss function, 3: Depth smoothing loss function, 4: velocity Supervision loss function, 5: Motion Regularization loss function
또한, 손실 함수를 최소화하는 방향으로 진행되는 학습 과정은 타겟 이미지(Target Image)로부터 소스 이미지(Source Image)들을 생성하는 순전파 과정(Forward pass)과 소스 이미지들로부터 타겟 이미지를 생성하는 역전파(Backward pass)과정을 포함할 수 있다. 순전파 및 역전파 과정은 상호 대칭(symmetric)되기 때문에 이하에서는 순전파(Forward) 과정을 기준으로 설명한다.
또한, 구체적인 설명에 사용되는 변수들은 아래와 같이 정의될 수 있다.
Pinhole Camera Intrinsic: K ∈ R3×3; Grid: G ∈ RHeight×Width×3, if G is in pixel coordinates, G ∈ RHeight×Width×2; Depth: D ∈ RHeight×Width×1; Rotation: R ∈ R3×3; Translation: T ∈ R3×1; Image: I ∈ RHeight×Width×3
도 10a를 참조하면, 제1 학습 방법은 클라이언트(110) 또는 서버(130) 상에서 이루어지는 학습 방법 중 가장 기본적인 학습 방법에 해당할 수 있다. 즉, 제1 학습 방법은 깊이 모델(Depth Model)과 에고모션 모델(Ego-motion Model)을 학습하는 방법일 수 있다. 이에 따라, 와핑 손실(Warping Loss)과 깊이 스무딩 손실(Depth smoothing Loss)만을 이용하여 해당 두 모델들을 학습할 수 있다. 한편, 제1 학습 방법은 IMU, GPS, Velocity에 대해 절대 스케일 변환(Absolute Scale Translation)이 이루어질 수 있다. 상기의 두개의 모델들을 학습하는 경우 물리적 한계로 인해 1개의 카메라(단안) 깊이(Depth)와 에고모션(Ego-motion)을 최대 스케일(up to scale)까지만 획득할 수 있으며, 이를 해결하기 위하여 절대 스케일 변환을 통해 깊이와 에고모션에 대한 절대 스케일 (absolute scale)을 모델에 학습시킬 수 있다.
이때, 재투영 오류 손실(Reprojection Error Loss)은 아래와 같이 산출될 수 있다.
Figure PCTKR2022004580-appb-img-000001
재투영 오류(Reprojection Error)는 소스 이미지(source image)를 RT(rotation & translation)하여 합성 타겟 이미지(synthesis target image)를 생성하는 경우 원래의 타겟 이미지(target image)와 합성 타겟 이미지 간의 차이에 대한 오류(error)에 해당할 수 있다. 재투영 오류는 제2 및 제3 학습 방법에도 소정의 변경이 이루어진 상태에서 동일한 의미로 적용될 수 있다.
구조적 유사 오류(Structural Similarity Error, SSIM Error)은 두 입력 영상의 휘도, 대비, 구조 간의 차이에 관한 오류에 해당할 수 있으며, 아래와 같이 산출될 수 있다. SSIM 오류는 제2 및 제3 학습 방법에도 동일하게 포함될 수 있다.
Figure PCTKR2022004580-appb-img-000002
여기에서, x 및 y는 픽셀 위치(pixel position)이고,
Figure PCTKR2022004580-appb-img-000003
,
Figure PCTKR2022004580-appb-img-000004
,
Figure PCTKR2022004580-appb-img-000005
이다. 또한, Luminance
Figure PCTKR2022004580-appb-img-000006
, Contrast
Figure PCTKR2022004580-appb-img-000007
, Structure
Figure PCTKR2022004580-appb-img-000008
이다.
깊이 스무딩 오류(Depth Smoothing Error)는 같은 장면(scene)에서 깊이와 이미지를 얻었을 때, 깊이의 경사(gradient)를 이미지의 경사를 이용해서 완화해주는 오류에 해당할 수 있으며, 아래와 같이 산출될 수 있다. 깊이 스무딩 오류는 제2 및 제3 학습 방법에도 동일하게 포함될 수 있다.
Figure PCTKR2022004580-appb-img-000009
속도 감시 오류(Velocity supervision Error)는 절대 변환(absolute translation)의 크기(magnitude)와 에고모션의 변환(translation)의 스케일(scale)의 차이에 관한 오류에 해당할 수 있으며, 아래와 같이 산출될 수 있다. 속도 감시 오류는 제2 및 제3 학습 방법에 선택적으로 포함될 수 있다.
Figure PCTKR2022004580-appb-img-000010
도 10b를 참조하면, 제1 학습 방법과 비교하면 제2 학습 방법은 에고모션 추정 모델(Ego-motion Estimation Model)의 출력에 모션벡터(Motion-vector)가 추가될 수 있다. 이때, 에고모션은 강체운동(rigid-motion)으로서 카메라의 움직임에 연관된 모션에 해당할 수 있다. 이와 달리, 모션벡터(Motion-vector)는 비강체운동(non-rigid motion)으로서 카메라의 움직임과 연관되지 않는 모션에 해당할 수 있다. 예를 들어, 영상에서 보이는 건물의 움직임은 강체운동이고, 차량 또는 사람의 움직임은 비강체운동에 해당할 수 있다.
따라서, 제1 학습 방법에서 에고모션의 translation T ∈ R3×1 이면, 제2 학습 방법에서는 에고모션, 모션벡터 모두 T ∈ RH×W×3 일 수 있다.
제2 학습 방법에서 재투영 오류 손실은 아래와 같이 산출될 수 있다.
Figure PCTKR2022004580-appb-img-000011
여기에서,
Figure PCTKR2022004580-appb-img-000012
: Rigid Motion Rotation (ego-motion),
Figure PCTKR2022004580-appb-img-000013
: Rigid Motion Translation (ego-motion),
Figure PCTKR2022004580-appb-img-000014
: Non-Rigid Motion Translation (Motion vector)이다.
모션 정규화 손실(Motion regularization loss)은 그룹 손실(group loss)와 희소 손실(sparsity loss)의 합에 해당할 수 있다. 그룹 손실은 비강체운동(non-rigid motion)의 변화를 최소화해주는 역할을 하며, 희소 손실은 비강체운동에서 모션이 거의 일정한 크기를 가지도록 하는 역할을 할 수 있다. 모션 정규화 손실은 아래와 같이 산출될 수 있으며, 제3 학습 방법에 선택적으로 포함될 수 있다.
Figure PCTKR2022004580-appb-img-000015
여기에서, T:= Motion Translation Map ∈ RH×W×3 이고, <|T|>:= mean of T 이다.
도 10c를 참조하면, 제3 학습 방법은 고유 파라미터 추정 모델(Intrinsic Estimation Model)과 그 결과물인 카메라 고유 파라미터(Camera Intrinsic)를 사용할 수 있다. 제1 및 제2 학습 방법에서는 실제 카메라에 주어지는 고유 파라미터(Intrinsic)에 관한 정보를 사전에 확보하여야 하는 반면, 제3 학습 방법과 같이 고유 파라미터 추정 모델을 사용하는 경우에는 영상만으로 고유 파라미터를 추정할 수 있다.
제3 학습 방법에서 재투영 오류 손실은 아래와 같이 산출될 수 있다.
Figure PCTKR2022004580-appb-img-000016
여기에서, K는 고유 파라미터 추정 모델(Intrinsic Estimation Model)에서 추정되는 카메라 고유 파라미터(Camera Intrinsic Parameter)이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
[부호의 설명]
100: 시각 정보 처리 시스템
110: 클라이언트 130: 서버
210: 비전 센서들 220: 추가 센서들
230: 네트워크 인터페이스 240: 인공지능 프로세서
250: 이미지 전처리 프로세서 260: 딥러닝 네트워크
310: 학습 데이터 수신부 330: 학습 모델 구축부
350: 학습 모델 배포부 370: 딥러닝 분석부
390: 학습 모델 평가부

Claims (8)

  1. 클라이언트로부터 이미지 데이터를 포함하는 학습 데이터를 수신하는 단계;
    상기 학습 데이터를 학습하여 학습 모델- 상기 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현됨 -을 구축하는 단계;
    상기 학습 모델을 상기 클라이언트에 배포(deploy)하는 단계;
    상기 클라이언트로부터 상기 학습 모델에 해당 클라이언트 상의 로컬 데이터가 적용되어 수행된 딥러닝 분석(deep learning analysis) 결과를 수신하는 단계; 및
    상기 딥러닝 분석 결과를 기초로 상기 학습 모델의 안정성을 평가하는 단계;를 포함하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  2. 제1항에 있어서, 상기 학습 데이터를 수신하는 단계는
    상기 클라이언트 상에서 상기 이미지 데이터의 생성 시점에 동기화되고 상기 고유 파라미터, IMU, GPS 및 차량 속도를 포함하는 연관 데이터(related data)가 수집되는 단계; 및
    상기 클라이언트 상에서 상기 연관 데이터가 상기 이미지 데이터와 함께 패키징(packaging)되어 상기 학습 데이터로 생성되는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  3. 제1항에 있어서, 상기 학습 모델을 구축하는 단계는
    상기 영상을 기초로 상기 깊이 및 상기 모션을 독립적으로 추정하는 단계;
    상기 영상을 기초로 상기 고유 파라미터를 추정하거나 또는 상기 학습 데이터에서 상기 고유 파라미터를 추출하는 단계;
    상기 학습 데이터에서 IMU, GPS 및 차량 속도를 추출하는 단계; 및
    상기 깊이, 상기 모션, 상기 고유 파라미터, 상기 IMU, 상기 GPS 및 상기 차량 속도를 기초로 손실 함수(loss function)를 최소화하는 방향으로 학습을 반복 수행하는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  4. 제3항에 있어서, 상기 학습 모델을 구축하는 단계는
    와핑 손실(warping loss) 및 깊이 스무딩 손실(depth smoothing loss) 간의 합으로 상기 손실 함수를 정의하는 단계; 및
    상기 손실 함수에 속도 감시 손실(velocity supervision loss) 및 모션 정규화 손실(motion regularization loss) 중 적어도 하나를 선택적으로 추가하여 재정의하는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  5. 제1항에 있어서, 상기 딥러닝 분석 결과를 수신하는 단계는
    상기 클라이언트 상에서 상기 로컬 데이터로 구성된 학습 데이터를 기초로 상기 학습 모델을 온라인 학습(online-learning)하는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  6. 제1항에 있어서, 상기 딥러닝 분석 결과를 수신하는 단계는
    상기 딥러닝 분석 결과가 상기 해당 클라이언트 상의 애플리케이션(application)에 적용되어 수행된 애플리케이션 결과를 상기 클라이언트로부터 수신하는 단계를 더 포함하는 것을 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  7. 제6항에 있어서, 상기 안정성을 평가하는 단계는
    상기 애플리케이션 결과를 기초로 상기 애플리케이션의 정확도(accuracy)를 산출하고 상기 정확도에 따라 상기 학습 모델의 안정성을 평가하는 단계를 포함하는 것을 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  8. 이미지 데이터를 포함하는 학습 데이터를 생성하고 서버로부터 수신한 학습 모델을 온라인 학습하여 로컬 데이터에 관한 딥러닝 분석(deep learning analysis) 결과를 생성하는 클라이언트; 및
    상기 클라이언트로부터 수신한 학습 데이터를 학습하여 상기 학습 모델- 상기 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현됨 -을 구축하고 상기 클라이언트로부터 수신한 딥러닝 분석 결과를 기초로 상기 학습 모델의 안정성을 평가하는 서버;를 포함하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 시스템.
PCT/KR2022/004580 2021-08-12 2022-03-31 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템 WO2023017947A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210106901A KR102399047B1 (ko) 2021-08-12 2021-08-12 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템
KR10-2021-0106901 2021-08-12

Publications (1)

Publication Number Publication Date
WO2023017947A1 true WO2023017947A1 (ko) 2023-02-16

Family

ID=81800883

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/004580 WO2023017947A1 (ko) 2021-08-12 2022-03-31 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR102399047B1 (ko)
WO (1) WO2023017947A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200029049A (ko) * 2018-04-18 2020-03-17 모빌아이 비젼 테크놀로지스 엘티디. 카메라를 이용한 차량 환경 모델링
KR20210063144A (ko) * 2019-11-22 2021-06-01 엘지전자 주식회사 통신 상태에 따른 탑승자 서비스 제공
KR20210070700A (ko) * 2019-12-05 2021-06-15 엘지전자 주식회사 자율주행시스템에서 인공지능 학습 데이터를 계승하는 방법
KR20210072362A (ko) * 2019-12-09 2021-06-17 엘지전자 주식회사 인공 지능 모델에 대한 학습 데이터를 생성하는 인공 지능 장치 및 그 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101758058B1 (ko) 2011-01-20 2017-07-17 삼성전자주식회사 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템
KR102502451B1 (ko) 2016-01-07 2023-02-22 삼성전자주식회사 깊이 추정 방법 및 장치, 및 거리 추정기 학습 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200029049A (ko) * 2018-04-18 2020-03-17 모빌아이 비젼 테크놀로지스 엘티디. 카메라를 이용한 차량 환경 모델링
KR20210063144A (ko) * 2019-11-22 2021-06-01 엘지전자 주식회사 통신 상태에 따른 탑승자 서비스 제공
KR20210070700A (ko) * 2019-12-05 2021-06-15 엘지전자 주식회사 자율주행시스템에서 인공지능 학습 데이터를 계승하는 방법
KR20210072362A (ko) * 2019-12-09 2021-06-17 엘지전자 주식회사 인공 지능 모델에 대한 학습 데이터를 생성하는 인공 지능 장치 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JUAN LUIS GONZALEZ; MUNCHURL KIM: "Forget About the LiDAR: Self-Supervised Depth Estimators with MED Probability Volumes", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 26 September 2020 (2020-09-26), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081771938 *

Also Published As

Publication number Publication date
KR102399047B1 (ko) 2022-05-18

Similar Documents

Publication Publication Date Title
WO2019098414A1 (ko) 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
WO2019066563A1 (en) DETERMINATION AND FOLLOW-UP OF CAMERA INSTALLATION
WO2015194864A1 (ko) 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법
WO2011013862A1 (ko) 이동 로봇의 위치 인식 및 주행 제어 방법과 이를 이용한 이동 로봇
WO2015194866A1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2011052826A1 (ko) 이동 로봇의 위치 인식을 위한 지도 생성 및 갱신 방법
WO2018207969A1 (ko) 객체 검출 및 분류 방법
WO2020046038A1 (ko) 로봇 및 그의 제어 방법
WO2021066290A1 (ko) 고해상도 객체 검출을 위한 장치 및 방법
WO2020075954A1 (ko) 다종 센서 기반의 위치인식 결과들을 혼합한 위치 측위 시스템 및 방법
WO2021235682A1 (en) Method and device for performing behavior prediction by using explainable self-focused attention
WO2021125578A1 (ko) 시각 정보 처리 기반의 위치 인식 방법 및 시스템
WO2020189909A2 (ko) 3d-vr 멀티센서 시스템 기반의 도로 시설물 관리 솔루션을 구현하는 시스템 및 그 방법
WO2019245320A1 (ko) 이미지 센서와 복수의 지자기 센서를 융합하여 위치 보정하는 이동 로봇 장치 및 제어 방법
WO2020171605A1 (ko) 주행 정보 제공 방법, 차량맵 제공 서버 및 방법
WO2019017720A1 (ko) 사생활 보호를 위한 카메라 시스템 및 그 방법
WO2020080734A1 (ko) 얼굴 인식 방법 및 얼굴 인식 장치
WO2023017947A1 (ko) 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템
WO2022098164A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2022092511A1 (ko) 3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법
WO2019194561A1 (ko) 이동형 단말기에서의 증강 현실을 제공하기 위한 위치 인식 방법 및 시스템
WO2019124602A1 (ko) 객체 추적 방법 및 이를 수행하는 장치들
WO2021182793A1 (ko) 단일 체커보드를 이용하는 이종 센서 캘리브레이션 방법 및 장치
WO2020256517A2 (ko) 전방위 화상정보 기반의 자동위상 매핑 처리 방법 및 그 시스템
WO2020251151A1 (ko) 3차원 가상 공간 모델을 이용한 사용자 포즈 추정 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22855949

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE