基于深度学习的图像分类Image classification with deep learning常用模型

本文综述了常用的卷积神经网络(CNN)模型,包括针对CIFAR-10、MNIST及ImageNet数据集的经典模型架构,如LeNet、AlexNet和GoogLeNet等,并详细介绍了各模型的具体结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文中,我会根据下大家image classification常用的cnn模型,针对cifar10(for 物体识别),mnist(for 字符识别)& ImageNet(for 物体识别)做一个model 总结。

好,本文就从数据集说起,对数据集不熟悉的小伙伴请先去了解下这3个数据集,下面我们针对每个数据集画出其通用模型。


===================================


1. Cifar10

60000张32*32彩色图,10类,每类5000张用于training,1000张用于testing,通常做object recognition/classification。

模型:(上面写的数字是该层节点数)



2. Mnist

黑白图,手写体,60000training,10000testing,已做好croping,28*28,用作classification。

LeNet模型:




3. ImageNet

10w类,每类约1000张彩色图的大规模数据集 ,需要注册下载。从10年起每年都有imagenet的竞赛,分为detection, classification & localization. 14年的比赛结果和方法见这里


3.1 2012 AlexNet

模型:



但是里面细节我一直没搞过,今天就任性了一把,把每一层列出来了大小及其对应操作。自认为看上去不如上图清晰,但是会对每一步的操作有更加深入的了解。。。

此图从下往上看,最下方是输入data(注意上图中224是错的,这里crop后的image实际上是227*227的)。

PS: crop 为将图片进行四个边界crop+中心crop


每一层data格式(batch size, # feature map, height of feature, width of feature)

每一次convolution(conv)的格式(#output feature,#conv feature map,kernel height,kernel width)




这里我们看到了最后fc8(第8层,fully connect)接的是LABEL,这是一个loss层,多类分类,采用softmax loss做为loss function。这是训练时候优化参数定的,那测试的时候怎么搞

——

测试的时候,最后的特征fc8接一层probability,返回类型为softmax的概率,哪个最高结果就评定为哪一类。

如果做全局系统测评,可以再在后面加一层accuracy层,返回类型为ACCURACY.



3.2 2014 GoogLeNet

2014 ImageNet classification & Detection的冠军,22层网络。。。给跪了,感兴趣的同学去看paper里的结构吧,这里我截图截不下来了。。。


另外,给几个参考:

1. 初学者玩玩:可以用在线ConvNet试一下

2. DIY Deep learning Architecture

3. 其实最好的reference还是paper + code啦,上面的architecture可以参考caffe中example/imagenet的prototxt。


from: http://blog.youkuaiyun.com/abcjennifer/article/details/42493493

### 使用深度学习技术融合图像表示以进行时间序列分类 在自动驾驶领域,场景理解是一个核心任务,其中涉及多种感知任务,例如场景流估计和场景表示与定位[^1]。为了实现更高效的时间序列分类,可以采用深度学习中的特征融合方法来增强图像表示能力。 #### 特征提取与融合 深度学习模型通常通过卷积神经网络(CNN)提取空间特征,并利用循环神经网络(RNN)、长短时记忆网络(LSTM)或Transformer架构处理时间依赖关系。对于图像的时间序列数据,可以通过以下方式完成特征融合: - **多模态特征融合**:结合来自不同传感器的数据(如摄像头、激光雷达),并将其输入到共享权重的深层网络中,从而获得更加鲁棒的特征表示[^2]。 - **时空特征建模**:使用3D-CNN或者TimeDistributed CNN结构捕捉视频帧之间的动态变化模式,这种方法能够有效提升动作识别等任务的表现性能[^3]。 #### 时间序列分类的具体应用 当涉及到具体的应用场景时,比如行人行为预测或者是交通流量分析,则需要进一步优化上述提到的技术方案: - 对于短周期内的快速响应需求,轻量级网络设计显得尤为重要;而对于长期趋势判断而言,则可能更多关注全局上下文信息获取以及跨时段关联挖掘等方面的工作进展情况[^4]。 以下是基于PyTorch框架的一个简单示例代码片段展示如何构建一个用于时间序列分类的任务模型: ```python import torch.nn as nn class TimeSeriesClassifier(nn.Module): def __init__(self, input_size, hidden_size, num_classes): super(TimeSeriesClassifier, self).__init__() # 定义CNN层提取局部特征 self.cnn_layers = nn.Sequential( nn.Conv2d(1, 64, kernel_size=3), nn.ReLU(), nn.MaxPool2d(kernel_size=2) ) # LSTM层捕获时间维度上的依赖关系 self.lstm_layer = nn.LSTM(input_size=input_size, hidden_size=hidden_size, batch_first=True) # 输出全连接层映射至类别数 self.fc_output = nn.Linear(hidden_size, num_classes) def forward(self, x): cnn_out = self.cnn_layers(x.unsqueeze(1)) # 增加通道维数 lstm_in = cnn_out.view(cnn_out.size(0), -1).unsqueeze(-1) # 调整形状适应LSTM输入 _, (hn, _) = self.lstm_layer(lstm_in.permute(0, 2, 1)) out = self.fc_output(hn[-1]) return out ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值