是不是偶尔在工作的时候,比较累,想摸下鱼,又担心被老板或同事看到,挺尴尬的,或者给老板留下不好的印象,怎么办?想想咱们一般遇到老板突然走过来的情况,是按下Control+D快捷键,直接到桌面,隐藏下自己看的小说啥的。 不过这种如果光靠眼睛发现,有时候会存在沉溺小说情节中,没有发现老板的情况,或者提心吊胆的。
有没有一种软件自动通过电脑的摄像头监控,发现老板或同事在后面或过来了,自动隐藏屏幕或切换屏幕那,还真有,那就是:BossSensor开源地址:https://github.com/Hironsan/BossSensor
1.1 使用步骤
原理其实很简单:
借助OpenCV库,通过摄像头进行拍摄照片;
需要先训练下模型;
借助深度模型库tensorFlow和Keras 对照片进行人脸分类;
根据分类的结果是老板还是同事执行不同的动作;
示意图:
整体使用步骤:
准备web camera,并接到办公的PC上。
搜集老板及同仁们的人脸相片(执行collect-faces.py或extract-faces.py)。 没有人脸照片,可以通过照片中提取,通过extract-faces.py 提取或者通过网络摄像头,结合collect-faces.py来收集;

有四个参数您可以修改:
sourePath:是指待处理的相片资料夹
savePath:是放置所有取得的人脸资料夹 face_size_min:最小的脸部尺寸,若相片中的脸孔小于该尺寸则忽略不取出。
cascade:定义要使用的脸孔侦测技术,本例中使用的是lbpcascade_frontalface.xml,您也可以改用另一种haarcascade_frontalface_default.xml。这两者的差异容后再说明
分类这些人脸相片。 在Boss sensor主目录下的datasets下新建boss文件夹放老板的脸,安全同事的照片可以放在safe文件夹下。
让系统去学习辨识这些人脸(执行train.py)。 准备好 “老板”(Boss) 和 “安全”(Safe) 两类图片后,就进入了核心环节:我们要开始训练 老板传感器(Boss Sensor),让它能够准确识别出你的老板。 请打开 train.py 文件,检查并修改以下参数:
facePath: 存放 “老板” 和 “安全” 两类人脸图片的 文件夹路径。
faces_min: 每种类型 最多使用多少张图片?虽然我的 “安全” 文件夹有 699 多张,但 “老板” 文件夹只有 59 张,因此系统会自动从每种类型中最多选取 59 张图片进行训练。
face_size: 最小人脸尺寸(像素)。如果人脸图片小于此尺寸,则会被忽略,不参与训练。
test_size: 从所有图片中抽取多大 比例 作为 测试数据集(Test Dataset),用于验证系统的识别准确率?默认值为 0.25(即 25%)。 参数修改完毕后,执行以下命令开始训练:
python train.py执行不就就会训练好模型,输出准确度:
开始运作Boss sensor(执行detect-boss.py)。 检测到老板后,自动切换到工作截图; detect-boss.py 是检测老板的程序,有几个参数:
detectType: “0” 表示侦测到任何人脸都要开启保护画面,”1”表示只有老板才需要。
bossName:老板的名称定义,例如本范例是使用boss文件夹夹名称当作老板。当侦测到此脸孔出现时即会启动保护画面。
cam_id:要使用的web camera编号,第一支通常为0。
monitor_winSize:预览画面的视窗大小。
cam_resolution:定义web camera拍摄的解析度。以本例所使用的罗技C310为例,最大拍照解析度为1080×960
fake_screenFile:侦测到老板来时,要立即显示的画面图片路径。您可以screen capture一张全萤幕的常用工作画面。
cascade:定义要使用的脸孔侦测技术,本例中使用的是lbpcascade_frontalface.xml,您也可以改用另一种haarcascade_frontalface_default.xml。这两者的差异容后再说明。
确认参数OK后,执行:python detect-boss.py运行不就就可以看到预览窗口,每秒2-3帧,比个人的速度还是快多了!
程序和依赖的安装步骤:
git clone https://github.com/Hironsan/BossSensor/tree/master
conda create -n venv python=3.5
source activate venv
conda install -c https://conda.anaconda.org/menpo opencv3
conda install -c conda-forge tensorflow
pip install -r requirements.txt1.2 演示
老板站了起来,他正朝我们走过来。
当他靠近时,程序会获取人脸图像并对图像进行分类。
如果图像被归类为“老板”,它将监控变化。

被折叠的 条评论
为什么被折叠?



