paddleseg人像分割windows下实现与证照自动生成实现

paddleseg人像分割windows下实现与证照自动生成实现

近日研究了一下用人脸识别作自动证件照生成。刚开始以为很简单不就是识别出人脸,然后按比例切出。这一步当然很简单,结果看了各种证件照,原来要去除背景的,这样一来原来简单的事搞得复杂无法。先后测试了n多种方法,均不能实现。先进一点就是人点区域来分割,这显然不是一般人能做到的。没办法,只用用人工智能的方式来解决了。看了几个解决方法,以deepv3方案还可以,无耐没法下到模型,直到看到paddleseg人像分割才觉得有了一线曙光。paddleseg是什么大家自已网上看一下。我来说下windows下的预测实现。
因为paddleseg人像分割只依赖的库是yaml-cpp.所以能常上git的很容易就搞定了但上不了就杯具了,我前前后后折腾了一个多月,各种尝试,均告失败。最后终于成功,方法如下:(需要小许银子)
1、购买一个云服务器。操作系统为windows64位的。
2、在远程服务器上安装社区版本的vis2005(主要是能免费用)
3.安装cmake64位的最新版本。
4.下载opencn3.46.
5.下载paddlsee源码。
6.按以下过程操作。我编译的cpu版本的。(下面的代码及文档主要来自官方说明,只修改了文件路径)
### Step1: 下载代码

C++预测库代码在C:\projects\PaddleSeg\deploy\cpp 目录,该目录不依赖任何PaddleSeg下其他目录。

Step2: 下载PaddlePaddle C++ 预测库 fluid_inference

PaddlePaddle C++ 预测库主要分为两大版本:CPU版本

版本 链接
CPU版本 fluid_inference_install_dir.zip

解压后D:\projects\fluid_inference目录包含内容为:

fluid_inference
├── paddle # paddle核心库和头文件
|
├── third_party # 第三方依赖库和头文件
|
└── version.txt # 版本和编译信息

Step3: 安装配置OpenCV

  1. 在OpenCV官网下载适用于Windows平台的3.4.6版本, 下载地址
  2. 运行下载的可执行文件,将OpenCV解压至指定目录,如C:\projects\opencv
  3. 配置环境变量,如下流程所示
    • 我的电脑->属性->高级系统设置->环境变量
    • 在系统变量中找到Path(如没有,自行创建),并双击编辑
    • 新建,将opencv路径填入并保存,如C:\projects\opencv\build\x64\vc14\bin

Step4: 以VS2015为例编译代码

以下命令需根据自己系统中各相关依赖的路径进行修改

  • 调用VS2015, 请根据实际VS安装路径进行调整,打开cmd命令行工具执行以下命令
  • 其他vs版本(比如vs2019),请查找到对应版本的vcvarsall.bat路径,替换本命令即可
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64

在使用CPU版本预测库进行编译时,可执行下列操作。

# 切换到预测库所在目录
cd /d C:\projects\PaddleSeg\deploy\cpp\
# 创建构建目录, 重新构建只需要删除该目录即可
mkdir build
cd build
# cmake构建VS项目
C:\projects\PaddleSeg\inference\build> cmake .. -G "Visual Studio 14 2015 Win64" -DWITH_GPU=OFF -DPADDLE_DIR=C:\projects\fluid_inference -DOPENCV_DIR=C:\projects\opencv -T host=x64

这里的cmake参数-G, 表示生成对应的VS版本的工程,可以根据自己的VS版本调整,具体请参考cmake文档

  • 生成可执行文件
C:\projects\PaddleSeg\inference\build> msbuild /m /p:Configuration=Release cpp_inference_demo.sln

Step5: 预测及可视化

上述Visual Studio 2015编译产出的可执行文件在build\release目录下,切换到该目录:

cd /d C:\projects\PaddleSeg\deploy\cpp\build\release

之后执行命令:

demo.exe --conf=/path/to/your/conf --input_dir=/path/to/your/input/data/directory

生成成功能就可以运行上面的命令得到相应的mask.

有了mask就一切好办了,下期专门写用qt实现证件照片自动生成。

你可能感兴趣的:(算法成品化,应用解决方案,人工智能)