CN107047396A - 一种视觉伺服斑马鱼心脏注射方法 - Google Patents

一种视觉伺服斑马鱼心脏注射方法 Download PDF

Info

Publication number
CN107047396A
CN107047396A CN201710486466.0A CN201710486466A CN107047396A CN 107047396 A CN107047396 A CN 107047396A CN 201710486466 A CN201710486466 A CN 201710486466A CN 107047396 A CN107047396 A CN 107047396A
Authority
CN
China
Prior art keywords
mrow
msub
msup
fish
zebra fish
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.)
Pending
Application number
CN201710486466.0A
Other languages
English (en)
Inventor
高会军
庄松霖
林伟阳
张格非
尚忻忻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201710486466.0A priority Critical patent/CN107047396A/zh
Publication of CN107047396A publication Critical patent/CN107047396A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A40/00Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
    • Y02A40/80Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in fisheries management
    • Y02A40/81Aquaculture, e.g. of fish

Abstract

一种视觉伺服斑马鱼心脏注射方法,本发明涉及视觉伺服斑马鱼心脏注射方法。本发明的目的是为了解决现有技术都是手工对斑马鱼心脏进行注射,成功率低,而且需要对人员进行培训,费时费力,成功率低的问题。过程为:一、将斑马鱼幼鱼、注射针和吸持针置于显微镜视野范围内,得到图像;二、进行预处理,得到斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ;三、确定吸持针和注射针轮廓;四、用注射针将斑马鱼幼鱼调整到与注射针相互垂直的方向;五、确定斑马鱼幼鱼心脏区域;六、用吸持针将斑马鱼幼鱼吸住;七、确定斑马鱼幼鱼心脏的左右朝向;八、根据斑马鱼幼鱼心脏的朝向确定注射位置。本发明用于斑马鱼注射领域。

Description

一种视觉伺服斑马鱼心脏注射方法
技术领域
本发明涉及视觉伺服斑马鱼心脏注射方法。
背景技术
斑马鱼目前已经成为最重要的有脊椎模式动物之一。它的优点包括繁殖能力极强,与人类基因相似度很高,生长速度快,从胚胎至幼鱼时期都为透明故便于观察其身体发育等特性。因此,斑马鱼在研究脊椎动物发育生物学方向具有极其重要的研究价值。由于在特定的研究中需要将药物注射进斑马鱼的心脏(例如,将荧光试剂注射进斑马鱼幼鱼的心脏后,观察荧光试剂随血液的流动和分布情况),观察斑马鱼变化,但现有都是手工对斑马鱼心脏进行注射,成功率低,而且需要对人员进行培训,费时费力,成功率低。
发明内容
本发明的目的是为了解决现有技术都是手工对斑马鱼心脏进行注射,成功率低,而且需要对人员进行培训,费时费力,成功率低的问题,而提出一种视觉伺服斑马鱼心脏注射方法。
一种视觉伺服斑马鱼心脏注射方法具体过程为:
步骤一、将斑马鱼幼鱼、注射针和吸持针置于显微镜视野范围内,得到图像;
步骤二、对步骤一中得到的图像进行预处理,得到斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ;
步骤三、基于步骤二得到的斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ,确定吸持针和注射针轮廓;
步骤四、基于步骤三确定的吸持针和注射针轮廓,用注射针将斑马鱼幼鱼调整到与注射针相互垂直的方向;
步骤五、基于步骤四,确定斑马鱼幼鱼心脏区域;
步骤六、基于步骤五确定斑马鱼幼鱼心脏区域后,用吸持针将斑马鱼幼鱼吸住;
步骤七、基于步骤六,确定斑马鱼幼鱼心脏的左右朝向;
步骤八、根据斑马鱼幼鱼心脏的朝向确定注射位置。
本发明的有益效果为:
本发明将斑马鱼幼鱼、注射针和吸持针置于显微镜视野范围内,得到图像;对图像进行预处理,得到斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ;确定吸持针和注射针轮廓;用注射针将斑马鱼幼鱼调整到与注射针相互垂直的方向;确定斑马鱼幼鱼心脏区域;用吸持针将斑马鱼幼鱼吸住;确定斑马鱼幼鱼心脏的左右朝向;根据斑马鱼幼鱼心脏的朝向和角度确定注射位置。完成自动对斑马鱼心脏进行注射,成功率高,而且不需要对人员进行培训,自动完成,省时省力。
实施例一中对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为确定的包含幼鱼的矩形的两条长边,Median line为中线,ui为中线上的点的横坐标,vi为中线上的点的纵坐标,Improve RCH为进一步确定的斑马鱼幼鱼心脏区域,Fitted curve为拟合曲线;Oi-UV为视野坐标系,为Oi-UV变换为斑马鱼幼鱼的坐标系;Oi是视野坐标系的原点,U和V是视野坐标系的两个轴,是幼鱼坐标系的原点,U*和V*是幼鱼坐标系的两个轴;
图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上。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤四中基于步骤三确定的吸持针和注射针轮廓,用注射针将斑马鱼幼鱼调整到与注射针相互垂直的方向;具体过程为:
用注射针接触斑马鱼幼鱼位于上半部分和下半部分的两点以改变斑马鱼幼鱼的倾角,RP1为斑马鱼幼鱼上半部分的点,RP-1为斑马鱼幼鱼下半部分的点;当斑马鱼幼鱼的倾角θ与期望倾角θ*(期望鱼与吸持针垂直)不同时,定义倾角误差eθ=θ*-θ,则i=sgn(eθ);
定义注射针针尖坐标(xIPT,yIPT),装有注射针的机械臂由步进电机驱动,故控制注射针在y轴方向上移动的PD控制器为:
其中,为y轴PD控制器控制增益,ey,k为k时刻RP1和RP-1确定的y坐标的位置与k时刻的注射针针尖确定的y轴坐标的位置的差;ey,k-1为k-1时刻RP1和RP-1确定的y坐标的位置与k-1时刻的注射针针尖确定的y轴坐标的位置的差;ey,k-2为k-2时刻RP1和RP-1确定的y坐标的位置与k-2时刻的注射针针尖确定的y轴坐标的位置的差;为k时刻RP1和RP-1确定的y轴坐标的位置,i=±1,k为整数;为k时刻的注射针针尖确定的y轴坐标的位置;当|ey,k|<ε时(即针尖大致与接触点对齐),ε为阈值,取值为20um;
注射针针尖x轴的目标设置为其中为斑马鱼幼鱼的宽度,i=±1,为斑马鱼幼鱼上半部分的的宽度,为斑马鱼幼鱼下半部分的的宽度,如图2所示;
控制注射针在x轴方向上移动的PD控制器为
其中,为x轴PD控制器控制增益,ex,k为k时刻注射针针尖到目标坐标的距离;ex,k-1为k-1时刻注射针针尖到目标坐标的距离;ex,k-2为k-2时刻注射针针尖到目标坐标的距离;
其中,为k时刻RP1和RP-1确定的x坐标的位置;j=0时代表针尖不施加作用,j≠0时代表针尖施加作用的增益;j与ey的关系如图1,使得只有注射针针尖在y轴方向大致对齐时针尖才会推动斑马鱼幼鱼旋转;为k时刻的注射针针尖确定的x轴坐标的位置;
旋转时斑马鱼幼鱼的模型如下:
其中,I是斑马鱼幼鱼转动惯量,B是斑马鱼幼鱼转动的粘滞系数,τ是注射针针尖施加的力矩,为斑马鱼幼鱼的角速度,为斑马鱼幼鱼的角加速度;
在RPi点施加的力为F,则τ=Fli,其中i=±1,为注射针针尖施加的力的力臂,O(xo,yo)是斑马鱼幼鱼鱼鳔的重心;注射针针尖接触斑马鱼幼鱼的作用力建模如下:
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,为eθ的二阶导数,为eθ的一阶导数,Ki为注射针针尖施加的力矩相对于误差eθ的系数,为常数;li为注射针针尖施加的力的力臂;τ与eθ成正比;
合理设计PD控制器参数kθ,i使系统稳定,即使斑马鱼幼鱼最终姿态符合理想的角度;使斑马鱼幼鱼与注射针相互垂直后转步骤五。
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述步骤五中基于步骤四,确定斑马鱼幼鱼心脏区域;具体过程为:
将使斑马鱼幼鱼与注射针相互垂直后的图像转化为二值图像,然后应用漫水填充算法得到相连的区域;
当斑马鱼幼鱼心脏向上时,三个面积最大的区域分别代表两只眼睛和鱼的身体,面积第一大的区域代表鱼的身体,面积第二大的区域、第三大的区域代表两只眼睛;
当斑马鱼幼鱼的心脏斜向、向左或向右时,两只眼睛连在一起,面积第一大的区域代表鱼的身体,面积第二大的区域代表两只眼睛连起来的区域,面积第三大的区域代表皮肤上的颜色,其面积很小;
故可根据面积第二和面积第三的差异来区分两种情形,若第三大的面积大于第二大的面积的1/2倍小于等于1倍时,则认为斑马鱼幼鱼的心脏向上;若第三大的面积小于等于第二大的面积的1/2倍,大于等于0时,则认为斑马鱼幼鱼的心脏斜向、向左或向右;
对于斑马鱼幼鱼的心脏向上的情形,表示斑马鱼幼鱼左眼睛的重心坐标,表示斑马鱼幼鱼右眼睛的重心坐标;(xcSB,ycSB)表示斑马鱼幼鱼鱼鳔的重心gSB坐标,
其中为斑马鱼幼鱼左眼睛重心的横坐标,为斑马鱼幼鱼左眼睛重心的纵坐标,为计算重心坐标的中间变量;
其中为左眼睛区域内任一点的横坐标,为左眼睛区域内任一点的像素值,为左眼睛区域内任一点的纵坐标,表示左眼睛的区域;
其中为斑马鱼幼鱼右眼睛重心的横坐标,为斑马鱼幼鱼右眼睛重心的纵坐标,为计算重心坐标的中间变量;
其中为右眼睛区域内任一点的横坐标,为右眼睛区域内任一点的像素值,为右眼睛区域内任一点的纵坐标,表示右眼睛的区域;
其中xcSB为斑马鱼幼鱼鱼鳔重心gSB的横坐标,ycSB为斑马鱼幼鱼鱼鳔重心gSB的纵坐标,为计算重心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为两条长边的截距;再取一组扫描线(与具体实施方式三中将包含斑马鱼幼鱼所在区域的面积最小的矩形两个长边垂直的线)其中n代表步数,δb代表步长,k为两条长边的斜率,x、x为两条长边上点的横坐标,x3为扫描线上点的横坐标;
取所有截线(一条扫描线与鱼的身体的边缘有两个交点,两个交点的连线)的中点,依次连接,形成鱼的中线,再用二次曲线u=a2v2+a1v+a0拟合鱼的中线;由于鱼的倾角不确定,需要将视野坐标系Oi-UV变换为斑马鱼幼鱼的坐标系变换关系为
其中tu和tv代表位移向量;为变换后的截线的中点的横坐标,为变换后的所有截线的中点的纵坐标,ui为所有截线的中点的横坐标,vi为所有截线的中点的纵坐标,对4种不同姿态的鱼中线进行拟合,结果如下
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解剖模型;
将注射针针尖移动到坐标(以截面图最低端所在水平面为z=0),释放药物(如:酚红)完成注射,再沿注射针X轴方向撤回针尖。
其它步骤及参数与具体实施方式一至八之一相同。
采用以下实施例验证本发明的有益效果:
实施例一:
本实施例一种视觉伺服斑马鱼心脏注射方法具体是按照以下步骤制备的:
图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。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (9)

1.一种视觉伺服斑马鱼心脏注射方法,其特征在于:所述方法具体过程为:
步骤一、将斑马鱼幼鱼、注射针和吸持针置于显微镜视野范围内,得到图像;
步骤二、对步骤一中得到的图像进行预处理,得到斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ;
步骤三、基于步骤二得到的斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ,确定吸持针和注射针轮廓;
步骤四、基于步骤三确定的吸持针和注射针轮廓,用注射针将斑马鱼幼鱼调整到与注射针相互垂直的方向;
步骤五、基于步骤四,确定斑马鱼幼鱼心脏区域;
步骤六、基于步骤五确定斑马鱼幼鱼心脏区域后,用吸持针将斑马鱼幼鱼吸住;
步骤七、基于步骤六,确定斑马鱼幼鱼心脏的左右朝向;
步骤八、根据斑马鱼幼鱼心脏的朝向确定注射位置。
2.根据权利要求1所述一种视觉伺服斑马鱼心脏注射方法,其特征在于:所述步骤一中将斑马鱼幼鱼、注射针和吸持针置于显微镜视野范围内;具体过程为:
使用蒸馏水稀释后的MS‐222将斑马鱼幼鱼麻醉,麻醉后的斑马鱼幼鱼根据心脏朝向分为4类:向上、斜向、向左和向右;将斑马鱼幼鱼置于显微镜载物台上,手动将斑马鱼幼鱼对焦,并将吸持针和注射针分别移动到视野区域内的斑马鱼幼鱼左右两侧,得到图像;
MS‐222是间氨基苯甲酸乙酯甲磺酸盐。
3.根据权利要求2所述一种视觉伺服斑马鱼心脏注射方法,其特征在于:所述步骤二中对步骤一中得到的图像进行预处理,得到斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ;具体过程为:
首先将图像转化为灰度图像,再进行高斯滤波除去噪声,然后转化为二值图像,最后对二值图像进行腐蚀去掉漂浮的絮状物和培养皿底部的污染物;用漫水填充算法确定视野中斑马鱼幼鱼所在区域,将包含斑马鱼幼鱼所在区域的面积最小的矩形两个长边延长至视野边界,矩形两个长边延长线中任意一条线与视野边界的倾角就是斑马鱼幼鱼的倾角θ。
4.根据权利要求3所述一种视觉伺服斑马鱼心脏注射方法,其特征在于:所述步骤三中基于步骤二得到的斑马鱼幼鱼所在区域及斑马鱼幼鱼的倾角θ,确定吸持针和注射针轮廓,具体过程为:
将两条长边中间的区域去掉,获得图像C,移动机械臂A,获得图像D,图像C减图像D,得到吸持针的轮廓;
移动机械臂B,获得图像E,图像D减图像E,得到注射针的轮廓;
吸持针位于机械臂A上,注射针位于机械臂B上。
5.根据权利要求4所述一种视觉伺服斑马鱼心脏注射方法,其特征在于:所述步骤四中基于步骤三确定的吸持针和注射针轮廓,用注射针将斑马鱼幼鱼调整到与注射针相互垂直的方向;具体过程为:
用注射针接触斑马鱼幼鱼位于上半部分和下半部分的两点以改变斑马鱼幼鱼的倾角,RP1为斑马鱼幼鱼上半部分的点,RP-1为斑马鱼幼鱼下半部分的点;当斑马鱼幼鱼的倾角θ与期望倾角θ*不同时,定义倾角误差eθ=θ*-θ,则i=sgn(eθ);
定义注射针针尖坐标(xIPT,yIPT),故控制注射针在y轴方向上移动的PD控制器为:
<mrow> <msub> <mi>&amp;Delta;u</mi> <mrow> <mi>y</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>k</mi> <mi>p</mi> <mi>y</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mrow> <mi>y</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>y</mi> <mo>,</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>k</mi> <mi>d</mi> <mi>y</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mrow> <mi>y</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>-</mo> <mn>2</mn> <msub> <mi>e</mi> <mrow> <mi>y</mi> <mo>,</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>e</mi> <mrow> <mi>y</mi> <mo>,</mo> <mi>k</mi> <mo>-</mo> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
其中,为y轴PD控制器控制增益,ey,k为k时刻RP1和RP-1确定的y坐标的位置与k时刻的注射针针尖确定的y轴坐标的位置的差;ey,k-1为k-1时刻RP1和RP-1确定的y坐标的位置与k-1时刻的注射针针尖确定的y轴坐标的位置的差;ey,k-2为k-2时刻RP1和RP-1确定的y坐标的位置与k-2时刻的注射针针尖确定的y轴坐标的位置的差;为k时刻RP1和RP-1确定的y轴坐标的位置,i=±1,k为整数;为k时刻的注射针针尖确定的y轴坐标的位置;当|ey,k|<ε时,ε为阈值,取值为20um;
注射针针尖x轴的目标设置为
其中为斑马鱼幼鱼的宽度,i=±1,为斑马鱼幼鱼上半部分的的宽度,为斑马鱼幼鱼下半部分的的宽度;
控制注射针在x轴方向上移动的PD控制器为:
<mrow> <msub> <mi>&amp;Delta;u</mi> <mrow> <mi>x</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>k</mi> <mi>p</mi> <mi>x</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mo>,</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>k</mi> <mi>d</mi> <mi>x</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>-</mo> <mn>2</mn> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mo>,</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mo>,</mo> <mi>k</mi> <mo>-</mo> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
其中,为x轴PD控制器控制增益,ex,k为k时刻注射针针尖到目标坐标的距离;ex,k-1为k-1时刻注射针针尖到目标坐标的距离;ex,k-2为k-2时刻注射针针尖到目标坐标的距离;
其中,为k时刻RP1和RP-1确定的x坐标的位置;j=0时代表针尖不施加作用,j≠0时代表针尖施加作用的增益;为k时刻的注射针针尖确定的x轴坐标的位置;
旋转时斑马鱼幼鱼的模型如下:
<mrow> <mi>I</mi> <mover> <mi>&amp;theta;</mi> <mo>&amp;CenterDot;&amp;CenterDot;</mo> </mover> <mo>+</mo> <mi>B</mi> <mover> <mi>&amp;theta;</mi> <mo>&amp;CenterDot;</mo> </mover> <mo>=</mo> <mi>&amp;tau;</mi> </mrow>
其中,I是斑马鱼幼鱼转动惯量,B是斑马鱼幼鱼转动的粘滞系数,τ是注射针针尖施加的力矩,为斑马鱼幼鱼的角速度,为斑马鱼幼鱼的角加速度;
在RPi点施加的力为F,则τ=Fli,其中i=±1,为注射针针尖施加的力的力臂,O(xo,yo)是斑马鱼幼鱼鱼鳔的重心;注射针针尖接触斑马鱼幼鱼的作用力建模如下:
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,为eθ的二阶导数,为eθ的一阶导数,Ki为注射针针尖施加的力矩相对于误差eθ的系数,为常数;li为注射针针尖施加的力的力臂。
6.根据权利要求5所述一种视觉伺服斑马鱼心脏注射方法,其特征在于:所述步骤五中基于步骤四,确定斑马鱼幼鱼心脏区域;具体过程为:
将使斑马鱼幼鱼与注射针相互垂直后的图像转化为二值图像,然后应用漫水填充算法得到相连的区域;
当斑马鱼幼鱼心脏向上时,三个面积最大的区域分别代表两只眼睛和鱼的身体,面积第一大的区域代表鱼的身体,面积第二大的区域、第三大的区域代表两只眼睛;
当斑马鱼幼鱼的心脏斜向、向左或向右时,两只眼睛连在一起,面积第一大的区域代表鱼的身体,面积第二大的区域代表两只眼睛连起来的区域,面积第三大的区域代表皮肤上的颜色;
故可根据面积第二和面积第三的差异来区分两种情形,若第三大的面积大于第二大的面积的1/2倍小于等于1倍时,则认为斑马鱼幼鱼的心脏向上;若第三大的面积小于等于第二大的面积的1/2倍,大于等于0时,则认为斑马鱼幼鱼的心脏斜向、向左或向右;
对于斑马鱼幼鱼的心脏向上的情形,表示斑马鱼幼鱼左眼睛的重心坐标,表示斑马鱼幼鱼右眼睛的重心坐标;(xcSB,ycSB)表示斑马鱼幼鱼鱼鳔的重心gSB坐标,
<mrow> <msup> <mi>g</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>=</mo> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>cEye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>cEye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mfrac> <msubsup> <mi>M</mi> <mn>10</mn> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msubsup> <msubsup> <mi>M</mi> <mn>00</mn> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msubsup> </mfrac> <mo>,</mo> <mfrac> <msubsup> <mi>M</mi> <mn>01</mn> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msubsup> <msubsup> <mi>M</mi> <mn>00</mn> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msubsup> </mfrac> <mo>)</mo> </mrow> </mrow>
其中为斑马鱼幼鱼左眼睛重心的横坐标,为斑马鱼幼鱼左眼睛重心的纵坐标,为计算重心坐标的中间变量;
<mrow> <msubsup> <mi>M</mi> <mn>10</mn> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msubsup> <mo>=</mo> <msub> <mi>&amp;Sigma;</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>)</mo> <mo>&amp;Element;</mo> <msup> <mi>S</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> </mrow> </msub> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mi>I</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>)</mo> </mrow> <mo>,</mo> </mrow>
<mrow> <msubsup> <mi>M</mi> <mn>01</mn> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msubsup> <mo>=</mo> <msub> <mi>&amp;Sigma;</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>)</mo> <mo>&amp;Element;</mo> <msup> <mi>S</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> </mrow> </msub> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mi>I</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>)</mo> </mrow> <mo>,</mo> </mrow>
<mrow> <msubsup> <mi>M</mi> <mn>00</mn> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msubsup> <mo>=</mo> <msub> <mi>&amp;Sigma;</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>)</mo> <mo>&amp;Element;</mo> <msup> <mi>S</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> </mrow> </msub> <mi>I</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>)</mo> </mrow> </mrow>
其中为左眼睛区域内任一点的横坐标,为左眼睛区域内任一点的像素值,为左眼睛区域内任一点的纵坐标,表示左眼睛的区域;
<mrow> <msup> <mi>g</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>=</mo> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>cEye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>cEye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mfrac> <msubsup> <mi>M</mi> <mn>10</mn> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msubsup> <msubsup> <mi>M</mi> <mn>00</mn> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msubsup> </mfrac> <mo>,</mo> <mfrac> <msubsup> <mi>M</mi> <mn>01</mn> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msubsup> <msubsup> <mi>M</mi> <mn>00</mn> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msubsup> </mfrac> <mo>)</mo> </mrow> </mrow>
其中为斑马鱼幼鱼右眼睛重心的横坐标,为斑马鱼幼鱼右眼睛重心的纵坐标,为计算重心坐标的中间变量;
<mrow> <msubsup> <mi>M</mi> <mn>10</mn> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msubsup> <mo>=</mo> <msub> <mi>&amp;Sigma;</mi> <mrow> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <mo>&amp;Element;</mo> <msup> <mi>S</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> </mrow> </msub> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mi>I</mi> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow>
<mrow> <msubsup> <mi>M</mi> <mn>01</mn> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msubsup> <mo>=</mo> <msub> <mi>&amp;Sigma;</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>)</mo> <mo>&amp;Element;</mo> <msup> <mi>S</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> </mrow> </msub> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mi>I</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>)</mo> </mrow> <mo>,</mo> </mrow>
<mrow> <msubsup> <mi>M</mi> <mn>00</mn> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msubsup> <mo>=</mo> <msub> <mi>&amp;Sigma;</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>)</mo> <mo>&amp;Element;</mo> <msup> <mi>S</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> </mrow> </msub> <mi>I</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>)</mo> </mrow> </mrow>
其中为右眼睛区域内任一点的横坐标,为右眼睛区域内任一点的像素值,为右眼睛区域内任一点的纵坐标,表示右眼睛的区域;
<mrow> <msup> <mi>g</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>=</mo> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <mi>c</mi> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <mi>c</mi> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mfrac> <msubsup> <mi>M</mi> <mn>10</mn> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msubsup> <msubsup> <mi>M</mi> <mn>00</mn> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msubsup> </mfrac> <mo>,</mo> <mfrac> <msubsup> <mi>M</mi> <mn>01</mn> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msubsup> <msubsup> <mi>M</mi> <mn>00</mn> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msubsup> </mfrac> <mo>)</mo> </mrow> </mrow>
其中xcSB为斑马鱼幼鱼鱼鳔重心gSB的横坐标,ycSB为斑马鱼幼鱼鱼鳔重心gSB的纵坐标,为计算重心gSB坐标的中间变量;
<mrow> <msubsup> <mi>M</mi> <mn>10</mn> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msubsup> <mo>=</mo> <msub> <mi>&amp;Sigma;</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> <mo>&amp;Element;</mo> <msup> <mi>S</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> </mrow> </msub> <msup> <mi>x</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mi>I</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> </mrow> <mo>,</mo> </mrow>
<mrow> <msubsup> <mi>M</mi> <mn>01</mn> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msubsup> <mo>=</mo> <msub> <mi>&amp;Sigma;</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> <mo>&amp;Element;</mo> <msup> <mi>S</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> </mrow> </msub> <msup> <mi>y</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mi>I</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> </mrow> <mo>,</mo> </mrow>
<mrow> <msubsup> <mi>M</mi> <mn>00</mn> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msubsup> <mo>=</mo> <msub> <mi>&amp;Sigma;</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> <mo>&amp;Element;</mo> <msup> <mi>S</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> </mrow> </msub> <mi>I</mi> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>,</mo> <msup> <mi>y</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> </mrow> </mrow>
其中xSB为鱼鳔区域内任一点的横坐标,I(xSB,ySB)为鱼鳔区域内任一点的像素值,ySB为鱼鳔区域内任一点的纵坐标,SSB表示鱼鳔的区域;
则定义斑马鱼幼鱼心脏向上时的心脏区域的中心M:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msup> <mi>x</mi> <mi>M</mi> </msup> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>2</mn> </msubsup> <msup> <mi>x</mi> <mrow> <msub> <mi>Eye</mi> <mi>i</mi> </msub> </mrow> </msup> <mo>+</mo> <msup> <mi>x</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msup> <mi>y</mi> <mi>M</mi> </msup> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>2</mn> </msubsup> <msup> <mi>y</mi> <mrow> <msub> <mi>Eye</mi> <mi>i</mi> </msub> </mrow> </msup> <mo>+</mo> <msup> <mi>y</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>
xM为斑马鱼幼鱼心脏区域中心M的x轴坐标,yM为斑马鱼幼鱼心脏区域中心M的y轴坐标;
斑马鱼幼鱼心脏区域的高度定义为
其中,
Δx为鱼鳔与两只眼睛中间的横坐标之差,Δy为鱼鳔与两只眼睛中间的纵坐标之差;
心脏区域的宽度WRCH定义为两只眼睛的间距;
<mrow> <msup> <mi>W</mi> <mrow> <mi>R</mi> <mi>C</mi> <mi>H</mi> </mrow> </msup> <mo>=</mo> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>cEye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>-</mo> <msup> <mi>x</mi> <mrow> <msub> <mi>cEye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>cEye</mi> <mn>1</mn> </msub> </mrow> </msup> <mo>-</mo> <msup> <mi>y</mi> <mrow> <msub> <mi>cEye</mi> <mn>2</mn> </msub> </mrow> </msup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow>
由xM、yM、HRCH、WRCH得到一个矩形的心脏区域,即为斑马鱼幼鱼心脏向上的情形的心脏区域;
对于心脏斜向、向左或向右的情形,斑马鱼幼鱼心脏区域的高度定义为
其中,
Δx为鱼鳔与两只眼睛中间的横坐标之差,Δy为鱼鳔与两只眼睛中间的纵坐标之差;
斑马鱼幼鱼心脏区域宽度定义为具体实施方式三中将包含斑马鱼幼鱼所在区域的面积最小的矩形两个长边之间的宽度WLBR
定义斑马鱼幼鱼心脏斜向、向左或向右时的心脏区域的中心为N:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msup> <mi>x</mi> <mi>N</mi> </msup> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <mi>E</mi> <mi>y</mi> <mi>e</mi> </mrow> </msup> <mo>+</mo> <msup> <mi>x</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msup> <mi>y</mi> <mi>N</mi> </msup> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mrow> <mo>(</mo> <msup> <mi>y</mi> <mrow> <mi>E</mi> <mi>y</mi> <mi>e</mi> </mrow> </msup> <mo>+</mo> <msup> <mi>y</mi> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </msup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>
xEye为两个眼睛联在一起的区域的重心的横坐标,yEye为两个眼睛联在一起的区域的重心的纵坐标;xN为心脏区域中心N的x轴坐标,yN为心脏区域中心N的y轴坐标;
由心脏区域宽度、心脏区域高度、xN、yN得到一个矩形的心脏区域,即为斑马鱼幼鱼心脏斜向、向左或向右的情形的斑马鱼幼鱼心脏区域。
7.根据权利要求6所述一种视觉伺服斑马鱼心脏注射方法,其特征在于:所述步骤六中基于步骤五确定斑马鱼幼鱼心脏区域后,用吸持针将斑马鱼幼鱼吸住;
移动机械臂A使吸持针y轴坐标与心脏区域中心M或N点的y轴坐标一致,然后移动机械臂A使吸持针在x轴移动直至吸持位置,即(xM-WLBR/2,yM);采用带有吸泵的吸持针对斑马鱼幼鱼进行吸附;
机械臂A沿着x轴和y轴移动吸持针,观察鱼是否随着吸持针移动,如果移动,则说明将斑马鱼幼鱼吸住;如果不移动,则说明斑马鱼幼鱼未吸住;若未吸住,重复执行该步骤,直到将斑马鱼幼鱼吸住。
8.根据权利要求7所述一种视觉伺服斑马鱼心脏注射方法,其特征在于:所述步骤七中基于步骤六,确定斑马鱼幼鱼心脏的左右朝向;具体过程为:
对步骤六中将斑马鱼幼鱼吸住后的图像用漫水填充算法确定视野中斑马鱼幼鱼所在区域,确定包含斑马鱼幼鱼所在区域的面积最小的矩形两个长边y1=kx1+b1,y2=kx2+b2,b1、b2为两条长边的截距;再取一组扫描线其中n代表步数,δb代表步长,k为两条长边的斜率,x1、x2为两条长边上点的横坐标,x3为扫描线上点的横坐标;
取所有截线的中点,依次连接,形成鱼的中线,再用二次曲线u=a2v2+a1v+a0拟合鱼的中线;将视野坐标系Oi-UV变换为斑马鱼幼鱼的坐标系变换关系为
<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msubsup> <mi>u</mi> <mi>i</mi> <mo>*</mo> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>v</mi> <mi>i</mi> <mo>*</mo> </msubsup> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <mo>-</mo> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mi>&amp;theta;</mi> </mrow> </mtd> <mtd> <mrow> <mi>s</mi> <mi>i</mi> <mi>n</mi> <mi>&amp;theta;</mi> </mrow> </mtd> <mtd> <msub> <mi>t</mi> <mi>u</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>sin</mi> <mi>&amp;theta;</mi> </mrow> </mtd> <mtd> <mrow> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mi>&amp;theta;</mi> </mrow> </mtd> <mtd> <msub> <mi>t</mi> <mi>v</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>u</mi> <mi>i</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>v</mi> <mi>i</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>
其中tu和tv代表位移向量;为变换后的截线的中点的横坐标,为变换后的所有截线的中点的纵坐标,ui为所有截线的中点的横坐标,vi为所有截线的中点的纵坐标,a0为二次曲线的0次项系数,a1为二次曲线的1次项系数,a2为二次曲线的2次项系数;
当斑马鱼幼鱼心脏向上时,斑马鱼幼鱼中线是直线,故a2最小,小于斑马鱼幼鱼心脏向左、向右时情况的十分之一;
a2<0时斑马鱼幼鱼心脏向左,a2≥0时斑马鱼幼鱼心脏向右;
确定斑马鱼幼鱼心脏的左右朝向之后,将斑马鱼幼鱼心脏所在区域进一步缩小,得到最终斑马鱼幼鱼心脏的位置。
9.根据权利要求8所述一种视觉伺服斑马鱼心脏注射方法,其特征在于:所述步骤八中根据斑马鱼幼鱼心脏的朝向确定注射位置;具体过程为:
取最终斑马鱼幼鱼心脏的位置区域中的每个像素值,连续取tf-t0帧,tf、t0为取得第一帧和最后一帧的序数;tf-t0取值范围为150~300;δ(m,n,k)代表最终斑马鱼幼鱼心脏内坐标为(m,n)的像素在第k次获得的图像的强度值,计算最终斑马鱼幼鱼心脏区域中每个点在tf-t0时间段内的变化:
<mrow> <mi>&amp;Delta;</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> </mrow> <mrow> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mo>|</mo> <mi>&amp;delta;</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>,</mo> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mi>&amp;delta;</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>,</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow>
将Δ(m,n)的重心表示为(x*,y*),作为注射目标;根据注射位置(x*,y*)、眼睛和鱼鳔的相对位置,从资料中查找注射位置(x*,y*)、眼睛和鱼鳔的相对位置的鱼的截面;根据注射位置(x*,y*)计算出注射位置(x*,y*)偏离鱼的中线的距离δX=WRCH/2-x*,得到
δZ为鱼的心脏到截面的圆心所在水平面的相对高度;r为心脏距离鱼的截面的圆心的距离;
将注射针针尖移动到坐标释放药物完成注射,再沿注射针x轴方向撤回针尖。
CN201710486466.0A 2017-06-23 2017-06-23 一种视觉伺服斑马鱼心脏注射方法 Pending CN107047396A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710486466.0A CN107047396A (zh) 2017-06-23 2017-06-23 一种视觉伺服斑马鱼心脏注射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710486466.0A CN107047396A (zh) 2017-06-23 2017-06-23 一种视觉伺服斑马鱼心脏注射方法

Publications (1)

Publication Number Publication Date
CN107047396A true CN107047396A (zh) 2017-08-18

Family

ID=59613244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710486466.0A Pending CN107047396A (zh) 2017-06-23 2017-06-23 一种视觉伺服斑马鱼心脏注射方法

Country Status (1)

Country Link
CN (1) CN107047396A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109730799A (zh) * 2019-01-04 2019-05-10 哈尔滨工业大学 斑马鱼幼鱼的自动输送和调整姿态系统
CN110016431A (zh) * 2019-04-17 2019-07-16 江南大学 一种视觉伺服三维旋转的斑马鱼胚胎心脏注射系统及方法
CN111583207A (zh) * 2020-04-28 2020-08-25 于兴虎 一种斑马鱼幼鱼心脏轮廓确定方法及系统
CN111597914A (zh) * 2020-04-23 2020-08-28 于兴虎 一种斑马鱼幼鱼尾部吸持损伤评估方法及系统
CN112465740A (zh) * 2020-09-30 2021-03-09 宁波智能装备研究院有限公司 一种基于显微操作系统的目标吸持点定位方法及系统
CN113528583A (zh) * 2021-07-15 2021-10-22 澳门大学 自动化显微注射方法、装置、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1418761A (zh) * 2002-12-10 2003-05-21 北京航空航天大学 面向生物医学工程的微操作机器人系统
CN102477396A (zh) * 2010-11-22 2012-05-30 大连创达技术交易市场有限公司 一种显微视觉伺服控制的微操作机器人系统
CN203794894U (zh) * 2014-05-06 2014-08-27 中国水产科学研究院黑龙江水产研究所 斑马鱼胚胎显微注射专用培养皿

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1418761A (zh) * 2002-12-10 2003-05-21 北京航空航天大学 面向生物医学工程的微操作机器人系统
CN102477396A (zh) * 2010-11-22 2012-05-30 大连创达技术交易市场有限公司 一种显微视觉伺服控制的微操作机器人系统
CN203794894U (zh) * 2014-05-06 2014-08-27 中国水产科学研究院黑龙江水产研究所 斑马鱼胚胎显微注射专用培养皿

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SONGLIN ZHUANG ET AL: "Visual Servoed Zebrafish Larva Heart Microinjection System", 《IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS》 *
田桂中等: "显微注射中细胞位姿调节技术及实验研究", 《中国机械工程》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109730799A (zh) * 2019-01-04 2019-05-10 哈尔滨工业大学 斑马鱼幼鱼的自动输送和调整姿态系统
CN109730799B (zh) * 2019-01-04 2019-10-08 哈尔滨工业大学 斑马鱼幼鱼的自动输送和调整姿态系统
CN110016431A (zh) * 2019-04-17 2019-07-16 江南大学 一种视觉伺服三维旋转的斑马鱼胚胎心脏注射系统及方法
CN111597914A (zh) * 2020-04-23 2020-08-28 于兴虎 一种斑马鱼幼鱼尾部吸持损伤评估方法及系统
CN111583207A (zh) * 2020-04-28 2020-08-25 于兴虎 一种斑马鱼幼鱼心脏轮廓确定方法及系统
CN111583207B (zh) * 2020-04-28 2022-04-12 宁波智能装备研究院有限公司 一种斑马鱼幼鱼心脏轮廓确定方法及系统
CN112465740A (zh) * 2020-09-30 2021-03-09 宁波智能装备研究院有限公司 一种基于显微操作系统的目标吸持点定位方法及系统
CN112465740B (zh) * 2020-09-30 2022-06-14 宁波智能装备研究院有限公司 一种基于显微操作系统的目标吸持点定位方法及系统
CN113528583A (zh) * 2021-07-15 2021-10-22 澳门大学 自动化显微注射方法、装置、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
CN107047396A (zh) 一种视觉伺服斑马鱼心脏注射方法
CN104299240B (zh) 用于车道偏移预警的摄像头标定方法及系统
CN106843460B (zh) 基于多摄像头的多目标位置捕获定位系统及方法
CN104677305B (zh) 一种基于十字结构光的物体表面三维重建方法和系统
CN103886307B (zh) 一种视线跟踪及疲劳预警方法
Keuning et al. Image-based magnetic control of paramagnetic microparticles in water
CN104484868B (zh) 一种结合模板匹配和图像轮廓的运动目标航拍跟踪方法
CN100565112C (zh) Aps太阳敏感器的信息处理方法
CN108257137A (zh) 一种基于视觉光斑自动判读的角度测量方法及系统
Bastin et al. Prospective strategies underlie the control of interceptive actions
CN110222612A (zh) 用于无人机自主降落的动态标靶识别与跟踪方法
CN106969730A (zh) 一种基于无人机探测技术的果树树冠体积测量方法
CN103390193B (zh) 一种面向导航的大鼠机器人自动训练装置以及大鼠行为识别方法和训练方法
CN110150260A (zh) 一种基于深度学习的智能靶喷除草机器人
CN107168339A (zh) 一种基于视觉和超声波组合的智能轮椅床对接控制方法
Lancioni Using pictorial representations as communication means with low-functioning children
Li et al. Retinal flow is sufficient for steering during observer rotation
Chen et al. The cube-shaped hematite microrobot for biomedical application
CN111015683A (zh) 一种外场驱动的双腿站立行走磁微机器人及其步态控制方法
Kim A simple pupil-independent method for recording eye movements in rodents using video
CN108830248B (zh) 一种行人局部特征大数据混合提取方法
Miller et al. Development of a novel visuomotor integration paradigm by integrating a virtual environment with mobile eye-tracking and motion-capture systems
CN103234532A (zh) 数字式液浮磁罗盘及其测量姿态角的方法
CN113457566A (zh) 一种制备Janus粒子的方法及形貌调控方法
CN108795870A (zh) 一种三维细胞聚集培养方法

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170818

WD01 Invention patent application deemed withdrawn after publication