R&D
CENTER

3D 비전과 포인트 클라우드 — 높이와 자세가 필요한 순간

로봇이 물체를 집거나 용접 비드의 높이를 재려면 2D 영상으로는 부족합니다. 3D 카메라가 만드는 포인트 클라우드를 다듬고, 나누고, 맞추는 처리 흐름을 설명합니다.

기본4 분1 조회
이 강의의 핵심
  1. 2D 영상은 '어디에 무엇이 있는가'를, 3D 포인트 클라우드는 '얼마나 높고 어느 자세인가'를 알려 줍니다.
  2. 포인트 클라우드 처리는 관심 영역 → 다운샘플 → 노이즈 제거 → 법선 → 평면 분리 → 물체 분할 → 정합 순서로 진행합니다.
  3. 템플릿 정합으로 물체의 3D 자세(위치+회전)를 구하면 로봇이 바로 쓸 수 있는 좌표가 됩니다.
  4. 용접 검사에서는 비드의 단면 프로파일로 다리 길이·목 두께·언더컷을 mm 단위로 잽니다.

2D 카메라는 세상을 평면으로 찍습니다. 상자 안에 겹겹이 쌓인 부품 중 맨 위의 것을 집으려면, 또는 용접 비드가 충분히 볼록한지 확인하려면 높이가 필요합니다. 3D 카메라는 픽셀마다 거리를 함께 재서, 장면을 점들의 집합인 포인트 클라우드로 돌려줍니다.

3D 카메라의 종류

fineAi RoboVision은 다음 3D 카메라를 지원합니다.

  • 패턴광(구조광) 방식 — Zivid, Photoneo, EpicEye Pixel Pro. 프로젝터로 줄무늬 패턴을 비추고, 패턴이 물체 표면에서 휘는 모양으로 거리를 계산합니다. 정지한 물체를 정밀하게 찍는 데 적합합니다.
  • 레이저 방식 — EpicEye Laser M V3. 반사가 심하거나 어두운 표면에서도 안정적입니다.

이 카메라들은 정렬된(organized) 포인트 클라우드를 내보냅니다. 점들이 영상의 픽셀 격자 순서대로 놓여 있어, 2D 영상의 좌표와 3D 점을 바로 대응시킬 수 있습니다. 2D에서 YOLO로 찾은 물체 영역을 그대로 3D 점으로 옮길 수 있다는 뜻입니다. 저장은 보통 PLY 파일로 합니다.

처리 흐름

ROI 다운샘플 노이즈 제거 법선 계산 평면 분리 물체 분할 정합 → 자세 수십만 개의 점 → 물체 하나의 위치와 회전
Digital Twin Pick&Place가 3D 카메라 촬영 후 수행하는 처리 순서.
  1. ROI(관심 영역) — 작업대나 상자 안처럼 필요한 공간만 남깁니다.
  2. 다운샘플 — 일정한 간격의 격자(voxel)마다 점 하나만 남겨 점 수를 줄입니다. 이후 계산이 몇 배 빨라집니다.
  3. 노이즈 제거 — 주변 점들과 동떨어진 점(공중에 뜬 점)을 지웁니다.
  4. 법선 계산 — 점마다 주변 점들로 작은 평면을 맞춰 표면 방향을 구합니다. 파지 방향을 정할 때 씁니다.
  5. 평면 분리 — 가장 큰 평면(바닥, 작업대)을 찾아 지웁니다. 흔히 RANSAC처럼 무작위 표본으로 평면을 맞춰 보는 방법을 씁니다. 남은 점들이 물체입니다.
  6. 물체 분할 — 서로 가까운 점끼리 묶어 물체 하나하나로 나눕니다.
  7. 정합(Registration) — 미리 등록한 템플릿 모델을 각 물체에 맞춰 **3D 자세(위치 + 회전)**를 구합니다.

정합 결과는 카메라 좌표입니다. 로봇이 쓰려면 로봇 좌표로 바꿔야 하는데, 이 변환이 Hand-Eye 캘리브레이션입니다.

여러 방향에서 찍어 잇기

큰 물체나 굽은 표면은 한 번에 다 보이지 않습니다. RoboVision은 로봇 팔 끝에 카메라를 달고 궤적을 따라 이동하며 찍습니다. 찍는 순간마다 로봇이 알려 주는 카메라 자세를 기록해 두었다가, 그 자세를 이용해 여러 장을 하나로 잇습니다(pose-guided stitching). 영상끼리 특징점을 맞추는 방식보다 특징이 없는 매끈한 표면에서도 안정적입니다.

용접 비드 검사

용접선은 2D 영상으로는 모양만 보이지만, 3D로 보면 단면 프로파일을 잴 수 있습니다. RoboVision은 비드 단면에서 다음 값을 mm 단위로 계산합니다.

  • 다리 길이(leg), 목 두께(throat)
  • 비드 폭·높이, 볼록·오목 정도
  • 언더컷 깊이

이 값을 ISO 5817 품질 등급(B/C/D)의 정량 기준과 비교해 등급을 매기고, 결함별 OK/NG 사유를 리포트로 남깁니다.

2D와 3D, 무엇을 쓸까

질문 2D 3D
표면에 긁힘·이물이 있는가 ✓ 적합 해상도가 낮아 불리
높이·평탄도·부피가 기준 안인가 어려움 ✓ 적합
겹쳐 쌓인 물체를 집을 수 있는가 어려움 ✓ 적합
처리 속도가 매우 빨라야 하는가 ✓ 유리 상대적으로 느림

실제 셀에서는 둘을 함께 씁니다. 2D로 무엇이 어디 있는지 빠르게 찾고, 그 영역만 3D로 정밀하게 봅니다.