DAY4-PaddleHub体验

#安装paddlehub
!pip install paddlehub==1.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

DAY4-PaddleHub体验_第1张图片

DAY4-PaddleHub体验_第2张图片

DAY4-PaddleHub体验_第3张图片 情感分析

情感倾向分析(Sentiment Classfication,简称Senta)针对带有主观描述的中文文本,可自动判断该文本的情感极性类别并给出相应的置信度,能够帮企业理解用户消费习惯、分析热点话题和危机监控,为企业提供有利的决策支持。

#安装情感分析模型
!hub install senta_lstm==1.1.0
!hub run senta_lstm --input_text "这家餐厅很难吃"

测试的文本是“这家餐厅很难吃”,它的语义标签是0,语义关键词sentiment_key是negative,是消极的。

#再如:
!hub run senta_lstm --input_text "人工智能课程很有趣"

这次它显示的标签是1,语义标签是1,语义关键词sentiment_key是positive是积极的。

## 口罩检测


PyramidBox-Lite是基于2018年百度发表于计算机视觉顶级会议ECCV 2018的论文PyramidBox而研发的轻量级模型,模型基于主干网络FaceBoxes,对于光照、口罩遮挡、表情变化、尺度变化等常见问题具有很强的鲁棒性。该PaddleHub Module基于WIDER FACE数据集和百度自采人脸数据集进行训练,支持预测,可用于检测人脸是否佩戴口罩。 

### 一键使用

#安装口罩检测模型
#其中pyramidbox_lite_mobile_mask==1.1.0代表的是口罩检测的模型
!hub install pyramidbox_lite_mobile_mask==1.1.0

 

#一键使用模型,pyramidbox_lite_mobile_mask表示所需要用到的模型,输入图片就是input_path加路径
!hub run pyramidbox_lite_mobile_mask --input_path "data/data31681/test.jpeg"

 DAY4-PaddleHub体验_第4张图片

 结果中label=MASK表示图片是戴口罩的,

#导入画图的包plt,然后读取图片,用mping进行展示
import matplotlib.pyplot as plt 
import matplotlib.image as mpimg 
test_img_path = "data/data31681/test.jpeg"
img = mpimg.imread(test_img_path) 

# 展示待预测图片
plt.figure(figsize=(10,10))
plt.imshow(img) 
plt.axis('off') 
plt.show()

DAY4-PaddleHub体验_第5张图片

# 预测结果展示,
#把预测后的照片保存到./detection_result/test.jpeg,然后使用工具mping进行展示
test_img_path = "./detection_result/test.jpeg"
img = mpimg.imread(test_img_path)

# 展示预测结果图片
plt.figure(figsize=(10,10))
plt.imshow(img) 
plt.axis('off') 
plt.show()

DAY4-PaddleHub体验_第6张图片

脸上画的框就表示戴口罩的。

 PYTHON预测使用

#导入paddlehub包进行一键使用模型,导入cv2,计算机视觉的处理包
import paddlehub as hub
import cv2
#调用模型
module = hub.Module(name="pyramidbox_lite_mobile_mask")
#测试图片的路径
test_img_path = "data/data31681/test.jpeg"

# set input dict
#用cv2读取测试图片作为输入数据,输入数据要做成jsion格式
input_dict = {"data": [cv2.imread(test_img_path)]}
#调用module中的函数进行预测
results = module.face_detection(data=input_dict)
print(results)

DAY4-PaddleHub体验_第7张图片

跟上述一样,label是MASK表示戴口罩

人像抠图

#导入paddlehub包使得下载所需人像抠图的模型,
import paddlehub as hub
#这里使用到的是paddlehub中的人像抠图deeplabv3p_xception65_humanseg模型
module = hub.Module(name="deeplabv3p_xception65_humanseg")
#使用模型的segmentation工具读入图片进行data处理,使其符合模型能够识别的数据
res=module.segmentation(data={"image":["data/data31681/test.jpg"]})
#path = ["data/data31681/test.jpeg"]
#results =humanseg.segmentation(data={"image":path})

# 预测结果展示
herf = res[0]["processed"]

img = mpimg.imread(herf)

# 展示预测结果图片
plt.figure(figsize=(10,10))
plt.imshow(img) 
plt.axis('off') 
plt.show()

 

 DAY4-PaddleHub体验_第8张图片

人体部件分析

与上面的代码完全一致,只是在模型选择上选取的是人体部件分析的模型

import matplotlib.pyplot as plt 
import matplotlib.image as mpimg 
import paddlehub as hub
ace2p = hub.Module(name="ace2p")
res=ace2p.segmentation(data={"image":["data/data31681/test.jpg"]})
#path = ["data/data31681/test.jpeg"]
#results =humanseg.segmentation(data={"image":path})

# 预测结果展示
herf = res[0]["processed"]

img = mpimg.imread(herf)

# 展示预测结果图片
plt.figure(figsize=(10,10))
plt.imshow(img) 
plt.axis('off') 
plt.show()


DAY4-PaddleHub体验_第9张图片

 

你可能感兴趣的:(学习记录)