CN112418171A - 一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法 - Google Patents
一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法 Download PDFInfo
- Publication number
- CN112418171A CN112418171A CN202011438007.3A CN202011438007A CN112418171A CN 112418171 A CN112418171 A CN 112418171A CN 202011438007 A CN202011438007 A CN 202011438007A CN 112418171 A CN112418171 A CN 112418171A
- Authority
- CN
- China
- Prior art keywords
- zebra fish
- image
- fish
- detected
- zebra
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 241000252212 Danio rerio Species 0.000 title claims abstract description 180
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013135 deep learning Methods 0.000 title claims abstract description 47
- 230000000366 juvenile effect Effects 0.000 claims abstract description 115
- 241000251468 Actinopterygii Species 0.000 claims abstract description 111
- 238000012549 training Methods 0.000 claims abstract description 28
- 238000005070 sampling Methods 0.000 claims abstract description 16
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000002372 labelling Methods 0.000 claims abstract description 7
- 230000033001 locomotion Effects 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 14
- 230000000747 cardiac effect Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 6
- 238000005096 rolling process Methods 0.000 claims description 5
- 210000003128 head Anatomy 0.000 claims description 4
- 206010002091 Anaesthesia Diseases 0.000 claims description 3
- 210000004712 air sac Anatomy 0.000 claims description 3
- 230000037005 anaesthesia Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000005260 corrosion Methods 0.000 claims description 3
- 230000007797 corrosion Effects 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 claims 1
- 238000002347 injection Methods 0.000 abstract description 6
- 239000007924 injection Substances 0.000 abstract description 6
- 230000036544 posture Effects 0.000 description 16
- 238000001514 detection method Methods 0.000 description 11
- 238000011160 research Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 241001098657 Pterois Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000012153 distilled water Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000013505 freshwater Substances 0.000 description 1
- 210000001161 mammalian embryo Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000019612 pigmentation Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Chemical compound O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 108700024526 zebrafish sox32 Proteins 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Abstract
本发明公开了一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法,涉及图像识别处理领域,该方法包括:获取斑马鱼幼鱼采样图像制作数据集,对斑马鱼幼鱼采样图像进行关键点标注,构建多层卷积神经网络训练数据集并进一步计算,达到自动化识别在显微镜视野中斑马鱼幼鱼的姿态,通过帧差法对斑马鱼待测图像进行逐帧比较,通过检测斑马鱼心脏的细微变化,得到斑马鱼心脏的具体位置。该方法成本较低,操作简单,能够有效提高准确率,解决了传统注射方法中由操作人员人为判断引起的操作误差。
Description
技术领域
本发明涉及图像识别处理领域,尤其是一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法。
背景技术
斑马鱼是一种热带淡水硬骨鱼,是目前世界上重要的模式动物之一。其繁殖速度极快,可以为研究节省大量时间。其胚胎以及幼鱼期间通体透明,可以便于观察体内的器官发育情况。且斑马鱼的基因组在测序后,结果与人类的基因有着很高的相似度。这使得斑马鱼在多种学科及研究领域均具备极高的研究价值,也使斑马鱼成为近几十年生物医学等领域最受欢迎的研究模型之一。
在斑马鱼的研究实验中,注射是最常用的一项技术。传统的注射技术一般是通过人工寻找斑马鱼的心脏进行注射操作,需要事先对操作人员进行一系列培训,费时费力,且实际操作中存在多种环境因素影响,导致注射成功率偏低,且容易引入外界污染,因此如何确定斑马鱼的心脏位置是研究实验的关键。
发明内容
本发明人针对上述问题及技术需求,提出了一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法,解决了传统注射方法中由操作人员人为判断心脏位置引起的操作误差。
本发明的技术方案如下:
一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法,包括如下步骤:
获取斑马鱼幼鱼采样图像,建立斑马鱼的深度学习数据集;
建立多层卷积神经网络,用深度学习数据集对多层卷积神经网络进行训练优化,得到斑马鱼幼鱼的最优深度学习算法模型;
获取斑马鱼幼鱼待测图像并输入至最优深度学习算法模型,得到实时状态下的待测斑马鱼幼鱼的关键点坐标,关键点包括头、尾、双眼、身体凹陷点和鱼鳔;
根据各个关键点坐标确定待测斑马鱼幼鱼的心脏区域,通过帧差法检测心脏区域,根据待测斑马鱼幼鱼的心脏跳动检测出待测斑马鱼幼鱼心脏的准确位置。
其进一步的技术方案为,获取斑马鱼幼鱼采样图像,建立斑马鱼的深度学习数据集,包括:
使用MS-222对斑马鱼幼鱼进行麻醉处理,将麻醉后的斑马鱼幼鱼放在显微镜下,利用显微镜下的CCD相机进行拍摄得到斑马鱼幼鱼采样图像,并建立斑马鱼的深度学习数据集;使用labelme标注工具对斑马鱼幼鱼采样图像的各个关键点进行标注;将所有标注后的斑马鱼幼鱼采样图像随机划分为数据集对应的训练集以及测试集。
其进一步的技术方案为,用深度学习数据集对多层卷积神经网络进行训练优化,得到斑马鱼幼鱼的最优深度学习算法模型,包括:
训练采用pytorch进行开发,并采用NVIDIA GPU对训练进行加速,训练集训练完成后,用测试集对训练结果进行测试,通过调节学习率以及损失函数得出最优深度学习算法模型。
其进一步的技术方案为,多层卷积神经网络为CPM网络,CPM网络包括六个阶段,六个阶段顺次相连,则获取斑马鱼幼鱼待测图像并输入至最优深度学习算法模型,得到实时状态下的待测斑马鱼幼鱼的关键点,包括:
对斑马鱼幼鱼待测图像进行缩放得到尺寸变换后的斑马鱼幼鱼待测图像;尺寸变换后的斑马鱼幼鱼待测图像依次经过CPM网络的六个阶段后输出实时状态下的待测斑马鱼幼鱼的关键点;
其中,第一阶段包括依次相连的第一卷积网络、卷积核为1的卷积层以及卷积层输出的第一阶段置信图;
其余五个阶段的连接结构相同,均包括依次相连的卷积网络、连接层、倒残差层、卷积核为1的卷积层以及卷积层输出的对应阶段的置信图;尺寸变换后的斑马鱼幼鱼待测图像输入至第二阶段的卷积网络,第二阶段的卷积网络还分别连接其余四个阶段的卷积网络;上一阶段对应输出的置信图输入至下一阶段的连接层中,第六阶段输出的置信图作为最终输出,置信图的峰值点即为对应的关键点位置。
其进一步的技术方案为,尺寸变换后的斑马鱼幼鱼待测图像的尺寸为500*500、通道数为3;
卷积网络的数据尺寸为125*125、通道数为16;
倒残差层的数据尺寸为125*125,第二阶段的倒残差层的通道数为22,其余阶段的通道数为23;
各个阶段的置信图的尺寸为125*125、通道数为6,六个通道数分别代表六个关键点的预测。
其进一步的技术方案为,从第三阶段开始,还向各个连接层输入池化后的目标中心高斯响应图,原始目标中心高斯响应图的尺寸为500*500、通道数为1,将原始目标中心高斯响应图池化后得到池化后的目标中心高斯响应图的尺寸为125*125、通道数为1。
其进一步的技术方案为,根据各个关键点坐标确定待测斑马鱼幼鱼的心脏区域,包括:
在世界坐标系下,定义具有六个关键点的三维斑马鱼幼鱼的空间模型;
将获得的各个关键点坐标通过坐标转换公式与三维斑马鱼幼鱼的空间模型进行坐标匹配,得到旋转矩阵,通过旋转矩阵得到对应的欧拉角作为待测斑马鱼幼鱼的姿态,欧拉角包括偏航角和翻滚角,偏航角用于调整待测斑马鱼幼鱼的身体达到一个适合吸持针吸持的角度,翻滚角用于调整待测斑马鱼幼鱼的心脏暴露程度;
坐标转换公式为:
其中,(X,Y,Z)是三维斑马鱼坐标,R为旋转矩阵,是X、Y、Z三个轴向旋转矩阵的乘积,即R=RX×RY×RZ,θx为物体绕x轴旋转的角度,也即翻滚角,θy为物体绕y轴旋转的角度,也即俯仰角,θz为物体绕z轴旋转的角度,也即偏航角;t为平移向量,表示X、Y、Z三个轴向上的平移距离,即t=[TX+TY+TZ]T;f为CCD相机的焦距,dx为每个像素在二维斑马鱼像素坐标系的横轴x上的尺寸,dy为每个像素在二维斑马鱼像素坐标系的纵轴y上的尺寸;u0、v0为二维斑马鱼图像中心的像素坐标,Zc为关键点在相机坐标系下z轴的坐标,u、v为显微视野下的二维斑马鱼关键点的像素坐标;
根据待测斑马鱼幼鱼的姿态确定待测斑马鱼幼鱼的心脏区域,并调整待测斑马鱼幼鱼的方位,使待测斑马鱼幼鱼的心脏位置充分暴露。
其进一步的技术方案为,坐标匹配的具体实施方法包括:将像素坐标系中的二维关键点坐标、世界坐标系中的三维关键点坐标、CCD相机焦距、图像中心的像素坐标输入至opencv中的solvePnP函数,计算得到旋转向量,并将旋转向量转化为旋转矩阵,转化关系为:
根据旋转矩阵计算得到对应的欧拉角的计算公式为:
θx=arctan2(R32,R33)
θz=arctan2(R21,R11)
其进一步的技术方案为,通过帧差法检测心脏区域,根据待测斑马鱼幼鱼的心脏跳动检测出待测斑马鱼幼鱼心脏的准确位置,包括:
读取斑马鱼幼鱼视频序列的第一帧图像,对第一帧图像进行降噪处理并设置为背景图;
读取下一帧图像,与背景图进行差分运算,像素化之后把像素点相减,得到灰度差的绝对值,记视频序列中第n帧和第n-1帧的图像分别为Fn和Fn-1,二帧对应像素点的灰度值分别记为Fn(x,y)和Fn-1(x,y),按照公式(4)得到差分图像Dn,
Dn(x,y)=|Fn(x,y)-Fn-1(x,y)| (4)
将下一帧图像更新为背景图,按照公式(5)对差分图像的每个像素点进行二值化处理,得到二值化图像R'n,
其中,T为设定阈值,灰度值为255的点即为运动目标点,运动目标即为斑马鱼幼鱼心脏,灰度值为0的点为背景点;
对二值化图像进行降噪、腐蚀膨胀处理后,计算处理后的二值化图像上的运动区域轮廓位置;
判断运动区域轮廓面积是否满足需求,若是则计算运动区域轮廓的边界框,并在图像中显示,重新执行读取下一帧图像的步骤,直至视频序列中的所有图像处理完毕,对二值化图像进行连通性分析,最终得到含有完整运动目标的图像Rn;否则重新执行计算处理后的二值化图像上的运动区域轮廓位置的步骤。
本发明的有益技术效果是:
1、本申请使用pytorch进行深度学习,具有灵活易用、运行速度快、上手快、可读性强等诸多优点,将pytorch深度学习与斑马鱼操作平台结合,将会为斑马鱼的操作研究带来十足的意义;
2、本申请通过制作斑马鱼幼鱼数据集,充分利用深度学习网络的强大能力,通过有监督的学习方式,以关键点检测的训练方式让网络不断学习斑马鱼的关键点位置信息,再通过二维到三维的坐标转换得到斑马鱼的姿态信息,与传统的通过计算法得到斑马鱼的位置姿态相比,本申请的方法更加简便易得;
3、本申请采用opencv对斑马鱼幼鱼的心脏进行逐帧的移动侦测,与传统的人工估算心脏位置相比具有更高的精确度,可以由此对心脏进行进一步的操作。其算法实现简单,程序设计复杂度低;对光线等场景变化不太敏感,能够适应不同的动态环境,有着比较强的鲁棒性。
附图说明
图1是本申请提供的斑马鱼空间姿态与心脏位置估计方法的流程图。
图2是本申请提供的标注后的斑马鱼幼鱼采样图像的示意图。
图3是本申请提供的CPM网络的卷积神经网络图。
图4是本申请提供的斑马鱼幼鱼的姿态示意图。
图5是本申请提供的采用帧差法检测斑马鱼幼鱼心脏位置的流程图。
图6是本申请提供的心脏位置检测效果图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
本申请公开了一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法,其流程图如图1所示,实施过程中,具体采用的显微系统为一个具有7:1变焦比的立体显微镜,搭配一个CCD相机在显微镜视野下以12帧/秒的速度捕获显微镜下的图像。斑马鱼选用5-6天的斑马鱼幼鱼,此时的斑马鱼幼鱼色素沉积少,身体呈现透明态,易于观察及实验。
该方法包括如下步骤:
步骤1:获取斑马鱼幼鱼采样图像,建立斑马鱼的深度学习数据集。
步骤101:使用经过蒸馏水稀释过的MS-222对斑马鱼幼鱼进行麻醉处理,防止其身体移动影响观察及实验,将麻醉后的斑马鱼幼鱼放在显微镜下,利用显微镜下的CCD相机进行拍摄得到斑马鱼幼鱼采样图像,并建立斑马鱼的深度学习数据集。数据集的采集过程通过CCD相机完成,录制30条斑马鱼幼鱼在显微镜下不同姿态、不同方向的视频,并截取视频中较为清晰的500张图像完成数据的采集。该图像数据的分辨率为3072*2048,深度为24位,色彩模式为RGB。
步骤102:使用labelme标注工具对斑马鱼幼鱼采样图像的各个关键点进行标注,如图2所示,关键点包括头(即图中的顶部)、尾、双眼、身体凹陷点和鱼鳔。将所有标注后的斑马鱼幼鱼采样图像随机划分为数据集对应的训练集以及测试集。在本实施例中,将500张采样图像随机划分为80%的训练集以及20%的测试集。
步骤2:建立多层卷积神经网络,用深度学习数据集对多层卷积神经网络进行训练优化,得到斑马鱼幼鱼的最优深度学习算法模型。
步骤201:本申请的多层卷积神经网络为卷积姿态机(Convolutional PoseMachine,CPM)网络,CPM网络为全卷积结构,包括六个阶段,六个阶段顺次相连。
步骤202:训练采用pytorch进行开发,并采用NVIDIA GPU对训练进行加速,训练集训练完成后,用测试集对训练结果进行测试,通过调节学习率以及损失函数得出最优深度学习算法模型。
可选的,可以使用Resnet50、CPM、PFLD深度学习网络框架对斑马鱼的的深度学习数据集进行训练,比较不同的算法在数据集上的表现,最终选择CPM网络作为斑马鱼最终识别算法模型。
步骤3:获取斑马鱼幼鱼待测图像并输入至最优深度学习算法模型,得到实时状态下的待测斑马鱼幼鱼的关键点坐标。
如图3所示,在CPM网络中,对斑马鱼幼鱼待测图像进行缩放得到尺寸变换后的斑马鱼幼鱼待测图像,尺寸变换后的斑马鱼幼鱼待测图像的尺寸为500*500、通道数为3。尺寸变换后的斑马鱼幼鱼待测图像依次经过CPM网络的六个阶段后输出实时状态下的待测斑马鱼幼鱼的关键点。
其中,第一阶段用于对待测图像做初步处理,包括依次相连的第一卷积网络、卷积核为1的卷积层以及卷积层输出的第一阶段置信图。
其余五个阶段的连接结构相同,均包括依次相连的卷积网络、连接层、倒残差层、卷积核为1的卷积层以及卷积层输出的对应阶段的置信图。尺寸变换后的斑马鱼幼鱼待测图像输入至第二阶段的卷积网络,第二阶段的卷积网络还分别连接其余四个阶段的卷积网络。上一阶段对应输出的置信图输入至下一阶段的连接层中,可选的,从第三阶段开始,还向各个连接层输入池化后的目标中心高斯响应图,原始目标中心高斯响应图的尺寸为500*500、通道数为1,将原始目标中心高斯响应图池化后得到池化后的目标中心高斯响应图的尺寸为125*125、通道数为1。
第六阶段输出的置信图作为最终输出,置信图的峰值点即为对应的关键点位置。
可选的,卷积网络的数据尺寸为125*125、通道数为16。
倒残差层的数据尺寸为125*125,第二阶段的倒残差层的通道数为22,其余阶段的通道数为23。
各个阶段的置信图的尺寸为125*125、通道数为6,六个通道数分别代表六个关键点的预测。
从第三阶段开始,连接层将阶段性的卷积结果、上一阶段的置信图和池化后的目标中心高斯响应图串联起来,尺寸不变,输入通道数增加。原始目标中心高斯响应图为一个与待测图像同等大小、通道数为1的高斯模版,可以将响应聚拢到检测目标中心,用于处理图片中多目标的情况,实现多目标的检测防止视野中存在多条斑马鱼时出现误检测的情况。在每一阶段末尾用卷积核为1的卷积层代替全连接层,输出每一阶段的置信图,从而防止因全连接层过多导致图像的空间结构被破坏。由于CPM网络包含多个阶段,会有梯度消失的问题出现,为此CPM网络在每个阶段输出置信图前都计算损失函数(即loss值),即定期地添加中间监督来补充梯度,根据每个阶段的loss值更新底层参数,进而引导CPM网络产生精度不断提高的置信图。由于普通的卷积层随着网络的深度增加会存在梯度爆炸和梯度消失等问题,为了在保证准确度的基础之上提高检测速度,使其更适合斑马鱼的实时检测,在CPM的基础上,使用倒残差层,从而减少网络负荷,提高计算速度。
步骤4:根据各个关键点坐标确定待测斑马鱼幼鱼的心脏区域,通过帧差法检测心脏区域,根据待测斑马鱼幼鱼的心脏跳动检测出待测斑马鱼幼鱼心脏的准确位置。
步骤401:在世界坐标系下,定义具有六个关键点的三维斑马鱼幼鱼的空间模型。该空间模型下的斑马鱼幼鱼呈现基础姿态,基础姿态的偏航角、翻滚角均设定为0度。
步骤402:将获得的各个关键点坐标通过坐标转换公式与三维斑马鱼幼鱼的空间模型进行坐标匹配,得到旋转矩阵,通过旋转矩阵得到对应的欧拉角作为待测斑马鱼幼鱼的姿态,欧拉角包括偏航角和翻滚角,如图4所示,偏航角用于调整待测斑马鱼幼鱼的身体达到一个适合吸持针吸持的角度,比如,通过确定待测斑马鱼幼鱼的头、尾和双眼的位置就可以知道斑马鱼的偏航角,翻滚角用于调整待测斑马鱼幼鱼的心脏暴露程度。
坐标匹配的原理为:
在显微镜视野下的二维斑马鱼像素坐标,通过坐标转换公式依次转换到图像坐标系、相机坐标系,最后转换为世界坐标系下的三维斑马鱼坐标,坐标转换公式为:
其中,(X,Y,Z)是三维斑马鱼坐标,R为旋转矩阵,是X、Y、Z三个轴向旋转矩阵的乘积,即R=RX×RY×RZ,θx为物体绕x轴旋转的角度,也即翻滚角,θy为物体绕y轴旋转的角度,也即俯仰角,由于斑马鱼幼鱼始终位于平台上,俯仰角始终接近零,因此在本申请中并不需要此角度,θz为物体绕z轴旋转的角度,也即偏航角;t为平移向量,表示X、Y、Z三个轴向上的平移距离,即t=[TX+TY+TZ]T;f为CCD相机的焦距,dx为每个像素在二维斑马鱼像素坐标系的横轴x上的尺寸,dy为每个像素在二维斑马鱼像素坐标系的纵轴y上的尺寸;u0、v0为二维斑马鱼图像中心的像素坐标,Zc为关键点在相机坐标系下z轴的坐标,u、v为显微视野下的二维斑马鱼关键点的像素坐标。
根据上述原理,坐标匹配的具体实施方法包括:将像素坐标系中的二维关键点坐标、世界坐标系中的三维关键点坐标、CCD相机焦距、图像中心的像素坐标输入至opencv中的solvePnP函数,计算得到旋转向量,并将旋转向量转化为旋转矩阵,转化关系为:
根据旋转矩阵计算得到对应的欧拉角的计算公式为:
θx=arctan2(R32,R33)
θz=arctan2(R21,R11)
步骤403:根据待测斑马鱼幼鱼的姿态确定待测斑马鱼幼鱼的心脏区域,并调整待测斑马鱼幼鱼的方位,使待测斑马鱼幼鱼的心脏位置充分暴露。
具体调整方法为:通过吸持针吸住待测斑马鱼幼鱼,然后旋转吸持针来旋转待测斑马鱼幼鱼的身体,从而改变翻滚角。
步骤404:帧差法检测心脏准确位置基于python和opencv实现,如图5所示,具体包括:
步骤441:读取斑马鱼幼鱼视频序列的第一帧图像,对第一帧图像进行降噪处理并设置为背景图。
步骤442:读取下一帧图像,与背景图进行差分运算,像素化之后把像素点相减,得到灰度差的绝对值,记视频序列中第n帧和第n-1帧的图像分别为Fn和Fn-1,二帧对应像素点的灰度值分别记为Fn(x,y)和Fn-1(x,y),按照公式(4)得到差分图像Dn,
Dn(x,y)=|Fn(x,y)-Fn-1(x,y)| (4)
步骤443:将下一帧图像更新为背景图,按照公式(5)对差分图像的每个像素点进行二值化处理,得到二值化图像R'n,
其中,T为设定阈值,灰度值为255的点即为运动目标点,运动目标即为斑马鱼幼鱼心脏,灰度值为0的点为背景点。
当灰度差的绝对值大于一定阈值时,即视为运动目标,从而实现对心脏目标的检测作用。在帧间差分法中,阈值T的选择极为重要,比较T和dn+1的大小,即可判断是否为运动目标。如果阈值T的值太小,则无法抑制图像的噪点;如果阈值T选取的值太大,又有可能掩盖图像中的部分信息,所以需要选择合适的阈值,初定阈值T为50,将差异大于阈值的部分设置为白色。
步骤444:对二值化图像进行降噪、腐蚀膨胀处理后,计算处理后的二值化图像上的运动区域轮廓位置。
步骤445:判断运动区域轮廓面积是否满足需求,若是则计算运动区域轮廓的边界框,并在图像中显示,重新执行读取下一帧图像的步骤,也即执行步骤442,直至视频序列中的所有图像处理完毕,对二值化图像进行连通性分析,最终得到含有完整运动目标的图像Rn。否则重新执行计算处理后的二值化图像上的运动区域轮廓位置的步骤。
最终得到的运动区域轮廓的边界框如图6(1)所示,边界框内完整运动目标的图像放大图如图6(2)所示,在实际斑马鱼幼鱼检测中,由于环境等因素,除了心脏位置有运动,其他位置也存在细小的运动。故加入运动区域检测,足够大的区域同时有运动时,可以认为是心脏所在位置。
以上所述的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。
Claims (9)
1.一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法,其特征在于,所述方法包括:
获取斑马鱼幼鱼采样图像,建立斑马鱼的深度学习数据集;
建立多层卷积神经网络,用所述深度学习数据集对所述多层卷积神经网络进行训练优化,得到斑马鱼幼鱼的最优深度学习算法模型;
获取斑马鱼幼鱼待测图像并输入至所述最优深度学习算法模型,得到实时状态下的待测斑马鱼幼鱼的关键点坐标,关键点包括头、尾、双眼、身体凹陷点和鱼鳔;
根据各个所述关键点坐标确定所述待测斑马鱼幼鱼的心脏区域,通过帧差法检测所述心脏区域,根据所述待测斑马鱼幼鱼的心脏跳动检测出待测斑马鱼幼鱼心脏的准确位置。
2.根据权利要求1所述的基于深度学习的斑马鱼空间姿态与心脏位置估计方法,其特征在于,所述获取斑马鱼幼鱼采样图像,建立斑马鱼的深度学习数据集,包括:
使用MS-222对斑马鱼幼鱼进行麻醉处理,将麻醉后的斑马鱼幼鱼放在显微镜下,利用显微镜下的CCD相机进行拍摄得到所述斑马鱼幼鱼采样图像,并建立斑马鱼的深度学习数据集;使用labelme标注工具对所述斑马鱼幼鱼采样图像的各个关键点进行标注;将所有标注后的斑马鱼幼鱼采样图像随机划分为数据集对应的训练集以及测试集。
3.根据权利要求2所述的基于深度学习的斑马鱼空间姿态与心脏位置估计方法,其特征在于,所述用所述深度学习数据集对所述多层卷积神经网络进行训练优化,得到斑马鱼幼鱼的最优深度学习算法模型,包括:
训练采用pytorch进行开发,并采用NVIDIA GPU对训练进行加速,所述训练集训练完成后,用所述测试集对训练结果进行测试,通过调节学习率以及损失函数得出最优深度学习算法模型。
4.根据权利要求1所述的基于深度学习的斑马鱼空间姿态与心脏位置估计方法,其特征在于,所述多层卷积神经网络为CPM网络,所述CPM网络包括六个阶段,所述六个阶段顺次相连,则所述获取斑马鱼幼鱼待测图像并输入至所述最优深度学习算法模型,得到实时状态下的待测斑马鱼幼鱼的关键点,包括:
对所述斑马鱼幼鱼待测图像进行缩放得到尺寸变换后的斑马鱼幼鱼待测图像;所述尺寸变换后的斑马鱼幼鱼待测图像依次经过所述CPM网络的六个阶段后输出实时状态下的待测斑马鱼幼鱼的关键点;
其中,第一阶段包括依次相连的第一卷积网络、卷积核为1的卷积层以及所述卷积层输出的第一阶段置信图;
其余五个阶段的连接结构相同,均包括依次相连的卷积网络、连接层、倒残差层、卷积核为1的卷积层以及所述卷积层输出的对应阶段的置信图;所述尺寸变换后的斑马鱼幼鱼待测图像输入至第二阶段的所述卷积网络,所述第二阶段的卷积网络还分别连接其余四个阶段的所述卷积网络;上一阶段对应输出的置信图输入至下一阶段的所述连接层中,第六阶段输出的置信图作为最终输出,所述置信图的峰值点即为对应的关键点位置。
5.根据权利要求4所述的基于深度学习的斑马鱼空间姿态与心脏位置估计方法,其特征在于,所述尺寸变换后的斑马鱼幼鱼待测图像的尺寸为500*500、通道数为3;
所述卷积网络的数据尺寸为125*125、通道数为16;
所述倒残差层的数据尺寸为125*125,第二阶段的倒残差层的通道数为22,其余阶段的通道数为23;
各个阶段的置信图的尺寸为125*125、通道数为6,六个通道数分别代表六个所述关键点的预测。
6.根据权利要求4或5所述的基于深度学习的斑马鱼空间姿态与心脏位置估计方法,其特征在于,从第三阶段开始,还向各个所述连接层输入池化后的目标中心高斯响应图,原始目标中心高斯响应图的尺寸为500*500、通道数为1,将所述原始目标中心高斯响应图池化后得到池化后的目标中心高斯响应图的尺寸为125*125、通道数为1。
7.根据权利要求1所述的基于深度学习的斑马鱼空间姿态与心脏位置估计方法,其特征在于,所述根据各个所述关键点坐标确定所述待测斑马鱼幼鱼的心脏区域,包括:
在世界坐标系下,定义具有六个关键点的三维斑马鱼幼鱼的空间模型;
将获得的各个所述关键点坐标通过坐标转换公式与所述三维斑马鱼幼鱼的空间模型进行坐标匹配,得到旋转矩阵,通过所述旋转矩阵得到对应的欧拉角作为待测斑马鱼幼鱼的姿态,所述欧拉角包括偏航角和翻滚角,所述偏航角用于调整待测斑马鱼幼鱼的身体达到一个适合吸持针吸持的角度,所述翻滚角用于调整待测斑马鱼幼鱼的心脏暴露程度;
所述坐标转换公式为:
其中,(X,Y,Z)是三维斑马鱼坐标,R为旋转矩阵,是X、Y、Z三个轴向旋转矩阵的乘积,即R=RX×RY×RZ,θx为物体绕x轴旋转的角度,也即翻滚角,θy为物体绕y轴旋转的角度,也即俯仰角,θz为物体绕z轴旋转的角度,也即偏航角;t为平移向量,表示X、Y、Z三个轴向上的平移距离,即t=[TX+TY+TZ]T;f为CCD相机的焦距,dx为每个像素在二维斑马鱼像素坐标系的横轴x上的尺寸,dy为每个像素在二维斑马鱼像素坐标系的纵轴y上的尺寸;u0、v0为二维斑马鱼图像中心的像素坐标,Zc为关键点在相机坐标系下z轴的坐标,u、v为显微视野下的二维斑马鱼关键点的像素坐标;
根据所述待测斑马鱼幼鱼的姿态确定所述待测斑马鱼幼鱼的心脏区域,并调整所述待测斑马鱼幼鱼的方位,使所述待测斑马鱼幼鱼的心脏位置充分暴露。
9.根据权利要求1所述的基于深度学习的斑马鱼空间姿态与心脏位置估计方法,其特征在于,所述通过帧差法检测所述心脏区域,根据所述待测斑马鱼幼鱼的心脏跳动检测出待测斑马鱼幼鱼心脏的准确位置,包括:
读取斑马鱼幼鱼视频序列的第一帧图像,对所述第一帧图像进行降噪处理并设置为背景图;
读取下一帧图像,与所述背景图进行差分运算,像素化之后把像素点相减,得到灰度差的绝对值,记视频序列中第n帧和第n-1帧的图像分别为Fn和Fn-1,二帧对应像素点的灰度值分别记为Fn(x,y)和Fn-1(x,y),按照公式(4)得到差分图像Dn,
Dn(x,y)=|Fn(x,y)-Fn-1(x,y)|(4)
将所述下一帧图像更新为背景图,按照公式(5)对差分图像的每个像素点进行二值化处理,得到二值化图像R'n,
其中,T为设定阈值,灰度值为255的点即为运动目标点,运动目标即为斑马鱼幼鱼心脏,灰度值为0的点为背景点;
对所述二值化图像进行降噪、腐蚀膨胀处理后,计算处理后的二值化图像上的运动区域轮廓位置;
判断运动区域轮廓面积是否满足需求,若是则计算运动区域轮廓的边界框,并在图像中显示,重新执行所述读取下一帧图像的步骤,直至视频序列中的所有图像处理完毕,对所述二值化图像进行连通性分析,最终得到含有完整运动目标的图像Rn;否则重新执行所述计算处理后的二值化图像上的运动区域轮廓位置的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011438007.3A CN112418171B (zh) | 2020-12-10 | 2020-12-10 | 一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011438007.3A CN112418171B (zh) | 2020-12-10 | 2020-12-10 | 一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112418171A true CN112418171A (zh) | 2021-02-26 |
CN112418171B CN112418171B (zh) | 2024-03-12 |
Family
ID=74776060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011438007.3A Active CN112418171B (zh) | 2020-12-10 | 2020-12-10 | 一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112418171B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113476171A (zh) * | 2021-07-02 | 2021-10-08 | 浙江大学 | 鱼类疫苗自动注射机及自动获取鱼苗注射位置的方法 |
CN113528583A (zh) * | 2021-07-15 | 2021-10-22 | 澳门大学 | 自动化显微注射方法、装置、系统、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111583207A (zh) * | 2020-04-28 | 2020-08-25 | 于兴虎 | 一种斑马鱼幼鱼心脏轮廓确定方法及系统 |
-
2020
- 2020-12-10 CN CN202011438007.3A patent/CN112418171B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111583207A (zh) * | 2020-04-28 | 2020-08-25 | 于兴虎 | 一种斑马鱼幼鱼心脏轮廓确定方法及系统 |
Non-Patent Citations (1)
Title |
---|
CHERRY-YU08: "Convolutional Pose Machine总结", 《HTTPS://BLOG.CSDN.NET/CHERRY_YU08/ARTICLE/DETAILS/80846146》, 28 June 2018 (2018-06-28), pages 1 - 6 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113476171A (zh) * | 2021-07-02 | 2021-10-08 | 浙江大学 | 鱼类疫苗自动注射机及自动获取鱼苗注射位置的方法 |
CN113528583A (zh) * | 2021-07-15 | 2021-10-22 | 澳门大学 | 自动化显微注射方法、装置、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112418171B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111738261B (zh) | 基于位姿估计和校正的单图像机器人无序目标抓取方法 | |
CN110246181B (zh) | 基于锚点的姿态估计模型训练方法、姿态估计方法和系统 | |
CN113705521A (zh) | 一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法 | |
CN106780543A (zh) | 一种基于卷积神经网络的双框架估计深度和运动方法 | |
CN111862201A (zh) | 一种基于深度学习的空间非合作目标相对位姿估计方法 | |
CN112418171B (zh) | 一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法 | |
CN111709980A (zh) | 基于深度学习的多尺度图像配准方法和装置 | |
CN110163798B (zh) | 渔场围网破损检测方法及系统 | |
CN113221647B (zh) | 一种融合点云局部特征的6d位姿估计方法 | |
CN110827304B (zh) | 一种基于深度卷积网络与水平集方法的中医舌像定位方法和系统 | |
CN112215116B (zh) | 一种移动式面向2d图像的3d河蟹实时检测方法 | |
CN107766864B (zh) | 提取特征的方法和装置、物体识别的方法和装置 | |
CN110135277B (zh) | 一种基于卷积神经网络的人体行为识别方法 | |
CN109977834B (zh) | 从深度图像中分割人手与交互物体的方法和装置 | |
CN115816460B (zh) | 一种基于深度学习目标检测与图像分割的机械手抓取方法 | |
CN112489088A (zh) | 一种基于记忆单元的孪生网络视觉跟踪方法 | |
CN113505634A (zh) | 一种双流解码跨任务交互网络的光学遥感图像显著目标检测方法 | |
CN112990101B (zh) | 基于机器视觉的面部器官定位方法及相关设备 | |
CN112070181B (zh) | 一种基于图像流的协同检测方法及装置、存储介质 | |
CN113205507A (zh) | 一种视觉问答方法、系统及服务器 | |
CN111047513B (zh) | 一种用于柱面全景拼接的鲁棒性图像对齐方法及装置 | |
Chen et al. | Stingray detection of aerial images with region-based convolution neural network | |
CN117115252A (zh) | 一种基于视觉的仿生扑翼无人机空间位姿估计方法 | |
CN116051808A (zh) | 一种基于YOLOv5的轻量化零件识别定位方法 | |
CN114862951A (zh) | 一种将旋转和平移相解耦的6d位姿估计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |