教女友学会keras-yolov3目标检测详解——适合新手
现在网上能找到的博客我现在看起来很明白,虽然讲的很详细,但是对于几天前的我真的看不明白,因为新手会遇到各种各样毫无征兆的问题,所以我决定写一篇面向新手的如何去使用 yolo 和如何去做自己的数据集来训练属于自己的模型。因为我也是新手,所以不说原理,只谈操作方法。
2020/5/30:
近日每天都有十几个很明显的小号加群,而且有的大号进群竟然打广告和卖不良物品,经我和群友讨论后,加群需要1元钱,但是进群后我会将钱退还给大家,只是为了过滤一些不好的人。
因为东西很杂,我会把小东西分出去写,并且在本文中附上链接。
一、准备工作
1、事件前言:
简单介绍下情况,本人本科二年级,机器学习小白,操作系统:windows10
前阵子用 matlab 做图像识别项目时发现了 yolov3 算法,觉得很有意思,但是无奈当时还没有基于matlab 的版本(听说现在有了),所以就用 python 运行,我的电脑里有 python_3.7、anaconda_3.6、pycharm。
有心人应该可以发现我大概几天前的博客都是在凌晨一点发的,当时几乎每天都弄到凌晨三点多去配置环境(新手运行报错的原因几乎都是版本的兼容性问题)。
不过经过三天左右的时间,我解决了无穷多的报错之后,终于把 yolo 在 anaconda 和 pycharm 中成功运行,而且在昨晚 10:30分 成功训练出了自己标注的数据集的模型。
所以在接下来的几天,我会站在新手的层面上解释我使用 yolo 的过程。
2、需要的文件:
1、yolov3源代码:github_keras-yolo3
2、权重文件:官网_yolov3.weights (点击直接下载)或者 我的百度网盘文件 链接:
https://pan.baidu.com/s/1YD5dtSrEkcBO0PRHO7eLlw
提取码:1uub
3、python 或 anaconda 或 pycharm
注意:版本需要在3.7以下,3.7版本不支持 tensflow 的库
3、python的环境配置:
很多的库之间都会存在兼容性问题,如果你运行中出现的报错不常见,或者一个错误接着一个错误,那么八成是配置的库存在兼容性问题,把库的版本换了就行
下面介绍一下重要的需要配置的库的版本:
库名称 | 版本 |
---|---|
tensorflow-gpu | 2.1.0 |
keras | 2.2.4 |
tensorflow (可有可无) | 1.12.0 |
Pillow | 5.1.0 |
matplotlib | 2.2.2 |
ffmpeg | 1.4 |
opencv | opencv-contrib-python |
建议使用镜像源下载,下载的方法可以参照我的这篇博文:
anaconda 配置 yolov3 环境(该文章中的版本也可以,但是最好换成我上面表格中写的)
大家也可以看下我的 python 的各个库的配置:python绝对兼容的库配置——机器学习
(建议大家保留一份,万一哪天不小心改了一个库的版本,很可能就会导致一系列的问题,这里的版本不存在兼容性问题)
.
.
二、正式开始yolo之旅
1、用官方权重识别图像
接下来先教大家去用官方的权重文件 yolov3.weights
去识别图像
先用 pycharm 或 spyder 打开 keras-yolo3 文件夹,用 pycharm 或 spyder 是为了看文件夹更方便,直接在 anaconda 里运行也是可以的
这里用 pycharm 先演示一下:
打开文件后是这样的。
1、我们将下载的 yolov3.weights 文件放在 keras-yolo3-master 文件夹下:
2、把 yolov3.weights 文件转换成 keras 适用的 h5 文件
首先点击左下方的 Terminal (和IDLE一个功能,就是命令行)
输入 python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
等待一会。。。直到命令行显示 Saved Keras model to model_data/yolo.h5
就可以看到文件夹的 model_data 中多了个 yolo.h5 文件
3、在文件夹下添加一个启动 yolo 函数的代码
在文件夹下新建一个py文件,我取名为 yolostart.py
,代码如下:
from yolo3.model import yolo_body
from keras.layers import Input
from yolo import YOLO
from PIL import Imageyolo = YOLO()while True:img = input('Input imagename:')try:image = Image.open(img)except:print('Open Error!')continueelse:rel_image = yolo.detect_image(image)rel_image.show()
yolo.close_session()
4、在文件夹下新建名为 img 的文件夹,里面放想要进行识别的图片
5、运行 yolostart.py
运行 yolostart.py 文件
提示:Input imagename:
现在输入想要识别的图片的文件路径,这里我输入 img/q.jpg(识别 img 文件夹下名为 q 的 jpg 格式的图片)
成功识别出图上人物
现在运行人数较多的图片试一下:
2、训练自己的数据集模型
time:3/22
这篇先发,我学校的作业还没写,
我先把作业写了,再回来补下面的东西
。。。
见谅
Time:2020/3/23/22:19
我回来啦:
介于训练自己的数据集模型比这篇文章的两倍还要长,我就将它化为一篇文章来写了,很详细,均是我刚刚亲自一步步操作的,有任何问题均可以提出
文章链接:keras-yolov3目标检测训练自己的模型详解
总结:
文章中有任何问题都可以直接评论,我一般都在
趁着我刚刚解决好多的报错,脑子里还有记忆的时候赶快问,我怕我时间久了没法回答你们一些很生僻的报错了。。。
教女友学会keras-yolov3目标检测详解——适合新手相关推荐
- 教女友学会python+yolov3调用笔记本摄像头——实时进行识别
我终于回来啦,快一个月没有正式写博客了 最近忙着把老师交给我的项目完成,又从老师经费里白嫖了好多好玩的硬件,网课都没咋听,今天介绍完这个小点,马上就要准备看模电了 其实我做项目时完全从0开始,所接触的 ...
- 独家总结| 基于深度学习的目标检测详解
欢迎关注微信公众号[计算机视觉联盟] 获取更多前沿AI.CV资讯 基于深度学习的目标检测 基于深度学习的目 ...
- YOLO v2目标检测详解一box生成与转换
yolo v2会将图片切割成若干个大小为32*32 的小格子,因此,将图片传入时,图片的长和宽都必须是32的倍数,如下所示: 后面的内容中,如果没有说明,都是指的小格子.yolo v2中的box中的数 ...
- 华硕h81m一k跳线图_主板跳线接法的所有秘密图文详解(适合新手)
作为一名新手,要真正从头组装好自己的电脑并不容易,也许你知道CPU应该插哪儿,内存应该插哪儿,但遇到一排排复杂跳线的时候,很多新手都不知道如何下手.钥匙开机其实并不神秘 还记不记得你第一次见到装电脑的 ...
- 深度篇——目标检测史(七) 细说 YOLO-V3目标检测 之 代码详解
返回主目录 返回 目标检测史 目录 上一章:深度篇--目标检测史(六) 细说 YOLO-V3目标检测 下一章:深度篇--目标检测史(八) 细说 CornerNet-Lite 目标检测 论文地址:< ...
- OpenCV-Python实战(14)——人脸检测详解(仅需6行代码学会4种人脸检测方法)
OpenCV-Python实战(14)--人脸检测详解(仅需6行代码学会4种人脸检测方法) 0. 前言 1. 人脸处理简介 2. 安装人脸处理相关库 2.1 安装 dlib 2.2 安装 face_r ...
- YOLOV3目标检测模型训练实例
YOLOV3目标检测 从零开始学习使用keras-yolov3进行图片的目标检测,比较详细地记录了准备以及训练过程,提供一个信号灯的目标检测模型训练实例,并提供相关代码与训练集. DEMO测试 YOL ...
- 【yolov3目标检测】(3) opencv+yolov3 检测交通路况,附python完整代码
各位同学好,今天和大家分享一下如何使用 opencv 调用 yolov3 模型,加载网络权重,很方便地实现 yolov3 目标检测.先放张图看效果. 使用的网上找的行车记录仪视频做测试,数据集采用CO ...
- 使用PyTorch从零开始实现YOLO-V3目标检测算法 (一)
原文:https://blog.csdn.net/u011520516/article/details/80222743 点击查看博客原文 标检测是深度学习近期发展过程中受益最多的领域.随着技术的进步 ...
最新文章
- 前端笔记(9)元素的隐藏与显示,css用户界面样式,vertical-align垂直对齐,溢出文字省略号显示,css精灵技术,过渡,焦点,滑动门,margin负值
- kcp 协议分析 基于udp的可靠协议
- .net HtmlParser初步使用研究
- 三个箭头循环标志_沧州交通标志杆直销
- platform_device_系列函数及其设备注册的作用
- linux下如何为redis配置path,linux环境下如何启动redis
- python身份证号掩盖出生日期的代码_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...
- CMake 使用方法 CMakeList.txt编写简单分析
- flask standrad class 使用
- 前端面试知识点(所谓的面试题)(备份前端网)
- python入门书?
- MediaType和文件类型对应关系
- win7系统删除多余的系统服务操作
- 光遇挂_创作者与一束光的七年之约:陈星汉的Sky光遇详解
- 【微信小程序】canvas生成分享图片海报模糊解决方法
- 拼多多---多多果园怎么玩
- 重启计算机指令没用,win10笔记本不能关机重启点什么都没反应怎么办
- 岁月的剪影【四月尘土飞扬】
- 用OpenCV计算图像的亚像素值
- 社区儿童计算机活动总结,幼儿园与社区活动总结