王文欢,刘 威
(武汉大学 物理科学与技术学院,武汉 430072)
当下,科技突飞猛进,一些传统工作的操作方式和实现方法都可以借助更先进的技术来提升其方便性和有效性,传统的显微镜系统[1]主要使用人工操作和肉眼识别,对观察者的经验和知识储备有较高的要求。为了使显微镜这种在各个方面都用途甚广的仪器能更方便地被各类工作人员使用,研制了一套可自动扫描样片获取目标信息的显微成像系统,将显微镜用机械、电子以及计算机技术武装起来,使之能实现更智能化的控制,并具有更强大的功能。
整个系统的功能划分如图1所示,它由独立的几部分组成的。硬件部分包括一个自带电机可实现载玻片移动的载物台,一套相对独立的单片机控制系统和相应的电机驱动,可换镜头的光学显微镜,单反相机(摄像头)等等。软件部分主要包括PC机上的系统控制软件和写入单片机主控芯片的下位机软件,两者通过串口进行通信以实现系统的自动化控制。
图1 系统结构示意图Fig.1 Schematic diagram of system framework
真实系统整体结构示意图如图2所示。
图2 真实系统整体结构示意图Fig.2 Diagram of physical system
系统的工作流程是将待测样片或样品放在可移动载物台13上的某一个载玻片放置处,开启系统的上位机控制终端1和下位机控制系统2,打开照明光源4,调节使之达到适宜的亮度,待一切就绪后可通过上位机控制终端1的预览功能观察由图像获取装置3采集并显示在屏幕中的图像,并可同时发出各种指令与下位机控制系统2进行互动,可控制电机10、11实现载物台13的移动来实现视野的变换以便对样品不同部分进行观察,控制电机9实现镜头的上下移动以实现对焦,对焦可选用手动方式和自动方式。如果发现感兴趣的观测目标,可以控制图像采集装置3进行拍照保存,经上位机控制终端1的图像处理功能进行后续分析,给出参考数据并保存。对于每一个感兴趣的目标,都可以进行自动寻回再观察。系统操作流程如图3所示。
图3 系统操作流程图Fig.3 Operate flow chart of the system
根据需要,整个系统可分为仪器自动控制部分和图像获取与处理部分,这两部分互相配合,圆满实现整个系统的功能。
仪器自动控制部分的主要工作是实现对仪器各个部分的统筹控制,使整个系统的各个功能部件都能有条不紊地工作。
该部分的主要工作由下位机控制系统完成,该系统的主控芯片是一块ATmega128单片机,主要完成对系统三个电机的控制,对载物台位置传感器状态的读取,对与控制镜头上下移动的电机9配套的编码器信息的读取以及通过串口与上位机控制软件进行通信。
本系统的可移动载物台主要通过1号和2号电机来实现移动,经实际测算,以10倍物镜镜头观测为例,在实现正确对焦之后,每一个视野的水平实际距离大约为1.5 mm,垂直实际距离大约为0.94 mm,在水平方向电机的精度可以达到0.04 mm,在垂直方向电机的精度可达0.02 mm,4个光电传感器分别确定了电机可以到达的极限位置,系统的自动寻回功能正是依赖电机的高精度和光电传感器标定的原点位置来实现的,下位机控制系统用一个单独的线程来查询位置传感器和编码器的相关信息。
下位机主控芯片与上位机控制终端之间采用全双工的串行通信方式进行数据和指令的交流。系统设计初期就设定了一些有特定形式的字符串,为其赋予特殊的意义,比如驱动某个电机运行一定步数或者读取当前编码器信息等,作为指令在上下位机之间使用。
整个仪器自动控制部分的操作流程如图4所示。
图4 自动控制部分操作流程图Fig.4 Operate flow chart of the system’s auto-control part
图像获取与处理部分旨在对观测到的图像进行分析和处理,这部分的主要工作由上位机控制终端的软件配合图像采集装置和仪器自动控制部分来完成,可以说,这部分是本系统能够实现智能化控制的关键。
在整个系统中,相当关键的一步是实现镜头对当前所观测样品的自动对焦,即通过特定的算法使电机能驱动镜头自行到达可以观测到最清晰图像的位置。只有观察到清晰的图像,图像中的细节才可能被准确发现,对图像的后续处理才更准确,更有意义。
在本系统中,自动对焦主要通过上位机软件的算法来实现,在硬件层面上用3号电机来配合镜头完成这一工作,3号电机的精度经测算可以达到0.01 mm。此算法的核心是对当前位置图像的清晰度进行评价,通过控制电机调整镜头与载物台的相对位置,直至图片最清晰为止。
对图片清晰度进行评价的判据在这里非常重要,一个优质的图片清晰度评价函数应该在图片最清晰的位置出现峰值,并且能相应地判定次清晰与模糊等各种不同位置图片的清晰度。查阅了一些文献,选用并实现了以下一些方法,主要包括图片的灰度信息熵、灰度方差、梯度和、拉普拉斯算子、梯度向量模方和、点锐度等[4-6]。
在此选用以图5为代表的一组图像进行测试,这组图像是观测一个洋葱鳞片叶表皮细胞样片所得,共取离焦距离不同的28幅图片进行测试(图5中选用了其中比较有代表性的5幅图片作直观展示)。
图5 自动对焦测试图片Fig.5 Test pictures of automatic focus
图 5中编号(1)~(5)为对该样片同一视野中离焦距离分别为:-1.25 mm,-0.11 mm,0,+0.11 mm,+1.11 mm的位置进行观察而拍摄到的图片,其中“-”代表当前位置在正确对焦位置一侧,“+”代表当前位置在正确对焦位置另一侧。
通过VS+openCV实现上述算法[7-8]并分析,本系统最终选取灰度方差作为对焦清晰度评价参数,设为p,p越大,则表明镜头在当前位置观察到的图像越清晰。实现自动对焦的算法流程如图6所示,需要说明的是,本系统中用于控制镜头的电机的运行位置可由图2中编码器8读出,每次进行自动对焦操作前,根据该编码器的值判断当前位置与默认初始位置之间的距离,并以此确定初始运动步长m的大小,指定的值d是一个很小的值,可以认为在当前位置的基础上,电机再运行d指定的距离对最终结果的影响可以忽略,故以m与d之间的相对大小来确定是否实现自动对焦,最终可以使系统自动运行到能观察到清晰度如图5(3)图像的位置。
图6 自动对焦算法流程Fig.6 Flow chart of the autofocus algorithm
实现自动对焦后,系统可以获得清晰的待处理图片,并通过给上位机软件添加一些图像处理功能来实现对所获得的图像的初步分析。图像处理功能一般按图7所示的步骤进行工作,当前主要用VS+openCV平台实现了灰度变换、滤波、边缘检测、目标识别等操作,可实现对图片进行一定的分析处理并生成观察报告。
图7 图像处理基本流程Fig.7 Image processing procedure
比如说观察包含一组简单几何图形的目标样片,可以使用本系统的图像处理功能实现各个小目标图像的提取和显示,如图8所示,并且可以得到所有小目标的个数以及各个目标的相对大小 (面积、周长等)及基本信息(圆形度等),而且可以得到从载物台指定原点位置运行到某一目标时控制载物台的各电机运行的步数,从而方便对感兴趣目标的再次观察。与此同时,可以将这些信息保存下来,方便以后的查阅或者使用。
图8 提取观察到的部分目标后的显示结果(初步)Fig.8 Preliminary result of the targets which had been extracted and observed
本文研究的可自动对焦的电动显微成像系统,在需要使用显微镜的各个领域,包括物理、生物、医学等方面都有很好的应用前景。目前在实验室已可以使用此系统来进行一些以往需要使用者进行繁复手动操作和肉眼观察分析的工作,且观察效果良好,操作简便。在此基础上还可以添加一些更加实用的功能,比如通过更强大的图像处理功能直接实现肿瘤细胞的初步分析标定,使之成为一套实用性更强,功能更完善的自动化系统。
[1] 舍英.现代光学显微镜[M].北京:科学出版社,1997.
[2] 陈理壁.步进电机及其应用[M].上海:上海科学技术出版社,1989.
[3] 金钟夫.AVR ATmega128单片机C程序设计与实践[M].北京:北京航空航天大学出版社,2008.
[4] 王鸿南,钟文,汪静,等.图像清晰度评价方法研究[J].中国图像图形学报,2004,9(7):828-831.
[5] 朱铮涛,黎绍发,陈华平.基于图像熵的自动聚焦函数研究[J].光学精密工程,2004,12(5):537-542.
[6] 杨斯涵.自动调焦系统中图像清晰度评价函数研究[J].中国科技成果,2008(18):53-54.
[7] Gary Bradski,Adrian Kaehler.学习OpenCV:中文版[M].于仕琪,刘瑞祯,译.北京:清华大学出版社,2009.
[8] 孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006.■