我试图找到一种可接受复杂性的有效方法
- 检测图像中的对象,以便将其与周围环境隔离
- 将该对象分段为其子部分并标记它们,以便我可以随意获取它们
我进入图像处理领域已经 3 周了,我读过很多算法(筛选、蛇、更多蛇、傅立叶相关等)和启发式算法,我不知道从哪里开始,哪一个对于我想要实现的目标来说是“最好的”。考虑到感兴趣的图像数据集是一个相当大的数据集,我什至不知道是否应该使用在 OpenCV 中实现的某种算法,或者是否应该自己实现一个。
总结:
- 我应该关注哪种方法?为什么?
- 我应该将 OpenCV 用于那种东西还是有其他“更好”的选择?
先感谢您。
编辑——有关数据集的更多信息
每个数据集由 80K 的产品图像共享相同
- 概念,例如 T 恤、手表、鞋子
- 尺寸
- 方向(90%)
- 背景(其中 95%)
显然,除了产品本身之外,每个数据集中的所有图片看起来几乎相同。为了让事情更清楚一点,让我们只考虑“观察数据集”:
集合中的所有图片看起来几乎完全一样:
(同样,除了手表本身)。我想取出表带和表盘。问题是有很多不同的手表款式和形状。从我目前所读到的,我认为我需要一个允许弯曲和拉伸的模板算法,以便能够匹配不同风格的表带和表盘。
与其创建三个不同的模板(表带上部、表带下部、表盘),不如只创建一个并将其分成 3 个部分。这样,我就会有足够的信心,每个部分都被检测到彼此之间的关系,例如表盘不会在表带的下部下方被检测到。
在我遇到的所有算法/方法中,主动形状|外观模型似乎是最有前途的。不幸的是,我还没有设法找到一个下降的实现,而且我没有足够的信心这是最好的方法,以便自己继续编写一个。
如果有人能指出我应该真正寻找什么(算法/启发式/库/等),我将不胜感激。如果您再次认为我的描述有点模糊,请随时要求更详细的描述。