tensorflow-yolov4实施方法

tensorflow-yolov4-tflite

YOLOv4: Optimal Speed and Accuracy of Object Detection

文献链接:https://arxiv.org/abs/2004.10934

代码链接:https://github.com/AlexeyAB/darknet

摘要

有大量的特征被认为可以提高卷积神经网络(CNN)的精度。需要在大型数据集上对这些特征的组合进行实际测试,并对结果进行理论证明。某些功能只在某些模型上操作,某些问题只在某些模型上操作,或只在小规模数据集上操作;而某些功能(如批处理规范化和剩余连接)适用于大多数模型、任务和数据集。我们假设这些通用特征包括加权剩余连接(WRC)、跨阶段部分连接(CSP)、跨小批量规范化(CmBN)、自对抗训练(SAT)和Mish激活。使用了新功能:WRC、CSP、CmBN、SAT、误激活、马赛克数据增强、CmBN、DropBlock正则化和CIoU丢失,并将其中一些功能结合起来,以达到最新的结果:43.5%AP(65.7%AP50)的MS
COCO数据集,在Tesla V100上以约65 FPS的实时速度。

YOLOv4 Implemented in Tensorflow
2.0. Convert YOLO v4, YOLOv3, YOLO tiny .weights to .pb, .tflite and trt format
for tensorflow, tensorflow lite, tensorRT.

Download yolov4.weights file: https://drive.google.com/open?id=1cewMfusmPjYWbrnuJRuKhPMwRe_b9PaT

环境需要Prerequisites

Tensorflow
2.1.0
tensorflow_addons
0.9.1 (required for mish activation)

Demo

yolov4

python detect.py
–weights ./data/yolov4.weights --framework tf --size 608 --image
./data/kite.jpg

yolov4 tflite

python detect.py
–weights ./data/yolov4-int8.tflite --framework tflite --size 416 --image
./data/kite.jpg

Convert to tflite

yolov4python convert_tflite.py --weights ./data/yolov4.weights --output ./data/yolov4.tflite # yolov4 quantize float16python convert_tflite.py --weights ./data/yolov4.weights --output ./data/yolov4-fp16.tflite --quantize_mode float16 # yolov4 quantize int8python convert_tflite.py --weights ./data/yolov4.weights --output ./data/yolov4-fp16.tflite --quantize_mode full_int8 --dataset ./coco_dataset/coco/val207.txt

Convert to TensorRT

yolov3python save_model.py --weights ./data/yolov3.weights --output ./checkpoints/yolov3.tf --input_size 416 --model yolov3python convert_trt.py --weights ./checkpoints/yolov3.tf --quantize_mode float16 --output ./checkpoints/yolov3-trt-fp16-416 # yolov3-tinypython save_model.py --weights ./data/yolov3-tiny.weights --output ./checkpoints/yolov3-tiny.tf --input_size 416 --tinypython convert_trt.py --weights ./checkpoints/yolov3-tiny.tf --quantize_mode float16 --output ./checkpoints/yolov3-tiny-trt-fp16-416 # yolov4python save_model.py --weights ./data/yolov4.weights --output ./checkpoints/yolov4.tf --input_size 416 --model yolov4python convert_trt.py --weights ./checkpoints/yolov4.tf --quantize_mode float16 --output ./checkpoints/yolov4-trt-fp16-416

Evaluate on COCO 2017 Dataset

run script in /script/get_coco_dataset_2017.sh to download COCO 2017 Dataset# preprocess coco datasetcd datamkdir datasetcd …cd scriptspython coco_convert.py --input ./coco/annotations/instances_val2017.json --output val2017.pklpython coco_annotation.py --coco_path ./coco cd … # evaluate yolov4 modelpython evaluate.py --weights ./data/yolov4.weightscd mAP/extrapython remove_space.pycd …python main.py --output results_yolov4_tf

mAP50 on COCO 2017 Dataset

Benchmark

python benchmarks.py --size 416 --model yolov4 --weights ./data/yolov4.weights

TensorRT performance


训练模型

Prepare your dataset# If you want to train from scratch:In config.py set FISRT_STAGE_EPOCHS=0 # Run script:python train.py# Transfer learning: python train.py --weights ./data/yolov4.weights

训练性能还没有完全重现,建议使用Alex的Darknet训练自己的数据,然后将.weights转换为tensorflow或tflite。

tensorflow-yolov4实施方法相关推荐

  1. python3.6.3安装过程_python3.6.3安装图文教程 TensorFlow安装配置方法

    本文主要介绍Python3.6及TensorFlow的安装和配置流程. 一.Python官网下载自己电脑和系统对应的Python安装包. 网址:下载地址 一直往下拉到Files,这里我下载的是Wind ...

  2. TensorFlow基本使用方法

    TensorFlow基本使用方法 使用 TensorFlow,你必须明白TensorFlow用法: 1)       使用图 (graph) 来表示计算任务: 2)       在被称之为" ...

  3. 关于专利申请中发明内容和具体实施方法有什么本质区别?

    转载:https://zhidao.baidu.com/question/476279516.html 发明内容的写法: 发明内容分两部分,发明目的,技术方案及有益效果. 首先你要针对背景技术所提到的 ...

  4. OKR实施方法——关于思路和流程的思考

    关于本文 本文是个人对OKR的思考,重点关注实施方法. 本文参考了明道云.飞书OKR.嗨马OKR.辉哥奇谭等. 其实没有标准的OKR,重点是思想的升华和合适的方法. 个人理解一定存在差异,欢迎同我沟通 ...

  5. ERP专业知识讲座:15.ERP实施方法和流程

    相关链接: ERP专业知识讲座:1.ERP的管理思想         ERP专业知识讲座:2.业务流程重组 ERP专业知识讲座:3.采购管理                     ERP专业知识讲座 ...

  6. 企业推行5s管理目视化的意义及实施方法

    华天谋5s管理专家概述:5S管理目视化就是通过视觉导致人的意识变化的一种管理方法,强调使用颜色,达到"一目了然"的目的.在日常活动中,我们是通过"五感"(视觉. ...

  7. Oracle实施方法——PJM/AIM

    Oracle Applications实施方法论是一套建立整体解决方案的方法,主要由AIM(应用系统实施方法论)和PJM(整体项目管理方法论)等各自独立的方法论组成.这些方法论可以提高工作效率及项目实 ...

  8. 2. Oracle实施方法—PJM/AIM (转)

    2. Oracle实施方法-PJM/AIM 2. Oracle实施方法-PJM/AIM Oracle Applications实施方法论是一套建立整体解决方案的方法,主要由AIM(应用系统实施方法论) ...

  9. 主数据项目实施方法与核心步骤

    点击上方 "云祁QI"关注, "星标"一起成长 01 主数据定义与主数据项目 先说说数据的层次模型,根据数据的特征.作用以及管理需求的不同,将数据分为6个层次, ...

最新文章

  1. postman发送post请求,用request.getParameter()获取请求参数
  2. Linux centos6.5 64下oracle10g_静默安装完整版
  3. 【CentOS8】安装 mysql 5.7
  4. 计算两日期之间差多少天----日期格式为:yyyy-mm-dd
  5. Webpack:“WARNING in configuration The ‘mode‘ option hasnot been set, webpack will fallback .... “
  6. vscode中打开pdf文件_Visual Studio Code Preview深度体验、使用技巧.pdf
  7. ORBSLAM2 文章翻译
  8. MongoDB 数据库基本操作
  9. websphere使用中,比较tomcat
  10. 【Apache NIFI 操作】Apache NiFi源码目录结构--nifi-nar-bundles
  11. matlab 广义最小二乘,广义最小二乘辨识的matlab实现
  12. 水果店快开业怎么发朋友圈,水果店开业怎么发朋友圈图片
  13. 禁用Ctrl+alt+del
  14. U盘文件突然不见却占内存 解决方案
  15. 酒友app软件开源平台
  16. OPA 论坛为流程控制设备接口扩展了开放性、互操作性标准 - 第一部分
  17. Java面向对象的主要特征
  18. 软考网络工程师如何复习?
  19. str.substring(0,str.length() -1)用法
  20. SOD-323封装尺寸图

热门文章

  1. C/C++ 编程规范(01 )— 排版
  2. 实现SSTab单个选项卡代码
  3. SpringBoot (七) :SpringBoot 整合dubbo
  4. 条件随机场(CRF) - 2 - 定义和形式
  5. 合肥工业大学—SQL Server数据库实验六:数据更新操作
  6. 快速上手MyBatisPlus~(基友搭配,效率翻倍)
  7. AIFramework框架Jittor特性(上)
  8. 2021年大数据环境命令(一):常用命令汇总
  9. cc.tween 的call()不执行
  10. HarmonyOS UI开发 DirectionalLayout(定向布局) 的使用