Journal of Korea Robotics Society
[ ARTICLE ]
Journal of Korea Robotics Society - Vol. 11, No. 3, pp.172-182
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date Aug 2016
Received 22 Apr 2016 Revised 26 May 2016 Accepted 31 May 2016
DOI: https://doi.org/10.7746/jkros.2016.11.3.172

교통 표지판의 3차원 추적 경로를 이용한 자동차의 주행 차로 추정

박순용 ; 김성주1
Lane-Level Positioning based on 3D Tracking Path of Traffic Signs
Soon-Yong Park ; Sung-ju Kim1
1Nomad Connection, 10 Gukjegeumyung-ro, Yeongdeungpo-gu, Seoul, Korea goddoe2@naver.com

Corresponding Author : School of Computer Science and Engineering, Kyungpook National University, 80 Dahak-ro, Puk-gu, Daegu, Korea ( sypark@knu.ac.kr)

© Korea Robotics Society. All rights reserved.

Abstract

Lane-level vehicle positioning is an important task for enhancing the accuracy of in-vehicle navigation systems and the safety of autonomous vehicles. GPS (Global Positioning System) and DGPS (Differential GPS) are generally used in navigation service systems, which however only provide an accuracy level up to 2~3 m. In this paper, we propose a 3D vision based lane-level positioning technique which can provides accurate vehicle position. The proposed method determines the current driving lane of a vehicle by tracking the 3D position of traffic signs which stand at the side of the road. Using a stereo camera, the 3D tracking paths of traffic signs are computed and their projections to the 2D road plane are used to determine the distance from the vehicle to the signs. Several experiments are performed to analyze the feasibility of the proposed method in many real roads. According to the experimental results, the proposed method can achieve 90.9% accuracy in lane-level positioning.

Keywords:

Lane-level vehicle positioning, Driver assistant, Traffic sign, Stereo vision

1. 서 론

운전자의 운전 보조를 위한 ADAS (Advanced Driving Assistant System) 기술과 자율 주행 자동차 기술이 최근 큰 관심을 받으면서 차량비전(vehicle vision) 기술에 대 한 관심도 같이 높아지고 있다. 그 중의 하나는 차로 단 위의 위치추정(Lane-level Positioning) 기술 (이하 차로 추정기술), 즉 Fig. 1과 같이 차량이 주행하고 있는 차로 의 번호를 추정하는 기술이다. 차로 추정기술은 차량의 위치를 GPS보다 더 정확하게 차로 단위(Lane-level)로 인식할 수 있어 다양한 서비스를 제공할 수 있는 장점이 있다. 최근 CES2016에서 공개된 nVidia의 DriveCX 기 술을 예로 들면 비전 기반의 차로 추정기술이 미래 자동 차의 내비게이션(navigation) 서비스를 어떤 형태로 변화 시킬 지를 알 수 있다[1].

Fig. 1

Lane-level positioning of a vehicle using the 3D tracking path of a traffic sign

즉, 차로 단위의 경로 계획이 포함된 보다 향상된 내비 게이션 서비스를 제공할 수 있는데 예를 들면 교차로에 서 좌회전이 필요한 상황에서 현재 차량이 좌회전 차선 이 아닌 다른 차선을 주행하고 있다면 운전자에게 차선 의 변경이 필요하다는 정보를 제공할 수 있다. 또한 자율 주행 자동차의 전방차량 추월 기술의 기반기술이 될 수 있다. 자율 주행 자동차는 주행하고 있는 차로 정보를 바탕으로 전방차량을 추월할 수 있는 차로에 있는지를 판단하여 추월의 여부를 결정할 수 있다[2].

본 논문에서는 스테레오 비전 기반의 주행 차로 추정 기술을 제안한다. 제안하는 차로 추정기술은 교통 표지 판(traffic sign)의 3차원 이동경로 정보를 이용한다. 3차 원 이동경로란 차량에 설치한 스테레오 카메라의 좌표 계를 기준으로 획득한 표지판 3차원 위치의 연속적 이동 정보를 말한다.

Fig. 2에서 본 논문이 제안한 차로 추정기술을 구성하 는 세부기술의 흐름도를 보여준다. 표지판의 3차원 위치 를 스테레오 카메라 좌표계를 기준으로 획득하기 위해 서는 우선 같이 표지판 검출을 수행 한다. 본 연구에서 표지판의 검출은 입력 영상을 HSV 컬러 채널로 변환한 뒤 이진화하고 이진화 영상의 각 클러스터들에 대해 커 넥티드 컴포넌트 라벨링(Connected Component Labeling) 을 수행하여 표지판의 후보를 결정한다. 그리고 기계학 습 기법을 이용하여 표지판 검출을 확정한다. 표지판이 검출되면 표지판의 3차원 좌표를 스테레오 정합을 이용 하여 계산한다.

Fig. 2

Flow chart of the proposed vehicle lane-level positioning technique

표지판의 3차원 추적경로를 구하기 위해서는 연속적 인 입력영상에서 표지판이 검출되고 추적되어야 한다. 따라서 하나의 표지판이 검출된 최초 프레임에서 표지 판 ID를 부여하고 다음 프레임에서 검출된 동일한 표지 판은 동일한 ID를 부여하여 표지판을 추적한다. 추적되 는 표지판에 대해서 3차원 좌표를 모두 획득하여 표지판 의 3차원 추적경로를 구하였다. 스테레오 정합으로 표지 판의 3차원 위치를 계산할 때 좌영상에서 검출된 표지판 의 2차원 영상 좌표와 에피폴라(epipolar) 제약 조건을 이용하여 스테레오 정합을 빠르게 수행하였다.

마지막으로 추적된 표지판의 3차원 경로를 2차원 도 로 평면에 투영하면 투영된 경로를 2차원 곡선으로 모델 링하였다. 그리고 차량과 표지판 사이의 X방향 수평 거 리를 영상 프레임마다 계산하고 각 프레임에서 계산된 수평 거리를 가중치 합으로 합하여 최종적인 거리를 결정 한다. 이 정보를 이용하여 주행 차로의 번호를 추정한다.


2. 관련 연구

본 논문의 주요 관련 연구는 표지판 검출과 자동차 주행 차로 추정의 두 부분으로 구성하였다. Escalera[3]는 표지판의 검출 단계에서 원형, 삼각형, 사각형 모양을 검출하기 위해 원형, 삼각형, 사각형 각각의 기하학적인 특징을 이용하여 코너 검출과 템플릿 정합 알고리즘을 개발하였다. 그리고 표지판 후보를 검출 후 신경망을 이 용하여 표지판을 인식하여 분류하는 방법으로 표지판을 검출하였다. Garcia-Garrido[4]는 표지판의 기하학적인 모양 특징을 허프변환(Hough transform)을 이용하여 표 지판을 검출하였다. 또한 허프서클(Hough circle) 검출 을 이용하여 허프맵 공간에서 원형 표지판을 검출 할 수 있었다. 그리고 일반 허프변환을 이용하면 허프맵 공 간의 사인파(sine wave) 곡선이 중첩되는 곳에서 직선들 을 추출 할 수 있다. 그리고 이 직선들로 구성되는 삼각형 을 검출하는 방법으로 삼각형 표지판 검출에 이용한다.

Maldonado-Bascón[5]은 표지판 검출을 위해 입력 영상 을 HSV 컬러 채널로 변환하여 각 HSV(Hue, Saturation, Value) 채널에 대해 문턱값을 설정하여 빨간색과 파란색 만을 추출할 수 있도록 이진화하고 커넥티드 컴포넌트 라벨링을 이용해 잡음을 제거한 후 표지판의 화면비 (aspect ratio) 제약을 이용하여 표지판 후보를 검출한 후 최종적으로 SVM(Support Vector Machine)에게 질의하 여 참값을 반환한 검출된 표지판 후보만을 표지판으로 확정한다. Chen[6]은 표지판의 Haar 특징을 Adaboost 기 법으로 학습하여 슬라이딩 윈도우 방식으로 입력 영상 에서 표지판을 검출 하였다.

주행 차로 추정에 관련된 연구에서는 GPS또는 DGPS를 이용하여 차량의 위치를 파악한 뒤 이 GPS 정보를 이용 하여 차선 정보가 포함되어 있는 디지털 맵에서 위치를 비교하여 차로를 추정하는 연구가 있었다[7-9]. 또한 차량 간 통신에 대한 신호 세기 정보를 이용하여 주행 차량의 차선을 추정하는 연구도 있었다[10]. 그리고 영상으로부 터 차선을 검출하여 SPRAY (SPatial RAY)를 특징을 추 출하여 기계학습 알고리즘 중 하나인 GentleBoost를 이 용하여 주행 차로를 판별하는 방법들이 있었다[11,12]. 하 지만 GPS 기반의 기법들은 GPS 센서의 측정 오류가 크고 차량 간 통신을 이용한 방법은 단일 차량일 때는 차로 추정이 불가능하다[10].F3F4

Fig. 3

Binarization of red colored objects

Fig. 4

Extraction of traffic sign candidates from a binary image


3. 표지판의 3차원 경로 기반 주행 차로 추정

3.1. 표지판 검출

본 논문에서 제안한 주행차로 추정 기법의 첫 단계는 표지판 검출이다. 표지판 검출 과정은 표지판 후보 검출 과 기계 학습을 이용한 표지판 확정으로 두 단계로 이루 어져 있다. 차량에 설치된 카메라에서 입력으로 들어오 는 영상의 모든 영역에서 표지판을 검출 하는 것은 시간 비용이 상당하다. 그렇기 때문에 표지판 인식을 위해 전 체 영역에서 표지판 후보 검출 과정을 진행하여 표지판 일 가능성이 있는 후보들을 선별하여야 한다.

본 논문에서 사용한 표지판은 경고, 주의 표지판 두 종류이다. 이들의 색상이 빨간색인 점에 착안하여 색상 기반의 표지판 후보 검출 기술을 사용하였다. 우선 입력 영상을 HSV채널로 변환 후 각 채널에 문턱값(threshold) 을 설정하여 빨간색 영역을 추출한다. 수식 (1)에서 (7) 은 RGB 입력 영상을 HSV 채널로 변환 하기위하여 사용 하였다.M2M3M4M5M6

R=R255G=R255B=R255(1) 

Cmax=max(R,G,B)(2) 

Cmin=min(R,G,B)(3) 

Δ=CmaxCmin(4) 

{0if Δ=060×(BGΔ)mod6,if Cmax=R60×(GBΔ+2),if Cmax=G60×(RGΔ+4),if Cmax=B(5) 

S={0,if Cmax=0ΔCmaxif Vmax0(6) 

V=Cmax(7) 

HSV의 각각의 문턱값은 표지판 검출을 위한 학습 데 이터 세트에서 표지판의 빨간색 테두리가 모두 검출 될 수 있도록 HSV 각 채널의 문턱값을 실험적으로 정하였 다. 빨간색 영역을 추출 후 모폴로지 침식 및 팽창 연산 을 수행하여 매우 작은 검출영역을 제거한다. 그리고 커 넥티드 컴포넌트 라벨링 기법을 적용하여 빨간색 픽셀 들끼리 군집화를 진행한다. 이 과정을 이용해 생성된 빨 간 픽셀들의 군집들은 표지판 후보이다.

표지판 후보들을 검출하였더라도 모든 빨간색 군집들 이 표지판은 아니기 때문에 기계 학습 기법을 적용하여 표지판 검출을 확정하여야 한다. 일반적으로 표지판 검 출 연구에서는 신경망 기법 또는 SVM을 이용하여 표지 판 검출을 확정한다[3-5,13,14]. 최근에는 이러한 기계 학습 방법 중 깊은 신경망을 이용한 CNN (Convolutional Neural network)과 같은 학습 방법이 주목 받고 있다[15-17]. 하 지만 깊은 신경망에 사용되는 오류 역전파(error back propagation) 방법으로 깊은 신경망의 레이어를 학습하 기 위해서는 많은 수의 데이터가 있어야 지역 최소점 (Local minima)에 빠지지 않고 학습을 수행할 수 있다.

하지만 본 연구는 국내의 교통 표지판을 대상으로 연 구를 진행하며 국내에는 표지판 검출 연구에 사용할 수 있는 공개된 데이터베이스가 존재하지 않는다. 따라서 본 연구의 기계 학습을 위해 사용된 긍정(positive), 부정 (negative) 클래스(class) 학습 데이터는 모두 본 연구실 에서 실제 도로를 직접 주행하여 획득한 표지판 정보이 다. 그래서 깊은 신경망을 적용하기에 적합한 많은 데이 터를 획득할 수 없었다. 데이터의 수가 적은 경우는 신경 망보다는 SVM도 좋은 성능을 얻을 수 있고 본 논문에서 제안하는 기술은 주행 차로의 추정이기 때문에 일반적 으로 많이 사용하는 방법 중의 하나를 선택하였다.

일반적으로 신경망의 오류 역전파 학습 알고리즘의 경우 지역 최소점에 빠지는 경우가 많다. 하지만 SVM의 경우 학습에 사용된 모든 긍정, 부정 클래스에 대해 최대 마진(margin)을 가지는 초평면(hyper plane)을 찾는 알고 리즘이기 때문에 언제나 전역 최소점을 찾는다. 따라서 본 연구에서는 SVM을 이용하여 표지판 검출을 확정하 였다.

표지판 검출을 위하여 우선 표지판의 특징값으로 SVM 을 학습시켜야 한다. 표지판은 크게 모양에 따라 원형, 삼각형, 역삼각형 총 3가지의 모양을 가지고 있다. 표지 판을 학습시킬 때 3가지 모양의 표지판을 한 클래스로 두고 학습시킬 수도 있다. 하지만 3가지 모양이 다른 표 지판의 경우 표지판의 테두리의 변위가 크기 때문에 하 나의 클래스로 두고 학습하기보다 각각의 클래스를 따 로 두고 학습하는 것이 적절한 최대 마진을 갖는 초평면 을 찾기에 효율적이다.

SVM을 학습하기 표지판의 특징으로 본 논문에서는 Dollar[18]가 제안한 결합채널특징(Integral Channel Feature) 을 간략화하여 표지판 검출을 위한 새로운 특징을 제안 한다. 표지판 영상으로부터 5가지 특징을 추출하여 경량 결합채널특징(Light Integral Channel Feature)으로 명명 하였다. 먼저 앞서 검출된 표지판 후보 영역을 50×50픽 셀로 정규화한다. 정규화된 표지판 영상에서 가로, 세로, 대각선 방향에서 Fig. 5와 같은 소벨(Sobel) 연산자를 적 용하여 3가지의 경사값 특징 영상을 추출한다. 또한 표 지판 영상에서 빨간색 영역을 추출한 이진 특징영상과 밝기값만을 추출한 특징영상을 만든다. 결론적으로 Fig. 6과 같이 모두 5가지 특징 영상을 벡터화하여 50×50×5 차원의 특징 벡터를 생성한다. 생성된 특징 벡터는 표지 판에 대한 외곽선 특징과 빨간색 테두리의 모양에 대한 특징과 밝기 값에 대한 특징이 있기 때문에 배경과 표지 판을 구별하기 위한 특징으로 사용된다.

Fig. 5

Sobel operator of (a) x direction (b) y direction and (c) diagonal direction

Fig. 6

Feature images of traffic sign detection (a) vertical edge (b) horizontal edge (c) diagonal edge (d) red channel (e) normalized V channel

원형, 삼각형, 역삼각형의 긍정 클래스와 부정 클래스 로부터 위의 특징 벡터를 추출 하여 멀티 클래스 분류를 위한 SVM을 학습시킨다. 멀티 클래스 분류 방법은 “One versus rest” 분류 방법을 이용하여 학습시킨다[19].

실제 표지판 검출 과정에서는 표지판 후보 추출 후 추출된 표지판 후보에서 특징 벡터를 추출하여 SVM 질 의하여 표지판 검출을 확정한다. 원형, 삼각형, 역삼각형 클래스가 결정되면 표지판으로 확정하고 부정클래스로 결정되면 배경으로 확정한다.

제안된 결합채널특징은 표지판의 영상에서 추출한 12500차원의 특징벡터로 표현되기 때문에 HSV 컬러채 널에서 유사한 컬러 특징을 가진 배경물체를 제외하고 표지판의 영영만을 검출하는 좋은 성능을 보였다. 표지 판의 검출성능에 대한 결과는 4절에서 보였다.

3.2. 표지판 추적 및 ID 할당

본 시스템은 표지판의 3차원 위치의 추적경로(tracking path)를 획득하고 자동차와 차도의 수평 거리(카메라좌 표계의 x축 방향)를 측정하여 주행 차량의 차로를 추정 한다. 그러므로 표지판의 3차원 추적경로를 구하기 위해 서는 매 프레임마다 검출되는 표지판에 ID(Identification number)를 부여하고 동일한 표지판을 연속적으로 추적 하고 동일한 ID를 할당하여 이들의 2차원 좌표를 기록하 여야 한다. 이는 카메라로 획득한 영상에서 Fig. 7에서와 같이 두 개 이상의 표지판이 검출되는 경우도 있기 때문 에 서로 다른 표지판에는 서로 다른 고유한 ID를 할당하 여 표지판의 2차원 좌표를 기록하는 과정이 반드시 필요 하기 때문이다.

Fig. 7

Traffic sign tracking and ID assignment

연속하는 프레임 간의 시간은 매우 짧기 때문에 검출 되는 동일한 표지판 이미지의 변화량은 적다고 간주할 수 있다. 따라서 연속되는 프레임에서 검출 되는 표지판 들이 동일한 표지판인지 식별하기 위하여 이전 프레임 에서 검출된 표지판의 영상 템플릿을 이용하여 현재 프 레임에서 검출된 표지판과 정합과정을 수행한다. 템플 릿 정합의 비용 계산은 간단한 SAD (Sum of Absolute Difference)를 이용하였다. 연속된 프레임에서의 표지판 의 영상 변화가 거의 없기 때문에 단순한 정합기술로 동일한 표지판을 추적하는데 문제가 거의 발생하지 않 았다.

오차에 강한 표지판 추적과 ID할당을 위하여 이전 5개 프레임을 모두 이용하여 표지판을 추적하고 ID를 할당 하였다. Table 1에서 표지판 추적과 ID할당 과정을 유사 코드(Pseudocode)로 표현하였다. 우선 최근의 5개 프레 임에서 검출된 표지판 영상과 ID를 모두 저장한다. 그리 고 현재 프레임에서 검출된 표지판의 템플릿과 최근 5개 프레임에서 저장된 5개의 표지판 영상을 모두 정합하여 SAD 값이 일정 문턱값 이하이고 최소가 되는 표지판을 동일한 표지판으로 결정하고 그 표지판의 ID를 물려받 는다. 만약 동일한 표지판 없는 경우 현재 프레임에서 검출된 표지판에는 새로운 ID를 부여한다.

Pseudocode of traffic sign ID tracking algorithm

3.3. 표지판의 3차원 좌표 획득

표지판의 3차원 추적경로를 구하기 위해서 표지판의 2차원 좌표로부터 카메라 좌표계를 기준으로 3차원 위 치를 계산해야 한다. 표지판의 3차원 위치를 계산하기 위해서 스테레오 정합 기술을 사용하였다. 일반적으로 스테레오 정합은 영상의 모든 픽셀에 대하여 정합을 실 시하여 모든 픽셀의 3차원 좌표값을 계산하는 과정을 거친다. 하지만 본 논문에서는 영상 전체가 아닌 검출된 표지판의 3차원 위치만 계산하면 되기 때문에 영상의 전체가 아닌 좌영상에서 검출된 표지판 영역만을 우영 상에서 정합하였다.

스테레오 카메라에서 획득한 좌, 우 영상 모두에서 표 지판을 검출하고 표지판 영역의 중심점 좌표를 이용하 여 3차원 위치를 계산할 수 있다. 그러나 이러한 방법은 좌, 우 두 영상에서 표지판 검출 과정을 모두 거쳐야 하 기 때문에 계산 비용이 높다. 따라서 본 논문에서는 좌영 상에서만 표지판을 검출하고 우영상의 에피폴라 라인 (epipolar line) 상에서 스테레오 정합을 실시하여 계산 비용을 줄였다. 좌, 우 영상에서 에피폴라 라인은 카메라 의 보정(calibration)을 통하여 수평선과 평행하게 조정 (rectification)하였다[20].

스테레오 조정을 적용 후 좌영상과 우영상의 에피폴 라 라인이 수평선과 평행하기 때문에 Fig. 8과 같이 좌영 상에서 검출한 표지판 영역(빨간색 사각형)을 템플릿으 로 만들고 우영상에서 대응되는 표지판의 좌표를 에피 폴라 라인 위에서 검출하였다. 표지판의 2차원 좌표는 표지판 영역의 중심좌표로 구한다.

Fig. 8

The red rectangle in the left image is the template of the detected sign. Letter l means the x-coordinate of the one corner of a sign template. And m in the right image means the search area for stereo matching

Fig. 8에서와 같이 좌영상에서 표지판을 검출 후 우 영상의 정합 후보영역(m)에서 템플릿 정합을 시행하였 다. 템플릿 정합의 비용 계산은 NCC (Normalized Cross Correlation)를 이용하였다. 정합 후보영역에서 NCC 값 이 최대가 되는 지점을 대응점(corresponding point)으로 결정한다. 우영상에서 대응점이 결정되면 대응점의 NCC 값, 대응점으로부터 왼쪽 5개 픽셀위치의 NCC값, 그리 고 대응점으로부터 오른쪽 5개 픽셀위치의 NCC값, 총 11개의 NCC값을 이용하여 서브픽셀 단위의 2차원 대응 점의 좌표를 계산한다. 계산은 최소자승법(least square minimization)을 이용해 총 11개의 NCC값에 대응되는 2차 곡선을 획득하고 2차 곡선의 변곡점에서 최적의 대 응점 좌표가 구해진다.

좌영상에서 검출된 표지판 영역 중심의 2차원 좌표와 우영상에서 대응되는 표지판 영역 중심의 2차원 좌표, 그리고 스테레오 카메라의 보정정보를 이용하여 표지판 의 3차원 좌표를 계산한다. 각 프레임에서 검출되는 표 지판의 3차원 위치는 Fig. 9에서와 같이 스테레오 카메 라의 좌측 영상센서의 좌표계를 기준으로 표현된다. 연 속되는 프레임에서 동일한 ID를 가진 표지판의 3차원 위치를 계산하고 저장하여 표지판의 3차원 추적경로를 획득하였다.

Fig. 9

3D position of a traffic sign with respect to the left camera coordinate system

3.4. 주행 차로의 추정

본 논문에서 사용한 스테레오 카메라는 초당 16프레 임 이상의 영상을 획득하였고 45 m 이내의 표지판을 검 출한다. 차량이 주행하는 동안 표지판이 최초 검출되면 추적과정이 실행되고 동일한 표지판이 영상에서 사라지 기 전까지의 연속된 프레임들을 하나의 장면(Scene)이 라 하자. 표지판은 하나의 장면에서 최소 약 5개에서 최 대 약 15개 프레임에서 추적되었다. 이렇게 하나의 장면 에서 추적되는 표지판의 개수는 적기 때문에 표지판의 3차원 추적경로 정보에 포함된 3차원 위치는 이산적인 형태를 갖는다.

이제 주행 차량과 표지판까지의 수평거리를 계산하기 위하여 3차원 추적경로를 2차원 도로평면에 투영하고자 한다. 그러나 실제적으로는 도로평면이 아닌 카메라의 XZ평면으로 투영하게 된다. 일반적으로 차량에 설치되 는 카메라는 도로평면에 대하여 X축으로 약간의 회전성 분이 있어 도로평면과 카메라의 좌표계의 XZ평면의 평 행하지 않을 수 있다. 그러나 이런 경우라도 우리가 구하 고자 하는 정보는 X축과의 교점이기 때문에 도로평면과 카메라의 XZ평면의 각도 오차는 거의 무시할 수 있다.

주행 차량과 표지판 사이의 수평 거리(X축 거리)를 계산하기 위해 Fig. 10과 같이 추적된 표지판의 3차원 좌표들을 도로 평면에 투영하여 2차원 곡선으로 모델링 하고 수평거리 거리 D를 계산하였다. 거리 D는 2차 곡선 의 X절편으로 구한다.

Fig. 10

Intersection points of 2D curve of sign tracking path and the X-axis of the camera coordinate system

한편 XZ평면에서 2차 방정식으로 2차원 경로 곡선을 모델링하기 위해서는 최소 3개의 좌표점만 있으면 가능 하다. 그러나 하나의 2차원 곡선으로 X축의 절편을 구하 는 것은 표지판 3차원 위치의 오차에 영향을 받기 때문 에 여러 개의 2차원 곡선들의 절편값을 동시에 사용하는 것이 필요하다. 예를 들어 Fig. 10에서와 같이 최초 3개 의 2차원 좌표점을 획득하면 곡선을 모델링 후 절편 C1 을 구할 수 있다. 이 후 4개의 좌표점이 획득되면 C2 절편 을, (n+2)개의 좌표점을 획득하면 Cn 절편을 구하고 이들 의 가중치 합으로 D를 결정할 수 있다. 가중치는 곡선 모델링에 사용된 좌표점의 개수의 제곱을 사용하여 더 많은 수의 좌표점을 사용한 절편값에 가중치를 높게 주 었다. 가중합을 이용한 거리 D의 계산은 식 (8)과 같다.

D=(n+2)2cn+(n+1)2cn1++32c1(n+2)2+(n+1)2++32(8) 

최종적으로 수평거리 D가 구해지면 차로의 수 L, 차선 폭 W, 마지막 바깥 차선과 도로 연석 사이의 간격 α를 이용하여 주행 차로를 결정한다. 주행 차로는 차로의 왼 쪽에서 오른쪽으로 번호가 매겨지기 때문에 다음 식 (9) 를 이용하여 주행 차로를 결정한다.

Drivinglane=L[L×WDα](9) 

식 (9)는 총 차로 수 L에 대하여 차로 폭을 곱하고 맨 바깥 차선과 연석 사이의 간격을 뺀 D로 나누게 되면 오른쪽에부터 시작하여 차선의 수가 나오게 된다. 이때 이 값을 총 차로 수에서 빼면 왼쪽에서 계수되는 최종적 인 차로 번호를 획득할 수 있다.

한편 일반 도로에서는 경고나 주의 교통 표지판의 위 치가 항상 도로 오른쪽 경계에 있지 않고 도로 중앙의 위쪽에 매달려 있거나 중앙분리대에 설치된 경우를 볼 수 있다. 표지판의 설치 위치는 카메라 좌표계를 기준으 로 X축 또는 Y축의 거리값으로 충분히 판단할 수 있다. 예를 들어 도로 중앙의 상공에 매달린 표지판의 경우 Y축 거리값이 매우 크고, 그리고 중앙분리대에 설치된 표지판의 경우 X축 거리값이 음수이기 때문에 모든 표 지판이 검출되더라도 도로 오른쪽 경계부분에 있지 않 는 표지판은 주행차로 계산에서 모두 제외하였다.


4. 실험 결과 및 정확도 분석

실제 도로 환경 실험을 위하여 Pointgrey사의 BumbleBee Xbee3 스테레오 카메라를 사용하였다. Fig. 11과 같이 차량의 전면에 스테레오 카메라를 부착하고 영상을 획 득하였다. 표지판 검출에서는 앞서 언급한 바와 같이 원 형, 삼각형, 역삼각형 모양을 가진 빨간색 경고 및 주의 표지판에 대한 긍정 클래스 3개와 부정 클래스, 총 4가지 클래스를 학습시켰다. 원형, 삼각형, 역삼각형, 부정 클 래스 각 클래스마다 학습된 표지판의 갯수는 402개, 229 개, 156개, 1,164개로 총 1951개의 학습데이터를 사용하 였다. Table 2에서는 표지판 검출을 위해서 사용된 SVM 학습 데이터의 수를 보여준다. 표지판의 검출 실험을 위 하여 총 5832장의 테스트 영상을 사용하였으며 이들 영 상에서 표지판의 검출 성능을 Table 3에서 보여준다. 표 지판 검출에 걸리는 시간은 영상에서 배경의 복잡도와 표지판의 수에 따라 달라지며 평균적으로 20~30 fps를 성능을 보였다.

Fig. 11

Stereo vision camera mounted on the front window of a vehicle

Training data of traffic signs

Performance of traffic sign detection (TP: True Positive, FP: False Positive, FN: False Negative)

주행 차량과 표지판 사이의 수평거리는 표지판의 3차 원 추적경로를 투영한 2차 곡선과 도로 평면의 X축 이 만나는 X절편으로 구하였다. 한편 2차 곡선의 모델을 2차 방정식을 구할 때 표지판의 좌표값이 4개 이하일 때는 곡선 모델의 오차가 큰 것을 실험적으로 알 수 있었 다. 따라서 표지판의 좌표값이 4개 이하일 때는 곡선 모 델을 계산하지 않고 5개 이상일 때 구한 곡선들의 X절편 의 가중치 합을 거리 계산에 사용하였다. 또한 실험에서 는 실제 도로 상황에 기반하여 도로의 폭 W는 3.5 m로 두고 마지막 차선과 연석까지의 간격 α는 1.0 m로 두었 다. L은 미리 획득한 도로 정보를 이용하였다.

주행 차로 추정을 위한 실험은 총 22개의 장면으로 구성하였다. 총 22개의 장면 중에서 20개 장면에서 정확 한 주행 차로를 추정하였으며 2개의 장면에서는 주행 차로 추정에 실패하였다. 실험 결과 주행 차로 추정 기술 의 정확도는 90.9%이다. Table 45에서 각 장면에 대 한 주행 차로 추정 결과와 추정 정확도를 보여준다.

Results of lane-level positioning in each scene

Accuracy of lane-level positioning

Fig. 12에서는 실험에 사용한 한 장면에서 획득한 표 지판이 포함된 영상과 2차원 XZ평면으로 투영된 표지판 의 추적경로를 보여주고 있다. Fig. 12(a)에서는 검출된 표지판의 영역을 사각형으로 표시하였다. 그리고 표지 판영역의 2차원 영상 좌표와 ID가 출력됨을 볼 수 있다. 그리고 표지판까지의 거리는 4.22 m로 계산되었고 주행 차로는 2차선으로 판정하였다. Fig. 12(b)에서는 표지판 이 추적된 경로를 보여준다. 여러 프레임에서 추적된 표 지판의 3차원 좌표를 2차원 평면에 투영하여 여러 개의 점으로 2차원 추적 경로를 표시하였다. 곡선 모델을 이 용하여 X축과의 절편을 구한 결과도 X축 상에 표시하였다.

Fig. 12

Road image and lane-level positioning result (a) road image with position result (b) 2D tracking positions of the detected traffic sign

Fig. 13에서는 실험에 사용된 22개의 도로 장면에서 차로 추정의 결과를 보여주고 있다. 다양한 도로 환경의 실험에서 주행 차로의 추정이 성공적임을 알 수 있다. 본 실험에서는 최대 4개 차로를 가진 도로 환경에서 실 험을 수행하였고 4개 차로를 가진 넓은 도로의 경우 Table 4에서와 같이 실패한 경우가 발생하였으나 그 외 의 1개에서 3개 차로의 도로에서는 대부분의 경우 성공 적인 차로 추정의 결과를 얻었다.

Fig. 13

Result image of lane-level positioning in various road environment


5. 결 론

자동차의 자율 주행을 위해서는 도로 환경 인식은 필 수적이다. 본 논문에서는 표지판 검출과 표지판에 대한 3차원 추적경로를 이용한 주행 차로 추정기술을 제안하 였다. 표지판의 3차원 위치는 스테레오 카메라의 좌영상 에서 표지판을 검출하고 검출된 표지판 영역을 템플릿 으로 설정하여 우영상에서 스테레오 정합을 실행하였다. 서브픽셀 단위로 표지판의 2차원 스테레오 영상 좌표를 구한 후 카메라의 보정정보를 이용하여 3차원 위치를 계산하였다.

연속 영상에서 추적되는 표지판의 3차원 좌표들을 2 차원 도로평면에 투영하여 추적 경로를 2차원 곡선으로 모델링하였다. 2차원 추적경로에 대한 곡선 모델과 카메 라 좌표계의 X축과의 여러 교차점의 가중치 합을 차량 과 표지판의 거리로 결정하였으며 이 정보를 이용하여 주행 차로를 추정하였다.

주행차로의 추정 실험은 실제 도로환경에서 획득한 22개의 장면에서 실행하였고 약 90%의 성능을 보였다. 본 논문에서 제안한 주행 차로 추정 기술은 스테레오 비전에 기반한 기술이며 차선인식 등의 다른 비전 기술 과 결합되면 더 정밀한 주행 차로 추정기술을 개발할 수 있을 것으로 예상된다.

Acknowledgments

This project was funded by supported by the MSIP, Korea, under the ITRC (IITP-2016-H8601-16-1002) supervised by the IITP

References

  • https://www.youtube.com/watch?v =j2rq_8yV0p8, CES 2016, nVidia Drive CX, Digital Dashboard and Infotainment System, 2016, (2016). [https://doi.org/]
  • Han, M, Lee, K, Jo, S, “Robust Lane Detection Algorithm for Realtime Control of an Autonomous Car”, Journal of Korea Robotics Society, (2011), 6(2), p165-172. [https://doi.org/10.7746/jkros.2011.6.2.165]
  • De La Escalera, A Moreno, L. E. Salichs, M A, Armingol, J M, “Road traffic sign detection and classification”, Industrial Electronics IEEE Transactions, (1997), 44(6), p848-859. [https://doi.org/10.1109/41.649946]
  • Garcia-Garrido, MA, Sotelo, MA, Martm-Gorostiza, E, “Fast traffic sign detection and recognition under changing lighting conditions”, (2006), Intelligent Transportation Systems Conference, IEEE. [https://doi.org/10.1109/itsc.2006.1706843]
  • Maldonado-Bascon, S, Lafuente-Arroyo, S, Gil- Jimenez, F, “Road-sign detection and recognition based on support vector machines”, Intelligent Transportation Systems IEEE Transactions, (2007), 8(2), p264-278. [https://doi.org/10.1109/tits.2007.895311]
  • Chen, L, Li, Q M, Mao, Q, “Traffic sign detection and recognition for intelligent vehicle”, Intelligent Vehicles Symposium (IV) IEEE, (2011). [https://doi.org/10.1109/ivs.2011.5940543]
  • Du, J, Masters, J, Barth, M, “Lane-level positioning for in-vehicle navigation and automated vehicle location (AVL) systems”, Intelligent Transportation Systems, (2004), Proceedings, The 7th International IEEE Conference. [https://doi.org/10.1109/itsc.2004.1398868]
  • Alam, N, Balaei, AT, Dempster, AG, “An instantaneous lane-level positioning using DSRC carrier frequency offset”, Intelligent Transportation Systems IEEE Transactions, (2012), 13(4), p1566-1575. [https://doi.org/10.1109/tits.2012.2195177]
  • Du, J, “Next-generation automated vehicle location systems: Positioning at the lane level”, Intelligent Transportation Systems IEEE Transactions, (2008), 9(1), p48-57. [http://dx.doi.org/10.1109/TITS.2007.908141]
  • Dao, TS, Leung, KY, Clark, CM, Huissoon, JP, “Markov-based lane positioning using inter-vehicle communication”, Intelligent Transportation Systems IEEE Transaction, (2007), 8(4), p641-650. [https://doi.org/10.1109/tits.2007.908574]
  • Kuhnl, T, Kummert, F, Fritsch, J, “Spatial ray features for real-time ego-lane extraction”, Intelligent Transportation Systems 15th International IEEE Conference, (2012). [https://doi.org/10.1109/itsc.2012.6338740]
  • Kuhnl, T, Kummert, F, Fritsch, J, “Visual egovehicle lane assignment using spatial ray features”, (2013), Intelligent Vehicles Symposium, IEEE. [https://doi.org/10.1109/ivs.2013.6629613]
  • Garcia-Garrido, MA, Sotelo, MA, Martin-Gorostiza, E, “Fast road sign detection using Hough transform for assisted driving of road vehicles”, Computer Aided Systems Theory--EUROCAST, (2005), Springer, p543-548. [https://doi.org/]
  • Bahlmann, C, Zhu, Y, Ramesh, V, Pellkofer, M, Koehler, T, “A system for traffic sign detection, tracking, and recognition using color, shape, and motion information”, Intelligent Vehicles Symposium, (2005), IEEE. [https://doi.org/10.1109/ivs.2005.1505111]
  • Stallkamp, J, Schlipsing, M, Salmen, J, Igel, C, “Man vs. computer: Benchmarking machine learning algorithms for traffic sign recognition, Neural networks, (2012), 32, p323-332. [https://doi.org/10.1016/j.neunet.2012.02.016]
  • Ciresan, D, Meier, u, Masci, J, Schmidhuber, J, “Multi-column deep neural network for traffic sign classification”, Neural Networks, (2012), 32, p333-338. [http://dx.doi.org/10.1016/j.neunet.2012.02.023]
  • Stallkamp, J, Schlipsing, M, Salmen, J, Igel, C, “The German traffic sign recognition benchmark: a multi-class classification competition”, Neural Networks (IJCNN) The 2011 International Joint Conference, (2011). [https://doi.org/10.1109/ijcnn.2011.6033395]
  • Dollár, P, Tu, Z, Perona, P, Belongie, S, “Integral Channel Features”, British Machine Vision Conference, (2009), 2(3), p5. [http://dx.doi.org/10.5244/c.23.91]
  • Bishop, C M, Pattern recognition and machine learning, (2006), Springer. [https://doi.org/]
  • Lee, JH, Lee, J, Lee, A, Kim, J, “Geometric Formulation of Rectangle Based Relative Localization of Mobile Robot”, Journal of Korea Robotics Society, (2016), 11(1), p9-18. [https://doi.org/10.7746/jkros.2016.11.1.009]
박 순 용

1991 경북대학교 전자공학과(공학사)

1993 경북대학교 전자공학과(공학석사)

2003 뉴욕주립대 스토니브룩 전기 및 컴퓨터 공학과 (공학박사)

2005 ~ 현재 경북대학교 컴퓨터학부 교수

관심분야: 로봇비전, 3차원비전, 컴퓨터그래픽스

김 성 주

2014 경북대학교 생명과학부(이학사)

2016 경북대학교 컴퓨터학부(공학석사)

2016 ~ 현재 Nomad Connection 연구원

관심분야: 로봇비전, 기계학습

Fig. 1

Fig. 1
Lane-level positioning of a vehicle using the 3D tracking path of a traffic sign

Fig. 2

Fig. 2
Flow chart of the proposed vehicle lane-level positioning technique

Fig. 3

Fig. 3
Binarization of red colored objects

Fig. 4

Fig. 4
Extraction of traffic sign candidates from a binary image

Fig. 5

Fig. 5
Sobel operator of (a) x direction (b) y direction and (c) diagonal direction

Fig. 6

Fig. 6
Feature images of traffic sign detection (a) vertical edge (b) horizontal edge (c) diagonal edge (d) red channel (e) normalized V channel

Fig. 7

Fig. 7
Traffic sign tracking and ID assignment

Fig. 8

Fig. 8
The red rectangle in the left image is the template of the detected sign. Letter l means the x-coordinate of the one corner of a sign template. And m in the right image means the search area for stereo matching

Fig. 9

Fig. 9
3D position of a traffic sign with respect to the left camera coordinate system

Fig. 10

Fig. 10
Intersection points of 2D curve of sign tracking path and the X-axis of the camera coordinate system

Fig. 11

Fig. 11
Stereo vision camera mounted on the front window of a vehicle

Fig. 12

Fig. 12
Road image and lane-level positioning result (a) road image with position result (b) 2D tracking positions of the detected traffic sign

Fig. 13

Fig. 13
Result image of lane-level positioning in various road environment

Table 1

Pseudocode of traffic sign ID tracking algorithm

Algorithm. Pseudocode of inheritance of traffic sign ID

  • GivenID(P, T, n);
  • 1:  Input: P //A Set of previous detected traffic signs
  • 2:    T //A new detected traffic sign
  • 3:    n //New ID
  • 4:  output: Identification number
  • 5:  max_sameness=0
  • 6:  result_ID=n
  • 7:  for i←1 to NumberOfTrafficSign(P) do
  • 8:    pre=P[i]  //P[i] is i th previous traffic sign
  • 9:    new=T
  • 10:    sameness←1.0-normalize (SAD(new, pre))
  • 11:    If sameness > 0.8 and sameness > max_sameness then
  • 12:      max_sameness=sameness
  • 13:      result_ID=GetID(pre)
  • 14:      result_ID=GetID(pre)
  • 15:  end for
  • 16:  return result_ID

Table 2

Training data of traffic signs

Circle Triangle Invert Triangle Negative
402 229 156 1,164

Table 3

Performance of traffic sign detection (TP: True Positive, FP: False Positive, FN: False Negative)

TP FP FN Precision Recall
1,754 51 307 0.9717 0.8510

Table 4

Results of lane-level positioning in each scene

Scene Total lane Ground truth lane Estimated lane Estimated distance (m)
1 2 1 1 2.42
2 2 2 2 3.46
3 2 1 1 5.66
4 2 2 2 4.01
5 2 2 2 4.28
6 2 1 1 6.95
7 2 1 1 7.75
8 2 2 2 4.31
9 2 2 2 3.77
10 2 2 2 3.69
11 3 3 3 3.48
12 2 2 2 3.35
13 2 2 2 3.52
14 4 3 4(Fail) 1.64
15 3 2 2 5.65
16 3 2 2 5.91
17 3 2 2 5.52
18 2 1 1 9.09
19 2 1 1 6.64
20 2 1 1 6.95
21 2 2 2 4.14
22 3 1 3(Fail) 1.27

Table 5

Accuracy of lane-level positioning

Total Scene Correct Fail Accuracy (%)
22 20 2 90.9