차선 훼손 분류 프로젝트
도로 (Road) - 0
훼손된 차선 영역 (Damaged lane area) - 1
정상 차선 영역 (Normal lane area) - 2
24.06.16 Segmentation을 활용한 차선 훼손 v1.ipynb
- 도로 배경을 제외 후 차선 이미지만 다중 분류 Segmentation할 경우 훼손된 차선의 영역을 잘 예측을 함 (When performing multi-class segmentation of lane markings excluding the road background, the model predicts the damaged lane areas accurately.)
- 하지만, 도로 배경을 포함한 상태에서의 훼손된 차선의 영역을 잘 예측하지 못함 (However, it struggles to predict damaged lane areas well when including the road background.)
- 도로 영역 과 훼손된 차선 영역의 특징이 비슷하기에 보완 방법이 필요함 (This is because the features of the road area and the damaged lane area are similar, necessitating the need for supplementary methods.)
- 대형 트럭이나 버스와 같은 교통 수단의 압력, 비와 눈, 열 팽창 및 수축에 따른 온도 변화 등의 환경적 요인, 그리고 겨울철 제설을 위해 도로 표면에 뿌려지는 염분 및 기타 화학물질 등의 화학적 요인으로 인해 도로 차선이 자주 훼손되는 상태를 관찰할 수 있습니다. 이러한 차선 훼손은 교통 안전에 중요한 영향을 미치며, 특히 야간이나 악천후 시 운전자가 차선을 인식하는 데 큰 불편함을 겪습니다. 도로관리통합클러스터 신규 과제 발굴 기획 연구에서도 이러한 문제점이 지속적으로 지적되고 있습니다.
- 한국건설기술연구원은 AI 휘도 측정 장비를 장착한 차량으로 훼손된 차선을 탐지하고 불량 휘도의 차선 이미지를 선별하는 연구를 수행한 바 있습니다. 그러나 일반 차량에 장비를 외부에 설치하여 휘도를 측정하는 방식은 장비 비용이 높고, 데이터 수집 과정에서도 효율적이지 않다는 제약이 있습니다. 또한, 모든 도로에서 차선 훼손이 진행되는 곳을 일일이 찾아내는 것이 어렵습니다. 이러한 문제를 해결하기 위해, 본 프로젝트에서는 차량 내부에 소형 카메라를 부착하고, 인공지능 객체 탐지 기술인 YOLO v8을 활용하여 차선을 실시간으로 탐지하는 방법을 사용할 계획입니다. 차선을 탐지한 후에는 Segmentation 기법을 통해 훼손된 차선을 정확히 분류하는 기술을 적용할 것입니다. 이 기술을 통해 보다 비용 효율적인 방식으로 다양한 도로 조건에서 차선 상태를 모니터링하고, 효과적인 유지보수 계획을 수립할 수 있을 것으로 기대됩니다
-
데이터 수집 및 준비
-
먼저, 실제 도로 환경을 반영한 데이터를 수집하기 위해 도로에서 주행하는 차량의 비디오를 사용했습니다. 이 비디오는 다양한 날씨 조건과 시간대에서 촬영하여, 여러 가지 상황에서의 도로 차선 상태를 담고 있습니다. 비디오 촬영은 일반적인 카메라를 차량 내부에 설치하여 진행되었습니다. 해당 데이터는 다리소프트로부터 제공 받았습니다.
-
차선 탐지와 이미지 추출
-
촬영된 비디오에서 도로 차선을 탐지하기 위해 YOLO라는 인공지능 객체 탐지 기술을 사용했습니다. 여기서 YOLO는 실시간으로 이미지나 비디오에서 특정 객체를 빠르게 탐지하는 데 사용되는 기술입니다. 이 기술은 이미지나 비디오의 프레임을 여러 개의 작은 그리드로 나누고, 각 그리드에서 차선과 같은 객체를 탐지합니다. 각 프레임에서 탐지된 차선을 개별 이미지로 추출했습니다. 이렇게 추출된 차선 이미지는 이후 분석과 분류 작업의 기초 데이터로 사용됩니다.
-
차선 이미지 라벨링 및 전처리
-
추출된 차선 이미지는 세그멘테이션 작업을 위해 라벨링되었습니다. 세그멘테이션은 이미지의 각 픽셀이 어떤 객체에 속하는지를 분류하는 작업입니다. 예를 들어, 차선의 경우 각 픽셀을 정상 차선 영역, 훼손된 차선 영역, 나머지 영역으로 나누어 라벨링합니다. 이 과정은 세그멘테이션 모델이 학습할 수 있는 정확한 데이터를 제공하는 데 필수적입니다.
-
라벨링된 이미지는 크기 조정 등의 전처리 작업을 거쳐 일관된 입력 크기를 유지하도록 했습니다. 또한, 데이터 증강 기법을 적용하여 모델의 일반화 성능을 높였습니다. 데이터 증강 기법이란 이미지를 회전하거나 뒤집는 등 다양한 방법으로 데이터를 변형하여 모델이 다양한 상황을 학습할 수 있도록 하는 기술입니다.
-
세그멘테이션 모델 설계
-
세그멘테이션 작업을 수행하기 위해 U-Net 구조와 유사한 모델을 설계했습니다. U-Net은 의료 영상 처리에서 많이 사용되는 세그멘테이션 모델로, 이미지의 각 픽셀을 특정 클래스로 분류하는 데 매우 효과적입니다. 이 모델은 하나의 입력 이미지에서 차선의 각 영역을 정상 차선 영역, 훼손된 차선 영역, 나머지 영역으로 분류합니다.
-
U-Net은 기본적으로 두 개의 주요 부분으로 구성됩니다. 인코더: 입력 이미지를 점점 더 작은 크기로 줄이면서 주요 특징을 추출합니다. 이 과정에서 컨볼루션 층을 사용하여 이미지의 중요한 정보를 학습합니다. 인코더에서 추출된 정보를 사용하여 이미지를 원래 크기로 복원합니다. 이 과정에서 업샘플링 층을 사용하여 이미지를 확대하고, 각 픽셀의 클래스를 예측합니다.
-
모델 학습 및 평가
-
모델의 학습 과정에서는 조기 종료 기법을 사용하여 과적합을 방지했습니다. 조기 종료는 모델이 더 이상 성능이 개선되지 않거나 오히려 악화되기 시작할 때 학습을 중단하는 방법입니다. 이를 통해 모델이 최적의 성능을 발휘하도록 했습니다.
-
학습된 모델을 사용하여 테스트 이미지에서 차선을 세그멘테이션하고, 훼손된 차선 영역 부분을 정확히 분류했습니다. 여기서 중요한 것은 모델이 각 픽셀을 분석하여 차선의 상태를 파악하는 것입니다. 훼손된 차선 부분이 차지하는 비율을 계산하여 차선 훼손 상태를 정량적으로 평가했습니다. 이는 차선 유지보수 계획 수립에 중요한 정보를 제공합니다.
-
평가에 사용한 평가지표는 IoU (Intersection over Union), Dice 계수 그리고 픽셀 정확도입니다.
-
IoU는 예측된 영역과 실제 영역 간의 겹치는 부분(교집합)을 두 영역의 합집합으로 나눈 값을 의미합니다. 공식은 교집합을 합집합으로 나눈 값으로 표현됩니다. IoU는 모델이 얼마나 정확하게 각 픽셀을 특정 클래스로 예측했는지를 나타내며, 높은 IoU 값은 모델이 실제 차선과 예측 차선 간의 차이가 적다는 것을 의미합니다. Dice 계수는 예측된 영역과 실제 영역 간의 유사성을 측정하는 지표로, 주로 두 집합의 유사도를 측정하는 데 사용됩니다. Dice 계수의 공식은 2 × 교집합을 예측 영역의 크기와 실제 영역의 크기의 합으로 나눈 값입니다. Dice 계수는 0에서 1 사이의 값을 가지며, 값이 1에 가까울수록 예측된 영역이 실제 영역과 잘 일치함을 의미합니다. 픽셀 정확도는 모델이 전체 픽셀 중 정확히 예측한 픽셀의 비율을 나타내며, 공식은 정확히 예측된 픽셀 수를 전체 픽셀 수로 나눈 값입니다. 이 지표는 모델이 얼마나 많은 픽셀을 올바르게 분류했는지를 보여주며, 높은 픽셀 정확도는 모델의 전반적인 성능이 좋다는 것을 의미합니다.
-
IoU: 0.8891
-
IoU 값이 0.8891이라는 것은 모델이 예측한 차선 영역과 실제 차선 영역 간의 겹침 정도가 88.91%라는 것을 의미합니다. 일반적으로 IoU 값이 0.5 이상이면 양호한 성능을 나타낸다고 평가되며, 0.8 이상이면 매우 높은 정확도를 나타냅니다. 따라서, 이 결과는 모델이 도로 차선을 탐지하는 데 매우 정확하게 작동했음을 의미합니다.
-
Dice 계수: 0.9373
-
Dice 계수는 0.9373으로, 예측된 차선 영역과 실제 차선 영역이 93.73% 정도 유사함을 나타냅니다. Dice 계수는 일반적으로 0.7 이상이면 양호한 성능을 나타내며, 0.9 이상이면 매우 좋은 성능을 의미합니다. 이 결과는 모델이 차선의 위치와 형태를 실제와 거의 동일하게 예측했음을 보여줍니다.
-
픽셀 정확도: 0.9904
-
픽셀 정확도가 0.9904로, 모델이 전체 픽셀의 99.04%를 정확하게 분류했음을 의미합니다. 이는 모델이 정상 차선 영역과 훼손 차선 영역 그리고 나머지 영역 부분 구분에 있어 거의 완벽한 성능을 보였음을 나타냅니다. 일반적으로 픽셀 정확도가 0.9 이상이면 매우 우수한 성능을 나타낸다고 볼 수 있습니다.
-
훼손 차선의 비율 평가
-
세그멘테이션을 통해 모델은 정상 차선과 훼손된 차선 영역을 구분합니다. 이를 통해 정상 차선 영역에서 훼손된 차선이 차지하는 비율을 계산할 수 있습니다. 본 프로젝트의 분석 결과에 따르면, 정상 차선 영역에서 훼손된 차선의 비율이 n% 이상일 경우 해당 차선을 훼손 차선으로 판정할 수 있습니다. 이는 차선 유지보수 작업의 효율성을 높이는 데 큰 도움이 됩니다. 예를 들어, 특정 도로 구간에서 n% 이상의 차선이 훼손된 경우, 해당 구간에 대해 빠른 보수 작업을 계획할 수 있습니다. 이를 통해 도로 안전을 유지하고 유지보수 비용을 절감할 수 있습니다.


