python - 哪种算法对于实时检测视频帧中的可变形 ROI(非对象)最有用?

标签 python algorithm matlab image-recognition roi

我正在 MATLAB 中进行一个项目(后来用 C++ 或可能用 Python 和 OpenCV 实现),当实时视频开始时,用户可能会绘制一个感兴趣的区域。它将被绘制为多边形。但是,此 ROI 可能会超出框架范围,然后重新出现。在这一点上,它应该被识别和检测。主要问题是它不是具有特定物理特性的显着物体,因为它可以(在某种程度上)改变形状、弯曲、拉伸(stretch)。而且,它应该是实时运行的,这使得实现培训变得困难。

我尝试使用颜色直方图来强调 ROI 的颜色特征,然后对图像进行阈值处理,但它仅在特定条件下有效。我确实有工程背景,但在此之前没有使用过任何机器学习。我读到 SVM 的 HOG 特征可能有帮助,甚至霍夫变换。我使用 ACF 获得了一些不错的结果,但它仍然需要分类器的训练阶段。

这样做的目的是在跟踪器完全丢失后重新初始化该区域内的跟踪器。我知道经过训练的分类器,可以通过多种算法识别它,但我遇到的问题是实时进行并且没有任何先前的训练。

由于该视频是外科手术视频,因此我上传了 4 个用户投资返回率边界框的示例帧。

(下面是手术的详细照片,将鼠标悬停在该区域上方或单击以显示它们。)

Link to image

任何建议都会有很大帮助。

最佳答案

因为 ROI 是实时决定的,所以我认为带有预训练的功能在这里不起作用。最近,我发现了一个有助于find a sticker in the image的话题。 .建议的解决方案是 template matching .

这些步骤是捕获 ROI 并使用模板匹配在每一帧中搜索“最相似”区域。

因为在您的情况下,对象可能会随着时间的推移而变化(不会太多),结果可能并不完美,但这是一个好方法。

上述主题的图片

A Picture from mentioned topic

关于python - 哪种算法对于实时检测视频帧中的可变形 ROI(非对象)最有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56183416/

相关文章:

python - 打印 1 到 N - 位数

python - 模块 'tensorflow' 没有属性 'constant'

仅当变量不是 None 时才进行 if 语句比较的 Pythonic 方法

algorithm - 计算时间序列中的周期

c - 基数排序算法对于不同顺序的数据可能有不同的运行时间?

matlab - 函数句柄元胞数组的求和

python - 如何将文件的内容写入python中的列表?

arrays - 最高百分比增加

matlab - Matlab 中的 GPS 区域选择

python - 在 Python 中从 MATLAB 模仿 ode45 函数