• [参赛经验分享] 【华为云智慧校园应用创新大赛】记首届智慧校园应用开发设计大赛——季军
    上海理工大学首届智慧校园应用开发设计大赛:https://competition.huaweicloud.com/information/1000041293/introduction?track=117华为云帐号:hw_h0ss一、个人介绍大家好,我是一名大二学生,参加了上海理工大学首届智慧校园应用开发设计大赛(下称本次比赛),并最终取得二等奖。接下来我将从本次比赛的准备、实操、完善等阶段回顾和总结比赛的全流程,希望能够帮助其他参赛同学们在其他大赛中取得好成绩。二、准备——我为什么想参加比赛首届智慧校园应用开发设计大赛由上海理工大学和华为云共同举办,同样也是基于AppCube平台进行开发,并且优秀作品可以在welink中上线推广。我是在华为云大赛官网看到的比赛信息,首先智慧校园的主题非常吸引我,作为学生当然希望自己关于智慧校园建设的一些想法可以得到实现,其次比赛是基于AppCube进行开发,这给开发者们提供了非常便捷的开发工具和平台。所以就选择了参加本次比赛。总体来说,智慧校园主题的比赛对于学生来说是一个非常熟悉的领域,平时在校园中看到哪些值得优化的、哪些值得增加的,都可以成为一个赛题,加之大赛平台的加持即可构建为应用。三、第一个选择——组队OR个人参赛本次比赛可以组队也可以个人形式参加,因为我之前已经参加过华为云DevCloud大连站、DevCloud河南站和山东鲲鹏杯新动能的比赛,所以对AppCube也比较熟悉了,就想挑战一下自己,看看能不能独立完成一个相对更加复杂、更加完善的应用开发项目,就选择个人形式参赛。在这里我想给参加比赛的同学们一个建议,最好还是以团队形式分工合作,包括应用设计方案整体规划、数据库设计、后端逻辑设计和前端页面设计等几个方面,充分发挥各自所擅长的,个人参赛的话完成比赛项目会非常吃力。而且组队参赛还可以锻炼协同合作的能力。如果还没有找到伙伴,可以在大赛QQ群里去寻找队友哈!有非常非常多个人报名的同学。四、启程——如何选择赛题在确定参赛之后,就需要了解赛题,本次比赛官网给出了几个有关校园生活的赛题,同时也可以自行拓展。恰好我对学校的报修系统有一些改进的想法,便选择了“全校统一报修系统”这一赛题,这一过程可以说是水到渠成。如果没有现成的赛题思路,那么可以根据自己平时的校园体验,从学校的各种应用出发,去寻找其中的不足点,然后再尝试思考有没有优化方案,最后就可以确定一个合适的赛题了。我觉得最重要的是体现智慧校园的主题,充分表达出该应用对于校园生活的重要意义。     在确定赛题之后,需要进行应用设计方案的撰写,为整个应用的构建设计蓝图,建议可以根据应用开发背景、需求分析、可行性分析、功能设计、数据库设计、实现测试等几个方面去撰写。这里需要队长把每个模块的任务分配给每个队员,团队可以适当利用在线协同文档进行实时沟通,比如腾讯文档、石墨文档等,团队成员可以在线浏览和编辑,而且都是免费的,非常方便,这样也不至于每个部分相互脱节。【下附参考目录】五、关键——如何使用AppCube完成应用在完成应用设计方案的撰写后,就可以开始动手去完成应用了。我使用的是AppCube平台,应用构建流程主要分为三部分:数据对象建立(数据库设计)、后端脚本设计(后端逻辑设计)和前端页面设计。对于使用AppCube的开发者来说,数据库表的建立只需要建立一个数据对象即可,之后添加对应的字段信息(根据设计方案中数据库设计部分内容去完成),编写脚本时用到的脚本语言为TypeScript,其中的一些API可以在官方文档中查询得到,建议可以先了解基本的TS语法,之后跟着官方指导文档完成实操,对脚本构建流程熟悉之后再开始动手实现。完成数据对象定义以及脚本编写之后,就需要把数据展示出来,这对于普通开发流程可能也是令人头疼的一部分,但是在AppCube中只需要对预置组件进行拖拽即可形成基本的页面,之后再添加页面模型,绑定到数据对象以及脚本即可实现前后端的数据对接。在经过这三部分的操作之后,一个应用已经基本成型,之后需要考虑的是应用上线的一些权限管理操作,平台已经预先集成了各类权限管理,只需要开发者或者部署人员进行简单操作即可实现应用上线。关于这部分,我也出了一个简易的视频说明,具体可以在https://developer.huaweicloud.com/hero/thread-91343-1-1.html这个帖子中交流。六、避坑指南简单总结了一些开发过程中可能会遇到的一些坑,仅供大家参考,如果有遇到其他坑的,也欢迎大家随时来交流互动。1、如果页面使用到表单获取信息,并利用脚本将数据存入数据对象中,注意要做到前后端校验,否则可能会存入一些奇奇怪怪的数据;2、如果页面展示使用的是列表视图,需要注意在获取数据时对数据进行处理,将字段类型为“选项列表”的数据进行值到标签的转换,否则显示在页面上的会是对应的值而非标签;【如示例代码】3、当表格数据需要在页面加载时根据选项去进行筛选时,注意要把表格的“自动加载数据”选项去勾选,否则数据还是会全部展示,达不到筛选的效果;4、脚本的入参或出参有改动时,要注意在页面模型处选择对应节点,重新点击编辑并保存,否则在页面利用脚本时会出现错误。七、终点——收获的不仅仅是奖项这是我第一次实现从应用方案设计到构建再到上线完整的应用开发流程,在应用成功上线welink的那一刻,确实收获了满满的成就感。其实一直到应用上线之前,我也不确定是否可以完成这一看似艰巨的任务,过程中也遇到不少问题,所幸有华为云相关专家的耐心解答,以及一些课程和直播可以学习参考,最终得以完成。所以我想告诉各位参加本次华为云智慧校园应用创新大赛的同学们,在完成赛题之前你可能会觉得很难,但在真正动手之后会发现收获远比困难多,参加一次比赛得到的知识与经验是无价的,只要有想法、有好点子,即使不擅长应用开发,也可以找到一群志同道合的同学合作,最终将想法落到实处,这一过程感觉真的非常好!最后祝所有同学都可以在本次大赛中收获知识、收获友谊、收获快乐!祝参赛同学们取得好成绩!
  • [参赛经验分享] 2020西安人工智能大赛冠军模型分享-西南交通大学VGE团队
    前沿我们是西南交通大学朱庆教授带领的虚拟地理环境团队,我们团队主页是:https://vrlab.org.cn/很荣幸在“华为云杯”2020西安人工智能创新应用大赛中获得冠军,下面是我们的方案分享我们已将方案同步到:https://github.com/liaochengcsu/road_segmentation_pytorch 欢迎各位大佬同本菜鸟一起交流探讨一、问题分析1、遥感影像中道路特点:城市主干道与郊区公路尺度差异大;道路与其它背景信息样本不平衡;城市绿化等遮挡严重,道路标注不对应;传感器、环境、构筑材料等,导致外观多样化。2、现有方法存在问题:主流方法为语义分割,在有限的数据集训练,模型过拟合严重,使得模型在不同区域泛化性差;提取结果可靠性低,无法广泛地在实际产品应用。二、解决方案1、网络架构:编码模块选用ImageNet预训练的ResNeXt200网络,在E-D架构的基础上,提出一种通道注意力增强的特征自适应融合方法,并设计基于梯度的边缘约束模块。在增强空间细节和语义特征的同时,提高道路边缘的特征响应,实现多尺度道路准确提取。2、使用策略:随机平衡采样:影像裁剪数据增强:训练过程中随机翻转,旋转,缩放,色彩损失函数:BCE+Dice,权重1:1优化函数:SGD,初始学习率lr=0.01TTA(原始影像,上下翻转,180度旋转)后处理:基于阈值的空洞填补和噪声去除三、处理结果样本裁剪获得20733×512×512数据标签对,按7:3随机划分成训练集和验证集(16337:4396)。在24G单卡TITAN RTX上单轮训练时间小于1小时,模型完整训练周期约24小时,模型在训练24轮左右,线下精度约为0.8267,此时线上精度达0.8411(初赛排名2/377)。下图是我们方案处理结果示例:四、比赛总结比赛数据和标签存在很多不对应问题,特别是细小道路标注不完整,道路被绿化遮挡问题严重,使得模型精度总体较低。由于时间有限,对提取结果后处理比较粗糙。个人认为结合道路连续性特征,可以获得显著精度提升,这也是遥感智能解译应用必需解决的问题。本文首发  AI Gallery:https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=92a0d8f9-9791-41ce-a1c8-2ae6174a1a91本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 2020华为云人工智能创新应用大赛亚军--我要拿十万团队
    前言大家好,我们团队名称是我要拿十万,很高兴跟大家交流“华为云杯”2020人工智能创新应用大赛的比赛心得,我们团队的三个成员都来自西安交通大学。本文将从解题思路、数据处理、模型结构三个方面进行介绍。解题思路充分使用所给数据使用模型提取图像高分辨率表示数据处理训练前,数据准备减小切割图片大小和步长,将baseline中图片切割步长由992变为256,切割大小由1024x1024变为512x512,剔除无效数据,去除只含有背景的训练数据对;最终有效数据增加至24000张,之后按照7:3的比例划分为训练集和验证集;训练过程中,数据增强随机对训练数据进行gamma变换、随机角度旋转、随机水平翻转、均值滤波、增加噪声,亮度、对比度、饱和度、颜色等随机变化;通过数据增强,提高了训练数据的丰富性,一定程度上抑制了过拟合现象;推理过程中,膨胀预测因为推理图像比较大,在推理过程中需要对图像进行切割和拼接,为了避免因为对切割图像边缘处特征提取出现问题,使用膨胀预测;首先对推理图像进行填充,每次推理步长为512,推理图片大小为1024,只保留中心512大小的部分,最终拼接得到推理结果。网络模型使用HRNetv2_w48作为分割网络,对于每张图片,使用一个主干网络对其提取特征,得到不同层级的特征之后,通过上采样,将这些不同层级不同大小的特征拼接到一起,之后经过一个卷积层,batchnorm层,relu激活层,得到最终用于分割的特征,最后将得到的特征经过卷积层,softmax,上采样等操作,得到最终的分割结果;因为我们的思路是使用模型提取图片的高分辨率表示,因此使用hrnet作为特征提取网络,hrnet在整个特征提取过程中并行链接高分辨率卷积到低分辨率卷积,从而在整个过程中保持高分辨率表示;同时通过在平行卷积上重复进行融合,产生强的高分辨率表示;通过使用hrnet,得到图片的强分辨率表示,我们最终得到良好的分割结果。参考资料:[1] Sun K, Zhao Y, Jiang B, et al. High-resolution representations for labeling pixels and regions[J]. arXiv preprint arXiv:1904.04514, 2019.[2] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.[3] 王梦灵,姚宝敬.新基建浪潮下应用AI遥感技术实现城市管理创新[J].张江科技评论,2020(03):64-65.[4] 邢逸帆.AI养猪、遥感杀虫和卫星种粮 智慧农业中国新希望[J].农业工程技术,2019,39(27):63-66.[5] open-mmlab/mmsegmentation https://github.com/open-mmlab/mmsegmentation[6] wangye707/ICNet-paddlepaddle https://github.com/wangye707/ICNet-paddlepaddle[7] 深度学习入门之Pytorch——数据增强 https://blog.csdn.net/weixin_40793406/article/details/84867143[8] 【Keras】基于SegNet和U-Net的遥感图像语义分割 https://www.cnblogs.com/skyfsm/p/8330882.html[9]使用神经网络(ICNet)对航拍图片(遥感图像)进行图像语义分割(数据集+代码+最终训练模型)https://blog.csdn.net/qq_28626909/article/details/106489285本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=d2717986-bceb-4b83-a3ae-7305503b81d3本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 2020西安人工智能大赛亚军获奖--HXForevertuan
    华为云杯”2020人工智能创新应用大赛总结与分析一、 赛题背景西安,古称长安、镐京,陕西省会、副省级市,是世界历史名城、中国四大古都之一、中华文明和中华民族重要发祥地,是国家重要的科研、教育、工业基地,亦是丝绸之路起点城市和“一带一路”核心区。西安国家民用航天产业基地成立于2006年11月,是陕西省、西安市政府联合中国航天科技集团公司建设的航天技术产业和国家战略性新兴产业聚集区,也是西安建设国际化大都市的城市功能承载区。2010年6月26日,被国务院批复为国家级陕西航天经济技术开发区。此次赛题结合西安以及西安航天基地以航天卫星遥感产业为特色,旨在解决道路路网信息自动提取问题。本次比赛依托陕西航天工业雄厚的综合实力和坚实的发展基础,充分发挥航天科技对国家战略性新兴产业的引领作用,立足航天产业,发展人工智能新兴产业,推动军民融合,带动产城融合,在谋求错位发展中建设世界一流航天产业新城。本赛题任务是基于高分辨可见光遥感卫星影像,提取复杂场景的道路与街道网络信息,将影像的逐个像素进行前、背景分割,检测所有道路像素的对应区域。二、 数据简介与评判指标大赛数据集来源于北京二号卫星,空间分辨率为0.8米,分为训练集和测试集2个数据集,分别包含3景遥感影像,其中训练集2景影像的尺寸分别为40391×33106、34612×29810。测试集不公开只参与线上评测。参赛者可自行将训练集切分为小图,并划分为训练集和验证集以用于模型调优。数据集下载地址:https://ma-competitions-bj4.obs.cn-north-4.myhuaweicloud.com/xian/2020/data.zipData.zip解压后目录结构说明如下:评价指标:平均交并比即MIOU,计算公式如下图:其中,k表示像素所属的类别,pij表示本属于类别i且被预测为类别j的像素数据,pii表示真正的数量,pij和pji分别表示假正和假负的数量。三、 数据分析数据概览与初步分析数据集共两张空间分辨率为0.8m的遥感影像图,尺寸大小分别是4039133106和3461229810。影像全图如下所示。初步观察分析可以从影像上分析出一下几点内容:a. 影像是大尺寸图片并不能直接输入神经网络进行训练,因此要选用合适的图像切割发方式将影像切割成合适尺寸的图像。影像的切割方式大致有三种选择:规则网格切割、滑动窗口切割以及随机切割。这里我选择的是滑动窗口对图像进行切割,以448为步长才切成512*512尺寸的图片;b. 有影像的区域并不是正矩形,周围存在黑边,黑边在影像中占据的面积并不小,因此对于切割后的数据去除掉全黑的图像;c. 两张影像在颜色上存在肉眼可见的色差,因此拟考虑在数据增强中添加色彩增强相关部分降低模型对色彩上的敏感程度;d. 仔细查看数据集可以发现影像中的区域以城市乡镇为主,说明影像中会存在路网密集区和路网稀疏区,这可能会导致标签中的类别不平衡。四、 数据增强数据增强的目的是为了增加样本的多样性,避免模型的过拟合。数据增强库很多,如:skimage、imgaug、opencv、Albumentations以及Augmentor等。在这里我选择的是Albumentations。在此次大赛中我所用到的数据增强有很多,我主要将其分为三大类:形态变换、颜色变换以及其他变换。形态变换主要是为了对图像上的结构信息进行调整与改变从而达到数据增广的目的。如下图左侧的为原始图像,右侧为经过形态变换(网格失真)后的图像,可以看到两张影像上的道路部分发生一些改变,右侧的道路部分有些细微的扭曲,而道路的扭曲对于真是的情况来说是可能存在的,可以避免让模型误认为细长的颜色相同的区域就是道路,在一定程度上增加了样本的多样性。颜色变换主要有随机调整色相饱和度、随机打乱通道顺序、RGB色彩偏移、随机调整亮度和对比度。其中随机打乱通道顺序避免不同库在读取图片时颜色通道不一致输入模型带来的影响,降低模型对色彩的依赖。随机调整亮度和对比度避免遥感影像因为天气影响带来的过曝或是欠曝导致影像亮度不一致的情况,在此加入是为了避免验证集上的遥感影像亮度对比度可能存在一定差别的因素。其他变换主要有随机添加高斯噪声、中值滤波、cutout等,主要是为了提高模型的泛化能力。五、 模型设计与训练基本结构基本结构选择了2015年在MICCAI会议上发表的Unet。Unet结构简单,大体上可以分为两个部分,分别是用于提取特征的编码区和对特征进行解码还原的解码器。编码器和解码器之间存在skip connnection。即在解码器部分会融合编码器中的部分输出,这样实际上是将多尺度特征融合在了一起,实现了网络对图像特征的多尺度特征识别。在本地实验也尝试过其他结构如:DeepLabV3、LinkNet、FPN等,但各有优缺点,如DeepLabV3训练效果比Unet略高,但是训练时间比Unet长,本人本地并没有好的GPU资源可以用于模型训练,而且大赛分配ModelArts资源宝贵,因此选择了训练速度快,精度较好的Unet作为基本结构。BackBone选取Unet用于特征提取的编码器部分结构较为简单,只有几层卷积网络顺次连接而成,为了提取更加丰富全面的特征我们可以更换编码器的结构用于提取更丰富的特征,常见的方法是从分类效果好的网络结构中选择合适的层作为backbone,以用于特征提取。在比赛过程中一共测试了8种backbone,包括resnet_34、resetnet50、se_resnet50、se_resnext50_32x4d、efficient-b0、efficient-b1、efficient-b2、efficient-b5。最终选择最好的efficient-b5作为backbone。Loss选取大赛的最终评价指标时miou,在二分类中iou等于miou,因此在Loss选取的时候选择了以iou作为优化方向的损失函数,Lovasz损失函数和Focal损失函数。添加Focal的主要目的是在数据裁切和增强部分并没有对样本的类别不均衡做处理,添加Focal是为了解决正负样本不均衡的问题。Dice+BCELoss主要是优化速度快,但是后期BCELoss会变得非常小,近似与只有DiceLoss,而且在线上线下差距大,测试结果不稳定。Lovasz+FocalLoss前期损失下降平缓,测试时较为稳定,线上线下差距小。优化器选取优化器选择的时Radam+Lookahead,即Ranger。此组合变相的提供了不需要调参的warmUp,在快速优化的同时保持了模型的稳定性,且对学习率不敏感。训练trick多尺度训练,对于每一batch,保持batch内的图片尺寸相同,不同batch间的尺寸存在区别,使用多个尺寸的图片对模型进行训练,提高泛化性。学习率调整,使用带重启的余弦退火最为学习率调整的方式,使得模型对探索较好的局部最优。六、 后处理膨胀预测膨胀预测的主要思想是每次预测仅仅保留图片的中心部分,其余地方舍弃,而舍 弃的地方通过滑动切割的思想也会成为其他预测图的中心区域,该方法避免因边界的 特征提取问题而产生拼接痕接,影响最终分割效果。阈值划定在二分类语义分割常用0.5作为前景和背景的分割阈值,某一点的置信度大于0.5就被划分为前景,反之则为背景。在此次比赛中通过测试重新确定分类阈值,最终测试结果为10-2下图左侧为正常0.5作为分割阈值,有图为以10-2作为分割阈值。七、 结果与参考文献最终提交结果为当模型,无TTA等测试时增强操作,模型参数为120M,单张图片(4048*6144)推理时间小于10s(2070super)。      参考文献:EfficientNet: Rethinking Model Scaling for Convolutional Neural NetworksU-Net: Convolutional Networks for Biomedical Image SegmentationFocal Loss for Dense Object Detection, Tsung-Yi Lin, 2018The Lovász-Softmax loss: A tractable surrogate for the optimization of the intersection-over-union measure in neural networksAlbumentations: Fast and Flexible Image Augmentationshttps://github.com/qubvel/segmentation_models.pytorchStochastic Gradient Descent with Warm RestartsLookahead Optimizer: k steps forward , 1 step backRadam:ON THE VARIANCE OF THE ADAPTIVE LEARNING RATE AND BEYOND      本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=712bcbe2-5535-435d-8866-cd0259df56f4     本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance     决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 2020西安人工智能大赛季军获奖方案分享-我的model怎么不work啊团队
    “华为云杯”2020人工智能创新应用大赛-季军方案本赛题任务是基于高分辨可见光遥感卫星影像,提取复杂场景的道路与街道网络信息,将影像的逐个像素进行前、背景分割,检测所有道路像素的对应区域。大赛官网source code数据分析训练集包含2景遥感影像,尺寸分别为40391×33106、34612×29810。测试集包含6张4048×6144尺寸的切分图片,每张测试图片的推理时间被要求在50s以内。训练集图片分辨率过大,需要自行切分,这里需要权衡合适的切分图像大小和步长。我们使用baseline默认的切图代码,图片尺寸为512,步长为256,训练验证集比例为10:1。由于训练图片周围存在黑边,切分后会出现全黑的图像,我们认为这不利于模型的训练,因此通过筛选再去除全黑的图像,最后用作训练和验证的样本数为23553和2269。对标签进行可视化分析,发现背景像素占标签的大部分面积。经过粗略的统计,得到前景和背景的像素占比约为12.2%和87.8%,像素类别极度不平衡,故我们在loss中加入权重(3: 1),以减轻类别不平衡带来的影响。数据增强网络模型采用了Efficentnet作为backbone,优化器是Adam,损失函数为BCE。后处理测试时增强策略模型融合策略忽略边缘预测因为每张图像块的边缘区域缺少上下文信息,会导致周边预测结果精度较低,所以我们采用忽略边缘来预测结果。模型测试时增强模型融合忽略边缘预测成绩Efficentnet-b30.8203Efficentnet-b40.8225Efficentnet-b3√0.8234Efficentnet-b4√0.8254Efficentnet-b3+b4√√0.8325Efficentnet-b3+b4√√√0.8377比赛总结因为时间等因素,我们团队没有花过多的时间去探讨模型的优化,所以模型仍还有很大改进的空间,包括利用道路的边缘信息,采用更适合遥感图像语义分割的loss函数,以及一些形态学操作等。本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=3182dfbe-244f-4aa0-9ed7-de2f6f3ac810本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 2020西安人工智能大赛季军获奖团队分享-不配拥有姓名团队
    前言我们是不配拥有姓名团队,获得决赛第六名,很高兴分享我们的解决方案。1赛题理解1.1任务基于高分辨可见光遥感卫星影像,提取复杂场景的道路与街道网络信息1.2特点:原图比较大,需要自行切分前景(道路)占比比较小1.3数据探索比较宽的道路的标注,和主观识别的道路比较一致。过河道路,认为非路网信息。对于有树木的道路,标注有部分不一致的情况有些比较窄的道路有偏移,有些可能是道路的位置没标注2解决方案2.1 数据预处理裁剪策略window size:1024 × 1024step size: 1024 - 128 = 896计算道路占比计算非全黑区域占比数据过滤策略策略1:道路占比大于0,非全黑区域占比大于0策略2:382 道路占比大于0.09,有效区域占比大于0.3182 道路占比大于0,有效区域占比大于0.32.2 模型结构方案中使用FPN和UNet,backbone均为Efficientnet-B52.3 数据增强CropNonEmptyMaskIfExists:裁剪512×512大小子图,并确保里面有道路信息Normalize:图片数据除以2552.4 训练策略单阶段训练策略初始权重:imagenet训练的EfficientNet-B5权重Loss:1 BCELoss + 1 DiceLoss优化器:SGD学习率调度:使用可重启的余弦退火学习率策略两阶段训练策略1.第一阶段初始权重:imagenet训练的EfficientNet-B5权重Loss:BCELoss优化器:SGD学习率调度:steplr2.第二阶段初始权重:第一阶段训练出的最优模型Loss:LovaszHinge优化器:SGD学习率调度:steplr2.5 模型推理膨胀预测:window size: 1024 × 1024step size: 5121024 × 1024区域,保留中心512 × 512区域内容2.6 后处理对于图像中全黑区域,pred设置为1(非道路)本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=550cd8af-e871-4c7e-a9a9-bd47f99b80a6本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 2020西安人工智能大赛优胜奖获奖团队分享-0.4441警告 团队
    前言大家好,我们是“0.4441警告”,很高兴在论坛和大家交流“华为云杯”2020人工智能创新应用大赛的比赛心得。我们团队的三名成员都来自西安交通大学电信学部信通学院的三名研究生。本次比赛的任务是对遥感图像进行道路的语义分割,下面是我们将从网络框架、数据处理、模型训练、实验结果四个方面阐述我们的解决方案。一、网络框架介绍本次比赛中,我们队伍选用的网络为Unet的变体,主要改动有两个方面:backbone也即encoder部分使用了在ImageNet上预训练的resnet34网络,decoder部分沿用原unet的部分;bridge部分增加了输入和输出通道均为512的残差+BN+ReLU模块。二、数据预处理本次比赛中,我们的数据处理部分主要也是分为两部分,具体如下:使用大赛baseline中cut_data.py文件将两张大图进行有重叠的剪裁,得到xxx张1024×1024的小图,stride(128),也即重叠1/8;把1中得到的全黑的图片(无目标)以及全白的标签(无目标)删除,接着对标签进行反转,即将路的像素值变为255 ,背景像素值变为0。这样做的目的是:之后进行旋转和平移等图像增强时,不会让标签旋转而引入噪声(原黑色部分为道路)。三、训练策略训练方面我们主要采用主要从数据增强和模型调优两个方面说明:1. 数据增强本次比赛中我们使用了多种数据增强方式,主要有以下几种:高斯模糊我们使用了模糊核大小为11的高斯模糊,以0.5的概率对图像进行模糊处理;Gamma变换我们观察发现,由于光照等因素的影响,不同遥感图像之间的对比度存在一定的差异,因此我们采用max(0.65, random(0,1)*2)的方式,以0.5为概率对图像进行gamma变换,结果发现此增强手段对模型性能提升很有帮助;色彩变换对图像的HSV通道进行一定程度的扰动;垂直、水平翻转,90度旋转为了适应遥感图像中道路目标具有旋转不变性,因此有必要进行一定的旋转和翻转变换;归一化处理最后,我们将通过增强的图像归一化到-1.6 - 1.6的范围之间,这样处理可使后面训练更加便捷。2. 模型训练此次比赛我们的训练策略主要分为两个阶段,分别时粗训练和最优模型微调两部分,详细方式如下:粗训练训练集:前文第二部分数据预处理所得到的1789张训练图片验证集:前文第二部分数据预处理所得到的386张训练图片训练设备:华为云,v100Batch_size: 16训练epoch:80初始学习率和更迭策略:1e-3,每5epoch衰减为原来的0.9倍优化器:AdamLoss:0.5dice loss + 0.5bce loss训练结果选择:根据训练结果大致选择epoch 60左右的结果,根据规律在验证集和训练集loss相同的附近的局部最优点为最佳结果。最优模型微调训练集:前文第二部分数据预处理所得到训练集+验证集图片,一共1789+386=2175张验证集:前文第二部分数据预处理所得到的386张验证集训练设备:本地,2080tiBatch_size: 4训练epoch:10初始学习率和更迭策略:1e-5,每5epoch衰减为原来的0.9倍优化器:AdamLoss:0.5dice loss + 0.5bce loss训练结果选择:根据规律在验证集和训练集loss相同的附近的局部最优点为最佳结果。四、测试增强本次比赛中,为了提高模型推理的效果,我们还进行了测试增强策略,主要包括以下三个部分,具体如下:滑动步长选择由于推理文件中图片也需要进行裁剪,此处我们选择使用896步长来进行图片的裁剪。使用原图的8种不同变换进行推理此处将原图与其旋转90°的图进行翻转,镜像等操作得到一共8种图片,使用同一模型进行预测,得到8组结果;结果的阈值选择对于前文得到的8组结果,我们首先对图片进行sigmoid归一化;然后对于滑动中重叠的图片部分取每个像素点的最大值作为该点的值;最后使用阈值1进行二值化处理。本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=8fe51502-0373-4acf-ab89-e9efd53c0b76本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 2020西安人工智能大赛季军分享_道路分割-天呐真的吗团队
    方案介绍赛题介绍这是一个道路分割的任务,基于高分辨可见光遥感卫星影像,提取复杂场景的道路与街道网络信息,将影像的逐个像素进行前、背景分割,检测出道路所在区域,下图是数据集局部区域的展示。训练集包含两张大尺寸的可见光遥感图像及对应的标签图。测试集不可见,包含6张4048x6144的图像。数据端因为所给训练集是大尺寸的图像,我们选择重叠滑窗的切割方式,将原图切成小图。窗口大小是1024x1024,步长为896。滑窗时过滤掉全黑的无效图像。然后将数据按8:2的比例随机划分为训练集和验证集。我们使用在线数据增强的策略,包括翻转、旋转和尺度缩放。网络结构低分辨的特征包含丰富的语义信息,但由于下采样操作,导致它丢失了部分位置信息。而高分辨率的特征相反,它的语义信息相对较少,但位置信息保留较多,定位相对准确,有利于检测小目标。由于道路大多都是长且窄的形状,就要求模型必须定位准确,也就是说道路的检测依赖于高分辨率的特征。现有的大多数网络都是由高分辨率特征下采样到低分辨率特征,再从低分辨率特征中恢复高分辨率特征,但是丢失的位置信息不能完全恢复。而HRNet在整个阶段都保持高分辨率的特征,有利于道路的检测。此外,HRNet的不同分支产生不同分辨率的特征,这些特征之间交互获取信息,最后得到包含多尺度信息的高分辨率特征。因此选择HRNet作为我们backbone。此外,我们认为道路分割不依赖于非常高级的语义信息,因此就不需要非常深的网络,而且在训练数据量有限的情况下,大网络有庞大的参数量,会有过拟合的风险。因此我们选择的是HRNet系列中的小模型:HRNet18。分割头选择OCR注意力模块,利用目标上下文增强特征表示。整个网络结构小,训练速度和推理速度都较快。在实验中,发现HRNet18在速度和精度上都优于hrnet32、hrnet48和deeplabv3+(resnest50)损失函数直接使用交叉熵损失会存在以下的问题。首先每幅图像中道路区域占比少,导致前、背景样本极不平衡。此外,如果逐像素点计算损失然后累加的话,这些简单的背景样本占比大,可能会淹没loss,并且这些简单背景样本对于网络增益较少。因此我们在交叉熵损失的基础上改进。包含三点:增加困难样本的权重,降低简单样本的权重,增加直接优化IOU的损失项。我们将第k个像素点的交叉熵损失记为CEk,首先,我们认为位于边缘附近的样本点属于困难样本,所选中的边缘区域如下图的白色区域所示,因此我们增加这些区域样本损失的权重。这里E就代表所选中的边缘区域,w是权值。此外,针对大量的简单背景样本,我们采用OHEM的策略,损失值小于阈值的样本点不参与反向传播。最终的损失函数就是改进后的交叉熵损失+lovasz_loss训练策略推理与后处理原始的预测结果有明显的漏检,中间区域没有检测出道路。我们观察了预测为道路的概率热图,越亮表示预测为道路的概率越大,越暗表示预测为道路的概率越小。因此越亮或者越暗表示网络对该区域的预测结果置信度高。我们发现对于漏检的区域,概率热图不亮不暗,也就是说网络对该区域的预测结果不自信,并且预测为道路的概率小于0.5,导致了漏检。因此我们采用了一个简单有效的方法,降低预测为前景类概率的阈值,降低漏检率。并且由于网络对背景区域预测结果的置信度非常高,因此在一定范围内降低阈值,在减少漏检的同时,并不会带来明显的过检。实验结果总结代码:https://github.com/reacher-l/2020-ai-road-segmentation本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=b7e8a547-7629-46c1-abb2-91347a46969b本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 2020人工智能大赛优胜奖经验分享-道路识别-风无极团队
    一、问题分析类型:语义分割识别物体:卫星遥感影像,道路识别二、解决方案1、模型:Hrnetv2-482、策略1)数据裁切:滑动窗口(512*512),overlab=1282)数据增强:随机翻转、旋转、缩放等3)loss:二分类交叉熵4)优化函数:随机梯度下降5)后处理:TTA(水平和垂直翻转)三、成果数据裁切后,大约有8000张图片,2-8分成训练集和验证集初赛得分0.8360本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=ebf691a6-f0b2-4a74-acdd-6fa05864b682本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 2020西安人工智能大赛TOP7获奖经验丰富分享-第一次做分割团队
    大家好,我们是“第一次做分割”团队,很高兴在论坛和大家交流“华为云杯”2020人工智能创新应用大赛的比赛心得。本次比赛的任务是对遥感图像进行道路的语义分割,下面是我们将从数据分析,方案设计,实验结果三个方面阐述我们的解决方案。0、数据分析本次比赛提供了2张高分辨率影像作为训练集(40391×33106、34612×29810),6张遥感切片作为测试集(4048x6144)。通过对训练数据进行分析,可以发现数据集存在以下三个特点:1. 类别不平衡;2. 标签存在噪声;3. 训练数据量有限。针对上述问题,我们进行我们的方案设计,整体方案设计分为:数据预处理,特征提取,后处理和模型融合四部分。1、数据预处理数据切割:切割大小为1024的patch进行训练,步长为992。预处理:策略一:(无清洗+CutMix+数据增强)使用原始切割图片,结合CutMix,多尺度训练,随机翻转,随机裁剪数据增强策略二:(数据清洗+数据增强)将原始切割图片中无效区域占比超过75%的图片删除,结合多尺度训练,随机翻转,随机裁剪数据增强2、特征提取模型选择:我们选择了DeeplabV3+和OCRNet作为特征提取的模型。DeeplabV3+利用ASPP提取多尺度特征,并且采用U-like的逐步上采样方式预测结果,使得分割结果更精细;OCRNet利用上下文信息强化同一类别之间像素的贡献,且采用HRNet提取分辨率更大的特征图进行分割。训练细节:DeeplabV3+: Cityscapes预训练模型初始化,训练30k/40k,学习率0.005(head部分0.05),warm up 2000 iters,,CE weight设为[2.0, 1.0]。OCRNet: Cityscapes预训练模型初始化,训练20k,学习率0.005(head部分0.05),warm up 500 iters,CE weight设为[2.0, 1.0]。3、后处理采用膨胀预测替代普通预测,缓解拼接效应,并提升切片边缘预测质量。采用偏差预测预测替代平衡阈值预测:平衡阈值预测:像素值类别=argmax{logit0, logit1}偏差阈值预测:像素值类别=argmax{logit0, logit1-bias}4、模型融合使用3个DeeplabV3+模型与一个OCRNet模型进行融合,不使用TTA。5、实验结果迭代实验消融实验本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=03b70583-e94c-417d-ae71-4ec2be1e7976本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 2020西安人工智能大赛优胜奖经验分享-遥感图像道路提取-怎央打团队
    我们是怎央打团队,以下是对本次大赛的一些心得的分享。我们从数据切分方式、网络选择、训练的Tricks、后处理等方面来介绍我们所使用的方法。一、数据切分方式我们本次参赛的训练过程包含两个阶段(后面会详细介绍),每个阶段使用了不同的数据划分方式。训练阶段一将图像划分为大小为1024x1024、重叠率为1/8的图像块(与baseline中的cut_data.py一致)。训练阶段二将图像划分为大小1024x1024且无重叠的图像块。切分结束后,对两个数据集都进行了数据清洗,去掉image图像为全黑(无图像信息)以及label图像为全白(无道路)的图像对。然后将切割代码会产生的个别label错误的图像对手动删除, 这样的问题在切分后的数据集中一般会出现小于十组图像对。二、网络选择本次参赛使用的网络是LinkNet34, 将LinkNet网络自身的backbone由ResNet18替换为ResNet34,使用的Loss是BCE+DICE一比一的直接加和。经过比赛期间的测试我们发现不同的网络对于结果的影响不会到很明显的程度,因此在网络结构本身的选择上其实在比赛早期可以不用花太多功夫。提分重点还是在数据增强、后处理和训练技巧上。三、训练的Tricks数据增强使用了①亮度对比度随机变换(albumentations默认的参数设置);②随机尺度的高斯模糊(尺度3-7随机);③HSV抖动;④物理增强(平移、尺度缩放、旋转±15°、随机水平垂直翻转、随机旋转90°)。数据增强之后将输入网络的图像像素值归一化到±1.6(借鉴自D-LinkNet)。采取了两步训练的方式,第一阶段和第二阶段的训练数据不同,数据准备如第一部分内容中所述。第一阶段使用imagenet预训练的权重做初始化,第二阶段使用第一阶段的训练结果作为初始化。优化器使用Adam,在训练阶段1初始化学习率为2e-4,衰减周期为5个epoch,衰减系数为0.9;在训练阶段2初始化学习率为1e-5,衰减周期为1个epoch,衰减系数为0.9。四、后处理在模型预测阶段使用了8张预测结果来整合最终结果(原图、水平翻转、垂直翻转、水平+垂直翻转,以及上述4张图分别逆时针旋转90°得到的图)。同时采用了膨胀预测的方法。谢谢大家!本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=2b06e091-140e-4e2e-b39a-8ad9bfa80f16本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 【2020华为云人工智能大赛·西安-获奖团队分享集锦】
    一、问题分析类型:语义分割识别物体:卫星遥感影像,道路识别二、解决方案1、模型:Hrnetv2-482、策略1)数据裁切:滑动窗口(512*512),overlab=1282)数据增强:随机翻转、旋转、缩放等3)loss:二分类交叉熵4)优化函数:随机梯度下降5)后处理:TTA(水平和垂直翻转)三、成果数据裁切后,大约有8000张图片,2-8分成训练集和验证集初赛得分0.8360本文首发  AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=ebf691a6-f0b2-4a74-acdd-6fa05864b682本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
  • [参赛经验分享] 【2020华为云人工智能大赛·西安-获奖团队分享集锦】
    【2020华为云人工智能大赛·西安-获奖团队分享集锦】冠军-西南交通大学VGE团队:https://developer.huaweicloud.com/hero/thread-99413-1-1.html亚军-我要拿十万团队:https://developer.huaweicloud.com/hero/thread-99422-1-1.html亚军-HXForevertuan团队:https://developer.huaweicloud.com/hero/thread-99437-1-1.html季军-我的model怎么不work啊团队:https://developer.huaweicloud.com/hero/thread-99477-1-1.html季军-不配拥有姓名团队:https://developer.huaweicloud.com/hero/thread-99480-1-1.html优胜奖-0.4441警告 团队:https://developer.huaweicloud.com/hero/thread-99481-1-1.html季军-天呐真的吗团队:https://developer.huaweicloud.com/hero/forum.php?mod=viewthread&tid=99839TOP7-第一次做分割团队:https://developer.huaweicloud.com/hero/forum.php?mod=viewthread&tid=99842优胜奖-怎央打团队:https://developer.huaweicloud.com/hero/forum.php?mod=viewthread&tid=99843
  • [参赛经验分享] 上海理工大应用开发设计大赛—参赛带给我的收获
    首先,非常感谢这次大赛!在七月,我大一暑假的时候,通过同学邀请,了解到了这个比赛。它一下子吸引了我的眼球。组队参加一个比赛,最后竟有可能让APP实现于welink上!这对于经验很少的我来说,这是极大的诱惑。毕竟从小到大,都想拥有一款属于自己的APP,或者一个网站……这个比赛第一时间给我最大的兴趣就是有可能自己的想法成为事实,让身边的人都能去使用这款app。通过招人,组队等,我们终于成为一个十人团队。并且为它取了一个有意义的名字。最开始,我们要做一份策划书。大家集思广益,学生们的需求是什么呢?我们最想要什么呢?什么是我们可以做到的呢?什么功能是不鸡肋,又是刚需的呢?最终我们敲定了主题。通过学习华为云的课程,了解到很多知识。Appcube,Appengine,Python等。大一学过数据库,稍稍了解了建表建查询做宏等,所以看视频的时候一边加深大一所学的印象,一边又学到了很多新的知识。这种低代码的开发方式,的确很适合我们这些新手。华为云提供的插件也很全面,基本满足了我们的需求。有幸听了几次董老师的直播,感觉学习很多。也感谢华为技术指导老师,虽然我很小白很简单的网络查错都不会,但是他依旧十分耐心一步步教我,还看我的共享屏幕演示。谢谢老师们的付出!做策划书时,由于我们都是刚大一结束,来自不同学院,没有什么经验,我们整个策划书的框架都是通过网上找的,然后分配任务等等。我正好学习了管理学原理,就做了SWOT分析和简单的数据库设计和分析。还有同学负责做计划与目标、做问卷、做APP的UI等等……最终得知我们通过了初赛,我们真的很惊讶也很欣喜,十分感谢老师们对我们的想法的认可!我们也非常希望我们的电费缴费系统可以出现在Welink中!这或许是比拿奖更令人兴奋的事情吧,就是看到自己的一点一滴被更多人用到,说一句:确实方便多了!这就是做这件事最大的意义了吧。如今决赛阶段,我们还在努力做appcube。虽然我们所学的计算机知识很少,很多不会,但是我们都报以一颗赤诚之心,希望尽自己最大努力把最好的作品展现出来!总结来说,对于我个人的收获就是:一方面收获了真挚的友谊,认识了几个也很努力的朋友。一方面学习到了很多知识,看电梯那个教学的文档,一步步跟着做,每成功一步都是极为欣喜的事情!以及亲手去干事情,仿佛自己成为了一个上班族,一个开发人员,这段过程真是太有意思了!希望我们的作品最终能在welink上被更多上理校友用到!
  • [参赛经验分享] 2020中国高校计算机大赛·华为云大数据挑战赛-周周星分享(第二期)
    一、周周星分享——无能的万金油大家好,我们是“无能的万金油”团队,很荣幸获得了本次的周周星。下面是我们对于复赛数据的部分理解和思路:1、比赛进行到这里,对于训练集和测试集的清洗就不说什么了,大家也意识到其实上分是一件越来越玄学的事情,在初赛表现好的模型,复赛却不一定好原因也很简单,每条路径的不确定影响因素太多了。。 天气、疫情、塞港等突发事件,导致运船并不会按正常路线行驶,同时又由于人为录入的原因,路由信息也并不完全准确,有的船只的实际停靠港口也不一致。在就是test是截断的数据,就更导致trace可能写的 A-B-C 但实际是 A-C 甚至 A-C-D,  而你拿到的只有C-D或者,-C的部分数据,这就更加大了预测难度。2、针对上面的情况,我们其实能够知道,做的特征并不一定越全越好,而且有时候也不一定(强特)就好,因为强特代表训练集的平均特征,但是拿到的数据其实分布是各种各样的。反而“弱”一点的特征,少部分特征的泛化能力特强。3、对于A榜,我觉得没必要太纠结分数,因为数据分布太不一致了,更多的应该表现在模型的泛化能力上,测试下各个特征组合预测的时间分布特点,不然B榜很容易翻车。4、最后说下数据训练,找相似路由匹配的思路是个方向,但是这方面要细化才可能达到好的效果,需要一点点测试。5、如果单纯追求分数的话,完全可以采用探榜的方式,我们其实很大一部分也是探榜提升来的,但是说实话对B榜预测没有实际意义,最多用来做验证,所以后期不会再采取这样的尝试。大赛赛题:https://competition.huaweicloud.com/information/1000037843/introduction
总条数:1810 到第
上滑加载中