前言
最近看到某歌星演唱会又抓到了几个在逃犯人,而自己也熟悉了人脸识别相关的功能和逻辑,所以最做了一个java版的人脸识别系统。
思路和使用技术说明
- 获取远程摄像头的视频流并截取视频图片然后转发视频流 ,这里主要使用了javacv的相关api,有需要的可以自行百度;
- 对图片进行人脸识别然后转发到前端 这里是用来websocket技术,对识别出来的人脸图片发送到大屏进行显示;
- red5流媒体服务器 视频流转发后都传送到了视频流服务器上,然后在页面试用video.js等流媒体插件进行视频播放,同时对视频的发布和查看进行权限识别验证;
- ifast框架 为了减少其他非核心业务的开发,是用来现成的脚手架;
- 虹软人脸识别sdk 人脸识别使用了虹软的sdk;
- 目前缺点就是浏览器要不支持flash了,所以后期需求更换流媒体服务器,备选方案是livego流媒体服务器,但是因为是go语言所以进行二次开发不太容易。;
功能说明
- 摄像头管理
进行摄像头的添加维护,查看等功能。 - 人脸库管理
对要识别的人员的信息进行维护管理。 - 单人脸识别
人脸照片进行识别对照。 - 人脸识别大屏
时刻显示识别出的人脸信息。
效果展示
项目地址
https://gitee.com/endlesshh/red5-rtmp-push 功能项目地址
https://gitee.com/shiqiang1/red5-maven-tomcat流媒体服务器
二次开发说明
- red5-maven-tomcat
两个项目都是使用eclipse开发完成,使用maven进行代码管理。其中red5-maven-tomcat是对red5进行了重新的组织,可以在现有代码进行开发后,打成war包部署,具体看各自项目的详细介绍。 - red5-rtmp-push
本项目达成jar包后要将虹软的dll文件放到同级目录下。
作者
qq :2863995293
邮箱:2863995293@qq.com
微信:shiqianghh