| Home | JKIIT Archives | About the JKIIT | E-SUBMISSON |
Sorry.
You are not permitted to access the full text of articles.
If you have any questions about permissions,
please contact the Society.
죄송합니다.
회원님은 논문 이용 권한이 없습니다.
권한 관련 문의는 학회로 부탁 드립니다.
| [ Article ] | |
| The Journal of Korean Institute of Information Technology - Vol. 23, No. 9, pp. 45-56 | |
| Abbreviation: Journal of KIIT | |
| ISSN: 1598-8619 (Print) 2093-7571 (Online) | |
| Print publication date 30 Sep 2025 | |
| Received 27 Jun 2025 Revised 13 Aug 2025 Accepted 16 Aug 2025 | |
| DOI: https://doi.org/10.14801/jkiit.2025.23.9.45 | |
| 의사 레이블링과 딥러닝을 활용한 실시간 이미지 기반 객체 혼잡 수준 분류 프레임워크 | |
정재호*
; 박치현**
| |
| *강원대학교 데이터사이언스학과 박사과정 | |
| **강원대학교 컴퓨터공학과 부교수(교신저자) | |
A Real-Time Framework for Image-based Object Congestion Level Classification with Pseudo-Labeling and Deep Learning | |
Jaeho Jung*
; Chihyun Park**
| |
| Correspondence to : Chihyun Park Dept. of Computer Science and Engineering, Kangwon National University Tel.: +82-33-250-8444, Email: chihyun@kangwon.ac.kr | |
Funding Information ▼ | |
본 논문은 이미지에서 객체의 혼잡 수준을 추정하는 딥러닝 기반의 모델을 제안한다. 기존에는 객체 수를 직접 계산하거나, 단순 검출 후 밀도 분석을 하는 방식이 주를 이뤘지만, 본 연구는 이미지 내 객체 분포의 특성과 밀집 패턴을 학습하는 모델을 설계함으로써 보다 정밀하게 혼잡도를 예측할 수 있는 방안을 제시한다. 특히 이미지 기반의 다양한 환경에서도 적용 가능한 구조로 설계되었으며, 모델 구축을 위해 직접 의사 레이블링을 수행하고, ResNet 기반의 특성 추출기와 혼잡도 추정 회귀 모듈이 결합된 구조를 사용한다. 실험 결과, 제안된 모델은 다양한 혼잡 상황에 대해 우수한 성능을 보이며, 실제 영상 환경에 적용할 수 있는 가능성을 확인하였다.
We propose a deep learning-based model for estimating the level of object congestion in images. While traditional approaches primarily rely on directly counting objects or performing density analysis after simple detection, this study presents a more precise method by designing a model that learns spatial distribution and congestion patterns of objects within the image. We design the model to be applicable across diverse image-based environments, and we construct the training dataset through pseudo-labeling. The proposed architecture combines a ResNet-based feature extractor with a regression module to predict congestion levels. Experimental results demonstrate that the model performs effectively across various congestion scenarios, indicating its potential for real-world deployment in visual monitoring systems.
| Keywords: image processing, deep learning, estimation of object congestion, pseudo-labeling |
|
전 세계적으로 자율주행 기술의 발전은 교통 시스템의 혁신과 스마트 시티 구축의 핵심 축으로 부상하고 있다[1]. 특히 자율주행 차량은 도로 위의 다양한 상황을 인식하고 판단하는 능력을 통해 인간 운전자를 대체하거나 보조하는 역할을 수행하며, 이에 따라 정확하고 신속한 주변 환경 인식 기술에 대한 수요가 급증하고 있다. 이러한 기술 발전의 근간에는 차량에 설치된 카메라로부터 얻어진 도로 이미지에 기반하여 도로 위 객체(차량, 보행자, 자전거 등)를 감지하고, 이를 토대로 도로의 상황을 이해하는 컴퓨터 비전 기반의 딥러닝 기법이 존재한다[2]. 기존 연구에서는 도로 위 객체 인식, 보행자 검출, 차선 인식 등 개별적 요소를 추출하는 모델 개발에 주력해왔다. 그러나 자율주행 시스템이 실제 운전 의사결정을 내리기 위해서는 더 높은 수준의 상황 이해, 예컨대 도로의 혼잡도(Congestion level)에 대한 정량적 예측이 필요하다. 혼잡도는 도로 상의 객체 밀도, 객체 간 거리, 객체의 상대적 속도 등 다양한 요인에 영향을 받는 고차원적인 개념으로, 이를 이미지 기반으로 효과적으로 추론하는 것은 여전히 기술적으로 도전적인 과제이다[3].
본 연구에서는 자율주행 영상 벤치마크 데이터로 널리 사용되는 KITTI(Karlsruhe Institute of Technology and Toyota Technological Institute) 3D Object Detection[4] 데이터세트를 기반으로, 도로의 혼잡도를 예측하는 딥러닝 모델을 개발하고자 한다. 이를 위해, 이미지 내 객체 탐지(object detection)를 통해 차량·보행자·자전거 등의 수량 및 분포 정보를 수집하고, 이를 바탕으로 혼잡도 수준을 정의하는 의사 레이블링(Pseudo-labeling)을 수행한다. 이후 해당 혼잡도를 정답 값으로 활용하여 이미지 기반의 예측 모델을 학습시킴으로써, 실제 혼잡도 수준을 추론할 수 있는 모델을 구축하는 것이 연구의 핵심이다.
도로 혼잡도 예측이라는 문제는 교통 흐름 관리, 위험 상황 사전 인지, 정체 회피 경로 안내 등의 측면에서 높은 실용적 가치를 지닌다. 하지만 혼잡도는 주관적 개념이기 때문에 명확한 정의 및 라벨링이 어려우며, 영상 기반 데이터로부터 이를 정량화하는 것도 기술적으로 복잡한 문제이다. 또한, 영상 내 객체 수는 조명, 날씨, 물체 간 겹침 등의 영향으로 정확한 검출이 어려울 수 있어, 해당 모델은 강인한 객체 검출 및 의미 추론 능력을 필요로 한다. 특히 다수의 객체가 밀집한 상황에서는 YOLO(You Only Look Once), Faster R-CNN(Region-based Convolution Neural Network)와 같은 기존 검출 모델의 정확도와 처리 속도 간 상충 관계(Trade-off) 또한 중요한 고려 사항이다.
이러한 문제를 해결하기 위해 본 연구에서는 CNN(Convolution Neural Network) 기반의 분류 네트워크(예: Residual Network)와 YOLO 기반의 검출 네트워크를 혼잡도 예측에 최적화된 형태로 구성하고, 의사 라벨링 기반 학습 전략을 통해 일반적인 객체 검출 모델이 학습하기 어려운 의미적 수준의 추론 문제에 효과적으로 대응하고자 한다. 또한 다양한 실험을 통해 모델의 예측 성능을 측정하고, 예측 결과의 해석 가능성을 다각도로 분석함으로써, 자율주행 시스템의 실시간 상황 인식 정밀도를 향상시키는 데 기여하고자 한다.
최근 교통 모니터링 및 혼잡도 예측을 위한 영상 기반 인공지능 연구는 도심 교통관리, 보행자 안전, 자율주행 시스템의 정밀 상황 인식 등 다양한 분야에서 활발히 진행되고 있다. 본 연구와 유사하게 대규모 공간에서 객체 밀도를 추정하거나 혼잡도를 파악하고자 한 선행연구들을 살펴보면 다음과 같다.
먼저, [5]에서는 고해상도 위성 영상(Worldview)을 활용하여 도시 규모에서의 교통 흐름을 분석하였다. 본 연구는 일반적인 CCTV나 차량 내부 카메라가 아닌 위성 영상이라는 독특한 시점을 사용하여 넓은 범위의 교통 상태를 파악할 수 있다는 장점이 있다. CNN을 기반으로 도로 및 차량 패턴을 추출하며, 특히 다양한 시간대와 환경 조건에서도 신뢰도 있는 추론이 가능함을 보였다. 그러나 위성 영상의 경우 실시간 처리가 어렵고, 차량 밀도 추정의 정밀도가 제한되는 단점이 존재한다. 이와 비교할 때, 본 연구는 차량 전방 시점의 도로 이미지를 활용하여 실시간 대응이 가능한 혼잡도 예측에 중점을 둠으로써, 보다 세밀한 상황 인식이 가능하다.
[6]는 고정된 CCTV 카메라 영상에서 특정 영역 내 사람 수를 실시간으로 예측하는 모델을 제안하였다. 이 연구는 U-Net 기반의 세그멘테이션 모델과 회귀 기반의 밀도 추정 모델을 결합하여 혼잡도 예측 정확도를 높이고자 하였으며, 다양한 CCTV 환경에서도 일정 수준 이상의 정밀도를 보였다. 제안하려는 본 연구와 유사하게 객체 수에 기반한 혼잡도 판단 구조를 채택하고 있으며, 의사 레이블 기법과 결합하여 일반적인 객체 탐지 이상의 의미적 수준 해석이 가능하다는 점에서 관련성이 높다. 다만, 해당 연구는 사람만을 대상으로 하여 차량, 자전거 등 다양한 객체의 복합적인 영향이 반영되지 않았다는 한계가 있다.
[7]은 도시 교통 CCTV 영상으로부터 교통량 및 혼잡도를 정량적으로 추정할 수 있도록 딥러닝 기반 모델을 제안하였다. 특히, YOLO 기반 객체 검출과 후처리 밀도 분석을 결합한 본 모델은 빠른 추론 속도와 높은 실용성을 보이며, 실제 교통 센서로의 활용 가능성을 제시하였다. 본 연구는 객체 수에 비례한 혼잡도 판단이라는 접근을 채택함으로써, 본 논문에서 제안하는 도로 혼잡도 추정 모델의 기본 아이디어와 밀접한 관련이 있다. 다만, 특정 지역(특히, CCTV 설치 위치)에 대한 종속성이 높고, 다양한 도로 구조 및 환경 변화에 대한 일반화 성능에는 한계가 있다.
[8]는 드론 기반 영상 데이터를 통해 군중 밀집도를 추정하는 연구로, 광역 촬영이 가능하다는 장점과 함께, 고정 CCTV가 포착하지 못하는 동적 상황을 분석할 수 있다는 장점이 있다. 본 연구에서는 다양한 딥러닝 모델(CNN, Long Short-Term Memory 등)을 활용하여 시간적 변화까지 고려한 동적 군중 밀도 예측이 가능함을 보여주었으며, 이러한 시계열 정보 기반 추정은 향후 본 연구의 확장 방향에 시사점을 제공한다. 그러나 드론의 고도, 촬영 각도, 해상도 등에 따라 검출 정확도가 크게 달라질 수 있으며, 실시간 처리보다는 분석 중심에 가까운 한계가 존재한다.
객체 인식 및 혼잡도 예측의 핵심 기술로서, 본 연구에서는 대표적인 딥러닝 모델인 ResNet[9]과 YOLOv6[10]를 활용한다. ResNet(Residual Network)은 잔차 학습 기반의 모델로서, 깊은 신경망에서 발생하는 기울기 소실 문제를 해결하고 학습 안정성을 확보할 수 있는 구조이다. 특히 이미지 분류 문제에 있어서 높은 성능을 보이며, 교통 영상 내 혼잡도 분류에도 적합하다. 반면, ResNet은 객체의 위치 정보를 직접 활용하는 데는 한계가 있다.
YOLOv6-S는 객체 검출 분야에서 가장 빠르고 정밀한 탐지 모델 중 하나로, 특히 실시간 성능과 높은 정확도를 동시에 갖춘 경량화 모델이다. YOLOv6-S는 앵커 프리(Anchor-free) 기반 구조와 높은 연산 효율성을 바탕으로 복잡한 도로 환경에서도 객체를 신속하게 검출할 수 있다. 이는 본 연구에서 다수의 객체가 밀집된 도로 환경에서 실시간으로 객체 수를 탐지하고, 이를 혼잡도로 연결시키는 데 있어 핵심적인 역할을 할 수 있다. 이미지 기반의 데이터에서 객체를 검출하여 이를 기반으로 예측모델 혹은 인식 시스템을 만들려는 연구가 있어왔다[11][12].
이와 같이 기존 연구들은 특정 환경(CCTV, 위성, 드론 등)에 최적화된 혼잡도 추정 기법을 제안해왔으며, 본 연구는 이를 바탕으로 차량 전방 카메라 기반 이미지에서 의사 레이블 기반 객체 수 추정, 혼잡도 수준 분류, 실시간 추론 등 다양한 요소를 융합한 새로운 접근을 제안함으로써 기존의 한계를 극복하고자 한다.
본 연구에서는 전방 객체 혼잡도 예측 모델을 실제 주행 환경 조건에서 검증하기 위해 KITTI Vision Benchmark Suite의 3D Object Detection Benchmark 데이터세트를 선택하였다. 이 데이터세트는 도시 및 교외, 고속도로 등의 다양한 주행 환경에서 차량의 전방 카메라로 촬영된 해상도 1,242×375 픽셀의 이미지로 구성되며, 학습용 이미지 7,481장에는 차량이나 보행자, 자전거 같은 주요 클래스에 대해 3D 경계 상자(Bounding box) 레이블이 포함되어 있다. 벤치마크용 이미지 7,518장에는 레이블이 제공되지 않으므로, 모델 학습 및 성능 평가는 학습용 데이터(7,481개)만을 사용하여 수행하였다. 기존 혼잡도 추정 연구는 주로 고정형 카메라(CCTV[1], 교차로 감시 카메라[2]), 항공·위성 플랫폼(드론 영상[3], 위성 영상[4]) 등 다양한 시점의 이미지를 사용해 왔으나, 본 연구에서는 실제 운전자 지원 시스템과 직접적으로 연관된 차량 전방 시점의 KITTI 데이터를 활용하였다.
객체 레이블만 존재하는 단안 카메라 이미지만으로 객체 혼잡도 분류를 수행하기 위해, 본 연구에서는 먼저 혼잡도 레이블을 정의하였다. 이후 이미지 패턴 학습 모델로 3-layer/5-layer 구조의 단순 CNN 및 ResNet-18 기반 모델을 구성하고 비교 대상으로 객체 검출기인 YOLOv6를 사용한 규칙 기반 방식의 분류기를 설정하였다. 이들은 동일한 전처리, 학습, 평가 단계 하에 비교 실험하였다. 이어서 4.1부터 4.5까지 혼잡도 레이블 정의 방법과 함께 각 모델 군의 구조와 구현 세부 사항을 상세히 설명한다.
KITTI 데이터는 객체의 클래스 및 경계 상자 레이블만 제공할 뿐, 혼잡도 추정에 필요한 레이블은 제공하지 않는다. 본 연구에서는 각 이미지에 존재하는 클래스의 경계 상자 수를 합산한 뒤, 특정 임계값 구간에 따라 Low/Medium/High와 같은 혼잡도 클래스를 부여하였다. 여기서 혼잡도 클래스를 부여하는 데 필요한 구간의 개수를 K라고 칭하겠다. 간단하게 K가 3일 때는 혼잡도 클래스가 세 개임을 의미한다. 클래스별 데이터 개수가 크게 편향되지 않도록 임계값을 분위수 기반으로 산정하여 각 클래스가 유사한 수의 이미지를 갖도록 하였다. 초기에는 K=4(≤1개, 2-4개, 5-6개, ≥7개)으로 설정하였으나 K가 너무 작으면 예측 난이도가 낮아지고, 너무 크면 학습이 어려워지는 점을 고려해 K를 다양하게(K={2, 3, 4, 5}) 설정하여 실험하였다. 본 연구에서는 먼저 전체 KITTI 데이터세트에 대해 이미지 당 객체 수를 히스토그램으로 시각화하여 분포를 확인하였다(그림 1). 이 히스토그램의 주요 분포 특성을 바탕으로, K개의 혼잡도 구간에 대해 임계값을 설정하였다. K별 임계값은 표 1에 제시하였다. 이와 같은 데이터 분할 및 전처리, 레이블링 과정을 통해 실제 주행 차량 전방 시점에서 안정적으로 객체 혼잡도를 학습 및 평가할 수 있는 환경을 마련하였다.
| K | Class | Count range | # of Samples (%) |
|---|---|---|---|
| 2 | Low | [0,5) | 2,892 (48.3%) |
| High | [5, ∞) | 3,092 (51.7%) | |
| 3 | Low | [0,3) | 1,542 (25.8%) |
| Medium | [3,6) | 1,984 (33.2%) | |
| High | [6, ∞) | 2,458 (41.1%) | |
| 4 | Very Low | [0,2) | 790 (13.2%) |
| Low | [2,5) | 2,102 (35.1%) | |
| High | [5,7) | 1,161 (19.4%) | |
| Very High | [7, ∞) | 1,931 (32.3%) | |
| 5 | Very Low | [0,2) | 790 (13.2%) |
| Low | [2,4) | 1,438 (24.0%) | |
| Medium | [6,6) | 1,298 (21.7%) | |
| High | [6,8) | 962 (16.1%) | |
| Very High | [8, ∞) | 1,496 (25.0%) |
본 섹션에서는 4.1에서 정의한 혼잡도 임계값에 따라 분리된 각 혼잡도 클래스별 대표 이미지를 그림 2 ~ 그림 5에 제시한다. 각 그림의 세부 이미지는 해당 K 설정에서 각 구간의 중앙값에 해당하는 프레임을 선택하여, 클래스 간 시각적 차이를 직관적으로 보여준다.
전통적인 CNN은 합성곱 층→활성화 층→풀링 층 구조가 반복되며, 풀링 층이 다음 합성곱 층의 입력으로 들어갈 특성 맵의 크기를 줄이는 다운샘플링 역할을 한다. 반면 본 연구에서는 전통적 CNN의 반복 구조에서 모든 풀링 층을 제거하고 stride=2인 합성곱 연산만으로 해상도를 반씩 축소하도록 설계하였다. 이런 변형은 고정된 풀링에 비해 다운샘플링을 네트워크가 학습 가능하게 만들어 더 유연한 특징 요약을 가능하게 하는 장점이 있음이 보고되었다[13]. 모든 합성곱 층 다음에는 배치 정규화[14]와 ReLU 활성화 함수를 적용하여 학습의 안정성과 수렴 속도를 높였으며, 비선형성을 도입해 표현력을 확장하였다. 마지막에는 전역 평균 풀링(Global average pooling)을 통해 공간 차원을 1×1로 압축한 뒤, 이를 단일 완전 연결 층(FC, Fully Connected layer) 분류기에 입력하여 K개의 클래스 로짓(logits)으로 변환한다. 학습 시에는 정답 레이블 간의 교차 엔트로피 손실을 최소화하며, 추론 시에는 가장 높은 로짓 값을 가진 클래스를 선택해 혼잡도 레이블을 예측한다.
모델에 사용된 빌딩 블록(합성곱 층+정규화 층+활성화 층) 수를 3개, 5개로 설정하고 모델명을 각각 CNN-3, CNN-5로 정의하였다. CNN-5는 CNN-3의 세 블록 구조를 그대로 계승한 뒤, 두 개의 블록을 추가한 형태이다. 두 모델의 자세한 네트워크 구조와 각 층의 입력 해상도 및 빌딩 블록의 출력 채널 수는 표 2에 기술하였다. 배치 정규화 및 활성화 함수는 생략하였다.
| layer | output size (H×W) |
CNN-3 | CNN-5 |
|---|---|---|---|
| conv1 | 183×608 | 5×5, 16, stride 2 | |
| conv2 | 92×304 | 3×3, 32, stride 2 | |
| conv3 | 46×152 | 3×3, 64, stride 2 | |
| conv4 | 23×76 | - | 3×3, 128, stride 2 |
| conv5 | 12×38 | - | 3×3, 256, stride 2 |
| avgpool | 1×1 | 64 | 256 |
| fc (logits) | - | K = {2, 3, 4, 5} | |
K. He et al.[9]이 제안한 ResNet-18은 18개의 층으로 구성된 심층 CNN이다. 이전 블록의 출력을 잔차 학습(residual learning) 구조를 따르며 4개의 잔차 단계마다 2개의 잔차 블록이 배치되어 있다. ResNet-18의 각 잔차 블록에는 2개의 합성곱 층이 포함된다. 잔차 단계별 합성곱 층에 대한 자세한 구성은 그림 6에 나타내었다. 잔차 학습을 위한 shortcut connection은 U자형 화살표로 표시하였으며, 점선으로 표기된 것은 텐서 차원 불일치를 해결하기 위해 다운샘플링 및 채널 증가가 추가로 적용되었음을 의미한다. 전체 파라미터 수는 약 11.7M이다.
본 연구에서는 PyTorch TorchVision 라이브러리에 구현된 사전학습 모델을 활용하여 ImageNet 가중치로 초기화한 뒤, 마지막 완전 연결 층을 혼잡도 클래스 수에 맞게 교체하고 통째 학습(end-to-end) 방식으로 네트워크 전체에 fine-tuning 학습을 수행하였다. 학습은 CNN과 동일하게 교차 엔트로피 손실을 최소화하도록 수행되었다.
본 분류기는 앞서 제시한 두 구조와 달리, 객체 검출 모델인 YOLO의 탐지 결과를 활용하여 혼잡도를 분류한다. 먼저 KITTI 데이터세트로 YOLO를 사전학습 한 뒤, 탐지된 객체 수를 기준으로 사전에 정의된 임계값에 따라 클래스를 결정하는 방식을 적용하였다. 이 과정에서 실제 학습이 이루어지는 것은 YOLO를 이용한 검출 단계뿐이며, 분류 단계는 규칙 기반 방식으로 결정된다. 그림 7에 YOLO 기반 분류기의 분류 과정을 나타내었다.
검출 단계에서는 사전학습된 YOLOv6-S 모델을 사용하였으며, 입력 이미지는 640×640 픽셀로 letterbox 방식으로 리사이즈된 뒤 네트워크에 투입된다. 모든 검출 결과의 경계 상자 수를 합산하여 프레임당 전체 객체 수 N을 산출한다. 이후 데이터세트 구성에서 정의한 임계값(표 1)을 적용하여 N이 속하는 구간에 따라 레이블을 할당한다. 이 방식은 별도의 분류 헤드를 추가로 학습하지 않고도, YOLOv6-S의 검출 결과를 직관적으로 혼잡도 예측에 활용할 수 있다는 장점이 있다. 특히, KITTI에 특화된 사전학습을 통해 도심 주행 환경에서의 객체 검출 성능을 극대화하고, 단순한 임계값 로직만으로 빠르고 효율적인 혼잡도 분류를 수행한다.
모델의 성능 평가는 정확도, F1 점수, 혼동 행렬, 그리고 모델 효율성 계산으로 이뤄졌다. 정확도는 전체 샘플 중 올바르게 분류된 비율로 산출했으며, F1 점수는 K개 클래스에 대해 동등하게 평가하기 위해, 각 클래스 i의 정밀도(Pi, Precision)와 재현율(Ri, Recall)의 조화평균을 구한 뒤, 이를 모든 클래스에 대해 평균화하는 매크로 방식(식 (1))으로 정의하였다.
| (1) |
혼동 행렬을 통해 클래스 간 오분류 패턴을 시각화하고, 모델의 계산 및 메모리 효율성은 파라미터 수와 추론 속도, GFLOPs(Giga FLoating point Operations Per second)로 비교 분석하였다. 추론 속도는 동일한 입력 배치에 대해 5회 워밍업 후 20회 반복 측정을 수행하였다. GPU의 비동기 연산 특성을 반영하기 위해 각 반복마다 CUDA 동기화를 거쳐 연산 완료 시점을 기준으로 밀리초 단위의 처리 시간을 기록하고, 그 평균값을 산출하여 최종 추론 속도로 간주하였다.
모델의 공정한 학습 및 성능 평가를 위해 KITTI 데이터세트의 이미지 7,481장에 동일한 조건의 전처리를 수행하였다. KITTI 이미지의 원본 해상도는 대체로 1242×375 픽셀이지만 몇 픽셀 오차를 가지는 데이터도 존재한다. 모델 입력의 일관성을 위해 모든 이미지를 1216×366 픽셀로 크기 조정하였다. 데이터 분할은 클래스 비율을 유지하는 계층적 샘플링(Stratified sampling)방식으로 train:validation:test를 6:2:2 비율로 수행하였으며, 재현성을 위해 난수 시드를 42로 고정하였다. 각 분할별 이미지 수와 K 값별 클래스 분포는 표 3에서 확인할 수 있다.
| Split (# of images) | K=2 (Low, High) |
K=3 (Low, Medium, High) |
K=4 (Very Low, Low, High, Very High) |
K=5 (Very Low, Low, Medium, High, Very High) |
|---|---|---|---|---|
| Train (4,488) | 48.3 / 51.7 | 25.8 / 33.2 / 41.1 | 13.2 / 35.1 / 19.4 / 32.3 | 13.2 / 24.0 / 21.7 / 16.1 / 25.0 |
| Validation (1,496) | 48.3 / 51.7 | 25.8 / 33.2 / 41.0 | 13.2 / 35.1 / 19.4 / 32.3 | 13.2 / 24.0 / 21.7 / 16.0 / 25.0 |
| Test (1,497) | 48.4 / 51.6 | 25.8 / 33.1 / 41.1 | 13.2 / 35.1 / 19.4 / 32.3 | 13.2 / 24.0 / 21.7 / 16.1 / 25.0 |
모든 모델은 AdamW 옵티마이저와 배치 크기 32로 학습하였으며, 손실 함수로는 교차 엔트로피 손실(Cross-entropy loss)을 사용하였다. 이때의 학습률과 가중치 감쇠(Weight decay)는 각각 1×10⁻⁵과 1×10⁻⁴로 고정하였다. 최대 1,000 에포크까지 학습하되 검증 손실이 개선되지 않으면 조기 종료하였고, 모든 실험은 PyTorch 2.0.1 / CUDA 11.3 환경의 NVIDIA RTX 3090 GPU에서 수행되었다.
표 4에는 CNN-3, CNN-5, ResNet-18, YOLO 기반 분류기 네 모델의 정량적 결과가 요약되어 있다. 이어서 결과를 바탕으로 모델 간 정확도 성능을 비교 분석한다.
| Model | K=2 | K=3 | K=4 | K=5 | ||||
|---|---|---|---|---|---|---|---|---|
| Acc (%) | F1 | Acc (%) | F1 | Acc (%) | F1 | Acc (%) | F1 | |
| CNN-3 | 83.30 | 0.8328 | 72.41 | 0.7213 | 67.87 | 0.5843 | 52.24 | 0.4756 |
| CNN-5 | 85.70 | 0.8561 | 79.16 | 0.7918 | 74.08 | 0.7145 | 68.20 | 0.6668 |
| ResNet-18 | 94.79 | 0.9479 | 91.92 | 0.9182 | 88.44 | 0.8760 | 85.04 | 0.8458 |
| YOLO | 89.04 | 0.8927 | 83.90 | 0.8429 | 75.95 | 0.7515 | 71.01 | 0.7098 |
K가 증가함에 따라 분류 난이도가 높아지면서 모든 모델의 정확도와 F1 점수가 점차 감소하였다. 세분화된 혼잡도 분류 과제가 더욱 어려워짐을 보여준다. 특히 2개 클래스로 나눌 때 ResNet-18은 94.8% 정확도로 가장 우수한 성능을 보였고, 이외의 K에 대해서도 전체적으로 RestNet, YOLO, CNN-5, CNN-3 순서로 성능 순위가 나타났다.
전체적으로 정확도와 F1 점수가 유사한 값을 보인 점도 눈여겨볼 만하다. 이는 모델이 특정 클래스에 과하게 치우치지 않고 전 클래스에 대해 비교적 균형 잡힌 예측 성능을 보였음을 시사한다. 특히 ResNet-18과 YOLO 분류기는 정확도 대비 F1 점수의 격차가 0.03 이내로 작아, 클래스별 분류 성능이 고르게 유지되었음을 알 수 있다.
반면 CNN-3의 경우 K=5에서 두 수치의 차이가 가장 커, 일부 클래스의 성능이 상대적으로 낮아지면서 전체 성능이 다소 불균형해졌음을 보여준다. 클래스 간 성능 차이는 5.3절의 혼동 행렬 시각화를 통해 보다 세밀히 살펴본다.
표 5에는 네 모델의 효율성 평가 결과가 요약되어 있다. 이어서 결과를 바탕으로 모델 간 효율 성능을 비교 분석한다.
| Model | Params (M) | FLOPs (G) | Inference time (ms) |
|---|---|---|---|
| CNN-3 | 0.02 | 0.40 | 0.01 |
| CNN-5 | 0.40 | 0.67 | 0.02 |
| ResNet-18 | 11.18 | 16.42 | 0.89 |
| YOLO | 20.10 | 24.75 | 3.19 |
CNN-3과 CNN-5는 극히 적은 파라미터 수와 낮은 연산량을 바탕으로 단일 이미지 기준 평균 0.01ms, 0.02ms라는 즉각 응답에 가까운 추론 속도를 달성하였다. ResNet-18은 두 CNN 모델과 비교했을 때, ResNet-18은 CNN-5 대비 2,795%의 모델 크기와 2,450%의 연산량을 가지지만, 최적화된 CUDA 구현을 통해 평균 0.89ms를 기록하여 여전히 실시간 처리 범위에 속한다. 반면 YOLO 분류기는 모델 규모가 네 모델 중 가장 크며, 추론 속도도 평균 3.19ms로 중간 수준의 레이턴시를 보여준다.
정확도 성능 비교와 함께 고려했을 때, 대체로 정확도와 추론 시간에 트레이드 오프가 발생한다. 따라서 초고속 추론이 최우선이거나 연산 자원이 제한된 임베디드 환경인 경우, CNN-3/5 같은 초경량 모델이 가장 적합하다. 최고 분류 성능을 위해서는 ResNet-18을 선택하는 것이 합당하지만 1ms 이하의 응답 시간이 허용되는 환경에서만 권장된다. YOLO 기반 분류기는 CNN-3/5나 ResNet-18에 비해 분류 성능이나 연산 효율 면에서 최상위권은 아니지만, 사전 정의된 임계값만 변경하면 즉시 새로운 혼잡도 클래스를 체계를 적용할 수 있다는 점에서 높은 유연성을 제공한다.
이 섹션에서는 네 모델이 테스트 데이터세트에 대해 예측한 결과를 바탕으로 혼동 행렬(confusion matrix)을 시각화 하여 클래스 간 오분류 패턴을 분석한다. 그림 8 ~ 그림 11에 제시된 각 혼동 행렬에서 셀의 색 농도는 해당 셀에 속하는 샘플 수를 나타내며, 세로축은 실제 레이블, 가로축은 예측 레이블을 의미한다.
K=2 설정에서 네 모델 모두 대각선 셀이 매우 짙게 나타난 것은 한산(Low)과 혼잡(High) 두 클래스 간 구분이 거의 완벽하게 이뤄졌음을 의미한다. 실제 임베디드 또는 실시간 시스템에서는 혼잡 여부 판단만으로도 충분한 경우가 많기 때문에, 이진 분류를 채택하면 성능 효율을 극대화할 수 있다.
반대로 K=3, 4, 5 설정에서 대각선 셀이 연하게 나타나는 것은 해당 클래스에 속하는 샘플을 올바르게 예측한 경우가 상대적으로 적다는 것을 의미한다. 특히, CNN-3/5 모델은 Low나 High처럼 시각적 차이가 뚜렷한 극단 클래스에서는 상대적으로 높은 분류 성능을 보이나, Very Low-Low 구간처럼 차이가 미미한 클래스에 대해서는 전반적으로 모호하게 예측하는 경향이 있다. 이는 이들 경량 모델이 깊이가 얕고 채널 수가 적어 이미지에서 추출할 수 있는 표현적 특징의 수가 제한적이기 때문이다.
반면, ResNet-18과 YOLO 기반 모델은 보다 깊은 네트워크 구조와 풍부한 채널 수를 통해 중간 혼잡도에 해당하는 미세한 패턴까지 효과적으로 학습하므로, CNN-3/5와 달리 Low, Mid, Mid-High 구간에서도 상대적으로 균형 잡힌 분류 성능을 보인다.
ResNet-18은 여러 잔차 블록을 거치며 다양한 수준의 특징을 추출해 복잡한 분포 차이를 구별하고, YOLOv6는 객체 검출 단계에서 위치 및 크기 정보를 보존해 개별 객체 기반의 혼잡도 판단을 지원함으로써 중간 클래스 예측에서도 안정적인 정확도를 유지한다.
본 연구에서는 이미지 내 객체 혼잡도를 정량적으로 추정하기 위한 딥러닝 기반 모델을 제안하였다. 기존의 객체 수 세기 또는 단순 검출 기반의 혼잡도 분석과 달리, 본 모델은 서로 다른 클래스에서 발생하는 시각적 패턴 차이를 학습하여 보다 정교하게 다양한 환경에서의 혼잡도를 예측할 수 있는 구조로 설계되었다. ResNet 기반의 특성 추출기와 회귀 모듈을 조합한 네트워크를 통해 이미지로부터 직접 혼잡 수준을 예측하며, 실험 결과 제안한 모델은 다양한 혼잡 상황에 대해 높은 예측 성능을 보였다. 특히 의사 레이블링을 기반으로 학습 데이터를 구축함으로써 실제 환경에서 수동 라벨링의 어려움을 극복하고, 확장 가능성을 확보한 점도 본 연구의 의의 중 하나이다.
그러나 본 연구에는 몇 가지 한계점이 존재한다. 첫째, 의사 레이블 기반의 학습 데이터 구성 과정에서 발생할 수 있는 오류는 예측 성능에 영향을 미칠 수 있다. 둘째, 다양한 조명, 날씨, 시점 변화 등 실제 환경의 복잡성에 대한 대응이 제한적일 수 있으며, 영상의 해상도나 품질에 따라 성능 저하가 발생할 가능성도 있다. 셋째, 모델은 정적인 이미지 단위로 혼잡도를 추정하며, 시간에 따른 혼잡 변화(Temporal dynamics)는 고려하지 않았다.
향후 연구에서는 다음과 같은 방향으로 확장이 가능하다. 첫째, 영상 시퀀스를 활용하여 시간적 정보까지 반영한 혼잡도 예측 모델을 설계함으로써 더욱 정밀한 분석이 가능할 것이다. 둘째, 다양한 센서 데이터 (예: CCTV, 드론 영상, 위성 이미지)와의 융합을 통해 멀티모달 기반 혼잡 분석으로 확장할 수 있다. 셋째, 보다 정교한 의사 레이블링 기법 또는 반지도학습(Semi-supervised learning)을 통해 라벨 품질을 개선하고, 데이터 수집 부담을 줄이는 방법도 고려할 수 있다. 이러한 확장을 통해 제안된 모델은 스마트 시티, 자율주행, 교통 모니터링 등 다양한 분야에서 실질적인 기여를 할 수 있을 것으로 기대된다.
이 논문은 2024년도 산업통상자원부 및 한국산업기술기획평가원(KEIT) 연구비 지원(20012666, 30%)과 2025년도 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원(No. RS-2025-25445030, 신약개발 ADMET 예측 자동화를 위한 인지·추론형 AGI 에이전트 플랫폼 개발, 50%)과 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(RS-2023-00242528, 20%)
| 1. | I. S. Choi and K. C. Min, "The Role of Autonomous Vehicles in Realizing Smart Cities", SMART CITY TOP Agenda, Smart City Global Journal, pp. 198-215, 2024. |
| 2. | S. Woo, J. H. Hyun, and E. T. Kim, "Object recognition in road driving situations using deep learning networks", Proc. 34th Annual Conference of the Korean Society of Control and Robotics Systems, Gyeongju, South Korea, pp. 282-283, May 2019. |
| 3. | D. Y. Jung and D. C. Han, "Traffic Volume Prediction Using Deep Learning Algorithms", Journal of Next-Generation Convergence Information Service Technology, Vol. 13, No. 6, pp. 789-801, Dec. 2024.![]() |
| 4. | A. Geiger, P. Lenz, and R. Urtasun, "Are we ready for autonomous driving? The KITTI vision benchmark suite", Proc. IEEE Conf. Comput. Vis. Pattern Recognit (CVPR), Providence, RI, USA, pp. 3354-3361, Jun. 2012.![]() |
| 5. | A. Sheenhan, A. Beddows, D. C. Green, S. Beevers, "City Scale Traffic Monitoring Using WorldView Satellite Imagery and Deep Learning: A Case Study of Barcelona", Remote Sensing, Vol. 15, No. 24, pp. 5709, Dec. 2023.![]() |
| 6. | B. Pardamean, et al., "Counting people inside a region-of-interest in CCTV footage with deep learning", PeerJ Computer Science, Vol.8(e1067), Sep. 2022.![]() |
| 7. | Z. Hu, et al., "Turning traffic surveillance cameras into intelligent sensors for traffic density estimation", Complex & Intelligent Systems, Vol. 9, pp. 7171-7195, Jun. 2023.![]() |
| 8. | M. A. Husman, et al., "Unmanned Aerial Vehicles for Crowd Monitoring and Analysis", Electronics, Vol. 10, No. 23, pp. 2974, Nov. 2021.![]() |
| 9. | K. He, X. Zhang, S. Ren, and J. Sun, "Deep Residual Learning for Image Recognition", Proc of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, pp. 770-778, Jun. 2016.![]() |
| 10. | Meituan, "YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications", Tech. Rep., Jul. 2022. https://github.com/meituan/YOLOv6. |
| 11. | J. Han and D. S. Kang, "NRP-Sys: Nonlinear Regression Prediction System for YOLO-based Separation Detection of Identical Objects", Journal of Korean Institute of Information Technology, Vol. 20, No. 3, pp. 9-17, Mar. 2022.![]() |
| 12. | J. J. Kim and C. B. Kim, "Implementation of Robust License Plate Recognition System using YOLO and CNN", Journal of Korean Institute of Information Technology, Vol. 19, No. 4, pp. 1-9, Apr. 2021.![]() |
| 13. | J. T. Springenberg, A. Dosovitskiy, T. Brox, and M. Riedmiller, "Striving for Simplicity: The All Convolutional Net", International Conference on Learning Representations (ICLR), Workshop Track, San Diego, USA, pp. 1-14, May 2015. http://arxiv.org/abs/1412.6806. |
| 14. | S. Ioffe and C. Szegedy, "Batch normalization: Accelerating deep network training by reducing internal covariate shift", Proc. 32nd Int. Conf. Mach. Learn. (ICML), Lille, France, pp. 448-456, Jul. 2015. http://proceedings.mlr.press/v37/ioffe15.html. |
2023년 2월 : 강원대학교 컴퓨터정보통신학과(공학사)
2025년 2월 : 강원대학교 빅데이터메디컬융합학과(공학석사)
2025년 3월 ~ 현재 : 강원대학교 데이터사이언스학과 박사과정
관심분야 : 빅데이터, 컴퓨터 비전, 신약 개발, LLM
2007년 2월 : 홍익대학교 컴퓨터공학과(공학사)
2009년 2월 : 연세대학교 컴퓨터과학과(공학석사)
2013년 2월 : 연세대학교 컴퓨터과학과(공학박사)
2013년 3월 ~ 2015년 7월 : 삼성전자 종합기술원 전문연구원
2015년 8월 ~ 2017년 1월 : 한국과학기술정보연구원 선임연구원
2018년 1월 ~ 2019년 5월 : 클리블랜드 클리닉 Postdoctoral Research Fellow
2020년 3월 ~ 현재 : 강원대학교 컴퓨터공학과 부교수
관심분야 : 딥러닝, 생물정보학, 화학정보학