如何训练出优秀的图像分类模型?飞桨图像分类套件 PaddleClas 来助力。
今天咱们来聊聊计算机视觉领域最核心的技术之一——图像分类。顾名思义图像分类是指根据图像信息把不同类别的图像自动区分开来,并能指出图像类别信息。如图 1 所示,当前图像分类技术有着非常广泛的应用场景。
图 1 图像分类技术应用
此外图像分类技术在计算机视觉各类任务中堪称「基石」,这和人类的视觉方面的技能树点亮顺序很像。婴儿在能看清周围事物后,父母除了教他认识爸爸妈妈之外,还会通过画本告诉他,这是花,这是草,这是车,这是飞机等等,这其实就是训练图像分类的过程。可以说图像分类是人类最先学到的一门本领。而在此基础之上,才会继续学会指出什么物体在什么位置(目标检测),以及如何去接触物体(图像分割)等等。如果您仔细分析下计算机视觉的其它技术,您会发现,也确实是如此。
对于其它视觉任务,像图像目标检测、图像分割、图像检索、自然场景文字检测和识别、人脸检测和识别等等,常常将图像分类的网络结构作为骨干网络。例如使用基于 ImageNet1K 分类数据集训练的模型作为特征提取器,来提升目标任务的组网效率和效果。如果把某个视觉任务看成是建造一栋大楼,图像分类的网络结构和预训练模型则可以看成是这栋大楼牢固的地基和稳定的骨架。
图像分类如此重要,可想而知训练出优秀的图像分类模型也是一个很有挑战的任务,其最大的困难点就在于训练图像的复杂性!什么?想知道有多复杂?那咱们拿狗狗举例子吧,有人会说:狗狗嘛,很好分辨啊!你以为你的模型只会用于推理这种一寸免冠照片式的图像吗?
错!你的模型可能面临的是这样的、这样的和这样的!
怎么样?有什么想说的吗?
解决问题的第一步就要认识问题,因此经过科研人员的研究,如图 2 所示,图像的辨识困难点主要有以下几点:
-
occlusion:识