python 图像识别男女_用机器学习来做人脸性别识别

本文介绍了如何使用卷积神经网络进行人脸识别性别,通过TensorFlow机器学习库,结合OpenCV进行图像预处理,训练模型,最终实现高准确率的性别识别。
摘要由CSDN通过智能技术生成

在传统编程中, 图像识别一直是一个难点, 虽然人能轻松做到, 但是用逻辑来描述这个过程, 并转换成程序是很难的。机器学习的出现让图像识别技术有了突破性的进展, 卷积神经网络的出现, 又使图像识别更上了一次层次。

卷积神经网络由一个或多个卷积层和顶端的全连通层组成, 这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更好的结果。

这里我们使用卷积神经网络对人脸进行性别识别, 项目中使用了TensorFlow机器学习库。

项目地址

数据收集与处理

机器学习的基础就是大量的数据。我以前从网上爬了一万张证件照, 现在正好用上, 作为训练数据。

简便的也可以从谷歌直接搜搜索 男(女)性证件照也可以得到并且有标签的数据。

由于我收集的照片没有标签, 于是我花了一点时间从其中人工选出男女照片各200张并打上标记。

为了使识别更加准确, 项目中利用openCV裁剪出人脸部分的图像, 并缩放至28*28大小。

recognizer = cv2.CascadeClassifier("model/haarcascade_frontalface_default.xml")

crop(img_path):

try:

img = cv2.imread(img_path)

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = recognizer.detectMultiScale(gray)

if len(faces):

x, y, w, h = faces[0]

c_img = img[y:y + h, x:x + w]

return cv2

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值