Weapon detection in a live video feed


I have been trying to implement and read about weapon detection (knife in my case).

First question, is it a classification problem, or an object detection problem? I do not want bounding boxes around the knife and only need whether a knife is present in the image or not.

I tried to do this as a classification problem, using resnet34 and the results were not good. I guess that could be an issue with my dataset too. I tried to generate the dataset myself by holding a knife at different angles.

I wanted to see this as an object detection problem. I tried to read about it and found out that the usual approaches of doing object detection are:

  • R-CNN
  • Fast R-CNN
  • Faster R-CNN
  • YOLO
  • SSD
  • RatinaNet

I wanted to know if there is any working notebook with fastai v2, so that I can quickly run and learn by looking at the code. I would then be able to benchmark that with the resnet34 model.

Thank you.

I have been working on a similar single class object detection model, and I recommend to checkout yolov5 and icevision. I am framing it as an object detection problem as this seems closer to the real life application, where a scene will have many objects in it and oftentimes will not contain the target at all.