对于分割网络,如果当成一个黑箱就是:输入一个3x1024x1024 输出4x1024x1024. 我没有使用二分类,直接使用了四分类. 分类网络使用了SegNet,没有加载预训练模型,参数也是默认初始化.为了加快训练,1024输入进网络后直接通过 pooling缩小到256的尺寸,等到输出层,直接使用bilinear放大4倍,相当于直接在256的尺寸上训练. import os import urllib import torch import torch.nn as nn import tor…
在模型训练结束,结束后,通常是一个分割模型,输入 1024x1024 输出 4x1024x1024. 一种方法就是将整个图切块,然后每张预测,但是有个不好处就是可能在边界处断续. 由于这种切块再预测很ugly,所以直接遍历整个图预测,防止边界断续,还有一个问题就是防止图过大不能超过20M. 很有意思解决上边的问题.话也不多说了.直接上代码: from farmlanddataset import FarmDataset import torch as tc from osgeo import g…
在我的torchvision库里介绍的博文(https://www.cnblogs.com/yjphhw/p/9773333.html)里说了对pytorch的dataset的定义方式. 本文相当于实现一个自定义的数据集,而这正是我们在做自己工程所需要的,我们总是用自己的数据嘛. 继承 from torch.utils.data import Dataset 类 然后实现 __len__(self) ,和 __getitem__(self,idx) 两个方法.以及数据增强也可以写入,数据增强想了…
比赛地址:https://tianchi.aliyun.com/competition/entrance/231717/introduction 这次比赛给的图非常大5万x5万,在训练之前必须要进行数据的切割.通常切割后的大小为512x512,或者1024x1024. 按照512x512切完后的结果如下: 切图时需要注意的几点是: gdal的二进制安装包wheels在:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 这里获取 图像是4个channel,前三…
一.整体方案:思路:整合百度AI功能,通过百度AI解决.优化在公交运行过程中遇到的运营.管理.安全等方面的问题.具体如下: 安全方面:通过驾驶员检测+语音合成,对驾驶员状态进行实时检测,跟踪,告警. 通过人流量统计对车内人数进行跟踪,在人数过多的时候告警.通过危险行为识别功能对驾驶室及车辆内部的危险行为进行识别,提出警告.并上传后台系统,启动安全预案,将危险控制在萌芽状态. 经营方面:通过车内和车站人流量识别,判断车内乘客数量上传后台系统,对车辆调度计划进行优化. 整体方案如图所示: 二.相关功…
1.cv2.resize(image, (image_size, image_size), 0, 0, cv2.INTER_LINEAR) 参数说明:image表示输入图片,image_size表示变化后的图片大小,0, 0表示dx和dy, cv2.INTER_LINEAR表示插值的方式为线性插值 2.image.get_shape[1:4].num_elements() 获得最后三个维度的大小之和 参数说明:image表示输入的图片 3. saver.save(sess, path, glob…
CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)1. 目标检测:FCOS(CVPR 2019)目标检测算法FCOS(FCOS: Fully Convolutional One-Stage Object Detection),该算法是一种基于FCN的逐像素目标检测算法,实现了无锚点(anchor-free).无提议(proposal free)的解决方案,并且提出了中心度(Center-ness)的思想,同时在召回率等方面表…
论文:<Fully Convolutional Networks for Semantic Segmentation> 代码:FCN的Caffe 实现 数据集:PascalVOC 一 数据集制作 PascalVOC数据下载下来后,制作用以图像分割的图像数据集和标签数据集,LMDB或者LEVELDB格式. 最好resize一下(填充的方式). 1. 数据文件夹构成 包括原始图片和标签图片,如下.   然后,构建对应的lmdb文件.可以将所有图片按照4:1的比例分为train:val的比例.每个t…
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 在前两篇文章MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(一).MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(二)中,采用全连接神经网络(784-300-10),分别用非深度学习框架和基于pytorch实现,训练结果相当. 这里采用卷积神经网络(CNN)中著名的LeNet-5网…
用Pytorch1.0进行半精度浮点型网络训练需要注意下问题: 1.网络要在GPU上跑,模型和输入样本数据都要cuda().half() 2.模型参数转换为half型,不必索引到每层,直接model.cuda().half()即可 3.对于半精度模型,优化算法,Adam我在使用过程中,在某些参数的梯度为0的时候,更新权重后,梯度为零的权重变成了NAN,这非常奇怪,但是Adam算法对于全精度数据类型却没有这个问题. 另外,SGD算法对于半精度和全精度计算均没有问题. 还有一个问题是不知道是不是网络…