Link to this sectionUltralytics YOLO26를 사용한 TrackZone#
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을 사용한 도로 위 차량 추적 |
# 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 인수에 관한 표입니다:
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 모델 파일 경로입니다. |
region | list | '[(20, 400), (1260, 400)]' | 카운팅 영역을 정의하는 포인트들의 목록입니다. |
TrackZone 솔루션은 track 매개변수에 대한 지원을 포함합니다:
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
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 | 시각적 출력에서 각 탐지에 대한 레이블을 표시합니다. 탐지된 객체를 즉시 이해할 수 있도록 합니다. |
Link to this sectionFAQ#
Link to this sectionUltralytics YOLO26을 사용하여 비디오 프레임의 특정 영역이나 구역 내의 객체를 어떻게 추적하나요?#
Ultralytics YOLO26을 사용하면 비디오 프레임의 정의된 영역이나 구역 내에서 객체를 추적하는 것은 매우 간단합니다. 아래 제공된 명령어를 사용하여 추적을 시작하십시오. 이 접근 방식은 효율적인 분석과 정확한 결과를 보장하며, 보안, 군중 관리 또는 영역 추적이 필요한 모든 시나리오에 이상적입니다.
yolo solutions trackzone source="path/to/video.mp4" show=TrueLink 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
)