Asi*_*rif 5 matlab opencv image image-processing computer-vision
我想删除背景并将鹿作为前景图像.
这是我的追踪相机拍摄的源图像:
这就是我想要的.该输出图像可以是二进制图像或RGB.
我研究了它并尝试了许多方法来获得解决方案,但每次都在特定点失败.所以请先了解我的确切问题.
如果有人在我的问题中仍然有任何歧义,那么请先请我清楚然后回答,我们将不胜感激.提前致谢.
这就是我要做的:
正如对您的问题的评论,您可以检测到亲爱的,然后执行抓取以将其从图片中分割出来。
为了检测亲爱的,我将分类器与滑动窗口方法结合起来。这意味着你将有一个分类器,它在图像中给出一个补丁(可以是一个大补丁),输出是该补丁与亲爱的相似程度的分数。滑动窗口方法意味着您在窗口大小上循环,然后在窗口位置上循环。对于图像中窗口的每个位置,您应该在该窗口上应用分类器并获得该窗口“看起来像”亲爱的程度的分数。完成此操作后,对所有分数进行阈值设置以获得“最佳窗口”,即与亲爱的最相似的窗口。其背后的原理是,如果我们的亲人出现在图像中的某个位置,分类器将在与实际亲人位置接近/重叠的所有窗口输出高分。我们希望将所有这些位置合并到一个位置。这可以通过应用 OpenCV 中的 groupRectangles 函数来完成:
http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#grouprectangles
看一下 OpenCV 中的一些人脸检测示例,它基本上执行相同的操作(滑动窗口 + 分类器),其中分类器是 Haar 级联。
现在,我没有提到“亲爱的分类器”是什么。您可以使用 HOG+SVM(两者都包含在 OpenCV 中)或使用运行深度卷积神经网络(深度 CNN)的强大方法。幸运的是,您不需要训练深度 CNN。您可以将以下软件包与“现成的”ImageNet 网络一起使用(这些网络非常强大,甚至无需进一步培训就可以识别出亲爱的人):
Decaf-仅可用于研究目的: https ://github.com/UCB-ICSI-Vision-Group/decaf-release/
或者 Caffe - 它是 BSD 许可的:
http://caffe.berkeleyvision.org/
您可以在这里阅读其他软件包: http: //deeplearning.net/software_links/
最常见的是 Theano、Cuda ConvNet 和 OverFeat(但这实际上是基于意见的,您应该从我链接到的列表中选择最好的包)。
“现成的”ImageNet 网络接受了来自 1000 个类别的大约 1000 万张图像的训练。如果这些类别包含“亲爱的”,您可以按原样使用它们。如果没有,您可以使用它们来提取特征(在 Decaf 中为 4096 维向量)并在正图像和负图像上训练分类器以构建“亲爱的分类器”。
现在,一旦您检测到亲爱的,这意味着您周围有一个边界框,您就可以应用抓取:
http://docs.opencv.org/trunk/doc/py_tutorials/py_imgproc/py_grabcut/py_grabcut.html
您需要在亲爱的身上进行初步涂鸦才能执行grabcu。您可以在边界框的中间画一条水平线,并希望它位于亲爱的躯干上。更复杂的方法是找到亲爱的对称轴并将其用作涂鸦,但您必须搜索谷歌,研究实现某种方法来从图像中提取对称轴。
就是这样。并不简单,但问题也是如此。
请让我知道,如果你有任何问题。