# 福村宝照片审核自动化辅助

本项目使用OCR等技术为照片审核提供初步的信息抽取和照片涂抹脱敏功能。

## 项目部署

1. 从Git远程仓库克隆项目到本地。

2. 将深度学习模型复制到./model目录下，具体请看[模型更新](#模型更新)部分。

3. 安装docker和docker-compose。

4. 进入项目根目录，使用docker-compose部署启动。

   ```bash
   docker-compose build  # 如果没有内容更新，可跳过此步骤
   docker-compose up -d
   ```

## 开发说明

1. 使用sqlalchemy作为ORM框架，需要新增实体类时运行项目根目录下的auto_generator.py。
2. 项目运行中奔溃时有发送邮件提醒功能，请在auto_email/\_\_init\_\_.py中的收件人处添加需要通知的邮箱。

## 模型更新

1. 深度学习模型因文件过大没有上传到git中，请从别处下载后手动复制到对应目录下。

   ```markdown
   model/
   |
   ├─ cost_list_model  # 费用清单信息抽取模型
   ├─ discharge_record_model  # 出院记录信息抽取模型
   └─ settlement_list_model  # 基本医保结算单信息抽取模型
   ```

   

2. Paddle模型具体目录文件结构。更新时需要确保以下文件全部更新，其余文件可以删除，首次运行后会自动生成。

   ```markdown
   my_model/
   │
   ├─ config.json
   ├─ model_state.pdparams
   ├─ sentencepiece.bpe.model
   ├─ special_tokens_map.json
   ├─ tokenizer_config.json
   └─ vocab.txt
   ```
   

## 版本更新

此处通常只记录功能性版本更新，BUG修复级别的版本更新不作记录。

1. 版本号：0.0.1
   1. 添加照片审核自动识别功能
2. 版本号：0.1.0
   1. 抽取结果存表
   2. 程序异常时发送邮件提醒
   3. 程序异常时自动重试
   4. 优化参数配置
3. 版本号：0.2.0
   1. OCR结果存表
   2. 添加OCR布局分析功能
4. 版本号：0.3.0
   1. 取消布局分析，因为布局分析有时会导致部分OCR识别结果丢失
   2. 优化长图的处理，添加图片分割处理功能
5. 版本号：0.4.0
   1. 添加识别结果可视化功能
   2. 添加PaddleClas图片方向识别模型，对图片方向进行判断和矫正
6. 版本号：0.5.0
   1. 添加识别关键词：住院号、医保结算单号码、年龄
   2. 添加多进程并发功能，提高显卡使用率，显著提升整体识别速度
7. 版本号：1.0.0
   1. 重大功能更新：添加自动涂抹脱敏功能
8. 版本号：1.1.0
   1. 新增通过关键词定位涂抹位置功能
   2. 调整分割后图片为A4比例
9. 版本号：1.2.0
   1. 优化涂抹的精确度
   2. 所有图片扩充为A4比例
10. 版本号：1.3.0
    1. 涂抹取消图片方向判断，此工作移交审核人员处理
11. 版本号：1.4.0
    1. Docker化部署
12. 版本号：1.5.0
    1. 优化网络请求，减少网络导致的阻塞
    2. 添加费用总额的解析功能
13. 版本号：1.6.0
    1. 微调OCR参数，优化OCR检测能力
    2. 调整Docker容器的时区设置
    3. 调整Docker容器的主机名设置
14. 版本号：1.7.0
    1. 优化代码中的各项重试机制
15. 版本号：1.8.0
    1. 照片涂抹添加形近字处理
    2. 照片涂抹调整关键词匹配方式为正则匹配
    3. 照片涂抹添加姓名模糊匹配
16. 版本号：1.9.0
    1. 优化程序奔溃的重试机制，改为使用docker实现
    2. 照片涂抹添加关键词匹配的偏移量自定义功能
17. 版本号：1.10.0
    1. 照片涂抹重新添加方向识别与矫正，因为照片审核人员暂无法保证所有图片的方向正确
    2. 添加照片涂抹错误分析
    3. 优化图片分割和拓展，对横竖图片分别进行优化
    4. 优化镜像构建，将依赖与内容分开，显著提高构建速度
18. 版本号：1.11.0
    1. 修正含旋转的信息抽取结果的绘制
    2. 调整zx_ocr表名为zx_ie_result
    3. 在自动识别时将图片转正并上传到云端
19. 版本号：1.12.0
    1. 优化医院、科室匹配方法，采用模糊匹配
    2. 匹配时为医院、科室添加别名
    3. 添加医院、科室名的分析处理