이하, 첨부한 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다.
도 1은 본 발명에 따른 주행안전 예방방법을 적용할 시스템을 차량에 장착한 구성을 나타내는 도면이다.
먼저, 타이어 공기압 측정장치가 장착된다. 타이어 공기압 측정장치는 타이어 내부 휠(wheel)에 장착된 무선 송신기(미도시)와 압력센서(10) 및 온도센서(미도시)를 포함한다.
시동을 걸 때마다 모든 타이어의 압력 상황이 체크되어 마이크로 컴퓨터(100)로 압력정보가 전송되고, 마이크로 컴퓨터(100)는 위험 징후 시 운전자에게 경고 알람을 보내며 무선을 통해 위급상황을 실시간으로 음이나 음성 출력 및 디스 플레이하여 알려준다. 여기서, 마이크로 컴퓨터(100)는 임베디드(embedded) 시스템으로 구현될 수 있다.
타이어 공기압 측정장치에 사용되는 압력센서(10)는 기후, 온도, 및 고도 등의 환경 변화에 따른 검출 오차가 있기 때문에 환경에 강인한 계산이 요구된다. 또한, GPS 센서(30)의 좌표정보를 이용하여 고도를 파악하여 공기압 측정데이터에 대한 환경데이터로 활용한다.
중력센서(20)는 차량의 차축 변형 및 무게 중심을 계산하고, 차량의 기울기 정보를 마이크로 컴퓨터(100)에 전달한다.
GPS 센서(30)는 차량 운행 여부와 차량운행 속도정보 및 지리정보에 의한 위치정보를 마이크로 컴퓨터(100)에 전달한다.
카메라(40)는 차량의 차선 이탈 및 굽은 도로의 판단을 위해 차량의 주행 영상 획득하기 위해 설치된다. 바람직하게, 야간 주행을 위해 저조도용 CCD 카메라가 적용될 수 있다.
디스플레이(50)는 운전석에 설치되어 위급 상황을 운전자에게 알려주기 위한 용도로 사용된다.
도 2는 본 발명에 적용되는 마이크로 컴퓨터(100)의 구성을 나타내는 도면이다.
마이크로 컴퓨터(100)는 타이어 공기압 모니터링 모듈(110), 주행정보 모니터링 모듈(120), 도로정보 모니터링 모듈(130), 및 통합처리모듈(140)로 구성된다.
타이어 공기압 모니터링 모듈(110)은, 타이어 공기압 측정장치(10)의 압력센 서(12)와 온도센서로부터의 정보를 수신하여 타이어를 모니터링 하고, 타이어 및 차량의 제원정보를 관리한다.
주행정보 모니터링 모듈(120)은, 중력센서(20)와 GPS 센서(30)로부터 차량의 속도, 고도 및 경사 정보를 수신하여 주행정보를 모니터링 한다.
도로정보 모니터링 모듈(130)은 카메라(40)로부터 도로 영상정보를 수신하여 급경사, 급커브, 또는 차선변경 등의 도로정보를 모니터링 한다.
통합처리모듈(140)은 타이어 공기압 모니터링 모듈(110), 주행정보 모니터링 모듈(120), 및 도로정보 모니터링 모듈(130)로부터 각각 전달된 타이어 공기압 정보/제원정보, 주행정보 및 도로정보를 통합하여 차선이탈 및 차량 전복 방지를 위한 안전속도를 예측한다. 또한, 이에 기초하여 운전자에게 위험지역을 경고하고, 더 나아가 차량의 제어 컨트롤러와 통신하여 자동으로 속도를 줄이도록 할 수 있다.
이하, 본 발명에 따른 주행안전 예방방법에 대해 설명한다.
도 3은 본 발명에 따른 주행안전 예방방법을 나타내는 플로차트이다.
먼저, 타이어 공기압 모니터링 모듈(110)은 차량의 제원 정보에 기초하여 차축으로부터 기준 무게 중심을 계산한다(단계 S31).
다음, 차량의 4개의 타이어 내부 휠에 장착된 압력센서(12)로부터 전달되는 타이어 공기압 정보에 기초하여 실제 무게 중심을 계산하고, 차축의 기울어짐을 판단한다(단계 S40).
이어 차량의 제원 정보에 연산 알고리즘을 적용하여 차량의 중심점을 계산한 다(단계 S33). 차량의 중심점은 차량이 기울어져도 전복되지 않는 최대 안전 경사각을 산출하는데 적용된다.
주행정보 모니터링 모듈(120)은 중력센서(20)로부터의 정보에 따라 차량의 기울기를 산출하고, GPS 센서(30)로부터의 속도, 고도 및 위치정보에 기초하여 차량 운행 여부와, 차량 운행속도, 그리고 차량의 현재 위치를 계산한다(단계 S34).
이어, 도로정보 모니터링 모듈(130)은 카메라(40)로부터 입력되는 도로 영상으로부터 일련의 처리를 거쳐 도로상황 예측정보를 검출한다(단계 S35).
도 4는 도로상황 예측정보를 검출하는 과정을 나타내는 플로차트이다.
도 4를 참조하면, 차량 실내에 설치된 저조도 CCD 카메라를 이용하여 전방의 도로 영상을 획득한다(단계 S41).
획득된 영상은 전처리 과정을 수행하게 된다. 즉, 히스토그램 평활화를 통해서 밝기 정보를 보정하고(단계 S42), 노이즈 필터를 통해서 영상에 존재하는 노이즈를 제거하고(단계 S43), 차선 정보 검출에 이용될 차선 영역에 에지 필터를 적용한다(단계 S44).
전처리 된 영상에 대해서 차선 후보를 추출하고(단계 S45), 차선 모델링 과정을 수행하여(단계 S46), 근거리 및 원거리 차선을 검출하고 굽은 도로의 곡률을 검출하고, 앞 차량 등으로 한쪽 차선이 가려진 경우 등을 대비하여 도로 폭을 검출하여 차선을 보간하고, 실선 및 점선을 검출한다.
차선 정보와 차선 이탈 및 굽은 도로를 디스플레이(50)를 통해 운전자에게 알려준다(단계 S47).
이하, 도로상황 예측정보를 검출하는 과정을 상세히 설명한다.
<전처리>
도로상의 차선을 검출하기 위해 입력 영상에 대한 전처리 단계로 조명 보정, 히스토그램 평활화, 노이지 필터, 에지 필터 과정을 적용한다.
조명 보정은 극단적인 빛(light)의 각도에 따른 격심한 그림자를 줄이기 위해 사용된다. 히스토그램 평활화는 이미지 내의 명암 값의 분포가 특정 값이 집중되거나 균일하지 못한 영상에 대해 명암 값이 일정한 분포를 갖도록 하여 이미지 내의 조명 밝기의 차이와 카메라의 노출에 따른 응답곡선을 보정하기 위해 사용된다. 또한 영상 내 포함된 노이즈를 제거하는 가우시안 노이즈 필터를 적용한다.
<에지 강화>
차선 정보를 더 정확하게 추출하기 위해 에지(경계선) 강화 필터를 적용한다. 에지가 뚜렷하게 나타나는 부분이 차선표식의 가장자리만이 아니라 타이어 자국의 가장자리 부분이나 중앙분리대의 그림자 가장자리 부분에서도 뚜렷한 에지가 존재한다. 따라서 에지 정보만 가지고서는 차선표식을 도로배경으로부터 완벽하게 분리해 낼 수는 없다. 하지만 타이어 자국이나 중앙분리대의 그림자는 대게 도로 바닥보다는 어둡기 때문에 노면의 여타 배경보다 밝은 차선표식과의 분리가 가능하다. 실제로 도로영상에 대해 에지(edge)를 추출해 보면 차선표식의 경계부가 다른 곳에 비해 에지가 뚜렷이 나타난다. 에지 강화 과정에서는 에지를 추출하고, 배경에 있는 크기가 작은 많은 에지픽셀들을 제거하기 위해 에지크기의 임계값을 설정하여 이 임계값보다 작은 에지크기를 가진 픽셀들을 제거한다.
또한 에지 강화는 흑백 영상의 경우 밝기 값의 변화가 급격히 일어나는 곳으로 영상처리에서는 미분연산을 이용하여 에지를 추출한다. 입력된 영상을 함수f(x, y)라고 했을 때 에지는 영상의 한 점 (x, y)에서 다음과 같이 벡터로 표현되며, 이 벡터는 크기(magnitude)와 방향(orientation)으로 나타낸다.
본 발명에서는 소벨 연산자 기법을 적용하여 에지를 강화시킨다. 미리 정의된 소벨 마스크(Sobel mask)를 컨볼루션(convolution)하여 픽셀의 정보를 업데이트 한다.
<차선 후보 추출>
도로 영상에서 차선 후보들을 검출하기 위해 템플릿 매칭 방법을 이용한다. 도로 영상을 입력받으면 영상의 세로축에 따라 적당한 크기의 차선 템플릿과 영상과의 상관도를 계산하여 차선 후보 점들을 찾는다. 차선의 밝기와 도로의 밝기는 카메라 주변의 밝기와 도로의 노면 및 차선의 도색 상태에 따라 계속 변하기 때문에 적응형 템플릿 매칭 방법을 이용한다.
도 5(a)는 카메라로 촬영한 도로 영상을 나타내고, 도 5(b)는 도 5(a)의 스캔 라인을 따른 차선과 도로 후보영역 히스토그램을 나타낸다.
적응형 템플릿 매칭 방법은 같은 도로 영상의 수평 방향의 픽셀 값들에 대하여 미리 정의된 차선 폭, 도로 폭에 해당하는 크기의 픽셀 값의 평균을 취하여 차 선의 템플릿으로 설정한다.
다음의 식은 템플릿 상관도 오차값을 구하는 함수이다.
영상의 원근효과로 인해 차선의 폭이 영상의 높이에 변하기 때문에 적절한 템플릿의 폭 Nm, Nt를 다음과 같이 계산한다.
Ec 값이 일정 이하인 점들을 선택하면 다음과 같이 차선 후보 집합 L을 생성한다.
<차선 모델링>
추출한 차선 후보 점들 중에서 주행 중인 차선 위에 있는 점들만을 골라서 모델링한다. 직선 및 곡선 도로에서 차선을 모델링하기 위해 영상좌표와 실제좌표 사이에 대응점을 이용해서 계산한 역원근 변환을 이용한다. 편요각과 전방오차 등과 같은 차선에 대한 차량의 위치 정보를 알기 위해서는 영상좌표를 실제 도로에서의 좌표로 전환하는 과정이 필요하다. 이러한 전환과정을 역원근 변환이라고 하며, 역원근 변환은 도로가 평탄하다는 가정 하에서 이루어진다. 차선 후보들의 실제 좌표를 구하여 근거리에 위치한 차선후보로부터 차선의 위치와 방향을 검출한다. 이를 토대로 차선의 곡률을 계산하여 원거리 차선을 검색한다. 이와 같이 역원근 변환을 통해 차선을 해석하면 영상이 균일한 해상도를 같도록 할 수 있으며, 영상 내부에서 하나의 소실점으로 모이는 구조를 가진 다양한 직선과 곡선의 차선으로 변환할 수 있기 때문에 차선의 모델링이 더욱 간편해진다. 또한 자신의 차량의 차선에 대한 상대적인 위치를 파악하고 표현하는 것이 더욱 쉬워진다.
- 근거리 차선의 검색
자차로부터 20m내에 있는 차선은 역원근 변환을 통해 거의 직선처럼 보이기 때문에 이 지역에서의 차선 후보들을 수평방향의 위치에 따른 히스토그램의 지역 최대값을 구함으로써 정확한 차선의 위치와 대략적인 차선의 방향을 찾을 수 있다. 찾아진 근거리 차선 후보점들을 LMS(Least Mean Square)방법을 이용해 직선으로 근사화하여 원거리 차선을 검색하는데 기준이 되는 근거리 차선의 방정식을 x=ay+b를 계산한다.
- 원거리 차선의 검색
원거리에 위치한 차선을 효과적으로 찾기 위해 차선의 밝기 정보와 곡률 정 보를 이용한다. 근거리의 차선을 탐색한 결과를 이용하여 차선의 평균밝기를 계산하고 영상좌표 상에서의 차선의 위치를 중심으로 차선의 평균 밝기와 비슷한 밝기를 가지는 픽셀들을 추적하거나 곡률을 계산하여 원거리에서의 차선의 위치를 찾는다. 원거리 차선의 위치를 기준으로 C1, C2, C3와 같이 클러스터링하고 근거리 차선후보의 클러스터 Cref를 구한다. 근거리 차선의 방향을 기준으로 설정된 XL-YL 좌표계의 원점과 i번째 클러스터의 중심을 잇는 원호의 곡률 RiL을 Pure Pursuit 방법을 이용하여 구한다. 근거리 탐색에서 얻은 차선의 곡률 RRefL과 비교하여 그 차이가 일정 이하인 클러스터를 원거리 차선의 점으로 간주한다.
도 6은 Pure pursuit 방법을 이용한 차선의 곡률 계산을 나타내는 그래프이다.
<도로 폭의 예측 및 모델링>
차선의 유실이나 차량에 의해 가려진 경우를 위해 찾아진 차선을 이용해서 반대편 차선을 추정하기 위해 차선의 폭을 유추한다. 차선 후보 추출에 사용할 템플릿의 폭을 계산하는데 사용했던 식을 적용하여 D값에 실제 차로 폭을 가정하여 대입하는 것을 통해, 도로의 폭 d를 계산하여 차선의 위치를 다음과 같이 유추할 수 있다.
<차선의 실선과 점선 구분>
점선은 필요시 차선 변경이 가능한 선이지만 실선은 중앙선 또는 도로 가장자리 표시 선과 같이 차선변경시 사고가 발생할 확률이 높은 차선이므로, 도 7과 같이 이를 구분하여 인식함으로써 운전자에게 주행 중인 도로를 효과적으로 인식할 수 있게 한다. 차선 주변의 밝기의 변화를 이용하여 차선의 점선 및 실선 여부를 구별한다.
차선 검색 결과 찾아낸 차선이 위치하는 영역을 R이라 하고, 영역 R 중에서 실제로 차선이 그려진 부분을 Li라 한 후, 영역 R과 Li사이의 비를 계산하여 일정 수준을 넘으면 실선, 그렇지 않으면 점선으로 구분한다.
<실시간 도로 모델>
차선 인식 결과로 얻어진 도로 모델은 매 프레임마다 변하기 때문에 사전에 적당한 도로 모델을 준비해 두고, 영상에서 얻은 차선 방정식과 준비된 도로 모델을 비교하여 영상에서 얻은 차선 방정식과 가장 비슷한 값의 도로 모델을 재구성에 사용한다. 차선의 방정식 f(y)에서 방정식의 곡률을 나타내는 a값을 양자화하고 도로 모델의 집합 R의 원소들과 비교하여 a값이 속하는 범위 Bn1, Bn2을 결정한다.
Bn1, Bn2 값의 평균을 계산하여 도로 재구성시 사용되는 각각 좌우 차선의 방정식을 결정한다. 이동된 차선의 방정식을 이용하여 도로를 재구성한다.
차선의 이식 과정에서의 오류 또는 도로의 급격한 변화로 인해 현재 프레임에서 인식된 차선의 방정식이 이전 프레임에서 얻은 차선 방정식과 비교하여 일정한 임계치 이상으로 변할 경우, 이를 그대로 도로 모델에 반영하여 도로를 재구성하면 재구성된 도로가 갑자기 크게 변화하게 된다. 이를 해결하기 위해서 인식된 도로 방정식의 변화량이 경계 Bn1, Bn2의 범위를 넘으면 변화량의 크기에 상관없이 현재 도로 재구성에 사용한 도로 모델과 가장 가까운 이웃 모델을 도로 재구성에 사용하도록 하여 오류를 최소화하도록 한다.
차량이 시속 120km로 주행하고, 영상을 초당 25프레임 처리할 경우 차량은 1초에 33.3m를 움직이고, 프레임당 1.3m를 이동하게 된다.
<차선 이탈 및 굽은 도로 검출>
도 8을 참조하면, 도로를 촬영하는 카메라의 광축(optical axis) 벡터가 차선 내의 중앙에 위치하고 차선의 진행방향과 일치하면 아래 그림에서 보인 것과 유사한 영상을 얻을 수 있다.
즉, 원점 O를 영상의 수평방향의 중심과 하단부에 놓고 원점에서 좌우 차선 경계까지 수선을 긋는다. 이때 이 수선들과 영상의 밑변과 이루는 각을 각각 L, R이라 한다. 그리고 원점에서 좌우 차선경계까지의 수직거리를 각각 dL, dR이라 한다. 이 때 L=R이 되고 dL=dR이 된다. 만약 카메라의 광축의 위치가 차선 중앙을 벗어나고 차선의 진행방향과 일치되지 않는다면 LR이 되고 dLdR이 될 것이다. 바로 이러한 관계를 이용하면 차선이탈인식은 정확하게 이루질 것이다. 카메라를 차량에 설치할 때 카메라가 차량의 중심에 오게 하고, 광축이 차량중심 축으로부터 틀어지지 않게 위치하여야 한다.
도 9는 여러 가지의 도로 차선 검출 영상을 나타낸다.
차선 내의 중앙의 위치에서 좌우의 횡방향으로 차량의 주행위치가 변하면 입력 영상에 나타난 좌우차선 경계의 기울기와 위치가 동시에 변한다는 사실을 알 수 있다. 바로 이점에 착안하여 차선경계의 기울기와 위치의 변화량을 검출하면 차선이탈 여부를 판단할 수 있을 것으로 기대하는 것이다. 차량이 차선경계로 접근할 때 반드시 차선경계의 기울기도 변화하지만 위치 또한 변하고 있다는 것을 발견할 수 있다.
상기한 바와 같이, 통합처리모듈(140)은, 타이어 공기압 모니터링 모듈(110), 주행정보 모니터링 모듈(120), 및 도로정보 모니터링 모듈(130)로부터 얻은 차량의 실제 무게 중심, 차량의 전후 및 좌우의 기울기, 차량의 중심점, 차량속도, 위치정보, 그리고 도로상황 예측정보를 통합하여 차선이탈 및 차량전복을 방지하기 위한 안전속도를 예측한다(단계 S36).
그리고, 통합처리모듈(140)은 위험지역의 안전속도를 운전자에게 디스플레 이(50), 음성출력 등을 통하여 경고한다(단계 S37). 필요한 경우에는, 엔진 제어 컨트롤러와 통신하여 엔진을 제어함으로써 차량 속도를 자동으로 조정할 수 있다.
이상에서는 본 발명의 실시 예를 중심으로 설명하였지만, 당업자의 수준에서 다양한 변경을 가할 수 있음은 물론이다. 따라서, 본 발명의 권리범위는 상기한 시 예에 한정되어 해석될 수 없으며, 이하에 기재되는 특허청구범위에 의해 해석되어야 한다.