KR20160071237A - 소형통합제어장치 - Google Patents

소형통합제어장치 Download PDF

Info

Publication number
KR20160071237A
KR20160071237A KR1020140178720A KR20140178720A KR20160071237A KR 20160071237 A KR20160071237 A KR 20160071237A KR 1020140178720 A KR1020140178720 A KR 1020140178720A KR 20140178720 A KR20140178720 A KR 20140178720A KR 20160071237 A KR20160071237 A KR 20160071237A
Authority
KR
South Korea
Prior art keywords
image
main processor
sensor data
area
processing unit
Prior art date
Application number
KR1020140178720A
Other languages
English (en)
Other versions
KR102106890B1 (ko
Inventor
김동신
Original Assignee
한화테크윈 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한화테크윈 주식회사 filed Critical 한화테크윈 주식회사
Priority to KR1020140178720A priority Critical patent/KR102106890B1/ko
Priority to PCT/KR2015/001742 priority patent/WO2016093428A1/ko
Priority to TW104134778A priority patent/TW201626214A/zh
Publication of KR20160071237A publication Critical patent/KR20160071237A/ko
Application granted granted Critical
Publication of KR102106890B1 publication Critical patent/KR102106890B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • 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
    • G06T7/00Image analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Abstract

본 발명의 바람직한 일 실시예에서 소형통합제어장치는 멀티코어CPU를 이용하여 대용량 센서데이터를 처리하는 메인 프로세서와, 상기 메인프로세서와 동일한 클럭을 이용하여 상기 대용량 센서데이터를 병렬로 처리하는 보조프로세서 및 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터 처리시 발생하는 연산을 병렬로 처리하는 그래픽처리부를 포함하는 것을 특징으로 한다.

Description

소형통합제어장치{Mini Integrated-control device}
본 발명은 대용량의 센서 데이터를 입력받아 병렬처리하여 신속한 결과를 획득하는 소형 통합 제어기에 관한 것이다.
도 1 은 종래 제어기의 일 예를 도시한다. 기존 제어기 시스템에서는 도 1 에 도시된 바와 같이 대용량 센서 데이터를 처리하기 위하여 많은 수의 CPU core가 요구되었고, 이를 확보하기 위하여 다수의 PC(110, 111, 112, 113, 114 및 115)를 기가비트 스위치(120)를 통해 연결하여 이용하였다.
또한 다수의 PC 이외에도 시스템을 제어하기 위한 외부 센서와 부가적인 파트들이 각각 개별적 제품으로 연결되어 제어기 시스템은 상당한 크기와 부피를 지녔다.
"Towards Fully Autonomous Driving: Systems and Algorithms", 2011 IEEE Intelligent Vehicles Symposium (IV) Baden-Baden, Germany, June 5-9, 2011
도 1에 도시된 대용량 센서데이터(100)가 PC1(110)으로 입력되는 경우, PC1(110)은 PC2, PC3, PC4, PC5 및 PC6(111, 112, 113, 114 및 115) 등과 같은 다른 PC 들에게 수신된 대용량의 센서 데이터를 전송하여 공유하였다. 그러나, 데이터를 전송하고 공유함에 있어 기가비트 이더넷 스위치의 경우 이론적으로는 1Gb/s 이지만 실제로는 50MB/s 의 전송속도를 가지게 되므로 PC 간에 대용량의 데이터를 효율적으로 공유하지 못하는 문제점이 있었다.
이러한 문제점을 해결하기 위하여 PC 1 (110)은 수신된 대용량의 센서 데이터 중 중요한 몇 Frame 만 선정하여 공유하게 되므로 PC 1(110) 이외의 다른 PC 들(111, 112, 113, 114 및 115)은 분해능이 저하된 센서 데이터를 기반으로 연산을 수행하게 되어 정밀한 연산결과 값을 얻을 수 없는 문제점이 있다.
본 발명의 바람직한 일 실시예에서 소형통합제어장치는 멀티코어CPU를 이용하여 대용량 센서데이터를 처리하는 메인 프로세서와, 상기 메인프로세서와 동일한 클럭을 이용하여 상기 대용량 센서데이터를 병렬로 처리하는 보조프로세서 및 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터 처리시 발생하는 연산을 병렬로 처리하는 그래픽처리부를 포함하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치는 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서; 상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터를 기초로 생성한 교정 영상(Rectified image)에 대해 변환 역행렬을 적용한 정보를 픽셀 단위로 수신하여 처리하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치는 복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(Field Of View : FOV)가 교차하는 영역 내에서 변환행렬(Transform Matrix : TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하며, 이를 기초로 교정 영상을 생성하는 영상교정부;및 상기 교정 영상의 각 픽셀에 대해 상기 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출하는 이용가능영역검출부;를 더 포함하고, 상기 그래픽처리부는 상기 이용가능영역검출부에서 검출된 상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보에 대한 연산을 병렬로 처리하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치는 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서; 상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터에 포함된 영상정보를 기초로 객체 추적을 수행하기 위한 연산처리를 수행하는 것을 특징으로 한다.
바람직하게, 상기 그래픽처리부는 객체의 기설정된 높이 정보, 상기 객체를 촬영할 영상촬영장치의 촬영 가능 거리 및 관측 시야(FOV) 정보를 기초로 상기 객체를 추적하기 위해 연산이 요구되는 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 한다.
바람직하게, 상기 그래픽처리부는 객체가 포함된 영상 내에 하늘 영역이 포함되어 있는 경우, 상기 하늘 영역을 제외한 나머지 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치는 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서; 상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서; 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부; 복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(FOV)가 교차하는 영역 내에서 변환행렬(TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하고, 교정 영상을 생성하는 영상교정부;및 상기 교정 영상의 각 픽셀에 대해 상기 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출하는 이용가능영역검출부;를 더 포함하고, 상기 그래픽처리부는 상기 이용가능영역검출부에서 검출된 상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 기초로, 상기 복수의 영상촬영장치로부터 수신한 영상 내에서 연산처리를 수행할 연산처리영역을 설정하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치는 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서; 상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 스테레오 카메라의 좌측 영상 및 우측 영상을 수신하여 교정 영상을 생성하고, 상기 교정 영상에 픽셀 단위로 변환역행렬을 적용하여 검출된 영역만 연산처리를 수행하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 대용량 센서데이터를 처리하는 방법으로서, 상기 방법은 메인프로세서에서 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 단계; 상기 메인프로세서와 동일한 클럭을 이용하는 보조프로세서에서 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 단계;및 상기 메인프로세서와 동일한 클럭을 이용하는 그래픽처리부에서, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 단계;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 스테레오 카메라의 좌측 영상 및 우측 영상을 수신하여 교정 영상을 생성하고, 상기 교정 영상에 픽셀 단위로 변환역행렬을 적용하여 검출된 영역만 픽셀단위로 연산처리를 수행하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형 통합 제어장치는 인공지능, 군사장비, 공장 자동화, 이동형 서버장비, 자율주행 로봇 분야에서 활용이 가능한 효과가 있다.
도 1 은 일반적인 제어기의 일 예를 도시한다.
도 2 는 본 발명의 바람직한 일 실시예로서, 소형통합장치(200)의 일 예를 도시한다.
도 3 내지 4는 본 발명의 바람직한 일 실시예로서, 소형통합제어장치(300)의 내부 구성도를 도시한다.
도 5 는 본 발명의 바람직한 일 실시예로서, 메인프로세서(310)에서 지원하는 계층화된 스택(500)을 도시한다.
도 6 는 본 발명의 바람직한 일 실시예로서, 소형통합제어장치가 장착된 또는 소형통합제어장치를 이용하는 이동 물체의 일 실시예를 도시한다.
도 7 , 9 및 10은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 교정영상을 생성하고, 생성된 교정영상을 이용하여 연산처리가 요구되는 부분만을 설정하는 일 예를 도시한다.
도 8 및 11~14는 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 객체를 추적할 때 추적 영역을 한정하는 일 예를 도시한다.
도 15 는 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 특징점을 추출할 때 추적 영역을 한정하는 일 예를 도시한다.
도 16 은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 대용량 센서데이터를 처리하는 방법의 흐름도를 도시한다.
도 17은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 교정영상을 생성하고, 생성된 교정영상을 이용하여 연산처리가 요구되는 부분만을 설정하는 흐름도를 도시한다.
도 18은 소형통합제어장치에서 특징점을 추출할 때 추적 영역을 한정하는 흐름도를 도시한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
본 발명의 실시예들은 서버 컴퓨터 시스템, 데스크톱 컴퓨터 시스템들, 랩톱들로 제한되지 않고, 핸드헬드 디바이스들, 스마트폰들, 태블릿들, 다른 씬 노트북들, SOC(systems on a chip, 시스템 온 칩) 디바이스들, 및 임베디드 응용 분야들과 같은 다른 디바이스들에서도 사용될 수 있다. 핸드헬드 디바이스는 셀룰러폰들, 인터넷 프로토콜 디바이스들, 디지털 카메라들, PDA들(personal digital assistants, 개인 휴대 단말기들), 및 핸드헬드 PC들을 포함한다. 또한, 본 명세서에 기술되어 있는 장치들, 방법들, 및 시스템들이 물리 컴퓨팅 디바이스들로 제한되지 않고, 또한 에너지 절감 및 효율을 위한 소프트웨어 최적화를 위해 이용될 수도 있다.
도 2 는 본 발명의 바람직한 일 실시예로서, 소형통합장치(200)의 일 예를 도시한다.
소형통합장치(200)는 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서(210), 메인프로세서(210)와 동일한 클럭을 이용하며 대용량 센서데이터를 처리하는 보조프로세서(220), 메인프로세서와 동일한 클럭을 이용하며, 대용량 센서데이터의 연산처리를 수행하는 그래픽처리부(230)를 포함한다. 본 발명의 바람직한 일 실시예로서, 메인프로세서(210), 보조프로세서(220) 및 그래픽처리부(230)는 대용량 센서데이터를 병렬로 처리가 가능하다.
소형통합장치(200)는 입출력 인터페이스(240)를 이용하여 메인프로세서(210), 보조프로세서(220) 및 그래픽처리부(230)를 직렬 또는 병렬로 확장하도록 구현이 가능하다.
본 발명의 바람직한 일 실시예에서, 메인프로세서(210)는 범용 또는 특수 목적 중앙 처리 장치(CPU), 주문형 반도체(ASIC) 또는 디지털 신호 프로세서(DSP)를 포함하는 임의의 타입의 데이터 프로세서일 수 있다.
예를 들어, 메인프로세서(210)는 Core™ i3, i5, i7, 2 Duo 및 Quad, Xeon™, 또는 Itanium™ 프로세서 등의 범용 프로세서일 수 있다. 메인프로세서(210)는 특수 목적을 위해 제작된 프로세서, 예를 들어, 네트워크 또는 통신 프로세서, 압축 엔진, 그래픽 프로세서, 코-프로세서, 내장형 프로세서 등일 수 있다. 메인프로세서(210)는 하나 이상의 패키지들 내에 포함된 하나 이상의 칩들로 구현될 수 있다. 메인프로세서(210)는, 예를 들어, BiCMOS, CMOS 또는 NMOS 등의 다수의 프로세스 기술들 중 임의의 기술을 이용할 수 있다.
본 발명의 바람직한 일 실시예에서, 메인프로세서(210)는 적어도 하나 이상의 멀티코어CPU(212, 214)를 포함할 수 있다. 적어도 하나 이상의 멀티코어CPU(212, 214) 간에는 QPI(Quick Path Interconnect)프로토콜을 이용하여 통신이 가능하다. 메인프로세서(210)는 패킷 기반의 점대점(point-to-point) 상호 연결 버스를 이용하여 상기 적어도 하나 이상의 멀티코어 CPU(210, 212)를 상호 연결할 수 있다.
본 발명의 바람직한 일 실시예에서, 그래픽처리부(230)는 3D 또는 2D 그래픽 커맨드들 등의 그래픽 커맨드들을 실행하기 위한 로직을 포함한다. 그래픽처리부(230)는 Open GL 및/또는 Direct X 응용 프로그래밍 인터페이스들(API들)(예를 들어, OpenGL 4.1 및 Direct X 11)에 의해 지정된 커맨드들 등의 산업 표준 그래픽 커맨드들을 실행할 수 있다.
입출력 인터페이스(240)는 근거리 통신망, 광역 통신망 또는 인터넷 등의네트워크 통신, 내부 유닛 또는 외부 장치와의 통신을 지원할 수 있다. 입출력 인터페이스(240)는 내부 유닛 또는 외부 장치와의 액세스 및 네트워크 통신을 제공하기 위해 어댑터, 허브 등을 추가로 더 포함할 수 있다. 입출력 인터페이스(240)는 메인프로세서(210)와 동일한 칩 또는 동일한 보드에 구현되거나 또는 메인프로세서(210)에 연결된 별개의 칩 및/또는 패키지에 구현될 수 있다.
도 3 내지 4는 본 발명의 바람직한 일 실시예로서, 소형통합제어장치(300)의 내부 구성도를 도시한다.
소형통합제어장치(300)는 메인프로세서(310), 보조프로세서(320) 및 그래픽처리부(330)를 포함한다.
바람직하게, 소형통합제어장치(300)는 입출력인터페이스(340) 또는 이더넷 스위치(350)를 더 포함할 수 있다.
바람직하게, 소형통합제어장치(300)는 메인프로세서(310), 보조프로세서(320) 및 그래픽처리부(330)에 전원을 공급하는 전원부(미 도시)를 더 포함할 수 있다.
바람직하게, 소형통합제어장치(300)는 메인프로세서(310), 보조프로세서(320) 및 그래픽처리부(330)를 제어하는 MCU(Micro Control Unit)(미 도시)를 더 포함할 수 있다. 이 경우 MCU는 메인프로세서(310)와 이더넷 또는 RS232 등의 통신으을 수행할 수 있고, 전원부와는 CAN 통신으로 연결되어 있어, 전원 상태와 Fault 상황에 대해 주변 장치들의 후속 대책을 제어하도록 구현될 수 있다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치(300)는 동일한 시스템 클럭을 이용하는 메인프로세서(310), 보조프로세서(320) 및 그래픽처리부(330)를 이용하여 대용량 센서데이터를 병렬로 처리할 수 있다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치(300)가 자율 주행 로봇, 이동 로봇, 이동 물체 등에 구현될 경우의 예를 가정할 수 있다.
이 경우, 메인프로세서(310)는 자율 주행 로봇, 이동 로봇, 이동 물체 등에서 스스로 주행 경로를 선택하고 장애물을 피해 목적지로 이동하기 위해 대용량 센서데이터에서 획득한 자율 주행 로봇, 이동 로봇, 이동 물체 등의 위치 데이터 및 자율 주행 로봇, 이동 로봇, 이동 물체 등과 근접한 위치에 있는 장애물에 대한 데이터를 기반으로 자율주행을 위한 이동 경로를 표시하는 주행 맵 또는 지도를 생성할 수 있다.
이 경우, 보조프로세서(320)는 메인프로세서(310)에서 수신한 대용량 센서데이터 중 환경인식과 관련된 연산을 처리하고, 그래픽처리부(330)는 대용량 센서데이터 중 영상과 관련된 연산을 처리하도록 병렬 처리를 수행할 수 있다.
보조프로세서(320)에서 수행하는 환경인식과 관련된 연산은 레이저 기반 센서데이터를 처리하는 연산을 포함한다. 레이저 기반 센서데이터는 레이저 스캐너 등에서 검출된 센서데이터를 포함한다.
그래픽처리부(330)에서 수행하는 영상과 관련된 연산은 카메라 영상, 연산처리 등을 포함한다. 또한 레이저 기반 센서데이터로부터 도출된 연산처리도 그래픽처리부(330)에서 처리할 수 있다.
본 발명의 바람직한 일 실시예에서, 메인프로세서(310)는 자율 주행 로봇, 이동 로봇, 이동 물체 등에서 위치 데이터, 거리데이터, 근접한 위치에 있는 장애물에 대한 데이터 등을 나타내는 LADAR 센서정보, 2D, 3D LADAR 거리정보, CAMERA 영상정보 등을 수신할 수 있다. 이 경우, 메인프로세서(310)는 이더넷 스위치(350) 등을 이용하여 대용량 센서데이터를 수신하도록 구현될 수 있다.
메인프로세서(310)는 대용량 센서데이터 중 거리데이터 및 근접한 위치에 있는 장애물에 대한 데이터의 연산처리는 그래픽처리부(330)에서 수행하도록 데이터를 전송하고, 그래픽처리부(330)에서 연산처리가 끝나면, 결과를 수신하여, 그에 기초하여 주행맵 또는 지도를 생성하도록 구현될 수 있다.
도 5은 본 발명의 바람직한 일 실시예로서, 메인프로세서(310)에서 지원하는 계층화된 스택(500)을 도시한다.
계층화된 스택(500)은 시스템 계층(System Layer)(510), 인터페이스 계층(Interface Layer)(520), 코어 계층(Core Layer)(530) 및 애플리케이션 계층(Application Layer)(540)을 포함한다.
인터페이스 계층(Interface Layer)(520)은 MCU, 센서 및 통신 인터페이스를 지원한다.
코어 계층(Core Layer)(530)은 동적 환경 실시간 파악, 시각 주행거리 파악, 레이저 스캔 매칭 등과 같은 위치추정, 동적 장애물 탐지 및 추적, 레이저기반 환경인식 등과 같은 환경인식, RRT 샘플링 기반 전역 경로 계획, costom planning 및 동적 장애물 회피 등과 같은 planning, Basic Waypoint following 및 Fast Waypoint following 과 같은 주행제어, 그 외 수학라이브러리 및 유틸 라이브러리를 지원한다.
보조프로세서(320)는 코어 계층(Core Layer)(530) 중 동적 장애물 탐지 및 추적, 레이저기반 환경인식 등과 같은 환경인식을 지원하여 처리가 가능하다. 또한, 병렬처리를 최적화 할 수 있는 부분을 처리하도록 구현이 가능하다. Planning SW에서도 각 격자로 나누어 처리할 수 있어 병렬화가 가능하다면 보조프로세서(320)에서 처리될 수 있다.
도 6은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치가 장착된 또는 소형통합제어장치를 이용하는 이동 물체의 일 실시예를 도시한다.
이동 물체(600)는 3D 센서부, 센서부, GPS 송수신부, 제어부 및 출력부 (내부 구성 미도시)을 포함하도록 구현될 수 있다. 센서부는 스티어링(steering) 감지부, 속도 센서, 가속 센서, 위치 센서 등을 포함할 수 있다.
3D 센서부는 회전체 반사경과 집광 렌즈 및 촬상 소자를 이용하여 전방위, 후방위 및/또는 측방위를 한번에 촬영하는 카메라 시스템으로서, 보안 시설과 감시 카메라, 로봇 비전 등에 응용된다. 회전체 반사경의 형상으로는 쌍곡면이나 구면, 원추형, 복합형 등 다양하다. 또한, 촬상 소자로는 CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor)가 사용된다. 이 촬상 소자의 촬상면에 투영되는 화상(즉 전방위 영상)은 회전체 반사경에 반사된 것이어서 인간이 그대로 관찰하기에는 적합하지 않은 일그러진 화상이다. 따라서 3D 센서부는 화상의 정확한 관찰을 위해 촬상 소자의 출력을 마이크로프로세서 등을 통해 그 좌표를 변환하여 새로운 파노라마 영상을 만들어낸다.
3D 센서부는 전방위를 3차원적으로 촬영하여 3차원 거리 데이터를 획득하기 위해 스테레오 카메라(stereo camera), 깊이 카메라(depth camera), 이동식 스테레오 카메라(moving stereo camera) 및 라이다(Light Detection and Ranging; LIDAR) 장비 중 하나 이상을 포함하여 구성될 수 있다.
스테레오 카메라는 복수의 카메라로 구성되는 영상 장치이다. 3D 센서부를 통해 얻은 전방위 영상은 3D 센서부 주변에 대한 2차원적인 정보를 제공한다. 만약 복수의 카메라를 통해 서로 다른 방향에서 촬영한 복수의 영상을 이용하면 3D 센서부 주변에 대한 3차원적인 정보를 얻을 수 있다. 이와 같은 스테레오 카메라를 이동 물체 또는 이동 로봇의 위치 인식 및 지도 생성에 이용하기도 한다.
깊이 카메라는 장애물을 촬영 또는 측정하여 영상과 거리 데이터를 추출하는 카메라이다. 즉, 깊이 카메라는 일반적인 카메라와 같이 장애물을 촬상하여 영상 또는 이미지 데이터를 만들고, 각 영상의 픽셀에 해당하는 실제 위치에서 카메라로부터의 거리를 측정하여 거리 데이터를 만든다.
이동식 스테레오 카메라는 스테레오 카메라의 위치가 장애물의 거리에 따라 능동적으로 변하여 관측 장애물에 대한 주시각을 고정시키는 카메라를 말한다. 스테레오 카메라는 일반적으로 두 대의 카메라를 평행하게 배치하고 영상을 획득하며, 획득 영상의 스테레오 시차에 따라 장애물까지의 거리를 계산할 수 있다.
이러한 스테레오 카메라는 광축이 항상 평행하게 배치되어 고정된 형태의 수동적인 카메라이다. 반면, 이동식 스테레오 카메라는 광축의 기하학적 위치를 능동적으로 변화시켜 주시각을 고정시킨다. 이렇게 스테레오 카메라의 주시 각도를 장애물의 거리에 따라 제어하는 것을 주시각 제어라 한다.
주시각 제어 스테레오 카메라는 움직이는 장애물에 대한 스테레오 시차를 항상 일정하게 유지하여 입체 영상 관측자에게 보다 자연스러운 입체 영상을 제공하며 장애물에 대한 거리 측정이나 스테레오 영상 처리에 있어서 유용한 정보를 제공한다.
라이다(LIDAR) 장비는 이동 물체(600)의 전면에 위치한 장애물의 존재와 거리를 감지하기 위해 구비된다. 라이다 장비는 레이더(Radar)와 동일한 원리를 이용해 사물에 직접적인 접촉 없이 원하는 정보를 취득하는 능동형 원격 탐사(Remote Sensing)의 한 종류다. 라이다 장비는 정보를 취득하고자 하는 목표물에 레이저(Laser)를 쏘아 목표물로부터 반사되어 돌아오는 전자파의 시차와 에너지 변화를 감지해 원하는 거리 정보를 취득한다.
라이다 장비는 측정하고자 하는 목적이나 대상물에 따라 DIAL(DIfferentail Absorption LIDAR), 도플러 라이다 (Doppler LIDAR), 거리 측정 라이다(Range finder LIDAR)의 세 종류로 나뉜다. DIAL은 측정하고자 하는 물체에 대한 흡수 정도가 서로 다른 두 개의 레이저를 이용해 대기중의 수증기, 오존, 공해 물질 등의 농도 측정에 활용되고, 도플러 라이다(Doppler LIDAR)는 도플러 원리를 이용해 물체의 이동 속도 측정에 이용된다. 그러나 일반적으로 라이다라고 하면 거리 측정 라이다(Range finder LIDAR)를 지칭하며 이것은 위성 측위 시스템(Global Positioning System; 이하 GPS)과 관성 항법 유도 장치(Inertial Navigation System; 이하 INS), 레이저 스캐너(LASER SCANNER) 시스템을 이용하여 대상물과의 거리 정보를 조합함으로써 3차원 지형 정보를 취득한다.
라이다 장비는 이동 물체(600)의 이동 경로 전면에 위치한 장애물의 존재와 장애물까지의 거리 및 장애물의 이동을 감지하여 3차원 거리 데이터를 획득하고, 획득된 데이터를 제어부로 전송하여 장애물이 없는 공간으로 이동 물체(600)가 이동할 수 있도록 한다.
출력부는 디스플레이부를 포함하며, 제어부 또는 메인프로세서에서 생성된 주행맵을 통해 결정된 주행 경로를 UI(User Interface) 또는 GUI(Graphic User Interface)를 이용하여 표시하도록 구현될 수 있다.
도 7 은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치(700)의 내부 구성도를 도시한다.
소형통합제어장치(700)는 메인프로세서(710), 보조프로세서(720), 그래픽처리부(730), 영상교정부(740) 및 이용가능영역 검출부(750)를 포함한다.
메인프로세서(710), 보조프로세서(720)의 기능은 도 3 내지 4의 설명을 참고한다. 그래픽처리부(730)는 연산처리를 멀티코어를 이용하여 병렬로 처리하며, 이용가능영역검출부(750)에서 검출된 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 기초로, 복수의 영상촬영장치로부터 수신한 영상 내에서 연산처리를 수행할 연산처리영역을 설정한다.
영상교정부(740)은 복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 복수의 영상촬영장치의 관측 시야(FOV)가 교차하는 영역 내에서 변환행렬(TM)을 이용하여 특정 객체에 대해 촬영된 영상의 왜곡을 보정하고, 교정 영상을 생성한다.
이용가능영역검출부(750)는 영상교정부(740)에서 생성한 교정 영상의 각 픽셀에 대해 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출한다.
도 9 내지 10의 일 실시예를 참고하면, 본 발명의 바람직한 일 실시예에서 영상교정부(740)는 변환행렬을 이용하여 특정 객체(900)에 대해 촬영한 좌측 영상(910) 및 우측 영상(912) 각각의 왜곡을 보정하고(920, 922), 왜곡이 보정된 좌측 영상 및 왜곡이 보정된 우측 영상을 이용하여 교정영상(930, 932)을 생성한다.
변환행렬은, 좌/우측이미지를 Rotation 하고 Translation하여 두 이미지를 같은 epipolar선상에 놓게 하고 마지막으로 scale을 조정하여 좌/우측 이미지가 같은 이미지 backplane에 오도록 만드는 이미지 변환스텝들을 통합하여 말하는 행렬이다. 이것의 역행렬은 그 일련의 변환(transform)을 반대로 행하여 교정된(rectified)된 이미지를 원영상(raw image)으로 변환할 수 있는 행렬이다.
도 10을 참고하면, 본 발명의 바람직한 일 실시예에서, 영상교정부(도 7,740)는 교정영상(1000)의 각 픽셀에 대해 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출한다(1010, 1020).
도 8 은 본 발명의 바람직한 또 다른 일 실시예로서, 소형통합제어장치(700)의 내부 구성도를 도시한다. 도 9 내지 15를 참고하여 설명하면 아래와 같다.
도 9는 교정영상을 생성하는 일 실시예를 도시한다.
도 10은 본 발명의 바람직한 일 실시예로서, 교정영상에 변환역행렬을 적용하여 연산처리영역을 설정하는 일 실시예를 도시한다.
도 11 은 영상촬영장치에서 특정 객체를 촬영하는 일 예를 도시한다. 도 12는 본 발명의 바람직한 일 실시예로서, 영상촬영장치가 특정 객체를 촬영할 때 설정되는 추적영역을 월드코디네이터로 표현한 좌표이다.
도 13은 본 발명의 바람직한 일 실시예로서, 도 12의 월드코디네이터 좌표를 이미지코디네이트 좌표로 변환한 일 예를 도시한다.
도 14는 본 발명의 바람직한 일 실시예로서, 추적 대상 객체가 추적 영역 내에 존재하는 일 실시예를 도시한다.
도 15는 본 발명의 바람직한 일 실시예로서, 영상 내에 하늘 영역이 포함되어 있는 경우 하늘 영역을 제외하고 추적영역을 설정하는 일 실시예를 도시한다.
본 발명의 바람직한 일 실시예에서 소형통합제어장치(700)는 이용가능영역 검출부(750)에서 연산처리영역(도 12, S1210)을 설정한 이후, 이 중 객체추적, 병사 추종에 필요한 정보가 포함된 추적영역(도 12, S1200)을 추가로 설정할 수 있다. 주로 다시점 카메라를 이용하거나 스테레오 카메라 등을 이용할 때 본 방법이 유용하게 이용될 수 있다.
본 발명의 또 다른 바람직한 일 실시예에서 소형통합제어장치(700)는 추적영역한정부(760)만을 이용하여 객체추적, 병사 추종에 필요한 정보가 포함된 추적영역(도 12, S1200)을 설정할 수 있다. 이 경우, 이용가능영역 검출부(750)에서 연산처리영역(도 12, S1210)을 설정하지 않고, 바로 추적영역한정부(760)를 이용하여 특징점 추출, 객체추적, 병사추종에 필요한 정보가 포함된 추적영역을 설정할 수 있다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치(700)는 메인프로세서(710), 보조프로세서(720), 그래픽처리부(730), 영상교정부(740), 이용가능영역 검출부(750) 및 추적영역한정부(760)를 포함한다.
이 경우, 소형통합제어장치(700)는 도 7, 9 내지 10에서 기술한 바와 같이 교정영상을 생성하고, 교정영상에 변환역행렬을 적용하여 픽셀단위로 정보를 추출한다. 이 방식을 통해 소형통합제어장치(700)는 1차적으로 입력 영상 중 이용가능한 픽셀 정보가 포함되어 있는 영역만을 연산처리영역으로 설정할 수 있다.
다음으로, 소형통합제어장치(700)는 추적영역한정부(760)를 이용하여 1차적으로 설정한 연산처리영역 중 특징점 정보, 객체 추적에 필요한 정보가 포함되어 있는 영역을 2차로 설정할 수 있다. 이 영역을 추적영역이라 정의한다.
도 11 내지 14를 참고하면, 소형통합제어장치(700)는 객체를 추적하는 경우, 입력 영상 중 일부 영역(도 12, S1200)의 정보만이 요구된다. 또한, 도 15를 참고하면, 소형통합제어장치(700)에서 특징점 추출을 수행하는 경우에도 입력 영상에서 하늘 영역을 제외한 일부 영역(S1510)의 정보만이 유효한 정보로 이용할 수 있다.
도 11을 참고하면 이동체, 이동로봇, 자율형 로봇, 핸드헬드 장치 등에서 소형통합제어장치(700)를 이용하여 사람을 추적하는 경우, 소형통합제어장치(700)에서 이용하는 영상센서, 영상촬영장치 등에서 촬영한 영상 중 특정 영역(도 11, S1110 및 도 12, S1200) 이내의 정보만이 사람을 추적하는데 필요한 정보가 포함되어 있다고 정의할 수 있다.
도 12 를 참고하면, 추적영역한정부(760)에서는 객체 추적에 필요한 정보가 포함되어 있는 영역인 추적영역(S1200)을 설정하기 위하여, 영상촬영장치의 촬영 가능 거리 및 영상촬영장치의 관측 시야(FOV) 및 객체 또는 사람의 기설정된 높이 정보를 이용한다.
본 발명의 바람직한 일 실시예에서 소형통합제어장치(700)는 이용가능영역 검출부(도 7, 750)에서 연산처리영역(S1210)을 설정한 이후, 이 중 객체추적, 병사 추종에 필요한 정보가 포함된 추적영역(S1200)을 추가로 한정할 수 있다.
본 발명의 또 다른 바람직한 일 실시예에서 소형통합제어장치(700)는 연산처리영역을 별도로 설정하지 않고, 영상센서 또는 영상처리장치로부터 들어오는 입력 영상에서 특징점 추출, 객체추적, 병사추종에 필요한 정보가 포함된 추적영역(S1200)만을 설정하여, 그래픽처리부를 통해 추적영역(S1200) 내의 정보만 연산처리를 수행할 수 있다. 그래픽처리부는 추적영역(S1200) 내의 정보를 픽셀단위로 처리한 후 메인프로세서에 처리 결과를 전송할 수 있다.
도 15는 영상 내에 하늘 영역이 포함되어 있는 경우 하늘 영역을 제외하고 추적영역을 설정하는 일 실시예이다. 본 발명의 바람직한 일 실시예에서, 하늘영역(S1500)을 검출하여 제외하고, 나머지 영역을 추적 영역으로 설정할 수 있다. 이 후 추적 영역내의 데이터만을 처리하여 특징점을 추출할 수 있다.
본 발명의 바람직한 일 실시예에서는 하늘 영역을 추출하기 위하여 하늘의 색상 데이터 및 하늘의 위치데이터를 이용할 수 있다. 하늘의 색상 데이터는 일반적으로 가우시안 분포를 이용하여 구할 수 있다. 또한 일반적인 영상에서 하늘은 윗부분에 위치하고 있으므로, 하늘의 위치 정보를 추가로 이용하여 하늘 영역을 추출한다. 이 경우 샘플링 기법을 이용하여 멀티-모달 분배 방식을 적용할 수 있다.
본 발명의 바람직한 일 실시예에서, 그래픽 처리부는 수학식 1과 같은 연산을 이용하여 하늘 영역을 제외한 추적 영역을 설정한다.
Figure pat00001
수학식 1은 연산처리가 요구되는 영역을 표시하는 행렬 * 이미지 행렬 = 추적영역이 설정되는 실시예를 도시한다. 수학식 1에서 0은 하늘 영역 또는 연산처리를 제외할 영역의 픽셀을 표시하고, 1은 연산처리를 수행할 영역의 영역의 픽셀을 표시한다.
도 16은 본 발명의 바람직한 일 실시예에서, 소형통합제어장치의 그래픽처리부에서 병렬적으로 대용량센서데이터를 처리하는 흐름도를 도시한다.
소형통합제어장치에서 대용량 센서데이터를 처리하는 방법은 메인프로세서에서 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 단계(S1610), 보조프로세서에서 상기 메인프로세서와 동일한 클럭을 이용하여 상기 대용량 센서데이터 중 환경인식과 관련된 센서데이터를 처리하는 단계(S1620) 및 그래픽처리부에서 멀티코어를 이용하여 상기 메인프로세서와 동일한 클럭을 이용하여 상기 대용량 센서데이터 중 연산처리를 수행하는 단계(S1630)를 병렬적으로 수행하는 특징이 있다.
도 17은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 교정영상을 생성하고, 생성된 교정영상을 이용하여 연산처리가 요구되는 부분만을 설정하는 흐름도를 도시한다.
소형통합제어장치는 다시점 카메라로부터 특정 객체를 촬영한 복수의 영상을 수신한다(S1710). 이 후, 도 9의 일 실시예와 같이 복수의 영상을 기초로 왜곡이 보정된 교정 영상을 생성하고(S1720), 도 10과 같이 교정영상에 변환 역행렬을 적용한 후, 그래픽처리부에서 픽셀단위로 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 병렬로 처리한다(S1740).
도 18은 소형통합제어장치에서 특징점을 추출할 때 추적 영역을 한정하는 흐름도를 도시한다.
소형통합제어장치는 영상센서 또는 영상처리장치로부터 입력영상을 수신한다(S1810). 이 경우 영상센서 또는 영상처리장치는 소형통합제어장치와 동일한 칩, 보드에 장착되어 있거나 또는 유무선으로 통신이 가능한 별도의 칩, 보드 등에 장착되거나 또는 인터페이스, 허브 등을 이용하여 연결이 가능할 수 있다.
소형통합제어장치는 입력영상을 전송한 영상처리장치의 촬영가능 거리 및 FOV, 그리고 기 설정된 사람 또는 추적하고자 하는 객체의 높이 정보를 이용하여 추적영역(도 12, S1200 참고)을 생성한다(S1820).
소형통합제어장치는 또한 입력영상에서 특징점을 추출하고자 하는 경우에는 도 15에서 설명한 바와 같이 연산이 요구되는 영역, 일 예로 하늘 영역이 제외된 영역,을 추적영역으로 설정한다.
그래픽처리부는 설정된 추적영역에 대응하는 데이터에 대해서만 연산처리를 수행한다(S1830).
본 발명의 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서는 도면에 도시된 구체적인 실시예를 참고하여 본 발명을 설명하였으나 이는 예시적인 것에 불과하므로, 본 발명이 속하는 기술 분야에서 통상의 기술을 가진 자라면 이로부터 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 보호 범위는 후술하는 특허청구범위에 의하여 해석되어야 하고, 그와 동등 및 균등한 범위 내에 있는 모든 기술적 사상은 본 발명의 보호 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (40)

  1. 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서;
    상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및
    상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며,
    상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터를 기초로 생성한 교정 영상(Rectified image)에 대해 변환 역행렬을 적용한 정보를 픽셀 단위로 수신하여 처리하는 것을 특징으로 하는 소형통합제어장치.
  2. 제 1 항에 있어서, 상기 교정 영상은
    복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(Field Of View : FOV)가 교차하는 영역 내에서 변환행렬(Transform Matrix : TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하여 생성되는 것을 특징으로 하는 소형통합제어장치.
  3. 제 1 항에 있어서,
    복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(Field Of View : FOV)가 교차하는 영역 내에서 변환행렬(Transform Matrix : TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하며, 이를 기초로 교정 영상을 생성하는 영상교정부;및
    상기 교정 영상의 각 픽셀에 대해 상기 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출하는 이용가능영역검출부;를 더 포함하고, 상기 그래픽처리부는 상기 이용가능영역검출부에서 검출된 상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보에 대한 연산을 병렬로 처리하는 것을 특징으로 하는 소형통합제어장치.
  4. 제 2 항에 있어서, 상기 그래픽처리부는
    상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보에 대한 연산 처리 결과를 상기 메인프로세서로 전송하는 것을 특징으로 하는 소형통합제어장치.
  5. 제 2 항에 있어서,
    상기 복수의 영상촬영장치는 스테레오 카메라를 포함하는 것을 특징으로 하는 소형통합제어장치.
  6. 제 1 항에 있어서, 상기 대용량 센서데이터는
    이동 물체에 장착된 적어도 하나 이상의 센서에서 수신한 데이터로서, 상기 이동 물체에 장착된 영상촬영장치에서 촬영한 영상 정보를 포함하는 것을 특징으로 하는 소형통합제어장치.
  7. 제 1 항에 있어서, 상기 그래픽처리부는
    픽셀 단위로 수신한 상기 교정 영상에 대해 변환 역행렬을 적용한 정보를 기초로, 상기 복수의 영상촬영장치로부터 수신한 영상 내에서 연산처리를 수행할 연산처리영역을 설정하는 것을 특징으로 하는 소형통합제어장치.
  8. 제 7 항에 있어서, 상기 그래픽처리부는
    기설정된 사람의 키높이 정보, 영상촬영장치의 촬영 가능 거리 및 영상촬영장치의 관측 시야(FOV)를 기초로 상기 연산처리영역 내에서 사람을 추적하기 위해 연산이 요구되는 영역을 추적영역으로 한정하고, 상기 추적영역에 대응되는 연산처리만을 수행하는 것을 특징으로 하는 소형통합제어장치.
  9. 제 7 항에 있어서, 상기 그래픽처리부는
    객체의 기설정된 높이 정보, 영상촬영장치의 촬영 가능 거리 및 영상촬영장치의 관측 시야(FOV)를 기초로 상기 연산처리영역 내에서 상기 객체를 추적하기 위해 연산이 요구되는 영역을 추적영역으로 한정하고, 상기 추적영역에 대응되는 연산처리만을 수행하는 것을 특징으로 하는 소형통합제어장치.
  10. 제 7 항에 있어서, 상기 그래픽처리부는
    상기 연산처리영역 내에 하늘 영상이 포함되어 있는 경우, 상기 하늘 영상을 제외한 나머지 영역을 추적영역으로 한정하고, 상기 추적영역에 대응되는 연산처리만을 수행하는 것을 특징으로 하는 소형통합제어장치.
  11. 제 1 항에 있어서,
    상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부를 직렬 또는 병렬로 확장하도록 구현하는 입출력 인터페이스;를 더 포함하는 것을 특징으로 하는 소형통합제어장치.
  12. 제 1 항에 있어서, 상기 메인프로세서는
    시스템 계층(System Layer), 인터페이스 계층(Interface Layer), 코어 계층(Core Layer) 및 애플리케이션 계층(Application Layer)을 지원하는 것을 특징으로 하는 소형통합제어장치.
  13. 제 1 항에 있어서, 상기 메인프로세서는
    시스템 계층(System Layer), 인터페이스 계층(Interface Layer), 코어 계층(Core Layer) 및 애플리케이션 계층(Application Layer)을 포함하는 계층화된 스택을 포함하는 것을 특징으로 하는 소형통합제어장치.
  14. 제 1 항에 있어서,
    상기 보조프로세서 및 상기 그래픽처리부는 상기 메인프로세서와 동일한 클럭을 이용하여 처리한 센서데이터의 동기화를 수행하는 것을 특징으로 하는 소형통합제어장치.
  15. 제 1 항에 있어서,
    상기 메인프로세서는 상기 대용량 센서데이터를 이더넷 스위치를 통해 수신하는 것을 특징으로 하는 소형통합제어장치.
  16. 제 1 항에 있어서,
    상기 메인프로세서, 상기 보조프로세서, 상기 그래픽처리부에 전원을 공급하는 전원부;를 더 포함하는 것을 특징으로 하는 소형통합제어장치.
  17. 제 1항에 있어서,
    상기 메인프로세서, 상기 보조프로세서, 상기 그래픽처리부를 제어하는 MCU(Micro Control Unit)를 더 포함하는 것을 특징으로 하는 소형통합제어장치.
  18. 제 1항에 있어서,
    상기 메인프로세서는 패킷 기반의 점대점(point-to-point) 상호 연결 버스를 이용하여 상기 적어도 하나 이상의 멀티코어 CPU를 상호 연결하는 것을 특징으로 하는 소형통합제어장치.
  19. 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서;
    상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및
    상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며,
    상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터에 포함된 영상정보를 기초로 객체 추적을 수행하기 위한 연산처리를 수행하는 것을 특징으로 하는 소형통합제어장치.
  20. 제 19 항에 있어서, 상기 그래픽처리부는
    객체의 기설정된 높이 정보, 상기 객체를 촬영할 영상촬영장치의 촬영 가능 거리 및 관측 시야(FOV) 정보를 기초로 상기 객체를 추적하기 위해 연산이 요구되는 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 하는 소형통합제어장치.
  21. 제 19 항에 있어서, 상기 그래픽처리부는
    객체가 포함된 영상 내에 하늘 영역이 포함되어 있는 경우, 상기 하늘 영역을 제외한 나머지 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 하는 소형통합제어장치.
  22. 제 21 항에 있어서, 상기 하늘 영역은
    하늘 데이터의 색깔 분포 및 하늘 영역의 위치정보를 기초로 식별되며, 통계적으로 기계학습되는 것을 특징으로 하는 소형통합제어장치.
  23. 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서;
    상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;
    상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;
    복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(FOV)가 교차하는 영역 내에서 변환행렬(TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하고, 교정 영상을 생성하는 영상교정부;및
    상기 교정 영상의 각 픽셀에 대해 상기 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출하는 이용가능영역검출부;를 더 포함하고,
    상기 그래픽처리부는 상기 이용가능영역검출부에서 검출된 상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 기초로, 상기 복수의 영상촬영장치로부터 수신한 영상 내에서 연산처리를 수행할 연산처리영역을 설정하는 것을 특징으로 하는 소형통합제어장치.
  24. 제 23 항에 있어서, 상기 그래픽처리부는
    상기 연산처리영역에서 수행한 연산 처리 결과를 픽셀 단위로 상기 메인프로세서로 전송하는 것을 특징으로 하는 소형통합제어장치.
  25. 제 23 항에 있어서,
    상기 보조프로세서는 상기 대용량 센서데이터 중 레이저 기반 센서데이터를 처리하고, 상기 레이저 기반 센서데이터는 레이저 스캐너를 통해 획득한 센서데이터를 포함하는 것을 특징으로 하는 소형통합제어장치.
  26. 제 23 항에 있어서,
    상기 그래픽처리부는 상기 대용량 센서데이터 중 영상 기반 센서데이터를 실시간으로 처리하고, 상기 영상 기반 센서데이터는 카메라 영상을 포함하는 것을 특징으로 하는 소형통합제어장치.
  27. 제 23 항에 있어서,
    상기 메인프로세서는 이동 로봇 구동시 생성되는 대용량 센서데이터를 수신하고, 상기 대용량 센서데이터는 상기 이동 로봇이 이용하는 센서에서 검출한 센서데이터, 상기 이동 로봇이 이동한 실시간 거리 정보, 상기 이동 로봇이 촬영한 영상정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 소형통합제어장치.
  28. 제 23항에 있어서,
    상기 메인프로세서는 상기 대용량 센서데이터를 이더넷을 통해 수신하는 것을 특징으로 하는 소형통합제어장치.
  29. 제 23항에 있어서,
    상기 메인프로세서는 패킷 기반의 점대점(point-to-point) 상호 연결 버스를 이용하여 상기 적어도 하나 이상의 멀티코어 CPU를 상호 연결하는 것을 특징으로 하는 소형통합제어장치.
  30. 제 23 항에 있어서,
    상기 보조프로세서 및 상기 그래픽처리부는 상기 메인프로세서와 동일한 클럭을 이용하여 처리한 센서데이터의 동기화를 수행하는 것을 특징으로 하는 소형통합제어장치.
  31. 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서;
    상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및
    상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며,
    상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는
    스테레오 카메라의 좌측 영상 및 우측 영상을 수신하여 교정 영상을 생성하고, 상기 교정 영상에 픽셀 단위로 변환역행렬을 적용하여 검출된 영역만 연산처리를 수행하는 것을 특징으로 하는 소형통합제어장치.
  32. 소형통합제어장치에서 대용량 센서데이터를 처리하는 방법으로서,
    메인프로세서에서 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 단계;
    상기 메인프로세서와 동일한 클럭을 이용하는 보조프로세서에서 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 단계;및
    상기 메인프로세서와 동일한 클럭을 이용하는 그래픽처리부에서 멀티코어를 이용하여 상기 대용량 센서데이터의 연산처리를 수행하는 단계;를 포함하고
    상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터를 기초로 생성한 교정 영상(Rectified image)에 대해 변환 역행렬을 적용한 정보를 픽셀 단위로 수신하여 처리하는 것을 특징으로 하는 방법.
  33. 제 32 항에 있어서,
    영상교정부에서 복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(Field Of View : FOV)가 교차하는 영역 내에서 변환행렬(Transform Matrix : TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하며, 이를 기초로 교정 영상을 생성하는 단계;및
    이용가능영역검출부에서 상기 교정 영상의 각 픽셀에 대해 상기 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출하는 단계;를 더 포함하고, 상기 그래픽처리부는 상기 이용가능영역검출부에서 검출된 상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보에 대한 연산을 병렬로 처리하는 것을 특징으로 하는 방법.
  34. 제 32 항에 있어서, 상기 그래픽처리부는
    상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보에 대한 연산 처리 결과를 상기 메인프로세서로 전송하는 것을 특징으로 하는 방법.
  35. 소형통합제어장치에서 대용량 센서데이터를 처리하는 방법으로서, 상기 방법은
    메인프로세서에서 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 단계;
    상기 메인프로세서와 동일한 클럭을 이용하는 보조프로세서에서 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 단계;및
    상기 메인프로세서와 동일한 클럭을 이용하는 그래픽처리부에서, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 단계;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터에 포함된 영상정보를 기초로 객체 추적을 수행하기 위한 연산처리를 수행하는 것을 특징으로 하는 방법.
  36. 제 35 항에 있어서, 상기 그래픽처리부는
    객체의 기설정된 높이 정보, 상기 객체를 촬영할 영상촬영장치의 촬영 가능 거리 및 관측 시야(FOV) 정보를 기초로 상기 객체를 추적하기 위해 연산이 요구되는 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 하는 방법.
  37. 제 35 항에 있어서, 상기 그래픽처리부는
    객체가 포함된 영상 내에 하늘 영역이 포함되어 있는 경우, 상기 하늘 영역을 제외한 나머지 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 하는 방법.
  38. 소형통합제어장치에서 대용량 센서데이터를 처리하는 방법으로서, 상기 방법은
    메인프로세서에서 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 단계;
    상기 메인프로세서와 동일한 클럭을 이용하는 보조프로세서에서 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 단계;및
    상기 메인프로세서와 동일한 클럭을 이용하는 그래픽처리부에서, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 단계;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는
    스테레오 카메라의 좌측 영상 및 우측 영상을 수신하여 교정 영상을 생성하고, 상기 교정 영상에 픽셀 단위로 변환역행렬을 적용하여 검출된 영역만 픽셀단위로 연산처리를 수행하는 것을 특징으로 하는 방법.
  39. 제 38항에 있어서,
    상기 그래픽처리부는 상기 픽셀단위로 연산처리를 수행한 결과를 상기 메인프로세서에 전송하는 것을 특징으로 하는 방법.
  40. 제 38 항에 있어서, 상기 그래픽처리부는
    상기 교정 영상에 픽셀 단위로 변환역행렬을 적용하여 검출된 영역 중 추적영역을 추가로 한정하여, 상기 추적영역에 대응되는 연산처리만을 수행하고, 이 경우 상기 추적영역은 기설정된 사람의 키높이 정보, 영상촬영장치의 촬영 가능 거리 및 영상촬영장치의 관측 시야(FOV)를 기초로 설정되는 것을 특징으로 하는 방법.
KR1020140178720A 2014-12-11 2014-12-11 소형통합제어장치 KR102106890B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140178720A KR102106890B1 (ko) 2014-12-11 2014-12-11 소형통합제어장치
PCT/KR2015/001742 WO2016093428A1 (ko) 2014-12-11 2015-02-24 소형통합제어장치
TW104134778A TW201626214A (zh) 2014-12-11 2015-10-23 微型積體控制裝置(第二案)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140178720A KR102106890B1 (ko) 2014-12-11 2014-12-11 소형통합제어장치

Publications (2)

Publication Number Publication Date
KR20160071237A true KR20160071237A (ko) 2016-06-21
KR102106890B1 KR102106890B1 (ko) 2020-05-07

Family

ID=56107591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140178720A KR102106890B1 (ko) 2014-12-11 2014-12-11 소형통합제어장치

Country Status (3)

Country Link
KR (1) KR102106890B1 (ko)
TW (1) TW201626214A (ko)
WO (1) WO2016093428A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102510122B1 (ko) * 2021-11-24 2023-03-15 (주)카네비모빌리티 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948886B1 (ko) * 2009-06-25 2010-03-24 주식회사 이미지넥스트 차량에 설치된 카메라의 공차 보정 장치 및 방법
KR20110073917A (ko) * 2009-12-24 2011-06-30 중앙대학교 산학협력단 Gpu를 이용한 온라인 전기 자동차용 전방 장애물 검출 장치 및 방법
KR20140108036A (ko) * 2013-02-28 2014-09-05 삼성테크윈 주식회사 소형통합제어장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353362B2 (en) * 2003-07-25 2008-04-01 International Business Machines Corporation Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
US8390631B2 (en) * 2008-06-11 2013-03-05 Microsoft Corporation Synchronizing queued data access between multiple GPU rendering contexts
US8462166B2 (en) * 2010-10-01 2013-06-11 Apple Inc. Graphics system which measures CPU and GPU performance
WO2014178450A1 (ko) * 2013-04-30 2014-11-06 전자부품연구원 Cpu와 gpu 간의 협업 시스템 및 그 방법
CN103713938A (zh) * 2013-12-17 2014-04-09 江苏名通信息科技有限公司 虚拟化环境下基于OpenMP的多GPU协同计算方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948886B1 (ko) * 2009-06-25 2010-03-24 주식회사 이미지넥스트 차량에 설치된 카메라의 공차 보정 장치 및 방법
KR20110073917A (ko) * 2009-12-24 2011-06-30 중앙대학교 산학협력단 Gpu를 이용한 온라인 전기 자동차용 전방 장애물 검출 장치 및 방법
KR20140108036A (ko) * 2013-02-28 2014-09-05 삼성테크윈 주식회사 소형통합제어장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Towards Fully Autonomous Driving: Systems and Algorithms", 2011 IEEE Intelligent Vehicles Symposium (IV) Baden-Baden, Germany, June 5-9, 2011

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102510122B1 (ko) * 2021-11-24 2023-03-15 (주)카네비모빌리티 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치

Also Published As

Publication number Publication date
TW201626214A (zh) 2016-07-16
KR102106890B1 (ko) 2020-05-07
WO2016093428A1 (ko) 2016-06-16

Similar Documents

Publication Publication Date Title
EP2510379B1 (en) System and method for determining geo-location(s) in images
US10659768B2 (en) System and method for virtually-augmented visual simultaneous localization and mapping
CN107111598B (zh) 使用超声深度感测的光流成像系统以及方法
CN109993793B (zh) 视觉定位方法及装置
Debattisti et al. Automated extrinsic laser and camera inter-calibration using triangular targets
CN110617814A (zh) 单目视觉和惯性传感器融合的远距离测距系统及方法
CN110889873A (zh) 一种目标定位方法、装置、电子设备及存储介质
US20230014421A1 (en) 6DoF INSIDE-OUT TRACKING GAME CONTROLLER INITIAL REGISTRATION
WO2017038659A1 (ja) 運動検出装置及びそれを用いた三次元形状測定装置
US20210263533A1 (en) Mobile object and method for controlling mobile object
JP2016148956A (ja) 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム
WO2017047873A1 (ko) 고속 스캐닝 장치를 이용한 스캐닝 방법
KR102106890B1 (ko) 소형통합제어장치
He et al. Visual positioning system for small-scaled spherical robot in underwater environment
WO2011047508A1 (en) Embedded vision tracker and mobile guiding method for tracking sequential double color beacons array with extremely wide-angle lens
WO2022083529A1 (zh) 一种数据处理方法及装置
KR102106889B1 (ko) 소형통합제어장치
Rossmann et al. Discussion of a self-localization and navigation unit for mobile robots in extraterrestrial environments
Chen et al. A structured-light-based panoramic depth camera
CN113424524B (zh) 使用半球形或球形可见光深度图像的三维建模
CN109214984B (zh) 一种图像获取方法及装置、自主定位导航系统、计算设备
Mai et al. Development of an indoor positioning and navigation system using monocular SLAM and IMU
Shi et al. Robust Loop-closure Algorithm based on GNSS Raw Data for Large-scale and Complex Environments
Wang et al. High accuracy ground target location using loitering munitions platforms
Jacewicz et al. Vision based navigation for satellite docking

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant