Ultralytics YOLO 🚀을 사용하여 다른 영역에서 개체 수 계산하기
영역 내 오브젝트 카운팅이란 무엇인가요?
가 있는 영역의 객체 카운팅 Ultralytics YOLO11 는 고급 컴퓨터 비전을 사용하여 지정된 영역 내의 객체 수를 정확하게 파악하는 것을 포함합니다. 이 접근 방식은 다양한 애플리케이션에서 프로세스를 최적화하고 보안을 강화하며 효율성을 개선하는 데 유용합니다.
Watch: Ultralytics YOLO11 | Ultralytics 솔루션 🚀을 사용한 다양한 영역에서의 개체 수 계산
지역 내 오브젝트 카운팅의 장점은?
- 정밀도와 정확성: 고급 컴퓨터 비전으로 개체를 세는 영역에서는 정밀하고 정확한 개수 계산이 가능하므로 수동 계산과 관련된 오류를 최소화할 수 있습니다.
- 효율성 개선: 자동화된 개체 카운팅은 운영 효율성을 향상시켜 다양한 애플리케이션에서 실시간 결과를 제공하고 프로세스를 간소화합니다.
- 다목적성 및 적용: 지역 내 객체 계수의 다용도성 덕분에 제조 및 감시에서 교통 모니터링에 이르기까지 다양한 영역에 적용할 수 있어 광범위한 활용도와 효율성을 제공합니다.
실제 애플리케이션
리테일 | 마켓 스트리트 |
---|---|
![]() |
![]() |
다음을 사용하여 다른 지역에서 집계하는 사람 수 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 에서 개체 카운팅을 실행합니다:
-
Ultralytics 리포지토리를 복제하고 디렉토리로 이동합니다:
-
지역 카운팅 스크립트를 실행합니다:
더 많은 옵션을 보려면 사용 예시 섹션을 참조하세요.
지역 내 개체 카운팅에 Ultralytics YOLO11 을 사용해야 하는 이유는 무엇인가요?
Ultralytics YOLO11 을 사용하면 지역 내 개체 수 계산에 몇 가지 장점이 있습니다:
- 실시간 처리: YOLO11 아키텍처는 빠른 추론이 가능하므로 즉각적인 계산 결과가 필요한 애플리케이션에 이상적입니다.
- 유연한 영역 정의: 이 솔루션을 사용하면 특정 모니터링 요구 사항에 맞게 여러 사용자 지정 영역을 다각형, 직사각형 또는 선으로 정의할 수 있습니다.
- 다중 클래스 지원: 동일한 영역 내에서 서로 다른 개체 유형을 동시에 카운트하여 포괄적인 분석을 제공합니다.
- 통합 기능: Ultralytics Python API 또는 명령줄 인터페이스를 통해 기존 시스템과 쉽게 통합할 수 있습니다.
장점 섹션에서 더 자세한 혜택을 살펴보세요.
지역에서 오브젝트 카운팅의 실제 적용 사례에는 어떤 것이 있나요?
Ultralytics YOLO11 을 사용한 객체 카운팅은 다양한 실제 시나리오에 적용할 수 있습니다:
- 소매 분석: 매장 섹션별로 고객을 계산하여 레이아웃과 인력을 최적화합니다.
- 교통 관리: 특정 도로 구간 또는 교차로에서 차량 흐름을 모니터링합니다.
- 제조: 여러 생산 구역을 통과하는 제품을 추적하세요.
- 창고 운영: 지정된 보관 구역에서 재고 품목을 계산합니다.
- 공공 안전: 이벤트가 진행되는 동안 특정 구역의 군중 밀도를 모니터링합니다.
실제 애플리케이션 섹션에서 더 많은 사례를 살펴보고 추가 영역 기반 모니터링 기능에 대한 TrackZone 솔루션을 살펴보세요.