Link to this sectionUltralytics YOLO26을 이용한 인스턴스 세그멘테이션 및 추적 🚀#
Link to this section인스턴스 세그멘테이션이란 무엇인가요?#
인스턴스 세그멘테이션은 이미지 내 개별 객체를 픽셀 단위로 식별하고 윤곽을 지정하는 컴퓨터 비전 작업입니다. 카테고리별로 픽셀을 분류하는 시맨틱 세그멘테이션과 달리, 인스턴스 세그멘테이션은 각 객체 인스턴스를 고유하게 라벨링하고 정밀하게 구분하므로 의료 영상, 자율 주행, 산업 자동화와 같이 상세한 공간 이해가 필요한 애플리케이션에 매우 중요합니다.
Ultralytics YOLO26은 YOLO 모델이 가진 빠른 속도와 효율성을 유지하면서 정밀한 객체 경계 탐지를 가능하게 하는 강력한 인스턴스 세그멘테이션 기능을 제공합니다.
Ultralytics 패키지에서 사용할 수 있는 인스턴스 세그멘테이션 추적에는 두 가지 유형이 있습니다:
-
클래스 객체를 이용한 인스턴스 세그멘테이션: 각 클래스 객체에 고유한 색상을 할당하여 시각적으로 명확하게 구분합니다.
-
객체 트랙을 이용한 인스턴스 세그멘테이션: 각 트랙마다 서로 다른 색상을 할당하여 비디오 프레임 전반에서 식별 및 추적을 용이하게 합니다.
Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26
Link to this section샘플#
| 인스턴스 세그멘테이션 | 인스턴스 세그멘테이션 + 객체 추적 |
|---|---|
![]() | |
| Ultralytics 인스턴스 세그멘테이션 😍 | 객체 추적을 포함한 Ultralytics 인스턴스 세그멘테이션 🔥 |
Link to this sectionYOLO26을 사용하여 세그멘테이션 및 추적하기#
InstanceSegmentation 솔루션은 각 프레임에서 YOLO26 세그멘테이션 모델을 실행하여 객체별 마스크를 그리고 각 인스턴스를 개별적으로 색칠하므로 비디오 전체에서 개별 객체를 추적할 수 있습니다. -seg 모델을 로드한 다음 Python API 또는 CLI를 사용하여 소스에 대해 실행하십시오.
# Instance segmentation using Ultralytics YOLO26
yolo solutions isegment show=True
# Pass a source video
yolo solutions isegment source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions isegment classes="[0, 5]"Link to this sectionInstanceSegmentation 인수#
다음은 InstanceSegmentation 인수를 설명하는 표입니다:
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 모델 파일 경로입니다. |
You can also take advantage of track arguments within the InstanceSegmentation solution:
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 사용할 추적 알고리즘을 지정합니다. 기본 옵션은 다음과 같습니다: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | 탐지에 대한 신뢰도 임계값을 설정합니다. 값이 낮을수록 더 많은 객체가 추적되지만 잘못된 긍정 탐지(false positives)가 포함될 수 있습니다. |
iou | float | 0.7 | 겹치는 탐지를 필터링하기 위한 Intersection over Union (IoU) 임계값을 설정합니다. |
classes | list | None | 클래스 인덱스로 결과를 필터링합니다. 예를 들어, classes=[0, 2, 3]은 지정된 클래스만 추적합니다. |
verbose | bool | True | 추적 결과 표시를 제어하여 추적된 객체의 시각적 출력을 제공합니다. |
device | str | None | 추론을 위한 장치(예: cpu, cuda:0 또는 0)를 지정합니다. 사용자가 모델 실행을 위해 CPU, 특정 GPU 또는 기타 컴퓨팅 장치를 선택할 수 있도록 합니다. |
또한 다음 시각화 인수를 사용할 수 있습니다:
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
show | bool | False | True일 경우, 주석이 달린 이미지나 비디오를 창에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백을 확인하는 데 유용합니다. |
line_width | int or None | None | 바운딩 박스의 선 굵기를 지정합니다. None일 경우, 선 굵기가 이미지 크기에 따라 자동으로 조정됩니다. 명확성을 위해 시각적 커스터마이징을 제공합니다. |
show_conf | bool | True | 각 탐지에 대한 신뢰도 점수를 레이블과 함께 표시합니다. 각 탐지에 대한 모델의 확신도를 파악할 수 있습니다. |
show_labels | bool | True | 시각적 출력에서 각 탐지에 대한 레이블을 표시합니다. 탐지된 객체를 즉시 이해할 수 있도록 합니다. |
show_boxes | bool | True | 탐지된 객체 주위에 경계 상자를 그립니다. 이미지나 비디오 프레임에서 객체의 시각적 식별 및 위치 파악에 필수적입니다. |
Link to this section인스턴스 세그멘테이션의 활용 사례#
YOLO26을 사용한 인스턴스 세그멘테이션은 다양한 산업 분야에서 수많은 실제 적용 사례를 가지고 있습니다:
Link to this section폐기물 관리 및 재활용#
YOLO26은 폐기물 처리 시설에서 다양한 유형의 재료를 식별하고 분류하는 데 사용할 수 있습니다. 이 모델은 플라스틱 폐기물, 판지, 금속 및 기타 재활용품을 고정밀도로 세그멘테이션하여 자동화된 분류 시스템이 폐기물을 더 효율적으로 처리할 수 있도록 돕습니다. 전 세계적으로 발생하는 70억 톤의 플라스틱 폐기물 중 약 10%만이 재활용된다는 점을 고려할 때 이는 매우 가치 있는 일입니다.
Link to this section자율 주행 차량#
자율 주행 자동차 분야에서 인스턴스 세그멘테이션은 보행자, 차량, 교통 표지판 및 기타 도로 요소를 픽셀 단위로 식별하고 추적하는 데 도움을 줍니다. 이러한 정밀한 환경 이해는 내비게이션 및 안전 결정을 내리는 데 매우 중요합니다. YOLO26의 실시간 성능은 이러한 시간 민감형 애플리케이션에 최적입니다.
Link to this section의료 영상#
인스턴스 세그멘테이션은 의료 스캔에서 종양, 장기 또는 세포 구조를 식별하고 윤곽을 지정할 수 있습니다. 객체 경계를 정밀하게 구분하는 YOLO26의 능력은 의료 진단 및 치료 계획 수립에 매우 유용합니다.
Link to this section건설 현장 모니터링#
건설 현장에서 인스턴스 세그멘테이션은 중장비, 작업자 및 자재를 추적할 수 있습니다. 이는 장비 위치를 모니터링하고 작업자가 위험 구역에 진입할 때 이를 감지하여 안전을 확보하는 동시에 워크플로우와 자원 할당을 최적화하는 데 도움이 됩니다.
Link to this sectionFAQ#
Link to this sectionUltralytics YOLO26을 사용하여 인스턴스 세그멘테이션을 수행하려면 어떻게 해야 하나요?#
Ultralytics YOLO26을 사용하여 인스턴스 세그멘테이션을 수행하려면 YOLO 모델을 YOLO26의 세그멘테이션 버전으로 초기화하고 비디오 프레임을 처리하면 됩니다. 다음은 간단한 코드 예시입니다:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init InstanceSegmentation
isegment = solutions.InstanceSegmentation(
show=True, # display the output
model="yolo26n-seg.pt", # model="yolo26n-seg.pt" for object segmentation using YOLO26.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = isegment(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()인스턴스 세그멘테이션에 대한 자세한 내용은 Ultralytics YOLO26 가이드를 참조하십시오.
Link to this sectionUltralytics YOLO26에서 인스턴스 세그멘테이션과 객체 추적의 차이점은 무엇인가요?#
인스턴스 세그멘테이션은 이미지 내의 개별 객체를 식별하고 윤곽을 지정하여 각 객체에 고유한 라벨과 마스크를 부여합니다. 객체 추적은 이를 확장하여 비디오 프레임 전체에 걸쳐 객체에 일관된 ID를 할당함으로써 시간이 지나도 동일한 객체를 지속적으로 추적할 수 있게 합니다. YOLO26 구현과 같이 두 기능을 결합하면 비디오 내 객체의 이동과 행동을 분석하는 동시에 정밀한 경계 정보를 유지하는 강력한 성능을 얻을 수 있습니다.
Link to this sectionMask R-CNN이나 Faster R-CNN과 같은 다른 모델 대신 인스턴스 세그멘테이션 및 추적을 위해 Ultralytics YOLO26을 사용해야 하는 이유는 무엇인가요?#
Ultralytics YOLO26은 Mask R-CNN이나 Faster R-CNN과 같은 다른 모델에 비해 실시간 성능, 뛰어난 정확도 및 사용 편의성을 제공합니다. YOLO26은 이미지를 단일 패스로 처리(원스테이지 탐지)하므로 높은 정밀도를 유지하면서도 훨씬 더 빠릅니다. 또한 Ultralytics 플랫폼과의 원활한 통합을 제공하여 사용자가 모델, 데이터셋 및 학습 파이프라인을 효율적으로 관리할 수 있도록 지원합니다. 속도와 정확도가 모두 필요한 애플리케이션의 경우 YOLO26이 최적의 균형을 제공합니다.
Link to this sectionUltralytics에서 제공하는 데이터셋 중 인스턴스 세그멘테이션 및 추적을 위한 YOLO26 모델 학습에 적합한 것이 있나요?#
네, Ultralytics는 인스턴스 세그멘테이션을 위한 YOLO26 모델 학습에 적합한 여러 데이터셋을 제공하며, 여기에는 COCO-Seg, COCO8-Seg(빠른 테스트를 위한 더 작은 하위 집합), Package-Seg 및 Crack-Seg가 포함됩니다. 이러한 데이터셋에는 인스턴스 세그멘테이션 작업에 필요한 픽셀 수준 주석이 포함되어 있습니다. 더 전문화된 애플리케이션의 경우 Ultralytics 형식을 따라 사용자 지정 데이터셋을 만들 수도 있습니다. 전체 데이터셋 정보 및 사용 지침은 Ultralytics 데이터셋 문서에서 확인할 수 있습니다.
