다중 특징 융합 기반 3차원 객체 검출 알고리즘
Copyright ⓒ 2022 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
초록
3D 형상 특징 학습은 산업계와 학계에 중요한 역할을 한다. 최근 객체 검출 및 객체 분할과 같은 특징 이해 작업이 크게 발전하고 있다. PointCNN은 3D 데이터베이스 기반 객체 분류를 위한 우수한 신경망 중 하나이다. 본 논문은 F-PointNet과 PointCNN 융합 아키텍처를 기반으로 포인트 클라우드에 대한 객체 검출 알고리즘을 설계했다. 먼저 2D 이미지 객체 검출 모델을 사용하여 객체 2D 영역을 추출하고 포인트 클라우드 데이터에 매핑하여 객체의 후보 영역을 얻는다. 그다음 PointCNN 알고리즘에 의해 후보 영역의 3D 타겟 마스크가 예측된다. 마지막으로 마스크를 사용하여 3D 객체를 검출한다. PointCNN에서 추출한 마스크가 원래 F-PointNet 보다 3D 객체를 인식하기 쉽다는 것은 많은 실험을 통해 증명되었다.
Abstract
3D shape feature learning plays an important role in both industry and academia. Recently, feature understanding tasks such as object detection and object segmentation have been greatly developed. PointCNN is one of the excellent neural networks used for 3D object database classification. We designed a point cloud target detection algorithm based on the hybrid architecture of F-PointNet and PointCNN. First, the two-dimensional target detection model of the image is used to extract the two-dimensional area of the target and map it to the point cloud data to obtain the candidate area of the target. Then the 3D target mask of the candidate area is predicted by the PointCNN algorithm. Finally, the mask is used to detect the 3D target. We conducted experiments to prove that the mask extracted by PointCNN is easier to recognize 3D objects than the original F-PointNet.
Keywords:
F-PointNets, PointCNN, Point cloud, Object detection, Feature fusion키워드:
F-포인트넷, 포인트CNN, 포인트 클라우드, 객체 검출, 특징 용합Ⅰ. 서 론
최근 객체 검출 및 객체 분할과 같은 2D 이미지 이해 작업이 크게 발전했다[1]. 자율 주행 기술의 발달로 자율 주행 환경에서 차량, 보행자, 자전거 등을 검출하는 3D 객체 검출도 점점 더 중요해지고 있다[2]. 하지만 이미지 기반의 3D 객체 검출은 정확도가 낮아 실용성이 낮다. 최근에는 이미지와 라이다를 융향하여 3D 객체를 검출하는 다양한 방법이 소개되고 있으며 정확도도 높아졌다. 이미지와 라이다의 장점을 결합하여 융합함으로써 3D 객체 검출의 정확도를 향상시킬 수 있지만 융합 방법에 따라 정보 분실을 방지하는 성능이 차이난다. 이는 3D 객체 검출 정확도를 향상하는 열쇠이다.
RGB(Red, Green, Blue) 영상과 레이저 포인트 클라우드 융합 데이터를 기반으로 하는 3D 객체 검출 방법은 주로 다시점 융합 검출 프레임워크와 PointNet 융합 검출 프레임워크가 있다. Chen이 제안한 MV3D(Multi-View 3D) 검출 네트워크는 전형적인 다시점 융합 검출 구조이다[3]. 이는 레이저 포인트 클라우드 데이터의 정면도와 조감도를 이용하여 3차원 포인트 클라우드 정보를 표현하고, RGB 영상과 융합하여 3차원 경계를 예측한다. 그러나 이 아키텍처는 원본 포인트 클라우드 데이터가 아닌 뷰로 변환된 포인트 클라우드 데이터를 사용하므로 정보 손실이 심하다. Qi 등이 제안한 F-PointNets(Frustum PointNets)은 전형적인 PointNet 융합 검출 구조이다[4,5]. 2D 이미지 CNN을 통해 깊이 정보과 결합하여 절두체(frustum) 대상 영역을 얻은 다음 PointNet을 사용하여 객체 경계 박스를 얻는다. 절두체 영역은 대상의 3D 경계 박스에 대한 회귀 추정을 수행한다. 본 논문에는 PointCNN으로 절두체 영역의 특징 추출 및 객체 분할을 수행한다.
본 논문 다음과 같이 구성된다. II장은 제안 포인트 클라우드 객체 검출 아키텍처를 소개한다. III장은 제안된 아키텍처를 실험하고 가시화 결과를 제공한다. 마지막으로 IV장에서 결론을 다룬다.
Ⅱ. 본 론
원래 F-PointNets 아키텍처는 절두체(frustum) 포인트 클라우드 후보 영역 추출 부분, 3D 타겟 마스크(target mask) 예측 부분 및 3D 타겟 경계 박스 예측 부분으로 구성된다. 그림 1은 제안한 아키텍쳐를 보여준다. 전체 아키텍처는 원래 F-PointNet 과 비슷하게 주로 3가지 부분으로 나누어 있다. 특히 3D 타겟 마스크(target mask) 예측 부분은 PointNet 알고리즘을 포기하여 PointCNN 알고리즘을 사용한다. 그 이유는 PointNet은 우수한 객체 분할 알고리즘이지만 포인트 클라우드를 분할할 때 포인트 간의 서로 연관성이 분실했다. 즉 PointNet은 전체 포인트 클라우드 전역 특징(global feature)에 집중이고 지역 특징에 대한 고려는 결한다. PointCNN 알고리즘은 PointNet의 단점을 극복할 뿐만 아니라 2D CNN에서 추출된 원홋 벡터(one-hot vector)도 원시 입력 특징으로 PointCNN에 입력하여 더욱 정확한 포인트 클라우드 분할을 수행할 수 있다. 이 알고리즘은 계층적 컨볼루션(hierarchical convolution)으로 포인트 클라우드 특징을 효율적으로 추출할 수 있다.
절두체 포인트 클라우드 후보 영역의 추출 부분의 전체 네트워크 구조는 그림 2와 같으며, 여기서 k는 중류(class) 수, n은 포인트 클라우드 수, c는 특징 채널 수이다. 그림 2에서 볼 수 있듯이 추출 부분은 먼저 2D 이미지에 FPN(Feature pyramid networks)의 토대인 2D CNN 물체 검출 알고리즘을 적용하여[6], 2D RGB 이미지의 물체 2D 경계 박스(관심 영역)를 얻고 그의 분류를 수행한다[7]. 그다음 기지인 카메라 매핑 매트릭스로 2D 이미지 및 3D 포인트 클라우드를 서로 교정(calibration)하여(그림 3), 절두체 행태로 2D 경계 박스를 3D 포인트 클라우드 대응한 위치에 확장한다. 확장 영역에 모든 포인트 클라우드는 절두체 포인트 클라우드로 간주된다. 마지막에 절두체 포인트 클라우드의 중심축을 이미지 평면과 정교하게 한다. 즉 절두체 방향은 중심 시야각으로 조정되고 절두체의 중심축은 이미지 평면에 직교하므로 그림 4와 같이 최종 3D 절두체 후보 영역을 얻는다.
3D 절두체 포인트 클라우드 영역이 주어지면 다음 단계는 객체의 3D 위치를 얻는 것이다. 첫 번째 단계는 정확한 위치 지정을 위해 개체를 분할하는 것이다. 원래 F-PointNet은 PointNet 알고리즘을 사용하지만 PointNet 알고리즘은 개체의 지역 특징 정보를 통합하는 기능이 약하다. 따라서 여기서는 객체 분할을 위한 PointCNN을 기본 알고리즘으로 사용한다.
2-1 포인트 클라우드 특징 추출
기존의 컨볼루션 알고리즘은 구조화된 데이터(예: 이미지, 오디오 등)를 기반으로 설계된다. 그러나 3차원 포인트 클라우드는 전형적인 비정형 데이터이므로 위에서 언급한 CNN을 포인트 클라우드 데이터에 직접 적용할 수는 없다. 문헌[8]은 전통적인 CNN 아이디어에 기반한 포인트 클라우드 기반 X-Conv 연산자를 제안했다. 그 예를 그림 5에 나타내었다. 이 중 포인트 수는 해당 채널의 수로 나타난다. X-Conv 연산자의 주요 아이디어는 계층적 컨볼루션(hierarchical convolution) 연산을 통해 선택한 지점의 근방 포인트의 특징을 수집하여(9→5→2) 선택한 지점에 더 많은 정보가 포함되도록 하는 것이다.
X-Conv 레이어의 입력은 한 셋의 포인트 클라우드이다. 포인트 클라우드는 {}, 즉 하나의 포인트 집합{} 및 각 포인트 대응하는 원시 특징 집합{}이고, 여기서C1는 원시 특징의 위도/차원이라는 의미한다. X-Conv 레이어의 목적은 입력 포인트 클라우드 F1을 로 변환하는 것이고, 그중에 {P2,i}는 {P1,i}에서 선정한 포인트의 부분 집합이다. 또한 N2 < N1, C2 > C1, 이는 F1이 X-Conv 레이어 수행한 후의 출력 F2의 특징 포인트 개수 감소이며 대응하는 특징 위도/차원 수가 증가한다는 뜻이다. 상기 X-Conv 레이어의 구체적 계산과정은 다음과 같다:
- 1. 입력은 K, p, P, F.
- 2. P*←P-p: 포인트 p에 상대하는 입력 포인트 P의 좌표 P*을 얻음.
- 3. Fδ←MLPδ(P*): 각 포인트를 Cδ위도 공간으로 매핑하며 MLP를 사용하여 Fδ를 얻음.
- 4. F*←[Fδ, F]: Fδ과 F 서로 연결하여 k×(Cδ+C1)위도인 매트릭스 F*을 얻음.
- 5. X←MLPδ(P*): 포인트 P* 기반으로 k×k 위도의 전환 매트릭스 X를 예측함.
- 6. Fx←X×F*: X 와F* 곱하여 특징 매트릭스 Fx를 얻음.
- 7. Fp←Conv(K, Fx): K를 커널로 하며, 특징 매트릭스 Fx에 컨볼루션 하여 최종 특징 Fp를 얻음.
X-Conv 레이어 알고리즘의 입력 파라미터 p는 {P2,i}중 하나의 포인트로 표시되며, 그의 대응하는 특징은 f이고, N 는 {P1,i}중 포인트 p의 접근 집합, 그래서 X-Conv 레이어의 입력은 포인트 p가 대응하는 무 순서 포인트 집합 S = {(pi, fi), pi∈N}이다. S는 k×Dim 개의 위도인 매트릭스 P = (p1, p2,⋯,pk)T 및 k×C1 개의 위도인 매트릭스 F = (f1, f2,⋯,fk)T로 표시될 수 있다. K는 훈련 가능한 컨볼루션커널이다. X-Conv 레이어 계산 과정의 최종 출력 Fp는 입력 특징의 포인트 p에 매핑 집합이다. X-Conv 레이어의 일반화 수식은 다음과 같다.
(1) |
MLP는 각 포인트에 단독 적용된 멀티 레이어 퍼셉트론(Multilayer perceptron)이며, 각 Conv 연산자, MLP 연산자, 매트릭스 곱셈 등은 모두 미분 가능이다.
2-2 객체 분할 PointCNN 아키텍처
객체 분할에 사용된 PointCNN 아키텍처는 그림 6에 나와 있다. 이 아키텍처는 4개의 X-Conv 레이어, 3개의 X-DeConv 레이어 및 3개의 완전 연결 레이어(fully connected layers)로 구성된다. 각 X-Conv 레이어와 X-DeConv 레이어에는 N, C, K, D의 4가지 기본 매개변수가 있다. 여기서 N은 입력 포인트 수, C는 출력 시 각 포인트에 해당하는 특징의 차원, K는 숫자 계산에서 각 점에 대해 선택된 가장 가까운 점의 수량이고 D는 확장 컨볼루션(expansion convolution)의 간격이다[9]. 입력에서 시작하는 각 X-Conv 레이어는 점차적으로 입력 포인트(특성이 있거나 없음)를 더 적은 수의 표현 포인트로 변환하지만 각 포인트에는 더 풍부한 특징이 있다. 네 번째 레이어 이후에 남은 포인트가 가장 적지만 처음 세 레이어의 모든 포인트가 가지고 있는 특징이 집계된다.
분할 작업의 경우 고해상도 포인트별 출력이 필요하며 X-DeConv 레이어를 통해 달성할 수 있다. X-DeConv 부분은 전역 특징을 고해상도 예측으로 전파하는 역할을 한다. PointCNN 분할 네트워크의 "Conv"와 "DeConv"는 모두 동일한 X-Conv 연산자이며, "Conv" 레이어와 "DeConv" 레이어의 유일한 차이점은 "DeConv" 레이어가 입력에 비해 출력이 더 많은 포인트가 있지만 더 적은 특징 채널이 있다는 것이다. 그런 다음 네트워크 훈련을 위해 마지막 X-Conv 레이어 출력 위에 완전 연결 레이어를 추가한 다음 손실(loss)을 추가한다. 분할된 객체 포인트(3D 마스크 좌표)가 주어지면 이 모듈은 전처리 변환기 네트워크와 함께 경계 회귀 PointNet을 사용하여 객체의 아모달(amodal) 지향성 3D 경계 박스를 추정한다.
3D 목표 경계 박스 예측은 앞에 얻은 목표 객체 포인트 클라우드 및 전역 특징으로 진행한다. 먼저 목표 객체의 포인트 클라우드가 절두체(frustum) 좌표계에서 3D 타겟 마스크(target mask) 중심 좌표계로 변환한다. 그러나 포인트 클라우드 데이터의 수집 특성으로 인해 실제 목표 객체 포인트 클라우드가 완전한 객체로 형성할 수 없다. 따라서 3D 타겟 마스크의 중심은 목표 객체 경계 박스의 중심이 아니므로 STN(Spatial Transformer Network)과 유사한 T-Net을 사용한다[10]. 목표 객체 경계 박스의 중심을 추정한 다음 목표 객체 경계 박스 중심 좌표계로 변환한다.
좌표계 변환 결과는 그림 7와 같다. 마지막으로 PointNet과 다층 퍼셉트론(MLP, multilayer percetron)을 사용하고, 잔여 회귀 방법을 사용하여 목표 객체 포인트 클라우드의 3D 경계 박스 회귀 추정을 달성한다. 회귀 매개변수에는 중심 좌표, 3D 객체 경계 박스의 길이, 너비 및 높이 및 목표의 방위각이 포함된다.
Ⅲ. 실 험
우리는 KITTI 데이터 세트를 사용하여 실험을 수행했다. KITTI 데이터 세트는 독일의 Karlsruhe Institute of Technology와 Toyota American Institute of Technology가 공동 설립했다[11]. 이는 현재 자율 주행 시나리오에서 컴퓨터 비전 알고리즘 평가를 위한 세계 최대 규모의 데이터 세트이다. KITTI는 도시, 농촌, 고속도로 등의 장면에서 수집한 실화상 데이터를 담고 있다. 각 이미지에는 최대 15대의 자동차와 30명의 보행자가 포함되어 있으며 다양한 정도의 폐쇄와 잘림이 있다. 전체 데이터 세트는 389쌍의 스테레오 이미지 및 광학 흐름 지도, 39.2km의 시각적 범위 시퀀스 및 200k 이상의 3D 주석이 달린 객체 이미지로 구성된다.
먼저 2D 목표 검출 모델의 가중치를 사전 훈련하고 KITTI 2D 객체 검출 데이터 세트에 대해 사전 훈련된 데이터 세트를 미세 조정한다. 훈련된 2D 목표 검출기를 사용하여 2D 목표를 얻은 다음 KITTI 데이터 세트에서 3D 포인트 클라우드 후보 영역 데이터를 추출하여 저장한다. 마지막으로 저장된 후보 영역의 포인트 클라우드 데이터는 3D 타겟 마스크 예측과 3D 목표 경계 박스 예측의 공동 훈련에 사용된다.
객체 검출 예측을 수행하기 전에 BatchNorm의 감쇠율을 0.8에서 0.99로 점진적 증가를 설정한다. 초기 학습률 0.001, 모멘텀(momentum) 0.9, 배치(batch) 크기 10의 아담 옵티마이저(Adam optimizer)를 사용했다. 실행 플랫폼은 GTX2080Ti GPU가 탑재된 Intel i9-9900K이다.
우리는 제안한 방법과 F-PointNet 비교했다. 그림 8은 제안한 아키텍처 및 F-PointNet의 객체 검출 가시화 결과를 보여준다. 검출 결과를 비교를 해보면 F-PointNet은 원거리 객체 검출되지 않는 반면에, 제안한 아키텍처는 F-PointNet이 검출 못한 객체를 정확히 검출한다. 또한 F-PointNet의 결과는 2가지 객체가 겹치는 상황이 있으나 제안한 아키텍처의 결과는 그 약점이 개선된다. 구체적으로 비교하면 그림 8(a)는 화면의 왼쪽 자동차가 검출하지 못하며 그 뒤에 있는 차폐된 자동차도 검출하지 못한다. 그림 8(b)는 왼쪽 자동차가 검출하며 차폐된 자동차도 검출한다. 그림 8(c)는 2대 자동차밖에 검출 못하며 원거리 객체 검출 능력이 부족하다. 반면에 그림 8(d)는 총 3대 자동차 검출되며 원거리 자동차도 제대로 검출된다. 그림 8(e) 및 8(f)는 둘 다 4대 자동차 검출되지만 그림8(e)는 오른쪽 2대 자동차가 겹치게 검출되어 있다. 그림8(f)는 4대 차량 제대로 검출된다. 실험을 통해 제안한 아카텍처 가 F-PointNet보다 객체 검출 성능이 더 우수함을 보였다.
Ⅳ. 결 론
본 논문에서는 F-PointNets 및 PointCNN 융합 아키텍처를 기반으로 하는 3D 포인트 클라우드를 위한 새로운 객체 검출 알고리즘을 설계했다. 2D 신경망은 RGB 이미지의 특징을 추출하고 3D 포인트 클라우드 영역으로 확장하는 데 사용된다. 그런 다음 더 정확한 객체 분할을 위해 PointCNN에 넘겨주고 마지막으로 분할 결과는 3D 아모달 박스(amodal box) 추정이다. 또한 KITTI 데이터 세트를 사용하여 실험을 수행했으며 실험 결과 우리 아키텍처가 고성능임을 보여준다. 향후에는 아케텍처에 주의 기제(Attention mechanism) 추가 실험할 예정 및 손실 함수(Loss function) 개선을 진행할 예정이고, 검출 정확도 및 검출 속도를 더욱 향상시키코자 한다. 향후에는 아케텍처에 주의 기제(Attention mechanism)를 고려한 추가 실험 및 손실 함수(Loss function) 개선을 진행할 예정이며, 검출 정확도 및 검출 속도를 더욱 향상시키코자 한다.
Acknowledgments
이 논문은 전남대학교 학술연구비(과제번호: 2020-3932) 지원에 의하여 연구되었음.
References
- R. Girshick, J. Donahue, T. Darrell, and J. Malik. “Rich feature hierarchies for accurate object detection and semantic segmentation,” 2014 IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, USA, pp.580-587, 2014. [https://doi.org/10.1109/CVPR.2014.81]
- Zhang Y Ren G Q Cheng Z Y et al “Application research of there-dimensional LiDAR in unmanned vehicle environment perception,” Laser & Optoelectronics Progress, Vol. 56, No. 13, 2019. [https://doi.org/10.3788/LOP56.130001]
- Chen. X. Z, Ma. H. M, Wan. J, et al. “Multi-view 3D object detection network for autonomous driving,” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, USA, pp.1-10, July 21-26, 2017. [https://doi.org/10.1109/CVPR.2017.691]
- Charles R Qi, Hao Su, Kaichun Mo, Leonidas J Guibas, “Pointnet: Deep learning on point sets for 3D classification and segmentation,” 2017 IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, USA, pp. 77-85, 21-26 July, 2017. [https://doi.org/10.1109/CVPR.2017.16]
- Charles R Qi, Liu W, Wu C X, et al. “Frustum PointNets for 3D object detection from RGB-D data,” 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA. pp. 918-927, June 18-23, 2018.
- Lin. T. Y, Dollar. P, Girshick. R, et al. “Feature pyramid networks for object detection,” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, USA, pp. 2117-2125, 2017. [https://doi.org/10.1109/CVPR.2017.106]
- Vishakh Hegde, Reza Zadeh, FusionNet: 3D Object Classification Using Multiple Data Representations [Internet]. Available: https://arxiv.org/abs/1607.05695, .
- LI Yangyan, BU Rui, SUN Mingchao, et al. “PointCNN: Convolution on X-transformed points,” 32nd Conference on Neural Information Processing Systems (NeurIPS 2018), Montréal, CANADA, pp. 820-830, Dec 3-8, 2018. https://arxiv.org/abs/1801.07791
- Wang P Q, Chen P F, Yuan Y, et al. “Understading convolution for semantic segmentation,” Proceedings of 2018 IEEE Winter Conference on Applications of Computer Vision, Washington D. C., USA, pp. 1451-1460, 2018. [https://doi.org/10.1109/WACV.2018.00163]
- Jaderberg M., Simonyan K., Zisserman A., et al. “Spatial transformer networks,” Advances in neural information processing systems. Vol. 28, pp. 2017-2025, 2015. https://arxiv.org/abs/1506.02025, .
- A. Geiger, P. Lenz, C. Stiller, and R. Urtasun. “Vision meets robotics: The kitti dataset,” The International Journal of Robotics Research, Vol. 32, No. 11, pp.1231–1237, May 2013. [https://doi.org/10.1177/0278364913491297]
저자소개
2017년 : 전남대학교 전자컴퓨터공학과 (공학석사)
2020년~현 재 : 전남대학교 전자컴퓨터공학과 (박사과정)
※관심분야:라이다 기반 객체 검출, 자동차 자율주행 등
1992년 : 한국과학기술원 전기 및 전자공학과 (공학석사)
1999년 : 한국과학기술원 전기 및 전자공학과 (공학박사)
1999년~2004년: 한국전자통신연구원(ETRI)
2004년~현 재: 전남대학교 전자공학과 교수
※관심분야:광통신, Access network, QoS, 라이다 기반 객체검출 등