我想检测图像中的缺陷/异常。由于缺乏异常图像,我试图用无监督的方式来解决这个问题。直到现在,我训练了一个变分式自动编码器和一个具有“好”图像的生成对抗性网络。现在,我有了一个编解码网络,它能够生成图像而不出现异常。以下是两个例子:
原始图像\裁剪图像&译码器的编码器输出的输入


在这些图像中,如果对象是旋转的(而不是垂直的),那么它就是一个异常(就像第二个图像)。为了测量编码器/解码器网络的输入/输出之间的差异,我尝试了结构相似性度量SSIM。然而,结果并不令人满意,因为许多没有异常的图像也具有较低的相似性。此外,像素级MAE或MSE度量不是很好,因为它们在结构上没有特别的外观,并且对亮度非常敏感。下面是SSIM度量的结果(绿色是很好的例子,红色是异常):

我想要避免的是为检测添加特定的规则,在这个例子中检测垂直线,因为有许多其他对象具有不同的异常,我想要检测。
你对另一个图像相似性度量有什么建议吗?我是在正确的路径上,还是有其他/更好的方法来进行无监督的异常检测?
PS:只有少数有异常的图像(<10幅图像),但许多图像没有异常。
发布于 2018-10-07 09:56:37
有异常的样品和没有异常的样品之间似乎有一条清晰的界线。给它们贴上标签然后运行分类器?例如支持向量机。一个人不应该使用比需要更复杂的模型。
同时,要谨慎地尝试去检测所有的异常。它并不总是现实的,它可能会让你远离更直截了当的,也许更好的解决方案。
您也可以尝试一些简单的东西,如从图像的一部分的直方图。看来它应该能找到异常点。
发布于 2018-07-08 21:07:15
您可以尝试的一件事是添加第二个损失项,它也使用VAE的潜在表示。这种观点认为,异常现象也应该是潜在空间中的异常值。这样,您将有另一个渠道提供有关您的离群点的信息。来自ICLR 2018年NEC实验室的Zong等人,DEEP AUTOENCODING GAUSSIAN MIXTURE MODEL FOR UNSUPERVISED ANOMALY DETECTION的一篇论文使用了这种方法。请参阅https://openreview.net/forum?id=BJJLHbb0-
我不知道这对你的形象有多好。在论文中,他们使用了非常小的数据集。
https://datascience.stackexchange.com/questions/29391
复制相似问题