Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO26를 이용한 객체 추적 히트맵#

Open Heatmaps In Colab

The Heatmap solution in Ultralytics YOLO26 tracks objects across video frames and overlays their accumulated movement intensity onto each frame, so busy areas glow in warm colors while quiet areas stay cool. Built on YOLO26 object tracking, it turns any video into a spatial activity map that reveals traffic flow, crowd movement, and dwell zones with a single Python call or CLI command.



Watch: Heatmaps using Ultralytics YOLO26

Link to this section비디오 분석에 히트맵을 사용하는 이유는 무엇입니까?#

  • 활동 패턴을 한눈에 파악: 추적된 객체가 머무는 곳마다 강도가 축적되므로, 수동으로 프레임별 검토를 하지 않아도 교통량이 많은 차선, 인기 있는 선반 또는 군중 병목 현상을 쉽게 식별할 수 있습니다.
  • 추적 기능 내장: 이 솔루션은 YOLO26 탐지 및 추적을 내부적으로 실행하므로 별도의 추적 파이프라인을 연결할 필요가 없습니다.
  • 동일한 패스에서 객체 카운팅: 히트맵이 생성되는 동안 region을 전달하여 구역을 드나드는 객체를 카운트하고, 한 번의 실행으로 두 가지 분석 작업을 결합할 수 있습니다.

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

교통소매
차량 통행 밀도를 보여주는 Ultralytics YOLO 히트맵 오버레이소매점 고객 이동을 보여주는 Ultralytics YOLO 히트맵 오버레이
Ultralytics YOLO 교통 히트맵Ultralytics YOLO 소매점 히트맵

Link to this sectionUltralytics YOLO로 히트맵을 생성하는 방법#

CLI 또는 Python을 사용하여 비디오 소스에서 히트맵 솔루션을 실행하십시오. 다음은 Python 예제이며 처리된 프레임을 출력 비디오 파일로 저장합니다:

Ultralytics YOLO를 활용한 히트맵
# Run a heatmap example
yolo solutions heatmap show=True

# Pass a source video
yolo solutions heatmap source="path/to/video.mp4"

# Pass a custom colormap
yolo solutions heatmap colormap=cv2.COLORMAP_INFERNO

# Heatmaps + object counting
yolo solutions heatmap region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"

Link to this sectionHeatmap() 인수#

다음은 Heatmap 인수를 포함한 표입니다:

인수유형기본값설명
modelstrNoneUltralytics YOLO 모델 파일 경로입니다.
colormapintcv2.COLORMAP_DEEPGREEN히트맵에 사용할 컬러맵입니다.
show_inboolTrue비디오 스트림에 유입(in) 카운트를 표시할지 여부를 제어하는 플래그입니다.
show_outboolTrue비디오 스트림에 유출(out) 카운트를 표시할지 여부를 제어하는 플래그입니다.
regionlist'[(20, 400), (1260, 400)]'카운팅 영역을 정의하는 포인트들의 목록입니다.

You can also apply different track arguments in the Heatmap solution.

인수유형기본값설명
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 section히트맵 컬러맵#

colormap 인수는 모든 OpenCV 컬러맵을 지원합니다. cv2 모듈에서 상수를 전달하십시오(예: colormap=cv2.COLORMAP_INFERNO).

컬러맵 이름설명
cv2.COLORMAP_AUTUMN가을 컬러맵
cv2.COLORMAP_BONE뼈 컬러맵
cv2.COLORMAP_JET제트 컬러맵
cv2.COLORMAP_WINTER겨울 컬러맵
cv2.COLORMAP_RAINBOW무지개 컬러맵
cv2.COLORMAP_OCEAN바다 컬러맵
cv2.COLORMAP_SUMMER여름 컬러맵
cv2.COLORMAP_SPRING봄 컬러맵
cv2.COLORMAP_COOL쿨 컬러맵
cv2.COLORMAP_HSVHSV(색상, 채도, 명도) 컬러맵
cv2.COLORMAP_PINK분홍 컬러맵
cv2.COLORMAP_HOT핫 컬러맵
cv2.COLORMAP_PARULA파룰라 컬러맵
cv2.COLORMAP_MAGMA마그마 컬러맵
cv2.COLORMAP_INFERNO인페르노 컬러맵
cv2.COLORMAP_PLASMA플라즈마 컬러맵
cv2.COLORMAP_VIRIDIS비리디스 컬러맵
cv2.COLORMAP_CIVIDIS시비디스 컬러맵
cv2.COLORMAP_TWILIGHT트와일라잇 컬러맵
cv2.COLORMAP_TWILIGHT_SHIFTED쉬프트된 트와일라잇 컬러맵
cv2.COLORMAP_TURBO터보 컬러맵
cv2.COLORMAP_DEEPGREEN딥그린 컬러맵

Link to this section히트맵 작동 원리#

히트맵 솔루션ObjectCounter 클래스를 확장합니다. 처음 처리되는 프레임에서 프레임 크기와 일치하는 빈 강도 레이어를 생성합니다. 이후 각 프레임은 다음 두 단계로 처리됩니다:

  1. YOLO26 추적은 프레임 내의 모든 객체를 탐지하고 추적합니다.
  2. 추적된 각 객체에 대해 히트맵 강도는 경계 상자(BBox) 중심의 원형 영역 내에서 증가합니다.

프레임당 한 번, 누적된 강도 레이어가 정규화되고 선택된 컬러맵으로 색상이 지정된 뒤 원본 프레임과 블렌딩됩니다. 오버레이는 객체가 하나 이상 추적되는 즉시 나타나며, 객체가 없는 프레임에는 히트맵 오버레이가 표시되지 않습니다.

결과적으로 시간이 지남에 따라 축적되는 동적 시각화가 생성되어 비디오 데이터 내의 교통 패턴, 군중 이동 또는 기타 공간적 행동을 드러냅니다. region이 설정되면, 이 솔루션은 히트맵이 생성되는 동안 해당 영역을 드나드는 객체를 카운트하기도 합니다.

Link to this section결론#

Ultralytics YOLO26 히트맵 솔루션은 몇 줄의 코드로 객체 추적 결과를 직관적인 활동 오버레이로 변환합니다. 더 나아가려면 이를 객체 카운팅과 결합하거나, 다른 Ultralytics 솔루션을 살펴보고, 기반이 되는 추적 모드에 대해 읽어보십시오.

Link to this sectionFAQ#

Link to this sectionUltralytics YOLO26은 비디오에서 어떻게 히트맵을 생성합니까?#

Ultralytics YOLO26은 비디오 프레임 전체에서 객체를 추적하고 추적된 각 객체의 위치에 강도 값을 누적한 다음, 결과를 색상화하고 원본 프레임과 블렌딩하여 히트맵을 생성합니다. 객체가 자주 나타나거나 머무는 영역은 강도가 더 높게 쌓여 따뜻한 색으로 렌더링됩니다. 구성 옵션은 Heatmap() 인수 섹션을 참조하십시오.

Link to this section히트맵 결과를 비디오 파일로 저장하려면 어떻게 해야 합니까?#

Use OpenCV's cv2.VideoWriter and write results.plot_im for every processed frame, as shown in the main example. The plot_im attribute holds the frame with the heatmap overlay already applied.

Link to this section히트맵을 객체 카운팅과 결합할 수 있습니까?#

Yes. Pass a region argument to Heatmap() with line, rectangle, or polygon points, and the solution counts objects entering and exiting that region while the heatmap builds. The returned results include in_count, out_count, and per-class counts. See the object counting guide for region configuration details.

Link to this sectionUltralytics YOLO26을 사용하여 히트맵에서 특정 객체 클래스만 시각화하려면 어떻게 해야 합니까?#

유지하려는 클래스 인덱스와 함께 classes 인수를 Heatmap()에 전달하십시오. 예를 들어, classes=[0, 2]는 사람과 자동차(COCO 클래스 인덱스 0과 2)만을 사용하여 히트맵을 생성합니다:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo26n.pt", classes=[0, 2])

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()

Link to this sectionUltralytics YOLO26 히트맵이 OpenCV나 Matplotlib 같은 다른 데이터 시각화 도구와 다른 점은 무엇입니까?#

Ultralytics YOLO26 히트맵은 객체 탐지, 추적, 강도 누적 및 오버레이 렌더링을 단일 호출로 통합합니다. 반면 OpenCV나 Matplotlib와 같은 일반 도구는 직접 파이프라인을 구축해야 합니다. 이 솔루션은 비디오 스트림을 실시간으로 처리하며, 지속적인 추적과 사용자 지정 가능한 컬러맵을 기본적으로 지원합니다. 기반 모델에 대한 자세한 내용은 YOLO26 모델 페이지를 확인하십시오.

댓글