HazardNet 톺아보기
도로 위의 위험물 감지 : 어떻게 정의하고, 어떻게 접근해야할까?
최근에 도로 위의 위험물을 감지하는 프로젝트를 진행하게 되었다. 이를 위해 가장 먼저 고민해야 할 문제는 바로 ‘위험물’이라는 개념을 어떻게 정의할 것일까에 대한 문제를 정의하는 것이다. 이는 프로젝트의 방향성을 결정짓는 중요한 요소이며, 이에 대한 정의 없이는 올바른 방향으로 나아갈 수 없다.
이 문제에 대해 다양한 의견을 살펴보던 중, Nvidia와 Stanford에서 작성한 ‘HazardNet: Road Debris Detection by Augmentation of Synthetic Models’이라는 논문을 발견하였다. 이 논문은 매우 흥미로운 접근 방식을 제시하고 있다.
HazardNet: 합성 모델의 증강을 통한 도로 잔해 감지
이 논문은 현실 세계에서 발견되기 어려운 위험물을 검출하는 데 도움을 주는 학습 방법을 제안한다. 실제 현실에서는 위험물을 마주치는 상황이 드물기 때문에, 충분한 데이터를 확보하는 것이 큰 문제다.
하지만 이 논문은 이러한 문제를 해결하기 위한 3가지 방법을 제안한다.
Semantic Augmentation: 의미론적 증강은 기존의 데이터에 다양한 변형을 가해 새로운 데이터를 생성하는 방법이다. 이를 통해 학습 데이터의 다양성을 높이고, 모델의 일반화 성능을 향상시킬 수 있다.
Domain Randomization: 도메인 무작위화는 학습 데이터의 배경이나 조명 등의 요소를 무작위로 변화시켜, 모델이 특정 환경에 과적합되는 것을 방지하는 방법이다. 이를 통해 모델이 다양한 환경에서도 잘 동작할 수 있게 한다.
HazardNet: HazardNet은 위험물 검출을 위한 신경망이다. 이 논문에서 제안하는 방법을 통해 학습된 모델은, 실제 환경에서 발생할 수 있는 다양한 위험물을 효과적으로 감지할 수 있다.
어떤 프로세스를 가지는가?
위험물이 존재하지 않는 데이터셋은 실제로 꽤 많이 존재한다. 이러한 데이터를 활용하여, HazardNet는 다음과 같은 프로세스를 거친다.
도로 이미지와 라벨링 데이터 준비: 우선, 도로 이미지와 해당 이미지에 대한 라벨링 데이터를 준비한다.
환경 정보 추출: 이미지에서 환경에 대한 정보를 추출한다. 이 정보에는 시간, 장소, 날씨 등이 포함된다.
Synthetic Model Generation: 추출한 환경 정보를 바탕으로, 유사한 환경을 가지는 합설 모델을 생성한다.
Domain Randomization: 생성한 모델의 도메인을 랜덤화한다. 이 과정에서 3D 포즈, 색조, 가시성 등의 요소가 변화한다.
Semantic Model Augmentation: 위험물이 실제로 존재할 수 있는 곳, 즉 도로 위에 Synthetic Model을 배치한다.
HazardNet 학습: 마지막으로, HazardNet을 통해 위험물 감지 모델을 학습한다.
Synthetic Model Generation
20개의 다양한 모델 수집 : 골판지 상자, 크고 작은 돌, 타이어, 바퀴, 나무 팔레트, 도로 위의 사체, 나무 통, 교통 콘, 배럴, 매트리스, 분리된 머플러, 쓰레기통, 교통 표지판 기둥, 분리된 트레일러 등 다양한 사물들이 포함되어 있다.
3D 정보 : 위도, 경도, 방향(요, 피치, 롤), 조명, 날씨 조건 등이 고려되어 있다.
환경 조건 : 날씨 조건, 하루 중 시간 등 다양한 환경 변수들이 반영되어 있다.
시뮬레이터를 통해 인스턴스 분할 마스크 생성 : 각각의 모델을
Domain randomization on objects
합성 모델과 실제 이미지 사이의 차이는 색상, 질감, 그림자와 같은 외관을 포함한다.
따라서 합성 모델 생성에서는 시뮬레이터 내에서 모델을 무작위로 배치하여 다양한 색상과 질감을 부여하기 위해 도메인 랜덤화를 적용한다.
구체적으로, 시뮬레이터 내에서 다양한 도로 파편 모델은 3D 위치, 3D 방향, 색조, 재질 및 안개 또는 흐림에 따른 가시성을 무작위로 샘플링하여 생성된다.
Semantic model augmentation
데이터 생성의 마지막 단계에서는 실제 이미지를 도메인 랜덤화된 합성 모델로 보강한다.
증강 과정에서는 도로 파편과 같은 도로 위의 이상한 물체가 차량의 경로를 막는 의미를 인코딩해야 한다.
도로 파편이 발생할 수 있는 위치에 대한 의미 제약을 추가함으로써 DNNs는 도로 파편을 다른 도로 요소와 효과적으로 정확히 구별하는 데 더 효과적으로 학습할 수 있다.
따라서 합성 모델은 자율 주행 차량의 계획된 경로나 인근 차선(좌우 차선 또는 어깨)에 배치된다.
HazardNet Architecture
Data collection and labeling
먼저, 실제 도로 파편이 없는 실데이터가 Sim 데이터를 위해 수집되었습니다. 이 데이터는 다양한 위치, 조명 조건, 낮과 밤, 그리고 날씨 조건에서 수집되었다.
도로 유형: 고속도로, 자유도로, 교외 도로, 도심 도로, 시골 도로, 진흙길, 실내/외 주차장.
시간: 주간, 야간, 새벽/황혼, 일몰/일출.
날씨: 맑음, 태양, 달, 구름, 비, 눈, 안개.
물체: 승용차, 자동차, 응급 차량, 대형 트럭, 자전거, 오토바이, 스쿠터, 다양한 교통 수단을 이용하는 보행자들.
Quantitative evaluation
HazardNet이 세 가지 훈련 데이터셋(Sim, Real 및 Hybrid: Sim + Real)에서 훈련된 성능을 양적으로 측정하기 위해 평균 정밀도(mAP), 실제 양성 비율(TPR), 거짓 양성 비율(FPR), 정밀도 및 재현율을 계산한다.
mAP에 대해서, 두 테스트 데이터셋을 각각 small (8-25 픽셀 높이), medium (25-100 픽셀 높이), large (100 픽셀 이상 높이) 및 전체로 나누어 난이도로 분류한다.
모든 테스트 인스턴스를 평가할 때, 각 버킷에 대한 mAP를 객체 크기에 비례하도록 가중치를 적용한다. small, medium 및 large 객체에 대한 해당 가중치는 각각 0.5, 1 및 5입니다.
Qualitative evaluation
Conclusion
우리는 길거리의 장애물을 감지하기 위한 새로운 학습 프레임워크인 ‘HazardNet’을 제안하였다.
적은 수의 합성 모델들을 활용하여, 실제로는 한 번도 보지 못했던 실제 이미지 속의 장애물들을 정확히 감지하는 데 도움을 줄 수 있었다.
이러한 방법론은 광대한 스케일의 다양한 응용 분야에도 적용될 수 있음을 보여주었다.