tusen-ai / simpledet

A Simple and Versatile Framework for Object Detection and Instance Recognition
Apache License 2.0
3.08k stars 486 forks source link

Implementation of PAFPN & FPG #334

Closed zehuichen123 closed 4 years ago

zehuichen123 commented 4 years ago

The results have been reported in config/xxx/README.md. We also provided with an advanced version of PAFPN, by stacking top down and bottom up pathways multiple times, which we found it useful on waymo open dataset.

RogerChern commented 4 years ago

There is a TDBU FPN in NASFPN and I think that should be moved here too.

zehuichen123 commented 4 years ago

There is a TDBU FPN in NASFPN and I think that should be moved here too.

This TDBU seems a special case of PAFPN when num_stage = 1, so maybe we can just remove it?

RogerChern commented 4 years ago

It is a PAFPN with 3 stages and 384 channels. You can append its config and model to the table of FPG.

On Sat, Jun 20, 2020 at 3:45 PM loveSnowBest notifications@github.com wrote:

There is a TDBU FPN in NASFPN and I think that should be moved here too.

This TDBU seems a special case of PAFPN when num_stage = 1, so maybe we can just remove it?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/TuSimple/simpledet/pull/334#issuecomment-646958961, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGODHZOW575BPBV343OMZ3RXRSJDANCNFSM4NTFDUTA .

zehuichen123 commented 4 years ago

Alright. I will rerun this TDBU with 3 stages and 384 channels on faster r-cnn to align its settings with FPG and PAFPN and merge it into the table of FPG.

zehuichen123 commented 4 years ago

@RogerChern Hi, I've added this TDBU neck to FPG and renamed it as PAFPNNeckP3P7 along with its performance on Faster R-CNN.

RogerChern commented 4 years ago

Except the repeating codes issue, this PR looks good to me.

RogerChern commented 4 years ago

Also don't forget to update the main readme

zehuichen123 commented 4 years ago

I've moved merge_sum and reluconvbn to mxnext and gave one PR to mxnext repo.

RogerChern commented 4 years ago

lol, when doing refactorization, you shoud also remove the merge_sum and reluconvbn elsewhere like in NASFPN. This could be done by a search in the repo. I will merge the PR in mxnext first.

RogerChern commented 4 years ago

So throught this trial and error. I think the following procedure could serve as a brief checklist before merging any PR.

  1. provide the module codes
  2. provide the module readme, performance, checkpoints and logs.
  3. inspect the introduced helper funcitons to see if it is necessary to ship with the module. Search for any duplications in the repo.
  4. modify the main readme
zehuichen123 commented 4 years ago

lol, when doing refactorization, you shoud also remove the merge_sum and reluconvbn elsewhere like in NASFPN. This could be done by a search in the repo. I will merge the PR in mxnext first.

Yes, I've changed those merge_sum & reluconvbn under NASFPN folder.

RogerChern commented 4 years ago

Cool!