KR102510122B1 - 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치 - Google Patents

전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치 Download PDF

Info

Publication number
KR102510122B1
KR102510122B1 KR1020220116259A KR20220116259A KR102510122B1 KR 102510122 B1 KR102510122 B1 KR 102510122B1 KR 1020220116259 A KR1020220116259 A KR 1020220116259A KR 20220116259 A KR20220116259 A KR 20220116259A KR 102510122 B1 KR102510122 B1 KR 102510122B1
Authority
KR
South Korea
Prior art keywords
vehicle
mode
dual
tracking
core
Prior art date
Application number
KR1020220116259A
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 (주)카네비모빌리티
Application granted granted Critical
Publication of KR102510122B1 publication Critical patent/KR102510122B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/143Alarm means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치가 개시된다. 듀얼 코어 프로세서를 탑재한 장치에서의 차량 검출과 추적 방법은, (a) 소정 주기마다 입력 프레임을 획득하는 단계; (b) 동작 모드가 차량 추적 모드인지 여부를 판단하는 단계; (c) 상기 동작 모드가 상기 차량 추적 모드가 아닌 경우, 듀얼 코어 모드로 동작하여 상기 듀얼 코어 프로세서를 이용하여 상기 입력 프레임의 분석을 통한 차량 검출 동작을 수행하는 단계; 및 (d) 상기 동작 모드가 상기 차량 추적 모드인 경우, 상기 듀얼 코어 프로세서를 싱글 코어 모드로 동작시키되, 상기 듀얼 코어 프로세서 중 어느 하나는 상기 입력 프레임의 분석을 통한 차량 검출 동작을 수행하고, 상기 듀얼 코어 프로세서 중 다른 하나는 상기 입력 프레임의 분석을 통한 차량 추적 동작을 수행한다.

Description

전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치{Vision-based real-time vehicle detection, tracking method for forward collision warning and apparatus therefor}
본 발명은 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치에 관한 것이다.
첨단 운전자 보조 시스템(ADAS)은 운전자의 운전에 도움을 주는 시스템으로 운전 피로를 감소시키고, 안전한 운전을 도와준다. 그 중에 전방 추돌 경보 시스템은 전방 차량과의 추돌 위험을 미리 감지하여 운전자에게 경보를 해주는 시스템으로, 시각적인 디스플레이나 청각적인 오디오 사운드 또는 그 외의 요소를 통해 운전 자에게 위험에 대한 사전 경보를 알려줄 수 있다.
전방 추돌 경보 시스템은 전방 차량으로부터 거리가 너무 가까우면 추돌 위험 가능성이 크기에 운전자에게 사전 경보를 전달해 줌으로써 사고의 위험을 현저하게 줄이는데 중요한 역할을 한다. 충돌시간은 전방 차량으로부터 거리와 현재 차량의 속도 정보를 통해 계산이 되는데, 전방 차량으로부터의 거리를 계산하기 위해서는 차량 검출 및 추적 알고리즘이 필요하다. 차량 검출에는 보다 성능이 좋은 딥 러닝 기반 검출 알고리즘이 있으나 많은 계산량이 요구되기에 실시간 검출을 위해서는 고사양의 GPU가 포함된 하드웨어가 필요하다.
차량에 ADAS를 접목시키기 위해서는 자동차에 대한 소비전력을 낮추는 것 또한 중요한 요소이다. 소비전력이 높으면 배터리의 잦은 충전으로 인해 차량의 연비 또한 낮아지기에 비효율적이다
본 발명은 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치를 제공하기 위한 것이다.
또한, 본 발명은 계산 복잡도와 정확도 사이에 관계를 맺는 상충관계(Trade-off)를 고려하여 높은 수준 및 낮은 수준에 해당하는 최적화 기법을 적용한 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치를 제공하기 위한 것이다.
또한, 본 발명은 소실점 기반 케이케이스 알고리즘을 적용하여 신속한 전방 차량 검출이 가능한 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치를 제공하기 위한 것이다.
본 발명의 일 측면에 따르면 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법이 제공된다.
본 발명의 일 실시예에 따르면, 듀얼 코어 프로세서를 탑재한 장치에서의 차량 검출과 추적 방법에 있어서, (a) 소정 주기마다 입력 프레임을 획득하는 단계; (b) 동작 모드가 차량 추적 모드인지 여부를 판단하는 단계; (c) 상기 동작 모드가 상기 차량 추적 모드가 아닌 경우, 듀얼 코어 모드로 동작하여 상기 듀얼 코어 프로세서를 이용하여 상기 입력 프레임의 분석을 통한 차량 검출 동작을 수행하는 단계; 및 (d) 상기 동작 모드가 상기 차량 추적 모드인 경우, 상기 듀얼 코어 프로세서를 싱글 코어 모드로 동작시키되, 상기 듀얼 코어 프로세서 중 어느 하나는 상기 입력 프레임의 분석을 통한 차량 검출 동작을 수행하고, 상기 듀얼 코어 프로세서 중 다른 하나는 상기 입력 프레임의 분석을 통한 차량 추적 동작을 수행하는 것을 특징으로 하는 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법이 제공될 수 있다.
상기 동작 모드는 차량 검출 모드와 차량 추적 모드를 포함하되, 상기 차량 검출 모드가 디폴트 모드일 수 있다.
상기 (c) 단계에서, 상기 차량 검출 동작 수행 결과 전방 차량 객체 검출시 상기 차량 추적 모드가 활성화되며, 상기 검출된 전방 차량 객체는 레퍼런스 템플릿으로 등록될 수 있다.
상기 차량 추적 동작은 상기 레퍼런스 템플릿을 이용하여 수행될 수 있다.
상기 차량 추적 동작 수행 결과 차량 추적 실패시, 상기 차량 추적 동작은 비활성화될 수 있다.
상기 차량 검출 동작은, 상기 입력 프레임에서 소실점을 도출하는 단계; 상기 도출된 소실점을 기준으로 서로 다른 사이즈를 가지는 복수의 윈도우를 생성한 후 지정된 크기로 스케일링하여 복수의 관심 영역을 설정하는 단계; 및 상기 복수의 관심 영역에 하르 특징 기반 캐스케이드 분류기를 적용하여 전방 차량 객체를 검출하는 단계를 포함할 수 있다.
상기 차량 추적 동작 수행 결과 차량 추적에 성공하면, 추적된 상기 전방 차량 객체로부터의 거리를 계산하는 단계; 및 상기 계산된 거리가 임계치 미만인 경우, 경보 메시지를 출력하는 단계를 포함할 수 있다.
본 발명의 다른 측면에 따르면, 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법을 수행하는 장치가 제공된다.
본 발명의 일 실시예에 따르면, 소정 주기마다 입력 프레임을 획득하는 영상 입력부; 및 동작 모드에 따라 듀얼 코어 모드 및 싱글 코어 모드로 동작하는 듀얼 코어 프로세서를 포함하되, 상기 듀얼 코어 프로세서는 상기 동작 모드가 차량 추적 모드가 아닌 경우 듀얼 코어 모드로 동작하되, 상기 입력 프레임의 분석을 통해 차량 검출 동작을 수행하고, 상기 동작 모드가 상기 차량 추적 모드인 경우, 상기 듀얼 코어 프로세는 싱글 코어 모드로 각각 동작하되, 상기 듀얼 코어 프로세서 중 어느 하나는 상기 입력 프레임의 분석을 통한 차량 검출 동작을 수행하고, 상기 듀얼 코어 프로세서 중 다른 하나는 상기 입력 프레임의 분석을 통한 차량 추적 동작을 수행하는 것을 특징으로 하는 장치가 제공될 수 있다.
상기 듀얼 코어 프로세서는, 상기 차량 검출 동작 수행 결과 전방 차량 객체 검출시 상기 차량 추적 모드를 활성화시키고, 상기 검출된 전방 차량 객체는 레퍼런스 템플릿으로 등록할 수 있다.
상기 차량 추적 동작 수행 결과 차량 추적 실패시, 상기 차량 추적 동작은 비활성화될 수 있다.
상기 듀얼 코어 모드로 동작하는 듀얼 코어 프로세서는 각각, 상기 입력 프레임에서 소실점을 도출하고, 상기 도출된 소실점을 기준으로 서로 다른 사이즈를 가지는 복수의 윈도우를 생성한 후 지정된 크기로 스케일링하여 복수의 관심 영역을 설정하며, 상기 복수의 관심 영역에 하르 특징 기반 캐스케이드 분류기를 적용하여 전방 차량 객체를 검출할 수 있다.
상기 싱글 코어 모드로 동작하는 듀얼 코어 프로세서 중 어느 하나는, 상기 차량 추적 동작 수행 결과 차량 추적에 성공하면, 추적된 상기 전방 차량 객체로부터의 거리를 계산하고, 상기 계산된 거리가 임계치 미만인 경우, 경보 메시지를 출력할 수 있다.
본 발명의 일 실시예에 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치를 제공함으로써, 계산 복잡도와 정확도 사이에 관계를 맺는 상충관계(Trade-off)를 고려하여 높은 수준 및 낮은 수준에 해당하는 최적화 기법을 적용하여 정확하고 빠른 차량 검출 및 추적이 가능한 이점이 있다.
본 발명은 소실점 기반 케이케이스 알고리즘을 적용하여 신속한 전방 차량 검출이 가능케 할 수도 있다.
도 1은 본 발명의 일 실시예에 따른 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법을 나타낸 순서도.
도 2는 본 발명의 일 실시예에 따른 핀 홀 카메라 모델을 설명하기 위해 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 전방 차량 거리 계산을 설명하기 위해 도시한 도면.
도 4는 본 발명의 일 실시예에 따른 차량 검출 동작을 나타낸 순서도.
도 5는 본 발명의 일 실시예에 따른 소실점을 기준으로 복수의 윈도우를 생성하는 방법을 설명하기 위해 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 하르 특징을 설명하기 위해 도시한 도면.
도 7은 본 발명의 일 실시예에 따른 하르 특징 기반 캐스케이드 분류기를 설명하기 위해 도시한 도면.
도 8은 일반적인 행렬 곱셈을 설명하기 위해 도시한 도면.
도 9는 본 발명의 일 실시예에 따른 SIMD와 루프 언롤링 기법을 사용한 행렬 곱셈을 설명하기 위해 도시한 도면.
도 10은 본 발명의 일 실시예에 따른 장치의 내부 구성을 개략적으로 도시한 블록도.
도 11은 본 발명의 일 실시예에 따른 최적화를 적용한 경우와 적용하지 않은 경우 하르 기반 캐스케이드 분류기를 이용한 차량 검출 실행 시간을 나타낸 도면.
도 12는 본 발명의 일 실시예에 따른 최적화를 적용하지 않은 경우와 적용한 경우 소실점 기반 관심 영역을 이용하여 하르 기반 캐스케이드 분류기를 이용한 차량 검출 실행 시간을 나타낸 도면.
도 13은 주행 영상에서 총 주행 영상에서 총 3356개의 프레임이 실행되는데 소요되는 시간을 비교한 도면.
도 14는 최적화를 적용한 차량 추적 동작과 적용하지 않은 경우의 실행 시간을 비교한 도면.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법을 나타낸 순서도이고, 도 2는 본 발명의 일 실시예에 따른 핀 홀 카메라 모델을 설명하기 위해 도시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 전방 차량 거리 계산을 설명하기 위해 도시한 도면이다. 이하의 각 단계에 기재된 실시간 차량 검출과 추적 방법을 수행하는 장치는 차량일 수도 있으며, 차량 내부에 포함된 일 구성일 수도 있다. 다만, 해당 장치(100)가 차량이 아닌 일 구성인 경우, 차량의 ECU와 연동되어 해당 차량에 대한 다양한 정보(예를 들어, 속도, GPS 정보 등) 이용이 가능한 것으로 확장 해석되어야 할 것이다. 또한, 장치(100)는 듀얼 프로세서를 탑재한 장치로, 듀얼 프로세서는 듀얼 코어 모드 또는 싱글 코어 모드로 동작될 수 있다.
단계 110에서 장치(100)는 카메라로부터 입력 프레임을 획득한다. 여기서, 장치(100)는 카메라로부터 소정 주기마다 입력 프레임을 획득할 수 있다.
단계 115에서 장치(100)는 동작 모드가 차량 추적 모드인지 여부를 판단한다.
만일 동작 모드가 차량 추적 모드가 아닌 경우, 단계 120에서 장치(100)는 듀얼 코어 모드로 동작하되, 듀얼 코어 프로세서를 이용하여 입력 프레임을 분석하여 차량 검출 동작을 수행할 수 있다.
장치(100)의 동작 모드는 차량 검출 모드가 디폴트로 설정될 수 있다. 최초 입력 프레임을 가정하기로 한다. 최초 입력 프레임이 획득되는 경우, 장치(100)는 입력 프레임 내에서 차량 검출 동작을 수행하지 않았기 때문에 전방 차량 객체 또한 검출하지 못한 상태이다. 따라서, 동작 모드는 초기에는 차량 검출 모드로 동작하되, 이와 같이 차량 검출 모드로 동작하는 경우, 장치(100)는 듀얼 코어 프로세서를 모두 이용하여 소정 주기로 획득되는 각각의 입력 프레임들을 처리하여 차량 검출 동작을 수행하도록 할 수 있다. 이와 같이, 듀얼 코어 프로세서를 모두 입력 프레임 분석 및 처리에 이용함으로써 차량 검출 속도를 높일 수 있는 이점이 있다.
차량 검출 동작 수행에 따라 전방 차량 객체가 검출되는 경우, 장치(100)는 차량 추적 모드를 활성화시킨다. 즉, 차량 추적 모드는 차량 검출 동작 수행 결과 전방 차량 객체가 검출되는 경우 활성화될 수 있다. 이와 같이, 전방 차량 객체가 검출되는 경우, 검출된 전방 차량 객체는 레퍼런스 템플릿으로 등록 또는 갱신될 수 있다. 레퍼런스 템플릿은 차량 추적시 이용될 수 있다.
차량 검출 동작은 하기에서 관련 도면을 참조하여 보다 상세히 설명하기로 한다.
다시 단계 115로 진행하여 그러나 만일 동작 모드가 차량 추적 모드인 경우, 단계 125에서 장치(100)는 듀얼 코어 프로세서를 각각 싱글 코어 모드로 동작시키되, 듀얼 코어 프로세서 중 어느 하나는 차량 추적 동작을 수행하고, 듀얼 코어 프로세서 중 다른 하나는 차량 검출 동작을 수행하도록 제어한다.
입력 프레임에서 전방 차량 객체가 검출되더라도, 다른 차량이 끼어들 수도 있으므로 검출된 전방 차량 객체에 대해 차량 추적 동작을 수행함과 동시에 차량 검출 동작이 지속적으로 수행되어야 한다.
따라서, 본 발명의 일 실시예에 따른 장치(100)는 이와 같이 차량 추적 모드로 동작시, 듀얼 코어 프로세서 중 어느 하나를 이용하여 차량 추적 동작을 수행하고, 다른 하나를 통해 차량 검출 동작을 지속적으로 수행하도록 함으로써 기검출된 전방 차량 객체와 장치(100) 사이에 끼어드는 다른 차량이 존재하는 경우에도 검출이 가능하도록 할 수 있는 이점이 있다.
차량 추적 동작은 검출된 차량을 연속적으로 추적하는 것으로, 차량 추적 없이 차량을 검출한다면 차량이 동일 위치에 있음에도 불구하고 검출된 차량에 대한 관심 영역의 픽셀 좌표가 불규칙적으로 다를 수 있다.
만일 관심 영역의 위치가 불규칙적으로 변하게 되면 검출된 차량에 대한 거리값도 불규칙하게 변하기 때문에 계산된 TTC에 대한 값도 오차가 커지게 된다. 검출된 차량에 대한 관심 영역 위치가 이전 검출된 관심 영역 위치와 항상 동일하다는 보장이 없기 때문에 검출된 관심 영역 기준으로 규칙적으로 추적하기 위해 차량 추적 알고리즘이 필요하다. 차량 추적 알고리즘은 20 x 20 크기의 윈도우를 기반으로 템플릿 매칭 기법을 사용한다.
템플릿 매칭은 입력 영상으로부터 타겟이 되는 템플릿 영상과 매칭하여 해당하는 위치를 탐색하는 방법이다. 영상의 밝기를 그대로 사용할 수 있지만 실외에서는 햇빛이나 환경에 따른 밝기 변화가 심한 경우가 많다. 따라서, 영상의 밝기 등에 덜 민감하도록 정규화하는 과정이 필요하다.
장치(100)는 수학식 1을 이용하여 입력 영상을 정규화할 수 있다.
Figure 112022096808896-pat00001
여기서, I는 입력 영상을 나타내고, T는 타겟의 템플릿 영상을 나타내며, R은 해당되는 좌표에 대칭 결과를 저장한 행렬을 나타낸다. 또한, x,y 및
Figure 112022096808896-pat00002
는 각각 입력 영상과 템플릿 영상의 각 좌표 인덱스를 나타낸다.
수학식 1에서 보여지는 바와 같이, 장치(100)는 픽셀값의 제곱차를 이용하는 방법에서 정규화 계수를 나눠준다. 정규화는 입력 영상과 템플릿 영상 사이에 조명의 차이가 존재할 때, 그 영향을 줄여주기 때문에 유용한 방법이다. 차량 추적의 속도 향상을 위해 입력 영상의 모든 위치를 템플릿 영상와 비교하지 않고, 검출된 차량 기준으로 일정한 범위의 스케일과 위치에 있는 영역에서만 비교할 수 있다.
그러나 만약 전방에 검출된 차량만 계속 추적한다면 전방에 새로운 차량이 중간에 끼어드는 경우 인식이 늦을 수 있다. 게다가 실시간으로 차량 추적과 검출을 동시에 수행한다면, 계산 복잡도가 증가하기에 동작 속도는 감소하여 차량 추적이 실패할 수 있다. 이러한 문제를 해결하기 위해 우리는 멀티 코어 기법을 사용했으며, 듀얼 코어 (Dual core)라고 가정 하에 하나의 코어는 차량 검출하는 프로세스를 실행하고 나머지 코어는 차량 검출과 추적이 통합된 프로세서를 실행한다.
검출된 차량이 없을 때는 검출 속도를 향상시키기 위해 코어 2개를 동시에 활용하여 병렬적으로 차량 검출을 한다. 하나의 코어는 6개의 윈도우 영역 중 3개에 대해서만 캐스케이드 알고리즘을 적용하고 다른 코어는 나머지 3개의 윈도우 영역에 대해 차량 검출을 한다. 차량이 검출된 경우에는 하나의 코어에서는 6개의 윈도우 영역을 모두 사용해서 계속적으로 차량을 검출하게 되고, 다른 코어에서는 기존에 검출된 차량을 지속적으로 추적하기 위해 추적 알고리즘이 동작된다.
멀티 코어 기법을 통해 연속적으로 차량을 검출함으로써, 기존에 검출된 차량을 추적하더라도 전방에 끼어드는 차량을 빠르게 인식하여 추적 대상을 업데이트 할 수 있다.
단계 130에서 장치(100)는 차량 추적 동작 수행 결과 차량 추적이 성공했는지 여부를 판단한다.
만일 차량 추적에 실패한 경우, 단계 135에서 장치(100)는 차량 추적 모드를 비활성화시키고 차량 검출 모드로 동작 모드를 다시 설정한다.
그러나 만일 차량 추적에 성공한 경우, 단계 140에서 장치(100)는 추적 성공한 전방 차량 객체와의 거리를 계산한다.
우선, 이해와 설명의 편의를 도모하기 위해 전방 차량과의 거리를 계산하는 방법에 대해 보다 상세히 설명하기로 한다.
본 발명의 일 실시예에 따르면, 장치(100)는 도 2에 도시된 바와 같은 핀홀(Pinepole) 카메라 모델을 이용하여 전방 차량 객체와의 거리값을 계산할 수 있다.
핀홀 카메라 모델은 3차원 공간에서 임의의 점이 이상적인 핀홀 카메라의 2차원 이미지 평면으로 투영될 때의 수학적 관계를 표현한 것으로 거리값은 차량이 검출된 후 추적 단계에서 계산되며 도 3에 도시된 바와 같다.
카메라는 오직 세타(Theta)에 대한 회전 성분 있다고 가정하면, 월드 공간(World space)에서의 한점이 정규화된 이미지 평면(Normalized image plane)으로 투영될 때의 과정은 수학식 2와 같이 나타낼 수 있다.
Figure 112022096808896-pat00003
여기서,
Figure 112022096808896-pat00004
는 카메라의 틸트(Tilt) 각도를 나타내고, s는 월드 공간에서 정규화된 이미지 평면으로 투영하기 위한 스케일 팩터(scale factor)를 나타낸다.
여기서, u,v는 정규화된 이미지 평면으로 투영된 좌표를 나타내고,
Figure 112022096808896-pat00005
,
Figure 112022096808896-pat00006
,
Figure 112022096808896-pat00007
는 각 축에 대한 이동 벡터를 나타낸다.
회전 행렬(R)과 이동 벡터(T)는 수학식 3과 같이 월드 공간에서 한점을 카메라 공간으로 이동하기 위한 변환 행렬(transformation matrix)이다.
Figure 112022096808896-pat00008
여기서,
Figure 112022096808896-pat00009
는 월드 공간에서 카메라의 중심 좌표를 나타내고, 이동 벡터(T)는 수학식 4 및 수학식 5와 같이 계산될 수 있다. 여기서,
Figure 112022096808896-pat00010
는 월드 좌표계를 기준으로 바라본 점의 좌표를 나타내고,
Figure 112022096808896-pat00011
는 카메라 좌표계를 기준으로 바라본 점의 좌표를 나타낸다.
Figure 112022096808896-pat00012
Figure 112022096808896-pat00013
정규화된 이미지 평면에서 한점은 수학식 6과 같이 정의될 수 있다.
Figure 112022096808896-pat00014
여기서,
Figure 112022096808896-pat00015
가 월드 공간에서의 한 점이 점일 때,
Figure 112022096808896-pat00016
는 수학식 6과 같이 정의될 수 있다.
Figure 112022096808896-pat00017
여기서,
Figure 112022096808896-pat00018
는 차량에 설치된 카메라의 높이를 나타내고,
Figure 112022096808896-pat00019
는 카메라와 검출된 차량 사이의 거리를 나타낸다.
따라서, 카메라와 검출된 차량 사이의 거리를 수학식 8과 같이 나타낼 수 있다.
Figure 112022096808896-pat00020
여기서,
Figure 112022096808896-pat00021
는 y축에 대한 카메라 초점 거리(Focal lengh)를 나타내고,
Figure 112022096808896-pat00022
는 y축에 대한 카메라의 주점(principal point)를 나타내고,
Figure 112022096808896-pat00023
는 3차원 공간에서 차량의 바퀴와 도로의 지면이 맞닿는 좌표를 나타내며, 해당 좌표를 원점으로 설정할 수 있다.
월드 공간에서의 원점이 이미지 평면으로 투영된 좌표
Figure 112022096808896-pat00024
와 같다.
최종적으로 카메라와 검출된 차량 사이의 거리를 나타내는
Figure 112022096808896-pat00025
는 입력 프레임에서 차량이 도로의 지면과 닿는 픽셀 좌표에 의해 계산될 수 있다.
단계 145에서 장치(100)는 계산된 거리가 임계치 미만인지 여부를 판단한다.
만일, 계산된 거리가 임계치 미만인 경우, 단계 150에서 장치(100)는 경보 메시지를 출력한다. 즉, 장치(100)는 추적 성공한 전방 차량과의 거리가 너무 가까운 경우 전방 추돌 위험이 있는 것으로 판단하여 경보 메시지를 출력할 수 있다.
도 4는 본 발명의 일 실시예에 따른 차량 검출 동작을 나타낸 순서도이고, 도 5는 본 발명의 일 실시예에 따른 소실점을 기준으로 복수의 윈도우를 생성하는 방법을 설명하기 위해 도시한 도면이고, 도 6은 본 발명의 일 실시예에 따른 하르 특징을 설명하기 위해 도시한 도면이며, 도 7은 본 발명의 일 실시예에 따른 하르 특징 기반 캐스케이드 분류기를 설명하기 위해 도시한 도면이며, 도 8은 일반적인 행렬 곱셈을 설명하기 위해 도시한 도면이고, 도 9는 본 발명의 일 실시예에 따른 SIMD와 루프 언롤링 기법을 사용한 행렬 곱셈을 설명하기 위해 도시한 도면이다. 이하의 차량 검출 동작은 장치(100)에 포함된 듀얼 코어 프로세서 각각에 의해 수행될 수도 있으며, 듀얼 코어 프로세서 중 어느 하나에 의해 수행될 수도 있다.
단계 410에서 장치(100)는 입력 프레임에서 소실점을 도출한다.
도 5에는 본 발명의 일 실시예에 따른 소실점 기반 캐스케이드 방식을 설명하기 위해 도시한 도면이다.
도 5에 도시된 바와 같이, 소실점(vanishing point)는 3차원 공간에서 평행하는 두 개의 직선이 2차원 평면에 투영되면서 두 개의 직선이 만나는 점을 말한다. 소실점을 생성하는 방법은 공지되어 있으므로 이에 대한 별도의 설명은 생략하기로 한다.
단계 415에서 장치(100)는 도출된 소실점을 기준으로 서로 다른 크기를 가지는 복수의 윈도우를 관심 영역으로 설정한다.
도 5에서 보여지는 바와 같이, 소실점을 기준으로 차량의 두 바퀴와 지면이 맞닿는 부분에 대한 픽셀 좌표는 소실점 보다 상단 픽셀에 존재할 수 있다. 따라서, 본 발명의 일 실시예에서는 소실점을 기준으로 관심 영역을 설정하여 불필요한 연산을 줄일 수 있다. 즉, 장치(100)는 입력 프레임에서 검출된 소실점을 기준으로 서로 다른 사이즈를 가지는 6개의 윈도우를 각각 관심 영역으로 설정할 수 있다.
단계 420에서 장치(100)는 관심 영역을 하르 특징(Haar feature) 기반 캐스케이드 분류기에 적용하여 차량 검출 동작을 수행한다.
이해와 설명의 편의를 도모하기 위해 하르 특징 기반 캐스케이드 분류기에 대해 간략하게 설명하기로 한다.
도 6에는 하르 특징(Haar Feature)가 예시되어 있다. 하르 특징은 도 5에 예시된 바와 같이 두 개 이상의 인접한 사각형 형태의 마스크로 구성되며, 하르 특징의 값은 해당 마스크 간의 밝기차로 정의될 수 있다. 즉, 도 5에 도시된 바와 같은 마스크에서 흰색 영역의 픽셀 값의 합에서 검은색 영역의 픽셀 값의 합을 뺀 결과값을 추출할 수 있다.
하나의 하르 특징만을 적용하여 차량을 검출하기는 어려우며, 복수의 하르 특징을 이용하여 캐스케이드 구조로 분류기가 구현되며, 그 구조는 도 6에 도시된 바와 같다.
또한, 하르 특징 기반 캐스케이드 분류기는 AdaBoost에 기반하여 학습될 수 있다. AdaBoost 알고리즘은 공지된 기술이므로 상세한 설명은 생략하기로 한다.
도 7에서 보여지는 바와 같이, 본 발명의 일 실시예에 따른 하르 특징 기반 캐스케이드 분류기는 복수의 하르 특징 분류기들이 캐스케이드 구조로 구성될 수 있다.
캐스케이드 분류기는 복수의 단계들로 구성되며, 각각의 단계들에 적용되는 하르 특징의 개수들이 상이할 수 있다.
예를 들어, 하르 특징 기반 캐스케이드 분류기의 제1 단계의 경우, 하나의 하르 특징 분류기를 이용하여 차량 검출 여부를 분류하며, 제2 단계의 경우 2개의 하르 특징 분류기로 구성되며, 제3 단계의 경우 3개의 하르 특징 분류기로 구성되고, 제n 단계는 제n개의 하르 특징 분류기로 구성될 수 있다.
이와 같이, 구성된 하르 특징 기반 캐스케이드 분류기는 선행 단계가 통과된 경우에만 후행 단계가 진행되며, 선행 단계를 통과하지 못하는 경우 관심 영역은 폐기되고 다른 관심 영역에 대해 차량 검출 과정을 진행할 수 있다.
즉, 영상에서 검출하고자 하는 관심 영역은 각 단계에서 학습된 하르 특징 분류기를 통해 비교가 되며, 하르 특징 분류기에 의해 계산된 값이 학습된 임계값(Th) 이상인 경우, 해당 관심 영역은 다음 단계로 넘어갈 수 있다. 그러나 만일, 하르 특징 분류기에 의해 계산된 값이 학습된 임계값(Th) 미만인 경우 해당 관심 영역은 폐기되며 다른 관심 영역에 대해 차량 검출 과정이 진행될 수 있다.
이러한, 하르 특징 기반 캐스케이드 분류기는 캐스케이드 구조로 구성된 모든 단계를 통과한 경우 최종적으로 관심 영역에서 차량을 검출할 수 있다. 하르 특징 기반 캐스케이드 분류기는 캐스케이드 구조로 구성됨에 따라 초기 단계에서 불필요한 관심 영역들은 빠르게 버리고, 비슷한 특징을 가지는 관심 영역에 대해 단계별로 더 세부적으로 검사할 수 있어 검출 속도가 빠른 장점이 있다.
그러나, 이러한 하르 특징 기반 캐스케이드 분류기의 경우 640 x 480 크기의 입력 영상을 가정할 때, 관심 영역의 크기를 반복적으로 키우고 슬라이딩(Sliding) 하면서 모든 위치에 존재하는 관심 영역을 비교하기 때문에 비효율적인 단점이 있다. 즉, 실제 차량이 존재하지 않는 배경 부분에 대한 관심 영역도 캐스케이드 분류기의 첫 단계에서 검출에 대한 연산을 수행하기 때문에 자원 장비가 될 수 있다. 따라서, 입력 프레임의 모든 관심 영역을 대상으로 하르 특징 기반 캐스케이드 분류기를 적용하는 것이 아니라 소실점 기준으로 서로 다른 크기로 생성된 윈도우 영역을 각각 관심 영역으로 설정하여 적용할 수 있다.
장치(100)는 서로 다른 크기를 가지는 관심 영역을 하르 특징 기반 캐스케이드 분류기에 적용하기 전에, 지정된 고정 크기로 스케일링하여 하르 특징 기반 캐스케이드 분류기에 적용할 수 있다.
이와 같이, 서로 다른 크기를 가지는 윈도우를 지정된 고정 크기로 스케일링하여 관심 영역을 동일한 크기로 생성함으로써, 윈도우 크기가 큰 영역은 지정된 크기로 축소되어 실제로 근접한 차량을 검출하는데 효과적이며, 30 x 30 크기를 가지는 윈도우를 60 x 60 크기로 스케일링하면 윈도우가 확대되기 때문에 원거리에 있는 차량을 검출하는데 효과적으로 동작하도록 할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 하나의 입력 프레임에 대해 6개의 윈도우 영역을 동시에 계산하지 않고, 한 프레임당 1개의 윈도우 영역을 계산할 수 있다. 예를 들어, 제1 프레임에서 제1 크기의 제1 윈도우 영역에 대해 차량 검출을 수행하고, 제2 프레임에서 제2 크기의 제2 윈도우 영역에 대해 차량 검출을 수행하며, 제3 프레임에서 제3 크기의 제3 윈도우 영역에 대해 차량 검출이 수행되도록 할 수 있다. 이와 같은 방식으로 제7 프레임에서 다시 제1 크기의 제1 윈도우 영역에 대해 차량 검출이 수행되도록 할 수 있다.
이와 같이, 하나의 프레임에서 6개의 윈도우 영역을 계산하지 않고, 하나의 프레임에 대해 하나의 윈도우 영역을 계산하여 차량 검출을 수행함으로써 처리 속도가 늦어져 프레임 속도(FPS)를 보장하지 못하는 문제점을 해결할 수 있다.
또한, 연산 속도를 높이기 위해 장치(100)는 SIMD(Single Instruction Multiple Data) 기법을 적용할 수 있다. SIMD 기법은 하나의 명령어로 여러 개의 데이터를 동시에 계산하는 방식이다. 예를 들어, ARM NEON 기술이 ARM Cotex-A 및 Cortex-R 시리즈 프로세서를 위한 고급 SIMD 아키텍처를 확장한 것이다.
NEON 레지스터는 동일한 데이터 유형의 요소 벡터로 간주되며, NEON 명령어는 여러 요소에서 동시에 동작될 수 있다. 최적화가 필요한 부분을 NEON 어셈블러로 코딩하여 차량 검출에 대한 알고리즘을 가속화하여 속도를 향상시킬 수 있다.
도 8은 일반적인 행렬 A와 행렬 B의 곱셈을 표현하기 위해 도시한 도면이다. 행렬 C의 0번째 요소를 계산하기 위해서는 행렬 A의 첫번째 행과 행렬 B의 첫번째 열의 성분을 각각 곱해서 적분하기에 총 8번의 순차적인 곱셈과 적분이 필요하다 행렬 C의 첫번째 행을 계산하기 위해서는 8 x 8 번의 순차적인 곱셈과 적분이 필요하며 행렬 C를 모두 계산하기 위해서는 총 64 x 8번의 계산이 요구된다.
도 9는 본 발명의 일 실시예에 따른 SIMD와 루프 언롤링 기법을 사용한 행렬 연산을 설명하기 위해 도시한 도면이다. 32비트 실수형 데이터인 것을 가정하기로 한다.
NEON의 128비트 연산 레지스터를 사용하면 4개의 32비트 실수형 데이터를 한번의 연산 주기에 수행할 수 있다.
예를 들어, 행렬 A의 빨간색 영역에 있는 0번 요소는 행렬 B의 왼쪽 빨간색 영역에 있는 4개의 0번 요소를 한번의 연산 주기에 곱셈을 수행하고, 행렬 B의 오른쪽 빨간색 영역에 있는 4개의 0번 요소들도 동일하게 곱셈을 수행한다. 그리고 행렬 A의 1번 요소는 행렬 B의 왼쪽 빨간색 영역에 있는 1번 요소들을 한번의 연산 주기에 곱셈을 수행하고 이전에 구해진 4개의 0번 요소 값을 한번의 연산 주기에 덧셈을 수행한다. 이러한 과정을 반복하여 행렬 C의 1번째 행을 계산하기 위해서는 16번의 순차적인 곱셈과 적분이 필요하며 행렬 C를 계산하기 위해서는 총 16x8번의 계산이 요구된다.
이와 같이, 상술한 바와 같이 행렬 A와 행렬 B의 곱셈 연산시 SIMD 기법을 적용하면 기존보다 계산 복잡도가 4배 정도 줄어드는 것을 알 수 있다.
보통 관심영역은 사각형으로 표현되며 사각형을 표현하기 위한 시작 좌표(x, y)와 사각형에 대한 폭 (width) 및 높이 (height) 정보가 필요하다. 기존에는 차량을 검출하기 위해 4개의 요소가 순차적으로 계산되었지만, SIMD를 사용함으로써 차량 검출 속도를 향상시킬 수 있다.
도 10은 본 발명의 일 실시예에 따른 장치의 내부 구성을 개략적으로 도시한 블록도이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 장치(100)는 영상 입력부(1010), 메모리(1020) 및 듀얼 코어 프로세서(1030)를 포함하여 구성된다.
영상 입력부(1010)는 카메라를 통해 소정 주기마다 입력 프레임을 획득한다.
메모리(1020)는 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법을 수행하기 위한 명령어를 저장한다.
듀얼 코어 프로세서(1030)는 본 발명의 일 실시예에 따른 장치(100)의 내부 구성 요소들(예를 들어, 영상 입력부(1010) 및 메모리(1020) 등)을 제어하기 위한 수단이다.
또한, 듀얼 코어 프로세서(1030)는 동작 모드에 따라 듀얼 코어 모드 및 싱글 코어 모드로 동작할 수 있다.
예를 들어, 동작 모드가 차량 추적 모드가 아닌 경우 듀얼 코어 프로세서(1030)는 듀얼 코어 모드로 동작할 수 있다. 듀얼 코어 모드로 동작됨에 따라 듀얼 코어 프로세서(1030)는 입력 프레임을 분석하여 차량 검출 동작을 수행할 수 있다. 이에 대한 상세한 설명은 도 1 내지 도 9를 참조하여 설명한 바와 동일하므로 중복되는 설명은 생략하기로 한다.
그러나 만일 동작 모드가 차량 추적 모드인 경우, 듀얼 코어 프로세서(1030)는 각각 싱글 코어 모드로 동작할 수 있다. 이에 따라, 듀얼 코어 프로세서(1030) 중 어느 하나는 입력 프레임의 분석을 통한 차량 검출 동작을 수행하고, 듀얼 코어 프로세서 중 다른 하나는 입력 프레임의 분석을 통한 차량 추적 동작을 수행할 수 있다. 이에 대해서는 도 1 내지 도 9를 참조하여 설명한 바와 동일하므로 중복되는 설명은 생략하기로 한다.
도 11은 본 발명의 일 실시예에 따른 최적화를 적용한 경우와 적용하지 않은 경우 하르 기반 캐스케이드 분류기를 이용한 차량 검출 실행 시간을 나타낸 도면이다.
도 11에서 보여지는 바와 같이, 최적화를 하지 않은 캐스케이드 분류기는 차량을 검출하는데 있어 평균 5.192초가 소요된 반면, SIMD를 적용해 최적화를 한다면 평균 4.416 초가 소요되어 검출 속도가 향상되었음을 확인할 수 있다.
도 12는 최적화를 적용하지 않은 경우와 적용한 경우 소실점 기반 관심 영역을 이용하여 하르 기반 캐스케이드 분류기를 이용한 차량 검출 실행 시간을 나타낸 도면이다.
도 12에서 보여지는 바와 같이, 높은 수준에서 최적화를 적용한 소실점 기반 캐스케이드 알고리즘은 차량 검출에 있어 평균0.034 초가 소요되었으며, SIMD까지 적용한 결과는 평균 0.030 초로 검출 속도가 향상됨을 알 수 있다.
도 13은 주행 영상에서 총 주행 영상에서 총 3356개의 프레임이 실행되는데 소요되는 시간을 비교한 도면이다.
도 13에서 보여지는 바와 같이, 전체 프레임이 실행되는데 있어 최적화를 하지 않은 캐스케이드 알고리즘은 약 17427.0918 초 소요되었으며, SIMD를 사용한 소실점 기반 캐스케이드 알고리즘은 약 102.3967 초가 소요되었기에 약 170배 성능이 향상된 것을 확인할 수 있다.
도 14는 최적화를 적용한 차량 추적 동작과 적용하지 않은 경우의 실행 시간을 비교한 도면이다. 도 14에서 보여지는 바와 같이, 최적화를 적용한 경우 성능이 향상되는 것을 확인할 수 있다.
본 발명의 실시 예에 따른 장치 및 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (15)

  1. 듀얼 코어 프로세서를 탑재한 장치에서의 차량 검출과 추적 방법에 있어서,
    (a) 소정 주기마다 입력 프레임을 획득하는 단계;
    (b) 동작 모드가 차량 추적 모드인지 여부를 판단하는 단계;
    (c) 상기 동작 모드가 상기 차량 추적 모드가 아닌 경우, 듀얼 코어 모드로 동작하여 상기 듀얼 코어 프로세서를 이용하여 상기 입력 프레임의 분석을 통한 차량 검출 동작을 수행하는 단계; 및
    (d) 상기 동작 모드가 상기 차량 추적 모드인 경우, 상기 듀얼 코어 프로세서를 싱글 코어 모드로 동작시키되, 상기 듀얼 코어 프로세서 중 어느 하나는 상기 입력 프레임의 분석을 통한 차량 검출 동작을 수행하고, 상기 듀얼 코어 프로세서 중 다른 하나는 상기 입력 프레임의 분석을 통한 차량 추적 동작을 수행하는 단계를 포함하되,
    상기 차량 검출 동작은,
    상기 입력 프레임에서 소실점을 도출하는 단계;
    상기 도출된 소실점을 기준으로 서로 다른 사이즈를 가지는 복수의 윈도우를 생성한 후 상기 서로 다른 사이즈를 가지는 복수의 윈도우를 각각 지정된 고정 크기로 스케일링하여 동일 크기를 가지는 복수의 관심 영역을 설정하는 단계; 및
    상기 복수의 관심 영역에 하르 특징 기반 캐스케이드 분류기를 적용하여 전방 차량 객체를 검출하는 단계를 포함하며,
    상기 (c) 단계에서, 상기 차량 검출 동작 수행 결과 전방 차량 객체 검출시 상기 차량 추적 모드가 활성화되며, 상기 검출된 전방 차량 객체는 레퍼런스 템플릿으로 갱신 등록되되,
    상기 차량 추적 동작은 상기 전방 차량 객체 검출에 따라 활성화되어 상기 갱신 등록된 레퍼런스 템플릿을 이용하여 수행되는 것을 특징으로 하는 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법.
  2. 제1 항에 있어서,
    상기 동작 모드는 차량 검출 모드와 차량 추적 모드를 포함하되,
    상기 차량 검출 모드가 디폴트 모드인 것을 특징으로 하는 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법.
  3. 삭제
  4. 삭제
  5. 제1 항에 있어서,
    상기 차량 추적 동작 수행 결과 차량 추적 실패시, 상기 차량 추적 동작은 비활성화되는 것을 특징으로 하는 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법.
  6. 삭제
  7. 제1 항에 있어서,
    상기 차량 추적 동작 수행 결과 차량 추적에 성공하면, 추적된 상기 전방 차량 객체로부터의 거리를 계산하는 단계; 및
    상기 계산된 거리가 임계치 미만인 경우, 경보 메시지를 출력하는 단계를 포함하는 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법.
  8. 제1 항, 제2항, 제5항 또는 제7 항 중 어느 하나의 항에 따른 방법을 수행하기 위한 프로그램 코드를 기록한 컴퓨터로 판독 가능한 기록매체.
  9. 소정 주기마다 입력 프레임을 획득하는 영상 입력부; 및
    동작 모드에 따라 듀얼 코어 모드 및 싱글 코어 모드로 동작하는 듀얼 코어 프로세서를 포함하되,
    상기 듀얼 코어 프로세서는 상기 동작 모드가 차량 추적 모드가 아닌 경우 듀얼 코어 모드로 동작하되, 상기 입력 프레임의 분석을 통해 차량 검출 동작을 수행하고,
    상기 동작 모드가 상기 차량 추적 모드인 경우, 상기 듀얼 코어 프로세는 싱글 코어 모드로 각각 동작하되, 상기 듀얼 코어 프로세서 중 어느 하나는 상기 입력 프레임의 분석을 통한 차량 검출 동작을 수행하고, 상기 듀얼 코어 프로세서 중 다른 하나는 상기 입력 프레임의 분석을 통한 차량 추적 동작을 수행하되,
    상기 듀얼 코어 모드로 동작하는 듀얼 코어 프로세서는 각각,
    상기 입력 프레임에서 소실점을 도출하고, 상기 도출된 소실점을 기준으로 서로 다른 사이즈를 가지는 복수의 윈도우를 생성한 후 지정된 크기로 스케일링하여 복수의 관심 영역을 설정하며, 상기 복수의 관심 영역에 하르 특징 기반 캐스케이드 분류기를 적용하여 전방 차량 객체를 검출하며,
    상기 듀얼 코어 프로세서는, 상기 차량 검출 동작 수행 결과 전방 차량 객체 검출시 상기 차량 추적 모드를 활성화시키고, 상기 검출된 전방 차량 객체는 레퍼런스 템플릿으로 갱신 등록하되,
    상기 차량 추적 동작은 상기 전방 차량 객체 검출시 활성화되어 상기 갱신 등록된 레퍼런스 템플릿을 이용하여 수행되는 것을 특징으로 하는 장치.
  10. 제9 항에 있어서,
    상기 동작 모드는 디폴트로 차량 검출 모드로 설정되는 것을 특징으로 하는 장치.
  11. 삭제
  12. 삭제
  13. 제9 항에 있어서,
    상기 차량 추적 동작 수행 결과 차량 추적 실패시, 상기 차량 추적 동작은 비활성화되는 것을 특징으로 하는 장치.
  14. 삭제
  15. 제9 항에 있어서,
    상기 싱글 코어 모드로 동작하는 듀얼 코어 프로세서 중 어느 하나는,
    상기 차량 추적 동작 수행 결과 차량 추적에 성공하면, 추적된 상기 전방 차량 객체로부터의 거리를 계산하고, 상기 계산된 거리가 임계치 미만인 경우, 경보 메시지를 출력하는 것을 특징으로 하는 장치.

KR1020220116259A 2021-11-24 2022-09-15 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치 KR102510122B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210163010 2021-11-24
KR1020210163010 2021-11-24

Publications (1)

Publication Number Publication Date
KR102510122B1 true KR102510122B1 (ko) 2023-03-15

Family

ID=85642137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220116259A KR102510122B1 (ko) 2021-11-24 2022-09-15 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치

Country Status (1)

Country Link
KR (1) KR102510122B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117774963A (zh) * 2024-02-27 2024-03-29 山东云海国创云计算装备产业创新中心有限公司 前向碰撞预警方法、装置、电子设备及智能驾驶车辆

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130007243A (ko) * 2011-06-30 2013-01-18 (주)베라시스 차량 카메라를 이용한 전방 충돌 경보 방법 및 시스템
KR20160071237A (ko) * 2014-12-11 2016-06-21 한화테크윈 주식회사 소형통합제어장치
JP2017204016A (ja) * 2016-05-09 2017-11-16 株式会社東海理化電機製作所 画像処理装置
KR101809088B1 (ko) * 2017-07-11 2017-12-14 주식회사 에프에스솔루션 전방 차량 추돌 알림 장치 및 방법
KR20200070100A (ko) * 2018-12-07 2020-06-17 팅크웨어(주) 차량 검출 방법 및 이를 수행하는 전자 기기

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130007243A (ko) * 2011-06-30 2013-01-18 (주)베라시스 차량 카메라를 이용한 전방 충돌 경보 방법 및 시스템
KR20160071237A (ko) * 2014-12-11 2016-06-21 한화테크윈 주식회사 소형통합제어장치
JP2017204016A (ja) * 2016-05-09 2017-11-16 株式会社東海理化電機製作所 画像処理装置
KR101809088B1 (ko) * 2017-07-11 2017-12-14 주식회사 에프에스솔루션 전방 차량 추돌 알림 장치 및 방법
KR20200070100A (ko) * 2018-12-07 2020-06-17 팅크웨어(주) 차량 검출 방법 및 이를 수행하는 전자 기기

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117774963A (zh) * 2024-02-27 2024-03-29 山东云海国创云计算装备产业创新中心有限公司 前向碰撞预警方法、装置、电子设备及智能驾驶车辆
CN117774963B (zh) * 2024-02-27 2024-05-24 山东云海国创云计算装备产业创新中心有限公司 前向碰撞预警方法、装置、电子设备及智能驾驶车辆

Similar Documents

Publication Publication Date Title
CN112287960B (zh) 用于训练或再训练机器学习模型的地面真值数据的自动生成
Kuo et al. Vision-based vehicle detection for a driver assistance system
CN106980813B (zh) 机器学习的注视生成
KR102073162B1 (ko) 딥러닝 기반의 소형 물체 검출 기법
Satzoda et al. Multipart vehicle detection using symmetry-derived analysis and active learning
Cui et al. Vehicle localisation using a single camera
EP2757527B1 (en) System and method for distorted camera image correction
Broggi et al. Vehicle detection for autonomous parking using a Soft-Cascade AdaBoost classifier
KR20200045701A (ko) 소실점 검출을 위한 학습 방법, 소실점 검출 방법 및 장치
KR102510122B1 (ko) 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치
Kim et al. Vision-based vehicle detection and inter-vehicle distance estimation for driver alarm system
KR101375765B1 (ko) 칼만 필터를 이용한 이동 물체 추적 장치 및 방법
Rasib et al. Pixel level segmentation based drivable road region detection and steering angle estimation method for autonomous driving on unstructured roads
US11538258B2 (en) Analysis apparatus, analysis method, and non-transitory storage medium for deciding the number of occupants detected in a vehicle
Rajendar et al. Prediction of stopping distance for autonomous emergency braking using stereo camera pedestrian detection
JP2022539498A (ja) エクスプレイナブルセルフフォーカスされたアテンションを利用して行動予測を遂行する方法及び装置
Saba Pixel intensity based cumulative features for moving object tracking (MOT) in darkness
Aditya et al. Collision detection: An improved deep learning approach using SENet and ResNext
US20210049382A1 (en) Non-line of sight obstacle detection
KR101492366B1 (ko) 차량 사고 감지 방법 및 그 장치
CN116189150B (zh) 基于融合输出的单目3d目标检测方法、装置、设备和介质
KR20220064857A (ko) 세그먼테이션 방법 및 세그먼테이션 장치
Hong et al. Lightweight collaboration of detecting and tracking algorithm in low-power embedded systems for forward collision warning
CN116434156A (zh) 目标检测方法、存储介质、路侧设备及自动驾驶系统
Dave et al. A novel algorithm for night time vehicle detection even with one non-functional taillight by CIOF (color inherited optical flow)

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant