python实验:熟悉飞桨平台

python实验:熟悉飞桨平台

一、居民水表表盘提取

  1. 项目任务及解决方案

    本项目任务是需要给水表盘数字部分提取出,任务很简单。对于水表表盘分割任务,我们首先需要将数字部分分割出来,然后根据分割出来的像素进行数字部分提取。在以上过程中有两个关键点,一个是不同类别的像素分类,另一个是根据像素的类别提取出数字表盘部分。其中像素分类我们使用图像分割网络进行分类,而后根据不同的像素类别提取出我们需要的数字部分。

  2. 实验流程

    首先新建项目,其次进行数据导入,本题目导入表盘图片,然后进行模型安装,安装水表表盘分割模型WatermeterSegmentation,最后功能实现

  3. 实现
    在这里插入图片描述
    安装对应版本paddlehub
    在这里插入图片描述
    安装paddlex
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、动物识别

  1. 定义待预测数据

!pip -q install --upgrade paddlehub

# 待预测图片

test\_img\_path = ["./1.jpg", "./2.jpg", "./3.jpg", "./4.jpg", "./5.jpg"]

import matplotlib.pyplot as plt

import matplotlib.image as mpimg

# 展示其中大熊猫图片

img1 = mpimg.imread(test\_img\_path[0])

plt.figure(figsize=(10,10))

plt.imshow(img1)

plt.axis('off')

plt.show()

通过以上代码可以展示带预测的数据图片

在这里插入图片描述
with open('test.txt', 'r') as f:

test_img_path=[]

for line in f:

test\_img\_path.append(line.strip())

print(test\_img\_path)

['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', 'cat.jpg']

用户想要利用动物识别模型识别动物,只需读入该文件,将文件内容存成list,list中每个元素是待预测图片的存放路径。在原本的图片基础上我们加入我们待预测动物图片的路径。我们需要预测这只小猫是什么种类的动物。
在这里插入图片描述

  1. 加载预训练模型

这里直接使用resent50_vd_animals:ResNet-vd模型。resnet50_vd_animals: ResNet-vd 其实就是 ResNet-D,是ResNet 原始结构的变种,可用于图像分类和特征提取。该 PaddleHub Module 采用百度自建动物数据集训练得到,支持7978种动物的分类识别。

import paddlehub as hub

module = hub.Module(name="resnet50\_vd\_animals")

  1. 预测

PaddleHub对于支持一键预测的module,可以调用module的相应预测API,完成预测功能。

import cv2

np\_images =[cv2.imread(image\_path) for image\_path in test\_img\_path]

results = module.classification(images=np\_images)

for result in results:

print(result)
在这里插入图片描述
我们得知图片中的小猫是曼赤肯猫。

三、人脸关键点检测

  1. 更新paddlepaddle并导入必要的包
    在这里插入图片描述

  2. 导入图片并将它显示出来
    在这里插入图片描述

  3. 导入训练模型
    在这里插入图片描述

  4. 输出图像
    在这里插入图片描述
    在这里插入图片描述

四、口罩识别

  1. 任务描述

口罩识别,是指可以有效检测在密集人流区域中携带和未携戴口罩的所有人脸,同时判断该者是否佩戴口罩。通常由两个功能单元组成,可以分别完成口罩人脸的检测和口罩人脸的分类。

本次实践相比生产环境中口罩识别的问题,降低了难度,仅实现人脸口罩判断模型,可实现对人脸是否佩戴口罩的判定。本实践旨在通过一个口罩识别的案列,让大家理解和掌握如何使用飞桨动态图搭建一个经典的卷积神经网络

首先导入必要的包

paddle—>PaddlePaddle深度学习框架

os------------->python的模块,可使用该模块对操作系统进行操作

numpy---------->python第三方库,用于进行科学计算

PIL------------> Python Image Library,python第三方图像处理库

matplotlib----->python的绘图库 pyplot:matplotlib的绘图框架

os------------->提供了丰富的方法来处理文件和目录

sys------------->供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数。

pickle---------->模块实现了基本的数据序列和反序列化

  1. 数据准备

(1)解压原始数据集

(2)按照比例划分训练集与验证集

(3)乱序,生成数据列表

(4)构造训练数据集提供器和验证数据集提供器

  1. 模型配置

VGG的核心是五组卷积操作,每两组之间做Max-Pooling空间降维。同一组内采用多次连续的3X3卷积,卷积核的数目由较浅组的64增多到最深组的512,同一组内的卷积核数目是一样的。卷积之后接两层全连接层,之后是分类层。由于每组内卷积层的不同,有11、13、16、19层这几种模型,上图展示一个16层的网络结构。

  1. 模型训练及评估
    在这里插入图片描述
  2. 模型预测
    在这里插入图片描述
    在这里插入图片描述

模型最终预测为momaskimages。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值