百度飞桨学习——使用PaddleHub实现人脸检测

百度飞桨学习——使用PaddleHub实现人脸检测

本示例 https://aistudio.baidu.com/aistudio/projectdetail/403504 利用Ultra-Light-Fast-Generic-Face-Detector-1MB模型完成人脸检测。该模型是针对边缘计算设备或低算力设备(如用ARM推理)设计的实时超轻量级通用人脸检测模型,可以在低算力设备中如用ARM进行实时的通用场景的人脸检测推理。

文章目录

  • 百度飞桨学习——使用PaddleHub实现人脸检测
    • 环境安装
    • 图片选择
    • 程序设计

环境安装

CUDA和cuDNN的安装可以查看我写过的一篇文章

https://blog.csdn.net/CANGYE0504/article/details/104455394

安装完成后我们接下来安装飞桨

飞桨各个版本的安装可以参考

https://www.paddlepaddle.org.cn/install/quick

我这边系统是ubuntu 19.10CUDA 10.1

当然,首先建议在虚拟环境下安装,虚拟环境的配置可以参考

https://blog.csdn.net/CANGYE0504/article/details/105158753

安装好虚拟环境后,我们新建一个虚拟环境paddleproject

mkvirtualenv paddleproject
> $ mkvirtualenv paddleproject                                                 
created virtual environment CPython3.7.5.final.0-64 in 219ms
  creator CPython3Posix(dest=/home/mrcangye/.virtualenvs/paddleproject, clear=False, global=False)
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/home/mrcangye/.local/share/virtualenv/seed-app-data/v1.0.1)
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
virtualenvwrapper.user_scripts creating /home/mrcangye/.virtualenvs/paddleproject/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/mrcangye/.virtualenvs/paddleproject/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/mrcangye/.virtualenvs/paddleproject/bin/preactivate
virtualenvwrapper.user_scripts creating /home/mrcangye/.virtualenvs/paddleproject/bin/postactivate
virtualenvwrapper.user_scripts creating /home/mrcangye/.virtualenvs/paddleproject/bin/get_env_details

接下来在虚拟环境中安装飞桨

python3 -m pip install paddlepaddle-gpu==1.7.1.post107 -i https://mirror.baidu.com/pypi/simple

安装完成后我们测试安装情况

首先在虚拟环境终端下输入python3,再输入以下代码

(paddleproject) > $ python3                                                    
Python 3.7.5 (default, Nov 20 2019, 09:21:52) 
[GCC 9.2.1 20191008] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import paddle.fluid
>>> paddle.fluid.install_check.run_check()

如果最后一行显示:

Your Paddle works well on MUTIPLE GPU or CPU.
Your Paddle is installed successfully! Let's start deep Learning with Paddle now

这样就安装成功啦

接下来我们安装人脸检测需要的包

pip3 install paddlehub==1.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

这个包安装完成后,我们所有必须的环境就已经安装完毕。

图片选择

以最近比较火的黑人专业团队为待预测图片
百度飞桨学习——使用PaddleHub实现人脸检测_第1张图片
这个图片名为test.jpg

如果你这边有好多图片,那么我们可以在目录下新建一个txt文件,将图片地址一行一行写上去,再让python读取就可以啦。例如以下情况。

# test.txt
./test.jpg

程序设计

毕竟是个项目,我们要新建一个项目文件,不如叫paddlecv

mkdir paddlecv

然后再把图像和txt移到文件里

接下来我们编写程序paddlecv.py

#paddlecv.py
import paddlehub as hub
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# 打开文件写的图像地址,读取图像
with open('test.txt', 'r') as f:
    test_img_path=[]
    for line in f:
        test_img_path.append(line.strip())
    print(test_img_path)
# 模型加载
module = hub.Module(name="ultra_light_fast_generic_face_detector_1mb_640")
input_dict = {"image": test_img_path}

# 模型处理
results = module.face_detection(data=input_dict,visualization=True)
for result in results:
    print(result)


# 预测结果展示
img = mpimg.imread("face_detector_640_predict_output/test.jpg")
plt.figure(figsize=(10,10))
plt.imshow(img)
plt.axis('off')
plt.show()

这个程序写好之后就可以运行,运行结果就是酱紫的:

百度飞桨学习——使用PaddleHub实现人脸检测_第2张图片

毕竟人家是专业团队……

你可能感兴趣的:(机器学习)