2. 重庆城市管理职业学院 信息工程学院 重庆 401331;
3. 宁波大发化纤有限公司, 浙江 宁波 315336
2. Department of Information Engineering, Chongqing City Management College, Chongqing 401331, P. R. China;
3. Ningbo Dafa Chemical Fiber Co. Ltd, Ningbo 315000, Zhengjiang, P. R. China
微滴式数字PCR系统是在传统的PCR扩增前对样品进行微滴化处理,即将含有核酸分子的样品分成数量巨大的微小液滴,其中每个微滴不含待检测核酸靶分子,或者含有一个至数个待检测核酸靶分子。经过PCR扩增后,逐个对每个微滴进行检测(每个液滴依次通过激光焦点进行照射),然后根据泊松分布原理及阳性微滴的个数与比例即可得出靶分子的起始拷贝数或者浓度。其内部使用基因芯片(生物芯片)作为载体。目前关于基因芯片的检测手段主要有2种:1)利用电子摄像器件和计算机等而构成的基因芯片检测仪器。2)利用激光共聚焦扫描成像原理开发研制的基因芯片检测仪。研究主要是前者的自动对焦问题。
在数字PCR仪检测系统中,一种类型是采用生物芯片固定在仪器内部,使用后再清洗,从而使得芯片可以被再次使用的形式。该类型的仪器在最初被生产出来时,就经过校正调焦的过程,因此,不需要重复进行调焦。而另一种则采用一次性生物芯片的数字PCR仪检测系统,每次进行扩增操作,都要进行对焦过程[1]。随着计算机硬件和数字图像技术的飞速发展,图像的实时处理已经成为可能。因此,计算机通过镜头和CCD/COMS采集到一系列的数字图像,对每一帧图像进行实时处理,判断对焦是否准确,成像是否清晰,并给出反馈信号控制镜头的运动,直到采集到的图像符合使用要求,即完成自动对焦[2-3]。
国外早在70年代就开始了自动聚焦方面的理论研究。Subbarao M提出通过提取图像的边缘信息,并分析其值选取合适的基准值进行对焦[4];Ren.C.Luo提出了直方图方差最大化法和能量最大值法[5]。这2种方法后来依靠其较低的时间复杂度和不错的效果成为了比较通用的对焦评价函数之一;Vollath提出基于统计学和自相关特征的聚焦评价函数[6];Firestone L, Cook K, Culp K等人提出了基于图像灰度直方图的聚焦评价算法,它通过图像中的明亮像素乘以对数函数的方差而求得评价值,并且之后有人进行改进,引入了加权灰度值概念,增加清晰度评价的准确度[7];到21世纪之后,随着计算机软硬件的发展,开始出现了使用机器学习等新技术的自动聚焦算法。Saad, Michele A等人于2010年提出了BLIINDS方法,这种方法使用了离散余弦变换的统计数据[8]。
国内也有不少学者进行了相关理论研究。祝世平等人提出了基于灰度值高频谱和熵的聚焦评价算法[9];王建民等人分析了对焦的各个阶段提出分段使用不同对焦算法的思路[10]。曹福生等人采用光电法来进行自动聚焦[11];朱孔凤等人提出了新的对焦窗口选择方法,通过对局部小窗口的自适应门限挑选出图像边缘的部分,并通过整体门限减少噪声的影响[12];周贤等人提出爬山算法的改进,它设置了随机的起点,从而减少对焦步数[13-14]。
笔者提出了一种基于BP神经网络的自动对焦的方案。该方案是通过事先测量好焦点位置和不同位置的聚焦评价值,经过BP神经网络进行训练获得稳定的映射,之后在对焦过程中,测量几个位置的聚焦评价值后再输入神经网络进行计算,获得预先测量好的焦点位置;该方案直接将测量的聚焦评价值与焦点位置对应起来,省去了查找耗时的过程,简化了训练操作过程。
1 自动对焦的基本技术自动对焦技术有2个重要的技术点:图像聚焦清晰度的评价、聚焦搜索策略。
1.1 聚焦评价函数当前,聚焦评价函数多达数十种,由于聚焦图像本身结构比较简单,为了提高对焦的速度,选择了灰度方差Variance函数,基于灰度直方图的函数,基于导数的函数这3种算法作为聚焦评价函数。这3种评价函数能较快的计算出评价值。经测试表明grayscale variance function的精度和速度优于其他2种函数。且灰度方差Variance函数作为聚焦评价函数,它具有时间复杂度低,评价值变化灵敏,函数曲线峰值明显等特点。
灰度方差函数计算图像像素中灰度级的变化,表示了图像中亮度(灰度)变化的平均程度,其中亮和暗像素具有相同的影响。灰度变化的平均程度越大,图像越清楚,灰度变化平均程度越小,图像越不清楚。
| $ A{F_{VAR}} = \frac{1}{{MN}}\sum\limits_x {\sum\limits_y {{{\left[ {g\left( {x, y} \right){\rm{ - }}\bar g} \right]}^2}} } , $ | (1) |
| $ \bar g = \frac{1}{{MN}} \sum\nolimits_x {\sum\nolimits_y {g\left( {x, y} \right)} } , $ | (2) |
其中:g是图像的灰度平均值;x, y表示图像二维矩阵中像素点的横纵坐标;AF表示自动对焦。
1.2 SOM神经网络的对焦策略随着人工智能技术的逐渐成熟,神经网络,机器学习方法的广泛应用。一些研究人员把机器学习的方法用于自动对焦[15]。通常,机器学习方法用于解决模式识别的问题,它可以对于输入和输出没有确定关系的问题进行一个权值仿真,相比于传统方法省去了峰值搜索过程,可以更快的确定焦点位置。Chih-Yung Chen等人提出了使用SOM神经网络进行对焦的方法[16]。SOM神经网络是一种无指导,自动聚类的神经网络,可以用于自动对焦中的焦点聚类问题。
1.2.1 SOM神经网络应用于自动对焦如图 1所示,透镜在对焦过程开始时从其初始位置出发。首先测量3个位置的对焦评价值,以便使用经训练的神经网络来预测最佳聚焦位置。接下来(如图 2所示),使用3个透镜位置s0,s1和s2(即SOM神经网络的输入数据)的评价值来预测最佳聚焦位置s3(即期望输出)的候选。接着,透镜将移动到s3,然后返回更准确地搜索到的最大聚焦值。最终,通过向后搜索可以容易地获得最佳聚焦位置sw。该方法可针对不同位置的透镜,对物体进行对焦,但前提是SOM神经网络必须事先训练过这些位置。
|
图 1 SOM神经网络应用于自动对焦 Fig. 1 Initial position of automatic focusing based on SOM neural network |
|
图 2 SOM神经网络的自动对焦过程 Fig. 2 Automatic focusing process of SOM neural network |
对于一组输入,会有一个竞争层神经元竞争胜出,该过程可以看作是对于输入的分类。SOM神经网络的竞争层可以与一个分类矩阵一一对应,来获得分类结果。使用SOM神经网络自动对焦的方法,是利用SOM神经网络的分类功能,将输入的3个聚焦评价值进行分类,然后与焦点位置一一对应。分析其设计思路,可以发现对聚焦效果受以下几个方面的影响:
1) 训练样本的选取范围,数量。范围如果过小,数量过少,则覆盖情况不够全面,对焦效果相应会差一些。
2) SOM神经网络的结构。SOM神经网络竞争层如果过小,则神经网络不易收敛,误差也会变大。如果过大,则计算量增加,训练时间过长。
3) 对焦的过程。通常对焦过程是先进行分类,再与焦点矩阵对应,当焦点矩阵较大时,此过程存在查找耗时的问题。
2 基于BP神经网络的自动对焦的方案笔者提出基于BP神经网络的自动对焦方案。该方案在对SOM神经网络分析的基础上,对对焦的过程先进行分类,再与焦点矩阵对应,进一步对对焦过程查找耗时的问题做出改进。BP神经网络方案的特点在于:它直接将SOM的输入和实际的焦点位置作为BP神经网络的输入和输出,省去原SOM方案的先分类,再与焦点矩阵对应的过程,节省时间。
2.1 基于BP神经网络的自动对焦BP神经网络应用于自动对焦的关键点在于BP网络可以实现函数逼近的功能:用输入向量和相应的输出向量训练一个网络,逼近一个函数[17](依据Kolrnogorov定理)。
笔者的改进方案是通过事先测量好焦点位置和不同位置的聚焦评价值,经过BP神经网络进行训练获得稳定的映射,之后在对焦过程中,测量几个位置的聚焦评价值后再输入神经网络进行计算,获得预先测量好的焦点位置。设计的BP神经网络结构,能有效的实现输入到输出的映射,达到了很好地映射效果。BP神经网络应用于自动对焦的实施步骤如图 3所示。
|
图 3 BP神经网络应用于自动对焦的实施步骤 Fig. 3 Automatic focusing process of BP neural network |
整个步骤包括BP网络结构设计,BP网络训练步骤,自动对焦步骤。
1) BP网络结构
输入层为5个节点,隐含层为100个神经元,输出层为1个神经元。隐含层的激活函数为对数S形转移函数(logsig),输出层的激活函数为线性函数(purelin),训练函数为梯度下降函数,采用Levenberg-Marquardt(L-M)优化算法(trainlm)。迭代次数为1 500次,学习率为0.01。根据数字PCR仪的使用环境,输入层的5个输入参数分别为:参数1是位置为s0时的聚焦评价值,参数2是位置为s1时的聚焦评价值,参数3是位置为s2时的聚焦评价值,参数4是平均灰度值,参数5是曝光时间。
训练样本说明:为了增加对焦精度,使用100组样本进行训练,基于大数据量的训练使得对焦效果较好;而且样本中包含曝光时间,亮度等图像信息,使得训练数据覆盖了聚焦清晰度评价的多个要素,对焦更准确。
输出层激活函数说明:输出层为坐标大于1,因此不使用非线性激活函数,故使用线性函数f(x)=x。
2) BP网络结构的训练步骤:
步骤1:选取100组不同长度的h,q(h, q如图 4所示)组合,构成100个类别。
|
图 4 对焦器件距离示意图 Fig. 4 The distance of focusing device |
步骤2:对于每组类别,选取固定位置的3个p0,p1,p2 (这里选取的3个位置满足p0-p=p1-p0=p2-p1=dis),测量其聚焦评价值作为s0,s1,s2,测量曝光时间t0,t1,t2,平均灰度值d0,d1,d2。
步骤3:计算s0,s1,s2的平均曝光时间t=(t0+t1+t2)/3,及平均灰度值d=(d0+d1+d2)/3。
步骤4:对于每组类别,测量其聚焦函数的图像,即移动镜片(改变p),测量其聚焦函数值,并找出其峰值的位置p3,得到聚焦评价值s3。
步骤5:对于获得的100组s0,s1,s2,d,t,使用y=(x-min)/(max-min)(其中min为x的最小值,max为x的最大值,输入向量为x,归一化后的输出向量为y,将min和max记录下来以便对焦时使用)进行归一化,归一化后s0,s1,s2,d,t作为输入向量,p3为输出向量。
步骤6:将此100组数据作为输入进行训练。
步骤7:训练过程按照BP网络训练步骤训练。
注:由于BP神经网络是多次不断反馈计算完成学习的,初始权值随机产生,可以不用设定,在学习的过程中不断优化,最终得到最佳的权值。经测算用100组数据对BP网络进行训练是可以确保网络达到最佳状态。
3) BP网络结构经训练后对焦流程(如图 5所示)
|
图 5 BP神经网络对焦步骤图 Fig. 5 Focusing step of BP neural network |
步骤1:驱动自动三维平台,使镜片移动到3个距离相等的位置(距离为训练时的距离dis),分别测得3个位置的聚焦评价值ss0, ss1, ss2,曝光时间tt0, tt1, tt2,平均灰度值dd0, dd1, dd2。
步骤2:计算平均曝光时间tt=(tt0+tt1+tt2)/3,及平均灰度值dd=(dd0+dd1+dd2)/3。
步骤3:将ss0,ss1,ss2,tt,dd经过归一化后(使用训练时的min,max)作为输入,经过神经网络计算到输出层,(不用进行权值调整)得到输出层的值c,c即为焦点位置预测坐标。
步骤4:驱动自动三维平台将透镜移动到c处。
步骤5:记当前位置为n,从当前位置n开始,将镜片向左和右分别移动3次相同的距离a,并测量聚焦评价值。如果遇到比当前值大的位置,记为n。并重复本步骤5,直到2边评价值都比n小为止。
2.2 BP神经网络应用于自动对焦过程的模拟BP神经网络通过训练,直接将输入的评价值和焦点位置(步进电机移动步数)对应起来,从而省去的SOM方法中的先分类,再对应的过程,节省了时间。
为进一步分析BP神经网络在自动对焦上的性能,使用训练数据进行仿真测试。训练数据做如下处理:在原输入数据之上随机加减一个很小的值,如0.001。相当于获得原数据附近的数值,来模拟真实情况。
结果显示其误差在1以内,如图 6所示,x轴为归一化的输入,y轴为期望值,设定为600-700之间的随机数。*为期望的输出值(焦点位置),O为仿真结果(神经网络的输出)。从图中可以发现,*和O重合度较好。
|
图 6 BP神经网络训练数据仿真图 Fig. 6 Training data simulation of BP neural network |
在对焦过程中,只有成像的主体在计算评价值的区域(对焦窗口)中,所占的比例足够大,对焦的精度才有保证。在实际应用中,应当选择包含成像主体更多的区域,同时降低背景区域。研究中生物芯片的图像,恰恰是成像主体所占的比重很小的情况。因此在选择对焦窗口时应选择有代表意义的区域。
实验的成像结果为图 7所示图案,为便于对焦选择,需要对图像进行处理,进行指定区域的聚焦评价,从而减少无效区域对聚焦评价结果的影响。具体方法为:对图像进行水平和垂直方向的灰度直方图统计,由此可以得出需要检测的范围。如下图 8所示,可以观察出对焦检测的区域为2个槽交叉的位置,从而缩小了检测范围,减少了运算量,提升了速度。该方法适用于在图像还未对焦,但是图像基本轮廓可以辨别时使用。
|
图 7 实验平台所用微流控生物芯片的相机拍摄图 Fig. 7 The microfluidic biochip used in the experimental platform was photographed by a camera |
|
图 8 对焦窗口选择结果 Fig. 8 Focusing window selection |
为了进行对比,进行了经典的爬山算法的实验,测试其对焦步数,并和神经网络算法进行对比。实验中以5步为步进电机移动的步长,选择AFvar函数,从电机移动2 500步之处,开始进行峰值搜索。搜索时,聚焦评价曲线图自动绘制结果如图 9所示:
|
图 9 爬山算法聚焦评价曲线图 Fig. 9 Focusing evaluation curve of Hill-climbing |
通过图 9以看出,AFvar算法的灵敏度较好,爬山算法可以较好地根据评价值进行“爬山”。且爬山算法按照固定步长进行搜索,需电机移动物镜(或芯片)10余次才能找到峰值。相机在不同时刻采用利用爬山算法进行对焦后成像结果如下图 10所示:
|
图 10 相机成像结果 Fig. 10 Camera imaging results |
由图 10可以看出爬山算法的峰值搜索效果较好。在渐进搜索过程中,图像逐渐变得清晰,在焦点附近时(如图(e),(f)),图像清晰度差别不大。
3.3 神经网络对焦结果根据BP神经网络对焦方案的设计,它仅需电机移动物镜(或芯片)3次即可对焦。本实验挑选2种生物芯片和两种不同倍率物镜,在物镜和相机位置固定的情况下,进行神经网络的训练。根据对焦原理可知本实验的焦点位置有2个。
经过手动测量,两种物镜的对焦位置分别为步进电机从原点移动2 560步和2 580步左右。即训练的输出确定为2 560和2 580。选择AFvar函数作为聚焦评价函数。按照上文所述训练步骤经过训练后,按照对焦步骤,测量以20步为步数差的3处聚焦评价值,以及当时的图像的平均灰度值,曝光时间,将这5个数据作为输入。为了测试算法的稳定性,将上述对焦操作做了5组平行测试。作为对比,还进行了SOM神经网络对焦试验。SOM神经网络的输入层设置为10*10个结点,初始学习率为0.2,迭代次数为20,输入和BP神经网络保持一致。经过实验,得出的结果如表 1所示。
| 表 1 神经网络测量数据计算结果 Table 1 Calculation results of measurement data by neural network |
由表 1可以看出BP神经网络计算的值与期望值相比有一定的误差,误差最大可以达到6步左右。但是误差尚在可以接受的范围内。而SOM神经网络计算的值和期望值一致的比例为4/5。由于SOM神经网络在自动对焦中的主要作用是聚类,因此只要分类正确,其焦点位置必然是正确的。但是缺点是一旦分类错误,就会得出其他的对焦位置,其误差就会较大。表 1中的第5组SOM神经网络计算的误差达到20步。
下面展示BP神经网络方案误差最大的第4组(误差达到6步),其在测量过程中相机的显示画面(如图 11所示).(a)(b)(c)为测量3处评价值时的相机图像,(d)为BP神经网络计算值处的相机图像。根据光学成像知识,当焦点对准某一物体时,不仅位于该点平面上的各点都可以看清楚,而且在此平面的上下一定厚度内,也能看得清楚。由图 11(d)可以看出其图像较为清晰。
|
图 11 BP神经网络第4组测量画面 Fig. 11 Measurement photo of group 4 by BP neural network |
而SOM神经网络方案中,误差最大的第5组,其在计算出的步数处的相机显示画面如图 12示,由图 12可以看出,它的清晰程度相比图 11(d)的图像较差。
|
图 12 SOM神经网络第5组测量画面 Fig. 12 Measurement photo of group 5 by SOM neural network |
通过对比,可以看出设计的BP神经网络对焦方案对焦速度最快,对焦过程中电机移动次数为4次,虽然精度略低于手动对焦,但是仍在准确范围内。而采用SOM神经网络进行对焦,其对焦步数也为4步,但是其计算步骤较BP方案复杂,因此速度低于BP方案。SOM对焦方案的分类正确率尚可,但是对焦效果不够稳定。两种方案均需要事先测量好所有可能的情况下的数据,并进行训练,所以应用于数字PCR仪尚可,但是不适合相机画面经常变化的场景。相对于BP神经网络的快速对焦(测量3处评价值即可对焦),爬山算法对焦速度较慢,需要搜索10余步,且速度和步长大小有关系。
4 结论BP和SOM属于机器学习类自动对焦方案,因其需要训练固定的聚焦评价值,所以适用于相机图像不经常变化的场景,本文所述PCR仪即属于此场景。爬山算法可以对任意值的聚焦评价函数进行峰值搜索,因此可以适用于任意场景。综合对比3种对焦方案,提出的BP方案在数字PCR仪上应用较为成功,对焦速度和对焦稳定性均较好。
由于BP神经网络对焦方案精度还有提升空间,且速度较快,而爬山算法速度慢,精度较高,所以后期研究中考虑采取两者结合的方式,来达到一个较好地平衡。此外,由于BP和SOM 2种方案均需要事先测量好所有可能的情况下的数据,并进行训练,才能对训练过的情况进行对焦,不适合画面经常变化的场景。因此下一步的研究方向为设计一种可自适应的算法或者神经网络,使其可以在多种场景下自学习或自动搜索。
| [1] |
Muller H, Eisendle K., Brauninger W, et al. Comparative analysis of immunohistochemistry, polymerase chain reaction and focus-floating microscopy for the detection of treponema pallidum in mucocutaneous lesions of primary, secondary and tertiary syphilis[J]. British Journal of Dermatology, 20111, 65(7): 50-60. |
| [2] |
Harada M, Obara K, Nakamae K, et al. A robust SEM auto-focus algorithm using multiple band-pass filters[J]. Measurement Science and Technology, 2017, 28(1): 12-14. |
| [3] |
Wang Y R, Feng H J, Xu Z H, et al. Fast auto-focus scheme based on optical defocus fitting model[J]. Journal of Modern Optics, 2018, 65: 858-868. DOI:10.1080/09500340.2017.1411540 |
| [4] |
Subbarao M, Choi T S. Focusing techniques[J]. Optical Engineering, 1992, 32(11): 2824-2836. |
| [5] |
Luo R C, Lin M H. Issues and approaches of automatic focusing algorithms for intelligent robot eye-in-hand system[J]. Journal of Robotic Systems, 1987, 4(4): 459-476. DOI:10.1002/rob.4620040402 |
| [6] |
Vollath D. Automatic focusing by correlative methods[J]. Journal of Microscopy, 1987, 147(3): 279-288. DOI:10.1111/j.1365-2818.1987.tb02839.x |
| [7] |
Firestone L, Cook K, Culp K. Comparison of auto-focus methods for automated microscopy[J]. Cytometry, 1991(12): 195-205. |
| [8] |
Saad M A, Bovik A C, Charrier C. A DCT Statistics-based blind image quality Index[J]. IEEE Signal Processing Letters, 2010, 17(6): 583-586. DOI:10.1109/LSP.2010.2045550 |
| [9] |
祝世平, 房建成, 周锐. 一种新的能量谱-熵图像聚焦评价函数[J]. 北京航空航天大学学报, 1999, 25(6): 720-723. ZHU Shiping, FANG Jiancheng, ZHOU Rui. New kind of energy-spectrum entropy image focusing evaluation function[J]. Journal of Beijing University of Aeronautics and Astronautics, 1999, 25(6): 720-723. (in Chinese) DOI:10.3969/j.issn.1001-5965.1999.06.024 |
| [10] |
王建民, 浦昭邦, 刘国栋. 提高图像测量系统精度的细分算法的研究[J]. 光学精密工程, 1998, 6(4): 44-50. WANG Jianmin, PU Zhaobang, LIU Guodong. Research on subdivision algorithm for improving the precision of image measurement system[J]. Optics and Precision Engineering, 1998, 6(4): 44-50. (in Chinese) DOI:10.3321/j.issn:1004-924X.1998.04.007 |
| [11] |
曹福生, 袭颖刚. 轮廓光电自动调焦系统[J]. 光学仪器, 1986(1): 27-31. CAO Fusheng, QIOU Yinggang. Automatic focussing photoelectric device[J]. Optical Instruments, 1986(1): 27-31. (in Chinese) |
| [12] |
朱孔凤, 姜威, 高赞, 等. 自动聚焦系统中聚焦窗口的选择及参量的确定[J]. 光学学报, 2006, 26(6): 836-840. ZHU Kongfeng, JIANG Wei, GAO Zan, et al. Focusing window choice and parameters determination in automatic focusing system[J]. Acta Optica Sinica, 2006, 26(6): 836-840. (in Chinese) DOI:10.3321/j.issn:0253-2239.2006.06.008 |
| [13] |
周贤, 姜威. 基于图像边缘能量的自动聚焦算法[J]. 光学技术, 2006, 32(2): 000213-218. ZHOU Xian, JIANG Wei. Auto-focus algorithm based on image edge energy[J]. Optical Technique, 2006, 32(2): 213-218. (in Chinese) DOI:10.3321/j.issn:1002-1582.2006.02.034 |
| [14] |
Zhang X, Jia C, Xie K. Evaluation of autofocus algorithms for automatic detection of caenorhabditis elegans lipid droplets[J]. Progress in Biochemistry & Biophysics, 2016, 43(2): 167-175. |
| [15] |
刘书炘, 刘满华. 基于模糊熵评价和最优搜索的自动对焦算法[J]. 重庆邮电大学学报(自然科学版), 2017, 29(4): 514-520. LIU Shuxin, LIU Manhua. Auto-focusing algorithm based on fuzzy entropy evaluation and optimal search[J]. Joural of Chongqing University of Post and Telecommunication (Natural Science Edition), 2017, 29(4): 514-520. (in Chinese) |
| [16] |
Chen C Y, Hwang R C, Chen Y J. A passive auto-focus camera control system[J]. Applied Soft Computing, 2010, 10(1): 296-303. DOI:10.1016/j.asoc.2009.07.007 |
| [17] |
田增山, 崔永全. 基于BP神经网络的GPS/SINS姿态测量融合算法[J]. 重庆邮电大学学报(自然科学版), 2014, 26(4): 478-482. TIAN Zengshan, CUI Yongquan. Attitude measurement fusion algorithm in GPS/SINS based on BP neural-network[J]. Joural of Chongqing University of Post and Telecommunication (Natural Science Edition), 2014, 26(4): 478-482. (in Chinese) |
2019, Vol. 42


