问题标签 [yolov4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
36 浏览

python - 使用 NMSBoxesRotated 使用 YOLOV4 进行对象检测时出现 TypeError

错误说:“TypeError:函数只需要 3 个参数(给定 4 个)”

index=cv.dnn.NMSBoxesRotated(boxes_t,confidences,0.5,0.4)

其中 box_t 是 tuple(x,y,w,h) 值

如何解决这个问题?

错误图片

0 投票
1 回答
85 浏览

object-detection - 使用 Yolo v4 检测安全帽和背心

我正在训练一个 Yolo v4 物体检测模型,该模型检测建筑工地安全帽和背心的佩戴情况,我想显示这个人是否戴着帽子和背心,这个人的边界框必须显示“戴帽子和背心的人”或“不戴帽子和背心的人”取决于对象边界框的结果:人、帽子、背心。对我该怎么做有什么想法吗?如何找到边界框之间的距离或建立关系?或者至少我如何访问边界框坐标以使用它来编码。检测示例

0 投票
1 回答
137 浏览

computer-vision - 自定义 YoloV4 检测时间

我已经使用AlexeyAB 的darknet 训练了一个自定义的 YoloV4 单类对象检测器。

我的模型的最佳权重文件导致以下性能

我在 google colab 上训练的模型的指标

我使用命令获得了这个评估,

在视频上运行模型后,我得到大约 25 fps。

我的问题是:当我阅读有关 YOLO 的文章时,他们声称它以毫秒 (ms) 为单位进行检测。为什么我的模型显示检测时间为 5 秒,但在 FPS 上与其他更快的模型相当?

  • 图像中显示的检测时间(由给定命令返回)是否有所不同?(如果是,那么我如何找到我的模型的速度?)
  • 如果否,如何使其更快?
0 投票
3 回答
1395 浏览

computer-vision - 使用 YOLO 对具有挑战性的图像进行文本检测

我的图像如下所示:

在此处输入图像描述

我的目标是检测和识别数字31197394。我已经对文本识别的深度神经网络进行了微调。如果以以下格式提供,它可以成功识别正确的号码:

在此处输入图像描述

剩下的唯一任务是检测相应的边界框。为此,我尝试了darknet。不幸的是,它没有识别任何东西。有没有人知道在这类图像上表现更好的网络?我知道,亚马逊识别能够解决这个任务。但我需要一个离线工作的解决方案。所以我仍然寄希望于存在有效的预训练网络。非常感谢你的帮助!

0 投票
0 回答
252 浏览

c++ - tensorRT INVALID_ARGUMENT 上的 YOLOv4:找不到给定名称的绑定:nmsed_classes

我在尝试运行基于我从 onnx 文件生成的 yolov4.engine 的代码时遇到问题,我收到此错误:

我在 jetson AGX Xavier Dev Kit 上运行它,代码在我的主机上运行良好,我只有在我的 jetson 卡上运行它时才得到错误。

在我的主机上我有:Tensorrt 7.2.3-1+cuda11.1

在我的 jetson AGX Xavier 上:Tensorrt 7.1.3-1+cuda10.2 它与最后一个带有 sdk 管理器的 jetpack 4.5.1 一起安装

我什至尝试用 qt 创建一个新项目,并编写了相同的代码,我添加了 yolov4 需要运行的文件,它编译得很好,但是当我执行代码时出现错误。

有谁知道我真的被卡住了

谢谢。

0 投票
3 回答
1077 浏览

opencv - 为什么当我使用 CPU 而不是 GPU 时 cv2.dnn 工作得更快?

我是 openCV - CUDA 的新手,所以我一直在测试最简单的一个,它在 GPU 而不是 CPU 上加载模型,以查看 GPU 的速度有多快,我对得到的结果感到震惊。

我会给出我的代码片段,以防我做错了导致 GPU 时间飙升的问题。

我的 Gpu 是 Nvidia 1050 Ti,我的 CPU 是 i5 gen 9,以防有人需要规格。有人可以启发我,因为我现在非常困惑吗?非常感谢

编辑 1:我尝试使用 cv2.dnn.DNN_TARGET_CUDA 而不是 cv2.dnn.DNN_TARGET_CUDA_FP16,但与 CPU 相比,时间仍然很糟糕。以下是 GPU 结果:

以下是 CPU 结果:

它仍然比 CPU 慢

编辑 2: OpenCv 是 4.5.0、CUDA 11.1 和 CUDNN 8.0.1

0 投票
0 回答
21 浏览

object - 寻找街道树图像数据集

我已经尝试过谷歌开放图像,但可用图像的标签不符合标准并且缺少街道树图像。想用yolov4训练模型。

0 投票
0 回答
110 浏览

python-3.x - 如何使用 Tensorflow 减少 yolov4 对象检测中的类

我正在学习如何使用 yolov4 和 tensorflow 来检测对象。这是我的参考, https://github.com/theAIGuysCode/tensorflow-yolov4-tflite 现在我需要将类从 80 减少到 10。我所做的是删除 coco.names 中的类,然后修改过滤器编号和yolov4.cfg 中的类号,但它不起作用。修改后,图像上没有边界框,视频上的检测根本不在物体上。有人知道如何减少课程吗?谢谢你。

0 投票
0 回答
67 浏览

tensorflow - YOLOv4 自定义函数在 GPU 上运行时未检测到视频

我使用来自 AI 家伙的仓库的 YOLOv4 自定义函数。一切都完美无缺,包括将权重文件转换为 pb 文件,对图像和视频进行检测,然后在 pc 和 colab 上都会出现此错误:

  • 当我只使用 CPU 时,检测在图像和视频数据上运行良好
  • 当我使用 GPU 时,检测只在图像上运行。在视频上运行时,它仍然运行,但没有检测到任何东西。我假设检测只在第一帧上运行,而不是在其余帧上。
  • 这是在 CPU 上运行视频检测时的控制台日志:

2021-05-01 11:19:05.173287: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcudart.so.11.0 2021-05-01 11:19:07.268691: I tensorflow/compiler /jit/xla_cpu_device.cc:41] 未创建 XLA 设备,未设置 tf_xla_enable_xla_devices 2021-05-01 11:19:07.269701: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcuda.so .1 2021-05-01 11:19:07.279142:E tensorflow/stream_executor/cuda/cuda_driver.cc:328] 调用 cuInit 失败:CUDA_ERROR_NO_DEVICE:未检测到支持 CUDA 的设备 2021-05-01 11:19:07.279180 :我 tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] 内核驱动程序似乎没有在此主机上运行(76ac529fe3d6):/proc/driver/nvidia/version 不存在 2021-05-01 11:19:07.325497 :我张量流/编译器/jit/xla_gpu_device.cc:99] 未创建 XLA 设备,未设置 tf_xla_enable_xla_devices True:False 2021-05-01 11:19:07.328773:I tensorflow/compiler/jit/xla_gpu_device.cc:99] 未创建 XLA 设备,未设置 tf_xla_enable_xla_devices 当前阈值:0.5 2021 -05-01 11:19:23.595602:I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:116] 未启用 MLIR 优化通道(已注册 2) 2021-05-01 11:19:23.658932:I tensorflow/core /platform/profile_utils/cpu_utils.cc:112] CPU 频率:2299995000 Hz FPS:0.77 找到对象:Noentry,置信度:0.69,BBox 坐标(xmin,ymin,xmax,ymax):380.0、389.0、392.0、397.0 FPS:2.60找到对象:Noentry,置信度:0.68,BBox 坐标(xmin,ymin,xmax,ymax):380.0、389.0、392.0、397.0 FPS:2.38 找到对象:Noentry,置信度:0.69,BBox 坐标(xmin、ymin、xmax、ymax) ):380.0、389.0、392.0、396。0 FPS:2.51 找到对象:Noentry,置信度:0.89,BBox 坐标(xmin,ymin,xmax,ymax):380.0,389.0,391.0,397.0 FPS:2.48 找到对象:Noentry,置信度:0.90,BBox 坐标(xmin,ymin , xmax, ymax): 380.0, 390.0, 391.0, 397.0 FPS: 2.52 找到对象: Noentry, Confidence: 0.90, BBox Coords (xmin, ymin, xmax, ymax): 380.0, 390.0, 391.0, 397.0 FPS: 2.64 找到对象: Noentry, Confidence: 0.87, BBox Coords (xmin, ymin, xmax, ymax): 379.0, 391.0, 390.0, 398.0 FPS: 2.59 Object found: Noentry, Confidence: 0.76, BBox Coords (xmin, ymin, xmax, ymax): 378.0 , 392.0, 390.0, 399.0 FPS: 2.64 找到对象: Noentry, Confidence: 0.75, BBox Coords (xmin, ymin, xmax, ymax): 377.0, 392.0, 390.0, 400.0 FPS: 2.61 Object found: Noentry, Confidence: 0.71, BBox坐标(xmin、ymin、xmax、ymax):377.0、393.0、389.0、401.0 FPS:2.58 FPS:2.66 FPS:2.52 FPS:2.50 FPS:2.57 帧/秒: 2.59 帧/秒: 2.60 帧/秒: 2.75 帧/秒: 2.57 帧/秒: 2.77

  • 这是在 GPU 上运行视频检测时的控制台日志(如果日志有点太长,我很抱歉)

2021-05-01 10:32:33.098862: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcudart.so.11.0 2021-05-01 10:32:34.935938: I tensorflow/compiler /jit/xla_cpu_device.cc:41] 未创建 XLA 设备,未设置 tf_xla_enable_xla_devices 2021-05-01 10:32:34.936785: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcuda.so .1 2021-05-01 10:32:34.953709: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的成功 NUMA 节点具有负值 (-1),但必须至少有一个 NUMA 节点,所以返回 NUMA 节点零 2021-05-01 10:32:34.954371: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] 找到具有属性的设备 0:pciBusID:0000:00:04.0 名称:Tesla P100-PCIE -16GB 计算能力:6.0 核心时钟:1。3285GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s 2021-05-01 10:32:34.954406: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcudart.so.11.0 2021 -05-01 10:32:34.957049: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcublas.so.11 2021-05-01 10:32:34.957129: I tensorflow/stream_executor/ platform/default/dso_loader.cc:49] 成功打开动态库 libcublasLt.so.11 2021-05-01 10:32:34.958917: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcufft .so.10 2021-05-01 10:32:34.959305: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcurand.so.10 2021-05-01 10:32:34.961111:I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcusolver.so.10 2021-05-01 10:32:34.961867: I tensorflow/stream_executor/platform/default/dso_loader.cc:49]成功打开动态库 libcusparse.so.11 2021-05-01 10:32:34.962058: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcudnn.so.8 2021-05-01 10 :32:34.962151: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的成功 NUMA 节点具有负值 (-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点为零 2021-05 -01 10:32:34.962729: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的成功 NUMA 节点具有负值 (-1),但必须至少有一个 NUMA 节点,所以返回 NUMA 节点零 2021-05-01 10:32:34.963310: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] 添加可见 gpu 设备:0 2021-05-01 10:32:35.006935: I tensorflow /compiler/jit/xla_gpu_device.cc:99] 未创建 XLA 设备,未设置 tf_xla_enable_xla_devices 2021-05-01 10:32:35.007063: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的 NUMA 节点成功负值(-1),但必须至少有一个NUMA节点,所以返回NUMA节点零 2021-05-01 10:32:35.007689: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] 找到设备0 具有属性:pciBusID:0000:00:04.0 名称:Tesla P100-PCIE-16GB 计算能力:6.0 coreClock:1.3285GHz coreCount:56 deviceMemorySize:15.90GiB deviceMemoryBandwidth:681.88GiB/s 2021-05-01 10:32:35.007719:I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcudart.so.11.0 2021-05-01 10:32:35.007756: I tensorflow/stream_executor/platform/default/dso_loader.cc:49]成功打开动态库 libcublas.so.11 2021-05-01 10:32:35.007781: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcublasLt.so.11 2021-05-01 10 :32:35.007803: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcufft.so.10 2021-05-01 10:32:35.007839: I tensorflow/stream_executor/platform/default/dso_loader .cc:49] 成功打开动态库 libcurand.so.10 2021-05-01 10:32:35.007859: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcusolver.so.10 2021 -05-01 10:32:35.007881: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcusparse.so.11 2021-05-01 10:32:35.007903: I tensorflow/stream_executor/platform/default/dso_loader.cc: 49] 成功打开动态库 libcudnn.so.8 2021-05-01 10:32:35.007991: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的成功 NUMA 节点具有负值 (-1),但是必须至少有一个 NUMA 节点,因此返回 NUMA 节点零 2021-05-01 10:32:35.008575: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的成功 NUMA 节点具有负值(-1 ),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零 2021-05-01 10:32:35.009095: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] 添加可见 gpu 设备:0 2021 -05-01 10:32:35.009140:I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcudart.so.11.0 2021-05-01 10:32:35.503454: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261]具有强度 1 边缘矩阵的设备互连 StreamExecutor:2021-05-01 10:32:35.503505:I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 2021-05-01 10:32:35.503515:I tensorflow/ core/common_runtime/gpu/gpu_device.cc:1280] 0: N 2021-05-01 10:32:35.503690: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的成功 NUMA 节点具有负值(- 1),但必须至少有一个NUMA节点,因此返回NUMA节点零 2021-05-01 10:32:35.504369: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从SysFS读取的成功NUMA节点是否定的值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零 2021-05-01 10:32:35.504897: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的成功 NUMA 节点具有负值(- 1),但必须至少有一个NUMA节点,所以返回NUMA节点为零 2021-05-01 10:32:35.505452: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job :localhost/replica:0/task:0/device:GPU:0 具有 14975 MB 内存)-> 物理 GPU(设备:0,名称:Tesla P100-PCIE-16GB,pci 总线 ID:0000:00:04.0,计算能力:6.0)真:假 2021-05-01 10:32:35.506749:我 tensorflow/compiler/jit/xla_gpu_device.cc:99] 未创建 XLA 设备,未设置 tf_xla_enable_xla_devices 2021-05-01 10:32:35.506845:我张量流/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的成功 NUMA 节点具有负值 (-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零 2021-05-01 10:32:35.507388: I tensorflow/core/common_runtime/gpu /gpu_device.cc:1720] 找到具有属性的设备 0:pciBusID:0000:00:04.0 名称:Tesla P100-PCIE-16GB 计算能力:6.0 coreClock:1.3285GHz coreCount:56 deviceMemorySize:15.90GiB deviceMemoryBandwidth:681.88GiB/s 2021- 05-01 10:32:35.507418: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcudart.so.11.0 2021-05-01 10:32:35.507459: I tensorflow/stream_executor/platform /default/dso_loader.cc:49] 成功打开动态库 libcublas.so.11 2021-05-01 10:32:35.507472: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcublasLt.所以。11 2021-05-01 10:32:35.507485: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcufft.so.10 2021-05-01 10:32:35.507497: I tensorflow/ stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcurand.so.10 2021-05-01 10:32:35.507512: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcusolver.so.10 2021-05-01 10:32:35.507524: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcusparse.so.11 2021-05-01 10:32: 35.507536: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcudnn.so.8 2021-05-01 10:32:35.507582: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的成功 NUMA 节点具有负值 (-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零 2021-05-01 10:32:35.508113: I tensorflow/stream_executor/cuda/cuda_gpu_executor .cc:941] 从 SysFS 读取的成功 NUMA 节点为负值 (-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点为零 2021-05-01 10:32:35.508604: I tensorflow/core/ common_runtime/gpu/gpu_device.cc:1862] 添加可见 gpu 设备:0 2021-05-01 10:32:35.508630: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] 设备互连 StreamExecutor 与强度 1 边缘矩阵: 2021-05-01 10:32:35.508640: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 2021-05-01 10:32:35.508647: I tensorflow/core/common_runtime/gpu/gpu_device。 cc:1280] 0: N 2021-05-01 10:32:35.508710:我 tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从 SysFS 读取的成功 NUMA 节点有负值(-1),但必须至少有一个 NUMA 节点,所以返回 NUMA 节点为零 2021-05-01 10:32 :35.509240: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] 从SysFS读取的成功NUMA节点为负值(-1),但必须至少有一个NUMA节点,因此返回NUMA节点为零 2021-05-01 10:32:35.509738:我 tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] 创建了 TensorFlow 设备(/job:localhost/replica:0/task:0/device:GPU:0,内存为 14975 MB)->物理 GPU(设备:0,名称:Tesla P100-PCIE-16GB,pci 总线 id:0000:00:04.0,计算能力:6.0)当前阈值:0.5 2021-05-01 10:32:50.238825:I tensorflow/compiler /mlir/mlir_graph_optimization_pass.cc:116] MLIR 优化通道均未启用(注册 2) 2021-05-01 10:32:50.290412:I tensorflow/core/platform/profile_utils/cpu_utils.cc:112] CPU 频率:2199995000 Hz 2021-05-01 10:32:50.932916: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcudnn.so.8 2021-05-01 10:32:51.960900: I tensorflow/stream_executor/platform/default/ dso_loader.cc:49] 成功打开动态库 libcublas.so.11 2021-05-01 10:32:52.189146: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 libcublasLt.so.11 FPS:0.41 FPS:23.86 FPS:23.61 FPS:24.18 FPS:23.84 FPS:23.82 FPS:24.36 FPS:23.82 FPS:24.10 FPS:24.39 FPS:24.17 FPS:24.09 FPS:24.54 FPS:24.54 FPS:23.93 FPS:23.93 FPS 24.11 帧/秒:24.48 帧/秒:24.10 帧/秒:24.29 帧/秒:24.46 帧/秒:24。48 FPS: 23.62 FPS: 23.79 FPS: 23.76 FPS: 24.01 FPS: 24.43 FPS: 23.52 FPS: 24.46 FPS: 24.13 FPS: 24.11 FPS: 23.79 FPS: 24.62 FPS: 24.32 FPS: 24.06 FPS: 24.51 FPS: 24.46 FPS: 24.40 FPS : 24.48 FPS: 24.62 视频结束

起初我认为我的 GPU 不够强大(GTX 1050 移动版),但即使在使用 Tesla V100 的 colab pro 上运行时也会发生这种情况,我感谢任何帮助。

0 投票
0 回答
47 浏览

python - 使用 Yolo v4 进行安全帽和背心检测的图形界面

碰巧我正在为我的 Yolo v4 对象检测模型开发一个 openCV 图形界面,我尝试编写代码,但是我从需要测试模型的 yolo 文件路径中得到了一些错误,我得到了大部分时间这个错误:labelsPath = os.path.sep.join([args["yolo"], "C:\Users\Othmane\Desktop\PFE PROJECT\yolov4-mask-detector\obj.names"]) ^ SyntaxError: ( unicode 错误)“unicodeescape”编解码器无法解码位置 2-3 中的字节:截断 \UXXXXXXXX 转义

在这里你会找到整个 python 代码: