KR20240016886A - 카메라의 정보를 이용하여 이미지와 관련된 외부 객체의위치를 식별하기 위한 전자 장치 및 그 방법 - Google Patents

카메라의 정보를 이용하여 이미지와 관련된 외부 객체의위치를 식별하기 위한 전자 장치 및 그 방법 Download PDF

Info

Publication number
KR20240016886A
KR20240016886A KR1020230090943A KR20230090943A KR20240016886A KR 20240016886 A KR20240016886 A KR 20240016886A KR 1020230090943 A KR1020230090943 A KR 1020230090943A KR 20230090943 A KR20230090943 A KR 20230090943A KR 20240016886 A KR20240016886 A KR 20240016886A
Authority
KR
South Korea
Prior art keywords
electronic device
vertices
image
processor
vertex
Prior art date
Application number
KR1020230090943A
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 US18/226,944 priority Critical patent/US20240037781A1/en
Priority to CN202310938233.5A priority patent/CN117475390A/zh
Publication of KR20240016886A publication Critical patent/KR20240016886A/ko

Links

Images

Classifications

    • 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
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • 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)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)

Abstract

일 실시 예에 따른, 전자 장치(electronic device)는, 카메라 및 프로세서를 포함할 수 있다. 상기 프로세서는, 상기 카메라를 이용하여 획득된 이미지로부터, 외부 객체와 관련된 부분의 꼭짓점들(vertices)을 나타내는 2차원 좌표 값들을 획득하도록, 구성될 수 있다. 상기 프로세서는, 상기 이미지에 포함된 기준 평면 상에서 기준 방향을 따라 연장되고, 상기 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인 및 상기 이미지 내 기준점 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별하도록, 구성될 수 있다. 상기 프로세서는, 상기 제1 라인 및 상기 제2 라인의 교차점(intersection)에 기반하여, 상기 외부 객체에 대응하는 3차원 외부 공간의 꼭짓점들 각각을 나타내는 3차원 좌표 값들을 획득하도록, 구성될 수 있다.

Description

카메라의 정보를 이용하여 이미지와 관련된 외부 객체의 위치를 식별하기 위한 전자 장치 및 그 방법{ELECTRONIC DEVICE FOR IDENTIFYING POSITION OF EXTERNAL OBJECT ASSOCIATED WITH IMAGE BY USING INFORMATION OF CAMERA AND METHOD THEREOF}
본 개시(present disclosure)는, 카메라의 정보를 이용하여 이미지와 관련된 외부 객체의 위치를 식별하기 위한 전자 장치 및 그 방법에 관한 것이다.
이미지에 캡쳐된 외부 객체를 추론하기 위한 알고리즘을 포함하는, 객체 인식 기술에 기반하는 전자 장치 및/또는 서비스가 개발되고 있다. 예를 들어, 객체 인식 기술에 기반하여, 하나 이상의 외부 객체들(예, 보행자(pedestrian), 차량(vehicle))이 이미지로부터 인식될 수 있다. 인식된 하나 이상의 외부 객체들을 인식한 결과를 포함하는 정보는, 자율 주행(Autonomous Driving/Self-Driving)과 같이, 외부 객체를 인지한 사용자의 액션을 차량의 자동화 레벨(automation level)에 따른 자동화 및/또는 대체하기 위해 이용될 수 있다.
카메라로부터 얻은 이미지 만으로 외부 객체의 위치를 식별하기 위한 방안이 요구될 수 있다.
일 실시 예(an embodiment)에 따른, 전자 장치(electronic device)는, 카메라 및 프로세서를 포함할 수 있다. 상기 프로세서는, 상기 카메라를 이용하여 획득된 이미지로부터, 외부 객체와 관련된 부분의 꼭짓점들(vertices)을 나타내는 2차원 좌표 값들을 획득하도록, 구성될 수 있다. 상기 프로세서는, 상기 이미지에 포함된 기준 평면 상에서 기준 방향을 따라 연장되고, 상기 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인 및 상기 이미지 내 기준점 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별하도록, 구성될 수 있다. 상기 프로세서는, 상기 제1 라인 및 상기 제2 라인의 교차점에 기반하여, 상기 외부 객체에 대응하는 3차원 외부 공간의 꼭짓점들 각각을 나타내는 3차원 좌표 값들을 획득하도록, 구성될 수 있다.
일 실시예에 따른, 전자 장치의 방법은, 상기 전자 장치의 카메라를 이용하여 획득된 이미지로부터, 외부 객체와 관련된 부분의 꼭짓점들을 나타내는 2차원 좌표 값들을 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 이미지에 포함된 기준 평면 상에서 기준 방향을 따라 연장되고, 상기 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인 및 상기 이미지 내 기준점 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별하는 동작을 포함할 수 있다. 상기 방법은, 상기 제1 라인 및 상기 제2 라인의 교차점에 기반하여, 상기 외부 객체에 대응하는 3차원 외부 공간의 꼭짓점들 각각을 나타내는 3차원 좌표 값들을 획득하는 동작을 포함할 수 있다.
일 실시예에 따른, 컴퓨터 판독 가능 저장 매체는 인스트럭션들을 포함할 수 있다. 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 전자 장치의 카메라를 이용하여 획득된 이미지로부터, 외부 객체와 관련된 부분의 꼭짓점들을 나타내는 2차원 좌표 값들을 획득하도록, 상기 전자 장치를 야기할 수 있다. 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 이미지에 포함된 기준 평면 상에서 기준 방향을 따라 연장되고, 상기 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인 및 상기 이미지 내 기준점 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별하도록, 상기 전자 장치를 야기할 수 있다. 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 제1 라인 및 상기 제2 라인의 교차점에 기반하여, 상기 외부 객체에 대응하는 3차원 외부 공간의 꼭짓점들 각각을 나타내는 3차원 좌표 값들을 획득하도록, 상기 전자 장치를 야기할 수 있다.
일 실시예에 따른, 전자 장치는, 카메라로부터 얻은 이미지 만으로 외부 객체의 위치를 식별할 수 있다.
도 1은, 이미지를 이용하여 외부 객체의 위치를 식별하는 전자 장치의 일 실시예를 도시한다.
도 2는, 일 실시 예에 따른, 전자 장치의 블록도(block diagram)의 일 예를 도시한다.
도 3은, 일 실시예에 따른, 전자 장치의 동작을 설명하기 위한 예시적인 흐름도를 도시한다.
도 4는, 일 실시예에 따른, 전자 장치의 카메라의 내재적 파라미터를 획득하기 위한 동작을 도시한다.
도 5는, 카메라의 렌즈에 의해 발생된 이미지의 왜곡을 보상하는 전자 장치의 예시적인 동작을 도시한다.
도 6은, 2차원의 이미지로부터 3차원 외부 공간 내 외부 객체의 위치를 식별하는 전자 장치의 예시적인 동작을 도시한다.
도 7은, 2차원의 이미지로부터 외부 객체의 위치를 식별하는 전자 장치의 예시적인 동작을 도시한다.
도 8a 내지 도 8b는, 2차원의 이미지로부터 외부 객체의 위치를 식별하는 전자 장치의 예시적인 동작을 도시한다.
도 9는, 일 실시 예에 따른, 차량의 자율 주행 시스템을 도시한 블록도의 일 예를 도시한다.
도 10 및 도 11은, 일 실시 예에 따른, 자율 주행 이동체를 나타내는 블록도의 일 예를 도시한다.
도 12는, 다양한 실시 예들에 따른 사용자 장치와 관련된 게이트웨이의 예를 도시한다.
도 13은, 일 실시예에 따른, 전자 장치의 블록도이다.
이하, 본 문서의 실시예들이 첨부된 도면을 참조하여 설명된다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
도 1은, 이미지를 이용하여 외부 객체의 위치를 식별하는 전자 장치(101)의 일 실시예를 도시한다. 도 1을 참고하면, 제1 차량(110)에 포함된 전자 장치(101)의 일 예가 도시된다. 전자 장치(101)는 제1 차량(110) 내 ECU(electronic control unit)에 대응하거나, 또는 ECU에 포함될 수 있다. 상기 ECU는 ECM(electronic control module)으로 지칭될(referred as) 수 있다. 또는 상기 전자 장치(101)는 제1 차량(110)에서 본 발명의 실시 예에 따른 기능을 제공하기 위한 용도의 독립된 하드웨어(Hardware)로 구성될 수 있다. 실시예가 이에 제한되는 것은 아니며, 전자 장치(101)는 제1 차량(110)에 부착된 디바이스(예, 블랙박스)에 대응하거나, 또는 상기 디바이스에 포함될 수 있다.
일 실시예에 따른, 전자 장치(101)는, 제1 차량(110)의 일 방향을 향하여 위치된 카메라(112)와 전기적으로 및/또는 작동적으로 연결될 수 있다. 도 1을 참고하면, 제1 차량(110)의 전 방(front direction 및/또는 주행 방향(driving direction))을 향하여 위치된 카메라(112)가 예시적으로 도시되지만, 카메라(112)의 방향이 도 1에 예시된 방향에 제한되는 것은 아니다. 전자 장치(101) 및 카메라(112)가 분리된 일 실시예가 도시되지만, 실시예가 이에 제한되는 것은 아니며, 전자 장치(101) 및 카메라(112)가 블랙박스와 같이 단일의 패키지(single package 또는 single housing) 내에 집적될(integrated) 수 있다.
일 실시예에 따른, 전자 장치(101)는 카메라(112)로부터 획득된 이미지(130)를 이용하여, 카메라(112)의 FoV(field-of-view)에 포함된 외부 객체(예, 제2 차량(120))를 인식할 수 있다. 외부 객체를 인식하는 동작은, 상기 외부 객체의 타입, 클래스 및/또는 카테고리를 식별하는 동작을 포함할 수 있다. 예를 들어, 전자 장치(101)는 차량, 도로, 표지판 및/또는 보행자와 같은 지정된 카테고리들 중에서, 이미지(130)에 의해 캡쳐된 외부 객체에 대응하는 카테고리를 식별할 수 있다. 외부 객체를 인식하는 동작은, 카메라(112) 및/또는 제1 차량(110)에 대한 상기 외부 객체의 위치(예, 3차원 좌표 값)를 계산하는 동작을 포함할 수 있다.
도 1 및 후술되는 도면들을 참고하여 설명되는 일 실시예는, 제2 차량(120)과 같은 외부 객체의 위치를 식별하거나 또는 계산하는 전자 장치(101), 상기 전자 장치(101)의 방법, 전자 장치(101)에 의해 실행되는 컴퓨터 프로그램 및/또는 상기 컴퓨터 프로그램을 포함하는 컴퓨터-판독 가능 저장 매체와 관련될 수 있다. 일 실시예에 따른, 전자 장치(101)는 단일의 카메라(112)로부터 획득된 단일 이미지(130)를 이용하여 외부 객체의 위치를 식별할 수 있다. 예를 들어, ToF(time-of-flight), LiDAR(light detection and ranging), 레이더(radio detection and ranging), SONAR(sound navigation and ranging) 및/또는 스테레오 카메라와 같이, 외부 객체의 위치를 나타내는 3차원 좌표 값들을 직접적으로 획득하기 위한 센서 및/또는 하드웨어 없이(without), 전자 장치(101)는 이미지(130)로부터 외부 객체의 위치를 식별할 수 있다.
예를 들어, 전자 장치(101)는 이미지(130)로부터, 외부 객체(예, 제2 차량(120))에 대응하는 시각적 객체(122)를 식별할 수 있다. 시각적 객체(122)는, 이미지(130)에 포함된 픽셀들 중에서, 외부 객체를 표현하는 하나 이상의 픽셀들을 포함할 수 있다. 전자 장치(101)는, 이미지(130)에 기반하여 외부 객체를 인식하여, 상기 외부 객체에 대응하는 시각적 객체(122)에 대응하는 이미지(130) 내 바운딩 박스(140)를 식별할 수 있다. 전자 장치(101)는 바운딩 박스(140)의 꼭짓점들(vertices)(i1, i2, i3, i4)의 2차원 좌표 값들로부터, 외부 객체에 의해 점유되는 외부 공간을 식별할 수 있다. 예를 들어, 전자 장치(101)는 상기 외부 공간의 꼭짓점들(v1, v2, 3, v4, v5, v6, v7, v8)의 3차원 좌표 값들을 획득할 수 있다. 예를 들어, 제2 차량(120)에 대응하는 외부 공간의 꼭짓점들(v1, v2, 3, v4, v5, v6, v7, v8)의 3차원 좌표 값들을 획득한 전자 장치(101)는, 상기 3차원 좌표 값들에 의해 나타나는 제2 차량(120)의 3차원 위치를 이용하여, 제1 차량(110)의 자율 주행을 위한 기능(예, 경로 계획(path planning)을 실행할 수 있다.
도 2는, 일 실시 예에 따른, 전자 장치(101)의 블록도(block diagram)의 일 예를 도시한다. 도 1의 전자 장치(101)는, 도 2를 참고하여 설명되는 전자 장치(101)에 포함된 하드웨어를 적어도 부분적으로 포함할 수 있다.
도 2를 참고하면, 일 실시 예에 따른, 전자 장치(101)는, 프로세서(210), 메모리(215) 또는 카메라(112) 중 적어도 하나를 포함할 수 있다. 프로세서(210), 메모리(215) 및 카메라(112)는 통신 버스(a communication bus)(202)와 같은 전자 부품(electronical component)에 의해 서로 전기적으로 및/또는 작동적으로 연결될 수 있다(electronically and/or operably coupled with each other). 이하에서, 디바이스들 및/또는 회로들이 작동적으로 결합된 것은, 제1 회로 및/또는 제1 디바이스에 의해 제2 회로 및/또는 제2 디바이스가 제어되도록, 디바이스들 및/또는 회로들 사이의 직접적인 연결, 또는 간접적인 연결이 유선으로, 또는 무선으로 수립된 것을 의미할 수 있다. 상이한 블록들에 도시되었으나, 실시 예가 이에 한정되는 것은 아니다. 도 2의 하드웨어들 중 일부분이 SoC(system on a chip)와 같이 단일 집적 회로(single integrated circuit)에 포함될 수 있다. 전자 장치(101) 내에 포함된 하드웨어의 타입, 및/또는 개수는, 도 2에 도시된 바에 제한되지 않는다. 예를 들어, 전자 장치(101)는, 도 2에 도시된 하드웨어 중 일부만 포함할 수 있다.
일 실시 예에 따른, 전자 장치(101)는, 하나 이상의 인스트럭션들에 기반하여 데이터를 처리하기 위한 하드웨어를 포함할 수 있다. 데이터를 처리하기 위한 하드웨어는, 프로세서(210)를 포함할 수 있다. 예를 들어, 데이터를 처리하기 위한 하드웨어는, ALU(arithmetic and logic unit), FPU(floating point unit), FPGA(field programmable gate array), CPU(central processing unit), 및/또는 AP(application processor)를 포함할 수 있다. 프로세서(210)는, 싱글-코어 프로세서의 구조를 가지거나, 또는 듀얼 코어(dual core), 쿼드 코어(quad core), 헥사 코어(hexa core), 또는 옥타 코어(octa core)와 같은 멀티-코어 프로세서의 구조를 가질 수 있다.
일 실시 예에 따른, 전자 장치(101)의 메모리(215)는, 전자 장치(101)의 프로세서(210)에 입력, 및/또는 출력되는 데이터, 및/또는 인스트럭션을 저장하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 예를 들어, 메모리(215)는, RAM(random-access memory)과 같은 휘발성 메모리(volatile memory), 및/또는 ROM(read-only memory)과 같은 비휘발성 메모리(non-volatile memory)를 포함할 수 있다. 예를 들어, 휘발성 메모리는, DRAM(dynamic RAM), SRAM(static RAM), Cache RAM, PSRAM(pseudo SRAM) 중 적어도 하나를 포함할 수 있다. 예를 들어, 비휘발성 메모리는, PROM(programmable ROM), EPROM(erasable PROM), EEPROM(electrically erasable PROM), 플래시 메모리, 하드디스크, 컴팩트 디스크, SSD(solid state drive), eMMC(embedded multi-media card) 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따른, 전자 장치(101)의 카메라(112)는, 렌즈 어셈블리(assembly), 또는 이미지 센서를 포함할 수 있다. 상기 렌즈 어셈블리는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일 실시 예에 따른, 카메라(112)는, 복수의 렌즈 어셈블리들을 포함할 수 있다. 예를 들어, 카메라(112)는, 복수의 렌즈 어셈블리들 중 일부는 동일한 렌즈 속성(예, 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 어셈블리의 렌즈 속성들과 상이한 하나 이상의 렌즈 속성들을 가질 수 있다. 상기 렌즈 속성들은, 카메라(112)에 대한 내재적 파라미터(intrinsic parameter)로 지칭될 수 있다. 상기 내재적 파라미터들은, 전자 장치(101)의 메모리(215) 내에 저장될 수 있다.
일 실시예에서, 렌즈 어셈블리는, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다. 일 실시 예에 따르면, 플래쉬는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다. 예를 들어, 카메라(112) 내 이미지 센서는 피사체로부터 방출 또는 반사되어 렌즈 어셈블리를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일 실시 예에 따르면, 이미지 센서는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서를 이용하여 구현될 수 있다.
일 실시예에 따른, 전자 장치(101)의 프로세서(210)는, 카메라(112)를 이용하여 이미지를 획득할 수 있다. 프로세서(210)는, 메모리(215)에 저장된 내재적 정보를 이용하여, 카메라(112)의 렌즈에 의해 야기된(caused by) 상기 이미지의 왜곡을 보상할 수 있다. 상기 이미지의 왜곡을 보상하기 위하여 전자 장치(101)에 의해 수행되는 동작 및/또는 상기 내재적 정보가, 도 4 내지 도 5를 참고하여 설명된다. 상기 왜곡이 보상된 이미지에 대하여, 프로세서(210)는 객체 인식을 수행할 수 있다. 상기 객체 인식에 기반하여, 프로세서(210)는, 상기 왜곡이 보상된 상기 이미지 내에서, 외부 객체와 관련된 부분을 식별할 수 있다. 예를 들어, 프로세서(210)는 상기 이미지의 2차원 좌표계에 기반하여, 상기 부분의 꼭짓점들을 나타내는 2차원 좌표 값들을 획득할 수 있다. 상기 부분은, 바운딩 박스(bounding box)와 같이, 직사각형의 형태를 가질 수 있다.
일 실시예에 따른, 전자 장치(101)는, 이미지로부터 식별된 상기 2차원 좌표 값들에 기반하여, 외부 객체에 대응하는 3차원 외부 공간을 식별할 수 있다. 예를 들어, 전자 장치(101)는 상기 외부 공간의 꼭짓점들의 3차원 좌표 값들을 획득할 수 있다. 전자 장치(101)는 카메라(112)의 외재적 정보(extrinsic information)(또는 외재적 파라미터)를 이용하여, 상기 2차원 좌표 값들로부터 상기 3차원 좌표 값들을 획득할 수 있다. 카메라(112)에 대한 외재적 정보는, 전자 장치(101)의 메모리(215) 내에 저장되고, 상기 카메라(112)의 위치 및/또는 방향(예, 도 1의 제1 차량(110) 내에서의 카메라(112)의 위치 및/또는 방향)을 나타낼 수 있다. 전자 장치(101)가 상기 2차원 좌표 값들로부터 상기 3차원 좌표 값들을 획득하는 동작이, 도 6 내지 도 7, 도 8a 및/또는 도 8b를 참고하여 설명된다.
이하에서는, 도 3을 참고하여, 카메라(112)로부터 획득된 이미지를 처리하여, 상기 이미지에 의해 캡쳐된 외부 객체의 위치를 3차원으로 식별하기 위한 전자 장치(101) 및/또는 프로세서(210)의 동작이 설명된다.
도 3은, 일 실시예에 따른, 전자 장치의 동작을 설명하기 위한 예시적인 흐름도를 도시한다. 도 1 내지 도 2의 전자 장치(101)는 도 3을 참고하여 설명된 전자 장치의 동작을 수행할 수 있다. 예를 들어, 도 2의 전자 장치(101) 및/또는 프로세서(210)는 도 3의 동작들 중 적어도 하나를 수행할 수 있다. 일 실시예에서, 전자 장치 및/또는 프로세서로 하여금 도 3의 동작들을 수행하게 만드는 소프트웨어 어플리케이션 및/또는 인스트럭션들을 포함하는, 컴퓨터 판독 가능 저장 매체가 제공될 수 있다.
도 3을 참고하면, 동작(310) 내에서, 일 실시예에 따른, 전자 장치의 프로세서는, 카메라(예, 도 1 내지 도 2의 카메라(112))로부터 획득된 이미지(예, 도 1의 이미지(130)) 내에서, 외부 객체와 관련된 이미지의 부분의 꼭짓점들에 대한 2차원 좌표 값들을 획득할 수 있다. 동작(310)의 이미지는, 단일 카메라로부터 획득된 단일 이미지에 대응할 수 있다. 동작(310)의 이미지는, 복수의 카메라들로부터 획득된 이미지들이 병합된(또는 스티칭된) 단일 이미지에 대응할 수 있다. 예를 들어, 적어도 부분적으로 중첩되는 FoV를 가지는 상기 복수의 카메라들로부터 획득된 이미지들을 병합하여, 전자 장치(101)는 동작(310)의 이미지를 획득할 수 있다. 복수의 카메라들로부터 획득된 이미지들의 병합에 대응하는 상기 단일 이미지는, 파노라마 이미지로 지칭될 수 있다.
일 실시예에 따른, 프로세서는 동작(310)의 2차원 좌표 값들을 획득하기 위하여, 카메라로부터 획득된 이미지에 대한 후처리를 수행할 수 있다. 상기 후처리는, 상기 카메라에 대응하는 내재적 정보에 기반하여 상기 이미지를 변경하는 동작을 포함할 수 있다. 예를 들어, 프로세서는 카메라의 렌즈에 의해 야기된 상기 이미지의 왜곡을 보상할 수 있다. 프로세서는 상기 이미지의 상기 왜곡을 보상하기 위하여, 카메라에 대응하는 내재적 정보로부터, 상기 왜곡과 관련된 정보(예, 렌즈의 화각(FoV), 초점 거리 및/또는 렌즈의 형태에 대한 정보)를 획득할 수 있다. 상기 왜곡이 보상된 이미지를 이용하여, 프로세서는 동작(310)의 2차원 좌표 값들을 획득할 수 있다.
일 실시예에 따른, 프로세서는, 동작(310)의 이미지가 입력된 뉴럴 네트워크를 이용하여, 외부 객체가 캡쳐된 상기 이미지의 상기 부분을 식별할 수 있다. 일 실시예에서, 뉴럴 네트워크는, 추론 및/또는 인식과 관련된 생물의 신경 활동에 대한 수학적 모델 및/또는 상기 수학적 모델을 구동하기 위한 하드웨어(예, CPU, GPU(graphic processing unit) 및/또는 NPU(neural processing unit)), 소프트웨어 또는 이들의 결합(or any combination thereof)을 포함할 수 있다. 상기 뉴럴 네트워크는, CNN(convolutional neural network) 및/또는 LSTM(long-short term memory)에 기반될 수 있다. 일 실시예에 따른, 프로세서는 상기 뉴럴 네트워크를 이용하여, 외부 객체가 캡쳐된 이미지의 부분에 피팅(fitting)된 도형(예, 사각형)의 꼭짓점들의 2차원 좌표 값들을 획득할 수 있다. 프로세서는 상기 뉴럴 네트워크를 이용하여, 상기 외부 객체가 지정된 카테고리들 각각에 매칭될 확률들을 식별할 수 있다.
도 3을 참고하면, 동작(320) 내에서, 일 실시예에 따른, 전자 장치의 프로세서는, 카메라와 관련된 정보에 기반하여, 기준 면(예, 지면) 상에서 꼭짓점들 중 제1 꼭짓점과 중첩된 3차원의 제1 라인 및 3차원의 기준 점 및 제2 꼭짓점을 연결하는 제2 라인을 식별할 수 있다. 동작(320)의 정보는, 카메라의 외재적 정보를 포함할 수 있다. 상기 외재적 정보는, 카메라가 위치된 높이, 방향 및/또는 회전(예, 롤(roll), 피치(pitch), 및/또는 요우(yaw))을 나타내는 파라미터들(예, 외재적 파라미터들)을 포함할 수 있다. 상기 외재적 정보는, 상기 카메라가 위치된 차량(예, 도 1의 제1 차량(110))의 중심 축 및 상기 이미지의 중심 사이의 각도, 방향 및/또는 기울기에 대한 파라미터들을 포함할 수 있다.
일 실시예에서, 프로세서는, 카메라와 관련된 정보에 기반하여, 이미지 내에서 기준 면(예, 지면)을 식별할 수 있다. 예를 들어, 프로세서는, 상기 정보에 의해 나타나는 상기 기준 면에 대한 상기 카메라의 위치에 기반하여, 이미지 내에서 상기 기준 면에 대응하는 픽셀들에 대응하는 3차원 좌표 값들을 획득할 수 있다. 프로세서는 상기 기준 면 내에서, 상기 카메라 및/또는 상기 카메라가 위치된 차량의 기준 방향(예, 차량의 주행 방향)과 평행하고, 동작(310)의 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인을 식별할 수 있다. 프로세서는, 기준 점(예, 이미지의 중심 축 상의 특정 픽셀에 대응하는 3차원 위치의 지점) 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별할 수 있다. 상기 제1 라인 및 상기 제2 라인의 일 예가, 도 7, 도 8a 내지 도 8b를 참고하여 설명된다.
도 3을 참고하면, 동작(330) 내에서, 일 실시예에 따른, 전자 장치의 프로세서는, 이미지 내 제1 라인 및 제2 라인의 교차점에 기반하여, 외부 객체가 위치된 외부 공간의 꼭짓점들에 대한 3차원 좌표 값들을 획득할 수 있다. 프로세서는, 기준 면에 기반하여 상기 이미지의 하나 이상의 픽셀들에 할당된 3차원 좌표 값들에 기반하여, 동작(330)의 교차점의 3차원 좌표 값들을 획득할 수 있다. 프로세서는 상기 교차점으로부터 동작(310)의 꼭짓점들 중 상기 제1 꼭짓점 및 제2 꼭짓점과 상이한 다른 꼭짓점으로 연장되는 라인을 이용하여, 외부 객체에 의해 점유되는 외부 공간의 꼭짓점들을 추정할 수 있다. 프로세서가 상기 외부 공간의 상기 꼭짓점들의 3차원 좌표 값들을 추정하기 위하여 수행되는 동작이, 도 4 내지 도 7, 도 8a 내지 도 8b를 참고하여 설명된다.
도 4는, 일 실시예에 따른, 전자 장치의 카메라의 내재적 파라미터를 획득하기 위한 동작을 도시한다. 도 1 내지 도 2의 전자 장치(101)는 도 4를 참고하여 설명되는 동작을 수행할 수 있다. 예를 들어, 도 2의 전자 장치(101) 및/또는 프로세서(210)는 도 4를 참고하여 설명되는 동작을 수행할 수 있다. 도 4의 카메라는 도 1 내지 도 2의 카메라(112)를 포함할 수 있다.
도 4를 참고하면, 일 실시예에 따른, 전자 장치는 카메라를 이용하여 지정된 패턴이 그려진 외부 객체(410)를 캡쳐한 결과에 기반하여, 내재적 파라미터를 획득하거나, 또는 계산할 수 있다. 도 4를 참고하면, 전자 장치에 의해 캡쳐되고, 예시적인 패턴들을 포함하는, 외부 객체들(411, 412)이 도시된다. 예를 들어, 흰색 사각형 및 흑색 사각형이 반복적으로 배열된, 체스 보드의 텍스쳐를 가지는 평면을 포함하는 외부 객체(411)가 도시된다. 예를 들어, 상이한 형태들을 가지는 라인 및/또는 패턴이 인쇄된 외부 객체(412)가 도시된다.
일 실시예에서, 내재적 파라미터의 획득을 위하여, 전자 장치는 상이한 각도들 및/또는 방향들에서 외부 객체(410)를 캡쳐한 이미지들을 획득할 수 있다. 상기 이미지들 각각은, 상이한 방향들에서 캡쳐된 상기 외부 객체를 표현(represent)할 수 있다.
일 실시예에 따른, 전자 장치는 역투영(unprojection)에 기반하여, 상기 복수의 이미지들 각각에서 캡쳐된 상기 이미지들에 대한 3차원 좌표 값들을 획득할 수 있다. 예를 들어, 전자 장치는 외부 공간에 대응하는 3차원 좌표 공간으로, 상기 복수의 이미지들 각각에 포함되고, 상기 외부 객체를 표현하는, 시각적 객체에 대한 역투영을 수행할 수 있다. 상기 역투영에 기반하여, 전자 장치는 복수의 이미지들 각각에 포함된 상기 시각적 객체의 2차원 좌표 값들에 대응하는 좌표 공간 내 3차원 좌표 값들을 획득할 수 있다. 상기 3차원 좌표 값들에 기반하여, 전자 장치는 이미지들(410) 내에서 상기 카메라의 렌즈에 의해 야기된 왜곡을 식별할 수 있다. 전자 장치는, 상기 카메라에 대응하는 내재적 파라미터로써, 상기 왜곡에 대한 정보를 저장할 수 있다. 상기 내재적 파라미터는, 상기 이미지에 포함되고, 상기 렌즈에 의해 야기된, 왜곡을 보상하는데 이용될 수 있다. 이하에서는, 도 5를 참고하여, 상기 내재적 파라미터에 기반하여 상기 왜곡을 보상하는 전자 장치의 예시적인 동작이 설명된다.
도 5는, 카메라의 렌즈에 의해 발생된 이미지의 왜곡을 보상하는 전자 장치의 예시적인 동작을 도시한다. 도 1 내지 도 2의 전자 장치(101)는 도 5를 참고하여 설명되는 동작을 수행할 수 있다. 예를 들어, 도 2의 전자 장치(101) 및/또는 프로세서(210)는 도 5를 참고하여 설명되는 동작을 수행할 수 있다. 도 5의 카메라는, 도 1 내지 도 2의 카메라(112)를 포함할 수 있다.
도 5를 참고하면, 렌즈에 의해 발생되는 이미지의 왜곡을 설명하기 위한 예시적인 이미지들(510, 512, 514)이 도시된다. 이미지들(510, 512, 514)은, 상이한 왜곡들을 가지는 카메라들을 이용하여 동일한 외부 객체(예, 반복적으로 배열된 사각형들을 포함하는 평면을 포함하는 외부 객체)를 캡쳐하여 획득될 수 있다. 렌즈에 의한 왜곡이 없는 카메라로부터 획득된 이미지(510) 및 배럴 왜곡(barrel distortion)(또는, negative radial distortion)을 가지는 카메라로부터 획득된 이미지(512)를 비교하면, 이미지(512)의 중심을 포함하는 부분이 다른 부분보다 확대될 수 있다. 이미지(510) 및 실패형 왜곡(pincushion distortion)(또는, positive radial distortion)을 가지는 카메라로부터 획득된 이미지(514)를 비교하면, 이미지(514)의 주변부(periphery)를 포함하는 부분이, 이미지(514)의 중심을 포함하는 다른 부분보다 확대될 수 있다.
일 실시예에 따른, 전자 장치는 카메라에 대응하는 내재적 파라미터에 기반하여, 렌즈에 포함된 왜곡을 식별할 수 있다. 예를 들어, 전자 장치는 상기 내재적 파라미터로부터, 상술된 배럴 왜곡 및/또는 상기 실패형 왜곡 중에서, 상기 렌즈에 의해 발생되는 왜곡을 식별할 수 있다. 일 실시예에 따른, 전자 장치의 프로세서는, 상기 내재적 파라미터(예, 초점 거리 및/또는 왜곡 계수)를 이용하여, 상기 이미지를 변경할 수 있다. 예를 들어, 전자 장치는 상기 이미지를 변경하여, 상기 왜곡이 보상된 이미지를 획득할 수 있다.
일 실시예에 따른, 전자 장치는, 내재적 파라미터에 기반하여, 왜곡이 포함된 이미지를 변경할 수 있다. 예를 들어, 전자 장치가, 이미지(512)와 같이 배럴 왜곡을 포함하는 이미지를 변경하는 경우, 상기 이미지 내에서 상기 배렬 왜곡이 발생된 부분(522)이, 부분(520)과 같이 변경될 수 있다. 예를 들어, 전자 장치가 이미지(514)와 같이 실패형 왜곡을 포함하는 이미지를 변경하는 경우, 상기 이미지 내에서 상기 실패형 왜곡이 발생된 부분(532)이, 부분(530)과 같이 변경될 수 있다.
일 실시예에 따른, 전자 장치는, 수학식 1 및/또는 수학식 2에 기반하여, 이미지의 왜곡을 보상할 수 있다.
수학식 1의 p는 이미지의 좌표 [u, v, 1]일 수 있다. 수학식 1의 P는, 상기 이미지의 좌표에 대응하는 공간 좌표 [X, Y, Z, 1]일 수 있다. 수학식 1의 K는 내재적 파라미터로써, x 축의 초점 거리(예, 수학식 2의 fx), y 축의 초점 거리(예, 수학식 2의 fy), 이미지의 수평 중심 축(예, 수학식 2의 u0), 이미지의 수직 중심 축(예, 수학식 2의 v0) 중 적어도 하나를 포함하는 행렬일 수 있다. 수학식 1의 R은 내재적 파라미터로써, 좌표의 회전을 위한 회전 계수들(예, 수학식 2의 r11 내지 r33)을 포함하는 회전 행렬(rotation matrix)일 수 있다. 수학식 1의 t는 내재적 파라미터로써, 좌표 공간내 이동을 위한 변환 행렬(translation matrix)일 수 있다.
전자 장치는, 내재적 파라미터에 기반하여 렌즈에 의한 비틀림(Skew)을 식별한 경우, 수학식 3에 기반하여, 이미지의 왜곡을 보상할 수 있다. 비틀림은, 렌즈의 제조 프로세스에서 발생되는 공차 범위에 기반하여, 상기 제조 프로세스에서 렌즈에 야기되는 비틀림의 평균 값으로 설정되거나, 또는 생략될 수 있다(예, 0).
일 실시예에 따른, 전자 장치는, 수학식 4에 기반하여, 내재적 파라미터로부터 이미지의 왜곡을 나타내는 파라미터들(k1, k2)을 계산할 수 있다.
일 실시예에 따른, 전자 장치는, 왜곡을 보상하기 이전 이미지 및 왜곡을 보상한 이후의 이미지들 사이의 좌표들의 관계에 기반하여, 왜곡을 보상하기 위한 정보(예, 매핑 테이블 및/또는 변환 매트릭스)를 획득할 수 있다. 상기 정보를 이용하여, 전자 장치는, 카메라로부터 획득된 이미지 및/또는 비디오의 픽셀들을 이동하여, 렌즈에 의해 발생된 왜곡을 보상할 수 있다.
도 6은, 2차원의 이미지로부터 3차원 외부 공간 내 외부 객체의 위치를 식별하는 전자 장치의 예시적인 동작을 도시한다. 도 1 내지 도 2의 전자 장치(101)는 도 6을 참고하여 설명되는 동작을 수행할 수 있다. 예를 들어, 도 2의 전자 장치(101) 및/또는 프로세서(210)는 도 6을 참고하여 설명되는 동작을 수행할 수 있다.
일 실시예에 따른, 전자 장치는, 렌즈에 의해 발생된 왜곡이 보상된 이미지(610)로부터, 역투영에 기반하여, 상기 이미지(610)에 의해 캡쳐된 외부 객체(620)(예, 차량)의 3차원 좌표를 획득할 수 있다. 예를 들어, 이미지(610) 내에서 상기 외부 객체(620)에 대응하는 시각적 객체(612)를 식별한 전자 장치는, 카메라의 위치에 대응하는 지점(C)을 포함하는 3차원 좌표 공간 내에서, 상기 시각적 객체(612)의 지점(i1)의 좌표(xi, yi, f)를 획득할 수 있다. 전자 장치는 수학식 5에 기반하여, 상기 지점(i1)에 대응하는 외부 객체(620)의 지점(p1)의 3차원 좌표(xs, ys, zs)를 식별할 수 있다.
일 실시예에 따른, 전자 장치는 이미지(610) 내에서 시각적 객체(612)와 관련된 지점(i1)의 좌표로부터, 외부 객체(620)를 감싸는 직육면체(예, 큐브(cube))의 6 개의 꼭짓점들의 좌표 값들을 획득할 수 있다. 이하에서는, 도 7, 도 8a 및/또는 도 8b를 참고하여, 상기 6 개의 꼭짓점들의 좌표 값들을 획득하는 전자 장치의 예시적인 동작이 설명된다.
도 7은, 2차원의 이미지로부터 외부 객체의 위치를 식별하는 전자 장치의 예시적인 동작을 도시한다. 도 1 내지 도 2의 전자 장치(101)는 도 7을 참고하여 설명되는 동작을 수행할 수 있다. 예를 들어, 도 2의 전자 장치(101) 및/또는 프로세서(210)는 도 7을 참고하여 설명되는 동작을 수행할 수 있다.
도 7을 참고하면, 전자 장치가 포함된 제1 차량(예, 도 1의 제1 차량(110))의 사이드 미러에 위치된 카메라로부터 획득된 이미지(710)가 예시적으로 도시된다. 이미지(710)는, 상기 카메라의 내재적 파라미터에 의해 식별된 왜곡이 보정된 이미지일 수 있다. 이미지(710)의 경계에 의해 외부 객체가 부분적으로 캡쳐되지 않은 경우, 프로세서는 이미지(710)로부터 상기 외부 객체의 위치를 나타내는 3차원 좌표 값들을 획득할 수 있다. 프로세서는, 이미지(710) 내에 캡쳐된 제2 차량과 같이, 전자 장치를 포함하는 제1 차량과 평행한 방향으로 주행하는 제2 차량에 대하여, 상기 제2 차량의 위치를 나타내는 3차원 좌표 값들을 획득할 수 있다. 도 7 내에서, 소문자로 표시된 지점은, 이미지(710) 내 지점으로, 2차원 좌표 값들을 가지는 지점을 나타낼 수 있다. 도 7 내에서, 대문자를 포함하는 지점은, 이미지(710)가 매핑된 외부 공간 내 지점으로, 3차원 좌표 값들을 가질 수 있다.
도 7을 참고하면, 일 실시예에 따른, 전자 장치는 객체 인식에 기반하여, 이미지(710) 내에서 외부 객체(예, 제2 차량)와 관련된 부분(715)을 식별할 수 있다. 전자 장치는 바운딩 박스와 같이, 사각형의 형태를 가지는 부분(715)을 식별할 수 있다. 예를 들어, 전자 장치는, 이미지(710)가 입력된 뉴럴 네트워크를 이용하여, 이미지(710) 내 부분(715)의 꼭짓점들(a, b, c, d)의 2차원 좌표 값들을 획득할 수 있다. 상기 좌표 값들과 함께, 전자 장치는 상기 부분(715)에 포함된 외부 객체의 타입에 기반하여, 차량에 대응하는 상기 외부 객체의 사이즈(예, 전장, 전폭 및/또는 전고)를 획득할 수 있다.
도 7을 참고하면, 전자 장치는 카메라의 외재적 파라미터에 기반하여, 상기 카메라의 3차원 위치를 식별할 수 있다. 상기 3차원 위치에 기반하여, 전자 장치는 지면에 대응하는 기준 평면(720)을 식별할 수 있다. 전자 장치는 상기 꼭짓점들(a, b, c, d) 중에서, 이미지(710)의 하 단에 인접한 꼭짓점들(a, b)에 대한 역투영(예, 도 6을 참고하여 설명된 역투영)을 수행하여, 상기 꼭짓점들(a, b)의 3차원 지점들(Pa, Pb)을 식별할 수 있다. 프로세서는, 3차원 지점(Pa)이 위치되고, 기준 평면(720)의 제1 방향(예, 전자 장치를 포함하는 차량의 주행 방향)을 따라 연장된, 제1 라인(La)을 식별할 수 있다. 프로세서는, 3차원 지점(Pb)이 위치되고, 기준 평면(720)의 상기 제1 방향과 수직인 제2 방향(예, 전자 장치를 포함하는 차량의 주행 방향에 수직인 방향)을 따라 연장된 제2 라인(Lb)을 식별할 수 있다. 전자 장치는 제1 라인(La) 및 제2 라인(Lb)의 교차점(intersection)(M1)을 식별할 수 있다.
도 7을 참고하면, 3차원 교차점(M1)에 대하여, 전자 장치는 이미지(710) 내에서 상기 3차원 교차점(M1)에 대응하는 2차원 지점(m1)을 식별할 수 있다. 전자 장치는 2차원 지점(m1) 및 부분(715)의 꼭짓점(d)을 연결하는 2차원 라인 및 꼭짓점들(a, b)을 연결하는 2차원 라인들의 교차점(m2)을 식별할 수 있다. 상기 교차점(m2)에 대한 역투영을 수행하여, 전자 장치는 상기 교차점(m2)에 대응하는 3차원 지점(M2)의 좌표를 획득할 수 있다. 전자 장치는 지면에 대응하는 기준 평면(720)의 제2 방향을 따라 3차원 지점(M2)으로부터 연장된 제3 라인(Lc) 및 제1 방향을 따라 3차원 지점(M2)으로부터 연장된 제4 라인(Ld)을 식별할 수 있다.
도 7을 참고하면, 전자 장치는 꼭짓점들(b, c)을 연결하는 라인 및 제3 라인(Lc)의 교차점(m3)의 3차원 지점(M4)을 식별할 수 있다. 전자 장치는 꼭짓점들(a, c)을 연결하는 라인 및 제4 라인(Ld)의 교차점에 대한 역투영을 수행하여, 3차원 지점(M3)을 식별할 수 있다. 전자 장치는 이미지(710) 내에서, 교차점(m3) 및 꼭짓점(d)을 연결하는 라인을 반지름으로 가지는 원(730)을 식별할 수 있다. 상기 반지름은, 부분(715)에 대응하는 외부 객체의 높이(또는 전고)에 대응할 수 있다. 전자 장치는 제3 라인(Lc) 및 원(730)의 교차점(m5)에 대응하는 3차원 지점(M5)을 식별할 수 있다.
일 실시예에 따른, 전자 장치는 3차원 지점들(M3, M2, M4) 각각을, 외부 객체에 의해 점유되는, 직육면체의 외부 공간(740)의 꼭짓점들(A, B, C)로 결정할 수 있다. 전자 장치는 평행 사변형의 특성에 기반하여, 상기 꼭짓점들(A, B, C)로부터 외부 공간(740)의 밑 면의 꼭짓점(D)의 3차원 좌표 값을 획득할 수 있다. 전자 장치는 3차원 지점들(M4, M5) 사이의 거리에 의해 나타나는, 외부 객체의 높이에 기반하여, 상기 꼭짓점들(A, B, C, D) 중 적어도 하나를 평행 이동할 수 있다. 상기 평행 이동에 기반하여, 전자 장치는 외부 공간(740)의 윗 면의 꼭짓점들(E, F, G, H)의 3차원 좌표 값들을 획득할 수 있다.
상술한 바와 같이, 일 실시예에 따른, 전자 장치는, 카메라의 내재적 파라미터 및/또는 외재적 파라미터를 이용하여, 이미지(710)로부터 외부 객체에 의해 점유되는 외부 공간(740)의 꼭짓점들(A, B, C, D, E, F, G, H)의 3차원 좌표 값들을 획득할 수 있다. 전자 장치는, 3차원 좌표 공간 내에서, 전자 장치를 포함하는 제1 차량(예, 도 1의 제1 차량(110))에 대응하는 직육면체 및 꼭짓점들(A, B, C, D, E, F, G, H)에 의해 나타나는 직육면체 사이의 최소 거리에 기반하여, 외부 공간(740)에 위치된 제2 차량 및 제1 차량 사이의 거리를 식별할 수 있다.
도 8a 내지 도 8b는, 2차원의 이미지로부터 외부 객체의 위치를 식별하는 전자 장치의 예시적인 동작을 도시한다. 도 1 내지 도 2의 전자 장치(101)는 도 8a 및 도 8b를 참고하여 설명되는 동작을 수행할 수 있다. 예를 들어, 도 2의 전자 장치(101) 및/또는 프로세서(210)는 도 8a 내지 도 8b를 참고하여 설명되는 동작을 수행할 수 있다. 도 8a 내지 도 8b를 참고하여 설명되는 전자 장치의 동작은, 도 7을 참고하여 설명된 동작과 적어도 부분적으로 유사하게 수행될 수 있다.
도 8a를 참고하면, 전자 장치는 카메라(예, 도 1의 카메라(112))로부터 획득된 이미지(810)에 포함되고, 상기 카메라의 렌즈에 의해 발생된, 왜곡을 보상할 수 있다. 상기 왜곡은, 상기 카메라에 대응하는 내재적 파라미터(예, 도 2의 메모리(215))에 저장된 내재적 파라미터)에 의해 식별될 수 있다. 전자 장치는, 상기 왜곡을 보상하여, 이미지(810)로부터 이미지(820)를 획득할 수 있다. 상기 이미지(820)에 기반하는 객체 인식을 수행하여, 전자 장치는 이미지(820) 내에서 외부 객체와 관련된 부분(822)을 식별할 수 있다. 전자 장치는 부분(822)을 나타내는 이미지(820) 내 2차원 좌표 값들(예, 지점들(a, b, c, d)의 좌표 값들)을 획득할 수 있다. 도 8a 및/또는 도 8b 내에서, 소문자로 표시된 지점은, 이미지(710) 내 지점으로, 2차원 좌표 값들을 가지는 지점을 나타낼 수 있다. 도 8a 및/또는 도 8b 내에서, 대문자를 포함하는 지점은, 이미지(710)가 매핑된 외부 공간 내 지점으로, 3차원 좌표 값들을 가질 수 있다.
도 8을 참고하면, 전자 장치는 카메라의 외재적 파라미터에 기반하여 상기 카메라의 3차원 위치를 식별할 수 있다. 상기 3차원 위치에 기반하여, 전자 장치는 3차원 좌표 공간 내 원점(O) 및 부분(822)의 꼭짓점(b)의 역투영에 대응하는 3차원 지점(B)을 연결하는 제1 라인(824)을 식별할 수 있다. 전자 장치는 상기 3차원 좌표 공간 내에서, 상기 전자 장치를 포함하는 제1 차량(예, 도 1의 제1 차량(110))의 주행 방향에 평행하고, 부분(822)의 꼭짓점(a)의 역투영에 대응하는 3차원 지점(A)으로부터 연장된, 제2 라인(825)을 식별할 수 있다.
도 8을 참고하면, 이미지(820)의 일부분(830)이 확대되어 도시된다. 제1 라인(824) 및 제2 라인(825)의 3차원 교차점(I)에 대응하는 2차원 지점 및 부분(822)의 꼭짓점(c)을 연결하는 라인 및 꼭짓점들(a, b)을 연결하는 라인의 교차점(g)을 식별할 수 있다. 전자 장치는 교차점(g)에 역투영을 수행하여, 교차점(g)에 대응하는 3차원 지점(G)을 식별할 수 있다.
도 7의 3차원 지점(M2)으로부터 3차원 지점들(M3, M4)을 획득하는 전자 장치의 동작과 유사하게, 전자 장치는 3차원 지점(G)으로부터, 3차원 지점들(M3, M4)을 식별할 수 있다. 예를 들어, 전자 장치는 제1 차량의 주행 방향을 따라 연장된 라인 및 꼭짓점들(a, c)을 연결하는 라인의 교차점에 대응하는 3차원 지점(M3)을 식별할 수 있다. 전자 장치는 제1 차량의 주행 방향에 수직인 방향을 따라 3차원 지점(G)으로부터 연장된 라인 및 꼭짓점들(b, d)을 연결하는 라인의 교차점에 대응하는 3차원 지점(M4)을 식별할 수 있다.
일 실시예에서, 전자 장치는 3차원 지점(M4) 및 부분(822) 사이의 관계에 기반하여, 부분(822)에 대응하는 외부 객체의 높이(또는 전고)를 식별할 수 있다. 도 8b를 참고하면, 전자 장치는 꼭짓점들(b, d)을 연결하는 라인 상에서, 3차원 지점(M4)에 대응하는 2차원 지점 및 꼭짓점(d)을 반지름으로 가지는 원(852)을 식별할 수 있다. 상기 원(852) 및 3차원 지점들(G, M4)을 연결하는 라인 사이의 교차점(m5)에 기반하여, 전자 장치는 상기 외부 객체의 높이를 식별할 수 있다.
상술한 바와 같이, 전자 장치는 부분(822)의 꼭짓점들(a, b, c, d)로부터 식별된 3차원 지점들(M3, G, M4)을, 외부 객체에 의해 점유되는 외부 공간(860)의 밑 면의 꼭짓점들로 결정할 수 있다. 전자 장치는 평행 사변형의 특성에 기반하여, 상기 밑 면의 나머지 꼭짓점(M2)을 식별할 수 있다. 전자 장치는 상기 식별된 높이에 기반하여 꼭짓점들(M3, G, M4, M2)을 평행 이동하여, 상기 외부 공간(860)의 윗 면의 꼭짓점들(M1, M6, M7, M8)을 식별할 수 있다. 전자 장치는 3차원 꼭짓점들(M3, G, M4, M2, M1, M6, M7, M8)에 의해 나타나는, 외부 객체가 위치된 외부 공간(860)을 이용하여, 자율 주행과 관련된 기능을 실행할 수 있다.
도 9는, 일 실시 예에 따른, 차량의 자율 주행 시스템을 도시한 블록도의 일 예를 도시한다.
도 9에 따른 차량의 자율 주행 시스템(900)은 센서들(903), 이미지 전처리기(905), 딥 러닝 네트워크(907), 인공 지능(AI) 프로세서(909), 차량 제어 모듈(911), 네트워크 인터페이스(913), 및 통신부(915)를 포함하는 딥러닝 네트워크일 수 있다. 다양한 실시 예에서, 각 요소들은 다양한 인터페이스를 통해 연결될 수 있다. 예를 들어, 센서들(903)에 의해 센싱되어 출력되는 센서 데이터는 이미지 전처리기(905)로 피드(feed)될 수 있다. 이미지 전처리기(905)에 의해 처리된 센서 데이터는 AI 프로세서(909)에서 실행(run)하는 딥 러닝 네트워크(907)에 피드될 수 있다. AI 프로세서(909)에 의해 실행(run)하는 딥 러닝 네트워크(907)의 출력은 차량 제어 모듈(911)에 피드될 수 있다. AI 프로세서(907)에서 실행(run)되는 딥 러닝 네트워크(907)의 중간 결과들은 AI 프로세서(909)로 피드될 수 있다. 다양한 실시 예에서, 네트워크 인터페이스(913)는 차량 내 전자 장치와 통신을 수행함으로써, 차량의 자율 주행을 위한 자율 주행 경로 정보 및/또는 자율 주행 제어 명령들을 내부 블록 구성들로 전달한다. 일 실시예에서, 네트워크 인터페이스(913)는 센서(들)(903)를 통해 획득된 센서 데이터를 외부 서버로 전송하기 위해 이용될 수 있다. 일부 실시 예에서, 자율 주행 제어 시스템(900)은 적절하게(as appropriate) 추가적인 또는 보다 더 적은 구성 요소들을 포함할 수 있다. 예를 들어, 일부 실시 예에서, 이미지 전처리기(905)는 선택적인(optional) 구성요소일 수 있다. 다른 예를 들면, 후처리 구성 요소(미도시)는 출력이 차량 제어 모듈(911)로 제공되기 전에 딥 러닝 네트워크(907)의 출력에서 후처리를 수행하기 위해 자율 주행 제어 시스템(900) 내에 포함될 수 있다.
일부 실시 예에서, 센서들(903)은 하나 이상의 센서들을 포함할 수 있다. 다양한 실시 예에서, 센서들(903)은 차량의 상이한 위치들에 부착될 수 있다. 센서들(903)은 하나 이상의 상이한 방향들을 향할 수 있다. 예를 들어, 센서들(903)은 전면(forward-facing), 후면(rear-facing), 측면(side-facing) 등 방향들을 향하도록 차량의 앞(front), 옆(sides), 뒤(rear), 및/또는 루프(roof)에 부착될 수 있다. 일부 실시 예에서, 센서들(903)은 높은 동적 범위 카메라들(high dynamic range cameras)과 같은 이미지 센서들일 수 있다. 일부 실시 예에서, 센서들(903)은 비-시각적 센서들(non-visual sensors)을 포함한다. 일부 실시 예에서, 센서들(903)은 이미지 센서 외에도 레이더(RADAR), LiDAR(Light Detection And Ranging), 및/또는 초음파 센서들을 포함한다. 일부 실시 예에서, 센서들(903)은 차량 제어 모듈(911)을 갖는 차량에 장착(mounted)되지 않는다. 예를 들어, 센서들(903)은 센서 데이터를 캡쳐하기 위한 딥 러닝 시스템의 부분으로서 포함되고 환경 또는 도로에 부착 및/또는 주변의 차량들에 장착될 수 있다.
일부 실시 예에서, 이미지 전처리기(Image pre-processor)(905)는 센서들(903)의 센서 데이터를 전처리하기 위해 사용될 수 있다. 예를 들어, 이미지 전처리기(905)는 센서 데이터를 전처리하기 위해, 하나 이상의 구성 요소들로 센서 데이터를 스플릿(split)하기 위해, 및/또는 하나 이상의 구성 요소들을 후처리 하기 위해 사용될 수 있다. 일부 실시 예에서, 이미지 전처리기(905)는 그래픽 처리 장치(graphics processing unit; GPU), 중앙 처리 장치(central processing unit; CPU), 이미지 신호 프로세서, 또는 전문화된 이미지 프로세서(specialized image processor)일 수 있다. 다양한 실시 예에서, 이미지 전처리기(905)는 높은 동적 범위 데이터(high dynamic range data)를 처리하기 위한 톤-맵퍼(tone-mapper) 프로세서일 수 있다. 일부 실시 예에서, 이미지 전처리기(905)는 AI 프로세서(909)의 구성 요소일 수 있다.
일부 실시 예에서, 딥 러닝 네트워크(Deep learning network)(907)는 자율 차량을 제어하기 위한 제어 명령들을 구현하기 위한 딥 러닝 네트워크일 수 있다. 예를 들어, 딥 러닝 네트워크(907)는 센서 데이터를 사용하여 트레이닝된 컨볼루션 뉴럴 네트워크(CNN)와 같은 인공 뉴럴 네트워크일 수 있고, 딥 러닝 네트워크(907)의 출력은 차량 제어 모듈(911)로 제공된다.
일부 실시 예에서, 인공 지능(AI) 프로세서(909)는 딥 러닝 네트워크(907)를 실행(run)하기 위한 하드웨어 프로세서일 수 있다. 일부 실시 예에서, AI 프로세서(909)는 센서 데이터에 대하여 컨볼루션 뉴럴 네트워크(CNN)를 통한 추론(Inference)을 수행하기 위한 전문화된 AI 프로세서이다. 일부 실시 예에서, AI 프로세서(909)는 센서 데이터의 비트 깊이(bit depth)를 위해 최적화될 수 있다. 일부 실시 예에서, AI 프로세서(909)는 컨볼루션, 내적, 벡터 및/또는 행렬 연산들을 포함하는 뉴럴 네트워크의 연산들과 같은 딥 러닝 연산들을 위해 최적화될 수 있다. 일부 실시 예에서, AI 프로세서(909)는 병렬 처리를 효과적으로 수행할 수 있는 복수의 그래픽 처리 장치(GPU)들을 통해 구현될 수 있다.
다양한 실시 예에서, AI 프로세서(909)는 AI 프로세서(909)가 실행되는 동안 센서(들)(903)로부터 수신된 센서 데이터에 딥러닝 분석을 수행하고, 차량을 적어도 부분적으로 자율적으로 작동하는 데 사용된 머신 러닝 결과를 결정하도록 유발하는 명령어들을 갖는 AI 프로세서를 제공하도록 구성된 메모리에 입출력 인터페이스를 통해 커플링될 수 있다. 일부 실시 예에서, 차량 제어 모듈(Vehicle Control Module)(911)은 인공 지능(AI) 프로세서(909)로부터 출력된 차량 제어를 위한 명령들을 처리하고, 차량의 각종 모듈을 제어하기 위해 AI 프로세서(909)의 출력을 각 차량의 모듈을 제어하기 위한 명령어들로 트랜슬레이트(translate)하기 위해 이용될 수 있다. 일부 실시 예에서, 차량 제어 모듈(911)은 자율 주행을 위한 차량을 제어하기 위해 이용된다. 일부 실시 예에서, 차량 제어 모듈(911)은 차량의 스티어링 및/또는 속력을 조정할 수 있다. 예를 들어, 차량 제어 모듈(911)은 감속, 가속, 스티어링, 차선 변경, 차선 유지 등의 차량의 주행을 제어하기 위해 사용될 수 있다. 일부 실시 예에서, 차량 제어 모듈(911)은 브레이크 등들(brake lights), 방향 지시등들(turns signals), 헤드라이트(headlights) 등과 같은 차량 조명(vehicle lighting)을 제어하기 위한 제어 신호들을 생성할 수 있다. 일부 실시 예에서, 차량 제어 모듈(911)은 차량의 사운드 시스템(vehicle's sound system), 차량의 오디오 경고들(vehicle's audio warnings), 차량의 마이크 시스템(vehicle's microphone system), 차량의 경적 시스템(vehicle's horn system) 등과 같은 차량 오디오 관련 시스템들을 제어하기 위해 사용될 수 있다.
일부 실시 예에서, 차량 제어 모듈(911)은 의도된 목적지의 접근 또는 잠재적인 충돌(potential collision)과 같은 주행 이벤트들의 승객들 및/또는 운전자를 알리기 위한 경고 시스템들을 포함하는 통지 시스템들(notification systems)을 제어하기 위해 사용될 수 있다. 일부 실시 예에서, 차량 제어 모듈(911)은 차량의 센서들(903)과 같은 센서들을 조정하기 위해 사용될 수 있다. 예를 들어, 차량 제어 모듈(911)은 센서들(903)의 지향 방향을 수정(modifying the orientation), 센서들(903)의 출력 해상도 및/또는 포맷 유형을 변화, 캡쳐 비율(capture rate)을 증가 또는 감소, 동적 범위(dynamic range)를 조정, 카메라의 초점을 조정할 수 있다. 또한, 차량 제어 모듈(911)은 센서들의 동작을 개별적으로 또는 집단적으로 온/오프 시킬 수 있다.
일부 실시 예에서, 차량 제어 모듈(911)은 필터들의 주파수 범위를 수정하거나, 특징들(features) 및/또는 객체 검출을 위한 엣지 검출 파라미터들(edge detection parameter)을 조정하거나, 비트 깊이 및 채널들을 조정(adjusting channels and bit depth)하는 등과 같은 방식으로 이미지 전처리기(905)의 파라미터들을 변화하기 위해 사용될 수 있다. 다양한 실시 예에서, 차량 제어 모듈(911)은 차량의 자율 주행 및/또는 차량의 운전자-보조(Driver assistance) 기능을 제어하기 사용될 수 있다.
일부 실시 예에서, 네트워크 인터페이스(913)는 자율 주행 제어 시스템(900)의 블록 구성들과 통신부(915)간의 내부 인터페이스를 담당할 수 있다. 구체적으로, 네트워크 인터페이스(913)는 음성 데이터를 포함하는 데이터를 수신 및/또는 발신하기 위한 의사 소통 인터페이스일 수 있다. 다양한 실시 예에서, 네트워크 인터페이스(913)는 통신부(915)를 통해 음성 통화들을 연결하거나 문자 메시지들을 수신 및/또는 발신하거나, 센서 데이터를 전송하거나, 자율 주행 시스템으로 차량의 소프트웨어를 업데이트하거나, 차량의 자율 주행 시스템의 소프트웨어를 업데이트하기 위하여 외부의 서버들과 연결될 수 있다.
다양한 실시 예에서, 통신부(915)는 셀룰러 또는 WiFi 방식의 다양한 무선 인터페이스를 포함할 수 있다. 예를 들어, 네트워크 인터페이스(913)는 통신부(915)를 통해 접속된 외부 서버로부터 센서들(903), 이미지 전처리기(905), 딥 러닝 네트워크(907), AI 프로세서(909), 차량 제어 모듈(911)을 위한 작동 파라미터들 및/또는 명령어들에 대한 업데이트를 수신하기 위해 사용될 수 있다. 예를 들어, 딥 러닝 네트워크(907)의 머신 러닝 모델은 통신부(915)를 사용하여 업데이트될 수 있다. 또 다른 예시에 따르면, 통신부(915)는 이미지 프로세싱 파라미터들과 같은 이미지 전처리기(905)의 작동 파라미터들 및/또는 센서들(903)의 펌웨어를 업데이트하기 위해 이용될 수 있다.
다른 실시 예에서, 통신부(915)는 사고 또는 사고가 발생할 뻔한(near-accident) 이벤트에서 긴급 서비스들(emergency services)과 긴급 연락(emergency contact)을 위한 통신을 활성화시키기 위해 사용될 수 있다. 예를 들어, 충돌 이벤트에서, 통신부(915)는 도움을 위한 긴급 서비스들을 호출하기 위해 사용될 수 있고, 충돌 세부사항들 및 차량의 위치의 긴급 서비스들을 외부로 알리기 위해 사용될 수 있다. 다양한 실시 예에서, 통신부(915)는 예상된 도착 시간 및/또는 목적지 위치를 업데이트 하거나 획득할 수 있다.
일 실시 예에 따르면, 도 9에 도시된 자율 주행 시스템(900)은 차량의 전자 장치로 구성될 수도 있다. 일 실시 예에 따르면, 자율 주행 시스템(900)의 AI 프로세서(909)는 차량의 자율 주행 시에 사용자로부터 자율 주행 해제 이벤트가 발생하면, 자율 주행 해제 이벤트 관련 정보를 딥 러닝 네트워크의 트레이닝 셋 데이터로 입력하도록 제어함으로써 차량의 자율 주행 소프트웨어를 학습시키도록 제어할 수 있다.
도 10 및 도 11은, 일 실시 예에 따른, 자율 주행 이동체를 나타내는 블록도의 일 예를 도시한다. 도 10을 참조하면, 본 실시예에 따른 자율 주행 이동체(1000)는 제어 장치(1100), 센싱 모듈(1004a, 804b, 804c, 804d), 엔진(1006), 및 사용자 인터페이스(1008)를 포함할 수 있다.
자율 주행 이동체(1000)는 자율 주행 모드 또는 매뉴얼 모드를 구비할 수 있다. 일 예로, 사용자 인터페이스(1008)를 통해 수신된 사용자 입력에 따라 매뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 매뉴얼 모드로 전환될 수 있다.
이동체(1000)가 자율 주행 모드로 운행되는 경우 자율 주행 이동체(1000)는 제어 장치(1100)의 제어 하에 운행될 수 있다.
본 실시예에서 제어 장치(1100)는 메모리(1122)와 프로세서(1124)를 포함하는 컨트롤러(1120), 센서(1110), 통신 장치(1130), 오브젝트 검출 장치(1140)를 포함할 수 있다.
여기서, 오브젝트 검출 장치(1140)는 거리 측정 장치(예, 전자 장치(101))의 전부 또는 일부의 기능을 수행할 수 있다.
즉, 본 실시 예에서, 오브젝트 검출 장치(1140)는 이동체(1000) 외부에 위치하는 오브젝트를 검출하기 위한 장치로, 오브젝트 검출 장치(1140)는 이동체 (1000)의 외부에 위치하는 오브젝트를 검출하고, 검출 결과에 따른 오브젝트 정보를 생성할 수 있다.
오브젝트 정보는 오브젝트의 존재 유무에 대한 정보, 오브젝트의 위치 정보, 이동체와 오브젝트와의 거리 정보 및 이동체와 오브젝트와의 상대 속도 정보를 포함할 수 있다.
오브젝트는, 차선, 타 차량, 보행자, 교통 신호, 빛, 도로, 구조물, 과속 방지턱, 지형물, 동물 등을 이동체(1000)의 외부에 위치한 다양한 객체를 포함할 수 있다. 여기서, 교통 신호는 교통 신호등, 교통 표지판, 도로 면에 그려진 문양 또는 텍스트를 포함하는 개념일 수 있다. 그리고, 빛은 타 차량에 구비된 램프에서 생성된 빛이거나 가로등에서 생성된 빛이거나 태양광일 수 있다.
그리고, 구조물은 도로 주변에 위치하고, 지면에 고정된 물체일 수 있다. 예를 들면, 구조물은, 가로등, 가로수, 건물, 전봇대, 신호등, 다리를 포함할 수 있다. 지형물은, 산, 언덕, 등을 포함할 수 있다.
이러한 오브젝트 검출 장치(1140)는 카메라 모듈을 포함할 수 있다. 컨트롤러(1120)는 카메라 모듈에서 촬영되는 외부 이미지로부터 객체 정보를 추출하고 이에 대한 정보를 컨트롤러(1120)가 처리하도록 할 수 있다.
또한, 오브젝트 검출 장치(1140)는 외부 환경을 인식하기 위한 이미징 장치들이 더욱 포함할 수 있다. LIDAR 외에 RADAR, GPS 장치, 주행 거리 측정 장치(Odometry) 및 기타 컴퓨터 비전 장치, 초음파 센서, 적외선 센서 들이 이용될 수 있으며, 이들의 장치는 필요에 따라 선택 또는 동시에 동작하여 보다 정밀한 감지가 가능하도록 한다.
한편, 본 발명의 일 실시 예에 따른 거리 측정 장치는 자율 주행 이동체(1000)와 오브젝트 사이의 거리를 산출하고, 자율 주행 이동체(1000)의 제어 장치(1100)와 연계하여 산출된 거리를 기초로 이동체의 동작을 제어할 수 있다.
일 예로, 자율 주행 이동체(1000)와 오브젝트 간의 거리에 따라 추돌 가능성이 있는 경우, 자율 주행 이동체(1000)는 속도를 낮추거나 또는 정지하도록 브레이크를 제어할 수 있다. 다른 예로, 오브젝트가 이동하는 오브젝트인 경우, 자율 주행 이동체(1000)는 오브젝트와 소정 거리 이상을 유지하도록 자율 주행 이동체(1000)의 주행 속도를 제어할 수 있다.
이러한 본 발명의 일 실시 예에 따른 거리 측정 장치는 자율 주행 이동체 (1000)의 제어 장치(1100) 내의 일 모듈로 구성될 수 있다. 즉, 제어 장치(1100)의 메모리(1122)와 프로세서(1124)가 본 발명에 따른 추돌 방지 방법을 소프트웨어적으로 구현하도록 할 수 있다.
또한, 센서(1110)는 이동체 내부/외부 환경을 센싱 모듈(1004a, 804b, 804c, 804d)와 연결되어 각종 센싱 정보를 획득할 수 있다. 여기서, 센서(1110)는 자세 센서(예를 들면, 요 센서(yaw sensor), 롤 센서(roll sensor), 피치 센서(pitch sensor), 충돌 센서, 휠 센서(wheel sensor), 속도 센서, 경사 센서, 중량 감지 센서, 헤딩 센서(heading sensor), 자이로 센서(gyro sensor), 포지션 모듈(position module), 이동체 전진/후진 센서, 배터리 센서, 연료 센서, 타이어 센서, 핸들 회전에 의한 스티어링 센서, 이동체 내부 온도 센서, 이동체 내부 습도 센서, 초음파 센서, 조도 센서, 가속 페달 포지션 센서, 브레이크 페달 포지션 센서, 등을 포함할 수 있다.
이에 따라, 센서(1110)는 이동체 자세 정보, 이동체 충돌 정보, 이동체 방향 정보, 이동체 위치 정보(GPS 정보), 이동체 각도 정보, 이동체 속도 정보, 이동체 가속도 정보, 이동체 기울기 정보, 이동체 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 이동체 램프 정보, 이동체 내부 온도 정보, 이동체 내부 습도 정보, 스티어링 휠 회전 각도, 이동체 외부 조도, 가속 페달에 가해지는 압력, 브레이크 페달에 가해지는 압력 등에 대한 센싱 신호를 획득할 수 있다.
또한, 센서(1110)는, 그 외, 가속페달센서, 압력센서, 엔진 회전 속도 센서(engine speed sensor), 공기 유량 센서(AFS), 흡기 온도 센서(ATS), 수온 센서(WTS), 스로틀 위치 센서(TPS), TDC 센서, 크랭크각 센서(CAS), 등을 더 포함할 수 있다.
이와 같이, 센서(1110)는 센싱 데이터를 기초로 이동체 상태 정보를 생성할 수 있다.
무선 통신 장치(1130)는 자율 주행 이동체(1000) 간의 무선 통신을 구현하기 위해 구성된다. 예를 들어, 사용자의 모바일 폰, 또는 다른 무선 통신 장치(1130), 다른 이동체, 중앙 장치(교통 제어 장치), 서버 등과 자율 주행 이동체(1000)이 통신할 수 있도록 한다. 무선 통신 장치(1130)는 무선 신호를 접속 무선 프로토콜에 따라 송수신할 수 있다. 무선 통신 프로토콜은 Wi-Fi, Bluetooth, Long-Term Evolution (LTE), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Global Systems for Mobile Communications (GSM)일 수 있으며, 통신 프로토콜은 이에 제한되지 않는다.
또한 본 실시 예에서 자율 주행 이동체(1000)은 무선 통신 장치(1130)를 통해 이동체 간 통신을 구현하는 것도 가능하다. 즉, 무선 통신 장치(1130)는 차량 대 차량 간(V2V) 통신(vehicle-to-vehicle communication)으로 도로 상의 다른 이동체 및 다른 이동체들과 통신을 수행할 수 있다. 자율 주행 이동체(1000)는 주행 경고, 교통 정보와 같은 정보를 차량 간 통신으로 통해 송수신할 수 있으며, 다른 이동체 에게 정보를 요청하거나 요청을 수신하는 것도 가능하다. 예를 들어, 무선 통신 장치(1130)는 V2V 통신을 단 거리 통신(DSRC, dedicated short-range communication) 장치 또는 C-V2V(Cellular-V2V) 장치로 수행할 수 있다. 또한 차량 간의 통신 외에 차량과 다른 사물(예컨대 보행자가 휴대하는 전자 기기 등) 간의 통신(V2X, Vehicle to Everything communication)도 무선 통신 장치(1130)를 통해 구현할 수 있다.
또한, 무선 통신 장치(1130)는 지상 망(Terrestrial Network)이 아닌 비 지상 망(Non-Terrestrial Network)을 통해 도로 상에 위치한 인프라(교통 신호등, CCTV, RSU, eNode B 등) 또는 다른 자율 주행(Autonomous Driving)/비자율 주행(Non-Autonomous Driving) 차량 등을 포함하는 다양한 모빌리티(Mobility) 들에서 생성된 정보들을 자율 주행 이동체(1000)의 자율 주행 수행을 위한 정보로서 획득할 수 있다.
예컨대, 무선 통신 장치(1130)는 비 지상 망(Non-Terrestrial Network)들을 구성하는 지구 저궤도(LEO, Low Earth Orbit) 위성 시스템, 지구 중궤도(MEO, Medium Earth Orbit) 위성 시스템, 지구 정지궤도(GEO, Geostationary Orbit) 위성 시스템, 고고도 플랫폼(HAP, High Altitude Platform) 시스템 등과 자율 주행 이동체(1000)에 설치된(mounted) 비 자상 망 전용 안테나를 통해 무선 통신을 수행할 수 있다.
예컨대, 무선 통신 장치(1130)는 현재 3GPP 등에서 논의되고 있는 5G NR NTN(5TH Generation New Radio Non-Terrestrial Network) 표준 규격에 따른 무선 접속 규격에 따라 NTN을 구성하는 다양한 플랫폼들과의 무선 통신을 수행할 수 있으며, 이에 제한되지 않는다.
본 실시 예에서 컨트롤러(1120)는 자율 주행 이동체(1000)의 위치, 현재 시간, 가용한 전력 등의 다양한 정보들을 고려하여, NTN 통신을 적절히 수행할 수 있는 플랫폼을 선택하고, 선택된 플랫폼과의 무선 통신을 수행하도록 무선 통신 장치(1130)를 제어할 수 있다.
본 실시 예에서 컨트롤러(1120)는 이동체(1000) 내의 각 유닛의 전반적인 동작을 제어하는 유닛으로, 이동체의 제조사에 의해 제조 시에 구성되거나 또는 제조 후에 자율 주행의 기능 수행을 위해 추가 구성될 수 있다. 또는, 제조 시에 구성된 컨트롤러(1120)의 업그레이드를 통해 지속적인 부가 기능 수행을 위한 구성이 포함될 수 있다. 이러한 컨트롤러(1120)는 ECU(Electronic Control Unit)로 명명될 수도 있다.
컨트롤러(1120)는 연결된 센서(1110), 오브젝트 검출 장치(1140), 통신 장치(1130) 등으로부터 각종 데이터를 수집하고, 수집된 데이터를 기반으로 제어 신호를 이동체 내 다른 구성들로 포함된 센서(1110), 엔진(1006), 사용자 인터페이스(1008), 통신 장치(1130), 오브젝트 검출 장치(1140)에 전달할 수 있다. 또한, 도시 되지는 않았으나 이동체의 주행과 관련된 가속 장치, 브레이킹 시스템, 조향 장치, 또는 네비게이션 장치에도 제어 신호를 전달할 수 있다.
본 실시예에서, 컨트롤러(1120)는 엔진(1006)을 제어할 수 있으며 예를 들어 자율 주행 이동체(1000)가 주행 중인 도로의 제한 속도를 감지하고 주행 속도가 제한 속도를 초과하지 않도록 엔진(1006)을 제어하거나, 제한 속도를 초과하지 않는 범위 내에서 자율 주행 이동체(1000)의 주행 속도를 가속하도록 엔진(1006)을 제어할 수 있다.
또한, 컨트롤러(1120)는 자율 주행 이동체(1000)의 주행 중 자율 주행 이동체 (1000)가 차선에 근접하거나 차선을 이탈하고 있다면, 이러한 차선 근접 및 이탈이 정상 주행 상황에 따른 것인지 또는 그 외의 주행 상황에 따른 것인지 판단하며, 판단 결과에 따라 이동체의 주행을 제어하도록 엔진(1006)을 제어할 수 있다. 구체적으로, 자율 주행 이동체(1000)는 이동체가 주행 중인 차로의 양 측에 형성된 차선을 검출할 수 있다. 이 경우, 컨트롤러(1120)는 자율 주행 이동체(1000)가 차선에 근접하거나 차선을 이탈하고 있는지 여부를 판단하고, 만약, 자율 주행 이동체(1000)가 차선에 근접하거나 차선을 이탈하고 있다고 판단되면 이러한 주행이 정확한 주행 상황에 따른 것인지 또는 그 외의 주행 상황에 따른 것인지 판단할 수 있다. 여기서, 정상 주행 상황의 예로, 이동체의 차로 변경이 필요한 상황일 수 있다. 그리고, 그 외의 주행 상황의 예로, 이동체의 차로 변경이 필요하지 않은 상황일 수 있다. 만약, 컨트롤러(1120)는 이동체의 차로 변경이 필요하지 않은 상황에서 자율 주행 이동체(1000)가 차선에 근접하거나 차선을 이탈하고 있다고 판단되면, 자율 주행 이동체(1000)가 차선을 이탈하지 않고 해당 이동체에서 정상적으로 주행하도록 자율 주행 이동체(1000)의 주행을 제어할 수 있다.
이동체의 전방에 다른 이동체 또는 방해물이 존재하는 경우에는 주행 이동체를 감속하도록 엔진(1006) 또는 브레이킹 시스템을 제어할 수 있으며, 속도 외에도 궤적, 운행 경로, 조향 각을 제어할 수 있다. 또는 컨트롤러(1120)는 이동체의 주행 차선, 주행 신호 등 기타 외부 환경의 인식 정보에 따라 필요한 제어 신호를 생성하여 이동체의 주행을 제어할 수 있다.
컨트롤러(1120)는 자체적인 제어 신호의 생성 외에 주변 이동체 또는 중앙 서버와의 통신을 수행하고 수신된 정보를 통해 주변 장치들을 제어하기 위한 명령을 전송함으로써, 이동체의 주행을 제어하는 것도 가능하다.
또한, 컨트롤러(1120)는 카메라 모듈(1150)의 위치가 변경되거나 화각이 변경될 경우, 본 실시예에 따른 정확한 이동체 또는 차선 인식이 어려울 수 있으므로, 이를 방지하기 위해 카메라 모듈(1150)의 캘리브레이션(calibration)을 수행하도록 제어하는 제어 신호를 생성할 수도 있다. 따라서, 본 실시예에서는 컨트롤러(1120)는 카메라 모듈(1150)로 캘리브레이션 제어 신호를 발생시킴으로써, 자율 주행 이동체(1000)의 움직임에 따라 발생되는 진동 또는 충격 등에 의해 카메라 모듈(1150)의 장착 위치가 변경되더라도, 카메라 모듈(1150)의 정상적인 장착 위치, 방향, 화각 등을 지속적으로 유지할 수 있다. 컨트롤러(1120)는 미리 저장된 카메라 모듈(1120)의 최초 장착 위치, 방향, 화각 정보와 자율 주행 이동체(1000)의 주행 중에 측정되는 카메라 모듈(1120)의 최초 장착 위치, 방향, 화각 정보 등이 임계 값 이상으로 달라질 경우, 카메라 모듈(1120)의 캘리브레이션을 수행하도록 제어 신호를 발생할 수 있다.
본 실시 예에서 컨트롤러(1120)는 메모리(1122)와 프로세서(1124)를 포함할 수 있다. 프로세서(1124)는 메모리(1122)에 저장된 소프트웨어를 컨트롤러(1120)의 제어 신호에 따라 실행시킬 수 있다. 구체적으로 컨트롤러(1120)는 본 발명에 따른 차선 검출 방법을 수행하기 위한 데이터 및 명령들은 메모리(1122)에 저장하고, 명령들은 여기에 개시된 하나 이상의 방법들을 구현하기 위해 프로세서(1124)에 의해 실행될 수 있다.
이때, 메모리(1122)는 비 휘발성의 프로세서(1124)에서 실행 가능한 기록 매체에 저장될 수 있다. 메모리(1122)는 적절한 내 외부 장치를 통해 소프트웨어와 데이터를 저장할 수 있다. 메모리(1122)는 RAM(random access memory), ROM(read only memory), 하드디스크, 동글과 연결된 메모리(1122) 장치로 구성될 수 있다.
메모리(1122)는 운영체제(OS, Operating system), 사용자 어플리케이션, 실행 가능한 명령들을 적어도 저장할 수 있다. 메모리(1122)는 어플리케이션 데이터, 배열 데이터 구조들도 저장할 수 있다.
프로세서(1124)는 마이크로 프로세서 또는 적절한 전자적 프로세서로 컨트롤러, 마이크로 컨트롤러 또는 스테이트 머신 일 수 있다.
프로세서(1124)는 컴퓨팅 장치들의 조합으로 구현될 수 있으며, 컴퓨팅 장치는 디지털 신호 프로세서, 마이크로프로세서 이거나 이들의 적절한 조합으로 구성될 수 있다.
한편, 자율 주행 이동체(1000)는 상술한 제어 장치(1100)에 대한 사용자의 입력을 위한 사용자 인터페이스(1008)를 더 포함할 수 있다. 사용자 인터페이스(1008)는 적절한 상호작용으로 사용자가 정보를 입력하도록 할 수 있다. 예를 들어 터치스크린, 키패드, 조작 버튼 등으로 구현될 수 있다. 사용자 인터페이스(1008)는 입력 또는 명령을 컨트롤러(1120)에 전송하고, 컨트롤러(1120)는 입력 또는 명령에 대한 응답으로 이동체의 제어 동작을 수행할 수 있다.
또한, 사용자 인터페이스(1008)는 자율 주행 이동체(1000) 외부의 장치로 무선 통신 장치(1130)를 통해 자율 주행 이동체(1000)와 통신을 수행하도록 할 수 있다. 예를 들어 사용자 인터페이스(1008)는 모바일 폰, 태블릿, 또는 기타 컴퓨터 장치와 연동 가능하도록 할 수 있다.
나아가, 본 실시예에서 자율 주행 이동체(1000)는 엔진(1006)을 포함하는 것으로 설명하였으나, 다른 타입의 추진 시스템을 포함하는 것도 가능하다. 예를 들어 이동체는 전기 에너지로 운행될 수 있으며, 수소 에너지 또는 이들을 조합한 하이브리드 시스템을 통해 운행될 수 있다. 따라서 컨트롤러(1120)는 자율 주행 이동체(1000)의 추진 시스템에 따른 추진 메커니즘을 포함하고, 이에 따른 제어 신호를 각 추진 메커니즘의 구성들에 제공할 수 있다.
이하, 도 11을 참조하여 본 실시예에 따른 본 발명에 따른 제어 장치(1100)의 세부 구성에 대하여 보다 상세히 설명한다.
제어 장치(1100)는 프로세서(1124)를 포함한다. 프로세서(1124)는 범용 단일 또는 다중 칩 마이크로프로세서, 전용 마이크로프로세서, 마이크로 제어기, 프로그램가능 게이트 어레이 등일 수도 있다. 프로세서는 중앙 처리 장치(CPU)로 지칭될 수도 있다. 또한 본 실시예에서 프로세서(1124)는 복수의 프로세서들의 조합으로 사용되는 것도 가능하다.
제어 장치(1100)는 또한 메모리(1122)를 포함한다. 메모리(1122)는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트일 수도 있다. 메모리(1122) 역시 단일 메모리 외에 메모리(1122)들의 조합을 포함할 수 있다.
본 발명에 따른 거리 측정 장치의 거리 측정 방법을 수행하기 위한 데이터 및 명령어(1122a)들은 메모리(1122)에 저장될 수도 있다. 프로세서(1124)가 명령어(1122a)들을 실행할 때, 명령어(1122a)들과 명령의 수행에 필요한 데이터(1122b)의 전부 또는 일부가 프로세서(1124)상으로 로딩(1124a, 924b)될 수도 있다.
제어 장치(1100)는 신호들의 송신 및 수신을 허용하기 위한 송신기(1130a), 수신기(1130b) 또는 트랜시버(1130c)를 포함할 수도 있다. 하나 이상의 안테나(1132a, 932b)들은 송신기(1130a), 수신기(1130b) 또는 각 트랜시버(1130c)에 전기적으로 연결될 수도 있으며 추가적으로 안테나들을 포함할 수도 있다.
제어 장치(1100)는 디지털 신호 프로세서(DSP)(1170)를 포함할 수도 있다. DSP(1170)를 통해 디지털 신호를 이동체가 빠르게 처리할 수 있도록 할 수 있다.
제어 장치(1100)는 통신 인터페이스(1180)를 포함할 수도 있다. 통신 인터페이스(1180)는 다른 장치들을 제어 장치(1100)와 연결하기 위한 하나 이상의 포트들 및/또는 통신 모듈 들을 포함할 수도 있다. 통신 인터페이스(1180)는 사용자와 제어 장치(1100)가 상호 작용할 수 있게 할 수 있다.
제어 장치(1100)의 다양한 구성들은 함께 하나 이상의 버스(1190)들에 의해 연결될 수도 있고, 버스(1190)들은 전력 버스, 제어 신호 버스, 상태 신호 버스, 데이터 버스 등을 포함할 수도 있다. 프로세서(1124)의 제어에 따라 구성들은 버스(1190)를 통해 상호 정보를 전달하고 목적하는 기능을 수행하도록 할 수 있다.
한편, 다양한 실시 예들에서, 제어 장치 900은 보안 클라우드와의 통신을 위해 게이트웨이와 관련될 수 있다. 예를 들어, 도 12를 참조하면, 제어 장치 900은 차량 1200의 구성 요소들 1201 내지 1204 중 적어도 하나로부터 획득되는 정보를 보안 클라우드 1206에게 제공하기 위한 게이트웨이 1205와 관련될 수 있다. 예를 들면, 게이트웨이 1205는 제어 장치 900 내에 포함될 수 있다. 다른 예를 들면, 게이트웨이 1205는 제어 장치 900과 구별되는 차량 1200 내의 별도의 장치로 구성될 수도 있다. 게이트웨이 1205는 서로 다른 네트워크를 갖는 소프트웨어 관리 클라우드 1209, 보안 클라우드 1206 및 차 내 보안 소프트웨어 1210에 의해 보안화된 차량 1200 내 네트워크를 통신 가능하도록 연결한다.
예를 들면, 구성 요소 1201은, 센서일 수 있다. 예를 들면, 상기 센서는 차량 1200의 상태 또는 차량 1200 주변의 상태 중 적어도 하나에 대한 정보를 획득하기 위해 이용될 수 있다. 예를 들면, 구성 요소 1201은, 센서 910을 포함할 수 있다.
예를 들면, 구성 요소 1202는, ECU(electronic control unit)들일 수 있다. 예를 들면, 상기 ECU들은 엔진 제어, 변속기의 제어, 에어백의 제어, 타이어 공기압 관리를 위해 이용될 수 있다.
예를 들면, 구성 요소 1203은, 인스트루먼트 클러스터(instrument cluster)일 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는, 대시 보드(dashboard) 중 운전석 정면에 위치된 패널을 의미할 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는 운전에 필요한 정보를 운전자(또는 탑승자)에게 보여주기 위해 구성될 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는, 엔진의 분당 회전수(RPM, revolutions per minute 또는 rotate per minute)를 지시하기 위한 시각적 요소들, 차량 1200의 속도를 지시하기 위한 시각적 요소들, 잔여 연료량을 지시하기 위한 시각적 요소들, 기어의 상태를 지시하기 위한 시각적 요소들, 또는 구성 요소 1201을 통해 획득된 정보를 지시하기 위한 시각적 요소들 중 적어도 하나를 표시하기 위해, 이용될 수 있다.
예를 들면, 구성 요소 1204는, 텔레매틱스(telematics) 장치일 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 무선 통신 기술과 GPS(global positioning system) 기술을 결합하여 차량 1200 내에서 위치 정보, 안전 운전 등의 다양한 이동통신 서비스를 제공하는 장치를 의미할 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 운전자, 클라우드(예: 보안 클라우드 1206), 및/또는 주변 환경과 차량 1200을 연결하기 위해 이용될 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 5G NR 규격의 기술(예: 5G NR의 V2X 기술, 5G NR의 NTN(Non-Terrestrial Network) 기술)을 위해, 고대역폭과 저지연을 지원하도록, 구성될 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 차량 1200의 자율 주행을 지원하도록, 구성될 수 있다.
예를 들면, 게이트웨이 1205는, 차량 1200 내 네트워크와 차량 외 네트워크인 소프트웨어 관리 클라우드 1209와 보안 클라우드 1206을 연결하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드 1209는, 차량 1200의 주행 및 관리에 필요한 적어도 하나의 소프트웨어를 갱신하거나 관리하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드 1209는, 차량 내에 설치된 차 내 보안 소프트웨어(in-car security software) 1210과 연동될 수 있다. 예를 들면, 차 내 보안 소프트웨어 1210은, 차량 1200 내의 보안 기능을 제공하기 위해 이용될 수 있다. 예를 들면, 차 내 보안 소프트웨어 1210은 차량 내 네트워크의 암호화를 위해 외부의 공인된(authorized) 서버로부터 획득된 암호화 키를 이용하여 차 내 네트워크를 통해 송수신되는 데이터들을 암호화할 수 있다. 다양한 실시 예들에서, 차 내 보안 소프트웨어 1210에 의해 이용되는 상기 암호화 키는, 차량의 식별 정보(차량 번호판, 차 VIN(vehicle identification number)) 또는 사용자 별로 고유하게 부여된 정보(에: 사용자 식별 정보)에 대응하여 생성될 수 있다.
다양한 실시 예들에서, 게이트웨이 1205는, 상기 암호화 키에 기반하여 차 내 보안 소프트웨어 1210에 의해 암호화된 데이터들을, 소프트웨어 관리 클라우드 1209 및/또는 보안 클라우드 1206으로 송신할 수 있다. 소프트웨어 관리 클라우드 1209 및/또는 보안 클라우드 1206는 차 내 보안 소프트웨어 1210의 상기 암호화 키(Encryption Key)에 의해 암호화된 상기 데이터를 해독할 수 있는 해독 키(Decryption Key)를 이용하여 해독함으로써, 상기 데이터가 어떤 차량 또는 어떤 사용자로부터 수신된 데이터인지를 식별할 수 있다. 예를 들면, 상기 해독 키는 상기 암호화 키에 대응되는 고유의 키이기 때문에, 소프트웨어 관리 클라우드 1209 및/또는 보안 클라우드 1206는 상기 해독 키를 통해 해독된 상기 데이터에 기반하여 상기 데이터의 송신 주체(예: 상기 차량 또는 상기 사용자)를 식별할 수 있다.
예를 들면, 게이트웨이 1205는, 차 내 보안 소프트웨어 1210을 지원할 수 있도록 구성되고, 제어 장치 2100과 관련될 수 있다. 예를 들면, 게이트웨이 1205는, 보안 클라우드 1206와 연결된 클라이언트 장치 1207와 제어 장치 900 사이의 연결을 지원하기 위해, 제어 장치 900과 관련될 수 있다. 다른 예를 들면, 게이트웨이 1205는, 보안 클라우드 1206과 연결된 써드 파티 클라우드 1208와 제어 장치 900 사이의 연결을 지원하기 위해, 제어 장치 900과 관련될 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시 예들에서, 게이트웨이 1205는, 차량 1200의 운영 소프트웨어를 관리하기 위한 소프트웨어 관리 클라우드 1209와 차량 1200을 연결하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드 1209는, 차량 1200의 운영 소프트웨어의 갱신이 요구되는지 여부를 모니터링하고, 차량 1200의 운영 소프트웨어의 갱신이 요구됨을 모니터링하는 것에 기반하여 게이트웨이 1205를 통해 차량 1200의 운영 소프트웨어를 갱신하기 위한 데이터를 제공할 수 있다. 다른 예를 들면, 소프트웨어 관리 클라우드 1209는, 차량 1200의 운영 소프트웨어의 갱신을 요구하는 사용자 요청을 차량 1200으로부터 게이트웨이 1205를 통해 수신하고, 상기 수신에 기반하여 차량 1200의 운영 소프트웨어를 갱신하기 위한 데이터를 제공할 수 있다. 하지만, 이에 제한되지 않는다.
도 13은, 일 실시예에 따른, 전자 장치(101)의 블록도이다. 도 13의 전자 장치(101)는 도 1 내지 도 12의 전자 장치를 포함할 수 있다.
도 13을 참고하면, 전자 장치(101)의 프로세서(1310)는, 메모리(1320)에 저장된 뉴럴 네트워크(1330)와 관련된 계산들(computations)을 수행할 수 있다. 프로세서(1310)는, CPU(center processing unit), GPU(graphic processing unit) 또는 NPU(neural processing unit) 중 적어도 하나를 포함할 수 있다. NPU는, CPU와 분리된 칩으로 구현되거나, 또는 SoC(system on a chip)의 형태로 CPU와 같은 칩에 집적될(integrated) 수 있다. CPU에 집적된 NPU는, 뉴럴 코어 및/또는 AI(artificial intelligence) 가속기로 지칭될 수 있다.
도 13을 참고하면, 프로세서(1310)는, 메모리(1320)에 저장된 뉴럴 네트워크(1330)를 식별할 수 있다. 뉴럴 네트워크(1330)는, 입력 레이어(Input ayer)(1332), 하나 이상의 히든 레이어들(Hidden layers)(1334)(또는 중간 레이어들(Intermediate layers) 및 출력 레이어(Output layers)(1336)의 결합을 포함할 수 있다. 상술된 레이어들(예, 입력 레이어(1332), 하나 이상의 히든 레이어들(1334) 및 출력 레이어(1336))은, 복수의 노드들을 포함할 수 있다. 히든 레이어들(1334)의 개수는, 실시예에 따라 다를 수 있으며, 복수의 히든 레이어들(1334)을 포함하는 뉴럴 네트워크(1330)가 딥(deep) 뉴럴 네트워크로 지칭될 수 있다. 상기 딥 뉴럴 네트워크를 트레이닝하는 동작이, 딥 러닝(deep learning)으로 지칭될 수 있다.
일 실시예에서, 뉴럴 네트워크(1330)가 피드 포워드 뉴럴 네트워크(feed forward neural network)의 구조를 가지는 경우, 특정 레이어에 포함된 제1 노드는, 상기 특정 레이어 이전의 다른 레이어에 포함된 제2 노드들 전부와 연결될 수 있다. 메모리(1320) 내에서, 뉴럴 네트워크(1330)를 위해 저장된 파라미터들은, 상기 제2 노드들과 상기 제1 노드 사이의 연결들에 할당된(assigned) 가중치(weight)들을 포함할 수 있다. 피드 포워드 뉴럴 네트워크의 구조를 가지는 뉴럴 네트워크(1330)에서, 상기 제1 노드의 값은, 상기 제2 노드들 및 상기 제1 노드를 연결하는 연결들에 할당된 가중치들에 기반하는, 상기 제2 노드들에 할당된 값들의 가중 합(weighted sum)에 대응할 수 있다.
일 실시예에서, 뉴럴 네트워크(1330)가 콘볼루션(convolution) 뉴럴 네트워크의 구조를 가지는 경우, 특정 레이어에 포함된 제1 노드는, 상기 특정 레이어 이전의 다른 레이어에 포함된 제2 노드들 중 일부에 대한 가중 합에 대응할 수 있다. 상기 제1 노드에 대응하는 상기 제2 노드들 중 일부는, 상기 특정 레이어에 대응하는 필터에 의해 식별될 수 있다. 메모리(1320) 내에서, 뉴럴 네트워크(1330)를 위해 저장된 파라미터들은, 상기 필터를 나타내는 가중치들을 포함할 수 있다. 필터는, 상기 제2 노드들 중에서, 상기 제1 노드의 가중합을 계산하는데 이용될 하나 이상의 노드들, 및 상기 하나 이상의 노드들 각각에 대응하는 가중치들을 포함할 수 있다.
일 실시예에 따른, 전자 장치(101)의 프로세서(1310)는, 메모리(1320)에 저장된 학습 데이터 세트(1340)를 이용하여, 뉴럴 네트워크(1330)에 대한 트레이닝을 수행할 수 있다. 학습 데이터 세트(1340)에 기반하여, 프로세서(1310)는 뉴럴 네트워크(1330)를 위해 메모리(1320)에 저장된 하나 이상의 파라미터들을 조절할 수 있다.
일 실시예에 따른, 전자 장치(101)의 프로세서(1310)는, 학습 데이터 세트(1340)에 기반하여 트레이닝된 뉴럴 네트워크(1330)를 이용하여, 객체 탐지, 객체 인식 및/또는 객체 분류를 수행할 수 있다. 프로세서(1310)는, 카메라(1350)를 통해 획득된 이미지(또는 비디오)를, 뉴럴 네트워크(1330)의 입력 레이어(1332)에 입력할 수 있다. 이미지가 입력된 입력 레이어(1332)에 기반하여, 프로세서(1310)는 뉴럴 네트워크(1330)에 포함된 레이어들의 노드들의 값들을 순차적으로 획득하여, 출력 레이어(1336)의 노드들의 값들의 세트(예, 출력 데이터)를 획득할 수 있다. 상기 출력 데이터는, 뉴럴 네트워크(1330)를 이용하여 상기 이미지에 포함된 정보를 추론한 결과로써 이용될 수 있다. 실시예가 이에 제한되는 것은 아니며, 프로세서(1310)는, 통신 회로(1360)를 통해 전자 장치(101)에 연결된 외부 전자 장치로부터 획득된 이미지(또는 비디오)를, 뉴럴 네트워크(1330)에 입력할 수 있다.
일 실시예에서, 이미지를 처리하기 위해 트레이닝된 뉴럴 네트워크(1330)는, 상기 이미지 내에서, 피사체에 대응하는 영역을 식별하거나(객체 탐지), 및/또는 상기 이미지 내에 표현된 피사체의 클래스를 식별(객체 인식 및/또는 객체 분류)하는데 이용될 수 있다. 예를 들어, 전자 장치(101)는 뉴럴 네트워크(1330)를 이용하여, 상기 이미지 내에서, 상기 피사체에 대응하는 영역을, 바운딩 박스와 같은 사각형의 형태에 기반하여 분할(segment)할 수 있다. 예를 들어, 전자 장치(101)는 뉴럴 네트워크(1330)를 이용하여, 복수의 지정된 클래스들 중에서, 상기 피사체에 매칭되는 적어도 하나의 클래스를 식별할 수 있다.
상술한 바와 같이, 일 실시 예에 따른, 전자 장치(electronic device)는, 카메라 및 프로세서를 포함할 수 있다. 상기 프로세서는, 상기 카메라를 이용하여 획득된 이미지로부터, 외부 객체와 관련된 부분의 꼭짓점들(vertices)을 나타내는 2차원 좌표 값들을 획득하도록, 구성될 수 있다. 상기 프로세서는, 상기 이미지에 포함된 기준 평면 상에서 기준 방향을 따라 연장되고, 상기 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인 및 상기 이미지 내 기준점 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별하도록, 구성될 수 있다. 상기 프로세서는, 상기 제1 라인 및 상기 제2 라인의 교차점(intersection)에 기반하여, 상기 외부 객체에 대응하는 3차원 외부 공간의 꼭짓점들 각각을 나타내는 3차원 좌표 값들을 획득하도록, 구성될 수 있다.
예를 들어, 상기 프로세서는, 상기 부분의 꼭짓점들 중 제3 꼭짓점 및 상기 교차점에 대응하는 2차원 지점을 연결하는 제3 라인을 식별하도록, 구성될 수 있다. 상기 프로세서는, 상기 제1 꼭짓점 및 상기 제2 꼭짓점을 연결하는 제4 라인 및 상기 제3 라인의 교차점을 식별하도록, 구성될 수 있다. 상기 프로세서는, 상기 제4 라인 및 상기 제3 라인의 상기 교차점에 대한 역투영을 수행하여 식별된, 3차원 지점을, 상기 외부 객체에 대응하는 상기 외부 공간의 상기 꼭짓점들 중 어느 한 꼭짓점으로 결정하도록, 구성될 수 있다.
예를 들어, 상기 프로세서는, 상기 3차원 지점으로부터 상기 기준 방향을 따라 연장된 제5 라인 및 상기 제1 꼭짓점 및 상기 부분의 꼭짓점들 중 제4 꼭짓점을 연결하는 제6 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하도록, 구성될 수 있다.
예를 들어, 상기 프로세서는, 상기 3차원 지점으로부터 상기 기준 방향에 수직인 다른 방향을 따라 연장된 제7 라인 및 상기 제2 꼭짓점 및 상기 제3 꼭짓점을 연결하는 제8 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하도록, 구성될 수 있다.
예를 들어, 상기 프로세서는, 객체 인식을 위해 트레이닝된 뉴럴 네트워크를 이용하여, 상기 2차원 좌표 값들을 획득하도록, 구성될 수 있다.
예를 들어, 상기 프로세서는, 상기 카메라에 대한 내재적 파라미터(intrinsic parameter)를 이용하여, 상기 이미지에 포함되고, 상기 카메라의 렌즈에 의해 야기된, 왜곡을 보상하도록, 구성될 수 있다.
예를 들어, 상기 프로세서는, 상기 왜곡이 보상된 이미지 내 상기 부분에 대한 상기 2차원 좌표 값들을 획득하도록, 구성될 수 있다.
상술한 바와 같은, 일 실시예에 따른, 전자 장치의 방법은, 상기 전자 장치의 카메라를 이용하여 획득된 이미지로부터, 외부 객체와 관련된 부분의 꼭짓점들을 나타내는 2차원 좌표 값들을 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 이미지에 포함된 기준 평면 상에서 기준 방향을 따라 연장되고, 상기 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인 및 상기 이미지 내 기준점 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별하는 동작을 포함할 수 있다. 상기 방법은, 상기 제1 라인 및 상기 제2 라인의 교차점에 기반하여, 상기 외부 객체에 대응하는 3차원 외부 공간의 꼭짓점들 각각을 나타내는 3차원 좌표 값들을 획득하는 동작을 포함할 수 있다.
예를 들어, 상기 3차원 좌표 값들을 획득하는 동작은, 상기 부분의 꼭짓점들 중 제3 꼭짓점 및 상기 교차점에 대응하는 2차원 지점을 연결하는 제3 라인을 식별하는 동작을 포함할 수 있다. 상기 3차원 좌표 값들을 획득하는 방법은, 상기 제1 꼭짓점 및 상기 제2 꼭짓점을 연결하는 제4 라인 및 상기 제3 라인의 교차점을 식별하는 동작을 포함할 수 있다. 상기 3차원 좌표 값들을 획득하는 방법은, 상기 제4 라인 및 상기 제3 라인의 상기 교차점에 대한 역투영을 수행하여 식별된, 3차원 지점을, 상기 외부 객체에 대응하는 상기 외부 공간의 상기 꼭짓점들 중 어느 한 꼭짓점으로 결정하는 동작을 포함할 수 있다.
예를 들어, 상기 3차원 좌표 값들을 획득하는 동작은, 상기 3차원 지점으로부터 상기 기준 방향을 따라 연장된 제5 라인 및 상기 제1 꼭짓점 및 상기 부분의 꼭짓점들 중 제4 꼭짓점을 연결하는 제6 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하는 동작을 포함할 수 있다.
예를 들어, 상기 3차원 좌표 값들을 획득하는 동작은, 상기 3차원 지점으로부터 상기 기준 방향에 수직인 다른 방향을 따라 연장된 제7 라인 및 상기 제2 꼭짓점 및 상기 제3 꼭짓점을 연결하는 제8 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하는 동작을 포함할 수 있다.
예를 들어, 상기 2차원 좌표 값들을 획득하는 동작은, 객체 인식을 위해 트레이닝된 뉴럴 네트워크를 이용하여, 상기 2차원 좌표 값들을 획득하는 동작을 포함할 수 있다.
예를 들어, 상기 방법은, 상기 카메라에 대한 내재적 파라미터(intrinsic parameter)를 이용하여, 상기 이미지에 포함되고, 상기 카메라의 렌즈에 의해 야기된, 왜곡을 보상하는 동작을 포함할 수 있다.
예를 들어, 상기 2차원 좌표 값들을 획득하는 동작은, 상기 왜곡이 보상된 이미지 내 상기 부분에 대한 상기 2차원 좌표 값들을 획득하는 동작을 포함할 수 있다.
상술한 바와 같은, 일 실시예에 따른, 컴퓨터 판독 가능 저장 매체는 인스트럭션들을 포함할 수 있다. 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 전자 장치의 카메라를 이용하여 획득된 이미지로부터, 외부 객체와 관련된 부분의 꼭짓점들을 나타내는 2차원 좌표 값들을 획득하도록, 상기 전자 장치를 야기할 수 있다. 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 이미지에 포함된 기준 평면 상에서 기준 방향을 따라 연장되고, 상기 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인 및 상기 이미지 내 기준점 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별하도록, 상기 전자 장치를 야기할 수 있다. 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 제1 라인 및 상기 제2 라인의 교차점에 기반하여, 상기 외부 객체에 대응하는 3차원 외부 공간의 꼭짓점들 각각을 나타내는 3차원 좌표 값들을 획득하도록, 상기 전자 장치를 야기할 수 있다.
예를 들어, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 부분의 꼭짓점들 중 제3 꼭짓점 및 상기 교차점에 대응하는 2차원 지점을 연결하는 제3 라인을 식별하도록, 상기 전자 장치를 야기할 수 있다. 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 제1 꼭짓점 및 상기 제2 꼭짓점을 연결하는 제4 라인 및 상기 제3 라인의 교차점을 식별하도록, 상기 전자 장치를 야기할 수 있다. 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 제4 라인 및 상기 제3 라인의 상기 교차점에 대한 역투영을 수행하여 식별된, 3차원 지점을, 상기 외부 객체에 대응하는 상기 외부 공간의 상기 꼭짓점들 중 어느 한 꼭짓점으로 결정하도록, 상기 전자 장치를 야기할 수 있다.
예를 들어, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 3차원 지점으로부터 상기 기준 방향을 따라 연장된 제5 라인 및 상기 제1 꼭짓점 및 상기 부분의 꼭짓점들 중 제4 꼭짓점을 연결하는 제6 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하도록, 상기 전자 장치를 야기할 수 있다.
예를 들어, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 3차원 지점으로부터 상기 기준 방향에 수직인 다른 방향을 따라 연장된 제7 라인 및 상기 제2 꼭짓점 및 상기 제3 꼭짓점을 연결하는 제8 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하도록, 상기 전자 장치를 야기할 수 있다.
예를 들어, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 객체 인식을 위해 트레이닝된 뉴럴 네트워크를 이용하여, 상기 2차원 좌표 값들을 획득하도록, 상기 전자 장치를 야기할 수 있다.
예를 들어, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에, 상기 카메라에 대한 내재적 파라미터(intrinsic parameter)를 이용하여, 상기 이미지에 포함되고, 상기 카메라의 렌즈에 의해 야기된, 왜곡을 보상하도록, 상기 전자 장치를 야기할 수 있다.

Claims (20)

  1. 전자 장치(electronic device)에 있어서,
    카메라; 및
    프로세서를 포함하고;
    상기 프로세서는,
    상기 카메라를 이용하여 획득된 이미지로부터, 외부 객체와 관련된 부분의 꼭짓점들(vertices)을 나타내는 2차원 좌표 값들을 획득하고;
    상기 이미지에 포함된 기준 평면 상에서 기준 방향을 따라 연장되고, 상기 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인 및 상기 이미지 내 기준점 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별하고;
    상기 제1 라인 및 상기 제2 라인의 교차점(intersection)에 기반하여, 상기 외부 객체에 대응하는 3차원 외부 공간의 꼭짓점들 각각을 나타내는 3차원 좌표 값들을 획득하도록, 구성된,
    전자 장치.
  2. 청구항 1에 있어서, 상기 프로세서는,
    상기 부분의 꼭짓점들 중 제3 꼭짓점 및 상기 교차점에 대응하는 2차원 지점을 연결하는 제3 라인을 식별하고;
    상기 제1 꼭짓점 및 상기 제2 꼭짓점을 연결하는 제4 라인 및 상기 제3 라인의 교차점을 식별하고;
    상기 제4 라인 및 상기 제3 라인의 상기 교차점에 대한 역투영을 수행하여 식별된, 3차원 지점을, 상기 외부 객체에 대응하는 상기 외부 공간의 상기 꼭짓점들 중 어느 한 꼭짓점으로 결정하도록, 구성된,
    전자 장치.
  3. 청구항 2에 있어서, 상기 프로세서는,
    상기 3차원 지점으로부터 상기 기준 방향을 따라 연장된 제5 라인 및 상기 제1 꼭짓점 및 상기 부분의 꼭짓점들 중 제4 꼭짓점을 연결하는 제6 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하도록, 구성된,
    전자 장치.
  4. 청구항 2에 있어서, 상기 프로세서는,
    상기 3차원 지점으로부터 상기 기준 방향에 수직인 다른 방향을 따라 연장된 제7 라인 및 상기 제2 꼭짓점 및 상기 제3 꼭짓점을 연결하는 제8 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하도록, 구성된,
    전자 장치.
  5. 청구항 1에 있어서, 상기 프로세서는,
    객체 인식을 위해 트레이닝된 뉴럴 네트워크를 이용하여, 상기 2차원 좌표 값들을 획득하도록, 구성된,
    전자 장치.
  6. 청구항 1에 있어서, 상기 프로세서는,
    상기 카메라에 대한 내재적 파라미터(intrinsic parameter)를 이용하여, 상기 이미지에 포함되고, 상기 카메라의 렌즈에 의해 야기된, 왜곡을 보상하도록, 구성된,
    전자 장치.
  7. 청구항 6에 있어서, 상기 프로세서는,
    상기 왜곡이 보상된 이미지 내 상기 부분에 대한 상기 2차원 좌표 값들을 획득하도록, 구성된,
    전자 장치.
  8. 전자 장치의 방법에 있어서,
    상기 전자 장치의 카메라를 이용하여 획득된 이미지로부터, 외부 객체와 관련된 부분의 꼭짓점들을 나타내는 2차원 좌표 값들을 획득하는 동작;
    상기 이미지에 포함된 기준 평면 상에서 기준 방향을 따라 연장되고, 상기 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인 및 상기 이미지 내 기준점 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별하는 동작;
    상기 제1 라인 및 상기 제2 라인의 교차점에 기반하여, 상기 외부 객체에 대응하는 3차원 외부 공간의 꼭짓점들 각각을 나타내는 3차원 좌표 값들을 획득하는 동작을 포함하는,
    방법.
  9. 청구항 8에 있어서, 상기 3차원 좌표 값들을 획득하는 동작은,
    상기 부분의 꼭짓점들 중 제3 꼭짓점 및 상기 교차점에 대응하는 2차원 지점을 연결하는 제3 라인을 식별하는 동작;
    상기 제1 꼭짓점 및 상기 제2 꼭짓점을 연결하는 제4 라인 및 상기 제3 라인의 교차점을 식별하는 동작;
    상기 제4 라인 및 상기 제3 라인의 상기 교차점에 대한 역투영을 수행하여 식별된, 3차원 지점을, 상기 외부 객체에 대응하는 상기 외부 공간의 상기 꼭짓점들 중 어느 한 꼭짓점으로 결정하는 동작을 포함하는,
    방법.
  10. 청구항 9에 있어서, 상기 3차원 좌표 값들을 획득하는 동작은,
    상기 3차원 지점으로부터 상기 기준 방향을 따라 연장된 제5 라인 및 상기 제1 꼭짓점 및 상기 부분의 꼭짓점들 중 제4 꼭짓점을 연결하는 제6 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하는 동작을 포함하는,
    방법.
  11. 청구항 9에 있어서, 상기 3차원 좌표 값들을 획득하는 동작은,
    상기 3차원 지점으로부터 상기 기준 방향에 수직인 다른 방향을 따라 연장된 제7 라인 및 상기 제2 꼭짓점 및 상기 제3 꼭짓점을 연결하는 제8 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하는 동작을 포함하는,
    방법.
  12. 청구항 8에 있어서, 상기 2차원 좌표 값들을 획득하는 동작은,
    객체 인식을 위해 트레이닝된 뉴럴 네트워크를 이용하여, 상기 2차원 좌표 값들을 획득하는 동작을 포함하는,
    방법.
  13. 청구항 8에 있어서,
    상기 카메라에 대한 내재적 파라미터(intrinsic parameter)를 이용하여, 상기 이미지에 포함되고, 상기 카메라의 렌즈에 의해 야기된, 왜곡을 보상하는 동작을 더 포함하는,
    방법.
  14. 청구항 13에 있어서, 상기 2차원 좌표 값들을 획득하는 동작은,
    상기 왜곡이 보상된 이미지 내 상기 부분에 대한 상기 2차원 좌표 값들을 획득하는 동작을 포함하는,
    방법.
  15. 인스트럭션들을 포함하는 컴퓨터 판독 가능 저장 매체에 있어서, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에,
    상기 전자 장치의 카메라를 이용하여 획득된 이미지로부터, 외부 객체와 관련된 부분의 꼭짓점들을 나타내는 2차원 좌표 값들을 획득하고;
    상기 이미지에 포함된 기준 평면 상에서 기준 방향을 따라 연장되고, 상기 꼭짓점들 중 제1 꼭짓점과 중첩된 제1 라인 및 상기 이미지 내 기준점 및 상기 꼭짓점들 중 제2 꼭짓점을 연결하는 제2 라인을 식별하고;
    상기 제1 라인 및 상기 제2 라인의 교차점에 기반하여, 상기 외부 객체에 대응하는 3차원 외부 공간의 꼭짓점들 각각을 나타내는 3차원 좌표 값들을 획득하도록, 상기 전자 장치를 야기하는,
    컴퓨터 판독 가능 저장 매체.
  16. 청구항 15에 있어서, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에,
    상기 부분의 꼭짓점들 중 제3 꼭짓점 및 상기 교차점에 대응하는 2차원 지점을 연결하는 제3 라인을 식별하고;
    상기 제1 꼭짓점 및 상기 제2 꼭짓점을 연결하는 제4 라인 및 상기 제3 라인의 교차점을 식별하고;
    상기 제4 라인 및 상기 제3 라인의 상기 교차점에 대한 역투영을 수행하여 식별된, 3차원 지점을, 상기 외부 객체에 대응하는 상기 외부 공간의 상기 꼭짓점들 중 어느 한 꼭짓점으로 결정하도록, 상기 전자 장치를 야기하는,
    컴퓨터 판독 가능 저장 매체.
  17. 청구항 16에 있어서, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에,
    상기 3차원 지점으로부터 상기 기준 방향을 따라 연장된 제5 라인 및 상기 제1 꼭짓점 및 상기 부분의 꼭짓점들 중 제4 꼭짓점을 연결하는 제6 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하도록, 상기 전자 장치를 야기하는,
    컴퓨터 판독 가능 저장 매체.
  18. 청구항 16에 있어서, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에,
    상기 3차원 지점으로부터 상기 기준 방향에 수직인 다른 방향을 따라 연장된 제7 라인 및 상기 제2 꼭짓점 및 상기 제3 꼭짓점을 연결하는 제8 라인의 교차점에 대응하는 3차원 지점을, 상기 외부 공간의 상기 꼭짓점들 중 다른 한 꼭짓점으로 결정하도록, 상기 전자 장치를 야기하는,
    컴퓨터 판독 가능 저장 매체.
  19. 청구항 15에 있어서, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에,
    객체 인식을 위해 트레이닝된 뉴럴 네트워크를 이용하여, 상기 2차원 좌표 값들을 획득하도록, 상기 전자 장치를 야기하는,
    컴퓨터 판독 가능 저장 매체.
  20. 청구항 15에 있어서, 상기 인스트럭션들은, 전자 장치의 프로세서에 의해 실행될 때에,
    상기 카메라에 대한 내재적 파라미터(intrinsic parameter)를 이용하여, 상기 이미지에 포함되고, 상기 카메라의 렌즈에 의해 야기된, 왜곡을 보상하도록, 상기 전자 장치를 야기하는,
    컴퓨터 판독 가능 저장 매체.

KR1020230090943A 2022-07-29 2023-07-13 카메라의 정보를 이용하여 이미지와 관련된 외부 객체의위치를 식별하기 위한 전자 장치 및 그 방법 KR20240016886A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/226,944 US20240037781A1 (en) 2022-07-29 2023-07-27 Electronic device for identifying position of external object associated with image by using information of camera and method thereof
CN202310938233.5A CN117475390A (zh) 2022-07-29 2023-07-28 利用摄像头信息识别外部对象位置的电子装置及其方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220094678 2022-07-29
KR20220094678 2022-07-29

Publications (1)

Publication Number Publication Date
KR20240016886A true KR20240016886A (ko) 2024-02-06

Family

ID=89858492

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230090943A KR20240016886A (ko) 2022-07-29 2023-07-13 카메라의 정보를 이용하여 이미지와 관련된 외부 객체의위치를 식별하기 위한 전자 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20240016886A (ko)

Similar Documents

Publication Publication Date Title
US11915145B2 (en) Leveraging multidimensional sensor data for computationally efficient object detection for autonomous machine applications
US10997435B2 (en) Leveraging obstacle and lane detections to determine lane assignments for objects in an environment
US11312372B2 (en) Vehicle path prediction
US20170359561A1 (en) Disparity mapping for an autonomous vehicle
JP7320001B2 (ja) 情報処理装置、情報処理方法、プログラム、移動体制御装置、及び、移動体
US20230215196A1 (en) Information processing apparatus, information processing method, and program
CN111860198A (zh) 用于自主驾驶车辆adv的处理点云数据的方法、装置和系统、及计算机可读介质
WO2020116194A1 (ja) 情報処理装置、情報処理方法、プログラム、移動体制御装置、及び、移動体
US20230370709A1 (en) Imaging device, information processing device, imaging system, and imaging method
CN115218888A (zh) 用于更新高清地图的系统和方法
US20240056694A1 (en) Imaging device, image processing method, and image processing program
CN113646769A (zh) 用于图像归一化的系统和方法
US20230245423A1 (en) Information processing apparatus, information processing method, and program
KR20240016886A (ko) 카메라의 정보를 이용하여 이미지와 관련된 외부 객체의위치를 식별하기 위한 전자 장치 및 그 방법
US11830254B2 (en) Outside environment recognition device
US20240037781A1 (en) Electronic device for identifying position of external object associated with image by using information of camera and method thereof
CN117475390A (zh) 利用摄像头信息识别外部对象位置的电子装置及其方法
JP2021047609A (ja) 周辺認識装置、周辺認識方法、およびプログラム
US20240005632A1 (en) Method for reconstructing 3d information from 2d image and method and apparatus for measuring distance between vehicles using thereof
US20240161513A1 (en) Electronic Device and method for Vehicle which Enhances Parking Related Function Based on Artificial Intelligence
WO2024106196A1 (ja) 固体撮像装置および電子機器
US20230206470A1 (en) Electronic device, method, and computer readable storage medium for obtaining location information of at least one subject by using plurality of cameras
US20240161514A1 (en) Electronic device and method for vehicle which enhances driving environment related function
US20220237899A1 (en) Outside environment recognition device
WO2022196316A1 (ja) 情報処理装置、情報処理方法及びプログラム