DOI QR코드

DOI QR Code

Detection of the co-planar feature points in the three dimensional space

3차원 공간에서 동일 평면 상에 존재하는 특징점 검출 기법

  • Seok-Han Lee (Department of Information and Communication Engineering, Jeonju University)
  • Received : 2023.12.09
  • Accepted : 2023.12.20
  • Published : 2023.12.29

Abstract

In this paper, we propose a technique to estimate the coordinates of feature points existing on a 2D planar object in the three dimensional space. The proposed method detects multiple 3D features from the image, and excludes those which are not located on the plane. The proposed technique estimates the planar homography between the planar object in the 3D space and the camera image plane, and computes back-projection error of each feature point on the planar object. Then any feature points which have large error is considered as off-plane points and are excluded from the feature estimation phase. The proposed method is archived on the basis of the planar homography without any additional sensors or optimization algorithms. In the expretiments, it was confirmed that the speed of the proposed method is more than 40 frames per second. In addition, compared to the RGB-D camera, there was no significant difference in processing speed, and it was verified that the frame rate was unaffected even in the situation that the number of detected feature points continuously increased.

본 논문에서는 3차원 공간 내에서 동일 평면 상에 존재하는 특징점들의 좌표를 추정하기 위한 기법을 제안한다. 제안된 방법은 카메라 영상만을 이용하여 3차원 공간 내에 존재하는 다수의 특징점들을 검출한 다음 동일 평면 상에 위치하지 않는 특징점들은 제거시킨다. 이를 위해서 3차원 공간 내의 평면 객체와 2차원 카메라 영상 평면 사이의 평면 호모그래피(homography) 관계를 추정한 다음 각 특징점들의 평면 객체 상에서의 역사영 오차를 계산하고 오차값이 기준 값보다 큰 특징점들은 좌표값 추정 과정에서 제외시킨다. 제안된 방법은 별도의 센서 또는 최적화 알고리즘 없이 카메라 영상으로부터 추정된 평면 호모그래피 만을 이용한다. 실험 결과를 통해서 초당 40프레임 이상의 처리 속도를 보인다는 것을 확인할 수 있었으며, 또한 RGB-D 카메라를 이용하는 경우와 비교해도 처리 속도에 큰 차이를 보이지 않았으며, 특히 제안된 방법은 검출되는 특징점의 수가 지속적으로 증가하는 조건에서도 처리 속도가 거의 영향을 받지 않음을 알 수 있었다.

Keywords

1. 서론

본 논문에서는 3차원 공간 내에서 평면 객체 상에 존재하는 동일 평면 특징점(co-planar feature point) 검출 기법을 제안한다. 평면 객체의 검출은 컴퓨터 비전, 로봇 공학, 자율 주행 차량, 3D 모델링 및 증강 현실과 같은 다양한 분야에서 매우 중요한 역할을 한다. 이러한 기술은 실시간 환경 인식, 객체 추적 및 상호작용, 증강현실, 자연 인터페이스 등과 같은 분야에서 핵심적인 기능을 담당한다. 기존의 연구들은 주로 라이다(LiDAR) 센서나 레이저 센서, 초음파 센서, ToF 카메라, RGB-D 카메라 등과 같은 별도의 깊이 값 취득 장비를 이용하여 영상 내의 공간에 대한 상대적인 3차원 깊이 값을 취득한 다음 이를 기반으로 3차원 공간 내에서 존재하는 평면의 방정식을 취득하는 방식으로 평면 객체 및 평면 상의 특징점을 추정한다. 또한 스테레오 카메라(stereo camera)로 부터 깊이값 지도(depth-map)를 계산한 다음 이를 기반으로 평면 객체 및 평면 상의 특징점을 검출하는 방법 또한 많이 이용되고 있다. 하지만 이러한 방법들은 공통적으로 카메라 영상 이외에 깊이값 취득을 위한 센서 및 장비가 별도로 필요하며, 깊이값 취득 과정에서 발생하는 오차값이 커지는 경우 평면 객체 추정 결과가 심각한 영향을 받을 수 있다는 단점이 존재한다. 스테레오 카메라를 이용하는 경우에는 단순히 2개의 2차원 카메라 영상만을 이용하여 깊이값을 얻을 수 있으나 알고리즘의 특성상 부가적인 장비를 이용하는 방법들에 비해 깊이값의 추정이 힘들다는 문제가 있으며 깊이값 추정 결과가 부정확한 경우 강건한 평면 검출이 힘들다. 또한 두 개의 2차원 영상 카메라만을 이용하기 때문에 2대의 카메라를 모두 정확히 교정시켜야 하는 카메라 교정(camera calibration) 문제 또한 존재한다. 본 논문에서는 단안시 카메라만을 이용하여 동일 평면 상에 존재하는 특징점을 검출하기 위한 동일 평면 특징점 검출 알고리즘을 제안한다. 제안된 방법은 기존의 방법들과는 다르게 1대의 단안시 카메라만을 이용하며 별도의 깊이값 센서나 카메라를 추가로 이용하지 않는다. 또한 막대한 계산량이 필요한 복잡한 최적화 알고리즘 등을 이용하지 않고 평면 객체와 카메라 영상 사이의 기하학적 관계만을 이용하여 특징점을 추정하기 때문에 계산의 효율성 및 수행시간 측면에서도 유리하다는 장점을 갖고 있다. 본 논문의 구성은 다음과 같다. 2장에서는 평면객체 및 동일평면 특징점 검출과 관련된 연구 동향에 대해 설명하고 3장에서는 평면 객체와 카메라 영상 간의 기하학적 관계 및 특징점 검출 과정에 대해서 설명한다. 4장에서는 제안된 방법에 의한 실험 결과 및 성능 분석 결과에 대해 논하고 5장에서 최종 결론에 대해 설명한다.

2. 관련 연구 동향

평면 객체 및 동일 평면 상의 특징점 검출을 위한 가장 일반적인 방법 중의 하나는 별도의 센서로 직접 취득한 3차원 깊이값 데이터를 이용하는 것이다. Z. Kin 등의 연구에서는 깊이값 취득 카메라로부터 얻어진 영상의 깊이 정보에서 평면 시드 패치를 이용한 이를 평면 객체 검출 방법을 제안하였다[1]. 이를 위해 사전에 정의된 임계값 함수와 평면 추정 방정식을 사용하여 깊이 카메라의 깊이 데이터에서 시드 패치를 확장하고 최적의 조건을 갖는 평면 객체를 검출하는 방법을 제안하였다. M. Y. Yang 등이 제안한 방법에서는 3D 스캐너로부터 취득한 3차원 포인트 클라우드로부터 평면구조물을 탐지하기 위한 방법을 제안하였으며, 특히 RANSAC (RANdom SAmple Consensus) 및 MDL(Minimum Description Length) 기법을 통합함으로써 복잡한 3D 데이터 형상에서 평면 검출의 정확도를 향상시키고자 하는 시도가 수행되었다[2]. Z. Jin 등의 논문에서는 DPD(Depth-driven Plane Detection) 알고리즘을 제안하고 있다. 이는 인공 구조물에서의 평면 형상 검출의 정확도 향상을 목표로 하며, 성장 기반 평면 감지(growing-based plane detection)와 2단계의 교정 프로세스(two-stage refinement process)로 구성된다. 평면 감지 및 검출을 위해 평면 방정식과 동적 임계값 함수를 정의하고 가장 높은 평면성을 갖는 시드 패치에서 평면을 확장하는 방식으로 평면 객체를 검출한다. 그리고 2단계 교정 프로세서에서 결과값의 정확도 향상을 위한 추가 작업이 수행된다[3]. F. Tarsha-Kurdi 등의 연구에서는 LiDAR 센서를 이용하여 3차원 스캐닝을 수행하고 이를 통해서 얻어진 고밀도 3D 데이터로 부터 평면 정보를 검출하기 위한 시도가 이루어졌다[4]. 특히 이 연구에서는 대규모의 데이터를 처리하기 위해 Hough 변환 및 확장 RANSAC(extended Random Sample Consensus) 등과 같은 알고리즘을 제안하였다. 이와 비슷한 사례로 Y. Tian 등이 수행한 연구가 있다[5]. Y. Tian 등의 연구에서는 LiDAR 센서, 및 GPU를 활용한 RANSAC 등을 이용한다. D. Holz 등의 연구에서는 RGB-D 카메라를 사용하여 기준면(ground plane)을 검출하고 추적하기 위한 연구가 이루어졌다[6]. RGB-D 카메라로부터 3D 포인트 클라우드 데이터를 검출한 다음 데이터 전처리, 점유 그리드 맵 구성 및 지상 평면 분할의 세 단계의 단계를 수행하여 기준면을 검출한다. 이 기술은 가중치 중간값 필터(weight median filter)를 정의 한 다음 이를 활용하여 3D 포인트 클라우드 데이터 추정을 수행하며 이 데이터를 기준면의 좌표와 다른 지점의 좌표를 구별하기 위한 점유 그리드 맵(occupancy grid map)으로 변환함으로써 기준면 상의 좌표와 다른 지점의 좌표값의 차분을 계산하였다. 이와 같은 방법들은 공통적으로 깊이값을 검출하기 위한 별도의 센서를 이용하며 취득된 깊이값에 대한 오차값 최소화를 위한 별도의 오차 보정 과정을 수행한다. 또한 3차원 데이터 클라우드에 대한 추정 함수를 정의하고 시드 패치 매핑 및 확장 등의 과정을 통하여 평면 객체를 검출한다. 한편, L. V. Hung 등의 방법과 같이 RGB-D 카메라 이외에 별도의 가속도 센서값을 병행하여 이용하는 센서퓨전 기법 또한 연구되고 있다[7]. 다양한 센서에서 취득 되는 측정값을 이용할 경우 각 센서들 간의 교정(calibration) 문제 및 오차값 최적화 과정, 데이터 관리 및 갱신과정 등과 같은 별도의 과정이 필요하다. 한편 최근에는 AI를 활용한 평면 객체 및 평면 상의 좌표 검출에 대한 연구 또한 이루어지고 있다. C. Liu 등은 Mask R-CNN을 수정하여 구성된 PlaneRCNN라는 아키텍처를 제안하였다. 이를 이용하여 RGB-D 카메라로부터 수집된 깊이 정보 및 2차원 영상으로부터 영상 내에 존재하는 다수의 평면 영역을 감지하고 재구성하기 위한 시도가 이루어졌다[8]. R. Wang의 연구에서는 AI를 이용하여 깊이값 영상 내에 존재하는 평면 객체를 검출하기 위한 연구가 이루어졌다[9]. 특히 아핀 불변 영상 특징 기술자(affine invariant image feature descriptor)를 제안한 다음 이를 AI와 접목시키기 위한 시도가 이루어졌다. W. Ye 등의 연구에서는 SuperPlane 이라는 알고리즘을 제안하고 한 장의 영상으로부터 평면 객체의 3차원 정보를 추정하기 위한 기법을 제안하고 있다[10]. 이를 위해서 Kullback-Leibler (KL) 발산 검색(divergence retrieval) 이라는 기법을 제안하고 있으며 PlaneRCNN과 유사한 방식의 알고리즘을 기반으로 한다. 하지만 AI 기반 평면 객체 및 평면상의 특징점 검출 알고리즘은 기본적으로 많은 양의 학습데이터를 이용한 학습 과정을 거쳐야 하며 이를 위한 막대한 계산량이 필요하다.

3. 제안된 방법

3.1 평면객체와 카메라 영상의 호모그래피

제안된 방법은 카메라 영상과 3차원 공간에 위치하고 있는 평면 객체 사이의 평면 호모그래피(homography) 관계를 기반으로 한다. 평면 호모그래피는 두 평면 간의 사영변환 관계를 나타내는 사영변환(projective transformation)이며 그림 1에 두 개의 카메라 영상 평면과 3차원 공간 내에 존재하는 평면 객체 사이의 관계를 보인다. 그림에서 영상 내의 한점 x를 통과하는 직선은 평면 객체 π 상의 한 점 Xπ와 교차한다. 그리고 이 점은 다른 영상의 한 점 x’로 사영된다. 여기서 x와 x’ 사이의 사영관계는 평면객체 π와 관계된 평면 호모그래피 관계로 주어진다. 첫번째 영상 및 두번째 영상과 평면 π사이의 사영관계는 다음과 같다.

JBJTBH_2023_v16n6_499_f0001.png 이미지

그림 1. 평면 객체와 카메라 영상 사이의 사영 관계

Fig. 1. Homography between a planar object and camera images

x = Hxπ, x' = Hxπ.       (1)

따라서 첫번째 영상과 두 번째 영상 사이의 사영관계는 다음과 같이 하나의 평면 호모그래피로 주어진다.

x' = HH-1x = Hx.       (2)

즉, 카메라의 위치 및 방향이 변화하더라도 평면 π에 위치하는 모든 점들과 이들의 영상 내의 좌표 사이에는 식 (1), (2)의 호모그래피 관계가 성립한다. 한편, 3차원 공간내의 한점이 평면 π 상에 존재하지 않는 경우의 예를 그림 2에 보인다. 그림 2에서 X1을 통과하는 직선은 평면 π의 Xπ와 교차하며 X1 및 Xπ는 영상 내의 한 점 x로 사영된다. 그림 2의 두번째 카메라 영상으로 사영되는 좌표점들은 각각 x'1, x'2, \(\begin{align}\tilde{x}=H x\end{align}\)이며, 이러한 점들은 첫번째 카메라 평면에서와 달리 한점에서 일치하지 않음을 알 수 있다. 여기서 x'1, x'2\(\begin{align}\tilde{x}\end{align}\)사이의 길이 l1, l2는 점 X1, X2와 평면 π 사이의 거리에 의해서 생성되는 상대적인 시차정보(parallax)를 의미하며, 그림 1에서와 같이 모든 좌표점들이 동일 평면 상에 위치하는 경우 좌표점들의 시차가 존재하지 않음을 알 수 있다. 한편, 평면 객체가 동차좌표계(homogeneous coordinate) 내에서 다음의 식 (3)의 좌표를 갖는다고 가정할 때 3차원 공간 내에서의 한 점 xi = (x~Ti, ρ)T가 (3)의 평면 위에 존재한다면 식 (4)의 관계를 만족한다[11].

JBJTBH_2023_v16n6_499_f0002.png 이미지

그림 2. 평면 객체에 의해 발생되는 시차값

Fig. 2. Parallax induced by the planar object

π = (nT, d)T = (nT/d, l)T = (vT, l)T.       (3)

\(\begin{align}\begin{aligned} \boldsymbol{\pi} \cdot \mathbf{X}_{i}^{\mathbf{T}} & =\left(\mathbf{v}^{\mathbf{T}}, 1\right) \cdot\left(\tilde{\mathbf{x}}_{i}^{\mathbf{T}}, \rho\right)^{\mathbf{T}} \\ & =\mathbf{v}^{\mathbf{T}} \tilde{\mathbf{x}}_{i}+\rho=0\end{aligned}\end{align}\).       (4)

한편, 그림 2의 두 번째 영상 평면에서 \(\begin{align}\tilde{x}\end{align}\)는 평면 π상에 위치하는 점 Xπ가 사영된 점이며 따라서 카메라의 시점 및 자세가 변화해도 호모그래피의 역 변환 H-1에 의해서 항상 평면 π 상의 고정된 점 Xπ로 역사영(back-projection) 된다. 반면에 X1과 X2는 평면 π위에 존재하지 않으며 X1과 X2에 의해 생성된 영상 좌표를 H-1로 역사영 시킬 경우 카메라 시점 변화에 의해 평면 π위의 고정된 한 점으로 역사영 되지 않으며 Xπ의 좌표와 큰 값의 오차, 즉 역사영 오차(bakc-projection error)를 발생시킨다. 따라서 식 (4)의 관계 및 검출된 특징점들의 역사영 오차를 계산하면 특정 좌표점이 평면객체 상에 존재하는지 판단할 수 있다.

3.2 평면 호모그래피 추정 과정

3차원 공간 내의 평면 객체가 3차원 기준 좌표계(world coordinate)의 xy 평면과 일치한다고 가정할 때 평면객체 상의 한점 Xn과 영상 내의 한점 xn사이의 호모그래피 관계는 다음과 같다.

\(\begin{align}\mathbf{x}_{n}=\mathbf{H} \cdot \mathbf{X}_{n}\left(\begin{array}{c}x_{n} \\ y_{n} \\ 1\end{array}\right)=\mathbf{H} \cdot\left(\begin{array}{c}X_{n} \\ Y_{n} \\ 1\end{array}\right)\end{align}\).       (5)

여기서 H는 3×3 평면 호모그래피이며 평면 객체상의 점을 카메라 영상 평면으로 사영변환 시키는 역할을 한다. 식 (5)로부터 다음과 같이 H의 원소들에 대한 2개의 선형방정식을 얻는다.

xn(Xnh31 + Ynh31 + h33) = Xnh11 + Ynh12 + h13,

yn(Xnh31 + Ynh31 + h33) = Xnh21 + Ynh22 + h23.

윗 식에서 hij는 H 행렬의 i행 j열 원소이며 (xn, yn)과 (Xn, Yn)은 각각 영상과 평면 객체 상의 n번째 좌표점을 나타낸다. 위의 식으로 부터 H 행렬의 원소들을 구하기 위하여 윗 식을 Ah=0의 행렬 방정식의 형태로 재구성한다. 여기서 h는 hij로 구성된 9×1 벡터이다. N개의 점들에 대해서 행렬 A는 다음과 같이 2N×9의 크기를 갖는 행렬로 정리할 수 있다.

\(\begin{align}\mathbf{A}=\left(\begin{array}{ccccccccc}x_{1} & y_{1} & 1 & 0 & 0 & 0 & -X_{1} x_{1} & -X_{1} y_{1} & -X_{1} \\ 0 & 0 & 0 & x_{1} & y_{1} & 1 & -Y_{1} x_{1} & -Y_{1} y_{1} & -Y_{1} \\ x_{2} & y_{2} & 1 & 0 & 0 & 0 & -X_{2} x_{2} & -X_{2} y_{2} & -X_{2} \\ 0 & 0 & 0 & x_{2} & y_{2} & 1 & -Y_{2} x_{2} & -Y_{2} y_{2} & -Y_{2} \\ & & \cdots & & & \cdots & & \cdots & \\ x_{N} & y_{N} & 1 & 0 & 0 & 0 & -X_{N} x_{N} & -X_{N} y_{N} & -X_{N} \\ 0 & 0 & 0 & x_{N} & y_{N} & 0 & -Y_{N} x_{N} & -Y_{N} y_{N} & -Y_{N}\end{array}\right)\end{align}\).       (6)

여기서 Ah=0의 해인 h는 A의 우측 영공간(right null space) 벡터인 것을 알 수 있으며 행렬 A의 SVD(singular value decomposition)를 계산하여 구할 수 있다. 한편 호모그래피 행렬 H는 3×3의 크기를 가지며 따라서 3행 3열에 위치한 스케일 요소(scale factor)를 제외하면 8DOF(degree of freedom)의 자유도를 갖는다. 평면 상의 한점은 자유도가 2DOF이며 따라서 호모그래피 H 행렬을 계산하기 위해서는 최소한 4개 이상의 좌표점이 필요하다[11].

3.3 호모그래피 최적화

호모그래피에 의해 발생되는 오차값을 최소화하기 위하여 별도의 최적화 과정을 수행한다. 계산된 호모 그래피는 RANSAC을 이용하여 다음의 평가함수(cost function)가 최소값을 갖도록 반복해서 업데이트 된다. 여기서 평가함수는 평면 객체 상의 좌표점 Xn에 대한 H의 재사영 오차(reprojection error)이다. 즉, Xn과 xn 사이의 H를 계산한 다음 H에 의해 재사영된 Xn과 xn의 오차값이 최소가 되도록 매개변수 값이 반복적으로 수정된다[11, 12].

ε(hij) = ΣNk=1d2(xn, H·Xn).       (7)

윗 식에서 d는 다음과 같다

\(\begin{align}d^{2}\left(\left(\begin{array}{l}x_{i} \\ y_{i} \\ w_{i}\end{array}\right),\left(\begin{array}{l}x_{j} \\ y_{j} \\ w_{j}\end{array}\right)\right)=\left(\frac{x_{i}}{w_{i}}-\frac{x_{j}}{w_{j}}\right)^{2}+\left(\frac{y_{i}}{w_{i}}-\frac{y_{j}}{w_{j}}\right)^{2}\end{align}\).       (8)

4. 실험 결과

제안된 알고리즘에 사용된 카메라는 800 x 600 크기의 해상도를 가지며 30fps의 성능을 갖는 RGB USB 카메라이다. 시스템 구동 초기에는 사영변환에 대한 정보가 주어져 있지 않기 때문에 호모그래피 초기화를 위한 과정이 필요하다. H 행렬의 초기화를 위해서 사전에 정의된 형태와 크기를 갖는 검은색 사각형 도형의 네 개의 모서리 좌표를 이용하며 모서리 좌표 추적을 위해서 NCC(normalized cross correlation) 기반의 템플릿 매칭을 수행한다.

4.1 호모그래피 추정 오차 평가

추정된 호모그래피에 의해서 발생되는 오차값을 평가하기 위해 그림 3에 보이는 테스트 패턴을 이용한 역사영 오차 및 재사영 오차값을 분석한다. 그림 3에 보이는 사각형 패턴에서 f0 ~ f7의 8개의 모서리 좌표값을 이용하여 영상과 평면 객체 사이의 평면 호모그래피를 추정한 다음 이에 대한 오차값을 측정한다. 그림 4는 사각형 패턴을 이용한 호모그래피 추정 오차 측정 과정 보여주고 있다. 그림에서 녹색의 사각형은 모서리점 추적을 위해 사용되는 탬플릿을 나타내며 NCC 기반의 탬플릿 매칭을 통하여 코너점들이 추적되는 것을 보여준다. 그림 5와 표 2는 사각형 테스트 패턴에 대한 재사영 오차 측정 결과이다. 그림 5의 그래프로부터 재사영 오차는 거의 대부분 5 이하의 값을 갖는 것을 알 수가 있으며 영상의 해상도가 800×600인 점을 감안할 때 매우 작은 값의 오차가 발생한다고 볼 수 있다. 특히 표 2의 평균값은 상당히 작은 값을 갖는 것을 볼 수 있으며 재사영 오차에서의 심각한 오차는 발생하지 않는 것으로 판단된다. 그림 6과 표 3은 호모그래피 추정값에 의한 역사영 오차를 보여준다. 호모그래피의 추정값이 정확하면 식(4)와 그림 2의 관계에 의해서 영상으로 사영된 점이 다시 평면 객체 위의 고정된 점으로 정확히 역사영 되어야 하며 평면 위의 원래의 좌표점과 역사영된 좌표가 정확히 일치해야 한다. 측정 결과에서 역사영 오차 또한 작은 값을 갖는다는 것을 알 수 있으며 호모그래피 추정 과정에서의 심각한 오류는 발생하지 않는다는 것을 확인할 수 있다.

JBJTBH_2023_v16n6_499_f0003.png 이미지

그림 3. 호모그래피 추정 오차 측정을 위한 사각형 패턴

Fig. 3. Rectangular pattern for the measurement of homography estimation error

표 1. 사각형 패턴 모서리점의 좌표값

Table 1. Corner points of the rectangular pattern

JBJTBH_2023_v16n6_499_t0001.png 이미지

JBJTBH_2023_v16n6_499_f0004.png 이미지

그림 4. 호모그래피 추정 오차 측정 과정

Fig. 4. Measurement of the homography error

표 2. 호모그래피에 의한 재사영 오차 평균값

Table 2. Averages of the reprojection errors by the homography

JBJTBH_2023_v16n6_499_t0002.png 이미지

JBJTBH_2023_v16n6_499_f0005.png 이미지

그림 5. 호모그래피에 의한 테스트 패턴의 재사영 오차

Fig. 5. Reprojection errors of the homography

JBJTBH_2023_v16n6_499_f0006.png 이미지

그림 6. 호모그래피에 의한 역사영 오차

Fig. 6. Back-projection errors of the homography

표 3. 호모그래피에 의한 역사영 오차 평균값

Table 3. Averages of the back-projection errors of the homography

JBJTBH_2023_v16n6_499_t0003.png 이미지

4.2 동일 평면상의 특징점 검출 결과

본 논문에서 제안된 알고리즘을 이용하여 실제 환경에서 동일 평면 상에 존재하는 특징점과 평면에 존재하지 않는 특징점을 분리 검출하기 위한 실험을 수행한다. 이에 대한 결과를 그림 7 및 표 4에 보인다. 새로운 특징점 검출을 위해서 FAST 특징점 검출자를 이용하였다[13][14]. 그림 7은 실제 환경에서 설정된 기준면에 포함되어있는 점들과 평면 상에 존재하고 있지 않는 좌표점들을 분리해서 검출하는 과정을 보여준다. 설정된 기준 평면은 영상 내에서의 바닥면, 즉 3차원 공간 상의 xy평면으로 설정하였다. 그림에서 기준 평면인 바닥면에 존재하는 특징점들은 녹색으로 표시되었으며 평면에서 벗어난 좌표점들은 빨간색 사각형으로 표시되어있다. 그림 7로 부터 제안된 알고리즘에 의해서 동일한 평면에 포함되어 있는 특징점들과 평면에서 벗어나 있는 특징점들이 분리되어 검출되는 것을 확인할 수 있다. 그림 8은 그림 7의 실험 과정에서 검출된 특징점들의 재사영 오차를 보여준다. 그림 7에서 기준 평면상에 존재하는 좌표점들의 경우 영상에서 재사영 변환을 거치게 되는 경우 자신의 좌표점과 거의 정확하게 일치되며 따라서 작은 값의 재사영 오차를 보인다. 반면에 평면에서 벗어나 있는 특징점들의 경우 카메라의 시점 및 위치가 변화함에 따라 재사영 오차가 급격하게 증가하는 것을 볼 수 있으며 따라서 이들 특징점들은 동일 평면 상에 존재하지 않는 것으로 판단할 수 있다. 그림 9는 일반적인 환경에서 동일 평면상에 존재하는 특징점 검출 결과의 예를 보여주고 있다. 그림에서 바닥면에 존재하는 특징점은 녹색의 사각형으로 표시가 되어있으며 기준면에서 벗어난 특징점들의 경우는 빨간색 사각형으로 표시하였다. 재사영 오차 및 앞의 식 (4)의 조건으로부터 동일 평면에 존재하는 특징점과 그렇지 않은 좌표점들을 구분해서 검출할 수 있다는 것을 보여준다. 그림 10은 그림 9의 과정에서 1초당 처리 가능한 영상 프레임의 수, 즉 알고리즘의 처리 속도를 보이고 있으며 그래프로부터 제안된 방법은 1초당 약 42프레임의 수행 속도를 보임을 알 수 있다. 특히 검출되는 특징점의 개수가 계속 증가해도 수행 시간은 거의 영향을 받지 않고 일정한 수준의 수행 속도를 유지하는 것을 확인할 수 있으며 다수의 특징점의 상태가 동시에 추정되고 있는 조건하에서도 수행시간이 영향을 받지 않는다는 것을 확인할 수 있다. 그림 11은 깊이값 센서가 내장된 기존의 RGB-D 카메라 만을 이용하여 동일 평면 위에 존재하는 점들을 검출하는 과정을 보인다. 사용된 RGB-D 카메라는 초당 30프레임의 속도로 640×480의 해상도를 갖는 RGB 영상을 출력한다. 그림에서 초록색으로 표시된 평면이 영상 내의 기준면, 즉 xy 평면으로 설정된 평면이며 깊이값 센서를 이용하여 취득된 깊이값들(point cloud)전체에서 기준면과의 거리가 일정값 이하인 점들만 평면에 속한 점들로 검출하였다. 제안된 방법과의 수행 시간 비교를 위해 취득된 깊이값에 대한 별도의 오차 보정(error refinement) 등의 과정은 수행하지 않은 결과이다. RGB-D 카메라를 이용할 경우 별도의 깊이값 센서로부터 영상 내의 장면에 대한 3차원 깊이값을 직접 취득할 수 있기 때문에 별도의 기하학 관계 추정 등과 같은 과정이 필요 없으며 따라서 동일 평면 상의 특징점 검출 또한 쉽고 빠르게 수행할 수 있다. 그림 12에 RGB-D 카메라 만을 이용했을 때의 초당 처리 가능한 프레임 수를 보인다. 그림 10과 12로부터 RGB-D 카메라의 수행 속도가 초당 8~10프레임 정도 더 빠른 것을 확인할 수 있으며, 이는 깊이값 센서로 부터 별도의 중간과정 없이 3차원 깊이 정보를 직접 검출하기 때문이다. 하지만 두 경우 모두 초당 30프레임 이상의 수행 속도를 보이는 것을 알 수 있으며 따라서 제안된 방법은 별도의 깊이 값 없이 2차원 영상 만을 이용하는 경우에도 동일 평면 상의 특징점 검출의 실시간 처리에 문제가 없음을 확인할 수 있다.

JBJTBH_2023_v16n6_499_f0007.png 이미지

그림 7. 기준 평면 상의 특징점 검출 과정

Fig. 7. Detection of feature points on the reference plane

JBJTBH_2023_v16n6_499_f0008.png 이미지

그림 8. 검출된 특징점들의 역사영 오차

Fig. 8. Back-projection errors of the feature points.

JBJTBH_2023_v16n6_499_f0009.png 이미지

그림 9. 일반적인 조건에서의 특징점 검출

Fig. 9. Feature detection in the typical environment.

표 4. 검출된 특징점들의 역사영 오차

Table 4. Back-projection errors of the features

JBJTBH_2023_v16n6_499_t0004.png 이미지

JBJTBH_2023_v16n6_499_f0010.png 이미지

그림 10. 제안된 방법의 1초당 처리 가능한 프레임 수

Fig. 10. Number of frames per second of the proposed method

JBJTBH_2023_v16n6_499_f0011.png 이미지

그림 11. RGB-D 카메라를 이용한 동일 평면 상의 점들 검출 (위: RGB 영상, 아래: 깊이값 영상)

Fig. 11. Co-planar feature detection using the RGB-D camera(up: RGB image, down: depth-image)

JBJTBH_2023_v16n6_499_f0012.png 이미지

그림 12. RGB-D 카메라의 초당 프레임 수

Fig. 12. Number of frames per second of the RGB-D camera

5. 결론

본 논문에서는 3차원 공간 내에서 동일한 평면 상에 존재하는 특징점을 검출하기 위한 방법을 제안하였다. 제안된 방법은 RGB-D 카메라, LiDAR 센서, 초음파 센서 등과 같은 별도의 깊이값 검출 센서를 이용하지 않고 단안시 카메라 하나만을 이용해서 동일 평면 상에 존재하는 특징점들을 검출하고자 하였다. 또한 기존의 방법들에서 많이 이용되는 복잡한 최적화 과정이나 AI 관련 기법을 이용하지 않고 오로지 평면과 카메라 영상 사이의 호모그래피 관계만을 이용해서 동일 평면 상의 특징점들을 검출하는 것을 목표로 하였다. 평면 객체와 카메라 영상 사이의 사영기하 관계에 대한 내용을 제시하였으며 평면 사이의 호모그래피 관계 및 역사영 값을 이용하여 평면 상에 존재하는 점과 그렇지 않은 점들 사이의 차이점에 대한 내용을 제시하고 실험을 통해서 제시된 내용을 확인하였다. 4장 실험 결과 부분에서 제안된 방법에 의한 결과와 타당성에 대해서 설명하였으며 제안된 방법에 의해 동일 평면 상에 존재하는 점들과 그렇지 않은 점들을 구분하여 검출 할 수 있음을 설명하였다. 실험 결과 제안된 방법은 초당 40프레임 이상의 처리 속도를 보인다는 것을 확인할 수 있었으며 RGB-D 카메라를 이용하여 동일 평면상의 점들을 검출하는 과정과 비교해도 처리 속도에 큰 차이는 없었다. 특히 제안된 방법은 검출되는 특징점의 수가 지속적으로 증가하는 조건에서도 처리 속도가 거의 영향을 받지 않음을 알 수 있다. 이로 부터 실시간 처리에도 문제가 없다는 것을 확인할 수 있다. 향후 연구에서는 제안된 방법을 이용하여 동일 평면 상의 특징점 검출을 기반으로 한 실시간 카메라 추적 기법을 구현하기 위한 연구가 진행될 계획이다.

References

  1. Z. Jin, T. Tillo, W. Zou, X. Li, and E. G. Lim, "Depth image-based plane detection," Big Data Analytics, Vol. 3, No.1, pp. 1-18, Nov. 2018 https://doi.org/10.1186/s41044-018-0035-y
  2. M. Y. Yang, and W. Forstner, "Plane detection in point cloud data,". In Proceedings of the 2nd int conf on machine control guidance, Bonn Vol. 1, pp. 95-104, Jan. 2010.
  3. Z. Jin, T. Tillo, W. Zou, Y. Zhao, and X. Li, "Robust plane detection using depth information from a consumer depth camera," IEEE Transactions on Circuits and Systems for Video Technology, Vol.29, No.2, 447-460, Dec. 2017. https://doi.org/10.1109/TCSVT.2017.2780181
  4. F. Tarsha-Kurdi, T. Landes, and P, Grussenmeyer, "Hough-transform and extended ransac algorithms for automatic detection of 3d building roof planes from lidar data," In ISPRS Workshop on Laser Scanning 2007 and SilviLaser 2007, Vol. 36, pp. 407-412, Sep. 2007.
  5. Y. Tian, W. Song, L. Chen, Y. Sung, J. Kwak, and S. Sun. "Fast Planar Detection System Using a GPU-Based 3D Hough Transform for LiDAR Point Clouds."Applied Sciences. Vol. 10, No. 5, pp.1744-1761, Mar. 2020, https://doi.org/10.3390/app10051744
  6. D. Holz, S. Holzer, R. B. Rusu, and S. Behnke, "Real-time plane segmentation using RGB-D cameras," In RoboCup 2012: Robot Soccer World Cup XV 15, pp. 306-317, Springer Berlin Heidelberg, Jun. 2012
  7. L. V. Hung, V. Michiel, V. Hai, N. T, Thuy, L, T, Lan, T, T, Thanh Hai, L, Q, Hiep, V, Peter, W, Philips, "Real-Time Table Plane Detection Using Accelerometer Information And Organized Point Cloud Data From Kinect Sensor", Journal of Computer Science and Cybernetics, Vol. 32, No. 3, pp. 243-258, Apr. 2017. https://doi.org/10.15625/1813-9663/32/3/7689
  8. C. Liu, K. Kim, J. Gu, Y. Furukawa, and J. Kautz, "Planercnn: 3d plane detection and reconstruction from a single image," In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition pp. 4450-4459, Jun. 2019
  9. R. Wang, "Design and Implementation of Artificial Intelligence Image Detection System Based on Plane Features," 2021 IEEE 4th International Conference on Information Systems and Computer Aided Education, pp.533 - 537, Dalian, China, Sep. 2021.
  10. W. Ye, H. Li, T. Zhang, X Zhou, H. Bao, G. Zhang, "SuperPlane: 3D Plane Detection and Description from a Single Image," 2021 IEEE Virtual Reality and 3D User Interfaces(VR2021), pp. 207-215, Lisboa, Portugal, Mar. 2021.
  11. R .Hartely and A. Zisseman, Multiple View Geometry, Cambridge, 2003.
  12. O. Faugeras, Three-Dimensional Computer Vision, Cambridge, 1993.
  13. E. Rosten and T. Drummond, "Fusing points and lines for high performance tracking," IEEE International Conference on Computer Vision, Vol.2, pp. 1508-1511, Oct. 2005.
  14. E. Rosten and T. Drummond, "Machine learning for high-speed corner detection," European Conference on Computer Vision, Vol.1, pp.430-443, May. 2006.