Transforming public safety using automated weapon detection by criminals at public places like ATMs, Banks, Markets employing CCTV footage analysis. This repository contains the weights and the inference app which can be deployed on a android device proving the optimization of the model to run in constrained enviornments.
- Train the tiny-yolo network in darknet library creating tiny-yolo-gun_6900.weights.
- Convert the trained model using darkflow library into tensorflow tiny-yolo-gun.pb representation.
- Reconstruct the network in tensorflow and import weights by loading tiny-yolo-gun.pb.
- Optimize the loaded model for inference on mobile creating tiny-yolo-gun_inference.pb.
- Load the optimized model into the Andriod App and compile.
The data set is a Combination of two dataset one unnamed and other Core50 The annotations for the dataset were generated manually. Currently the dataset only consist of pistols and empty or everyday-object hands. Futher improvement in dataset can be addition of weapons and knives. The dataset size was approximately 5000 images.
It uses camera of smartphone as input to the model and runs inference on it. As it is a higly optimized model it has around 5-10% inconsistency. The inconsistency can be eliminated in future on server side by running a fully accurate model on server.