首页 > 其他分享 >利用PaddleHub 进行人脸检测识别、并对图片进行抠图

利用PaddleHub 进行人脸检测识别、并对图片进行抠图

时间:2023-12-26 15:22:26浏览次数:29  
标签:plt PaddleHub img newimg 人脸 检测 path 识别

利用PaddleHub 进行人脸检测识别、并对图片进行抠图     本文是利用百度的飞桨平台的paddle进行人脸的检测和抠图,但是里面也有一些小问题,特记录一下笔记,以便以后观看学习。   环境:python3.9 飞桨是2.5.2(截稿期是最新版)   工具:PyCharm      代码如下:   

# This is a sample Python script.

# Press Alt+Shift+X to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
import paddlehub as hub
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np

test_img_path = ["C:/Users/Administrator/Desktop/qaws/6325110.png"]
input_dict = {"image": test_img_path}

'''
人脸检测
'''
def identfyPer():
#调用PaddleHub中的人脸检测模型
moduleOne = hub.Module(name="ultra_light_fast_generic_face_detector_1mb_640")
imgOne = mpimg.imread(test_img_path[0])
# 人脸检测,到这一步人脸检测就已经完成了,并且python会自动在项目根目录给你建一个文件,并显示图片
resultOnes = moduleOne.face_detection(data=input_dict, visualization=True)
# for rs in resultOnes:
# pne = rs["data"]
# print(rs)

    检测到人脸如下

           

 

'''
人脸关键点检测
'''
def keypointJce():
src_img = cv2.imread(test_img_path[1])
module = hub.Module(name="face_landmark_localization")
result = module.keypoint_detection(images=[src_img])
tmp_img = src_img.copy()
for index, point in enumerate(result[0]['data'][0]):
cv2.circle(tmp_img, (int(point[0]), int(point[1])), 2, (0, 0, 255), -1)
res_img_path = 'face_1.jpg'
cv2.imwrite(res_img_path, tmp_img)

img = mpimg.imread(res_img_path)
# 展示预测关键点结果
plt.figure(figsize=(10, 10))
plt.imshow(img)
plt.axis('off')
plt.show()

 






'''
人像抠图,paddlehub有个缺点只能识别正脸的,侧脸的是不能完成抠图的
'''
def coPic():
# 人像抠图模型
module = hub.Module(name="deeplabv3p_xception65_humanseg")
results = module.segmentation(data=input_dict)
img = mpimg.imread(test_img_path[0])
for result in results:
prediction = result["data"]
# 运用线性代数实现:使用抠图数据剪切原图
newimg = np.zeros(img.shape)
newimg[:, :, 0] = img[:, :, 0] * (prediction > 0)
newimg[:, :, 1] = img[:, :, 1] * (prediction > 0)
newimg[:, :, 2] = img[:, :, 2] * (prediction > 0)
newimg = newimg.astype(np.uint8)

# 抠图结果展示
plt.figure(figsize=(10, 10))
plt.imshow(newimg)
plt.axis('off')
plt.show()

原圖:

       AI抠图后:

 抠图:貌似值不支持png格式图片。有点限制。


# Press the green button in the gutter to run the script.
if __name__ == '__main__':
coPic()

# See PyCharm help at https://www.jetbrains.com/help/pycharm/

标签:plt,PaddleHub,img,newimg,人脸,检测,path,识别
From: https://www.cnblogs.com/luojiesheng/p/17928206.html

相关文章

  • AI在人脸识别中的应用
    1.背景介绍人脸识别技术是人工智能领域的一个重要分支,它涉及到计算机视觉、图像处理、模式识别等多个技术领域的知识和方法。随着人工智能技术的发展,人脸识别技术也在不断发展和进步。这篇文章将从以下几个方面进行阐述:背景介绍核心概念与联系核心算法原理和具体操作步骤以及数学模......
  • 机器学习笔记(三)简单手写识别
    目标实现一个简单的手写识别的脚本,同样的,流程分五步走:读入数据初始化模型训练模型训练样本集乱序校验数据有效性前期准备前期需要将库导入,还需要进行一些初始化操作数据处理部分之前的代码,加入部分数据处理的库点击查看代码#加载飞桨和相关类库importpaddlefrom......
  • 羚通视频智能分析平台安防监控视频平台森林烟火识别明火算法检测预警
    随着科技的不断发展,人工智能技术在各个领域都取得了显著的成果。在安防监控领域,羚通视频智能分析平台凭借其强大的功能和优越的性能,为森林防火工作提供了有力的技术支持。本文将详细介绍羚通视频智能分析平台的森林烟火识别明火算法检测预警功能,以及如何利用这一技术手段保护我们的......
  • 羚通视频智能分析平台安防监控视频平台森林烟火识别明火算法检测预警
    随着科技的不断发展,人工智能技术在各个领域都取得了显著的成果。在安防监控领域,羚通视频智能分析平台凭借其强大的功能和优越的性能,为森林防火工作提供了有力的技术支持。本文将详细介绍羚通视频智能分析平台的森林烟火识别明火算法检测预警功能,以及如何利用这一技术手段保护我们......
  • 羚通视频智能分析平台视频汇聚平台安全帽、反光衣佩戴算法识别算法检测预警
    在现代化的工程建设中,安全问题是至关重要的。为了确保工地的安全,工人们必须佩戴安全帽和反光衣。然而,由于工地面积大、人员多,人工监控的方式往往无法做到全面覆盖,存在一定的安全隐患。这时,羚通视频智能分析平台就显得尤为重要。它能够通过先进的算法识别技术,对工地上的工作人员是否......
  • 羚通视频智能分析平台视频汇聚平台安全帽、反光衣佩戴算法识别算法检测预警
    在现代化的工程建设中,安全问题是至关重要的。为了确保工地的安全,工人们必须佩戴安全帽和反光衣。然而,由于工地面积大、人员多,人工监控的方式往往无法做到全面覆盖,存在一定的安全隐患。这时,羚通视频智能分析平台就显得尤为重要。它能够通过先进的算法识别技术,对工地上的工作人员是......
  • 小技巧-- 断网恢复(未识别网络-无internet访问权限)
    配置host(解决延迟高问题) 安装java,配置环境变量,直接系统path中bin地址就行,不行就往上面移动 win开机启动Win+R打开运行,输入:shell:startupcalc  打开计算器powercfg/batteryreport 查看电池健康程度 netstat-anotasklist 列出进程 |findstr查询端口......
  • 人工智能和云计算带来的技术变革:从自然语言处理到语音识别
    1.背景介绍人工智能(ArtificialIntelligence,AI)和云计算(CloudComputing)是当今最热门的技术领域之一。随着计算能力的提高和数据的庞大,人工智能和云计算已经成为实现大规模数据处理和智能化应用的关键技术。在这篇文章中,我们将探讨人工智能和云计算如何带来技术变革,特别关注自然语......
  • 人工智能入门实战:语音识别的基本概念与实践
    1.背景介绍语音识别,也被称为语音转文本(Speech-to-Text),是人工智能领域中的一个重要技术。它能够将人类的语音信号转换为文本,从而实现人机交互的能力。随着人工智能技术的发展,语音识别技术已经广泛应用于智能家居、智能汽车、虚拟助手、语音搜索等领域。在本篇文章中,我们将从以下几个......
  • 人工智能入门实战:语音识别的实践
    1.背景介绍语音识别,也被称为语音转文本(Speech-to-Text),是人工智能领域中一个重要的技术。它能将人类的语音信号转换为文本,从而实现人机交互。随着人工智能技术的发展,语音识别技术的应用也越来越广泛。例如,智能家居、智能汽车、虚拟助手、语音搜索引擎等等。在本篇文章中,我们将从以下......