翻译|崔浩评论|孙淑娟能够准确识别动物的技术将帮助主人找回丢失的宠物、农民监控他们的牲畜以及研究人员研究野生动物。基于以上应用场景,微芯片是目前最流行的宠物识别方式。然而,植入芯片需要进行侵入性手术,需要专门的设备来读取芯片,并且存在窃贼提取微芯片的风险。另一种方法是DNA分析,虽然准确,但也非常昂贵和耗时。今天要给大家介绍的是通过人脸识别来识别动物。1、利用计算机视觉软件进行宠物面部识别利用计算机视觉软件对宠物进行面部识别的方案可以作为上述方案的替代方案。尽管存在缺点,但该技术可以在特定情况下表现出高度的准确性。那么,宠物面部识别是如何工作的呢?阻碍技术进步的挑战是什么?宠物面部识别如何工作?一般来说,宠物面部识别解决方案主要分为三个步骤:(1)图像抓取:动物的照片由高分辨率相机拍摄。一些算法只适用于预定义的姿势,因此有必要选择满足这些标准的图像。(2)特征提取:评估动物生物特征数据的适用性,必要时进行预处理。然后算法提取识别所需的特征集。(3)特征匹配:将提取的特征进行数学表达,与其他图像进行匹配。例如,如果我们要在丢失的宠物数据库中寻找一只狗,我们会将这只狗的独特特征与该数据库中的所有动物进行匹配。有几种方法可以执行匹配。一种方法是使用KNN、DBSCAN等算法进行聚类,会生成一组与我们的目标图像高度相似的图像,用户可以手动选择最合适的图像。此外,可以部署概率方法以将最终结果表示为置信水平。例如,识别目标是猫,同时算法判断抓拍到的图像是猫,置信度为90%;如果确定它是一只狗,它的置信度是10%。宠物面部识别2.宠物面部识别示例以下是宠物面部识别如何在现实生活中使用的示例。其中一些系统是成功的、流行的,甚至是商业解决方案,而其他系统则是检验假设的学术尝试。寻找丢失的动物失去宠物会让主人心碎。据统计,此类事件比人们想象的更为普遍。在美国,三分之一的家庭中有8??0%的宠物(狗/猫)一旦失踪就再也找不到了。有几种宠物面部识别程序可以帮助主人找到丢失的朋友。ForPawsForPaws是一款使用宠物识别的APP产品,可以根据狗的鼻尖、肤色、皮毛类型来识别狗。主人必须上传至少三张照片才能创建宠物资料。目前,该解决方案可以识别130个犬种,准确率达到90%。宠物识别公司PIP开发了一款应用程序,允许宠物主人注册和上传他们的动物照片。系统分析宠物的面部特征。如果主人可以提供额外的信息,例如性别、大小和重量,PiP声称它能够识别每只丢失的猫狗。任何找到丢失宠物的人都可以使用该应用程序找到宠物的主人。PiP的解决方案还不断扫描社交媒体上的动物帖子,并向相关社区的居民发送丢失宠物警报。Petco的LoveLost是一款面向宠物主人和动物收容所的应用程序。用户可以创建动物档案,这样当宠物失踪时,软件就可以开始将宠物的生物特征信息与收容所的新来者和其他候选动物进行匹配。识别特定宠物训练算法可用于识别特定宠物。例如,宠物主人可以在准确识别宠物的前提下跟进,例如发出警报或开门让宠物进来。AkaitzGarro前端工程师开发宠物面部解决方案ArkaitzGarro,前端工程师在WeTransfer,开发了一种宠物面部识别解决方案,可以识别邻居家的猫,并派Garro(或指定人员)发送警报。为了拍摄猫的照片,Garro使用了一个小型相机和一个带有运动检测软件的RaspberryPi。当动物接近相机时,系统会拍照并将其发送到AWSRecognition平台,该平台会将其与Garro上传的猫的其他图像进行比较。如果匹配成功,则通知工程师。微软用于宠物识别的物联网设备同样,微软开发了一款物联网设备,用户可以将其安装在家里有宠物进来的地方。当宠物被识别时,设备就会解锁,允许动物进入。助力科研——海豚面部识别除了识别家庭宠物外,面部识别算法还可用于检测其他物种。《海洋哺乳动物科学杂志》发表的一项研究调查了识别海豚所需的一组特征。研究人员在12年的时间里追踪并拍摄了150只宽吻海豚。该团队在其生命周期中识别了海豚的面部和背鳍,并评估了这种方法的可行性。使用这150个对象,最终只有31只海豚具有完整的轮廓(即面部和背鳍左右两侧的清晰照片)。该研究依靠人类专家的意见和统计方法来检测同一只海豚的不同图像之间的相似性。这个实验的结果表明,海豚的面部特征随着时间的推移保持一致,可以用于识别目的。这项技术可以将幼海豚识别为成年海豚,便于追踪海豚的生长情况,极大地促进了海豚研究。同一只海豚在不同阶段的特征有助于农民监测牲畜识别农场动物具有挑战性。北京优瑞科技创始人赵金石,多年从事农业领域软件开发。对于识别农场动物,他有自己的看法:“对于猪来说,识别起来会比较困难。因为猪长得都一样,而牛就相对容易。因为区别明显,它们的斑纹是黑白的,形状各异。”“奶牛和它们的“互动”然而,当涉及到奶牛识别时,挑战就出现了——即确定摄像头的安装位置。奶牛是一种好奇的动物,即使是环境中最细微的变化也会引起它们的注意。当他们发现相机时,他们会通过舔它来与它“互动”。但撇开挑战不谈,拥有一个可以识别奶牛个体的系统将极大地帮助育种者。该解决方案可以将动物的健康状况、饮用水和饮食模式与动物的身份相匹配。借助人工智能,可以检测动物的疾病迹象和异常行为,并在紧急情况下通知饲养员。3.面部识别的挑战如果要实施宠物面部识别解决方案,需要考虑三个主要挑战:确定最佳特征集科学家们指定了可用于面部识别的特征向量。然而,同样的方法对宠物不起作用,因为我们不知道需要使用哪些功能以及如何解释它们。例如,在与人打交道时,科学家可以使用变分自动编码器(VAE)架构从人脸中提取特征。在这种方法中,人们的照片被压缩成包含所需特征的向量,例如肤色和面部表情。但是对于宠物面部识别,目前还没有可靠的特征向量。可靠的特征向量解决可靠的特征向量将显着推进该领域。开源示例DogFaceNet是一种基于深度学习的狗识别实现。它使用狗的眼睛和鼻子作为特征集。如果总体目标是区分犬种,此解决方案的效果相当不错,但在区分双胞胎动物时表现相当差。AnimalPose另一个例子是使用LocalBinaryPatternHistogram(LBPH)算法,该算法将图像转换为像素,并通过比较来自不同图像的像素值来进行操作。这种方法取决于动物的姿势,这使得它对姿势变化很敏感。值得一提的是,这种做法已经过时了。目前,工程师倾向于使用更高级的功能。为相机摆出动物的姿势就像人类摆出某些姿势并静静地坐着一样容易。然而,当我们试图让猫或狗摆出某种姿势时,事情就没那么容易了。这需要应用于“姿势敏感”的面部识别算法,例如那些依赖像素相似性的算法。提供全面的训练数据集为了使训练有效,数据必须多样化并涵盖算法预期执行的所有任务。例如,如果算法识别出不同的狗品种,那么数据集应该包含从不同角度捕获并正确标记的信息源。这里可能有多种情况,例如:有人可以提交混合品种的图像,有人可能错误地标记了图像并分配了错误的品种名称。为了避免此类问题,专家必须一张一张地审查数据集中的所有照片,以验证图像的合法性和标签的准确性。4.结论宠物面部识别领域的进展一直受到阻碍,因为研究人员仍然无法确定可用于大规模准确识别动物的最佳特征组合。尽管如此,仍有一些基于受限数据的成功应用,例如识别特定动物或小群家养/野生动物。如果您要为宠物构建自己的面部识别系统,请记住动物是生物识别技术的非合作用户。有的会坚持舔镜头,有的拒绝摆姿势拍照。为了消除不必要的麻烦,可以将算法设计成姿势和表情中性。另一个需要考虑的问题是隐私法规。如果你想构建一个寻找丢失宠物的应用程序,你需要主人透露他们的位置吗?即使是主人家中宠物的照片,也可能会泄露与主人相关的隐私信息。原文链接:https://readwrite.com/pet-face-recognition-are-we-there-yet/译者介绍崔浩,社区编辑,高级架构师,18年软件开发和架构经验,10年分布式建筑经验。他曾经是惠普的技术专家。乐于分享,撰写了多篇阅读量超过60万的热门技术文章。《分布式架构原理与实践》作者。
