tensorflow object detection API 使用记录3
来源:互联网 发布:淘宝小二电话 编辑:程序博客网 时间:2024/06/01 08:08
将训练好的模型用于视频上的目标检测
- 将训练好的模型用于视频上的目标检测
- 冻结模型
- 处理图片
- 处理视频
前言:一直都是用来检测图片,未来肯定是要应用在视频上,刚好想做个在视频上检测的小demo,不是做跟踪,所以实现起来很简单,只要把视频的每一帧都处理,另存到另一个视频里就可以了。
流程:
- 把已经训练好的模型冻结下来,即得到.pb文件(既包括权重也包括网络结构)
- 利用模型对视频每一帧进行处理并保存
冻结模型
每次保存模型的时候会生成三个文件,其中×××.meta代表网络结构,×××.data 代表权重,要将其存为.pb文件,采用API提供的方法:冻结模型
# From tensorflow/modelspython object_detection/export_inference_graph.py \ --input_type image_tensor \ --pipeline_config_path ${PIPELINE_CONFIG_PATH} \ --checkpoint_path model.ckpt-${CHECKPOINT_NUMBER} \ --inference_graph_path YOUR_NAME.pb
处理图片
官方的demo:quick start,正是使用.pb模型离线检测图片的例子,写的非常清楚不再赘述
处理视频
我是采用opencv读取视频帧并处理的方式,很简单,直接上代码,这里做的仅仅是把quick start里面检测部分改成了函数的形式:即下面的detect函数
videoCapture = cv2.VideoCapture('video_path')#获得码率及尺寸fps = videoCapture.get(cv2.cv.CV_CAP_PROP_FPS)size = (int(videoCapture.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)), int(videoCapture.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)))#指定写视频的格式, I420-avi, MJPG-mp4videoWriter = cv2.VideoWriter('video.avi', cv2.cv.CV_FOURCC('I', '4', '2', '0'), fps, size)with detection_graph.as_default(): with tf.Session(graph=detection_graph) as sess: success, frame = videoCapture.read() while success: frame = detect(frame, detection_graph, sess) cv2.imshow('frame', frame) #显示 cv2.waitKey(1000/int(fps)) videoWriter.write(frame) success, frame = videoCapture.read()videoCapture.release()cv2.destroyAllWindows()
运行程序可以看到训练好的模型处理每一帧的情况,所以如果网络结构能达到实时,那看起来就像放视频,啊,好想有那种效果又好,又能达到实时的结构跑一下,求推荐好的目标检测的tensorflow资源!
另外推荐一个采用另外一个库moviepy对视频做处理的小demo, 用起来比opencv方便一些:基于moviepy的视频检测小demo
阅读全文
4 0
- tensorflow object detection API 使用记录3
- tensorflow object detection API 使用记录1
- tensorflow object detection API 使用记录2
- tensorflow object detection API 使用记录2
- Tensorflow Object Detection API使用
- TensorFlow Object Detection API
- Tensorflow Object Detection API
- TensorFlow Object Detection API
- TensorFlow object detection api------ssd_mobilenet使用
- TensorFlow object detection api------ssd_mobilenet使用
- 测试TensorFlow Object Detection API
- tensorflow object detection API安装
- TensorFlow Object Detection API 介绍
- 安装 Tensorflow Object Detection API
- TensorFlow Object Detection API 实践
- 修改TensorFlow Object Detection API
- TensorFlow Object Detection API 教程
- tensorflow object detection API安装
- Android Matrix理论与应用详解
- DFS
- C++ --继承和派生
- Flask学习笔记 用户评论(comment) 第一部分
- 第十二篇:JAVA常用类之包装类
- tensorflow object detection API 使用记录3
- POJ3159:Candies(差分约束)
- Linux 之 NTP 服务 服务器
- 读书笔记:SQL必知必会【第4课~第6课】
- 文件上传
- mac 安装kafaka
- 路由汇总的计算方法及与CIDR的区别
- iOS-ReactiveObjC 的高级使用(二)
- 练习13