社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

Snotbot:神奇的深度学习项目

悦智网 • 5 年前 • 678 次点击  

无人机通过采集鲸鱼鼻涕

和图像来监测鲸鱼健康状况
━━━━
阿拉斯加危险海峡一个美丽的清晨,澄澈寂静且伴着丝丝凉意。一艘适于航海的小型考察船划过平缓的波浪。突然,远处一头校车大小的座头鲸冲出水面。巨大的气流和水柱从它的喷水孔喷射而出,犹如消防水龙带,声音响彻两岸。
“11点处喷水!”观察员高喊,小船上一片繁忙的景象。一名戴着头盔和防割破手套的工作人员将大型四轴飞行器举过头顶,仿佛要将它献给太阳,用魔术贴系在无人机上的6个塑料培养皿在阳光下闪闪发光。
船的后面,无人机操作员喊道:“3、2、1,启动引擎!3、2、1,起飞!”无人机引擎嗡嗡作响,飞向20米的高空,然后迅速飞向鲸鱼刚刚入水的地方。运气好的话,鲸鱼还会在附近喷水,无人机恰好也会在附近。

━━━━

这架无人机由大疆Inspire 2改装而成。它只有烤箱大小,用户多为摄影师、电影摄像师和高端业余爱好者,但它此刻肩负严肃使命:监测鲸鱼、海洋乃至整个地球的健康状况。它携带的培养皿会采集鲸鱼排出的凝结物,即鼻涕。鼻涕中含有关于该生物健康、饮食和其他特质的有价值信息。这架无人机因此得名Parley SnotBot。

该飞行器的标准配置包括前置导航摄像头、防撞探测器、用于追踪高度的超声波和气压传感器以及GPS定位仪。在稳定的常平架上安装可独立控制的高清摄像头后,它可以实时传输1080p视频,同时将视频存储在microSD卡上,还可将高分辨率图像存储在1太字节的固态硬盘上。通常一次飞行为26分钟,这期间两个摄像头的运行会生成大量数据。稍后我们会详细介绍我们是如何处理这些数据的。首先了解一下SnotBot的历史。
本文作者之一伊恩•科尔(Iain Kerr)是最早利用无人机采集和分析鲸鱼排出物的先行者之一。科尔是马萨诸塞州格洛斯特海洋联盟(Ocean Alliance)的首席执行官,该组织致力于保护鲸鱼和全球海洋。鲸鱼生物学家了解到鲸鱼的鼻涕含有大量生物信息,包括DNA、激素和微生物。科学家可以利用这些信息确定鲸鱼的健康状况、性别和受孕状态,以及有关其基因和微生物组的详细信息。收集这类信息最常用的传统方法是驾驶小船快速掠过浮出水面的鲸鱼,再用特别设计的弩朝它射击,以获取皮肤和鲸脂的少量核心样本,但这种方法对研究人员和鲸鱼都会造成压力。

研究人员已经证明鲸鱼鼻涕可以替代鲸脂样本,但需要借助长杆采集,颇为困难。小巧强大的商用无人机的发展促使科尔在2015年启动了一个探索性的研究项目——用无人机采集鲸鱼的鼻涕。他获得了美国国家海洋与大气管理局(NOAA)首个研究许可证,获准在美国水域采集鲸鱼鼻涕。从那之后,阿拉斯加、加蓬、墨西哥和其他鲸鱼聚集地已经部署了几十项SnotBot任务,这一创意已经推广到了世界各地的其他团队。

SnotBot的设计也在不断发展。最初,研究人员尝试在无人机下方拖曳薄布来采集鼻涕。不过,这种悬垂的布效率低下,而且会干扰一些实验室测试,因此研究人员放弃了这一方法。开发人员起初并未考虑使用培养皿,他们认为如果无人机直接飞进鲸鱼的喷水孔,旋翼洗流会干扰采集。不过最终他们还是尝试了培养皿,结果发现,旋翼的下降气流不仅不会阻碍样本采集,反而有助于样本采集。
每项任务的采集目标略有不同,团队也会相应地调整飞行器的设计。某一项任务的重点可能是调查某个地区,从尽可能多的鲸鱼身上获取样本。另一项任务可能是“焦点追踪”,团队会在数小时或数天内跟踪一头鲸鱼,获取多个样本,从而了解自然过程中鲸鱼一整天内的激素水变化或环境因素对其的影响。
━━━━
采集和分析鼻涕无疑是评估鲸鱼健康状况的重要方法,但SnotBot团队认为无人机的作用不止于此。2017年年初,与海洋联盟合作SnotBot项目的环保组织Parley for the Oceans的工作人员联系了维克(Willke),想要挖掘SnotBot的更多潜力。
维克是一名机器学习和人工智能研究员,是位于俄勒冈州希尔斯伯勒英特尔的类脑计算实验室(Brain‑Inspired Computing Lab)的负责人。他很快便发现了扩大SnotBot所采集信息的方法。维克的实验室招募了两名研究人员——布莱恩•凯勒(Bryn Keller)以及贾维尔•图雷克(Javier Turek),我们三人都致力于增强SnotBot的使命。
SnotBot项目中使用的四轴飞行器配备了高质量摄像头,具有先进的自动稳定功能。无人机操作员操纵飞行器并收集鼻涕依靠的是回传到船上的高清视频。这些视频流可以同步传送到船上的电脑,并被实时处理。那么,这些信息是否有助于评估鲸鱼的健康状况?

我们与海洋联盟的科学家合作,首先提出了用一种工具来分析鲸鱼尾鳍图片,并借助阿拉斯加鲸鱼基金会(Alaska Whale Foundation)的鲸鱼图片数据库,通过尾鳍的形状和黑白纹来识别鲸鱼个体。由此,研究人员可以将不同时期的鼻涕样本联系起来。

这种身份识别也可以帮助鲸鱼生物学家应对棘手的监管问题。例如,至少有两个座头鲸繁殖群体迁徙到了阿拉斯加。它们大部分来自夏威夷,小部分来自墨西哥。墨西哥鲸群目前承受着更大的压力,因此NOAA要求研究人员重点监测更健康的夏威夷鲸群,尽量不去打扰墨西哥鲸群,然而,这两个鲸群是完全相同的物种,彼此难以区分。通过识别鲸鱼个体,研究人员可以确定鲸鱼是否曾在墨西哥或夏威夷出没,从而便于采取适当的行动而不违反监管规定。
我们还开发了一种软件,可以通过在鲸鱼上方25米高空俯拍的照片来分析鲸鱼的体型。鲸鱼瘦骨嶙峋往往是因为生病或食物短缺,即使是这样一个简单的指标也可以判断健康状况。
开发这些工具的过程中面临的最大挑战是数据匮乏。标准的深度学习算法需要大量的图像,然后找到并提取出鲸鱼的关键特征。以尾鳍身份识别工具为例,目录中每头鲸只有几张图片,而且这些图片往往质量欠佳,用处不大。在俯拍健康监测中,极少能做到在适当的条件下用合适的摄像机从正确的角度拍摄鲸鱼的照片或视频。
为解决这些问题,团队借助了经典的计算机视觉技术来提取我们认为最有用的数据。例如,我们使用了边缘检测算法来寻找和测量尾鳍的后缘,然后获得从尾鳍中心凹口到外缘尖部的直线上所有像素点的灰度值。我们借助这些数据开发了一个小型但有效的神经网络。如果有更多数据,深度学习方法会比我们的方法更有效,但目前我们只能利用有限的数据。
━━━━
我们的工具已经为鲸鱼生物学带来了新发现。除了能够区分墨西哥鲸鱼群和夏威夷鲸鱼群,研究人员还发现,他们可以通过鲸鱼的叫声进行识别,即便这些叫声是多年前录制的。
这一发现发生在2017年夏天,当时我们与阿拉斯加鲸鱼基金会的研究员、创始董事会成员弗雷德•夏普(Fred Sharpe)合作,研究一起觅食的鲸鱼群。在观察一小群座头鲸时,水下麦克风捕捉到了鲸鱼进食时的叫声。夏普觉得耳熟,便查阅了鲸鱼声音数据库。他发现约20年前录制的名为“号兵”(Trumpeter)的鲸鱼曾发出类似的叫声,但这真的是同一头鲸鱼吗?我们无法从鲸鱼的叫声中知道确切的答案。
接着,一头鲸鱼快速浮出水面,又潜入水下,我们拍到了它的尾鳍图片,继而通过软件匹配到了“号兵”的尾鳍图片。研究人员因此得知,成年鲸鱼进食时的叫声可能会数十年甚至一生不变。这一发现为研究人员提供了另一种识别野外鲸鱼并进一步了解座头鲸声音特征的工具。
与此同时,鲸鱼身份识别工具也在不断改进。早前的鲸鱼身份识别SnotBot算法已经被更强大的服务所取代。新的身份识别算法依赖的是尾鳍后缘的曲率。
SnotBot的真正贡献在于健康监测。我们的体型分析工具不断演化,再结合喷涂样本,能够为研究人员提供单头鲸鱼健康状况的全面信息。我们称这个工具为Morphometer。近期,我们与阿拉斯加大学费尔班克斯分校的海洋生物学博士生凯利•凯特兹(Kelly Cates)以及丹麦奥尔胡斯高级研究所的助理教授、鲸鱼专家弗雷德里克•克里斯蒂安(Fredrik Christiansen)合作,力求使这项技术更强大、更易于使用。
其工作原理如下。研究人员通常会使用克里斯蒂安2016年开发的技术对滤食性鲸鱼须鲸进行测量和评估。(到目前为止,此项工作已经覆盖座头鲸和南露脊鲸,但这一过程可适用于任何须鲸类。)研究人员首先从电脑上打印照片或图像,然后手工测量图像中鲸鱼身体的宽度,间隔距离为从口鼻部到尾鳍凹口处整个身长的5%。然后,他们将测量数据输入软件,估算出鲸鱼的体积。根据身长和体积之间的关系,可以确定一头鲸鱼相对于群体常值而言是否较胖或较瘦,但需考虑到鲸鱼在进食季节为迁徙而积累能量储备,以及在繁殖季节期间重要而常规的周长变化。
Morphometer也要使用图片,但它可以根据图片的质量,以尽可能高的分辨率连续测量鲸鱼的宽度,得出每头鲸鱼数百个宽度的测量值,而非少数几个人类研究人员可测得的数值,因此其结果要准确得多。此外,它处理数据的速度也比人类快得多,因此生物学家能够专注于生物学,而不是繁琐的手工测量。
为改进Morphometer,我们通过座头鲸和南露脊鲸在不同天气、水环境和光照条件下的图像训练了一套深度学习系统,使其能够准确了解图像中哪些像素点属于鲸鱼。一旦鲸鱼被挑选出来,系统就会识别出其头部和尾部,然后测量身体轮廓上每个像素点的长度和宽度。我们的软件会跟踪无人机拍摄鲸鱼的高度,并将这些数据与无人机操作员输入的摄像机规格信息结合,让系统自动将测量值由像素点转换为米。
Morphometer会将这头鲸鱼与其他同体型的鲸鱼进行比较,并将目标鲸鱼的图像叠加在鲸鱼体型的彩色编码图表上,图表区域会显示类似鲸鱼的一般尺寸。鲸鱼尺寸正常、体重不足或者超重(如孕期的雌性鲸鱼),一眼便能辨别出(见插图《测量》)。
在早期原型中,我们会根据年龄、性别和其他因素输入“正常”体型参数。现在,Morphometer会通过处理大量鲸鱼图片来计算“正常”状态。使用自有无人机收集鲸鱼图片的鲸鱼研究人员不断向我们发送图片。我们的最终设想是建立一个合作网站,让研究人员共享图像和形态测量模型。我们还计划使用Morphometer来分析鲸鱼视频,自动提取出鲸鱼位置和能见度最佳的画面或短片。
为帮助研究人员获取更全面的信息,我们正在建立各种鲸群的统计模型,并将其与人类估算测量数据所衍生的模型进行对比,然后,我们将为已知年龄和性别的鲸鱼拍摄新照片,从而确定软件是否将鲸鱼正确分类,并给出适当的健康指标;我们会让鲸鱼生物学家来验证结果。
此模型可靠地投入使用后,我们有望能将特定鲸鱼与同一时间、同一地区其同性同伴的尺寸进行比较。我们还可以确定历史趋势,例如,与去年相比,这头鲸的体型和平均水平相当,但与几十年前的同类相比,它要瘦得多,但这需要有比较数据。此外,如果我们采集到同一头鲸鱼的鼻涕,就可以创建一个更完整的鲸鱼档案,就像信用卡公司可以通过整合用户个人数据与一般人群的平均值和方差来了解很多用户相关信息一样。
目前为止,SnotBot已经获取了大量有关鲸鱼健康状况的信息。很快,研究人员将使用这些数据来监测海洋健康状况。鲸被称为“顶端捕食者”,即它们处于食物链的顶端。尤其值得一提的是,座头鲸是一种通才型觅食动物,它们的迁徙范围很广,因此是整个海洋环境威胁的绝佳早期预警系统。
这也是SnotBot真正发挥作用之处。我们依赖海洋生存。除了海洋产生的大量食物外,人类赖以生存的氧气大多也来自浮游植物和藻类等海洋生物。
近期,与北太平洋异常温水区(即“热斑”)相关的海洋生产力导致了鲸鱼出生数量减少,关于瘦小鲸鱼的报道越来越多,这使得我们忧心忡忡。对鲸鱼不利的环境对人类同样也不利。SnotBot项目使我们能够以合理的成本准确有效地了解海洋中鲸鱼的健康状况和数量的变化趋势。我们希望,这些信息能够鞭策社会采取措施保护海洋,以免为时晚矣。
作者:Bryn Keller, Ted Willke

IEEE Spectrum

《科技纵览》

官方微信公众平台






往期推荐

电动空中出租车飞过新加坡上空

太赫兹光热电探测技术 : 突破太赫兹空隙

独家探访:波士顿动力公司重新定义机器人敏捷性

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56228
 
678 次点击