使用Yolo v3进行目标检测

使用Yolo v3进行目标检测

yolov3在windows的使用。

我的工作环境
windows 10 64位
python 3.6
tensorflow 1.14.0
keras 2.2.5
anaconda
pycharm

pip install tensorflow==1.14.0
pip install keras==2.2.5

pip install opencv-python

一、源码下载

keras-yolo3模型下载地址:https://github.com/qqwweee/keras-yolo3
权重文件下载地址:https://pjreddie.com/darknet/yolo/

  1. 下载keras-yolo3模型(https://github.com/qqwweee/keras-yolo3 ),解压至算法目录:F:\DET_A\keras-yolo3-master。
  2. 下载yolov3.weight(https://pjreddie.com/darknet/yolo/ ),解压至keras-yolo3算法根目录:F:\DET_A\keras-yolo3-master。

二、安装keras

安装教程见我的另一篇博客:windows 10如何安装keras

三、将darknet的yolo转换为可以用于keras的h5文件

cmd切换至keras-yolo3算法根目录,运行下面指令:

python convert.py -w yolov3.cfg yolov3.weights model_data/yolo_weights.h5

说明:执行convert.py文件,此为将dark![net的yolo转换为可以用于keras的h5文件,生成的h5被保存在model_data下。命令中的convert.py和yolov3.cfg克隆下来后已经有了,不需要单独下载。

运行不到一分钟就结束了
在这里插入图片描述
然后将生成的yolo_weights.h5文件改名为yolo.h5,并放到\keras_yolo3\model_data文件夹下
在这里插入图片描述

四、用已经被训练好的yolo.h5进行图片识别测试。

在pycharm终端执行:

python yolo_video.py --image

然后输入图片名称。图片要提前放到yolo_video.py文件通目录下。
在这里插入图片描述
效果图:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五、用已经被训练好的yolo.h5进行视频识别测试。

修改yolo_video.py文件,detect_video函数部分代码,如下图,加入自己读取视频的路径及输出视频的路径。
在这里插入图片描述

def detect_video(yolo, video_path, output_path="vedio_out/project_video_out.mp4"):
    import cv2
    #******************************修改这里看看能不能读取视频
    VIDEO_NAME = 'cam_13.mp4'
    # Grab path to current working directory
    CWD_PATH = os.getcwd()
    PATH_TO_VIDEO = os.path.join(CWD_PATH, VIDEO_NAME)
    vid = cv2.VideoCapture(PATH_TO_VIDEO)
    # vid = cv2.VideoCapture(video_path)
    #*******************************************
    if not vid.isOpened():
        raise IOError("Couldn't open webcam or video")
    video_FourCC    = int(vid.get(cv2.CAP_PROP_FOURCC))
    video_fps       = vid.get(cv2.CAP_PROP_FPS)
    video_size      = (int(vid.get(cv2.CAP_PROP_FRAME_WIDTH)),
                        int(vid.get(cv2.CAP_PROP_FRAME_HEIGHT)))

在终端直接运行yolo_video.py文件,不需要加任何参数

python yolo_video.py

视频检测效果图

在这里插入图片描述

YOLOv3官方模型可以识别80种物体,分别如下:(大家可以都试试)

person bicycle car motorbike aeroplane
bus train truck boat traffic light
fire hydrant stop sign parking meter bench bird
cat dog horse sheep cow
elephant bear zebra giraffe backpack
umbrella handbag tie suitcase frisbee
skis snowboard sports ball kite baseball bat
baseball glove skateboard surfboard tennis racket bottle
wine glass cup fork knife spoon
bowl banana apple sandwich orange
broccoli carrot hot dog pizza donut
cake chair sofa pottedplant bed
diningtable toilet tvmonitor laptop mouse
remote keyboard cell phone microwave oven
toaster sink refrigerator book clock
vase scissors teddy bear hair drier toothbrush

  • 11
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

翟羽嚄

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

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

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

打赏作者

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

抵扣说明:

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

余额充值