使用视觉技术的动物标识
文献发布时间:2023-06-19 10:58:46
技术领域
本公开一般涉及农业的领域,并且更具体地,本公开涉及用于自动验证动物的身份的方法和装置。
背景技术
动物标识已经存在了几十年。最初,首选的方法是标记身体部位(打铭牌),主要是为了防止有价值的动物资产被盗或作为所有权的一般证明。如今,除了防盗和所有权的一般证明之外,动物标识在牲畜(诸如产奶动物)的生产管理和疾病控制中起着重要的作用。例如,可能期望在挤奶、喂食等时标识产奶动物。
动物(牲畜)管理的常规方法包括:耳朵打口,主要是对猪;塑料和条形码耳朵打标,主要用于奶牛和羊;奶牛颈链上的编号;使用以液氮、干冰或酒精冷却的金属进行数字或字母的冷冻打铭牌;油漆打铭牌;以及纹身。
电子和生物标识是上述传统方法的替代方法。电子标识需要使用电子耳标、可注射应答器或瘤胃丸来包含和扫描所需信息。然而,对微芯片或天线的无意损坏或有意篡改,以及没有合适的扫描设备,都可能使标识变得不可能。
生物特征标识依赖于个体特有的内在特征,而不需要侵入性程序,并且与传统方法或微芯片标识不同,动物的生物特征数据不能被操纵。例如,最近出现了奶牛面部识别软件。
然而,这些类型的标识与其他问题相关联。例如,困难之一是奶牛可以以非常不同的视角靠近相机,因为动物不能像人类一样被要求为相机摆姿势。
发明内容
本公开的目的是减轻现有技术的至少一些缺点。因此,目的是提供一种能够使用视觉技术进行有效和鲁棒标识的解决方案。
根据第一方面,本公开涉及用于确定具有已知身份的动物群体中的个体动物的身份的视觉系统。该视觉系统包括第一图像传感器装置、第二图像传感器装置、数据存储器和控制电路。第一图像传感器装置被配置为捕捉个体动物的三维图像或热成像图像。第二图像传感器装置被配置为捕捉个体动物的二维图像。数据存储器被配置为存储表示具有已知身份的动物群体的参考数据。控制电路被配置为获得个体动物的第一图像,其中第一图像是由第一图像传感器装置捕捉的三维图像或热成像图像,并且被配置为在第一图像中检测身体部位。控制电路还被配置为响应于检测到身体部位,获得个体动物的第二图像,其中第二图像是对应于第一图像并且使用第二图像传感器装置捕捉的二维图像,并且被配置为通过将第二图像的度量与数据存储器中的参考数据进行比较来标识个体动物。通过结合来自不同类型的图像的信息,实现了快速和可靠的动物标识。第一类型的图像是适于快速和鲁棒地检测身体部位的图像,而第二类型的图像通常具有用于奶牛标识的良好特征。该系统可以以与传统标识系统相同的方式使用,例如在挤奶、喂养或其他需要标识和跟踪奶牛的应用中使用RFID。然而,提出的解决方案不要求奶牛携带RFID标签,或任何其他类型的标签或标记。
在一些实施例中,控制电路被配置为基于第一图像来标识对应于检测到的身体部位的第二图像的度量,并被配置为通过将标识的度量与参考数据进行比较来确定身份。通过使用具有能够有效检测身体部位的属性的第一图像,以有效的方式确定适于标识的度量。因此,标识也可以更加有效和可靠。
在一些实施例中,控制电路包括被配置为将第二图像的度量与参考数据进行比较的分类器。因此,简单的实现是可能的,因为可以使用标准的分类器。
在一些实施例中,控制电路被配置为重复第一图像的捕捉,直到检测到身体部位,并且被配置为响应于在第一图像中检测到身体部位来获得第二图像。因此,可以在第一图像类型的图像的序列中扫描身体部位。直到检测到身体部位,才使用第二图像类型的图像执行更复杂的标识。
在一些实施例中,第一图像比第二图像具有更低的角度分辨率。因此,需要较少的处理能力,因为可以在不太复杂的图像上执行身体部位的检测,这仍然提供良好的身体部位检测属性。
在一些实施例中,第一图像和第二图像在空间和时间上对齐或相关。因此,可以仅将第二图像的相关部分馈送到标识算法中,这使得标识更加有效。
在一些实施例中,第二图像包括颜色信息,并且其中第一图像不包括颜色信息。这使得标识更加有效,因为颜色信息在标识中是有益的,但在扫描身体部位时则不然。
在一些实施例中,身体部分是个体动物的头部、背部或鼻子。因此,所提出的方法可以应用于不同类型的标识算法。
在一些实施例中,第一图像传感器装置和第二图像传感器装置布置在同一相机中。因此,小的安装是可能的。
根据第二方面,本公开涉及用于确定具有由存储在数据存储器中的参考数据表示的已知身份的动物群体中的个体动物的身份的方法。该方法包括捕捉个体动物的第一图像,其中第一图像是三维图像或热成像图像,并在第一图像中检测个体动物的身体部位。该方法还包括基于检测来获得个体动物的第二图像,其中第二图像是对应于第一图像的二维图像,并且通过将第二图像的度量与参考数据进行比较来确定个体动物的身份。
在一些实施例中,该方法包括基于第一图像标识对应于检测到的身体部位的第二图像的度量,并且该确定包括将标识的度量与参考数据进行比较。
在一些实施例中,标识包括使用分类器将第二图像与参考数据进行比较。
在一些实施例中,重复第一图像的捕捉,直到检测到身体部位,并且其中响应于在第一图像中检测到身体部位来执行获得。
在一些实施例中,第一图像比第二图像具有更低的角度分辨率。在一些实施例中,第一图像和第二图像在空间和时间上对齐或相关。在一些实施例中,第二图像包括颜色信息,并且其中第一图像不包括颜色信息。
根据第三方面,本公开涉及被配置为执行根据第二方面的方法的控制电路。
根据第四方面,本公开涉及包括指令的计算机程序,当该程序由计算机执行时,该指令使得计算机执行根据第二方面的方法。
根据第五方面,本公开涉及包括指令的计算机可读介质,当指令被计算机执行时,使得计算机执行根据第二方面的方法。
附图说明
图1是平行隔间挤奶室的示意性俯视图,其中实施了所提出技术的示例性实施例。
图2示出了根据一些实施例的用于确定个体动物的身份的视觉系统。
图3示出了由图2的视觉系统中的相机捕捉的奶牛的不同图像。
图4示出了根据一些实施例的控制电路。
图5是根据一些实施例的用于确定个体动物的身份的方法的流程图。
具体实施方式
动物可以像人类一样通过个体生物特征来识别(recognize)。例如,传统的面部识别算法已经适应了不同的动物。使用生物特征技术从动物群体中标识(identify)个体动物的过程通常包括两个步骤。首先,需要在图像中找到身体部位,例如头部或背部。这被称为身体部位检测或对象检测。身体部位检测可能相当具有挑战性,因为动物不会直观地面对相机或传感器。因此,当连续捕捉图像时,可能难以找到适于动物标识的图像。此外,从不同的角度来看,动物的身体部位可能会有很大的不同。因此,在许多情况下,需要捕捉大量图像。此后,选择一些被认为适于标识的标识图像用于进一步处理。
在第二步中,将标识图像与一组模板匹配,该组模板包括与动物群体的个体相对应的参考数据。这是例如使用所谓的匹配器来完成的。匹配器或分类器可以使用不同的公知技术,例如支持向量机、随机森林或更高级的机器学习。基本上,大多数适合人脸的面部识别算法可以适用于动物。
匹配器将一个或多个标识图像作为输入,然后,如果标识成功,它提供单个动物的身份作为输出。如果标识不成功,输出也可以是“不匹配”。在许多情况下,匹配是相当复杂的操作,尤其是当群体中有许多动物时。因此,通常期望只向匹配器馈送几个高质量的标识图像。
当使用视觉技术系统进行动物标识时,需要身体部位(或对象)检测和动物标识的高可靠性。通常,期望快速检测身体部位,例如奶牛面部。此外,视觉技术系统需要能够处理不同颜色的奶牛、安装中的不同背景和不同的照明条件。
所提出的技术基于这样的认识,即身体部位检测和动物标识是完全不同的操作。身体部位检测基本上只需要标识身体部位,优选地当从有利的方向看时,例如从前面直走。在检测身体部位时,动物的个体特征并不重要。相反,重要的是整体形状。因此,可以有利地使用具有低分辨率并且没有颜色信息的图像。然而,对于标识来说,图像细节(诸如颜色和角度分辨率)是重要的。
本公开提出了一种使用不同类型的图像的组合来进行动物标识的方法。更具体地,第一类型的图像用于检测动物的特定身体部位,并且第二类型的图像用于个体的实际标识。例如,使用被配置为捕捉2D(二维)和3D(三维)图像的相机。例如,3D图像适于奶牛头部检测,因为奶牛头部具有独特的3D特征,这与背景非常不同。因此,使用3D图像检测奶牛头部的算法通常既鲁棒又快速。另一方面,2D图像适于动物标识,只要从预定的角度描绘动物。2D图像可以包括更多用于个体标识的特征,诸如颜色和高分辨率。甚至可以从具有高质量的2D图像中读取数字标签,例如耳标。
不同类型的图像需要对齐(或至少相关),使得当在(第一图像类型的)第一图像中检测到身体部位时,可以标识包括检测到的身体部位的(第二图像类型的)第二图像的片段。然后,可以使用标准标识算法来执行实际标识,以将(第二图像类型的)第二图像的标识片段与参考数据(例如一组模板)相匹配。然而,因为已经验证了第一图像包括身体部分,所以匹配步骤通常会更有效。
图1示出了用于给多头奶牛1挤奶的挤奶室5,其中可以实施所提出的技术。挤奶室5在这里是双室,包括第一排平行的挤奶隔间14和第二排平行的挤奶隔间16,它们中的每一个包括12个隔间。排14、16中的每一者都设有视觉系统100(图2),视觉系统100包括位于14a、16a各自前端的相机2,奶牛1可以在被标识的同时连续通过相机2。这样,进入挤奶室或离开挤奶室的奶牛都可以被标识出来。
现在将参考图5的流程图和图2的视觉系统100进一步详细描述所提出的技术。
图2示出了用于确定具有已知身份的动物群体中的个体动物1的身份的视觉系统100。在这个示例中,群体是指例如存在于农场中的所有奶牛。视觉系统可以以与例如使用RFID的传统标识系统相同的方式使用。例如,它可以用于在挤奶或喂食期间保持跟踪奶牛。在图1的示例中,视觉系统100安装在挤奶室5中,以便跟踪哪些奶牛正在进入和/或离开挤奶室5。然而,视觉系统可以在其他环境中实现。例如,该系统可以在移动电话中实现,然后一些计算可以在后端服务器中执行。
视觉系统100包括第一图像传感器装置10、第二图像传感器装置20、数据存储器30和控制电路40。第一图像传感器装置10被配置为捕捉个体动物1的适于检测动物身体部位的图像。因此,它通常是不受颜色或阴影影响的图像传感器。因此,第一图像传感器装置10擅长对形状而不是细节进行成像。
在一个实施例中,第一图像传感器装置10是三维图像传感器。众所周知,三维图像传感器非常适合检测对象,例如奶牛头部。在3D图像中可以很容易地检测到延伸的身体部位,诸如奶牛头部,然后通过分析其特征形状和尺寸可以容易地验证延伸部分是例如奶牛头部。
在另一个实施例中,第一图像传感器装置10是热成像传感器,诸如红外IR传感器。IR传感器是用于通过发射和/或检测红外光来感测其周围环境的某些特性的电子仪器。红外传感器有利于对象检测,因为它只描绘轮廓,并且没有其他个体特有的可见细节。
第二图像传感器装置20被配置为捕捉个体动物1的二维图像。第二图像传感器装置20适于标识个体。例如,第二图像传感器装置20被配置为以比第一图像传感器装置10更高的角度分辨率捕捉图像。角度或空间分辨率是任何成像设备(诸如光学或射电望远镜、显微镜、相机或眼睛)分辨对象小细节的能力。换句话说,这基本上意味着第二图像传感器装置20被配置为比第一图像传感器装置10捕捉更多细节的图像。第二图像传感器装置20是例如二维图像传感器。第二图像传感器装置20还可以被配置为捕捉具有颜色信息的图像,即颜色图像。颜色是特征,其通常对标识个体很重要,但这可能是检测的一个缺点,因为它可能会使轮廓和形状不太明显。
在一些实施例中,第一图像和第二图像在空间和时间上对齐或相关。换句话说,在两个图像中至少有一个参考点是已知的。例如,奶牛的一个特定点位于两个图像的同一像素中。空间上的完全对齐当然是有益的,但是在实践中,对于第一图像中与检测到的身体部位相关的像素,有可能在另一图像中标识对应的像素或像素组就足够了。
在一些实施例中,第一图像传感器装置10和第二图像传感器装置20布置在同一外壳(例如相机2)中。但是,并不一定要把它们布置在同一相机里,只要对齐即可。在一些实施例中,相机2被放置在只有一单个动物能够同时通过的地方,例如通道。然而,相机2也可以是移动的并且由用户(例如,农民)操作。
数据存储器30是被配置为存储表示具有已知身份的动物群体的参考数据的存储设备。群体是例如农场里的奶牛。参考数据与相应个体动物1的身份指示符相关联地存储。在一些实施例中,参考数据包括图像数据或从参考图像数据导出的其他度量。度量是例如诸如颜色、眼睛之间的距离、眼睛和鼻子之间的距离等特征。在一些实施例中,参考数据包括个体动物(或者更确切地说是身体部分)的训练的模型,例如卷积神经网络。这种模型是众所周知的,因此不再详细描述。
控制电路40、或者简单地说控制器或控制单元、是被配置为确定具有已知身份的动物群体中的个体动物的身份的计算设备,其中已知身份由存储在数据存储器30中的参考数据表示。控制电路40可以结合例如相机2中的图像传感器装置10、20来实现,或者结合相机2来实现。控制电路也可以(至少部分地)在位于远程位置的服务器中实现。
图4更详细地示出了控制电路40。控制电路40包括硬件和软件。硬件例如是印刷电路板PCB上的各种电子元件。这些组件中最重要的通常是处理器401(例如微处理器)、以及存储器402(例如EPROM或闪存芯片)。软件(也称为固件)通常是运行在微控制器中的低级软件代码。控制电路40包括通信接口,例如I/O接口或其他通信总线,用于与图像传感器装置10、20和数据存储器30通信。在一些实施例中,通信接口是无线的。
控制电路40,或者更具体地说,控制电路40的处理器41,被配置为使控制电路40执行图5中描述的方法的所有方面。这通常通过运行存储在控制电路40的处理器41的存储器42中的计算机程序代码来完成。
更具体地,控制电路40被配置为获得个体动物的第一图像,其中第一图像是由第一图像传感器装置10捕捉的三维图像或热成像图像。换句话说,3D或IR图像被捕捉。第一图像通常不包含颜色信息,或者至少非常少的颜色信息。
例如,控制电路40使第一图像传感器装置10捕捉图像。或者,图像已经被第一图像传感器装置10捕捉。则该获得对应于例如从数据存储器30中检索已经捕捉的图像。
控制电路40还被配置为在第一图像中检测身体部位,并基于该检测来获得个体动物的第二图像。身体部分例如是动物的头部、背部或鼻子。
在一些实施例中,第一图像和第二图像在相同(或至少近似相同,例如中间几毫秒)的时间点被连续记录,但是只有第一图像被用于检测身体部位。当找到身体部位时,使用同一时间点记录的对应的第二图像进行标识。这样,图像之间就没有明显的延迟。延迟可能导致第一图像和第二图像之间的错误映射。
在一些实施例中,第二图像的实际捕捉由身体部位的检测触发。换句话说,当在第一图像中检测到身体部位(诸如处于直角的奶牛头部)时,捕捉第二图像。换句话说,在一些实施例中,控制电路40被配置为重复第一图像的捕捉,直到检测到身体部位,并且被配置为响应于在第一图像中检测到身体部位来获得第二图像。该选项意味着3D/IR图像被连续记录,直到例如发现奶牛面部。
图3a-3c示出了由图2的相机2捕捉的一系列三个奶牛头部图像。图3a示出了当奶牛向下弯曲它的头时所拍摄的奶牛,图3b示出了当奶牛向左(奶牛的左边)转动它的头时所拍摄的奶牛,并且图3c示出了当奶牛直视相机时所拍摄的奶牛,然后相机从前面捕捉奶牛头部。在这个示例中,奶牛头部将在图3c中被检测到,因为它从期望的角度示出了奶牛头部。因此,对应的第二图像(或第二图像的片段31)将被用于标识。
第二图像是对应于第一图像并且使用第二图像传感器装置20捕捉的二维图像。因此,第二图像是适于标识个体动物的图像。因此,当它被第二图像传感器装置20捕捉时,它通常包括足够的细节以将个体彼此区分开来,这在前面有更详细的描述。例如,它使用具有分辨率高于第一图像的二维图像。第二图像也可以包括颜色信息。
控制电路40还被配置为通过将第二图像的度量与数据存储器30中的参考数据进行比较来标识个体动物。比较可以是直接的,也可以是间接的。在一些实施例中,比较包括将度量与基于参考数据创建的中间模型进行比较。换句话说,该步骤意味着基于第二图像和参考数据之间的关系来确定身份。
在一些实施例中,控制电路40被配置为基于第一图像标识对应于检测到的身体部位的第二图像的度量,并通过将标识的度量与参考数据进行比较来确定身份。因此,将来自第二图像的特征或图像片段与一组模板(即参考图像)进行比较。如果第二图像和该组模板中的图像中的一个或多个之间的相似度高于某个阈值,则找到匹配。
在一些实施例中,控制电路40包括被配置为将第二图像的度量与参考数据进行比较的分类器。这种分类器通常用于生物特征应用中的认证和标识。例如,分类器使用卷积神经网络CNN或人工神经网络。换句话说,第二图像的度量、例如(一个或多个)图像片段、特征或其他信息、被发送到分类器。分类器然后返回个体动物的身份。分类器可以需要精确尺寸的图像作为输入。因此,可以从第二图像中选择所需尺寸的片段31(图3c)。这可以通过切割边缘或者通过在检测到的身体部位周围选择正确尺寸的区域来完成。
本公开还涉及一种在视觉系统中使用的对应方法,用于确定具有已知身份的动物群体中的个体动物的身份,其中已知身份由存储在数据存储器中的参考数据表示。现在将参考图5所示的流程图以及其他附图中的图示来解释该方法。该方法由控制电路40(图4)执行。该方法可以实现为包括指令的计算机程序,当该程序由计算机(例如控制电路40(图4)中的处理器)执行时,该指令使得计算机执行该方法。根据一些实施例,计算机程序存储在计算机可读介质(例如,存储器或光盘)中,该介质包括指令,当由计算机执行时,该指令使得计算机执行该方法。该方法通常在应用(诸如在图2的视觉系统100中)中连续执行。
该方法包括捕捉S1个体动物1的第一图像,其中第一图像是三维图像或热成像图像。换句话说,第一图像传感器装置10被控制以捕捉第一图像10,如上所解释的,第一图像10具有用于检测身体部位的良好属性。该方法还包括在第一图像中检测S2个体动物的身体部分。身体部位如上所述,例如动物的头部、背部、侧面或鼻子。检测是例如使用传统的对象检测技术来执行的。典型地,连续重复捕捉,直到检测到身体部位的合适图像。因此,根据一些实施例,重复第一图像的捕捉S1,直到检测到身体部位,并且响应于检测到第一图像中的身体部位,执行获得S3。
该方法还包括基于检测S2,获得S3个体动物的第二图像,其中第二图像是对应于第一图像的二维图像。换句话说,关于检测到的身体部位的信息被用来选择用于动物标识的第二图像。第二图像例如是基于要匹配的身体部位的存在来选择的。在一些实施例中,获得S3包括捕捉或选择第二图像,使得动物的姿势有利于动物标识,例如动物面对着相机。这样,增加了第二图像适于动物标识的机会。
第一图像对应于第二图像意味着如果动物(例如眼睛)的一个点的位置(例如像素)在第一图像中是已知的,则该位置在第二图像中也是已知的。通常,图像也是在同一时间点捕捉的,或者至少是非常接近的时间点(中间不到一秒钟)。换句话说,第一图像和第二图像在空间和时间上对齐或相关。
第二图像还包括比第一图像更多的细节,这些细节可用于标识个体动物。例如,第一图像比第二图像具有更低的角度分辨率。根据一些实施例,第二图像包括颜色信息,并且第一图像不包括颜色信息。因此,第一图像是适于身体部位检测的图像,而第二图像通常是适于动物标识的图像。
该方法还包括通过将第二图像的度量与参考数据进行比较来确定S5动物的身份。例如,将描绘身体部位的合适图像片段31与一组参考图像(有时称为模板)进行比较。由于图像之间的相关性,片段31可以被确定为第二图像中检测到的身体部位的位置也是已知的。换句话说,根据一些实施例,该方法包括基于第一图像标识S4对应于检测到的身体部位的第二图像的度量,并且通过将标识的度量与参考数据进行比较来确定S5动物的身份。换句话说,使用适于身体部位检测的第一图像来获得适合的第二图像。
第二图像对应于第一图像。例如,它与第一图像同时拍摄。因此,基于来自第一图像的信息,也可以在第二图像中定位检测到的身体部位。当分析第二图像以标识动物时,可以使用从第一图像检索的关于身体部位的信息。例如,获得第二图像,使得图像中未描绘身体部位的部分被裁剪或移除。这将使用于动物标识所需的第二图像的处理不那么复杂。因此,通过组合来自不同类型的两个图像的数据,例如由不同类型的传感器捕捉的数据,可以改进标识过程。
根据一些实施例,确定S5包括使用分类器将第二图像与参考数据进行比较。如上所述,有几种这样的技术可用。
在一些实施例中,动物具有附在例如耳朵上的数字标签。如果可以从第二图像中读取该数字,则该数字可以与参考数据进行比较。
本文参照一种动物描述了该方法。然而,该方法也可以用于几种动物。例如,一个图像包括几个身体部分(例如,奶牛头部)可以使用第一图像传感器装置10来捕捉。然后可以使用对应的第二图像来检测所有被标识的动物,其中为每个动物选择一个片段。或者,可以经由用户界面提示用户在例如移动电话屏幕上显示的图像中选择一个或多个检测到的动物进行标识。
如附图所示,在实施例的描述中使用的术语不旨在限制所描述的方法;控制装置或计算机程序。在不脱离由所附权利要求限定的公开实施例的情况下,可以进行各种改变、替换和/或变更。
这里使用的术语“或”应被解释为数学或,即包含的或(inclusive disjuction);除非另有明确说明,否则不作为数学异或(XOR)。此外,单数形式“一”、“一个”和“该/所述”应被解释为“至少一个”,因此也可能包括多个相同种类的实体,除非另有明确说明。将进一步理解,术语“包括”(includes)、“包含”(comprises)、“包含”(including)和/或“包含”(comprising)指定了所陈述的特征、动作、整体、步骤、操作、元素和/或组件的存在,但是不排除一个或多个其他特征、动作、整体、步骤、操作、元素、组件和/或其组合的存在或添加。单个单元,诸如处理器,可以实现权利要求中列举的几个项目的功能。
- 使用视觉技术的动物标识
- 使用移动物体的多个标识装置的方法和设备