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

时间:2017-04-26 16:17:56

标签: tensorflow deep-learning cell nvidia-digits

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

每次获取图像都会返回大约一千张图片:每张图片都包含一个图片,我必须确定图片是否有内部单元格。每个采集数据集都具有非常不同的对比度和亮度,并且由于显微镜焦点的微小变化,每个设置的单元形状略有不同。

我尝试按照指南" TensorFlow为诗人"创建一个分类模型,定义两个类:空滴和包含单元格的滴。不幸的是,结果并不成功。

我还尝试使用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

1 个答案:

答案 0 :(得分:1)

这种问题肯定是可能的。我建议从一个cifar 10卷积神经网络教程开始,并为你的问题定制它。

在以后的帖子中,您应该告诉我们您的培训是如何进展的。确保每隔几步(可能每10-100步)输出以下信息:

  • 损失/成本函数输出,您应该看到您的损失随着时间的推移而减少。
  • 当前批次培训数据的分类准确性
  • 保持测试集的分类准确性(如果您已实施测试集评估,则可以实施此第二个)

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

要遵循的另一个非常重要的步骤是保存图像,就像将图像传递给张量流一样。您将以矩阵形式使用它们,您可以将该矩阵形式保存为图像。在之前将数据传递给tensorflow。确保您向网络提供您希望接收的内容。我不能告诉你我和我认识的其他人有多少次在不知情的情况下将垃圾传入网络,假设最坏的情况并证明自己是错的!

你的下一篇文章应该是这样的:

  • 我在tensorflow中训练卷积神经网络
  • 我的损失函数(sigmoid cross entropy)一直在减少(给我们看一张图片!)
  • 我的输入图像看起来像这样(向我们展示你实际向网络提供的图片)
  • 我的学习率和其他参数是A,B和C
  • 我通过执行M和N
  • 预处理数据
  • 网络在训练数据(和/或测试数据)上达到的准确度为Y

在回答这些问题时,你可能会解决10个问题,我们会帮助你找到第11个问题,幸运的是,最后一个问题。 :)

祝你好运!