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代码记录相关推荐

  1. YOLO系列代码解读(图像检测)

    1.YOLO v1 yolo v1源码解析 - 筱 - CSDN博客  https://blog.csdn.net/baidu_27643275/article/details/82794559 [D ...

  2. uiautomator 代码记录 :BT接收测试

    uiautomator 代码记录 :BT接收测试 package rom;import java.lang.*; import java.util.Random; import java.io.Fil ...

  3. 自定义起始时间的时间戳计算(个人代码记录)

    个人代码记录,这个时间戳计算,由于项目数据特殊需求,自己设置的时间戳起始时间为2019年1月1日开始, 然后根据时间戳数据计算出现在时间,具体使用如下,这里setFullYear的月份是0到11,所以 ...

  4. 今日代码(20210313)--美赛代码记录

    代码记录 第1及第6题(PageRank+Lasso) my_pagerank <- function(M, r, n, b) {N <- dim(M)[2]r <- r/sum(a ...

  5. 目标检测Tensorflow:Yolo v3代码详解 (2)

    目标检测Tensorflow:Yolo v3代码详解 (2) 三.解析Dataset()数据预处理部分 四. 模型训练 yolo_train.py 五. 模型冻结 model_freeze.py 六. ...

  6. insightface人脸识别代码记录(一)(数据前期准备)

    一.前言 这部分主要讲训练数据的制作.一是我们直接采用作者提供好的数据集,二就是制作我们自己所需要的数据集. 目录地址:insightface人脸识别代码记录(总)(基于MXNet) 二.主要内容 1 ...

  7. git 代码记录单条合并的方法

    第一种方法 **步骤一:** 1,在开发分支 git log 找提交记录 找到要合并的记录一串编码**步骤二**: 2,切换到要合并的分支 例如:git checkout master **步骤三:* ...

  8. TM1650代码记录(基于51单片机)

    文章目录 一.TM1650 0.介绍 1.典型应用电路 2.原理图 3.PCB 4.实物图 5.键盘扫描码 二.代码记录 1.C文件: 2.H文件 三.结束语 一.TM1650 0.介绍 功能特点: ...

  9. 腾讯优图:开源 YOLO 系列代码(含 YOLOv3 以及各种 Backbone)

    Summary:腾讯优图:开源YOLO系列代码(含YOLOv3以及各种backbone) Author:Amusi Date:2019-01-017 微信公众号:CVer https://github ...

最新文章

  1. 自媒体敏感词大全_让新媒体小编头疼的敏感词与错别字
  2. 写出漂亮 Python 代码的 20条准则
  3. 谷歌时间晶体登上Nature,诺奖得主重大猜想成为现实
  4. (转)Invoke and BeginInvoke
  5. [APUE]文件和目录(中)
  6. mysql 主主同步失败_Mysql主主同步失败后的恢复
  7. [公告]向大家汇报服务器的情况
  8. C 实现 删除字符串空白符的函数 strtrim
  9. python中序列(列表list和元组tuple)的用法
  10. Window10 安装虚拟机搭建LInux系统
  11. 测量程序运行时间的几个函数
  12. iOS:NAV+TABLE结合
  13. 2.1 InnoDB存储引擎(概述、版本、体系结构)
  14. base64在线解码(等号或者双等号结尾的数据的解码)
  15. 基于Android的天气预报APP设计与实现
  16. 百度 android 市场,百度Q2报告:Android市场份额21.4% 同比增长890%
  17. 利用Dism修复系统步骤,以及dism找不到源文件解决方案
  18. 《孩子你慢慢来》的读后感作文3500字
  19. “主码的属性不能称之为主属性”和“若属性X函数依赖于属性Y时,则属性X与属性Y之间具有多对一的联系”
  20. C++学习小结 类与对象

热门文章

  1. IntelliJ IDEA 如何创建一个 Java 项目
  2. 学习OpCode前言
  3. 【Java笔记】——将晦涩难懂的IO流形象化
  4. RESTful风格的springMVC
  5. 【MySQL】查询优化
  6. ZigZag Conversion(“Z”形转换)
  7. android 微信摇一摇代码,Android实现微信摇一摇功能
  8. 大话Verilog——Verilog入门(一)
  9. 算法:分治法之合并排序
  10. 不可忽视的UPS电源电池除尘