初学者该如何选择最适合自己的图像分类模型

简介: 初学者该如何选择最适合自己的图像分类模型

学习前言:      


图像分类任务有:细分类,一般分类,医学图像分类等等。


图像分类模型分为CNN模型与Transformer模型。


       对于CNN模型来讲, 主要受到实验环境的限制,所以我根据使用场景的不同把所有分类模型划分为重量级模型和轻量级模型,旨在快速适应不同实验环境下的图像分类任务。


       对于Transformer模型来讲,效果一般普遍高于CNN模型,但是训练参数也是大的吓人。一般不推荐个人跑。(手握多张30系列显卡的大佬当我没讲)


本文旨在对不同类别的模型中各自筛选出当下最优的模型。    


 

CNN模型结果先行{
                轻量级模型:MobilenetV2,
                重量级模型:EfiicientnetV2,
}
        Transformer模型结果先行{
               SwinTransformer.
}

        之后我将搭建一个图像分类平台:将三种模型整合在一起提供大家使用!


模型介绍:


       CNN轻量级模型:


               MobileNet系列


1dc618a0ed9580ce8bfa6facb208c08f.png


             MobileNet v1 最大的成就在于提出了depthwise卷积(DW)+pointwise卷积(PW),将普通卷积的计算量近乎降低了一个数量级,成为第一个在轻量级领域取得成功的网络。如下图所示,对于一个常规的3*3卷积,使用dw+PW,计算量降低为原来的 1/(3*3)=1/9, 接近于降低了一个数量级。


MobileNetV1

提出时间:2012

Top-1 准确率:75.2%        

参数量:6.9M


               MobileNet v2借鉴了resnet的残差结构,引入了inverted resdual模块(倒置残差模块),进一步提升了MobileNet的性能。因为inverted resdual一方面有利于网络的学习,因为毕竟学的是残差(这也是resnet的精髓),另一方面,也降低了原来的PW卷积的计算量。在MobileNet v1的dw+pw卷积中,计算量主要集中在PW卷积上。使用了inverted resdual模块之后,原来的一个PW卷积,变成了一个升维PW+一个降维PW,其计算量有所下降。


MobileNetV2

提出时间:2018

Top-1 准确率:74.7%

参数量:6.9M


               ShuffleNet系列


5d4c6812c8535adbb050f4ddf2e1bce8.png

                DW卷积或者分组卷积虽然能够有效的降低计算量,但是缺少通道间的信息交互与整合,势必会影响网络的特征提取能力,MobileNet中使用PW卷积来解决这个问题,但是PW卷积的计算量比较大(相对dw卷积),大约是dw卷积的 C_out / K*k 倍。假设C_out=128, k=3, 那么pw卷积的计算量是dw卷积的14倍!所以MobileNet的计算量主要集中在point wise卷积上面。ShuffleNet v1使用了一种更加经济的方式,channel shuffe,使得不需要卷积操作,也能实现不同通道间的信息融合。


               GhostNet网络


46a9d80a6e05e4e3b19d57a0ee70bcdf.png


GhostNet通过对传统卷积得到的特征图进行观察,发现有很多相似的特征图。那么是否可以通过改造让卷积这种重量级的OP只生成一些具有高度差异性的特征图,然后基于这些特征图,再用一些廉价的OP(相对于卷积)进行变换,得到传统卷积中的那些相似特征图。如下图所示。Ghostnet就是基于下图中的这种ghots module进行构建的轻量级网络。


               官方数据对比:


66ba272a0bfc97be54a5fa679e3d5482.png

下面对两个最重要的指标进行可视化分析,推理延时与精度。这两个指标应该是所有指标中起到决定性作用的。如下图所示:


88b9988b40447cb37c7e3c492d49867f.png


               轻量级模型王者:


       从图中可以看出来 ,mobilenetv2的综合指标是最高的,面对简约的环境时,强烈推荐使用。


       CNN重量级模型:


                AlexNet


               提出时间:2012/9

               Top-1 准确率:62.5%

               参数量:60M


                VGG-19


               提出时间:2014/9

               Top-1 准确率:74%

               参数量:144M


                Inception V3


               提出时间:2015/12

               Top-1 准确率:78.8%

               参数量:23.8M


                EfficientNetV1


               提出时间:2019/5

               Top-1 准确率:84.4%

               参数量:66M


                EfficientNetV2


               提出时间:2021

               Top-1 准确率:87.3%

               参数量:比EfficientNetV1小


                重量级模型王者:


               从以上数据分析可得EfficientNetV1恐怕是参数量较少且准确率非常高的王者模型了,然而EfficientNetV2 不仅准确率超过EfficientNetV1 3%,且速度快了5~10倍,所以重量级模型王者非EfficientNetV2莫属。


       Transformer模型:


              Transformer模型主要有Vision Transformer(2019)与Swin Transformer(2021)


                  ImageNet-1K数据集准确率对比:

      80308c27701d3aead18db6c7b167f308.png                        


               ImageNet-22K数据集准确率对比:

            1014213c4196c8798c8417b952a8a253.png      


               结论:


        我们可以明显看出Swin Transformer准确率远远高于Vision Transformer。


相关文章
|
供应链 数据可视化 JavaScript
60种常用可视化图表的使用场景——(上)
60种常用可视化图表的使用场景——(上)
488 0
|
算法 计算机视觉
OpenCV(四十):图像分割—漫水填充
OpenCV(四十):图像分割—漫水填充
737 0
|
机器学习/深度学习 数据采集 自然语言处理
深度学习实践技巧:提升模型性能的详尽指南
深度学习模型在图像分类、自然语言处理、时间序列分析等多个领域都表现出了卓越的性能,但在实际应用中,为了使模型达到最佳效果,常规的标准流程往往不足。本文提供了多种深度学习实践技巧,包括数据预处理、模型设计优化、训练策略和评价与调参等方面的详细操作和代码示例,希望能够为应用实战提供有效的指导和支持。
|
机器学习/深度学习 人工智能 编解码
【AI系统】轻量级CNN模型新进展
本文继续探讨CNN模型的小型化,涵盖ESPNet、FBNet、EfficientNet和GhostNet系列。ESPNet系列通过高效空间金字塔卷积减少运算量;FBNet系列采用基于NAS的轻量化网络设计;EfficientNet系列通过复合缩放方法平衡网络深度、宽度和分辨率;GhostNet系列则通过Ghost模块生成更多特征图,减少计算成本。各系列均旨在提升模型效率和性能,适用于移动和边缘设备。
1281 6
|
编解码 算法 计算机视觉
YOLOv11改进策略【小目标改进】| 添加专用于小目标的检测层 附YOLOv1~YOLOv11的检测头变化详解
YOLOv11改进策略【小目标改进】| 添加专用于小目标的检测层 附YOLOv1~YOLOv11的检测头变化详解
2782 11
|
人工智能 JavaScript 开发工具
【完全免费】VS Code 最好用的 12 款 AI 代码提示插件!!!
🎉 探索12款免费VSCode AI代码提示插件:Codeium、Codegeex、CodeFuse、TONGYI Lingma、Comate、iFlyCode、Fitten Code、Bito AI、Mintlify Doc Writer、Kodezi AI、aiXcoder、IntelliCode。这些插件提供智能补全、代码生成、注释、优化,支持多种语言,提升编程效率!🚀👩‍💻👨‍💻
26446 121
|
机器学习/深度学习 计算机视觉 异构计算
YOLOv8优改系列一:YOLOv8融合BiFPN网络,实现网络快速涨点
本文介绍了将BiFPN网络应用于YOLOv8以增强网络性能的方法。通过双向跨尺度连接和加权特征融合,BiFPN能有效捕获多尺度特征,提高目标检测效果。文章还提供了详细的代码修改步骤,包括修改配置文件、创建模块文件、修改训练代码等,以实现YOLOv8与BiFPN的融合。
3367 0
YOLOv8优改系列一:YOLOv8融合BiFPN网络,实现网络快速涨点
|
数据采集 设计模式 自然语言处理
设计模式最佳套路2 —— 愉快地使用管道模式
管道模式(Pipeline Pattern) 是责任链模式(Chain of Responsibility Pattern)的常用变体之一。在管道模式中,管道扮演着流水线的角色,将数据传递到一个加工处理序列中,数据在每个步骤中被加工处理后,传递到下一个步骤进行加工处理,直到全部步骤处理完毕。 PS:纯的责任链模式在链上只会有一个处理器用于处理数据,而管道模式上多个处理器都会处理数据。
13547 0
设计模式最佳套路2 —— 愉快地使用管道模式
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:图像风格迁移与生成
【7月更文挑战第13天】 使用Python实现深度学习模型:图像风格迁移与生成
347 2

热门文章

最新文章