KR101869266B1 - 극한 심층학습 기반 차선 검출 시스템 및 그 방법 - Google Patents

극한 심층학습 기반 차선 검출 시스템 및 그 방법 Download PDF

Info

Publication number
KR101869266B1
KR101869266B1 KR1020170057191A KR20170057191A KR101869266B1 KR 101869266 B1 KR101869266 B1 KR 101869266B1 KR 1020170057191 A KR1020170057191 A KR 1020170057191A KR 20170057191 A KR20170057191 A KR 20170057191A KR 101869266 B1 KR101869266 B1 KR 101869266B1
Authority
KR
South Korea
Prior art keywords
layer
image
elm
learning
extreme
Prior art date
Application number
KR1020170057191A
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 경북대학교 산학협력단
Priority to KR1020170057191A priority Critical patent/KR101869266B1/ko
Application granted granted Critical
Publication of KR101869266B1 publication Critical patent/KR101869266B1/ko

Links

Images

Classifications

    • 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
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • G06K9/00798
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 CNN 알고리즘의 차선 검출 성능을 유지하면서 학습 시간은 단축할 수 있는 극한 심층학습을 통해 심층학습 영상 생성을 위한 가중치 값을 생성하고, 라인 상태가 심층학습 조건을 만족하는 차량 전방 영상에 대해서는 심층학습 영상을 통한 차량 검출처리를 수행하도록 함으로써, 보다 정확하게 차선을 검출할 수 있도록 해 주는 극한 심층학습 기반차선 검출 시스템 및 그 방법에 관한 것이다.
본 발명에 따른 극한 심층학습 기반차선 검출 시스템 및 그 방법은 차량에 설치된 촬영 장치를 통해 제공되는 차량 전방 영상에 대하여 직선 라인들로 이루어지는 전처리 영상을 생성하는 전처리부와, 상기 전처리부를 통해 제공되는 전처리 영상을 분석하여 직선 라인 상태가 기 설정된 심층 학습 대상 조건을 만족하는지를 판단하는 라인 상태 분석부, 다수의 입력 영상에 대해 극한 심층 학습 알고리즘에 따른 심층 학습 매개변수 값을 산출함과 더불어, 심층 학습 조건을 만족하는 심층 학습 대상 영상에 대하여 심층 학습 결과값이 적용된 극한 심층 학습 알고리즘 수행을 통한 심층 학습 결과 영상을 생성하는 심층 학습 처리부 및, 심층 학습 조건을 만족하지 않는 전처리 영상 및 심층 학습 영상에 대하여 RANSAC(Random sample consensus) 알고리즘을 통한 차선 검출처리를 수행하는 차선 검출부를 포함하여 구성되고, 상기 극한 심층 학습 알고리즘은 제1 C(convolution)층 연산과 제1 S(subsampling)층 연산, 제2 C(convolution)층 연산, 제2 S(subsampling)층 연산, 제3 C(convolution)층 연산 및, F(fully connected)층 연산이 순차로 이루어지는 CNN(Convolutional Neural Network) 구조에서, 상기 제1 S(subsampling)층과 제2 C(convolution)층 사이와, 제2 S(subsampling)층과 제3 C(convolution)층 사이에 의사역행렬을 사용하여 한 번의 연산으로 인접한 S(subsampling)층과 C(convolution)층 사이의 은닉층에 대한 가중치를 산출하는 제1 및 제2 ELM(Extreme Learning Machine)층을 각각 추가 삽입하여 입력 영상에 대한 심층 학습 연산처리를 수행하도록 구성되는 것을 특징으로 한다.

Description

극한 심층학습 기반 차선 검출 시스템 및 그 방법{Lane detection system based on extream learning convolutional neural network and method thereof}
본 발명은 라인 상태가 심층학습 조건을 만족하는 차량 전방 영상에 대해서는 CNN 알고리즘의 차선 검출 성능을 유지하면서 학습 시간은 단축할 수 있는 극한 심층학습을 수행한 후 차량 검출처리를 수행함으로써, 보다 신속하고 정확하게 차선을 검출할 수 있도록 해 주는 극한 심층학습 기반차선 검출 시스템 및 그 방법에 관한 것이다.
IT 기술이 융합된 지능형 자동차에 대한 관심이 높아지면서, 이에 대한 연구가 활발하게 진행되고 있다. 특히, 사고의 위험을 줄이기 위하여 차선 이탈경보(LDWS: Lane Departure Warning System), 전방/측면차량 충돌경보, 보행자 충돌경보 등을 운전자에게 제공하는 첨단 안전 자동차(ASV: Advanced Safety Vehicle) 기술은 지능형 자동차 기술의 기초가 되는 것으로, 현재 많은 연구와 기술 개발이 이루어지고 있다.
특히, 도로에 대한 컬러 영상으로부터 차선을 검출하는 기술은 첨단 안전 자동차(ASV) 기술의 핵심 기술로서, 영상 센서를 이용한 비전(vision) 기반의 차선 검출 방법이 가장 널리 활용되고 있다.
비전 기반의 차선 검출 방법으로는 RANSAC(Random sample consensus) 알고리즘이 주로 사용된다. 상기 RANSAC 알고리즘은 데이터 셋(set)에서 랜덤하게 임의 샘플 데이터를 선택하고, 이를 근거로 모델을 예측하여 최적의 모델을 선택하는 알고리즘이다. 이때, 차선을 포함하는 관심영역(ROI)에서 선의 시작점 및 끝점을 제한적으로 설정함으로써, 상대적으로 적은 반복 횟수 만으로도 빠르게 차선을 검출할 수 있다.
그러나, 상기한 RANSAC 알고리즘은 여러개의 선이 존재하거나 선이 지워진 경우 다른 선을 차선으로 검출하는 경우가 발생하는 문제가 있다.
최근에는 신경망 이론 중 딥 러닝(deep learning) 방법 중 인간의 눈의 구조를 모방해서 만들어진 형태의 합성곱 신경망 (Convolutional Neural Network : 이하 CNN 이라 칭함) 알고리즘이 최고 성능을 내고 있는 알고리즘으로, 이를 이용하여 차선을 검출하는 방법이 제안되고 있다.
CNN은 인간의 시신경이 시각 피질로 가는 일련의 과정을 모방해서 만들어진 알고리즘이다. 시각 피질에는 단순세포와 복잡세포로 구성되어 있으며, 단순세포는 국소적 수용영역(local receptive fields)을 가지고 있으며 이로 인해 눈으로 들어간 이미지가 윤곽선 형태로 계산되어진다. 따라서 이 단순세포의 역할을 convolution으로 대체하여 convolution 층(이하, C층 이라 칭함)을 사용한다. 복잡세포의 경우 단순세포에서 계산된 수용영역의 값을 합쳐서 표현하므로, CNN에서는 이것을 subsampling 층으로 사용한다. subsampling 층(이하, S층 이라 칭함)에서는 보통 평균값이나 최대값을 이용하는데, 일반적으로 최대값을 이용한 형태가 좀 더 좋은 성능을 가진다고 보고 있다. CNN은 이러한 C층과 S층을 번갈아 가면서 여러 개의 특징 맵을 사용하여 연산을 수행함으로써, 특징 맵의 크기를 줄여가는 형태이다. 그리고 마지막 단계에서는 각각의 특징 맵에서 하나의 데이터가 얻어지며 이것을 일반적인 신경망의 뉴런을 연결하는 형태로 사용하게 된다. 따라서 이층은 완전 연결층 (fully connected layer. 이하, F층 이라 칭함)이라고 불리며 최종적으로 C와 S층에서 얻어지는 값이 F층을 통과함으로써, 결과 즉 차선 검출 영상이 얻어지게 된다. 상기한 과정이 일반적인 CNN의 순방향(forward) 과정이며 도1에 나타나 있다.
도1에 도시된 바와 같이 CNN의 구조에서 입력 영상은 차선 영상으로부터 획득한 윤곽선 영상을 사용한다. CNN 알고리즘에서는 입력 영상이 들어가면 C층과 S층이 번갈아가며 연산 되며, 각 층을 지나며 이미지 사이즈는 감소하고 특징 맵의 개수는 늘어나게 된다. 따라서 마지막 3번째 C층을 통과 할 경우 특징 맵의 사이즈는 1이 되므로 이러한 값 각각을 뉴런으로 본다. 이러한 뉴런 값을 이용하여 마지막 F층은 기존의 신경망에서 사용하는 다층 퍼셉트론을 사용하여 최종 결과 즉, 차선 영상을 얻게 된다.
도1에서 사용된 CNN은 3개의 C층과 2개의 S층 및 MLP(2개의 F층)의 구조를 갖는 것으로, 입력 이미지는 192x28의 크기이고 C1층은 6개의 특징 맵을 사용한다. S1층에서는 가로의 비율을 1/8로 줄임으로 24x14 사이즈의 결과를 가진다. C2층은 20x10 사이즈의 16개의 특징 맵을 만들어 낸다. S2층에서는 가로의 길이가 세로의 길이의 2배이므로 가로를 1/4 크기로 줄임으로 5x5 사이즈의 결과를 가지며, C3층에서는 120개의 노드가 얻어진다. 이렇게 얻어진 노드는 MLP층를 통과하여 최종적으로 100x15인 결과 영상을 얻게 된다. 그리고, 이러한 이미지를 다시 사이즈 조정을 통해 원래 사이즈로 변환함으로써, CNN 알고리즘에 의해 보정된 차선 영상을 생성하게 된다.
이때, 상기 CNN 알고리즘에서 각 층에 대한 가중치는 역전파 방식을 이용하여 결과 값과 목표 값의 차이인 에러값을 이용하여 조절하게 된다.
그러나, CNN 알고리즘은 연산 층이 많기 때문에, 각 층에 대한 가중치를 모두 조절하기 위한 가중치 조절과정에서 상대적으로 많은 연산 반복처리를 수행하여야 한다.
즉, CNN 알고리즘은 차선 검출 성능은 양호하나 가중치 조절을 위한 연산 반복 횟수 때문에 많은 학습 시간이 요구되는 단점이 있다.
1. 한국공개특허 제10-2016-0020172호 (명칭 : 도로에서의 차선 검출 방법 및 장치) 2. 한국공개특허 제10-2013-0028610호 (명칭 : 실시간 차선 검출 장치 및 방법과 이에 관한 기록매체)
이에, 본 발명은 상기한 사항을 감안하여 창출된 것으로, 라인 상태가 심층학습 조건을 만족하는 차량 전방 영상에 대해서는 극한 심층학습을 수행한 후 차량 검출처리를 수행하되, 극한 심층학습은 CNN 알고리즘에서 C층과 S층에 대한 연산을 수행하지 않고, S층과 C층 사이에서 ELM 연산을 수행하도록 구성함으로써, 보다 신속하고 정확하게 차선을 검출할 수 있도록 해 주는 극한 심층학습 기반 차선 검출 시스템 및 그 방법을 제공함에 그 기술적 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 일측면에 따르면, 차량에 설치된 촬영 장치를 통해 제공되는 차량 전방 영상에 대하여 직선 라인들로 이루어지는 전처리 영상을 생성하는 전처리부와, 상기 전처리부를 통해 제공되는 전처리 영상을 분석하여 직선 라인 상태가 기 설정된 심층 학습 대상 조건을 만족하는지를 판단하는 라인 상태 분석부, 다수의 입력 영상에 대해 극한 심층 학습 알고리즘에 따른 심층 모델의 매개변수값을 조절함과 더불어, 심층 학습 조건을 만족하는 심층 학습 대상 영상에 대하여 심층 학습에 의해 조절된 매개변수 값을 적용하여 극한 심층 학습 알고리즘을 수행함으로써, 심층 학습 결과 영상을 생성하는 심층 학습 처리부 및, 심층 학습 조건을 만족하지 않는 전처리 영상 및 심층 학습 영상에 대하여 RANSAC(Random sample consensus) 알고리즘을 통한 차선 검출처리를 수행하는 차선 검출부를 포함하여 구성되고, 상기 극한 심층 학습 알고리즘은 제1 C(convolution)층 연산과 제1 S(subsampling)층 연산, 제2 C(convolution)층 연산, 제2 S(subsampling)층 연산, 제3 C(convolution)층 연산 및, F(fully connected)층 연산이 순차로 이루어지는 CNN(Convolutional Neural Network) 구조에서, 상기 제1 S(subsampling)층과 제2 C(convolution)층 사이와, 제2 S(subsampling)층과 제3 C(convolution)층 사이에 의사역행렬을 사용하여 한 번의 연산으로 인접한 S(subsampling)층과 C(convolution)층 사이의 은닉층에 대한 가중치를 산출하는 제1 및 제2 ELM(Extreme Learning Machine)층을 각각 추가 삽입하여 입력 영상에 대한 심층 학습 연산처리를 수행하도록 구성되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템이 제공된다.
또한, 상기 라인 상태 분석부는 전처리 영상에서 3개 이상의 라인이 존재하거나, 이전 프레임과 현재 프레임에서의 라인 위치가 다르거나, 이전 프레임과 현재 프레임에서의 소실점 위치가 다른 조건을 만족하는 경우, 해당 전처리 영상을 심층 학습 대상 영상으로 판단하는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템이 제공된다.
또한, 상기 심층 학습 처리부는 상기 C(convolution)층과 S(subsampling)층 및, ELM(Extreme Learning Machine)층 가중치에 대한 초기값을 임의로 설정한 상태에서, 순방향 경로에서 전처리 영상과 F(fully connected)층 출력영상간의 에러가 최소가 되는 역전파 에러값을 근거로 해당 ELM(Extreme Learning Machine)층에 대한 가중치를 산출함으로써, 심층 학습 매개변수 값을 설정하도록 구성되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템이 제공된다.
또한, 상기 C(convolution)층과 S(subsampling)층에 대한 가중치는 초기값으로 고정 설정되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템이 제공된다.
또한, 상기 심층 학습 처리부는 ELM(Extreme Learning Machine)층에 대한 가중치를 설정한 상태에서 F(fully connected)층 에러값이 기 설정된 임계치 미만이 될 때까지 의사역행렬을 사용하여 ELM(Extreme Learning Machine)에 대한 가중치 업데이트 처리를 반복적으로 수행하여 심층 학습 매개변수 값을 결정하도록 구성되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템이 제공된다.
또한, 상기 ELM(Extreme Learning Machine)층에 대한 가중치는 하기 수학식을 통해 산출되고,
Figure 112017043561157-pat00001
여기서, Ti 는 ELM(Extreme Learning Machine)층의 은닉층으로, 이는 하기 수학식과 같이 추정되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템이 제공된다.
Figure 112017043561157-pat00002
여기서, Xc(i+1) 은 순방향 경로에서 인접 C(convolution)층으로 입력영상이 들어갔을 때 C층에 남아 있는 값이고, δc(i+1)은 역전파 경로에서 인접 C(convolution)층의 에러값이며, a는 희망하는 출력을 위한 가중치 상수이고, b는 추정 오차.
또한, 상기 제1 내지 제3 C(convolution)층과, 제1 및 제2 S(subsampling)층 및, 제1 및 제2 ELM(Extreme Learning Machine)층 가중치에 대한 초기값은 "-1 ~ +1" 범위의 값으로 설정되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템이 제공된다.
또한, 상기 목적을 달성하기 위한 본 발명의 또 다른 일측면에 따르면, 심층 학습 장치에서 다수의 입력 영상에 대해 극한 심층 학습 알고리즘에 따른 심층 학습 매개변수 값을 산출하는 심층 학습 단계와, 심층 학습 장치에서 차량에 설치된 촬영 장치를 통해 제공되는 입력 차선 영상에 대하여 직선 라인들로 이루어지는 전처리 영상을 생성하는 전처리 단계, 상기 전처리부 단계를 통해 제공되는 전처리 영상을 분석하여 직선 라인 상태가 기 설정된 심층 학습 대상 조건을 만족하는지를 판단하는 라인 상태 판단단계, 심층 학습 조건을 만족하는 심층 학습 대상 영상에 대하여 상기 심층 학습 단계에서 산출된 심층 학습 매개변수 값이 적용된 극한 심층 학습 알고리즘 수행을 통하여 심층 학습 결과 영상을 생성하는 심층 학습 처리 단계 및, 상기 라인 상태 판단단계에서 심층 학습 조건을 만족하지 않는 전처리 영상 또는 상기 심층 학습 처리단계로부터 제공되는 심층 학습 결과 영상에 대하여 RANSAC(Random sample consensus) 알고리즘을 통한 차선 검출처리를 수행하는 차선 검출 단계를 포함하여 구성되고, 상기 심층 학습 단계와 심층 학습 처리 단계에서 이루어지는 극한 심층 학습 알고리즘은 제1 C(convolution)층 연산과 제1 S(subsampling)층 연산, 제2 C(convolution)층 연산, 제2 S(subsampling)층 연산, 제3 C(convolution)층 연산 및, F(fully connected)층 연산이 순차로 이루어지는 CNN(Convolutional Neural Network) 구조에서, 상기 제1 S(subsampling)층과 제2 C(convolution)층 사이와, 제2 S(subsampling)층과 제3 C(convolution)층 사이에 의사역행렬을 사용하여 한 번의 연산으로 인접한 S(subsampling)층과 C(convolution)층 사이의 은닉층에 대한 가중치를 산출하는 제1 및 제2 ELM(Extreme Learning Machine)층을 각각 추가 삽입하는 구조로 이루어짐으로써, 입력 영상에 대한 심층 학습 연산처리를 수행하도록 구성되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법이 제공된다.
또한, 상기 라인 상태 판단단계는 전처리 영상에서 3개 이상의 라인이 존재하거나, 이전 프레임과 현재 프레임에서의 라인 위치가 다르거나, 이전 프레임과 현재 프레임에서의 소실점 위치가 다른 조건을 만족하는 경우, 해당 전처리 영상을 심층 학습 대상 영상으로 판단하는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법이 제공된다.
또한, 상기 심층 학습 단계는, 상기 극한 심층 학습 알고리즘 구조에서 상기 C(convolution)층과 S(subsampling)층 및, ELM(Extreme Learning Machine)층 가중치에 대한 초기값을 임의로 설정하는 제1 단계와, 순방향 경로에서의 F(fully connected)층 출력 영상과 전처리 영상간의 차에 대응되는 출력 에러를 산출하는 제2 단계, 의사역행렬을 이용하여 제2 단계에서 F(fully connected)층 출력 에러가 최소가 되는 제1 ELM층에 대한 가중치를 산출하여 설정하는 제3 단계, 제3 단계에서 제1 ELM(Extreme Learning Machine)층에 대한 가중치가 변경 설정된 상태에서, 순방향 경로에서의 F(fully connected)층 출력 영상과 전처리 영상간의 차에 대응되는 출력 에러를 산출하는 제4 단계 및, 의사역행렬을 이용하여 제4 단계에서 F(fully connected)층 출력 에러가 최소가 되는 제2 ELM(Extreme Learning Machine)층에 대한 가중치를 산출하여 설정하는 제5 단계를 포함하여 구성되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법이 제공된다.
또한, 상기 제5 단계에서 제2 ELM(Extreme Learning Machine)층에 대한 가중치가 설정된 상태에서, F(fully connected)층 출력 영상에 대한 에러값이 기 설정된 임계치보다 작은 경우, 상기 제1 내지 제5 단계를 반복 수행하여 F(fully connected)층 출력 영상에 대한 에러값이 기 설정된 임계치 미만인 때의 가중치를 심층 학습 최종 매개변수 값으로 설정하는 제6 단계를 추가로 포함하여 구성되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법이 제공된다.
또한, 상기 제1 및 제2 ELM(Extreme Learning Machine)층에 대한 가중치는 하기 수학식을 통해 산출되고,
Figure 112017043561157-pat00003
여기서, Ti 는 ELM(Extreme Learning Machine)층의 은닉층으로, 이는 하기 수학식과 같이 추정되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법이 제공된다.
Figure 112017043561157-pat00004
여기서, Xc(i+1) 은 순방향 경로에서 인접 C(convolution)층으로 입력영상이 들어갔을 때 C층에 남아 있는 값이고, δc(i+1)은 역전파 경로에서 인접 C(convolution)층의 에러값이며, a는 희망하는 출력을 위한 가중치 상수이고, b는 추정 오차.
또한, 상기 제1 내지 제3 C(convolution)층과, 제1 및 제2 S(subsampling)층 및, 제1 및 제2 ELM(Extreme Learning Machine)층 가중치에 대한 초기값은 "-1 ~ +1" 범위의 값으로 설정되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법이 제공된다.
본 발명에 의하면, 차량 전방 영상에 대해 심층학습 조건을 만족하는 차량 전방 영상에 대해서는 극한 심층학습을 수행한 후 차선 검출처리를 수행함으로써, 차량 영상의 차선 상태에 상관없이 정확한 차선 검출이 가능하게 된다.
또한, 극한 심층학습은 CNN 알고리즘에서 C층과 S층에 대한 연산을 수행하지 않고, S층과 C층 사이에서 ELM 연산을 수행하도록 구성된 것으로, 차선 모델에 대한 학습 진행을 보다 신속하게 진행할 수 있게 된다.
도1은 일반적인 CNN 알고리즘을 구조화하여 나타낸 도면.
도2는 본 발명의 제1 실시예에 따른 극한 심층학습 기반 차선 검출 시스템의 구성을 도시한 도면.
도3은 도2에 도시된 차선상태 판단부(220)에서 심층학습 대상 조건에 해당하는 차선 상태를 예시한 도면.
도4는 도2에 도시된 차선 검출부(240)에서 RANSAC 알고리즘에 의한 차선 검출 과정을 설명하기 위한 도면.
도5는 도2에 도시된 심층학습 처리부(230)에서 극한 심층학습(ELCNN) 알고리즘을 구조화하여 나타낸 도면.
도6과 도7은 도5에 도시된 극한 심층학습 알고리즘에서 ELM 층 출력 가중치를 설정 과정을 설명하기 위한 도면.
도8은 도2에 도시된 극한 심층학습 기반 차선 검출 시스템의 동작을 설명하기 위한 흐름도.
도9는 도8에 도시된 극한 심층 학습 영상 생성 과정(ST500)을 설명하기 위한 흐름도.
도10은 RANSAC 차선 검출 결과를 예시한 도면.
도11은 도10 (b)의 전처리 영상에 대해 ELCNN 알고리즘을 통해 차선 보정된 심층 학습 영상을 이용한 차선 검출 과정을 예시한 도면.
이하에서는 첨부된 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호로 나타내고 있음을 유의해야 한다. 한편, 이에 앞서 본 명세서 및 특허청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도2는 본 발명의 제1 실시예에 따른 극한 심층학습 기반 차선 검출 시스템의 구성을 도시한 도면이다.
도2에 도시된 바와 같이, 본 발명에 따른 극한 심층학습 기반 차선 검출시스템은 차량에 설치되는 시스템으로, 촬영장치(100)와 차선 검출장치(200)를 포함하여 구성된다.
촬영장치(100)는 차량의 전방을 촬영하기 위한 적절한 위치에 설치되어 차량 전방 영상을 획득하기 위한 카메라로 구현될 수 있다.
차선 검출장치(200)는 상기 촬영장치(100)로부터 제공되는 차량 전방 영상이 기 설정된 조건에 해당하는 경우에는 CNN 알고리즘에 ELM(Extreme Learning Machine)층이 결합된 형태의 극한 심층학습 알고리즘을 통해 차량 전방 영상에 대한 보정 영상을 생성하고, 이 보정 영상을 이용하여 차선 검출을 수행한다.
차선 검출장치(200)는 전처리부(210)와, 차선상태 판단부(220), 심층 학습 처리부(230) 및, 차선 검출처리부(240)를 포함하여 구성된다.
전처리부(210)는 입력 영상에 대하여 노이즈를 제거함과 더불어, 윤곽선 검출을 통해 라인 영역을 필터링한다. 즉, 전처리부(210)는 차량 전방 영상에 대해 직선 라인으로 이루어진 전처리 영상을 생성한다.
차선상태 판단부(200)는 상기 전처리부(210)를 통해 제공되는 전처리 영상을 분석하여 직선 라인 상태가 기설정된 심층 학습 조건을 만족하는지를 판단한다. 즉, 차선상태 판단부(200)는 도3에 도시된 바와 같이 전처리 영상에서 3개 이상의 직선 라인이 존재하거나(a), 이전 프레임과 현재 프레임에서의 직선 라인 위치가 다르거나(b), 이전 프레임과 현재 프레임에서의 직선 라인들에 대한 소실점 위치가 다른 경우(c), 해당 영상을 심층 학습 대상 영상으로 판단한다.
심층 학습 처리부(230)는 다양한 심층 학습 대상 영상에 대하여 CNN 알고리즘에 ELM(Extreme Learning Machine)층이 복합적으로 결합된 구조의 극한 심층 학습 알고리즘(이하, "ELCNN 알고리즘" 이라 칭함)을 통해 가중치를 조절함으로써, 최적의 가중치 값을 포함하는 심층 학습 매개변수 및 모델을 구성한다.
또한, 상기 심층 학습 처리부(230)는 차량 운전중 수집된 심층 학습 대상 영상에 대해서는 ELCNN 알고리즘을 통해 산출된 최적의 심층 학습 매개변수 값을 적용하여 해당 심층 학습 대상 영상에 대한 심층 학습을 수행함으로써 보정 영상 즉, 심층 학습 결과 영상을 생성한다.
차선 검출처리부(240)는 심층 학습 대상 영상이 아닌 전처리 영상 및 상기 심층 학습 처리부(230)에서 생성된 심층 학습 결과 영상에 대해 RANSAC 알고리즘을 통한 일련의 차선 검출처리를 수행한다.
상기 RANSAC 알고리즘은 먼저 주어진 데이터 셋에서 임의로 모델을 만들고, 이 모델이 실제 데이터 셋에서 얼마나 만족하는지를 근거로 모델을 결정한다. 영상처리시에는 RANSAC 알고리즘을 통해 라인을 검출할 수 있으며, 데이터 셋에서 임의로 여러 종류의 다양한 직선을 선택하고, 데이터가 가장 많이 포함되는 직선을 선택하는 방식을 이용한다.
보다 상세히 설명하면, 실제 선을 검출하기 위해서는 직선의 모델을 가정해야 한다. 이는 직선의 조건인 각도 및 한 점 또는 두 점의 정보를 가지고 있어야 정의할 수 있다. 이에, 두 점 즉, 두 개의 샘플을 통해 직선 모델을 가정한다. 도4 는 실제 차선 영상에 적용한 예이다. 차선을 포함하는 관심영역(ROI)에서 탑(top) 라인(상측 청색라인)과 바텀(bottom) 직선 라인(하측 청색라인)을 설정하고, 탑 라인에서 한 점(Random point 1) 및 바텀 라인에서 한 점(Random point 2)을 정의한 뒤 직선 방정식을 구한다. 이어, 직선 방정식을 통해 산출된 직선(녹색 라인) 주변의 일정 영역내에 있는 픽셀값을 모두 합하여 비용함수를 산출하고, 최대 비용함수를 갖는 직선을 차선(도4 적색 라인)으로 결정한다. 비용함수값은 하기 수학식1에 의해 산출될 수 있다.
Figure 112017043561157-pat00005
여기서, top와 bottom은 차선 영역의 위쪽과 아래쪽 라인, f(y) 는 직선의 방정식에서 주어진 y값에 따른 x 값을 나타내며, L은 고려하고자 하는 너비를 나타낸다. 이렇게 구한 직선들의 비용함수를 저장하며, 비용함수가 최대값의 80% 이하인 직선들은 제외한다. 최대값은 실제 차선의 영역을 다 포함하고 있는 경우로, 80% 이상 되는 값은 실제 차선의 영역을 포함하는 차선에 근사한 직선일 가능성이 높다. 따라서, 이렇게 걸러내고 남은 직선들은 실제 차선 또는 차선과 유사한 다른 직선(보도블럭 경계선 등)에 모이며, 이 중에서 겹치는 직선은 같은 직선을 나타낸다고 볼 수 있다. 따라서, 차선의 너비를 L이라고 하면, 2L 내에 포함되는 직선은 같은 선으로 판단하여 평균값을 취함으로써 차선을 인식한다.
한편, 도5는 도2에 도시된 심층 학습 처리부(230)에서 수행되는 ELCNN 알고리즘을 구조화하여 나타낸 도면이다. ELCNN 알고리즘은 입력 영상(Input image)에 대해 차선 라인이 보다 명확히 표현되는 심층 학습 영상(Target image)이 결과영상으로 나올 수 있도록 하는 가중치값을 포함하는 심층 학습 모델을 생성함과 더불어, 이러한 심층 학습 모델에 대응되는 가중치값을 포함하는 심층 학습 매개변수값을 적용한 상태에서 입력 영상에 대한 심층 학습 결과 영상을 생성한다.
ELCNN 알고리즘은 도5에 도시된 바와 같이, 제1 C층(C1-layer)과 제1 S층(S1-layer), 제2 C층(C2-layer), 제2 S층(S2-layer), 제3 C층(C3-layer) 및, F층(F-layer, F2-layer)이 순차로 이루어지는 CNN 구조에서, 상기 제1 S층(S1-layer)과 제2 C층(C2-layer) 사이와, 제2 S층(S2-layer)과 제3 C층(C3-layer) 사이에 의사역행렬을 사용하여 한 번의 연산으로 인접한 S층과 C층에 대한 출력 가중치를 산출하는 제1 및 제2 ELM층(ELM1 layer, ELM2 layer)을 각각 추가 삽입하여 구성된다. 이때, 상기 F층은 2개의 F층으로 구성되어 ELM 알고리즘에 따른 연산을 수행하는 ELM층으로 구현될 수 있다.
상기한 구조에서 ELCNN 알고리즘은 상기 각 C층과 각 S층 및, 각 ELM 층 가중치에 대한 초기값을 임의로 설정한다. 이때, 각 C층과 각 S층에 대한 가중치 연산은 수행하지 않고, "-1 ~ +1" 범위의 임의 초기값으로 고정 설정된다. 그리고, 순방향 경로에서 전처리 영상과 F층 출력영상간의 에러가 최소가 되는 역전파 에러값을 근거로 해당 ELM 층에 대한 출력 가중치를 산출하여 변경 설정하게 된다. 즉, 본 발명에 있어서는 각 C층과 각 S층에 대한 가중치 연산처리를 생략하고, S층과 C 층 사이에 1회의 가중치 연산처리를 수행하는 ELM층을 구성함으로써, 종래 CNN 알고리즘에 비해 보다 빠른 차선 검출이 가능하게 된다.
그리고, 각 ELM층에 대한 출력 가중치가 설정된 상태에서 상기 F층을 통해 출력되는 보정 영상을 입력 영상에 대한 심층 학습 영상으로 설정한다.
한편, 도6과 도7은 도5에 도시된 ELM층에 대한 가중치 설정과정을 설명하기 위한 도면이다.
먼저, 제1 ELM층 및 제2 ELM층은 도6 (a)에 도시된 바와 같이, 인접하는 S 층(S(i)layer)의 출력을 벡터화하여 해당 ELM층(ELM(i)layer)의 입력 데이터(Ki)로 설정하고, 인접하는 C층(C(i+1) layer) 에러값(Ti)을 근거로 ELM층(ELM(i)layer)의 출력 데이터를 설정함으로써, 해당 ELM층(ELM(i)layer)에 대한 가중치를 설정한다.
또한, F층을 ELM층으로 구성하는 경우, 도6 (b)에 도시된 바와 같이 제3 ELM층(ELM3 layer)은 인접하는 제3 C층(C(3)layer)에 대한 콘볼루션 연산을 통해 제3 ELM 입력 데이터를 설정하고, 타겟 이미지를 출력 데이터로 설정함으로써, 제3 ELM층에 대한 가중치를 설정한다.
즉, ELM층에 대해 입력 데이터와 출력 데이터가 설정된 상태에서 해당 ELM층에 대한 가중치가 산출된다.
ELM층에서의 가중치 설정 처리에 대해 보다 상세히 살펴보면,
ELM층은 도7 (a)에 도시된 바와 같이 입력 데이터와 출력 데이터를 만족하는 하나의 은닉층(h)을 포함하는 구조로 표현된다.
도7 (a)에서 입력 데이터를 x=[x1,x2, ..., xn], 타겟 데이터를 t=[t1,t2, ..., tn]라고 할 때, m 개의 노드를 갖는 은닉층(h)이 형성되고, 입력 데이터에서 은닉층(h)으로의 가중치 벡터와 스칼라 바이어스를 wi와 bi라고 할 때, 은닉층(hij)은 수학식 2와 같이 계산된다.
Figure 112017043561157-pat00006
여기서, wi와 xj 는 k번째 가중치 벡터와 입력 벡터이고, K는 입력 벡터의 크기이다.
이때, 입력 데이터는 수학식3과 같이 N×K 행렬로 정의할 수 있다.
Figure 112017043561157-pat00007
또한, 은닉층의 출력(H)은 하기 수학식4와 같이 표현될 수 있다.
Figure 112017043561157-pat00008
여기서, M은 은닉층에서 출력 벡터의 크기이고, 각 탑모스트(topmost) 출력은 하기 수학식5에 의해 산출된다.
Figure 112017043561157-pat00009
여기서, βji 는 역전파 방향 즉, 출력 노드 j에서 은닉층 i로의 가중치이다.
상기 수학식 5는 수학식6과 같은 행렬식으로 표현된다.
Figure 112017043561157-pat00010
여기서, T는 N 타겟 벡터 셋트에 대한 형렬이다.
만일 H가 정칙 행렬이라면, 최적 가중치 행렬 β는 하기 수학식7과 같이 의사역행렬 연산으로 산출될 수 있다.
Figure 112017043561157-pat00011
상기한 ELM층에 대한 연산 원리를 도5에 도시된 ELCNN 구조에 적용하면,
ELM층의 출력 데이터는 인접한 C 층의 값으로 설정되고, ELMi(i=1,2) 입력신호는 ys(i)를 의미하는 S층 출력 벡터로서 Kt로 정의한다. 이때, 인접한 C(i+1) 층은 수학식 8과 같이 설정된다.
Figure 112017043561157-pat00012
여기서, gvec 는 2차원 이미지를 1차원 벡터로 변환하는 함수이고, gmat는 벡터를 2차 행렬로 정형화하는 함수, w 는 가중치 벡터이다.
또한, 주어진 입력벡터 x에 대한 출력 y에 대한 비용함수(J)는 수학식 9와 같이 획득된다.
Figure 112017043561157-pat00013
또한, F 층 에러 값은 수학식 10과 같이 설정된다.
Figure 112017043561157-pat00014
여기서, Wt 는 해당 층에서의 가중치 벡터이고, f’은 활성화 함수의 도함수이다.
F층을 위한 C층 역전파 에러는 수학식 11과 같이 설정될 수 있다.
Figure 112017043561157-pat00015
여기서, Xci 는 Ci 번째 층의 입력 데이터이고, Yc (i) 는 고정 값으로 랜덤하게 초기화된 커널 가중치와의 콘볼루션 결과(
Figure 112017043561157-pat00016
)이다. 역전파 절차는 플립된(flipped) 콘볼루션에 의해 얻어진다.
Figure 112017043561157-pat00017
C층과 F층의 역전파 에러값의 산출은 종래 CNN 알고리즘과 같다.
그러나, S층에서 역전파는 S층과 C 층 사이에 ELM 층이 위치하기 때문에 차이가 있다.
먼저, ELM 층의 가중치가 업데이트 되지 않은 상태에서 수학식 13과 같이 S층에서의 학습 결과물이 설정된다.
Figure 112017043561157-pat00018
여기서, upsample 함수는 풀링(pooling)의 인버전(inversion)이다.
역전파 이후, ELM의 타켓 값(출력 데이터)으로 C 층의 에러값이 설정된다.
즉, 도7 (b)에 도시된 바와 같이 ELM 층은 순방향과 역방향 정보를 조합함으로써 업데이트된다.
i번째 ELM층에서의 역전파 방향의 출력 데이터는 수학식 14와 같이 근사화한다.
Figure 112017043561157-pat00019
여기서, Xc(i+1) 은 순방향 경로에서 인접 C(convolution)층으로 입력 영상이 들어갔을 때 C층에 남아 있는 값이고, δc(i+1)은 역전파 경로에서 인접 C 층의 에러값이며, a는 희망하는 출력을 위한 가중치 상수이고, b는 추정 오차이다.
즉, 역전파 에러에 기반하여 상기 수학식 14를 통해 은닉층 데이터를 추정한다. 이때, 역전파 에러는 ELM의 출력과, ELM의 은닉층 데이터 사이의 에러에 비례하기 때문에, 은닉층 데이터를 추정할 수 있다.
이어, 은닉층 데이터를 추정한 후, 의사역행렬을 이용한 1번의 반복학습으로 ELM층 학습이 수행된다.
이때, i번째 ELM 층의 순방향 방정식은 수학식 15와 같이 설정된다.
Figure 112017043561157-pat00020
여기서, 상기 수학식 15에서 역연산이 존재한다면, 최적의 βi 가 산출될 수 있다. 이때, 가중치는 수학식 16과 같은 의사역행렬을 이용하여 산출된다.
Figure 112017043561157-pat00021
여기서,
Figure 112017043561157-pat00022
는 의사역행렬 연산자이다.
ELM3(F층)역시 동일한 방법으로 가중치가 설정된다. 다만, 이때 ELM3의 입력 Xf는 C3 층 출력으로 설정되고, 타겟 T는 벡터화된 타켓 이미지가 된다.
이어, 본 발명에 따른 극한 심층학습 기반 차선 검출 방법을 설명한다. 본 발명에 따른 극한 심층학습 기반 차선 검출 방법은 크게 최적의 심층 학습 매개변수 조절 및 모델을 생성하는 심층 학습 과정(도8)과, 차선 검출 과정(도9)으로 구분된다.
먼저, 도8을 참조하여 심층 학습 매개변수 조정 및 모델을 생성하는 심층 학습 과정을 설명한다. 심층 학습 과정은 차선 검출 과정을 수행하기 이전에 미리 다양한 차선 영상들에 대한 ELCNN 학습을 통해 이루어지는 것으로, 매개변수는 각 층에 대한 가중치값을 포함한다.
도5에 도시된 바와 같은 ELCNN 알고리즘 구조에서 C층과 S층 및, ELM 층 가중치에 대한 초기값을 임의로 설정한다. 이때, 상기 각 층에 대한 가중치 초기값은 "-1 ~ +1" 범위의 값으로 설정된다.
상기한 상태에서 순방향 경로에서의 F층 출력 영상과 전처리 영상간의 차에 대응되는 에러값을 계산한다(ST110).
이어, 역전파를 이용하여 제1 C층에 대한 역전파 에러값을 계산한다(ST120). 이때, 역전파 에러값은 의사역행렬을 이용하여 계산한다.
그리고, 상기 ST120 단계에서 F층 출력 에러가 최소가 되는 상기 제1 C층 역전파 에러값을 기반으로 제1 ELM 출력 가중치를 산출함과 더불어, 제1 ELM 출력 가중치를 업데이트 한다(ST130).
상술한 바와 같이 제1 ELM 층에 대한 출력 가중치가 업데이트된 상태에서, 순방향 경로에서의 F층 출력 영상과 전처리 영상간의 차에 대응되는 출력 에러값을 산출한다(ST140).
이어, 역전파를 이용하여 제2 C층에 대한 역전파 에러값을 계산한다(ST150). 이때, 역전파 에러값은 의사역행렬을 이용하여 계산한다.
그리고, 상기 ST150 단계에서 F층 출력 에러가 최소가 되는 상기 제2 C층 역전파 에러값을 기반으로 제2 ELM 출력 가중치를 산출함과 더불어, 제2 ELM 출력 가중치를 업데이트 한다(ST160).
상술한 바와 같이 상기 ST160 단계에서 제2 ELM층에 대한 출력 가중치가 변경 설정된 상태에서, 순방향 경로에 따른 연산을 수행하여 F층 출력 에러값을 산출한다(ST170).
이때, F층 출력 영상에 대한 에러값이 기 설정된 기준 에러값(임계치) 이상인지를 판단한다(ST180).
상기 ST180 단계에서 F층 출력 영상 에러값이 기준 에러값 이상인 경우에는 상술한 ST110 내지 ST170 단계를 반복 수행하여 제1 및 제2 ELM층 출력 가중치를 변경설정하고, 이에 대한 F층 출력 영상에 대한 에러값을 산출하여 ST180 단계의 기 설정된 기준 에러값과의 비교 처리를 수행한다.
한편, 상기 ST180단계에서 F층 출력 영상 에러값이 기준 에러값 미만이라고 판단되는 경우, 현재 산출된 출력 가중치를 심층 학습 최종 가중치값으로 설정한다(ST190). 즉, 입력 영상에 대해 차선 라인 보정 영상을 생성하기 위한 최적 모델에 대응되는 최적 가중치값, 다시말해 심층 학습 매개변수 값이 ELCNN 알고리즘 구조의 각 층에 대해 설정된다.
이어, 도9를 참조하여 심층학습 기반 차선 검출 과정을 설명한다. 이 과정은 상술한 심층 학습 결과값 생성 과정을 통해 산출된 최적의 심층 학습 매개변수 값이 ELCNN 알고리즘에 적용될 상태에서 이루어진다.
먼저, 차선검출장치(200)는 촬영장치(100)로부터 차량 전방 영상이 입력되면 입력된 영상에 대해 윤곽선 검출을 통해 차선이 잘 드러날 수 있도록 전처리를 수행함으로써, 전처리 영상을 획득한다(ST210, ST220). 이때, 전처리 영상은 전방 차량 영상에서 직선 라인들로 이루어지는 이미지이다.
일반적으로 윤곽선 검출은 소벨 마스크나 캐니 마스크를 이용하지만, 본 발명에서는 모자 형태의 커널을 사용할 수 있다. 즉, 촬영장치(100)로부터 획득한 초기 영상에서 수평방향으로 잘랐을 때 나오는 이미지 픽셀과 커널에 대한 컨볼루션(convolution) 연산을 통해 윤곽선을 검출한다. 이때, 연산처리는 모자모양 커널과 수평방향으로만 수행하며, 일반적으로 차선은 회색 도로에 흰색 또는 노랑색으로 나타나는 바, 차선에 해당하는 밝은 부분은 큰 값으로 표현되고, 도로면의 어두운 부분은 작은 값으로 표현된다. 모자 모양 커널은 양단이 -1값을 가지면서 중앙부분이 +1의 값을 가지므로, 컨볼루션 연산시 커널의 +1이 차선의 밝은 부분과 겹치는 경우 큰 값으로 증가되고, -1이 도로면의 어두운 부분과 겹칠 경우 큰 값으로 감소된다. 따라서, 차선 전체 영역이 보다 밝은 값으로 선명하게 나타나도록 전처리 영상을 획득할 수 있다.
이어, 차선검출장치(200)는 전처리된 영상을 분석하여 라인 영역을 추출함과 더불어, 라인 상태가 기 설정된 기 설정된 심층 학습 조건을 만족하는지를 판단함으로써, 해당 전처리 영상이 심층 학습 대상인지를 확인한다(ST230,ST240).
상기 심층 학습 조건은
1. 전처리결과에서 3개 이상의 직선라인이 검출되었거나,
2. 전처리결과에서 이전 프레임과 현재 프레임간의 직선라인 위치가 다르거나,
3. 전처리결과에서 이전 프레임과 현재 프레임에서의 소실점 위치가 다른 경우가 될 수 있다.
즉, 상기 첫번째 조건은 영상에서 차선 분리대 또는 그림자 또는 주변 차량에서 얻어지는 선 등에 의해 검출된 선 종류가 많은 경우가 된다. 상기 두번째 조건은 주행중인 차량이 차선 이동을 하거나 횡단보도를 지나는 경우가 될 수 있다. 상기 세번째 조건은 커브길이 될 수 있다.
차선검출장치(200)는 상기 ST240 단계의 전처리 영상에 대한 조건 분석 결과 심층 학습 대상이라고 판단되면, 해당 전처리 영상에 대하여 ELCNN 알고리즘을 통한 심층 학습 결과 영상을 생성한다(ST250). 즉, 도5에 도시된 ELCNN 알고리즘 구조에 대해 도8의 과정을 통해 각 층에 대한 최적의 출력 가중치가 설정된 상태에서 입력 영상, 즉 전처리 영상에 대한 ELCNN 알고리즘 연산과정을 수행함으로써, F층 결과 영상을 입력 영상에 대한 심층 학습 결과 영상으로써 생성한다.
한편, 차선검출장치(200)는 상기 ST240 단계에서 심층 학습 대상이 아닌 것으로 판단되는 전처리 영상 또는 상기 ST250 단계에서 심층 학습 영상이 인가되면, 해당 영상에 대해 RANSAC 알고리즘을 이용하여 일련의 차선 검출을 수행한다(ST260).
도10은 RANSAC 차선 검출 결과를 예시한 도면으로, 도10에서 (a)는 차선 검출이 잘 된 경우를 나타낸 것이고, (b)는 차선 검출이 잘못된 경우를 예시한 것이다. 즉, 도(b)와 같이 3개 이상의 라인이 존재하는 전처리 영상에 대해서는 차선(녹색 라인)이 잘못 검출될 수 있다.
도11은 도10의 (b)의 전처리 영상에 대해 ELCNN 알고리즘을 통해 차선 보정된 심층 학습 결과 영상을 생성하여 차선을 검출한 경우를 나타낸 도면이다. 도11에서 (a)는 차량 전방 영상이고, (b)는 전처리 영상이며, (c)는 심층 학습 결과 영상, (d)는 심층 학습 결과 영상을 이용한 차선 검출 영상(검출 차선이 청색 라인임)이다.
즉, 도10 및 도11에 의하면, RANSAC 알고리즘만을 이용하여 차선을 검출하는 경우 발생되는 차선 검출 에러를 본 발명에 따른 ELCNN 알고리즘을 통한 심층 학습 결과 영상을 통해 보완하는 것이 가능함을 알 수 있다.
또한, 하기 표1은 두 개의 데이터 세트(KNU database, Caltech database)에서 서로 다른 3개 차량 전방 영상에 대한 알고리즘별 차선 검출 성능 실험 결과를 나타낸 것이다.
Data set
Case
Method(%)
ELM CNN ELCNN
KNU database

Case1 59.6 94.8(±0.39) 96.2(±0.44)
Case2 85.4 93.3(±0.63) 95.9(±1.44)
Case3 52.9 92.3(±1.16) 93.0(±2.78)
Caltech
database

Case1 93.8 97.5(±2.12) 98.1(±1.53)
Case2 70.0 95.0(±0.00) 100.0(±0.00)
Case3 72.5 90.0(±1.44) 96.5(±1.22)
표1에는 ELM 알고리즘과, CNN 알고리즘 및, ELCNN 알고리즘에 따른 차선 검출 성능이 나타나 있다.
표1에 의하면, CNN 알고리즘과 ELCNN 알고리즘에 따른 차선 검출 성능은 모두 90% 이상으로 양호함을 알 수 있다.
한편, 표2는 동일 단말을 이용하여 두 개의 데이터 세트(KNU database, Caltech database)에서 서로 다른 3개 차량 전방 영상에 대한 알고리즘별 차선 검출 시간에 대한 실험 결과를 나타낸 것이다.


CNN ELCNN
KNU DB Caltech DB KNU DB Caltech DB


Total training CPU time((CPU time per epoch)(number of epochs for desired accuracy))
Case1 > 1,000 hours
(36.01s/epoch ×100,000 epochs )
> 300 hours
(11.82 s/epoch ×100,000 epochs )
74~75 minutes
(44.44 s/epoch ×100 epochs )
2~3 minutes
(14.66 s/epoch ×9 epochs )
Case2 > 600 hours
(22.40s/epoch ×100,000 epochs )
> 200 hours
(7.27 s/epoch ×100,000 epochs )
121~13 minutes
(28.89 s/epoch ×25 epochs )
1~2 minutes
(9.44 s/epoch ×9 epochs )
Case3 > 700 hours
(25.96s/epoch ×100,000 epochs )
> 300 hours
(13.85 s/epoch ×100,000 epochs )
13~14 minutes
(33.37 s/epoch ×25 epochs )
7~8 minutes
(17.86 s/epoch ×25 epochs )
Total > 2,300 hours > 800 hours 99~102 minutes 10~13 minutes
표2에는 CNN 알고리즘 및, ELCNN 알고리즘에 따른 차선 검출 시간이 나타나 있다.
표2에 의하면, CNN 알고리즘은 3개 차량 전방 영상에 대한 차선 검출 소요시간이 약 2,300시간, 800시간인 것에 반하여, ELCNN 알고리즘에 따른 차선 검출 시간은 약 100 분, 12분 으로 CNN 알고리즘에 비해 훨씬 적은 차선 검출 시간이 요구됨을 알 수 있다.
즉, 본 발명에 따른 ELCNN 알고리즘을 이용하는 경우, 종래 CNN 알고리즘을 이용하여 차선을 검출하는 경우에 비하여 차선 검출 성능은 유사하면서, 보다 적은 차선 검출 학습 시간을 요구함을 알 수 있다.
100 : 촬영장치, 200 : 차선 검출장치,
210 : 전처리부, 220 : 차선상태 판단부,
230 : 심층학습 처리부, 240 : 차선 검출부.

Claims (13)

  1. 차량에 설치된 촬영 장치를 통해 제공되는 차량 전방 영상에 대하여 직선 라인들로 이루어지는 전처리 영상을 생성하는 전처리부와,
    상기 전처리부를 통해 제공되는 전처리 영상을 분석하여 직선 라인 상태가 기 설정된 심층 학습 대상 조건을 만족하는지를 판단하는 라인 상태 분석부,
    다수의 입력 영상에 대해 극한 심층 학습 알고리즘에 따른 심층 모델의 매개변수값을 조절함과 더불어, 심층 학습 조건을 만족하는 심층 학습 대상 영상에 대하여 심층 학습에 의해 조절된 매개변수 값을 적용하여 극한 심층 학습 알고리즘을 수행함으로써, 심층 학습 결과 영상을 생성하는 심층 학습 처리부 및,
    심층 학습 조건을 만족하지 않는 전처리 영상 및 심층 학습 결과 영상에 대하여 RANSAC(Random sample consensus) 알고리즘을 통한 차선 검출처리를 수행하는 차선 검출부를 포함하여 구성되고,
    상기 극한 심층 학습 알고리즘은 제1 C(convolution)층 연산과 제1 S(subsampling)층 연산, 제2 C(convolution)층 연산, 제2 S(subsampling)층 연산, 제3 C(convolution)층 연산 및, F(fully connected)층 연산이 순차로 이루어지는 CNN(Convolutional Neural Network) 구조에서, 상기 제1 S(subsampling)층과 제2 C(convolution)층 사이와, 제2 S(subsampling)층과 제3 C(convolution)층 사이에 의사역행렬을 사용하여 한 번의 연산으로 인접한 S(subsampling)층과 C(convolution)층 사이의 은닉층에 대한 가중치를 산출하는 제1 및 제2 ELM(Extreme Learning Machine)층을 각각 추가 삽입하여 입력 영상에 대한 심층 학습 연산처리를 수행하도록 구성되고,
    상기 심층 학습 처리부는,
    상기 C(convolution)층과 S(subsampling)층 및, ELM(Extreme Learning Machine)층 가중치에 대한 초기값을 임의로 설정한 상태에서, 순방향 경로에서 전처리 영상과 F(fully connected)층 출력영상간의 에러가 최소가 되는 역전파 에러값을 근거로 해당 ELM(Extreme Learning Machine)층에 대한 가중치를 산출함으로써, 심층 학습 매개변수 값을 설정하도록 구성되고,
    상기 ELM(Extreme Learning Machine)층에 대한 가중치는 입력 데이터(Ki)와 인접하는 상기 C층의 에러값(Ti)을 의사역행렬하여 산출되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템.
  2. 제1항에 있어서,
    상기 라인 상태 분석부는 전처리 영상에서 3개 이상의 라인이 존재하거나, 이전 프레임과 현재 프레임에서의 라인 위치가 다르거나, 이전 프레임과 현재 프레임에서의 소실점 위치가 다른 조건을 만족하는 경우, 해당 전처리 영상을 심층 학습 대상 영상으로 판단하는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템.
  3. 삭제
  4. 제1항에 있어서,
    상기 C(convolution)층과 S(subsampling)층에 대한 가중치는 초기값으로 고정 설정되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템.
  5. 제1항에 있어서,
    상기 심층 학습 처리부는
    ELM(Extreme Learning Machine)층에 대한 가중치를 설정한 상태에서 F(fully connected)층 에러값이 기 설정된 임계치 미만이 될 때까지 의사역행렬을 사용하여 ELM(Extreme Learning Machine)에 대한 가중치 업데이트 처리를 반복적으로 수행하여 심층 학습 매개변수 값을 결정하도록 구성되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템.
  6. 제1항에 있어서,
    상기 ELM(Extreme Learning Machine)층에 대한 가중치는 하기 수학식을 통해 산출되고,
    Figure 112018015818567-pat00023

    여기서, βi는 i번째 ELM층에 대한 가중치이고, Ki는 i번째 ELM층의 입력 데이터이며, Ti는 i번째 ELM층과 인접하는 C층의 에러값이고,
    상기 i번째 ELM층에서의 역전파 방향의 출력 데이터는, 하기 수학식과 같이 근사화하는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템.
    Figure 112018015818567-pat00024

    여기서, Xc(i+1) 은 순방향 경로에서 인접 C(convolution)층으로 입력영상이 들어갔을 때 C층에 남아 있는 값이고, δc(i+1)은 역전파 경로에서 인접 C(convolution)층의 에러값이며, a는 희망하는 출력을 위한 가중치 상수이고, b는 추정 오차.
  7. 제1항에 있어서,
    상기 제1 내지 제3 C(convolution)층과, 제1 및 제2 S(subsampling)층 및, 제1 및 제2 ELM(Extreme Learning Machine)층 가중치에 대한 초기값은 "-1 ~ +1" 범위의 값으로 설정되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 시스템.
  8. 심층 학습 장치에서 다수의 입력 영상에 대해 극한 심층 학습 알고리즘에 따른 심층 학습 매개변수 값을 산출하는 심층 학습 단계와,
    심층 학습 장치에서 차량에 설치된 촬영 장치를 통해 제공되는 입력 차선 영상에 대하여 직선 라인들로 이루어지는 전처리 영상을 생성하는 전처리 단계,
    상기 전처리 단계를 통해 제공되는 전처리 영상을 분석하여 직선 라인 상태가 기 설정된 심층 학습 대상 조건을 만족하는지를 판단하는 라인 상태 판단단계,
    심층 학습 조건을 만족하는 심층 학습 대상 영상에 대하여 상기 심층 학습 단계에서 산출된 심층 학습 매개변수 값이 적용된 극한 심층 학습 알고리즘 수행을 통하여 심층 학습 결과 영상을 생성하는 심층 학습 처리 단계 및,
    상기 라인 상태 판단단계에서 심층 학습 조건을 만족하지 않는 전처리 영상 또는 상기 심층 학습 처리단계로부터 제공되는 심층 학습 결과 영상에 대하여 RANSAC(Random sample consensus) 알고리즘을 통한 차선 검출처리를 수행하는 차선 검출 단계를 포함하여 구성되고,
    상기 심층 학습 단계와 심층 학습 처리 단계에서 이루어지는 극한 심층 학습 알고리즘은 제1 C(convolution)층 연산과 제1 S(subsampling)층 연산, 제2 C(convolution)층 연산, 제2 S(subsampling)층 연산, 제3 C(convolution)층 연산 및, F(fully connected)층 연산이 순차로 이루어지는 CNN(Convolutional Neural Network) 구조에서, 상기 제1 S(subsampling)층과 제2 C(convolution)층 사이와, 제2 S(subsampling)층과 제3 C(convolution)층 사이에 의사역행렬을 사용하여 한 번의 연산으로 인접한 S(subsampling)층과 C(convolution)층 사이의 은닉층에 대한 가중치를 산출하는 제1 및 제2 ELM(Extreme Learning Machine)층을 각각 추가 삽입하는 구조로 이루어짐으로써, 입력 영상에 대한 심층 학습 연산처리를 수행하도록 구성되고,
    상기 심층 학습 단계는,
    상기 극한 심층 학습 알고리즘 구조에서 상기 C(convolution)층과 S(subsampling)층 및, ELM(Extre me Learning Machine)층 가중치에 대한 초기값을 임의로 설정하는 제1 단계와,
    순방향 경로에서의 F(fully connected)층 출력 영상과 전처리 영상간의 차에 대응되는 출력 에러를 산출하는 제2 단계,
    의사역행렬을 이용하여 제2 단계에서 F(fully connected)층 출력 에러가 최소가 되는 제1 ELM층에 대한 가중치를 산출하여 설정하는 제3 단계,
    제3 단계에서 제1 ELM(Extreme Learning Machine)층에 대한 가중치가 변경 설정된 상태에서, 순방향 경로에서의 F(fully connected)층 출력 영상과 전처리 영상간의 차에 대응되는 출력 에러를 산출하는 제4 단계 및,
    의사역행렬을 이용하여 제4 단계에서 F(fully connected)층 출력 에러가 최소가 되는 제2 ELM(Extreme Learning Machine)층에 대한 가중치를 산출하여 설정하는 제5 단계를 포함 하여 구성되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법.
  9. 제8항에 있어서,
    상기 라인 상태 판단단계는 전처리 영상에서 3개 이상의 라인이 존재하거나, 이전 프레임과 현재 프레임에서의 라인 위치가 다르거나, 이전 프레임과 현재 프레임에서의 소실점 위치가 다른 조건을 만족하는 경우, 해당 전처리 영상을 심층 학습 대상 영상으로 판단하는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법.
  10. 삭제
  11. 제8항에 있어서,
    상기 제5 단계에서 제2 ELM(Extreme Learning Machine)층에 대한 가중치가 설정된 상태에서, F(fully connected)층 출력 영상에 대한 에러값이 기 설정된 임계치보다 작은 경우, 상기 제1 내지 제5 단계를 반복 수행하여 F(fully connected)층 출력 영상에 대한 에러값이 기 설정된 임계치 미만인 때의 가중치를 심층 학습 최종 매개변수 값으로 설정하는 제6 단계를 추가로 포함하여 구성되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법.
  12. 제8항 또는 제11항에 있어서,
    상기 제1 및 제2 ELM(Extreme Learning Machine)층에 대한 가중치는 하기 수학식을 통해 산출되고,
    Figure 112018015818567-pat00025

    여기서, βi는 i번째 ELM층에 대한 가중치이고, Ki는 i번째 ELM층의 입력 데이터이며, Ti는 i번째 ELM층과 인접하는 C층의 에러값이고,
    상기 i번째 ELM층에서의 역전파 방향의 출력 데이터는, 하기 수학식과 같이 근사화하는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법.
    Figure 112018015818567-pat00026

    여기서, Xc(i+1) 은 순방향 경로에서 인접 C(convolution)층으로 입력영상이 들어갔을 때 C층에 남아 있는 값이고, δc(i+1)은 역전파 경로에서 인접 C(convolution)층의 에러값이며, a는 희망하는 출력을 위한 가중치 상수이고, b는 추정 오차.
  13. 제8항에 있어서,
    상기 제1 내지 제3 C(convolution)층과, 제1 및 제2 S(subsampling)층 및, 제1 및 제2 ELM(Extreme Learning Machine)층 가중치에 대한 초기값은 "-1 ~ +1" 범위의 값으로 설정되는 것을 특징으로 하는 극한 심층학습 기반 차선 검출 방법.
KR1020170057191A 2017-05-08 2017-05-08 극한 심층학습 기반 차선 검출 시스템 및 그 방법 KR101869266B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170057191A KR101869266B1 (ko) 2017-05-08 2017-05-08 극한 심층학습 기반 차선 검출 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170057191A KR101869266B1 (ko) 2017-05-08 2017-05-08 극한 심층학습 기반 차선 검출 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR101869266B1 true KR101869266B1 (ko) 2018-06-21

Family

ID=62806519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170057191A KR101869266B1 (ko) 2017-05-08 2017-05-08 극한 심층학습 기반 차선 검출 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101869266B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889318A (zh) * 2018-09-05 2020-03-17 斯特拉德视觉公司 利用cnn的车道检测方法和装置
KR102164800B1 (ko) * 2019-10-21 2020-10-14 인천대학교 산학협력단 어라운드 뷰 모니터링 시스템을 이용한 인공지능 기반의 자율 주행 차량용 이동 경로 생성 장치 및 그 동작 방법
CN112712192A (zh) * 2020-11-24 2021-04-27 江苏中矿安华科技发展有限公司 结合集成学习与加权极限学习机的煤矿瓦斯浓度预测方法
US11049275B2 (en) 2018-11-21 2021-06-29 Samsung Electronics Co., Ltd. Method of predicting depth values of lines, method of outputting three-dimensional (3D) lines, and apparatus thereof
CN116111984A (zh) * 2022-12-06 2023-05-12 中国电子科技集团公司信息科学研究院 滤波器的设计优化方法及装置、滤波器、设备、介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101609303B1 (ko) 2014-03-28 2016-04-20 주식회사 하나비전테크 카메라 캘리브레이션 방법 및 그 장치
KR101645322B1 (ko) * 2014-12-31 2016-08-04 가천대학교 산학협력단 차선 변화벡터와 카디널 스플라인을 이용한 차선 검출 시스템 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101609303B1 (ko) 2014-03-28 2016-04-20 주식회사 하나비전테크 카메라 캘리브레이션 방법 및 그 장치
KR101645322B1 (ko) * 2014-12-31 2016-08-04 가천대학교 산학협력단 차선 변화벡터와 카디널 스플라인을 이용한 차선 검출 시스템 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
경북대학교공학석사학위논문, (2014년 12월 공개) 1부. *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889318A (zh) * 2018-09-05 2020-03-17 斯特拉德视觉公司 利用cnn的车道检测方法和装置
CN110889318B (zh) * 2018-09-05 2024-01-19 斯特拉德视觉公司 利用cnn的车道检测方法和装置
US11049275B2 (en) 2018-11-21 2021-06-29 Samsung Electronics Co., Ltd. Method of predicting depth values of lines, method of outputting three-dimensional (3D) lines, and apparatus thereof
KR102164800B1 (ko) * 2019-10-21 2020-10-14 인천대학교 산학협력단 어라운드 뷰 모니터링 시스템을 이용한 인공지능 기반의 자율 주행 차량용 이동 경로 생성 장치 및 그 동작 방법
CN112712192A (zh) * 2020-11-24 2021-04-27 江苏中矿安华科技发展有限公司 结合集成学习与加权极限学习机的煤矿瓦斯浓度预测方法
CN112712192B (zh) * 2020-11-24 2021-09-03 江苏中矿安华科技发展有限公司 结合集成学习与加权极限学习机的煤矿瓦斯浓度预测方法
CN116111984A (zh) * 2022-12-06 2023-05-12 中国电子科技集团公司信息科学研究院 滤波器的设计优化方法及装置、滤波器、设备、介质

Similar Documents

Publication Publication Date Title
KR101869266B1 (ko) 극한 심층학습 기반 차선 검출 시스템 및 그 방법
CN109101914B (zh) 一种基于多尺度的行人检测方法和装置
US11734918B2 (en) Object identification apparatus, moving body system, object identification method, object identification model learning method, and object identification model learning apparatus
US7062071B2 (en) Apparatus, program and method for detecting both stationary objects and moving objects in an image using optical flow
KR20200060194A (ko) 차선들의 깊이값을 예측하는 방법, 3차원 차선들을 출력하는 방법 및 그 장치
JP7263216B2 (ja) ワッサースタイン距離を使用する物体形状回帰
CN110956069B (zh) 一种行人3d位置的检测方法及装置、车载终端
CN110879982B (zh) 一种人群计数系统及方法
CN111369617B (zh) 一种基于卷积神经网络的单目视图的3d目标检测方法
CN110210474A (zh) 目标检测方法及装置、设备及存储介质
KR101908481B1 (ko) 보행자 검출 장치 및 방법
KR20200095384A (ko) 운전자 상태에 따라 맞춤형의 캘리브레이션을 위해 운전자 보조 장치를 자동으로 조정하는 방법 및 장치
CN111462193A (zh) 用于多摄像机或环绕视图监控的对象检测方法及装置
KR101483742B1 (ko) 지능형 차량의 차선 검출방법
CN109961013A (zh) 车道线的识别方法、装置、设备及计算机可读存储介质
CN112883790A (zh) 一种基于单目摄像头的3d物体检测方法
CN111461221A (zh) 一种面向自动驾驶的多源传感器融合目标检测方法和系统
US11367206B2 (en) Edge-guided ranking loss for monocular depth prediction
KR20220014678A (ko) 영상의 깊이를 추정하는 방법 및 장치
CN111488783A (zh) 基于cnn检测伪3d边界框的方法及其装置
CN114155278A (zh) 目标跟踪及相关模型的训练方法和相关装置、设备、介质
Cario et al. Lane detection and tracking problems in lane departure warning systems
CN111191694A (zh) 图像立体匹配方法
CN115909268A (zh) 一种动态障碍物检测方法及装置
EP3076370B1 (en) Method and system for selecting optimum values for parameter set for disparity calculation

Legal Events

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