点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
本文转自:AI算法与图像处理
本文包括以下4个部分,大家可以根据自己的需求,跳到相应小节仔细阅读。
方法简介
代码下载与使用
数据库下载与简介
总结
方法简介
网络结构如上图所示,可以用netscope(http://ethereon.github.io/netscope/#/editor)看源码中网络结构中的各个layer的参数。这是一个end-to-end的网络,网络输入为测试图片,输出有3个head:bbox、label、mask,整个网络也属于one-stage实例分割网络。一些结果如下:
代码下载与使用
代码下载:https://github.com/LoveBaldwin/TrafficSign
模型下载:链接:https://pan.baidu.com/s/1_yawJa_KUbfv0Bs2VqR4JA提取码:l0mt
代码说明
caffe: caffe代码
model: 模型相关文件
script: 训练模型、准备数据相关脚本
python: 模型、数据显示相关程序
anno_func.py: 简单的功能函数
data_show.ipynb: 图像显示的方法
deployer.ipynb: 模型测试流程
eval_check.ipynb: 模型评估
代码使用
数据下载完后,解压到与TrafficSign文件同目录下。
cd TrafficSign/script
1,编译caffe:./compile.sh
2,生成数据:mkdir -p ../../data/lmdb
./1_convert_lmdb.sh
./2_calc_img_mean.sh
3,开始训练模型:
../caffe/build/tools/caffe train --solver../model/solver.prototxt --gpu 0
数据下载与简介
数据来自某公司街景数据,场景相当丰富,数据库共有100000张图,采自中国5个不同的城市的10个不同场景,包含了不同的光照和季节的照片。数据的标注包含了:bbox(bounding box)、label和mask,如上图。数据分成了4个大类:warnings 、prohibitions、mandatory、Other,如下图所示,正如图中所示,除了这4个大类,还根据信息内容进行了细分类。模型的训练与测试仅使用了其中一部分图片,约占15%,目前仅开源程序中使用的图像。
数据库目录说明
train:所有训练图
test: 所有测试图
other: 从训练集和测试集排除的图
marks: 用于做数据增强的标准图
annotations.json: 图片标注文件
标注说明
关于mask的标注,使用了两种模型去拟合目标边界:三角和椭圆,其中三角在标定时使用了3个角点,如果图像畸变比较严重,会增加标注点,椭圆标注了5个点来拟合椭圆方程,json字段含义如下:
path: 图像相对路径
objects:[], 图像中的所有目标
category: 目标类别.
bbox: {xmin,ymin,xmax,ymax:float}, 目标框
ellipse_org: [[x1,y1],[x2,y2],...], 非必须, 椭圆的标注点
ellipse: [[x_o,y_o],[r_l,r_s],angle], 非必须, 根据椭圆标注点拟合的椭圆,[x_o,y_o] 是椭圆圆心, [r_l,r_s]是椭圆长短轴, angle椭圆旋转角.
polygon: [[x1,y1],[x2,y2],...], 非必须, 三角形的标注点
下载方式
可以先下载一些样例:
链接:https://pan.baidu.com/s/1B0Rz2HBLIoVTAIFXxfxnPA提取码:xam3
训练程序的数据集下载方式:关注本公众号,将本文发到朋友圈,收集7个赞,在后台截图发给小编,小编会在24小时内将下载链接发给你。
数据集收集不易希望能够理解,对于原创作者而言,你的关注和分享,是我们分享的动力!
总结
代码是以caffe为基础的,可能环境配置要花一些时间。小编最近在整理代码,环境编译相关的问题,希望大家可以通过google/baidu来解决。也欢迎大家实现pytorch和tensorflow版本的代码。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~