用AI进行行为学分析的优势在哪?用AI分析的数据会不会出错呢?
目前在神经行为学领域,动物行为学的方法学的主要内容也是围绕着对动物行为的记录、行为数据量化和行为理解等三个环节展开的。所以讨论AI对于动物行为分析的优势可以从这三个方面展开。
一 行为的记录
当前的行为学数据记录大多数都采用的是视频记录的方式,一小部分采用的是一些电、磁、压力、惯性传感器等。
不管是视频还是其他传感器,在行为学领域都采用的是业界成熟的传感技术,AI肯定是对传感技术的有促进作用的,也会间接给行为学带来优势。但此处我们不做过多讨论。
二 行为数据量化
我们在做数据分析的时候,最重要的是要选取特征,也就将原始数据转换成我们解决目标问题的主要量化指标。
在行为学领域,这个特征可以是动物某时刻的位置坐标、动物与特定物体接触次数、距离、动物运动速度、动物关节角度等等。
那么为了获取这些参数,我们以视频记录的动物数据为例,在AI技术采用之前,传统的方法基于经典的数字图像处理技术,采用背景减除(Background Subtraction)、时间差分(Temporal difference)、光流法(Optical flow),以及阈值法(Thresholding)、边缘检测法(Edge detection)等图像分割(Image segmentation)技术,将动物的轮廓提取出来,进而定位动物的运动质心。目前,在拍摄光线较好,背景简单的实验场景中,目标检测已经发展非常完善。
但这些传统非AI的技术会存在很多局限:
- 不精准: 在复杂环境,不均匀的光照、动物身体植入其他物体(如光纤、电极线)条件下,动物轮廓提取不准确,导致质心提取不准。从而导致我们位置坐标、动物与特定物体接触次数、距离、动物运动速度也不精准;
- 参数简单:即使在简单环境、均匀的光照等理想条件下,能追踪到质心,或者根据头尾部的曲率特征,勉强可以追踪头、背、尾三点。但其他肢体的细节无法追踪到。因此,很难计算诸如动物关节角度这些参数。
- 无法用户自定义:传统的数字图像只能依赖于图像本身的边缘、纹理特性。并不能真正学习到某些身体部位的图像特征。针对不同的物种,或者动物局部行为特征,无法进行量化。
上述的问题,都可以用基于AI的姿态估计技术来解决。例如 CNN, YoLo 就具备特定目标的检测能力。而最近这几年的 DeepLabCut, LEAP, AlphaTracker等工具更是专门针对动物行为学的。
三 行为数据理解
精准的特征量化只是分析行为的第一步,而特征提取的再精准,并不意味着我们能理解动物的行为。即使DeepLabCut能够追踪几十个身体部位,我们依然难以知道动物是在做什么。
传统的方法也能分析少部分的行为,但仅局限在一些特征很明显,可以通过阈值法就能判定出来的行为。比如 Freezing表现为速度接近于0,Running表现为较高的速度。但是对于一些特征规则不明显的行为,或者更多未发现的新的行为模式,就很难识别出来。
而AI在数据分析和特定模式识别中的优势在于:它能够高效处理大规模数据,并通过机器学习算法自动发现原始特征与对应模式(即行为特征与特定行为状态),从而提供准确的预测和归类。这是因为AI可以不断学习和适应新数据,超越了传统规则和统计方法的限制。
在这方面可以分有监督和无监督两种方式。以下是我之前毕业论文做的总结,因为当时是21年底提交的,所以新的文献没放进来。仅供参考
类型 | 文献 | 基于的行为特征 | 主要算法及特性 | 源码或数据集链接 |
---|---|---|---|---|
有监督(Supervised) | Rousseau et al., 2000 (ROUSSEAU et al., 2000) | 三个身体关键点的位置及相对角度 | 前馈神经网络 | N.A. |
Jhuang et al., 2010 (JHUANG et al., 2012) | 位置、速度、运动特征 | 使用SVMHMM分类器,适用于笼养行为识别 | Mouse Behavior Recognition | |
Kain et al., 2013 (KAIN et al., 2013) | 基于染色剂追踪的身体骨架,再通过滑窗法计算与运动相关的高阶特征 | KNN分类器 | N.A. | |
Kabra et al., 2013 (KABRA et al., 2013) | 动物自身、地标及其他个体的相互位置 | GentleBoost作为分类器,并结合特定行为的规则采用阈值法 | http://jaaba.sourceforge.net/ | |
Nguyen et al., 2019 (NGUYEN et al., 2019) | 已分割的视频片段 | 基于卷积神经网络的I3D等模型,适用于笼养行为识别 | N.A. | |
Nilsson et al. (2020) (SIMON et al., 2020) | 2D多点姿态估计技术构建的身体骨架 | Random decision forest 算法作为分类器 | https://github.com/sgoldenlab/simba | |
Gerós et al., 2020 (GERÓS et al., 2020) | 由一段时间窗的轮廓、三个身体部位的位置构成的特征 | 基于SVM分类器 | GitHub - CaT-zTools/CaT-z_Software: CaT-z: Classification and Tracking in depth (z) - Software for the acquisition, annotation, and automatic behavioral profile characterization of laboratory rodents' RGB-D videos | |
无监督(Unsupervised) | Berman et al., 2014 (BERMAN et al., 2014) | 先提取采集到的动物身体图像的主成分,再计算主成分的小波特征 | 采用t-SNE算法将单帧的小波特征嵌入到二维空间后,采用分水岭进行聚类 | https://github.com/gordonberman/MotionMapper |
Vogelstein et al., 2014 (VOGELSTEIN et al., 2014) | 动物轮廓、边缘等图像特征 | 迭代去噪树(Iterative denoising tree, IDT)构建对行为进行表型聚类 | N.A. | |
Wiltschko et al., 2015 (WILTSCHKO et al., 2015) | 对采集3D深度图像提取主成分表征运动 | 基于AR-HMM模型分解亚秒级的行为序列 | N.A. | |
Marques et al., 2018 (MARQUES et al., 2018) | 眼部及尾部多点追踪的骨架计算出运动参数,最后再提取主成分 | Clusterdv结合LDA对行为进行聚类 | https://github.com/jcbmarques/clusterdv | |
Batty et al., 2019 (BATTY et al., 2019) | 采用CAE将原始行为视频降维后的行为特征 | 基于AR-HMM模型分解行为序列 | https://github.com/ebatty/behavenet | |
Luxem et al., 2020 (LUXEM et al., 2020) | 2D多点姿态估计技术构建的身体骨架 | 基于VAE将行为模块嵌入到二维空间后,采用k-Means算法聚类 | https://github.com/LINCellularNeuroscience/VAME | |
Marshall et al., 2021 (MARSHALL et al., 2021) | 基于光学marker追踪的3D骨架 | 采用t-SNE算法将单帧的小波特征嵌入到二维空间后,采用分水岭进行聚类 | https://github.com/jessedmarshall/CAPTURE_demo | |
Hsu et al., 2021 (HSU et al., 2019) | 基于2D多点姿态骨架提取的速度、角度及外形特征 | 采用t-SNE算法将单帧嵌入到低维空间后,采用GMM算法聚类 | https://github.com/YttriLab/B-SOiD |
忘记回到后半个问题: 用AI进行动物行为学分析会出错吗?
当然会,AI识别也会有准确率的,不可能是百分之百。当前大部分AI本质上都是一种概率预测,是概率就有一定的错误率。
要想更精准,可以从以下方面去改善:
-
改善数据质量:其实就是在上面回答中提取更精准,更具信息含量的行为特征。
-
选用更合适的算法:AI的算法有很多,有的适合分析时间序列,有的适合处理图像。
-
训练AI的数据集不具备普遍代表性,导致模型过拟合。只能在训练数据上表现得很好,但在实际应用中出现错误。
-
训练场景和使用场景要尽量保持一致。光线、环境物体变化后,导致模型不匹配,也会导致出错。