全文HTML
--> --> -->高分辨电镜图像中原子峰位置的精确定量具有十分重要的现实意义. 例如在负球差成像条件下, 通过精确测量锆钛酸铅(PbZr0.2Ti0.8O3)薄膜中每个单胞内锆/钛(Ti/Zr)原子柱与相邻氧原子(O)柱的相对位移, 首次在皮米精度精确表征了锆钛酸铅(PbZr0.2Ti0.8O3)薄膜中电极化矢量的连续涡旋状翻转分布[12]. 在钛酸铅/钛酸锶(PbTiO3/SrTiO3)外延多层薄膜中, 通过精确确定每个原子柱的位置, 揭示了PbTiO3/SrTiO3多层膜中纳米拓扑缺陷的新颖结构, 包括电偶极子波、偶极子向错和其他电偶极子拓扑缺陷[13]. 而对利用球差校正扫描透射电镜得到的钛酸铅(PbTiO3)薄膜高角环形暗场像(HAADF-STEM), 通过精确测量每个单胞中钛离子(Ti4+)相对于相邻4个铅离子(Pb2+)几何中心的皮米精度的位移, 观察到了钛酸铅(PbTiO3)薄膜中的通量全闭合畴结构[14]. 利用球差校正扫描透射电镜高角环形暗场像模式(HAADF-STEM), 对钪酸铽(TbScO3)衬底上铁酸铋(BiFeO3)薄膜进行原子尺度的成像, 通过精确定量计算每个单胞中铁(Fe)离子相对于相邻4个铋(Bi)离子几何中心的位移, 确定了铁酸铋(BiFeO3)薄膜中109°畴壁在界面处的极化矢量的涡旋状分布情况[15]. 利用钛酸铅(PbTiO3)薄膜的(HAADF-STEM)像, 通过精确测量每个单胞中钛/氧(Ti/O)原子峰相对于相邻4个铅(Pb)原子峰几何中心的位移, 确定了钛酸铅(PbTiO3)薄膜中的应力分布情况[16]. 在钛酸锶/钛酸铅(SrTiO3/PbTiO3)外延多层薄膜中, 通过精确测量每个原子峰的实际位置, 确定了钛酸铅(PbTiO3)薄膜中每个单胞内钛离子(Ti4+)的相对位移, 进而确定了薄膜中存在的通量闭合畴结构, 并且利用这些实空间的原子峰坐标信息, 通过逐个单胞计算的方式确定了薄膜面内及法线方向的应力分布状况以及面内的晶格旋转信息[17]. 在球差校正扫描透射环形明场像(ABF-STEM)成像模式下, 利用二维高斯函数拟合分别确定模拟像和实验像中原子峰的精确坐标位置, 通过测量不同离子原子峰之间的相对位置, 分离了样品倾转和扫描畸变两种因素的影响, 精确量化研究了样品倾转、样品厚度、离焦量、会聚角等因素对原子成像位置的影响[18]. 使用原子分辨的积分差分相位衬度(iDPC)技术, 在扫描透射成像模式(STEM)下成功实现了对钛酸铅(PbTiO3)薄膜中氧元素的成像, 利用二维高斯函数逐个拟合原子峰得到精确坐标, 确定了单个铁电涡旋中的极化分布情况[19]. 利用扫描透射成像模式下的原位实验技术, 通过精确定量原子位置, 确定了外力调控下钛酸铅(PbTiO3)薄膜中铁电畴拓扑结构的变化情况[20].
上述的定量研究工作都是基于高分辨电镜图像中单个原子像的像素分布具有二维高斯分布的情况, 通过最小二乘法拟合将二维高斯分布的光斑中心,实现精确定位, 是精确测量原子位置的基础[21]. 这一工作如果由人工处理将是一个非常耗时耗力的过程, 因此考虑到处理高分辨电镜图像所需要的巨大工作量, 特别是随着实时高分辨电镜图像的逐渐增多, 利用计算机自动处理电镜图像就显得尤为重要.
在已经发表的相关算法中, 可以通过设定两个线性无关的基矢实现对原子峰位置的搜索, 并在实空间实现对晶格形变的直接可视化。 这个算法的优点在于计算效率十分高, 不需要人为干预, 可以处理大尺寸高分辨图像, 缺点在于其对噪声十分敏感, 且很难处理多元素复合晶格的情形, 需要提前对图像进行滤波和降噪处理, 鲁棒性有待提升[22]. 另一种是自动构建布拉维格子的算法, 可获得和前一算法类似的效果, 这种算法同样具有计算效率很高的特点, 而且初始参数设定的灵活性很大, 但是该算法只适用于单元素周期性晶格, 对于存在多元素复合晶格、晶体缺陷、大幅形变以及图像局部衬度过低等情况的图像很难适用[23]. 通过设定单胞的周期性数值分布形式, 迭代计算每个原子峰质心位置直至收敛的方法来实现对原子峰位置的提取, 其计算效率很高, 但是这种计算方法和上述两种算法一样, 提前预设了周期性的结构, 依然难以适用于晶体缺陷以及多元素复合晶格的情况, 且极易受到图像噪声的影响, 鲁棒性不强[24].
上述几种代表性的寻峰算法均可以达到亚像素级别的精度, 计算效率也很高, 但是受限于周期性的算法设定, 往往需要针对特定图像做出人为干预以及参数调节措施, 在处理界面、位错、材料局部厚度变化引起的图像衬度差异过大等情形时会出现困难. 另一方面, 近年来以深度学习为代表的机器学习技术在计算机视觉领域取得了令人瞩目的进展[25]. 这一方法在图像像素层面对目标的特征展开学习, 能够从低阶像素特征上升到高阶抽象特征, 不依赖于预设模型或者具体算法限制, 具有强大的自适应性以及对噪声、形变等的鲁棒性[26].
高分辨电镜图像中原子峰位置的精确测量可以等效为单原子目标检测问题, 如果能够使用深度学习技术对图像中的原子峰进行识别和检测, 然后对检测到的目标进行二维高斯拟合, 就能实现原子峰位置的精确测量. 目前, YOLOv3网络是性能领先的实时端到端目标检测框架, 其架构特点为全卷积连接和多尺度检测, 具有精度高、速度快等优势, 尤其在小目标检测任务中表现十分优异[27]. 而电镜图像的分析是计算密集型的, 且当下电镜图像的产出数量十分巨大, 为了兼顾准确性和高效率, 需要选定实时性和准确性都较好的网络, YOLOv3网络在相同的检测精度下, 检测速度明显优于其他几种主流的目标检测网络[27]. 根据这一思路, 本文利用YOLOv3框架训练了一套能够识别和检测原子图像的网络, 并且对训练效果进行了测试. 应用这一网络结合二维高斯拟合能够完整地处理电镜图像中原子峰位置的定量化问题, 为动态大规模电镜图像的处理提供了一个新方法, 突破了自动化、快速处理大量高分辨电镜图像的瓶颈.
在样本的制作过程中, 对每一个样本图像, 使用labelImg软件[28]对每张图像中的原子峰进行标记, 并生成对应的xml文件. 由于每张高分辨电镜图像中原子峰的数量十分庞大, 一张高分辨像中待标记的原子峰数目往往达到数千量级, 而且样本集本身的数量也十分巨大, 为了兼顾效率和质量, 在标记的过程中, 当图像中原子峰尺寸较大而利于标记时, 把其中所有的原子峰都完全标记, 如图1(a)、图1(b)和图1(d)所示, 但当图像中原子峰尺寸较小且数量十分庞大时, 尽量做到标记其中90%的原子峰, 如图1(c)所示.

Figure1. Sample images with the intensity peaks labeled. The images (a), (b) and (d) contain a relatively small number of atom peaks, which are all labeled. On the other hand, (c) has too many atom peaks, which are partially labeled (about 90%).
通过预训练发现, 网络的误差函数(loss)在迭代次数为500次左右时就能实现收敛, 为此, 设定训练的最大迭代次数为3000. 网络的误差函数和交并比(IOU)数值变化情况如图2所示, 误差函数在500批次前后达到极小值, 并一直到训练结束前保持稳定, 交并比数值在500批次前后收敛, 并一直呈缓慢震荡上升趋势, 直至训练结束都没有出现下降, 这说明网络训练情况良好. 通过检查输出文件发现, 此轮训练一直到结束, 并没有出现梯度剧烈震荡的情形, 达到了对网络进行训练的目的. 因此, 可以使用此轮训练得到的网络权重参数.

Figure2. The YOLOv3 training process with an epoch number of 3000: (a) The loss function converges after 500 epochs, which remains stable until the end of the training; (b) the IOU value increases quickly during the first 500 epochs, and then slowly increases until the end of the training.
YOLOv3网络检测物体的默认置信度阈值为0.25, 检测中首先使用此置信度阈值对下面9张高分辨电镜图像进行测试, 测试采用了和训练样本一样大小(即416 × 416)的图像作为检测样本.
测试结果如图3所示, 当使用默认的0.25作为检测置信度阈值时, 有很多图像中完全无法检测到原子目标, 比如图3(a)—(d)、图3(f)和图3(g), 有些图像只能检测到部分原子, 比如图3(i). 只有图3(e)和图3(h)检测到了大部分原子.

Figure3. The detection results obtained with a confidence threshold of 0.25.
但是, 上述结果并不能说明YOLOv3网络对于高分辨电镜照片无效. 当检测置信度阈值被降为0.1时, 重新检测上述图像, 检测结果如图4所示, 此条件下的网络几乎实现了对原子峰目标的100%检测. YOLOv3网络在该条件下表现出了强大的检测能力, 甚至将图4(h)中处于最下面一行和最右面一列以及图4(i)中最右面一列的半原子峰都检测了出来. 另外, 所有图像的检测速度都在7.3 s上下, 具体检测时间见图4图题中的说明. 这样的检测速度充分显示了YOLOv3网络的实用性, 使得其能够在后续的研究工作中应用于大规模动态高分辨电镜图像的量化处理.

Figure4. The detection results obtained with a confidence threshold of 0.1. The detection times for these images are: (a) 7.40 s; (b) 7.38 s; (c) 7.2 s; (d) 7.24 s; (e) 7.28 s; (f) 7.25 s; (g) 7.24 s; (h) 7.24 s; (i) 7.22 s.
更进一步, 测试了YOLOv3网络对更大尺寸图像的检测能力, 使用0.05作为置信度阈值, 检测结果如图5(a)—图5(c)所示. 从检测结果可以看出, 训练好的YOLOv3网络在图5(a)和图5(b)这样的1024 × 1024以及图5(c)这样的512 × 512的大尺寸图像上依然能够准确、全面地检测到绝大部分原子峰, 充分说明了网络检测能力的鲁棒性. 更重要的是, 3张大尺寸图像的检测时间依然保持在7.3 s上下, 凸显了YOLOv3网络检测的速度优势. 其中图5(c)存在比较明显的样品漂移现象, 且包含几处明显的晶格缺陷区域, 得益于神经网络从像素层面出发进行目标检测的原理, 这种周期性的破缺对YOLOv3的检测没有特别大的影响, 大部分原子峰依然能被准确地检测出来, 中间缺陷区域由于晶格畸变造成原子成像衬度效果较差, 未被检测出来.

Figure5. (a), (b)The detection result of a 1024 × 1024 image; (c) the detection result of a 512 × 512 lattice distortion image. The detection time for each of them is about 7.4 s; (d), (e), (f) two-dimensional gauss fitting result within each detected window in (a), (b) and (c), constructed frames of unit cells, and fitting result of corresponding B site atom peaks. Computing times are 27.32 s, 10.51 s, 20.52 s respectively.
在图5(a)—图5(c)中, 剩余未被检测到的原子已经极少, 可以通过手工的办法进行处理. 值得注意的是, 通过将1024 × 1024的图像分割为416 × 416的图像, 检测精度还可以进一步提高, 因而能够实现检测过程的全自动化. 另外, 图5(a)中有少量的原子被重复检测了几次, 这在大尺寸、含有很多小原子峰的照片中可能出现, 主要是由于小原子峰之间距离靠得更近, 局部灰度形貌的微观起伏更容易影响检测精度, 另外, 这里设置的置信度较低, 可能引发误检测或者重复检测, 可以通过后期高斯拟合的方式, 把这些重叠的搜索框合并为一个.
上述简单的计算过程中, 设定当拟合成功时返回高斯峰的精确坐标位置, 并标记为红色, 拟合失败时返回取样框的几何中心位置并标记为绿色. 此外, 将每个单胞中的p0和p1连线, p0和p2连线, 即将每个单胞的上侧和左侧框线可视化出来, 以这两条框线代表一个完整单胞, 并随机赋予每个单胞不同的颜色, 通过这种方式可以显示单胞的构建效果. 使用此方法, 对图5(a)—图5(c)三张图像进行处理, 结果如图5(d)—图5(f)所示. 可以看到, 所有目标检测框中的强原子峰都能很好地拟合出来, 相应的单胞构建效果和B位原子峰检测结果也都很好. 图5(f)中由于晶格缺陷区域的若干强原子峰未被YOLOv3网络检测出来, 同时由于晶格缺陷导致的晶格畸变, 造成单胞构建的失败, 相应的这些区域的B位原子峰也未能被检测出来. 这说明对于复杂图像, 在YOLOv3识别出重要原子峰之后, 对原子峰坐标位置数据进行组织的程序需要在未来进一步开发.
值得注意的是, 367张图像的训练集属于典型的小规模样本集, 而YOLOv3网络在如此小规模量级的训练集上表现优异, 其在训练批次为500左右时就已经达到收敛, 并且给出十分优异的检测效果. 这一现象的原因在于原子峰目标图像较为简单, 主要表现为一个近似为圆形图像的目标, 神经网络能够比较快速和准确地学习并检测到这些结构特征. 通过这一工作, 发现完全可以使用YOLOv3网络对高分辨电镜图像中的原子峰进行识别或检测, 而这一网络的训练甚至可以通过小规模样本完成. 将这一技术与对原子峰的拟合[23]的程序进行结合可以全面地实现对高分辨电镜图像的定量化.
在规则的周期性点阵图像检测任务中, 将YOLOv3网络同数据处理方法相结合, 能够实现和文献[23]中的工作相似的精度和速度, 两者差距不大, 如图5(d)和图5(e)所示. YOLOv3的优势在于对缺陷非周期性图像的检测能力上, 得益于神经网络基于像素特征进行检测的原理, 其不依赖于原子点阵的周期性限定. 在对如图5(f)所示缺陷图像的检测任务中, YOLOv3网络要显著优于文献[23]等基于周期性假定算法的检测能力, 即使YOLOv3网络不能检测出缺陷区域比较弥散的原子峰, 也不影响它对周围原子峰的检测. 事实上, 基于原子点阵规则周期性排列的算法在有大范围缺陷的图像中很难有效工作, 这些缺陷区域可能会造成算法搜索过程失败, 导致算法中断, 往往需要人为干预才能继续进行后续原子点阵的搜索[22].
值得注意的是, 测试发现对图像的检测时间大约在7 s左右, 显示出利用深度神经网络进行图像处理的速度优势. 检测的速度优势使YOLOv3框架有望应用于后续大规模、动态高分辨电镜图像处理领域, 例如实现对原位图像数据的实时处理. 本文的工作充分展示了机器学习方法在高分辨电镜图像处理领域的广阔应用前景.