Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A Keras port of Single Shot MultiBox Detector
| Date | Stars |
|---|---|
| 2026-07-24 | 1868 |
| 2026-07-25 | 1868 |
| 2026-07-28 | 1868 |
| 2026-07-30 | 1868 |
| 2026-08-06 | 1868 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
## SSD: Single-Shot MultiBox Detector implementation in Keras
---
### Contents
1. [Overview](#overview)
2. [Performance](#performance)
3. [Examples](#examples)
4. [Dependencies](#dependencies)
5. [How to use it](#how-to-use-it)
6. [Download the convolutionalized VGG-16 weights](#download-the-convolutionalized-vgg-16-weights)
7. [Download the original trained model weights](#download-the-original-trained-model-weights)
8. [How to fine-tune one of the trained models on your own dataset](#how-to-fine-tune-one-of-the-trained-models-on-your-own-dataset)
9. [ToDo](#todo)
10. [Important notes](#important-notes)
11. [Terminology](#terminology)
### Overview
This is a Keras port of the SSD model architecture introduced by Wei Liu et al. in the paper [SSD: Single Shot MultiBox Detector](https://arxiv.org/abs/1512.02325).
Ports of the trained weights of all the original models are provided below. This implementation is accurate, meaning that both the ported weights and models trained from scratch produce the same mAP values as the respective models of the original Caffe implementation (see performance section below).
The main goal of this project is to create an SSD implementation that is well documented for those who are interested in a low-level understanding of the model. The provided tutorials, documentation and detailed comments hopefully make it a bit easier to dig into the code and adapt or build upon the model than with most other implementations out there (Keras or otherwise) that provide little to no documentation and comments.
The repository currently provides the following network architectures:
* SSD300: [`keras_ssd300.py`](models/keras_ssd300.py)
* SSD512: [`keras_ssd512.py`](models/keras_ssd512.py)
* SSD7: [`keras_ssd7.py`](models/keras_ssd7.py) - a smaller 7-layer version that can be trained from scratch relatively quickly even on a mid-tier GPU, yet is capable enough for less complex object detection tasks and testing. You're obviously not going to get state-of-the-art results with that one, but it's fast.
If you would like to use one of the provided trained models for transfer learning (i.e. fine-tune one of the trained models on your own dataset), there is a [Jupyter notebook tutorial](weight_sampling_tutorial.ipynb) that helps you sub-sample the trained weights so that they are compatible with your dataset, see further below.
If you would like to build an SSD with your own base network architecture, you can use [`keras_ssd7.py`](models/keras_ssd7.py) as a template, it provides documentation and comments to help you.
### Performance
Here are the mAP evaluation results of the ported weights and below that the evaluation results of a model trained from scratch using this implementation. All models were evaluated using the official Pascal VOC test server (for 2012 `test`) or the official Pascal VOC Matlab evaluation script (for 2007 `test`). In all cases the results match (or slightly surpass) those of the original Caffe models. Download links to all ported weights are available further below.
<table width="70%">
<tr>
<td></td>
<td colspan=3 align=center>Mean Average Precision</td>
</tr>
<tr>
<td>evaluated on</td>
<td colspan=2 align=center>VOC2007 test</td>
<td align=center>VOC2012 test</td>
</tr>
<tr>
<td>trained on<br>IoU rule</td>
<td align=center width="25%">07+12<br>0.5</td>
<td align=center width="25%">07+12+COCO<br>0.5</td>
<td align=center width="25%">07++12+COCO<br>0.5</td>
</tr>
<tr>
<td><b>SSD300</td>
<td align=center><b>77.5</td>
<td align=center><b>81.2</td>
<td align=center><b>79.4</td>
</tr>
<tr>
<td><b>SSD512</td>
<td align=center><b>79.8</td>
<td align=center><b>83.2</td>
<td align=center><b>82.3</td>
</tr>
</table>
Training an SSD300 from scratch to convergence on Pascal VOC 2007 `trainval` and 2012 `trainval` produces the same mAP on Pascal VOC 2007 `test` as the original Caffe SSD300 "07+12" model. You cExcerpt of 19,701 characters
Read on GitHubPierluigi Ferrari · Germany
418
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:4151350fd19c6c10, topic:computer-vision, topic:object-detection, readme:object detection
matched fp:4151350fd19c6c10, topic:deep-learning