Ultralytics YOLO26을 사용한 분석#
Ultralytics YOLO26을 사용한 분석은 객체 감지 및 추적 결과를 실시간 차트로 변환하므로, 동영상의 각 프레임에서 객체 수가 어떻게 변하는지 확인할 수 있습니다. 이 가이드에서는 네 가지 데이터 시각화 유형인 선 그래프, 막대 그래프, 원형 차트, 영역 그래프를 다루고, 공통 Python 및 CLI 예제를 사용해 유형 간에 전환하는 방법을 보여줍니다.
Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts
시각적 샘플#
| 선 그래프 | 막대 그래프 | 원형 차트 |
|---|---|---|
![]() | ![]() | ![]() |
감지 데이터를 시각화해야 하는 이유#
- 선 그래프는 짧은 기간과 긴 기간에 걸친 변화를 추적하고, 동일한 기간 동안 여러 그룹의 변화를 비교하는 데 적합합니다.
- 막대 그래프는 서로 다른 범주 간의 수량을 비교하고, 범주와 해당 수치 값 간의 관계를 보여주는 데 적합합니다.
- 원형 차트는 범주 간 비율을 나타내고 전체에서 각 부분이 차지하는 비중을 보여주는 데 효과적입니다.
- 영역 그래프는 선 그래프를 채워 클래스별 객체 수의 시간에 따른 변화를 한눈에 더 쉽게 읽을 수 있도록 합니다.
분석 그래프 생성#
동영상을 Analytics 솔루션에 전달하고 analytics_type을 사용해 차트를 선택합니다. 이 솔루션은 모든 프레임에서 감지 및 추적을 수행하고, 기본적으로 1280×720 크기의 차트를 렌더링하여 출력 동영상에 바로 기록할 수 있도록 합니다. 단일 인수로 "line", "bar", "pie", "area" 간에 전환할 수 있습니다.
yolo solutions analytics show=True
# Pass the source
yolo solutions analytics source="path/to/video.mp4"
# Generate the pie chart
yolo solutions analytics analytics_type="pie" show=True
# Generate the bar plots
yolo solutions analytics analytics_type="bar" show=True
# Generate the area plots
yolo solutions analytics analytics_type="area" show=TrueAnalytics 인수#
다음 표에서는 Analytics 인수를 설명합니다.
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 모델 파일의 경로입니다. |
analytics_type | str | 'line' | 그래프 유형입니다. 즉, line, bar, area 또는 pie입니다. |
line_width | int | 2 | 솔루션이 그리는 박스, 키포인트 및 카운트의 선 두께입니다. |
verbose | bool | True | 입력 형태, 클래스별 개수 및 처리 속도의 프레임별 로그를 활성화합니다. 추적 호출 자체는 항상 로그를 출력하지 않습니다. |
Analytics 솔루션에서 다양한 track 인수를 활용할 수도 있습니다.
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 사용할 추적 알고리즘을 지정합니다. 기본 제공 옵션: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml입니다. |
conf | float | 0.25 | 검출 결과의 신뢰도 임계값을 설정합니다. 값이 낮을수록 더 많은 객체를 추적할 수 있지만 오탐이 포함될 수 있습니다. |
iou | float | 0.7 | 겹치는 검출 결과를 필터링하기 위한 교집합 대비 합집합 (IoU) 임계값을 설정합니다. |
classes | list | None | 클래스 인덱스로 결과를 필터링합니다. 예를 들어 classes=[0, 2, 3]은 지정된 클래스만 추적합니다. |
device | str | None | 추론에 사용할 장치를 지정합니다(예: cpu, cuda:0 또는 0). 사용자는 CPU, 특정 GPU 또는 기타 컴퓨팅 장치 중에서 모델 실행 장치를 선택할 수 있습니다. |
imgsz | int or tuple | 640 | 목표 추론 이미지 크기: 정사각형의 경우 정수 또는 (height, width) 쌍입니다. 형태는 모델 스트라이드에 맞게 조정됩니다. |
max_det | int | 300 | 추적 전 프레임당 유지되는 최대 검출 수로, 솔루션이 밀집된 장면에서 처리하는 객체를 제한합니다. |
quantize | int or str | None | 추론 정밀도: PyTorch 및 TorchScript 모델의 경우 16(FP16) 또는 32/설정 안 함(FP32); 기타 형식은 아티팩트와 런타임이 선택하는 정밀도로 계산됩니다. 더 이상 사용되지 않는 half 플래그를 대체합니다. |
또한 다음 시각화 인수가 지원됩니다.
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
show | bool | False | True인 경우 annotation이 추가된 이미지 또는 비디오를 window에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백을 제공하는 데 유용합니다. |
결론#
효과적인 데이터 분석을 위해서는 다양한 시각화 유형을 언제 어떻게 사용해야 하는지 이해하는 것이 중요합니다. 선 그래프, 막대 그래프, 원형 차트는 데이터를 더욱 명확하고 효과적으로 전달하는 데 도움이 되는 기본 도구입니다. Ultralytics YOLO26 Analytics 솔루션은 객체 감지 및 추적 결과에서 이러한 시각화를 생성하는 간소화된 방법을 제공하므로, 시각적 데이터에서 의미 있는 인사이트를 더 쉽게 도출할 수 있습니다.
FAQ#
Ultralytics YOLO26 Analytics를 사용하여 선 그래프를 생성하려면 다음 단계를 따릅니다.
- YOLO26 모델을 로드하고 동영상 파일을 엽니다.
analytics_type="line"을 사용하여Analytics클래스를 초기화합니다.- 동영상 프레임을 반복 처리하면서 각 프레임에서 솔루션을 호출하여 객체 수와 같은 데이터로 선 그래프를 업데이트합니다.
- 차트를 저장하려면
results.plot_im을 출력 동영상에 기록합니다.
위의 Python 예제를 시작점으로 사용합니다. 이 예제는 이미 전체 프레임 루프를 실행하며, 선 그래프가 기본
analytics_type입니다.막대 그래프를 생성할 때 Ultralytics YOLO26을 사용하면 다음과 같은 여러 이점이 있습니다.
- 실시간 데이터 시각화: 객체 감지 결과를 막대 그래프에 원활하게 통합하여 동적으로 업데이트할 수 있습니다.
- 간편한 사용: 간단한 API와 함수를 사용하므로 데이터를 쉽게 구현하고 시각화할 수 있습니다.
- 사용자 지정: 특정 요구 사항에 맞게 제목, 레이블, 색상 등을 사용자 지정할 수 있습니다.
- 효율성: 대량의 데이터를 효율적으로 처리하고 동영상 처리 중에 플롯을 실시간으로 업데이트할 수 있습니다.
막대 그래프를 생성하려면 위의 Python 예제에서
analytics_type="bar"을 설정합니다. 나머지 프레임 루프는 동일합니다. 미리 보려면 시각적 샘플 섹션을 참조합니다.Ultralytics YOLO26은 다음과 같은 이유로 원형 차트 생성에 탁월한 선택입니다.
- 객체 감지와의 통합: 객체 감지 결과를 원형 차트에 직접 통합하여 즉시 인사이트를 얻을 수 있습니다.
- 사용자 친화적인 API: 최소한의 코드로 간단하게 설정하고 사용할 수 있습니다.
- 사용자 지정 가능: 색상, 레이블 등을 다양하게 사용자 지정할 수 있습니다.
- 실시간 업데이트: 데이터를 실시간으로 처리하고 시각화할 수 있어 동영상 분석 프로젝트에 적합합니다.
원형 차트를 생성하려면 위의 Python 예제에서
analytics_type="pie"을 설정합니다. 자세한 내용은 가이드의 시각적 샘플 섹션을 참조합니다.예. 추적 기능은
Analytics솔루션에 내장되어 있습니다. 이 솔루션은 여러 객체를 실시간으로 추적하고 매 프레임마다 추적된 객체의 데이터를 사용해 차트를 업데이트하므로, 선 그래프, 막대 그래프, 원형 차트, 영역 그래프 모두 실시간 수량을 반영합니다. 위의 Python 예제의 프레임 루프가 바로 이 작업을 수행합니다. 기본 추적 기능에 대해 알아보려면 추적 섹션을 참조합니다.Ultralytics YOLO26은 다음과 같은 여러 이유로 OpenCV 및 TensorFlow와 같은 다른 객체 감지 솔루션과 차별화됩니다.
- 최첨단 정확도: YOLO26은 객체 감지, 인스턴스 세그멘테이션, 시맨틱 세그멘테이션, 분류 작업에서 뛰어난 정확도를 제공합니다.
- 간편한 사용: 사용자 친화적인 API를 통해 광범위한 코딩 없이도 빠르게 구현하고 통합할 수 있습니다.
- 실시간 성능: 고속 추론에 최적화되어 실시간 애플리케이션에 적합합니다.
- 다양한 애플리케이션: 다중 객체 추적, 사용자 지정 모델 학습, ONNX, TensorRT, CoreML과 같은 다양한 형식으로 내보내기를 지원합니다.
- 종합적인 문서: 사용자가 모든 단계를 수행할 수 있도록 안내하는 광범위한 문서와 블로그 리소스를 제공합니다.
더 자세한 비교와 사용 사례는 Ultralytics 블로그에서 확인할 수 있습니다.


