2020년 2월 12일 (수) - 구글 AI 리서치 블로그
RGB-D 카메라들 및 LIDAR과 같은 광학 3D 레인지 센서들은 자율 주행 자동차에서 자율 원격 조종장치들(autonomous manipulators)에 이르기까지 풍부하고 정확한 환경의 3D 맵을 생성하기 위해 로봇 공학에서 널리 사용됩니다. 그러나 이러한 복잡한 로봇 시스템의 편재성에도 불구하고 (유리 용기와 같은) 투명한 물체들은 일반적으로 사용되는 고가의 센서조차도 혼란스럽게 만들 수 있습니다. 광학 3D 센서들이 모든 표면이 Lambertian이라는 알고리즘에 의해 구동되기 때문에 모든 방향에서 빛을 균일하게 반사하여 모든 시야각에서 균일한 표면 밝기를 얻을 수 있기 때문입니다. 그러나 투명한 물체들은 표면이 빛을 굴절시키고 반사하기 때문에 이러한 가정을 위반합니다. 따라서 투명 물체들의 심도 데이터 대부분이 유효하지 않거나 예측할 수 없는 노이즈를 포함합니다.
[그림 1] 상세 설명 - 광학 3D 센서가 투명한 물체를 감지하지 못하는 경우가 종종 있습니다. 위, 오른쪽: 예를 들어 유리병들은 인텔 ® RealSense ™ D415 RGB-D 카메라에서 캡처한 3D 심도 이미지들에 표시되지 않습니다. 하단: 깊이 이미지들로 구성된 포인트 클라우드(point cloud)들로 통한 3D 시각화.
기계들이 투명한 표면을 더 잘 감지할 수 있게 하면 안전성이 향상될 뿐만 아니라, 주방 용품을 취급하는 로봇, 재활용을 위한 플라스틱 분류, 실내 환경 탐색 또는 유리 태블릿에서 AR 시각화 생성에 이르기까지 비정형 응용 분야에서 다양한 새로운 상호 작용을 열 수 있습니다.
이 문제를 해결하기 위해, 우리는 Synthesis AI와 컬럼비아 대학교의 연구자들과 협력하여 RGB-D 이미지에서 투명한 물체들의 정확한 3D 데이터를 추정할 수 있는 머신러닝 알고리즘인 ClearGrasp를 개발했습니다. 이것은 오늘날 우리가 공개적으로 공개하고 있는 대규모 합성(syntheis) 데이터셋에 의해 가능합니다. ClearGrasp는 딥러닝을 사용하여 모든 표준 RGB-D 카메라의 입력과 함께 작동하여 투명 물체의 심도를 정확하게 재구성하고 훈련 중에 보이지 않는 완전히 새로운 물체로 일반화할 수 있습니다. 이것은 투명한 물체(예: 3D 모델)에 대한 사전 지식이 필요했던 이전의 메서드들과 대조적으로 종종 배경 조명 및 카메라 위치 지도와 결합되었습니다. 이 연구에서 우리는 또한 ClearGrasp가 로봇 조작을 선택과 배치(Pick and Place) 로봇의 제어 시스템에 통합하여 로봇 조작에 도움을 줄 수 있음을 보여 주는 데, 여기서 투명 플라스틱 물체의 포착 성공률이 크게 향상되는 것을 관찰합니다.
투명한 물체의 시각적인 데이터셋
효과적인 딥러닝 모델 (예: ImageNet for Vision 또는 Wikipedia for BERT)을 훈련하려면 방대한 양의 데이터가 필요하며 ClearGrasp도 예외는 아닙니다. 불행히도 투명한 물체의 3D 데이터로 사용할 수 있는 데이터셋은 없습니다. Matterport3D 또는 ScanNet과 같은 기존 3D 데이터셋은 비용이 많이 들고 시간이 많이 소요되는 라벨링 프로세스가 필요하기 때문에 투명한 표면을 간과합니다.
이 문제를 극복하기 위해, 우리는 2D 및 3D 감지 태스크들을 다양한 훈련을 위해 표면 곡률을 나타내는 표면 법선(surface normals), 분할 마스크(segmentation mask), 에지(edge) 및 심도(depth)를 가진 50,000개 이상의 실사적인 렌더(photorealistic render)들을 포함하는 투명한 물체의 대규모로 확장된 데이터셋들을 생성했습니다. 각 이미지에는 다양한 배경과 조명으로 평평한 지면이나 토트(tote) 내부에 최대 5개의 투명 물체들이 들어 있습니다.
우리는 또한 그라운드 트루 뎁스(ground truth depth)에 상응하는 286개의 실제 이미지들의 테스트 셋을 포함합니다. 실제 이미지는 장면에서 각각의 투명한 물체를 같은 포즈로 그려진 물체로 바꾸는 힘든 과정으로 촬영되었습니다. 이미지는 다양한 천과 베니어 배경을 사용하고 장면 주위에 흩어져 있는 임의의 불투명한 물체를 포함하는 다양한 실내조명 조건에서 캡처됩니다. 여기에는 synthetic training set에 있는 알려진 물체들과 새로운 물체들로 모두 포함됩니다.
[그림 4] 상세 설명 - 왼쪽: 실제 이미지 캡처 설정, 중간: 사용자 정의 사용자 인터페이스를 사용하면 각 투명 물체를 스프레이 페인트 복제본으로 정확하게 바꿀 수 있음. 오른쪽: 캡처된 데이터의 샘플
도전적 과제
투명한 물체들을 통해 보이는 배경의 왜곡된 뷰는 전형적인 심도 추정 접근법(depth estimation approach)을 혼란스럽게 하지만, 물체의 모양을 암시하는 단서가 있습니다. 투명한 표면은 정반사를 하며, 이는 거울과 같은 반사로 조명이 밝은 환경에서 밝은 점으로 나타납니다. 이러한 시각적 신호는 RGB 이미지에서 두드러지고 주로 물체의 모양에 영향을 받기 때문에, 컨볼루션 신경망은 이러한 반사를 사용하여 정확한 표면 법선을 유추하여 심도 추정에 사용할 수 있습니다.
[그림 5] 상세 설명 - 투명한 물체의 반사광은 물체 모양에 따라 다른 특징을 만들어 표면 법선을 추정하기 위한 강력한 시각적 신호를 제공합니다.
대부분의 머신러닝 알고리즘은 단안(외눈)의 RGB 이미지에서 심도를 직접 추정하려고 합니다. 그러나 단안 심도 추정은 인간에게조차도 잘못된 과제입니다. 우리는 평평한 배경 표면의 심도를 추정할 때 큰 오차를 관찰했으며, 그 위에 놓인 투명 물체에 대한 심도 추정의 오차를 복합화했습니다. 따라서 RGB-D 3D 카메라에서 초기 심도 추정 값을 수정하는 것이 더 실용적이라고 추측했습니다. - 투명하지 않은 표면의 심도를 사용하여 심도 깊이를 알 수 있습니다.
ClearGrasp 알고리즘
ClearGrasp는 3개의 신경망을 사용합니다. 표면 법선을 추정하기 위한 네트워크, 폐색 경계(심도 불연속) 및 투명한 물체를 가리는 네트워크. 마스크는 투명한 물체에 속하는 모든 픽셀을 제거하여 올바른 심도를 채울 수 있습니다. 그런 다음 예측된 표면 법선을 사용하여 알려진 표면에서 깊이를 확장하기 시작하는 전역 최적화 모듈을 사용합니다. 재구성 및 예측된 폐색 경계는 별개의 물체들 사이의 분리를 유지합니다.
[그림 6] 상세 설명 - 우리의 메서드 개요. 포인트 클라우드는 심도 출력(output depth)을 사용하여 생성되었으며 표면 법선으로 채색됩니다.
각 신경망은 합성 데이터셋에 대해 교육을 받았으며 실제 투명 물체에서 잘 수행되었습니다. 그러나 벽이나 과일과 같은 다른 표면에 대한 표면 정상 추정치는 좋지 않았습니다. 이는 지면에서 투명한 물체만 포함하는 합성 데이터셋의 한계 때문입니다. 이 문제를 완화하기 위해 표면 법선 훈련 루프에 Matterport3D 및 ScanNet 데이터셋의 실제 실내 장면을 포함시켰습니다. 도메인 내 합성 데이터셋 와 도메인 외부 실제 단어 데이터셋에 대한 훈련을 통해 모델은 테스트 셋의 모든 표면에서 잘 수행되었습니다.
[그림 7] 상세 설명 - a) Matterport3D 및 ScanNet 전용(MP + SN), b) 합성 데이터셋 및 c) MP + SN 및 합성 데이터셋을 학습할 때 실제 이미지에 대한 표면 일반 추정. MP + SN에서 훈련된 모델이 어떻게 투명 물체를 감지하지 못하는지 확인하십시오. 합성 데이터에 대해서만 훈련된 모델은 실제 플라스틱 병을 상당히 잘 픽업하지만 다른 물체와 표면에는 실패합니다. 두 가지 모두에 대해 훈련을 받으면 우리 모델은 두 가지 세계를 모두 활용할 수 있습니다.
결과
전반적으로 우리의 정량적 실험은 ClearGrasp가 대체 메서드들 보다 훨씬 높은 충실도로 투명한 물체의 심도를 재구성할 수 있음을 보여줍니다. 합성 투명 물체에 대해서만 교육을 받았음에도 불구하고 모델이 실제 도메인에 잘 적응할 수 있어 도메인 전체의 알려진 물체에 대해 매우 유사한 정량적 재구성 성능을 달성할 수 있습니다. 우리의 모델은 또한 이전에는 볼 수 없었던 복잡한 모양의 새로운 물체로 잘 일반화됩니다.
ClearGrasp의 질적 성능을 확인하기 위해 아래와 같이(project webpage에서 사용 가능한 추가 예제) 입력 및 출력 심도 이미지에서 3D 포인트 클라우드를 구성합니다. 그 결과 추정된 3D 표면은 단안 심도 추정 방법에서 볼 수 있는 들쭉날쭉한 노이즈 없이 깨끗하고 일관된 재구성된 형태(3D 매핑 및 3D 물체 감지와 같은 응용 분야에 중요)를 갖습니다. 우리의 모델들은 패턴이 있는 배경에 위치한 투명 물체를 식별하거나 투명 물체를 부분적으로 폐쇄하는 것과 같은 까다로운 조건에서 강력하고 성능이 뛰어납니다.
[그림 8] 상세 설명 - 실제 이미지에 대한 질적 결과. 맨 위 두 행: 알려진 물체에 대한 결과입니다. 맨 아래 두 행: 새로운 물체에 대한 결과. 표면 법선으로 채색된 포인트 클라우드는 해당 심도 이미지에서 생성됩니다.
가장 중요한 것은 ClearGrasp의 심도 출력을 RGB-D 이미지를 사용하는 최신 조작 알고리즘에 대한 입력으로 직접 사용할 수 있습니다. 원시 센서 데이터 대신 ClearGrasp의 출력 심도 추정 값을 사용하여 UR5 robot arm의 grapshing 알고리즘은 투명 물체의 포착 성공률을 크게 향상 시켰습니다. parallel-jaw gripper를 사용할 때 성공률은 12%에서 74 %로, 흡입 시 64%에서 86%로 향상되었습니다.
[그림 9] 상세 설명 - ClearGrasp를 사용하여 새로운 투명 물체 조작. 까다로운 조건: 질감이 없는 배경, 복잡한 물체 모양 및 방향성 조명으로 인해 혼동되는 그림자 및 가성(광선이 표면에서 반사되거나 굴절될 때 발생하는 빛의 패턴)이 발생합니다.
한계와 미래의 작업
합성 데이터셋의 한계는 전통적인 경로 추적 알고리즘을 사용한 렌더링의 한계로 인해 정확한 가성(caustics) 효과를 나타내지 않는다는 것입니다. 결과적으로 우리의 모델은 그림자와 결합된 밝은 가성을 독립적인 투명 물체로 혼동합니다. 이러한 단점에도 불구하고, ClearGrasp와의 연구는 합성 데이터가 학습 기반 심도 재구성 메서드에 대한 유능한 결과를 달성하기 위한 실용적인 접근 메서드로 남아 있음을 보여줍니다. 향후 작업에 대한 유망한 방향은 물리적으로 올바른 가성 효과와 지문과 같은 표면 결함으로 렌더링을 생성하여 실제 이미지로의 도메인 전송을 개선하는 것입니다.
ClearGrasp를 통해 고품질 렌더를 사용하여 실제 환경에서 잘 수행되는 모델을 성공적으로 훈련할 수 있습니다. 우리는 우리의 데이터셋이 투명한 객체를 위한 데이터 중심 인식 알고리즘에 대한 추가 연구를 이끌기를 희망합니다. 다운로드 링크들과 더 많은 예제 이미지는 프로젝트 웹사이트와 GitHub 리포지토리에서 찾을 수 있습니다.
감사의 말
이 연구는 Shreeyak Sajjan (Synthesis.ai), Matthew Moore (Synthesis.ai), Mike Pan (Synthesis.ai), Ganesh Nagaraja (Synthesis.ai), Johnny Lee, Andy Zeng 및 Shuran Song (Columbia University)이 수행했습니다. Ryan Hickman에게 경영진의 지원, Ivan Krasin 및 Stefan Welker의 유익한 기술 토론에 감사의 말을 전하고, 그의 물약병의 3D 모델 공유에 대한 Cameron (@camfoxmusic)과 웹 디자인에 도움을 준 Sharat Sajjan에게 감사의 말씀을 전합니다.
게시자 : Shreeyak Sajjan, synthetic AI 연구 엔지니어 및 Andy Zeng, Google 로봇 공학 연구원
원본 링크: https://ai.googleblog.com/2020/02/learning-to-see-transparent-objects.html
cleargrasp 오픈 소스: https://github.com/Shreeyak/cleargrasp
이 블로그는 2020년 2월 12일(수), Google AI Research Blog 기사를 영어에서 우리나라 말로 번역한 것입니다. 또한 이 번역 글은 정보 공유 목적으로만 작성했으므로 어떠한 상업용으로 사용할 수 없으며, 원본 저작물 모두 구글에게 저작권이 있음을 알려 드립니다. (First Draft Version)