콘텐츠로 건너뛰기

고급 데이터 시각화: Ultralytics YOLO11을 사용한 히트맵 🚀

히트맵 소개

Colab에서 히트맵 열기

Ultralytics YOLO11로 생성된 히트맵은 복잡한 데이터를 생생한 색상으로 구분된 행렬로 변환합니다. 이 시각적 도구는 다양한 데이터 값을 나타내기 위해 색상 스펙트럼을 사용하며, 따뜻한 색조는 더 높은 강도를 나타내고 차가운 색조는 더 낮은 값을 나타냅니다. 히트맵은 복잡한 데이터 패턴, 상관 관계 및 이상 현상을 시각화하는 데 탁월하며 다양한 영역에서 데이터 해석에 접근하기 쉽고 매력적인 접근 방식을 제공합니다.



참고: Ultralytics YOLO11을 사용한 히트맵

데이터 분석에 히트맵을 선택해야 하는 이유는 무엇인가요?

  • 직관적인 데이터 분포 시각화: 히트맵은 데이터 집중 및 분포에 대한 이해를 단순화하여 복잡한 데이터 세트를 이해하기 쉬운 시각적 형식으로 변환합니다.
  • 효율적인 패턴 감지: 데이터를 히트맵 형식으로 시각화함으로써 추세, 클러스터 및 이상점을 더 쉽게 발견하여 더 빠른 분석과 통찰력을 얻을 수 있습니다.
  • 향상된 공간 분석 및 의사 결정: 히트맵은 공간적 관계를 설명하는 데 중요한 역할을 하며, 비즈니스 인텔리전스, 환경 연구 및 도시 계획과 같은 분야에서 의사 결정 프로세스를 지원합니다.

실제 응용 프로그램

운송소매
Ultralytics YOLO11 운송 히트맵Ultralytics YOLO11 소매점 히트맵
Ultralytics YOLO11 운송 히트맵Ultralytics YOLO11 소매점 히트맵

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)]"
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("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# For object counting with heatmap, you can pass region points.
# region_points = [(20, 400), (1080, 400)]                                      # line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]              # rectangle region
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)]   # polygon points

# Initialize heatmap object
heatmap = solutions.Heatmap(
    show=True,  # display the output
    model="yolo11n.pt",  # path to the YOLO11 model file
    colormap=cv2.COLORMAP_PARULA,  # colormap of heatmap
    # region=region_points,  # object counting with heatmaps, you can pass region_points
    # classes=[0, 2],  # generate heatmap for specific classes i.e person and car.
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = heatmap(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Heatmap() 인수

다음은 테이블에 Heatmap 인수입니다.

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

다양한 방법으로 적용할 수도 있습니다. track 다음의 인수들 Heatmap 솔루션.

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

또한 지원되는 시각화 인수는 아래에 나열되어 있습니다.

인수유형기본값설명
showboolFalse만약 True, 어노테이션이 적용된 이미지나 비디오를 창에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백에 유용합니다.
line_widthNone or intNone경계 상자의 선 너비를 지정합니다. 만약 None, 선 너비는 이미지 크기에 따라 자동으로 조정됩니다. 명확성을 위해 시각적 사용자 정의를 제공합니다.
show_confboolTrue레이블과 함께 각 감지에 대한 신뢰도 점수를 표시합니다. 각 감지에 대한 모델의 확신에 대한 통찰력을 제공합니다.
show_labelsboolTrue시각적 출력에서 각 감지에 대한 레이블을 표시합니다. 감지된 객체에 대한 즉각적인 이해를 제공합니다.

히트맵 COLORMAP

컬러맵 이름설명
cv::COLORMAP_AUTUMN가을 색상 맵
cv::COLORMAP_BONE뼈 색상 맵
cv::COLORMAP_JETJet 컬러 맵
cv::COLORMAP_WINTERWinter 색상 맵
cv::COLORMAP_RAINBOW무지개 색상 맵
cv::COLORMAP_OCEAN해양 색상 맵
cv::COLORMAP_SUMMER여름 색상 맵
cv::COLORMAP_SPRINGSpring 컬러 맵
cv::COLORMAP_COOLCool color map
cv::COLORMAP_HSVHSV (색상, 채도, 명도) 색상 맵
cv::COLORMAP_PINK분홍색 컬러 맵
cv::COLORMAP_HOT핫 컬러 맵
cv::COLORMAP_PARULAParula 컬러 맵
cv::COLORMAP_MAGMAMagma 색상 맵
cv::COLORMAP_INFERNOInferno 색상 맵
cv::COLORMAP_PLASMA플라스마 컬러 맵
cv::COLORMAP_VIRIDISViridis 색상 맵
cv::COLORMAP_CIVIDISCividis 색상 맵
cv::COLORMAP_TWILIGHT황혼 색상 맵
cv::COLORMAP_TWILIGHT_SHIFTED이동된 Twilight 색상 맵
cv::COLORMAP_TURBOTurbo 컬러 맵
cv::COLORMAP_DEEPGREEN짙은 녹색 색상 맵

이러한 컬러맵은 다양한 색상 표현으로 데이터를 시각화하는 데 일반적으로 사용됩니다.

Ultralytics YOLO11에서 히트맵은 어떻게 작동하나요?

Ultralytics YOLO11의 히트맵 솔루션ObjectCounter 클래스를 확장하여 비디오 스트림에서 움직임 패턴을 생성하고 시각화합니다. 초기화되면 이 솔루션은 객체가 프레임을 통해 이동할 때 업데이트되는 빈 히트맵 레이어를 생성합니다.

감지된 각 객체에 대한 솔루션:

  1. YOLO11의 추적 기능을 사용하여 프레임 간에 객체를 추적합니다.
  2. 객체 위치에서 히트맵 강도를 업데이트합니다.
  3. 선택한 컬러맵을 적용하여 강도 값을 시각화합니다.
  4. 원본 프레임에 컬러 히트맵을 오버레이합니다.

그 결과 시간이 지남에 따라 구축되어 비디오 데이터에서 트래픽 패턴, 군중 이동 또는 기타 공간적 동작을 드러내는 동적 시각화가 생성됩니다.

FAQ

Ultralytics YOLO11은 히트맵을 어떻게 생성하고, 그 이점은 무엇입니까?

Ultralytics YOLO11은 복잡한 데이터를 색상으로 구분된 행렬로 변환하여 히트맵을 생성하며, 여기서 서로 다른 색조는 데이터 강도를 나타냅니다. 히트맵을 사용하면 데이터의 패턴, 상관 관계 및 이상 징후를 더 쉽게 시각화할 수 있습니다. 따뜻한 색조는 더 높은 값을 나타내고, 차가운 색조는 더 낮은 값을 나타냅니다. 주요 이점으로는 데이터 분포의 직관적인 시각화, 효율적인 패턴 감지 및 의사 결정을 위한 향상된 공간 분석이 있습니다. 자세한 내용 및 구성 옵션은 히트맵 구성 섹션을 참조하십시오.

Ultralytics YOLO11을 사용하여 객체 추적을 수행하고 히트 맵을 동시에 생성할 수 있습니까?

예, Ultralytics YOLO11은 객체 추적 및 히트맵 생성을 동시에 지원합니다. 이는 다음을 통해 달성할 수 있습니다. Heatmap 객체 추적 모델과 통합된 솔루션입니다. 이를 위해서는 히트맵 객체를 초기화하고 YOLO11의 추적 기능을 사용해야 합니다. 간단한 예제는 다음과 같습니다.

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")

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

자세한 내용은 추적 모드 페이지를 확인하십시오.

Ultralytics YOLO11 히트맵이 다음과 같은 다른 데이터 시각화 도구와 다른 점은 무엇입니까? OpenCV 와 같은 데이터 시각화 도구와 다른 점은 Matplotlib?

Ultralytics YOLO11 히트맵은 개체 감지 및 추적 모델과의 통합을 위해 특별히 설계되어 실시간 데이터 분석을 위한 엔드투엔드 솔루션을 제공합니다. OpenCV Matplotlib 같은 일반적인 시각화 도구와 달리, YOLO11 히트맵은 성능과 자동화된 처리에 최적화되어 있어 지속적인 추적, 감쇠 계수 조정, 실시간 비디오 오버레이와 같은 기능을 지원합니다. YOLO11 고유한 기능에 대한 자세한 내용은 Ultralytics YOLO11 소개에서 확인할 수 있습니다.

Ultralytics YOLO11을 사용하여 히트맵에서 특정 객체 클래스만 어떻게 시각화합니까?

특정 객체 클래스를 시각화하려면 다음에서 원하는 클래스를 지정하십시오. track() YOLO 모델의 메서드입니다. 예를 들어, 클래스 인덱스가 0과 2인 자동차와 사람만 시각화하려면 다음을 설정할 수 있습니다. classes 매개변수를 적절히 조정하십시오.

import cv2

from ultralytics import solutions

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

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

기업이 데이터 분석에서 히트맵 생성을 위해 Ultralytics YOLO11을 선택해야 하는 이유는 무엇인가요?

고급 개체 감지 기능과 실시간 히트맵 생성 기능을 원활하게 통합한 Ultralytics YOLO11 데이터를 보다 효과적으로 시각화하려는 기업에게 이상적인 선택입니다. 주요 장점으로는 직관적인 데이터 분포 시각화, 효율적인 패턴 감지, 더 나은 의사결정을 위한 향상된 공간 분석 등이 있습니다. 또한 영구 추적, 사용자 정의 가능한 컬러맵, 다양한 내보내기 형식 지원과 같은 YOLO11 최첨단 기능은 다음과 같은 다른 도구보다 뛰어납니다. TensorFlow 및 OpenCV 같은 다른 도구보다 포괄적인 데이터 분석이 가능합니다. 비즈니스 애플리케이션에 대한 자세한 내용은 Ultralytics 요금제에서 알아보세요.



📅1 년 전 생성됨 ✏️ 업데이트됨 6 개월 전
glenn-jocherRizwanMunawarMatthewNoyceUltralyticsAssistantIvorZhu331AyushExelYOLOv5-Magic

댓글