GithubHelp home page GithubHelp logo

justimyhxu / dense-reppoints Goto Github PK

View Code? Open in Web Editor NEW
144.0 144.0 15.0 10.98 MB

Dense reppoints: Representing visual objects with dense point sets https://arxiv.org/abs/1912.11473

License: Apache License 2.0

Python 86.59% Dockerfile 0.03% C++ 5.35% Cuda 7.96% Shell 0.07%

dense-reppoints's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dense-reppoints's Issues

About shared offset fields time complexity

Hi, in Dense-RepPoints it use normal conv for reppoints_pts_refine_conv:
https://github.com/justimyhxu/Dense-RepPoints/blob/master/mmdet/models/anchor_heads/dense_reppoints_head.py#L180

On the other hand, RepPoints use deformable conv for reppoints_pts_refine_conv:
https://github.com/microsoft/RepPoints/blob/master/src/reppoints_head/reppoints_head.py#L144

Is that using normal conv rather than deformable conv makes Dense-RepPoints have O(n) time complexity?
I do not fully understand why RepPoints has O(n^2) time complexity.

thanks

Low segmentation mAPs.

Hello, I set num_points to 25 in the default config file configs/dense_reppoints/dense_reppoints_729pts_r50_fpn_1x.py , and tried your code to train the model with the modified config file. I tested the model with tools/test.py, and got 17.6 segm mAP which is much lower than the one reported in the paper(24.5). Besides, I got 38.0 box mAP which is close to the one reported(38.7).

How can I reproduce the results in the paper? Looking forward to your reply. Thank you!

the questions about gpu

Hello, the densereppoint is good work. Can you tell me which GPU do you use in the configs "dense_reppoints_729pts_r50_fpn_1x". I want to use 2080ti GPU to train, but it shows that it doesn't have enough capacity, so how can I modify the configs to achieve the same result with origin parameters, and which GPU do you use?Thank you!

General questions

Hello, I have tried the code about the configs "dense_reppoints_729pts_r50_fpn_1x", I found the model speed is a bit slow when tested on p100 gpu,just 1.2 fps.
So how can I modify the configs to achieve a similar result and improve speed?
Can you give me some data results when using fewer key points?
Can you tell me which conference this article was voted for?
Looking forward to your reply,Thank you!

scipy.spatial.qhull.QhullError: QH6019 qhull input error

[ ] 0/1496, elapsed: 0s, ETA:Traceback (most recent call last):
File "tools/train.py", line 143, in
main()
File "tools/train.py", line 139, in main
meta=meta)
File "/home/endlessplato/Dense-RepPoints/mmdet/apis/train.py", line 102, in train_detector
meta=meta)
File "/home/endlessplato/Dense-RepPoints/mmdet/apis/train.py", line 181, in _dist_train
runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
File "/home/endlessplato/anaconda3/envs/mmdetection/lib/python3.7/site-packages/mmcv/runner/runner.py", line 383, in run
epoch_runner(data_loaders[i], **kwargs)
File "/home/endlessplato/anaconda3/envs/mmdetection/lib/python3.7/site-packages/mmcv/runner/runner.py", line 292, in train
self.call_hook('after_train_epoch')
File "/home/endlessplato/anaconda3/envs/mmdetection/lib/python3.7/site-packages/mmcv/runner/runner.py", line 245, in call_hook
getattr(hook, fn_name)(self)
File "/home/endlessplato/Dense-RepPoints/mmdet/core/evaluation/eval_hooks.py", line 41, in after_train_epoch
gpu_collect=self.gpu_collect)
File "/home/endlessplato/Dense-RepPoints/mmdet/apis/test.py", line 58, in multi_gpu_test
result = model(return_loss=False, rescale=True, **data)
File "/home/endlessplato/anaconda3/envs/mmdetection/lib/python3.7/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/home/endlessplato/anaconda3/envs/mmdetection/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 442, in forward
output = self.module(*inputs[0], **kwargs[0])
File "/home/endlessplato/anaconda3/envs/mmdetection/lib/python3.7/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/home/endlessplato/Dense-RepPoints/mmdet/core/fp16/decorators.py", line 49, in new_func
return old_func(*args, **kwargs)
File "/home/endlessplato/Dense-RepPoints/mmdet/models/detectors/base.py", line 149, in forward
return self.forward_test(img, img_metas, **kwargs)
File "/home/endlessplato/Dense-RepPoints/mmdet/models/detectors/base.py", line 130, in forward_test
return self.simple_test(imgs[0], img_metas[0], **kwargs)
File "/home/endlessplato/Dense-RepPoints/mmdet/models/detectors/dense_reppoints_detector.py", line 62, in simple_test
self.test_cfg, ori_shape, scale_factor, rescale)
File "/home/endlessplato/Dense-RepPoints/mmdet/models/detectors/dense_reppoints_detector.py", line 117, in get_seg_masks
bbox_mask = scipy.interpolate.griddata(im_pts, im_pts_score, grids)

File "/home/endlessplato/anaconda3/envs/mmdetection/lib/python3.7/site-packages/scipy/interpolate/ndgriddata.py", line 221, in griddata
rescale=rescale)
File "interpnd.pyx", line 248, in scipy.interpolate.interpnd.LinearNDInterpolator.init
File "qhull.pyx", line 1839, in scipy.spatial.qhull.Delaunay.init
File "qhull.pyx", line 357, in scipy.spatial.qhull._Qhull.init
scipy.spatial.qhull.QhullError: QH6019 qhull input error (qh_scalelast): can not scale last coordinate to [ 0, 0]. Input is cocircular or cospherical. Use option 'Qz' to add a point at infinity.

While executing: | qhull d Qbb Qc Qt Q12 Qz
Options selected for Qhull 2019.1.r 2019/06/21:
run-id 1267007510 delaunay Qbbound-last Qcoplanar-keep Qtriangulate
Q12-allow-wide Qz-infinity-point _pre-merge _zero-centrum Qinterior-keep
Pgood _maxoutside 0

==============================================

I use dist_train.sh to train the model on 5 GPUs. It worked well on first several epochs. But at the beginning of the forth epoch's validation, this error jump up.

May I ask for some suggetions to sovle it?

Training on custom dataset

Describe the feature
Hi,
Can you provide guidance on how to train dense rep-points on any custom dataset? Also is windows OS supported at the moment or not?

Looking forward to your response.

Thanks
Motivation
A clear and concise description of the motivation of the feature.
Ex1. It is inconvenient when [....].
Ex2. There is a recent paper [....], which is very helpful for [....].

Related resources
If there is an official code release or third-party implementations, please also provide the information here, which would be very helpful.

Additional context
Add any other context or screenshots about the feature request here.
If you would like to implement the feature and create a PR, please leave a comment here and that would be much appreciated.

Inference Test

Can you kindly provide an inference notebook similar to the mmdetection.git repository to test densereppoints model on single image files without any installation hassles.

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.