天枢(Learth)第三讲:模型训练实战篇之“一起来数羊”

按照惯例,我们先回顾一下天枢前两讲文章内容,在天枢(第一讲)里也讲到了AI计算机视觉技术在图像处理领域常用的四种算法:图像分类、目标检测(识别)、语义分割、实例分割。基于这几种算法,天枢平台结合遥感行业现状需求,打造出了以下三个功能板块:

基于这三个板块,其实我们就能解决很多遥感甚至非遥感业务场景下的解译需求了,但天枢平台本着“授人以渔”的理念,将模型训练的主动权和模型资产管理权交到用户手中,所以作为天枢平台最大亮点功能的模型训练,究竟能给我们创造出什么样的价值?

今天主要给大家带来的是“目标识别——草原数羊”的模型训练案例分享,对模型训练还不够了解的朋友,建议先移步到天枢(第二讲),熟知一下模型训练流程以及影响模型训练的主要因素。
平台中目标识别模型训练使用的网络框架是百度飞桨的PaddleDetection开发套件,其模块化地实现了多种主流目标检测算法,提供了丰富的数据增强策略、网络模块组件(如骨干网络)、损失函数等,并集成了模型压缩和跨平台高性能部署能力。


本篇文章将会按照“明确需求→样本制作(算量)→服务器搭建(算力)→天枢平台训练(算法)”的四大步贯穿全文,详细讲述用天枢平台训练模型的整体思路。
一、明确需求
模型训练嘛,老观众应该都知道要怎么做了,先要明确需求对吧,而明确需求也需要两步走:
1.明确大类(地物分割、变化检测、目标识别中哪一种?)——目标识别
2.明确小类(识别哪种地物或哪些组合地物?)——羊
二、样本制作
再接着干嘛? ....... 没错,准备样本。(关于样本的制备原则也叨叨了很多回了,这里不再赘述。)
挺有意思的是,这次我们仅是拿着大疆无人机在草原上追着羊群,跟拍了十几张照片,然后回来挑选其中5张有代表性的照片用作训练集和测试集,通过一人半天时间的标注,即完成了全部样本集的制作。从数据采集到模型出炉不到一天时间,可以堪称是有史以来“最廉价”的模型了吧。

训练集测试集划分如下:

说明 : 训练集 是用于模型训练的数据集。
测试集 是用于模型结果测试的数据集,不参与训练。
一般来说,测试集需要和训练集保持有很强的特征相似性,才能取得好的得分。但这里还是刻意挑选了Y3、Y5两组稍微复杂的测试集,来进一步测验一下模型的泛化能力。
三、服务器搭建
软硬件环境我们也已提前搭建好,相关配置如下:

四、天枢平台训练
好,到了这里,万事俱备,只欠“天枢”。
首先,打开天枢平台,输入影像和矢量标注。(直接是输入整张大图哦~)

接着,创建训练任务,配置训练参数,提交训练。

最后,训练结束,利用3组测试集来分别测试模型好坏。

我们再来回顾一下整个模型训练的效率和模型精度统计

测试结论
从结果可以看出,在与训练集特征比较接近的Y4测试集上模型效果非常佳,准召率均能达到94%以上;而在有密集羊群或是倾斜角度拍摄照片的Y3、Y5测试集上,模型没有办法很好的区分聚集在一块的羊群,以及会错误的识别到一些裸岩、巨石等白色物体,这也和我们的标注方式、样本量不足、样本的特征覆盖度有一定的关系。
但是,不需要任何编程基础,利用两张图片即可训练出如此高精度的模型,足以看出天枢平台所依赖的国产的百度AI算法在图像识别领域的可信赖之处。
由于本次样本数量的有限,其实模型性能还有上升的空间,我们可以继续增加样本,调整训练超参数,最终总会收获到一个非常完美的模型,更关键 关键 关键的是,模型的使用权完全归属用户本人所有。
部分测试效果图展示:

误检截图:

漏检截图:

结语
“数羊”其实只是我们万千世界中一个很小的事件缩影,现实生活中还有很多很小很不起眼的工作,比如数汽车、数井盖、数电力塔......
对于这些传统的密集型劳动工作,如果还是一如既往的通过人工去解决显然不符合如今科技飞速发展的今天,这就要求我们人类必须要提高自身的思维模式,而AI思维的宗旨即是解放人类的双手,让人类有时间去探索更多有意义的事情。
任正非说过:“人类最终是要走向人工智能的,在华为20秒一部手机的全自动化流水线上,你如果不重视教育和思维,文化素质不够,在未来可能连做工人的机会都不存在。”