Journal of Korea Robotics Society
[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 12, No. 2, pp.217-227
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date May 2017
Received 7 Feb 2017 Revised 6 Apr 2017 Accepted 13 Apr 2017
DOI: https://doi.org/10.7746/jkros.2017.12.2.217

특징 벡터를 이용한 도로영상의 횡단보도 검출

이근모1 ; 박순용
Crosswalk Detection using Feature Vectors in Road Images
Geun-mo Lee1 ; Soon-Yong Park
1School of Computer Science and Engineering, Kyungpook National University comboy111@naver.comsypark@knu.ac.kr

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

Crosswalk detection is an important part of the Pedestrian Protection System in autonomous vehicles. Different methods of crosswalk detection have been introduced so far using crosswalk edge features, the distance between crosswalk blocks, laser scanning, Hough Transformation, and Fourier Transformation. However, most of these methods failed to detect crosswalks accurately, when they are damaged, faded away or partly occluded. Furthermore, these methods face difficulties when applying on real road environment where there are lot of vehicles. In this paper, we solve this problem by first using a region based binarization technique and x–axis histogram to detect the candidate crosswalk areas. Then, we apply Support Vector Machine (SVM) based classification method to decide whether the candidate areas contain a crosswalk or not. Experiment results prove that our method can detect crosswalks in different environment conditions with higher recognition rate even they are faded away or partly occluded.

Keywords:

Crosswalk detection, Feature vector, Road image, SVM, Histogram

1. 서 론

국내외의 자율 주행 자동차 기술의 관심이 높아짐에 따라 운전자의 운전의 보조를 위한 ADAS (Advanced Driving Assistant System) 기술은 자율 주행 자동차 연구 에 있어서 핵심이 되는 기술로 주목 받고 있다. ADAS는 운전자에게 도움을 줄 수 있는 차선 유지 보조 시스템 (Lane Departure Warning System)[1], 사각지대 경고 장 치(Lane Change Assistance)[2], 충돌 예방 시스템(Collision Avoidance System)[3], 보행자 보호 시스템(Pedestrian Protection System)[4] 등 다양한 기능들이 있다.

ADAS의 다양한 기능들 중에서 본 논문에서는 보행자 보호 시스템을 위한 실제 도로 환경에서의 횡단보도 검 출 기술을 제안한다. 한국도로교통공단에서 제공하는 TAAS 교통사고 분석시스템의 통계치에 따르면 매년 횡 단보도와 횡단보도 부근에서 발생하는 보행자 교통사고 는 감소하고 있지만 일정한 비율로 횡단보도와 관련된 교통 사고가 발생한다[5].

최근 차량에 탑재되는 네비게이션 시스템에는 GPS와 라이다(Lidar) 센서를 이용하여 차량 전방에 있는 과속 방지턱을 감지 및 적정 속도까지 속도를 줄이도록 안내 하는 기능이 있다[6]. 이와 비슷하게 차량의 주행 차선 위에 그려진 횡단보도를 인식하여 운전자에게 사전에 알려줌으로써 횡단보도를 건너는 보행자에 대한 안전을 증가 시킬 수 있으며 자율 주행 자동차의 독립된 주행에 도 도움을 줄 수 있다.

본 논문에서는 도로영상에서 횡단보도 영역을 정확히 검출하는 방법을 제안한다. 제안하는 검출 방법은 횡단 보도의 시작점과 끝점을 정확히 판정하는 기술을 포함 하였다. 제안하는 횡단보도 검출 방법은 크게 세 단계의 처리과정으로 구성한다. 첫째, 도로의 조감도(bird-eye view)영상에서 횡단보도 영역을 포함한 이진화 영상을 획득한다. 둘째, 이진화 영상의 결과에서 x축 누적 히스 토그램을 이용하여 횡단보도의 후보 영역(candidate area)을 검출하는 방법을 제안한다. 그리고 마지막 단계 로 검출된 후보 영역에서 7차원의 횡단보도 특징벡터를 추출하고 기계학습으로 횡단보도의 시작과 끝 지점을 정확히 검출하는 기술을 제안한다. 본 논문은 국내 도로 의 주행 영상 데이터를 이용하여 횡단보도 검출을 수행 하였다.

본 논문의 2절에서는 횡단보도 검출을 위한 기존의 다양한 횡단보도 검출 기술을 소개한다. 3절에서는 영역 별 적응형 이진화 기술과 횡단보도 후보 영역 추출 방법, 검출한 횡단보도 후보 영역에서 SVM 학습을 통한 횡단 보도 검출 방법을 제안한다[7]. 4절에서는 실험 및 결과를 설명하며 5절에서 결론을 맺는다.


2. 기존 연구

본 절에서는 도로 영상에서 횡단보도를 검출하는 기 존 방법을 분석한다. S. Stepehen[8]은 횡단보도 검출 단 계에서 도로 영상의 허프(Hough) 변환[9]을 이용하여 직 선들을 검출하고 각 직선에 대한 소실점(vanishing point) 을 검출하였다. 검출된 소실점 중에서 20개 이상 100개 이하의 직선이 지나는 소실점들을 추출하였다. 소실점 추출 방법에는 RANSAC (Random Sample Consensus) 을 이용하여 외치점들을 제거하고, 최소자승법(Least-square) 을 이용하였다. 검출된 소실점을 지나는 직선들에 대해 교차비(cross ratio)를 만족하는 직선들을 각 횡단보도 블 록의 윤곽선으로 정의하여 입력 영상에서의 횡단보도를 검출하였다[10].

Yuqiang Zhai[11]은 CCTV 카메라에서 획득한 영상에 대해 차량과 배경의 차영상을 이용하여 배경 영상을 추 출하고 배경 영상에 대해 MSER (Maximally Stable Extremal Regions) 방법과 ERANSAC (Extended RANSAC)을 적용 하여 횡단보도 영역을 검출하는 방법을 제안하였다[12].

S. Sichelschmidt[13]는 Fourier 변환을 이용한 횡단보도 영역 추출과 템플릿 정합을 통한 횡단보도 특징점 추출 및 횡단보도 인식 방법에 대해 제안하였다. 제안한 알고 리즘은 횡단보도 특징점 추출에서 획득 영상에 대해 관 심 영역을 지정하고 Canny 윤곽선 필터를 이용하여 관 심 영역에 대해 윤곽선을 추출하였다[14].

J.E. Jung[15]이 제안한 횡단보도 검출 방법은 획득영상 을 HSV 컬러 모델로 변환시킨 후 V 채널 영상을 이용하 여 이진화 영상 획득하고, 횡단보도를 추출하였다. HSV 컬러 모델은 RGB 컬러 모델과 달리 Hue(색조), Saturation (채도), Value(명도) 값으로 색상을 표현하는 모델이다. V 값은 작을수록 어둡고, 높을수록 밝은 색임을 나타내 기 때문에 J. Jung[15]은 V 채널 영상을 횡단보도와 도로 영역을 분할하는 이미지로 사용한다. 2개 영역으로 분할 된 이진화 영상을 OR 연산을 통해 하나의 영상으로 변 환하고, 모폴로지 연산을 통해 잡음을 제거한다. 잡음이 제거된 영상에서 도로 위의 횡단보도 영역은 띠 모양을 형성하는 가정을 이용하여 영상의 y 축에 비례하는 2-D 필터를 생성하여 최종적인 횡단보도 영역을 추출하였다. 하지만 이러한 방법들은 이진화 결과 영상에서 횡단보 도 영역이 훼손되거나 잘못된 이진화 결과 영상을 얻을 경우 횡단보도 검출이 불가능하다.


3. 제안하는 횡단보도 검출 방법

3.1. 주행 차선 검출 및 조감도 영상 생성

본 논문에서 제안하는 횡단보도 검출 방법은 영역별 적응형 이진화 방법으로 도로배경과 도로표시를 구분하 고, 이진화 영상의 x축 히스토그램으로 횡단보도의 후보 영역들을 추출한다. 그리고 추출된 횡단보도 후보 영역 에서 SVM 학습을 통한 최종적인 횡단보도 영역을 검출 한다.

먼저 횡단보도의 이진화 영상을 획득하기 위하여 도 로의 조감도(bird-eye view)영상을 획득하였다. 조감도 영상 획득을 위하여 주행 차선 검출 및 검출된 차선과 영상의 x축과 평행한 임의의 두 직선과의 4개의 교차점 을 이용하여 호모그래피(homography)변환을 수행하였 다. 도로 입력 영상을 조감도 영상으로 변환하는 이유는 영상에서 횡단보도의 흰색부분의 블록의 넓이를 일정한 크기로 변형하기 위함이다. 이는 다음 절에 설명할 영상 이진화와 횡단보도의 특징벡터 추출의 성능을 유지하기 위함이다.

영상 이진화와 주행 차선 검출은 H. Jang[16]이 제안한 방법을 이용하여 Fig. 1과 같이 주행 차선 L1L2를 먼저 검출한다. 주행 차선 검출 후 호모그래피 변환을 위해서는 4개의 점을 추출해야 하는데, 4개의 점을 추출 하기 위해 먼저 입력영상에서 축과 평행한 임의의 두 직선 l1l2를 설정한다. 설정한 직선 l1l2와 앞서 검출된 주행 차선 L1L2의 교차 부분인 4개의 점 c1, c2, c3, c4를 Fig. 2와 Fig. 3과 같이 조감도 영상 생성을 위한 호모그래피 변환 제어점으로 사용한다. 입력영상 에 대해 차선이 정확하게 검출되지 않는 경우 정확한 호모그래피 변환이 어렵다. 따라서 차선이 검출되지 않 는 경우에는 이전에 검출된 차선 정보를 이용한다.

Fig. 1

Lane detection results

Fig. 2

Bird-eye view image conversion by homography

Fig. 3

Examples of bird-eye view images

3.2. 영상 이진화

본 절에서는 횡단보도 검출방법에 대해 이미지 전처 리 과정인 영상 이진화에 대해 설명 한다. 많은 횡단보도 검출 방법에서는 횡단보도 블록들의 윤곽선을 추출하기 위해 먼저 입력영상을 이진화한다.

영상 이진화에는 전역 고정 이진화, 지역 가변 이진화 로 크게 두 종류로 분류할 수 있다[17]. 전역 고정 이진화 는 기본적인 영상 이진화로써 그레이 스케일(greyscale) 영상에서 일정한 임계값(threshold)을 정하고, 임계값보 다 밝은 모든 픽셀들을 흰색 그렇지 않으면 검은색으로 바꾸는 방법이다. 하지만 임계값을 항상 하나의 상수 값 으로 고정한다면 각 영상에 대해 조명 변화 등의 요인으 로 배경과 물체의 밝기 분포가 서로 상당부분 비슷한 경우의 영상에서는 정확한 이진화 영상을 획득할 수 없 다. 이러한 문제점을 해결하기 위해 픽셀 위치마다 서로 다른 임계값을 적용하는 지역 가변 이진화 방법이 필요 하다. 지역 가변 이진화는 하나의 픽셀의 좌표(x,y)를 중 심으로 식 (1)과 같이 n×n 윈도우(window) 영역의 밝기 평균에 일정한 상수를 빼서 임계값을 결정하는 방법이 다. 픽셀의 주변 영역의 크기를 어떻게 지정하는가와 상 수 c의 값을 어떻게 지정하는가에 따라 이진화 영상의 결과가 달라진다.

T(x,y)=1n2xiyiI(x+xi,y+yi)C(1) 

이진화 영역의 크기를 작게 지정하여 밝기 값이 높은 영역인 횡단보도 블록 내부 영역에 대해서 이진화가 이 루어질 경우 임계값이 높아져 횡단보도 블록의 내부 흰 색영역이 검은색이 될 수 있다. 또는 횡단보도 블록 외부 도로 영역에 대한 이진화의 경우 임계값이 낮아져 도로 면에 잡음이 생기는 등 잘못된 이진화 결과를 얻을 수 있다. 반면에 영역의 크기를 클 경우 픽셀 주변의 다양한 조명환경에 의해 마찬가지로 잘못된 이진화 결과를 얻 을 수 있다.

또한 기존의 횡단보도 검출 방법들은 다양한 필터들 을 적용하여 획득한 윤곽선들의 특징을 이용하여 횡단 보도 영역을 추출하거나[18], 횡단보도의 윤곽선들이 이 루는 특징들을 이용하는 방법들을 사용한다[15]. 하지만 이러한 기존 방법들은 획득 영상에서 횡단보도의 블록 이 노후화되어 변색된 경우를 고려하지 않는다. 또한 Y.Zhai[11]와 같은 방법의 경우 에는 CCTV와 같이 지정 된 위치에서 획득한 영상에 대해서만 횡단보도 영역을 추출하기 때문에 실시간으로 주행 중인 차량에서의 횡 단보도 검출 시스템에서는 적용하기가 어렵다.

본 논문에서는 노후화되어 변색된 횡단보도 블록 영 역을 최대한 검출하기 위하여 Fig. 4와 같이 m × n의 크기를 가진 이진화 영역을 사용한다. 여기서 m은 횡단 보도 흰색 블록 폭의 2배로 정하고 n은 실험적으로 정하 였다. 입력영상을 조감도 영상으로 변환하면 횡단보도 의 한 개 블록의 크기가 일정해지며 따라서 m × n 크기의 영역에 대해 영상 이진화를 수행한다. 영상 이진화 방법 은 Otsu 이진화 방법을 사용한다. 이진화 영역의 폭이 횡단보도 흰색 블록 폭의 2배로 지정하였기 때문에 Fig. 5 와 같이 이진화 영역의 내부에 최대한 밝은 부분인 횡단 보도의 흰색 블록과 어두운 부분인 도로 배경이 분리됨 을 확인할 수 있다.

Fig. 4

Binarization of m x nimage region

Fig. 5

Examples of region binarization results

3.3. 횡단보도 후보 영역 추출

차량에 설치된 카메라로부터 획득한 영상의 모든 영 역에서 횡단보도를 검출하는 것은 계산 비용이 높다. 기 존 횡단보도 검출 방법들은 이러한 계산 비용을 줄이기 위해 입력 영상에 대해 관심영역을 설정하여 관심영역 내부에서 횡단보도가 가지는 특징을 이용하여 횡단보도 를 검출한다[13]. 본 논문에서는 횡단보도 검출에 걸리는 계산 시간을 줄이기 위하여 입력영상의 이진화 영상에 서 횡단보도의 후보영역을 먼저 추출하는 방법을 제안 한다.

차량이 주행하는 도로면에는 운전자에게 정보를 제공 하기 위한 다양한 노면 표시가 나타난다. 노면 표시는 각각의 주행 차선에 대한 정보를 포함하며 주행 차선의 중앙에 위치하여 그려진다. 반면 횡단보도의 경우에는 흑백의 교차패턴으로써 주행 차선 중앙에 그려지는 다 른 노면 표시와는 다르게 도로 전체에 대하여 그려진다.

도로 전체에 그려진다는 횡단보도의 특징을 이용하여 앞서 제안한 영역별 적응형 이진화 결과로 얻은 이진화 영상에서 모폴로지 기법의 팽창(dilation) 연산을 수행한 후 Fig. 6과 같이 x축 누적 히스토그램 H(y)를 생성한다. 조감도 영상에서 횡단보도 블록이 노후화되어 변색된 영역의 이진화 결과가 x축 누적 히스토그램 생성에 영향 을 줄 경우를 고려하여 팽창 연산을 수행한다.

Fig. 6

X-directional histogram of binary images

횡단보도는 주행 도로를 포함한 도로 전체에 그려지 기 때문에 Fig. 6과 같이 횡단보도가 나타나는 영상은 다른 노면 표시가 그려진 영상보다 x축 히스토그램의 누적값이 크고, y축 방향으로 넓은 분포로 누적되는 것 을 알 수 있다. 이러한 누적 히스토그램의 특징을 이용하 여 이진화 영상에서 횡단보도로 추정되는 후보 영역들 을 추출한다.

횡단보도 영역의 히스토그램 누적값 H(y)이 다른 영 역보다 크다는 단순한 특징만을 이용하여 횡단보도 후 보를 검출할 경우 이진화 영상에 따라 횡단보도가 아닌 영역이 후보영역으로 검출될 수 있다. 예를 들어 Fig. 6의 첫째 그림과 같이 정지선 노면 표시의 경우 매우 큰 누적 값이 나타날 수 있다. 또한 Fig. 6의 셋째 그림과 같이 모든 주행 차선의 동일한 위치에 화살표와 같은 기타 노면 표시가 나타날 경우에도 높은 누적값이 나타날 수 있다. 이러한 횡단보도 후보영역이 잘못 검출될 경우를 줄이기 위해 다음과 같은 조건을 이용하여 횡단보도 후 보 영역을 검출한다.

첫째, Fig. 7(a)과 같이 횡단보도 영역임에도 불구하고 분할된 x축 히스토그램이 생성될 수 있다. 이러한 경우 를 고려하여 가우시안 필터(Gaussian filter)를 이용하여 히스토그램 누적값에 대해 블러링(Blurring) 효과를 적 용한다. 둘째, 횡단보도의 경우 누적값이 일정 임계값 보다 크게 누적된다는 특징을 이용하여 Fig. 7(b)와 같이 히스토그램에서 임계값 HT(점선표시)을 넘는 y좌표들을 시작과 끝점으로 쌍을 이루도록 검출한다. 쌍을 이루는 히스토그램의 폭의 길이를 측정하여 일정 길이보다 작 은 좌표들은 후보에서 제외한다. 예를 들어 Fig. 7(b)에 서 쌍을 이루는 히스토그램의 폭 h1과 h2에서 폭이 매우 좁은 h1은 제거하고 h2의 폭을 가진 히스토그램의 y의 범위(점선영역)를 후보영역으로 정한다. 여기서 누적 임 계값 HT와 폭(h)의 임계값은 실험적으로 각각 120픽셀 과 30픽셀로 정하였다.

Fig. 7

Crosswalk candidate detection using x-directional histogram (a) Gaussian filtering of histogram (b) Filtering of narrow histogram regions

앞서 x축 히스토그램 폭의 크기를 이용한 후보 영역 검출 단계에서 정지선이나 다른 노면표시 영역들은 1차 적으로 후보 영역에서 제외된다. 하지만 노면 표시의 종 류와 그려지는 위치에 따라 x축 히스토그램이 횡단보도 의 히스토그램과 유사하게 생성될 경우 횡단보도 후보 영역이 여러 개로 검출될 수 있다. 따라서 1차적으로 검 출된 횡단보도 후보 영역들에 대해 추가적인 조건을 이 용하여 최종적인 횡단보도 후보 영역을 다시 결정한다.

누적 히스토그램에 대해 가우시안 필터를 적용해도 하나의 횡단보도 영역이 Fig. 8(a)와 같이 두 개의 블록으 로 분할되어 각각의 횡단보도 후보 영역으로 검출되는 경우가 발생한다. 이런 문제를 해결하기 위하여 후보영 역 검출 단계의 세 번째 조건으로 횡단보도 후보 영역들 의 사이의 폭 di가 작은 경우(10픽셀 이하)에는 하나의 후보 영역으로 병합한다. 마지막으로 넷째 조건으로 횡 단보도 영역의 누적 히스토그램의 폭은 다른 영역의 폭 에 비하여 크다는 특징을 이용하여 Fig. 8(b)와 같이 검출 된 후보 영역들 중에서 폭의 크기가 가장 큰 영역의 채움 (filling) 조건을 검사한다. 채움조건이란 후보영역의 누 적값의 최대값 pi와 y축으로의 폭 ri의 곱에 대한 H(y)의 비율을 다음과 같이 계산한다.

Fig. 8

The third and fourth constraints of candidate detection (a) Merging of two regions with small gaps (b)Filling of histogram based on width and height

riH(y)pi×ri(2) 

후보영역의 식 (2)의 채움 조건이 0.7 이상인 경우 해 당영역을 최종적인 횡단보도 후보 영역으로 검출한다.

3.4. 횡단보도 특징 벡터 추출

앞 절에서는 제안한 영상 이진화 방법과 이진화 결과 영상에서 횡단보도 후보 영역을 검출 하는 방법에 대해 설명하였다. x축 누적 히스토그램만을 이용하여 검출한 횡단보도 후보영역은 대략적인 횡단보도의 위치를 알 수 있다. 하지만 히스토그램만을 이용하여 횡단보도 영 역을 검출할 경우 다른 노면 표시의 x축 히스토그램이 횡단보도와 유사하게 만들어질 경우 잘못된 횡단보도를 검출하는 경우가 발생한다. 따라서 x축 히스토그램을 이 용하여 검출된 횡단보도 후보영역에 대해 실제 횡단보 도 여부를 판단해야 할 필요가 있다. 본 절에서는 검출된 후보 영역에 대해 실제 횡단보도를 판단하기 위한 횡단 보도 특징 벡터를 추출 방법에 대해 설명한다.

횡단보도에 대한 특징 벡터는 이진화 결과 영상에 대 해 횡단보도 영역을 포함할 수 있도록 Fig. 9와 같이 검 출 윈도우(detection window)를 생성 후, 윈도우 영역 내 에서 이진화 영상의 7차원 특징 벡터 F = f1, f2, f3, f4, f5, f6, f7 를 추출하고, SVM 학습 결과를 이용하여 후보 영 역에서 실제 횡단보도 영역을 검출한다.

Fig. 9

Sliding window inside candidate region

횡단보도 특징 벡터 중 f1, f2는 식 (3)에서와 같이 이진화 영상의 횡단보도 후보 영역의 검출 윈도우에 대 해 검은색 픽셀 수와 흰색 픽셀 수를 이용한다. 횡단보도 는 검은색과 흰색의 교차 패턴으로 도로면에 그려지기 때문에 이진화 영상의 윈도우 내부에서 검은색 픽셀과 흰색 픽셀의 수는 일정한 비율을 이루게 된다. 식 (3)에 서 Wwidth와 Wheight는 각각 Fig. 9의 슬라이딩 윈도우 W 의 폭과 높이이다.

f1=PixelwhiteWwidth×Wheightf2=PixelwhitePixelblack(3) 

횡단보도 특징 벡터 f3는 검출 윈도우에서 횡단보도의 블록이 상하로 교차 패턴으로 나타나는 특징을 이용하 였다. Fig. 10과 같이 검출 윈도우 내부 영역을 상단부와 하단부 영역으로 분할한다. 분할 영역의 폭은 검출 윈도 우의 폭과 동일하며, 높이는 검출 윈도우의 높이의 절반 이 된다. 분할된 두 영역에서 서로 대응되는 각 픽셀 값 들에 대해 XOR 연산을 수행하게 되면 횡단보도의 경우 다른 노면 표시에 비해 XOR 연산 결과 값에서 1의 비율 이 높게 나타난다. f3는 검출 윈도우의 분할 영역에서 수행한 XOR연산에서 1의 횟수로 정하며 그 최대값은 검출 윈도우의 폭과 높이의 곱의 절반이 된다.

Fig. 10

XOR operation in the detection window

또한 횡단보도 영상에서 세로 방향 윤곽선과 가로 방 향 윤곽선은 횡단보도가 가지는 큰 특징이다. 횡단보도 의 윤곽선 방향을 특징 벡터로 이용하기 위해 검출 윈도 우 내부 영역에 대해 Fig. 11과 같은 영상 미분 필터를 입력영상에 적용하여 y축 방향 미분 영상과 축 방향 미 분 영상을 생성한다. 생성된 y축 방향 미분 영상의 픽셀 값 Δyx축 방향 미분 영상의 픽셀값 Δx를 이용하여 각 픽셀에 대한 경사 방향 θ를 계산한다.M4

Fig. 11

Edge filter (a) x direction (b) y direction

θ=arctan(ΔyΔx)(4) 

윈도우 내부의 각 픽셀에 대한 경사 방향 θ를 4개의 영역으로 나눈 방향 히스토그램 빈(bin)에 대해 해당 경 사 방향의 영역에 누적시킨다. 방향 히스토그램 빈의 4 개의 영역은 Fig. 12에서와 같이 각 x, y축 방향을 기준 (0°, 90°, 180°, 270°)으로 ±20° 크기를 가진 영역이며 각 픽셀의 경사 방향이 4개의 영역을 제외한 경사 방향 을 가질 경우 경사 방향 히스토그램의 누적 대상에서 제외한다. Fig. 12와 같이 각 방향 히스토그램 빈에 대한 누적값들을 나머지 특징 벡터 f4, f5, f6, f7로 사용한다.

Fig. 12

Histogram of edge orientation

3.5. 횡단보도 검출

본 절에서는 횡단보도 후보 영역에서 실제 횡단보도 영역을 판정하는 방법을 설명한다. 먼저 앞 절에서 정의 한 7차원의 특징 벡터 F를 SVM 입력 벡터로 정한다. 다음으로 3.3절에서 언급한 x축 누적 히스토그램 방법 을 이용하여 검출된 횡단보도 후보 영역에 대해 먼저 250픽셀 폭과 150픽셀 높이를 가진 검출 윈도우를 생성 한다. 생성된 윈도우는 후보 영역의 시작점에서부터 후 보 영역이 끝나는 지점까지 y방향으로 이동하면서 실제 횡단보도 영역의 참, 거짓 여부를 판단한다. 검출 윈도우 의 이동 간격은 2 픽셀로 지정한다. 검출 윈도우가 횡단 보도 후보영역 내에서 실제 횡단보도 영역이라고 판단 하면 횡단보도 후보영역의 시작점과 마지막 끝점을 횡 단보도의 시작과 끝점으로 최종 판정한다.

후보 영역내의 각 검출 윈도우에서 추출된 특징 벡터 와 SVM학습 결과 데이터를 이용하여 일정 횟수 이상 참(True)값이 반환되는 경우 해당 후보 영역을 실제 횡 단보도 영역(positive)으로 판단하며 그렇지 않을 경우 (negative) 횡단보도 영역으로 판단하지 않는다. SVM에 학습시킨 각 긍정 학습 데이터와 부정 학습 데이터를 Fig. 13과 Fig. 14에 보였다.

Fig. 13

TRUE Learning data of crosswalk

Fig. 14

FALSE Learning data of crosswalk


4. 실험 결과 및 분석

실험에 사용된 카메라는 Point grey Grasshopper 3이 며 카메라를 차량의 전방 유리에 부착 설치하였다. 실제 도로를 주행하여 획득한 영상을 이용하여 실험을 수행 하였다.

횡단보도 학습 데이터 영상의 크기는 검출 윈도우의 크기와 동일하고 횡단보도 영역을 포함할 수 있도록 250×150(픽셀)로 정하였다. 학습에 사용한 영상은 제안 한 이진화 방법을 적용한 이진화 영상에서 동일한 크기 의 검출 윈도우에서 추출하였다. 학습을 위한 데이터는 횡단보도에 대한 긍정 클래스와 부정클래스 총 2가지 클래스를 학습시켰다. 긍정 학습 데이터는 Fig. 13과 같 이 윈도우 영역 내부에 2 줄의 횡단보도가 모두 나타나 는 영상이며 부정 학습 데이터는 Fig. 14와 같이 횡단보 도를 제외한 노면 표시 영상과 주행 차선 영상, 전방 차 량 영상 등으로 구성하였으며, 각 클래스마다 학습된 데 이터 개수는 Table 1과 같이 긍정 클래스 2,874개, 부정 클래스 6,304개이다. 횡단보도 인식을 위한 SVM은 OpenCV 라이브러리에서 제공하는 선형(linear) SVM 함수를 사용하였다.

Number of SVM learning data

실험에 사용한 영상은 다양한 조명조건에서 획득하였 다. Fig. 15에서 입력 영상의 예와 이진화된 횡단보도의 조감도 영상을 보여준다. 제안 방법의 성능을 검증하기 위하여 횡단보도의 다양한 도색 상태의 영상을 획득하 였다. Fig. 16에서는 다양한 조명조건과 횡단보도 도색 상태에 대하여 시작점과 끝 지점이 정확히 검출된 결과 를 보여준다.

Fig. 15

Examples of input and binary images

Fig. 16

Crosswalk detection results on various light and mark painting conditions

제안한 횡단보도 검출 방법을 기존의 방법과 비교를 하고자 하였으나 횡단보도 검출의 경우 벤치마크를 위한 데이터베이스가 없고 기존의 공개된 방법 또한 존재하지 않았다. 따라서 본 논문에서는 다양한 조건의 입력영상에 대하여 전역적 영상이진화를 이용한 검출 결과와 제안방 법의 결과를 Table 2와 Table 3에서 비교하였다.

Detection rate using global binarization

Detection rate using the proposed method

Fig. 17에서는 연속된 영상 프레임에 대한 검출 성능 을 보이고 있다. 차량이 주행하면서 획득한 연속 영상에 서 보이는 횡단보도의 영역의 시작과 끝 지점을 정확히 판정하는 것을 알 수 있다. 또한 Fig. 18에서는 특정 상황 에 대한 검출 성능을 보이고 있다. Fig. 18(a)에서는 선행 차량으로 인해 횡단보도의 일부분이 가려지는 경우이다. Fig. 18(b)에서는 횡단보도 위로 사람이 지나가는 경우 에도 정확히 검출되는 것을 알 수 있다.

Fig. 17

Results of continuous video frames

Fig. 18

Detection results in special road scenes (a) A vehicle is occluding the crosswalk (b)A person is occluding the crosswalk

반면 Fig. 19에서는 정확한 횡단보도 검출이 실패로 판정한 경우를 보였다. Fig. 19(a)에서는 횡단보도 영역 이 일부 검출되었으나 시작점은 정확하나 끝점이 틀린 것을 볼 수 있다. 이는 후보 영역에서 마지막 검출 윈도 우의 결과에 오류가 발생하기 때문인데 횡단보도가 영 상의 하단에 가려지면 발생하는 현상이다. 또한 Fig. 19(b)에서는 횡단보도의 절반만 보이는 경우도 본 논문 에서 제안한 XOR결과의 특징이 제한되기 때문에 검출 오류가 발생한다. Fig. 19(c)에서는 전방 차량이 가까운 거리에서 횡단보도를 가리는 경우와 차선의 모든 차량 이 횡단보도를 가리는 경우 검출 오류가 발생한 것을 볼 수 있다. 이는 x축 히스토그램을 이용하여 횡단보도 후보영역을 추출하는 단계에서 후보영역에서 제외되거 나 추출된 특징 벡터와 SVM학습 결과 데이터가 거짓 (false)값이 반환되어 발생하는 오류이다. Fig. 19(d)에서 는 차량의 회전으로 인해 주행 차선이 검출되지 않아 정확한 호모그래피 변환을 통한 조감도 영상을 획득할 수 없기 때문에 발생하는 오류이다.

Fig. 19

Example of detection failures (a)Start/end points detection failure (b) Different block pattern (c) Vehicle occlusion (d) Rotated camera angle


5. 결 론

본 논문에서는 국내의 실제 주행도로에서 변색되거나 노후화된 횡단보도 블록이나 다양한 조명 환경에서도 우수한 성능을 보이는 새로운 횡단보도 검출방법을 제 안하였다. 입력영상을 조감도 영상으로 변형한 후 적응 적 이진화 방법으로 영상에서 배경과 도로 표시부분을 분리하였다. 이후 영상의 x축 히스토그램을 구하고 네 단계의 처리과정을 거쳐 횡단보도의 후보영역을 검출하 였다. 검출된 후보영역에 일정한 크기의 윈도우를 지정 하고 윈도우 내부의 영상 특징을 7차원 벡터로 표현하여 기계학습 방법을 이용한 검출과정을 제안하였다.

다양한 도로 조명환경과 횡단보도의 변색에 불구하고 검출 성능이 우수한 방법을 제안하였으며 실제 도로에 서 획득한 영상을 이용하여 횡단보도의 검출이 성공적 으로 수행됨을 확인하였다.

한편 차량이 횡단보도 영역을 크게 가리는 경우, 횡단 보도의 페인트가 너무 변색되거나 벗겨진 경우, 또는 주 행차량의 회전으로 인하여 조감도 영상에서 횡단보도 영상의 정렬이 올바르지 않은 경우 등에서 제안 알고리 즘이 실패하는 경우가 발생하였다. 알고리즘의 개선을 통하여 이와 같은 상황에서도 인식 성공률을 높일 수 있을 것으로 예상한다.

References

  • Claudio Rosito, J, Christian Roberto, K, A Lane Departure Warning System based on a Linear-Parabolic Lane Model, in IEEE Intelligent Vehicles Symposium, Parma, Italy, (2004), p891-895. [https://doi.org/10.1109/ivs.2004.1336503]
  • Stefan, H, Hermann, W, Sven, B, Fabian, S, Peter, K, A maneuver-based lane change assistance system, in IEEE Intelligent Vehicles Symposium, Baden-Baden, Germany, (2011), p375-380.
  • Hideo, A, Kenichi, Y, Yasuhisa, H, Toshio, I, Development of rear-end collision avoidance system, JSAE review, (1996, July), 18(3), p314-316.
  • Tarak, G, Mohan, T. M, Pedestrian protection systems: Issues, survey, and challenges, IEEE Transactions on Intelligent Transportation Systems, (2007, Sep), 8(3), p413-430. [https://doi.org/10.1109/TITS.2007.903444]
  • Traffic Accident Analysis System, [Online] http://taas.koroad.or.kr/, Accessed: Dec., 12, 2016.
  • Gwon, Y, Method of controlling a navigation system, Korea Patent 10-2012-0069279, (2012, June, 28).
  • Corinna, C, Vladimir, V, Support-vector networks, Machine Learning, (1995, Sep), 20(3), p273-297. [https://doi.org/10.1007/BF00994018]
  • Se, S, Zebra-crossing detection for the partially sighted, in IEEE International Conference on Computer Vision and Pattern Recognition, Hilton Head Island, USA, (2000), p211-217. [https://doi.org/10.1109/cvpr.2000.854787]
  • Hough, V, Paul, C, Method and means for recognizing complex patterns, U.S Patent 3,069,654, (1962, Dec, 18).
  • Fischler, M, Robert, B, Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography, Communications of the ACM, (1981, June), 24(6), p381-395. [https://doi.org/10.1145/358669.358692]
  • Zhai, Y, Guolong, C, Lingjiang, K, Crosswalk detection based on MSER and ERANSAC, in IEEE International Conference on Intelligent Transportation Systems, Las Palmas, Spain, (2015), p2770-2775. [https://doi.org/10.1109/itsc.2015.448]
  • Matas, J, Chum, O, Urban, M, Pajdla, T, Robust wide-baseline stereo from maximally stable extremal regions, Image and Vision Computing, (2004, Sep), 22(10), p761-767. [https://doi.org/10.1016/j.imavis.2004.02.006]
  • Sichelschmidt, S, Anselm, H, Anton, K, Pedestrian crossing detecting as a part of and urban pedestrian safety system, in IEEE International Conference on Intelligent Vehicles Symposium, San Diego, USA, (2010), p840-844. [https://doi.org/10.1109/ivs.2010.5548032]
  • John, C, A computational approach to edge detection, IEEE Transactions on Pattern Analysis and Machine Intelligence, (1986, Nov), 8(6), p679-698.
  • Jung, J, Crosswalk detection algorithm based on vision sensor for unmanned vehicle, in Proceedings of ICROS, Chun Cheon, Korea, (2010), p91-95.
  • Jang, H, Baek, S, Park, S, Lane marking detection in various lighting conditions using robust feature extraction, in International Conferences in Central Europe on Computer, Plzen, Czech, (2014), p83-88.
  • Rafael, G. C, Richard, E. W, Digital image processing, (2002), 2nd Ed, Prentice Hall, p598-600.
  • Takuya, A, Kengo, O, Crosswalk location, direction and pedestrian signal state extraction system for assisting the expedition of person with impaired vision, in Proceeding of IEEE International Conference on Mechatronics, Tokyo, Japan, (2014), p285-290.
이 근 모

2015 영남대학교 컴퓨터공학과(공학사)

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

2017~현재 경북대학교 컴퓨터학부 박사과정

관심분야: 자율주행자동차, 컴퓨터비전

박 순 용

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

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

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

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

관심분야: 3차원 로봇비전, 자율주행자동차

Fig. 1

Fig. 1
Lane detection results

Fig. 2

Fig. 2
Bird-eye view image conversion by homography

Fig. 3

Fig. 3
Examples of bird-eye view images

Fig. 4

Fig. 4
Binarization of m x nimage region

Fig. 5

Fig. 5
Examples of region binarization results

Fig. 6

Fig. 6
X-directional histogram of binary images

Fig. 7

Fig. 7
Crosswalk candidate detection using x-directional histogram (a) Gaussian filtering of histogram (b) Filtering of narrow histogram regions

Fig. 8

Fig. 8
The third and fourth constraints of candidate detection (a) Merging of two regions with small gaps (b)Filling of histogram based on width and height

Fig. 9

Fig. 9
Sliding window inside candidate region

Fig. 10

Fig. 10
XOR operation in the detection window

Fig. 11

Fig. 11
Edge filter (a) x direction (b) y direction

Fig. 12

Fig. 12
Histogram of edge orientation

Fig. 13

Fig. 13
TRUE Learning data of crosswalk

Fig. 14

Fig. 14
FALSE Learning data of crosswalk

Fig. 15

Fig. 15
Examples of input and binary images

Fig. 16

Fig. 16
Crosswalk detection results on various light and mark painting conditions

Fig. 17

Fig. 17
Results of continuous video frames

Fig. 18

Fig. 18
Detection results in special road scenes (a) A vehicle is occluding the crosswalk (b)A person is occluding the crosswalk

Fig. 19

Fig. 19
Example of detection failures (a)Start/end points detection failure (b) Different block pattern (c) Vehicle occlusion (d) Rotated camera angle

Table 1

Number of SVM learning data

TRUE class FALSE class
No. of data 2,874 6,304

Table 2

Detection rate using global binarization

TP FP FN Precision Recall
331 38 46 0.897 0.877

Table 3

Detection rate using the proposed method

TP FP FN Precision Recall
365 16 41 0.958 0.899