WO2023017947A1 - Method and system for processing visual information for estimating visual properties in autonomous driving - Google Patents

Method and system for processing visual information for estimating visual properties in autonomous driving 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
French (fr)
Korean (ko)
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/en

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

The present invention relates to a method and a system for processing visual information for estimating visual properties in autonomous driving, the method comprising the steps of: receiving learning data including image data from a client; building a learning model by learning the learning data, wherein the learning model is implemented to receive an image and estimate visual properties including depth, motion, and intrinsic parameters; deploying the learning model to the client; receiving, from the client, a result of a deep learning analysis performed by applying local data on the relevant client to the learning model; and evaluating the stability of the learning model on the basis of the result of the deep learning analysis.

Description

자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템Visual information processing method and system for estimating visual attributes in autonomous driving
본 발명은 시각 정보 처리 기술에 관한 것으로, 보다 상세하게는 자율 주행 차량을 위해 카메라에서 촬영된 동영상을 이용하여 인공지능을 학습시키는 것과 그 인공지능의 결과물을 이용하여 시각적 속성을 추정하는 시스템에 관한 것이다.The present invention relates to visual information processing technology, and more particularly, to a system for learning artificial intelligence using a video taken from a camera for an autonomous vehicle and estimating visual attributes using a result of the artificial intelligence. will be.
근래에 자율 주행 차량을 구성을 하기 위한 센서들(예를 들어, 카메라, Radar, Lidar, 초음파 센서 등)의 종류가 갈수록 늘어나고 있고, 그 개수 또한 증가하고 있다. 따라서, 자율 주행 차량을 운용하는데 각 센서들을 장치하는 비용과 그 장비에 대한 소프트웨어 개발 및 운용 비용이 기하급수적으로 증가하고 있는 문제가 있다.Recently, the types of sensors (for example, cameras, radars, lidars, ultrasonic sensors, etc.) for configuring autonomous vehicles are increasing, and the number thereof is also increasing. Therefore, there is a problem in that the cost of installing each sensor and the cost of developing and operating software for the equipment in operating the autonomous vehicle increases exponentially.
또한, 무작위 다수의 영상을 활용한 머신 러닝 모델은 다양한 카메라에서 촬영된 영상으로 학습되어 일반성을 가지지만, 각 카메라 센서의 환경에 맞는 특정성을 가질 수 없게 되는 문제가 있다.In addition, although a machine learning model using a plurality of random images has generality by being trained with images taken from various cameras, there is a problem in that it cannot have specificity suitable for the environment of each camera sensor.
일반적으로 영상을 기반으로 하는 시각적 속성 추정 기술은 카메라에서 촬영되는 영상들로부터 시각적 속성을 알아내는 것이다. 이는 각종 로봇, 드론, 자율 주행 차량, 스마트폰 등 전반적인 산업 분야에서 활용되고 있다. 예를 들어, 자율 주행 차량에서는 시각적 속성으로 영상에 대한 깊이 정보, 모션(차량의 자차 움직임) 등을 추정할 수 있다. 그리고, 해당 결과들은 다른 응용 기술(3D object detection, pseudo-lidar)에 사용될 수 있다.Generally, a visual property estimation technique based on images is to find out visual properties from images captured by a camera. It is used in various industrial fields such as various robots, drones, self-driving vehicles, and smartphones. For example, in an autonomous vehicle, depth information and motion (movement of a vehicle's own vehicle) of an image can be estimated as visual attributes. And, the corresponding results can be used for other application technologies (3D object detection, pseudo-lidar).
한편, 종래의 시각적 속성 추정에 관한 기술들의 예는 크게 두 가지로 나뉘어져 있다. 첫 번째는 깊이 추정에 관한 기술로 입력된 영상에 대한 깊이를 추정하는 기술이다. 한국공개특허 제10-2017-0082794호(2017.07.17)는 깊이 추정 방법 및 장치, 및 거리 추정기 학습 방법 및 장치를 개시하고 있다. 두 번째는 모션 추정에 관한 기술로 입력된 동영상에 대한 모션을 추정하는 기술이다. 한국등록특허 제10-1758058호(2017.07.10)는 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템을 개시하고 있다.Meanwhile, examples of conventional techniques for estimating visual attributes are largely divided into two types. The first is a technique related to depth estimation, which estimates the depth of an input image. Korean Patent Publication No. 10-2017-0082794 (July 17, 2017) discloses a depth estimation method and device and a distance estimator learning method and device. The second is a technique related to motion estimation, which is a technique for estimating the motion of an input video. Korean Patent Registration No. 10-1758058 (July 10, 2017) discloses a method and apparatus for estimating camera motion using depth information, and an augmented reality system.
[선행기술문헌][Prior art literature]
[특허문헌][Patent Literature]
한국공개특허 제10-2017-0082794호 (2017.07.17)Korean Patent Publication No. 10-2017-0082794 (2017.07.17)
한국등록특허 제10-1758058호 (2017.07.10)Korean Patent Registration No. 10-1758058 (2017.07.10)
본 발명의 일 실시예는 자율 주행 차량을 위해 카메라에서 촬영된 동영상을 이용하여 인공지능을 학습시키는 것과 그 인공지능의 결과물을 이용하여 시각적 속성을 추정하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템을 제공하고자 한다.An embodiment of the present invention is to learn artificial intelligence using a video captured by a camera for an autonomous vehicle, and visual information for estimating visual attributes in autonomous driving that estimates visual attributes using a result of the artificial intelligence. It is intended to provide a processing method and system.
본 발명의 일 실시예는 영상만으로 자율 주행에서 필요로 하는 시각적 속성(깊이 추정, 모션 추정, 유리 왜곡 해결 등)을 해결하여 Radar, Lidar, 초음파 센서 등의 사용에 따른 비용 문제를 해결하고, 비지도 학습 기반의 머신 러닝 모델의 장점을 이용해 일반성을 가진 모델로부터 클라이언트(client)에서 추가로 온라인학습(online-learning)을 진행하여 각 카메라에 대한 특정성을 부여하여 문제를 해결할 수 있는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템을 제공하고자 한다.An embodiment of the present invention solves the cost problem caused by the use of radar, lidar, ultrasonic sensor, etc. by solving visual properties (depth estimation, motion estimation, glass distortion resolution, etc.) required for autonomous driving only with images, and In autonomous driving, which can solve problems by giving specificity to each camera by conducting additional online-learning at the client from a model with generality by using the advantages of a machine learning model based on road learning. It is intended to provide a visual information processing method and system for estimating visual attributes of .
실시예들 중에서, 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법은 클라이언트로부터 이미지 데이터를 포함하는 학습 데이터를 수신하는 단계; 상기 학습 데이터를 학습하여 학습 모델- 상기 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현됨 -을 구축하는 단계; 상기 학습 모델을 상기 클라이언트에 배포(deploy)하는 단계; 상기 클라이언트로부터 상기 학습 모델에 해당 클라이언트 상의 로컬 데이터가 적용되어 수행된 딥러닝 분석(deep learning analysis) 결과를 수신하는 단계; 및 상기 딥러닝 분석 결과를 기초로 상기 학습 모델의 안정성을 평가하는 단계;를 포함한다.Among the embodiments, a visual information processing method for estimating visual attributes in autonomous driving includes receiving learning data including image data from a client; A learning model is built by learning the training data - the learning model is implemented to receive an image and estimate visual properties including depth, motion and intrinsic parameters. doing; deploying the learning model to the client; receiving, from the client, a result of deep learning analysis performed by applying local data on the corresponding client to the learning model; and evaluating the stability of the learning model based on the deep learning analysis result.
상기 학습 데이터를 수신하는 단계는 상기 클라이언트 상에서 상기 이미지 데이터의 생성 시점에 동기화되고 상기 고유 파라미터, IMU, GPS 및 차량 속도를 포함하는 연관 데이터(related data)가 수집되는 단계; 및 상기 클라이언트 상에서 상기 연관 데이터가 상기 이미지 데이터와 함께 패키징(packaging)되어 상기 학습 데이터로 생성되는 단계를 포함할 수 있다.The receiving of the training data may include collecting related data that is synchronized with a generation time point of the image data on the client and includes the unique parameter, IMU, GPS, and vehicle speed; and packaging the related data together with the image data to generate the learning data on the client.
상기 학습 모델을 구축하는 단계는 상기 영상을 기초로 상기 깊이 및 상기 모션을 독립적으로 추정하는 단계; 상기 영상을 기초로 상기 고유 파라미터를 추정하거나 또는 상기 학습 데이터에서 상기 고유 파라미터를 추출하는 단계; 상기 학습 데이터에서 IMU, GPS 및 차량 속도를 추출하는 단계; 및 상기 깊이, 상기 모션, 상기 고유 파라미터, 상기 IMU, 상기 GPS 및 상기 차량 속도를 기초로 손실 함수(loss function)를 최소화하는 방향으로 학습을 반복 수행하는 단계를 포함할 수 있다.Building the learning model may include independently estimating the depth and the motion based on the image; estimating the eigenparameter based on the image or extracting the eigenparameter from the training data; Extracting IMU, GPS and vehicle speed from the learning data; and iteratively performing learning in a direction that minimizes a loss function based on the depth, the motion, the intrinsic parameter, the IMU, the GPS, and the vehicle speed.
상기 학습 모델을 구축하는 단계는 와핑 손실(warping loss) 및 깊이 스무딩 손실(depth smoothing loss) 간의 합으로 상기 손실 함수를 정의하는 단계; 및 상기 손실 함수에 속도 감시 손실(velocity supervision loss) 및 모션 정규화 손실(motion regularization loss) 중 적어도 하나를 선택적으로 추가하여 재정의하는 단계를 포함할 수 있다.Building the learning model may include defining the loss function as a sum of a warping loss and a depth smoothing loss; and redefining the loss function by selectively adding at least one of a velocity supervision loss and a motion regularization loss to the loss function.
상기 딥러닝 분석 결과를 수신하는 단계는 상기 클라이언트 상에서 상기 로컬 데이터로 구성된 학습 데이터를 기초로 상기 학습 모델을 온라인 학습(online-learning)하는 단계를 포함할 수 있다.Receiving the deep learning analysis result may include online-learning the learning model on the client based on training data composed of the local data.
상기 딥러닝 분석 결과를 수신하는 단계는 상기 딥러닝 분석 결과가 상기 해당 클라이언트 상의 애플리케이션(application)에 적용되어 수행된 애플리케이션 결과를 상기 클라이언트로부터 수신하는 단계를 더 포함할 수 있다.The receiving of the deep learning analysis result may further include receiving, from the client, an application result obtained by applying the deep learning analysis result to an application on the corresponding client.
상기 안정성을 평가하는 단계는 상기 애플리케이션 결과를 기초로 상기 애플리케이션의 정확도(accuracy)를 산출하고 상기 정확도에 따라 상기 학습 모델의 안정성을 평가하는 단계를 포함할 수 있다.Evaluating the stability may include calculating accuracy of the application based on a result of the application and evaluating stability of the learning model according to the accuracy.
실시예들 중에서, 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 시스템은 이미지 데이터를 포함하는 학습 데이터를 생성하고 서버로부터 수신한 학습 모델을 온라인 학습하여 로컬 데이터에 관한 딥러닝 분석(deep learning analysis) 결과를 생성하는 클라이언트; 및 상기 클라이언트로부터 수신한 학습 데이터를 학습하여 상기 학습 모델- 상기 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현됨 -을 구축하고 상기 클라이언트로부터 수신한 딥러닝 분석 결과를 기초로 상기 학습 모델의 안정성을 평가하는 서버;를 포함한다.Among the embodiments, a visual information processing system for estimating visual attributes in autonomous driving generates learning data including image data and online-learns a learning model received from a server to perform deep learning analysis on local data. ) the client that produces the result; and the learning model by learning learning data received from the client. The learning model receives an image and estimates visual properties including depth, motion, and intrinsic parameters. A server that builds a server and evaluates the stability of the learning model based on the deep learning analysis result received from the client.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology may have the following effects. However, it does not mean that a specific embodiment must include all of the following effects or only the following effects, so it should not be understood that the scope of rights of the disclosed technology is limited thereby.
본 발명의 일 실시예에 따른 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템은 자율 주행 차량을 위해 카메라에서 촬영된 동영상을 이용하여 인공지능을 학습시키는 것과 그 인공지능의 결과물을 이용하여 시각적 속성을 추정할 수 있다.A visual information processing method and system for estimating visual attributes in autonomous driving according to an embodiment of the present invention learn artificial intelligence using a video taken from a camera for an autonomous vehicle and use the result of the artificial intelligence. Thus, the visual properties can be estimated.
본 발명의 일 실시예에 따른 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템은 영상만으로 자율 주행에서 필요로 하는 시각적 속성(깊이 추정, 모션 추정, 유리 왜곡 해결 등)을 해결하여 Radar, Lidar, 초음파 센서 등의 사용에 따른 비용 문제를 해결할 수 있다.A visual information processing method and system for estimating visual attributes in autonomous driving according to an embodiment of the present invention solves visual attributes (depth estimation, motion estimation, glass distortion resolution, etc.) , Lidar, and ultrasonic sensors can solve the cost problem.
본 발명의 일 실시예에 따른 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법 및 시스템은 비지도 학습 기반의 머신 러닝 모델의 장점을 이용해 일반성을 가진 모델로부터 클라이언트(client)에서 추가로 온라인학습(online-learning)을 진행하여 각 카메라에 대한 특정성을 부여하여 문제를 해결할 수 있다.A visual information processing method and system for estimating visual attributes in autonomous driving according to an embodiment of the present invention uses the advantages of an unsupervised learning-based machine learning model to provide additional online learning at the client from a general model. (online-learning) to solve the problem by assigning specificity to each camera.
도 1은 본 발명에 따른 시각 정보 처리 시스템을 설명하는 도면이다.1 is a diagram illustrating a visual information processing system according to the present invention.
도 2는 본 발명에 따른 시각 정보 처리 시스템의 기본 구성을 설명하는 도면이다.2 is a diagram explaining the basic configuration of a visual information processing system according to the present invention.
도 3은 도 1에 도시된 서버의 기능적 구성을 설명하는 도면이다.FIG. 3 is a diagram explaining the functional configuration of the server shown in FIG. 1 .
도 4는 도 1에 도시된 클라이언트에서 수행되는 동작의 일 실시예를 설명하는 순서도이다.4 is a flowchart illustrating an embodiment of an operation performed in the client shown in FIG. 1;
도 5는 본 발명에 따른 시각 정보 처리 시스템의 기본 동작을 설명하는 순서도이다.5 is a flowchart illustrating the basic operation of the visual information processing system according to the present invention.
도 6은 도 1에 도시된 클라이언트와 서버에서 수행되는 동작의 일 실시예를 설명하는 순서도이다.FIG. 6 is a flowchart illustrating an embodiment of an operation performed by the client and server shown in FIG. 1 .
도 7은 도 1에 도시된 클라이언트에서 수행되는 온라인 학습 동작을 설명하는 순서도이다.FIG. 7 is a flowchart illustrating an online learning operation performed by the client shown in FIG. 1 .
도 8은 도 1에 도시된 클라이언트에서 수행되는 추론 과정을 설명하는 도면이다.FIG. 8 is a diagram for explaining an inference process performed by the client shown in FIG. 1 .
도 9는 본 발명에 따른 시각 정보 처리 시스템에서 수행되는 학습 과정을 설명하는 도면이다.9 is a diagram explaining a learning process performed in the visual information processing system according to the present invention.
도 10a 내지 10c는 본 발명에 따른 시각 정보 처리 시스템에서 수행되는 학습 과정의 다양한 실시예들을 설명하는 도면이다.10A to 10C are diagrams for explaining various embodiments of a learning process performed in the visual information processing system according to the present invention.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is only an embodiment for structural or functional description, the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, since the embodiment can be changed in various ways and can have various forms, it should be understood that the scope of the present invention includes equivalents capable of realizing the technical idea. In addition, since the object or effect presented in the present invention does not mean that a specific embodiment should include all of them or only such effects, the scope of the present invention should not be construed as being limited thereto.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of terms described in this application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are used to distinguish one component from another, and the scope of rights should not be limited by these terms. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It should be understood that when an element is referred to as being “connected” to another element, it may be directly connected to the other element, but other elements may exist in the middle. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that no intervening elements exist. Meanwhile, other expressions describing the relationship between components, such as “between” and “immediately between” or “adjacent to” and “directly adjacent to” should be interpreted similarly.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Expressions in the singular number should be understood to include plural expressions unless the context clearly dictates otherwise, and terms such as “comprise” or “having” refer to an embodied feature, number, step, operation, component, part, or these. It should be understood that it is intended to indicate that a combination exists, and does not preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (eg, a, b, c, etc.) is used for convenience of explanation, and the identification code does not describe the order of each step, and each step clearly follows a specific order in context. Unless otherwise specified, it may occur in a different order than specified. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be implemented as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all types of recording devices storing data that can be read by a computer system. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. In addition, the computer-readable recording medium may be distributed to computer systems connected through a network, so that computer-readable codes may be stored and executed in a distributed manner.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs, unless defined otherwise. Terms defined in commonly used dictionaries should be interpreted as consistent with meanings in the context of the related art, and cannot be interpreted as having ideal or excessively formal meanings unless explicitly defined in the present application.
도 1은 본 발명에 따른 시각 정보 처리 시스템을 설명하는 도면이다.1 is a diagram illustrating a visual information processing system according to the present invention.
도 1을 참조하면, 시각 정보 처리 시스템(100)은 클라이언트(110) 및 서버(130)를 포함하여 구현될 수 있다. 즉, 시각 정보 처리 시스템(100)은 클라이언트(110)와 서버(130) 간의 연동을 통해 자율 주행에서 필요한 시각 정보를 처리할 수 있으며, 해당 과정에서 시각적 속성을 추정하기 위한 일련의 동작들을 실행할 수 있다.Referring to FIG. 1 , the visual information processing system 100 may be implemented by including a client 110 and a server 130 . That is, the visual information processing system 100 may process visual information necessary for autonomous driving through linkage between the client 110 and the server 130, and may execute a series of operations for estimating visual attributes in the process. there is.
먼저, 클라이언트(110)는 이미지 데이터를 포함하는 학습 데이터를 생성하고 서버(130)로부터 수신한 학습 모델을 온라인 학습하여 로컬 데이터에 관한 딥러닝 분석(deep learning analysis) 결과를 생성하는 장치에 해당할 수 있다. 클라이언트(110)는 자율 주행 가능한 차량에 설치되어 동작할 수 있으며, 이를 위해 자율 주행에 필요한 기능을 구현하기 위한 소정의 센서들을 포함하여 구현될 수 있다. 클라이언트(110)는 네트워크를 통해 서버(130)와 연결될 수 있으며, 복수의 클라이언트(110)들이 동시에 서버(130)와 연결된 상태에서 독립적인 동작을 수행할 수도 있다.First, the client 110 may correspond to a device that generates training data including image data and online-learns the learning model received from the server 130 to generate a deep learning analysis result for local data. can The client 110 may be installed and operated in a vehicle capable of autonomous driving, and may be implemented by including predetermined sensors for implementing functions necessary for autonomous driving. The client 110 may be connected to the server 130 through a network, and a plurality of clients 110 may perform independent operations while simultaneously connected to the server 130 .
서버(130)는 클라이언트(110)로부터 수신한 학습 데이터를 학습하여 학습 모델을 구축하고 클라이언트(110)로부터 수신한 딥러닝 분석 결과를 기초로 학습 모델의 안정성을 평가하는 장치에 해당할 수 있다. 여기에서, 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하는 동작을 수행할 수 있다. 특히, 서버(130)는 학습 모델이 일반적인 특성을 갖도록 하는 사전 학습을 수행할 수 있으며, 학습된 모델을 클라이언트(110)에게 전달하여 클라이언트(110) 상에서 각 카메라에 대한 고유의 특성을 부여하는 온라인 학습이 이루어지도록 할 수 있다.The server 130 may correspond to a device that builds a learning model by learning training data received from the client 110 and evaluates the stability of the learning model based on the deep learning analysis result received from the client 110 . Here, the learning model may receive an image and perform an operation of estimating visual properties including depth, motion, and intrinsic parameters. In particular, the server 130 may perform pre-learning so that the learning model has general characteristics, and transmits the learned model to the client 110 to give unique characteristics to each camera on the client 110. learning can take place.
한편, 서버(130)는 다양한 클라이언트(110)들로부터 수신되는 학습 데이터들을 저장하기 위한 데이터베이스(도1에 미도시함)와 연동하여 동작할 수 있다. 이때, 데이터베이스는 서버(130)와 독립된 장치로 구현되어 서버(130)와 네트워크를 통해 연결될 수 있다. 예를 들어, 데이터베이스는 클라우드 상에서 동작하는 인스턴스로 구현되어 서버(130)와 네트워크를 통해 연결됨으로써 무제한적인 용량을 가진 가상의 저장공간을 제공할 수 있다.Meanwhile, the server 130 may operate in conjunction with a database (not shown in FIG. 1 ) for storing learning data received from various clients 110 . In this case, the database may be implemented as a device independent of the server 130 and connected to the server 130 through a network. For example, the database may be implemented as an instance operating in the cloud and connected to the server 130 through a network to provide a virtual storage space with unlimited capacity.
도 2는 본 발명에 따른 시각 정보 처리 시스템의 기본 구성을 설명하는 도면이다.2 is a diagram explaining the basic configuration of a visual information processing system according to the present invention.
도 2를 참조하면, 시각 정보 처리 시스템(100)은 자율주행에서의 시각적 속성 추정을 위해 다양한 기능적 모듈들을 포함하여 구현될 수 있다. 여기에서, 기능적 모듈들은 클라이언트(110) 또는 서버(130) 상에 포함되어 구현될 수 있으며, 필요에 따라 일방에만 선택적으로 부가되거나 또는 양방에 일괄 적용될 수 있다.Referring to FIG. 2 , the visual information processing system 100 may be implemented by including various functional modules for visual attribute estimation in autonomous driving. Here, the functional modules may be included and implemented on the client 110 or the server 130, and may be selectively added to only one side or collectively applied to both sides as needed.
보다 구체적으로, 기능적 모듈들은 비전 센서들(210), 추가 센서들(220), 네트워크 인터페이스(230), 인공지능 프로세서(240), 이미지 전처리 프로세서(250) 및 딥러닝 네트워크(260)를 포함할 수 있다.More specifically, functional modules may include vision sensors 210, additional sensors 220, network interface 230, artificial intelligence processor 240, image pre-processing processor 250 and deep learning network 260. can
비전 센서들(210)은 카메라 등과 같이 이미지 또는 영상의 시각적 정보를 생성하는 센서에 해당할 수 있다. 비전 센서들(210)은 윤곽 감지, 픽셀 계산, 코드 리딩, 3D 스캔 등의 동작을 수행할 수 있다. 추가 센서들(220)은 비전 센서들(210) 이외의 센서에 해당할 수 있다. 예를 들어, 추가 센서들(220)은 GPS, IMU, 차량 속도 센서(vehicle velocity) 등을 포함할 수 있다.The vision sensors 210 may correspond to sensors that generate images or visual information of videos, such as cameras. The vision sensors 210 may perform operations such as contour detection, pixel calculation, code reading, and 3D scanning. The additional sensors 220 may correspond to sensors other than the vision sensors 210 . For example, additional sensors 220 may include GPS, IMU, vehicle velocity, and the like.
또한, 네트워크 인터페이스(230)는 네트워크 통신을 수행할 수 있으며, WIFI, Cellular 등을 포함할 수 있다. 인공지능(AI) 프로세서(240)와 이미지 전처리 프로세서(250)는 다양한 동작 프로시저를 실행하고 처리하는 연산 처리 장치에 해당할 수 있다. 인공지능(AI) 프로세서(240)와 이미지 전처리 프로세서(250)는 CPU, GPU, TPU, FPGA, DSP 등으로 구현될 수 있다.In addition, the network interface 230 may perform network communication, and may include WIFI, cellular, and the like. The artificial intelligence (AI) processor 240 and the image pre-processing processor 250 may correspond to arithmetic processing devices that execute and process various operation procedures. The artificial intelligence (AI) processor 240 and the image pre-processing processor 250 may be implemented with a CPU, GPU, TPU, FPGA, DSP, or the like.
딥러닝 네트워크(260)는 딥러닝을 통해 구축될 수 있으며, 다양한 예측 연산을 처리할 수 있다. 예를 들어, 딥러닝 네트워크(260)는 깊이 추정(estimating depth), 자세 추정(estimating pose), 고유 파라미터 추정(estimating intrinsic) 등의 동작을 수행할 수 있으며, 각 동작을 수행하는 독립적인 모델들로 구축될 수 있다.The deep learning network 260 may be built through deep learning and may process various prediction operations. For example, the deep learning network 260 may perform operations such as estimating depth, estimating pose, and estimating intrinsic parameters, and includes independent models performing each operation. can be built with
도 3은 도 1에 도시된 서버의 기능적 구성을 설명하는 도면이다.FIG. 3 is a diagram explaining the functional configuration of the server shown in FIG. 1 .
도 3을 참조하면, 본 발명에 따른 서버(130)는 독립적인 동작을 수행하는 복수의 기능적 구성들을 포함하여 구현될 수 있다. 보다 구체적으로, 서버(130)는 학습 데이터 수신부(310), 학습 모델 구축부(330), 학습 모델 배포부(350), 딥러닝 분석부(370), 학습 모델 평가부(390) 및 제어부(도 3에 미도시함)을 포함할 수 있다.Referring to FIG. 3 , the server 130 according to the present invention 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.
학습 데이터 수신부(310)는 클라이언트(110)로부터 이미지 데이터를 포함하는 학습 데이터를 수신할 수 있다. 여기에서, 클라이언트(110)는 자율 주행 가능한 차량에 설치되어 동작할 수 있으며, 차량 내 설치 위치와 기능에 따라 다양한 유형의 이미지 데이터를 생성할 수 있다. 학습 데이터 수신부(310)는 차량 및 클라이언트(110) 별로 학습 데이터를 수집하여 저장할 수 있으며, 저장 과정에서 학습 데이터에 차량 및 클라이언트(110)에 관한 식별 정보를 추가적으로 부가할 수 있다.The training data receiver 310 may receive training data including image data from the client 110 . Here, the client 110 may be installed and operated in a vehicle capable of autonomous driving, and may generate various types of image data according to an installation location and function in the vehicle. The learning data receiving unit 310 may collect and store learning data for each vehicle and client 110, and may additionally add identification information about the vehicle and client 110 to the learning data in the storage process.
일 실시예에서, 학습 데이터 수신부(310)에 의해 수신되는 학습 데이터는 클라이언트(110) 상에서 생성될 수 있다. 보다 구체적으로, 클라이언트(110) 상에서 이미지 데이터의 생성 시점에 동기화되고 고유 파라미터, IMU, GPS 및 차량 속도를 포함하는 연관 데이터(related data)가 수집될 수 있으며, 수집된 연관 데이터는 이미지 데이터와 함께 패키징(packaging)되어 학습 데이터로 생성될 수 있다.In one embodiment, the learning data received by the learning data receiving unit 310 may be generated on the client 110 . More specifically, related data may be collected on the client 110 at the time of generation of the image data and include intrinsic parameters, IMU, GPS, and vehicle speed, and the collected related data may be collected along with the image data. It may be packaged and generated as learning data.
즉, 클라이언트(110)는 자체적으로 수집된 정보들을 통합하여 학습 데이터를 생성할 수 있으며, 이때 서버(130)로부터 제공받은 학습 데이터에 관한 생성 규칙이 적용될 수 있다. 학습 데이터는 기본적으로 이미지 데이터와 해당 이미지 데이터가 생성되는 시점에서의 다양한 연관 데이터를 포함하여 생성될 수 있다. 생성 규칙은 데이터 유형, 데이터 정렬 순서, 시점 및 데이터 크기 등에 관한 정보를 포함할 수 있다.That is, the client 110 may generate learning data by integrating the information collected on its own, and at this time, a generation rule for the learning data provided from the server 130 may be applied. The training data may be generated by basically including image data and various related data at the point in time when the corresponding image data is generated. The creation rule may include information about data type, data sorting order, timing, data size, and the like.
또한, 학습 데이터는 각 클라이언트(110)에서의 고유 데이터를 포함하지 않도록 생성될 수 있다. 즉, 클라이언트(110)는 서버(130) 상에서 일반화된(general) 모델 구축에 사용되는 범용적인 학습 데이터를 제공하기 위하여 클라이언트(110)의 특징적인 정보가 담긴 학습 데이터는 의도적으로 제거할 수 있다. 클라이언트(110)는 학습 데이터에 관한 패키징 과정에서 사전에 설정된 제거 조건을 충족하는 데이터의 경우 학습 데이터에서 제거할 수 있다.Also, the learning data may be generated so as not to include data unique to each client 110 . That is, the client 110 may intentionally remove training data containing characteristic information of the client 110 in order to provide general-purpose training data used for building a general model on the server 130 . The client 110 may remove data that meets a pre-set removal condition in the packaging process of the learning data from the learning data.
학습 모델 구축부(330)는 학습 데이터를 학습하여 학습 모델을 구축할 수 있다. 여기에서, 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현될 수 있다. 자율 주행 가능한 차량의 경우 자율주행 제어를 위해 시각적 속성을 효과적으로 획득하여야 하며, 학습 모델 구축부(330)는 영상 만을 활용하여 시각적 속성들을 효과적으로 추정하기 위한 일반화된 학습 모델을 구축할 수 있다.The learning model construction unit 330 may build a learning model by learning learning data. Here, the learning model may be implemented to receive an image and estimate visual properties including depth, motion, and intrinsic parameters. In the case of a self-driving vehicle, visual attributes must be effectively acquired for self-driving control, and the learning model builder 330 can build a generalized learning model for effectively estimating visual attributes using only images.
특히, 학습 모델 구축부(330)에 의해 구축된 학습 모델의 경우 레이블(label)이 부여되지 않은 학습 데이터를 기초로 비지도 학습을 통해 구축될 수 있으며, 이러한 일반성을 가진 학습 모델은 각 클라이언트(110) 상에서의 추가적인 학습을 통해 각 카메라에 대한 특정성이 부여될 수 있다. 학습 모델 구축부(330)는 자율 주행에 필요한 깊이 추정, 모션 추정 및 파라미터 추정 등의 동작을 수행하는 학습 모델들을 각각 독립적으로 구축할 수 있다.In particular, in the case of 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.
일 실시예에서, 학습 모델 구축부(330)는 영상을 기초로 깊이 및 모션을 독립적으로 추정하고, 영상을 기초로 고유 파라미터를 추정하거나 또는 학습 데이터에서 고유 파라미터를 추출하며, 학습 데이터에서 IMU, GPS 및 차량 속도를 추출할 수 있다. 학습 모델 구축부(330)는 깊이, 모션, 고유 파라미터, IMU, GPS 및 차량 속도를 기초로 손실 함수(loss function)를 최소화하는 방향으로 학습을 반복적으로 수행할 수 있다. 상기와 같이 학습 모델 구축부(330)에 의해 수행되는 구체적인 학습 동작은 서버(130) 상에서 일반화된 학습 모델을 구축하는 과정에서 활용될 수 있으며, 클라이언트(110) 상에서 클라이언트 전용의 특정화된 학습 모델을 구축하는 과정에서 활용될 수도 있다. 이에 대한 구체적인 설명은 도 10을 통해 보다 자세히 설명한다.In one embodiment, the learning model building unit 330 independently estimates depth and motion based on an image, estimates a unique parameter based on the image or extracts a unique parameter from training data, and from the training data, an IMU, GPS and vehicle speed can be extracted. The learning model builder 330 may repeatedly perform learning in a direction that minimizes a loss function based on depth, motion, intrinsic parameters, IMU, GPS, and vehicle speed. As described above, the specific learning operation performed by the learning model building unit 330 can be utilized in the process of building a generalized learning model on the server 130, and a specialized learning model dedicated to the client on the client 110. It can also be used in the construction process. A detailed description of this will be described in more detail with reference to FIG. 10 .
일 실시예에서, 학습 모델 구축부(330)는 와핑 손실(warping loss) 및 깊이 스무딩 손실(depth smoothing loss) 간의 합으로 손실 함수를 정의하고, 손실 함수에 속도 감시 손실(velocity supervision loss) 및 모션 정규화 손실(motion regularization loss) 중 적어도 하나를 선택적으로 추가하여 재정의할 수 있다. 이에 대한 구체적인 설명은 도 10을 통해 보다 자세히 설명한다.In one embodiment, the learning model building unit 330 defines a loss function as the sum of a warping loss and a depth smoothing loss, and the velocity supervision loss and motion It can be overridden by selectively adding at least one of the motion regularization losses. A detailed description of this will be described in more detail with reference to FIG. 10 .
학습 모델 배포부(350)는 학습 모델을 클라이언트(110)에 배포(deploy)할 수 있다. 학습 모델 구축부(330)에 의해 구축된 일반화된 학습 모델은 서버(130)에 의해 각 클라이언트(110)에 배포될 수 있다. 배포 과정은 클라이언트(110)와 서버(130) 사이에 연결된 네트워크를 통해 진행될 수 있으며, 학습 모델 배포부(350)는 배포 과정의 전반을 제어할 수 있다. 만약 배포 과정에서 네트워크 연결이 단절되어 중단된 경우 학습 모델 배포부(350)는 배포 정보를 임시 저장할 수 있고, 네트워크 연결이 복원된 경우 중단된 배포 과정을 재개할 수 있다. 학습 모델 배포부(350)는 배포 규칙에 따라 배포 동작을 처리할 수 있으며, 필요에 따라 클라이언트(110)별 배포 규칙을 생성하여 배포 과정에서 독립적으로 적용할 수 있다.The learning model distribution unit 350 may deploy the learning model to the client 110 . The generalized learning model built by the learning model builder 330 may be distributed to each client 110 by the server 130 . The distribution process may proceed through a network connected between the client 110 and the server 130, and the learning model distribution unit 350 may control the overall distribution process. If the distribution process is interrupted due to disconnection of the network connection, the learning model distribution unit 350 may temporarily store distribution information, and resume the discontinued distribution process when the network connection is restored. The learning model distributing unit 350 may process a distributing operation according to the distributing rule, and may generate a distributing rule for each client 110 and apply it independently during the distributing process, if necessary.
딥러닝 분석부(370)는 클라이언트(110)로부터 학습 모델에 해당 클라이언트 상의 로컬 데이터가 적용되어 수행된 딥러닝 분석(deep learning analysis) 결과를 수신할 수 있다. 즉, 클라이언트(110)는 서버(130)로부터 수신한 학습 모델을 기초로 해당 클라이언트 상에서 자체적으로 수집된 로컬 데이터를 이용하여 딥러닝 분석을 수행할 수 있다. 여기에서, 로컬 데이터는 각 클라이언트(110)에서 수집되는 개별 데이터에 해당할 수 있으며, 해당 클라이언트(110)에서 동작하는 센서들의 센서 데이터들을 포함할 수 있다.The deep learning analyzer 370 may receive a deep learning analysis result obtained by applying local data on the corresponding client to the learning model from the client 110 . That is, the client 110 may perform deep learning analysis using local data collected on its own on the client based on the learning model received from the server 130 . Here, the local data may correspond to individual data collected by each client 110 and may include sensor data of sensors operating in the corresponding client 110 .
일 실시예에서, 딥러닝 분석부(370)는 클라이언트(110) 상에서 로컬 데이터로 구성된 학습 데이터를 기초로 학습 모델을 온라인 학습(online-learning)할 수 있다. 클라이언트(110)는 자체적으로 온라인 학습을 수행할 수 있으며, 딥러닝 분석부(370)는 클라이언트(110)와 연동하여 클라이언트(110) 상에서 수행되는 온라인 학습 동작을 제어할 수 있다. 예를 들어, 딥러닝 분석부(370)는 클라이언트(110)로의 모델 배포 과정을 모니터링하고, 클라이언트(110) 상에서의 로컬 데이터의 수집 상황을 모니터링할 수 있다. 딥러닝 분석부(370)는 특정 클라이언트(110)에서의 모델 배포가 완료되고 로컬 데이터가 충분히 수집된 경우 해당 클라이언트(110)에게 온라인 학습에 관한 개시 명령을 전달할 수 있다. 해당 클라이언트(110)는 딥러닝 분석부(370)의 개시 명령에 따라 학습 모델에 관한 온라인 학습을 수행할 수 있다.In one embodiment, the deep learning analysis unit 370 may online-learn a learning model based on training data composed of local data on the client 110 . The client 110 may perform online learning by itself, and the deep learning analysis unit 370 may control an online learning operation performed on the client 110 by interworking with the client 110 . For example, the deep learning analysis unit 370 may monitor a process of distributing a model to the client 110 and monitor a collection situation of local data on the client 110 . The deep learning analyzer 370 may deliver an online learning start command to the client 110 when model distribution in the specific client 110 is completed and local data is sufficiently collected. The corresponding client 110 may perform online learning on the learning model according to the start command of the deep learning analysis unit 370 .
한편, 클라이언트(110)는 자체적인 제어 프로시저에 따라 온라인 학습을 독립적으로 수행할 수 있으며, 필요한 경우 딥러닝 분석부(370)에게 온라인 학습의 개시와 종료에 관한 정보를 전달할 수 있다.Meanwhile, the client 110 may independently perform online learning according to its own control procedure, and may transmit information about the start and end of online learning to the deep learning analyzer 370 if necessary.
일 실시예에서, 딥러닝 분석부(370)는 딥러닝 분석 결과가 해당 클라이언트(110) 상의 애플리케이션(application)에 적용되어 수행된 애플리케이션 결과를 클라이언트(110)로부터 수신할 수 있다. 여기에서, 애플리케이션은 클라이언트(110) 상에서 동작하는 고유의 응용 기능에 해당할 수 있다. 예를 들어, 애플리케이션은 3D 객체 탐지(3D object detection), 의사 라이다(pseudo-lidar) 등을 포함할 수 있다. 각 클라이언트(110)는 고유의 기능을 수행하는 적어도 하나의 애플리케이션을 실행시킬 수 있으며, 학습 모델을 통해 수행된 딥러닝 분석 결과를 해당 애플리케이션의 실행에 필요한 정보들 중 일부로 제공할 수 있다. 딥러닝 분석부(370)는 클라이언트(110)로부터 딥러닝 분석 결과와 함께 해당 딥러닝 분석 결과가 적용된 애플리케이션의 수행 결과 즉, 애플리케이션 결과를 수신할 수 있다.In one embodiment, the deep learning analysis unit 370 may apply the deep learning analysis result to an application on the corresponding client 110 and receive a result of the application from the client 110 . Here, the application may correspond to a unique application function operating on the client 110 . For example, applications may include 3D object detection, pseudo-lidar, and the like. Each client 110 may execute at least one application that performs a unique function, and may provide a deep learning analysis result performed through a learning model as part of information required for execution of the corresponding application. The deep learning analysis unit 370 may receive, from the client 110 , an execution result of an application to which the corresponding deep learning analysis result is applied, that is, an application result, together with a deep learning analysis result.
학습 모델 평가부(390)는 딥러닝 분석 결과를 기초로 학습 모델의 안정성을 평가할 수 있다. 학습 모델 평가부(390)는 각 클라이언트(110)로부터 수집된 딥러닝 분석 결과를 기초로 서버(130) 상에서 수행되는 학습 과정을 평가하거나 학습에 사용되는 학습 알고리즘의 평가 및 기 구축된 학습 모델에 대한 평가 등을 수행할 수 있다. 학습 모델 평가부(390)는 학습 모델 자체의 안정성을 평가하기 위한 평가 기준이 존재하지 않기 때문에 클라이언트(110)에서 수행되는 애플리케이션의 수행 결과를 평가 기준으로 활용할 수 있다. 즉, 학습 모델 평가부(390)는 애플리케이션의 수행 결과에 따라 학습 모델의 안전성을 간접적으로 평가함으로써 해당 학습 모델의 계속적인 사용 여부 또는 해당 학습 모델의 갱신 여부 등을 결정할 수 있다.The learning model evaluation unit 390 may evaluate the stability of the learning model based on the deep learning analysis result. The learning model evaluation unit 390 evaluates the learning process performed on the server 130 based on the deep learning analysis result collected from each client 110 or evaluates the learning algorithm used for learning and evaluates the previously built learning model. evaluation can be performed. Since there is no evaluation criterion for evaluating the stability of the learning model itself, the learning model evaluation unit 390 may use the performance result of the application executed in the client 110 as an evaluation criterion. That is, the learning model evaluation unit 390 indirectly evaluates the safety of the learning model according to the execution result of the application, thereby determining whether to continuously use the learning model or update the learning model.
일 실시예에서, 학습 모델 평가부(390)는 애플리케이션 결과를 기초로 애플리케이션의 정확도(accuracy)를 산출하고 정확도에 따라 학습 모델의 안정성을 평가할 수 있다. 예를 들어, 학습 모델 평가부(390)는 클라이언트(110) 상에서 수행된 3D 객체 탐지(3D object detection)의 결과를 수신하고 이를 기초로 객체 탐지의 정확도를 평가할 수 있다. 여기에서, 정확도(accuracy)는 정답(Ground Truth)과 예측 결과(Prediction) 간의 비교를 통해 산출될 수 있다. In an embodiment, the learning model evaluation unit 390 may calculate the accuracy of the application based on the application result and evaluate the stability of the learning model according to the accuracy. For example, the learning model evaluation unit 390 may receive a result of 3D object detection performed on the client 110 and evaluate the accuracy of object detection based thereon. Here, accuracy may be calculated through comparison between ground truth and prediction results.
보다 구체적으로, 이미지 데이터에 기반한 객체 탐지의 경우 이미지 내에 존재하는 객체들을 식별하고 클래스를 분류하는 과정에 해당할 수 있다. 학습 모델 평가부(390)는 객체 탐지의 결과로서 수신한 객체 정보에서 객체의 바운딩 박스(bounding box)를 검출하고 해당 바운딩 박스 내부의 식별된 객체의 클래스가 실제 클래스와 일치하는지를 결정할 수 있다. 만약 클래스가 일치하지 않는 경우 해당 객체 탐지는 실패로 분류될 수 있다. 만약 클래스가 일치하는 경우 학습 모델 평가부(390)는 식별된 객체의 바운딩 박스와 실제 바운딩 박스를 서로 비교하여 객체 탐지의 정확도를 산출할 수 있다. 이때, 정밀도 산출을 위해 IoU(Intersection Over Union), 정밀도(Precision), 재현율(Recall), AP(Average Precision), mAP(mean Average Precision) 등이 활용될 수 있다.More specifically, object detection based on image data may correspond to a process of identifying objects present in an image and classifying them. The learning model evaluator 390 may detect a bounding box of an object from object information received as a result of object detection and determine whether a class of an identified object within the bounding box matches an actual class. If the classes do not match, the corresponding object detection may be classified as a failure. If the classes match, the learning model evaluation unit 390 may calculate object detection accuracy by comparing the bounding box of the identified object with the actual bounding box. In this case, Intersection Over Union (IoU), Precision, Recall, Average Precision (AP), Mean Average Precision (mAP), and the like may be used to calculate precision.
제어부(도 3에 미도시함)는 서버(130)의 전체적인 동작을 제어하고, 학습 데이터 수신부(310), 학습 모델 구축부(330), 학습 모델 배포부(350), 딥러닝 분석부(370) 및 학습 모델 평가부(390) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The controller (not shown in FIG. 3) controls the overall operation of the server 130, and includes the learning data receiving unit 310, the learning model building unit 330, the learning model distribution unit 350, and the deep learning analysis unit 370. ) and a control flow or data flow between the learning model evaluation unit 390 may be managed.
도 4는 도 1에 도시된 클라이언트에서 수행되는 동작의 일 실시예를 설명하는 순서도이다.4 is a flowchart illustrating an embodiment of an operation performed in the client shown in FIG. 1;
도 4를 참조하면, 클라이언트(110)는 내부에 설치된 비전 센서를 통해 이미지 데이터를 획득할 수 있다(S410). 또한, 클라이언트(110)는 추가 센서들을 통해 연관 데이터를 획득할 수 있다(S420). 이때, 연관 데이터에는 카메라 고유 파라미터(camera intrinsic), IMU, 차량 속도(vehicle velocity) 등이 포함될 수 있다. 클라이언트(110)는 이미지 데이터와 연관 데이터를 패키징하여 학습 데이터를 생성할 수 있다(S430). 이후, 클라이언트(110)에서 패키징된 학습 데이터는 서버(130)로 전송되어 모델 학습 과정에 사용될 수 있다.Referring to FIG. 4 , the client 110 may acquire image data through a vision sensor installed therein (S410). Also, the client 110 may acquire related data through additional sensors (S420). In this case, the related data may include a camera intrinsic parameter, an IMU, vehicle velocity, and the like. The client 110 may generate learning data by packaging image data and related data (S430). Thereafter, the training data packaged in the client 110 may be transmitted to the server 130 and used in a model learning process.
한편, 학습 데이터에 대한 패키징 동작은 클라이언트(110)에 의해 수행될 수 있으나, 반드시 이에 한정되지 않으며, 서버(130)에 의해 수행될 수도 있다. 이 경우, 서버(130)는 클라이언트(110)로부터 이미지 데이터와 연관 데이터를 순차적으로 수신한 후 학습 데이터를 패키징하는 동작을 수행할 수 있다.Meanwhile, the packaging operation for the learning data may be performed by the client 110, but is not necessarily limited thereto, and may be performed by the server 130. In this case, the server 130 may sequentially receive image data and related data from the client 110 and then package the learning data.
도 5는 본 발명에 따른 시각 정보 처리 시스템의 기본 동작을 설명하는 순서도이다.5 is a flowchart illustrating the basic operation of the visual information processing system according to the present invention.
도 5를 참조하면, 시각 정보 처리 시스템(100)은 클라이언트(110)와 서버(130) 간의 연동을 통해 동작할 수 있다. 보다 구체적으로, 서버(130)는 클라이언트(110)로부터 수집한 데이터들을 기반으로 학습 데이터를 준비할 수 있다(S510). 이후, 서버(130)는 학습 데이터를 학습하여 기계학습 모델을 구축할 수 있다(S520). 서버(130) 상에서 이루어지는 학습 동작은 레이블(label)이 부여되지 않은 데이터를 이용하는 비지도 학습을 통해 수행될 수 있으며, 이를 통해 클라이언트(110)의 이미지 센서와 운영 환경에 독립적인 일반화된 모델이 구축될 수 있다. 서버(130)에 의해 구축된 기계학습 모델은 각 클라이언트(110)에게 배포되어 클라이언트(110)의 이미지 센서와 운영 환경에 맞게 튜닝(tuning)될 수 있다.Referring to FIG. 5 , the visual information processing system 100 may operate through interworking between a client 110 and a server 130 . More specifically, the server 130 may prepare learning data based on data collected from the client 110 (S510). Thereafter, the server 130 may build a machine learning model by learning the learning data (S520). The learning operation performed on the server 130 may be performed through unsupervised learning using unlabeled data, and through this, a generalized model independent of the image sensor of the client 110 and the operating environment is built. It can be. The machine learning model built by the server 130 may be distributed to each client 110 and tuned to suit the image sensor and operating environment of the client 110 .
즉, 기계학습 모델이 배포된 클라이언트(110)는 내부의 센서들로부터 센서 데이터를 수집할 수 있으며(S540), 배포된 기계학습 모델에 센서 데이터를 적용할 수 있다(S550). 이후, 클라이언트(110)는 모델의 결과를 클라이언트(110) 상에서 동작하는 애플리케이션(application)에 전달하여 고유 동작을 수행할 수 있다.That is, 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 .
도 6은 도 1에 도시된 클라이언트와 서버에서 수행되는 동작의 일 실시예를 설명하는 순서도이다.FIG. 6 is a flowchart illustrating an embodiment of an operation performed by the client and server shown in FIG. 1 .
도 6을 참조하면, 클라이언트(110)는 센서들로부터 센서 데이터를 수신할 수 있으며(S610), 수신된 센서 데이터에 대한 전처리(pre-processing) 동작을 수행할 수 있다(S620). 예를 들어, 이미지 데이터의 경우 증강(augmentation), 정규화(normalization), 스케일링(scaling) 등의 전처리 과정이 적용될 수 있다. 클라이언트(110)는 센서 데이터에 대한 전처리를 통해 모델에 적용 가능한 형태의 데이터를 획득할 수 있다.Referring to FIG. 6 , the client 110 may receive sensor data from sensors (S610) and may perform a pre-processing operation on the received sensor data (S620). For example, in the case of image data, preprocessing processes such as augmentation, normalization, and scaling may be applied. The client 110 may obtain data in a form applicable to the model through preprocessing of sensor data.
또한, 클라이언트(110)는 전처리 후 데이터를 기계학습 모델에 입력하여 딥러닝 분석을 수행할 수 있다(S630). 여기에서, 기계학습 모델은 서버(130) 상에서 학습된 모델로서 서버(130)에 의해 클라이언트(110)로 배포된 모델에 해당할 수 있다. 딥러닝 분석은 이미지 데이터의 시각적 속성들을 추론하는 동작을 포함할 수 있다. 예를 들어, 자율주행 차량에 설치되어 동작하는 클라이언트(110)의 경우 이미지에 대한 딥러닝 분석을 통해 깊이(depth), 자세(pose) 및 고유 파라미터(intrinsic)에 관한 추정 결과를 딥러닝 분석 결과로서 생성할 수 있다.In addition, the client 110 may perform deep learning analysis by inputting the preprocessed data to a machine learning model (S630). Here, the machine learning model is a model learned on the server 130 and may correspond to a model distributed by the server 130 to the client 110 . Deep learning analysis may include inferring visual properties of image data. For example, in the case of the client 110 installed and operating in an autonomous vehicle, estimation results on depth, pose, and intrinsic parameters are obtained through deep learning analysis on images as a result of deep learning analysis. can be created as
클라이언트(110)는 딥러닝 분석 결과를 내부 애플리케이션(application)에 전달할 수 있으며(S640), 애플리케이션의 동작에 따른 결과를 응용 결과로서 획득할 수 있다. 이후, 클라이언트(110)는 딥러닝 분석 결과와 응용 결과를 서버(130)에 전달할 수 있다(S650). 서버(130)는 클라이언트(110)로부터 수신한 데이터를 이용하여 딥러닝 모델의 안정성을 평가할 수 있다(S660). 즉, 클라이언트(110) 상에서 수행된 응용 알고리즘의 결과를 이용하여 딥러닝 결과를 간접적으로 평가할 수 있으며, 이에 따라 모델의 안정성을 확인할 수 있게 된다.The client 110 may deliver the deep learning analysis result to an internal application (S640), and obtain a result according to the operation of the application as an application result. Thereafter, the client 110 may transmit the deep learning analysis result and the application result to the server 130 (S650). The server 130 may evaluate the stability of the deep learning model using the data received from the client 110 (S660). That is, the deep learning result can be indirectly evaluated using the result of the application algorithm performed on the client 110, and thus the stability of the model can be confirmed.
도 7은 도 1에 도시된 클라이언트에서 수행되는 온라인 학습 동작을 설명하는 순서도이다.FIG. 7 is a flowchart illustrating an online learning operation performed by the client shown in FIG. 1 .
도 7을 참조하면, 서버(130)에 의해 학습된 모델은 각 클라이언트(110)로 배포될 수 있다. 클라이언트(110)는 배포된 모델을 그대로 활용할 수 있으나, 필요에 따라 해당 이미지 센서와 운용 환경에 맞춰 튜닝하는 추가적인 학습을 수행할 수 있다. 예를 들어, 도 7에서, 클라이언트(110)는 모델에 대해 자체 센서로부터 수신된 센서 데이터를 활용하여 학습 데이터를 준비할 수 있고(S710), 이를 기초로 온라인 학습(online-learning)을 수행할 수 있다(S720).Referring to FIG. 7 , a model learned by the server 130 may be distributed to each client 110 . The client 110 may utilize the distributed model as it is, but may perform additional learning for tuning according to the corresponding image sensor and operating environment, if necessary. For example, in FIG. 7 , the client 110 may prepare training data for a model by utilizing sensor data received from its own sensor (S710), and perform online-learning based on this (S710). It can (S720).
여기에서, 온라인 학습은 데이터를 순차적으로 작은 학습 단위(mini batch)로 적용하여 모델을 학습하는 방법에 해당할 수 있다. 클라이언트(110)는 서버(130)로부터 배포 받은 모델에 대해 자체적으로 수집한 데이터를 적용하는 온라인 학습을 통해 일반성을 가진 모델을 클라이언트(110)의 고유 특성을 가진 모델로 튜닝할 수 있다. Here, online learning may correspond to a method of learning a model by sequentially applying data in mini batches. The client 110 may tune a model having generality into a model having unique characteristics of the client 110 through online learning in which data collected by itself is applied to the model distributed from the server 130 .
이후, 클라이언트(110)는 센서들로부터 센서 데이터를 수신한 다음(S730), 온라인 학습을 통해 최종 구축된 모델에 센서 데이터를 적용할 수 있다(S740). 클라이언트(110)는 모델의 결과물을 딥러닝 분석 결과로서 응용(application)에 전달하여 고유의 응용 동작을 수행할 수 있다(S750).Thereafter, the client 110 may receive sensor data from the sensors (S730) and then apply the sensor data to a model finally built through online learning (S740). The client 110 may transmit the result of the model to the application as a deep learning analysis result and perform a unique application operation (S750).
도 8은 도 1에 도시된 클라이언트에서 수행되는 추론 과정을 설명하는 도면이다.FIG. 8 is a diagram for explaining an inference process performed by the client shown in FIG. 1 .
도 8을 참조하면, 클라이언트(110)는 이미지(images)와 연관 센서 데이터(related sensor data)를 수집하고 전처리(pre-processing)된 데이터를 각 모델에 적용하여 시각적 속성을 추정할 수 있다. 구체적으로, 클라이언트(110)는 깊이 추정 모델(Depth Estimation Model)을 통해 깊이(Depth)를 추정할 수 있고, 모션 추정 모델(Motion Estimation Model)을 통해 모션(Motion)을 추정할 수 있으며, 고유 파라미터 추정 모델(Camera Intrinsic Estimation Model)을 통해 카메라 고유 파라미터(Camera Intrinsic)을 추정할 수 있다.Referring to FIG. 8 , the client 110 may estimate visual properties by collecting images and related sensor data and applying the pre-processed data to each model. Specifically, the client 110 may estimate depth through a depth estimation model, estimate motion through a motion estimation model, and unique parameters. A camera-specific parameter (Camera Intrinsic) may be estimated through an estimation model (Camera Intrinsic Estimation Model).
이후, 클라이언트(110)는 추정된 값들을 딥러닝 분석 결과로서 응용(Application)에 전달하여 애플리케이션 결과(Application Output)를 획득할 수 있다. 클라이언트(110)를 통해 생성된 딥러닝 분석 결과와 애플리케이션 결과는 서버(130)에 전달되어 모델 평가에 활용될 수 있다.Thereafter, the client 110 may transfer the estimated values to the application as a deep learning analysis result to obtain an application output. The deep learning analysis results and application results generated through the client 110 may be transmitted to the server 130 and used for model evaluation.
도 9는 본 발명에 따른 시각 정보 처리 시스템에서 수행되는 학습 과정을 설명하는 도면이다.9 is a diagram explaining a learning process performed in the visual information processing system according to the present invention.
도 9를 참조하면, 시각 정보 처리 시스템(100)은 클라이언트(110) 또는 서버(130) 상에서 모델을 구축하는 학습(learning) 과정을 수행할 수 있다. 즉, 서버(130)는 다양한 클라이언트(110)들로부터 수신한 데이터를 학습하여 일반화된 기계학습 모델을 구축할 수 있고, 이를 다시 각 클라이언트(110)에게 배포할 수 있다. 또한, 클라이언트(110)는 배포된 모델을 각 특성에 맞춰 온라인 학습하여 클라이언트 전용 모델을 구축할 수 있다.Referring to FIG. 9 , the visual information processing system 100 may perform a learning process of building a model on the client 110 or the server 130 . That is, the server 130 may build a generalized machine learning model by learning data received from various clients 110, and may distribute it to each client 110 again. In addition, the client 110 may build a client-only model by online learning the distributed model according to each characteristic.
도 9의 경우, 클라이언트(110) 또는 서버(130) 상에서 이루어지는 학습 과정이 도시되어 있다. 학습 과정은 입력으로 수신되는 이미지들로부터 다양한 시각적 속성들을 추론하여 출력으로 생성하는 과정에서 기 정의된 손실 함수(Loss function)의 손실(Loss)을 최소화하는 방향으로 동작할 수 있으며, 옵티마이저(optimizer)에 의해 모델의 파라미터들이 반복적으로 갱신됨으로써 학습이 이루어질 수 있다.In the case of FIG. 9 , a learning process performed on the client 110 or the server 130 is shown. The learning process may operate in the direction of minimizing the loss of a predefined loss function in the process of inferring various visual properties from images received as input and generating them as output, and the optimizer ), learning can be achieved by repeatedly updating the parameters of the model.
깊이 추정 모델(Depth Estimation Model)과 모션 추정 모델(Ego-motion Estimation Model), 파라미터 추정 모델(Intrinsic Estimation Model)은 인접한 시간 △t의 차이를 가지는 두 개 이상의 이미지(It, It+1) 사이의 기하학적 관계를 비지도 학습하여 구축될 수 있다. 비지도 학습을 진행하기 위해서는 손실 함수(Loss function)를 이용하여 손실(Loss)을 정의하여야 하며, 해당 손실을 줄이는 방향으로 옵티마이저가 동작할 수 있다. 결과적으로, 손실이 줄어드는 과정에서 이전 모델의 각 파라미터들이 누적적으로 학습될 수 있다.Depth Estimation Model, Ego-motion Estimation Model, and Intrinsic Estimation Model are two or more images (I t , I t+1 ) with a difference in time Δt adjacent to each other. It can be constructed by unsupervised learning of the geometric relationship between In order to proceed with unsupervised learning, a loss must be defined using a loss function, and the optimizer can operate in a direction to reduce the loss. As a result, each parameter of the previous model can be cumulatively learned in the process of reducing the 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을 참조하여 설명한다.Meanwhile, the most common example of an optimizer may be a gradient descent method (eg, Adam optimizer, RMS prop, etc.). In addition, the loss function is a Reprojection Error loss function, SSIM loss function, Depth smoothing loss function, Velocity Supervision loss function, Motion regularization A loss function (Motion Regularization loss function) and the like may be included. Here, the sum of the reprojection error loss and the SSIM loss may correspond to warping loss. In the actual learning process, the inputs of each loss may be set differently, and only some of the models to be learned may be used, and some operations may be changed for use. More specific embodiments will be described with reference to FIG. 10 .
도 10a 내지 10c는 본 발명에 따른 시각 정보 처리 시스템에서 수행되는 학습 과정의 다양한 실시예들을 설명하는 도면이다.10A to 10C are diagrams for explaining various embodiments of a learning process performed in the visual information processing system according to the present invention.
시각 정보 처리 시스템(100)에서 수행되는 학습 과정은 기 정의된 손실 함수의 손실들을 최소화하는 방향으로 수행될 수 있다. 여기에서, 손실 함수(Loss function)는 다양한 손실 함수들의 합으로 정의될 수 있다. 예를 들어, Loss function = 1 + 2 + 3 + 4 + 5와 같이 정의될 수 있으며, 각 번호의 손실 함수는 아래와 같다.A learning process performed in the visual information processing system 100 may be performed in a direction of minimizing losses of a predefined loss function. Here, the loss function may be defined as the sum of various loss functions. For example, it can be defined as loss function = 1 + 2 + 3 + 4 + 5, and the loss function of each number is as follows.
1: Reprojection Error loss function, 2: SSIM loss function, 3: Depth smoothing loss function, 4: velocity Supervision loss function, 5: Motion Regularization loss function1: 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) 과정을 기준으로 설명한다.In addition, the learning process in the direction of minimizing the loss function includes a forward pass for generating source images from a target image and a back pass for generating a target image from source images ( Backward pass) process may be included. Since the forward propagation and back propagation processes are mutually symmetric, the following will be described based on the forward propagation process.
또한, 구체적인 설명에 사용되는 변수들은 아래와 같이 정의될 수 있다.In addition, variables used in the detailed description may be defined as follows.
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 Pinhole Camera Intrinsic: K ∈ R 3×3 ; Grid: G ∈ R Height×Width×3 , if G is in pixel coordinates, G ∈ R Height×Width×2 ; Depth: D ∈ R Height×Width×1 ; Rotation: R ∈ R 3×3 ; Translation: T ∈ R 3×1 ; Image: I ∈ R Height×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)을 모델에 학습시킬 수 있다.Referring to FIG. 10A , the first learning method may correspond to the most basic learning method among learning methods performed on the client 110 or the server 130 . That is, the first learning method may be a method of learning a depth model and an ego-motion model. Accordingly, the corresponding two models can be learned using only warping loss and depth smoothing loss. Meanwhile, in the first learning method, absolute scale translation may be performed for IMU, GPS, and Velocity. In the case of learning the above two models, due to physical limitations, one camera (monocular) depth and ego-motion can only be acquired up to scale, and to solve this, absolute Through scale conversion, an absolute scale for depth and egomotion can be trained on the model.
이때, 재투영 오류 손실(Reprojection Error Loss)은 아래와 같이 산출될 수 있다.At this time, the reprojection error loss (Reprojection Error Loss) can be calculated as follows.
Figure PCTKR2022004580-appb-img-000001
Figure PCTKR2022004580-appb-img-000001
재투영 오류(Reprojection Error)는 소스 이미지(source image)를 RT(rotation & translation)하여 합성 타겟 이미지(synthesis target image)를 생성하는 경우 원래의 타겟 이미지(target image)와 합성 타겟 이미지 간의 차이에 대한 오류(error)에 해당할 수 있다. 재투영 오류는 제2 및 제3 학습 방법에도 소정의 변경이 이루어진 상태에서 동일한 의미로 적용될 수 있다.Reprojection Error refers to the difference between the original target image and the synthesized target image when a source image is rotated and translated (RT) to generate a synthesis target image. It may correspond to an error. The reprojection error may be applied in the same meaning to the second and third learning methods in a state in which a predetermined change is made.
구조적 유사 오류(Structural Similarity Error, SSIM Error)은 두 입력 영상의 휘도, 대비, 구조 간의 차이에 관한 오류에 해당할 수 있으며, 아래와 같이 산출될 수 있다. SSIM 오류는 제2 및 제3 학습 방법에도 동일하게 포함될 수 있다.Structural Similarity Error (SSIM Error) may correspond to an error related to the difference between luminance, contrast, and structure of two input images, and may be calculated as follows. SSIM errors may equally be included in the second and third learning methods.
Figure PCTKR2022004580-appb-img-000002
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
이다.
where x and y are pixel positions,
Figure PCTKR2022004580-appb-img-000003
,
Figure PCTKR2022004580-appb-img-000004
,
Figure PCTKR2022004580-appb-img-000005
am. Also, Luminance
Figure PCTKR2022004580-appb-img-000006
, Contrast
Figure PCTKR2022004580-appb-img-000007
, Structure
Figure PCTKR2022004580-appb-img-000008
am.
깊이 스무딩 오류(Depth Smoothing Error)는 같은 장면(scene)에서 깊이와 이미지를 얻었을 때, 깊이의 경사(gradient)를 이미지의 경사를 이용해서 완화해주는 오류에 해당할 수 있으며, 아래와 같이 산출될 수 있다. 깊이 스무딩 오류는 제2 및 제3 학습 방법에도 동일하게 포함될 수 있다.Depth smoothing error may correspond to an error that mitigates the gradient of depth using the gradient of the image when the depth and image are obtained from the same scene, and can be calculated as follows. there is. The depth smoothing error may be equally included in the second and third learning methods.
Figure PCTKR2022004580-appb-img-000009
Figure PCTKR2022004580-appb-img-000009
속도 감시 오류(Velocity supervision Error)는 절대 변환(absolute translation)의 크기(magnitude)와 에고모션의 변환(translation)의 스케일(scale)의 차이에 관한 오류에 해당할 수 있으며, 아래와 같이 산출될 수 있다. 속도 감시 오류는 제2 및 제3 학습 방법에 선택적으로 포함될 수 있다.Velocity supervision error may correspond to an error related to the difference between the magnitude of absolute translation and the scale of translation of egomotion, and may be calculated as follows . A speed monitoring error may be selectively included in the second and third learning methods.
Figure PCTKR2022004580-appb-img-000010
Figure PCTKR2022004580-appb-img-000010
도 10b를 참조하면, 제1 학습 방법과 비교하면 제2 학습 방법은 에고모션 추정 모델(Ego-motion Estimation Model)의 출력에 모션벡터(Motion-vector)가 추가될 수 있다. 이때, 에고모션은 강체운동(rigid-motion)으로서 카메라의 움직임에 연관된 모션에 해당할 수 있다. 이와 달리, 모션벡터(Motion-vector)는 비강체운동(non-rigid motion)으로서 카메라의 움직임과 연관되지 않는 모션에 해당할 수 있다. 예를 들어, 영상에서 보이는 건물의 움직임은 강체운동이고, 차량 또는 사람의 움직임은 비강체운동에 해당할 수 있다.Referring to FIG. 10B , compared to the first learning method, the second learning method may add a motion-vector to the output of the ego-motion estimation model. In this case, the ego-motion is a rigid-motion, and may correspond to a motion related to the movement of the camera. In contrast, the motion-vector may correspond to motion not related to the motion of the camera as a non-rigid motion. For example, a motion of a building seen in an image may correspond to a rigid body motion, and a motion of a vehicle or a person may correspond to a non-rigid motion.
따라서, 제1 학습 방법에서 에고모션의 translation T ∈ R3×1 이면, 제2 학습 방법에서는 에고모션, 모션벡터 모두 T ∈ RH×W×3 일 수 있다.Therefore, if the translation T ∈ R 3×1 of ego motion in the first learning method, both of the ego motion and motion vector may be T ∈ R H×W×3 in the second learning method.
제2 학습 방법에서 재투영 오류 손실은 아래와 같이 산출될 수 있다.In the second learning method, the reprojection error loss can be calculated as follows.
Figure PCTKR2022004580-appb-img-000011
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)이다.
From here,
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 학습 방법에 선택적으로 포함될 수 있다.Motion regularization loss may correspond to the sum of group loss and sparsity loss. The group loss plays a role of minimizing the change in non-rigid motion, and the sparse loss can play a role of making the motion have an almost constant size in the non-rigid motion. The motion normalization loss may be calculated as follows and may be optionally included in the third learning method.
Figure PCTKR2022004580-appb-img-000015
Figure PCTKR2022004580-appb-img-000015
여기에서, T:= Motion Translation Map ∈ RH×W×3 이고, <|T|>:= mean of T 이다.Here, T:= Motion Translation Map ∈ R H×W×3 , and <|T|>:= mean of T.
도 10c를 참조하면, 제3 학습 방법은 고유 파라미터 추정 모델(Intrinsic Estimation Model)과 그 결과물인 카메라 고유 파라미터(Camera Intrinsic)를 사용할 수 있다. 제1 및 제2 학습 방법에서는 실제 카메라에 주어지는 고유 파라미터(Intrinsic)에 관한 정보를 사전에 확보하여야 하는 반면, 제3 학습 방법과 같이 고유 파라미터 추정 모델을 사용하는 경우에는 영상만으로 고유 파라미터를 추정할 수 있다.Referring to FIG. 10C , the third learning method may use an intrinsic parameter estimation model and a camera intrinsic parameter as a result thereof. In the first and second learning methods, information on the intrinsic parameters given to the actual camera must be secured in advance, whereas in the case of using the intrinsic parameter estimation model as in the third learning method, the intrinsic parameters can be estimated only with the image. can
제3 학습 방법에서 재투영 오류 손실은 아래와 같이 산출될 수 있다.In the third learning method, the reprojection error loss can be calculated as follows.
Figure PCTKR2022004580-appb-img-000016
Figure PCTKR2022004580-appb-img-000016
여기에서, K는 고유 파라미터 추정 모델(Intrinsic Estimation Model)에서 추정되는 카메라 고유 파라미터(Camera Intrinsic Parameter)이다.Here, K is a camera intrinsic parameter estimated by an intrinsic parameter estimation model.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art can variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the claims below. You will understand that it can be done.
[부호의 설명][Description of code]
100: 시각 정보 처리 시스템100: visual information processing system
110: 클라이언트 130: 서버110: client 130: server
210: 비전 센서들 220: 추가 센서들210 vision sensors 220 additional sensors
230: 네트워크 인터페이스 240: 인공지능 프로세서230: network interface 240: artificial intelligence processor
250: 이미지 전처리 프로세서 260: 딥러닝 네트워크250: image pre-processing processor 260: deep learning network
310: 학습 데이터 수신부 330: 학습 모델 구축부310: learning data receiving unit 330: learning model building unit
350: 학습 모델 배포부 370: 딥러닝 분석부350: learning model distribution unit 370: deep learning analysis unit
390: 학습 모델 평가부390: learning model evaluation unit

Claims (8)

  1. 클라이언트로부터 이미지 데이터를 포함하는 학습 데이터를 수신하는 단계;Receiving training data including image data from a client;
    상기 학습 데이터를 학습하여 학습 모델- 상기 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현됨 -을 구축하는 단계;A learning model is built by learning the training data - the learning model is implemented to receive an image and estimate visual properties including depth, motion and intrinsic parameters. doing;
    상기 학습 모델을 상기 클라이언트에 배포(deploy)하는 단계;deploying the learning model to the client;
    상기 클라이언트로부터 상기 학습 모델에 해당 클라이언트 상의 로컬 데이터가 적용되어 수행된 딥러닝 분석(deep learning analysis) 결과를 수신하는 단계; 및receiving, from the client, a result of deep learning analysis performed by applying local data on the corresponding client to the learning model; and
    상기 딥러닝 분석 결과를 기초로 상기 학습 모델의 안정성을 평가하는 단계;를 포함하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.A visual information processing method for estimating visual attributes in autonomous driving, comprising: evaluating stability of the learning model based on the deep learning analysis result.
  2. 제1항에 있어서, 상기 학습 데이터를 수신하는 단계는The method of claim 1, wherein receiving the learning data
    상기 클라이언트 상에서 상기 이미지 데이터의 생성 시점에 동기화되고 상기 고유 파라미터, IMU, GPS 및 차량 속도를 포함하는 연관 데이터(related data)가 수집되는 단계; 및collecting related data on the client, which is synchronized at a time of generation of the image data and includes the unique parameter, IMU, GPS, and vehicle speed; and
    상기 클라이언트 상에서 상기 연관 데이터가 상기 이미지 데이터와 함께 패키징(packaging)되어 상기 학습 데이터로 생성되는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.and packaging the related data together with the image data on the client to generate the learning data.
  3. 제1항에 있어서, 상기 학습 모델을 구축하는 단계는The method of claim 1, wherein the step of building the learning model
    상기 영상을 기초로 상기 깊이 및 상기 모션을 독립적으로 추정하는 단계;independently estimating the depth and the motion based on the image;
    상기 영상을 기초로 상기 고유 파라미터를 추정하거나 또는 상기 학습 데이터에서 상기 고유 파라미터를 추출하는 단계;estimating the eigenparameter based on the image or extracting the eigenparameter from the training data;
    상기 학습 데이터에서 IMU, GPS 및 차량 속도를 추출하는 단계; 및Extracting IMU, GPS and vehicle speed from the learning data; and
    상기 깊이, 상기 모션, 상기 고유 파라미터, 상기 IMU, 상기 GPS 및 상기 차량 속도를 기초로 손실 함수(loss function)를 최소화하는 방향으로 학습을 반복 수행하는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.and repeatedly performing learning in a direction that minimizes a loss function based on the depth, the motion, the intrinsic parameter, the IMU, the GPS, and the vehicle speed. A visual information processing method for visual property estimation.
  4. 제3항에 있어서, 상기 학습 모델을 구축하는 단계는The method of claim 3, wherein the step of building the learning model
    와핑 손실(warping loss) 및 깊이 스무딩 손실(depth smoothing loss) 간의 합으로 상기 손실 함수를 정의하는 단계; 및defining the loss function as a sum of a warping loss and a depth smoothing loss; and
    상기 손실 함수에 속도 감시 손실(velocity supervision loss) 및 모션 정규화 손실(motion regularization loss) 중 적어도 하나를 선택적으로 추가하여 재정의하는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.Redefining the loss function by selectively adding at least one of a velocity supervision loss and a motion regularization loss to the loss function. processing method.
  5. 제1항에 있어서, 상기 딥러닝 분석 결과를 수신하는 단계는The method of claim 1, wherein receiving the deep learning analysis result
    상기 클라이언트 상에서 상기 로컬 데이터로 구성된 학습 데이터를 기초로 상기 학습 모델을 온라인 학습(online-learning)하는 단계를 포함하는 것을 특징으로 하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.The visual information processing method for estimating visual attributes in autonomous driving, characterized in that it comprises the step of online-learning the learning model based on the learning data composed of the local data on the client.
  6. 제1항에 있어서, 상기 딥러닝 분석 결과를 수신하는 단계는The method of claim 1, wherein receiving the deep learning analysis result
    상기 딥러닝 분석 결과가 상기 해당 클라이언트 상의 애플리케이션(application)에 적용되어 수행된 애플리케이션 결과를 상기 클라이언트로부터 수신하는 단계를 더 포함하는 것을 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.The method of processing visual information for estimating visual attributes in autonomous driving further comprising receiving a result of an application performed by applying the result of the deep learning analysis to an application on the corresponding client from the client.
  7. 제6항에 있어서, 상기 안정성을 평가하는 단계는The method of claim 6, wherein the step of evaluating the stability
    상기 애플리케이션 결과를 기초로 상기 애플리케이션의 정확도(accuracy)를 산출하고 상기 정확도에 따라 상기 학습 모델의 안정성을 평가하는 단계를 포함하는 것을 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 방법.A visual information processing method for estimating visual attributes in autonomous driving comprising calculating accuracy of the application based on a result of the application and evaluating stability of the learning model according to the accuracy.
  8. 이미지 데이터를 포함하는 학습 데이터를 생성하고 서버로부터 수신한 학습 모델을 온라인 학습하여 로컬 데이터에 관한 딥러닝 분석(deep learning analysis) 결과를 생성하는 클라이언트; 및a client generating learning data including image data and online learning the learning model received from the server to generate a deep learning analysis result for local data; and
    상기 클라이언트로부터 수신한 학습 데이터를 학습하여 상기 학습 모델- 상기 학습 모델은 영상을 수신하여 깊이(depth), 모션(motion) 및 고유 파라미터(intrinsic parameter)를 포함하는 시각적 속성(visual property)을 추정하도록 구현됨 -을 구축하고 상기 클라이언트로부터 수신한 딥러닝 분석 결과를 기초로 상기 학습 모델의 안정성을 평가하는 서버;를 포함하는 자율주행에서의 시각적 속성 추정을 위한 시각 정보 처리 시스템.The learning model by learning learning data received from the client - The learning model receives an image to estimate visual properties including depth, motion, and intrinsic parameters. A visual information processing system for estimating visual attributes in autonomous driving including; implemented - a server that builds and evaluates the stability of the learning model based on the deep learning analysis result received from the client.
PCT/KR2022/004580 2021-08-12 2022-03-31 Method and system for processing visual information for estimating visual properties in autonomous driving WO2023017947A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0106901 2021-08-12
KR1020210106901A KR102399047B1 (en) 2021-08-12 2021-08-12 Method and system for visual properties estimation in autonomous driving

Publications (1)

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

Family

ID=81800883

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/004580 WO2023017947A1 (en) 2021-08-12 2022-03-31 Method and system for processing visual information for estimating visual properties in autonomous driving

Country Status (2)

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200029049A (en) * 2018-04-18 2020-03-17 모빌아이 비젼 테크놀로지스 엘티디. Vehicle environment modeling using camera
KR20210063144A (en) * 2019-11-22 2021-06-01 엘지전자 주식회사 Providing for passenger service according to communication status
KR20210070700A (en) * 2019-12-05 2021-06-15 엘지전자 주식회사 Method of ai learning data inheritance in autonomous driving system
KR20210072362A (en) * 2019-12-09 2021-06-17 엘지전자 주식회사 Artificial intelligence apparatus and method for generating training data for artificial intelligence model

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101758058B1 (en) 2011-01-20 2017-07-17 삼성전자주식회사 Apparatus and method for estimating camera motion using depth information, augmented reality system
KR102502451B1 (en) 2016-01-07 2023-02-22 삼성전자주식회사 Method and apparatus for estimating depth, and method and apparatus for learning distance estimator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200029049A (en) * 2018-04-18 2020-03-17 모빌아이 비젼 테크놀로지스 엘티디. Vehicle environment modeling using camera
KR20210063144A (en) * 2019-11-22 2021-06-01 엘지전자 주식회사 Providing for passenger service according to communication status
KR20210070700A (en) * 2019-12-05 2021-06-15 엘지전자 주식회사 Method of ai learning data inheritance in autonomous driving system
KR20210072362A (en) * 2019-12-09 2021-06-17 엘지전자 주식회사 Artificial intelligence apparatus and method for generating training data for artificial intelligence model

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 (en) 2022-05-18

Similar Documents

Publication Publication Date Title
WO2019098414A1 (en) Method and device for hierarchical learning of neural network, based on weakly supervised learning
WO2019066563A1 (en) Camera pose determination and tracking
WO2011013862A1 (en) Control method for localization and navigation of mobile robot and mobile robot using same
WO2015194864A1 (en) Device for updating map of mobile robot and method therefor
WO2021206284A1 (en) Depth estimation method and system using cycle gan and segmentation
WO2011052826A1 (en) Map generating and updating method for mobile robot position recognition
WO2015194865A1 (en) Device and method for recognizing location of mobile robot by means of search-based correlation matching
WO2018207969A1 (en) Object detecting and classifying method
WO2020046038A1 (en) Robot and control method therefor
WO2021066290A1 (en) Apparatus and method for high-resolution object detection
WO2020075954A1 (en) Positioning system and method using combination of results of multimodal sensor-based location recognition
WO2022039404A1 (en) Stereo camera apparatus having wide field of view, and depth image processing method using same
WO2020189909A2 (en) System and method for implementing 3d-vr multi-sensor system-based road facility management solution
WO2019245320A1 (en) Mobile robot device for correcting position by fusing image sensor and plurality of geomagnetic sensors, and control method
WO2020171605A1 (en) Driving information providing method, and vehicle map providing server and method
WO2020080734A1 (en) Face recognition method and face recognition device
WO2021235682A1 (en) Method and device for performing behavior prediction by using explainable self-focused attention
WO2023017947A1 (en) Method and system for processing visual information for estimating visual properties in autonomous driving
WO2019017720A1 (en) Camera system for protecting privacy and method therefor
WO2022098164A1 (en) Electronic device and control method of electronic device
WO2021182793A1 (en) Method and apparatus for calibrating different types of sensors using single checkerboard
WO2020251151A1 (en) Method and apparatus for estimating user&#39;s pose by using three-dimensional virtual space model
WO2019164057A1 (en) Server, method, and wearable device for supporting maintenance of military equipment in augmented reality technology using correlation rule mining
WO2023182795A1 (en) Artificial intelligence device for detecting defective product on basis of product image, and method therefor
WO2023182796A1 (en) Artificial intelligence device for sensing defective products on basis of product images and method therefor

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