안녕하세요 류지연입니다.
현재 기초교육을 받고 있는데 교육 기간동안 6DoF Pose Estimation 관련 논문을 여러 편 읽게 되었습니다. 그 중 처음으로 읽게 된 논문이 PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation입니다.

로봇이 물체를 들어올리고 물체를 이용해 작업을 수행하거나 증강현실에서 실제 물체와의 상호작용하는 것을 구현할 때 해당 물체는 3차원 공간의 물체이므로 단순히 영상 속 물체를 검출하는 것을 넘어서 3차원 공간상의 정확한 위치와 방향을 알 수 있어야 한다고 합니다. 상당히 중요한 주제인 것 같습니다.
그럼 바로 리뷰 시작하겠습니다.
Abstract
이 논문에서는 하나의 RGB 이미지만을 가지고 3차원 상의 (회전 3, 이동변환 3 총 6자유도를 가진) 물체의 자세를 occlusion이나 truncation 이슈가 존재해도 정확하게 추정하는 새로운 방법론을 제안합니다. 논문이 작성된 시점을 기준으로 당시 물체 자세를 추정하는 SOTA는 두 단계로 나눠서 자세 추정 문제를 다루는데 우선 2차원 이미지 상에서 물체의 특징점을 추출한 후 PnP의 방법으로 추정된특징점을 가지고 자세를 추정합니다. 기존 방법은 CNN을 통과한 피처맵을 가지고 특징점의 좌표를 바로 예측하기 때문에 앞선 방법론보단 좋은 성능을 보이지만 가려지거나 이미지 프레임 밖으로 잘려나간 물체에 대해서 검출하고 자세를 추정하는데에는 낮은 정확도를 보인다고 합니다. 이를 보완하기 위해 특징점을 예측할 때 Pixel-wise Voting Network(PVNet)라는 새로운 방법론 사용할 것을 제시합니다. 이 방법에 대해서는 차차 설명해 드리겠습니다. 6DoF 물체 자세 추정 모델을 평가하는 데 자주 사용되는 데이터셋에(LINEMOD, YCB-Video) 대해 기존 모델과 성능을 비교해 보다 향상된 성능을 확인할 수 있었다고 하고 Occlusion LINEMOD과 앞선 LINEMOD 데이터셋으로 부터 생성한 Truncation LINEMOD를 가지고 성능을 평가해 occlusion, truncation에 대해서도 정확한 추정이 되는 것을 확인했다고 합니다.
1. Introduction
물체의 자세를 추정한다는 것은 영상 속 물체를 검출하고 물체의 위치와 방향을 알아내는 과정을 말합니다. 물체를 촬영한 영상에서 조도 환경이 매번 같지 않고 추정하고자 하는 물체가 일부 가려지거나 잘려진 경우, 그리고 물체 주위에 여러 물체가 있어서 그 물체만을 검출하기가 어려운 경우 등 환경에 따른 영향이 크기 때문에 해당 task는 꽤 어렵습니다.
초기에는 해당 task를 다루기 위해 딥러닝 기반의 모델이 입력 이미지가 주어졌을 때 물체의 자세를 바로 추정하도록 학습시키는 방법이 사용됐었습니다.
이후 새롭게 등장한 모델은 이미지를 CNN에 통과시켜 2차원 이미지에서 물체의 특징점을 예측하고 나서 물체의 자새를 추정하는 방법, 이렇게 두가지 단계로 나누어 진행했습니다. 논문 작성 시점 기준으로 해당 방법이 6DoF Pose Estimation task에 대해 SOTA 였습니다. 하지만 여전히 이 방법론은 occlution이나 truncation의 경우 2차원 이미지에서 특징점을 제대로 예측하지 못한다는 단점이 있었습니다. 그래서 저자가 제안한 것이 2차원 이미지에서 특징점을 예측할 때 PVNet을 사용해 occlusion, truncation에도 잘 예측하도록 하자는 것이었습니다. 2차원 이미지에서 물체의 특징점 좌표를 바로 구하지 않고 물체에 해당하는 픽셀들이 특징점을 가리키는 단위 벡터를 예측해 이를 가지고 보다 정확한 특징점을 결정하는 방법이었습니다.
LINEMOD, Occlusion LINEMOD, YCB-Video 데이터셋을 가지고 평가했을 때 기존 모델과 비교했을 때 보다 향상된 성능을 보였다고 합니다. 또한 제안하는 방법론이 truncation에 대해서 문제 없이 물체 자세를 추정하는지를 확인하고자 LINEMOD 데이터셋에 변형을 줘 Truncation LINEMOD 데이터셋을 만들고 이 성능을 평가하였다고 합니다. 그리고 실제로 강인하다는 것을 보였습니다. 자세한 실험 결과는 포스트 하단에 작성해두었습니다.
2. Related work
다음은 PVNet이 제안되기 전 3차원 공간의 물체의 자세를 추정하는데 사용된 방법들에 대해 설명해 드리겠습니다.
Holistic methods
아주 초기에는 입력된 이미지만을 가지고 바로 물체의 자세를 추정하는 방법을 사용했었습니다. 추정하고자하는 물체의 정보가 담긴 템플릿을 가지고 이와 비슷한 영역을 찾아 박스를 치는 방법으로 물체를 추정했습니다. 이후 PoseNet, PoseCNN이 공개됐었는데 두 모델은 CNN을 사용합니다. 먼저 나왔던 모델이 PoseNet인데 이 모델은 하나의 RGB 이미지만을 가지고 바로 자세를 추정하도록 설계되었습니다. 하지만 RGB 이미지에는 깊이 정보가 없기 때문에 정확한 자세를 추정하지는 못합니다. 이를 보완하고자 나온 것이 PoseCNN 모델입니다. 검출과 동시에 자세를 추정하지 않고 우선 2차원 영상에서 물체를 검출하고 깊이를 예측해 3차원 물체의 자세를 추정하는 방식으로 진행됩니다. 이때 물체의 방향에 대해 연속적인 값을 그대로 사용하지 않고 동일 간격의 이산 값으로 변환해 분류 문제로 바꿔 풉니다.
Keypoint-based methods
시간이 더 지나서 2차원 영상 속 물체의 특징점들을 검출하고 나서 3차원 모델과 2차원 영상 속 물체 간의 대응점들의 대응관계를 추정해 3차원 물체의 자세를 추정하는 방법이 제안됩니다. 이때 2차원 영상 속 특징점을 검출할 때 CNN을 사용합니다. 텍스쳐 정보가 거의 없거나 저해상도 영상에서도 특징 추출이 용이하다는 장점이 있지만 물체가 가려진 경우 하나의 물체에 대해 특징 추출을 온전히 하기가 어려워 결국 자세 추정 또한 부정확하게 된다는 문제가 있습니다. 이를 보완하고자 CNN 연산의 결과로 히트맵을 생성 해 특징점을 검출하는 방법이 제안됐지만 truncation 이슈에 대해서는 여전히 해결되지 않았다는 문제가 남아있었습니다.
3. Proposed approach
다음으로 논문 저자가 앞서 살펴본 기존 자세 추정 모델을 보완하려고 새롭게 제안한 방법에 대해 살펴보겠습니다.
해당 논문은 크게 2차원 영상에서 물체의 특징점을 검출하는 새로운 방법과 기존의 PnP 알고리즘을 수정한 방법을 제안합니다. 특징점을 검출하기 위해 RANSAC과 비슷하게 다수의 데이터를 대표할 수 있는 특징점을 검출하도록 하는 PVNet이 사용됩니다. 이 방법론은 occlusion과 truncation에 robust합니다. PVNet을 통해 2차원 특징점이 예측이 되는데 각 특징점 마다 신뢰도가 다르고 이를 고려해 물체의 자세가 추정됩니다. 신뢰도가 높은 특징점에 대해 더 큰 가중치를 부여하는 방식이 사용돼 모델의 자세 추정 시 보다 더 정확한 추정이 가능하다고 설명합니다.
더 자세히 해당 방법론이 어떻게 구현되는지를 확인해보겠습니다.
3.1 Voting-based keypoint localization

위 이미지(Figure 2.)로 PVNet을 통과해 특징점이 검출되는 과정을 살펴보겠습니다. (a) 모델의 입력으로 RGB 이미지를 받습니다. PVNet을 통과하고 나면 각 픽셀마다 어떤 물체의 픽셀에 해당하는지를 나타내는 라벨 정보(d), 같은 영역안의 어떤 점을 특징점으로 가리키는 지에 대한 방향 벡터(c)가 구해집니다. (하나의 물체를 함께 이루고 있는 픽셀들의 방향 벡터들은 하나의 벡터장을 이룬다고 얘기합니다. 그리고 그 벡터장은 하나의 점을 가리키게 되는 데 이 점이 특징점일 가능성이 큽니다. 이와 비슷한 방식으로 물체의 특징점이 검출된다고 보시면 됩니다.) 벡터장 안에서 특징점을 결정할 때 이상치에 영향을 받지 않도록 RANSAC 기반의 투표 방식을 사용해 결정합니다. 같은 물체 안에 들어있는 픽셀들 중 일부를 추려 각 벡터 방향이 가리키는 특징점에 대해 가설을 세우는 과정을 반복합니다. 이에 대해 더 자세히 얘기해보겠습니다.
PVNet을 통과하면 각 픽셀에 대해 특징점을 향하도록 단위 벡터 방향이 결정됩니다. p를 픽셀이라고 하고 x_k를 3차원 물체의 특징점을 2차원 이미지 평면에 투영한 점 즉 특징점 후보라고 했을 때 p 픽셀에서의 벡터를 다음과 같이 나타낼 수 있습니다.

픽셀마다 방향 벡터가 결정될텐데 방향 벡터와 함께 구해졌던 라벨 정보를 가지고 같은 물체에 대해서 묶고 같은 물체에 포함되는 두개의 픽셀을 랜덤하게 선택합니다. 그리고 이 두 벡터의 교점을 하나의 가설로 둡니다. (이 가설은 두 픽셀 방향 벡터로부터 얻어진 특징점의 위치라고 볼 수 있습니다.)이를 N번 반복해 총 N개의 가설을 세웁니다. 각 가설에 대한 점수 또한 매겨지는데 이는 다음 식을 이용해서 구해지는 값입니다.

각 가설에 매겨지는 점수에 대해 설명을 하자면 해당 가설을 (두개의 픽셀만으로 추정한 특징점의 위치) 특징점으로 보고 같은 물체내의 다른 픽셀로 부터 그 특징점까지의 방향 벡터와 기존 픽셀의 방향 벡터의 유사정도를 계산하는 것이라고 보면 됩니다. 이후 계산된 점수를 가지고 모든 가설에 대해 평균과 공분산을 구할 수 있습니다. (아래의 식 참고)

Keypoint selection
2차원 이미지에서 검출하는 특징점들은 3차원 모델에서의 특징점을 2차원 이미지 평면에 투영한 것이라고 볼 수 있습니다. 6DoF 논문에서 하고자 하는 것이 2차원 이미지애서 나타나는 3차원 공간의 물체의 자세를 추정하는 것인데 이는 3차원 모델 좌표계에서의 점과 이 점이 2차원 평면으로 사영된 점간의 관계를 추정함으로써 구해질 수 있는 것입니다. 이 추정에 필요한 2차 평면상의 점을 알기 위해 지금까지 특징점들을 구한 것이라고 할 수 있습니다.
기존 모델들은 물체의 3차원 바운딩 박스의 각 꼭지점을 특징점으로 두고 2차원 이미지에서도 해당 위치의 특징점을 검출해 대응을 시켰었습니다. 해당 방법으로도 가설을 세우고 계산된 평균과 공분산을 가지고 이미지 위에 그려보았을 때 물체 표면에서의 특징점을 예측한 것 보다 어느 하나의 점으로 결정짓기가 어렵다는 것을 볼 수 있습니다. 따라서 저자는 해당 방법이 PVNet 사용 모델에 적합하지 않다고 보고 물체 표면의 특징점을 사용했다고 합니다. 이에 대해서 저자는 바운딩 박스의 코너를 특징점으로 두는 것보다 FPS의 방법으로 물체 표면위의 점으로 특징점을 결정하는 방법이 더 나은 성능을 보인다는 것을 실험을 통해 확인합니다.

3차원 모델의 특징점을 결정할 때 특징점들이 고르게 분포되도록 해서 물체의 자세를 PnP 알고리즘을 통해 정확하게 추정할 수 있게 합니다. K개의 특징점을 결정할 때 K개의 특징점을 모두 고르게 분포하도록 하는 방법으로 FPS (Farthest Point Sapling) 방법이 사용됩니다. 우선 물체의 중심점을 특징점으로 설정하고 이를 특징점 집합에 추가합니다. 그리고 물체 표면의 점들 중 특징점 집합 내의 있는 점들과 가장 먼 위치의 점을 선택해 집합에 새로 추가합니다. 이 과정을 K번 반복하게 되면 골고루 퍼진 K개의 특징점이 생깁니다. 그리고 여러개의 K를 가지고 실험해본 결과 K = 8 이 제일 적절하다고 판단하였다고 합니다.
3.2 Uncertainty-driven PnP
3차원 공간의 물체와 이를 2차원 이미지 평면에 사영한 이미지에 대해 대응되는 관계를 가지고 자세를 추정하던 기존 모델은 EPnP란 PnP solver를 사용했다고 합니다. 하지만 해당 solver는 각 특징점의 신뢰도를 고려하지 않는다고 합니다. 논문에서 제안하는 방법은 투표 방식으로 특징점을 검출하는 방법으로 연산 과정에서 특징점에 대한 신뢰도(또는 불확실성)가 함께 계산됩니다. 하나의 특징점(혹은 가설)의 평균과 공분산 값을 가지고 Mahalanobis 거리 식이 정의되는데 이를 최소화하는 R, t행렬을 구해 자세를 추정합니다.

4. Implementation details
PVNet은 H x W x 3 크기의 이미지를 입력받고 결과로 ( H \times W \times (K \times 2 \times C) ) 크기의 방향 벡터를 나타내는 텐서와 ( H \times W \times ( C + 1) ) 크기의 라벨 정보에 해당하는 텐서가 출력됩니다. ResNet-18을 백본 모델로 사용하고 이에 변형을 줘 PVNet을 설계했다고 합니다. 연산 과정에서 출력된 피처맵 크기가 원래 크기 보다 1/8 만큼 줄어든다면 더 이상 해상도를 줄이지 않도록 이후 존재하는 pooling layer를 모두 제거합니다. 그리고 제거 후 각 컨볼루션 연산에서의 수용장을 유지하기 위해 dilation을 설정합니다. ResNet-18에 있던 Fully Connected 계층을 모두 합성곱 계층으로 바꿔 구성합니다. 또한 결과로 입력 이미지와 같은 크기의 피처맵이 나오도록 업샘플링을 적용합니다. (모델 구조는 아래의 이미지를 참고해주세요.) 마지막 계층에서 1×1 크기의 합성곱 연산을 해 최종적으로 픽셀 당 방향 벡터와 라벨에 대한 확률값을 계산합니다.

특징점 검출을 위한 가설 생성과 각 가설에 대해 점수를 매기는 과정은 모두 CUDA에서 구현됩니다. Mahalanobis 거리를 최소한으로 만드는 R, t 행렬에 대한 추정은 Ceres Solver를 사용해 진행합니다.
PVNet을 통해 각 픽셀에서의 방향 벡터를 예측할 때 예측 벡터와 GT 벡터를 가지고 smooth L1 loss를 가지고 이를 최소화 하는 방법으로 학습됩니다.

모델을 학습시킬 때 0.001의 learning rate를 사용하고 20epoch 마다 이를 절반으로 줄이며 총 200 epoch 만큼 학습을 진행시켰다고 합니다.
5. Experiments

5.1 Datasets
모델 학습과 평가에 필요한 데이터를 확보하기 위해 위에 보이는 대로 셋팅하고 여러 시점에서의 영상을 촬영해 데이터셋을 구성합니다. 각 데이터셋마다 특징이 다릅니다.
LINEMOD
6DoF 물체 자세 추정 모델을 학습시키고 평가할 때 주로 사용되는 데이터셋입니다.
Occlusion LINEMOD
LINEMOD 데이터셋에서 여러 물체 또한 함께 표시가 됩니다. 물체간의 occlusion 정도가 큽니다. occlusion된 물체를 잘 추정하는지 확인하기에 적합한 데이터셋입니다.
Truncation LINEMOD
저자가 새롭게 구성한 데이터셋으로 LINEMOD 데이터셋을 가지고 랜덤하게 이미지를 잘라 물체의 40% ~ 60% 정도만이 남도록 했다고 합니다. 실험 과정에서 Occlusion LINEMOD와 Truncation LINEMOD 데이터셋은 오직 평가시에만 사용됐다고 합니다.
YCB-V
최근에 공개된 데이터셋으로 다양한 조도 환경, 노이즈, occlusion에 대해 학습하기에 적합한 데이터셋입니다.
5.2 Evaluation metrics
저자는 두가지 평가지표를 사용해 새롭게 제안한 방법대로 학습한 모델의 성능을 평가합니다. 1) 2D projection 지표: 추정된 자세 정보로 (R, t) 3차원 모델 물체를 2차원 이미지 영상에 사영하고 GT 자세와 비교해 (2차원 이미지 공간에서) 각 대응되는 포인트 간 거리 차이의 평균이 5 픽셀보다 작은 경우 정답으로 평가합니다. 2) ADD(-S): 3차원 모델을 변환 해 각각 GT 자세와 예측한 자세를 가지고 (3차원 공간에서) 각 대응되는 점들이 갖는 평균 거리차를 구해 물체의 지름의 10%보다 작다면 정답인 예측이라고 판단하는 ADD 지표가 있다. 대칭을 지닌 물체의 경우 가까운 거리에 대해서 차이가 계산되도록 하는 ADD-S 평가 지표가 적용된다. 3) YCB-V 데이터셋에 대해 학습시키고 평가할 때도 ADD(-S)가 계산되는 데 정답으로 인정하는 거리차의 값을 달리하면서 (임계치를 달리하며) 얻어진 precision과 recall로 그려진 PR curve에서 그래프 아래 면적에 해당하는 AUC를 지표로 사용한다.
5.3 Ablation studies
저자는 특징점을 검출하는 방법, 3차원 모델의 특징점을 선택하는 방법, 어떤 PnP 알고리즘을 사용하는지에 따라 성능을 평가해 실제로 저자가 제안한 방법이 더 향상된 성능을 보였는지를 확인했습니다.

위 결과 표를 보면 3차원 모델에서 바운딩 박스 좌표 8개를 특징점으로 설정한 것과 FPS의 방법으로 특징점을 선택한 방법에 대한 성능 비교를 확인할 수 있습니다. BBox8과 FPS 8 모델의 결과를 비교했을 때 can을 제외하고 모든 인스턴스에 대해서 더 나은 성능을 보인다는 것을 알 수 있습니다. 또한, RANSAC기반의 투표 방식으로 특징점을 검출하지 않고 CNN 모델로 특징점 좌표를 예측하는 모델과의 비교 결과를 확인할 수 있는데. Tekin 모델과 비교했을 때 FPS를 적용한 즉 PVNet을 적용한 모델이 더 정확하게 물체의 자세를 추정했다고 확인할 수 있습니다. 이를 통해 PVNet을 사용하는 것과 이를 사용했을 때 3차원 물체의 특징점은 바운딩 박스의 좌표가 아닌 물체 표면의 FPS로 결정하는 것이 더 나은 성능을 낸다는 것을 확인할 수 있습니다.
3차원 특징점의 개수를 많이 설정할 수록 성능이 향상됐습니다. 하지만 FPS 8과 FPS 12의 차이가 크지 않기 때문에 연산 효율성을 위해 이후 실험은 FPS8 방법을 사용합니다.
각 특징점의 신뢰도를 고려해 자세를 추정하는 방법인 uncertainty-drive PnP 사용의 효과를 보기 위해 FPS4, 8, 12는 신뢰도를 고려하지 않는 EPnP 방법을 사용했고 마지막에 FPS 8 이 적용된 모델에 uncertainty-drive PnP 방법으로 바꾼 결과가 나와있습니다. 지표를 비교해보면 특징점의 불확실성을 고려했을 때 성능을 향상시켰다는 것을 확인할 수 있었습니다. 따라서 저자는 FPS 8 + Un 조합의 모델을 가지고 이후 실험을 진행하였습니다.
5.4 Comparison with the state-of-the-art methods
RGB 이미지를 가지고 6D 물체 자세를 추정하는 기존 모델들과 성능을 비교해 보았습니다.

위 지표 비교표는 LINEMOD 데이터셋으로 실험한 결과입니다. 2D projection 지표로 비교된 결과입니다. 투표 기반으로 특징점의 위치를 결정짓는 논문에서 제안한 방법과는 달리 특징점의 좌표를 CNN에 통과시켜 좌표를 바로 예측하는 두 모델 BB8과 Tekin과 성능 비교를 합니다. 제안한 새로운 방법론이 두 모델보다 더 높은 정확도를 보이는 것을 확인할 수 있습니다. BB8 모델의 경우 또 다른 CNN을 학습시켜 최종적으로 추정된 자세를 조정하도록 해 성능 향상이 가능한데 이에 대해서도 논문에서 제안한 방법은 (추가적인 조정 작업 없이도) 더 높은 정확성을 보입니다.

ADD(-S) 지표로 기존 모델과의 결과를 비교해본 것입니다. 추정된 자세를 조정하지 않는 경우에 대해서 저자가 제안하는 모델의 성능이 제일 높게 나옵니다. SSD-6 모델은 경계를 맞춰 추정된 자세를 조정하는 방법으로 성능 향상을 보였는데 ape, duck, eggbox, glud 물체에 대해서 OURS 보다 좋은 결과를 보였으나 나머지 물체에 대해서는 OURS가 더 높게 나왔고 평균적인 지표를 비교했을 때도 7.27 정도의 차이를 보임을 확인할 수 있습니다. 따라서 투표 기반으로 특징점의 위치를 결정하는 PVNet 모델의 자세 추정 정확도가 기존의 SOTA 성능을 넘어섰다고 얘기할 수 있겠습니다.

다음 평가 결과는 Occlusion LINEMOD에 대해 실험을 진행한 결과인데요 각각 2D projection 지표와 ADD(-S) 지표로 계산해 비교한 것입니다. 두 지표에서 모두 일부 물체를 제외하면 기존 모델보다 더 나은 성능을 보입니다. 다른 모델보다도 OURS가 occlusion된 물체에 대한 추정을 더 정확하게 한다고 할 수 있겠네요. 저자는 PVNet에서 도출되는 각 픽셀에서 특징점을 가리키는 방향 벡터로 이뤄진 벡터장에 대해 특징점이 결정되기 때문에 물체의 일부분이 가려져도 충분히 정확한 특징점을 추출할 수 있었기 때문에 위와 같은 결과가 나왔다고 설명합니다. 정성적으로 확인했을 때 다른 물체에 가려진 물체에 대해 위치와 방향을 GT에 근사하게 추정된 것을 알 수 있습니다.

Truncation LINEMOD를 가지고 평가를 진행한 것의 정성적인 결과를 확인했을 때도 물체의 일부가 이미지 프레임 바깥에 나가있음에도 잘 추정된 것을 확인할 수 있습니다. 우측 마지막 열에 대한 4개 결과는 정답을 맞추진 못한 예측입니다. 물체가 영상 속에 정말 작은 부분만 확인할 수 있는 경우 제대로 추정되지 못했습니다.


YCB-V 에 대한 결과 분석을 했을 때 두 지표를 가지고 비교했을 때 모두 OURS의 성능이 높았습니다.
6. Conclusion
논문의 저자는 occlusion, truncation에도 robust한 6DoF Pose Estimation을 위한 새로운 프레임워크를 제안했습니다. 기존에도 추정 과정을 두 단계로 나누어 특징점을 검출한 후 자세 추정을 진행한 모델도 있었지만 occlusion, truncation 상황에서도 robust하게 특징점을 검출할 수 있도록 저자는 특징점을 검출하는 방법을 새롭게 제시합니다. PVNet을 통과시켜 모든 픽셀에 대해 방향벡터와 라벨에 대한 확률값을 계산한 후 RANSAC 기반의 투표 방식으로 특징점을 결정하고 각 특징점에서의 신뢰도를 고려해 최종적인 물체의 자세를 추정하도록 하는 방법을 제안합니다. 해당 방법이 (논문 작성 시점을 기준) 다른 기존 SOTA 보다 성능 향상을 보였고 그리고 저자가 목표하던 occlustion, truncation 상황에서도 개선된 결과를 확인할 수 있었습니다.
안녕하세요, 좋은 리뷰 감사합니다.
방향 벡터를 예측해서 가설을 세우는 과정이 voting에 해당한다고 이해하였는데요, 저 score가 높고 낮음에 따라 무엇이 결정되는건가요 ?? θ가 구한 벡터에 대한 기준이 되는 임계값인 것 같은데 이건 어떤 값으로 설정되는지도 궁금합니다. 그리고 보통 이러한 임계값들은 설정하는데 따라 성능 변화가 발생해서 ablation study로도 리포팅되는데, 해당 논문에서는 그러한 실험은 없었을까요 ?
그리고 모델이 예측하는게 라벨과 벡터인데, 벡터는 보통 6D pose estimation에 GT 정보로 제공이 되는 것인가요 ?? 일반적으로 쓰일 수 있는 방식인건지가 궁금합니다.
감사합니다.
안녕하세요 건화님
좋은 질문 감사합니다
1. 우선 가설의 점수가 높은 경우 해당 가설이 정상치로부터 세워진 가설일 가능성이 크다는 얘기일 것입니다. N개의 가설을 가지고 하나의 특징점의 분포를 계산하는데 (그 분포를 그린 것이 논문의 Fig2 (f) 라고 보시면 됩니다.) 이때 점수가 높은 가설에 대해 더 크게 가중돼서 계산됩니다. 따라서 N개의 가설로 제일 적합한 특징점 하나가 검출될 수 있습니다.
2. θ의 경우 본 연구에서는 0.99로 설정하였습니다만 왜 그렇게 설정하였는지 어떤 과정으로 이 값을 선택하게 되었는지에 대한 ablation study는 따로 리포팅돼 있지는 않습니다.
3. 네, 벡터도 GT로 주어진다고 할 수 있습니다. 제가 이해한 바로는 벡터 값 자체가 직접적으로 주어지는 것은 아닌 것 같습니다. 3D 모델의 각 K개의 키포인트 좌표와 GT 자세 (R, t), 카메라의 intrinsic parameter 이렇게 학습 시 입력 이미지와 함께 제공되고 이를 가지고 학습이 됩니다. 3D 포인트에 R, t변환을 주고 2D 이미지에 사영시키면 2D 키포인트를 알 수 있는데 이 점과 각 픽셀간을 잇는 방향이 곧 픽셀마다 가져야 할 유닛 벡터가 될 것입니다.
감사합니다
안녕하세요. 류지연 연구원님 좋은 리뷰 감사합니다.
리뷰를 읽으면서 궁금한 점이 생겨 질문합니다. 해당 연구는 물체를 이루는 픽셀들의 방향이 벡터장을 형성하고 벡터장이 가리키는 지점이 물체의 특징점이라는 것을 전제로 하고 있는 것 같은데 픽셀이 가리키는 방향이 왜 물체의 특징점이 되는 것인지 조금만 설명해주실 수 있나요?
감사합니다.
안녕하세요. 박성준 연구원님! 질문 감사합니다.
성준님이 주신 질문에 아주 뾰족한 답변은 아닐 것 같습니다만 제가 아는 선에서 답변을 드리자면..
CNN 네트워크로 특징이 추출되고 난 결과로 (줄어들었던 피처맵 크기가 업샘플링을 통해 원래 이미지 크기로 복원되기 때문에) 입력 이미지에서의 픽셀 위치 그대로 각 위치에서의 벡터값과 라벨마다의 신뢰도 값이 나오고 GT 벡터와의 오프셋을 줄이는 방향으로 모델이 학습되기 때문에 결국 각 픽셀이 GT 키포인트를 가리키게 된다고 생각합니다. 추가적으로 입력 이미지 크기로 업샘플링된 피처맵에 1×1 크기의 필터를 가지고 컨볼루션 연산을 해 최종적으로 벡터값과 라벨에 대한 신뢰도가 결정됩니다.
이를 dense prediction이라고 하는데 보통 segmentation과 같이 각 픽셀 에 대해 개별적인 class 정보가 필요한 경우 업샘플링을 진행 해 원본 크기의 피처맵을 생성합니다.
감사합니다
안녕하세요 지연님 리뷰 감사합니다.
기존 모델들이 물체의 3차원 바운딩 박스의 각 꼭지점을 특징점으로 두고 2차원 이미지에서도 해당 위치의 특징점을 검출해 대응을 시킨것 보다 물체 표면의 특징점을 사용해서 FPS의 방법으로 물체 표면위의 점으로 특징점을 결정하는 방법이 어떤 측면에서 더 적합한걸까요??
안녕하세요 영규님
좋은 질문 감사합니다
이미지에서 바운딩 박스의 각 꼭지점을 특징점으로 검출하는 게 어렵기 때문이라고 할 수 있습니다. 바운딩 박스의 꼭지점 같은 경우는 어떤 불변하거나 뚜렷한 특징을 가지고 있는 점이 아니기 때문에 각 픽셀마다 특징점을 향한 방향 벡터를 계산하고 이를 가지고 특징점을 검출하는 방법으로 정확하게 검출하는 게 어렵습니다. 특징점이 결국 자세 추정을 하기 위해서는 정확하게 검출되어야 하기 때문에 물체 표면 상의 점을 특징점으로 검출하도록 제안됐다고 생각합니다.
안녕하세요 지연님, 좋은 리뷰 감사합니다.
해당 논문이 나왔을 때 당시의 이전 모델들이 해결하지 못했던 occlusion, truncation 을 해결하기 위해 여러 기법을 추가적으로 적용한 것 같습니다.
궁금한점은, 이후 같은 occlusion , truncation 의 해결 방법으로 연구 방향이
벡터를 이용한 특징점 추정 방식으로 굳혀졌는지 아니면 2D에서 3D정보를 유추하는 기술을 더 발전시키는 방향으로 가서 occlusion 이나 truncation 을 해결했는지 궁금합니다.