IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 2021-09-17 python软件设计 练习2 -> 正文阅读

[人工智能]2021-09-17 python软件设计 练习2

引言

Python之父Guido

他的个人页面:Guido's Personal Home Page


本次课开始学习利用OpenCV、Dlib、Face-Recognition进行人脸识别

三步:定位,对齐,识别

1.使用OpenCV定位多个人脸

import cv2
import os
import matplotlib.pyplot as plt

os.chdir('D:\python\Lib\site-packages\cv2') #改变当前工作目录到指定的路径(分类器文件夹位置)


def detect(filename):
    face_cascade = cv2.CascadeClassifier('D:\python\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml')
    
    img = cv2.imread(filename) #图片放在和.py一个文件夹里,即cv2文件夹
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #将BGR图片转换为灰度图像再用已有的分类器模型识别人脸
    
    faces = face_cascade.detectMultiScale(gray,1.3,5)
    
    for (x, y, w, h) in faces:
        img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
    plt.imshow(img)
    plt.axis('off')
    plt.show()

detect('face.jpg')

①关于os.getcwd()和os.chdir()

os.getcwd()? ?获得当前的路径

需要说明的是,当前目录并不是指脚本所在的目录,而是所运行脚本的目录。

>>>import? os

>>>print? os.getcwd()

D:\Program Files\Python27?

这里的目录即是python的安装目录。若把上面的两行语句保存为getcwd.py,保存于E:\python\盘,运行后显示是E:\python

os.chdir()? ??修改当前工作目录到指定的路径

os.chdir( path )?

path – 要切换到的新路径

②生成结果

?

?

?

?


2.使用Face-recognition提高精确度

face_recognition依赖于dlib,dlib依赖于openCV

安装包下载链接: https://pypi.org/project

?

Built using?dlib’s state-of-the-art face recognition?built with deep learning. The model has an accuracy of 99.38% on the?Labeled Faces in the Wild benchmark.

Labeled Faces in the Wild

import face_recognition

image=face_recognition.load_image_file("photo.jpg")
face_locations=face_recognition.face_locations(image)

face_num2=len(face_locations)
print(face_num2)#The number of faces
org=cv2.imread("photo.jpg")

for i in range(0,face_num2):
    top=face_locations[i][0]
    right=face_locations[i][1]
    bottom=face_locations[i][2]
    left=face_locations[i][3]
    
    start=(left,top)
    end=(right,bottom)
    color=(255,0,0)
    thickness=5
    img=cv2.rectangle(org,start,end,color,thickness)   # opencv 里面画矩形的函数
    plt.imshow(img)
    plt.axis('off')
plt.show()

生成结果

?

?


3.使用深度学习更加精确的CNN(卷积神经网络)

人脸检测模型默认使用HOG算法,也可以使用CNN。

hog在cpu上的准确性较低,但速度更快。cnn是一个更精确的深度学习模型。

import face_recognition
import cv2
import matplotlib.pyplot as plt

image = face_recognition.load_image_file("photo.jpg")
face_locations_useCNN = face_recognition.face_locations(image,model='cnn')

face_num1=len(face_locations_useCNN)
print(face_num1)       # The number of faces
org = cv2.imread("photo.jpg")

for i in range(0,face_num1):
    top = face_locations_useCNN[i][0]
    right = face_locations_useCNN[i][1]
    bottom = face_locations_useCNN[i][2]
    left = face_locations_useCNN[i][3]

    start = (left, top)
    end = (right, bottom)

    color = (0,255,255)
    thickness = 2
    img=cv2.rectangle(org, start, end, color, thickness)
    plt.imshow(img)
    plt.axis('off') 
plt.show()

①理解HOG和CNN

HOG是目前计算机视觉、模式识别领域很常用的一种描述图像局部纹理的特征。在一副图像中,局部目标的表象和形状能够被梯度或边缘的方向密度分布很好地描述。

CNN(卷积神经网络)是所有深度学习课程、书籍必教的模型,CNN在影像识别方面的为例特别强大,许多影像识别的模型也都是以CNN的架构为基础去做延伸。

②生成结果

?

?


?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:08:28  更:2021-09-18 10:10:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 14:42:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码