Comments (2)
Hi danikhani,
I already answered your question here.
To give you a better understanding, I took the following images from the Linemod dataset including their 6D annotation.
You can see that in every image only a single object is annotated in the Linemod dataset but the other objects are also visible in the images.
If you want to train a single model for all objects the problem is that if you feed e.g. the annotated cat image from above to your model, you can only provide the annotations of the cat but not for the ape, duck, etc.
So the ground truth for all the other objects without annotations is just "background". This will unnecessarily penalize your model a lot during training when actually correctly detecting the other objects.
The Occlusion dataset (subset of Linemod) instead provides annotations for all objects in the image and is therefore better suited for multi 6d pose estimation.
Furthermore, I don't think it is impossible to train a single model for all Linemod objects because you can try using synthetic rendered data and the cut&paste strategy like PVNet but you probably can't use the vanilla Linemod images which could worsen the performance of your model on the test dataset.
But I didn't do any experiments here so this is just a guess.
Sincerely,
Yannick
from efficientpose.
Hi!
Sorry for re-mentioning the issue, but I still have a question here, for settings upon multi-object pose estimation.
One of your competitor, DPOD (Zakharov, Sergey, Ivan Shugurov, and Slobodan Ilic. "Dpod: 6d pose object detector and refiner." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019.
), is also a holistic method (if its refiner is not used) for multi-object pose estimation. As is stated in its paper, DPOD has conducted corresponding experiments tested on Occlusion dataset, and clearly all objects are trained in one single model. So why don't you conduct this experiment in the same setting?
P.S. One thing I slightly suspect about this experiment of DPOD is that the training dataset might not include real dataset from LineMOD. However, if it were trained with synthetic images only, this crutial settings should have been pointed out in the paper. Also, the synthetic dataset generated by DPOD is of really low quality, I highly doubt that if they can achieve 47.25% ADD on Occlusion if trained only with synthetic images.
from efficientpose.
Related Issues (20)
- Inference on LineMOD dataset doesn't work HOT 4
- Not able to install requirements.txt
- Model not getting trained HOT 1
- ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject HOT 1
- /home/mona/anaconda3/envs/EfficientPose/compiler_compat/ld: warning: /home/mona/anaconda3/envs/EfficientPose/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002 HOT 1
- Epoch 00162: ADD did not improve from 0.00000 -- is this an expected result for training using object 8 of LINEMOD?
- 关于多个物体预测的问题
- NAN loss using your conda env and data and command after 500 epochs HOT 11
- Procedure to train on custom dataset
- evaluation phase for object 8 of linemod -- raise ValueError('Unexpectedly found an instance of type `' + str(type(x)) + ValueError: Unexpectedly found an instance of type `<class 'keras.src.engine.keras_tensor.KerasTensor'>`. Expected a symbolic tensor instance.
- training using COCO pretrained weights for object 9 of linemod -- ValueError: Unexpectedly found an instance of type `<class 'keras.src.engine.keras_tensor.KerasTensor'>`. Expected a symbolic tensor instance.
- File "utils/compute_overlap.pyx", line 1, in init utils.compute_overlap """ ImportError: numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; use '<void>numpy._import_array' to disable if you are certain you don't need it).
- using your versions of packages -- File "/home/mona/anaconda3/envs/effpose/lib/python3.8/site-packages/numpy/__init__.py", line 305, in __getattr__ raise AttributeError(__former_attrs__[attr]) AttributeError: module 'numpy' has no attribute 'object'. `np.object` was a deprecated alias for the builtin `object`. To avoid this error in existing code, use `object` by itself. Doing this will not modify any behavior and is safe. The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
- File "/home/mona/anaconda3/envs/effpose/lib/python3.8/site-packages/skimage/__init__.py", line 122, in <module> from ._shared import geometry File "geometry.pyx", line 1, in init skimage._shared.geometry ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject
- node_def.attr[k].CopyFrom(v) File "/home/mona/anaconda3/envs/effpose/lib/python3.8/site-packages/google/protobuf/internal/containers.py", line 70, in __getitem__ return self._values[key] TypeError: list indices must be integers or slices, not str
- Data projecion problem HOT 3
- Rotation Error in Predictions HOT 6
- File "/home/mona/anaconda3/envs/EfficientPose/lib/python3.7/site-packages/tensorflow_core/python/keras/saving/hdf5_format.py", line 712, in load_weights_from_hdf5_group_by_name original_keras_version = f.attrs['keras_version'].decode('utf8') AttributeError: 'str' object has no attribute 'decode' HOT 1
- train -- File "/home/mona/effpose/EfficientPose/custom_load_weights.py", line 69, in load_weights_from_hdf5_group_by_name original_keras_version = f.attrs['keras_version'].decode('utf8') AttributeError: 'str' object has no attribute 'decode' HOT 1
- Transitioning EfficientPose to New GPUs Post-GTX Discontinuation (Important)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from efficientpose.