浏览量: 273 次浏览

人脸识别、语音识别系统

2019年3月6日 0 作者 Nie Hen

前言

这是对上个版本的一次更新
上个版本
项目地址在下面

主要更新的有界面,使用qss美化界面,增添了语音识别,设置等功能,操作会更简单,增加了很多防护措施,改了很多的bug

效果图

enter description here

效果演示:

对图像的处理

  1. 摄像头的处理    https://blog.csdn.net/Nirvana_6174/article/details/81392308 (这是之前写过的)

  2. 主要是使用opencv中 videoCapture函数打开摄像头。笔记本电脑地址是0,ip摄像头的地址一般使用rtsp地址。

  3. 实现人脸识别   https://blog.csdn.net/Nirvana_6174/article/details/81411842 

  4. 我使用的是python的一个人脸识别库face_recognition,实现实时的人脸识别.我博客还有关于其他的人脸识别技术。可以参考 https://blog.csdn.net/Nirvana_6174/article/details/89599441

  5. 拍照  是使用opencv中的imwrite函数 把当前的画面保存下来,实现拍照

对声音的处理

  1. 语音播报 
    语音播报使用的是语音合成的功能,只不过是和人脸识别中识别到的数据联合到了一块,将识别到的人名,进行播报。

  2. 语音合成
    使用的是百度ai中的技术,调用api接口实现。这个可以免费注册,进入控制台创建语音类应用,获取到api_id api_key sercert_key这三个值 。

def baidu_voice(voice):
    """ 你的 APPID AK SK """
    try:
        result  = client.synthesis(voice, 'zh', 1, {
            'vol': 8,'per':0
        })
        # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
        if not isinstance(result, dict):
            with open('auido.mp3', 'wb') as f:
                f.write(result)
        os.system('auido.mp3')
    except:
        return "语音合成出现问题 请检查"

上面需要添加

from aip import AipSpeech
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

  1. 语音识别  
    语音合成和语音识别一样都是调用的百度ai的api接口  
def baidu_speech_reco():
    try:
        with open('recode.wav', 'rb') as fp:
            results=fp.read()
            result = client.asr(results, 'wav', 16000, {'dev_pid': 1536, })
            #print(result)
            if 'result'  in result.keys():
                return str(result['result'][0])
            else:
                return '语音识别出现问题,请检查'
    except:
        return '语音识别出现问题,请检查'

跟上面一样在上面需要加上那两行代码  

其他功能

  1. 注册   
    这个功能主要是利用界面和对配置文件的处理实现。注册主要是放入人的名字,年龄等等的信息。从界面上获取到,然后验证一下没有什么问题,点击确定按钮,就能够写入到配置文件中。对配置文件的处理使用的是  configparser这个库对conf文件进行读写。很方便好用。

  2. 查看记录
    在人脸识别的时候,识别到人脸会记录到一个excel表格中去,这个功能就是来查看这个excel表格的。使用的是os中的popen函数进行打开文件。使用这个函数会重新开启一个线程,打开的比较快。

  3. 设置
    设置的功能跟注册类似,通过界面和对配置文件的处理实现,配置文件时config.conf  把一些可以设置的参数放到界面里面。如果需要设置在界面上填写,当点击确定的时候,判断填写的是否存在问题,如果没有问题就会更改配置文件,从而实现对参数的更改。

else

  1. 上一版本
    上一个版本跟这个版本功能上改变不少很大,在一些功能实现方面 可以参考上一版本的文档。
  1. 界面

对于界面的美化。看这里。详细的介绍了部分的界面美化方法。

  1. 源码

项目地址链接 

其他人脸识别模块介绍  链接地址

点击下面图片即可加群
人工智能-人脸识别

本文写于 2019-03-09 09:52:54
原文链接