2021高通人工智能大赛冠军方案解读-农作物病虫害识别

极市平台

共 4583字,需浏览 10分钟

 ·

2021-10-13 12:31

↑ 点击蓝字 关注极市平台

作者丨宁欣
编辑丨极市平台

极市导读

 

冠军方案是由威富视界有限公司&中国科学院半导体研究所高速电路与神经网络实验室团队提出,选用了EfficientNet作为主体框架构建的农作物病虫害识别模型。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

高通人工智能应用创新大赛介绍 2021高通人工智能应用创新大赛由高通技术公司、高通创投主办,极视角、小米、中科创达、CSDN共同协办,TensorFlow Lite作为开源技术合作伙伴。

本届大赛将融合终端侧人工智能(AI)和边缘云技术,携手AI产业链合作伙伴为专注于Android应用程序开发、智能边缘的移动开发者及行业用户提供展示创意和成果的平台,推动5G时代下人工智能技术赋能的众多创新应用。

赛程中使用的高通神经网络处理引擎SDK将为开发者提供端到端的解决方案,使得算法模型可以在任何搭载高通骁龙移动平台的设备上运行,这不仅能够简化、加速AI应用程序的开发,还能更好地支持创新AI应用的落地。

大赛赛题包括两个赛道,赛道1是应用赛道,赛道2属于创新赛道,分别是表情识别、农作物病虫害识别、垃圾分类识别和手绘图像识别。

团队介绍

团队来自深圳市威富视界有限公司&中国科学院半导体研究所高速电路与神经网络实验室,成员分别为:宁欣、石园、闫震、张倩、孙琳钧,排名不分先后。



任务介绍 — 农作物病虫害识别

粮食问题一直是全球重点关注议题,而防范农作物病虫疾病是提升粮食产量的重要手段,同时也可有效避免农业经济损失。本赛题使用手机摄像头,拍摄农作物病虫害图片,通过AI手段诊断农作物病虫害疾病类别,尽早发现危害,对症下药,从而有效减少经济损失。

参赛者需要根据图片给出对应的类别情况,其类别为大葱灰霉病(onion_gray)、大葱软腐病(onion_soft)、大葱霜霉病(onion_downy)、大葱锈病(onion_rust)、大葱疫病(onion_rphy)、大葱紫斑病(onion_purple)、姜斑点病(ginger_spot)、姜根腐病(ginger_rot)等54种类别。数据集是由摄像头采集的现场场景数据,训练数据集包括11740张,测试数据集包括4997张。

评审标准

本赛道分为初赛阶段和决赛阶段。初赛阶段是进行线上算法开发,并使用高通SNPE工具转换得出算法得分;决赛阶段是通过演示算法应用视频和答辩PPT,评委依据规则进行评分,初赛成绩和决赛成绩各占40%和60%。

初赛得分采取算法精度、算法性能值综合得分的形式,具体如下:



说明:算法精度取自算法模型标准测试成绩,算法性能值取自模型使用SNPE转换后的模型,在小米(含高通骁龙888芯片)手机DSP上跑出的性能值。

决赛评审规则具体如下:



威富视界&中国科学院半导体研究所团队荣获第一



赛题特点

1、数据分布差异大

数据集图片尺寸不一,相差较大。一方面,由于计算资源和算法性能的限制,大尺寸的图像不能作为网络的输入,而单纯将原图像缩放到小图会使得大图丢失大量细节;另一方面,训练数据总共有11740张,类别54类,平均每类217张图像,同一种类别包含不同植物,并且背景不一,这就给分类器造成巨大的挑战。

2、模型量化需选择SNPE

骁龙(SnapDragon)神经处理引擎SNPE是一个针对高通骁龙加速深层神经网络的运行时软件。SNPE支持Caffe、Caffe2、ONNX和Tensor Flow模型,训练的模型将转换为可加载到SNPE运行时的DLC文件。然后使用此DLC文件使用其中一个Snapdragon加速计算核心执行前向推断传递。

3、算法需落地App应用

我们一方面需要对算法精度和性能进行提升;另一方面我们要做好算法落地App的应用,保证App的核心功能可用,逻辑流程顺畅,架构合理,具备良好的可用性、易用性、稳定性、安全性、可运维性等特点。同时针对该赛题需从产品角度考虑商业价值、创新价值,使其与行业成熟方案相比有差异性、高价值创意,并具备广阔的市场和商业前景。

主要工作

算法研发:

1、主体框架选择

(1)精度方面:目前基于深度学习的分类网络框架常用的有Swin Transformer与EfficientNet,两者在精度方面处于相当水平,与其他算法相比具有竞争性,因此我们以两者为初定方案。比赛要求模型首先使用SNPE转换,然后在小米(含高通骁龙888芯片)手机DSP上运行,我们算法框架选用的是pytorch,模型转换SNPE之前,需将其转换为onnx格式,经实验,Swin Transform网络中torch.roll不支持onnx转换,因此我们选用了EfficientNet。

(2)速度方面:比赛需要考虑精度和速度,经多次实验,在权衡两者的情况下,我们最终选取EfficientNet-B0作为Baseline。

2、模型泛化

起初我们考虑到算法性能,我们仅尝试EffficientNet-B0进行模型训练。实验结果显示,模型分类效果不好。经分析,我们将上述问题归纳为以下两个方面的原因:

(1)EffficientNet-B0无论是网络宽度和网络深度相对都较小,学习能力相对较弱。同一种病症在不同植物上表现以及所处不同背景,容易对分类器造成混淆,从而产生分类错误。

(2)另一方面,训练数据总共有11740张,类别54类,平均每类217张图像,同一种类别包含不同植物,并且背景不一,使得不同类别的样本较少,模型学习共性特征较困难,造成模型泛化能力较差。

根据上述问题,我们进行了一些尝试:

首先,我们采用了粘贴、随机裁剪、mosaic、仿射变换、颜色空间转换等操作对样本进行增强,缓解过拟合问题,提高模型的泛化能力,增强模型的分类精度。

其次,从优化器层面来讲,我们尝试了SAM优化器。SAM优化器可使损失值和损失锐度同时最小化,并可以改善各种基准数据集(例如CIFAR-{10、100},ImageNet,微调任务)和模型的模型泛化能力,从而为多个应用程序提供了最新的性能。另外, SAM优化器具有固有地提供了标签噪声的鲁棒性,与专门针对噪声标签学习的最新称称所提供的不相上下。



3、模型量化

模型量化采用高通SNPE开发工具将原始pytorch模型转换为DLC模型,同时对转换模型进行8位定位量化,提升模型在骁龙处理器上的运行性能。SNPE工作流程具体如下:
(1)将网路模型转换为可由SNPE加载的DLC文件;
(2)可选择量化DLC文件以在Hexagon DSP上运行;
(3)准备模型的输入数据;
(4)使用SNPE运行时加载并执行模型。

4、实验结果



应用落地

1、市场调研:

(1)对智慧农业的概念、政策和市场规模进行了解与研究



(2)了解智慧农业中下游产业链的关系及构成:

上游:种子、农药、化肥、农机、饲料等 专业性强,通过高科技手段研发出产量更高、效果更优的产前原料

中游:种植、防治、采摘 大数据生产环境监测、大数据病虫害防治、无人机植保、精细化养殖、农业操作自动化、农作物产量预测等

下游:农产品加工、流通等 农村电商、冷链物流为农产品打开市场,通过大数据等先进技术处理分析可进一步了解购买群体,提供定向销售服务

(3)寻找适合我们的市场突破点:

在整个智慧农业的产业链中,上游需要较强的专业性、下游需要较多的资金支持,这并不适合一个高科企业切入,因此我们从中游来寻找机会,作为一个拥有多年人工智能经验的企业,病虫害识别无疑是一个很好的切入点,目前市场上做病虫害识别的企业有几十家,做的较好的有“识农”、“慧植农当家”等几款产品,但受限于技术水平、市场推广等因素,导致体量都不大,因此我们完全具备竞争优势。



(4)产品的实用价值

  • 农作物病虫害诊断与治疗

    通过病虫害识别、农药推荐和专家指导等功能,帮助用户解决农作物病虫害问题

  • 农作物科学种植与销售渠道

    以病虫害识别为切入点,逐步加入从科学种植到销售全流程管理相关功能,让用户在本平台享受一条龙服务,赚取更多的利益

2、产品设计与研发

通过安卓手机应用进行算法和产品落地。

(1)产品第一阶段主要功能有:

定义自己的农作物:在首页,用户可以编辑属于自己的农作物,方便用户快速识别农作物的病虫害。

农药推荐、专家指导:识别出病虫害之后,自动为用户推荐适合的农药产品,并提供24小时在线的一对一专家指导。

优选电商服务:通过电子商城的方式,为用户提供农药、种子、肥料等农耕产品。

本地天气信息:为用户提供本地天气信息,包括温度、湿度、风力、雨雪等。特殊天气将会为提醒用户做应急准备。

(2)产品界面展示



参考文献

1.https://challenge.cvmart.net/race/4/base

2.Liu Z , Lin Y , Cao Y , et al. Swin Transformer: Hierarchical Vision Transformer using Shifted Windows[J]. 2021.

3.https://github.com/microsoft/Swin-Transformer

4.Tan M , Le Q V . EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks[J]. 2019.

5.https://github.com/qubvel/efficientnet

6.Pierre F, Ariel K, Hossein M, Behnam N; Sharpness-Aware Minimization for Efficiently Improving Generalization[2020].

7.https://blog.csdn.net/weixin_38498942/article/details/105819685

如果觉得有用,就请分享到朋友圈吧!

△点击卡片关注极市平台,获取最新CV干货

公众号后台回复“CVPR21检测”获取CVPR2021目标检测论文下载~


极市干货
神经网络:视觉神经网络模型优秀开源工作:timm库使用方法和最新代码解读
技术综述:综述:神经网络中 Normalization 的发展历程CNN轻量化模型及其设计原则综述
算法技巧(trick):8点PyTorch提速技巧汇总图像分类算法优化技巧


CV技术社群邀请函 #

△长按添加极市小助手
添加极市小助手微信(ID : cvmart4)

备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳)


即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群


每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~



觉得有用麻烦给个在看啦~  
浏览 50
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报