使用深度学习技术进行细胞检测

Cells detection using deep learning techniques

我必须分析一些使用显微镜拍摄的液滴图像,其中可能包含一些细胞。为了做到这一点,最好的办法是什么?

每次获取图像returns大约一千张图片:每张图片都包含一个水滴,我必须确定水滴内部是否有细胞。每个采集数据集都呈现出非常不同的对比度和亮度,并且由于显微镜焦点的微小变化,每个设置上的细胞形状都略有不同。

我尝试按照指南 "TensorFlow for poets" 创建分类模型,定义两个 类:空滴和包含细胞的滴。可惜结果没有成功。

我也尝试过标记细胞并使用 DIGITS 5 提供对象检测算法,但它没有检测到任何东西。

我想知道这些算法是否旨在识别更复杂的对象,或者我是否在设置过程中做错了什么。任何解决方案或提示都会有所帮助!

谢谢!

This is a collage of drops from different samples: the cells are a bit different from every acquisition, due to the different setup and ambient lights

这种问题应该是有可能的。我建议从 cifar 10 卷积神经网络教程开始,并根据您的问题对其进行自定义。

在以后的 post 中,您应该告诉我们您的训练进展情况。确保每隔几步(可能每 10-100 步)输出以下信息:

  • Loss/cost 函数输出,您应该会看到损失随时间减少。
  • 当前批训练数据的分类准确率
  • 保留测试集的分类准确性(如果您已经实施了测试集评估,您可能会实施第二次)

有很多很多事情都可能出错,从糟糕的学习率到出错的预处理步骤。神经网络很难调试,它们对错误具有很强的弹性,因此甚至很难知道您的代码中是否存在错误。因此,请确保您将所有内容都可视化。

要遵循的另一个非常重要的步骤是在将图像传递给 tensorflow 时完全保存图像。您将以矩阵形式拥有它们,您可以将该矩阵形式保存为图像。在 将数据传递给 tensorflow 之前 立即执行此操作。确保你给网络的是你期望它收到的东西。我无法告诉你有多少次我和我认识的其他人在不知不觉中将垃圾传递到网络中,假设最坏的情况并证明自己是错误的!

你的下一个 post 应该看起来像这样:

  • 我正在用 tensorflow 训练一个卷积神经网络
  • 我的损失函数(sigmoid 交叉熵)一直在下降(给我们看张照片!)
  • 我的输入图像是这样的(向我们展示您实际提供给网络的图片)
  • 我的学习率等参数是A、B、C
  • 我通过 M 和 N 预处理了数据
  • 网络在训练数据(and/or 测试数据)上达到的准确度是 Y

在回答这些问题的过程中,您可能会一路解决 10 个问题,我们会帮助您找到第 11 个,如果运气好的话,最后一个。 :)

祝你好运!