我应该使用啥样的描述符来检测海豹幼崽?

Posted

技术标签:

【中文标题】我应该使用啥样的描述符来检测海豹幼崽?【英文标题】:What kind of descriptor should I use for seal cub detection?我应该使用什么样的描述符来检测海豹幼崽? 【发布时间】:2011-08-08 00:01:38 【问题描述】:

我有一个项目来检测和计数从海滩拍摄的航拍图像中的海豹幼崽(动物)。与棕色和大的成年海豹相比,海豹幼崽是黑色和小。

一些海豹幼崽重叠/部分遮挡。海滩颜色接近黄色,但有一些黑色岩石增加了检测难度。

哪种描述符最适合我的项目? HOG、SIFT、Haar 类特征?

我在问这个问题的理论部分。我认为要实现我的项目,第一步应该是选择最能代表对象的正确描述符,然后(结合几个弱特征,不是必需的吗?)使用机器学习方法训练分类器,如 boosting/SVM/neural_network,对吗? ?

示例图片:

【问题讨论】:

补充信息:我要求这个问题的理论部分。我认为要实现我的项目,第一步应该是选择最能代表对象的正确描述符,然后(结合几个弱特征,不是必需的吗?)使用机器学习方法训练分类器,如 boosting/SVM/neural_network,对吗? ? 你能发一个图片样本吗? 寻找那些拿着棍棒偷偷靠近的人。 【参考方案1】:

我不确定我是否同意选择正确的描述符是正确的起点。一个基本问题是所有对象的形状都相似。每只动物体内也有相当大的梯度。姿势的复杂性是另一个问题。我会将问题分解为两个更简单的步骤: 1.独特的物体检测(边缘检测、分水岭、graph cut等)。像“计数血细胞”的问题。 2. 基于颜色和区域的对象分类(归一化为相机透视)。计算每个对象中“黄色”彩色像素和“黑色”彩色像素的分数,并将这些值与对象大小一起用作对象分类器的输入(神经网络在这里是一个有趣的解决方案!)。

这是一个相当混乱的场景,所以我希望这两种算法都需要一些微调。如果您的要求允许某种程度的分析师交互,请提供一些滑块,以便分析师可以调整算法中的每个阈值。

【讨论】:

【参考方案2】:

计算机视觉算法的准确性似乎在很大程度上取决于能否针对特定问题对其进行微调。如果您可以对您处理算法的图片做出假设,例如所有这些图片都是类似海滩场景中海豹的航拍图像,那么您可以利用这一点。我想说,在尝试过分关注本地特征之前,您可能想尝试分水岭分割并计算非背景段的数量。 Watershed 提供了一个方便的框架,称为“标记”,用于整合有关您输入的先验知识,以区分“背景”和“前景”段。

这样的方法可能比局部特征更容易,也可能更准确。根据我的经验,我无法使用 SIFT 和 SURF 特征从有机主题(如人脸或动物)中提取和匹配大量有意义的特征。对我来说,它们往往更适合处理有很多角度的房间或建筑物的照片。

【讨论】:

【参考方案3】:

不太确定,您可以尝试看看捕食者算法,因为您可以轻松地教它小海豹的样子。 youtube video, description and link here

【讨论】:

谢谢,那个视频太棒了!我会在这个视频背后用谷歌搜索他的论文 我认为这根本不合适。 Eric 并没有尝试在视频中追踪海豹,而是尝试在图像中检测和计数它们。 您可以教 Predator 特定的小海豹长什么样,然后让它扫描主题的变化,了解其他小海豹的长相。这样,在教你的算法小海豹的样子时就可以减少工作量。你也可以教它成年海豹和岩石的样子,这样它就可以排除它们。

以上是关于我应该使用啥样的描述符来检测海豹幼崽?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法检测我正在使用啥样的连接? WiFi、3G 还是以太网?

AES 应该使用啥样的填充?

我应该使用啥样的意图来保存android设备生成的错误报告

我应该在我的春季项目中使用啥样的测试(我做得对吗)?

我将为此 StoreBuilder 使用啥样的密钥

GraphQL 文件上传请求应该是啥样的?