TL;DR
반복적인 물체 측정을 자동화하려면 이미지에서 객체를 분할한 뒤 알려진 크기의 마커로 픽셀을 실제 단위로 보정하고, 높이·형태·깊이 정보를 결합해 부피를 계산해야 합니다. Roboflow Workflows 예제는 SAM 3로 닫힌 상자와 5 × 5 cm 파란색 마커를 분할하고, Mask Area Measurement와 Custom Python을 이용해 상자의 길이, 너비, 외부 부피, 내부 부피를 산출합니다. 마커의 실제 면적 25 cm²에서 pixels_per_cm을 계산하고 cv2.minAreaRect()로 회전된 상자의 두 변을 측정한 뒤, 높이 5.0 cm와 벽 두께 0.2 cm를 적용합니다. 예시 출력은 외부 크기 14.3 × 13.8 × 5.0 cm, 외부 부피 983.4 cm³, 내부 크기 13.9 × 13.4 × 4.6 cm, 내부 부피 853.8 cm³입니다. 정확도를 위해 카메라와 상자 표면의 평행성, 마커의 가시성, 실제 높이와 벽 두께의 일치 여부를 관리해야 합니다.
섹션별 상세




hsv = cv2.cvtColor( calibration_arr, cv2.COLOR_BGR2HSV )
blue = cv2.inRange( hsv, np.array([85, 45, 35], dtype=np.uint8), np.array([140, 255, 255], dtype=np.uint8) )
contours, _ = cv2.findContours( blue, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE )원본 이미지를 HSV로 변환한 뒤 파란색 영역을 분리하고 외부 윤곽을 찾아 5 × 5 cm 보정 마커를 검출합니다.
pixels_per_cm = ( math.sqrt(marker_px / 25.0) if marker_px > 0.0 else 0.0 )25 cm²로 알려진 보정 마커의 픽셀 면적에서 센티미터당 픽셀 수를 계산합니다.

rect = cv2.minAreaRect(largest)
side_a_px, side_b_px = rect[1]
length_cm = float( max(side_a_px, side_b_px) / pixels_per_cm )
width_cm = float( min(side_a_px, side_b_px) / pixels_per_cm )상자 마스크의 가장 큰 윤곽에 최소 면적 회전 사각형을 맞춘 뒤 두 변을 실제 길이와 너비로 환산합니다.
external_area_cm2 = float( length_cm * width_cm )
external_volume_cm3 = float( external_area_cm2 * height_cm )환산한 상자 길이와 너비에 알려진 높이를 곱해 외부 바닥 면적과 외부 부피를 계산합니다.
용어 해설
- Computer Vision 부피 측정(Computer Vision Volume Measurement)
- — 카메라 이미지에서 물체의 경계를 분할하고 픽셀 단위를 실제 길이 단위로 변환해 부피를 추정하는 방법입니다. 이미지에는 평면 정보만 담기므로 높이, 깊이, 기하학적 형태 또는 용기의 충전량을 추가로 결합해야 합니다.
- 인스턴스 분할(Instance Segmentation)
- — 이미지 속 개별 객체를 식별하면서 각 객체의 픽셀 단위 경계까지 추출하는 Computer Vision 기법입니다. 이 글에서는 SAM 3가 상자와 보정 마커를 분리하고, 추출된 마스크가 면적과 외곽 치수 계산의 입력으로 사용됩니다.
- 물리적 보정(Physical Calibration)
- — 이미지의 픽셀 길이를 센티미터나 미터 같은 실제 단위로 바꾸는 과정입니다. 실제 크기를 아는 5 × 5 cm 마커의 픽셀 면적을 기준으로 pixels_per_cm을 계산한 뒤 상자의 길이와 너비를 환산합니다.
- 깊이 추정(Depth Estimation)
- — 카메라와 장면 속 각 지점 사이의 거리를 추정해 이미지에 없는 세 번째 차원 정보를 얻는 방법입니다. Depth Anything V2 또는 V3 같은 모델은 RGB 이미지에서 상대적 깊이를 만들지만, 미터 단위 부피에 사용하려면 별도 보정이 필요합니다.
- 최소 면적 회전 사각형(Minimum-Area Rotated Rectangle)
- — 객체 윤곽을 모두 포함하면서 면적이 가장 작은 회전 사각형을 찾는 기하학적 방법입니다. Workflow는 OpenCV의 cv2.minAreaRect()로 약간 기울어진 상자의 두 변을 구하고 긴 변과 짧은 변을 각각 길이와 너비로 변환합니다.
기술
- Roboflow Workflows
- SAM 3
- Mask Area Measurement
- Custom Python
- OpenCV
- NumPy
- Supervision
- Depth Anything V2
- Depth Anything V3
활용 사례
- 포장 상자의 외부 및 내부 부피 측정
- 제조 현장의 반복적인 물체 치수 측정
- 물류에서 패키지 크기와 용적 산출
- 농업에서 곡물이나 흙 더미의 부피 추정
- 빈과 탱크의 충전량 기반 물질 부피 추정
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.