(PM Violation Detection: Violation Detection Utilizing Segmentation Object Detection and Algorithms)
도시 교통환경 변화로 개인형 이동장치의 교통사고와 법규 위반 문제가 증가하고 있습니다. 이에 대응하기 위해 CCTV 이미지를 활용하여 개인형 이동장치의 교통 법규 위반을 탐지하고 사용자에게 알리는 프로젝트입니다.
| Name | Role |
|---|---|
| 박윤수 | Detectron2 조사, 데이터 전처리, 모델링, 알고리즘, PPT, 웹페이지 |
| 박재현 | YOLOv8 조사, 데이터 전처리, 모델링, 알고리즘, 웹페이지 |
| 주형진 | YOLOv7 조사, 데이터 전처리, SAM, 모델링, 알고리즘, 웹페이지 |
- 객체 간 거리와 상관 관계를 분석하여 교통 법규 위반을 탐지합니다.
- 모델(YOLOv8)을 사용하여 위반을 탐지합니다.
- AI HUB에서 데이터를 받아 전처리를 진행합니다.
- SAM과 JSON 데이터를 사용하여 도로 지형지물을 YOLOv8 세그멘테이션으로 학습합니다.
- 학습을 위한 각 객체의 세그멘테이션 좌표 및 Bbox 좌표에 대해서 손수 라벨링 작업을합니다.
- YOLOv8로 객체를 학습시킵니다.
- 학습된 모델을 플라스크로 구현하여 도로와 개인형 이동장치 사이의 알고리즘을 통해 교통 법규 위반을 탐지합니다.
객체 탐지에는 두가지 방법이 있습니다.
-
하나는 2-stage detector 다른 하는 1-stage detector가 있습니다. 2-stage detector는 물체의 위치를 찾는 로컬라이제이션과 클레스픽케이션을 순차적으로 실행하며 1-stage detector는 로컬라이제이션과 클레스픽케이션을 한번에 실행합니다.
-
R-CNN은 정밀도가 높은 2-stage Detector를 사용하고 있습니다. Yolo는 1 stage Detector를 사용하고 있습니다.
기존에는 객체탐지 성능은 R-CNN이 정확도는 높았으나
Yolo가 점점 발전해오면서 오른쪽 표처럼 yolo3의 모델이 걸린 시간도 빠르고 성능도 좋아져서 R-CNN모델인 detectron을 사용하는 것 보단 yolo 모델이 더 낫다고 생각해서 yolo로 학습을 진행했습니다.
- 학습된 세그멘테이션 모델을 활용하여 이미지 상에 있는 도로 지형지물을 예측하고, 각 항목의 세그멘테이션 좌표를 추출하여 저장합니다.
- Bbox 모델은 이동식 개인장치(PMD) 객체를 탐지하고 해당 객체의 좌표를 추출하여 저장합니다.
- 각 도로 지형지물과 객체의 알고리즘을 활용하여 위반사항을 탐지합니다.
- PMD의 Bbox 아래 두 지점을 활용하여 인도 위에서 오토바이나 자전거 탑승자 객체가 감지된다면 인도 주행 위반으로 간주됩니다. 또한, 신호등 적색 신호 객체를 탐지하여 정지선, 횡단보도, 교차로에서의 위반을 탐지합니다.
- PMD 탑승자 객체와 헬멧 객체를 따로 학습한 후, 헬멧을 쓴 객체는 두 개의 bounding box가 쳐지며, 헬멧을 쓰지 않은 객체는 하나의 bounding box로 식별됩니다.
- 헬멧 객체와 PMD 탑승자 객체 간의 거리를 계산하여, 헬멧을 쓰지 않은 탑승자를 헬멧 미착용 위반으로 판단합니다.
1) 도로지형지물 Segmentation 탐지
2) 도로지형지물과 객체 탐지
- 세그멘테이션을 통해 도로 지형지물을 정확하게 탐지하고, YOLOv8를 사용하여 개인형 이동장치를 탐지합니다.
- 위반 탐지 결과 및 표시를 이미지에 표시해줍니다.
![]() 자전거 도로 주행 및 헬멧 미착용 |
![]() 오토바이 횡단보도 주행 및 정지선 위반 |
|---|---|
![]() 오토바이 정지선 위반 |
![]() 오토바이 도로 주행 |
![]() 자전거 도로 주행 및 헬멧 미착용 |
![]() 오토바이 도로 주행 |












