Skip to content

Commit 2b2d048

Browse files
authored
add_cn_doc_generate_proposals (#4974)
1 parent 6ebd537 commit 2b2d048

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
.. _cn_api_paddle_vision_ops_generate_proposals:
2+
3+
generate_proposals
4+
-------------------------------
5+
6+
.. py:function:: paddle.vision.ops.generate_proposals(scores, bbox_deltas, img_size, anchors, variances, pre_nms_top_n=6000, post_nms_top_n=1000, nms_thresh=0.5, min_size=0.1, eta=1.0, pixel_offset=False, return_rois_num=False, name=None)
7+
8+
9+
10+
11+
12+
根据每个检测框为foreground对象的概率,根据 ``anchors`` 和 ``bbox_deltas`` 以及 ``scores`` 计算生成RPN的输出proposal。最后的推选的proposal被用于训练检测网络。
13+
14+
15+
该操作通过以下步骤生成proposals :
16+
17+
1、通过转置操作将 ``scores`` 和 ``bbox_deltas`` 的大小分别调整为 ``(H * W * A,1)`` 和 ``(H * W * A,4)`` 。
18+
19+
2. 计算出候选框的位置。
20+
21+
3、将检测框的坐标限定到图像尺寸范围内。
22+
23+
4、删除面积较小的候选框。
24+
25+
5、通过非极大抑制(non-maximum suppression, NMS), 选出满足条件的候选框作为结果。
26+
27+
参数
28+
::::::::::::
29+
- **scores** (Tensor) - Shape为 ``[N,A,H,W]`` 的4-D Tensor,表示每个框包含object的概率。N是批大小,A是anchor数,H和W是feature map的高度和宽度。数据类型支持float32。
30+
- **bbox_deltas** (Tensor)- Shape为 ``[N,4 * A,H,W]`` 的4-D Tensor,表示预测出的候选框的位置和anchor的位置之间的距离。数据类型支持float32。
31+
- **img_size** (Tensor) - Shape为 ``[N,2]`` 的2-D张量,表示原始图像的大小信息。信息包含原始图像宽、高和feature map相对于原始图像缩放的比例。数据类型可为float32或float64。
32+
- **anchors** (Tensor) - Shape为 ``[H,W,A,4]`` 的4-D Tensor。H和W是feature map的高度和宽度。A是每个位置的框的数量。每个anchor以 ``(xmin,ymin,xmax,ymax)`` 的格式表示,其中, ``xmin`` 和 ``ymin`` 为左上角的坐标, ``xmax`` 和 ``ymax`` 为右下角的坐标。数据类型支持float32。
33+
- **variances** (Tensor) - Shape为 ``[H,W,A,4]`` 的4-D Tensor,表示 ``anchors`` 的方差。每个anchor的方差都是 ``(xcenter,ycenter,w,h)`` 的格式表示。数据类型支持float32。
34+
- **pre_nms_top_n** (int,可选) - 每张图在NMS操作之前要保留的总框数。默认值为6000。
35+
- **post_nms_top_n** (int,可选) - 每个图在NMS后要保留的总框数。默认值为1000。
36+
- **nms_thresh** (float,可选) - NMS中的阈值。默认值为0.5。
37+
- **min_size** (float,可选) - 根据宽和高过滤候选框的阈值,宽或高小于该阈值的候选框将被过滤掉。默认值为0.1。
38+
- **eta** (float,可选) - 自适应阈值的衰减系数。仅在自适应NMS中且自适应阈值大于0.5时生效,在每次迭代中 ``adaptive_threshold = adaptive_treshold * eta`` 。默认值为1.0。
39+
- **pixel_offset** (bool, 可选)- 是否有像素偏移。如果是True, ``img_size`` 在计算时会偏移1。默认值为False。
40+
- **return_rois_num** (bool,可选) - 是否返回 ``rpn_rois_num`` 。当设定为True时会返回一个形状为[N,]的1-D的Tensor,包含该Batch中每一张图片包含的RoI的数目。 N是批大小和图片数量。默认值为False。
41+
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
42+
43+
44+
返回
45+
::::::::::::
46+
- **rpn_rois** (Tensor) - 生成的RoIs。为形状是 ``[N, 4]`` 的2-D Tensor, 其中N为RoIs的数量。数据类型与 ``scores`` 一致。
47+
- **rpn_roi_probs** (Tensor) - 生成的RoIs的得分。为形状是为 ``[N, 1]`` 的2-D Tensor,其中N为RoIs的数量。数据类型与 ``scores`` 一致。
48+
- **rpn_rois_num** (Tensor) - 该Batch中每一张图片包含的RoI的数目。为形状是为 ``[B,]`` 的1-D Tensor。其中 ``B`` 是批大小和图片数量。此外,其和与RoIs的数量 ``N`` 一致。
49+
50+
51+
代码示例
52+
::::::::::::
53+
54+
COPY-FROM: paddle.vision.ops.generate_proposals

0 commit comments

Comments
 (0)