Pytorch【直播】2019 年县域农业大脑AI挑战赛---初级准备(一)切图
比赛地址:https://tianchi.aliyun.com/competition/entrance/231717/introduction
这次比赛给的图非常大5万x5万,在训练之前必须要进行数据的切割。通常切割后的大小为512x512,或者1024x1024.
按照512x512切完后的结果如下:
切图时需要注意的几点是:
gdal的二进制安装包wheels在:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 这里获取
图像是4个channel,前三个是RGB,第四个是alpha通道(透明)丢掉
图像的区域很多事空白的需要滤掉,不处理。
切割的时候需要有冗余。
大小不能按照完全的512,1024等切割,切割的要大一点数据在后期需要增强:弱缩放,旋转等。
上代码:
- from osgeo import gdal
- from PIL import Image
- import os
- if __name__=='__main__':
- name=input("input the image number 1 or 2 you want clip:")
- imagepath='./data/image_{}.png'.format(name)
- n=os.path.basename(imagepath)[:-4]
- labelname='./data/'+n+'_label.png'
- dslb=gdal.Open(labelname)
- ds=gdal.Open(imagepath)
- wx=ds.RasterXSize
- wy=ds.RasterYSize
- stx=0
- sty=0
- step=900
- outsize=1500
- nullthresh=outsize*outsize*0.7
- cx=0
- cy=0
- while cy+outsize<wy:
- cx=0
- while cx+outsize<wx:
- img=ds.ReadAsArray(cx,cy,outsize,outsize)
- img2=img[:3,:,:].transpose(1,2,0)
- if (img2[:,:,0]==0).sum()>nullthresh:
- cx+=step
- print('kongbai...',cx,cy)
- continue
- img2=Image.fromarray(img2,'RGB')
- img2.save('./data/train/data1500/'+n+'_{}_{}.bmp'.format(cx,cy))
- #deal with label
- img=dslb.ReadAsArray(cx,cy,outsize,outsize)
- img=Image.fromarray(img).convert('L')
- img.save('./data/train/label1500/'+n+'_{}_{}.bmp'.format(cx,cy))
- cx+=step
- cy+=step
路径需要修改,就可使用。
这里我按照1500x1500大小切割的,打算用1024训练。
这样的数据的切图就算准备完了。如下图:
Pytorch【直播】2019 年县域农业大脑AI挑战赛---初级准备(一)切图的更多相关文章
- Pytorch 分割模型构建和训练【直播】2019 年县域农业大脑AI挑战赛---(四)模型构建和网络训练
对于分割网络,如果当成一个黑箱就是:输入一个3x1024x1024 输出4x1024x1024. 我没有使用二分类,直接使用了四分类. 分类网络使用了SegNet,没有加载预训练模型,参数也是默认初始 ...
- Pytorch dataset自定义【直播】2019 年县域农业大脑AI挑战赛---数据准备(二),Dataset定义
在我的torchvision库里介绍的博文(https://www.cnblogs.com/yjphhw/p/9773333.html)里说了对pytorch的dataset的定义方式. 本文相当于实 ...
- Pytorch 加载保存模型【直播】2019 年县域农业大脑AI挑战赛---(三)保存结果
在模型训练结束,结束后,通常是一个分割模型,输入 1024x1024 输出 4x1024x1024. 一种方法就是将整个图切块,然后每张预测,但是有个不好处就是可能在边界处断续. 由于这种切块再预测很 ...
- 2018年星际争霸AI挑战赛–三星与FB获冠亚军,中科院自动化所夺得季军
雷锋网 AI 科技评论消息,2018 年 11 月 13-17 日,AAAI 人工智能与交互式数字娱乐大会 (AI for Interactive Digital Entertainment) 在阿尔 ...
- 300万大奖:欢迎参加美团联合主办的全球AI挑战赛
2018年8月29日,由美团.创新工场.搜狗.美图联合主办的“AI Challenger 2018全球AI挑战赛”正式启动.美团CTO罗道峰.创新工场CEO李开复.搜狗CEO王小川和美图CEO吴欣鸿共 ...
- 前端AI切图技巧
AI的基本使用 1.选中多个不同图层. 首先在AI右边工具栏找到“图层” 然后选择需要切图的图层(按住“ctrl”点击) 最后拖到PS里面的新建的图层. 还有个问题,就是图层关联太多,无法拖动某些图层 ...
- 2019年全国高校计算机能力挑战赛 C语言程序设计决赛
2019年全国高校计算机能力挑战赛 C语言程序设计决赛 毕竟这个比赛是第一次举办,能理解.. 希望未来再举办时,能够再完善一下题面表述.数据范围. 话说区域赛获奖名额有点少吧.舍友花60块想混个创新创 ...
- 2019年全国高校计算机能力挑战赛初赛C语言解答
http://www.ncccu.org.cn 2019年全国高校计算机能力挑战赛分设大数据算法赛,人工智能算法赛,Office高级应用赛,程序设计赛4大赛项 C语言初赛解答 1:编程1 16.现有一 ...
- 2019收藏盘点(编程语言/AI/面试/实用工具)
2020.1.5更新 我看过的后面会加上评价 编程学习 java开源项目汇总: https://github.com/Snailclimb/awesome-java 大数据学习入门: https:// ...
随机推荐
- 计算机二级C语言选择题错题知识点记录。
计算机二级C语言选择题错题知识点记录. 1,在数据流图中,用标有名字的箭头表示数据流.在程序流程图中,用标有名字的箭头表示控制流. 2,结构化程序设计的基本原则:自顶向下,逐步求精,模块化,限制使用g ...
- rapidxml读xml文件
student.xml文件内容: int readXML(void) { rapidxml::file<> file("student.xml"); rapidxml: ...
- VScode Vim插件快速上手与配置
快速安装: 打开market place,搜索vim即可安装. 基本改建与配置说明: 方向键: 用I k j l表示光标上下左右,需要编辑visual mode和normal mode { " ...
- LeetCode练题——88. Merge Sorted Array
1.题目 88. Merge Sorted Array——Easy Given two sorted integer arrays nums1 and nums2, merge nums2 into ...
- VUE项目部署公网ip和端口以及使用域名访问配置
前提是已经配置好了相应的外网和内网端口的映射 一.公网ip和端口配置 在vue项目启动之前对项目下:项目名/config/index.js 文件进行修改 原来的内容为:(位置在index.js的第16 ...
- vb.net 实现多态
1. 新建一个module,设置public 其他类才可以调用 Public Module Module2 Public Interface MyInterface Property stuName ...
- JDBC通过资源文件初始化
- PyQt5程序基本结构分析
面向过程版 # 0. 导入需要的包和模块 from PyQt5.Qt import * # 包含了我们常用的QT中的一些类 import sys # 一个内置的模块,系统相关操作 # 代码执行的时候, ...
- webpack-bundle-analyzer插件的使用方式
第一步: npm install --save-dev webpack-bundle-analyzer 第二步: 在build/webpack.prod.config.js中的module.expor ...
- ES6-const定义常量
在es5中我们一般将变量名大写来表明这是一个常量,但其实它是可以修改的. 在es6中可以用const来定义常量,它定义的常量不能修改. const NAME = 'tom'; NAME ...