← 开源
vacancy

PreciseRoIPooling

Precise RoI Pooling with coordinate gradient support, proposed in the paper "Acquisition of Localization Confidence for Accurate Object Detection" (https://arxiv.org/abs/1807.11590).

Model DevelopmentArchitectureC++
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
781
Star
151
Fork
+0
本周
3
贡献者
创建于 2018-07-13 · 更新于 2026-05-23 · 今日第 13888 名
主要开发者
vacancylerohisorasaford

vacancy/PreciseRoIPooling 排名第 13,888,有 781 个星标。

同类别比较

vacancy/PreciseRoIPooling 排名第 13,888,此处有 8 个同类条目;weecology/DeepForest 排名第 13,883。

同类别比较
名称排名指标
yuanming-hu/exposure13,874
语言:
Python
星标数:
783
分叉数:
154
简介:
Learning infinite-resolution image processing with GAN and RL from unpaired image datasets, using a differentiable photo editing model.
Farama-Foundation/Miniworld13,876
语言:
Python
星标数:
782
分叉数:
144
简介:
Simple and easily configurable 3D FPS-game-like environments for reinforcement learning
michalfaber/keras_Realtime_Multi-Person_Pose_Estimation13,880
语言:
Jupyter Notebook
星标数:
782
分叉数:
364
简介:
Keras version of Realtime Multi-Person Pose Estimation project
weecology/DeepForest13,883
语言:
Python
星标数:
782
分叉数:
270
简介:
Python Package for Airborne RGB machine learning
dgschwend/zynqnet13,896
语言:
HTML
星标数:
780
分叉数:
295
简介:
Master Thesis "ZynqNet: An FPGA-Accelerated Embedded Convolutional Neural Network"
microsoft/Multiverso13,899
语言:
C++
星标数:
780
分叉数:
221
简介:
Parameter server framework for distributed machine learning
pyRiemann/pyRiemann13,900
语言:
Python
星标数:
780
分叉数:
194
简介:
Machine learning for multivariate data through the Riemannian geometry of positive definite matrices in Python
scverse/anndata13,901
语言:
Python
星标数:
780
分叉数:
220
简介:
Annotated data.
关键参数与规格
关键参数与规格
参数值
语言C++
类别Model Development
子类别Architecture
关键词Computer vision, Object detection
星标数781
分叉数151
贡献者3
创建日期2018-07-13
更新日期2026-05-23
1 天星标数0
7 天星标数0
排名13,888
上次排名13,775
排名变化-113
7 天星标排名14,170
上次 7 天星标排名14,189
7 天星标排名变化19
总星标排名13,613
上次总星标排名13,590
总星标排名变化-23
国家USA
README 摘录

PreciseRoIPooling This repo implements the **Precise RoI Pooling** (PrRoI Pooling), proposed in the paper **Acquisition of Localization Confidence for Accurate Object Detection** published at ECCV 2018 (Oral Presentation). **Acquisition of Localization Confidence for Accurate Object Detection** _Borui Jiang*, Ruixuan Luo*, Jiayuan Mao*, Tete Xiao, Yuning Jiang_ (* indicates equal contribution. ) **Causion**: To install the library, please the repository instead of downloading the zip file, since source files inside the folder and are symbol-linked. Downloading the repository as a zip file

will break these symbolic links. Also, there are reports indicating that Windows git versions also breaks the symbol links. Brief In short, Precise RoI Pooling is an integration-based (bilinear interpolation) average pooling method for RoI Pooling. It avoids any quantization and has a continuous gradient on bounding box coordinates. It is: different from the original RoI Pooling proposed in Fast R-CNN. PrRoI Pooling uses average pooling instead of max pooling for each bin and has a continuous gradient

on bounding box coordinates. That is, one can take the derivatives of some loss function w. t the coordinates of each RoI and optimize the RoI coordinates. different from the RoI Align proposed in Mask R-CNN. PrRoI Pooling uses a full integration-based average pooling instead of sampling a constant number of points. For a better illustration, we illustrate RoI Pooling, RoI Align and PrRoI Pooing in the following figure. More details including the gradient computation can be found

in our paper. Implementation PrRoI Pooling was originally implemented by Tete Xiao based on MegBrain, an (internal) deep learning framework built by Megvii Inc. It was later adapted into open-source deep learning frameworks. Unfortunately, we don't have any specific plan for the adaptation into other frameworks such as TensorFlow, but any contributions (pull requests) will be more than welcome. 0) In the directory , we provide a PyTorch-based implementation of PrRoI Pooling. 0+ and only supports CUDA (CPU mode

is not implemented). Since we use PyTorch JIT for cxx/cuda code compilation, to use the module in your code, simply do: Usage (PyTorch 0. Please first checkout to the branch pytorch0. ** In the directory , we provide a PyTorch-based implementation of PrRoI Pooling. 4 and only supports CUDA (CPU mode is not implemented). To use the PrRoI Pooling module, first goto and execute to compile the essential components (you may need for this step). To use the module in

your code, simply do: Here, RoI is an float tensor of format , following the convention in the original Caffe implementation of RoI Pooling, although in some frameworks the batch indices are provided by an integer tensor. For example, if your feature maps are down-sampled by a factor of 16 (w. the input image), you should use a spatial scale of . The coordinates for RoI follows the [L, R) convension. Usage (TensorFlow) In the directory , we provide a TensorFlow-based

implementation of PrRoI Pooling. 2 and only supports CUDA (CPU mode is not implemented). To compile the essential components, follow

常见问题

记录了多少星标和分叉?

vacancy/PreciseRoIPooling 有 781 个星标和 151 个分叉。

仓库排名是多少?

vacancy/PreciseRoIPooling 排名第 13,888。

记录的语言和类别是什么?

vacancy/PreciseRoIPooling 有 781 个星标,语言为 C++,类别为 Model Development。

哪个仓库排名最接近?

vacancy/PreciseRoIPooling 与 weecology/DeepForest 比较,后者排名第 13,883,有 782 个星标。

README

PreciseRoIPooling

This repo implements the Precise RoI Pooling (PrRoI Pooling), proposed in the paper Acquisition of Localization Confidence for Accurate Object Detection published at ECCV 2018 (Oral Presentation).

Acquisition of Localization Confidence for Accurate Object Detection

Borui Jiang*, Ruixuan Luo*, Jiayuan Mao*, Tete Xiao, Yuning Jiang (* indicates equal contribution.)

https://arxiv.org/abs/1807.11590

Causion: To install the library, please git clone the repository instead of downloading the zip file, since source files inside the folder ./pytorch/prroi_pool/src/ and tensorflow/prroi_pool/src/kernels/external are symbol-linked. Downloading the repository as a zip file will break these symbolic links. Also, there are reports indicating that Windows git versions also breaks the symbol links. See issues/58.

Brief

In short, Precise RoI Pooling is an integration-based (bilinear interpolation) average pooling method for RoI Pooling. It avoids any quantization and has a continuous gradient on bounding box coordinates. It is:

  • different from the original RoI Pooling proposed in Fast R-CNN. PrRoI Pooling uses average pooling instead of max pooling for each bin and has a continuous gradient on bounding box coordinates. That is, one can take the derivatives of some loss function w.r.t the coordinates of each RoI and optimize the RoI coordinates.
  • different from the RoI Align proposed in Mask R-CNN. PrRoI Pooling uses a full integration-based average pooling instead of sampling a constant number of points. This makes the gradient w.r.t. the coordinates continuous.

For a better illustration, we illustrate RoI Pooling, RoI Align and PrRoI Pooing in the following figure. More details including the gradient computation can be found in our paper.

Implementation

PrRoI Pooling was originally implemented by Tete Xiao based on MegBrain, an (internal) deep learning framework built by Megvii Inc. It was later adapted into open-source deep learning frameworks. Currently, we only support PyTorch. Unfortunately, we don't have any specific plan for the adaptation into other frameworks such as TensorFlow, but any contributions (pull requests) will be more than welcome.

Usage (PyTorch 1.0)

In the directory pytorch/, we provide a PyTorch-based implementation of PrRoI Pooling. It requires PyTorch 1.0+ and only supports CUDA (CPU mode is not implemented). Since we use PyTorch JIT for cxx/cuda code compilation, to use the module in your code, simply do:

from prroi_pool import PrRoIPool2D

avg_pool = PrRoIPool2D(window_height, window_width, spatial_scale)
roi_features = avg_pool(features, rois)

# for those who want to use the "functional"

from prroi_pool.functional import prroi_pool2d
roi_features = prroi_pool2d(features, rois, window_height, window_width, spatial_scale)

Usage (PyTorch 0.4)

!!! Please first checkout to the branch pytorch0.4.

In the directory pytorch/, we provide a PyTorch-based implementation of PrRoI Pooling. It requires PyTorch 0.4 and only supports CUDA (CPU mode is not implemented). To use the PrRoI Pooling module, first goto pytorch/prroi_pool and execute ./travis.sh to compile the essential components (you may need nvcc for this step). To use the module in your code, simply do:

from prroi_pool import PrRoIPool2D

avg_pool = PrRoIPool2D(window_height, window_width, spatial_scale)
roi_features = avg_pool(features, rois)

# for those who want to use the "functional"

from prroi_pool.functional import prroi_pool2d
roi_features = prroi_pool2d(features, rois, window_height, window_width, spatial_scale)

Here,

  • RoI is an m * 5 float tensor of format (batch_index, x0, y0, x1, y1), following the convention in the original Caffe implementation of RoI Pooling, although in some frameworks the batch indices are provided by an integer tensor.
  • spatial_scale is multiplied to the RoIs. For example, if your feature maps are down-sampled by a factor of 16 (w.r.t. the input image), you should use a spatial scale of 1/16.
  • The coordinates for RoI follows the [L, R) convension. That is, (0, 0, 4, 4) denotes a box of size 4x4.

Usage (TensorFlow)

In the directory tensorflow/, we provide a TensorFlow-based implementation of PrRoI Pooling. It tested TensorFlow 2.2 and only supports CUDA (CPU mode is not implemented). To compile the essential components, follow the instruction below

To use the PrRoI Pooling module, to compile the essential components (you may need nvcc for this step). To use the module in your code, simply do:

Requirements

  • CUDA compiler(NVCC)
  • Tensorflow-GPU 2.x
  • CMake
  • Microsoft Visual C++ Build Tools(For Windows Users)

Step-by-step instructions

For Ubuntu Users

CMake Configuration
mkdir tensorflow/prroi_pool/build
cd tensorflow/prroi_pool/build
cmake -DCMAKE_BUILD_TYPE="Release" ..

Build & Test PrRoI Pooling module

make

For Windows Users

MSVC Configuration
${MSVC_INSTALL_PATH}\VC\Auxiliary\Build\vcvars64.bat
CMake Configuration
mkdir tensorflow/prroi_pool/build
cd tensorflow/prroi_pool/build
cmake -DCMAKE_BUILD_TYPE="Release" -G "NMake Makefiles" ..
Build & Test Custom ops
nmake BUILD=release

To use the module in your code, simply do:

from prroi_pool import PreciseRoIPooling

avg_pool = PreciseRoIPooling(window_height, window_width, spatial_scale, data_format)
roi_features = avg_pool([features, rois])

Here,

  • RoI is an m * 5 float tensor of format (batch_index, x0, y0, x1, y1), following the convention in the original Caffe implementation of RoI Pooling, although in some frameworks the batch indices are provided by an integer tensor.
  • spatial_scale is multiplied to the RoIs. For example, if your feature maps are down-sampled by a factor of 16 (w.r.t. the input image), you should use a spatial scale of 1/16.
  • The coordinates for RoI follows the [L, R) convension. That is, (0, 0, 4, 4) denotes a box of size 4x4.
排名相邻
同类项目