콘텐츠로 건너뛰기

Ultralytics YOLO 🚀을 사용하여 다른 영역에서 개체 수 계산하기

영역 내 오브젝트 카운팅이란 무엇인가요?

가 있는 영역의 객체 카운팅 Ultralytics YOLO11 는 고급 컴퓨터 비전을 사용하여 지정된 영역 내의 객체 수를 정확하게 파악하는 것을 포함합니다. 이 접근 방식은 다양한 애플리케이션에서 프로세스를 최적화하고 보안을 강화하며 효율성을 개선하는 데 유용합니다.



Watch: Ultralytics YOLO11 | Ultralytics 솔루션 🚀을 사용한 다양한 영역에서의 개체 수 계산

지역 내 오브젝트 카운팅의 장점은?

  • 정밀도와 정확성: 고급 컴퓨터 비전으로 개체를 세는 영역에서는 정밀하고 정확한 개수 계산이 가능하므로 수동 계산과 관련된 오류를 최소화할 수 있습니다.
  • 효율성 개선: 자동화된 개체 카운팅은 운영 효율성을 향상시켜 다양한 애플리케이션에서 실시간 결과를 제공하고 프로세스를 간소화합니다.
  • 다목적성 및 적용: 지역 내 객체 계수의 다용도성 덕분에 제조 및 감시에서 교통 모니터링에 이르기까지 다양한 영역에 적용할 수 있어 광범위한 활용도와 효율성을 제공합니다.

실제 애플리케이션

리테일 마켓 스트리트
다음을 사용하여 다른 지역에서 집계하는 사람 수 Ultralytics YOLO11 다음을 사용하여 다른 지역의 군중 수 계산 Ultralytics YOLO11
다음을 사용하여 다른 지역에서 집계하는 사람 수 Ultralytics YOLO11 다음을 사용하여 다른 지역의 군중 수 계산 Ultralytics YOLO11

사용 예

Ultralytics YOLO 사용한 지역 카운팅

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Pass region as list
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

# Pass region as dictionary
region_points = {
    "region-01": [(50, 50), (250, 50), (250, 250), (50, 250)],
    "region-02": [(640, 640), (780, 640), (780, 720), (640, 720)],
}

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

# Initialize region counter object
regioncounter = solutions.RegionCounter(
    show=True,  # display the frame
    region=region_points,  # pass region points
    model="yolo11n.pt",  # model for counting in regions i.e yolo11s.pt
)

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

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

    results = regioncounter(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)

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

Ultralytics 코드 예시

Ultralytics 지역 카운팅 모듈은 예제 섹션에서 사용할 수 있습니다. 이 예제를 살펴보고 코드를 사용자 지정하여 특정 사용 사례에 맞게 수정할 수 있습니다.

RegionCounter 인수

다음은 표입니다. RegionCounter 인수를 사용합니다:

인수 유형 기본값 설명
model str None Ultralytics YOLO 모델 파일 경로.
region list [(20, 400), (1260, 400)] 계산 영역을 정의하는 포인트 목록입니다.

그리고 RegionCounter 솔루션을 통해 객체 추적 매개변수를 사용할 수 있습니다:

인수 유형 기본값 설명
tracker str 'botsort.yaml' 사용할 추적 알고리즘을 지정합니다(예, bytetrack.yaml 또는 botsort.yaml.
conf float 0.3 탐지 신뢰 임계값을 설정합니다. 값이 낮을수록 더 많은 개체를 추적할 수 있지만 오탐이 포함될 수 있습니다.
iou float 0.5 중복 감지를 필터링하기 위한 IoU( Intersection over Union ) 임계값을 설정합니다.
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 None or int None 경계 상자의 선 너비를 지정합니다. 만약 None를 클릭하면 이미지 크기에 따라 선 너비가 자동으로 조정됩니다. 선명도를 위한 시각적 사용자 지정 기능을 제공합니다.

자주 묻는 질문

Ultralytics YOLO11 을 사용하여 지정된 영역에서 오브젝트 카운팅이란 무엇인가요?

를 사용하여 지정된 영역에서 개체 수 계산 Ultralytics YOLO11 는 고급 컴퓨터 비전을 사용하여 지정된 영역 내의 물체 수를 감지하고 집계합니다. 이 정밀한 방법은 제조, 감시, 교통 모니터링과 같은 다양한 애플리케이션에서 효율성과 정확성을 향상시킵니다.

Ultralytics YOLO11 으로 지역 기반 객체 카운팅 스크립트를 실행하려면 어떻게 하나요?

다음 단계에 따라 Ultralytics YOLO11 에서 개체 카운팅을 실행합니다:

  1. Ultralytics 리포지토리를 복제하고 디렉토리로 이동합니다:

    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics/examples/YOLOv8-Region-Counter
    
  2. 지역 카운팅 스크립트를 실행합니다:

    python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
    

더 많은 옵션을 보려면 사용 예시 섹션을 참조하세요.

지역 내 개체 카운팅에 Ultralytics YOLO11 을 사용해야 하는 이유는 무엇인가요?

Ultralytics YOLO11 을 사용하면 지역 내 개체 수 계산에 몇 가지 장점이 있습니다:

  1. 실시간 처리: YOLO11 아키텍처는 빠른 추론이 가능하므로 즉각적인 계산 결과가 필요한 애플리케이션에 이상적입니다.
  2. 유연한 영역 정의: 이 솔루션을 사용하면 특정 모니터링 요구 사항에 맞게 여러 사용자 지정 영역을 다각형, 직사각형 또는 선으로 정의할 수 있습니다.
  3. 다중 클래스 지원: 동일한 영역 내에서 서로 다른 개체 유형을 동시에 카운트하여 포괄적인 분석을 제공합니다.
  4. 통합 기능: Ultralytics Python API 또는 명령줄 인터페이스를 통해 기존 시스템과 쉽게 통합할 수 있습니다.

장점 섹션에서 더 자세한 혜택을 살펴보세요.

지역에서 오브젝트 카운팅의 실제 적용 사례에는 어떤 것이 있나요?

Ultralytics YOLO11 을 사용한 객체 카운팅은 다양한 실제 시나리오에 적용할 수 있습니다:

  • 소매 분석: 매장 섹션별로 고객을 계산하여 레이아웃과 인력을 최적화합니다.
  • 교통 관리: 특정 도로 구간 또는 교차로에서 차량 흐름을 모니터링합니다.
  • 제조: 여러 생산 구역을 통과하는 제품을 추적하세요.
  • 창고 운영: 지정된 보관 구역에서 재고 품목을 계산합니다.
  • 공공 안전: 이벤트가 진행되는 동안 특정 구역의 군중 밀도를 모니터링합니다.

실제 애플리케이션 섹션에서 더 많은 사례를 살펴보고 추가 영역 기반 모니터링 기능에 대한 TrackZone 솔루션을 살펴보세요.

📅1 년 전 생성됨 ✏️ 업데이트 4 일 전

댓글