热线电话:13121318867

登录
首页精彩阅读人脸识别中的机器学习
人脸识别中的机器学习
2018-03-28
收藏

人脸识别中的机器学习

机器学习的一个主要应用领域是对客观对象的识别,也称为模式识别----目的是赋予机器类似生物的信息识别和处理能力。而机器视觉研究的是如何用机器代替人眼来感知外部的世界,测量和识别外部对象,并作出正确的判断。对图像的不同特征来编制专门的算法进行处理----OpenCV 广泛应用于人机互动、物体识别、图像分割、人脸识别、动作识别、运动跟踪、机器人、运动分析、机器视觉、结构分析、自动汽车驾驶等领域。

     一个完整的人脸识别系统包括:人脸检测、关键点提取、人脸对齐、人脸规整、人脸分类、识别策略等模块。
Haar cascade 实现代码如下:

[python] view plain copy

    # -*- coding: utf-8 -*-  
      
    from numpy import *  
    import numpy as np  
    import cv2  
      
    face_cascade = cv2.CascadeClassifier('E:\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt_tree.xml')  
      
    img = cv2.imread('mypicture.jpg')  
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  
    # 识别输入图片中的人脸对象.返回对象的矩形尺寸  
    # 函数原型detectMultiScale(gray, 1.2,3,CV_HAAR_SCALE_IMAGE,Size(30, 30))  
    # gray需要识别的图片  
    # 1.2:表示每次图像尺寸减小的比例  
    # 3:表示每一个目标至少要被检测到4次才算是真的目标(因为周围的像素和不同的窗口大小都可以检测到人脸)  
    # CV_HAAR_SCALE_IMAGE表示不是缩放分类器来检测,而是缩放图像,Size(30, 30)为目标的最小最大尺寸  
    # faces:表示检测到的人脸目标序列  
    faces = face_cascade.detectMultiScale(gray, 1.2, 3)  
    for (x,y,w,h) in faces:  
        img2 = cv2.rectangle(img,(x,y),(x+w,y+h),(255,255,255),4)  
        roi_gray = gray[y:y+h, x:x+w]  
        roi_color = img[y:y+h, x:x+w]  
      
    cv2.imshow('img',img)  
    cv2.waitKey(0)  
    cv2.destroyAllWindows()  
    cv2.imwrite("paulwalker.head.jpg", img) # 保存图片  

LBP  cascade 的实现代码如下:

[python] view plain copy

    # -*- coding: utf-8 -*-  
      
    from numpy import *  
    import numpy as np  
    import cv2  
      
    face_cascade = cv2.CascadeClassifier('E:\\opencv\\sources\\data\\lbpcascades\\lbpcascade_frontalface.xml')  
      
    img = cv2.imread('snapshot0001.jpg')  
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  
      
    faces = face_cascade.detectMultiScale(gray, 1.2, 3)  
    for (x,y,w,h) in faces:  
        img2 = cv2.rectangle(img,(x,y),(x+w,y+h),(255,255,255),4)  
        roi_gray = gray[y:y+h, x:x+w]  
        roi_color = img[y:y+h, x:x+w]  
      
    cv2.imshow('img',img)  
    cv2.waitKey(0)  
    cv2.destroyAllWindows()  
    cv2.imwrite("paulwalker.head.jpg", img) # 保存图片

数据分析咨询请扫描二维码

最新资讯
更多
客服在线
立即咨询