使用Yolo v3进行目标检测

使用Yolo v3进行目标检测

yolov3在windows的使用。

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

一、源码下载

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

发布了465 篇原创文章 · 获赞 694 · 访问量 96万+

猜你喜欢

转载自blog.csdn.net/mao_hui_fei/article/details/104043756