gpt4 book ai didi

python - OpenCV 车辆检测

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:45 25 4
gpt4 key购买 nike

我正在尝试实现一个程序来识别视频/图片中的车辆。主要要求是性能(几乎实时),因此我放弃了 ImageAI 和使用 Keras-VGG16 进行额外训练的模型。

OpenCV 为我提供了所需的性能,但精度远不能接受:虽然有时它运行良好,但在下一帧时却失败了。

我正在考虑可能的选择:A)用我自己的图像重新训练模型b) 使用一些图像预处理...?

任何帮助或线索将非常感激。

我的代码:

import cv2
import os
car_cascade = cv2.CascadeClassifier('cars3.xml')

#input_path = ...
files = os.listdir(input_path)

for f in files:
input_file = input_path + '/' + f;
print(input_file)
img = cv2.imread(input_file, 1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

cars = car_cascade.detectMultiScale(gray, 1.1, 1)
for (x, y, w, h) in cars:
cv2.rectangle(img, (x,y), (x+w,y+h), (0,0,255), 2)
ncars = ncars + 1
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

示例:

Example of good and bad result

最佳答案

您尝试过 dnn 对象检测模块吗?

https://github.com/opencv/opencv/wiki/TensorFlow-Object-Detection-API

您可以使用多种可用的模型架构来权衡速度和准确性。

就测量速度而言,尝试执行多个推理并测量稍后推理的速度,通常第一个推理很慢,因为它正在加载模型。

以下是在视频上运行的一些示例代码:

https://github.com/opencv/opencv/blob/master/samples/dnn/object_detection.py

如果您的硬件支持,您可以设置后端以获得进一步的加速。我见过的最佳性能来自今年 GSOC 的 nvidia 后端:

https://github.com/opencv/opencv/pull/14827

关于python - OpenCV 车辆检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58980744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com