Comments (17)
@AakashKumarNain This image is challenging: it has a lot of objects and many of them are very small. Therefore, you need to change the visualization settings in inferece.py line 208: (1) change min_score_thresh=0.1 and (2) add max_boxes_to_draw=500.
After that you would get reasonable results. However, since the original image is 1920x1080, much bigger than the default efficientdet-d0 size 512x512, you can simply change the image size of d0 by add "self.params['image_size'] = 1920" in inference.py line 234.
Here are the two updated results:
EfficientDet-D0 (min_score_thresh=0.1 and max_boxes_to_draw=500, image_size=512)
EfficientDet-D0 (min_score_thresh=0.1 and max_boxes_to_draw=500, image_size=1920)
from automl.
Please post original image also
from automl.
Please post original image also
Done
from automl.
Are these model trained on same dataset?
Yolov3 mark bus as truck
.
Efficientdet mark bus as bus
.
from automl.
Both are trained on COCO
if I am right else how would you compare the performance as reported in the paper?
from automl.
Both are trained on
COCO
if I am right else how would you compare the performance as reported in the paper?
I try to train it on VOC2007 dataset and compare it with my yolov3 model.
I will use the same input size ,score and iou. Then compare them with speed and map.
from automl.
Maybe..... In anchors.py' it is a good idea to increase MAX_DETECTIONS_PER_IMAGE (line 44) and decrease match_threshold (line 317; Default == 0.5).
from automl.
@mingxingtan Thanks for clearing that up. The threshold for yolov3
is much smaller, that makes sense. Thank you.
Looking forward to the lite
model. I basically want to replace all of my detector models to these, especially for edge devices
from automl.
@AakashKumarNain What's the copyright of this image? I wonder may I use it in this repo? (like tutorial or README)
from automl.
@mingxingtan I took it from google images randomly.
from automl.
Gotcha. Do you still have the original link?
from automl.
Yes. It's here.
from automl.
Great, thanks!
from automl.
You are welcome. 😄
from automl.
YOLOv3 at 1920. Detection command is here. Model is downloaded automatically.
git clone https://github.com/ultralytics/yolov3
cd yolov3
python3 detect.py --img 1920 --source img.jpg
image 1/1: 1088x1920 76 persons, 32 cars, 64 motorcycles, 2 buss, 1 trucks, 2 stop signs, Done. (0.083s)
from automl.
@AakashKumarNain This image is challenging: it has a lot of objects and many of them are very small. Therefore, you need to change the visualization settings in inferece.py line 208: (1) change min_score_thresh=0.1 and (2) add max_boxes_to_draw=500.
After that you would get reasonable results. However, since the original image is 1920x1080, much bigger than the default efficientdet-d0 size 512x512, you can simply change the image size of d0 by add "self.params['image_size'] = 1920" in inference.py line 234.
Here are the two updated results:
EfficientDet-D0 (min_score_thresh=0.1 and max_boxes_to_draw=500, image_size=512)
EfficientDet-D0 (min_score_thresh=0.1 and max_boxes_to_draw=500, image_size=1920)
@mingxingtan
Hi, I have a question about your above answer.
You said that the above image is hard image to detect objects, so we should decrease min_score_thresh=0.1 and increase add_max_boxes_to_draw=500. But I think that lowering the thresh to get the good result for hard images is not robust way because it makes getting over-detection results on easy images.
In the section 1.3 of your jupyter notebook tutorial, your uploaded model efficientDet-d0 got good results even though setting min_score to 0.4. Why our own trained model has poor result than your trained model? I guess most users has their own one GPU, So it has limitation to increase batch_size. But in your paper, you used lot of GPUs and batch size=128, that is generally impossible value to us.
Are the EfficientDet result highly dependent on the batch size? How about your opinion?
from automl.
@AakashKumarNain This image is challenging: it has a lot of objects and many of them are very small. Therefore, you need to change the visualization settings in inferece.py line 208: (1) change min_score_thresh=0.1 and (2) add max_boxes_to_draw=500.
After that you would get reasonable results. However, since the original image is 1920x1080, much bigger than the default efficientdet-d0 size 512x512, you can simply change the image size of d0 by add "self.params['image_size'] = 1920" in inference.py line 234.
Here are the two updated results:EfficientDet-D0 (min_score_thresh=0.1 and max_boxes_to_draw=500, image_size=512)
EfficientDet-D0 (min_score_thresh=0.1 and max_boxes_to_draw=500, image_size=1920)
@mingxingtan
Hi, I have a question about your above answer.
You said that the above image is hard image to detect objects, so we should decrease min_score_thresh=0.1 and increase add_max_boxes_to_draw=500. But I think that lowering the thresh to get the good result for hard images is not robust way because it makes getting over-detection results on easy images.In the section 1.3 of your jupyter notebook tutorial, your uploaded model efficientDet-d0 got good results even though setting min_score to 0.4. Why our own trained model has poor result than your trained model? I guess most users has their own one GPU, So it has limitation to increase batch_size. But in your paper, you used lot of GPUs and batch size=128, that is generally impossible value to us.
Are the EfficientDet result highly dependent on the batch size? How about your opinion?
I train and test voc2007 with efficientnet ckpt as backbone and I got 73 mAP.
Do you use efficientnet ckpt?
And I use mine mAP to test performance.
It seems something wrong with coco_metric.
from automl.
Related Issues (20)
- More inplace ops for pytorch lion's impl
- ERROR : 'ImageFont' object has no attribute 'getbbox' HOT 2
- Potentially wrong type inference
- How to apply quantization aware training on EfficientDet keras model?
- How to train ViT image classification model on our dataset using LION optimizer
- how to train model by lion optimizer with fp16? HOT 1
- how to fix (terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) Cell In[48], line 3 1 #!rm summary.h5 2 #!rm statepoint.*.h5 ----> 3 sp_filename = model.run() 5 sp = openmc.StatePoint(sp_filename)?
- Error during prediction within coreML framework of the converted Efficientdet-lite0 model
- why the text label is not showing on the bounding box HOT 1
- Question about Lion HOT 1
- TypeError: The `filenames` argument must contain `tf.string` elements. Got `tf.float32` elements error HOT 1
- buffer_size must be greater than zero error when use custom dataset HOT 1
- p.add_(..., inplace=True) error HOT 1
- efficientnetv2-bn parameters for progressive learning
- How to add class weights?
- Error reading original efficientdet-d3_frozen.pb on openCV`s readNetFromTensorflow HOT 2
- EfficienDet output format question
- Recommended way for EfficientDet-Lite Quantization
- Training on custom dataset of EfficientDet-0 model crash : TypeError: 'NoneType' object is not callable
- Exported tflite model is incompatible with MediaPipe
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 automl.