• 검색 결과가 없습니다.

Adaboost 기반 자동차영역 인식

문서에서 저작자표시 (페이지 47-67)

Adaboost 알고리즘은 약 분류기(Weak Classifier)들을 선형 결합하여 강 분류 기(Strong Classifier)를 만드는 기계학습 알고리즘으로 다양한 객체 검출에 널리 사용되는 알고리즘이다[38]. Adaboost 알고리즘은 이러한 부스트 알고리즘의 한 종류로 다른 부스트 알고리즘보다 간단하면서도 효과적인 알고리즘이다.

본 논문에서는 차량 후보영역 중 차량의 유무 판정은 얼굴인식에 쓰인 Paul Viola의 Adaboost 알고리즘을 이용하였다[39]. 이 알고리즘을 사용한 이유는 Paul Viola가 밝혔듯이 신경망 또는 SVM을 이용한 연구보다 약 15배나 빠른 연 산속도를 보인다. 학습 시간이 길고 학습 데이터에 의존적인 단점이 있지만 높은

- 36 -

정확성과 빠른 속도의 장점 때문에 영상처리 패턴인식에 유리하다. Adaboost 알고 리즘의 약 분류기는 식 (11)과 같다. 식(10)에서 는 Haar-like 특징의 번호,

( )는 검출된 특징값, 는 임계값, 는 식의 우변이 좌변보다 크기 위한 부호로 -1 또는 1값을 의미한다.

( ) = 1, ( ) <

0, ℎ , = 1,2 ⋯ ,85848

(11)

그림 25. Haar-like 특징 계산

임계값 는 그림 25와 같이 학습 데이터( , , ⋯ , 는 차량, , , ⋯ , 은 비차량)가 있을 때 Haar-like 특징에 대한 값을 계산한 후 가우시안 분포로 가정 한 후 계산한다. 식(11)에서 알 수 있듯이 약 분류기는 차량의 특징을 나타내 주 는 Haar-like 특징에 의해서 생성된다. 따라서 약 분류기는 특징의 전체의 수인 85,848개가 생성되고 이렇게 생성된 약 분류기는 Ababoost 알고리즘에 의해서 차량과 비차량을 잘 구분할 수 있는 것들이 선택되어 강 분류기를 이루게 된다.

- 37 -

Ababoost 알고리즘에 의해서 만들어지는 강 분류기는 식(12)과 같다. 식(11)에 서 ( )은 약 분류기, α는 약 분류기와의 가중치로 Ababoost알고리즘에 의해서 결정된다. 그리고 는 선택된 약 분류기의 개수로 강 분류기에 의해 분류된 학습 데이터 오 분류율에 의해 결정된다.

( ) = 1, ( ) ≥1 2

0, ℎ

(12)

Haar-like로 인식된 특징을 Adaboost에 구성된 분류기를 학습시켜 종속연결된 분류기를 생성하고 실제 입력되는 차량 후보 영상의 검출을 위해 학습 데이터를 생성한다. Ababoost 알고리즘의 학습 데이터는 차량 데이터 202장, 비차량 데이 터 300장을 이용하여 128x128 이미지를 검출 윈도우의 크기인 24x24 크기로 정규화하여 학습데이터를 생성한다.

- 38 -

제4장 실험결과

제1절 실험 환경

실험에 사용한 영상은 자동차에 블랙박스를 장착하고 주행하면서 획득한 영상 으로 평균 24fps 640x480 해상도로 촬영된 영상을 사용하였다. 일반 고속도로에 서 실선 도로, 점선 도로, 곡선 도로 등이 포함된 여러 도로환경에서 얻은 영상으 로 실험하였다. 또한, 성능을 검증하기 위해 Logitech c525 웹 카메라와 라즈베리 파이2를 차량에 장착하여 640x480 해상도로 실시간 주행 실험을 진행였다. 라즈 베리 파이2, CPU 900MHz, 1GB RAM, 라즈베리 파이 전용 운영체제 라즈비안 환 경에서 OpenCV를 포팅하여 시뮬레이션을 진행하였다.

(a) 차량후면 (b) 비차량 그림 26. 학습 데이터

그림 26은 차량 유무 판별에 대한 자동차 영상과 비 자동차 영상의 일부를 나타 내었다. 실험 영상은 차량후면 353장과 비차량 450장으로 전체 803장을 구성하 였으며, 학습에 사용된 502장의 영상(차량 202장, 비차량 300장)과 학습에 사용 하지 않은 301장의 영상(차량 151장, 비차량150장)으로 성능을 평가하였다. 검출 윈도우의 크기로 정규화 하기 위해 128x128 이미지를 24x24 크기로 정규화하였 다.

- 39 -

제2절 제안하는 운전자보조시스템 결과

(a)

(b)

(c)

그림 27. 실험 결과

- 40 -

표 5. 차선인식 실험결과 Data

Set

Total Frames

True detection

Flase detection

Detection Rate(%)

Set1 1,460 1,410 50 96.57

Set2 1,460 1,405 55 96.23

Set3 1,460 1,385 75 94.86

Set4 1,460 1,392 68 95.34

Set5 1,460 1,398 62 95.75

Set6 1,460 1,399 61 95.82

Set7 1,460 1,412 48 96.71

Set8 1,460 1,406 54 96.30

Set9 1,460 1,401 59 95.95

Set10 1,460 1,388 72 95.06

Average detection rate 95.85

그림 27은 제안하는 시스템의 결과로 차선인식과 차량인식 결과 영상이다. 그림 27 (a), (b)는 정방향 주행일 경우 차선과 차량을 인식하는 상황이며 차선인식 실 험 결과를 표 5에 나타내었다. 그림 27 (c)는 우측으로 차선을 변경하는 상황으로 운전자에게 경고 신호를 알려주고 있다. 차선이탈 경고 알림은 좌, 우 차선 간의 거리, 차선의 두께 등 항상 일정하며 차량이 차선을 변경할 때 차선의 기울기가 변 하는 정보를 이용하여 차선이탈을 판단하였다. 본 실험에서는 차선이탈 판단 기준 으로 좌측 차선은 40°~70°로 우측 차선은 130°~160°로 설정하였다.

- 41 -

본 논문에서는 기존의 알고리즘과의 성능 비교를 위하여 이수영[40]의 제안한 방법과 본 논문에서 제안한 방법을 실험에 사용된 라즈베리 파이에 시뮬레이션을 진행하였고 이를 표 6에 나타내었다.

표 6. 기존 차선인식 알고리즘과 제안한 방법의 성능 비교

비교내용 이수영[40] 제안한 방법

처리시간(sec/frame) 0.0799 0.0599

차선인식 가능여부

실선 O O

점선 X O

인식률 91.95% 96.71.%

먼저 처리시간 결과 이수영은 0.0799(sec/frame), 본 논문에서 제안하는 방법 으로 0.0599(sec/frame), 약 1.3배가 차이가 났다. 이는 고정 관심 영역 설정으 로 인한 차선 외에 잡음들로 인한 추가 처리연산 시간이 증가한 것을 확인하였다.

(a) 이수영[40] 결과

- 42 -

(b) 제안한 방법 결과

(c) 이수영[40] 결과

(d) 제안한 방법 결과 그림 28. 기존연구와의 비교결과I

- 43 -

또한, 이수영은 명암성분을 이용해 이진화하여 차선을 검출하는 것으로 역광, 어 두운 곳이 섞여 있는 영상은 본 논문에서 제안한 방법보다 검출률이 떨어지는 것 을 확인하였으며 비교영상을 그림 28 (a), (b)에 나타내었다. 또한, 이수영은 실선 에서 인식은 가능하지만 허프 변환에서 모든 부영역에 걸쳐 차선이 나타나지 않으 므로 점선은 차선으로 인식되지 않는 오류의 가능성이 있다면서 향후 해결과제로 언급하였으며 비교 영상을 그림 28 (c), (d)에 나타내었다. 본 논문에서는 역광, 어두운 곳 같은 다양한 조명환경, 실선, 점선 등 다양한 도로환경에서 수행한 결과 로 제안하는 방법의 검출 성능이 더 뛰어나다고 판단된다.

표 7. 차량인식 실험결과 (TP: True Positive, FP: False Positive)

학습영상 비학습영상 전체 영상

차량 202(TP)

비차량 300(FP)

차량 151(TP)

비차량 150(FP)

차량 353(TP)

비차량 450(FP) 99% 3.70% 95.36% 6.66% 97.43% 4.67%

차량인식의 성능을 평가하기 위하여 학습에 사용된 502장의 영상(차량 202장, 비차량 300장)으로 분류기를 적용한 결과 99%의 인식률을 얻을 수 있었다. 학습 에 사용하지 않은 301장의 영상(차량 151장, 비차량 150장)으로는 95.36%의 성 능을 보였다. 전체 영상에서는 97.43%의 인식률을 보였으며 결과를 표 7에 나타 내었다.

- 44 -

표 8. Haar-like 특징에 따른 분류 성능 비교

비교내용 Tomazas[41] 제안한 방법(A) 제안한 방법(B)

사용된 Haar-like 특징 14개 14개 4개

처리시간(sec/frame) 0.1299 0.1999 0.0799

인식률 98% 98% 95%

본 논문에서는 기존의 차량인식 알고리즘과의 성능 비교를 위하여 구글 코드에 서 Tomazas[41]의 공개 소스 바탕으로 제안한 방법과 본 논문에서 제안한 방법 을 비교 실험하였고 그 결과를 표 8에 나타내었다. 제안한 방법(A)는 Tomazas처 럼 Haar-like 특징을 동일한 조건으로 사용하여 실험을 진행하였고, 제안한 방법 (B)는 그림 23처럼 4개의 특징을 사용한 조건으로 실험하였다. 차량 학습 데이터 는 구글 코드에서 Tomazas가 제공한 데이터를 이용하였으며 이는 California Institute of Technology SURF project에 사용된 데이터이다. 차량인식 성능 비교 는 학습에 사용하지 않은 100장의 차량 후면 영상으로 비교 실험하였고 그림 29 에 결과 영상을 나타내었다. Tomazas의 경우 0.1299(sec/frame)의 처리시간과 98% 인식률을 보였다. 제안한 방법(A)의 경우 그림 21처럼 14개의 모든 특징을 사용한 결과로 0.1999(sec/frame)의 처리시간과 Tomazas와 동일한 98%의 인식 률을 보였다. 반면 제안한 방법(B)의 경우 그림 23처럼 4개의 특징을 사용한 결 과로 0.0799(sec/frame)의 빠른 처리시간과 95%의 인식률을 보였다. 제안한 방 법(B)는 제안한 방법(A)보다 처리시간은 빠르지만 Tomazas와 제안한 방법(A)보 다 적게 사용된 Harr-like 특징으로 인해 3%의 낮은 인식률을 보였다. 실험분석 결과 여러 특징 사용으로 처리시간이 오래 걸리지만 여러 특징이 사용된 만큼 높 은 인식률을 보인 것으로 분석된다.

- 45 -

(a) Tomazas 결과

(b) 제안한 방법(A) 결과

(c) 제안한 방법(B) 결과 그림 29. 기존 연구와의 비교결과II

그림 30. 잘못 인식된 경우

- 46 -

하지만 무작정 많은 특징과 특징 크기를 사용하는 것은 차량으로 잘못 인식하는 경우가 발생한다. 그림 30은 1대의 차량이 아닌 여러대의 차량으로 잘못 인식한 결과 영상으로 무작정 많은 특징과 특징 크기를 사용하는 것은 처리시간이 증가하 게 된다. 또한, 차량으로 오인식하는 경우가 발생하기 때문에 검출하려는 객체의 적절한 특징을 사용하는 것이 바람직하다.

표 9. 라즈베리 파이와 PC 성능 비교 결과

비교내용 PC 라즈베리 파이 2 라즈베리 파이 B+

CPU Intel Core-i5 2.67GHz

ARM A7 900MHZ

ARM 11 700MHZ

RAM 4GB 1GB 500MB

운영체제 Windows7 Raspbian Raspbian CPU 사

최소 25% 29% 71%

최대 29% 32% 76%

처리시간

(sec/frame) 0.0520 0.1599 0.6735

표 9는 운전자보조시스템의 성능을 비교하기 위해 PC와 라즈베리파이 2, 그리 고 라즈베리 파이 B+의 성능비교를 나타내었다. PC는 Intel Core-i5 2.67GHz의 CPU와 4GB의 RAM이 장착된 Windows 7 기반의 PC에서 처리하였다. 제안한 시 스템을 실행할 경우 PC의 CPU 순간 사용은 최소 25%, 최대 29%, 라즈베리 파 이 2의 경우 최소 29%, 최대 32%, 라즈베리 파이 B+의 경우 최소 71%, 최대 76%로 확인하였다. 처리시간은 PC의 경우 0.0520(sec/frame), 라즈베리 파이 2 의 경우 0.1599(sec/frame) 그리고 라즈베리 파이B+의 경우 0.6735(sec/frame) 로 PC가 라즈베리 파이 2보다 약 3배 정도의 빠른 처리시간을 보였다. 라즈베리 파이는 PC에 비해 제한된 메모리와 하드웨어 사양을 갖고 있지만, 휴대성과 비용

- 47 -

을 비교해볼 때 충분히 차량 전자장치의 소형화, 임베디드화 할 수 있는 최적의 조 건이라고 판단된다.

표 10. 오픈소스 하드웨어 기반 운전자보조시스템 구성 및 비용

구성 무게 및 크기 가격

7인치 터치스크린 디스플레이

350g

194 x 110 x 20 (mm) 90,000원

웹카메라 (Logitech c525)

83g

38 x 67 x 13 (mm) 60,000원

라즈베리 파이2

45g

85 x 56 x 17 (mm) 50,000원

총 금액 200,000원

국내 완성차업체에서 상용화되고 있는 운전자보조시스템은 고가의 가격인 만큼 소비자에게 부담될 수밖에 없다. 이를 해결하기 위해 오픈소스 하드웨어 기반으로 운전자보조시스템을 구현하였으며 이에 대한 구성과 비용 등을 표 10에 나타내었 고 실제 차량에서 장착 후 실시간 작동 영상을 그림 31에 나타내었다. 본 논문에 서는 약 200,000원으로 운전자보조시스템을 구현하였으며, 국내 완성차업체에서 상용화되고 있는 운전자보조시스템에 비해 10배 이상의 비용절감 효과가 있다.

- 48 -

그림 31. 실제차량에서 실시간 작동 영상

또한, 표 10에 구성된 장비를 차량에 장착하여 640x480 해상도로 일반도로에 서 실시간 실험을 통해 성능을 검증하였다. 다만 본 논문에서는 제한된 메모리와 하드웨어 사양을 가진 라즈베리 파이의 성능을 고려하여 영상처리 결과에 대한 추 적기법, 날씨, 조도 등 환경변화에 대해서는 고려하지 않았기 때문에 해결과제로 남아있다. 신용카드 정도의 크기, 5만 원의 저렴한 가격, 그 외 LCD 디스플레이, 웹 카메라 구성으로 누구나 운전자보조시스템을 구현할 수 있다. 이는 기존에 전자 장치가 차량에서 차지하는 무게, 공간 그리고 비용을 해결할 수 있다. 또한 기본적 인 지식만 있다면 누구나 쉽게 구현할 수 있고 사용자가 원하는 운전자보조시스템 을 적용할 수 있다. 이를 통한 응용기술로서 지능형 자동차 분야의 차선이탈경고시 스템, 전방차량충돌방지시스템으로 충분히 응용될 가능성을 확인하였다.

- 49 -

제5장 결론

최근 자동차는 첨단 전자장치를 내장한 지능형 자동차로 발전하면서 자동차를 구성하는 기계적인 시스템들이 전기, 전자 시스템으로 바뀌고 있다. 지능형 자동차 기술이 점차 보편화되면서 차량에 더욱 많은 전자장치들이 연결되고 연결된 전자 장치들이 상호 연동을 통해 결합되고 있는 추세이다. 이처럼 자동차 내에 수많은 전자장치의 사용증가는 새로운 전자제어장치의 필요성까지 대두되고 있다. 이처럼 수많은 전자장치가 제대로 돌아갈 수 있는 임베디드 시스템의 중요성이 높아질 수 밖에 없는 배경이다. 하지만 차량에 장착되는 전자장치와 전자장치들을 연결하는 모듈과 배선들이 늘어나게 된다. 이는 차량의 무게로 인한 연비저하와 고장 발생 증가로 이어진다. 또한, 공간을 많이 차지할 뿐 아니라 비용이 많이 발생한다. 본 논문은 지능형 자동차에 요구되는 기술 중 운전자보조시스템 구현을 통해 최소한 의 전자장치에 더 많은 소프트웨어 기능을 통합하는 방법으로 전자장치들이 차량 에서 차지하는 공간과 무게 그리고 비용에 대한 문제점을 오픈소스 하드웨어를 이 용하여 해결하고자 하였다.

차선인식과 차량인식에 관해서는 기존에 많은 연구가 있었지만 오픈소스 하드웨 어 플랫폼에 적용된 사례는 아직 없는 상황이다. 본 논문에서는 제한된 메모리 자 원과 계산능력을 갖는 오픈소스 하드웨어 플랫폼을 이용한 운전자보조시스템을 제 안하였다. 운전자보조시스템 기술 중 도로주행 중에 발생할 수 있는 운전자 부주의, 졸음 및 충돌 등 사고에 대비해서 운행 중 차선을 인식하고 차선이탈 시 경고를 알리는 차선인식 시스템과 전방에 존재하는 차량을 인식하여 차량충돌을 예방하는 차량인식 시스템을 구현하였다. 차선인식에 필요한 영역만을 다중 관심 영역을 설 정하여 연산시간을 줄이고 인식성능을 높였다. 전처리를 통해 차선 후보를 검출하 고 허프 변환을 통해 후보 직선 중 최댓값을 검출하여 하나의 직선만을 대표값으 로 선택하여 차선을 인식한다. 차선의 거리, 두께, 기울기 변환 등 차선에 대한 정 보를 이용하여 차선이탈 시 운전자에게 경고 신호를 발생시켜 사고를 예방할 수 있다. 차량에 대한 인식은 자동차에서 가장 두드러지게 검출 가능한 자동차의 외곽

문서에서 저작자표시 (페이지 47-67)

관련 문서