Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO26를 사용한 TrackZone#

Open TrackZone In Colab

Link to this sectionTrackZone이란 무엇인가요?#

TrackZone은 전체 프레임이 아닌 프레임 내 지정된 영역 안의 객체를 모니터링하는 데 특화되어 있습니다. Ultralytics YOLO26을 기반으로 구축되었으며, 비디오 및 실시간 카메라 피드 내의 특정 영역에 대해 객체 감지 및 추적을 통합합니다. YOLO26의 고급 알고리즘과 딥러닝 기술은 실시간 활용 사례에 완벽한 선택이며, 군중 모니터링 및 보안과 같은 애플리케이션에서 정확하고 효율적인 객체 추적을 제공합니다.



Watch: How to Track Objects in Region using Ultralytics YOLO26 | TrackZone 🚀

Link to this section영역 내 객체 추적(TrackZone)의 장점#

  • 표적 분석: 특정 영역 내에서 객체를 추적하면 더 집중된 통찰력을 얻을 수 있어, 출입구나 제한 구역과 같은 관심 영역을 정밀하게 모니터링하고 분석할 수 있습니다.
  • 효율성 향상: 추적 범위를 정의된 영역으로 좁힘으로써 TrackZone은 계산 오버헤드를 줄여 더 빠른 처리와 최적의 성능을 보장합니다.
  • 보안 강화: 영역 기반 추적은 중요한 구역을 모니터링하여 이상 활동이나 보안 침해를 조기에 감지하도록 도움으로써 보안을 향상시킵니다.
  • 확장 가능한 솔루션: 특정 영역에 집중할 수 있는 능력 덕분에 TrackZone은 소매점 공간에서 산업 현장에 이르기까지 다양한 시나리오에 맞게 조정 가능하며, 원활한 통합과 확장성을 보장합니다.

Link to this section실제 세계에서의 활용 사례#

농업교통
Ultralytics YOLO26을 사용한 현장 식물 추적Ultralytics YOLO26을 사용한 도로 위 차량 추적
Ultralytics YOLO26을 사용한 현장 식물 추적Ultralytics YOLO26을 사용한 도로 위 차량 추적
Ultralytics YOLO를 사용한 TrackZone
# Run a trackzone example
yolo solutions trackzone show=True

# Pass a source video
yolo solutions trackzone source="path/to/video.mp4" show=True

# Pass region coordinates
yolo solutions trackzone show=True region="[(150, 150), (1130, 150), (1130, 570), (150, 570)]"

TrackZone은 프레임의 어느 부분을 모니터링할지 파악하기 위해 region 리스트에 의존합니다. 관심 있는 물리적 영역(문, 게이트 등)에 맞게 다각형을 정의하고, 설정하는 동안 show=True를 활성화하여 오버레이가 비디오 피드와 일치하는지 확인하십시오.

Link to this sectionTrackZone 인수#

다음은 TrackZone 인수에 관한 표입니다:

인수유형기본값설명
modelstrNoneUltralytics YOLO 모델 파일 경로입니다.
regionlist'[(20, 400), (1260, 400)]'카운팅 영역을 정의하는 포인트들의 목록입니다.

TrackZone 솔루션은 track 매개변수에 대한 지원을 포함합니다:

인수유형기본값설명
trackerstr'botsort.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시각적 출력에서 각 탐지에 대한 레이블을 표시합니다. 탐지된 객체를 즉시 이해할 수 있도록 합니다.

Link to this sectionFAQ#

Link to this sectionUltralytics YOLO26을 사용하여 비디오 프레임의 특정 영역이나 구역 내의 객체를 어떻게 추적하나요?#

Ultralytics YOLO26을 사용하면 비디오 프레임의 정의된 영역이나 구역 내에서 객체를 추적하는 것은 매우 간단합니다. 아래 제공된 명령어를 사용하여 추적을 시작하십시오. 이 접근 방식은 효율적인 분석과 정확한 결과를 보장하며, 보안, 군중 관리 또는 영역 추적이 필요한 모든 시나리오에 이상적입니다.

yolo solutions trackzone source="path/to/video.mp4" show=True

Link to this sectionUltralytics YOLO26과 함께 Python에서 어떻게 TrackZone을 사용할 수 있나요?#

단 몇 줄의 코드로 특정 영역에서 객체 추적을 설정할 수 있어 프로젝트에 쉽게 통합할 수 있습니다.

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init trackzone (object tracking in zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = trackzone(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Link to this sectionUltralytics TrackZone을 사용하여 비디오 처리를 위한 영역 지점을 어떻게 구성하나요?#

Ultralytics TrackZone을 통한 비디오 처리용 영역 지점 구성은 간단하고 사용자 정의가 가능합니다. Python 스크립트를 통해 직접 영역을 정의하고 조정할 수 있어 모니터링하려는 영역을 정밀하게 제어할 수 있습니다.

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Initialize trackzone
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
)

댓글