Journal of Korea Robotics Society
[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 16, No. 4, pp.299-305
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date 30 Nov 2021
Received 02 Jun 2021 Revised 10 Aug 2021 Accepted 10 Aug 2021
DOI: https://doi.org/10.7746/jkros.2021.16.4.299

로봇 팔을 활용한 정리작업을 위한 물체 자세추정 및 이미지 매칭

박정란1 ; 조현준2 ; 송재복
Pose Estimation and Image Matching for Tidy-up Task using a Robot Arm
Jinglan Piao1 ; HyunJun Jo2 ; Jae-Bok Song
1MS Student, Mechanical Engineering, Korea University, Seoul, Korea jinglan0829@korea.ac.kr
2PhD Student, Mechanical Engineering, Korea University, Seoul, Korea jhj0630@korea.ac.kr

Correspondence to: Professor, Corresponding author: Mechanical Engineering, Korea University, Seoul, Korea ( jbsong@korea.ac.kr)

CopyrightⓒKROS

Abstract

In this study, the task of robotic tidy-up is to clean the current environment up exactly like a target image. To perform a tidy-up task using a robot, it is necessary to estimate the pose of various objects and to classify the objects. Pose estimation requires the CAD model of an object, but these models of most objects in daily life are not available. Therefore, this study proposes an algorithm that uses point cloud and PCA to estimate the pose of objects without the help of CAD models in cluttered environments. In addition, objects are usually detected using a deep learning-based object detection. However, this method has a limitation in that only the learned objects can be recognized, and it may take a long time to learn. This study proposes an image matching based on few-shot learning and Siamese network. It was shown from experiments that the proposed method can be effectively applied to the robotic tidy-up system, which showed a success rate of 85% in the tidy-up task.

Keywords:

Robotic, Tidy-up Task, Pose Estimation, Image Matching, Grasping, Object Manipulation

1. 서 론

최근 가정용 서비스 로봇에 대한 관심이 높아짐에 따라 정리정돈[1]을 도와주는 로봇, 신체 장애자를 보조하는 로봇, 어린이의 학습을 도와주는 로봇 등에 대한 연구들이 진행되고 있다. 본 연구에서는 로봇을 이용한 정리정돈에 대해 연구를 진행하였다. 본 연구의 정리정돈 작업은 현재 환경을 주어진 목표 정리 이미지와 똑같이 정리하는 것이다. 이와 같은 작업을 수행하기 위해서는 로봇이 주어진 환경 내에 존재하는 물체들의 위치와 종류를 파악해야 한다. 이는 물체의 위치와 종류를 파악하면, 어떤 물체를 어디로 옮겨야 하는지를 파악할 수 있기 때문이다. 이를 위해 먼저 자세 추정(pose estimation)으로 물체의 6D 자세를 파악한 후에, 이미지 매칭(image matching)으로 물체의 종류를 파악할 수 있다. 따라서 본 연구에서는 물체의 자세 추정을 통해서 물체 위치를 파악하고, 이미지 매칭을 통해 물체의 종류를 분류한다. 또한 파지 및 물체 조작을 통해 정리하는 방법을 제안한다.

기존의 자세추정 알고리즘 중에서 심층학습에 기반한 연구들[2,3]이 속도와 정확도면에서 좋은 성능을 보이고 있다. 그러나 이들은 RGB 이미지를 사용하므로 조명 또는 환경의 영향을 받게 되며, 물체들이 혼재된 환경에는 대응하기 어렵다. 또한, 물체의 CAD (computer-aided design) 모델도 필요하지만, 대상이 일상생활 물품들이므로 대부분 CAD 모델이 존재하지 않아서 이 알고리즘을 활용하기 힘들다. 또한, 물체의 종류를 추정하기 위해서는 일반적으로 딥러닝 기반의 인식 알고리즘들[4,5]을 사용하지만, 이는 학습한 물체만 인식이 가능하며, 학습 데이터도 많이 필요하다. 따라서 이와 같은 방법으로는 정리정돈 작업에 사용되는 많은 물체에 대해 대응하기는 어렵다.

본 연구에서는 CAD 모델이 불필요한 자세추정과 적은 양의 데이터로도 학습이 가능한 퓨샷 러닝(few-shot learning)[6] 기반의 이미지 매칭, 그리고 파지 및 물체 조작을 통해 로봇이 정리작업을 수행하도록 한다. [Fig. 1]과 같이 우선 목표 이미지와 현재 이미지의 점군(point cloud)으로부터 물체의 자세를 추정한다. 이때, CAD 모델 없이 물체의 자세를 추정하기 위해, 점군을 군집화(clustering)하여 하나의 군집이 하나의 물체에 대응되도록 분류한 후에 각 군집에 대해 PCA (principal component analysis)[7]를 적용하여 물체의 좌표계를 정의한다. 또한 추후 배치 작업을 진행할 때 활용하기 위해 물체의 배치상태(placement state)를 추정한다. 다만, 이와 같은 방식으로는 물체의 자세는 알 수 있지만, 물체의 종류는 알 수 없다. 그러므로 각 점군 군집을 이미지로 변환하여 목표 이미지와 현재 이미지의 물체들을 서로 대응시키는 이미지 매칭을 진행한다. 이때 목표 이미지에서 하나의 목표 물체를 정하고, 이미지 전처리를 수행하여 샴 신경망(Siamese network)[8] 입력으로 유사도를 추정하여 현재 이미지에서 목표 물체와 동일한 물체를 찾는다. 이를 통해 원하는 물체를 찾으면, 해당 물체의 자세와 자세 변화를 추정할 수 있으므로, 물체를 파지하는 방법과 물체를 배치하기 위해 필요한 물체 조작 행동을 추정할 수 있다. 추정된 파지 및 물체 조작을 통해 배치에 적절한 자세로 물체를 만든 후에 해당 물체에 대한 배치를 수행한다. 위의 과정을 통해 하나의 물체에 대해 정리가 끝나면 다시 자세추정 단계로 돌아가 동일한 과정을 반복하고, 모든 물체를 정리하면 정리정돈 작업이 완료된다.

[Fig. 1]

Pipeline of robotic tidy-up task

본 연구의 기여는 다음과 같다. 첫째, 물체들이 혼재된 환경에서도 CAD 모델이 없이 물체에 대한 자세추정이 가능하다. 둘째, 대량의 데이터 수집 필요 없이 다양한 물체에 대한 이미지 매칭이 가능하다. 셋째, 이러한 자세추정과 이미지 매칭 기법을 이용한 로봇의 정리 시스템을 제안하였다.

논문의 나머지 부분은 다음와 같이 구성되었다. 2장에서는 자세추정 및 이미지 매칭 알고리즘에 대해 설명하며, 3장에서는 실험 및 결과에 대해 설명하고, 4장에서는 결론에 대해 서술한다.


2. 자세추정 및 이미지 매칭 알고리즘

2.1 자세추정

물체의 자세를 추정하기 위해 본 연구에서는 점군 군집화, 군집의 자세추정, 그리고 배치상태 추정 단계를 거친다. 먼저 RGB-D 센서로 수집된 점군에 군집화를 적용하여 물체별로 점군을 나누는 작업을 수행한다. 이후 각 점군에 PCA를 적용하여 각 물체의 적절한 자세를 추정한다. 마지막으로, 추후 배치 작업을 진행할 때 활용하기 위해 물체의 배치상태를 추정한다.

2.1.1 점군 군집화

점군 군집화는 물체의 자세를 얻기 위해 물체에 해당하는 점군을 찾아 분할하는 작업이다. RGB-D 센서로 얻은 점군은 물체뿐만 아니라, 그 물체의 주변환경에 대한 점군도 포함한다. 따라서 점군을 효율적으로 처리하기 위해 본 연구에서는 PassThrough 필터를 사용하여 관심영역(region of interest, ROI)을 설정해서 불필요한 점들을 제거한다. 이는 위치 (x, y, z)의 최소값 및 최대값을 이용하여 관심영역을 설정하는 방식이다. 이를 통해 [Fig. 2(a)]와 같이 책상 위 공간을 관심영역으로 설정하면, [Fig. 2(b)]와 같이 주변환경에 대한 점군을 모두 제거하고 물체들의 점군만을 얻을 수 있다.

[Fig. 2]

Point clouds (a) before filtering and (b) after filtering

필터링을 통해 얻은 점군은 여러 물체가 포함되어 있으므로, 군집화를 통해 각 물체 점군을 분리한다. 본 연구에서는 VCCS (voxel cloud connectivity segmentation)[9]를 기반으로 점군을 복셀(voxel)로 변환하고, 유사한 특징을 가진 복셀들을 슈퍼복셀(supervoxel)로 분할한다. 이때 복셀은 3차원 공간을 표현할 때 사용되는 가장 작은 단위이다. 슈퍼복셀은 공간적 거리, 색상이나 기하학적 특성 등이 유사한 복셀들의 집합이다. [Fig. 3]에 점군, 복셀, 그리고 슈퍼복셀의 예시를 나타내었다. 이때, 복셀의 크기는 Rvoxel이다. 복셀의 크기가 너무 크면 추정된 물체 표면이 거칠어지므로 정밀한 자세 추정이 어려운 반면에, 복셀의 크기가 너무 작으면 알고리즘 연산 시간이 길어진다.

[Fig. 3]

(a) Point cloud, (b) voxel, and (c) supervoxel

VCCS로부터 추출된 슈퍼복셀에 LCCP (locally convex connected patches)[10]를 적용하여 인접한 슈퍼복셀 간의 볼록함과 오목함을 구분하여 군집화한다. [Fig. 4]와 같이 d는 인접 슈퍼복셀 표면의 중심점 p1p2의 두 점을 잇는 벡터이고, d = p1 - p2이다. n1n2는 각 슈퍼복셀의 중심점에 대한 법선벡터이고, α는 두 벡터와 d 사이의 각도이다. [Fig. 4(a)]와 같이 α1 < α2이면 볼록, [Fig. 4(b)]와 같이 α1 > α2이면 오목하다고 간주할 수 있다. 이와 같은 연산을 인접한 모든 주변 슈퍼복셀들에 수행한 뒤 동일한 볼록함을 지닌 슈퍼복셀들끼리 분류한다.

[Fig. 4]

Examples of (a) convex and (b) concave objects

위와 같은 과정을 통해 VCCS와 LCCP를 모두 적용하면, 결과적으로 색상, 거리, 형상 등 다양한 요소들을 고려하여 점군을 군집화할 수 있다. 따라서 [Fig. 5]와 같이 물체들이 혼재된 환경에서도 군집화가 가능하며, 색상이 비슷한 물체들도 구분하여 군집화할 수 있다.

[Fig. 5]

(a) Point cloud and (b) result of VCCS & LCCP

2.1.2 군집의 자세추정

CAD 모델이 없다면 물체의 기준 좌표계를 알 수 없다. 따라서 대부분의 자세추정 알고리즘은 CAD 모델을 사용한다. 그러나 본 연구에서는 CAD 모델 없이 자세를 추정하므로, 일정한 규칙을 통해 물체의 좌표계를 추정한다. 또한, 물체 좌표계를 추정하는 것은 물체의 자세를 추정하는 것과 같다고도 할 수 있다.

물체 좌표계를 추정하기 위해 다음과 같은 과정을 거친다. 먼저 군집화를 통해 분리된 각 군집은 하나의 물체와 대응된다. 따라서 이 군집에 대한 좌표계의 원점은 각 군집의 무게중심에 설정한다. 3차원 점군인 군집에 PCA를 적용하면, [Fig. 6]과 같이 서로 수직인 3개의 주축을 얻을 수 있는데, 각 축에 x, y, z축을 설정한다.

[Fig. 6]

Definition of object frame

2.1.3 배치상태 추정

물체의 배치상태는 물체가 어떤 식으로 배치되어 있는지를 구분하기 위해 추가적으로 추정하는 정보이며, 서있는 상태, 누워있는 상태, 기울어져 있는 상태 등의 3가지로 구분한다. 이 배치상태는 지면에 수직한 방향 벡터와 물체의 z축이 이루는 각도를 이용하여 추정한다. [Fig. 7]과 같이 두 벡터가 서로 평행하면 물체가 서있는 상태, 두 벡터가 수직하면 누워있는 상태, 그리고 두 벡터가 평행하지도 않고 수직하지도 않는다면 기울어져 있는 상태라고 판단한다.

[Fig. 7]

Estimation of placement states: (a) standing state, (b) lying state, and (c) tilting state

2.2 이미지 매칭

앞서 일련의 과정을 통해 물체의 자세는 추정할 수 있지만, 물체의 종류는 알 수 없다. 본 연구에서는 퓨샷 러닝 기반의 이미지 매칭을 통해 현재와 목표 정리 이미지에서 같은 종류의 물체를 찾는다. 우선 물체의 점군을 RGB 이미지로 변환한 이후에 이 이미지에서 [Fig. 8]과 같이 물체가 있는 영역을 잘라낸다. 다만, 이와 같이 물체가 존재하는 영역만을 기준으로 이미지를 잘라내면, 같은 물체임에도 불구하고 자세에 따라 다른 물체로 인식될 가능성이 있다. 따라서 항상 일정한 기준에 따라 이미지를 정렬할 필요가 있으며, 이를 위해 물체의 긴 방향이 이미지의 y축을 따라 정렬되도록 PCA를 통해 회전각도를 추정하여 물체를 회전시켰다. 따라서 그림과 같이 두 장의 회전 이미지를 생성한다.

[Fig. 8]

Image crop and image rotation

이와 같이 생성된 두 장의 이미지에 대해 각각 퓨샷 러닝 기반의 샴 신경망을 활용하여 유사도를 추정한다. 퓨샷 러닝은 적은 양의 데이터로 모델을 학습함에도 불구하고 새로운 데이터에도 적용할 수 있도록 고안된 학습 방법이다. 퓨샷 러닝의 데이터셋은 [Fig. 9(a)]와 같이 학습 데이터셋(training dataset)과 시험 데이터셋(test dataset)에 대응되는 서포트 셋(support set)과 쿼리 셋(query set)으로 구성된다. 본 연구에서의 물체 종류는 10종이고, 각각 사과, 마우스, 서랍, 핸드크림, 텀블러, 책, 핸드폰, 인형, 펜, 노트북 등이다. 서포트 셋은 물체 종류 당 5장, 총 50장 이미지로 구성된다. 퓨샷 러닝에 대한 문제는 대부분 “N-way K-shot” 문제라고 정의하는데, 여기서 N은 물체 종류(class)의 수이고, K는 쿼리 셋의 물체 종류당 데이터의 수이다. 선행 연구[6]에서는 “5-way 5-shot”일 때 쿼리 셋은 종류당 15장이고, “20-way 5-shot”일 때 쿼리 셋은 종류당 5장이다. 본 연구는 “10-way 5-shot” 문제이므로, 쿼리 셋은 물체 종류당 10장, 총 100장 이미지로 구성한다. 그 중 하나의 물체로 예를 들면, [Fig. 9(b)]와 같이 서포트 셋과 쿼리 셋을 볼 수 있다.

[Fig. 9]

(a) Example of dataset configuration and (b) Example of support set and query set

퓨샷 러닝에는 유사도 기반 방식과 그래프 신경망 방식이 있다. 전자는 데이터 간의 유사도를 추정하는 방식[11]이고, 후자는 데이터의 밀접 그래프(dense graph)를 활용하는 방식이다.[12] 본 연구에서는 유사도 기반의 학습 방식을 사용하였다. 이는 [Fig. 10] 과 같이 기존에 개발된 ResNet[13], VGGNet[14] 등의 특징 추출기(feature extractor)를 활용하여 2장의 이미지에서 벡터를 추출하고, 이 추출된 벡터들 간의 유사도를 바탕으로 입력된 이미지의 물체가 같은 종류의 물체인지를 검사하는 방식이다. 이와 같은 구조의 신경망을 샴 신경망이라고 한다. 이때 유사도는 다음과 같은 유클리디안 거리를 이용하므로, 결과가 0에 가까울수록 유사하다.

d=j=1Jx1,j-x2,j2(1) 
[Fig. 10]

Architecture of Siamese network

여기서 J는 벡터에 포함된 요소의 수를 나타낸다. 예를 들어, 벡터의 크기가 10 x 1이라면 J는 10이다.

샴 신경망에서 이미지의 유사성을 학습하기 위해 본 연구에서는 다음과 같이 대비 손실함수(contrastive loss function)를 사용한다.

L=1-l12max0,α-d2+l12d2(2) 

여기서 입력된 두 이미지가 동일한 종류라면 레이블(l)은 1이고, 그렇지 않으면 0이다. 또한, α는 두 이미지의 물체가 서로 다른 종류인 경우, 손실이 너무 커지지 않도록 제한하는 역할을 한다. 이와 같은 대비 손실함수를 통해 동일한 종류의 입력 이미지일 때는 d를 최소화하고, 반대의 경우에는 d를 최대화하는 특징을 출력할 수 있도록 샴 신경망을 학습한다. 따라서 두 장의 이미지로부터 측정한 유사도를 기반으로 두 이미지 상의 물체가 같은 종류인지 아닌지를 판단할 수 있다. 이와 같은 샴 신경망을 이용하면 [Fig. 11]과 같이 이미지 전처리 단계에서 생성된 두 장의 이미지에 대해 각각 유사도를 추정하여 이 중 가장 가장 유사한 조합을 선택한다. 이와 같은 방법으로 현재와 목표 이미지에서 같은 종류의 물체인지 그렇지 않은지를 판단할 수 있다.

[Fig. 11]

Comparison of similarity

2.3 파지 및 물체 조작

물체의 자세추정 단계에서 미리 추정한 물체 배치상태의 변화 유무에 따라 로봇이 물체를 정리하는 방법이 달라진다. 배치상태의 변화가 없는 경우에는 로봇이 물체를 파지 후 바로 정리할 수 있다. 그러나 배치상태의 변화가 있는 경우, 로봇이 물체 조작을 통해 배치상태를 변경한 뒤에 정리할 수 있다.

본 연구에서는 [Fig. 12]와 같이 로봇 말단에 카메라를 부착하였으므로, 로봇 말단 좌표계와 카메라 좌표계는 간단한 병진(translation)을 통해 변환이 가능하다. 반면에, 로봇 베이스 좌표계와 카메라 좌표계 간에는 복잡한 회전 및 병진 변환이 존재한다. 따라서 본 연구에서는 로봇 말단 좌표계를 기준으로 물체의 파지 자세를 추정하고자 한다.

[Fig. 12]

Six steps of object manipulation

파지 자세는 파지 위치와 파지 각도로 구성된다. 이 중 파지 위치는 말단 좌표계로부터 물체 좌표계의 좌표변환 행렬 ETO를 통해서 얻을 수 있다. 또한, 파지 각도 θ는 로봇 말단의 x축과 단축이 이루는 각도와 같다. 이와 같이 파지 자세가 추정되면 로봇은 파지 위치에서 z축 방향으로 일정 거리 위에 있는 지점으로 이동한 후 θ만큼 회전한 뒤 아래로 내려가 물체를 파지한다. 만약 배치상태의 변화 없이 정리가 가능하다면 단순한 집기와 놓기(pick and place)와 같이 물체를 배치하면 된다. 그러나 만약 배치상태의 변화가 필요하다면 물체 조작을 수행한다. 본 연구에서는 [Fig. 12]와 같이 우선 물체를 파지 후 보조 구조물 위로 이동한다. 다음으로 로봇이 물체를 회전시킴으로써 물체의 자세를 조작한다. 마지막으로, 물체를 다시 파지하여 목표 위치에 배치한다. 이와 같은 방법으로 물체를 정리한다.


3. 실험 및 결과

3.1 자세추정 알고리즘 성능 검증

본 연구에서는 [Fig. 13(a)]와 같이 실험 환경을 구성하였다. FRANKA EMIKA의 PANDA, Azure Kinect 깊이 카메라, 그리고 Robotiq 2지 그리퍼가 실험에 사용되었다. 일상 생활에서 주로 볼 수 있는 [Fig. 13(b)]와 같이 8종의 물체에 대해 실험을 진행하였다.

[Fig. 13]

(a) Experimental setup and (b) target objects

본 연구에서 자세추정 알고리즘의 성능을 확인하기 위해 로봇 앞에 임의로 물체 4종을 선택하여 [Fig. 14]와 같이 완전히 붙이거나 서로 쌓음으로써 물체들이 혼재된 환경을 만들었다. 이 환경에서 유클리드 군집화, 색상 기반의 군집화, VCCS와 LCCP를 적용한 군집화 등 다양한 군집화 알고리즘을 이용하여 군집화를 진행하고, 그 결과에 PCA를 적용하여 물체 자세를 추정하였다. 본 실험에서 복셀의 크기 Rvoxel은 5 mm로 설정하였으며, 이 수치는 경험적으로 적절하다고 판단되는 수치를 선택한 값이다. 물체의 90% 이상 점군이 정확히 분할된 경우 군집화가 성공하였다고 판단하였다. 또한 자세추정의 경우, 추정된 위치로 로봇이 물체를 파지할 수 있다면 성공으로 간주하였다. 총 50회의 실험을 통한 군집화와 자세추정 성공률은 [Table 1]과 같다.

[Fig. 14]

Results of clustering and pose estimation

Success rates of clustering and pose estimation

실험 결과, 물체들이 혼재된 환경에서는 유클리드 군집화나 색상 기반 군집화보다 VCCS와 LCCP 군집화 결과에 PCA를 적용하여 물체 자세를 추정한 성공률이 훨씬 높았다. 이는 [Fig. 14]와 같이 물체들이 혼재된 환경에서 유클리드 군집화는 여러 물체를 하나의 군집으로 군집화하는 문제가 발생하고, 색상 기반의 군집화는 하나의 물체이더라도 명암 혹은 그림자로 인해 색상에 차이가 나서 여러 군집으로 나누는 문제가 발생한다. VCCS와 LCCP 군집화는 공간, 색상, 기하학적 특징을 모두 고려하기에 훨씬 좋은 성능을 가진다는 것을 확인할 수 있다.

3.2 이미지 매칭을 위한 신경망 구조와 임계값

본 실험에서 다양한 신경망 구조와 대비 손실함수의 임계값(α)을 변화시키면서 이미지 매칭의 최적 신경망 구조와 임계값을 선택하였다. 샴 신경망 구조 중 특징 추출기는 사전 학습된 VGG16과 ResNet50을 동결시킨 채로 사용하였다. 이때, 최적의 신경망 구조를 찾기 위해 특징 추출기의 말단에 합성곱층(Conv: convolution layer) 혹은 전결합층(FC: fully connected layer)을 추가하여 실험하였다. 또한, 대비 손실함수에서의 임계값을 1.0, 1.5, 2.0, 2.5로 설정해서 각각 학습을 진행하였다. 쿼리 셋의 100장의 이미지에 대한 매칭 성공률은 [Table 2]와 같다.

Success rates of image matching

실험 결과, 임계값을 2.0으로 설정하고, VGG16 특징 추출기에서 합성곱층을 추가한 경우의 성공률이 가장 높았다. 이는 전결합층은 합성곱층과 다르게 위치에 대한 정보를 소실하기 때문인 것으로 보인다.

3.3 로봇의 정리정돈 성능 검증

로봇의 정리정돈 성능을 검증하기 위한 실험도 진행하였다. 실험 환경은 자세추정을 위해 준비한 실험 환경과 동일하다. 실험 대상 물체는 [Fig. 15]와 같이 총 5종의 물체를 선택하였다. [Fig. 13(b)]의 물체 중 필통, 서랍, 노트북(laptop)은 2지 그리퍼로 파지할 수 없으므로 실험 대상에서 제외하였다. 이때 [Fig. 15(a)]는 5종의 물체로 구성된 서포트 셋이고, [Fig. 15(b)]는 서포트 셋에 있는 물체들과 종류는 같으나, 다른 물체들로 구성된 쿼리 셋이다. 우선 책상 위에 정리된 상태로 물체들을 배치한다. 이때 로봇이 각 물체의 목표 자세를 기억한다. 다음으로, 물체가 임의의 자세로 조작되면, 로봇은 물체들의 현재 자세와 목표 자세를 비교하여 정리작업을 수행한다. 정리작업을 수행 후, 물체들의 정리가 잘 되었는지 확인한다. 이때, 위치오차가 5 mm 미만이며, 배치상태가 일치하면 성공으로 간주하였다. 총 100번의 실험을 진행하였고, 실험 결과는 [Table 3]과 같다.

[Fig. 15]

Target objects: (a) 5 objects in image matching support set and (b) 10 objects not in image matching support set

Success rates of tidy-up task

최종적인 물체 배치 성공률은 85%로 나타났다. 주로 실패하는 경우는 2가지 경우가 있었다. 먼저 배치상태의 변화가 없는 경우에는 텀블러와 같이 상하 구분이 어려워 회전 방향이 잘못 추정된 경우이다. 또한, 배치상태의 변화가 있는 경우, 핸드크림 혹은 인형과 같이 파지하였을 때 변형이 일어나 물체의 무게중심이 치우쳐서 물체 조작에 실패하였다.


4. 결 론

본 연구에서는 물체들이 혼재된 환경에서 목표 정리 이미지와 같이 로봇이 정리작업을 수행하도록 하였다. 이를 위하여 점군 기반의 물체 자세추정, 퓨샷 러닝 기반의 샴 신경망을 활용한 이미지 매칭, 그리고 파지 및 물체조작 기법을 제안하였다. 본 연구에서 제안한 자세추정 알고리즘은 CAD 모델이 없는 상태에서도 사용할 수 있을 뿐만 아니라, 학습을 위한 데이터 수집 없이 다양한 물체에 대응이 가능하다는 것을 확인할 수 있었다. 또한, 물체들이 혼재된 환경에도 자세를 추정할 수 있다는 장점이 있다. 이미지 매칭 알고리즘은 퓨샷 러닝 기반의 샴 신경망을 이용하여 유사도를 기반으로 물체의 종류를 파악한다. 이는 인식 알고리즘에 비해 적은 양의 데이터셋으로도 학습이 가능하고, 학습에 사용되지 않는 이미지에 대해서도 이미지 매칭이 가능하다는 장점이 있다. 또한, 파지와 물체조작을 통해 로봇이 정리작업을 수행할 수 있도록 하였다. 로봇의 정리정돈 성능을 검증하기 위해 실험을 수행한 결과 85%의 성공률을 보였다. 이를 통해 본 연구에서 제안한 알고리즘이 다양한 물체들이 혼재된 환경에서도 정리정돈 작업을 수행할 수 있다는 것을 확인할 수 있었다.

Acknowledgments

This work was supported by IITP grant funded by the Korea government (MSIT) (No. 2018-0-00622)

References

  • J. Yin, K. G. S. Apuroop, Y. K. Tamilselvam, R. E. Mohan, B. Ramalingam, and A. V. Le, “Table Cleaning Task by Human Support Robot Using Deep Learning Technique,” Sensors, vol. 20, no. 6, 2020. [https://doi.org/10.3390/s20061698]
  • B. Tekin, S. N. Sudipta, and P. Fua, “Real-time seamless single shot 6d object pose prediction,” 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA, 2018. [https://doi.org/10.1109/CVPR.2018.00038]
  • S. Peng, Y. Liu, Q. Huang, X. Zhou, and H. Bao, “Pvnet: Pixel-wise voting network for 6dof pose estimation,” 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, CA, USA, 2019. [https://doi.org/10.1109/CVPR.2019.00469]
  • K. He, X. Zhang, S. Ren, and J. Sun, “Deep Residual Learning for Image Recognition,” 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 2016.
  • B. M. T. Islam, M. N. K. Siddique, S. Rahman, and T. Jabid, “Image Recognition with Deep Learning,” 2018 International Conference on Intelligent Informatics and Biomedical Sciences (ICIIBMS), Bangkok, Thailand, 2018. [https://doi.org/10.1109/ICIIBMS.2018.8549986]
  • F. Sung, Y. Yang, L. Zhang, T. Xiang, P. H. S. Torr, and T. M. Hospedales, “Learning to Compare: Relation Network for Few-Shot Learning,” 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA, 2018. [https://doi.org/10.1109/CVPR.2018.00131]
  • S. Wold, K. Esbensen, and P. Geladi, “Principal component analysis,” Chemometrics and Intelligent Laboratory Systems, vol. 2, no. 1-3, August, 1987. [https://doi.org/10.1016/0169-7439(87)80084-9]
  • G. Koch, R. Zemel, and R. Salakhutdinov, “Siamese Neural Networks for One-shot Image Recognition,” International Conference on Machine Learning (ICML), 2015, [Online], http://www.cs.toronto.edu/~gkoch/files/msc-thesis.pdf, .
  • J. Papon, A. Abramov, M. Schoeler, and F. Worgotter, “Voxel Cloud Connectivity Segmentation - Supervoxels for Point Clouds,” 2013 IEEE Conference on Computer Vision and Pattern Recognition, Portland, OR, USA, 2013. [https://doi.org/10.1109/CVPR.2013.264]
  • S. Christoph Stein, M. Schoeler, J. Papon, and F. Worgotter, “Object Partitioning Using Local Convexity,” 2014 IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, USA, 2014.
  • J. Snell, K. Swersky, and R. S. Zemel, “Prototypical Networks for Few-shot Learning,” Neural Information Processing Systems (NIPS), 2017, [Online], https://arxiv.org/abs/1703.05175, .
  • V. Garcia and J. Bruna, “Few-Shot Learning with Graph Neural Networks,” International Conference on Learning Representations (ICLR), 2018, [Online], https://arxiv.org/abs/1711.04043, .
  • C. Szegedy, S. Ioffe, V. Vanhoucke, and A. A. Alemi, “Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning,” Thirty-first AAAI Conference on Artificial Intelligence (AAAI-17), 2017, [Online], https://www.aaai.org/ocs/index.php/AAAI/AAAI17/paper/viewFile/14806/14311, .
  • U. Muhammad, W. Wang, S. P. Chattha, and S. Ali, “Pre-trained VGGNet Architecture for Remote-Sensing Image Scene Classification,” 2018 24th International Conference on Pattern Recognition (ICPR), Beijing, China, 2018. [https://doi.org/10.1109/ICPR.2018.8545591]
박 정 란

2019 연변과학기술대학교 기계공학과(학사)

2019~현재 고려대학교 기계공학과(석사)

관심분야: 컴퓨터 비전, 딥러닝, 로봇 제어

조 현 준

2016 고려대학교 기계공학과(학사)

2016~현재 고려대학교 기계공학과(석박사통합과정)

관심분야: 로봇 제어, 딥 러닝

송 재 복

1983 서울대학교 기계공학과(공학사)

1985 서울대학교 기계공학과(공학석사)

1992 Mechanical Engineering, Massachusetts Institute of Technology, Cambridge(공학박사)

1993~현재 고려대학교 기계공학부 정교수

관심분야: 다양한 로봇 팔의 개발, 중력보상 로봇 개발, 인공지능 기반 로봇 머니퓰레이션

[Fig. 1]

[Fig. 1]
Pipeline of robotic tidy-up task

[Fig. 2]

[Fig. 2]
Point clouds (a) before filtering and (b) after filtering

[Fig. 3]

[Fig. 3]
(a) Point cloud, (b) voxel, and (c) supervoxel

[Fig. 4]

[Fig. 4]
Examples of (a) convex and (b) concave objects

[Fig. 5]

[Fig. 5]
(a) Point cloud and (b) result of VCCS & LCCP

[Fig. 6]

[Fig. 6]
Definition of object frame

[Fig. 7]

[Fig. 7]
Estimation of placement states: (a) standing state, (b) lying state, and (c) tilting state

[Fig. 8]

[Fig. 8]
Image crop and image rotation

[Fig. 9]

[Fig. 9]
(a) Example of dataset configuration and (b) Example of support set and query set

[Fig. 10]

[Fig. 10]
Architecture of Siamese network

[Fig. 11]

[Fig. 11]
Comparison of similarity

[Fig. 12]

[Fig. 12]
Six steps of object manipulation

[Fig. 13]

[Fig. 13]
(a) Experimental setup and (b) target objects

[Fig. 14]

[Fig. 14]
Results of clustering and pose estimation

[Fig. 15]

[Fig. 15]
Target objects: (a) 5 objects in image matching support set and (b) 10 objects not in image matching support set

[Table 1]

Success rates of clustering and pose estimation

Euclidean Color-based VCCS+LCCP
Clustering 44% (22/50) 50% (25/50) 92% (46/50)
Pose estimation 40% (20/50) 46% (23/50) 90% (45/50)

[Table 2]

Success rates of image matching

Model VGG16
Conv
VGG16
FC
ResNet50
Conv
ResNet50
FC
Margin
1.0 54%
(54/100)
52%
(52/100)
36%
(36/100)
35%
(35/100)
1.5 47%
(47/100)
60%
(60/100)
38%
(38/100)
40%
(40/100)
2.0 66%
(66/100)
41%
(41/100)
44%
(44/100)
43%
(43/100)
2.5 52%
(52/100)
49%
(49/100)
40%
(40/100)
37%
(37/100)

[Table 3]

Success rates of tidy-up task

Without change of placement state With change of placement state Total
Success rate 88%
(44/50)
82%
(41/50)
85%
(85/100)