Poly-YOLO keras代码记录
mAP提升40%!YOLO3改进版—— Poly-YOLO:更快,更精确的检测和实例分割
上图看测试效果
youtube 上有视频展示:https://www.youtube.com/watch?v=2KxNnEV-Zes
环境要求:
demo链接:https://gitlab.com/irafm-ai/poly-yolo
提示:论文所用的python3.5作者已经试过,发现不能安装tensorflow-gpu 1.15.0版本,换成python3.6成功:
详细环境:
- python3.6
- tensorflow-gpu 1.15.0
- keras 2.3.0
- numpy pillow matplotlib opencv
- cuda 10.2
- Ubuntu16.04
环境安装:
1、conda 环境安装:
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
bash Anaconda3-2020.11-Linux-x86_64.sh
一路敲 Enter 键 和输入yes ,然后验证PATH环境变量是否生效,出现conda版本则安装成功
source ~/.bashrc
conda -V
2、conda虚拟环境创建
conda create -n POLY_YOLO python=3.6
conda activate POLY_YOLO
3、虚拟环境中python包的安装
PS:执行以下命令的时候如果出现,添加channel的提示,请换源https://blog.csdn.net/weixin_38705903/article/details/106168366
conda install tensorflow-gpu==1.15.0
conda install keras==2.3.0
conda install numpy
conda install pillow
conda install opencv
conda install matplotlib
demo:
准备数据集,制作成train.txt val.txt test.txt放到路径poly-yolo-master/poly_yolo下
论文代码中,将coco数据集转成yolo需要的数据集格式,脚本已给出:
/poly-yolo-master/poly_yolo/conversion_scripts/coco_to_yolo.py
poly_yolo数据格式为:
(path_to\image1.jpg x1,y1,x2,y2,class,p1x,p1y,pnx,pny x1,y1,x2,y2,class,p1x,p1y,pnx,pny),
其中x1,y1,x2,y2为bbox框的左上角和右下角,class为类别标签,p1x,p1y,pnx,pny为语义分割的vertexes。
模型训练:
python poly_yolo.py
模型预测:使用jupyter执行poly_yolo_inference.ipynb
BUG列举:
1、K.learning_phase(): 0此处报错:
Etensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTER
解决方法:
import tensorflow as tf
#=======
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
#======
2、由于博主主机之前安装了ROS,因而不能引入cv2报错:
解决方法:
import sys
ros_path = '/opt/ros/kinetic/lib/python2.7/dist-packages'if ros_path in sys.path:sys.path.remove(ros_path)import cv2
sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages')
Poly-YOLO keras代码记录相关推荐
- YOLO系列代码解读(图像检测)
1.YOLO v1 yolo v1源码解析 - 筱 - CSDN博客 https://blog.csdn.net/baidu_27643275/article/details/82794559 [D ...
- uiautomator 代码记录 :BT接收测试
uiautomator 代码记录 :BT接收测试 package rom;import java.lang.*; import java.util.Random; import java.io.Fil ...
- 自定义起始时间的时间戳计算(个人代码记录)
个人代码记录,这个时间戳计算,由于项目数据特殊需求,自己设置的时间戳起始时间为2019年1月1日开始, 然后根据时间戳数据计算出现在时间,具体使用如下,这里setFullYear的月份是0到11,所以 ...
- 今日代码(20210313)--美赛代码记录
代码记录 第1及第6题(PageRank+Lasso) my_pagerank <- function(M, r, n, b) {N <- dim(M)[2]r <- r/sum(a ...
- 目标检测Tensorflow:Yolo v3代码详解 (2)
目标检测Tensorflow:Yolo v3代码详解 (2) 三.解析Dataset()数据预处理部分 四. 模型训练 yolo_train.py 五. 模型冻结 model_freeze.py 六. ...
- insightface人脸识别代码记录(一)(数据前期准备)
一.前言 这部分主要讲训练数据的制作.一是我们直接采用作者提供好的数据集,二就是制作我们自己所需要的数据集. 目录地址:insightface人脸识别代码记录(总)(基于MXNet) 二.主要内容 1 ...
- git 代码记录单条合并的方法
第一种方法 **步骤一:** 1,在开发分支 git log 找提交记录 找到要合并的记录一串编码**步骤二**: 2,切换到要合并的分支 例如:git checkout master **步骤三:* ...
- TM1650代码记录(基于51单片机)
文章目录 一.TM1650 0.介绍 1.典型应用电路 2.原理图 3.PCB 4.实物图 5.键盘扫描码 二.代码记录 1.C文件: 2.H文件 三.结束语 一.TM1650 0.介绍 功能特点: ...
- 腾讯优图:开源 YOLO 系列代码(含 YOLOv3 以及各种 Backbone)
Summary:腾讯优图:开源YOLO系列代码(含YOLOv3以及各种backbone) Author:Amusi Date:2019-01-017 微信公众号:CVer https://github ...
最新文章
- 自媒体敏感词大全_让新媒体小编头疼的敏感词与错别字
- 写出漂亮 Python 代码的 20条准则
- 谷歌时间晶体登上Nature,诺奖得主重大猜想成为现实
- (转)Invoke and BeginInvoke
- [APUE]文件和目录(中)
- mysql 主主同步失败_Mysql主主同步失败后的恢复
- [公告]向大家汇报服务器的情况
- C 实现 删除字符串空白符的函数 strtrim
- python中序列(列表list和元组tuple)的用法
- Window10 安装虚拟机搭建LInux系统
- 测量程序运行时间的几个函数
- iOS:NAV+TABLE结合
- 2.1 InnoDB存储引擎(概述、版本、体系结构)
- base64在线解码(等号或者双等号结尾的数据的解码)
- 基于Android的天气预报APP设计与实现
- 百度 android 市场,百度Q2报告:Android市场份额21.4% 同比增长890%
- 利用Dism修复系统步骤,以及dism找不到源文件解决方案
- 《孩子你慢慢来》的读后感作文3500字
- “主码的属性不能称之为主属性”和“若属性X函数依赖于属性Y时,则属性X与属性Y之间具有多对一的联系”
- C++学习小结 类与对象