jwyang / jwyang/fpn.pytorch

inconsistant anchor reference (may be the cause of the lower accuracy than faster-rcnn)

Open
#6 22 comments 9 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
969
Forks
220
PR merge metrics
No merged PRs in 30d

Description

Hi,

Please notice you have an inconsistant reference to the order of the anchors (lines 86 and 79)

https://github.com/jwyang/fpn.pytorch/blob/23bd1d2fa09fbb9453f11625d758a61b9d600942/lib/model/rpn/rpn_fpn.py#L86

https://github.com/jwyang/fpn.pytorch/blob/23bd1d2fa09fbb9453f11625d758a61b9d600942/lib/model/rpn/rpn_fpn.py#L79

lets say k is the number of anchors

than in line 79 you are doing softmax after reshape which make anchors:
0:k-1 assosiated with proposal = false
k:2k-1 assosiated with proposal = True.

and in line 86 your anchors are arranged in a different way:
i mod 2 == 0 associated with proposal = false
i mod 2 == 1 associated with proposal = True.

I propose to reshape the score in this way to be consistant.
(You will also need to change few other things in proposalLayer for it to work)

`rpn_cls_scores.append(rpn_cls_score_reshape.permute(0, 2, 3, 1).contiguous().view(batch_size, -1, 2))`

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in lib/model/rpn/rpn_fpn.py at the referenced lines 79 and 86, and compare the anchor ordering before and after the score reshape. Trace proposalLayer to identify the other ordering-dependent code paths mentioned in the issue. Done means the anchor-to-proposal-false/true mapping is consistent throughout the RPN and the related behavior is validated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
computer-vision
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.