# OCR光学字符识别 **Repository Path**: ai100/ocr_character_recognition ## Basic Information - **Project Name**: OCR光学字符识别 - **Description**: 此项目是使用深度学习技术进行OCR文字识别 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-02-16 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 人工智能工程师实战项目 OCR光学字符识别 视觉方向 指导讲师 张老师 简介 计算机视觉是利用摄像机和电脑代替人眼,使得计算机拥有类似于人类的对目标进行检测、识别、理解、跟踪、判别决策的功能。 其中包括文字识别、图片分类、目标检测和图像质量评价等方向。本项目将通过以OCR(光学字符识别)的场景来介绍深度学习在计算机视觉中的应用。 在视觉方向,对于图像/视频中的其他内容,文字往往包含更强的语义信息,因此对图像中的文字提取和识别具有重大意义。 OCR在一些公司领域的业务中主要起着两方面作用: (1)辅助录入,比如在移动支付环节通过对银行卡卡号的拍照识别以实现自动绑卡,辅助运营录入菜单中菜品信息,在配送环节通过对商家小票的识别以实现调度核单。 (2)审核校验,比如在商家资质审核环节对商家上传的身份证、营业执照和餐饮许可证等证件照片进行信息提取和核验以确保该商家的合法性,机器过滤商家上单和用户评价环节产生的包含违禁词的图片。 课程中,学员们已经掌握了基本的传统图像技术和深度学习基础,也掌握了图像进行分类检测和识别技术,以及了解部分模型和各种loss计算方式。 本项目中,要求学员们结合课程中学习到的内容以及互联网上开源的一些算法模型,实现一个OCR文字识别系统。 项目 学员需要利用python, Tensorflow框架,Anaconda等函数库以及深度学习方面的模型(例如:CTPN+DenseNet+CTC)的相关算法知识来实现一个OCR文字识别系统。具体使用哪种模型学员可自行选择 评价标准 成果1,一整套可以运行的系统 包含代码和详细的文档,文档要求可操作,能够按照文档的描述搭建系统并运行,文档不全者会酌情扣分。 文档要求: 对系统的各个组成部分的构造和自己的理解以及相互之间的关系的描述。 训练过程中踩到的一些坑和自己的心得。 对系统的输出结果的简单分析。 系统要求能对图片上的文字进行OCR文字识别并给出合理的输出。 系统需要给出合理的评价指标,例如ROC,map等。 成果2, 提供一个演示视频 视频内容:从图片网站上,随机下载一些文字图像文件,送入系统进行检测。可以输出并显示图片中的文字信息。没有检测到的字体可以给出没有检测到的提示 成果3,对比原模型论文分析 学员在自己训练完模型之后,进行交叉验证,输出结果后与原论文模型中的结果与参数进行对比分析,(非必选项:并尝试进行模型的优化) 部分数据集 本项目提供的数据集: (1)共约364万张图片,按照99:1划分成训练集和验证集 (2)数据利用中文语料库(新闻 + 文言文),通过字体、大小、灰度、模糊、透视、拉伸等变化随机生成 (3)包含汉字、英文字母、数字和标点共5990个字符 (4)每个样本固定10个字符,字符随机截取自语料库中的句子 (5)图片分辨率统一为280x32 备注:请联系课程管理人员获取训练数据。 项目要点提示: 开发过程在linux系统上进行,尽量不要尝试在windows上进行项目开发,会遇到各种不必要问题。 系统的输入输出不做要求,能够正常演示即可。 注意:选择其他模型的学员请忽视下面内容 提示: 文本检测: 1.查看CPTN的论文和相关资料之后,再做项目 文本识别: 1.先去查看DenseNet的论文和相关资料,然后去看CTC的论文和相关资料 2.在了解了模型算法原理之后,再着手去做DenseNet模型和CTC模型的训练工作 备注: (1) 相关资料和开源代码学员可自行查找和借鉴,如若需要帮助,请练习课程管理员 (2)数据集是开源整理好的数据集,请联系课程管理人员获取训练数据。相关论文资料拓展学员可以自己查找。