justimyhxu / dense-reppoints Goto Github PK
View Code? Open in Web Editor NEWDense reppoints: Representing visual objects with dense point sets https://arxiv.org/abs/1912.11473
License: Apache License 2.0
Dense reppoints: Representing visual objects with dense point sets https://arxiv.org/abs/1912.11473
License: Apache License 2.0
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
On page 7 of the Dense-RepPoints paper , why "use triangulation for distance transform sampling, bilinear interpolation (imresize) for grid sampling, and concave hull for boundary sampling" ?
[ ] 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?
A simple question about the paper:
How do you generate initial points during testing?
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!
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!
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!
Why we need to judge whether the sum of coordinates of all points is >0 or not? I think it's sum absolutely is >0 because when we create mask_gt we add x1,y1
(top_left) of gt_bbox to all the points, so I think it's not necessary to judge?
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.
I want to reference the code for concave hull and triangulation methods when translating the point set to polygon mask. However, I fail to find the code. Can you help me find the code?
I need to decide which version of mmcv to be installed according to mmdetection version.
How to obtain the same demonstration effect as in the paper? Show the points learned from the network in the original image?
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.