yolo实现交通信号灯视频流识别代码搬运及调试

2023-05-16

yolo实现交通信号灯视频流识别调试过程

所用代码:

基于YOLOv3的红绿灯检测识别(Python源码可直接运行)
原作者是tensorflow1,我的环境是tensorflow2,遇到一堆版本导致的问题。现在就是后悔,很后悔,十分后悔。
遇到报错就度娘,好在最终还是在tensorflow2下运行成功了。

报错

1、SystemError: unknown opcode
我的环境是python3.6,代码作者应该是python3.5(作者未说明)
解决:python3.5训练的模型不能直接用3.6跑
其实我没管这个报错,解决下面的报错后就没有这个报错了。

2、RuntimeError: set_session is not available when using TensorFlow 2.0.
作者tensorflow看来是1
解决:self.sess = tf.compat.v1.Session()
前面加上:
import tensorflow as tf

3、During handling of the above exception, another exception occurred:
ValueError: You are trying to load a weight file containing 45 layers into a model with 147 layers.
作者评论区很多说这个错的,模型不匹配的问题,原贴评论区有解决办法。
解决:
(1)“去官网下载个yolo.h5就可以了”
yolov3.h5下载
(2)“这个网盘里的yolo.h5不匹配,需要下载yolov3.weights,使用本项目中的yolov3.cfg,手动转换yolo.h5,亲测管用”
YOLOv3:将yolov3的.weights文件转换为keras、tensorflow等模型所需的.h5文件的图文教程,以及常见错误解决思路
在等方法(1)下载h5文件的时候试了方法(2),成功。

把“keras-yolo3-master\model_data”里新生成的yolo.h5文件复制到“YOLO-TrafficDetection-master\trafficlight\model_data”中。

4、TypeError: Tensor is unhashable if Tensor equality is enabled. Instead, use tensor.experimental_ref() as the key.
填坑!TypeError: Tensor is unhashable if Tensor equality is enabled. Instead, use tensor.experimental_r

5、解决上个报错后出现:
在这里插入图片描述
python调用cv2.findContours时报错:ValueError: not enough values to unpack (expected 3, got 2)
又是版本问题,这次是opencv版本过高,我的是opencv4.4,cv2.findContours()返回两个参数,旧版返回三个。
万幸返回的第一个参数没啥用,直接删掉就好。

img, cnts, hiera = cv2.findContours(binary.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

改为:

cnts, hiera = cv2.findContours(binary.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

至此程序调通,测试效果如图

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

yolo实现交通信号灯视频流识别代码搬运及调试 的相关文章

  • 【入坑ORB-SLAM3系列1】NVIDIA Xavier NX安装编译ORB-SLAM3

    文章目录 前言一 下载ORB SLAM3库二 非ROS下编译三 ROS环境下编译总结Reference xff1a 前言 开始前先说一下大致的整个过程 xff0c 各位dalao对应自己需要的部分去看就可以 xff0c 也为我自己做一个记录
  • 纯视觉至上!聊一聊时序融合在BEV感知中的应用

    作者 苹果姐 编辑 汽车人 原文链接 xff1a https zhuanlan zhihu com p 583682754 https zhuanlan zhihu com p 586713719 点击下方卡片 xff0c 关注 自动驾驶之
  • 【SLAM学习笔记4】卡方检验chi-square

    文章目录 前言一 卡方分布二 卡方检验计算步骤关于自由度n查表检验统计量拒绝域内外判定 xff1a 决策原则 总结Reference 前言 卡方分布和卡方检验在很多地方都会用到 xff0c 尤其是统计学和数据分析里 卡方检验 chi squ
  • 【Docker部署SLAM系列1】Windows11下安装Docker-desktop

    文章目录 前言1 开启虚拟化2 开启Hyper V的虚拟化功能3 开启Hyper V功能4 启动WSL和虚拟机功能5 下载安装wsl xff0c 并更新为wsl26 下载安装Docker desktop7 换镜像加速源总结相关资源Refer
  • 【Docker部署SLAM系列2】Docker-desktop部署Ubuntu18.04+ROS+vscode连接+翻车总结(含最新通过rosdep总结)

    文章目录 前言1 部署Ubuntu18 04容器2 进入容器3 配置Ubuntu18 044 ROS安装5 VScode连接docker容器总结Reference 前言 磨洋工磨洋工 xff0c 日常磨洋工 一开始我都是在cmd或者Powe
  • jsoncpp库的使用及用httplib库搭建HTTP服务器

    一 vi json test cpp include lt iostream gt 2 include lt string gt 3 include lt jsoncpp json json h gt 4 using namespace s
  • 基于STM32F4实现串口通信(usart)

    文章目录 前言一 串口的基本介绍1 简介2 串口协议 二 1 配置步骤2 完整代码 前言 串口通信是一种设备间常用的串行通信方式 xff0c 因为它简单便捷 xff0c 大部分设备支持该通信方式 今天使用一个ttl转usb模块连接usart
  • KEIL添加新的.C文件

    KEIL添加新的 C文件 问题描述 之前在网上看了很多方法添加 C文件 xff0c 结果经常报重复定义的错误 xff0c 记录一下自己的方法吧 解决方案 xff1a 右键 add exiting 点击魔法棒 34 C C 43 43 inc
  • 汇总:使用keil5所遇见的一些常见问题以及解决方法

    一 新建keil5工程时出现这个警告 解决方法 xff1a 右键单击Keil STM32F1xx DFP pdsc xff0c 然后点开属性界面 xff0c 由于Keil STM32F1xx DFP pdsc文件是只读文件 xff0c 将只
  • 自定义串口协议

    文章目录 前言一 有限状态机有限状态机代码接收数据缓冲缓冲要求循环队列 一 循环队列代码实现循环队列头文件 xff1a 源文件 xff1a 二 有限状态机与解码有限状态机核心实现代码有限状态机与解码头文件源文件 三 使用小例子总结 前言 此
  • stm32f1串口发送与接收

    目录 串口配置 串口发送 1使用SendString函数发送 2使用printf函数发送 串口接收 串口配置 首先对串口进行初始化 包括使能串口时钟 xff0c 这里我使用的是usart2 xff0c 使能GPIO时钟 xff0c 这里我用
  • 串口通讯详解

    这篇文章包含了串口通讯里面的大部分概念问题 目录 串口通讯线 同步串行 xff08 ISP xff09 异步串行 xff08 UART xff09 波特率 数据帧 串口通讯线 串口通信线最少需要2根 xff08 GND和信号线 xff09
  • 包罗万象!V3Det:1.3W类全新目标检测数据集(港中文&上海AI Lab)

    作者 CV君 编辑 我爱计算机视觉 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 目标检测 技术交流群 后台回复 2D检测综述 获取鱼眼检测 实时检测 通用2D检测等近
  • stm32f4串口接收与发送

    之前有写一篇stm32f1串口接收与发送的文章 xff0c stm32f4与f1只有配置上的一点不同 xff0c 今天把f4的串口接收与发送代码分享一下 详细解释推荐大家看f1那篇 xff0c 都是一样的 xff0c stm32f1串口发送
  • -> 在c语言中是什么意思?

    gt 是一个整体 xff0c 它是用于指向结构体子数据的指针 xff0c 用来取子数据 换种说法 xff0c 如果我们在C语言中定义了一个结构体 xff0c 然后申明一个指针指向这个结构体 xff0c 那么我们要用指针取出结构体中的数据 x
  • C++中 i<<=1是什么意思

    左移赋值运算 变量i 左移1位 xff0c 结果仍然保存到变量i 举个栗子 xff1a i 61 101001 执行 xff1a i span class token operator lt lt 61 span span class to
  • 详解KITTI数据集

    详解KITTI数据集 一 KITTI数据集发布方 2011年 xff0c Andreas Geiger xff08 KIT xff09 Philip Lenz xff08 KIT xff09 Raquel Urtasun xff08 TTI
  • OpenCV各版本差异

    Opencv2标志着opencv革命性的改变 xff0c Opencv2带来了全新的C 43 43 接口 xff0c 将Opencv的能力无限放大 在2 0时代 xff0c opencv增加了新的平台支持 xff0c 包括iOS和Andro
  • realsense D435 D435i D415深度相机在ros下获得RGB图、左右红外摄像图、深度图、IMU数据

    首先你要你确保你的相机驱动已经安装好 xff0c 环境配置可以看我的另一篇文章 xff1a https blog csdn net weixin 46195203 article details 119205851 第一步 xff1a 新建
  • LaTex学习之算法如何写以及常用语句IF、FOR、WHILE

    首先是在头文件中加上 usepackage span class token punctuation span algorithm span class token punctuation span algorithmic span cla

随机推荐