The Korean Society Of Automotive Engineers
[ Article ]
Transaction of the Korean Society of Automotive Engineers - Vol. 26, No. 3, pp.368-377
ISSN: 1225-6382 (Print) 2234-0149 (Online)
Print publication date 01 May 2018
Received 28 Dec 2017 Revised 07 Feb 2018 Accepted 14 Feb 2018
DOI: https://doi.org/10.7467/KSAE.2018.26.3.368

전방 광각 카메라를 이용한 차량 검출 및 추적에 관한 연구

이재설1) ; 최경택2) ; 박태형3) ; 기석철*, 4)
1)충북대학교 제어로봇공학과
2)한국교통대학교 전자공학
3)충북대학교 전자공학
4)충북대학교 스마트카연구센터
A Study on the Vehicle Detection and Tracking Using Forward Wide Angle Camera
Jae-Seol Lee1) ; Kyoungtaek Choi2) ; Taehyung Park3) ; Seok-Cheol Kee*, 4)
1)Control and Robot Engineering, Chungbuk National University, Chungbuk 28644
2)Electronic Engineering, Korea National University of Transportation, Gyeonggi 16106
3)Electronic Engineering, Chungbuk National University, Chungbuk 28644
4)Smart Car Research Center, Chungbuk National University, Chungbuk 28644

Correspondence to: *E-mail: sckee@cbnu.ac.kr


*This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium provided the original work is properly cited.

Abstract

In this paper, we proposed a method to detect and track vehicles efficiently under the AVM camera environment, which was characterized by a wide viewing angle and serious lens distortion. The algorithm was designed for the FVSA(Forward Vehicle Start Alarm) function, a newly required ADAS function. We created independent nearby and distant detectors to compensate for the massive appearance variation of a vehicle because of distance between the target vehicle and the camera. The proposed detectors were designed with Haar-Like Adaboost and tested against independent nearby and distant data. To reduce false positive among the candidates caught by the detector, a pre-generated mask was used in filtering. Next, the candidate vehicle was verified with nearby and distant classifiers. The classifier was a tested HOG(Histogram of Oriented Gradients) feature of SVM(Support Vector Machine). Tracking is then used to extract a particular car within a video, and if nearby and distant candidates were extracted at the same time, a correct candidate would be created by a Selection and Merge process through a calculated IOU value. To evaluate the performance of the proposed algorithm, we selected 20 test videos from 130 videos of actual road conditions, and extracted 1,640 frames.

Keywords:

ADAS, FVSA, Around view monitoring, Vehicle detection, Vehicle tracking

키워드:

첨단운전자보조시스템, 전방차량출발경고, 전방위시야감지, 차량검출, 차량추적

1. 서 론

자동차의 보급이 급증함에 따라 교통사고를 예방하고 사고가 발생하더라도 치명적인 상해를 경감하기 위한 노력이 요구되고 있다. 따라서 최근 자동차 기술은 단순히 차량자체의 성능을 높이는 것만 아니라 운전자 또는 보행자의 안전을 높이는 기능들이 발전되고 있다. IT 기술이 급격히 발전함에 따라 운전자의 편의를 제공하는 다양한 ADAS(Advanced Driver Assistance System) 관련 제품들도 빠르게 개발되고 있다.

현재 ADAS 시스템은 카메라, 라이더, 레이더, 초음파 등의 차량용 감지센서를 단독으로 활용하거나 여러 감지센서를 융합하여 LDWS(Lane Departure Warning System), FCWS(Forward Collision Warning System), BSD(Blind Spot Detection), FVSA(Front Vehicle Start Alarm) 등과 같은 운전자 편의 기능을 제공하고 있다. 이러한 기능들은 감지 성능을 고도화하기 위해 장착된 센서 들을 융합하여 개발되고 있다(Fig. 1).

Fig. 1

Conventional ADAS sensor system

이러한 구조는 하나의 통합된 모듈이 아니라 각각 하나의 모듈이 독립적으로 개별 운용되고 있기 때문에 설치비용이 매우 고가이므로 고급형 차량을 위주로 적용되고 있다. 한편, 중소형 차량을 위한 보급형 ADAS 기능들도 자동차 시장에서 요구되고 있다.

본 논문에서는 다양한 ADAS 기능을 하나의 카메라 시스템으로 개발하기 위한 AVM 카메라용 전방차량검출과 추적 방법에 대하여 설명하였다.

기존 VD(Vehicle Detection) 관련 연구는 여러 가지 방법으로 연구되고 있다.1) 차량을 검출하는 방법에는 Adaboost2-4)를 이용한 방법, 그림자를 이용한 방법,5) 엣지를 이용한 방법,6) 스틱셀 알고리즘을 사용한 방법7) 등이 발표되었다. 하지만 기존의 방법들은 대부분 협각 렌즈를 장착한 전방감지 카메라 또는 스테레오 카메라 기반으로 알고리즘이 개발되어 렌즈 왜곡이 심한 광각 카메라에 직접 적용할 수 없다는 문제가 있다. 광각 렌즈 카메라를 이용한 객체검출도 여러 가지 연구가 발표되고 있다.8-10) Optical Flow 방식을 사용한 방법8)은 차량 외 여러 물체를 검출 할 수 있는 장점이 있지만 물체가 멈춰 있거나 멀리 있는 물체는 검출이 어려운 단점이 있다. HSV 색상 공간에서 차량의 대칭성을 특징을 찾는 방식9)은 색상 공간에 단점인 밝기의 변화량에 매우 민감하다는 단점이 있다.

앞서 언급한 문제점들을 해결하기 위하여 본 논문은 왜곡이 심한 광각렌즈 카메라에서 효과적으로 전방차량을 검출하는 방법을 제안하였다. 제안된 전방 차량 검출 방법의 시스템 구성은 Fig. 2와 같다. 시스템 구성에는 검출기, 필터, 검증기, 추적기, 원거리, 근거리 검출결과 통합 순으로 되어있다. 먼저 검출기는 차량의 후보들을 빠르게 검출하기 위해 상대적으로 가벼운 알고리즘인 Haar-Like 특징값과 Adaboost를 통하여 차량의 후보들을 검출하고 필터부분에서 카메라 캘리브레이션을 통해 오검출된 후보를 1차적으로 제거한다. 검증기를 통하여 차량인지 아닌지를 마지막으로 검증한 뒤 근거리 결과와 원거리 결과의 후보를 통합하는 단계를 거쳐 마지막으로 상대거리를 계산한다.

Fig. 2

Flow chart of proposed algorithm

본 논문의 구성은 다음과 같다. 2장에서는 본 연구에서 제안한 광각렌즈에서 전방차량 탐색 방법에 대해서 자세히 설명을 하고, 3장에서는 제안한 기법의 성능 검증을 위해 구성한 평가용 DB와 평가 결과를 제시하였으며, 4장에서 결론을 맺는다.


2. 전방 차량 탐색 방법

제안하는 전방차량 탐색 방법은 Fig. 2와 같다. 크게 차량 후보를 검출하는 검출단계, 차량 오검출을 줄이기 위한 차량 검증 단계, 추적 단계, 근거리 결과와 원거리 결과를 통합하여 하나의 검출 결과로 만드는 단계, 마지막으로 목표 차량과의 거리를 계산하는 단계, 총 5가지 단계로 이루어져 있다.

2.1 거리별 검출기

AVM 환경에서 전방 광각렌즈 카메라는 Fig. 2와 같이 카메라가 차량 하단부에 설치되어 있기 때문에 Fig. 3과 같이 거리에 따라 차량의 형태가 매우 다르며, 원거리에서 근거리로 다가올수록 차량의 하단부만 보이게 된다.

Fig. 3

Vehicle shape change by distance

이와 같은 문제점을 해결하기 위해 본 논문에서는 근거리 차량, 원거리 차량 각각 특징을 다르게 학습시켜 각각의 검출기를 사용하였다. 검출기는 Haar-like 특징 기반의 Adaboost를 사용하여 학습하였다.18) 근거리, 원거리 검출기의 학습 예는 다음과 같다(Fig. 4).

Fig. 4

Example of training data for detector

근거리 학습데이터는 차량이 근접하였을 때 주로 후미등까지만 보인다는 특징이 있기 때문에 차량너비 기준 5:3으로 학습하였다.

원거리 학습데이터는 차량 전체가 보일 수 있도록 차량 너비기준 1:1로 학습하였다.

2.1.1 근거리, 원거리 검출 영역

근거리, 원거리 검출기를 영상 전체 영역에서 동시에 수행하면 하나의 검출기를 계산하는 것보다 수행 시간이 오래 걸린다는 단점이 있다. 또한 원거리 검출기가 차량이 가까워지면 찾지 못하는 단점도 있다. 따라서 원거리, 근거리 검출기가 탐색 할 수 있는 영역과 탐색 할 수 없는 영역을 구별하여 원거리 검출기 검출영역, 근거리 검출영역을 나누어 검출을 하였다(Fig. 5).

Fig. 5

3 kinds of detector regions by distance

원거리 기준은 원거리 검출기가 큰차(상용차) 작은차(승용차) 모두를 검출할 수 있는 범위이며 근거리 기준은 원거리 검출기 1:1 비율로 위치를 찾기 때문에 상용차가 가까이 있을시 화면을 벗어나 검출하지 못하게 되는 시작 지점이다. 최소거리는 근거리 검출기가 가까이 있는 상용차를 검출하지 못하게 되는 시작 지점이다.

2.2 필터

검출기를 통과한 후보들은 Fig. 6과 같이 매우 많은 후보들을 검출하게 된다. 2.2 장에서는 2가지 필터를 이용하여 오검출된 후보들을 제거하는 방법에 대하여 설명한다.

Fig. 6

False detection vehicle

차량은 거리가 멀어질수록 카메라 화면에서 보이는 너비가 줄어들게 된다. 따라서 해당 위치에 존재할 수 없는 크기의 후보가 나오면 제거하는 필터와 FVSA 시스템에서는 주행차선 밖에 존재하는 차량이 중요하지 않기 때문에 도로 영역 밖으로 벗어나면 제거하는 필터를 사용한다.

이러한 2가지 필터를 사용하기 위해서는 실제 3차원 공간의 크기를 영상상의 좌표로 표현을 할 수 있어야 하는데 이를 위해 카메라 캘리브레이션이 필요하다. 우선 카메라의 왜곡정보와 내부 변수를 구해야 한다. 이를 위해 일정 패턴이 들어간 평면을 다양한 위치와 각도에서 촬영된 여러 영상을 활용하여 추정한다.11)

카메라가 설치되어 있는 위치 및 각도를 구하기 위한 외부 변수를 구해야 한다. 외부 변수를 구하는 방법은 지표면에 일정 패턴이 들어간 평면을 촬영하여 계산 할 수 있다.12,13)

왜곡 정보, 내부 변수, 외부 변수를 구한 뒤 월드 좌표에서 차량의 위치에 따른 카메라 상의 크기와 도로의 폭을 알기 위해서는 2가지 단계를 거친다(Fig. 7).

Fig. 7

Coordinate transformation flow chart

[Step 1] 실제 좌표계에서 이상적인 영상 좌표계로 변환 단계이다. 여기서 카메라 캘리브레이션에서 구한 외부변수를 사용한다.

[Step 2] 이상적인 영상 좌표계에서 왜곡 계수를 적용하여 광각렌즈 상에서의 이미지 좌표계로 변환하는 단계이다.

위의 2단계를 거치게 되면 차량이 월드 좌표에서 일정 위치에 있을 때 카메라에서 나타나는 픽셀 너비를 계산할 수 있으며, 도로 영역 또한 계산이 가능하다(Fig. 8).

Fig. 8

Filter mask for passenger and commercial vehicles

Fig. 8에서는 승용차 마스크와 상용차 마스크를 시각적으로 표현하였다. (x, y)는 영상 좌표를 나타내며 차량후보의 바닥 가운데 위치가 (x, y) 상에 위치하였을 때 승용차 너비(S_W), 상용차 너비(L_W)를 미리 계산하였다. 파란색에서 빨간색으로 갈수록 차량의 너비가 넓은 영역이다. 승용차 마스크는 승용차 중에 상대적으로 작은 차량을 선택하여 너비가 1.6 m인 차량을 선택하였으며, 상용차 마스크는 상용차 중 상대적으로 큰 차량을 선택하여 너비가 2.5 m인 차량 기준으로 생성하였다. 이렇게 작은 승용차와 큰 상용차 두 가지 마스크를 생성하면 카메라 입력 영상의 위치에 따른 모든 차량의 크기를 미리 알 수 있기 때문에 2.2.1절에 거리별 필터에서 사용된다. 도로 영역은 우리나라 고속도로 너비 3.5 m를 기준으로 생성하였다.

2.2.1 거리별 필터

차량이 특정위치에 나올 수 없는 크기가 나오는 경우를 제거하기 위해 사용한다. 미리 만들어진 승용차 마스크와 상용차 마스크를 사용하여 오검출 된 후보를 제거한다. 제거하는 방법은 다음과 같다.

min=S Maskx,y×0.8(1) 
Max=L Maskx,y×1.2(2) 
ifminVWMax   Add Candidateelse   Delete(3) 
2.2.2 도로 영역 필터

주행차로 외부에 차량이 검출되었을 때 제거하기 위해 사용한다. 제거하는 방식은 Fig. 9와 같다.

Fig. 9

Example of road area filter

검출된 후보의 바닥 중심점이 도로 영역을 넘어가면 제거한다.

2.3 검증기

오검출된 후보를 제거하기 위해 거리별 필터 및 도로 영역 필터를 사용해도 차가 아닌 후보가 검출되는 경우가 계속 존재한다. 이러한 차량 오검출을 제거하기 위해서 HOG(Histogram Oriented Gradient) 특징을 SVM(Support Vector Machine)으로 학습한 검증기를 사용하였다.19)

검증기도 앞에서 설명한 검출기와 마찬가지로 Fig. 2와 같이 거리에 따른 차량형태가 크게 다르기 때문에 근거리, 원거리 데이터를 따로 나누어 학습하였다. 학습에 사용된 데이터는 학습 DB에서 검출기를 통과한 데이터 중 차량과 차량이 아닌 데이터를 나누어 각각 학습하였다(Fig. 10).

Fig. 10

Example of classifier training data

지금까지 설명된 모든 단계를 통과한 원거리 또는 근거리 후보 중에는 실제 하나의 차량이지만 두개 이상의 차량 후보 박스가 남아 있을 수 있다. 이러한 경우는 두 후보 박스 간 중첩 정도를 계산하여 중첩도가 일정값을 넘으면 두 개의 후보를 모두 검증기에 넣어서 점수가 높은 쪽을 선택하였다.

2.4 추적기

실제 영상에서 차량을 검출하는 경우 연속된 프레임에서 차량이 순간적으로 검출을 못하는 경우가 있는데 이를 해결하기 위해 추적기를 사용하였다. 본 연구에서 사용된 추적방법은 Fig. 11과 같다.

Fig. 11

Flow chart of tracker

추적기에서는 연속된 차량의 데이터를 가지고 있는 Track과 이전 데이터와 새로운 데이터 간의 데이터 Association 과정, 데이터의 스무딩 및 예측을 위한 필터 과정이 들어간다.

Track은 현재 프레임까지 차량 정보이다. 본 연구에서는 Track 데이터는 다음과 같다.

Trackυ=LT,Scoresn,KalmanModel

LT는 Track의 Life Time을 뜻하고, Scores는 각 후보의 현재 SVMscore 부터 이전 n개의 SVMscore 를 저장해 두는 배열이고, 칼만 Model은 Tracking을 위한 차량의 칼만 필터 model이다. 본 연구에서는 근거리 검출 결과와 원거리 검출결과가 별도로 존재하므로 근거리 Tracknear과 원거리 Trackfar을 각각 적용하였다.

2.4.1 데이터 Association

차량 추적을 위해서는 먼저 기존 존재했던 Track의 데이터와 새로 검출된 차량 후보를 Association 해야 하는 문제가 있다. 이전 Frame이나 현재 Frame에서 하나 이상의 후보가 검출되면 검출된 후보가 같은 차량인지 아닌지를 구별을 해야 하기 때문이다.

이전 데이터와 현재 측정된 데이터를 Association하는 문제는 할당문제(Assignment Problem)이다. 할당 문제를 해결하는 방법은 대부분 최적화 기법중 하나인 Hungarian 알고리즘14)을 사용한다. 이 알고리즘은 기본적으로 n명의 작업자 중복 없이 n개의 과업을 부여하는 방법이다. 작업자 마다 일을 선택하는데 비용(시간)이 최소가 되어야 한다. 본 연구에서 기존데이터를 작업자라고 하면 새로운 데이터를 과업이라고 두고 기존데이터가 새로운 데이터를 선택하는 문제로 해결하였다.

Association을 위해서는 비용을 계산을 해야 한다. 비용 계산 방법은 이전 Frame에서 예측된(칼만 필터를 사용하여 바운딩 박스의 위치 및 크기 예측) 바운딩 박스와 현재 검출된 바운딩 박스의 1 - IOU16)로 하였다.

2.4.2 칼만 필터

Association을 하려면 이전 데이터와 현재 데이터의 관계(IOU)를 계산을 해야 하는데 움직이는 물체는 위치가 지속적으로 변하기 때문에 움직임이 큰 차량인 경우에는 같은 차량임에도 불구하고 바운딩 박스가 겹치지 않아 IOU가 계산이 안 되는 경우가 있다. 이를 해결하기 위해서 칼만 필터15)를 사용하여 바운딩 박스의 예측치를 구하여 IOU를 계산한다. 칼만필터는 예측과 보정을 반복하면서 데이터를 추정한다. 예측(4)과 보정(5) 식은 다음과 같다.

X^k=AX^k-1+BukPk-=APk-1AT+Q(4) 
Kk=Pk-HTHPk-HT+R-1X^k=X^k-+Kkzk-HX^k-Pk=I-KkHPk-(5) 

본 연구에서 사용된 칼만 필터는 등속도 모델을 사용하였으며 상태벡터 X와 측정 벡터 z는 다음과 같다.

X=x,dx,y,dy,w,dwT(6) 
Z=x,y,wT(7) 

x, y는 이미지 상에서 바운딩 박스의 바닥 중심 좌표이며, w는 바운딩 박스의 너비이다. dx, dy, dwx, y, w의 변화량이다.

상태 전이 행렬 A는 다음과 같다.

A=1t0000010000001t0000010000001t000001(8) 

2.5 근거리, 원거리 검출 결과 통합

근거리와 원거리 검출을 따로 하게 되면 2.2.1에서 언급하였듯이 원거리 검출기와 근거리 검출기가 동시에 검출하는 영역에서 근거리 결과와 원거리 결과가 동시에 찾아지는 경우가 생긴다.

Fig. 12와 같이 두 개의 검출이 동시에 되는 경우 두 개의 검출 결과 중 조금 더 정확한 후보를 선택해야하는 문제점이 생기게 된다. 따라서 본 연구에서는 Fig. 13과 같은 방법을 사용하였다.

Fig. 12

In case of both detectors found same car

Fig. 13

Selection, Merge flow chart

우선 두 후보의 IOU를 계산을 한 뒤 IOU가 0.7 이상이면 두 개의 검출기가 하나의 차량을 정확하게 찾았다는 가정을 하고 Merge를 하였다.

Merge방법은 다음과 같다

Rect=x,y,w(9) 
Merged Rect=Rectnear+Rectfar2(10) 

Rect는 바운딩 박스를 뜻하며, x, y는 바운딩 박스 바닥 중심점이며, w는 박스의 너비이다.

만약 두 후보 간 IOU가 0.4에서 0.7 사이면 두 개의 후보 중 하나는 잘못 찾았다는 가정을 하여 Selection을 하게 된다. Selection 방법은 2.4에 언급한 Track 데이터 중 SVMscores 을 사용한다. 하지만 근거리 검증기와 원거리 검증기는 다른 특징을 학습시켰기 때문에 SVMscores 를 비교하기가 어렵다. 이러한 문제점을 해결하기 위한 방법은 다음과 같다(Fig. 14).

Fig. 14

Method to extract near classifier score from far detected result

[Step 1] 원거리 검출 결과에서 너비와 높이를 5:3 만큼 자른 영상을 만든다.

[Step 2] Step 1에서 자른 영상을 다시 근거리 검증기를 거쳐 근거리 검증기의 점수를 추출한다.

이러한 과정을 거쳐 나온 근거리 score는 원거리 Track에 있는 SVMscores 에 저장되며, 근거리 Track은 기존 근거리 검증기 점수를 가지고 있게 된다.

여기서 원거리 검증기를 사용하지 않는 이유는 겹치는 영역에서 근거리 검출 결과를 너비 기준 1:1로 이미지 사이즈를 맞춰야하는데 이 경우 바운딩 박스가 영상 밖으로 넘어가는 경우가 생기기 때문이다.

원거리, 근거리 Track에 SVMscores 가 저장이 되면 저장된 Score로 비교를 하여 Selection을 하게 된다. Selection 방식은 다음과 같다.

σ=i=0nSVMscoresi라고 한다면

ifσnear>σfar   SelectNEARelse   SeletFAR(11) 

여기서 σnearσfar는 근거리, 원거리 Track에서 SVMscores 의 합이다.

SVMscores 의 합을 비교하여 높은 영역을 선택하면 Fig. 15와 같이 차에 가까운 후보를 선택하게 된다. 초록색 바운딩 박스가 최종 선택된 박스이며, 파란색 바운딩 박스는 근거리, 원거리 후보이다.

Fig. 15

Final result after selection and merge

2.6 거리 측정

최종적으로 나온 후보의 거리는 바운딩 박스의 바닥 중간 지점을 월드 좌표계로 변환하여 거리를 구한다. 구하는 방식은 2.2 카메라 캘리브레이션에서 언급한 방법의 역순으로 왜곡 보정 후 월드 좌표계로 변환 방식으로 한다.


3. 실험 결과

본 논문에서 제안한 방법의 성능 평가를 위해 실제 양산에 적용된 AVM 카메라를 장착한 차량으로 실제 도로를 주행하며 영상을 촬영하였다. 촬영된 영상은 총 2분 길이의 영상 120개 중 100개는 학습용으로 사용하고, 나머지 20개를 성능 평가에 사용하였다.17)

AVM 카메라의 해상도는 1280 × 720 의 HD급이며, 초당 30 Frame이 입력된다. 실험 환경은 Intel Core i7-6700HQ CPU @ 2.6Ghz, PC 환경에서 실험을 하였다.

3.1 검출 성능 평가

먼저 검출기, 필터, 검증기 각각 성능 평가를 하기 위해서 추적기를 제외한 성능을 평가하였다. 여기서 근거리와 원거리 검출 결과를 Selection할 때는 SVMscores 만 비교하여 높은 쪽을 선택하도록 하였으며 Merge 방법은 2.5에서 언급한 방법과 동일한 방법을 사용하였다. 테스트 영상 20개중 주행차로에 차가 존재하는 영상 1640개를 추출하여 성능 평가를 하였다. 성능 평가 지표는 다음과 같다.

precision=TPFP+TP(12) 
recall=Best TPGT Total(13) 

GT Total은 Ground Truth의 수이고, TP : True Positive, FP : False Positive이다. Best TP는 하나의 차량에 하나 이상의 검출결과가 나올 경우 그 중 가장 좋은 결과이다.

Detection result

위의 결과는 검출기와 검증기 사용하면서 각각 필터의 성능을 적용시켰을 때 성능의 변화가 어떻게 변하는지 알 수 있다. 두 개의 필터를 모두 적용시켰을 때 Recall은 거의 줄어들지 않으면서 Precision이 매우 높아지는 걸 확인할 수 있다. 여기서 거리별 필터만 사용할 경우 Precision이 크게 높아지지 않는 걸 확인할 수 있는데 이는 주행차로 외에 다른 차선에 검출되는 차량이 많기 때문이다.

3.2 차랑 거리별 검출 빈도

근거리, 원거리 검출기를 차량의 위치 별로 성능 평가를 해보았다. 원거리 검출기는 3 m 이상의 차량들에 대하여 근거리 검출기 보다 성능이 우수함을 확인 할 수 있었고 근거리 검출기는 3 m 이내의 차량에 대해 원거리 검출기보다 월등히 우수한 성능을 보여서 제안하는 방법이 유효하다는 것을 증명할 수 있었다.

Detector performance by distance


4. 결 론

AVM 시스템에서 차량 인식은 FCWS, BSD, FVSA, CUT-in CUT-out 등에 적용이 가능하며, 이는 안전운전에 매우 유용하다. 본 연구에서는 왜곡이 심한 광각렌즈에서 전방 차량을 검출하기 위해 근거리 특징, 원거리 특징을 각각 학습하고, 마지막으로 근거리, 원거리 결과를 효과적으로 통합하여 높은 검출 성능을 확인할 수 있었다. 차량과 비슷한 모양인 경우는 오검출이 발생하였으며 어두운 차량 같은 경우 검출이 안 되는 경우가 발생하였으나 오검출 경우는 해당 데이터를 학습을 시켜 발생을 줄일 수 있을 것으로 예상되며, 순간적으로 검출이 안 되는 경우는 Tracking으로 해결이 가능하다. 또한 현재 실험 결과는 FVSA를 위한 주행차로 전방 차량만 검출하였으며, 앞으로 BSD, CUT-in CUT-out도 적용 가능한 넓은 범위의 VD를 연구할 예정이다.

Acknowledgments

이 논문은 2018년도 정부(과학기술정보통신부)의 재원으로 정보통신기술진행센터의 지원을 받아 수행된 연구임(No. R7117-16-0164, (광역주행-총괄/1세부) 차량 통신 기반의 광역 주행환경인지 및 협조 주행기술 개발).

References

  • Z. Sun, G. Bebis, and R. Miller, “On-Road Vehicle Detection: A Review”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(5), p694-711, (2006).
  • Z. Sun, G. Bebis, and R. Miller, “On-Road Vehicle Detection Using Evolutionary Gabor Filter Optimization”, IEEE Transactions on Intelligent Transportation Systems, 6(2), p125-137, (2005), [https://doi.org/10.1109/tits.2005.848363] .
  • Y. Freund, and R. E. Schapire, “Experiments with a New Boosting Algorithm. In Machine Learning”, Proceedings of the Thirteen International Conference in Machine Learning, 96, p148-156, (1996).
  • X. Wen, L. Shao, W. Fang, and Y. Xue, “Efficient Feature Selection and Classification for Vehicle Detection”, IEEE Transactions on Circuits and Systems for Video Technology, 25(3), p508-517, (2015).
  • C. Tzomakas, and W. Seelen, “Vehicle Detection in Traffic Scenes Using Shadows”, Technical Report 98-06, Institute of Neuroinformatics, Ruhr University, (1998).
  • G. Y. Song, K. Y. Lee, and J. W. Lee, “Vehicle Detection by Edge-based Candidate Generation and Appearance-based Classification”, Intelligent Vehicles Symposium, p428-433, (2008), [https://doi.org/10.1109/ivs.2008.4621139] .
  • S. Y. Lee, J. K. Suhr, and H. G. Jung, “Improvement of Stixel Segmentation Using Additive Image Domain Features and Genetic Algorithmbased Optimization”, Transactions the KSAE, 23(6), p565-574, (2015), [https://doi.org/10.7467/ksae.2015.23.6.565] .
  • M. S. Kim, J. H. Seo, N. K. Kwon, J. M. Song, and P. G. Park, “Real-time Moving Object Detection Using a Vehicle-mounted Monocular Rear-view Fisheye Camera”, 2016 13th International Conference on Electrical Engineering/ Electronics, Computer, Telecommunications and Information Technology (ECTI-CON), p1-6, (2016), [https://doi.org/10.1109/ecticon.2016.7561385] .
  • G. Cheng, and X. Chen, “A Vehicle Detection Approach based on Multi-features Fusion in the Fisheye Images”, Proceedings of 3rd International Conference on Computer Research and Development(ICCRD), 4, p1-5, (2011).
  • D. Dooley, B. McGinley, C. Hughes, L. Kilmartin, E. Jones, and M. Glavin, “A Blind-zone Detection Method Using a Rear-mounted Fisheye Camera with Combination of Vehicle Detection Methods”, IEEE Transactions on Intelligent Transportation Systems, 17(1), p264-278, (2015), [https://doi.org/10.1109/tits.2015.2467357] .
  • Caltech Calibration Toolbox, http://www.vision.caltech.edu/bouguetj/calib_doc (2015).
  • H. G. Jung, and J. K. Suhr, “Lane Detectionbased Camera Pose Estimation”, Transactions the KSAE, 23(5), p463-570, (2015).
  • L. Mazzei, P. Medici, and M. Panciroli, “A Lasers and Cameras Calibration Procedure for VIAC Multi-sensorized Vehicles”, Intelligent Vehicles Symposium, p548-553, (2012), [https://doi.org/10.1109/ivs.2012.6232214] .
  • Hungarian Algorithm, http://en.wikipedia.org/wiki/Hungarian_algorithm Wikimedia, (2008).
  • K. Narayan, M. Banavar, and A. Spanias, “An Introduction to Kalman Filtering with Matlab Examples”, Synthesis Lectures on Signal Processing, (2013), [https://doi.org/10.2200/s00534ed1v01y201309spr012] .
  • Pyimagesearch, Intersection over Union (IoU) for Object Detection, https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-forobject-detection/ (2016).
  • J. S. Lee, K. T. Choi, T. H. Park, and S. C. Kee, “Forward Vehicle Detection Method using Around View Monitoring System”, KSAE Fall Conference Proceedings, p769-770, (2017).
  • P. Viola, and M. J. Jones, “Robust Real-time Face Detection”, International Journal of Computer Vision, 57(2), p137-154, (2004), [https://doi.org/10.1023/b:visi.0000013087.49260.fb] .
  • N. Dalal, and B. Triggs, “Histograms of Oriented Gradients for Human Detection”, IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 1, p886-893, (2005).

Fig. 1

Fig. 1
Conventional ADAS sensor system

Fig. 2

Fig. 2
Flow chart of proposed algorithm

Fig. 3

Fig. 3
Vehicle shape change by distance

Fig. 4

Fig. 4
Example of training data for detector

Fig. 5

Fig. 5
3 kinds of detector regions by distance

Fig. 6

Fig. 6
False detection vehicle

Fig. 7

Fig. 7
Coordinate transformation flow chart

Fig. 8

Fig. 8
Filter mask for passenger and commercial vehicles

Fig. 9

Fig. 9
Example of road area filter

Fig. 10

Fig. 10
Example of classifier training data

Fig. 11

Fig. 11
Flow chart of tracker

Fig. 12

Fig. 12
In case of both detectors found same car

Fig. 13

Fig. 13
Selection, Merge flow chart

Fig. 14

Fig. 14
Method to extract near classifier score from far detected result

Fig. 15

Fig. 15
Final result after selection and merge

Table 1

Detection result

Detector + Verifier
Non-filter Road area filter Distance filter Road area & distance filter
GT Total 1640 1640 1640 1640
Best TP 1611 1609 1593 1591
FP 984 110 466 33
TP 1671 1651 1594 1592
Precision 0.62 0.93 0.77 0.97
Recall 0.98 0.98 0.97 0.97

Table 2

Detector performance by distance

Vehicle distance (m) Vehicle number Far vehicle detector Near vehicle detector
15~20 226 214 204
10~15 273 253 254
5~10 334 312 292
4~5 269 259 254
3~4 199 182 147
3 m under 145 4 131