我正在尝试找到一种算法,该算法可以拍摄如下图像:
并生成一个掩码,以标识可能的“痕迹”,例如:
如您所见,原始图像有点模糊,这是有目的的。图像源不能保证完美的聚焦,因此我需要能够处理合理数量的噪点和模糊。寻找明显的色差(指示轨迹“边缘”)。但是,我很快意识到阴影和照明的其他变化很容易使它消失。
我正在考虑提取SURF特征,但是只有当图像完全清晰且照明一致时,SURF / SIFT才能成功。
我还尝试将图像和蒙版缩小到更小的尺寸(例如100x75),将它们转换为1xN向量,并使用它们来训练基于FANN的神经网络(图像是输入和掩码是所需的输出)。即使是这么小的尺寸,只有1个隐藏层(占输入矢量的75%),训练仍然花费了6个小时,而且仍然无法预测测试集中的任何遮罩。
有人可以建议其他吗方法或有关该主题的论文?
#1 楼
它本身可能还不够,但是由于问题之一与照明变化有关,因此阴影去除预处理步骤可能会有所帮助。我正在考虑的技术在以下论文中进行了描述:“关于去除图像中的阴影”,GD Finlayson,SD
Hordley,C. Lu,和MS Drew,IEEE模式分析和机器智能(PAMI),第28卷,第1期,2006年1月,第59-68页。
http://www.cs.sfu。 ca /〜mark / ftp / Pami06 / pami06.pdf
该过程的第一部分生成照度不变的灰度图像,在这种情况下可能正是您想要的。这是他们在论文中给出的示例的快照:图像可能是您需要清晰地区分生叶和枯叶的图像。再次举例说明:
(来源:datageist.com)
然而,要注意的是,相机需要首先进行校准。假设有可能,它们描述的表示形式的某种组合可能会使您使用的其他方法更有效。
#2 楼
我认为您在源图像中没有足够的信息来生成蒙版图像。您可能会先按颜色进行细分,即绿色不落后,灰色/棕色则不行。但是,蒙版中未显示“足迹边界”上的灰色/棕色区域。 (请参见源图像的左下象限。)您提供的遮罩暗含了源图像中不明显的结构约束:例如,也许您的迹线具有固定宽度-那么您可以使用信息以约束模式识别器返回的初步蒙版。路径是否具有某些土壤/砾石特征?作为人类(相当擅长模式识别!),我受到左下象限中显示的功能的挑战:我看到灰色/棕色区域无法作为“足迹”打折。如果我掌握了更多信息,也许可以结论性地做到这一点:一张地图和一个大概已知的位置,在这条路上的个人经历,或者是导致这一点的一系列图像-如果识别器“知道是什么导致了这一幕。
我认为,图像集合是最有趣的方法。继续这种思路:一幅图像可能无法提供足够的数据,但是全景图像可能会模糊场景。
评论
$ \ begingroup $
是的,足迹与其他人合并。是的,足迹由土壤/砾石特征来描绘,因为这些特征应与非足迹区域不同。我同意,该图像在某些部分可能具有挑战性,但我仍然认为有足够的信息可以很好地猜测路径在哪里。即使您不熟悉这条路线,听起来也没有问题(除了左下角的区域,这是可以理解的)。
$ \ endgroup $
–塞林
2011-10-14 14:27
$ \ begingroup $
的确,我可以很好地猜出这条路的边界。但是,恐怕我所依赖的信息多于源图像中提供的信息。我“知道”一条路径是什么-大概是因为我已经构建了包含一条路径的显着特征的模型或模板:通过直接体验,或者在图片中看到定义明确的路径等。在源图像中,我所画的比在源图像中所观察到的要多得多。
$ \ endgroup $
–Throwback1986
2011-10-14 15:56
$ \ begingroup $
视觉系统可能会利用该路径的一些特征:大概我们可以假设该路径代表自由的,可导航的空间。因此,树木,灌木丛和岩石特征可以归类为“非足迹”。也许纹理分析可以帮助辨别这些?不过,我不确定:树下的地面(从左上到中)看起来与小径非常相似。
$ \ endgroup $
–Throwback1986
2011年10月14日下午16:01
$ \ begingroup $
我的第一个想法是引用LU或Eigen变换,当纹理非常粗糙时,它们会产生很高的响应。但是,这里的足迹与非足迹之间的主要区别似乎是颜色。因此,也许将其转换为HSV颜色空间,并从具有“土”色(棕褐色或o石色)的像素制作一个遮罩,即可得出大致的估算值。
$ \ endgroup $
– AruniRC
2011年10月21日上午10:30
#3 楼
没有任何一种算法可以神奇地检测随机图像中的踪迹。您将需要实现一个基于机器学习的例程,并对其进行“训练”以检测踪迹。无需赘述太多,这是您在监督学习方法中将要进行的工作的粗略概述。在不同环境中的小径图片,您(主管)在其中标记了什么算作“小径”,什么是背景“森林”。您可以将图像分成较小的部分(通常为8x8),然后通过对块进行DCT(离散余弦变换)将其转换为“特征空间”。在这种情况下,每个块的DCT给您一个64点的“特征向量”。定义特征空间$ \ mathcal {X} $,特征集$ \ mathbf {x} $(a您的64点特征向量的子集),以及具有类$ y_1 = trail $和$ y_2 = forest $的类空间$ \ mathcal {Y} $,可以从您的训练集中进行计算: br />类条件分布
$ \ mathcal {P} _ \ mathcal {X | Y}(\ mathbf {x} | trail)$$,要素的条件密度当类为$ trail $时。
$ \ mathcal {P} _ \ mathcal {X | Y}(\ mathbf {x} | forest)$,当类为$ forest $时要素的条件密度。
类别概率或先验概率
$ \ mathcal {P} _ \ mathcal {Y}(trail)$,发现概率区块中的$ trail $
$ \ mathcal {P} _ \ mathcal {Y}(forest)$,在区块中找到$ forest $的概率
通过此操作,您可以测试图像(再次将其分解为较小的部分)并计算后验概率。使用贝叶斯决策理论,您可以定义二进制(在这种情况下)选择标准,例如
$$ \ widetilde {y} _i(\ mathbf {x})= \ arg \ max_ { y_i} \ quad \ mathcal {P} _ \ mathcal {X | Y}(\ mathbf {x} | y_i)\ \ mathcal {P} _ \ mathcal {Y}(y_i)$$
您将每个块分配给具有最高后验概率的类别。这将导致您的二进制掩码。
请注意,这是该方法的非常简化的概述。需要考虑几件事,其中最重要的是为您的问题选择正确的功能集。您还可以做一些更复杂的事情,例如使用混合模型和基于核的密度估计,但是所有这些都太详细了,很耗时,无法编写答案。
为了激励和确认这种方法值得尝试,下面举一个我很久以前作为家庭作业所做的事的示例,它与您要实现的目标非常相似。目的是从背景植被中检测出动物(左图)。右图显示了在“学习”后获得的用于区分前景和背景的二进制掩码。
想看几本教科书。该领域中一本知名且经常推荐的教科书是:
T. Hastie,R。Tibshirani和J. Friedman,《统计学习的要素:数据挖掘,推理和预测。 Springer-Verlag(2008年)第2版,
,现在可以通过提供的链接免费获得PDF。另一本不错的书是:
R. O. Duda,P。E. Hart和D. G. Stork,《模式分类》,第二版,John Wiley&Sons(2001)
评论
$ \ begingroup $
关于这一点,我想指出ml-class.org,它是机器学习的绝佳入门。
$ \ endgroup $
–bjoernz
11-10-26在11:10
$ \ begingroup $
有趣的方法。但是,当您说Py(足迹)和Py(森林)是“在整个图片中找到一条迹线的可能性”时,您是说在8x8的块中还是在整个图像中找到它们的可能性?如果整个图像,我都想这两个都是100%,因为所有训练图像都会在某个地方有这两个图像。
$ \ endgroup $
–塞林
2011-10-26 13:46
$ \ begingroup $
@Cerin:对不起,Py(trail),我的意思是在一个街区找到它的可能性。因此,这就是在整个图片中具有尾随的所有块的总数。我已经对其进行了更正
$ \ endgroup $
–乳香
2011-10-26 14:15
$ \ begingroup $
如何定义特征空间X?您是否会使用类似K-Means聚类的方法将64点特征向量的维数减少到10个特征?
$ \ endgroup $
–塞林
2011-10-27 21:45
$ \ begingroup $
@Cerin是的,K-means是降低维数的常见方法之一。
$ \ endgroup $
–乳香
2011年10月30日在6:24
#4 楼
这有什么用吗?通过颜色空间融合和时间分析的实时可遍历表面检测
评论
$ \ begingroup $
是的,这似乎与我的域名非常相似。谢谢。
$ \ endgroup $
–塞林
2011年10月17日15:56
#5 楼
看起来像是纹理分割(不是颜色分割)的问题有很多方法,
它们经常使用Gabor小波,就像这样
http:// note .sonots.com / SciSoftware / GaborTextureSegmentation.html
基于超像素的细分
http://ttic.uchicago.edu/~xren/research/superpixel/
和类似的图形切割分割
http://en.wikipedia.org/wiki/Graph_cuts_in_computer_vision
这是Wiki概述
http://en.wikipedia.org/wiki/ Segmentation_(image_processing)
评论
$ \ begingroup $
gabor纹理分割看起来不错!
$ \ endgroup $
– nkint
2012年6月19日,9:53
评论
您没有提及任何内容,但是您控制相机/图像采集吗?人们在类似情况下使用近红外图像来使用植被指数(考虑从卫星计算森林覆盖率)。如果您有近红外线,则可以直接解决该问题。我有,有点。我正在使用便宜的单筒相机(网络摄像头/手机相机)拍摄图像,但是我不认为它们会存储红外线。
使用可以区分植被和污垢光谱的多个滤色镜可能会有所帮助
我很好奇您是否尝试过贝叶斯方法进行训练和检测。我有几天前写的答案,但后来删除了它,因为我认为您在尝试后已将其关闭。如果您尚未考虑该选项,我很乐意取消删除它。
@yoda,贝叶斯方法是什么意思?我只熟悉贝叶斯应用于离散分类和逻辑网络。我对将其应用于CV并不熟悉。我不记得您看到过任何帖子。