[2018] CNN-based thermal infrared person detection by domain adaptation

안녕하세요 이번 X-review 주제는 보행자 인식입니다.

해당 논문을 읽게된 계기는 domain adaptation을 MLPD에 적용하기위해 카이스트 데이터셋을 인용한 논문중 domain adaptation으로 검색한 결과 가장 인용수가 높은 논문 이었습니다.

음 막상 읽고보니 2018년 논문도 상당히 기술적으로 뒤쳐진단 느낌이 많이 들기는 하는데 나름 아이디어가 참신하네요.

결론적으로 말씀드리면 해당논문은 멀티스펙트럴이 아니고 Thermal 이미지만을 이용하여 보행자 인식을 하는 논문입니다. 근데 왜 논문제목에 Domain adaptation이 들어 있을까요?

그 이유는, RGB이미지를 pre-train 용으로 사용하기 위함입니다. 일반적으로 RGB이미지는 데이터셋 종류도 많고, 양도 많습니다. 그에 반해 thermal 이미지는 데이터셋 종류도 적고 양도 적습니다. 이러한 thermal 이미지의 단점을 극복하기위해서 RGB이미지의 정보를 활용하자는 취지에서 domain adaptation 개념을 도입합니다.

그런데 여기서 domain adaptation은 제가 저번에 읽었던 논문에서 사용하는 방식과는 많이 다릅니다. 지난주 리뷰 및 세미나를 했던 논문에서는 도메인의 gap을 나타내는 지표인 H-divergence를 정의하고 이를 최적화 하는 방식으로 도메인간의 갭차가 줄어든 feature representation을 얻는 것을 목표로합니다. 이에반해 해당 논문에서는 thermal 이미지를 RGB이미지의 도메인과 비슷하게 하는 pre-processing 기법을 사용합니다.

핵심 아이디어는 직관적인 아이디어에서부터 시작합니다. RGB이미지 같은경우 하늘은 밝고, 사람은 대부분 어두운편입니다. 이와는 반대로 Thermal 이미지 같은 경우에는 사람이 밝고, 하늘은 어두운 편입니다. 이렇게 대조적인 밝기차이가 나타나는 것에서 모티브를 얻어서 thermal 이미지에 pre-processing 하여 RGB이미지와 비슷한 형태로 바꾸고 실제로 domain gap이 줄어들었나 평가를 합니다.

위의 이미지의 각 행은 KAIST셋에서 각기다른 장면을 의미합니다. 그리고 각각의 컬럼은 서로다른 Pre-processing 을 거치고 난 후의 이미지를 의미하며, 자세한 내용은 주석을 참고해주시기 바랍니다.

일단 논문에서 주장하는 핵심 pre-processing은 위에서 언급했던 밝기의 분포가 대조적으로 나타나는 것을 극복하기위한 Inversion입니다. Inversion에 대한 수식은 아래와 같이 나타낼 수 있습니다.

사실 수식은 굉장히 간단합니다. 밝기가 0~1이라고 했을때, 밝기를 역전시키는게 바로 inversion입니다. 이렇게 thermal 이미지에 inversion을 적용하고 나면 RGB이미지와 비슷한 형태로 사람은 어두워지고, 하늘은 밝아지게 됩니다.

그 다음으로 주장하는 pre-processing은 가우시안 커널입니다. 이는 노이즈를 제거하기 위하여 사용하였다고 하네요.

다음으로는 Histogram stretching 방법입니다. 해당 컨셉은 thermal이미지의 특성에서 아이디어를 얻었습니다. Thermal 이미지는 밝은 물체가 있으면 해당부분만 밝기값이 엄청나게 높아지고 주변과는 대조를 이룹니다. 즉, 이미지의 밝기변화가 극심한 부분이 생기는데요. 이러한 부분을 좀 풀어주기 위해서 stretching이란 개념을 도입하여 사용합니다.

이 밖에도 stretching과 비슷한 효과를 Histogram Equalization 기법을 사용하기도 합니다.

그럼 이제 pre-processing하는 방법들에 대해서 설명드렸는데 RGB이미지는 3채널이고 thermal은 1채널인데 어떤식으로 Thermal 이미지를 RGB이미지처럼 만들까요? 즉, RGB로 pre-trained된 네트워크에 Thermal이미지를 어떻게 인풋으로 넣어줄까요? 그 방법은 3가지로 세분화됩니다.

위의 아키텍쳐를 보시면 Single, Consecutive, Parallel 로 나뉘는 것을 확인 하실 수 있습니다. 뒤에 모델은 모두 같은 형태이며, 해당 방법들이 의미하는 것은 thermal 이미지를 어떻게 3채널로 만드느냐 입니다.

먼저 Single이 의미하는바는 thermal이미지를 pre-processing한 다음 repeat하여 3개의 채널로 복제한 값을 input으로 사용하는 것 입니다.

다음으로 Consecutive도 비슷한 컨셉인데 Pre-processing을 여러번 한 다음 repeat하여 3개의 채널로 복제합니다.

마지막으로 Parallel은 각기다른 Pre-processing 방법을 적용하여 3개의 채널로 합쳐주는 것 입니다.

어떤 방법이 직관적으로 성능개선이 가장 많이 일어났을 것 같나요? 한번 결과를 보기전에 유추해보세요.

위에는 결과입니다. 아마 결국에는 none, invert, equalization 총 3개의 raw이미지 및 pre-processed 이미지를 합쳐서 3개의 채널로 만든 것이 가장 성능이 좋았습니다.

결국 논문에서는 thermal이미지의 도메인을 RGB와 비슷하게 만들고, 해당 이미지를 인풋으로 사용하여 RGB로만 학습한 모델을 평가 하는 것이 목표입니다. 혹은, 소량의 thermal 이미지를 이용하여 fine-tuning 후에 평가합니다.

이렇게 함으로써, 기존에 thermal 데이터셋이 많이 없는 것을 극복할 수 있을거라고 주장합니다.

그러나 사실상 miss-rate를 보면 너무나도 높은 수치이고, 가능성을 제시하긴 했지만, 사실상 바로 활용되기에는 힘들거 같습니다. 그래도 컨셉이나 아이디어적인 면에서는 내용이 좋은거같아서 활용가능성이 많을 거라고 생각은 합니다.

최근에 나오는 DA 방법론들에서는 모델단에서 feature representation 자체의 domain gap을 줄이는데 과연 그런 방법론들에 대비해서 이점이 있을지는… 글쎄요? 아마 없지 않을까요? 혹은 해당 pre-processing방법론을 최근 DA 모델들에 적용하면 성능개선이 이루어질지는 모르겠습니다. 해당 논문을 citation한 논문들에서는 이러한 컨셉을 어떤식으로 활용하였는지 확인 해보아야 겠습니다.

Author: 김 형준

Robotics, Computer Vision

6 thoughts on “[2018] CNN-based thermal infrared person detection by domain adaptation

  1. 말씀하신것처럼 성능이 굉장히 낮게 나오네요.. 제가 듣기로 그냥 RGB로 학습한 모델로 Thermal에서 detection하여도 성능이 괜찮게 나온다는 이야기를 들어서 해당 논문에서 제시하는 베이스라인의 성능이 많이 낮은 상태에서 시작한것 같습니다..

  2. 음… 아무리 2018년이라 하더라도 해당 논문이 적용한 기법들은 조금 과하게 빈약해보이긴 하네요ㅋㅋ…
    그래도 해당 기법들이 잘 안될 것이라는 예상을 확신으로 만들어주는 좋은 계기가 되었습니다.

    1. 음… ㅋㅋ 논문에서는 나름 가능성을 봤다라고 어필하지만 현대인의 시각으로 봤을때는 좀 떨어지는게 사실인거 같습니다. 그래도 인용수가 높단건 지금 연구의 귀감이 되기 때문이지 않을까요?

  3. 최근 Domain Adaptation에 대해 조금 찾아보면서 Thermal 을 RGB로 변환하는 방법이 더 직관적인 방법은 없을까 마냥 고민해보긴 했는데,, 역시 해당 논문에서 제시한 최근 방법론들보다는 상대적으로 직관적인 방법으로는 조금 어려운 일이었군요 ,, 그래도 여러 시도로 이 gap을 줄이고자 연구가 활발히 진행되고 있는 것 같아 동기부여 되는 것 같습니다. 좋은 리뷰 감사합니다 🙂

Leave a Reply