96SEO 2026-02-19 11:31 9
假如说我的数据源如上图所示#xff0c;那么我需要做的工作就是将上面图片里面标红的数…

这次的任务是对两百余张图片里面特定的编号进行识别涉及保密的原因这里就不能粘贴出具体的图片了下面粘贴出一张类似需要识别的图片。
假如说我的数据源如上图所示那么我需要做的工作就是将上面图片里面标红的数字给识别出来。
keras这是基于Tensorflow和keras框架采用ctpndensenetCTC算法来完成对图片指定内容的字符识别。
既然要进行OCR识别那么一定要对已有的数据源进行图像标注工作这里采用的工具是labelImg相信大家如果有搞深度学习这块的话一定对这个工具不会陌生。
对图像具体的标注流程我这里就不做说明了网上有很多资料可以查找。
这里需要作特别说明的是对于ctpn的训练label的名字为text对于densenet的训练来说的话就需要把标注框里面的内容当作label。
然后就是数据增强这块这里需要记录的有两点一就是原始的数据源比较少就必须做数据增强不然做出来的效果肯定不太行二就是怎么做数据增强由于这里的数据比较简单需要识别的内容也是有规律可行的那这里就用不着采用比较复杂的数据增强所以我做的数据增强就是对图像随机进行裁剪和倾斜当然这里裁剪的尺寸和倾斜的角度一定要控制好不然就会影响图片的质量。
rotate_ima(img_path,save_path):for
cv2.imread(os.path.join(img_path,
cv2.warpAffine(img,M,(cols,rows))#cv2.imshow(img,img)#cv2.imshow(dst,dst)cv2.imwrite(os.path.join(save_path,
),dst)#cv2.waitKey(0)cv2.destroyAllWindows()#
cut_img(img_path,save_path):all_file
os.listdir(img_path):all_file.append(
(os.path.join(img_path,x))crop_all
]))region.save(os.path.join(save_path,
x))#rotate_ima(img_path,save_path)
然后我大概生成了3000张左右的图片就开始进行数据标注了标注了大概六七个小时才把这些数据标注给完成。
GitHub的readme已经说的很清楚了。
但是我这里就列出我所踩的坑吧。
最开始我直接把标注的数据制作成VOC2007数据集的格式丢进去训练然后训练出来的效果并不好后面我才在周围同事的提醒下有一个关键的步骤忘了做。
因为CTPN是进行文字检测并不同于普通的目标检测它的检测原理是对单个的字符进行检测然后拼接在一起。
因为我们在进行数据标注的时候是对一整行文本进行拉框标注但是如果要进行CTPN训练的话就需要对这个框划分成很多个矩形小框划分的方法就是上面的split_label.py程序。
但是要进行上面一步的前提就是需要更改标注文件使用labelImg标注出来的文件是一个图像对应一个xml文件但是这里需要更改成一个图像对应一个txt文件txt里面存放的是标注框的四个坐标共计八个点注意坐标点的顺序。
如下所示
410,1554,1723,1554,1723,1736,410,1736
然后在运行split_label.py接着ToVoc.py这里面的代码细节需要自行更改这里就不做说明了。
DenseNetCTC训练主要分为两个步骤一是图像处理二是txt文件处理。
图像处理的话在我们拿到标注好的数据之后需要对原始图像进行裁剪工作就是根据标注的坐标裁剪出具体的图像就拿上面的图像来说我们需要的图像如下所示。
然后再对裁剪后的图像进行resize工作resize成(280,32)这样的话图像处理这一部分就算完成了。
txt处理的话这里我们需要对xml文件进行一系列处理来达到下面的效果。
前面card_900.jpg代表图像名称后面这一串字符代表需要识别的字符在下面这个文件里面的位置索引。
注意这里txt里面存放的是所有图像里面待识别字符的编号不是一个图像对应一个txt。
做到这一步过后在把生成的txt划分成训练集和测试集就算成功制作出来训练DenseNet的数据集了。
这次这个小的OCR项目历时大概十天左右从数据标注再到训练模型里面踩了很多坑也做了很多次尝试也查阅了很多资料也向周围同事请教了很多次总算功夫不负有心人总算完成了这次项目。
这个记录只是记录了大概的流程很多代码细节并不方便透露更多详情参阅上面给出的GitHub地址。
记录下这个更多是方便自己以后查阅。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback