基于CNN(卷积神经网络)的汉字识别是一种基于图像处理和深度学习技术的应用。CNN是目前应用最广泛且效果最好的一种深度学习网络结构之一,其具有自动提取特征、良好的适应性和较高的识别准确率等优点。
常用的CNN网络结构包括:
-
LeNet-5:是最早采用卷积神经网络架构进行手写数字识别的模型之一,由两个卷积层和三个全连接层组成。
-
AlexNet:是2012年在ImageNet Large Scale Visual Recognition Challenge上获胜的模型,由5个卷积层和3个全连接层组成。
-
VGG:VGG系列模型在2014年ILSVRC竞赛中获得了优异成绩,其特点是采用非常小的卷积核大小(3x3),但却有很深的网络结构,例如VGG16和VGG19。
-
GoogleNet:也叫Inception-v1,是Google团队在2014年的ILSVRC竞赛中提出的一种模型。其核心思想是采用inception模块来提高其在不同尺度下的特征表达能力。
-
ResNet:ResNet是2015年ImageNet竞赛的冠军模型,其创新之处在于提出了残差学习,即通过将输入和输出相加来跨越层之间直接的信息流障碍。
当然,还有很多其他的CNN网络结构,例如MobileNet、ShuffleNet等。在汉字识别领域,可以根据具体的应用场景和数据集情况选择适合的模型结构。
demo仓库和视频演示找091期:
到此一游7758258的个人空间_哔哩哔哩_bilibili
效果展示图如下:
代码文件展示如下:
运行01数据集文本生成制作.py可以读取图片路径保存再txt文本中,
运行02train.py可以对txt文本中的图片路径读取并训练模型,
在02中可以选择的模型有10多种,可以都训练进行对比、包括alexnet、DenseNet、DLA、GoogleNet、Mobilenet、ResNet、ResNeXt、ShuffleNet、VGG、EfficientNet和Swin transformer等10多种模型。
训练的每个epoch都会显示准确率precision、召回率recall和 f1-score
训练完成后评价指标图会保存在result文件夹下。
运行03文字识别界面程序.py可以生成一个可视化的界面,通过点击按钮加载图片识别。