技术文章及通讯

利用野生动物踪迹相机数据进行深度学习的实验

Cleve Moler, MathWorks


追踪摄像头会根据动物的动作自动触发。它们被世界各地的生态学家和野生动物管理者用来研究野生动物行为,帮助保护濒危物种。我想看看MATLAB®图像处理和深度学习可以用来识别访问跟踪摄像机的单个动物物种。我们将从现成的功能开始——没有专门针对这个特定任务的功能。

我在这个项目上的搭档是希瑟·戈尔和吉姆·桑德森。希瑟是MathWorks的机器学习专家。吉姆是我在新墨西哥大学的博士生之一。他在洛斯阿拉莫斯国家实验室花了几年时间为超级计算机编写Fortran程序。但对自然摄影的兴趣逐渐演变成对生态学职业的渴望。他现在是世界上研究小型野猫的权威。他还是CameraSweet的所有者,这是一个软件包,世界各地的调查人员使用它来分类和分析他们的跟踪摄像机数据。

我们的数据

我们的研究使用了位于阿尔伯克基的美国鱼类和野生动物管理局(FWS)办公室在过去10年里从四个国家野生动物保护区(NWRs)和一个私人牧场收集的数据。图1中的地图由Mapping Toolbox™生成,显示了站点的位置。

图1。五个数据站点的位置。

图1。五个数据站点的位置。

大部分数据来自塞维利亚NWR,这是新墨西哥州中部奇瓦瓦沙漠中占地23万英亩的保护区。另一处同样位于新墨西哥州的地方是阿曼达里斯牧场(Armendaris Ranch),这是一块35万英亩的私人土地,所有者是CNN的创始人、亿万富翁、女演员简·方达(Jane Fonda)的前夫特德·特纳(Ted Turner)。

这里有大量的数据——几乎总共有500万张图片。塞维利亚塔和其他三个NWR提供了近400万张已经被人类专家分类的图像,而德克萨斯州的Armendaris牧场和Laguna Atascosa NWR提供了另外100万张尚未分类的图像。

CameraSweet让研究人员将图像保存在一个文件夹集合中,每个相机一个文件夹,每个物种和单张图像中看到的动物数量都有子文件夹。每个图像文件都标有记录的日期和时间。

为了读取鱼类和野生动物管理局的数据,我们的MATLAB程序创建了一个字符串数组美国鱼类和野生动物管理局,长度为3,979,549,包含数据集中所有图像的路径名。例如:

K = 2680816;example = FWS(k) example = "D:SNWR\Pino South (28)\Bear\02\2012 06 10 14 06 20.JPG"

美国鱼类和野生动物管理局本例中的条目告诉我们,数据位于连接到我的驱动器的硬盘上D:它来自SNWR站点,或塞维利亚NWR。摄像机是第28号,位于皮诺南。一位人类专家将这些数据保存到两只熊的CameraSweet文件夹中。

我搜索了许多双熊的图片,想找一个可爱的,然后找到了图2所示的那张。该JPG图像的名称是时间戳,为2012年6月10日14:06:20小时。命令

imshow(示例)

访问数据并生成图2。

图2。28号摄影机捕捉到一只母熊和她的幼崽。

图2。28号摄影机捕捉到一只母熊和她的幼崽。

命名和标记物种

使用CameraSweet的研究人员在命名物种的方式上有一定的灵活性。“美洲狮”和“美洲狮”是同一种动物。"浣熊"有几种不同的拼法我们把这些名称统一为40个标准名称。它们的名字见下面“物种”一栏。

我们的MATLAB程序创建了第二个字符串数组,标签中图像的标准名称美国鱼类和野生动物管理局.使用标签,很容易计算每个标准物种的图像数量。

图像物种1282762百分比32.23骡鹿690131 17.34叉角羚407240鸟10.23麋鹿264375 6.64 191954 4.82鸽子184218 4.63 173476年鬼4.36羚羊120377 3.02乌鸦105931 2.66狼105718 2.66秃鹰67643 1.70牛45308人类1.14 40060 1.01 32849年福克斯0.83马31579 0.79 31439年棉尾兔0.79大角羊23818 0.60 Jackrabbit鹿20438 0.51 18160 0.46松鼠17347 0.44野猪16286 0.41猪14898 0.37 14191 0.36山猫12617 0.32 9882 0.21 0.25 Nilgai 8342鹰鹰7405 0.19少数6864 0.17美洲狮6023 0.15未知4516 0.11车辆3863 0.10浣熊3427 0.09 Roadrunner 2656 0.07猫头鹰2608 0.07蛇2164 0.05犰狳2029 0.05家养1985 0.05啮齿动物1909 0.05臭鼬1659 0.04獾1402 0.04巴巴里羊

两种物种,“骡鹿”和“叉角羚”,总共占了近200万张图像,这是我们数据的一半。“幽灵”这个物种描述的情况是,有东西触发了相机,但图像中似乎什么都没有。在塞维利亚塔的数据中,幽灵被丢弃了,但其他网站提供了大量的数据。“少数”这个名字是对包括“豹猫”和“驴”在内的10个物种的总称,这些物种的图片少于1000张。

总的来说,不同物种在数据中所代表的程度存在巨大差异。词云提供了物种分布的良好可视化(图3)。

图3。词云显示物种的相对分布。

图3。词云显示物种的相对分布。

轨迹相机图像

其中一些图片为动物提供了极好的肖像。图4显示了四个示例。

图4。示例跟踪摄像机图像。顺时针从左下开始:郊狼,标枪,叉角羚,尼尔盖。

图4。示例跟踪摄像机图像。顺时针从左下开始:郊狼,标枪,叉角羚,尼尔盖。

标枪鱼分布在中美洲、南美洲和北美洲西南部。它们与野猪相似,但却是不同的物种。叉角羚和土狼在我们的大多数地点都很常见。尼尔盖在印度随处可见,印度教徒视其为神圣之物。它们在20世纪20年代被引入德克萨斯州。在我们的网站上唯一能找到它们的地方是拉古纳阿塔斯科萨NWR。

大约三分之一的图像是在夜间用红外线拍摄的,并以灰度显示,如图5中最上面的两个例子所示。

图5。上图:两幅灰度红外图像。下图:两张大羚羊的全彩图片。

图5。上图:两幅灰度红外图像。下图:两张大羚羊的全彩图片。

这两张大羚羊的图片很容易被人类专家分类,尽管这两张图片显示的视角非常不同。传统的图像处理技术,会寻找像腿的数量,鹿角的存在和风格,以及尾巴的类型等特征,会被右下角光线不好的特写镜头所迷惑。

有成千上万的图像是由非野生动物活动触发的,包括人类、牛、马、车辆和家畜。在图6中,右上方的图像被归类为鬼。

图6。由非野生动物活动触发的图像。上图:人类(左)和“鬼”(右)。底部:“不明”图片。

图6。由非野生动物活动触发的图像。上图:人类(左)和“鬼”(右)。底部:“不明”图片。

左下角的拍摄对象显然离相机太近了。在右下角的图像中有一些模糊的黄色斑点,可能是一群小飞虫。这两张照片都被归类为“身份不明”。

训练深度学习网络

Inception-v3是一种广泛用于图像处理的卷积神经网络(CNN)。我们将使用来自ImageNet数据库的100多万张图像预训练的网络版本。Inception-v3是一个现成的图像CNN。里面没有专门用于跟踪摄像头的东西。我们从40个物种中随机选择1400个样本,并指定70%(980)作为训练图像,30%(420)作为验证图像。我们让训练在Linux上运行一整夜®GPU (Xeon®E5-1650v4处理器,3.5 GHz, 6个HT核心,64gb RAM和12gb NVIDIA®Titan XP GPU)。

由此产生的混乱的图表(图7)是一个40 × 40矩阵a,其中a(k,j)是第k个真类中的观测值被预测为第j个真类的次数。如果分类工作完美,矩阵将是对角线的。在这个实验中,对角线上的值都是420。接近对角线是准确度的衡量标准:

accuracy = sum(diag(A))/sum(A,'all') = 0.8686
图7。混淆矩阵,用于检查分类器的准确性。

图7。混淆矩阵,用于检查分类器的准确性。

许多大的非对角线元素并不令人惊讶。最小对角线值216是鸟类的对角线值。标记为“鸟”的那一行表明预测的类别通常是一些其他物种。下一个最小的对角线元素270表示未知。未知物种和其他物种之间存在混淆。土狼的对角线值为297,表现不佳,可能是因为它们经常出现在模糊的图像中。Deer和nilgai的对角线值分别为358和352,整体精度较好,但容易混淆。

另一方面,最常被正确分类的动物包括巴巴里羊,其对角线值为405。鹰、马和叉角羚被正确分类390次以上。大角羊有386。

在未分类图像上测试CNN

我们现在有一个训练有素的CNN来分类跟踪摄像机图像。它在一个新的位置如何处理从未分类过的图像?我们从Armendaris牧场抽取了十分之一的图像,共计18242张。CNN的分类发现了39种不同的物种。

几乎一半的分类(8708种)属于大角羊。只有454只属于骡鹿。一开始,这让我很惊讶,因为这意味着该网络预测阿曼达里斯的大角羊几乎是大角鹿的20倍,而塞维利亚以北不到100英里的地方,大角鹿的数量正好相反:大角羊的40倍。

但这一结果并没有让吉姆·桑德森感到惊讶。阿曼达里斯的山脉是羊的天然栖息地。牧场管理大角羊的方式与管理水牛牛群的方式相同。狩猎大角公羊是牧场的重要收入来源。

CNN将93张图片归类为美洲狮。这似乎是高估了。对这93张图片进行检查,只发现了10到11只难以捉摸的动物。

图8中的四张图片都来自Armendaris。上面的两只分别被CNN正确地分类为大角羊和美洲狮。但排名较低的两名接受相同的分类;这显然是不正确的。

图8。阿曼达里斯牧场未分类图像的分类。上面的图片被CNN分类为大角羊和美洲狮,显然是正确的。下面的图片也被归类为大角羊和美洲狮,显然是错误的。

图8。阿曼达里斯牧场未分类图像的分类。上面的图片被CNN分类为大角羊和美洲狮,显然是正确的。下面的图片也被归类为大角羊和美洲狮,显然是错误的。

结论

总的来说,这个深度学习分类器比我预测的更成功。即使在目前的状态下,它也可能对调查人员有用。我们的CNN的任何进一步发展都应该专注于设计特定于跟踪摄像机图像识别的功能。

有一点是明确的——数据越多越好。鱼类和野生动物管理局收集的500万张图像对于训练网络达到这种精度至关重要。

确认

感谢吉姆·桑德森,阿尔伯克基FWS的格兰特·哈里斯,还有希瑟·戈尔,约翰娜·平格尔,还有MathWorks新闻与笔记编辑团队。

2020年出版的

查看相关功能的文章

查看相关行业的文章