PRESENTATION LOADING
인터넷 환경에 따라 최대 1분의 로딩시간이 걸릴 수 있습니다.

모두가 맘편히 이용할 수 있는 안전한 도로를 만듭니다.

방향키로 슬라이드를 전환해보세요

TEAM CRACKER

풀스택 개발에서 비전학습까지 함께한 팀원들을 소개합니다.

팀원간 스크럼&리스크 관리
프론트 레이아웃 셋팅
데이터베이스, 백엔드 통합
비속어 필터 구현
데이터 라벨링&모델학습
PPT Front 구현
김수빈
Report, 게시물 첨부 담당
중복 신고 차단
Report, Alert 서비스 병합
웹소켓 실시간 제보
데이터 라벨링 & 모델학습
김지영
관리자 대쉬보드 구현
Alert 메뉴 필터구현
상태변경 확인 로직
대쉬보드와 alert 연동
데이터 라벨링 &모델학습
이지건
회원관련 기능 고도화
게시물 수정&삭제 기능
서버배포 담당
데이터 라벨링 & 모델학습
테스트 데이터셋 생성
노형래
회원관련 CRUD 담당
데이터 라벨링 & 모델학습
트러블슈팅
이시환

COMPOSITION

프레젠테이션 구성

CRACK
Logout
01

개발 배경

Alert
5
Report
Status
My

개발 배경

4p ~ 6p
CRACK
Logout
02

기술 스택

Alert
5
Report
Status
My

기술 스택

7p ~ 10p
CRACK
Logout
03

아키텍쳐

Alert
5
Report
Status
My

아키텍쳐

11p ~ 12p
CRACK
Logout
04

AI 모델

Alert
5
Report
Status
My

AI 모델

13p ~ 18p
CRACK
Logout
05

핵심 서비스

Alert
5
Report
Status
My

핵심 서비스

19p ~ 24p

포트홀인가요?

26,488
전국 고속도로 포트홀 발생
(2020~2024년 5년간)
154
억 원
포트홀 배상금 지급액
(2020~2024년 누적)
3배
급증
연간 배상액 14억 → 42억
(2020년 대비 2024년)
861
km / 연
우리나라 도로는 매년
서울 ~ 부산 왕복 거리만큼
새로 생겨나고 있습니다.

도로는 계속 늘어나고 노후화(51.5%)는 가속됨에 따라, 포트홀 발생은 필연적입니다.

골목길과 일반도로는 더 심각합니다

포트홀 민원의 90.6%가 지자체 관리 도로(일반도로·골목길)에서 발생합니다

52,262
지자체 도로 포트홀 민원
(2022~2024.02, 약 2년간)
152,551
서울시 일반도로 포트홀
(2019~2023년, 하루 평균 83건)
654
건의 인적사고
일반도로·지방도 인명피해
(3개년 종합, 사망 2건 포함)
103
억 원
서울시 일반도로 배상금
(2019~2023년 누적)
65만+
전국 포트홀 총 집계
(3개년, 대부분 생활권 도로)

그래서 CRACK

고속도로 · 간선도로

지자체별 자동화 탐지 시스템
빠르게 보급되고 있음

지자체별로 시스템 작동중
VS

골목길 · 일반도로

전체 민원의 90.6%가 발생하나
여전히 전화·민원앱에 의존

시스템 보완 필요

휴먼 스케일 도로에서의
가장 빠르고 정확한 신고 시스템이 필요했습니다.

Collaboration Tools

효율적인 협업과 형상 관리를 통하여 프로젝트의 완성도를 높입니다.

Notion

프로젝트 전체 문서화, 회의록, API, SQL쿼리, 스크럼 리스트, 팀 스케쥴 관리, 학습모델 성적표 관리에 사용했습니다.

GitHub & SourceTree

프로젝트 코드 보관, 버전관리, 스크럼 수정사항 동기화, 로컬 Git 브랜치 트래킹, 병합, 충돌 관리에 사용했습니다.

Jira (Kanban)

의존성 기반으로 WBS를 경험해보고, 백로그의 진척도를 확인하여 Risk 파악용으로 활용했습니다.

AI & Data Tools

데이터 관리 및 지능형 생산성 극대화를 위한 AI 어시스턴트 인프라

Google Workspace Data Pipeline

모델학습용 데이터 보관 및 공유, AI 학습, 앱스크립트 자동화로 나노바나나API 연동으로 테스트셋 생성 및 중복 관리

Generative AI & LLMs

제 3의 팀원들. 작성한 코드의 문제나, 프로젝트 상에서 발생한 구조적 문제를 파악하여 디버깅에 많은 도움을 주었습니다.

Backend Engine

안정적인 백엔드와 강력한 비전 AI 파이프라인의 핵심 엔진입니다.

Python / Flask

Python 기반의 초경량 Flask 프레임워크를 사용하여 서버를 구축했습니다. 복잡한 설정 없이도 AI 모델과 직접 소통하여 데이터 처리 속도가 매우 빠르며, 최적화된 API 설계를 통해 유연한 확장성을 제공합니다.

YOLOv8m

팀원별 12종 모델을 7대 평리지표로 정밀 비교 분석하여 최적의 성능을 낸 모델을 선정했습니다. 이용자가 신고한 미디어 속 도로 파손 부위를 자동 탐지합니다.

Pillow / OpenCV

Pillow를 활용한 이미지 정규화 및 HEIF/HEIC 최신 포맷 변환과 OpenCV의 강력한 필터링 기술을 결합하여, AI 탐지 결과에 대한 Bounding Box 렌더링과 시각화가 가능합니다.

비동기 Threading

대용량 미디어 처리와 AI 추론 중에도 서버의 메인 프로세스가 멈추지 않도록 비동기 스레드 풀을 구축했습니다. 이를 통해 백그라운드 작업 중에도 사용자에게 즉각적이고 부드러운 UI 경험을 보장합니다.

Front + API

사용자 친화적이고 직관적인 웹 인터페이스와 실시간 매핑 기술입니다.

HTML5 / CSS3 / Vanilla JS

무거운 라이브러리에 의존하지 않고 순수 웹 기술(Vanilla)만을 사용하여 브라우저 렌더링 성능을 극대화했습니다. 불필요한 코드 적재를 최소화하여 즉각적인 반응속도와 시각 쾌적함을 보장합니다.

Progressive Web App (PWA)

웹과 앱의 장점을 결합한 PWA를 통해 별도의 설치 없이 홈 화면에 추가하여 앱처럼 사용할 수 있습니다. 오프라인 지원을 포함하여 Android(Chrome 메뉴→홈 화면 추가)와 iOS(Safari 공유→홈 화면 추가) 모두에서 최상의 접근성을 제공합니다.

Kakao Map SDK

국내 환경에 특화된 인터랙티브 카카오 웹 지도 클라이언트를 도입하여 사용자 위치정보를 렌더링합니다.
다중 마커 매핑 시스템과 함께 확대/축소 클러스터링 기반 도로 데이터 분석 기반 툴을 제공합니다.

Kakao Local API

비전 AI로 분석된 물리적인 위/경도 좌표를 실시간 통신하여 실제 지번/도로명 주소로 치환합니다.
역지오코딩을 활용해 행정구역 별 파손 데이터 색인 기능을 대행하며 리포트 작성 시 자동 활용됩니다.

Service Architecture

2-Tier Architecture
Tier 1 — Hosting Server
Frontend Vanilla JS · PWA · Jinja2 Templates
Backend (Flask) RESTful API · 멀티스레딩 · AI 추론
Media Storage 업로드 이미지 · 분석 결과 · 모델 파일
Query
Result
Tier 2 — DB Server
TiDB Serverless 분산 처리형 클라우드 RDBMS
Request-Response Flow
Client
요청 / 업로드 ↓
Flask Router
Template
YOLO Engine
Storage
TiDB
Response

Database Architecture

TiDB 기반의 관계도 (ERD)

ai_results
id PK, INT
report_id FK, INT FK
is_damaged BOOL
confidence FLOAT
damage_type STR(50)
created_at DATETIME
video_detections
id PK, INT
report_id FK, INT FK
frame_time FLOAT
class_name STR(100)
created_at DATETIME
report
id PK, INT PK
user_id FK, INT FK
title STR(255)
address STR(255)
file_path STR(512)
thumbnail_path STR(512)
status STR(20)
created_at DATETIME
members
id PK, INT PK
username STR(80) UN
password_hash STR(255) ENCRYPTED
email STR(120)
region_* STR(50)
points, admin INT/BOOL
created_at DATETIME
crack_talk
id PK, INT
author_id FK, INT FK
content TEXT (NN)
is_blinded BOOL
created_at DATETIME
point_logs
id PK, INT
user_id FK, INT FK
amount, reason INT, STR
created_at DATETIME
user_settings
id PK, INT
user_id FK, INT FK, UN
notification_enabled BOOL
created_at DATETIME
notices
id PK, INT
title, category STR
content TEXT
author_id FK, INT FK
created_at DATETIME

AI TRAINING OVERVIEW

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)

Team Model Performance Comparison

팀원별 최종 제출 모델(5종)의 학습(Train) 및 검증(Validation) 메트릭 교차 분석

Train Set (Loss & Accuracy)
Validation Set (Loss & Accuracy)

최종 모델 선정: 3번 vs 6번 심층 비교 분석

자체 검증 가중치 9대 지표

① 원본데이터셋 크기 (15%) 학습량과 데이터 다양성 확보
② 층화추출 / 불균형 극복 (20%) 싱크홀 소수 클래스 편향 제거
③ 증강 / 최적화 기법 (15%) 파라미터 튜닝, AdamW 등
④ 학습 에포크 적절성 (10%) 과적합(Overfitting) 모니터링
⑤ 실제 Test mAP50 (25%) 블라인드 100장 테스트 정확도
⑥ Box Precision (5%) 바운딩박스 정밀도
⑦ Box Loss 수렴도 (5%) 손실 함수 안정적 수렴
⑧ 모델 아키텍처 적합성 (3%) 모델 크기/복잡도 균형
⑨ 실전 추론 안정성 (2%) 실시간 탐지 신뢰도

9대 평가 지표 심층 비교 분석

1. 원본데이터셋 크기 (15%) 3번: 9.5점 | 6번: 7.0점
2. 층화추출 / 불균형극복 (20%) 3번: 8.5점 | 6번: 9.5점
3. 증강 및 최적화 기법 (15%) 3번: 8.5점 | 6번: 9.0점
4. 학습 에포크 적절성 (10%) 3번: 8.5점 | 6번: 9.5점
5. 실제 Test mAP50 (25%) 3번: 4.74점 / 6번: 6.10점
6. Box Precision (5%) 3번: 3.85점 | 6번: 6.1점
7. Box Loss 수렴도 (5%) 3번: 5.74점 | 6번: 7.1점
8. 아키텍처 적합성 (3%) 3번: 8.0점 | 6번: 9.0점
9. 실전 추론 안정성 (2%) 3번: 8.0점 | 6번: 9.0점

Final Model Performance Summary: Multi-Metric Analysis

9대 핵심 레이더 역량 분석

가중치 기여도 분석

YOLOv11s 7.31 pts
YOLOv8m (선정)
7.89 pts

Class Detection Results

실제 예측 성능 검증 앨범: 싱크홀과 포트홀 클래스 피쳐 분류 내역

Validation Batch 0
Val Batch 0 Predictions
Validation Batch 1
Val Batch 1 Predictions
Validation Batch 2
Val Batch 2 Predictions

Training Metrics & Analysis (best_merge_v2)

종합 성능 평가 대시보드: 정밀도, 재현율, 피트박스 및 메트릭스 통합 분석 결과 (8종)

Training Results
Training Results
Labels Distribution
Labels Dataset
Confusion Matrix
Confusion Matrix
Normalized Confusion Matrix
Normalized Matrix
Box F1 Curve
Box F1 Curve
Box PR Curve
Box PR Curve
Box P Curve
Precision Curve
Box R Curve
Recall Curve

핵심 서비스 로직 01

Alert — 신고 피드

거리 기반 우선 노출

이용자에게 가까운 지역 및 처리 상태에 따라 필터를 적용하여 피드 노출 순위를 유연하게 구성할 수 있습니다.

AI 60% 이상 필터링

YOLOv8m이 60% 이상의 확률로 판정한 신고만 노출하여 인적 오류 및 허위 신고를 자동 차단합니다.

핵심 서비스 로직 02

Report — 신고 접수

사진 & 동영상 접수

현장의 멀티미디어 자료를 간편하게 업로드하여 데이터를 효과적으로 수집합니다.

발견 위치 지정

디바이스의 Geolocation API를 활용해 문제 발생 위치를 실시간으로 정확히 매핑합니다.

핵심 서비스 로직 03

Status — 처리 추적

신고 처리 현황 지원

지자체 및 유관 부서와의 처리 연계 상태를 확인하고, 상세한 진행 피드백을 제공합니다.

핵심 서비스 로직 04

MyPage — 개인 관리

사용자 활동 내역

상세 신고 이력 관리 및 개인별 기여도 조회 기능을 지원합니다.

크랙톡(CrackTalk) 참여

신고 처리가 최종 완료되면 지급되는 포인트를 사용해 건의사항이나 자유로운 의견을 남길 수 있습니다.

ADMIN DASHBOARD

실시간 도로 현황 관제

실시간으로 접수되는 파손 구역을 지도 위 클러스터링 기반으로 시각화하여 관제 직관성을 극대화합니다.

AI 데이터 시각화

YOLO Vision AI가 분석한 데이터 판독 지표를 분석 통계 차트로 변환하여 행정 의사결정을 실시간 지원합니다.

업무 배분 우선순위 산출

AI 심각도(Risk Score) 및 지역 데이터를 분석하여 복구가 시급한 위험 지역의 보수 우선순위를 자동 스케줄링합니다.

안정적인 서비스 운영을 위한
Technical Risk Mitigation

단순한 신고 기능을 넘어, 발생 가능한 운영적·법적 리스크를 아키텍처 로직으로 사전 차단합니다.

방어 로직

Duplicate Cross-Check

사용자가 지도에서 직접 선택한 GPS 좌표를 기반으로, 최근 24시간 내 반경 50m 이내의 동일한 중복 제보는 시스템 단에서 자동 승인 거절됩니다.

정보 무결성 (어뷰징 차단)

우려: 매크로 및 포인트 파밍 목적의 허위 제보

특정 지역의 과거 사진을 재사용하여 반복적으로 제보를 넣거나, 의도적으로 포인트를 파밍하기 위해 허위 접수를 시도해 행정 예산을 낭비시킬 리스크가 있습니다.

마우스를 올리면 방어 로직을 확인할 수 있습니다

방어 로직

Data Minimization

DB 보관 데이터를 최소화하기 위해 식별자 가명화(Pseudonymized ID)를 사용하며, 서버 전송 즉시 Python Pillow를 이용하여 사진의 EXIF 데이터를 물리적 파쇄한 뒤 클린본만 저장해 추적을 원천 차단합니다.

개인정보 보호법

우려: 민원인 신상 및 사생활 노출

공공 피드에 신고자의 신원이 드러나거나, 사진 원본의 EXIF 메타데이터를 통해 개인의 이동 동선(집, 직장) 등이 분석되어 노출될 심각한 위험이 있습니다.

마우스를 올리면 방어 로직을 확인할 수 있습니다

방어 로직

AI Filtering

YOLOv8m Vision AI가 사진을 스레드로 정밀 판독하여 도로 파손 특성이 발견되지 않는 경우, 사람이 직접 보기도 전에 자동으로 반려(Rejected) 상태로 처리해 인력 소모를 방지합니다.

공무집행방해 (위계)

우려: 무의미한 민원 및 스팸 사진 테러

도로와 완전히 관계없는 일상 사진이나 밈(Meme) 등을 다량으로 접수하여 행정망을 혼란에 빠뜨리고 인력을 고갈시키는 디지털 테러 가능성이 있습니다.

마우스를 올리면 방어 로직을 확인할 수 있습니다

Q & A

경청해 주셔서 감사합니다.

Zoomed Metric

PC 버전에 최적화된
PPT 페이지입니다.

원활한 프레젠테이션 시청을 위해 PC에서 접속해주세요!