Comments (5)
@MrXu as for training, I'm working on this part, hope to release the code this week. I also had to change some things in the architecture in order to be able to train the net. However, I will test it only for my problem, but I try to implement training as universal, as possible. Hope, it will be useful.
As for real-time detection, I'm quite sure, that unfortunately, it is nearly impossible nowadays to run deep nets on CPU with real-time performance. If you need real-time on CPU you might consider simpler methods with loss of quality.
from ssd_keras.
The performance of inference phase in this paper is conducted using NVIDIA K40 GPUs, and the input is a batch of images. You can replace the vgg module with AlexNet, AlexNet is smaller than vgg.
from ssd_keras.
@xindongzhang thanks for your comment, but I believe, that the authors state the following:
We measure the speed with batch size 8 using Titan X and cuDNN v4 with Intel Xeon [email protected]. However, it doesn't matter, they report performance on GPU.
@MrXu, I measured forward pass of my PC with Titan and for 5 pictures (like in SSD.ipynb
) I got the results that are in the screenshot.
This means that it takes around 50 ms per image to get the prediction. I haven't measured the original caffe code, but I'm sure that my NMS implementation is slower, than the original one. Moreover, some custom layers can also be not very efficient, this is the thing to improve in the future, because I also need real-time performance on GPU for my problem. Any ideas how to speed up the code are welcome! I've also heard that sometimes Keras is slower, than other frameworks, but I can't bear Caffe, so, for me Keras is the best choice.
As for network shrinkage, apart from replacing vgg with AlexNet (after this step you will have to retrain the net), you can think about scales of your detection. For example, if you know, that you won't have big objects on your images, you, probably, don't need final layers and can delete them.
from ssd_keras.
@xindongzhang thanks for the suggestion. I may prefer to avoid retrain the model.
@rykov8 , thanks for the clarification. I do read that Keras is slower than other framework like TensorLayer or TFlearn. I am trying to run the prediction on Rpi, seems achieving real-time detection with only CPU is really hard...
from ssd_keras.
@rykov8 , Thanks for the code!. It works perfectly. I wanted to know if you tried out anything to improve the fps for real time detection. I have been trying to implement multithreading, but no luck so far.
from ssd_keras.
Related Issues (20)
- ValueError: shape mismatch: value array of shape (45,20) could not be broadcast to indexing result of shape (45,3) HOT 2
- work files HOT 2
- errors occurred while detecting one picture with no objects
- meaning of syntax : โencoded_box[:, -1][assign_mask] = iou[assign_mask]โ
- function "detection_out()" issue
- TypeError: list indices must be integers or slices, not tuple HOT 1
- Did this implementation do the train data normalization?
- How to Store Coordinates only once?
- Keras yolov3 Mobilenet
- prior_width should be prior_height ?
- I got an error: 'module' object is not callable HOT 3
- how could i do if i want to evaluate my model when coords='minmax'?
- list indices must be integers or slices, not tuple HOT 1
- YOLOv3 Mobilenet VOC2007test
- PriorBox layer
- output of generator should be a tuple (x, y, sample_weight) or (x, y). Found: None
- Dimensions must be equal, but are 512 and 38 for 'conv4_3_norm/mul' HOT 2
- Re-implemented SSD has high loss and low acc during training HOT 3
- loss function define?
- cannot import name 'AtrousConvolution2D' from 'keras.layers' HOT 2
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 ssd_keras.