This model was taken from an earlier stage of the training so it is not as accurate as the final model.
There is a more accurate version of the tiny 3l that you will receive if you buy it.
Although the attached model is not yet my best model, it may give good enough results to convince you.

If you buy from me, you will also get the more accurate tiny 3l model and the standard yolo model, which is slower but much more accurate.

 

Tiny Yolov4 version of the model:
mAP (mean average precision) tested on 102208 image:
detections_count = 140686, unique_truth_count = 102208
class_id = 0, name = Spoof, ap = 99.33%          (TP = 50513, FP = 3359)
class_id = 1, name = Real, ap = 99.41%           (TP = 49900, FP = 981)
for conf_thresh = 0.25, precision = 0.96, recall = 0.98, F1-score = 0.97
for conf_thresh = 0.25, TP = 100413, FP = 4340, FN = 1795, average IoU = 85.73 %
IoU threshold = 50 %, used Area-Under-Curve for each unique Recall
mean average precision (mAP@0.50) = 0.993667, or 99.37 %
Inference time using CPU: 55 ms (on HP Laptop 15-DA0042NH (Processor: Intel(R) Core(TM) i7-8550U CPU))

Standard Yolov4 version of the model:
mAP (mean average precision) tested on 102208 image:
detections_count = 136803, unique_truth_count = 102208
class_id = 0, name = Spoof, ap = 99.74%          (TP = 50822, FP = 270)
class_id = 1, name = Real, ap = 99.66%           (TP = 49647, FP = 439)
for conf_thresh = 0.25, precision = 0.99, recall = 0.98, F1-score = 0.99
for conf_thresh = 0.25, TP = 100469, FP = 709, FN = 1739, average IoU = 88.39 %
oU threshold = 50 %, used Area-Under-Curve for each unique Recall
mean average precision (mAP@0.50) = 0.996980, or 99.70 %

Inference time using CPU: 500 ms (on HP Laptop 15-DA0042NH (Processor: Intel(R) Core(TM) i7-8550U CPU))  

 

If you are not familiar with YOLO technology, this article will help you to run the model:

https://learnopencv.com/deep-learning-based-object-detection-using-yolov3-with-opencv-python-c/

 

this script is ideal to run the model (there is also a c++ version of this script in this repo):

https://github.com/spmallick/learnopencv/blob/master/ObjectDetection-YOLO/object_detection_yolo.py

I noticed one thing from the demo feedbacks.

Opencv has only recently started to support the yolov4 model structure.
Use the latest opencv-python (4.5.3) to make sure you get the right result.

The script also runs with older versions of opencv, but does not return any results. 

pricing:

These two model costs 1000 EUR.

If you only want to buy the tiny model, the price is 600 EUR.

The price is still negotiable.

I have created a demo so you can try the final models.
This demo is based on Satya's code and the input parameters are the same except for a few extra parameters.
I have precompiled the demo for windows. It loads the models from an encrypted .ffs file.

 

 

 SpoofingDemo.zip

 


Extra parameters.
model = the path to the .ffs file must be specified in it.
camera = expects a camera id, if you only have one camera then it should be set to 0. Optional parameter.
tiny = if specified it loads the tiny model, if not specified it loads the large yolo model

So for example if you run the command prompt from the .exe folder you can run the program like this:

 

SpoofingDemo.exe --model=./spoof.ffs --camera=0

 

If you want to test the tiny model:

 

SpoofingDemo.exe --model=./spoof.ffs --tiny --camera=0

 

But of course the previous switches also work, so you can also set images as an input. 

(If you are testing on camera or video, it will produce video from the output.)

 

If there are any problems with the demo or if you have any questions, feel free to contact me.

pricing:

These two model costs 1000 EUR.

If you only want to buy the tiny model, the price is 600 EUR.

The price is still negotiable.

If you want to retrain the network with your own data:

If you want to train the network further, you just need the .cfg and .weights file I will give you. 

The .cfg file also contains the special settings needed for training. 

If you've never trained yolo, this video will tell you everything you need to know:

https://www.youtube.com/watch?v=mmj3nxGT2YQ

 

In this video, the out of the box yolo network is further trained for plate detection.

If you want to use your own data to further train my network, the situation will be similar. 

Only instead of using the out of the box yolo network, you'll use transfer learning to train my network.