本期攻略
Windows7 + Pytorch环境下pyinstaller打包(GPU)
注意
①Win7sp1 + NVIDIA显卡 + CUDA9.2(大环境)
②pyinstaller最高支持Python3.6
本期目录
第一部分 大赛简介
第二部分 规则介绍
第三部分 攻略分享
环境配置及pyinstaller打包
一、大赛简介
什么是“星图杯”?
第三届“中科星图杯”高分遥感图像解释软件竞赛是一次富有自由、开放、创新精神的软件设计大赛,力求加强全国范围内高校及科研单位在该领域的关键技术创新能力,培育和挖掘国家级的科研队伍和资源,为国家重点科研项目攻关奠定人才和技术基础。
2017年4月-9月,为加速推动高分辨率对地观测理论创新、技术创新,培养和发现应用人才,根据高分学术年会学术交流工作安排,组织了首届大赛。
2018年5月-9月,为应对日益迫切的高分辨率对地观测数据智能化处理和应用需求,第二届大赛应运而生。
2019年4月-9月,为进一步延续年会精神、落实年会主旨、支撑国家重点科研项目攻关,“中科星图杯”高分遥感图像解译软件竞赛迎来了第三个年头。
值得一提的是,随着大赛的发展,竞赛内容已从首届的五大方向14个课目调整至第二届三大方向10个课目、再调整为如今第三届的两大方向6个课目,体现了大赛类目设置的聚焦化、专业化与成熟化。
组织结构
主承办单位:
高分辨率对地观测学术年会组委会、中科星图股份有限公司
指导单位:
高分辨率对地观测系统重大专项管理办公室
中国科学院重大科技任务局
赛程安排
大赛宗旨
本次大赛旨在充分利用大数据、人工智能等先进技术,突破面向大规模多源异构高分数据信息提取与分析的技术瓶颈,形成一批高效、可用、实用的算法软件,提升高分对地观测信息共享与服务能力。
奖项设置/参赛方式
大赛奖励标准如下
第一名 30000元
第二名 10000元
第三名 6000元
第四名 2000元
第五名 2000元
组委会将根据测试得分情况,对参赛队伍进行排名,同时按照大赛奖励参考依据,确定各课目获奖团队。
大赛组委会在高分学术年会官网(http://www.chreos.org)
发布竞赛通知,各参赛团队自愿报名参赛。
鼓励小微企业、创业团队、高校研究所等组队参赛,按自愿报名的原则,填报参赛回执及报名表。
具体评分标准及报名要求见下方官网。
http://sw.chreos.org/
重点面向可见光、SAR等数据源,结合实际需求急迫的若干应用难题,强调智能算法与成像特性相结合,在图像目标识别、地物要素分类、数据语义描述等方面共设置2大方向共6个课目。
竞赛课目及评分规则如下:
二、规则介绍
目标识别方向:
(1)介绍:
在大范围区域(百平方公里级)或复杂场景内,对高分辨率遥感图像中存在的典型地物目标进行自动定位,并赋予相应的标签类别。具体包括:
a)高分辨率可见光图像中近岸舰船目标自动识别
b)高分辨率SAR图像中飞机目标自动定位
c)大范围海域SAR图像中舰船目标自动识别
(2)评分规则:
本方向的测试数据将包含50-100幅图像,这些图像通过人工标注5-10类目标的位置和类别,各类别目标间互相不重复。
在目标识别任务中,输入一幅图像,算法软件首先需要产生目标类别标签,以及每个目标对应的定位窗口,每个窗口对应一个标签。定位结果的评价指标将根据其中与真值最为接近的标签及相对的定位窗口产生。
本方向采用的评价指标为目标检测率与识别率。取得所有测试图像平均指标最高的团队即目标识别竞赛的优胜团队。
(3)参考样例:
目标识别方向的软件的输入参数包括:
a)待处理图像存放路径:Char* imagePath;
b)输出结果路径:Char* resultFile。
目标识别方向的软件需读取数据存放路径 imagePath 中的所有图像并进行处理,路径 resultFile 中得到相同数量的输出结果文件。
输出结果为指定格式的 xml 结果文件,输出结果应包括图像名、参赛单位、测试时间、参赛方向、参赛课目、目标类别和所在多边形区域顶点的像素坐标(逆时针排列)。xml 文件格式如下所示:
(4)评分细则:
了评估算法的性能,将采用 F 1 分数作为评价指标,其计算方
法如下:
TP 表示检出并分类正确的目标数量,FP 表示将背景区域误检为目标和分类错误目标的数量,FN 表示未检出目标数量。
当测试结果窗口(Bounding Box)与真值窗口IoU(Intersection over Union)值大于 0.6 时,该目标被正确检出。
2、地物标注方向
(1)介绍:
在大范围区域(百平方公里级)内,对高分辨率遥感图像中的单个或多个地物目标进行多要素类别的语义标注、描述和提取。
具体包括:
a)可见光复杂场景中道路/道路网自动提取
b)全极化SAR图像中地物要素自动分类
c)高分辨率可见光图像精细化标注
(2)评分规则:
本方向的测试数据集将包含50-100幅图像,每幅图像对目标进行了整体或部分像素级标注。本方向将采用平均像素分类准确率作为评价指标。取得平均指标最高的团队即地物标注提取的优胜团队。
(3)参考样例:
图像精细化标注方向的软件的输入参数包括:
a)待处理图像存放路径:Char* imagePath;
b)输出结果路径:Char* resultFile。
目标提取方向的软件需读取数据存放路径 imagePath 中的所有图像并进行处理,在路径 resultFile 中得到相同数量的输出结果文件。
目标提取算法软件的输出结果为指定格式的 xml 结果文件和对应的提取结果图像文件。
其中“精细化标注_001_Results.jpg”表示提取结果文件,该文件是一幅与图像尺寸相同的图像,该图像中的不同要素区域被标记为不同像素值。xml 文件格式如下所示:
(4)评分细则:
为了评估算法的性能,将采用 FWIoU(Frequency Weighted Intersection over Union)作为评价指标,其计算方法如下:
其中,N 为类别总数量,
表示属于类别 i 的像素被分为类别 j的像素数量。
三、攻略分享
环境配置及pyinstaller打包
Win7sp1 + NVIDIA显卡 + CUDA9.2 + pytorch
我们此次采用的是GPU版本。CUDA的使用,前提必须要有NVIDIA显卡,如果需要安装NVIDIA显卡的话,可进官网:https://www.nvidia.cn/Download/index.aspx?lang=cn选择自己需要的版本下载。
我们从官网下载的VS是.iso的镜像文件,不能直接打开,因此需要借助虚拟光驱才能使用。虚拟光驱可用DVDFab,官网下载地址为:http://zh.dvdfab.cn/download.htm?trackID=navmenu。
VS2015下载完成后用DVDFab打开,运行.exe文件,然后按照步骤安装。
Anaconda也从官网下载:https://www.anaconda.com/download/,根据自己的实际情况选择版本。
进入Pytorch官网:https://pytorch.org/选择系统,安装方式,版本,最下方就会有安装命令出现,如下图所示
创建虚拟环境:打开Anaconda Prompt,使用conda create -n env_name python=x.x创建Python版本为x.x,名字为env_name的虚拟环境。
激活创建的虚拟环境:activate env_name
在当前虚拟环境下安装Pytorch:输入刚才Pytorch官网显示的命令即可进行安装。
安装成功后的测试(在同样的虚拟环境中输入):首先输入python,然后在>>>后输入import torch等,如下图所示
输出格式:
输出结果路径为Char *ResultFile
软件需读取数据存放路径ImagePath中所有图像并进行处理,路径ResultFile中得到相同数量的输出结果文件。
输出结果指定格式为xml文件,输出结果应包含图像名、参赛单位、测试时间、参赛方向、参赛课目、目标类别和所在多边形区域顶点的像素坐标(逆时针排列)。输出结果文件格式如下图:
精细化标注参考样例如下图:
在同样的虚拟环境下先安装所需要的包
pip install pywin32
pip install pyinstaller
将所要打包的xx.py文件放到虚拟环境所在的文件夹下(一般在Anaconda安装路径下的envs里,例如我的Anaconda安装路径为F:\Anaconda,那么我创建的虚拟环境pytorch所在文件夹就为:F:\Anaconda\envs\pytorch)。
开始打包:CMD模式下进入到虚拟环境所在的文件夹,然后执行pyinstaller -F xx.py
等待一段时间,若打包成功则如下图所示
此时将会有dist文件夹生成,里面为打包成功的xx.exe文件
进入dist文件夹,执行xx.exe即可。
在安装VS2015时,双击.exe文件后安装界面显示不出来,但进程依旧存在。
采用方法为:控制面板→程序→程序和功能→启用或关闭Windows功能,所有与.NET有关的不要选中。然后重新安装。
在打包过程中有可能会出现ModuleNotFound的错误,这里我所采用的方法就是缺什么包装什么包,比如说我缺少torchvision的包,那我就pip install torchvision。
网友评论