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

举报
陈沧夜 发表于 2022/05/01 00:07:47 2022/05/01
【摘要】 百度飞桨学习——使用PaddleHub实现人脸检测 本示例 https://aistudio.baidu.com/aistudio/projectdetail/403504 利用Ultra-Light-...

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

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

环境安装

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

  
 
  • 1
> $ 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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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

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

  
 
  • 1

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

首先在虚拟环境终端下输入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()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如果最后一行显示:

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

  
 
  • 1
  • 2

这样就安装成功啦

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

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

  
 
  • 1

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

图片选择

以最近比较火的黑人专业团队为待预测图片
在这里插入图片描述
这个图片名为test.jpg

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

# test.txt
./test.jpg

  
 
  • 1
  • 2

程序设计

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

mkdir paddlecv

  
 
  • 1

然后再把图像和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()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

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

毕竟人家是专业团队……

文章来源: blog.csdn.net,作者:沧夜2021,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/CANGYE0504/article/details/105556693

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。