📚 시작하며 – 졸업논문을 소개합니다
안녕하세요! 저는 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초 | 24ms | 165MB | 0.97 ✅ |
| Prophet | 9.6초 | 21ms | 127MB | 0.86 |
| MLP | 18.6초 | 6.6ms | 123MB | 0.94 |
| Neural Prophet | 8분 18초 | 72ms | 289MB | 0.89 |
| LSTM | 7분+ | 41ms | 294MB | 0.90 |
| Attention | 8분+ | 35ms | 300MB | 측정 실패 |
왜 제안 모델이 최고일까?
Neural Prophet과 비교:
- 학습 속도: 15배 빠름 ⚡
- 메모리: 1.76배 적음 💾
- 정확도: 8% 높음 🎯

🧪 실험 결과 – 정말 작동하나?
실험 환경
하드웨어: Raspberry Pi 5
- 프로세서: ARM Cortex-A76 (4 cores)
- 메모리: 8GB LPDDR5
- 스토리지: 256GB microSD
이 정도면 실제 도로에 설치하기에 딱 맞는 저사양 컴퓨터입니다. “여기서도 작동한다”면 어디든 배포할 수 있다는 뜻이에요!
예측 정확도 ⭐
모델 성능 비교 (2025년 1월 평일 기준)
| 평가 지표 | 수치 | 의미 |
|---|---|---|
| R² (설명력) | 0.97 | 실제 변동의 97% 정확히 예측 ✅ |
| RMSE | 27.34대 | 평균 27대 오차 |
| MAE | 21.50대 | 평균 22대 오차 (더 현실적) |
| MAPE | 8.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년 데이터로는 부족하다!
| 데이터 기간 | R² | 학습 시간 | 문제점 |
|---|---|---|---|
| 1년 | 0.64 | 9.4초 | ❌ 새벽시간 음수 예측! |
| 5년 | 0.97 | 32초 | ✅ 모든 패턴 학습 |
왜 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.9105 | 0.9192 | 99.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! 🚀