YOLO Vision 2026:

Ultralytics YOLO26을 이용한 인스턴스 세그멘테이션 및 추적 🚀#

인스턴스 세그멘테이션이란 무엇인가요?#

Instance segmentation은 이미지 내 개별 객체를 픽셀 단위로 식별하고 외곽선을 추출하는 컴퓨터 비전 작업입니다. 픽셀을 카테고리별로만 분류하는 semantic segmentation과 달리, 인스턴스 세그멘테이션은 각 객체 인스턴스를 고유하게 라벨링하고 정밀하게 윤곽을 그려내므로 의료 영상, 자율주행, 산업 자동화와 같이 세밀한 공간 이해가 필요한 응용 분야에 매우 중요합니다.

Ultralytics YOLO26은 YOLO 모델의 특징인 속도와 효율성을 유지하면서 정밀한 객체 경계 탐지를 가능하게 하는 강력한 인스턴스 세그멘테이션 기능을 제공합니다.

Ultralytics 패키지에서 사용할 수 있는 인스턴스 세그멘테이션 추적에는 두 가지 유형이 있습니다:

  • 클래스 객체를 이용한 인스턴스 세그멘테이션: 각 클래스 객체에 고유한 색상을 할당하여 시각적으로 명확하게 구분합니다.

  • 객체 트랙을 이용한 인스턴스 세그멘테이션: 각 트랙마다 서로 다른 색상을 할당하여 비디오 프레임 전반에서 식별 및 추적을 용이하게 합니다.



Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26

샘플#

인스턴스 세그멘테이션인스턴스 세그멘테이션 + 객체 추적
Ultralytics Instance SegmentationUltralytics Instance Segmentation with Object Tracking
Ultralytics 인스턴스 세그멘테이션 😍객체 추적을 포함한 Ultralytics 인스턴스 세그멘테이션 🔥

YOLO26을 사용하여 세그멘테이션 및 추적하기#

InstanceSegmentation 솔루션은 각 프레임에서 YOLO26 세그멘테이션 모델을 실행하고, 객체별 마스크를 그리며, 모든 인스턴스에 개별적으로 색상을 지정하여 비디오 전반에 걸쳐 개별 객체를 추적할 수 있도록 합니다. -seg 모델을 로드한 다음 Python API 또는 CLI를 사용하여 소스에서 실행하세요.

Ultralytics YOLO를 사용한 인스턴스 세그멘테이션
# 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]"

InstanceSegmentation 인수#

다음은 InstanceSegmentation 인수가 포함된 표입니다:

인수유형기본값설명
modelstrNoneUltralytics YOLO 모델 파일 경로입니다.

InstanceSegmentation 솔루션 내에서 track 인수를 활용할 수도 있습니다:

인수유형기본값설명
trackerstr'tracktrack.yaml'사용할 추적 알고리즘을 지정합니다. 기본 제공 옵션: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1탐지에 대한 신뢰도 임계값을 설정합니다. 값이 낮을수록 더 많은 객체가 추적되지만 잘못된 긍정 탐지(false positives)가 포함될 수 있습니다.
ioufloat0.7겹치는 감지를 필터링하기 위한 Intersection over Union (IoU) 임계값을 설정합니다.
classeslistNone클래스 인덱스로 결과를 필터링합니다. 예를 들어 classes=[0, 2, 3]은 지정된 클래스만 추적합니다.
verboseboolTrue추적 결과 표시를 제어하여 추적된 객체의 시각적 출력을 제공합니다.
devicestrNone추론용 장치를 지정합니다(예: cpu, cuda:0 또는 0). 사용자가 모델 실행을 위해 CPU, 특정 GPU 또는 기타 컴퓨팅 장치 중에서 선택할 수 있도록 합니다.

또한 다음 시각화 인수를 사용할 수 있습니다:

인수유형기본값설명
showboolFalseTrue인 경우, 주석이 달린 이미지나 비디오를 창에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백에 유용합니다.
line_widthint or NoneNone바우딩 박스의 선 두께를 지정합니다. None인 경우, 선 두께가 이미지 크기에 따라 자동으로 조정됩니다. 가독성을 위한 시각적 커스텀을 제공합니다.
show_confboolTrue각 탐지에 대한 신뢰도 점수를 레이블과 함께 표시합니다. 각 탐지에 대한 모델의 확신도를 파악할 수 있습니다.
show_labelsboolTrue시각적 출력에서 각 탐지에 대한 레이블을 표시합니다. 탐지된 객체를 즉시 이해할 수 있도록 합니다.
show_boxesboolTrue탐지된 객체 주위에 경계 상자를 그립니다. 이미지나 비디오 프레임에서 객체의 시각적 식별 및 위치 파악에 필수적입니다.

인스턴스 세그멘테이션의 활용 사례#

YOLO26을 사용한 인스턴스 세그멘테이션은 다양한 산업 분야에서 수많은 실제 적용 사례를 가지고 있습니다:

폐기물 관리 및 재활용#

YOLO26은 waste management facilities에서 다양한 종류의 재활용품을 식별하고 분류하는 데 사용할 수 있습니다. 이 모델은 플라스틱 폐기물, 골판지, 금속 및 기타 재활용 가능 물질을 높은 정밀도로 세그멘테이션하여 자동화된 선별 시스템이 폐기물을 더욱 효율적으로 처리할 수 있도록 지원합니다. 전 세계적으로 발생하는 70억 톤의 플라스틱 폐기물 중 약 10%만이 재활용된다는 점을 고려할 때 이는 특히 가치 있는 기능입니다.

자율 주행 차량#

self-driving cars에서 인스턴스 세그멘테이션은 픽셀 수준에서 보행자, 차량, 교통표지판 및 기타 도로 요소를 식별하고 추적하는 데 도움을 줍니다. 이러한 환경에 대한 정밀한 이해는 내비게이션 및 안전 관련 의사결정에 매우 중요합니다. YOLO26의 실시간 성능은 이러한 시간 제약이 있는 응용 분야에 이상적입니다.

의료 영상#

인스턴스 세그멘테이션은 의료 스캔에서 종양, 장기 또는 세포 구조를 식별하고 외곽선을 그릴 수 있습니다. 객체 경계를 정밀하게 그려내는 YOLO26의 능력은 medical diagnostics 및 치료 계획 수립에 매우 유용합니다.

건설 현장 모니터링#

건설 현장에서 인스턴스 세그멘테이션은 중장비, 작업자 및 자재를 추적할 수 있습니다. 이는 장비 위치를 모니터링하고 작업자가 위험 구역에 진입할 때 이를 감지하여 안전을 확보하는 동시에 워크플로우와 자원 할당을 최적화하는 데 도움이 됩니다.

FAQ#

Ultralytics 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 guide에서 확인하세요.

Ultralytics YOLO26에서 인스턴스 세그멘테이션과 객체 추적의 차이점은 무엇인가요?#

인스턴스 세그멘테이션은 이미지 내의 개별 객체를 식별하고 윤곽을 지정하여 각 객체에 고유한 라벨과 마스크를 부여합니다. 객체 추적은 이를 확장하여 비디오 프레임 전체에 걸쳐 객체에 일관된 ID를 할당함으로써 시간이 지나도 동일한 객체를 지속적으로 추적할 수 있게 합니다. YOLO26 구현과 같이 두 기능을 결합하면 비디오 내 객체의 이동과 행동을 분석하는 동시에 정밀한 경계 정보를 유지하는 강력한 성능을 얻을 수 있습니다.

Mask R-CNN이나 Faster R-CNN과 같은 다른 모델 대신 인스턴스 세그멘테이션 및 추적을 위해 Ultralytics YOLO26을 사용해야 하는 이유는 무엇인가요?#

Ultralytics YOLO26은 Mask R-CNN이나 Faster R-CNN과 같은 다른 모델에 비해 실시간 성능, 우수한 accuracy, 그리고 사용 편의성을 제공합니다. YOLO26은 단일 패스(단일 단계 탐지)로 이미지를 처리하므로 높은 정밀도를 유지하면서도 속도가 훨씬 빠릅니다. 또한 Ultralytics Platform과의 원활한 통합을 제공하여 사용자가 모델, 데이터셋, 학습 파이프라인을 효율적으로 관리할 수 있습니다. 속도와 정확성이 모두 요구되는 응용 분야에 YOLO26은 최적의 균형을 제공합니다.

Ultralytics에서 제공하는 데이터셋 중 인스턴스 세그멘테이션 및 추적을 위한 YOLO26 모델 학습에 적합한 것이 있나요?#

네, Ultralytics는 COCO-Seg, COCO8-Seg(빠른 테스트를 위한 소규모 서브셋), Package-Seg, Crack-Seg를 포함하여 인스턴스 세그멘테이션을 위한 YOLO26 모델 학습에 적합한 여러 데이터셋을 제공합니다. 이러한 데이터셋에는 인스턴스 세그멘테이션 작업에 필요한 픽셀 수준의 어노테이션이 포함되어 있습니다. 보다 특수한 응용 분야를 위해 Ultralytics 형식에 따라 커스텀 데이터셋을 생성할 수도 있습니다. 전체 데이터셋 정보 및 사용법 지침은 Ultralytics Datasets documentation에서 확인할 수 있습니다.

댓글