KR102472649B1 - 객체를 트래킹하기 위한 방법 및 장치 - Google Patents

객체를 트래킹하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR102472649B1
KR102472649B1 KR1020210189136A KR20210189136A KR102472649B1 KR 102472649 B1 KR102472649 B1 KR 102472649B1 KR 1020210189136 A KR1020210189136 A KR 1020210189136A KR 20210189136 A KR20210189136 A KR 20210189136A KR 102472649 B1 KR102472649 B1 KR 102472649B1
Authority
KR
South Korea
Prior art keywords
state information
primary object
image data
information
determining
Prior art date
Application number
KR1020210189136A
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 KR1020210189136A priority Critical patent/KR102472649B1/ko
Priority to KR1020220160622A priority patent/KR20230100608A/ko
Application granted granted Critical
Publication of KR102472649B1 publication Critical patent/KR102472649B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

본 개시는 객체를 트래킹하기 위한 방법 및 장치에 관한 것이다. 본 개시의 일 실시 예에 따른 방법은, 소정의 시간 간격으로 차량에 탑재된 카메라에서 촬영된 복수의 이미지 데이터를 획득하고, 복수의 이미지 데이터에 대해 소정의 처리를 수행함으로써 복수의 이미지 데이터에 포함된 복수의 객체들에 대한 바운딩 박스 정보 및 스테이트 정보를 획득할 수 있다. 또한, 방법은, 바운딩 박스 정보에 기초하여, 복수의 객체들 중에서 프라이머리 객체를 결정하고, 기설정된 시간 동안 획득되는 프라이머리 객체에 대한 스테이트 정보를 누적하여 버퍼에 저장할 수 있다. 또한, 방법은, 버퍼에 저장된 복수의 스테이트 정보 중에서, 과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보에 기초하여, 프라이머리 객체의 최종 스테이트 정보를 결정할 수 있다.

Description

객체를 트래킹하기 위한 방법 및 장치{METHOD AND APPARATUS FOR TRACKING THE OBJECT}
본 발명은 객체를 트래킹하기 위한 방법 및 장치에 관한 것이다.
도로에서 주행 중인 차량은 도로에 포함된 복수개의 차로 중 어느 하나의 차로 상에서 주행을 할 수 있다. 차량은 주행 중에 빈번하게 차로를 변경할 수 있고, 도로 상에서 차로의 개수가 변경되는 상황 또한 빈번하게 발생한다.
정보통신 기술과 차량 산업의 융합으로 인해 빠르게 차량의 스마트화가 진행되고 있다. 스마트화로 인해, 차량은 단순한 기계적 장치에서 스마트카로 진화하고 있으며, 특히 스마트카의 핵심기술로 자율 주행이 주목 받고 있다. 자율 주행이란 운전자가 핸들과 가속페달, 브레이크 등을 조작하지 않아도 차량 스스로 목적지까지 찾아가는 기술이다.
자율 주행과 관련된 다양한 부가 기능들이 지속적으로 개발되고 있으며, 각종 데이터를 이용하여 주행 환경을 인지하고 판단하여 자동차를 제어함으로써 탑승자에게 안전한 자율 주행 경험을 제공할 수 있는 방법에 대한 연구가 요구되고 있다.
최근에는, 차량을 보다 안전하게 제어하기 위해, 차량에 탑재된 카메라에서 촬영된 이미지 데이터에 포함된 객체의 스테이트를 보다 정확하게 파악하기 위한 연구가 필요한 실정이다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명은 객체를 트래킹하기 위한 방법 및 장치를 제공하는데 있다. 본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 객체를 트래킹하는 방법에 있어서, 소정의 시간 간격으로 차량에 탑재된 카메라에서 촬영된 복수의 이미지 데이터를 획득하는 단계; 상기 복수의 이미지 데이터에 대해 소정의 처리를 수행함으로써, 상기 복수의 이미지 데이터에 포함된 복수의 객체들에 대한 바운딩 박스(bounding box) 정보 및 스테이트 정보(state information) 를 획득하는 단계; 상기 바운딩 박스 정보에 기초하여, 상기 복수의 객체들 중에서 프라이머리 객체를 결정하는 단계; 기설정된 시간 동안 획득되는 상기 프라이머리 객체에 대한 스테이트 정보를 누적하여 버퍼에 저장하는 단계; 및 상기 버퍼에 저장된 복수의 스테이트 정보 중에서, 과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보에 기초하여, 상기 프라이머리 객체의 최종 스테이트 정보를 결정하는 단계;를 포함하는, 방법을 제공할 수 있다.
본 개시의 제 2 측면은, 객체를 트래킹 하기 위한 장치에 있어서, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고, 상기 프로세서는, 소정의 시간 간격으로 차량에 탑재된 카메라에서 촬영된 복수의 이미지 데이터를 획득하고, 상기 복수의 이미지 데이터에 대해 소정의 처리를 수행함으로써, 상기 복수의 이미지 데이터에 포함된 복수의 객체들에 대한 바운딩 박스(bounding box) 정보 및 스테이트 정보(state information)를 획득하고, 상기 바운딩 박스 정보에 기초하여, 상기 복수의 객체들 중에서 프라이머리 객체를 결정하고, 기설정된 시간 동안 획득되는 상기 프라이머리 객체에 대한 스테이트 정보를 누적하여 버퍼에 저장하며, 상기 버퍼에 저장된 복수의 스테이트 정보 중에서, 과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보에 기초하여, 상기 프라이머리 객체의 최종 스테이트 정보를 결정하는 것인, 장치를 제공할 수 있다.
본 개시의 제 3 측면은, 제 1 측면에 따른 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
전술한 본 개시의 과제 해결 수단에 의하면, 객체의 스테이트 정보를 버퍼에 누적하여 저장하고, 복수개의 스테이트 정보를 이용하여 객체의 최종 스테이트 정보를 결정함으로써, 신호등과 같은 객체의 광출력 주파수와 차량에 탑재된 카메라의 프레임 레이트(frame rate)가 다를 경우 등과 같은 상황에서도 객체의 스테이트 정보를 보다 정확하게 결정할 수 있다.
뿐만 아니라, 본 개시에서는 객체의 스테이트 정보를 결정하기 위해 조건에 따라 좁은 범위 조사 및 넓은 범위 조사 방법을 선택적으로 또는 병행하여 수행함으로써, 객체의 스테이트 정보를 보다 정확하게 결정하는 동시에 latency 문제를 해결할 수 있다.
도 1 내지 도 3은 일 실시예에 따른 자율 주행 방식을 설명하기 위한 도면들이다.
도 4a 내지 도 4b는 일 실시예에 따른 이미지 데이터에 포함된 바운딩 박스 정보를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 이미지 내 프라이머리 객체를 결정하는 방법을 설명하기 위한 예시적인 도면이다.
도 6은 일 실시예에 따른 객체의 스테이트 정보를 결정하는 방법을 설명하기 위한 예시적인 도면이다.
도 7a 내지 도 7b는 일 실시예에 따른 객체의 최종 스테이트 정보를 결정하는 방법을 설명하기 위한 예시적인 도면이다.
도 8은 일 실시예에 따른 추적 대상이 되는 객체 별로 저장되는 정보를 설명하기 위한 예시적인 도면이다.
도 9는 일 실시예에 따른 객체를 트래킹하는 방법을 결정하는 방법의 흐름도이다.
도 10은 일 실시예에 따른 객체 트래킹 장치의 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다."매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하에서, '차량'은 자동차, 버스, 오토바이, 킥보드 또는 트럭과 같이 기관을 가지고 사람이나 물건을 이동시키기 위해 이용되는 모든 종류의 운송 수단을 의미할 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1 내지 도 3은 일 실시예에 따른 자율 주행 방식을 설명하기 위한 도면들이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 자율 주행 장치는, 차량에 장착되어 자율 주행 차량(10)을 구현할 수 있다. 자율 주행 차량(10)에 장착되는 자율 주행 장치는, 주변의 상황 정보를 수집하기 위한 다양한 센서들을 포함할 수 있다. 일례로, 자율 주행 장치는 자율 주행 차량(10)의 전면에 장착된 이미지 센서 및/또는 이벤트 센서를 통해, 전방에서 운행 중인 선행 차량(20)의 움직임을 감지할 수 있다. 자율 주행 장치는 자율 주행 차량(10)의 전면은 물론, 옆 차로에서 운행중인 다른 주행 차량(30)과, 자율 주행 차량(10) 주변의 보행자 등을 감지하기 위한 센서들을 더 포함할 수 있다.
자율 주행 차량 주변의 상황 정보를 수집하기 위한 센서들 중 적어도 하나는, 도 1에 도시한 바와 같이 소정의 화각(FoV)을 가질 수 있다. 일례로, 자율 주행 차량(10)의 전면에 장착된 센서가 도 1에 도시한 바와 같은 화각(FoV)을 갖는 경우에, 센서의 중앙에서 검출되는 정보가 상대적으로 높은 중요도를 가질 수 있다. 이는, 센서의 중앙에서 검출되는 정보에, 선행 차량(20)의 움직임에 대응하는 정보가 대부분 포함되어 있기 때문일 수 있다.
자율 주행 장치는, 자율 주행 차량(10)의 센서들이 수집한 정보를 실시간으로 처리하여 자율 주행 차량(10)의 움직임을 제어하는 한편, 센서들이 수집한 정보 중에 적어도 일부는 메모리 장치에 저장할 수 있다.
도 2를 참조하면, 자율 주행 장치(40)는 센서부(41), 프로세서(46), 메모리 시스템(47), 및 차체 제어 모듈(48) 등을 포함할 수 있다. 센서부(41)는 복수의 센서들(42-45)을 포함하며, 복수의 센서들(42-45)은 이미지 센서, 이벤트 센서, 조도 센서, GPS 장치, 가속도 센서 등을 포함할 수 있다.
센서들(42-45)이 수집한 데이터는 프로세서(46)로 전달될 수 있다. 프로세서(46)는 센서들(42-45)이 수집한 데이터를 메모리 시스템(47)에 저장하고, 센서들(42-45)이 수집한 데이터에 기초하여 차체 제어 모듈(48)을 제어하여 차량의 움직임을 결정할 수 있다. 메모리 시스템(47)은 둘 이상의 메모리 장치들과, 메모리 장치들을 제어하기 위한 시스템 컨트롤러를 포함할 수 있다. 메모리 장치들 각각은 하나의 반도체 칩으로 제공될 수 있다.
메모리 시스템(47)의 시스템 컨트롤러 외에, 메모리 시스템(47)에 포함되는 메모리 장치들 각각은 메모리 컨트롤러를 포함할 수 있으며, 메모리 컨트롤러는 신경망과 같은 인공지능(AI) 연산 회로를 포함할 수 있다. 메모리 컨트롤러는 센서들(42-45) 또는 프로세서(46)로부터 수신한 데이터에 소정의 가중치를 부여하여 연산 데이터를 생성하고, 연산 데이터를 메모리 칩에 저장할 수 있다.
도 3은 자율 주행 장치가 탑재된 자율 주행 차량의 센서가 획득한 영상 데이터의 예시를 나타낸 도면이다. 도 3을 참조하면, 영상 데이터(50)는 자율 주행 차량의 전면에 장착된 센서가 획득한 데이터일 수 있다. 따라서 영상 데이터(50)에는 자율 주행 차량의 전면부(51), 자율 주행 차량과 같은 차로의 선행 차량(52), 자율 주행 차량 주변의 주행 차량(53) 및 배경(54) 등이 포함될 수 있다.
도 3에 도시한 실시예에 따른 영상 데이터(50)에서, 자율 주행 차량의 전면부(51)와 배경(54)이 나타나는 영역의 데이터는 자율 주행 차량의 운행에 영향을 미칠 가능성이 거의 없는 데이터일 수 있다. 다시 말해, 자율 주행 차량의 전면부(51)와 배경(54)은 상대적으로 낮은 중요도를 갖는 데이터로 간주될 수 있다.
반면, 선행 차량(52)과의 거리, 및 주행 차량(53)의 차로 변경 움직임 등은 자율 주행 차량의 안전한 운행에 있어서 매우 중요한 요소일 수 있다. 따라서, 영상 데이터(50)에서 선행 차량(52) 및 주행 차량(53) 등이 포함되는 영역의 데이터는 자율 주행 차량의 운행에 있어서 상대적으로 높은 중요도를 가질 수 있다.
자율 주행 장치의 메모리 장치는, 센서로부터 수신한 영상 데이터(50)의 영역별로 가중치를 다르게 부여하여 저장할 수 있다. 일례로, 선행 차량(52)과 주행 차량(53) 등이 포함되는 영역의 데이터에는 높은 가중치를 부여하고, 자율 주행 차량의 전면부(51)와 배경(54)이 나타나는 영역의 데이터에는 낮은 가중치를 부여할 수 있다.
도 4a 내지 도 4b는 일 실시예에 따른 이미지 데이터에 포함된 바운딩 박스 정보를 설명하기 위한 도면이다.
특정 시점에 차량에 탑재된 카메라로부터 획득된 이미지 데이터(410)에는 복수의 객체가 포함될 수 있다.
객체에 관한 정보는 객체 종류 정보 및 객체 속성 정보를 포함한다. 여기에서, 객체 종류 정보는 객체의 종류를 나타내는 인덱스 정보이며, 큰 범위인 그룹과 세부 범위인 클래스로 구성된다. 그리고, 객체 속성 정보는 객체의 현재 상태에 대한 속성 정보를 나타내는 것이며, 움직임 정보, 회전 정보, 교통 정보, 색상 정보, 및 가시성 정보를 포함한다.
일 실시예에서, 객체 종류 정보에 포함되는 그룹 및 클래스는 아래의 표 1과 같을 수 있으나, 이에 제한되지 않는다.
Figure 112021151230627-pat00001
또한, 객체 속성 정보에 포함되는 정보에는 Action, Rotate, Traffic info, color, Visibility 정보가 포함될 수 있다.
Action 정보는 객체의 움직임 정보를 표현하며 정차, 주차, 이동 등으로 정의될 수 있다. 차량의 경우 정차, 주차, 이동이 객체 속성 정보로 결정될 수 있고, 신호등과 같이 움직일 수 없는 객체의 경우 디폴트 값인 정지로 객체 속성 정보가 결정될 수 있다.
Rotate 정보는 객체의 회전 정보를 표현하며 정면, 후면, 수평(horizontal), 수직(vertical), 측면 등으로 정의될 수 있다. 차량의 경우 정면, 후면, 측면으로 객체 속성 정보가 정해질 수 있고, 가로 또는 세로 방향의 신호등은 각각 수평 또는 수직으로 객체 속성 정보가 정해질 수 있다.
Traffic info는 객체의 교통정보를 의미하며, 교통표지판의 지시, 주의, 규제, 보조 표지 등으로 정의될 수 있다. Color는 객체의 색상 정보를 의미하며 객체의 색상, 신호등 및 교통표지판의 색상을 표현할 수 있다.
도 4a를 참조하면, 객체(411)는 신호등일 수 있다. 이미지 데이터(410)는 소정의 크기 M x N (M, N은 자연수)을 가질 수 있다. 복수의 이미지 데이터(410)에는 동일한 객체(411)가 포함될 수 있으나, 차량이 도로를 따라 주행함에 따라 차량과 객체(411)의 상대적 위치는 계속 변화하게 되며, 이에 따라 동일한 객체(411)라도 각 이미지 데이터 내에서의 위치가 달라지게 된다.
각 이미지 데이터에서 동일한 객체가 어떤 것인지 결정하기 위해 이미지 데이터 전체를 이용하는 경우, 데이터 전송량 및 연산량이 상당히 커지게 된다. 이에 따라, 차량에 탑재되는 장치에서 엣지 컴퓨팅을 통해 처리되기 어렵고, 실시간 분석 또한 어렵다.
도 4b를 참조하면, 이미지 데이터(420)에 포함된 바운딩 박스(421)가 도시된다. 바운딩 박스(421)는 객체(411)에 대한 메타데이터로써, 바운딩 박스 정보에는 객체 종류 정보(그룹, 클래스 등), 이미지 데이터(420) 상의 위치 정보, 크기 정보 등이 포함될 수 있다.
도 4b를 참조하면, 바운딩 박스 정보는 해당 객체(411)가 신호등 클래스에 해당한다는 정보와, 직사각형 모양을 갖는다는 정보, 객체(411)의 좌측 아래 꼭지점이 이미지 데이터 상의 (m, n) 에 위치한다는 정보, 그리고 객체(411)의 크기가 a x b 라는 정보를 포함할 수 있다.
도 5는 일 실시예에 따른 이미지 내 프라이머리 객체를 결정하는 방법을 설명하기 위한 예시적인 도면이다.
프라이머리 객체(primary object)란 특정 이미지 데이터에 포함된 복수의 객체들 중에서 자율 주행 차량의 움직임을 제어하는데 있어서 핵심 기준으로 고려되는 객체를 의미할 수 있다.
일 실시예에서, 단일 이미지 데이터에 포함된 복수의 객체들 중에서, 객체 그룹 또는 객체 클래스 별로 하나의 프라이머리 객체가 선정될 수 있다. 예를 들어, 단일 이미지 데이터에 포함된 복수의 '차량 신호등' 클래스의 객체들 중에서 하나의 '차량 신호등' 객체만이 프라이머리 객체로 선정될 수 있다. 다른 실시예에서, 단일 이미지 데이터에 포함된 복수의 객체들 중에서, 두 개 이상의 객체 그룹 또는 두 개 이상의 객체 클래스 별로 하나의 프라이머리 객체가 선정될 수 있다.
도 5를 참조하면, 차량에 탑재된 카메라에서 촬영된 제1 이미지 데이터(510)가 도시 된다. 제1 이미지 데이터(510)는 설명을 돕기 위한 것으로써, 카메라에서 촬영된 실제 도로의 모습을 도시하고 있다. 제1 이미지 데이터(510)에는 복수의 객체(511 내지 517)가 포함될 수 있다.
제2 이미지 데이터(520)에는 복수의 객체(511 내지 517)에 대응하는 복수의 바운딩 박스(521 내지 527)가 포함될 수 있다. 복수의 바운딩 박스(521 내지 527)의 객체 클래스는 '차량 신호등'으로 동일하다.
객체 트래킹 장치는 동일한 객체 클래스에 해당하는 복수의 바운딩 박스 정보에 기초하여, 제2 이미지 데이터(520)에 대한 프라이머리 객체를 결정할 수 있다.
구체적으로, 객체 트래킹 장치는 동일한 객체 클래스를 나타내는 복수의 바운딩 박스(521 내지 527) 간의 크기를 비교하고, 제2 이미지 데이터(520)에서 가장 큰 크기를 갖는 제1 바운딩 박스(521) 및 제2 바운딩 박스(522)에 대응하는 객체를 프라이머리 객체로 결정할 수 있다. 즉, 제1 이미지 데이터(510)에 포함된 '차량 신호등'을 나타내는 복수의 객체(511 내지 517) 중에서, 객체 트래킹 장치는 가장 큰 크기를 갖는 제1 객체(511) 및 제2 객체(512)를 프라이머리 객체로 결정할 수 있다.
일 실시예에서, 객체 트래킹 장치는 프라이머리 히스토리 정보에 기초하여 최종 프라이머리 객체를 결정할 수 있다. 객체 트래킹 장치는 복수의 이미지 데이터 각각에 대한 프라이머리 객체를 결정하고, 결정된 프라이머리 객체에 대한 정보를 누적하여 버퍼에 저장할 수 있다. 프라이머리 객체에 대한 정보는 객체 ID 정보를 포함할 수 있다. 예를 들어, 도 5에서 제2 이미지 데이터(520)에 포함된 복수의 객체들 중에서, 가장 큰 크기를 갖는 제1 바운딩 박스(521)에 대응하는 제1 객체(511)가 프라이머리 객체로 결정된 경우, 객체 트래킹 장치는 제1 객체(511)의 객체 ID 정보를 버퍼에 저장할 수 있다.
객체 트래킹 장치는 버퍼에 저장된 과거 정해진 시점부터 현재까지 누적된 프라이머리 객체에 대한 정보에 기초하여, 현재 시점에서의 이미지 데이터에 대한 최종 프라이머리 객체를 결정할 수 있다. 예를 들어, 차량에 탑재된 카메라에서 1초당 촬영되는 이미지 데이터가 30개이고 과거 정해진 시점이 '0.5초 전'인 경우, 객체 트래킹 장치는 15개의 이미지 데이터 각각에 대한 프라이머리 객체 ID 정보를 버퍼에 저장할 수 있다.
객체 트래킹 장치는 버퍼에 저장된 프라이머리 객체 ID 정보 중에서, 가장 많은 개수가 저장된 객체 ID에 해당하는 객체를 최종 프라이머리 객체로 결정할 수 있다. 또는, 객체 트래킹 장치는 과반 수가 넘는 개수가 저장된 객체 ID에 해당하는 객체를 최종 프라이머리 객체로 결정할 수도 있다.
일 실시예에서, 객체 트래킹 장치는 최종 프라이머리 객체에 대한 유효성을 검증할 수 있다. 객체 트래킹 장치는 트래킹 대상이 되는 객체를 선택할 수 있다. 객체 트래킹 장치는 최종 프라이머리 객체의 특성과 선택된 객체의 특성이 서로 대응되는지 비교함으로써, 최종 프라이머리 객체에 대한 유효성을 검증할 수 있다.
예를 들어, 트래킹 대상이 되는 객체가 '차량 신호등'으로 선택된 경우, 선택된 객체의 특성은 클래스가 '신호등'이라는 것과, 바운딩 박스의 모양이 가로 직사각형 모양인 것일 수 있다. 객체 트래킹 장치는 최종 프라이머리 객체의 특성이 이와 대응되는 경우 유효성 검증 결과를 유효한 것으로 결정할 수 있다.
한편, 유효성 검증 결과가 유효하지 않은 경우, 객체 트래킹 장치는 버퍼에 저장된 프라이머리 객체 ID 정보 중에서, 두번째로 많은 개수가 저장된 객체 ID에 해당하는 객체를 최종 프라이머리 객체로 결정하고, 상술한 유효성 검증 단계를 수행할 수 있다.
일 실시예에서, 동일한 객체 클래스를 나타내는 복수의 바운딩 박스(521 내지 527) 중에서 가장 큰 크기를 갖는 바운딩 박스가 두 개 이상인 경우, 객체 트래킹 장치는 소정의 기준에 기초하여 하나의 최종 바운딩 박스를 선택하고, 선택된 바운딩 박스에 대응하는 객체를 프라이머리 객체로 결정할 수 있다.
구체적으로, 객체 트래킹 장치는 제1 이미지 데이터(510)에 포함된 차선(road line) 인식 후 현재 주행 중인 주행 차로(lane)를 결정한 후, 주행 차로의 중심선과의 거리가 최단 거리인 바운딩 박스를 최종 바운딩 박스를 선택할 수 있다. 객체 트래킹 장치는 선택된 바운딩 박스에 대응하는 객체를 프라이머리 객체로 결정할 수 있다.
예를 들어, 도 5에서 차량의 주행 차로가 2차로인 경우, 2차로의 중심선과의 거리가 가장 짧은 제1 바운딩 박스(521)에 대응하는 제1 객체(511)를 프라이머리 객체로 결정할 수 있다.
한편, 프라이머리 객체가 결정된 이후, 객체 트래킹 장치는 차량을 제어하는데 있어서, 프라이머리 객체의 스테이트 정보 및 상황 정보를 고려하고, 프라이머리 객체를 제외한 나머지 객체의 스테이트 정보 및 상황 정보는 고려하지 않을 수 있으나, 제어 방식은 이에 제한되지 않는다.
도 6은 일 실시예에 따른 객체의 스테이트 정보를 결정하는 방법을 설명하기 위한 예시적인 도면이다.
객체 중에는 시간 등이 바뀜에 따라 스테이트가 변경되는 객체가 존재한다. 스테이트가 변경되는 객체의 경우, 객체의 스테이트 정보를 이용하여 객체가 현재 또는 과거 특정 시점에 어떤 스테이트였는지 확인할 수 있다.
예를 들어, '차량 신호등' 클래스의 객체의 경우, 시간 등이 바뀌더라도 그 실체는 '차량 신호등'으로 동일하게 유지되지만, 시간에 따라 초록불, 빨간불, 노란불 등 신호등 색이 변경되거나, 신호 이미지(동그라미, 화살표 등)가 변경될 수 있다. 즉, '차량 신호등' 클래스의 객체의 경우, 현재 시점의 스테이트는 '빨간불, 동그라미'이지만, 과거 특정 시점의 스테이트는 '초록불, 화살표'와 같이, 시간에 따라 스테이트가 변경되게 된다.
객체 트래킹 장치는 기설정된 시간 동안 획득되는 소정의 객체에 대한 스테이트 정보를 누적하여 버퍼에 저장할 수 있다. 이미지 데이터에 복수의 객체들이 포함되는 경우 복수의 객체들 별로 버퍼가 지정되고, 객체 트래킹 장치는 객체 별 스테이트 정보를 누적하여 객체 별로 지정된 버퍼에 저장할 수 있다. 도 6에서는 설명의 편의상 하나의 버퍼에 저장되는 스테이트 정보만을 도시하였다.
한편, 객체 트래킹 장치는 이미지 데이터에 포함된 복수의 객체들에 대해 스테이트 정보가 변경되는 객체인지 여부를 결정할 수 있다. 상술한 바와 같이, '차량 신호등' 클래스의 객체는 스테이트 정보가 변경될 수 있다. 반면, '차량 표지판' 클래스의 객체는 스테이트 정보가 변경되지 않는다. 객체 트래킹 장치는 복수의 객체들 중에서 스테이트 정보가 변경되는 객체를 식별하고, 식별된 객체에 대해서만 스테이트 정보를 누적하여 지정된 버퍼에 저장할 수 있다.
도 6을 참조하면, 버퍼에 저장되는 스테이트 정보는 0(오프(off)), 1(yellow), 2(green) 및 3(red)일 수 있다. 여기서 공백은 신호등의 전구(bulb)에 대한 정보를 담고 있지 않은 케이스를 모두 포함하며, 예를 들어, 신호등에 어떠한 불(light)도 들어오지 않는 케이스, 신호등의 전면이 주행 차량을 향하고 있지 않은 케이스, 신호등 정보를 인식하지 못한 케이스 등을 포함할 수 있다. 한편, 버퍼에 저장되는 스테이트 정보는 객체의 클래스마다 다를 수 있고, 동일한 클래스의 경우에도 초기 설정에 따라 버퍼에 저장되는 스테이트 정보가 달라질 수 있다.
또한, 버퍼에 저장되는 스테이트 정보의 값은 하나의 이미지 데이터로부터 도출된 값일 수 있다. 예를 들어, 차량에 탑재된 카메라에서 1초당 촬영되는 이미지 데이터가 20개인 경우, 도 6에 도시된 N번째부터 N-9번째 스테이트 정보의 값은 '0.5초' 동안 촬영된 10개의 이미지 데이터에 대응될 수 있다.
객체를 트래킹하고 이에 기초하여 자율 주행 차량을 제어하기 위해서는, 특정 객체(예를 들어, 프라이머리 객체)의 스테이트 정보를 정확하게 결정해야한다. 그러나, 예를 들어 '차량 신호등'의 경우 60Hz의 광출력 주파수를 갖고, 차량에 탑재된 카메라에서는 초당 30개의 프레임을 촬영하여 이미지 데이터를 생성하는 경우, '차량 신호등'이 초록불인 경우에도 특정 이미지 데이터에서 해당 '차량 신호등'의 스테이트 정보는 오프(off)일 수 있다.
도 7a 내지 도 7b는 일 실시예에 따른 객체의 최종 스테이트 정보를 결정하는 방법을 설명하기 위한 예시적인 도면이다.
이하에서 버퍼에는 프라이머리 객체에 대한 스테이트 정보가 저장되는 것을 전제로 한다.
도 7a를 참조하면, 객체 트래킹 장치는 기설정된 시간 동안 획득되는 프라이머리 객체에 대한 스테이트 정보를 누적하여 버퍼에 저장할 수 있다. 또한, 객체 트래킹 장치는 버퍼에 저장된 복수의 스테이트 정보 중에서, 과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보에 기초하여, 프라이머리 객체의 최종 스테이트 정보를 결정할 수 있다.
제1 시점이 N-4번째 이미지 데이터가 촬영된 시점이고, 현재가 N번째 이미지 데이터가 촬영된 시점이라고 할 때, 객체 트래킹 장치는 N-4번째 이미지 데이터부터 N번째 이미지 데이터에 포함된 프라이머리 객체에 대한 스테이트 정보에 기초하여 최종 스테이트 정보를 결정할 수 있다.
일 실시예에서, 객체 트래킹 장치는 좁은 범위 조사(short range investigation)을 수행할 수 있다. 구체적으로, 객체 트래킹 장치는 과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보 중 제1 소정 개수 이상의 스테이트 정보가 오프(off)인지 여부를 결정할 수 있다.
제1 소정 개수 미만의 스테이트 정보가 오프(off)인 경우, 객체 트래킹 장치는 프라이머리 객체의 최종 스테이트 정보를 오프(off)가 아닌, 가장 많은 개수에 해당하는 스테이트 정보로 결정할 수 있다. 제1 소정 개수는 제1 시점부터 현재까지 누적된 복수의 스테이트 정보 개수의 과반수로 설정될 수 있다.
도 7a를 참조하면, 좁은 범위 조사에 따르면 제1 시점부터 현재까지 총 5개의 스테이트 정보가 버퍼에 저장되어 있고, 0(오프(off))이 2개, 1(yellow)가 3개이다. 오프(off)에 해당하는 스테이트 정보가 과반수 미만이므로, 객체 트래킹 장치는 프라이머리 객체의 최종 스테이트 정보를 오프(off)가 아닌 yellow로 결정할 수 있다.
반면, 제1 소정 개수 이상의 스테이트 정보가 오프(off)인 경우, 객체 트래킹 장치는 넓은 범위 조사(long range investigation)을 수행할 수 있다. 구체적으로, 객체 트래킹 장치는 과거 제2 시점부터 현재까지 누적된 복수의 스테이트 정보 중 제2 소정 개수 이상의 스테이트 정보가 오프(off)인지 여부를 결정할 수 있다. 여기서, 과거 제2 시점은 과거 제1 시점부터 더 과거 시점일 수 있다.
제2 소정 개수 미만의 스테이트 정보가 오프(off)인 경우, 객체 트래킹 장치는 프라이머리 객체의 최종 스테이트 정보를 오프(off)가 아닌, 가장 많은 개수에 해당하는 스테이트 정보로 결정할 수 있다. 제2 소정 개수는 제1 시점부터 현재까지 누적된 복수의 스테이트 정보 개수의 과반수로 설정될 수 있다.
또는, 제2 소정 개수 이상의 스테이트 정보가 오프(off)인 경우, 객체 트래킹 장치는 프라이머리 객체의 최종 스테이트 정보를 오프(off)로 결정할 수 있다.
도 7b를 참조하면, 좁은 범위 조사에 따르면 제1 시점부터 현재까지 총 5개의 스테이트 정보가 버퍼에 저장되어 있고, 0(오프(off))이 4개, 1(yellow)이 1개이다. 오프(off)에 해당하는 스테이트 정보가 과반수 이상이므로, 객체 트래킹 장치는 넓은 범위 조사를 추가로 수행하게 된다. 넓은 범위 조사에 따르면 제2 시점부터 현재까지 총 10개의 스테이트 정보가 버퍼에 저장되어 있고, 0(오프(off))이 5개, 1(yellow)가 5개이다. 오프(off)에 해당하는 스테이트 정보가 과반수 미만이므로, 객체 트래킹 장치는 프라이머리 객체의 최종 스테이트 정보를 오프(off)가 아닌 yellow로 결정할 수 있다.
일 실시예에서, 객체 트래킹 장치는 스테이트 정보가 버퍼에 저장된 시점을 고려하여 스테이트 정보 별로 다른 가중치를 부여할 수 있다. 예를 들어, 객체 트래킹 장치는 더 최근에 버퍼에 저장된 스테이트 정보에 높은 가중치를 부여할 수 있다. 객체 트래킹 장치는 소정의 기간 동안 버퍼에 저장된 스테이트 정보 별 개수 뿐만 아니라, 각 스테이트 정보 별 가중치를 종합적으로 고려하여 프라이머리 객체의 최종 스테이트 정보를 결정할 수 있다.
신호등과 같은 객체의 광출력 주파수와 차량에 탑재된 카메라의 프레임 레이트(frame rate)가 다를 경우 등과 같은 상황에서는 특정 시점에 객체의 스테이트 정보가 부정확하게 결정될 수 있다. 본 개시에서는 객체의 스테이트 정보를 버퍼에 누적하여 저장하고, 복수개의 스테이트 정보를 이용하여 객체의 최종 스테이트 정보를 결정함으로써 상기와 같은 상황에서도 객체의 스테이트 정보를 보다 정확하게 결정할 수 있다.
뿐만 아니라, 본 개시에서는 객체의 스테이트 정보를 결정하기 위해 조건에 따라 좁은 범위 조사 및 넓은 범위 조사 방법을 선택적으로 또는 병행하여 수행함으로써, 객체의 스테이트 정보를 보다 정확하게 결정하는 동시에 latency 문제를 해결할 수 있다.
도 8은 일 실시예에 따른 추적 대상이 되는 객체 별로 저장되는 정보를 설명하기 위한 예시적인 도면이다.
도 8을 참조하면, 차량이 주행 중에 차량에 탑재된 카메라에서 촬영되는 복수의 이미지 데이터(810a, 810b, 810c)가 도시 된다. 차량이 도로를 따라 주행함에 따라 차량과 복수의 객체(811 내지 817)의 상대적 위치는 계속 변화하게 되며, 이에 따라 동일한 객체라도 각 이미지 데이터(810a, 810b, 810c) 내에서의 위치가 달라지게 된다.
객체 트래킹 장치는 소정의 처리를 수행함으로써 복수의 이미지 데이터(810a, 810b, 810c) 각각에 포함된 동일한 객체들을 식별할 수 있다. 객체 트래킹 장치는 복수의 이미지 데이터(810a, 810b, 810c)에 포함된 복수의 객체에 대응하는 바운딩 박스들 간의 상관도에 기초하여 동일한 객체들을 식별할 수 있다. 상관도는 복수의 바운딩 박스들 간의 배치 관계, 크기 관계에 기초하여 결정될 수 있으나, 상관도를 결정하는 펙터는 이에 제한되지 않는다.
일 실시예에서, 객체 트래킹 장치는 이미지 데이터 포함된 복수의 바운딩 박스들 간의 상관도에 기초하여, 복수의 이미지 데이터에서 동일한 객체에 해당하는 복수의 피쳐들을 결정할 수 있다. 상관도는 복수의 바운딩 박스들 간의 배치 관계, 크기 관계에 기초하여 결정될 수 있으나, 상관도를 결정하는 펙터는 이에 제한되지 않는다. 예를 들어, 객체 트래킹 장치는 그래프-매칭(graph-matching) 방법을 이용하여 복수의 이미지 데이터에서 동일한 객체를 식별할 수 있다. 또는, 객체 트래킹 장치는 실시간 트래킹 알고리즘을 이용하여 복수의 이미지 데이터에서 동일한 객체를 식별할 수 있다. 예를 들어, 객체 트래킹 장치는 SORT(Simple Online and Realtime Tracking) 알고리즘을 이용하여 복수의 이미지 데이터에서 동일한 객체를 식별할 수 있다.
도 8을 참조하면, 복수의 이미지 데이터(810a, 810b, 810c)에 포함된 객체들에 저장된 정보를 보여주는 객체 리스트가 도시 된다.
이미지 데이터(810c)에는 총 7개의 '차량 신호등' 클래스에 해당하는 객체가 포함된다. 객체 트래킹 장치는 복수의 이미지 데이터(810a, 810b, 810c) 각각에서 동일한 객체로 식별된 객체들에 대해서는 동일한 객체 ID 정보를 부여할 수 있다. 객체 트래킹 장치는 식별된 객체 별로 객체 ID 정보를 저장할 수 있다.
또한, 객체 트래킹 장치는 식별된 객체 별로 바운딩 박스 정보를 저장할 수 있다. 바운딩 박스 정보에는 객체 종류 정보(그룹, 클래스 등), 복수의 이미지 데이터(810a, 810b, 810c) 상의 위치 정보, 크기 정보 등이 포함될 수 있다.
또한, 객체 트래킹 장치는 식별된 객체 별로 스테이트 히스토리를 저장할 수 있다. 스테이트 히스토리에는 소정의 기간 동안 획득된 객체에 대한 복수의 스테이트 정보가 저장될 수 있다. 객체 트래킹 장치는 객체의 스테이트 정보를 이용하여 객체가 현재 또는 과거 특정 시점에 어떤 스테이트였는지 확인할 수 있다. 또한, 객체 트래킹 장치는 스테이트 히스토리를 이용하여 객체의 최종 스테이트 정보를 결정할 수 있다.
또한, 객체 트래킹 장치는 식별된 객체 별로 프라이머리 히스토리를 저장할 수 있다. 프라이머리 히스토리에는 소정의 기간 동안 획득된 객체에 대한 복수의 프라이머리 정보가 저장될 수 있다. 프라이머리 정보는 해당 객체가 소정의 이미지 데이터 상에서 프라이머리 객체인지 아닌지 여부를 나타내는 정보로써, 프라이머리 객체인 경우 1, 프라이머리 객체가 아닌 경우 0의 값을 가질 수 있다.
일 실시예에서 객체 트래킹 장치는 현재 이미지 데이터 상의 바운딩 박스에 대한 정보만 저장하고, 과거 이미지 데이터 상의 바운딩 박스에 대한 정보는 삭제할 수 있다. 반면, 객체 트래킹 장치는 스테이트 정보 및 프라이머리 정보는 현재 이미지 데이터뿐만 아니라 과거 이미지 데이터에 대한 정보를 저장할 수 있다.
도 9는 일 실시예에 따른 객체를 트래킹하는 방법을 결정하는 방법의 흐름도이다.
도 9에 도시된, 객체를 트래킹하는 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 9의 방법에도 적용될 수 있다.
도 9를 참조하면, 단계 910에서 프로세서는 소정의 시간 간격으로 차량에 탑재된 카메라에서 촬영된 복수의 이미지 데이터를 획득할 수 있다.
단계 920에서 프로세서는 복수의 이미지 데이터에 대해 소정의 처리를 수행함으로써, 복수의 이미지 데이터에 포함된 복수의 객체들에 대한 바운딩 박스 정보 및 스테이트 정보를 획득할 수 있다.
소정의 처리는, 이미지 데이터로부터 바운딩 박스 정보를 생성할 수 있는 처리 방식이라면 제한 없이 해당될 수 있다. 구체적으로, 소정의 처리는, 이미지 데이터로부터 객체 종류 정보(그룹, 클래스 등), 이미지 데이터 상의 객체의 위치 정보, 객체의 크기 정보 등을 생성할 수 있는 처리 방식을 포함할 수 있다. 예를 들어, 소정의 처리는, 신호등 검출(Traffic lights detection), 도로 표지 검출(Traffic signs detection), 차선 인식(Lane recognition), 교차로 인식(Intersection recognition), 노면 표시 검출(Road markings detection), 방지턱 인식(Bump recognition) 등을 위한 모듈에 의해 구현될 수 있다.
바운딩 박스는 객체에 대한 메타데이터로써, 바운딩 박스 정보에는 객체 종류 정보(그룹, 클래스 등), 이미지 데이터 상의 위치 정보, 크기 정보 등이 포함될 수 있다.
객체 중에는 시간 등이 바뀜에 따라 스테이트가 변경되는 객체가 존재한다. 예를 들어, '차량 신호등' 클래스의 객체의 경우, 시간 등이 바뀌더라도 그 실체는 '차량 신호등'으로 동일하게 유지되지만, 시간에 따라 초록불, 빨간불, 노란불 등 신호등 색이 변경되거나, 신호 이미지(동그라미, 화살표 등)가 변경될 수 있다.
단계 930에서 프로세서는 상기 바운딩 박스 정보에 기초하여, 상기 복수의 객체들 중에서 프라이머리 객체를 결정할 수 있다.
프라이머리 객체는 특정 이미지 데이터에 포함된 복수의 객체들 중에서 자율 주행 차량의 움직임을 제어하는데 있어서 핵심 기준으로 고려되는 객체를 의미할 수 있다.
일 실시예에서, 프로세서는 소정의 이미지 데이터 각각에 포함된 복수의 객체들의 바운딩 박스 정보를 비교함으로써, 바운딩 박스의 크기가 가장 큰 객체를 소정의 이미지 데이터에 대한 프라이머리 객체로 결정할 수 있다.
일 실시예에서, 프로세서는 복수의 이미지 데이터 각각에 대한 프라이머리 객체를 결정할 수 있다. 또한, 프로세서는 프라이머리 객체에 대한 정보를 누적하여 버퍼에 저장하고, 버퍼에 저장된 과거 제3 시점부터 현재까지 누적된 프라이머리 객체에 대한 정보에 기초하여, 현재 시점에서의 이미지 데이터에 대한 최종 프라이머리 객체를 결정할 수 있다.
일 실시예에서, 프로세서는 최종 프라이머리 객체에 대한 유효성을 검증할 수 있다.
일 실시예에서, 프로세서는 차량의 주행 차로를 고려하여 프라이머리 객체를 결정할 수 있다.
단계 940에서 프로세서는 기설정된 시간 동안 획득되는 프라이머리 객체에 대한 스테이트 정보를 누적하여 버퍼에 저장할 수 있다.
단계 950에서 프로세서는 상기 버퍼에 저장된 복수의 스테이트 정보 중에서, 과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보에 기초하여, 프라이머리 객체의 최종 스테이트 정보를 결정할 수 있다.
일 실시예에서, 프로세서는 과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보 중 제1 소정 개수 이상의 스테이트 정보가 오프(off)인지 여부를 결정할 수 있다. 제1 소정 개수 미만의 스테이트 정보가 오프(off)인 경우, 프로세서는 프라이머리 객체의 최종 스테이트 정보를 오프(off)가 아닌 가장 많은 개수에 해당하는 스테이트 정보로 결정할 수 있다.
프로세서는 제1 소정 개수 이상의 스테이트 정보가 오프(off)인 경우, 과거 제2 시점부터 현재까지 누적된 복수의 스테이트 정보 중 제2 소정 개수 이상의 스테이트 정보가 오프(off)인지 여부를 결정할 수 있다. 제2 소정 개수 이상의 스테이트 정보가 오프(off)인 경우, 프로세서는 프라이머리 객체의 최종 스테이트 정보를 오프(off)로 결정할 수 있다. 반면, 제2 소정 개수 미만의 스테이트 정보가 오프(off)인 경우, 프로세서는 프라이머리 객체의 최종 스테이트 정보를 오프(off)가 아닌 가장 많은 개수에 해당하는 스테이트 정보로 결정할 수 있다.
일 실시예에서, 프로세서는 최종 스테이트 정보에 기초하여 프라이머리 객체의 상황(status)을 결정할 수 있다. 여기서, '상황(status)'은 '상태(state)'와 구분되는 용어로써, 상황은 최종 스테이트 정보로부터 결정될 수 있다. 예를 들어, '차량 신호등' 프라이머리 객체의 최종 스테이트 정보가 '초록불, 화살표'로 결정된 경우, 프로세서는 프라이머리 객체의 상황을 "좌회전"으로 결정할 수 있다.
일 실시예에서, 프로세서는 객체에 포함된 복수의 전구 단위 별 최종 스테이트 정보에 기초하여 프라이머리 객체의 상황을 결정할 수 있다. 프로세서는 복수의 전구 단위로 판단하여 프라이머리 객체의 상황을 결정함으로써, 이미 알려진 상황 외에도 복수의 전구를 이용한 다양한 스테이트 조합으로 결정될 수 있는 객체의 상황을 동적으로 결정할 수 있다.
일 실시예에서, 프로세서는 프라이머리 객체의 상황에 기초하여 차량을 제어할 수 있다.
도 10은 일 실시예에 따른 객체 트래킹 장치의 블록도이다.
도 10을 참조하면, 객체 트래킹 장치(1000)는 통신부(1010), 프로세서(1020) 및 DB(1030)를 포함할 수 있다. 도 10의 객체 트래킹 장치(1000)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 10에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
통신부(1010)는 외부 서버 또는 외부 장치와 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(1010)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다.
DB(1030)는 객체 트래킹 장치(1000) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(1020)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. DB(1030)는 결제 정보, 사용자 정보 등을 저장할 수 있다.
DB(1030)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
프로세서(1020)는 객체 트래킹 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1020)는 DB(1030)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(1010), DB(1030) 등을 전반적으로 제어할 수 있다. 프로세서(1020)는, DB(1030)에 저장된 프로그램들을 실행함으로써, 객체 트래킹 장치(1000)의 동작을 제어할 수 있다.
프로세서(1020)는 도 1 내지 도 9에서 상술한 객체 트래킹 장치의 동작 중 적어도 일부를 제어할 수 있다.
프로세서(1020)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
일 실시예로, 객체 트래킹 장치(1000)는 이동성을 가지는 전자 장치일 수 있다. 예를 들어, 객체 트래킹 장치(1000)는 스마트폰, 태블릿 PC, PC, 스마트 TV, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 네비게이션, 카메라가 탑재된 디바이스 및 기타 모바일 전자 장치로 구현될 수 있다. 또한, 객체 트래킹 장치(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 장치로 구현될 수 있다.
다른 실시예로, 객체 트래킹 장치(1000)는 차량 내에 임베디드 되는 전자 장치일 수 있다. 예를 들어, 객체 트래킹 장치(1000)는 생산 과정 이후 튜닝(tuning)을 통해 차량 내에 삽입되는 전자 장치일 수 있다.
또 다른 실시예로, 객체 트래킹 장치(1000)는 차량 외부에 위치하는 서버일 수 있다. 서버는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 서버는 차량에 탑재된 장치들로부터 차량의 이동 경로를 결정하기 위해 필요한 데이터를 수신하고, 수신한 데이터에 기초하여 차량의 이동 경로를 결정할 수 있다.
또 다른 실시예로, 객체 트래킹 장치(1000)에서 수행되는 프로세스는 이동성을 가지는 전자 장치, 차량 내에 임베디되는 전자 장치 및 차량 외부에 위치하는 서버 중 적어도 일부에 의해 수행될 수 있다.
본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
일 실시예에 따르면, 본 개시의 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (12)

  1. 객체를 트래킹하는 방법에 있어서,
    소정의 시간 간격으로 차량에 탑재된 카메라에서 촬영된 복수의 이미지 데이터를 획득하는 단계;
    상기 복수의 이미지 데이터에 대해 소정의 처리를 수행함으로써, 상기 복수의 이미지 데이터에 포함된 복수의 객체들에 대한 바운딩 박스(bounding box) 정보 및 스테이트 정보(state information)를 획득하는 단계;
    상기 바운딩 박스 정보에 기초하여, 상기 복수의 객체들 중에서 프라이머리 객체를 결정하는 단계;
    기설정된 시간 동안 획득되는 상기 프라이머리 객체에 대한 스테이트 정보를 누적하여 버퍼에 저장하는 단계; 및
    상기 버퍼에 저장된 복수의 스테이트 정보 중에서, 과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보에 기초하여, 상기 프라이머리 객체의 최종 스테이트 정보를 결정하는 단계;
    를 포함하고,
    상기 최종 스테이트 정보를 결정하는 단계는,
    과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보 중 제1 소정 개수 이상의 스테이트 정보가 오프(off)인지 여부를 결정하는 단계;
    상기 제1 소정 개수 이상의 스테이트 정보가 오프(off)인 경우, 과거 제2 시점부터 현재까지 누적된 복수의 스테이트 정보 중 제2 소정 개수 이상의 스테이트 정보가 오프(off)인지 여부를 결정하는 단계; 및
    상기 제2 소정 개수 이상의 스테이트 정보가 오프(off)인 경우, 상기 프라이머리 객체의 최종 스테이트 정보를 오프(off)로 결정하는 단계;
    를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 최종 스테이트 정보를 결정하는 단계는,
    상기 제1 소정 개수 미만의 스테이트 정보가 오프(off)인 경우, 상기 프라이머리 객체의 최종 스테이트 정보를 오프(off)가 아닌 가장 많은 개수에 해당하는 스테이트 정보로 결정하는 단계;
    를 포함하는, 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 방법은,
    상기 복수의 이미지 데이터 각각에 대한 프라이머리 객체를 결정하는 단계;
    상기 프라이머리 객체에 대한 정보를 누적하여 버퍼에 저장하는 단계; 및
    상기 버퍼에 저장된 과거 제3 시점부터 현재까지 누적된 상기 프라이머리 객체에 대한 정보에 기초하여, 현재 시점에서의 이미지 데이터에 대한 최종 프라이머리 객체를 결정하는 단계;
    를 포함하는, 방법.
  5. 제 4 항에 있어서,
    상기 방법은,
    상기 최종 프라이머리 객체에 대한 유효성을 검증하는 단계;
    를 더 포함하는, 방법.
  6. 제 4 항에 있어서,
    상기 프라이머리 객체를 결정하는 단계는,
    소정의 이미지 데이터 각각에 포함된 복수의 객체들의 바운딩 박스 정보를 비교함으로써, 바운딩 박스의 크기가 가장 큰 객체를 상기 소정의 이미지 데이터에 대한 프라이머리 객체로 결정하는 단계;
    를 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 프라이머리 객체를 결정하는 단계는,
    상기 차량의 주행 차로를 고려하여 상기 프라이머리 객체를 결정하는 단계;
    를 포함하는, 방법.
  8. 제 4 항에 있어서,
    상기 방법은,
    상기 최종 스테이트 정보에 기초하여 상기 프라이머리 객체의 상황(status)을 결정하는 방법;
    을 더 포함하는, 방법.
  9. 제 1 항에 있어서,
    상기 방법은,
    상기 프라이머리 객체에 포함된 복수의 전구 단위 별 최종 스테이트 정보에 기초하여 상기 프라이머리 객체의 상황을 결정하는 방법;
    를 포함하는, 방법.
  10. 제 8 항에 있어서,
    상기 방법은,
    상기 프라이머리 객체의 상황에 기초하여 상기 차량을 제어하는 단계;
    를 더 포함하는, 방법.
  11. 객체를 트래킹 하기 위한 장치에 있어서,
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고,
    상기 프로세서는,
    소정의 시간 간격으로 차량에 탑재된 카메라에서 촬영된 복수의 이미지 데이터를 획득하고,
    상기 복수의 이미지 데이터에 대해 소정의 처리를 수행함으로써, 상기 복수의 이미지 데이터에 포함된 복수의 객체들에 대한 바운딩 박스(bounding box) 정보 및 스테이트 정보(state information)를 획득하고,
    상기 바운딩 박스 정보에 기초하여, 상기 복수의 객체들 중에서 프라이머리 객체를 결정하고,
    기설정된 시간 동안 획득되는 상기 프라이머리 객체에 대한 스테이트 정보를 누적하여 버퍼에 저장하며,
    상기 버퍼에 저장된 복수의 스테이트 정보 중에서, 과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보에 기초하여, 상기 프라이머리 객체의 최종 스테이트 정보를 결정하며,
    상기 프로세서는,
    과거 제1 시점부터 현재까지 누적된 복수의 스테이트 정보 중 제1 소정 개수 이상의 스테이트 정보가 오프(off)인지 여부를 결정하고,
    상기 제1 소정 개수 이상의 스테이트 정보가 오프(off)인 경우, 과거 제2 시점부터 현재까지 누적된 복수의 스테이트 정보 중 제2 소정 개수 이상의 스테이트 정보가 오프(off)인지 여부를 결정하며,
    상기 제2 소정 개수 이상의 스테이트 정보가 오프(off)인 경우, 상기 프라이머리 객체의 최종 스테이트 정보를 오프(off)로 결정하는 것인, 장치.
  12. 제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020210189136A 2021-12-28 2021-12-28 객체를 트래킹하기 위한 방법 및 장치 KR102472649B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210189136A KR102472649B1 (ko) 2021-12-28 2021-12-28 객체를 트래킹하기 위한 방법 및 장치
KR1020220160622A KR20230100608A (ko) 2021-12-28 2022-11-25 객체를 트래킹하기 위한 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210189136A KR102472649B1 (ko) 2021-12-28 2021-12-28 객체를 트래킹하기 위한 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220160622A Division KR20230100608A (ko) 2021-12-28 2022-11-25 객체를 트래킹하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102472649B1 true KR102472649B1 (ko) 2022-11-30

Family

ID=84234527

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210189136A KR102472649B1 (ko) 2021-12-28 2021-12-28 객체를 트래킹하기 위한 방법 및 장치
KR1020220160622A KR20230100608A (ko) 2021-12-28 2022-11-25 객체를 트래킹하기 위한 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220160622A KR20230100608A (ko) 2021-12-28 2022-11-25 객체를 트래킹하기 위한 방법 및 장치

Country Status (1)

Country Link
KR (2) KR102472649B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007286943A (ja) * 2006-04-18 2007-11-01 Fujifilm Corp 信号灯検出装置
JP2018120600A (ja) * 2018-02-16 2018-08-02 パイオニア株式会社 信号機認識装置、制御方法、プログラム及び記憶媒体
KR20200128145A (ko) * 2018-06-29 2020-11-11 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 교통 신호등 검출 및 지능형 주행을 위한 방법 및 디바이스, 차량, 및 전자 디바이스
KR20210016927A (ko) * 2019-08-06 2021-02-17 현대자동차주식회사 차량 내 장치 및 그의 신호등 정보 제공 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007286943A (ja) * 2006-04-18 2007-11-01 Fujifilm Corp 信号灯検出装置
JP2018120600A (ja) * 2018-02-16 2018-08-02 パイオニア株式会社 信号機認識装置、制御方法、プログラム及び記憶媒体
KR20200128145A (ko) * 2018-06-29 2020-11-11 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 교통 신호등 검출 및 지능형 주행을 위한 방법 및 디바이스, 차량, 및 전자 디바이스
KR20210016927A (ko) * 2019-08-06 2021-02-17 현대자동차주식회사 차량 내 장치 및 그의 신호등 정보 제공 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
박창현 등, 신호등이 설치된 교차로 구역에서의 자율주행 시스템 구현, 한국자동차공학회논문집, Vol.27, No.5, pp.379-387.(2019.05.)* *

Also Published As

Publication number Publication date
KR20230100608A (ko) 2023-07-05

Similar Documents

Publication Publication Date Title
US11854393B2 (en) Road hazard communication
CN109598066B (zh) 预测模块的效果评估方法、装置、设备和存储介质
JP6832421B2 (ja) シミュレーションに基づく自動運転車の感知要求の評価方法
JP6674019B2 (ja) 自律走行車を運行させるための制御エラー補正計画方法
US10331138B2 (en) Standard scene-based planning control methods for operating autonomous vehicles
CN110188482B (zh) 一种基于智能驾驶的测试场景创建方法及装置
JP6808775B2 (ja) 複数のキューを利用したオブジェクト追跡
CN108475470B (zh) 事故概率计算装置、事故概率计算方法及存储有事故概率计算程序的介质
CN111178286B (zh) 姿态轨迹预测方法、装置及电子设备
JP7143269B2 (ja) 車両挙動予測のための圧縮環境特徴の表示
CN113032261A (zh) 一种仿真测试的方法及装置
CN114475656B (zh) 行驶轨迹预测方法、装置、电子设备以及存储介质
US20230251366A1 (en) Method and apparatus for determining location of pedestrian
KR102472649B1 (ko) 객체를 트래킹하기 위한 방법 및 장치
JP2023122577A (ja) 交差点の信号運用情報を処理するための方法および装置
KR102454599B1 (ko) 차로 맵 상에 객체의 위치를 결정하기 위한 방법 및 장치
KR102499023B1 (ko) 차로 별 트래픽 흐름을 결정하는 장치 및 방법
KR20240044955A (ko) 본선 합류를 위해 우회전하는 것을 계획중인 자율 주행 차량의 행동 결정 방법, 장치 및 컴퓨터-판독가능 기록매체
KR20240074144A (ko) 자율 주행 차량의 시뮬레이션 방법, 장치 및 컴퓨터-판독가능 기록매체
JP7256233B2 (ja) 警告制御装置、移動体、警告制御方法及びプログラム
KR20240019656A (ko) 미래의 주행속도를 계획하는 방법 및 장치
JP2024520399A (ja) 車線マップ上の対象物の位置を決定するための方法及び装置
KR20240077619A (ko) 자율 주행 차량의 시뮬레이션 방법, 장치 및 컴퓨터-판독가능 기록매체
US11644331B2 (en) Probe data generating system for simulator
US20220398412A1 (en) Object classification using augmented training data

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant