논문 리뷰

[논문 리뷰] Jaywalking detection and localization in street scene videos using fine-tuned convolutional neural networks

klee9 2024. 9. 10. 10:14

CCTV가 발명되고 영상에서 다양한 이상(anomaly)를 탐지하는 기술은 크게 발전했다. 그러나 영상 데이터의 증가로 full-time으로 사용하기 어렵고 정확한 예측이 힘들다는 단점이 존재한다.

이 논문에서는 영상 이상 탐지(video anomaly detection) 기술과 변형된 InceptionV3 모델을 사용해 CCTV 데이터에서 무단횡단을 탐지하는 자동화 시스템을 구현하고 있다.

1. 이전 연구와 비교

과거에도 무단횡단을 탐지하고자 하는 여러 성공적인 시도가 있었지만, 언급된 연구들은 2011년에 발표된 것으로 최신화가 필요하다. 또한 자동차 시점의 데이터만 사용하고 있어 일상적인 상황에서 무단횡단을 탐지하는 데 적합하지 않은 시점이다.

비교적 최근(2019년)에 ISOCC에서 발표된 논문 중 서강대학교 팀에서 무단횡단 이미지를 만들어내는 새로운 기술을 발표했다. 차도와 보행자를 인식해 보행자의 바운딩 박스를 찾아 차도에 복사, 붙여넣기를 하는 방식인데, 눈문에서는 실제 무단횡단을 모방하고 있어 실제 무단횡단 데이터와는 다소 거리가 있다고 주장한다.

또 다른 선행 연구로 열화상 카메라와 FLIR 데이터셋을 이용해 무단횡단을 잡아내는 방법도 있다. 그러나 열화상 카메라에 크게 의존한다는 단점이 있어 InceptionV3 모델과 Street Scene 데이터셋을 사용하는 방식으로 문제를 해결하고 있다.

 

 

결론부터 보면, 논문에 제시된 모델이 기존 모델에 비해 더 높은 AUC 점수를 기록하고 있다. AUC 점수는 "Area Under the Curve"의 약자로, 주로 이진 분류 문제에서 모델의 성능을 평가하는 지표이다. 1에 가까울수록 모델의 성능이 뛰어나며, 완벽하게 분류할 수 있음을 의미한다.

 

2. 데이터셋

무단횡단 디텍션 태스크에서 고민해 볼 만한 데이터셋으로는 UCSD pedestrian anomaly dataset, CHUK dataset, UMN dataset 등이 있다. 그러나 데이터 수집 장소가 학교이거나 무단횡단을 하는 경우가 부족해서 적합하지 않다.

 


논문에서 사용한 데이터셋은 2020년에 발표된 Street Scene 데이터셋이다. 건물 외벽에 설치된 CCTV로 영상을 수집했으며, 27개의 이상(anomaly) 데이터를 제공한다. 그중 무단횡단의 빈도수가 61로 가장 높기 때문에 다른 데이터셋에 비해 보다 다양한 무단횡단 사례가 등장한다.

 

Street Scene 데이터셋은 훈련과 테스팅을 위해 각각 46개, 35개의 영상 데이터를 포함하는 2개의 폴더로 구성되어 있다. 각 폴더에는 ground truth annotations 파일이 있으며 6개의 column(영상 제목, ID,  바운딩 박스 레이블(x, y, w, h))으로 구성되어 있다. 

 

Street Scene 데이터셋의 예시 프레임


논문에서는 연구 목적에 적합하게 무단횡단 전, 중, 후의 데이터를 적절히 나누어 사용하고 있다. 예를 들어, 데이터셋에 100개의 무단횡단 중인 프레임이 있다면 무단횡단을 하지 않는 프레임을 100개(전, 후에서 각각 50개씩) 포함시켜 각 샘플의 균형을 맞추는 방식을 선택했다.

 

3. InceptionV3 모델

InceptionV3는 CNN을 기반으로 하는 이미지 분류 모델이다. InceptionV3의 핵심 구성 요소는 Inception 모듈로, 다음고 같은 특징이 있다.

 

  • 다양한 크기의 필터를 사용하여 이미지의 여러 스케일에서 특징을 추출한다.
  • 여러 개의 병렬 컨볼루션 레이어를 포함하고 있으며, 이들 레이어의 출력을 합쳐서 더 풍부한 특징 표현을 얻는다.

 

이렇게 다양한 크기의 필터를 사용하게 되면 더 넓은 망을 구축할 수 있다. 더 깊어지는 것이 아니기 때문에 복잡한 컴퓨팅이나 과적합 문제를 해결할 수 있다. 또한 42 층의 딥러닝 망을 가지고 있으며, 다른 CNN 모델보다 파라미터의 수가 적기 때문에 낮은 복잡도로 더 높은 정확도를 얻을 수 있다.

 

저자들은 VGG16, ResNet50, InceptionV3 모델을 비교, 실험했으며, 그 결과 InceptionV3에서 가장 높은 성능을 보였다. 최종적으로는 ImageNet으로 사전 훈련된 InceptionV3 모델을 fine-tuning 했다. (learning rate = 0.0001, batch size = 16)

 

제시한 모델은 Anomaly Detector(이상 탐지기), Anomaly Localizer(이상 위치 탐지기)로 구성되어 있다. 

 

  • Anomaly Detector: 영상에서 무단횡단 여부를 판단한다 (이진분류).
  • Anomaly Localizer: 무단횡단을 하는 보행자의 위치를 추적해 바운딩 박스를 그린다.

3.1 Anomaly Detector

 

 

Anomaly Detector 모델은 무단횡단을 하는 장면과 그렇지 않은 장면이 포함된 비디오 프레임을 입력으로 받으며, 다음과 같은 과정으로 진행된다.

 

  1. 데이터셋 준비
    • 데이터셋 구성:
      • 데이터셋 크기 설정
      • 비정상적인 프레임과 정상적인 프레임의 비율을 결정 (ex. 비정상 1000, 정상 600)
      • 다양한 종류의 무단횡단 사례를 포함하여 데이터를 다양하게 준비
  2. 데이터 전처리 및 크기 조정
    • 전처리: 각 비디오 프레임을 모델 입력에 적합하도록 전처리
    • 크기 조정: 모든 프레임을 입력 형식에 맞게 224x224x3 크기로 변경
  3. 모델 학습
    • 사전 학습된 모델 사용: InceptionV3 모델을 불러와서 미리 학습된 가중치를 활용
    • fine-tuning: 모델의 마지막 부분에 fully connected layer를 추가해 데이터셋에 맞게 fine-tune
    • 추가 학습: 준비된 데이터셋으로 추가 학습
  4. 테스트 및 예측
    • 테스트 데이터셋 준비: 새로운 비디오 프레임 세트를 테스트용으로 준비
    • 예측: 테스트 세트의 무단횡단 여부 예측

Avg. Prec. (Avrage Precision), Avg. Rec. (Average Recall), Acc. (Accuracy), F1, TTE(Total Time Elapsed)


Anomaly Detector 모델을 구현하기 위해 VGG16, ResNet50, InceptionV3를 비교한 결과, 3개의 fully connected layer(128, 64, 32)를 사용한 InceptionV3 모델이 가장 높은 성능을 보였다. 

 

3.2 Anomaly Localizer

Anomaly Localizer의 구조

 

Anomaly Localizer 모델은 Anomaly Detector의 출력을 입력으로 받아 해당 프레임에서 무단횡단을 하는 보행자의 바운딩 박스 레이블을 예측한다. Anomaly Detector 에서 가장 높은 성능을 보인 InceptionV3 모델과 3개의 fully connected layer를 결합한 모델을 사용해 설계되었다. 

 

무단횡단 영상 프레임 뿐만 아니라 바운딩 박스 레이블도 입력으로 사용한다. 바운딩 박스 레이블은 Street Scene 데이터셋에서 제공된 정보로, 중심 좌표 (Cx, Cy), 너비(w), 높이(h) 정보를 포함하고 있다. 

 

훈련이 완료되면 새로운 무단횡단 프레임에서 바운딩 박스를 예측한다. 최종 출력은 Cx, Cy, w, h로 표현된 바운딩 박스 정보이며, 이를 바탕으로 프레임에서 무단횡단을 하는 보행자 주변에 바운딩 박스를 표시한다.

 

Anomaly Localizer 평가 결과

 

제시된 모델은 0.2837의 $R_{2}$ 점수를 기록했으며, 대체로 뛰어난 성능을 보이고 있다. 

 

4. 결론

이 논문은 사전 학습된 InceptionV3 모델을 사용한 무단횡단 탐지 및 위치 추적 시스템을 제안하고 있다. 최적의 모델은 97.01%의 정확도를 기록했지만 3%의 오차로 감시 카메라를 모니터링 하는 데에는 사용할 수 있지만, 자율주행에 사용하기엔 어려움이 있다. 

 

우리가 하는 프로젝트는 자율주행에서의 상황을 다루므로 BDD-100K 데이터셋을 사용하는 것이 더 바람직하지만, 무단횡단 레이블이 없어 데이터를 만들어야 하는 번거로움이 생긴다. 따라서 Street Scene 데이터셋을 전처리해 자동차 시점으로 변형을 하거나 원본을 그대로 사용해 자동차 시점의 데이터로 테스팅하는 방법 등, 고민해 볼 필요가 있다. 

 

* 데이터셋은 달라질 수 있지만 모델의 전반적인 구조는 동일할 것 같다!