开源照片管理工具digiKam发布了最新7.0的测试版,这个版本主要的更新是换掉旧有的脸部识别技术,改采用深度学习算法,以强化脸部识别的功能,过去要6张脸照才能开始进行人脸识别,但现在只要1张。
digiKam早从第二版开始,就提供了脸部侦测与识别的功能,但因为后台使用的算法较旧,无法有效支持自动化人脸管理工作流程。过去使用的方法是OpenCV函数库中,基于特征的级联分类器(Cascade Classifier),用来隔离或是标记人脸。
这种旧方法无法提供高水准的侦测结果,虽然分析时可以获得约80%的良好结果,但是用户需要提供大量反馈,以协助程序确认是否侦测到人脸,且根据用户在bug管理系统上的反应,旧的人脸识别功能无法良好地自动识别人脸并进行标记。
而其实早在2017年,社群就打算在digiKam的人脸识别中使用深度学习技术,但是当时使用的是Dlib函数库,其神经网络的表现不佳,因为计算速度慢,所以也只能当作概念的技术验证,无法真正的应用在生产环境中。而在今年,这项计划又被重新打开,保留了部分想法,但是在侦测和识别引擎上,则使用了更新的深度学习方法。
新的实例是基于OpenCV函数库中的深度神经网络功能,将预学习数据模型用于脸部管理上,不需要学习阶段就可以进行脸部侦测与识别,整体执行速度更快且正确率达到97%,而且还能用于侦测非人像是狗的脸。新的神经网络模型的性能很好,可以侦测模糊、屏蔽、侧面以及只有一部分的脸部。
而在脸部识别方面,新的实例只需要一张照片就可以开始执行,这比起过去的实验性功能,需要6张照片脸部识别功能才可开始运行,效率明显高出不少,当然,标记越多脸孔,脸部识别功能的精确度就越好,现在的精确度可达95%,而过去的实例运算速度慢,且精确度一直无法突破75%。运算性能也获得大幅度的改进,由于新实例支持多核心运算,因此可以加快计算速度。
由于新的实例允许使用其他预学习数据模型,因此官方预告,他们还会将侦测与识别功能,扩展应用到诸如纪念碑、植物与动物等不同类型的物体上。目前测试阶段发现了一些内存泄漏的复杂问体,开发团队正着手解决中。