操作系统:Ubuntu 20
硬件平台:Intel酷睿或者志强,支持AVX指令集,内存16GB以上
基本的软件依赖
sudo -E apt-get install gcc g++ make git vim build-essential
安装python3
sudo -E apt-get install python python3 python3-pip
sudo -E pip3 install --upgrade pip
安装diffusers相关依赖
sudo -E pip3 install --upgrade "diffusers==0.25.0" "transformers==4.36.2" "torch==2.1.2"
安装OCR依赖
sudo -E pip3 install --upgrade "shapely" "pyclipper" "paddlepaddle" "paddlehub"
如果遇到'blinker'的错误,请执行下面命令处理
sudo -E apt-get remove blinker
sudo -E -H pip3 install --ignore-installed -U blinker
然后配置合适的numpy版本
sudo -E pip3 install --upgrade "numpy==1.21.6"
安装OpenVINO
sudo -E pip3 install --upgrade "ipywidgets==8.1.1" "optimum==1.16.1" "openvino==2023.2.0" "openvino-dev==2023.2.0" "optimum-intel[openvino,diffusers,nncf,onnx]==1.12.3" "testresources==2.0.1" "dill==0.3.4" "multiprocess==0.7.0.12.2" --ignore-installed PyYAML
模型位置:https://huggingface.co/IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-EN-v0.1
下载命令
#!/bin/bash
git lfs install
git clone https://huggingface.co/IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-EN-v0.1
分别执行源码中的4个验证脚本即可,注意!该步骤为必须的,因为首次执行它们的时候,会下载一些缓存文件。
./ocr_test.sh
./ocr_openvino_test.py
./sd_test.py
./sd_openvino_test.py
我这里使用的是qt5.13.2的linux安装包,可以从下面的地址下载
https://download.qt.io/new_archive/qt/5.13/5.13.2/qt-opensource-linux-x64-5.13.2.run
下载完成后,给该文件增加可执行权限
chmod +x qt-opensource-linux-x64-5.13.2.run
然后按照界面的提示一步一步安装即可,详细安装过程可以参考下面的演示视频
然后编译的话只要用Qt Creator打开我们源码中的HPG.pro工程即可
如图所示,只要将CPyAI.h文件中的USE_SD_OPENVINO宏改为1后,即可打开OpenVINO加速支持
同样的关键字,加速前耗时14分35秒,使用OpenVINO加速后,耗时6分43秒
本开源软件可以用于少儿教育领域 或 相关教育行业,在学生学习写字的同时,也能通过人工智能生成对应的图片,激发学生的联想记忆,帮助学生更快速的掌握汉字或英文的书写。
该软件的整体思想是将手写产生的数据通过OCR模型转换为文本数据后,然后再将文本数据通过中英文混合的Stable Diffusion模型生成出图像。该软件打破了教育行业中传统固定文字卡片的约束,而是通过人工智能技术生成图文并茂的文字图片关联,增强学生的记忆。同时这也是本软件的亮点之一。更重要的是,本软件可以完全断网本地化运行,不依赖于任何云服务后台。所以可以集成到学习机和早教机中。
https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar
https://huggingface.co/IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-EN-v0.1
软件的整体工作流如图所示,首先手写文字的图像数据经过OCR模型以后,产生文本输出结果,然后再将该文本结果送入到Stable Diffusion模型中产生最终的图像输出
源码参考:https://github.com/zhuo-yoyowz/openvino_notebooks
【手写文字图片生成器(支持OpenVINO)-哔哩哔哩】 https://b23.tv/qUF8bfu
邮箱:rainhenry@savelife-tech.com
本代码采用GPLv3许可证 https://www.gnu.org/licenses/gpl-3.0.en.html