需求来自于同学手机有一次被人翻,表示很反感
所以我基于魅族的系统级防盗功能想到了一个 idea
基于现在手机强悍的处理能力尤其是华为的 NPU 或者高通的 AIE,结合快速充电和优秀的功耗控制使这个 idea 成为可能。
主要是基于一个硬件的前置摄像头,加上开放的 Android 系统,结合软件进行。
软件体验:
一个应用程序在第一次安装完成之后用户主动提供自己的人脸进行采集,只需要 2D 图片即可。(此处的安全等级不用很高,精确度也不必)。手动给这个应用开一路绿灯,应用默默在后台运行。应用程序在一个设定的时间间隔后开启前置摄像头拍照片,拍摄后与原有数据对比。如果相似度低于一个阈值,则由软件发起锁屏操作。
形成过程:
这个东西实现可以基于很多 OpenCV 开源的人脸识别库,或者国内 ArcSoft 的免费离线 SDK,配合 code,应该可以实现一个简易的版本。
其它可能的发展:
可以自定义粒度(频次),甚至可以设定为 2 秒一次只要不怕耗电
检测照片的亮度,给予一定的动态宽容度,以改善光线不好的条件下但检测出是个人脸时的识别能力
对于照片的颜色进行判断,光线太暗,屏幕补光(这条对于 OLED 屏幕无效)(不适合晚上)
可以定义一个放行时间,比如借给可信的人使用时。可以通过安卓通知栏的快捷按钮进行快速设置,比如 5 分钟内,15 分钟内一律放行
可以加第二个人脸,比如女朋友用手机不受限制。
给予一定的宽容次数,比如说检测到是人但两次的无法正确识别再关闭。
对于特定软件加规则,比如检测到一个游戏软件在前台运行,自动停止检测。(因为拍出一片黑) 如果检测到通讯、金融的 app 在前台则更改检测频率变快。(更安全)
我觉得可能存在的问题:
对于 Vivo NEX 、小米 Redmi K30Pro 这种设备极其不友好。(会影响升降机的寿命,同时体验极差)
在华为 MateX,小米 Mix Alpha 等设备上因物理限制完全无法使用。(得翻过来那种)
在部分旧设备上完全是增加体验或性能负担(没有指纹解锁、性能低于 SDM660/MT6753T 的设备)
我觉得可能存在冲突的功能:
安卓自带定时锁屏,所以这个软件在没有任何外人时纯属浪费电
落在别人手真的不想锁屏的话点点屏幕就得了?
解决方法
不理会安卓的操作机制,按照软件自己的计时器运作
其它
很安全,不会泄露信息,因为全程离线,本地化操作
我的胡思乱想,如果我开坑填坑的话,到退休前怎么着也能做出来了吧????
完全奇思妙想,如有雷同纯属巧合。
(代码量爆炸(估算))
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.