Wan*_*esr 5 tensorflow object-detection-api
我试图使用来自object_detect_api的更快的rcnn模型从此处https://github.com/tensorflow/models/tree/master/research/ object_detection
我对以下配置参数感到非常困惑(我已经阅读了原始文件,还尝试修改它们并进行测试):
first_stage_anchor_generator {
grid_anchor_generator {
scales: [0.25, 0.5, 1.0, 2.0]
aspect_ratios: [0.5, 1.0, 2.0]
height_stride: 16
width_stride: 16
}
}
Run Code Online (Sandbox Code Playgroud)
我对这个领域有点陌生,如果有人可以向我解释一下这些参数,将不胜感激。
我的问题是我应该如何调整以上(或其他)参数,以适应我有非常小的固定大小对象要在大图像中检测到的事实。
谢谢
小智 5
我不知道实际答案,但我怀疑 Faster RCNN 在 Tensorflow 对象检测中的工作方式如下:
这篇文章说:“Anchors 在 Faster R-CNN 中扮演着重要的角色。anchor 是一个盒子。在 Faster R-CNN 的默认配置中,9在图像的一个位置有一个 anchors。下图显示了 9 个 anchors 在(320, 320)大小为 的图像的位置(600, 800)。”
作者给出了一个显示框重叠的图像,这些是基于“RCNN”模型的“CNN”部分提出的包含对象的区域,接下来是“RCNN”模型的“R”部分,即区域提案。为此,还有另一个神经网络与 CNN 一起训练,以找出最适合的框。有很多“建议”,一个对象可以基于所有的盒子,但我们仍然不知道它在哪里。
这个“区域提议”神经网络的工作是找到正确的区域,并根据您提供的标签和图像中每个对象的坐标进行训练。
看着这个文件,我注意到:
line 174: heights = scales / ratio_sqrts * base_anchor_size[0]
line 175: widths = scales * ratio_sqrts * base_anchor_size[[1]]
Run Code Online (Sandbox Code Playgroud)
这似乎是在配置文件中找到的配置的最终目标(生成具有已知宽度和高度的滑动窗口列表)。虽然 base_anchor_size 是作为默认值创建的[256, 256]。代码作者在评论中写道:
“例如,设置scales=[.1, .2, .2]
和aspect ratios = [2,2,1/2]意味着我们创建了三个框:一个具有比例
.1、纵横比2,一个具有比例.2、纵横比2,另一个具有比例.2
和纵横比1/2。每个框base_anchor_size在将其放置在各自的中心之前乘以“ ”。 ”
这让我们深入了解这些框是如何创建的,代码似乎正在根据将用于在图像上滑动的scales =[stuff]和aspect_ratios = [stuff]参数创建一个框列表。规模相当简单,是多少的默认方箱256由256在使用前应进行缩放和纵横比是改变原来的正方形框成一个矩形,它是更接近的所述(经缩放的)形状的东西您希望遇到的对象。
这意味着,以最优配置比例和纵横比,你应该找到图像中物体的“典型”的尺寸无论它是EX(20通过30,5通过10等),并找出多少默认256的256方盒子的规模应以最佳方式适应,然后找到对象的“典型”纵横比(根据谷歌,纵横比是:图像或屏幕的宽度与高度的比率。)并将它们设置为您的纵横比参数。
注意:似乎配置文件中 scales 和 aspect_ratios 列表中的元素数量应该相同,但我不确定。
另外我不知道如何找到最佳的步幅,但如果你的对象是小于16的16像素创建由规模和长宽比设置为你想要而跳过你的对象完全什么滑动窗口。
小智 2
我相信提案锚点仅针对 Faster RCNN 的模型类型生成。在此文件中,您已指定可以在配置中提到的行中为锚点生成设置哪些参数。
我尝试设置base_anchor_size,但是失败了。尽管这个FasterRCNNTutorial 教程提到了:
[...]您还需要在 .config 文件中配置锚点大小和纵横比。基础锚尺寸为 255,255。
锚点比率将乘以 x 维度并除以 y 维度,因此,如果纵横比为 0.5,则 255x255 锚点将变为 128x510。应用列表中的每个纵横比,然后将结果乘以比例。因此,第一步是将图像调整为训练/测试尺寸,然后手动检查您期望的最小和最大对象是什么,以及最极端的长宽比是多少。当通过长宽比调整基本锚点大小并乘以比例时,使用将覆盖这些情况的值设置配置文件。
我认为这非常简单。我也使用了这个“解决方法”。
| 归档时间: |
|
| 查看次数: |
1828 次 |
| 最近记录: |