关于人脸识别项目的技术选型

2023-08-23 10:05:34 +08:00
 luomao

最近有一些想法,关于存储照片之类的想要搞一个服务,对比了市面上很多做相关的产品辟如 photoprism / immich / plex 等,发现还是没有自己心目中的能力,于是产生了自己开发的想法。 无奈自己是个 java 仔,关于如何做人脸识别匹配完全没有涉及过,我看了阿里云的人脸识别是挺便宜的,但考虑到隐私问题这个不是首选,不知道各位大佬有没有推荐开源比较适合我这种菜鸟使用的人脸识别项目,谢谢各位了

2660 次点击
所在节点    程序员
14 条回复
i979491586
2023-08-23 10:10:30 +08:00
我最近也在研究这个我打算用 tensorflow 做,我目的主要是做活体验证,都在移动端完成。
securityCoding
2023-08-23 10:12:07 +08:00
github 好多,直接搜 face 关键字
Donahue
2023-08-23 10:19:39 +08:00
@i979491586 pytorch 好像简单点,包括在移动端用 torchscript 部署都简单点,然后最好就是用别人现有的网络模型而不是重新写一个会省事点
imxiaoi
2023-08-23 10:24:59 +08:00
mediapipe 不知道能不能满足
Alias4ck
2023-08-23 10:37:44 +08:00
luomao
2023-08-23 10:55:58 +08:00
@i979491586
@securityCoding
@imxiaoi
@Alias4ck
感谢各位,我仔细研究一下
m2276699
2023-08-23 10:57:00 +08:00
飞桨
NoOneNoBody
2023-08-23 11:22:51 +08:00
翻了一下我的 python 程序,从采集到识别(机器学习),几十行
大部分工作都是三方包完成了,现有模型已经不俗,不需自己搞模型,我脑子花得更多还是在如何方便地遍历图片文件

github 上一大堆人脸识别,java 应该也不少,毕竟 android 端需求挺大的

初入门先理清需求:
a. 判别两个样本是否同一人,这个更像是人脸鉴权开机、开门那种
b. 未知照片找已知的人,已知的人已经有相当多样本(照片)
c. 找未知的人(不属于任何已知的人)
这几个前面采集的步骤是一样的,但后面判别的方式有点不同
b 是比较简单的,我恰巧做的是这个,逻辑不复杂,代码很少
c 对我来说就比较难,看上去好像将 b 取反就是了,但实际逻辑并非这样,因为存在 threshold ,threshold 意味着有可能误判,需要更完善考虑“误判”情况
luomao
2023-08-23 11:55:40 +08:00
@NoOneNoBody 感谢大佬提供思路
mightybruce
2023-08-23 14:31:09 +08:00
像详细写写你的需求再决定。
人脸识别做得好没有那么容易。
工程上如果不是调用服务,那就必须写 c++(python) 代码来做,
虽然 OpenCV 有提供 java, 但是支持得不怎么样,很多库是没有 jni 的。
其他语言第一不成熟,第二不适合。
移动端更加不一样了,要考虑更多取舍, 性能,模型大小。
移动端最好不要直接跑 pytorch, 用移动端的一些框架,和一些工具转换原模型到 onnx 再到一些移动端框架模型。

你先写清楚再说
elonmask
2023-08-23 14:57:44 +08:00
@i979491586 android 可以 mlKit 识别人脸,也可以 yoloV5 或者 mtcnn ,对于人脸匹配可以用 mobile facenet 。
都有现成的模型可以拿来用,效果很不错。但是难点是活体检测。
c2const
2023-08-23 14:59:39 +08:00
1.自写人脸识别,还会存在安全问题,即被灰/黑产用视频/图片+AI 来生成假视频,蒙混过关 :)
2.个人项目无所谓,如果要商用,还得在这方面攻防 :(
LXGMAX
2023-08-23 15:01:43 +08:00
商用建议和相关算法公司合作
luomao
2023-08-23 16:27:19 +08:00
@mightybruce
@c2const
@LXGMAX
谢谢各位大佬,目前可能不会往商用方向走,我也没想好如何商业化,可能是自己小圈子里玩玩。其次我应该都放到服务端跑,应该不会涉及到移动端跑模型,只是想在图片管理系统中简单做点人物标识啥的。至于安全问题应该也不会遇到,我不会拿人脸数据做安全相关的功能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/967553

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX