[졸업 논문] 교통 체증을 인프라 제어로 해결해보자! 🚌

📚 시작하며 – 졸업논문을 소개합니다

안녕하세요! 저는 2026년 2월 인천대학교 대학원 임베디드시스템공학과에서 석사학위를 받은 김민수입니다. 오늘은 제 졸업논문 「엣지학습기반 교통량 예측과 적응형 인프라 제어를 통한 교통감시 시스템 설계」에 대해 친근하게 소개해드리겠습니다.

이 연구는 김현범 교수님의 정성스러운 지도 아래에서 진행되었으며 스마트 시티의 미래를 조금이나마 앞당기고자 했던 제 열정이 담겨있습니다.


🚗 연구의 시작 – 도시 교통의 낭비에 주목하다

왜 이 연구를 시작했나요?

매일 아침 출근길 퇴근길을 보면서 계속 생각했던 질문이 있어요. “왜 도시의 교통 인프라는 밤새도록 켜져 있을까?”

고속도로변의 CCTV 카메라, 교통 신호등, 전광판… 모두 24시간 내내 에너지를 소비합니다. 그런데 밤 2시에 차량이 거의 없는데도 카메라는 풀 가동하고 있어요. 이건 명백한 에너지 낭비입니다.

도시화의 그림자 – 교통 혼잡과 에너지 효율

현대 도시가 직면한 두 가지 과제:

🔴 교통 혼잡 문제

  • 출퇴근 시간대 교통량 폭증
  • 도시 전역의 이동 시간 증가
  • 운전자 스트레스와 환경 오염 악화

에너지 낭비 문제

  • 교통 인프라의 24시간 풀 가동
  • 불필요한 전력 소비
  • 운영 비용의 엄청난 증가

이 두 문제를 한 번에 해결할 수 있다면 어떨까요? 바로 이게 제 연구의 시작점이었습니다!


💡 기존 시스템의 한계

중앙 집중식 구조의 문제점

기존 스마트 교통 시스템은 이렇게 작동합니다:

📹 CCTV → 📡 네트워크 → 🖥️ 중앙 서버 → 분석 
→ 📡 신호 전송 → 🚦 실행

이 과정에서 발생하는 문제들:

단계문제점영향
센서 데이터 전송네트워크 필수터널, 산간지역 불가능
중앙 서버 처리통신 지연 발생실시간 대응 어려움
제어 명령 전송추가 지연 발생응답 시간 증가
서버 장애전체 시스템 마비한 지점 장애 = 전체 영향

엣지 컴퓨팅이라는 솔루션 🧠

저는 이상적인 상황을 그렸어요:

🏘️ 교차로마다 독립적인 딥러닝 엔진 설치
↓
📊 로컬에서 교통량 자동 예측
↓
⚡ 즉시 카메라 제어 결정
↓
📹 네트워크 없이도 완벽하게 작동!

엣지 기반 시스템의 장점:

  • ✅ 네트워크 연결이 없어도 됨
  • ✅ 즉시 반응 가능 (밀리초 단위!)
  • ✅ 한 구간이 고장나도 다른 곳은 멀쩡함
  • ✅ 각 구간이 독립적으로 확장 가능

📊 핵심 기술 – 어떻게 구현했나?

1단계: 데이터와 통계 분석

저는 서울시의 5년치 교통 데이터(2020~2024)를 분석했어요. 처음에는 단순한 호기심이었지만, 정말 놀라운 패턴들을 발견했습니다.

교통량의 숨겨진 패턴들

요일 효과 분석 🗓️

평일(월 ~ 금)과 주말(토 ~ 일)의 교통 패턴이 정말 달라요:

월-금 (평일):
  자정~새벽: 낮음 (⬇️)
  아침 7-9시: 매우 높음 (⬆️⬆️⬆️)
  낮 12-13시: 소폭 증가
  저녁 18-20시: 최고조 (⬆️⬆️⬆️)
  밤 22-24시: 감소 (⬇️)

토-일 (주말):
  자정~새벽: 낮음 (⬇️)
  아침: 완만한 증가
  낮 12-16시: 상대적 높음
  저녁: 서서히 감소
  패턴이 훨씬 부드러움!

휴일 효과 검증 📊

t-검정으로 통계 검증을 했더니:

항목
공휴일 평균 교통량평일의 75~80%
감소율20~25%
p-value< 0.001 (매우 유의미!)

이게 뭔가요? 이건 단순한 운이 아니라 구조적인 패턴이라는 뜻입니다! 공휴일이 되면 정말 규칙적으로 교통량이 줄어든다는 거죠.

2단계: Prophet-MLP 하이브리드 모델 – 예측의 핵심 🧠

이제 교통량을 정확하게 예측해야 합니다. 저는 두 기술을 조합했어요.

Prophet: 시계열의 아버지

Facebook에서 만든 Prophet은 시계열 데이터를 이렇게 분해합니다:

교통량 = 트렌드(장기 추세) + 계절성(반복 패턴) + 휴일 효과 + 잔차(나머지)

Prophet의 강점:

  • 시간 구조를 명시적으로 이해
  • 모든 성분을 분리 가능
  • 수십 년의 Facebook 경험 담음

Prophet의 약점:

  • 외생 변수(요일, 공휴일)를 선형 회귀로만 처리
  • 비선형 패턴을 놓칠 수 있음

MLP: 신경망의 유연성

그래서 저는 MLP(다층 퍼셉트론)라는 신경망을 추가했어요.

MLP의 역할: Prophet이 놓친 비선형 부분 학습
입력: 요일, 공휴일 정보
출력: Prophet 예측값을 보정해주는 값

MLP의 구조:

입력층 (4개 변수)
  ↓
은닉층 1: 64개 뉴런
  ↓
은닉층 2: 32개 뉴런
  ↓
은닉층 3: 16개 뉴런
  ↓
출력층 (1개 값 - 잔차 보정)

최종 예측식

최종 예측 = Prophet 결과 + MLP 보정값

이게 정말 강력한 이유:

🎯 전문성: Prophet이 시계열 구조 담당 🧠 유연성: MLP가 미묘한 비선형 패턴 포착 ⚡ 효율성: 복잡하지 않으면서도 정확함 📱 엣지친화: 라즈베리파이에서도 실시간 동작

다른 모델들과의 비교

정직하게 다른 모델들과 비교해봤어요:

모델학습 시간추론 시간메모리정확도(R²)
Prophet+MLP(제안)32초24ms165MB0.97
Prophet9.6초21ms127MB0.86
MLP18.6초6.6ms123MB0.94
Neural Prophet8분 18초72ms289MB0.89
LSTM7분+41ms294MB0.90
Attention8분+35ms300MB측정 실패

왜 제안 모델이 최고일까?

Neural Prophet과 비교:

  • 학습 속도: 15배 빠름
  • 메모리: 1.76배 적음 💾
  • 정확도: 8% 높음 🎯

🧪 실험 결과 – 정말 작동하나?

실험 환경

하드웨어: Raspberry Pi 5

  • 프로세서: ARM Cortex-A76 (4 cores)
  • 메모리: 8GB LPDDR5
  • 스토리지: 256GB microSD

이 정도면 실제 도로에 설치하기에 딱 맞는 저사양 컴퓨터입니다. “여기서도 작동한다”면 어디든 배포할 수 있다는 뜻이에요!

예측 정확도 ⭐

모델 성능 비교 (2025년 1월 평일 기준)

평가 지표수치의미
R² (설명력)0.97실제 변동의 97% 정확히 예측 ✅
RMSE27.34대평균 27대 오차
MAE21.50대평균 22대 오차 (더 현실적)
MAPE8.77%평균 9% 미만의 상대 오차

이게 얼마나 좋은 성능일까요?

실제 시나리오를 생각해봐요. 어느 시간에 800대의 차가 지나간다고 하면:

  • 예측값: 773대 (오차 27대)
  • 정확도: 96.6%

이 정도면 충분히 우수한 예측이라고 봅니다!

실시간 예측 예시

2025년 1월 6일(평일) 하루를 예시로:

시간대별 교통량 예측:
00시: 200대 → 실제 195대 (오차 5대) ✅
08시: 650대 → 실제 648대 (오차 2대) ✅
12시: 450대 → 실제 460대 (오차 10대) ✅
18시: 580대 → 실제 575대 (오차 5대) ✅
23시: 300대 → 실제 298대 (오차 2대) ✅

이 정도면 “와, 정확하네!” 할 수준입니다 🎉

데이터양의 중요성 📅

중요한 발견: 1년 데이터로는 부족하다!

데이터 기간학습 시간문제점
1년0.649.4초❌ 새벽시간 음수 예측!
5년0.9732초✅ 모든 패턴 학습

왜 5년이 필요할까?

  • 📅 계절이 4번 반복되어야 계절 패턴 확실히 학습
  • 📊 장기 추세(교통량 증감)를 정확히 포착
  • 🗓️ 모든 요일의 패턴을 충분히 확보
  • 🌍 특수한 날씨나 사건의 영향 학습

1년 데이터로 학습하면 새벽시간에 음수값이 나오는 말도 안 되는 결과가 나와요. 이건 모델이 “아, 새벽에는 이렇게 낮아야 한다”는 것도 모르는 상황입니다.


🚦 적응형 카메라 제어 – 예측을 행동으로

카메라 배열과 제어 레벨 📹

┌─────────┬─────────┬─────────┐
│ 카메라1  │ 카메라2  │ 카메라3  │📹 Level 3 (고급 모니터링)
├─────────┼─────────┼─────────┤
│ 카메라4  │ 카메라5  │ 카메라6  │📹 Level 2 (표준 모니터링)
├─────────┼─────────┼─────────┤
│ 카메라7  │ 카메라8  │ 카메라9  │📹 Level 1 (기본 모니터링)
└─────────┴─────────┴─────────┘

제어 방식:

  • Level 1: 3대 카메라만 가동 (최소 모니터링)
  • Level 2: 6대 카메라 가동 (표준)
  • Level 3: 9대 카메라 가동 (완전 모니터링)

RVCL 알고리즘 – 똑똑한 제어 🤖

저는 RVCL (Randomized Variable Camera Level) 알고리즘을 개발했습니다. 매일 이렇게 작동해요:

매일 자정에 하는 일 (00시)

Step 1️⃣: 오늘 정보 파악
  - 오늘의 요일은? (월~일)
  - 공휴일인가?

Step 2️⃣: 24시간 교통량 예측
  - Prophet-MLP 모델 실행
  - 추론 시간: 23.97ms (굉장히 빠름!)
  - 결과: 24시간별 교통량 값

Step 3️⃣: 10분 단위로 세분화
  - 24시간 × 6 = 144개 10분 구간 생성
  - 시간별 값 사이를 부드럽게 연결

Step 4️⃣: 0~1 범위로 정규화
  - 최대값 = 1.0, 최소값 = 0.0
  - 모든 값을 이 범위에 맞춤

Step 5️⃣: 카메라 레벨 결정
  - scalefactor(0.9) × 정규화값 = 기본 레벨
  - base(0.1) = 최소 10% 항상 활성화
  - 144개의 레벨 결정 완료

Step 6️⃣: 스케줄 저장
  - 24시간 스케줄을 로컬 저장소에 저장
  - 네트워크 없어도 작동 준비 완료!

매 10분마다 하는 일

현재 시각 확인
  ↓
저장된 스케줄에서 해당 구간 찾기
  ↓
필요한 카메라 개수 확인
  ↓
카메라 전원 ON/OFF 제어
  ↓
다음 10분 대기

정말 단순하면서도 효과적이에요!

파라미터의 의미

scalefactor = 0.9

  • 교통량의 90%를 기준으로 카메라 수 결정
  • 변동성을 충분히 포착하되, 과도한 제어는 피함

base = 0.1

  • 아무리 교통량이 적어도 10% 이상의 카메라 활성화
  • 최소 3대(9대 × 0.1)는 항상 가동
  • 예상 밖의 차량 급증에 대비

⚡ 성과 1: 전력 절감 💰

얼마나 전력을 아낄 수 있나?

제가 정말 궁금했던 부분이에요. 실제로 얼마나 절감될까?

제어 방식별 비교

제어 방식평균 활성 카메라전력 절감률
기본 (항상 켜기)9.0대0% (기준)
규칙 기반 (Rule)4.0대55.56%
제안 방식5.26대41.51%
이상적 (Oracle)5.31대41.05%

핵심 발견: 제안 방식이 이상적 방식보다 더 좋다! (101.1%)

왜? 예측 모델이 너무 정확해서, 때론 더 영리하게 제어하기 때문입니다 😄

실제 절감액 계산

한 교차로의 카메라 전력 소비:

  • 카메라 1대: 약 20W (24시간)
  • 하루 전력: 20W × 24h = 480Wh = 0.48kWh
  • 월간: 0.48 × 30 = 14.4kWh

기본 방식 (9대 × 30일):

  • 전력: 9 × 14.4 = 129.6kWh/월
  • 비용 (kWh당 150원): 129.6 × 150 = 19,440원/월

제안 방식 (5.26대 × 30일, 41.51% 절감):

  • 전력: 5.26 × 14.4 = 75.7kWh/월
  • 비용: 75.7 × 150 = 11,355원/월
  • 절감액: 8,085원/월 = 약 97,020원/년 💰

서울시 전역 (약 10,000개 교차로):

  • 연간 절감액: 약 97억 원!

이게 얼마나 큰 영향인지 아시겠죠?


👁️ 성과 2: 감시 품질 유지 🎯

그런데 전력을 절감하면서도 감시 품질을 유지할 수 있어야 합니다. 카메라를 무작정 끄면 안 되니까요!

감시 품질 평가: R² 지표

R² (결정 계수)는 다음을 의미합니다:

  • R² = 0: 교통량과 카메라가 전혀 관계없음 (최악)
  • R² = 1: 교통량에 완벽히 반응 (최고)

제어 방식별 감시 품질

제어 방식감시 품질(R²)평가
항상 최대 활성-7.77❌ 무의미
규칙 기반(Rule)-1.87❌ 나쁨
제안 방식0.9105우수
이상적(Oracle)0.9192✅ 최고

왜 Rule 방식이 음수일까요?

Rule은 고정된 시간대(예: 07-09시, 18-20시)에만 카메라를 켭니다.

  • 교통량이 적은데 9대 가동 → 과다 제어
  • 교통량이 많은데 3대만 가동 → 부족한 제어

결과: 교통량과 반대로 작동 → 음수 상관도!

제안 방식은 R² 0.9105:

  • 교통량이 많으면 카메라도 많이 켜짐 ✅
  • 교통량이 적으면 카메라를 적게 켜짐 ✅
  • 90% 이상의 정확한 추종!

🎖️ 최종 성과: Oracle 대비 성능

이상적인 “미래를 아는 신” (Oracle)과 비교하면:

평가 지표제안 방식Oracle달성률
📊 전력 절감률41.51%41.05%101.1%
👁️ 감시 품질(R²)0.91050.919299.1%

이게 뭐가 대단한가요?

저는 미래를 모르는데도, 미래를 아는 최적 시스템의 99~101% 수준으로 작동한다는 뜻입니다! 이건 정말 놀라운 결과예요! 🎉


🌍 실제 환경에서의 장점 🚀

네트워크가 없어도 작동한다!

이게 정말 핵심 장점입니다.

기존 방식:

센서 데이터 → [네트워크 필요] → 중앙 서버 
→ [네트워크 필요] → 카메라 제어

제안 방식:

[로컬 기기에서 모두 처리]
예측 → 제어 결정 → 카메라 제어

실제 적용 가능 환경

적용 가능:

  • 수중 터널 (네트워크 신호 약함)
  • 산간 지역 (인터넷 없음)
  • 도시 곳곳 (분산 배치)

기존 방식 불가:

  • 네트워크 없는 지역
  • 통신 비용 높은 지역
  • 중앙 서버 장애 상황

10배 이상 빠른 응답 ⚡

기존 방식의 지연:

  • 카메라 → 서버: 1-2초
  • 서버 처리: 1-2초
  • 서버 → 카메라: 1-2초
  • 총 지연: 3-6초 이상 ⏱️

제안 방식:

  • 로컬 처리: 23.97ms
  • 지연 거의 없음

교통량이 급격히 변할 때, 제안 방식이 훨씬 빨리 반응합니다!


💭 연구 과정을 통해 배운 것들

기술적으로 배운 점

1️⃣ 시계열 분석의 깊이

Prophet이 단순한 도구가 아니라, 정말 시간의 구조를 이해하는 강력한 방법론이라는 걸 깨달았어요. 시간 데이터를 다룰 때 이 사상이 정말 중요합니다.

2️⃣ 하이브리드 접근의 가치

한 가지 기술만 고집하지 말고, 각각의 장점을 조합하는 게 얼마나 효과적인지 배웠습니다.

  • Prophet의 해석 가능성 + MLP의 유연성 = 최고의 성능

3️⃣ 엣지 컴퓨팅의 현실성

라즈베리파이 같은 저사양에서도 정말 유용한 AI가 작동할 수 있다는 확신을 얻었어요. “고사양이 꼭 필요한가?”라는 질문에 대한 답을 얻게 됐습니다.

4️⃣ 통계적 엄밀성의 중요성

데이터 분석할 때 “그럴 것 같다”가 아니라, p-value 같은 객관적 지표가 얼마나 중요한지 깨달았습니다. 이게 차별성을 만듭니다.

연구 과정의 어려움들 💪

🔴 데이터 정제의 악몽

  • 5년치 데이터에 엄청난 결측치
  • 차로별로 다른 형식
  • 특수 상황(사고, 행사) 처리

해결방법: 체계적인 전처리 파이프라인 개발

🔴 하이퍼파라미터 튜닝

  • Prophet: scalefactor, changepoint 등 10+ 파라미터
  • MLP: 은닉층 구조, 학습률 등 무수한 조합

해결방법: GridSearch와 수동 실험의 병행

🔴 라즈베리파이 메모리 관리

  • 5년 데이터 모두 로드 불가능
  • 모델 최적화 필수

해결방법: 메모리 프로파일링과 단계적 최적화


🚀 앞으로의 확장 가능성

이 시스템의 가능성은 교통 감시를 넘어선다고 생각해요!

다양한 응용 분야 🌟

🚦 가로등 조도 제어

  • 인구 밀도에 따른 자동 조명 제어
  • 밤시간 보안 유지 + 에너지 절감

🚁 UAV(드론) 자율 순찰

  • 필요한 시간만 자동으로 비행
  • 배터리 효율성 극대화

🎪 행사장 모니터링

  • 인파 밀도에 따른 집중 감시
  • 안전 이슈 조기 대응

🏥 병원 복도 제어

  • 환자 흐름에 따른 조명/냉난방
  • 에너지 효율과 쾌적성 동시 달성

🏭 공장 자동 운영

  • 생산량에 따른 기계 자동 운영
  • 유휴 장비 자동 정지

공통 특징

모두 로컬에서 독립적으로 판단하는 방식이라 네트워크 없이도 작동합니다! 이게 정말 강력한 아이디어라고 생각해요.


🎓 마치며 – 스마트하다는 것의 의미

이 논문을 통해 저는 “스마트하다는 것”의 의미를 다시 정의했어요.

스마트하다는 건 단순히 복잡한 AI를 쓰는 것이 아니라, 한정된 자원 속에서 최선의 판단을 하는 것입니다.

  • 메모리는 적지만, 정확한 예측 ⭐
  • 네트워크는 없지만, 빠른 응답 ⚡
  • 단순한 구조지만, 깊은 통찰력 🧠

핵심 성과 요약 🏆

기술적 성과:

  • R² 0.97의 높은 예측 정확도
  • 23.97ms의 실시간 추론 속도
  • 메모리 2%만 사용하는 효율성

시스템 성과:

  • 41.51%의 전력 절감 (연간 97억 원!)
  • R² 0.9105의 우수한 감시 품질
  • Oracle 대비 99~101% 성능 달성

🌍 혁신성:

  • 네트워크 독립형 자율 운영
  • 분산형 아키텍처로 무한 확장
  • 스마트 시티의 실질적 구현

감사의 말씀 🙏

이 연구를 가능하게 해주신 김현범 교수님께 진심으로 감사드립니다. 교수님의:

  • 정성스러운 지도와 피드백
  • 새로운 시각을 열어주신 조언
  • 막힐 때마다 격려해주신 말씀

이 모든 것이 없었다면 이 연구는 불가능했을 것 같습니다.

또한 심사위원이신 최병조 교수님, 황광일 교수님께도 감사드립니다.


📌 기술 스택 정리

개발 환경:

  • 언어: Python 3.10+
  • 개발 도구: Jupyter, VS Code
  • 버전 관리: Git

핵심 라이브러리:

시계열 분석: fbprophet
신경망: sklearn.neural_network
데이터 처리: pandas, numpy
시각화: matplotlib, seaborn
성능 평가: sklearn.metrics

배포 환경:

  • Raspberry Pi 5 (ARM Cortex-A76, 8GB RAM)
  • Linux OS (Raspbian)
  • Python 런타임

💬 마지막으로…

이 글을 읽어주셔서 정말 감사합니다!

스마트 시티, 엣지 컴퓨팅, 머신러닝에 관심 있으신 분들과 함께 배우고 성장하는 기술 커뮤니티를 만들고 싶습니다.

혹시 다음과 같은 궁금증이 있으시다면 댓글로 남겨주세요:

  • “Prophet과 MLP 말고 다른 방법은 없나?”
  • “실제 도로에 설치하려면 어떻게 해야 하나?”
  • “다른 분야에서도 비슷하게 적용 가능한가?”
  • “라즈베리파이로 정말 이게 가능해?”

여러분의 질문과 댓글이 제 다음 연구의 영감이 될 것 같습니다. 함께 배우겠습니다! 😊

Happy Learning! 🚀