CRNN

本文是初次接触CRNN模型的学习笔记。介绍了CRNN模型的结构图,主要包括卷积层(CNN)、循环层(RNN)、转录层(CTC)。还阐述了模型特点,如只需给图片打序列标签、用CNN提取特征、RNN训练得序列标签等,实现端到端训练。

初次接触,学习笔记,可能会存在过多疏漏

[1]CRNN原理

1,结构图

**主要包括:**卷积层(CNN),循环层(RNN),转录层(CTC)
结构图

2,整个模型的特点

1,不用没每个字符打标签,只需要给一个图片打一个序列标签。
2,利用CNN提取图像特征
3,利用RNN训练的输入特征序列,得到一个序列标签
4,对训练的图像没有长度限制,但是要将图片的高度归一化
5,参数少
6,虽然结合了CNN和RNN,但是最后用一个loss函数(CTC LOSS),实现啦端到端的训练。

流程图

CNN feature map
假设CNN得到的feature map大小为m*T,下文得到的时间序列t都从t=1开始,1=<t<=T。

### CRNN (Convolutional Recurrent Neural Network) 模型架构 CRNN 结合了卷积神经网络(CNN)和循环神经网络(RNN),旨在利用 CNN 的局部特征提取能力和 RNN 对序列数据建模的能力。这种组合使得 CRNN 特别适合处理具有时空结构的数据,如图像中的文字识别、语音信号以及视频分析。 #### 架构特点 - **卷积层**:用于捕捉输入数据的空间层次特性。通过多尺度滤波器自动学习到不同级别的抽象表示形式[^1]。 - **池化操作**:通常紧跟在卷积之后执行下采样过程,减少计算量的同时保留重要信息。 - **双向/单向 LSTM 层**:负责理解时间维度上的依赖关系。对于某些应用场景可以选择只采用前向传播方式实现无延迟预测[^2]。 - **全连接层与输出模块**:最终经过一系列变换得到目标任务所需的概率分布或其他类型的输出结果[^3]。 ```python import torch.nn as nn class CRNN(nn.Module): def __init__(self, input_size, hidden_size, num_layers, output_size): super(CRNN, self).__init__() # 定义卷积部分 self.conv = nn.Sequential( nn.Conv2d(in_channels=..., out_channels=...), nn.ReLU(), nn.MaxPool2d(kernel_size=(2, 2)) ) # 转换形状以便送入RNN self.fc_to_rnn_input = nn.Linear(...) # 双向LSTM单元定义 self.lstm = nn.LSTM(input_size=input_size, hidden_size=hidden_size, num_layers=num_layers, batch_first=True, bidirectional=False) # 输出分类头 self.classifier = nn.Linear(hidden_size * (int(bidirectional)+1), output_size) def forward(self, x): conv_out = self.conv(x).view(-1, ...) rnn_in = F.relu(self.fc_to_rnn_input(conv_out)).unsqueeze(0) lstm_output, _ = self.lstm(rnn_in) prediction = self.classifier(lstm_output[-1]) return prediction ``` 此代码片段展示了如何构建一个简单的 CRNN 网络框架,在实际应用中可能还需要根据具体需求调整各组件的具体配置参数。 ### 应用实例 - **实时语音增强**:针对嘈杂环境下的清晰通话需求,CRNN 提供了一种有效的解决方案。该方法能够在不引入额外延时的情况下提升语音质量和可懂度,尤其适用于未经事先训练的新说话者。 - **手写字符识别**:通过对文档图片进行预处理并将其转换成适合喂给 CRNN 的格式,可以高效准确地完成从扫描件到文本字符串的转化工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值