오랜만에 논문 리뷰를 꼼꼼히 해서 아까워서 올려보려고 한다! 핵심 내용만 PPT로 만들어보았다. Methodology와 Evaluation만 담았고, AR환경에서 3D object detection 하는 과정에 대한 논문이다! 5초컷으로 보고 싶은 분들을 위하여, 잘 요약되어있는 adstract를 친절히 써보려고 한다. 중요하지 않아서 대부분 3,4번만 읽는 경우도 많지만 난 abstract를 알면 방향성이나 개요를 알고 읽어서 더 잘 읽히는 것 같다. 더보기로 첨부하겠다.
Let's start!
Object Detection in the Context of Mobile Augmented Reality
0. ABSTRACT
지난 몇 년 동안 수많은 CNN 모델과 프레임워크가 개발되어 RGB 영상에서 실시간 물체 검출(Object Detection) 문제를 다루게 되었다. 일반적인 object detection은 이미지에서만 정보를 처리하며, 환경과 환경의 규모에 대한 카메라 pose를 망각한다.
반면, 모바일 증강현실(AR) 프레임워크는 장면 내에서 카메라의 pose를 지속적으로 추적할 수 있고, 시각-내부적 방향측정법(VIO)를 활용함으로써 정확한 환경의 규모를 측정할 수 있다.
본 논문에서는 모바일 장치의 object detection 성능을 향상시키기 위하여, VIO의 기하학적 정보와 object detector의 semantic information를 결합하는 새로운 방식을 제안한다.
1. 이미지 방향 보정 방법 (ppt 1.2)
2. 스케일 기반 필터링 접근법 (ppt 1.3)
3. online semantic map (ppt 1.4)
각 구성 요소 3가지는 VIO 기반 AR 프레임워크의 서로 다른 특성을 활용한다.
우리는 ARCore와 SSD Mobilenet model을 이용하여 안드로이드 폰들에 AR 강화 기능을 구현했다.
검증 방법 : 12개의 room-scale AR 세션에서 가져온 이미지 시퀀스들에 객체들을 수동적으로 라벨링.
결과 : 일반적인 object detectors 정확도를 12% 향상
AR 세션 동안, scene을 통하여 다른 시야 각도에서 가상 객체 확인 가능하다.
Camera pose : 물체가 직립 방향으로 보이도록 수정하는데 사용한다.
Point Cloud : AR framework에 의해서 제공된다.
보정된 이미지들은 object detection을 위해 DNN으로 전달된다.
카메라 포즈와 포인트 클라우드는 DNN에서 우리의 스케일 기반 필터링 모듈과 semantic map 모듈의 object detection 출력물과 결합된다.
그림처럼 실제 물체가 대부분 수평 표면에 배치되고 직립한 방향에 있다는 사실을 이용한다.
예를 들어, 안드로이드 플랫폼은 중력의 방향과 크기를 포함하는 중력 센서 값을 제공한다.
Input image의 경우 이미지의 x 축이 중력 방향에 수직이 되도록 이미지를 중심으로 회전시키는 각도를 계산하는 것이 간단하다.
물체 검출기의 검출 결과에는 잘못된 긍정이 포함되는 경우가 있는데, 그 중 상당수는 스케일 정보를 이용할 수 있는 경우 쉽게 필터링할 수 있다.
Mobile AR framwork는 좌표 시스템에서 각 프레임마다 아주 작은 3D point cloud를 실제 스케일로 제공한다. 이를 사용하여 장면 내 물체의 크기를 추정한다.
(False positive 예. 책이라고 결과가 나왔는데 크기가 5m인 경우. 제외시키자.)
추정 스케일을 기준으로 잘못된 긍정을 필터링하기 위해, coco에서 정의된 80개 범주를 포함하는 범주별 스케일 데이터베이스를 도입한다.
물체 방향이 다르면 이미지 상의 2D bounding box 너비가 달라질 수 있어서 가장 작은 값, 큰 값 모두를 사용한다.
Scale 기반 필터링은 유사한 척도 범위를 가진 범주를 구별할 수 없다는 특징이 있다.
규모와 관점의 차이와 같은 물체 감지에는 많은 어려움이 있다.
1. 물체 감지기는 영상에서 다른 시각과 다른 눈금을 가진 물체를 감지해야 한다.
2. 물체 감지기는 시간이 지남에 따라 일관성 없는 검출 결과를 발생시킬 수 있다.
이러한 문제를 극복하기 위해 AR 프레임워크와 객체 검출기 양쪽의 출력을 이용하여 semantic map을 구축한다. 확률론적 모델은 semantic map 내에서 객체 범주, 관점 및 척도 정보를 유지 및 업데이트하는 데 사용된다.
현재 프레임의 객체 검출기에서 객체 라벨 확률을 조정한다.
Semantic map updatde process는 세 단계로 구성된다.
(1) 각 프레임에 대해 object detection는 관련 경계 상자와 loc, local, view, scale을 출력한다.
- loc - 경계 상자 내 모든 희소점 중앙값의 3D 좌표
- local - 객체 라벨
- view - 카메라에서 loc까지의 뷰 방향이며 정규화된 단위 벡터
- scale - 카메라 위치로부터 loc까지의 거리 d에 따라 달라지는 척도 정보
(2) 추정된 물체와 이미 의미 맵에 있는 정보를 융합하여 장면 내 물체에 대한 superpoint의 집합을 저장한다.
추정된 객체 점 데이터 구조와 달리, 객체 수퍼포인트는 (loc, list_score, list_view, list_scale)로 표현된다. 세 목록은 동일한 AR 세션에서 모든 이전 프레임의 정보를 인코딩한다.
- list_score (E1, E2, E3,,, El,,,,)은 이 슈퍼포인트 위치에서 검출된 각 라벨 l에 대한 점수 El의 목록이다. 점수가 높을수록 이 슈퍼포인트가 카테고리 l에 속할 확률이 높다. 모든 라벨의 초기 점수 값은 0이다.
- list_view(v1;v2;v3; __ )는 어떤 범주의 물체가 슈퍼포인트에서 검출되었을 때 카메라 위치부터 슈퍼포인트까지의 과거 view 방향의 목록이다.
- list_scale(s1; s2; s3; _ _ )는 어떤 범주의 물체가 슈퍼포인트에서 검출되었을 때의 과거 척도 목록이다.
(3) 객체 검출기의 확률 출력이 업데이트된다.
Semantic map을 사용한 scale 기반 필터링과 조정값을 결합하여 개체의 최종 확률은 다음과 같다.
본 논문에서는 평가를 위한 새로운 실내 데이터 세트를 수집했다. 주로 가정과 사무실 환경을 스캔하여 얻은 것.
12개의 방 스케일 AR 세션의 각 프레임마다 카메라 포즈와 스파스 포인트 클라우드 정보 포함.
왼쪽 그림 : 상위 10개 데이터 집합 범주의 인스턴스 수
오른쪽 그림 : 예시 이미지들
(a) 원래 DNN 결과는 False positive 잘못된 긍정을 가지고 있다.
(b) 우리의 이미지 방향 수정 과정이 이 문제를 완화시켰다
(c) Scale 기반 필터링을 적용한 후 결과, 비행기 라벨은 거짓 양성으로 필터링되어 없어진다
(d) 온라인 semantic mappin의 결과, 랩톱 라벨은 semtnatic map에서 정보에 의해 제거된다
(e) 모든 모듈을 결합한 보다 정확한 결과를 생성하는 최종 결과 확인.
왼쪽 그림 : 온라인 semantic mapping 모듈을 검증하기 위해 sematic map을 시각화한 결과.
superpoint는 정확한 의미 정보를 유지한다.
- Semantic superpoint는 서로 다른 관점에서 두 이미지에 구로 표시된다.
- 구의 반지름 - 해당 객체 범주의 최소 척도
- 다른 색깔 - 다른 카테고리: 소파는 흰색, 의자는 빨간색, 식탁은 초록색
- 시각화에는 각 슈퍼포인트에 대해 점수가 가장 높은 클래스 라벨만 표시되며, 색상 포화도는 점수 값을 나타낸다.
- 파란색 원 - 현재 클래스 레이블의 점수가 상대적으로 낮은 하나의 수퍼 포인트를 강조. 그것은 우리의 semantic map을 사용함으로써 다른 라벨을 가진 다른 수퍼포인트에 근접하는 슈퍼포인트가 낮은 점수를 갖는 경향이 있음을 보여준다.
Semantic map은 온라인으로 업데이트되며, 물체 검출에 대한 보다 정확한 확률을 제공한다.
Table 2 AP(평균 정밀도)전체 파이프라인 ALL(OSM+SF+OC+SSD)은 평균 정밀도를 8:0%에서 20:4%로 높였다.
Table 3 AR(평균 재형율)모든 개별 모듈도 평균 recall을 개선한다는 것을 보여준다. 원래 모델보다 4% 줄었다. 두 모듈 모두 살아남을 수 있는 경계 상자만 우리 파이프라인이 수용할 것이기 때문이다. 이로 인해 새 개체 또는 잘린 개체의 탐지가 누락된다.
Thank you!
'Stay Hungry Stay Foolish > 논문 정리' 카테고리의 다른 글
[논문 정리] ArcFace: Additive Angular Margin Loss for Deep Face Recognition (0) | 2020.12.15 |
---|---|
[논문 정리] Memory Enhanced Global-Local Aggregation for Video Object Detection (0) | 2020.12.07 |
[논문 정리] Mask R-CNN (2) (0) | 2020.09.02 |
[논문 정리] Understanding the difficulty of training deep feedforward neural networks (0) | 2020.09.02 |
[논문 정리] Mask R-CNN (1) (0) | 2020.09.02 |
댓글