YOLO v1 Tiny is a real-time object detection model from TensorFlow.js* framework. This model was pretrained on VOC* dataset with 20 classes.
0. Install additional dependencies: ``` h5py keras tensorflowjs ``
commit).
Convert model to Keras\* format using
tensorflowjs_converterscript, e.g.:
`` tensorflowjs_converter –input_format tfjs_layers_model –output_format keras <model_in>.json <model_out>.h5 ```
Apply
keras_to_tensorflow.py.patch<tt>: `` git apply keras_to_tensorflow.py.patch ```Metric | Value |
---|---|
Type | Detection |
GFLOPs | 6.988 |
MParams | 15.858 |
Source framework | TensorFlow.js* |
Accuracy metric obtained on VOC2012* validation dataset for converted model.
Metric | Value |
---|---|
mAP | 72.17% |
Image, name -
input_1
, shape - 1,416,416,3
, format is B,H,W,C
where:
B
- batch sizeH
- heightW
- widthC
- channelChannel order is
RGB
. Scale value - 255.
Image, name -
input_1
, shape - 1,3,416,416
, format is B,C,H,W
where:
B
- batch sizeC
- channelH
- heightW
- widthChannel order is
BGR
.
The array of detection summary info, name -
conv2d_9/BiasAdd
, shape - 1,13,13,125
, format is B,Cx,Cy,N*25
where
B
- batch sizeN
- number of detection boxes for cellCx
, Cy
- cell indexDetection box has format [
x
,y
,h
,w
,box_score
,class_no_1
, ..., class_no_20
], where:
x
,y
) - raw coordinates of box center, apply sigmoid function to get coordinates relative to the cellh
,w
- raw height and width of box, apply exponential function and multiply by corresponding anchors to get height and width values relative to cellbox_score
- confidence of detection box, apply sigmoid function to get confidence in [0,1] rangeclass_no_1
,...,class_no_20
- probability distribution over the classes in logits format, apply softmax function and multiply by obtained confidence value to get confidence of each classThe anchor values are
1.08,1.19, 3.42,4.41, 6.63,11.38, 9.42,5.11, 16.62,10.52
.
The array of detection summary info, name -
conv2d_9/BiasAdd/YoloRegion
, shape - 1,21125
, which could be reshaped to 1, 125, 13, 13
, format is B,N*25,Cx,Cy
where
B
- batch sizeN
- number of detection boxes for cellCx
, Cy
- cell indexDetection box has format [
x
,y
,h
,w
,box_score
,class_no_1
, ..., class_no_20
], where:
x
,y
) - coordinates of box center relative to the cellh
,w
- raw height and width of box, apply exponential function and multiply with corresponding anchors to get height and width values relative to the cellbox_score
- confidence of detection box in [0,1] rangeclass_no_1
,...,class_no_20
- probability distribution over the classes in the [0,1] range, multiply by confidence value to get confidence of each classThe anchor values are
1.08,1.19, 3.42,4.41, 6.63,11.38, 9.42,5.11, 16.62,10.52
.
The original model is distributed under the following license: