蛋白质结晶试验图像分类与深度学习应用

1. 结晶试验图像分类

在蛋白质结晶试验图像的分类中,有多种特征集可供选择,不同特征集在准确性、敏感度和时间等方面表现各异。以下是一些常见特征集的分类情况:
| 特征集 | 归一化 | 准确率 | Pacc | 敏感度 | 时间 (s) |
| — | — | — | — | — | — |
| 强度、区域Otsu、区域G90、图、直方图 | 是 | 0.742 | 0.667 | 0.909 | 1.267 |
| 区域Otsu、区域G99、图、纹理、直方图 | 是 | 0.74 | 0.684 | 0.896 | 0.949 |
| 区域Otsu、区域G90、区域G99、图、直方图 | 是 | 0.737 | 0.658 | 0.896 | 1.408 |
| 区域G90、图 | 否 | 0.735 | 0.659 | 0.902 | 0.779 |
| 强度、R_G90、R_G99、图、直方图 | 否 | 0.735 | 0.667 | 0.896 | 1.201 |
| 强度、R_Otsu、R_G90、图、直方图 | 否 | 0.735 | 0.657 | 0.89 | 1.267 |
| 强度、区域Otsu、区域G99、图、直方图 | 否 | 0.735 | 0.682 | 0.878 | 0.964 |

2. 特征提取时间分析

特征提取在配备Intel Core i7 2.4 GHz CPU和12 GB RAM内存的系统上进行,使用MATLAB 2013b实现图像特征提取例程,部分特征提取模块使用Visual Studio 2012上的C#实现,数据分类使用MATLAB完成。不同特征组的特征提取时间如下表所示:
| 特征组 | 描述 | 特征数量 | 每个特征平均时间 | 每张图像平均时间 |
| — | — | — | — | — |
| 强度 | 强度特征 | 6 | 0.009 | 0.052 |
| 区域Otsu | 使用Otsu的区域特征 | 52 | 0.005 | 0.258 |
| 区域G90 | 使用G90的区域特征 | 52 | 0.010 | 0.495 |
| 区域G99 | 使用G99的区域特征 | 52 | 0.004 | 0.193 |
| 区域形态 | 使用形态阈值的区域特征 | 52 | 0.006 | 0.311 |
| 图 | 霍夫特征和边缘特征 | 13 | 0.022 | 0.284 |
| 霍夫 | 仅霍夫特征 | 2 | 0.049 | 0.097 |
| 纹理 | 纹理特征 | 46 | 0.001 | 0.037 |
| 直方图 | 直方图特征 | 21 | 0.009 | 0.178 |
| DCT | DCT特征 | 15 | 1.709 | 25.639 |

在时间分析中,当选择特征集组合时,总时间通过表中的单个提取时间计算。例如,若特征集组合包括强度、区域G90和纹理特征,提取这些特征集组合的总时间计算为0.052 + 0.258 + 0.037 = 0.347s。

计算时间还需包括对提供的特征集进行分类的时间,分类时间基于随机森林分类器,因为它比其他分类器提供更好的准确性。随机森林分类器测试所有特征大约需要0.361s。若使用随机森林分类器对由强度、区域G90和纹理特征组成的特征集进行分类,提取特征和分类的时间计算为0.347 + 0.361 = 0.708s。

对于实时应用,特征减少对于构建实时计算系统至关重要。Crystal X2显微镜系统利用微量荧光标记收集蛋白质结晶实验图像,微量荧光标记有助于显著减少特征数量,且图像对比度高,可简化图像处理,从而显著减少特征提取和分类时间。Crystal X2捕获两个结晶孔板图像的时间约为3s,为了并行执行图像采集和分类,特征提取和分类时间应小于该过渡时间,但需要在最佳分类性能和最小特征提取时间之间进行权衡。

3. 最佳特征集与快速特征集
  • 最佳特征集
    • 一级(3类)分类的最佳分类性能使用Otsu、G90和G99阈值的区域特征、强度和直方图特征,准确率达96%,敏感度为0.87,特征提取可在1.08s内完成。
    • 二级晶体子类别分类的最佳分类性能使用归一化强度、直方图、图特征以及Otsu和G90阈值的区域特征,准确率为74.2%,敏感度为0.909,特征提取时间为1.267s。使用所有特征会使二级分类的准确率和敏感度显著降低。
  • 快速特征集
    • 一级分类中最快的特征提取使用归一化直方图特征和Otsu、G99阈值的区域特征,可在0.77s内完成,敏感度为0.86,与最佳特征集性能接近。
    • 晶体子类别分类中最快且准确率高的特征集仅包含区域G90和图特征,准确率为73.5%,敏感度为0.902。
4. 分层分类特征集比较

如果以分层方式运行两级分类:
- 最佳特征集的并集包括强度、图、直方图特征以及Otsu、G90和G99阈值的区域特征,特征提取总时间从1.08s略微增加到1.373s。
- 快速特征集的并集包括直方图、图特征以及Otsu、G90和G99阈值的区域特征,但两级快速特征集的交集为空,总特征提取时间为1.549s,使用各级快速特征集并未改善总体时间,最佳特征集的并集在两级组合中执行速度更快。

5. 深度学习在蛋白质结晶图像中的应用

近年来,深度学习在图像识别到自然语言理解等多个领域有许多成功应用。卷积神经网络(CNNs)与传统神经网络不同,支持局部感受野、稀疏连接和共享权重,允许学习输入的特定片段、空间局部相关性,并在输入的不同位置检测相同特征。还可添加池化和归一化等层以支持平移不变性和识别局部特征。

CrystalNet专为检测蛋白质晶体而设计,由13层组成。其架构如下:
image (128×128) -> 对比度归一化 (128×128) -> 水平镜像 (128×128) -> 变换 (112×112) -> 卷积1 (64,112×112,5) -> 池化1(64,56×56,2,max) -> 卷积2 (64,56×56,5) -> 池化2(64,28×28,2,max) -> 卷积3 (128,28×28,5) -> 池化2(128,14×14,2,max) -> 卷积4(128,6×6,3) -> 全连接层1(2048) -> 全连接层2(2048) -> 输出(10)

在CrystalNet中,学习150,000个参数,学习率参数为0.01,动量为0.9,L2正则化常数为0.0001。初始时,所有权重使用均值为0、标准差为0.01的高斯分布随机分配。训练集有68,155张图像,验证集有17,033张图像(80 - 20分割)。验证集中的十个类别及图像数量分别为:清晰(5877)、沉淀(5732)、晶体(1391)、相(1121)、沉淀和晶体(1339)、沉淀和皮(873)、相和晶体(393)、相和沉淀(83)、皮(136)和垃圾(88)。CrystalNet的准确率为90.8%,晶体类别的召回率为0.7685,相对较低的召回值表明该深度CNN架构需要改进。

下面是一个简单的mermaid流程图,展示CrystalNet的基本架构:

graph LR
    A[图像128×128] --> B[对比度归一化128×128]
    B --> C[水平镜像128×128]
    C --> D[变换112×112]
    D --> E[卷积1 64,112×112,5]
    E --> F[池化1 64,56×56,2,max]
    F --> G[卷积2 64,56×56,5]
    G --> H[池化2 64,28×28,2,max]
    H --> I[卷积3 128,28×28,5]
    I --> J[池化2 128,14×14,2,max]
    J --> K[卷积4 128,6×6,3]
    K --> L[全连接层1 2048]
    L --> M[全连接层2 2048]
    M --> N[输出10]
6. 讨论
  • 分层分类的准确性 :使用最佳特征集和随机森林分类器计算分层分类的准确性。一级和二级的准确率分别为95.46%和92.79%,总体准确率为89.22%。以下是各级的混淆矩阵:
    • 分层分类混淆矩阵
      | SL = True | SL = False |
      | — | — |
      | 2103 | 147 |
      | 84 | 23 |
    • 一级分类混淆矩阵
      | 实际类别 | 0 | 1 | 2 |
      | — | — | — | — |
      | 预测0 | 1474 | 1 | 1 |
      | 预测1 | 2 | 461 | 73 |
      | 预测2 | 2 | 29 | 314 |
    • 非晶体分类混淆矩阵
      | 实际非晶体 | 清晰液滴 | 相分离 | 沉淀 |
      | — | — | — | — |
      | 预测清晰液滴 | 1265 | 0 | 20 |
      | 预测相分离 | 0 | 0 | 0 |
      | 预测沉淀 | 8 | 0 | 181 |
      | * | 0 | 1 | 3 |
    • 可能先导物分类混淆矩阵
      | 实际可能先导物 | 微晶 | 不清晰明亮图像 |
      | — | — | — |
      | 预测微晶 | 97 | 14 |
      | 预测不清晰明亮图像 | 16 | 334 |
      | * | 9 | 21 |
    • 晶体分类混淆矩阵
      | 实际晶体 | 树枝状/球粒状 | 针状 | 2D板状 | 小3D | 大3D |
      | — | — | — | — | — | — |
      | 预测树枝状/球粒状 | 11 | 1 | 0 | 4 | 0 |
      | 预测针状 | 11 | 99 | 1 | 13 | 0 |
      | 预测2D板状 | 0 | 0 | 0 | 0 | 0 |
      | 预测小3D | 32 | 7 | 2 | 95 | 12 |
      | 预测大3D | 0 | 0 | 1 | 5 | 21 |
      | * | 9 | 46 | 4 | 12 | 2 |
  • 图像分类时间 :随机森林分类器在各级图像分类中始终能提供良好的准确性,评估最大特征集大约需要0.361s。考虑分类时间后,不同特征集的时间如下:
    • 一级最佳特征集:1.441s
    • 二级最佳特征集:1.628s
    • 一级快速特征集:1.131s
    • 二级快速特征集:1.263s
    • 最佳特征集的并集:2.094s
    • 最快特征集的并集:2.271s
      这些时间对于集成到实时独立计算系统很有前景,Crystal X2系统已实现实时评分选项。
  • 特征数量 :实验中使用的总特征数为309个。最佳特征集的并集有196个特征,比总特征数约少36%。一级快速特征集包括125个特征,晶体子分类有65个特征。使用快速特征集可分别使一级和晶体子类别分类的特征减少约60%和80%。
  • 单个特征集 :对一级的单个特征集进行评估,使用随机森林分类器对归一化直方图特征的分类性能最佳,准确率为90.8%,敏感度为0.705。强度特征使用决策树的准确率为87.7%,敏感度为0.701。DCT特征的准确率最低,为69.1%,敏感度为0.48。直方图特征虽仅使用21个特征且可在0.178s内提取,但敏感度相对最佳特征集较低,单独使用不太理想。
  • 多阈值方法的使用 :初步实验中,由于数据集图像的挑战,没有一种阈值方法能始终为所有图像提供良好的二值化效果。因此,提取所有阈值图像的区域特征并输入分类器。形态阈值方法对提高准确性作用不大,未出现在导致高准确性的特征集中。好的分类器通常使用两种阈值方法的区域特征,表明分类器可从一组阈值方法中受益,只要其中至少一种能提供良好的背景和前景分离。
  • 特征选择与减少 :使用随机森林分类器对特征进行排名,使用PCA进行特征减少。通过随机森林分类器使用30个特征时,PCA和特征选择的最佳准确率分别为93.4%和96%,PCA的敏感度为0.74,特征选择的敏感度为0.863,特征选择的性能显著且略低于最佳分类器。
  • 分类器性能与泛化能力 :随机森林分类器的性能始终优于其他分类器。进行了一组小实验来测量在5个不同的100样本测试集上的泛化能力,SVM的泛化能力最佳,其次是决策树,然后是随机森林分类器。但对于不同的数据集,泛化能力仍可能是一个问题。实验为每个分类器提供了最佳特征集组合,最佳模型可能需要针对新的更大数据集进行重新训练。若最佳模型泛化能力不佳,可选择下一个能泛化的最佳模型进行实际实验。使用随机森林分类器时,若使用过多特征或在构建弱分类器时允许过多终端节点,且数据集未涵盖所有可能情况,则可能会出现过拟合问题,可通过减少特征数量或终端节点数量来避免。
7. 总结

对受益于微量荧光标记的蛋白质结晶试验图像进行特征分析,该标记与特征分析方法有助于实现Crystal X2系统的实时评分,特征提取和分类可在约2s内完成。对于分层分类,最大化分类层次各级之间的公共特征集是合理的。

使用强度特征、Otsu阈值的区域特征、G90阈值的区域特征、G99阈值的区域特征、图特征和直方图特征的组合可获得最佳实验结果。使用随机森林分类器,一级分类确定晶体存在的准确率达96%,(5类)晶体子类别分类的准确率为74.2%。一级分类的正确性应给予更多权重,因为一级的错误分类会影响二级。若各级的公共特征集较小或为空,选择各级最快的特征集不会改善总体时间。

使用所有特征不仅会增加处理时间,还可能降低准确性,对晶体子类别分类有不利影响。实验表明,蛋白质结晶分类在时间和准确性方面可从特征减少中受益。应用特征选择方法时,直方图自相关特征排名较高,图特征包含在晶体子类别分类的最佳特征集中。DCT特征虽计算时间长,但对准确性无显著积极影响。强度和区域特征通常参与高准确性特征集,并在特征选择方法的结果中排名较高。随机森林分类器在大多数情况下提供最佳结果。

若没有一种阈值方法能对数据集中的所有图像都有效,分类器可从多种阈值方法的结果中受益,只要其中至少一种对图像产生良好结果。产生高准确性的特征集通常包含至少两种阈值方法的区域特征,形态阈值的区域特征未包含在最佳特征集中。通过尝试不同的特征集组合、分类器、结晶类别、特征选择/减少方法和归一化的详尽方法,有助于观察不同分类器下特征集的总体性能。

蛋白质结晶试验图像分类与深度学习应用

8. 特征分析要点总结

为了更清晰地理解整个特征分析过程,我们可以将关键要点总结如下:

要点 详情
特征提取系统 Intel Core i7 2.4 GHz CPU,12 GB RAM内存,使用MATLAB 2013b实现图像特征提取例程,部分用C#在Visual Studio 2012实现
分类器选择 随机森林分类器在多数情况下提供最佳结果,评估最大特征集约需0.361s
最佳特征集 一级:Otsu、G90和G99阈值的区域特征、强度和直方图特征;二级:归一化强度、直方图、图特征以及Otsu和G90阈值的区域特征
快速特征集 一级:归一化直方图特征和Otsu、G99阈值的区域特征;二级:区域G90和图特征
特征减少 可显著减少特征数量,提高处理速度,如使用快速特征集可使一级和晶体子类别分类特征分别减少约60%和80%
多阈值方法 分类器可从多种阈值方法结果中受益,形态阈值方法对提高准确性作用不大
特征选择与减少 随机森林分类器排名特征,PCA进行特征减少,使用30个特征时特征选择准确率更高
泛化能力 SVM泛化能力最佳,随机森林分类器可能存在过拟合问题,可减少特征或终端节点避免
9. 实际应用中的操作建议

在实际应用蛋白质结晶试验图像分类时,可按照以下步骤进行操作:
1. 数据采集 :使用Crystal X2显微镜系统利用微量荧光标记收集蛋白质结晶实验图像,该方法有助于减少特征数量和简化图像处理。
2. 特征提取
- 根据实际需求选择特征集,若追求高准确性,可选择最佳特征集;若注重速度,可选择快速特征集。
- 计算特征提取时间,当选择特征集组合时,通过单个提取时间计算总时间。
3. 分类器选择 :优先考虑随机森林分类器,因其在多数情况下性能最佳。
4. 特征选择与减少
- 使用随机森林分类器对特征进行排名,使用PCA进行特征减少。
- 尝试不同的特征组合,找到最适合的特征数量和组合方式。
5. 分层分类
- 若采用分层分类,最大化各级之间的公共特征集,以提高整体处理速度。
- 注意一级分类的正确性,因其会影响二级分类结果。
6. 实时应用 :确保特征提取和分类时间小于Crystal X2捕获两个结晶孔板图像的过渡时间(约3s),以实现并行执行图像采集和分类。

10. 未来发展方向

虽然目前的研究已经取得了一定的成果,但仍有一些方面可以进一步探索和改进:
- 更高效的特征提取方法 :寻找更高效的特征提取算法,减少计算时间,特别是对于计算成本较高的特征,如DCT特征。
- 优化分类器性能 :继续研究和改进分类器,提高其泛化能力和准确性,减少过拟合问题。
- 多模态数据融合 :考虑将其他类型的数据,如光谱数据、温度数据等与图像数据融合,以提高分类的准确性和可靠性。
- 自动化系统开发 :开发自动化的蛋白质结晶图像分类系统,实现从图像采集到分类结果输出的全自动化流程,提高工作效率。

11. 总结回顾

以下是整个蛋白质结晶试验图像分类过程的mermaid流程图总结:

graph LR
    A[数据采集] --> B[特征提取]
    B --> C{特征集选择}
    C -->|最佳特征集| D[高准确性分类]
    C -->|快速特征集| E[快速分类]
    D --> F[分层分类]
    E --> F
    F --> G[随机森林分类器]
    G --> H[特征选择与减少]
    H --> I[实时应用评估]
    I --> J{时间是否小于3s}
    J -->|是| K[并行执行采集与分类]
    J -->|否| B

通过对蛋白质结晶试验图像的特征分析和分类研究,我们可以看到特征选择、分类器选择以及特征减少等方面对于提高分类准确性和处理速度的重要性。在实际应用中,我们应根据具体需求选择合适的方法和策略,以实现高效、准确的蛋白质结晶图像分类。同时,不断探索和改进现有方法,为蛋白质结晶研究提供更有力的支持。

希望本文能够帮助读者更好地理解蛋白质结晶试验图像分类的相关知识和技术,为相关领域的研究和应用提供有益的参考。

更多推荐