本发明涉及视觉伺服斑马鱼心脏注射方法。
背景技术:
斑马鱼目前已经成为最重要的有脊椎模式动物之一。它的优点包括繁殖能力极强,与人类基因相似度很高,生长速度快,从胚胎至幼鱼时期都为透明故便于观察其身体发育等特性。因此,斑马鱼在研究脊椎动物发育生物学方向具有极其重要的研究价值。由于在特定的研究中需要将药物注射进斑马鱼的心脏(例如,将荧光试剂注射进斑马鱼幼鱼的心脏后,观察荧光试剂随血液的流动和分布情况),观察斑马鱼变化,但现有都是手工对斑马鱼心脏进行注射,成功率低,而且需要对人员进行培训,费时费力,成功率低。
技术实现要素:
本发明的目的是为了解决现有技术都是手工对斑马鱼心脏进行注射,成功率低,而且需要对人员进行培训,费时费力,成功率低的问题,而提出一种视觉伺服斑马鱼心脏注射方法。
一种视觉伺服斑马鱼心脏注射方法具体过程为:
步骤一、将斑马鱼幼鱼、注射针和吸持针置于显微镜视野范围内,得到图像;
步骤二、对步骤一中得到的图像进行预处理,得到斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ;
步骤三、基于步骤二得到的斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ,确定吸持针和注射针轮廓;
步骤四、基于步骤三确定的吸持针和注射针轮廓,用注射针将斑马鱼幼鱼调整到与注射针相互垂直的方向;
步骤五、基于步骤四,确定斑马鱼幼鱼心脏区域;
步骤六、基于步骤五确定斑马鱼幼鱼心脏区域后,用吸持针将斑马鱼幼鱼吸住;
步骤七、基于步骤六,确定斑马鱼幼鱼心脏的左右朝向;
步骤八、根据斑马鱼幼鱼心脏的朝向确定注射位置。
本发明的有益效果为:
本发明将斑马鱼幼鱼、注射针和吸持针置于显微镜视野范围内,得到图像;对图像进行预处理,得到斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ;确定吸持针和注射针轮廓;用注射针将斑马鱼幼鱼调整到与注射针相互垂直的方向;确定斑马鱼幼鱼心脏区域;用吸持针将斑马鱼幼鱼吸住;确定斑马鱼幼鱼心脏的左右朝向;根据斑马鱼幼鱼心脏的朝向和角度确定注射位置。完成自动对斑马鱼心脏进行注射,成功率高,而且不需要对人员进行培训,自动完成,省时省力。
实施例一中对50条斑马鱼幼鱼进行了心脏注射,平均速度为每分钟5条,各步骤所用时间如图7所示,针尖检测需要0.8s,计算幼鱼区域需要1.3s,旋转幼鱼需要3.6s,确定心脏区域需要0.9s,吸持幼鱼需要0.8s,缩小心脏区域需要1.2s,心脏定位需要5.1s,注射需要0.3s,释放幼鱼需要0.7s,撤回注射针需要0.3s,整个过程共需要15s,可得出本发明可以快速准确的对斑马鱼幼鱼心脏进行注射,成功率高。
附图说明
图1为本发明j与ey的关系图;
图2为本发明斑马鱼幼鱼的旋转示意图;
图3为心脏向上时心脏区域示意图;
图4为侧向时心脏区域示意图;
图5为斑马鱼幼鱼截面图;
图6为旋转后的斑马鱼幼鱼截面图;
图7为实施例一中对50条斑马鱼幼鱼进行了心脏注射,各步骤所用时间示意图;
图8a为斑马鱼幼鱼根据心脏斜向示意图,tu为两个坐标系进行坐标变换的位移,rch为斑马鱼幼鱼心脏区域,lbr为幼鱼区域,l1、l2为确定的包含幼鱼的矩形的两条长边,medianline为中线,ui为中线上的点的横坐标,vi为中线上的点的纵坐标,improverch为进一步确定的斑马鱼幼鱼心脏区域,fittedcurve为拟合曲线;oi-uv为视野坐标系,
图8b为斑马鱼幼鱼根据心脏向上示意图;
图8c为斑马鱼幼鱼根据心脏向右示意图;
图8d为斑马鱼幼鱼根据心脏向左示意图。
具体实施方式
具体实施方式一:本实施方式的一种视觉伺服斑马鱼心脏注射方法具体过程为:
步骤一、将斑马鱼幼鱼、注射针和吸持针置于显微镜视野范围内,得到图像;
步骤二、对步骤一中得到的图像进行预处理,得到斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ;
步骤三、基于步骤二得到的斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ,确定吸持针和注射针轮廓;
步骤四、基于步骤三确定的吸持针和注射针轮廓,用注射针将斑马鱼幼鱼调整到与注射针相互垂直的方向;
步骤五、基于步骤四,确定斑马鱼幼鱼心脏区域;
步骤六、基于步骤五确定斑马鱼幼鱼心脏区域后,用吸持针将斑马鱼幼鱼吸住;
步骤七、基于步骤六,确定斑马鱼幼鱼心脏的左右朝向;
步骤八、根据斑马鱼幼鱼心脏的朝向确定注射位置。
具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤一中将斑马鱼幼鱼、注射针和吸持针置于显微镜视野范围内;具体过程为:
使用蒸馏水稀释后的ms‐222将斑马鱼幼鱼麻醉,麻醉后的斑马鱼幼鱼根据心脏朝向分为4类:向上、斜向、向左和向右;(由于鱼鳔提供浮力,斜向和向上是最常见的姿态,然而向左和向右则提供了更好的观察心脏跳动的角度)将斑马鱼幼鱼置于显微镜载物台上,手动将斑马鱼幼鱼对焦,并将吸持针和注射针分别移动到视野区域内的斑马鱼幼鱼左右两侧,得到图像,如图2所示,图8a、8b、8c、8d;图8a为斑马鱼幼鱼根据心脏斜向示意图,图中斑马鱼幼鱼鱼头垂直放置,身体倾斜,可看到2个鱼眼;图8b为斑马鱼幼鱼根据心脏向上示意图,图中斑马鱼幼鱼鱼头和身体都垂直放置,身体与鱼头为一条直线,可看到2个鱼眼;图8c为斑马鱼幼鱼根据心脏向右示意图,图中斑马鱼幼鱼鱼头和鱼身向右倾斜放置,可看到1个鱼眼;图8d为斑马鱼幼鱼根据心脏向左示意图,图中斑马鱼幼鱼鱼头和鱼身向左倾斜,放置可看到1个鱼眼;观察者面向斑马鱼幼鱼,观察者左面为斑马鱼左,观察者右面为斑马鱼右;转步骤二;
ms-222是间氨基苯甲酸乙酯甲磺酸盐,分子式是c10h15no5s;
蒸馏水稀释后的ms‐222浓度为0.03%;
斑马鱼幼鱼为5‐6天的斑马鱼。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤二中对步骤一中得到的图像进行预处理,得到斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ;具体过程为:
首先将图像转化为灰度图像,再进行高斯滤波除去噪声,然后转化为二值图像,最后对二值图像进行腐蚀去掉漂浮的絮状物和培养皿底部的小污染物;用漫水填充算法确定视野中斑马鱼幼鱼所在区域,
漫水填充算法为在二值图像中选定一个像素值为255(白色)的点作为种子点,查找相邻的8个像素中和种子点联通的颜色相同的点并将其作为新种子,重复该过程可以得到一个相连的区域(即opencv中的cvfloodfill函数)
漫水填充算法可以得到二值图像中的多个区域,其中最大的区域代表斑马鱼幼鱼所在区域;
将包含斑马鱼幼鱼所在区域的面积最小的矩形两个长边延长至视野边界,矩形两个长边延长线中任意一条线与视野边界的倾角就是斑马鱼幼鱼的倾角θ。转步骤三;
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤三中基于步骤二得到的斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ,确定吸持针和注射针轮廓,具体过程为:
将两条长边中间的区域去掉,获得图像c,移动机械臂a,获得图像d,图像c减图像d(针的移动即使很慢也会对鱼形成扰动,因此应将鱼的区域排除在外),得到吸持针的轮廓;移动机械臂a范围为略大于图像分辨率,5um~15um;
移动机械臂b,获得图像e,图像d减图像e(针的移动即使很慢也会对鱼形成扰动,因此应将鱼的区域排除在外),得到注射针的轮廓;转步骤四;
吸持针位于机械臂a上,注射针位于机械臂b上。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤四中基于步骤三确定的吸持针和注射针轮廓,用注射针将斑马鱼幼鱼调整到与注射针相互垂直的方向;具体过程为:
用注射针接触斑马鱼幼鱼位于上半部分和下半部分的两点
定义注射针针尖坐标(xipt,yipt),装有注射针的机械臂由步进电机驱动,故控制注射针在y轴方向上移动的pd控制器为:
其中,
注射针针尖x轴的目标设置为
控制注射针在x轴方向上移动的pd控制器为
其中,
其中,
旋转时斑马鱼幼鱼的模型如下:
其中,i是斑马鱼幼鱼转动惯量,b是斑马鱼幼鱼转动的粘滞系数,τ是注射针针尖施加的力矩,
在rpi点施加的力为f,则τ=fli,其中i=±1,
f=keδxf
其中ke表示斑马鱼幼鱼皮肤的硬度,为非负常数;δxf表示斑马鱼幼鱼的形变量;
当倾角误差eθ为正数时,i取+1,注射针针尖触碰斑马鱼幼鱼rp1点;当倾角误差eθ为负数时,i取-1,注射针针尖触碰斑马鱼幼鱼rp-1点;令τ=kelikθ,ieθ,其中keli是常数,kθ,i是pd控制器参数,
针对倾角误差eθ的正负,斑马鱼幼鱼的模型表示为:
倾角误差eθ为正时,斑马鱼幼鱼的模型为情况1;
倾角误差eθ为0,斑马鱼幼鱼的模型为情况2,表明斑马鱼幼鱼与注射针相互垂直;
倾角误差eθ为负时,斑马鱼幼鱼的模型为情况3;
其中ki=kelikθ,i,i=±1,
合理设计pd控制器参数kθ,i使系统稳定,即使斑马鱼幼鱼最终姿态符合理想的角度;使斑马鱼幼鱼与注射针相互垂直后转步骤五。
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述步骤五中基于步骤四,确定斑马鱼幼鱼心脏区域;具体过程为:
将使斑马鱼幼鱼与注射针相互垂直后的图像转化为二值图像,然后应用漫水填充算法得到相连的区域;
当斑马鱼幼鱼心脏向上时,三个面积最大的区域分别代表两只眼睛和鱼的身体,面积第一大的区域代表鱼的身体,面积第二大的区域、第三大的区域代表两只眼睛;
当斑马鱼幼鱼的心脏斜向、向左或向右时,两只眼睛连在一起,面积第一大的区域代表鱼的身体,面积第二大的区域代表两只眼睛连起来的区域,面积第三大的区域代表皮肤上的颜色,其面积很小;
故可根据面积第二和面积第三的差异来区分两种情形,若第三大的面积大于第二大的面积的1/2倍小于等于1倍时,则认为斑马鱼幼鱼的心脏向上;若第三大的面积小于等于第二大的面积的1/2倍,大于等于0时,则认为斑马鱼幼鱼的心脏斜向、向左或向右;
对于斑马鱼幼鱼的心脏向上的情形,
其中
其中
其中
其中
其中xcsb为斑马鱼幼鱼鱼鳔重心gsb的横坐标,ycsb为斑马鱼幼鱼鱼鳔重心gsb的纵坐标,
其中xsb为鱼鳔区域内任一点的横坐标,i(xsb,ysb)为鱼鳔区域内任一点的像素值,ysb为鱼鳔区域内任一点的纵坐标,ssb表示鱼鳔的区域;
则定义斑马鱼幼鱼心脏向上时的心脏区域的中心m:
xm为斑马鱼幼鱼心脏区域中心m的x轴坐标,ym为斑马鱼幼鱼心脏区域中心m的y轴坐标;
斑马鱼幼鱼心脏区域的高度定义为
其中,
δx为鱼鳔与两只眼睛中间的横坐标之差,δy为鱼鳔与两只眼睛中间的纵坐标之差;
心脏区域的宽度wrch定义为两只眼睛的间距;
由xm、ym、hrch、wrch得到一个矩形的心脏区域,即为斑马鱼幼鱼心脏向上的情形的心脏区域;如图3所示;
对于心脏斜向、向左或向右的情形,斑马鱼幼鱼心脏区域高度定义为两个眼睛联在一起的区域的重心到鱼鳔重心距离的三分之一,
斑马鱼幼鱼心脏区域的高度定义为
其中,
δx为鱼鳔与两只眼睛中间的横坐标之差,δy为鱼鳔与两只眼睛中间的纵坐标之差;
斑马鱼幼鱼心脏区域宽度定义为具体实施方式三中将包含斑马鱼幼鱼所在区域的面积最小的矩形两个长边之间的宽度wlbr;
定义斑马鱼幼鱼心脏斜向、向左或向右时的心脏区域的中心为n:
xeye为两个眼睛联在一起的区域的重心的横坐标,yeye为两个眼睛联在一起的区域的重心的纵坐标;xn为心脏区域中心n的x轴坐标,yn为心脏区域中心n的y轴坐标;由心脏区域宽度、心脏区域高度、xn、yn得到一个矩形的心脏区域,即为斑马鱼幼鱼心脏斜向、向左或向右的情形的斑马鱼幼鱼心脏区域。如图4所示;确定心脏区域后转步骤六。
其它步骤及参数与具体实施方式一至五之一相同。
具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:所述步骤六中基于步骤五确定斑马鱼幼鱼心脏区域后,用吸持针将斑马鱼幼鱼吸住;
移动机械臂a使吸持针y轴坐标与心脏区域中心m或n点的y轴坐标一致,然后缓慢移动机械臂a使吸持针在x轴移动(防止对鱼的姿态造成大的扰动)直至吸持位置,即(xm-wlbr/2,ym);采用带有吸泵的吸持针对斑马鱼幼鱼进行吸附(吸持针为中间空心的玻璃吸管,例如双黄连吸管的玻璃版);
之后为了确保吸住,机械臂a沿着x轴和y轴试探性地移动吸持针,观察鱼是否随着吸持针移动,如果移动,则说明将斑马鱼幼鱼吸住;如果不移动,则说明斑马鱼幼鱼未吸住;若未吸住,重复步骤六,直到将斑马鱼幼鱼吸住;转步骤七。
其它步骤及参数与具体实施方式一至六之一相同。
具体实施方式八:本实施方式与具体实施方式一至七之一不同的是:所述步骤七中基于步骤六,确定斑马鱼幼鱼心脏的左右朝向;具体过程为:
对步骤六中将斑马鱼幼鱼吸住后的图像用漫水填充算法确定视野中斑马鱼幼鱼所在区域,确定包含斑马鱼幼鱼所在区域的面积最小的矩形两个长边y1=kx1+b1,y2=kx2+b2,b1、b2为两条长边的截距;再取一组扫描线(与具体实施方式三中将包含斑马鱼幼鱼所在区域的面积最小的矩形两个长边垂直的线)
取所有截线(一条扫描线与鱼的身体的边缘有两个交点,两个交点的连线)的中点,依次连接,形成鱼的中线,再用二次曲线u=a2v2+a1v+a0拟合鱼的中线;由于鱼的倾角不确定,需要将视野坐标系oi-uv变换为斑马鱼幼鱼的坐标系
其中tu和tv代表位移向量;
a0为二次曲线的0次项系数,a1为二次曲线的1次项系数,a2为二次曲线的2次项系数;
从该结果可以得到鱼的朝向的判据,当斑马鱼幼鱼心脏向上时,斑马鱼幼鱼中线几乎是直线,故a2最小,小于斑马鱼幼鱼心脏向左、向右时情况的十分之一;
a2<0时斑马鱼幼鱼心脏向左,a2≥0时斑马鱼幼鱼心脏向右;
确定斑马鱼幼鱼心脏的左右朝向之后,将斑马鱼幼鱼心脏所在区域进一步缩小,得到最终斑马鱼幼鱼心脏的位置;从下图中的黄色矩形缩小到红色矩形。
其它步骤及参数与具体实施方式一至七之一相同。
具体实施方式九:本实施方式与具体实施方式一至八之一不同的是:所述步骤八中根据斑马鱼幼鱼心脏的朝向确定注射位置;具体过程为:
由于心跳带动周围的皮肤做周期性运动,可以由此确定心脏的位置。取最终斑马鱼幼鱼心脏的位置区域中的每个像素值,连续取tf-t0帧,tf、t0为取得第一帧和最后一帧的序数;tf-t0取值范围为150~300,每秒15帧,即10~20秒;δ(m,n,k)代表最终斑马鱼幼鱼心脏内坐标为(m,n)的像素在第k次获得的图像的强度值,计算最终斑马鱼幼鱼心脏区域中每个点在tf-t0时间段内的变化:k为帧数,取值范围为150~300帧;
将δ(m,n)的重心表示为(x*,y*),作为注射目标;根据注射位置(x*,y*)、眼睛和鱼鳔的相对位置,从资料中查找注射位置(x*,y*)、眼睛和鱼鳔的相对位置的鱼的截面;根据注射位置(x*,y*)计算出注射位置(x*,y*)偏离鱼的中线的距离δx=wrch/2-x*,进一步得到
δz为鱼的心脏到截面的圆心所在水平面的相对高度;r为心脏距离鱼的截面的圆心的距离;如图5、图6所示;
角度是斑马鱼幼鱼滚转的角度,在截面图中可以表示为arctan(δx/δz);
资料为http://zebrafish.anatomyportal.org/results.php,针对不同时期的斑马鱼的3d解剖模型;
将注射针针尖移动到坐标
其它步骤及参数与具体实施方式一至八之一相同。
采用以下实施例验证本发明的有益效果:
实施例一:
本实施例一种视觉伺服斑马鱼心脏注射方法具体是按照以下步骤制备的:
图2中倾斜角度θ=84.29°,期望倾角θ*=90°;
pd控制器参数
捕捉到的图像为1600*1200像素,
设定kθ,i=5;
图3中,心脏区域大小为139*82像素,图4中心脏区域大小为189*78像素,即wrch*hrch;
1像素宽度≈20μm;
两条矩形长边k=9.97,b1=-1944,b2=-2313,δb=85,拟合结果同上文表格;
r=389μm,δx=248μm,δz=298μm,wlbr=570μm;
实验中对50条斑马鱼幼鱼进行了心脏注射,平均速度为每分钟5条,各步骤所用时间如图7。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。