KR101939349B1 - 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법 - Google Patents

기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법 Download PDF

Info

Publication number
KR101939349B1
KR101939349B1 KR1020180079432A KR20180079432A KR101939349B1 KR 101939349 B1 KR101939349 B1 KR 101939349B1 KR 1020180079432 A KR1020180079432 A KR 1020180079432A KR 20180079432 A KR20180079432 A KR 20180079432A KR 101939349 B1 KR101939349 B1 KR 101939349B1
Authority
KR
South Korea
Prior art keywords
images
image
neural network
convolutional
encoder
Prior art date
Application number
KR1020180079432A
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 KR1020180079432A priority Critical patent/KR101939349B1/ko
Application granted granted Critical
Publication of KR101939349B1 publication Critical patent/KR101939349B1/ko
Priority to US16/460,474 priority patent/US10984512B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R1/00Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/20Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/22Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles for viewing an area outside the vehicle, e.g. the exterior of the vehicle
    • B60R1/23Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles for viewing an area outside the vehicle, e.g. the exterior of the vehicle with a predetermined field of view
    • B60R1/27Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles for viewing an area outside the vehicle, e.g. the exterior of the vehicle with a predetermined field of view providing all-round vision, e.g. using omnidirectional cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/10Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of camera system used
    • B60R2300/105Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of camera system used using multiple cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/30Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/60Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by monitoring and displaying vehicle exterior scenes from a transformed perspective
    • B60R2300/607Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by monitoring and displaying vehicle exterior scenes from a transformed perspective from a bird's eye viewpoint
    • 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/20081Training; Learning
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

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

Abstract

기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법은 영상처리장치가 자동차에 장착된 복수의 카메라가 각각 획득한 복수의 영상을 입력받는 단계, 상기 영상처리장치가 상기 복수의 영상을 신경망 인코더에 입력하여 각각에 대한 특징 벡터를 생성하는 단계 및 상기 영상처리장치가 상기 복수의 영상에 대한 특징 벡터를 하나의 영상 형태로 결합하여 신경망 디코더에 입력하여 정합된 하나의 영상을 생성하는 단계를 포함한다. 상기 신경망 디코더는 상기 복수의 영상에 대한 특징 벡터를 기준으로 상기 복수의 영상 중 중첩된 영역을 갖는 인접 영상들에 대한 정합을 수행하는 필터를 포함한다.

Description

기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법{ AROUND VIEW VIDEO PROVIDING METHOD BASED ON MACHINE LEARNING FOR VEHICLE}
이하 설명하는 기술은 자동차에 어라운드 뷰(around view) 영상을 제공하는 기법에 관한 것이다.
자동차의 어라운드 뷰 모니터링(AVM, Around View Monitoring) 시스템은 자동차에 설치된 복수의 카메라(일반적으로 전방, 후방, 좌측, 우측)로부터 영상을 수신하여 자동차 주변을 조감도(Top view) 형태로 보여주는 시스템이다.
일반적으로 자동차 생산 과정에서 카메라 위치 등에 다른 부정합을 보정하는 작업을 수행한다. 다만 복수의 카메라가 제공하는 어라운드 뷰 영상은 사람의 시각에 비하여 이질감이 있다. 나아가 자동차를 이용하면서 운행도중 발생하는 물리적인 변경(뒤틀림이나, 충격에 따른 카메라의 화각 변경 등)에 따라 어라운드 뷰 영상에 추가적인 왜곡이 발생할 수 있다.
한국공개특허 제10-2017-0076506호
이하 설명하는 기술은 인공신경망과 같은 기계학습모델을 이용하여 정합된 어라운드 뷰 영상을 제공하고자 한다.
기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법은 영상처리장치가 자동차에 장착된 복수의 카메라가 각각 획득한 복수의 영상을 입력받는 단계, 상기 영상처리장치가 상기 복수의 영상을 신경망 인코더에 입력하여 각각에 대한 특징 벡터를 생성하는 단계 및 상기 영상처리장치가 상기 복수의 영상에 대한 특징 벡터를 하나의 영상 형태로 결합하여 신경망 디코더에 입력하여 정합된 하나의 영상을 생성하는 단계를 포함한다. 상기 신경망 디코더는 상기 복수의 영상에 대한 특징 벡터를 기준으로 상기 복수의 영상 중 중첩된 영역을 갖는 인접 영상들에 대한 정합을 수행하는 필터를 포함한다.
기계학습모델을 이용하여 어라운드 뷰 영상을 생성하는 영상처리장치는 자동차에 장착된 복수의 카메라가 획득한 복수의 영상을 입력받는 통신 장치, 컨볼루셔널 인코더와 컨볼루셔널 디코더를 포함하는 영상 생성 네트워크 모델을 저장하는 메모리 및 상기 복수의 영상을 상기 컨볼루셔널 인코더에 입력하여 각각에 대한 특징 벡터를 생성하고, 상기 복수의 영상에 대한 특징 벡터를 상기 컨볼루셔널 디코더에 입력하여 하나의 영상을 생성하는 프로세서를 포함한다.
이하 설명하는 기술은 영상을 정합하는 기계학습모델을 이용하여, 제조과정에서 카메라를 보정하지 않아도 된다. 나아가 이하 설명하는 기술을 사용하면 차량의 운행과정에서 획득한 영상을 실시간으로 분석하여 정합된 영상을 생성하기 때문에 노후화에 따른 영상 품질 저하도 발생하지 않는다.
도 1은 자동차에 배치되는 카메라에 대한 예이다.
도 2는 자동차 어라운드 뷰를 제어하는 제어기에 대한 예이다.
도 3은 컨볼루셔널 계층에 대한 예이다.
도 4는 컨볼루셔널 계층에 대한 다른 예이다.
도 5는 풀링 계층에 대한 예이다.
도 6은 어라운드 뷰 영상을 제공하는 과정에 대한 예이다.
도 7은 어라운드 뷰 영상을 제공하는 과정에 대한 다른 예이다.
도 8은 어라운드 뷰 영상을 제공하는 과정에 대한 또 다른 예이다.
도 9는 어라운드 뷰 영상을 제공하는 과정에 대한 또 다른 예이다.
도 10은 컨볼루셔널 인코더-디코더에 대한 예이다.
도 11은 어라운드 뷰 영상을 제공하는 과정에 대한 또 다른 예이다.
도 12는 영상 생성 네트워크에 대한 예이다.
도 13은 어라운드 뷰 영상을 생성하는 과정에 대한 예이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
이하 설명하는 기술은 자동차에서 제공되는 어라운드 뷰 영상을 생성하는 기법에 관한 것이다. 도 1은 자동차에 배치되는 카메라에 대한 예이다. 도 1(A)는 어라운드 뷰 영상을 위하여 4개의 카메라(11, 12, 13 및 14)를 배치한 자동차(10)에 대한 예이다. 4개의 카메라는 일반적으로 전방(11), 좌측방(12), 우측방(13) 및 후방(14)에 배치된다. 이웃하는 카메라들은 서로 중첩된 화각을 갖는다. 다만 통상적으로 4개의 카메라를 사용하면 일부 음영 지역(촬영되지 않는 영역)일 발생한다. 특히 대형 차량(버스, 트럭 등)의 경우 더 많은 음영 지역이 생길 수 있다. 도 1(B)는 어라운드 뷰 영상을 위하여 8개의 카메라(21 내지 28)를 배치한 자동차(20)에 대한 예이다. 8개 카메라(8개 채널)를 사용하는 경우, 음영지역 없이 360도 주변 영상을 모두 획득할 수 있다.
도 1(B)와 같이 카메라 개수가 늘어나는 경우 종래와 같이 제조 과정에서 수작업으로 영상을 보정하데 시간이 많이 소요된다. 물론 도 1(A)와 같이 4개의 카메라를 사용하는 경우에도 각 카메라가 획득한 영상을 정합하고, 하나의 영상으로 합성하는 과정이 중요하다.
도 2는 자동차 어라운드 뷰를 제어하는 제어기에 대한 예이다. 도 2에서 좌측은 도 1(A)에 도시한 자동차를 예로 도시하였다. 자동차(10)는 4개의 카메라(11 내지 14)를 차량에 배치하고 있다. AVM 제어기(100)는 4개의 카메라(11 내지 14)가 획득한 영상을 처리하여 하나의 영상으로 합성하여 어라안드 뷰 영상을 생성한다. AVM 제어기(100)는 일종의 영상 처리 장치이다. AVM 제어기(100)는 별도의 장치로 구현될 수 있다.
도 2의 우측은 AVM 제어기(100)에 대한 구성을 도시한 일 예이다. AVM 제어기(100)는 메모리(110), 프로세서(120), 통신 모듈(130) 및 디코더(140)를 포함한다. 디코더(140)는 카메라(11 내지 14)가 자동차 내부 통신을 통해 전송하는 영상 데이터를 복호한다. 도 2는 디코더(140)를 별도의 구성으로 도시하였으나, 디코딩을 위한 프로그램을 구동하는 프로세서(120)가 디코더(140) 기능을 수행할 수도 있다.
통신 모듈(130)은 자동차 내부 차량 통신을 통해 데이터 및 명령을 수신하거나, 전송하는 통신 장치이다. 나아가 통신 모듈(130)는 무선 통신(예컨대, Wi-Fi)을 수행하는 통신 장치를 포함할 수 있다.
메모리(110)는 카메라(11 내지 14)가 전송하는 영상 데이터를 저장할 수 있다. 메모리(110)는 영상 정합 내지 어라운드 뷰 영상 생성을 위한 모델을 저장할 수 있다. 메모리(110)는 후술할 일정한 기계학습모델을 저장할 수 있다.
프로세서(120)는 영상 데이터를 처리할 수 있는 연산 장치이다. 프로세서(120)는 자동차에 있는 ECU(Electronic Control Unit)일 수도 있다. 또는 프로세서(120)는 어라운드 뷰 처리를 위한 전용 연산장치(CPU, AP 등)일 수 있다. 프로세서(120)는 메모리(110)에 저장된 기계학습모델에 영상을 입력하여 복수의 영상을 정합하고, 어라운드 뷰 영상을 생성할 수 있다. 영상을 정합하는 과정 내지 어라운드 뷰 영상을 생성하는 과정에 대해서는 후술한다.
도 2는 AVM 제어기(100)에 대한 구성을 블록으로 도시하였다. AVM 제어기(100)는 아날로그 회로, 디지털 회로 또는 FPGA(Field Programmable Gate Array)와 같은 논리 소자를 이용하여 구현될 수 있다.
이하 설명하는 기술은 영상 처리를 위하여 기계학습(machine learning)모델을 사용한다. 기계학습모델은 널리 알려진 바와 같이 다양한 모델이 있다. 설명의 편의를 위하여 이하 설명하는 기술은 인공신경망(artificial neural network)을 사용하여 영상을 생성한다고 가정한다. 인공신경망은 CNN(Convolutional Neural Network), 오코인토더(auto encoder), 컨볼루셔널 인코더-디코더(convolutional encoder/decoder), RNN(Recurrent Neural Network) 등이 있다. 인공신경망 중 영상처리에 많이 사용되는 CNN에 대하여 간략하게 설명한다.
CNN(Convolutional Neural Network)
CNN은 컨볼루셔널(합성곱) 계층 (convolution layer)와 풀링 계층 (pooling layer)이 여러 층으로 이루어진 네트워크이다. 딥러닝 네트워크를 구현하는 모델 중 하나이다. 컨볼루셔널 계층을 통해 입력 이미지에 필터링을 수행하고 그 결과로 특징맵 (feature map)을 추출한다. 특징맵은 다음 층의 입력으로 사용하여 계층 별로 연속하여 처리한다. 학습이 된 네트워크는 처음에는 에지(edge)같은 영상 내 단순한 구성 요소에 반응하고 계측이 깊어질수록 텍스처(texture), 사물 일부(object parts)에 반응하는 특징을 학습하게 된다. 최근 CNN은 AlexNet, VGG16, ResiNet 등과 같이 계층의 깊이를 점점 더해가며 개발이 되고 있다. CNN을 구성하는 계층에 대하여 간략하게 설명한다.
도 3은 컨볼루셔널 계층에 대한 예이다. 도 3은 컨볼루셔널 계층의 연산을 보여주고 있다. 컨볼루셔널 계층은 입력 이미지에 대한 컨볼루셔널 연산을 통해 특징맵(feature map)을 출력한다. 이때 컨볼루셔널 연산을 수행하는 필터(filter)를 커널(kernel) 이라고도 부른다. 필터의 크기를 필터 크기 또는 커널 크기라고 한다. 커널을 구성하는 연산 파라메터(parameter)를 커널 파라메터(kernel parameter), 필터 파라메터(filter parameter), 또는 가중치(weight)라고 한다. 컨볼루셔널 계층에서는 하나의 입력에 서로 다른 종류의 필터를 사용할 수 있다. 도 1에서 필터의 개수를 n이라고 표시하였다. n은 자연수이다. 이때 하나의 필터가 입력을 처3하는 과정을 컨볼루셔널 채널 (convolution channel)이라고 지칭한다.
도 1은 하나의 채널에서 3x3의 커널 크기를 갖는 필터로 컨볼루셔널 연산을 수행하는 과정에 해당한다. 컨볼루셔널 계층은 입력이미지의 특정 영역을 대상으로 컨볼루션 연산을 수행한다. 도 3에서 점선 사각형으로 표시한 영역이 컨볼루션 연산 대상이다. 연산 영역을 윈도우 (window)라고 부른다. 윈도우는 영상의 좌측 상단에서 우측 하단까지 한 칸씩 이동할 수 있고, 한 번에 이동하는 이동 크기를 조절할 수 있다. 이동 크기를 스트라이드(stride)라고 한다. 컨볼루셔널 계층은 입력이미지에서 윈도우를 이동하면서 입력이미지의 모든 영역에 대하여 컨볼루션 연산을 수행한다. 한편 컨볼루셔널 계층은 영상의 가장 자리에 패딩(padding)을 하여 컨볼루션 연산 후 입력 영상의 차원을 유지시킨다.
도 4는 컨볼루셔널 계층에 대한 다른 예이다. 일반 적인 컨볼루셔널 연산은 2차원(2D)을 의미한다. 도 4(A)는 2D 컨볼루션 계층에 대한 예이다. 2D 컨볼루션 계층은 복수의 이미지에 적용되더라도, 하나의 필터는 하나의 특징맵을 출력하게 된다. 도 4(A)에서 M, N은 각각 이미지의 가로, 세로 방향을 의미한다.
3차원 컨볼루셔널 연산은 시간상의 정보 (temporal information)를 모델링할 수 있다. 도 4(B)는 3D 컨볼루션 계층에 대한 예이다. 3D 컨볼루션 계층은 시간축상의 정보(t)를 보존하고, 필터가 모든 특징맵을 출력한다. 3D 커널이 서로 시간축에서 연속된 복수의 프레임(이미지)에 대하여 윈도우에 위치하는 영역에 대한 특징을 추출한다. 도 4(B)에서 M, N, S는 각각 이미지의 가로, 세로, 입력 프레임의 수를 의미한다. 또 P, Q, R은 각각 필터의 가로, 세로, 차원 수를 의미한다.
컨볼루셔널 계층에서의 연산 결과로 얻은 특징맵을 서브 샘플링(sub sampling)하는 과정을 풀링(pooling layer)이라고 한다. 도 5는 풀링 계층에 대한 예이다. 도 5에서 풀링 계층은 2×2의 윈도우에서 하나의 샘플을 선택하여 그 출력의 가로 및 세로가 입력의 절반이 되도록 한다. 풀링은 스트라이드와 윈도우의 크기가 갖도록 하는 것일 일반적이다. 도 5은 스트라이드와 윈도우 크기가 모두 2로 설정된 예이다. 풀링 연산은 최대 풀링(max pooling)과 평균 풀링(average pooling) 등이 있다. 최대 풀링은 윈도우 내에서 가장 큰 샘플 값을 선택한다. 평균 풀링은 윈도우에 포함된 값의 평균 값으로 샘플링한다.
비선형 연산 계층(nonlinear operation layer)은 뉴런(노드)에서 출력값을 결정하는 계층이다. 비선형 연산 계층은 전달 함수(transfer function)를 사용한다. 전달 함수는 Relu, sigmoid 함수 등이 있다.
전술한 AVM 제어기가 인공신경망을 이용하여 어라운드 뷰 영상을 생성할 수 있다. 다만 이하 설명의 편의를 위하여 어라운드 뷰 영상을 생성하는 주체를 영상처리장치라고 명명한다. 영상처리장치는 영상데이터를 일정하게 프로세싱할 수 있는 연산장치를 의미한다. 영상처리장치는 PC, 서버, 자동차 내부의 ECU, AVM 제어기 등과 같은 형태를 포함하는 의미이다.
도 6은 어라운드 뷰 영상을 제공하는 과정(200)에 대한 예이다. 도 6에서 점선 박스는 어라운드 뷰 영상 생성에 관여하는 모델을 생성하는 과정이다. 모델을 생성하는 과정은 별도의 컴퓨터 장치에서 수행할 수 있다. 컴퓨터 장치는 PC, 서버 등과 같은 장치를 의미한다. 컴퓨터 장치가 모델을 생성한다고 가정한다. 또한 자동차에서 영상처리장치가 생성된 모델을 이용하여 어라운드 뷰 영상을 생성한다고 가정한다.
훈련영상DB는 모델 생성을 위한 훈련영상을 저장한다. 훈련영상은 자동차에 배치된 복수의 카메라가 획득한 영상들을 포함한다. 도 6에서 훈련영상을 체스보드를 포함하는 영상이라고 가정한다. 컴퓨터 장치는 복수의 카메라가 획득한 영상을 인공신경망에 입력한다. 컴퓨터 장치는 훈련 영상을 이용하여 인공신경망이 각 영상의 특징 벡터(특징점)를 출력하도록 학습한다(210). 이 경우 인공신경망은 CNN일 수 있다. 인공신경망은 복수의 영상에 대해 개별적(병렬적)으로 존재할 수도 있다. 또는 인공신경망은 복수의 영상에서 서로 매칭되는 특징 벡터를 출력하도록 학습될 수도 있다(210). 컴퓨터 장치는 복수의 영상에서 서로 매칭되는 특징 벡터를 기준으로 복수의 영상 중 인접한 영역을 촬영한 영상을 일정하게 정합할 수 있다(인접한 영역을 촬영한 영상은 통상적으로 중첩되는 영역을 포함함). 이를 통해 현재 입력되는 영상에서 서로 중첩되는 지점을 확인할 수 있고, 컴퓨터 장치는 특징점의 위치를 기준으로 인접한 영상을 하나의 영상으로 합성하는 모델을 생성할 수 있다(220). 이 경우 획득한 영상에서 특정 좌표를 기준으로 합성 모델을 생성하게 된다.
영상처리장치는 전달받은 합성모델을 이용하여 자동차에 배치된 카메라가 촬영한 영상을 하나의 영상으로 합성한다(230). 합성모델 전달은 별도의 네트워크를 통해 진행될 수 있다. 또는 자동차 제조과정에서 합성모델이 설치된 AVM 제어기가 자동차에 조립되어 전달될 수도 있다.
도 7은 어라운드 뷰 영상을 제공하는 과정(300)에 대한 다른 예이다. 컴퓨터 장치는 훈련 영상을 인공신경망에 입력한다. 이때 훈련 영상은 체스보드를 포함하지 않는 영상일 수도 있다. 즉, 차량의 주행 환경과 유사한 훈련 영상을 이용하여 영상 자체에서 특징점을 찾는 것이다. 컴퓨터 장치는 입력 영상에서 특징점을 출력하도록 인공신경망을 학습한다(310). 또는 인공신경망은 복수의 영상에서 서로 매칭되는 특징 벡터를 출력하도록 학습될 수도 있다(310).
영상처리장치는 인공신경망을 전달받는다. 영상처리장치는 자동차에 배치된 복수의 카메라가 획득한 영상을 인공신경망에 입력한다. 인공신경망은 입력된 영상에 대한 특징 벡터(특징점)을 출력한다(320). 이때 인공신경망은 복수의 영상에 대해 개별적으로 존재할 수도 있다. 영상처리장치는 복수의 영상에 대한 특징 벡터를 기준으로 복수의 영상 중 인접한 영상에서 매칭되는 특징점을 찾을 수 있다(330). 영상처리장치는 영상처리분야에서 매칭되는 특징점을 찾는 다양한 알고리즘 중 어느 하나를 이용할 수 있다. 영상처리장치는 인접한 영상에서 서로 매칭되는 특징점을 기준으로 영상을 정합할 수 있다. 정합이란 매칭되는 부위를 기준으로 복수의 영상을 겹치는 과정이라고 할 수도 있다. 물론 디스플레이 화면에 출력하기 위하여 각 카메라가 촬영한 영상을 일정하게 맵핑하여 변경할 수 있다. 예컨대, 영상처리장치는 어안렌즈로 촬영한 영상에 대한 왜곡을 보정하는 과정을 사전에 수행할 수 있다. 이 경우 영상처리장치는 보정된 영상을 신경망에 입력하여 특징점을 추출할 수 있다. 영상처리장치는 정합된 영상을 기준으로 하나의 함성영상을 생성한다(330).
도 8은 어라운드 뷰 영상을 제공하는 과정(400)에 대한 또 다른 예이다. 컴퓨터 장치는 훈련 영상을 제1 인공신경망에 입력한다. 제1 인공신경망은 영상에서 특징벡터를 생성하기 전에, 원본 영상에 존재하는 왜곡을 보정하기 위한 것이다. 이를 위해 컴퓨터 장치는 왜곡된 원본 영상을 입력으로 삼고, 보정된 영상을 출력으로 삼아 제1 인공신경망을 학습한다(410). 왜곡 보정은 전술한 바와 같이 어안 렌즈 영상에 대한 왜곡을 보정하는 과정일 수도 있다. 제1 신경망은 영상을 입력받아 영상을 생성하는 신경망이다. 따라 제1 신경망은 오토인코더 또는 컨볼루셔널 인코더-디코더와 같은 구조를 가질 수 있다.
컴퓨터 장치는 제1 신경망이 출력하는 보정된 영상을 제2 신경망에 입력하여 제2 신경망이 특징 벡터를 출력하도록 학습한다(420). 제2 신경망은 영상을 입력받아 특징 벡터를 출력하는 CNN과 같은 구조일 수 있다.
영상처리장치는 제1 신경망 및 제2 신경망을 전달받는다. 영상처리장치는 자동차에 배치된 복수의 카메라가 획득한 영상을 제1 인공신경망에 입력한다. 제1 인공신경망은 복수의 영상에 대해 각각 개별적으로 존재할 수 있다. 제1 인공신경망은 왜곡을 보정한 영상을 출력한다(430). 영상처리장치는 보정된 영상을 제2 신경망에 입력하여 복수의 영상에 대한 특징벡터를 출력한다(440). 이때 제2 인공신경망은 복수의 영상에 대해 개별적으로 존재할 수도 있다. 영상처리장치는 복수의 영상에 대한 특징 벡터를 기준으로 복수의 영상 중 인접한 영상에서 매칭되는 특징점을 찾을 수 있다(450). 영상처리장치는 영상처리분야에서 매칭되는 특징점을 찾는 다양한 알고리즘 중 어느 하나를 이용할 수 있다. 영상처리장치는 인접한 영상에서 서로 매칭되는 특징점을 기준으로 영상을 정합할 수 있다. 영상처리장치는 정합된 영상을 기준으로 하나의 함성영상을 생성한다(450).
도 9는 어라운드 뷰 영상을 제공하는 과정(500)에 대한 또 다른 예이다. 컴퓨터 장치는 훈련 영상을 제1 인공신경망에 입력한다. 제1 인공신경망은 영상에서 특징벡터를 생성하기 전에, 원본 영상에 존재하는 왜곡을 보정하기 위한 것이다. 이를 위해 컴퓨터 장치는 왜곡된 원본 영상을 입력으로 삼고, 보정된 영상을 출력으로 삼아 제1 인공신경망을 학습한다(510). 왜곡 보정은 전술한 바와 같이 어안 렌즈 영상에 대한 왜곡을 보정하는 과정일 수도 있다. 제1 신경망은 영상을 입력받아 영상을 생성하는 신경망이다. 따라 제1 신경망은 오토인코더 또는 컨볼루셔널 인코더-디코더와 같은 구조를 가질 수 있다.
컴퓨터 장치는 제1 신경망이 출력하는 보정된 영상을 제2 신경망에 입력하여 제2 신경망이 합성 영상을 구성하는 개별 영상을 출력하도록 학습한다(520). 도 8과 달리 도 9는 제2 신경망이 영상을 생성하는 모델에 해당한다. 따라서 제2 신경망은 오토인코더 또는 컨볼루셔널 인코더-디코더와 같은 구조를 가질 수 있다.
영상처리장치는 제1 신경망 및 제2 신경망을 전달받는다. 영상처리장치는 자동차에 배치된 복수의 카메라가 획득한 영상을 제1 인공신경망에 입력한다. 제1 인공신경망은 복수의 영상에 대해 각각 개별적으로 존재할 수 있다. 제1 인공신경망은 왜곡을 보정한 영상을 출력한다(530). 영상처리장치는 보정된 영상을 제2 신경망에 입력하여 합성 영상을 구성하는 개별 영상을 생성한다(540). 개별 영상은 통상적으로 카메라 개수와 같은 개수를 갖는다. 이때 제2 인공신경망은 복수의 영상에 대해 개별적으로 존재할 수도 있다. 영상처리장치는 제2 인공신경망이 출력하는 복수의 개별 영상을 하나의 영상을 합성한다(550). 개별 영상은 최초 입력 영상의 종류(카메라 ID 내지 카메라 위치에 따라 식별됨)에 따라 합성 영상에서의 위치가 결정될 수 있다.
영상을 입력받아 다른 영상을 출력하는 인공신경망에 대하여 추가적으로 설명하고자 한다.
오토인코더(auto encoder)
오토인코더는 인코더(encoder)와 디코더(decoder)를 포함한다. 오토인코더는 비지도 학습(Unsupervised Learning)에 널리 사용된다. 인코더(Encoder)는 입력 데이터(x)가 들어오면 출력으로 잠재 변수 (latent variable)를 제공한다. 잠재 변수는 입력 x의 특징 벡터 (feature vector) 로 사용할 수 있다. 디코더(Decoder)에서는 잠재 변수로부터 형성한 예측 값을 출력으로 한다.
컨볼루셔널 인코더-디코더(convolutional encoder/decoder)
도 10은 컨볼루셔널 인코더-디코더에 대한 예이다. 컨볼루셔널 인코더-디코더는 컨볼루셔널 인코더 및 컨볼루셔널 디코더로 구성된다. 컨볼루셔널 인코더-디코더는 컨볼루션널 계층과 역컨볼루션널 계층(deconvolutional layer)의 쌍으로 이루어진 네트워크 구조이다. 도 10은 각각 5개의 컨볼루셔널 계층과 5개의 역컨볼루셔널 계층을 갖는 구조이다. 컨볼루셔널 인코더는 컨볼루셔널 계층과 풀링 계층을 포함한다. 역컨볼루셔널 계층은 역 컨볼루셔널 계층과 언풀링 계층(unpooling layer)을 포함한다.
역컨볼루셔널 계층은 컨볼루셔널 계층의 역동작을 수행한다. 역컨볼루셔널 계층은 컨볼루셔널 계층과 반대 방향으로 컨볼루션 연산을 수행한다. 역컨볼루셔널 계층은 입력으로 특징맵을 받아 커널을 이용한 컨볼루션 연산으로 출력 영상을 생성한다. 스트라이드를 1로 하면 역컨볼루셔널 계층은 특징맵의 가로, 세로 크기가 출력의 가로, 세로와 동일한 영상을 출력한다. 스트라이드를 2로 하면 역컨볼루셔널 계층은 특징맵의 가로, 세로 크기 대비 절반 크기의 영상을 출력한다.
언풀링 계층은 풀링 계층의 반대 방향으로 업샘플링(upsampling)을 진행한다. 언풀링 계층은 풀링 계층과 다르게 반대로 차원을 확대하는 역할을 한다. 예컨대, 도 5와는 반대로 언풀링 계층은 하나의 샘플을 2×2의 윈도우로 업 샘플링할 수 있다.
컨볼루셔널 인코더-디코더는 오토인코더와 유사하게 입력 - 특징벡터 - 출력을 제공한다. 다만 오토인코더와 다르게 컨볼루셔널 인코더-디코더에서 컨볼루셔널 인코더는 입력 영상에 대한 특징맵을 출력하고, 컨볼루셔널 디코더는 입력받는 특징맵에 대한 영상을 출력한다.
도 11은 어라운드 뷰 영상을 제공하는 과정에 대한 또 다른 예이다. 컴퓨터 장치는 훈련 영상을 제1 인공신경망에 입력한다. 제1 인공신경망은 영상에서 특징벡터를 생성하기 전에, 원본 영상에 존재하는 왜곡을 보정하기 위한 것이다. 이를 위해 컴퓨터 장치는 왜곡된 원본 영상을 입력으로 삼고, 보정된 영상을 출력으로 삼아 제1 인공신경망을 학습한다(610). 왜곡 보정은 전술한 바와 같이 어안 렌즈 영상에 대한 왜곡을 보정하는 과정일 수도 있다. 제1 신경망은 영상을 입력받아 영상을 생성하는 신경망이다. 따라 제1 신경망은 오토인코더 또는 컨볼루셔널 인코더-디코더와 같은 구조를 가질 수 있다.
컴퓨터 장치는 제1 신경망이 출력하는 보정된 영상을 제2 신경망에 입력하여 제2 신경망이 합성 영상을 출력하도록 학습한다(620). 도 9과 달리 도 11은 제2 신경망이 합성 영상을 생성하는 모델에 해당한다. 따라서 제2 신경망은 오토인코더 또는 컨볼루셔널 인코더-디코더와 같은 구조를 가질 수 있다.
영상처리장치는 제1 신경망 및 제2 신경망을 전달받는다. 영상처리장치는 자동차에 배치된 복수의 카메라가 획득한 영상을 제1 인공신경망에 입력한다. 제1 인공신경망은 복수의 영상에 대해 각각 개별적으로 존재할 수 있다. 제1 인공신경망은 왜곡을 보정한 영상을 출력한다(630). 영상처리장치는 보정된 영상을 제2 신경망에 입력하여 합성 영상을 생성한다(640). 제2 인공신경망은 복수의 영상을 한 번에 처리하는 구조를 갖는다.
도 12는 영상 생성 네트워크에 대한 예이다. 도 11에서 설명한 제2 인공신경망은 도 12의 영상 생성 네트워크와 같은 구조를 가질 수 있다. 영상 생성 네트워크는 컨볼루셔널 인코더 및 컨볼루셔널 디코더를 포함한다.
컨볼루셔널 인코더는 도 12와 같이 처리하고자 하는 영상의 개수에 따라 복수개가 사전에 마련될 수 있다. 도 12는 카메라 n개 영상을 개별적으로 처리하는 컨볼루셔널 인코더를 도시한다. n은 자연수이다. 각 컨볼루셔널 인코더는 입력받은 영상에 대한 특징맵을 생성한다. 따라서 컨볼루셔널 인코더는 전체 입력 영상 개수만큼의 특징맵 n개를 생성한다.
이후 영상 처리 장치는 n개 특징맵을 일정하게 재구성해야 한다. 영상 처리 장치는 각 카메라가 촬영한 개별 영상이 어라운드 뷰 영상에서 차지하는 위치를 고려하여 특징맵을 재구성할 수 있다. 영상 처리 장치는 n개의 특징맵을 마치 하나의 특징맵과 같이 배열하여 재구성할 수 있다.
컨볼루셔널 디코더는 n개의 특징맵 또는 n개의 특징맵이 재구성된 특징맵을 입력으로 받는다. 컨볼루셔널 디코더는 특징맵을 업샘플링하고, 특징맵을 디컨볼루션하여 최종적으로 합성된 하나의 영상을 생성한다. 이때 각 개별 영상에 대한 정합을 수행할 수도 있다. 컨볼루셔널 디코더는 개별 영상을 정합하기 위한 필터(커널)을 사용할 수 있다. 이때 필터에 적용되는 가중치는 학습과정을 통해 마련된다.
도 13은 어라운드 뷰 영상을 생성하는 과정에 대한 예이다. 도 13(A)는 실제 개별 영상이 어라운드 뷰 영상으로 생성되는 과정에 해당한다. 영상처리장치는 복수의 카메라가 획득한 원본 영상을 획득한다(710). 도 13은 카메라가 4개인 경우에 해당한다. 원본 영상은 어안렌즈로 촬영하여 일정한 왜곡이 존재한다. 영상처리장치는 원본 영상 각각에 대한 왜곡을 보정할 수 있다(720). 영상처리장치는 전술한 바와 같이 인공신경망을 이용하여 보정과정을 수행할 수 있다. 영상처리장치는 보정된 영상을 기준으로 어라운드 뷰 영상에 해당하는 합성 영상을 생성할 수 있다(730). 영상처리장치는 합성 영상을 생성하는 다양한 실시예 중 어느 하나를 이용할 수 있다. 여기서 실시예는 도 8, 도 9 또는 도 11에서 설명한 예 중 어느 하나일 수 있다.
도 13(B)는 자동차의 디스플레이 장치에서 출력되는 어라운드 뷰 영상에 대한 예이다. 영상처리장치가 디스플레이 장치에 출력하는 어라운드 뷰 영상을 기본적으로 도 13(B)와 같은 탑뷰(top view) 시점의 영상이다. 나아가 영상처리장치는 탑뷰와는 시점이 다른 영상을 생성하여 출력할 수도 있다. 예컨대, 영상처리장치는 버드뷰(bird's view)와 같은 시점의 영상을 생성할 수 있다. 영상처리장치는 시점별로 서로 다른 기계학습모델(인공신경망)을 사용할 수도 있다. 이 경우 기계학습모델은 시점에 따라 서로 다른 모델로 사전에 학습되어야 한다. 또는 사전에 마련된 어느 하나의 모델(예컨대, top view)에 적용되는 가중치(파라미터)를 일정하게 변경하여 다른 시점(예컨대, bird's view)에 해당하는 영상을 생성할 수도 있다.
또한, 상술한 바와 같은 어라운드 뷰 영상 생성 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.
10, 20 : 자동차
11 , 12, 13, 14, 21, 22, 23, 24, 25, 26, 27, 28 : 카메라
100 : AVM 제어기
110 : 메모리
120 : 프로세서
130 : 통신모듈
140 : 디코더

Claims (12)

  1. 영상처리장치가 자동차에 장착된 복수의 카메라가 각각 획득한 복수의 영상을 입력받는 단계;
    상기 영상처리장치가 상기 복수의 영상을 신경망 인코더에 입력하여 각각에 대한 특징 벡터를 생성하는 단계; 및
    상기 영상처리장치가 상기 복수의 영상에 대한 특징 벡터를 하나의 영상 형태로 결합하여 신경망 디코더에 입력하여 정합된 하나의 영상을 생성하는 단계를 포함하되,
    상기 신경망 디코더는 상기 복수의 영상에 대한 특징 벡터를 기준으로 상기 복수의 영상 중 중첩된 영역을 갖는 인접 영상들에 대한 정합을 수행하는 필터를 포함하되,
    상기 신경망 인코더는 상기 복수의 영상을 각각 처리하는 복수 개이고, 상기 영상처리장치는 상기 복수 개의 신경망 인코더가 각각 출력하는 복수의 특징 벡터를 사전에 결정된 위치에 배치하여 상기 하나의 영상 행태로 결합하는 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법.
  2. 제1항에 있어서,
    상기 영상처리장치는 상기 복수의 영상을 영상 보정 네트워크에 입력하여 상기 복수의 영상 각각에 대하여 왜곡이 보정된 영상을 생성하는 단계를 더 포함하고,
    상기 왜곡이 보정된 영상을 상기 신경망 인코더에 입력하는 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법.
  3. 제1항에 있어서,
    상기 신경망 인코더는 컨볼루셔널 계층과 풀링 계층으로 구성되는 딥러닝 네트워크이고,
    상기 신경망 디코더는 언풀링 계층과 역컨볼루셔널 계층으로 구성되는 딥러닝 네트워크인 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법.
  4. 삭제
  5. 영상처리장치가 자동차에 장착된 복수의 카메라가 각각 획득한 복수의 영상을 입력받는 단계;
    상기 영상처리장치가 상기 복수의 영상을 신경망 인코더에 입력하여 각각에 대한 특징 벡터를 생성하는 단계;
    상기 영상처리장치가 상기 복수의 영상 중 중첩된 영역을 갖는 인접 영상들에서 추출한 특징 벡터를 기준으로 상기 인접 영상들을 정합하는 단계; 및
    상기 영상처리장치가 상기 정합된 인접 영상들을 하나의 영상으로 합성하는 단계를 포함하되,
    상기 신경망 인코더는 상기 복수의 영상을 각각 처리하는 복수 개이고, 상기 영상처리장치는 상기 복수 개의 신경망 인코더가 각각 출력하는 복수의 특징 벡터를 사전에 결정된 위치에 배치하여 상기 인접 영상을 정합하는 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법.
  6. 제5항에 있어서,
    상기 영상처리장치는 상기 복수의 영상을 영상 보정 네트워크에 입력하여 상기 복수의 영상 각각에 대하여 왜곡이 보정된 영상을 생성하는 단계를 더 포함하고,
    상기 왜곡이 보정된 영상을 상기 신경망 인코더에 입력하는 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법.
  7. 제5항에 있어서,
    상기 신경망 인코더는 컨볼루셔널 계층과 풀링 계층으로 구성되는 딥러닝 네트워크인 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법.
  8. 자동차에 장착된 복수의 카메라가 획득한 복수의 영상을 입력받는 통신 장치;
    컨볼루셔널 인코더와 컨볼루셔널 디코더를 포함하는 영상 생성 네트워크 모델을 저장하는 메모리; 및
    상기 복수의 영상을 상기 컨볼루셔널 인코더에 입력하여 각각에 대한 특징 벡터를 생성하고, 상기 복수의 영상에 대한 특징 벡터를 상기 컨볼루셔널 디코더에 입력하여 하나의 영상을 생성하는 프로세서를 포함하되,
    상기 컨볼루셔널 인코더는 상기 복수의 영상을 각각 처리하는 복수 개이고,
    상기 프로세서는 상기 복수 개의 컨볼루셔널 인코더가 각각 출력하는 복수의 특징 벡터를 사전에 결정된 위치에 배치하고 상기 컨볼루셔널 디코더에 입력하는 기계학습모델을 이용하여 어라운드 뷰 영상을 생성하는 영상처리장치.
  9. 제8항에 있어서,
    상기 메모리는 상기 복수의 영상 중 적어도 하나에 대한 왜곡을 보정하는 영상 보정 네트워크 모델을 더 저장하고,
    상기 프로세서는 상기 복수의 영상을 상기 영상 보정 네트워크 모델에 입력하여 생성되는 보정 영상을 상기 컨볼루셔널 인코더에 입력하는 기계학습모델을 이용하여 어라운드 뷰 영상을 생성하는 영상처리장치.
  10. 제8항에 있어서,
    상기 컨볼루셔널 인코더는 컨볼루셔널 계층과 풀링 계층으로 구성되는 딥러닝 네트워크이고,
    상기 컨볼루셔널 디코더는 언풀링 계층과 역컨볼루셔널 계층으로 구성되는 딥러닝 네트워크인 기계학습모델을 이용하여 어라운드 뷰 영상을 생성하는 영상처리장치.
  11. 삭제
  12. 컴퓨터에서 제1항 내지 제3항 중 어느 하나의 항에 기재된 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020180079432A 2018-07-09 2018-07-09 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법 KR101939349B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180079432A KR101939349B1 (ko) 2018-07-09 2018-07-09 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법
US16/460,474 US10984512B2 (en) 2018-07-09 2019-07-02 Method of providing automotive around view image using machine learning model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180079432A KR101939349B1 (ko) 2018-07-09 2018-07-09 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법

Publications (1)

Publication Number Publication Date
KR101939349B1 true KR101939349B1 (ko) 2019-04-11

Family

ID=66167319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180079432A KR101939349B1 (ko) 2018-07-09 2018-07-09 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법

Country Status (2)

Country Link
US (1) US10984512B2 (ko)
KR (1) KR101939349B1 (ko)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102054366B1 (ko) * 2019-08-01 2019-12-11 박종철 무인 경비 시스템의 제어 방법 및 그 장치
CN110570373A (zh) * 2019-09-04 2019-12-13 北京明略软件系统有限公司 畸变校正方法和装置、计算机可读的存储介质及电子装置
KR102195146B1 (ko) * 2019-08-22 2020-12-28 장현민 전방위 어라운드 뷰 모니터링 기반 자동차의 안전사고 방지 시스템 및 그 방법
WO2020256517A3 (ko) * 2019-06-21 2021-05-20 주식회사 쓰리아이 전방위 화상정보 기반의 자동위상 매핑 처리 방법 및 그 시스템
KR20210082027A (ko) * 2019-12-24 2021-07-02 주식회사 쓰리아이 전방위 화상정보 기반의 자동위상 매핑 처리 방법 및 그 시스템
KR102300570B1 (ko) * 2020-07-31 2021-09-09 주식회사 쓰리아이 전방위 이미지 촬영 어셈블리 및 이에 의해 수행되는 방법
KR20210131020A (ko) * 2020-04-23 2021-11-02 재단법인대구경북과학기술원 비지도 학습 기법을 이용한 영상데이터의 정합 방법 및 장치
WO2022025442A1 (ko) * 2020-07-31 2022-02-03 주식회사 쓰리아이 전방위 이미지 처리 방법 및 이를 수행하는 서버
US11307595B2 (en) 2019-10-25 2022-04-19 Multipleye Co., Ltd. Apparatus for acquisition of distance for all directions of moving body and method thereof
CN114995131A (zh) * 2022-05-25 2022-09-02 福建德尔科技股份有限公司 用于电子级三氟甲烷制备的精馏控制系统及其控制方法
KR20220131685A (ko) * 2021-03-22 2022-09-29 (주)유비크마이크로 트레일러 차량의 어라운드뷰 영상 생성 방법 및 시스템
KR20230114223A (ko) 2022-01-24 2023-08-01 주식회사 디지털안전기술단 차량용 센서세트를 활용한 디지털트윈 생성 방법 및 장치
KR102676423B1 (ko) 2024-01-31 2024-06-19 주식회사 리트빅 생성형 ai를 이용한 avm 캘리브레이션 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102653177B1 (ko) * 2018-10-29 2024-04-01 삼성에스디에스 주식회사 객체 정보 추출 장치 및 방법
EP3716150A1 (en) * 2019-03-27 2020-09-30 Nvidia Corporation Improved image segmentation using a neural network translation model
US10977765B2 (en) * 2019-04-10 2021-04-13 Eagle Technology, Llc Hierarchical neural network image registration
CN111284503B (zh) * 2020-03-10 2021-12-10 宁波远景汽车零部件有限公司 一种汽车安全出行装置
FR3108423B1 (fr) * 2020-03-23 2022-11-11 Renault Sas Dispositif et procédé d’aide à la décision d’un système cognitif artificiel
US11257197B2 (en) 2020-03-31 2022-02-22 Woven Planet North America, Inc. Mapping pipeline optimization using aggregated overhead view reconstruction
JP2021196951A (ja) * 2020-06-16 2021-12-27 キヤノン株式会社 画像処理装置、画像処理方法、プログラム、学習済みモデルの製造方法、および画像処理システム
US20230342461A1 (en) * 2022-04-25 2023-10-26 Palo Alto Networks, Inc. Malware detection for documents using knowledge distillation assisted learning
CN115099387B (zh) * 2022-05-26 2023-02-03 福建天甫电子材料有限公司 用于中性清洗剂生产的自动配料系统及其配料方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0139572B1 (ko) * 1994-12-23 1998-06-15 양승택 신경망 회로를 이용한 영상 왜곡 보정 방법
KR20160053612A (ko) * 2014-11-05 2016-05-13 삼성전자주식회사 영상 학습 모델을 이용한 영상 생성 방법 및 장치
KR20170026750A (ko) * 2015-08-27 2017-03-09 ㈜베이다스 차량용 영상 정합을 위한 수동보정장치 및 그 방법
KR20170076506A (ko) 2015-12-24 2017-07-04 전자부품연구원 어라운드뷰 생성방법과 이를 수행하는 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423830B2 (en) * 2016-04-22 2019-09-24 Intel Corporation Eye contact correction in real time using neural network based machine learning
US10089742B1 (en) * 2017-03-14 2018-10-02 Adobe Systems Incorporated Automatically segmenting images based on natural language phrases
US10970553B2 (en) * 2017-11-15 2021-04-06 Uatc, Llc Semantic segmentation of three-dimensional data
US11080886B2 (en) * 2017-11-15 2021-08-03 Qualcomm Incorporated Learning disentangled invariant representations for one shot instance recognition

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0139572B1 (ko) * 1994-12-23 1998-06-15 양승택 신경망 회로를 이용한 영상 왜곡 보정 방법
KR20160053612A (ko) * 2014-11-05 2016-05-13 삼성전자주식회사 영상 학습 모델을 이용한 영상 생성 방법 및 장치
KR20170026750A (ko) * 2015-08-27 2017-03-09 ㈜베이다스 차량용 영상 정합을 위한 수동보정장치 및 그 방법
KR20170076506A (ko) 2015-12-24 2017-07-04 전자부품연구원 어라운드뷰 생성방법과 이를 수행하는 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이승철, 외 3, "딥러닝(Deep Learning)", 한국소음진동공학회, 소음·진동 27(3), 2017. 5, pp. 19-25.* *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020256517A3 (ko) * 2019-06-21 2021-05-20 주식회사 쓰리아이 전방위 화상정보 기반의 자동위상 매핑 처리 방법 및 그 시스템
US12002260B2 (en) 2019-06-21 2024-06-04 3I Inc. Automatic topology mapping processing method and system based on omnidirectional image information
KR102054366B1 (ko) * 2019-08-01 2019-12-11 박종철 무인 경비 시스템의 제어 방법 및 그 장치
KR102195146B1 (ko) * 2019-08-22 2020-12-28 장현민 전방위 어라운드 뷰 모니터링 기반 자동차의 안전사고 방지 시스템 및 그 방법
CN110570373A (zh) * 2019-09-04 2019-12-13 北京明略软件系统有限公司 畸变校正方法和装置、计算机可读的存储介质及电子装置
US11307595B2 (en) 2019-10-25 2022-04-19 Multipleye Co., Ltd. Apparatus for acquisition of distance for all directions of moving body and method thereof
KR20210082027A (ko) * 2019-12-24 2021-07-02 주식회사 쓰리아이 전방위 화상정보 기반의 자동위상 매핑 처리 방법 및 그 시스템
KR102617222B1 (ko) 2019-12-24 2023-12-26 주식회사 쓰리아이 전방위 화상정보 기반의 자동위상 매핑 처리 방법 및 그 시스템
KR20210131020A (ko) * 2020-04-23 2021-11-02 재단법인대구경북과학기술원 비지도 학습 기법을 이용한 영상데이터의 정합 방법 및 장치
KR102348863B1 (ko) 2020-04-23 2022-01-11 재단법인대구경북과학기술원 비지도 학습 기법을 이용한 영상데이터의 정합 방법 및 장치
KR20220015578A (ko) * 2020-07-31 2022-02-08 주식회사 쓰리아이 전방위 이미지 처리 방법 및 이를 수행하는 서버
WO2022025441A1 (ko) * 2020-07-31 2022-02-03 주식회사 쓰리아이 전방위 이미지 촬영 어셈블리 및 이에 의해 수행되는 방법
KR102483388B1 (ko) * 2020-07-31 2022-12-30 주식회사 쓰리아이 전방위 이미지 처리 방법 및 이를 수행하는 서버
WO2022025442A1 (ko) * 2020-07-31 2022-02-03 주식회사 쓰리아이 전방위 이미지 처리 방법 및 이를 수행하는 서버
KR102300570B1 (ko) * 2020-07-31 2021-09-09 주식회사 쓰리아이 전방위 이미지 촬영 어셈블리 및 이에 의해 수행되는 방법
KR20220131685A (ko) * 2021-03-22 2022-09-29 (주)유비크마이크로 트레일러 차량의 어라운드뷰 영상 생성 방법 및 시스템
WO2022203173A1 (ko) * 2021-03-22 2022-09-29 (주)유비크마이크로 트레일러 차량의 어라운드뷰 영상 생성 방법 및 시스템
KR102453552B1 (ko) * 2021-03-22 2022-10-14 (주)유비크마이크로 트레일러 차량의 어라운드뷰 영상 생성 방법 및 시스템
KR20230114223A (ko) 2022-01-24 2023-08-01 주식회사 디지털안전기술단 차량용 센서세트를 활용한 디지털트윈 생성 방법 및 장치
CN114995131A (zh) * 2022-05-25 2022-09-02 福建德尔科技股份有限公司 用于电子级三氟甲烷制备的精馏控制系统及其控制方法
CN114995131B (zh) * 2022-05-25 2023-02-03 福建德尔科技股份有限公司 用于电子级三氟甲烷制备的精馏控制系统及其控制方法
KR102676423B1 (ko) 2024-01-31 2024-06-19 주식회사 리트빅 생성형 ai를 이용한 avm 캘리브레이션 방법

Also Published As

Publication number Publication date
US10984512B2 (en) 2021-04-20
US20200013154A1 (en) 2020-01-09

Similar Documents

Publication Publication Date Title
KR101939349B1 (ko) 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법
US10970600B2 (en) Method and apparatus for training neural network model used for image processing, and storage medium
US20210350168A1 (en) Image segmentation method and image processing apparatus
CN110324664B (zh) 一种基于神经网络的视频补帧方法及其模型的训练方法
KR101994121B1 (ko) 중간 뷰로부터의 효율적인 캔버스 뷰 생성
JP6021541B2 (ja) 画像処理装置及び方法
JP4782899B2 (ja) 視差検出装置、測距装置及び視差検出方法
WO2022165809A1 (zh) 一种训练深度学习模型的方法和装置
CN110874817A (zh) 图像拼接方法和装置、车载图像处理装置、电子设备、存储介质
CN108052910A (zh) 一种车辆全景成像系统的自动调整方法、装置及存储介质
CN108986197B (zh) 3d骨架线构建方法及装置
CN108805807B (zh) 环景图像的拼接方法及其系统
CN111553841B (zh) 一种基于最佳缝合线更新的实时视频拼接方法
US20210056292A1 (en) Image location identification
US20170070650A1 (en) Apparatus for correcting image distortion of lens
WO2022182421A1 (en) Color and infra-red three-dimensional reconstruction using implicit radiance function
KR20160138478A (ko) 이미지 왜곡 교정을 위한 시스템 및 방법
CN114170290A (zh) 图像的处理方法及相关设备
WO2005010820A2 (fr) Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications
CN107093165A (zh) 一种递归图像的快速显示方法及装置
CN110335228B (zh) 一种图像视差的确定方法、装置及系统
CN112541972B (zh) 一种视点图像处理方法及相关设备
CN113658050A (zh) 一种图像的去噪方法、去噪装置、移动终端及存储介质
US20230098437A1 (en) Reference-Based Super-Resolution for Image and Video Enhancement
CN112203023B (zh) 一种十亿像素视频生成方法及装置、设备、介质