【人工智能笔记】第二十八节 tensorflow 2.0 实现YoloV3与YoloV4

【Tensorflow tf 掏粪记录】笔记五——YOLOv3 tensorflow 实现 YOLOv3是YOLO作者优化的YOLO算法,与之前的相比,网络结构多了残差块来连接网络,采用了金字塔结构,网络的深度大大加深,达到了53层。所以作者把网络命名为DarkNet-53。 由于作者的编码能力实在是太强了,连所用的框架好像都是自己写的,所以目前并没有其他的框架的版本的发布。我根据作者写的关于YOLOv3的论文和之前的关于YOLO的所有论文,按我对论文的理解来实现YOLOv3。(若我对... 阅读详情

基于tensorflow2的YoloV3与YoloV4实现

yolov3源码地址:
https://github.com/tfwcn/tensorflow2-machine-vision/tree/master/AIServer/ai_api/ai_models/yolo_v3

yolov4源码地址:
https://github.com/tfwcn/tensorflow2-machine-vision/tree/master/AIServer/ai_api/ai_models/yolo_v4

实现内容

  • CSPDarknet53 + SPP + PAN (已实现)
  • CIoU-loss (已实现)
  • Mish activation (已实现)
  • Crossstage partial connections(CSP) (已实现)
  • DIoU-NMS (已实现)
  • CutMix (未实现)
  • Mosaic data augmentation (未实现)
  • DropBlock regularization (效果较差,暂不发布)
  • Class label smoothing (未实现)
  • Multiinput weighted residual connections(MiWRC) (未实现)
  • CmBN (未实现)
  • Self Adversarial Training (未实现)
  • Eliminate gridsensitivity (未实现)
  • Using multiple anchors for a single groundtruth (未实现)
  • Cosine annealing scheduler (未实现)
  • Optimal hyper-parameters (未实现)
  • Random training shapes (未实现)
  • SAM-block (未实现)

素材标注

素材标注使用Labelme
https://github.com/tfwcn/labelme

转换权重

yolo权重转h5,yolo权重请在官网下载:

https://raw.githubusercontent.com/AlexeyAB/darknet/master/cfg/yolov4.cfg

https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights

python ./ai_api/ai_models/yolo_v4/convert.py ./data/yolo_v4_weights/yolov3.cfg ./data/yolo_v4_weights/yolov3.weights ./data/yolo_v4_weights/yolo.h5 --plot_model --weights_only

h5转tf,如果类别数有变化,需重新转换

python ./ai_api/ai_models/yolo_v4/convert_tf2.py --old_weights_path ./data/yolo_v4_weights/yolo.h5 --output_path ./data/yolo_v4_weights/tf2_weights/tf2_weights.ckpt --classes_num 80

coco2017标签转换

python ./ai_api/ai_models/utils/coco.py --dataDir ./coco2017 --dataType train2017 --outDir ./data

训练

python ./ai_api/ai_models/yolo_v4/train.py --trainData "./coco2017/train2017" --valData "./coco2017/val2017" --trainLabels "./data/coco_train_labels.txt" --valLabels "./data/coco_test_labels.txt" --classesFile "./data/coco_classes.txt" --anchorsFile "./data/coco_anchors.txt" --batchSize 4

测试

python ./ai_api/ai_models/yolo_v4/test.py --imageFile "./data/img.png" --anchorsFile "./data/coco_anchors.txt" --classesFile "./data/coco_classes.txt" --model_path "./data/yolo_v4_weights/tf2_weights/"

测试

启动服务:

python manage.py runserver 0.0.0.0:8080

浏览器打开:

http://127.0.0.1:8080/static/object_detection/predict_image_read.html

参考资料:

  • https://github.com/AlexeyAB/darknet
  • https://github.com/qqwweee/keras-yolo3
基于 Tensorflow2实现YOLOv3 本文是续The First Article的第二篇文章,The First Article使用PyTorch实现YOLOv5,而本文The Second Article记录基于 Tensorflow实现Github作者zzh8829 的 yolov3-tf2 的迁移学习大致流程,使用自制数据集(100张图片)。希望能够对读者有所启发并提供帮助,如有不对之处请批评指正,欢迎提出宝贵意见和建议,若需源码或者有疑问请留言。 阅读详情

相关推荐

Keras/Tensorflow+python+yolo3训练自己的数据集

代码:https://github.com/qqwweee/keras-yolo3修改yolov3.cfg文件:https://blog.csdn.net/lilai619/article/details/79695109本文介绍如何制作数据集、修改代码、不加载预权重从头跑自己的训练数据一、简单回顾一下yolo原理:    1、端到端,输入图像,一次性输出每个栅格预测的一种或多种物体    2、坐...

Patrick_Lxc的博客 10万+

Tensorflow2.0 实现 YOLOv3(四):utils.py

文章目录文章说明导入需要的库image_preprocessload_weights 文章说明 本系列文章旨在对 Github 上 malin9402 提供的代码进行说明,在这篇文章中,我们会对 YOLOv3 项目中的 utils.py 文件进行说明。 如果只是想运行 Github 上的代码,可以参考对 YOLOv3 代码的说明一文。 导入需要的库 import cv2 import random...

cocofisher的博客 3246

TensorFlow2深度学习实战(十四):目标检测算法 YOLOv4 解析

最易上手的【计算机视觉】小白教程!

不积跬步,无以至千里! 7635

YOLO V3基于Tensorflow 2.0的完整实现

YOLO V3版本是一个强大和快速的物体检测模型,同时原理上也相对简单。我之前的博客中已经介绍了如何用Tensorflow来实现YOLO V1版本,之后我自己也用Tensorflow 1.X版本实现了YOLO V3,现在Tensorflow演进到了2.0版本,相比较1.X版本做了很大的改进,也更加易用了,因此我记录一下如何用Tensorflow 2.0版本来实现YOLO V3。网上能找到的很多Te...

9246

〖TensorFlow2.0笔记26〗YOLOV2目标检测算法以及实战!

YOLOV2目标检测算法以及实战! 文章目录一. YOLOV2算法介绍1.1. YOLOV2提升11.2. YOLOV2提升2二. YOLOV2算法实战2.1. 序列(Sequence)2.2. Tensorflow2.0中的Embedding层2.3. 预训练的词向量三. 循环神经网络 一. YOLOV2算法介绍 1.1. YOLOV2提升1 Yolov2相对Yolov1的提升点之一: 1.2. YOLOV2提升2 Yolov2相对Yolov1的提升点之二: 二. YOLOV2算法实战 2

AI新视界 3178

TensorFlow2深度学习实战(十五):目标检测算法 YOLOv4 实战

YOLOv4 目标检测实战详细讲解!

不积跬步,无以至千里! 3794

TensorFlow2.0 从零实现YoloV3检测网络一

TensorFlow2.0 从零实现YoloV3检测网络 在正式开始教程之前,需要强调一下,这不仅仅是一篇教你从零实现一个yolov3检测器的教程,同时也是一个最新最详尽比较权威中肯的TensorFlow2.0教程(我们会包含从dataloader到基础keras api网络搭建的所有过程). 同时欢迎大家来我们的论坛探讨AI问题: ft.manaai.cn, 同时也欢迎大家支持一下我们做的AI市...

luodoudoudou的博客 9232

yolo4_tensorflow2:tensorflow2.0实现的yolo第4版

yolo4_tensorflow2 tensorflow2.0实现的yolo第4版 [目录] 概述 对于那些在GPU平台上运行的检测器,它们的主干网络可能为VGG,ResNet,ResNeXt或DenseNet。 而对于那些在CPU平台上运行的检测器,他们的检测器可能为SqueezeNet,MobileNet,ShufflfleNet。 最具特色的二阶段目标检测器R-CNN系列,包括快速R-CNN,更快的R-CNN,R-FCN [9],Libra R-CNN。目标检测器,例如RepPoints。至于一阶段目标检测器,尤其有意义的网络包括YOLO,SSD,RetinaNet。 一阶段的无锚目标检测器在不断发展,包括CenterNet,CornerNet,FCOS等。收集不同阶段的特征图,具有这种机制的网络,包括特征金字塔网络(FPN),路径聚合网络(PAN),BiFPN和NAS-FPN。

Tensorflow目标检测之yolov3训练自己的模型

0 背景 Tensorflow官方目标检测给出了SSD、Faster rcnn等预训练模型,但没有给yolov3的预训练模型,但有热心的人已经实现了基于tensorflow来复现yolov3的算法,本文对该代码的训练测试流程做一介绍。 代码起源于YunYang1994的tensorflow-yolov3,后续类似的代码都是基于他进行的修改。我们今天介绍的Byronnar实现的tensorflo...

ZONGXP的博客 1万+

yolo4_weight.h5

基于TensorFlow的YOLOV4的yolo4_weight.h5 权重,已经进行转化为.h5文件,直接进行使用即可。

tf2-yolov4:YOLOv4的TensorFlow 2.0实现

YOLOv4 YOLOv4的TensorFlow 2.0实现:物体检测的最佳速度和准确性 该实现(目前)使用的原始Darknet权重进行。 请参阅路线图部分以了解下一步。 安装 要安装此软件包,您可以运行: pip install tf2_yolov4 pip install tensorflow # Check that tf2_yolov4 is installed properly python -c " from tf2_yolov4.model import YOLOv4; print(YOLOv4) " 要求: MacO> = 10.15,因为tensorflow-addons对于较旧的MacO版本不可用 Python> = 3.6 TensorFlow和TensorFlow插件之间的兼容版本:检查 Colab中的示例 / 预先训练的体重 我们的YOLOv4实现与K

基于TensorFlow+YOLOV3的目标识别研究与实现

一、TensorFlow: 它是谷歌研发的关于人工智能开源的学习框架。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。 TensorFlow可用于语音、图像、视频识别等多项深度学习领域;目前,TensorFlow支持Mac o...

qq_44436156的博客 4842

如何用Python+Librosa实现轴承异响检测?5步搞定工业设备故障预警

本文详细介绍了如何利用Python和Librosa库,通过5个步骤构建工业轴承异响检测与故障预警系统。从音频采集、预处理、频谱特征提取,到构建机器学习模型并进行实时监测,提供了完整的代码级解决方案。该方法能有效识别轴承早期故障特征,实现低成本、高效的设备预测性维护。

rnn9storyteller的博客 632

TensorFlow2.0实现YOLOv3目标检测算法详解

YOLOv3是当前主流的目标检测算法之一,以其检测速度快、精度高而著称。本项目使用TensorFlow 2.0框架实现了YOLOv3算法的完整功能,包括训练、推理和评估三个核心模块。相比其他实现,本项目的代码结构清晰,易于理解和修改,非常适合学习和研究使用。 ## 环境配置 在开始使用前,需要先配置好运行环境: 1. 安装必要的Python依赖库 2. 下载预训练的权重文件 执行以下命令即

gitblog_00859的博客 579

XGBoost详解(原理篇)

XGBoost全称为eXtreme Gradient Boosting,即极致梯度提升树。XGBoost是Boosting算法的其中一种,Boosting算法的思想是将许多弱分类器集成在一起,形成一个强分类器(个体学习器间存在强依赖关系,必须串行生成的序列化方法)。Note:关于Boosting算法详见博文集成学习详解_tt丫的博客-优快云博客XGBoost是一种提升树模型,即它将许多树模型集成在一起,形成一个很强的分类器。其中所用到的树模型则是CART回归树模型。

tt丫的博客 7万+

运放偏置电路设计:如何精准计算差分放大器的电压偏移量

本文深入解析了差分放大器偏置电路的设计原理与精准计算方法,重点阐述了如何通过引入参考电压实现信号电压偏移,以适应单电源ADC的输入范围。文章结合实战案例,详细推导了偏移电压公式,并强调了电阻匹配、运放选型及PCB布局对精度和共模抑制比的关键影响,帮助硬件工程师避免常见设计陷阱。

weixin_29288313的博客 634

yoloV3 Tensorflow版训练自己数据集

yoloV3 Tensorflow版训练自己数据集终于有人放出了 yoloV3 Tensorflow 版本项目结构简单测试训练数据集功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你...

weixin_41819529的博客 1万+

【CubeMX】STM32G474 HRTIM 死区时间与互补PWM实战解析

本文深入解析STM32G474的HRTIM高分辨率定时器在互补PWM生成与死区时间配置中的应用。通过CubeMX工具详细演示时钟配置、单路PWM基础、互补输出与死区时间设置,并结合逆变器等电力电子实战案例,帮助开发者避免直通风险,优化系统性能。

efc12345678的博客 746

Tensorflow2.0 实现 YOLOv3(一):文件目录

这个系列文章是对 Github 上 malin9402 大神的关于用 Tensorflow2.0 实现 YOLOv3 代码的所有文件的讲解,包括的文件及其链接为: 1、common.py 2、backbone.py 3、yolov3.py 4、utils.py 5、config.py 6、dataset.py 7、train.py 8、test.py 9、image_demo.py ...

cocofisher的博客 3421

【电子元件篇】电力电子中的变压器原理、作用、选型与测量指南-超简单解读

变压器虽小,却是电力电子的 “关键纽带”——从识别符号型号,到理解 “传交流隔直流” 的特点,再到按用途选参数、用万用表检测,只要抓住 “场景对应核心” 的逻辑,就能轻松掌握它的用法。

2301_81299416的博客 3025

从 QQ 聊天到 AI Agent:AstrBot + NapCat 接入 DeepSeek

<think>我们根据要求,根据提供的内容生成≤150字的文章摘要。内容是关于在Windows上使用Docker部署AstrBot+NaPCat,配置DeepSeek,实现QQ AI机器人。摘要需简洁概括主要步骤和结论。注意字数。</think>在Windows 11上通过Docker一键部署AstrBot与NapCat,实现QQ机器人。NapCat扫码登录QQ,AstrBot接入并配置DeepSeek API,完成AI对话。后续可扩展人格、插件及MCP工具,并通过cpolar提供公网管理入口,打造可扩展的

天道酬勤 1万+

YunYang1994/tensorflow-yolov3 Readme 翻译

请安装 tensorflow-gpu 1.11.0! 因为 Tensorflow 实在太 TM 折腾人了!

Dontla的博客 5532

Nature、science、cell旗下刊物

Nature\science\cell子刊说明

计算机视觉 5605

yolov4-TensorFlow版本使用教程与部分bug解决

起因 公司因项目需求,需要提升目标检测速度。原始框架为:yolov3-keras,后发现满足不了检测速度,准备更换前段时间刚出的yolov4 代码 在github上找到一堆代码,

leofionn的博客 3143

Dify智能体开发:发布嵌入网站

Dify 支持将你的 AI 应用嵌入到业务网站中,你可以使用该能力在几分钟内制作具有业务数据的官网 AI 客服、业务知识问答等应用。点击 WebApp 卡片上的嵌入按钮,复制嵌入代码,粘贴到你网站的目标位置。

王国平的博客 3243

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Ghostty 配置文件完全指南:config.ghostty 语法、加载位置与源码级调试方法(GHOSTTY(5))

Ghostty 采用纯文件方式完成全部配置,所有外观、行为、快捷键均由一个名为 `config.ghostty` 的文本文件驱动,这也是官方 man page(`GHOSTTY(5)`)所定义的唯一官方配置入口。本文以该 man page 文档为骨架,结合 Ghostty 仓库源码与命令行工具,系统讲解配置文件的位置规则、`key = value` 语法、16 色调色板写法、`+show-conf

gitblog_00844的博客 638

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: 【人工智能笔记】第二十七节 tensorflow 2.0 中保存模型的方式及注意事项
下一篇: 【人工智能笔记】第二十九节 tensorflow 2.0 实现Facebook的无监督图像表示模型MoCo
PPHT-H
博客等级 码龄18年 6254粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PPHT-H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值