모두가 맘편히 이용할 수 있는 안전한 도로를 만듭니다.
Guide & Access
추가 정보가 있는 슬라이드에서 활성화됩니다. 팀원 코드리뷰, 근거 등 다양한 정보를 확인해 보세요.
각종 지표나 그래프, 분석결과 사진은 클릭 시 큰 화면으로 보실 수 있습니다.
블럭에 마우스를 올려 추가 정보를 확인해보세요. 대부분의 요소에 호버 효과가 있습니다.
풀스택 개발에서 비전학습까지 함께한 팀원들을 소개합니다.
도로는 계속 늘어나고 노후화(51.5%)는 가속됨에 따라, 포트홀 발생은 필연적입니다.
포트홀 민원의 90.6%가 지자체 관리 도로(일반도로·골목길)에서 발생합니다
지자체별 자동화 탐지 시스템이
빠르게 보급되고 있음
전체 민원의 90.6%가 발생하나
여전히 전화·민원앱에 의존
휴먼 스케일 도로에서의
가장 빠르고 정확한 신고 시스템이 필요했습니다.
효율적인 협업과 형상 관리를 통하여 프로젝트의 완성도를 높입니다.
프로젝트 전체 문서화, 회의록, API, SQL쿼리, 스크럼 리스트, 팀 스케쥴 관리, 학습모델 성적표 관리에 사용했습니다.
프로젝트 코드 보관, 버전관리, 스크럼 수정사항 동기화, 로컬 Git 브랜치 트래킹, 병합, 충돌 관리에 사용했습니다.
의존성 기반으로 WBS를 경험해보고, 백로그의 진척도를 확인하여 Risk 파악용으로 활용했습니다.
데이터 관리 및 지능형 생산성 극대화를 위한 AI 어시스턴트 인프라
모델학습용 데이터 보관 및 공유, AI 학습, 앱스크립트 자동화로 나노바나나API 연동으로 테스트셋 생성 및 중복 관리
제 3의 팀원들. 작성한 코드의 문제나, 프로젝트 상에서 발생한 구조적 문제를 파악하여 디버깅에 많은 도움을 주었습니다.
안정적인 백엔드와 강력한 비전 AI 파이프라인의 핵심 엔진입니다.
Python 기반의 초경량 Flask 프레임워크를 사용하여 서버를 구축했습니다. 복잡한 설정 없이도 AI 모델과 직접 소통하여 데이터 처리 속도가 매우 빠르며, 최적화된 API 설계를 통해 유연한 확장성을 제공합니다.
팀원별 12종 모델을 7대 평리지표로 정밀 비교 분석하여 최적의 성능을 낸 모델을 선정했습니다. 이용자가 신고한 미디어 속 도로 파손 부위를 자동 탐지합니다.
Pillow를 활용한 이미지 정규화 및 HEIF/HEIC 최신 포맷 변환과 OpenCV의 강력한 필터링 기술을 결합하여, AI 탐지 결과에 대한 Bounding Box 렌더링과 시각화가 가능합니다.
대용량 미디어 처리와 AI 추론 중에도 서버의 메인 프로세스가 멈추지 않도록 비동기 스레드 풀을 구축했습니다. 이를 통해 백그라운드 작업 중에도 사용자에게 즉각적이고 부드러운 UI 경험을 보장합니다.
사용자 친화적이고 직관적인 웹 인터페이스와 실시간 매핑 기술입니다.
무거운 라이브러리에 의존하지 않고 순수 웹 기술(Vanilla)만을 사용하여 브라우저 렌더링 성능을 극대화했습니다. 불필요한 코드 적재를 최소화하여 즉각적인 반응속도와 시각 쾌적함을 보장합니다.
웹과 앱의 장점을 결합한 PWA를 통해 별도의 설치 없이 홈 화면에 추가하여 앱처럼 사용할 수 있습니다. 오프라인 지원을 포함하여 Android(Chrome 메뉴→홈 화면 추가)와 iOS(Safari 공유→홈 화면 추가) 모두에서 최상의 접근성을 제공합니다.
국내 환경에 특화된 인터랙티브 카카오 웹 지도 클라이언트를 도입하여 사용자 위치정보를 렌더링합니다.
다중 마커 매핑 시스템과 함께 확대/축소 클러스터링 기반 도로
데이터 분석 기반
툴을 제공합니다.
비전 AI로 분석된 물리적인 위/경도 좌표를 실시간 통신하여 실제 지번/도로명 주소로 치환합니다.
역지오코딩을 활용해 행정구역 별 파손 데이터 색인 기능을
대행하며 리포트 작성 시
자동 활용됩니다.
TiDB 기반의 관계도 (ERD)
mAP50기준으로 내림차순 되었으며, 추가 내용은 각 행을 클릭하시면 확인하실 수 있습니다.
| 순서 | 조원 | 학습 데이터 및 주요 특징 | mAP50 | Recall | mAP50-95 | 사용 모델 | Epochs/얼리스탑 |
|---|---|---|---|---|---|---|---|
| 1 | 이시환 | 포트홀, 씽크홀 추가학습 결과 | 0.9950 | 1.0000 | 0.8370 | YOLOv8s | 50/0 (No) |
| 2 | 이지건 | 노면 데이터 + 기하학 변화 및 6종 증강 합성 | 0.9770 | 0.9550 | 0.7820 | YOLO8n | 30/0 (No) |
|
3
|
김수빈 | AI 고해상도 자료중 포트홀 + 최종 선별 싱크홀 | 0.9330 | 0.8910 | 0.7090 | YOLOv11s | 100/10 (No) |
| 4 | 김수빈 | AI 허브 21만장 전량 + 씽크홀 데이터 1500장 | 0.9017 | 0.8484 | 0.6528 | YOLOv8s | 30/5 (Yes) |
| 5 | 김지영 | AI허브 고화질 노면데이터 + 포트홀/싱크홀 v1 | 0.8960 | 0.8280 | 0.6720 | YOLOv11m | 100/50 (No) |
|
6
|
김지영 | 데이터 셋 병합 최적화 및 파라미터 튜닝 v2 | 0.8950 | 0.8230 | 0.6680 | YOLOv8m | 100/100 (No) |
| 7 | 김지영 | 포트홀+싱크홀 세그멘테이션 라벨링 1480장 | 0.8690 | 0.7840 | 0.6540 | YOLOv11m | 100/50 (No) |
|
8
|
김수빈 | AI 허브 고화질 노면 데이터 21만장 100에포크 | 0.8680 | 0.8070 | 0.6500 | YOLOv8s | 100/10 (No) |
| 9 | 김지영 | 포트홀 이미지 세그멘테이션 라벨링 1220장 | 0.8490 | 0.7890 | 0.5700 | YOLOv11m | 30/30 (No) |
| 10 | 이지건 | AI 허브 도로장애물/표면 인지 영상 (수도권 외) | 0.7370 | 0.6610 | 0.5220 | YOLOv8s | 50/10 (No) |
| 11 | 김수빈 | 최종 선별 싱크홀 + 고해상도 포트홀 (1차) | 0.6580 | 0.4130 | 0.4110 | YOLOv11m | 300/20 (Yes) |
| 12 | 이지건 | 도로장애물 인지 영상 통합 학습 (2차) | 0.5320 | 0.4770 | 0.3000 | YOLO8n | 100/10 (No) |
| 13 | 노형래 | SAM2 Hiera Tiny 기반 커스텀 학습 (260331test) | 0.1317 | - | - | SAM2_tiny | 30/0 (No) |
9:1(Train:866장 / Vali: 96장)
-
팀원별 최종 제출 모델(5종)의 학습(Train) 및 검증(Validation) 메트릭 교차 분석
| ① 원본데이터셋 크기 (15%) | 학습량과 데이터 다양성 확보 |
|---|---|
| ② 층화추출 / 불균형 극복 (20%) | 싱크홀 소수 클래스 편향 제거 |
| ③ 증강 / 최적화 기법 (15%) | 파라미터 튜닝, AdamW 등 |
| ④ 학습 에포크 적절성 (10%) | 과적합(Overfitting) 모니터링 |
| ⑤ 실제 Test mAP50 (25%) | 블라인드 100장 테스트 정확도 |
| ⑥ Box Precision (5%) | 바운딩박스 정밀도 |
| ⑦ Box Loss 수렴도 (5%) | 손실 함수 안정적 수렴 |
| ⑧ 모델 아키텍처 적합성 (3%) | 모델 크기/복잡도 균형 |
| ⑨ 실전 추론 안정성 (2%) | 실시간 탐지 신뢰도 |
실제 예측 성능 검증 앨범: 싱크홀과 포트홀 클래스 피쳐 분류 내역
종합 성능 평가 대시보드: 정밀도, 재현율, 피트박스 및 메트릭스 통합 분석 결과 (8종)
Alert — 신고 피드
이용자에게 가까운 지역 및 처리 상태에 따라 필터를 적용하여 피드 노출 순위를 유연하게 구성할 수 있습니다.
YOLOv8m이 60% 이상의 확률로 판정한 신고만 노출하여 인적 오류 및 허위 신고를 자동 차단합니다.
Report — 신고 접수
현장의 멀티미디어 자료를 간편하게 업로드하여 데이터를 효과적으로 수집합니다.
디바이스의 Geolocation API를 활용해 문제 발생 위치를 실시간으로 정확히 매핑합니다.
Status — 처리 추적
지자체 및 유관 부서와의 처리 연계 상태를 확인하고, 상세한 진행 피드백을 제공합니다.
MyPage — 개인 관리
상세 신고 이력 관리 및 개인별 기여도 조회 기능을 지원합니다.
신고 처리가 최종 완료되면 지급되는 포인트를 사용해 건의사항이나 자유로운 의견을 남길 수 있습니다.
실시간으로 접수되는 파손 구역을 지도 위 클러스터링 기반으로 시각화하여 관제 직관성을 극대화합니다.
YOLO Vision AI가 분석한 데이터 판독 지표를 분석 통계 차트로 변환하여 행정 의사결정을 실시간 지원합니다.
AI 심각도(Risk Score) 및 지역 데이터를 분석하여 복구가 시급한 위험 지역의 보수 우선순위를 자동 스케줄링합니다.
단순한 신고 기능을 넘어, 발생 가능한 운영적·법적 리스크를 아키텍처 로직으로 사전 차단합니다.
사용자가 지도에서 직접 선택한 GPS 좌표를 기반으로, 최근 24시간 내 반경 50m 이내의 동일한 중복 제보는 시스템 단에서 자동 승인 거절됩니다.
우려: 매크로 및 포인트 파밍 목적의 허위 제보
특정 지역의 과거 사진을 재사용하여 반복적으로 제보를 넣거나, 의도적으로 포인트를 파밍하기 위해 허위 접수를 시도해 행정 예산을 낭비시킬 리스크가 있습니다.
마우스를 올리면 방어 로직을 확인할 수 있습니다
DB 보관 데이터를 최소화하기 위해 식별자 가명화(Pseudonymized ID)를 사용하며, 서버 전송 즉시 Python Pillow를 이용하여 사진의 EXIF 데이터를 물리적 파쇄한 뒤 클린본만 저장해 추적을 원천 차단합니다.
우려: 민원인 신상 및 사생활 노출
공공 피드에 신고자의 신원이 드러나거나, 사진 원본의 EXIF 메타데이터를 통해 개인의 이동 동선(집, 직장) 등이 분석되어 노출될 심각한 위험이 있습니다.
마우스를 올리면 방어 로직을 확인할 수 있습니다
YOLOv8m Vision AI가 사진을 스레드로 정밀 판독하여 도로 파손 특성이 발견되지 않는 경우, 사람이 직접 보기도 전에 자동으로 반려(Rejected) 상태로 처리해 인력 소모를 방지합니다.
우려: 무의미한 민원 및 스팸 사진 테러
도로와 완전히 관계없는 일상 사진이나 밈(Meme) 등을 다량으로 접수하여 행정망을 혼란에 빠뜨리고 인력을 고갈시키는 디지털 테러 가능성이 있습니다.
마우스를 올리면 방어 로직을 확인할 수 있습니다
경청해 주셔서 감사합니다.
원활한 프레젠테이션 시청을 위해 PC에서 접속해주세요!
Werkzeug의 PBKDF2 사용. Django, Flask의 기본값으로 채택된 지극히 검증된 보안 표준입니다. 60만 번의 반복 연산으로 무차별 공격을 무력화합니다.
한 번 변환되면 복호화가 절대 불가능합니다. 서버 관리자조차 사용자의 원문 비밀번호를 알 수 없으며, 대조를 통한 인증 방식으로만 사용됩니다.
동일한 비밀번호라도 사용자마다 고유한 솔트값을 섞어 다른 해시를 생성합니다. 레인보우 테이블 공격을 완벽히 차단합니다.