https://dacon.io/competitions/official/236064/overview/description
개요
[배경]
안녕하세요, 여러분! 😀 제1회 코스포 x 데이콘 자동차 충돌 분석 AI경진대회(채용 연계형)에 오신 것을 환영합니다.
최근 블랙박스를 활용해 도로 위에서의 사고를 예방하려는 연구가 다양하게 진행되고 있습니다.
이에 따라 근래 블랙박스는 위험 상황을 스스로 판단하고, 실시간으로 대처하는 인공지능 기능이 추가되는 방향으로 발전하고 있는데요.
교통사고의 발생과 규모를 큰 폭으로 감소시키고, 향상된 교통 안전 기술을 개발하는 데 유용하게 활용될 수 있을 것으로 기대됩니다!
이번 월간 데이콘에서는 이러한 기술 개발의 일환으로, 블랙박스 영상으로부터 자동차의 충돌 상황을 분석하는 AI 모델을 만들어야 합니다.
컴퓨터 비전 분야의 AI 기술을 적극적으로 활용하여 문제를 해결해 보세요!
이번 월간 데이콘은 채용 연계형으로, 문제 해결 능력이 우수한 인재는 스타트업에 추천됩니다.
[주제]
블랙박스 영상의 자동차 충돌 분석 AI 알고리즘 개발
[설명]
10프레임, 5초 분량의 블랙박스 영상(mp4)들을 입력으로 받아 자동차 충돌 상황을 분석하여,
이를 13가지 상황(Class)으로 분류하는 AI 모델을 개발해야 합니다.
본 대회는 개인전으로 진행되며 채용 연계형 대회입니다.
대회 종료 후 데이콘이 최종 코드와 솔루션 자료를 검증하고, 우수한 인재를 코리아스타트업포럼 회원사 스타트업에 추천합니다.
본 대회의 채용 프로세스에 참여하는 스타트업 명단은 [링크]에서 확인하실 수 있습니다.
[주최 / 주관]
- 주최 : 코리아스타트업포럼(사), 데이콘
- 주관 : 데이콘
[참가 대상]
데이커라면 누구나
- label info & train.csv & train data의 label count
데이터가 매우 불균형하여 다음 과정은 필수라 생각했습니다.
- augmentation
- 각 class 별 weights 계산
- Undersampling 또는 Oversampling
그리고, 각 상황에 대한 데이터를 나누고 모델을 따로 생성하여 결과를 도출하였습니다.
crash : C / ego_Involve : E / weatehr : W / timing : T 라 칭하겠습니다.
실험 결과
모델을 CE-W-T 로 나누어 학습한 결과의 성능이 제일 좋았습니다. (f1-score 0.4~0.68)
CEWT, C-E-W-T, CE-WT 3가지 방법을 실행하였는데 성능이 매우 안좋았습니다. (f1-score 0.2 ~ 0.3)
torchvision의 video 모델인 r3_18, mc3_18, mc3_18, swin3d_s
facebookresearch의 slow_r50, slowfast_r50, x3d_s
이 6가지 모델을 가지고 실험을했을 때 x3d_s 모델의 성능이 제일 좋게 나왔습니다.
너무 큰(깊은) 모델일수록 Overfitting이 잘 일어나 성능 향상에 방해가 되었습니다.
데이터 증강의 경우 모든 데이터를 horizontal flip한 비디오를 local에 생성하여 저장 후 load하여 학습하였습니다.
이때 사용한 라이브러리는 vidaug입니다.
다양한 증강 기법을 적용하여 실험했을 때 horizontal flip만 했을 경우가 제일 성능이 좋았습니다.
Undersampling, Oversampling의 경우 성능이 오르지 않았습니다.
Pesudo Labeling의 경우 T 모델만 threshold를 0.9로 하여 학습하였을 때 성능이 0.01정도 올랐습니다.
이외의 경우 전부 오르지 않았습니다.
가장 성능이 크게 향상한 경우는 video 크기를 원본 video의 비율(1:2)을 유지 했을 경우였습니다.
x3d의 경우 (208, 208) \(\rightarrow\) 0.625 / (208, 312) \(\rightarrow\) 0.647 / (208,416) \(\rightarrow\) 0.673
Focal Loss를 사용하여 성능의 향상이 있다고하여 참고하였습니다.
이후 토크에서 잘못 labeling된 데이터가 많다고 하여 train 데이터를 확인하면서 re labeling or drop을 진행하려 했지만,
제가 직접 보기에도 분류하기 힘든 데이터가 너무 많았고 시간 낭비라 생각하여 하지 않았습니다.
성능이 워낙 들쭉 날쭉해서 제가 실험한 결과가 맞다! 라고 단정하기 힘들 것 같습니다.
그냥 아 얘는 이렇게 했구나 ~ 하고 넘어가면 좋을 것 같습니다.
Code
https://github.com/KimGeunUk/2023-DACON-Car-Crash-Video-Classification
'Competition' 카테고리의 다른 글
[2023] / [Naver Boostcamp AI Tech] Recyclable Waste Object Detection (0) | 2023.09.07 |
---|---|
[2023] / [Naver Boostcamp AI Tech] Mask Image Classification (0) | 2023.09.07 |
[2023] / [DACON] 포디블록 구조 추출 AI 경진대회 (0) | 2023.02.03 |
[2022] / [DACON] 건설기계 오일 상태 분류 AI 경진대회 - Private 20th (0.57507) (0) | 2022.12.16 |
[2022] / [데이콘 베이직 Basic] 수화 이미지 분류 경진대회 - Private 7th (0.98148) (0) | 2022.05.30 |