Ultralytics YOLO11 🚀을 사용한 속도 추정
속도 추정이란 무엇인가요?
속도 추정이란 주어진 상황에서 물체의 이동 속도를 계산하는 프로세스로, 컴퓨터 비전 애플리케이션에서 자주 사용됩니다. 사용 Ultralytics YOLO11 를 사용하면 이제 거리 및 시간 데이터와 함께 객체 추적을 사용하여 교통 모니터링 및 감시와 같은 작업에 필수적인 객체의 속도를 계산할 수 있습니다. 속도 추정의 정확성은 다양한 애플리케이션의 효율성과 신뢰성에 직접적인 영향을 미치므로 지능형 시스템과 실시간 의사 결정 프로세스를 발전시키는 데 핵심적인 요소입니다.
Watch: 다음을 사용하여 속도 추정 Ultralytics YOLO11
블로그 확인
속도 추정에 대한 자세한 내용은 블로그 게시물( Ultralytics YOLO11 컴퓨터 비전 프로젝트의 속도 추정)을 확인하세요.
속도 예측의 장점
- 효율적인 교통 통제: 정확한 속도 예측은 교통 흐름을 관리하고 안전을 강화하며 도로의 혼잡을 줄이는 데 도움이 됩니다.
- 정밀한 자율주행 내비게이션: 자율주행차와 같은 자율 주행 시스템에서 신뢰할 수 있는 속도 예측은 안전하고 정확한 차량 내비게이션을 보장합니다.
- 강화된 보안 감시: 감시 분석의 속도 추정 기능은 비정상적인 행동이나 잠재적 위협을 식별하여 보안 조치의 효과를 개선하는 데 도움이 됩니다.
실제 애플리케이션
교통편 | 교통편 |
---|---|
![]() |
![]() |
다음을 사용하여 도로에서 속도 추정 Ultralytics YOLO11 | 다음을 사용하여 브리지에서 속도 추정 Ultralytics YOLO11 |
속도는 추정치입니다.
속도는 추정치이며 완전히 정확하지 않을 수 있습니다. 또한 GPU 속도와 환경 요인에 따라 추정치가 달라질 수 있습니다.
Ultralytics YOLO 사용한 속도 예측
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("speed_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# speed region points
speed_region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
# Initialize speed estimation object
speedestimator = solutions.SpeedEstimator(
show=True, # display the output
model="yolo11n.pt", # path to the YOLO11 model file.
region=speed_region, # pass region points
# classes=[0, 2], # estimate speed of specific classes.
# line_width=2, # adjust the line width for bounding boxes
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = speedestimator(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
SpeedEstimator
인수
다음은 표입니다. SpeedEstimator
인수를 사용합니다:
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
model |
str |
None |
Ultralytics YOLO 모델 파일 경로. |
region |
list |
[(20, 400), (1260, 400)] |
계산 영역을 정의하는 포인트 목록입니다. |
그리고 SpeedEstimator
솔루션을 사용하면 track
매개변수:
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
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 으로 물체 속도를 추정하려면 물체 감지 및 추적 기술을 결합해야 합니다. 먼저 YOLO11 모델을 사용하여 각 프레임에서 물체를 감지해야 합니다. 그런 다음 여러 프레임에 걸쳐 이러한 객체를 추적하여 시간 경과에 따른 객체의 움직임을 계산합니다. 마지막으로 프레임 간에 물체가 이동한 거리와 프레임 속도를 사용하여 물체의 속도를 추정합니다.
예시:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
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("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize SpeedEstimator
speedestimator = solutions.SpeedEstimator(
region=[(0, 360), (1280, 360)],
model="yolo11n.pt",
show=True,
)
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = speedestimator(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
자세한 내용은 공식 블로그 게시물을 참조하세요.
트래픽 관리에서 속도 예측을 위해 Ultralytics YOLO11 을 사용하면 어떤 이점이 있나요?
속도 예측에 Ultralytics YOLO11 을 사용하면 트래픽 관리에 상당한 이점이 있습니다:
- 향상된 안전성: 차량 속도를 정확하게 예측하여 과속을 감지하고 도로 안전을 개선합니다.
- 실시간 모니터링: YOLO11 의 실시간 물체 감지 기능을 활용하여 교통 흐름과 혼잡을 효과적으로 모니터링하세요.
- 확장성: 엣지 디바이스에서 서버에 이르기까지 다양한 하드웨어 설정에 모델을 배포하여 대규모 구현을 위한 유연하고 확장 가능한 솔루션을 보장합니다.
더 많은 애플리케이션에 대한 자세한 내용은 속도 추정의 장점을 참조하세요.
YOLO11 를 다음과 같은 다른 AI 프레임워크와 통합할 수 있습니까? TensorFlow 또는 PyTorch?
예, YOLO11 TensorFlow 및 PyTorch 같은 다른 AI 프레임워크와 통합할 수 있습니다. Ultralytics YOLO11 모델을 다음과 같은 다양한 형식으로 내보낼 수 있도록 지원합니다. ONNX, TensorRT및 CoreML을 지원하여 다른 ML 프레임워크와의 원활한 상호 운용성을 보장합니다.
YOLO11 모델을 ONNX 형식으로 내보내려면 다음과 같이 하세요:
내보내기 가이드에서 모델 내보내기에 대해 자세히 알아보세요.
Ultralytics YOLO11 을 사용한 속도 예측은 얼마나 정확합니까?
Ultralytics YOLO11 을 사용한 속도 추정 정확도는 객체 추적의 품질, 동영상의 해상도 및 프레임 속도, 환경 변수 등 여러 요인에 따라 달라집니다. 속도 추정기는 신뢰할 수 있는 추정치를 제공하지만 프레임 처리 속도와 오브젝트 오클루전의 차이로 인해 100% 정확하지 않을 수 있습니다.
참고: 항상 오차 범위를 고려하고 가능하면 실측 데이터로 추정치를 검증하세요.
추가 정확도 향상 팁을 확인하려면 인수 SpeedEstimator
섹션.