查看完整版本: [-- 基于Face++的人脸识别程序 --]

QTCN开发网 -> Qt 作品展 -> 基于Face++的人脸识别程序 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

1225ljxa 2016-02-15 18:06

基于Face++的人脸识别程序

虽然识别度很低。。。
这是主界面
[attachment=14792]

使用之前首先要去face++的官网注册一个帐号,获取key和secret

http://www.faceplusplus.com.cn/

然后进入程序设置key和secret

[attachment=14789]

然后还要进入管理,创建你要识别的人物,就是往服务器上次face(图片),要确保没张图片都只有一个脸,而且是同一个人,并且图片要是jpg格式,不能大于1M。
[attachment=14791]

[attachment=14788]



1225ljxa 2016-02-15 18:09


最后就进入人脸识别的控制界面
[attachment=14795]

首先设置摄像头的地址,如果这个不懂,可以先去了解下mjpeg streamer的用法,
例如地址是http://192.168.2.217:8080/?action=stream,那么就填写
http://192.168.2.217:8080/?action=stream?dummy=param.mjpg。


然后要设置目标人物的名字,就是你创建的那个人的名字
[attachment=14800]





最后就点击网络摄像头启动,程序会监控当前画面的变化,如果有变化就抓取当前的画面进行识别(画面也会保存在save文件夹下面)
,如果识别正确,会往局域网内9527端口用udp广播目标人物的名字和识别的正确率。


原理:
                    程序不断对监控画面的计算,如果画面的变化大于遇到的程度,那么当前的画面就会被抓下来,
                    然后通过调用face++的网络api,进行云端识别。




已知问题:
                    1、识别并不是很理想,因为face++的识别本身也有一定的问题,例如如果图片中的头部是斜的,

                    那么就很有可能检测不到头,还有眼睛被遮挡等情况。

                    2、由于是云端识别,网络质量很强调。
                    3、由于我对图像处理不太懂,识别的效率很低,这也是识别率低的一个重大原因。


总结:花了一个星期写完,虽然好像用处不大,但是对qt的界面编写更加掌握了,尤其是多线程,
            在win7下一旦UI线程被阻塞了,那么程序马上就会变成未响应状态,因此程序一但遇到需要大量运算和阻塞,都
            提交线程后台处理,UI界面则显示等待进度条。最后想到的改进方法是抛弃mjpeg streamer,自己用v4l2,采集
            摄像头,然后把视频流直接发给程序,这样或许效率会高点。

1225ljxa 2016-02-15 18:15
本部分内容设定了隐藏,需要回复后才能看到

nigoole 2016-02-16 08:46
大神很溜啊~~可否。。。393320854@qq.com

z609932088 2016-02-16 10:13
没搞懂怎么玩,图片还不能大于1M

1225ljxa 2016-02-16 23:56
z609932088:没搞懂怎么玩,图片还不能大于1M[表情]  (2016-02-16 10:13) 

没办法,face++的api是这样规定的

1225ljxa 2016-02-17 00:11
nigoole:大神很溜啊~~可否。。。393320854@qq.com (2016-02-16 08:46) 

暂时还不行

1225ljxa 2016-02-17 12:53
  


toby520 2016-02-18 17:18
人脸识别 可以采用本地的算法进行识别 比上传到第三方服务器效率要高多了,另外有开源的项目
https://github.com/biometrics/openbr 针对Qt兼容非常友好的

1225ljxa 2016-02-19 09:22
toby520:人脸识别 可以采用本地的算法进行识别 比上传到第三方服务器效率要高多了,另外有开源的项目
https://github.com/biometrics/openbr 针对Qt兼容非常友好的[表情] [表情] [表情]  (2016-02-18 17:18) 


etasry 2016-02-21 20:25
这个有点帅

armyz 2016-02-23 16:10


枫界易城 2016-02-25 16:01

twlkengi 2016-03-26 10:39

foxgod 2017-09-03 15:36
toby520:人脸识别 可以采用本地的算法进行识别 比上传到第三方服务器效率要高多了,另外有开源的项目
https://github.com/biometrics/openbr 针对Qt兼容非常友好的[表情] [表情] [表情]  (2016-02-18 17:18) 

这个我们只要把openbr里面的源码加载到我们的程序里面就可以了吗,因为并不是一个qt 工程

stlcours 2017-09-04 21:58

hawks69 2018-01-20 09:56
不错

小雨又沐风 2018-01-20 13:01
大神很溜啊~

1250479606 2018-07-19 21:36
厉害厉害6666

1250479606 2018-07-19 21:38
大神能给个源码么?刚好需要 1250479606@qq.com

tramidu 2018-07-26 16:17
1225ljxa:[内容隐藏] (2016-02-15 18:15) 

看下什么内容

圣徒的管家 2018-07-30 16:06
1225ljxa:[内容隐藏] (2016-02-15 18:15) 

66666666

狗居士 2018-08-01 11:12
    

1056247163 2019-07-25 13:06
谢谢老大分享,学学习习

leo_xiangyi 2019-07-26 16:02
1225ljxa:没办法,face++的api是这样规定的 (2016-02-16 23:56) 

给个赞!记得以前(今年初)调用Face++API时有超过1M的图像是可以的呀,好像上限2M,记不清了。另建议:Qt可以结合Opencv视觉库来对图像进行处理,效果可能会好(自己并没有试过),虽然Opencv有自己训练好的face XML。

stanly 2021-01-19 00:58
虹软不香吗


查看完整版本: [-- 基于Face++的人脸识别程序 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled