콘텐츠로 건너뛰기

Ultralytics YOLO 🚀을(를) 사용한 다양한 영역에서의 객체 계수

영역 내 객체 계산이란 무엇입니까?

Ultralytics YOLO11을 사용한 영역 내 객체 계수는 고급 컴퓨터 비전을 사용하여 지정된 영역 내의 객체 수를 정확하게 결정하는 것을 포함합니다. 이 접근 방식은 프로세스 최적화, 보안 강화 및 다양한 애플리케이션의 효율성 향상에 유용합니다.



참고: Ultralytics YOLO11 | Ultralytics Solutions 🚀을(를) 사용한 다양한 영역에서의 객체 계수

영역 내 객체 수 세기의 장점은 무엇입니까?

  • 정밀도 및 정확도: 고급 컴퓨터 비전을 사용한 영역 내 객체 계산은 정확하고 정밀한 계산을 보장하여 수동 계산과 관련된 오류를 최소화합니다.
  • 효율성 향상: 자동화된 객체 계산은 운영 효율성을 향상시켜 실시간 결과를 제공하고 다양한 애플리케이션에서 프로세스를 간소화합니다.
  • 다재다능함 및 응용: 영역 내 객체 계산의 다재다능함은 제조 및 감시에서 교통 모니터링에 이르기까지 다양한 도메인에 적용할 수 있어 광범위한 유용성과 효율성에 기여합니다.

실제 응용 프로그램

소매 Market Streets
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, 선 너비는 이미지 크기에 따라 자동으로 조정됩니다. 명확성을 위해 시각적 사용자 정의를 제공합니다.
show_conf bool True 레이블과 함께 각 감지에 대한 신뢰도 점수를 표시합니다. 각 감지에 대한 모델의 확신에 대한 통찰력을 제공합니다.
show_labels bool True 시각적 출력에서 각 감지에 대한 레이블을 표시합니다. 감지된 객체에 대한 즉각적인 이해를 제공합니다.

FAQ

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개월 전에 업데이트됨

댓글