안녕하세요. KDST 학부 연구생 공경은입니다. 2022/12/02 논문 세미나 내용을 간략하게 요약해보겠습니다.

 

3D-Lidar, Camera의 Sensor Fusion을 통한 3D object detection에 대한 많은 연구가 진행되어 왔습니다. 이 논문에선 Point-Wise Sensor Fusion 방식의 단점을 지적하고 있습니다. Camera 센서의 경우 bad ilumination 환경에서 매우 부정확하며 이는 Sensor Fusion 과정에서 Noise로 작용 할 수 있습니다. 논문에선 Point-Wise 하게 연결되는 hard-association을 transformer을 통한 soft-association으로 바꿔야 한다고 주장합니다.

TransFusion 모델 구조

모델 구조는 다음과 같습니다. 1. 3D, 2D Backbone -> 2. Query initalization -> 3. Transformer Decoder Layer -> 4. Transformer Decoder Layer with SMCA  단계로 진행 되며 최종적으로 물체 위치에 대한 bounding box, probability 반환하게 됩니다. 

Backbone Layer를 거치며 Input 으로 들어오는 Point Cloud와 Image에 대한 3D, 2D Convolution이 진행되며 Input feature를 추출 하게 됩니다. 이후 Query initalization 단계에선 들어오는 Lidar BEV Features를 대상으로 진행하며 각 Class별 Heatmap을 만들어 모든Class에 대하 객체의 위치 후보군 N개를 추출 합니다. 추출된 x,y 좌표에 위치해 있는 Lidar BEV Features를 Query로 사용하게 됩니다. 

만들어진 Query를 통해 Transformer Decoder Layer에서 self attention과 Lidar BEV Features에 대한 Cross attention을 진행하게 됩니다 . Decoder 이후 FFN을 통해 N개의 query에 대한 bounding box 벡터와 probability 벡터가 추출됩니다. 추출된 좌표를 calibration matrix를 통해 이미지에 매칭 시키고 매칭된 이미지 feature들에 대해 좌표를 중심으로 masking을 진행하게 됩니다. 이후 SMCA Decoder Layer를 통해 masking 된 카메라의 featuremap을 key, value 값으로 활용하여 최종 bounding box의 좌표와 class probability를 구하게 됩니다. 

Nighttime, Degenerated Image Quaility,  Misalignment와 같이 noise가 추가된 상황에서 매우 좋은 성능을 보여주어 실제 외부 환경에서의 Sensor Fusion 기술로  사용 될 수 있을것이라 생각합니다.

자세한 내용은 본문을 참고해 주세요. 감사합니다.

안녕하세요. KDST팀 학부연구생 박태주입니다. 9월 23일 진행했던 논문세미나 내용에 대해 간단하게 요약해보도록 하겠습니다. 

 

CNN에서 downsampling을 하는 것이 이미지의 해상도를 줄이며 중요한 정보만 뽑게됩니다. 기존의 striding은 미분 불가능해서 학습이 불가능해 hyper-parameter로 설정을 해줘야했습니다. 본 논문에서는 미분이 가능한 stride인 "DiffStride" 방식을 제안합니다. 

 

spatial domain의 이미지를 푸리에 변환을 통해 frequency domain으로 표현하고, cropping window(masking function)를 사용하여 downsampling을 진행합니다. 마지막으로 다시 역변환으로 spatial domain으로 이미지를 표현합니다. 이때 backpropagation으로 masking function의 크기를 학습할 수 있어 결과적으로 stride를 학습할 수 있게 됩니다. Audio classification과 Image classification에서 기존의 fixed stride에 비해 "DiffStride"의 성능이 더 잘 나오는 것도 확인할 수 있습니다. 

 

감사합니다.

 

 

안녕하세요. KDST팀 김유진입니다. 10월 21일에 진행했던 MLP-Mixer에 대한 세미나 내용을 간략하게 요약해보도록 하겠습니다. 

 

 

현재까지 Computer vision task를 수행하기위해 다양한 아키텍쳐가 제안되어 왔습니다. 그중에서도 MLP-Mixer는 기존의 CNN 기반의 아키텍쳐와 달리 MLP layer만을 활용하여 아키텍쳐를 구성한다는 특징이 있습니다. 

Computer Vision 분야를 위한 기존의 아키텍쳐 종류

MLP-Mixer는 기존 CNN기반의 아키텍쳐와 달리 레이어의 노드간 완전 연결을 통해, locality 현상을 극복하고 global feature를 학습할 수 있습니다. 또한 Vision Transformer가 추구하는 방향 (inductive bias문제 해결, self-attention을 활용하여 global feature를 학습) 과 유사한 방향을 추구하고 있습니다. 이러한 MLP-Mixer는 비록 ImageNet clasification 성능에서 SOTA를 달성하지는 못하지만 기존 CNN, ViT와 성능이 거의 유사하며, 기존의 아키텍쳐 대안으로 활용할수 있습니다.

 

MLP-Mixer 구조

MLP-mixer의 큰 특징으로는 1) Token Mixing Layer와 2) Channel Mixing Layer를 가진다는 점입니다. 

먼저 Token Mixing Layer는 입력으로 들어온 patch들에 대해서 "공간적"으로 정보를 섞어주는 역할을 수행합니다. 모든 patch를 Per-patch Fully-connected layer에 포워딩 시켜 얻게된 CxS 벡터를 transpose하여 SxC로 만들어주고, 메트릭스의 각 행을 MLP Layer의 입력으로 넣어주는 과정을 이야기합니다. 이때, 메트릭스의 한 행에 모든 패치에 대한 정보가 포함되어있으므로, patch들 사이의 공간적 정보를 학습할 수 있습니다. 두번째로 Channel Mixing Layer에서는 다시 SxC 매트릭스를 CxS형태로 transpose하여 한개의 패치 내에서 채널 정보를 mixing합니다. 이때, 하나의 패치 내의 locality 정보를 학습할 수 있습니다. 

 

MLP-Mixer 아키텍쳐 일반화 식
MLP-Mixer forwarding phase

마지막으로 MLP-Mixer에 데이터를 forwarding 하는 과정을 식으로 나타내면 위와 같습니다. 위의 U,Y 는 아래 MLP-Mixer forwarding phase 그림을 참고하시면, 도출해 낼 수 있습니다.

 

각 데이터셋에 대한 다양한 아키텍쳐의 성능 비교표

다양한 데이터셋에 대해서 Image classification 성능을 비교한 표를 보면, MLP-Mixer가 top-1 accuracy SOTA 성능을 달성하고 있지는 않지만 ViT나 CNN 아키텍쳐 대비 comparable한 성능을 달성한다는 것을 알 수 있습니다. 하지만 SOTA를 달성하고 있는 아키텍쳐 대비, Throughput은 높으며 TPU core per day는 낮은 것을 알수있습니다. 이를 통해 MLP-Mixer는 보다 효율적으로 SOTA성능에 가깝게 달성가능하다는 것을 알 수 있습니다. Top-1 accuracy와 computational resource 간의 trade-off가 발생할 수 있으므로, 사용자는 자신의 개발환경에 맞는 아키텍쳐를 선택해야 할 필요가 있습니다. 해당 논문의 저자들은 MLP-Mixer가 practical하게 CNN과 ViT를 대체할 수 있을것이라 기대하고있습니다. 

 

자세한 내용은 MLP-Mixer 논문을 참고해주세요. 감사합니다:)