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

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

Info

Publication number
KR102399047B1
KR102399047B1 KR1020210106901A KR20210106901A KR102399047B1 KR 102399047 B1 KR102399047 B1 KR 102399047B1 KR 1020210106901 A KR1020210106901 A KR 1020210106901A KR 20210106901 A KR20210106901 A KR 20210106901A KR 102399047 B1 KR102399047 B1 KR 102399047B1
Authority
KR
South Korea
Prior art keywords
learning
client
data
learning model
server
Prior art date
Application number
KR1020210106901A
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 KR1020210106901A priority Critical patent/KR102399047B1/ko
Priority to PCT/KR2022/004580 priority patent/WO2023017947A1/ko
Application granted granted Critical
Publication of KR102399047B1 publication Critical patent/KR102399047B1/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/08Learning methods
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

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

자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템{METHOD AND SYSTEM FOR VISUAL PROPERTIES ESTIMATION IN AUTONOMOUS DRIVING}
본 발명은 시각 정보 처리 기술에 관한 것으로, 보다 상세하게는 자율 주행 차량을 위해 카메라에서 촬영된 동영상을 이용하여 인공지능을 학습시키는 것과 그 인공지능의 결과물을 이용하여 시각적 속성을 추정하는 시스템에 관한 것이다.
근래에 자율 주행 차량을 구성을 하기 위한 센서들(예를 들어, 카메라, 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 112021093376409-pat00001
Figure 112021093376409-pat00002
Figure 112021093376409-pat00003
Figure 112021093376409-pat00004
Figure 112021093376409-pat00005
재투영 오류(Reprojection Error)는 소스 이미지(source image)를 RT(rotation & translation)하여 합성 타겟 이미지(synthesis target image)를 생성하는 경우 원래의 타겟 이미지(target image)와 합성 타겟 이미지 간의 차이에 대한 오류(error)에 해당할 수 있다. 재투영 오류는 제2 및 제3 학습 방법에도 소정의 변경이 이루어진 상태에서 동일한 의미로 적용될 수 있다.
구조적 유사 오류(Structural Similarity Error, SSIM Error)은 두 입력 영상의 휘도, 대비, 구조 간의 차이에 관한 오류에 해당할 수 있으며, 아래와 같이 산출될 수 있다. SSIM 오류는 제2 및 제3 학습 방법에도 동일하게 포함될 수 있다.
Figure 112021093376409-pat00006
Figure 112021093376409-pat00007
Figure 112021093376409-pat00008
여기에서, x 및 y는 픽셀 위치(pixel position)이고,
Figure 112021093376409-pat00009
,
Figure 112021093376409-pat00010
,
Figure 112021093376409-pat00011
이다. 또한, Luminance
Figure 112021093376409-pat00012
, Contrast
Figure 112021093376409-pat00013
, Structure
Figure 112021093376409-pat00014
이다.
깊이 스무딩 오류(Depth Smoothing Error)는 같은 장면(scene)에서 깊이와 이미지를 얻었을 때, 깊이의 경사(gradient)를 이미지의 경사를 이용해서 완화해주는 오류에 해당할 수 있으며, 아래와 같이 산출될 수 있다. 깊이 스무딩 오류는 제2 및 제3 학습 방법에도 동일하게 포함될 수 있다.
Figure 112021093376409-pat00015
속도 감시 오류(Velocity supervision Error)는 절대 변환(absolute translation)의 크기(magnitude)와 에고모션의 변환(translation)의 스케일(scale)의 차이에 관한 오류에 해당할 수 있으며, 아래와 같이 산출될 수 있다. 속도 감시 오류는 제2 및 제3 학습 방법에 선택적으로 포함될 수 있다.
Figure 112021093376409-pat00016
도 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 112021093376409-pat00017
Figure 112021093376409-pat00018
Figure 112021093376409-pat00019
Figure 112021093376409-pat00020
Figure 112021093376409-pat00021
여기에서,
Figure 112021093376409-pat00022
: Rigid Motion Rotation (ego-motion),
Figure 112021093376409-pat00023
: Rigid Motion Translation (ego-motion),
Figure 112021093376409-pat00024
: Non-Rigid Motion Translation (Motion vector)이다.
모션 정규화 손실(Motion regularization loss)은 그룹 손실(group loss)와 희소 손실(sparsity loss)의 합에 해당할 수 있다. 그룹 손실은 비강체운동(non-rigid motion)의 변화를 최소화해주는 역할을 하며, 희소 손실은 비강체운동에서 모션이 거의 일정한 크기를 가지도록 하는 역할을 할 수 있다. 모션 정규화 손실은 아래와 같이 산출될 수 있으며, 제3 학습 방법에 선택적으로 포함될 수 있다.
Figure 112021093376409-pat00025
Figure 112021093376409-pat00026
Figure 112021093376409-pat00027
여기에서, T:= Motion Translation Map ∈ RH×W×3 이고, <|T|>:= mean of T 이다.
도 10c를 참조하면, 제3 학습 방법은 고유 파라미터 추정 모델(Intrinsic Estimation Model)과 그 결과물인 카메라 고유 파라미터(Camera Intrinsic)를 사용할 수 있다. 제1 및 제2 학습 방법에서는 실제 카메라에 주어지는 고유 파라미터(Intrinsic)에 관한 정보를 사전에 확보하여야 하는 반면, 제3 학습 방법과 같이 고유 파라미터 추정 모델을 사용하는 경우에는 영상만으로 고유 파라미터를 추정할 수 있다.
제3 학습 방법에서 재투영 오류 손실은 아래와 같이 산출될 수 있다.
Figure 112021093376409-pat00028
Figure 112021093376409-pat00029
Figure 112021093376409-pat00030
Figure 112021093376409-pat00031
Figure 112021093376409-pat00032
여기에서, 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) 결과를 수신하는 단계; 및
    상기 서버를 통해, 상기 딥러닝 분석 결과를 기초로 상기 일반화된 학습 모델의 안정성을 평가하는 단계;를 포함하되,
    상기 학습 모델을 구축하는 단계는 와핑 손실(warping loss) 및 깊이 스무딩 손실(depth smoothing loss) 간의 합으로 손실 함수를 정의하는 단계; 및 상기 손실 함수에 속도 감독 손실(velocity supervision loss) 및 모션 정규화 손실(motion regularization loss) 중 적어도 하나를 선택적으로 추가하여 재정의하는 단계를 포함하고,
    상기 딥러닝 분석 결과를 수신하는 단계는 상기 클라이언트 상에서 상기 로컬 데이터로 구성된 학습 데이터를 기초로 상기 일반화된 학습 모델을 온라인 학습(online-learning)하여 각 카메라에 대한 고유의 특성을 부여하는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  2. 제1항에 있어서, 상기 학습 데이터를 수신하는 단계는
    상기 클라이언트 상에서 상기 이미지 데이터의 생성 시점에 동기화되고 상기 고유 파라미터, IMU, GPS 및 차량 속도를 포함하는 연관 데이터(related data)가 수집되는 단계; 및
    상기 클라이언트 상에서 상기 연관 데이터가 상기 이미지 데이터와 함께 패키징(packaging)되어 상기 학습 데이터로 생성되는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  3. 제1항에 있어서, 상기 학습 모델을 구축하는 단계는
    상기 영상을 기초로 상기 깊이 및 상기 모션을 독립적으로 추정하는 단계;
    상기 영상을 기초로 상기 고유 파라미터를 추정하거나 또는 상기 학습 데이터에서 상기 고유 파라미터를 추출하는 단계;
    상기 학습 데이터에서 IMU, GPS 및 차량 속도를 추출하는 단계; 및
    상기 깊이, 상기 모션, 상기 고유 파라미터, 상기 IMU, 상기 GPS 및 상기 차량 속도를 기초로 손실 함수(loss function)를 최소화하는 방향으로 학습을 반복 수행하는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서, 상기 딥러닝 분석 결과를 수신하는 단계는
    상기 딥러닝 분석 결과가 상기 해당 클라이언트 상의 애플리케이션(application)에 적용되어 수행된 애플리케이션 결과를 상기 클라이언트로부터 수신하는 단계를 더 포함하는 것을 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  7. 제6항에 있어서, 상기 안정성을 평가하는 단계는
    상기 애플리케이션 결과를 기초로 상기 애플리케이션의 정확도(accuracy)를 산출하고 상기 정확도에 따라 상기 학습 모델의 안정성을 평가하는 단계를 포함하는 것을 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.
  8. 이미지 데이터를 포함하는 학습 데이터- 상기 학습 데이터는 각 클라이언트에서의 고유 데이터를 포함하지 않도록 생성됨 -를 생성하고 서버로부터 수신한 학습 모델을 온라인 학습하여 로컬 데이터에 관한 딥러닝 분석(deep learning analysis) 결과를 생성하는 클라이언트; 및
    상기 클라이언트로부터 수신한 학습 데이터를 학습하여 상기 학습 모델- 상기 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하는 일반화된 학습 모델로서 구현됨 -을 구축하고 상기 클라이언트로부터 수신한 딥러닝 분석 결과를 기초로 상기 일반화된 학습 모델의 안정성을 평가하는 서버;를 포함하되,
    상기 클라이언트는 상기 로컬 데이터로 구성된 학습 데이터를 기초로 상기 일반화된 학습 모델을 온라인 학습(online-learning)하여 각 카메라에 대한 고유의 특성을 부여하고,
    상기 서버는 와핑 손실(warping loss) 및 깊이 스무딩 손실(depth smoothing loss) 간의 합으로 손실 함수를 정의하고 상기 손실 함수에 속도 감독 손실(velocity supervision loss) 및 모션 정규화 손실(motion regularization loss) 중 적어도 하나를 선택적으로 추가하여 재정의하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 시스템.
KR1020210106901A 2021-08-12 2021-08-12 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템 KR102399047B1 (ko)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
KR102399047B1 true KR102399047B1 (ko) 2022-05-18

Family

ID=81800883

Family Applications (1)

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

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
KR20170082794A (ko) 2016-01-07 2017-07-17 삼성전자주식회사 깊이 추정 방법 및 장치, 및 거리 추정기 학습 방법 및 장치
KR101758058B1 (ko) 2011-01-20 2017-07-17 삼성전자주식회사 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템
KR20210063144A (ko) * 2019-11-22 2021-06-01 엘지전자 주식회사 통신 상태에 따른 탑승자 서비스 제공
KR20210070700A (ko) * 2019-12-05 2021-06-15 엘지전자 주식회사 자율주행시스템에서 인공지능 학습 데이터를 계승하는 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111566441B (zh) * 2018-04-18 2022-08-09 移动眼视力科技有限公司 利用相机进行车辆环境建模
KR20210072362A (ko) * 2019-12-09 2021-06-17 엘지전자 주식회사 인공 지능 모델에 대한 학습 데이터를 생성하는 인공 지능 장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101758058B1 (ko) 2011-01-20 2017-07-17 삼성전자주식회사 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템
KR20170082794A (ko) 2016-01-07 2017-07-17 삼성전자주식회사 깊이 추정 방법 및 장치, 및 거리 추정기 학습 방법 및 장치
KR20210063144A (ko) * 2019-11-22 2021-06-01 엘지전자 주식회사 통신 상태에 따른 탑승자 서비스 제공
KR20210070700A (ko) * 2019-12-05 2021-06-15 엘지전자 주식회사 자율주행시스템에서 인공지능 학습 데이터를 계승하는 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Juan L. Gonzalez and Munchurl Kim, "Forget About the LiDAR: Self-Supervised Depth Estimators with MED Probability Volumes," arXiv:2008.03633v2 [cs.CV] (2020.09.26.)* *

Also Published As

Publication number Publication date
WO2023017947A1 (ko) 2023-02-16

Similar Documents

Publication Publication Date Title
CN111862126B (zh) 深度学习与几何算法结合的非合作目标相对位姿估计方法
CN110363058B (zh) 使用单触发卷积神经网络的用于避障的三维对象定位
US9990736B2 (en) Robust anytime tracking combining 3D shape, color, and motion with annealed dynamic histograms
US11100646B2 (en) Future semantic segmentation prediction using 3D structure
Peralta et al. Next-best view policy for 3d reconstruction
US11074438B2 (en) Disentangling human dynamics for pedestrian locomotion forecasting with noisy supervision
CN115355901B (zh) 一种融合动态目标感知的多机联合建图方法
US20220335258A1 (en) Systems and methods for dataset and model management for multi-modal auto-labeling and active learning
CN113724388B (zh) 高精地图的生成方法、装置、设备以及存储介质
CN112016612A (zh) 一种基于单目深度估计的多传感器融合slam方法
Schmuck et al. On the redundancy detection in keyframe-based slam
CN117593702B (zh) 远程监控方法、装置、设备及存储介质
CN114663598A (zh) 三维建模方法、装置和存储介质
Viana et al. Aerial image instance segmentation through synthetic data using deep learning
KR102399047B1 (ko) 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템
IL277741B1 (en) System and method for visual positioning
CN116664851A (zh) 一种基于人工智能的自动驾驶数据提取方法
Elhadidy et al. Improved semantic segmentation of low-resolution 3d point clouds using supervised domain adaptation
Rahmania et al. Exploration of the impact of kernel size for yolov5-based object detection on quadcopter
CN116403173A (zh) 融合中期语义信息的视觉里程计方法
CN114596475A (zh) 单应性流估计模型的训练方法、单应性流估计方法和装置
CN114326821A (zh) 基于深度强化学习的无人机自主避障系统及方法
Chebi et al. Strategy of detecting abnormal behaviors by fuzzy logic
Zhang et al. A Self-Supervised Monocular Depth Estimation Approach Based on UAV Aerial Images
Parikh et al. Rapid autonomous semantic mapping

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant