스마트팜 완전 자동화

로봇을 활용한 식물 재배: YOLOv8n Instance Segmentation과 Depth 카메라를 통한 3차원 좌표 추출

범슐랭 2024. 11. 11. 08:03
728x90
반응형

feat. 로봇을 활용한 딸기 컷팅 자동화: YOLOv8n Instance Segmentation과 Depth 카메라를 통한 3차원 좌표 추출

서론
스마트 팜과 농업 자동화의 발전은 수확과 같은 반복적인 작업을 로봇으로 대체하는 방향으로 나아가고 있습니다. 특히 딸기와 같은 섬세한 작물을 자르기 위해서는 로봇이 정확하게 컷팅 위치를 인식하고 3차원 좌표를 바탕으로 작업해야 합니다. 이번 포스팅에서는 딸기 컷팅 자동화를 위한 시스템에서 YOLOv8n의 Instance Segmentation과 Depth 카메라를 사용해 컷팅 위치의 3차원 좌표를 추출하는 과정을 소개합니다.


1. 시스템 구성 및 모델 선택

이 시스템은 로봇 팔 끝에 Depth 카메라가 장착된 핸드-아이 구성(Eye-in-Hand) 기반입니다. 카메라가 로봇 팔에 장착되어 있어 이동하며 실시간으로 딸기의 위치를 인식할 수 있는 구조로, 비전 기반 로봇 제어를 효율적으로 수행할 수 있습니다.

추천 모델: YOLOv8n

YOLOv8은 YOLO의 최신 모델로, 여러 버전 중 YOLOv8n(Nano 모델)을 추천하는 이유는 다음과 같습니다:

  • 모델 크기 및 처리 속도: YOLOv8n은 YOLOv8 시리즈 중 가장 가벼운 버전으로, 라즈베리 파이와 같은 저사양 장비에서 효율적으로 실행할 수 있습니다. 이는 실시간 딸기 컷팅 작업에 필요한 처리 속도를 보장합니다.
  • 성능과 경량화의 균형: YOLOv8n은 소형 모델임에도 딸기와 같은 작은 물체를 잘 감지하고, 인스턴스 분할을 통해 각 객체의 모양과 위치를 정확히 인식할 수 있습니다. 이 기능은 딸기의 특정 부위를 컷팅하기 위한 정확한 위치 정보 제공에 유리합니다.

2. YOLOv8n Instance Segmentation을 통한 컷팅 위치 탐지

YOLOv8n의 Instance Segmentation은 이미지 내에서 딸기의 특정 부위를 인식하여 컷팅 위치를 탐지합니다. Instance Segmentation은 객체의 윤곽을 픽셀 단위로 인식하여 딸기의 특정 영역(예: 중간 부분)을 감지하는 데 효과적입니다.

작업 과정 예시

  • YOLOv8n이 감지한 컷팅 위치는 이미지 상에서 (x, y) 픽셀 좌표로 나타납니다.
  • 이때 (x, y)는 Depth 카메라의 평면 상 위치로, 이후 깊이 정보를 추가하여 3차원 좌표로 변환해야 합니다.

3. Depth 카메라를 이용한 3차원 좌표 추출

YOLOv8n을 통해 감지된 2D 위치는 로봇 팔이 사용할 수 있는 3차원 정보가 아닙니다. 이를 보완하기 위해 Depth 카메라의 깊이 정보를 사용해 컷팅 위치의 3차원 좌표를 구합니다.

구체적인 과정

  • YOLOv8n이 인식한 (x, y) 픽셀 좌표에 해당하는 깊이 값 Z를 Depth 카메라에서 가져옵니다.
  • 이 깊이 값은 대상과 카메라 사이의 거리(깊이)를 나타냅니다.
  • 따라서, (x, y, Z) 형태의 좌표를 통해 딸기의 컷팅 위치에 대한 3차원 좌표를 Depth 카메라의 기준 좌표계(Cam Frame)에서 구할 수 있습니다.

이렇게 구한 (x, y, Z) 좌표는 Depth 카메라 기준의 위치 정보이므로, 실제 로봇 팔의 기준 좌표계(Robot Base Frame)로 변환하는 과정이 필요합니다.


4. 로봇 팔 기준 좌표계로 변환 (Hand-Eye Calibration)

Depth 카메라의 3차원 좌표는 카메라 기준 좌표계(Cam Frame)에서의 위치이므로, 로봇 팔이 컷팅 작업을 수행하기 위해서는 이를 로봇 팔 기준 좌표계(Robot Base Frame)로 변환해야 합니다. 이 과정은 Hand-Eye Calibration을 통해 이루어집니다.

Hand-Eye Calibration 과정

  • Hand-Eye Calibration은 카메라와 로봇 팔의 상대적인 위치와 방향을 계산하는 과정입니다.
  • 이 보정 과정을 통해 카메라 기준 좌표계를 로봇 팔 기준 좌표계로 변환하는 변환 행렬 Tcam_to_baseT_{cam\_to\_base}를 얻습니다.
  • 이 변환 행렬을 적용하여 Depth 카메라 기준으로 측정된 3차원 좌표를 로봇 팔 기준 좌표계로 변환할 수 있습니다.

변환 과정 예시

  • 변환 행렬을 통해 (x, y, Z) 좌표를 로봇 팔의 기준 좌표계에서의 위치로 변환하여, 로봇 팔이 해당 위치에 정확히 접근할 수 있도록 합니다.

5. 로봇 그리퍼 제어를 통한 컷팅 작업

최종적으로 로봇 팔 기준 좌표에서 딸기의 컷팅 위치를 확인했으므로, 로봇 팔을 제어하여 그리퍼가 정확하게 자를 수 있는 경로를 설정할 수 있습니다. 로봇의 제어 알고리즘을 통해 그리퍼가 안전하고 효율적인 경로로 이동하게 할 수 있으며, 이를 통해 딸기와 같은 섬세한 작물도 손상 없이 처리할 수 있습니다.


구현 전략 요약

딸기의 컷팅 위치를 정확히 감지하고 로봇이 해당 위치에 접근하게 하기 위해 아래와 같은 전략을 사용합니다:

  1. Instance Segmentation으로 2D 컷팅 위치 감지: YOLOv8n을 통해 딸기의 컷팅 위치를 2D 이미지에서 감지합니다.
  2. 깊이 정보 활용 3D 좌표 추출: Depth 카메라에서 2D 컷팅 위치의 깊이 값을 추가하여 3차원 좌표를 얻습니다.
  3. Hand-Eye Calibration을 통한 좌표 변환: 카메라 기준 좌표를 로봇 팔 기준 좌표계로 변환하여 로봇이 실제로 작업할 수 있는 위치 정보를 확보합니다.
  4. 로봇 제어 및 컷팅 작업 수행: 3차원 좌표를 바탕으로 로봇 그리퍼가 컷팅 위치에 접근하여 정확하게 자를 수 있도록 경로를 설정하고 제어합니다.

결론

이 시스템은 YOLOv8n의 Instance Segmentation과 Depth 카메라를 결합하여 딸기와 같은 섬세한 작물의 정확한 위치를 감지하고, 컷팅 작업을 수행할 수 있도록 돕습니다. 스마트 농업과 로봇 자동화의 결합을 통해 농업의 효율성을 크게 높일 수 있으며, 노동력을 절감할 수 있는 미래형 농업 기술로 주목받고 있습니다.

728x90
반응형