图片人脸识别加归类

本文介绍了如何借助开源库face_recognition进行人脸识别和图片分类。虽然现代网络相册已有此功能,作者仍以此作为学习AI的机会。尽管库的高准确率未经验证,但其简化了核心识别步骤。主要工作集中在识别前后的图像处理,因model = "cnn"模式资源消耗大,作者采取缩略图方式降低负担。识别100张图片耗时12小时,提醒配置不足的用户谨慎使用。文章还强调了样本选择和阈值调整的重要性。
摘要由CSDN通过智能技术生成

因为处理自己的照片分类,萌生了一个通过人脸识别来归类的想法,虽然现在的网络相册都提供了该功能,但是就当是学习了,贴近于AI,现在不是流行AI嘛,本来计划是自己写,网上的教程也多入牛毛,结果写到一半的时候,发现一个开源库face_recognition,据说识别准确率达到98%。且不管这个准确率,可以拿来用就可以。具体的安装过程,教程也有很多,可以自行查找。因为采用了第三方库,所以核心功能调用对应方法即可,代码大部分是处理识别前和识别后的工作。期间看到一个大神写的关于人脸识别的文章,贴在此。供个人参考(https://www.cnblogs.com/neo-T/p/6432596.html)。

本文中face_recognition.face_locations采用model = "cnn"的模式,该模式消耗机器内存和CPU非常大,所以在识别前,对图片了处理,用缩略图作为临时文件的形式来处理的,尽管如此,100张图片也用了12H,所以机器配置不够的话慎用。也可以采用默认的model。

需要先拿出样本数据,你想找的人的图片,最好是单人正面照。我放置了10个样本,有部分侧面的和相对模糊的,对比识别时有些好像也是可以识别出来的。还有阈值,要多调试几次找出适合自己的阈值。

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019-07-10 18:10
# @Author  : yy
# @File    : CNNImage.py

import os
import cv2
import face_recognition
from PIL import Image
import  numpy as np
import exifread
import shutil
import time

class Imagetags():
    def __init__(self):
        self.SampPath =r'E:\Sample'
        self.Pic = r'E:\Pic'
        self.Photo = r'E:\Photo'
        self.TmpPath = r'E:\PicTmp'


    def ResizeImage(self,path):
        ImgTmp = cv2.imread(path)
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值