IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> From YOLO to Edge-AI Camera Module -> 正文阅读

[人工智能]From YOLO to Edge-AI Camera Module

过程框图如下:
从Yolo到边缘AI相机OpenNCC
具体步骤如下:

模型训练

  1. 安装环境依赖(https://github.com/AlexeyAB/darknet#requirements-for-windows-linux-and-macos)

  2. 训练工具编译
    git clone https://github.com/AlexeyAB/darknetcd darknet
    mkdir build_releasecd build_release
    cmake …
    cmake --build . --target install --parallel 8

  3. 准备数据集,训练集图片放在train文件夹内,验证集放在val文件夹内。

  4. 数据标注
    git clone https://hub.fastgit.org/AlexeyAB/Yolo_mark.git
    cmake .
    make
    ./linux_mark.sh
    使用方法详见Yolo_mark目录内的readme.md

  5. 模型训练
    除两个数据集外,启动训练还需要配置几个参数文件。
    obj.data
    obj.name
    train.txt
    以上三个文件,会在数据标注时自动生成在Yolo_mark/x64/Release/data目录下,obj.name文件包含所有目标的类别名,train.txt包含所有训练图片路径,val.txt非必须,可以手动从train文件中分割出30%的图片用于验证。而obj.data文件申明了上述所有文件的路径和类别总数,如果使用自己的数据集,对应参数修改请在标注前完成修改。
    yolo.cfg(拓扑)
    Yolo.conv(预训练权重)
    cfg和conv存在一定对应关系,考虑此处训练的模型最终需部署在openncc上,推荐使用(yolov4-tiny.cfg+yolov4-tiny.conv.29)或(yolov3-tiny.cfg+yolov3-tiny.conv.11)的搭配,cfg文件可以直接在darknet/cfg目录下找到。
    Cfg文件修改!!
    如果目标类别数量不等于80,则必须修改cfg文件。

搜索cfg文件中所有yolo层的位置,若总共有3 类目标,则将[yolo]层classes参数定义为3,再将[yolo]上一层[convolutional]层的filters定义为24.计算方式为filters=(classes+5)*3。
修改cfg文件

对yolov4-tiny.cfg来说有两个yolo层,所以一共需要修改4个参数。

启动训练
第二步编译成功后,会在darknet目录下生成./darknet工具。
输入命令: ./darknet detector train ./obj.data ./yolov4-tiny.cfg ./yolov4-tiny.conv.29 -map
垃圾显卡(低于1080Ti)可能出现内存不够的报错,此时需要在cfg的第一层[net]中将batch参数改到8以下(8,4,2,1)。
若训练进行顺利,可看到如下图的训练日志图表。
训练日志
训练结束后,可看到一系列.weights文件。这里还是建议制作数据集时设置一个验证集,这样可以直接锁定验证集中map最高的权重yolov4-tiny_best.weights作为后续使用。

  1. 模型转换
  • Darknet to tensorflow
    git clone https://github.com/RenLuXi/tensorflow-yolov4-tiny.git
    cd tensorflow-yolov4-tiny
    python convert_weights_pb.py --class_names obj.names --weights_file yolov4-tiny_best.weights --tiny
    这里需要用到第五步中obj.names和yolov4-tiny_best.weights.

  • Tensorflow to IR(openvino推理格式)
    修改json配置文件
    打开tensorflow-yolov4-tiny目录下的yolo_v4_tiny.json,将其中的classes值修改为你自己的类别数,openvino进行tensorflow转换需要用到这个文件。
    然后替换json配置文件
    cp ./yolo_v4_tiny.json /opt/intel/openvino/deployment_tools/model_optimizer/extensions/front/tf
    进入openvino模型转换工具目录
    cd /opt/intel/openvino/deployment_tools/model_optimizer
    转换命令
    python mo.py --input_model yolov4-tiny.pb --transformations_config ./extensions/front/tf/yolo_v4_tiny.json --batch 1 --data_type FP32 --reverse_input_channels

  • IR to blob
    老办法,先初始化openvino环境,然后把上一步生成的xml和bin文件丢过去转换
    source /opt/intel/openvino_2020.3.194/bin/setupvars.sh

cd /opt/intel/openvino_2020.3.194/deployment_tools/inference_engine/lib/intel64

cp /opt/intel/openvino/deployment_tools/model_optimizer/yolov4-tiny.xml ./
cp /opt/intel/openvino/deployment_tools/model_optimizer/yolov4-tiny.bin ./

/opt/intel/openvino_2020.3.194/deployment_tools/inference_engine/lib/intel64/myriad_compile -m yolov4-tiny.xml -o yolov4-tiny.blob -VPU_MYRIAD_PLATFORM VPU_MYRIAD_2480 -VPU_NUMBER_OF_SHAVES 6 -VPU_NUMBER_OF_CMX_SLICES 6

  1. 使用模型
    把xml,bin,blob三个文件放入OpenNCC-yolo中使用,具体方法可参考Github repository OpenNCC yolo
    OpenNCC开发设备
    效果图
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-15 22:31:54  更:2022-03-15 22:35:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/9 15:33:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码