人工智能小例子(二)-基于keras+openCV的人脸识别


目前keras是对人工智能来说,入门比较好的一款中间件,屏蔽了很多参数配置和实现细节,直接一层层进行网络搭建就可以。最近一直在学习相关知识,但是一直也没有啥实用的功能出现,在网上有个例子,一下子就吸引住了我,使用keras迅速搭建一套人工智能系统,输入自己的照片和他人照片,训练其识别出自己,然后使用摄像头验证。

废话不多说,先上结果图:



是不是很6,其实实现起来还是依赖了很多网上的大牛,现在跟着我,咱们一步步实现这些:


前置知识:

人工神经网络

keras中文文档

tips:跟着一步步做也能实现,建议先看前置知识;


环境配置:python3.3 ;keras3;win10,OpenCV3,tensorflow

源码下载:https://github.com/xvshu/kera-demo-findme.git

1,识别人脸(OpenCV3)

import cv2

def CatchUsbVideo(window_name, camera_idx):
    cv2.namedWindow(window_name)

    #视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头
    cap = cv2.VideoCapture(camera_idx)

    #告诉OpenCV使用人脸识别分类器
    classfier = cv2.CascadeClassifier("D:/opencv/opencv/sources/data/haarcascades/haarcascade_frontalface_alt2.xml")

    #识别出人脸后要画的边框的颜色,RGB格式
    color = (0, 255, 0)

    while cap.isOpened():
        ok, frame = cap.read() #读取一帧数据
        if not ok:
            break

            #将当前帧转换成灰度图像
        grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

        #人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数
        faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 3, minSize = (32, 32))
        if len(faceRects) > 0:            #大于0则检测到人脸
            for faceRect in faceRects:  #单独框出每一张人脸
                x, y, w, h = faceRect
                cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 2)

        #显示图像
        cv2.imshow(window_name, frame)
        c = cv2.waitKey(10)
        if c & 0xFF == ord('q'):
            break

            #释放摄像头并销毁所有窗口
    cap.release()
    cv2.destroyAllWindows()

if __name__ == '__main__':
    CatchUsbVideo("find face", 0)

CatchUsbVideo(window_name, camera_idx),中camera_idx是自己的电脑第几个摄像头,我没有扩展,一般就选0,如果你扩展了usb或者有其他摄像头,一类类推就好



2,准备训练数据

2.1准备自己的脸数据

这个好办,我们直接使用上边使用到的技术,自动截取图像就好,稍作添加:

#-*- coding: utf-8 -*-

import cv2

def CatchPICFromVideo(window_name, camera_idx, catch_pic_num, path_name):
    cv2.namedWindow(window_name)

    #视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头
    cap = cv2.VideoCapture(camera_idx)

    #告诉OpenCV使用人脸识别分类器
    classfier = cv2.CascadeClassifier("D:/opencv/opencv/sources/data/haarcascades/haarcascade_frontalface_alt2.xml")

    #识别出人脸后要画的边框的颜色,RGB格式
    color = (0, 255, 0)

    num = 0
    while cap.isOpened():
        ok, frame = cap.read() #读取一帧数据
        if not ok:
            break

        grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  #将当前桢图像转换成灰度图像

        #人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数
        faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 3, minSize = (32, 32))
        if len(faceRects) > 0:          #大于0则检测到人脸
            for faceRect in faceRects:  #单独框出每一张人脸
                x, y, w, h = faceRect

               
  • 15
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
课程介绍 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 人工智能已经来了,它就在我们身边几乎无处不。技术正彻底改变类 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 的认知,重建人机相互协作关系。前所未有自动驾驶正在构我们头脑中出行地图和 人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆人类生活图景,今天的 工智能技术也正在翻译、写作绘画等文和艺领域进行大胆尝试。 我们真的知道什么是人工智能吗 我们真的知道什么是人工智能吗 我们真的知道什么是人工智能吗 我们真的知道什么是人工智能吗 ? 我们真的准备好与人工智能共同发展了吗 我们真的准备好与人工智能共同发展了吗 我们真的准备好与人工智能共同发展了吗 我们真的准备好与人工智能共同发展了吗 我们真的准备好与人工智能共同发展了吗 ? 我们该如何在心理上将人和机器摆正确的位置 我们该如何在心理上将人和机器摆正确的位置 我们该如何在心理上将人和机器摆正确的位置 我们该如何在心理上将人和机器摆正确的位置 我们该如何在心理上将人和机器摆正确的位置 ? 我们该如何规划人工智能时代的未来生活…… 我们该如何规划人工智能时代的未来生活…… 我们该如何规划人工智能时代的未来生活…… 我们该如何规划人工智能时代的未来生活…… 我们该如何规划人工智能时代的未来生活…… 当人工智能时代成为必然,个应该做些什么才避免被 当人工智能时代成为必然,个应该做些什么才避免被 当人工智能时代成为必然,个应该做些什么才避免被 当人工智能时代成为必然,个应该做些什么才避免被 当人工智能时代成为必然,个应该做些什么才避免被 当人工智能时代成为必然,个应该做些什么才避免被 当人工智能时代成为必然,个应该做些什么才避免被 AI 取代?企业应该如 取代?企业应该如 何升 级,才能在新的商业变局到来前抓住先机? 级,才能在新的商业变局到来前抓住先机? 级,才能在新的商业变局到来前抓住先机? 级,才能在新的商业变局到来前抓住先机? 级,才能在新的商业变局到来前抓住先机? 我们无需担忧和惧怕人工智能时代的到来,所要做应当是尽早认清 我们无需担忧和惧怕人工智能时代的到来,所要做应当是尽早认清 我们无需担忧和惧怕人工智能时代的到来,所要做应当是尽早认清 我们无需担忧和惧怕人工智能时代的到来,所要做应当是尽早认清 我们无需担忧和惧怕人工智能时代的到来,所要做应当是尽早认清 我们无需担忧和惧怕人工智能时代的到来,所要做应当是尽早认清 我们无需担忧和惧怕人工智能时代的到来,所要做应当是尽早认清 我们无需担忧和惧怕人工智能时代的到来,所要做应当是尽早认清 我们无需担忧和惧怕人工智能时代的到来,所要做应当是尽早认清 AI 与人类 的关系,了解变革规律更好地拥抱新时代到来。 的关系,了解变革规律更好地拥抱新时代到来。 的关系,了解变革规律更好地拥抱新时代到来。 的关系,了解变革规律更好地拥抱新时代到来。 的关系,了解变革规律更好地拥抱新时代到来。 的关系,了解变革规律更好地拥抱新时代到来。 的关系,了解变革规律更好地拥抱新时代到来。 的关系,了解变革规律更好地拥抱新时代到来。 的关系,了解变革规律更好地拥抱新时代到来。 通过本课程 拓展一下思维,期待收获 拓展一下思维,期待收获 拓展一下思维,期待收获 拓展一下思维,期待收获 能多一些 。包含:机器 包含:机器 包含:机器 学习 、深度学习通信感知与行动等人工智能在 、深度学习通信感知与行动等人工智能在 、深度学习通信感知与行动等人工智能在 、深度学习通信感知与行动等人工智能在 、深度学习通信感知与行动等人工智能在 、深度学习通信感知与行动等人工智能在 、深度学习通信感知与行动等人工智能在 、深度学习通信感知与行动等人工智能在 、深度学习通信感知与行动等人工智能在 、深度学习通信感知与行动等人工智能在 各领域的应用知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值