1

There is a project I'm currently working on that requires object detection with continuous training. The idea is to train a model beforehand with a standard dataset. When I get new images I want to "teach" the model with theses new images. The procedure is the following:

  • Train a neural network with a standard dataset for object detection.
  • Create a script that will deploy the model, capture camera images and make inference on them.
  • Since all processed images are stored in a computer, I want to use them for training, example: for a true positive the model learns the object, for a false positive, the model learns that the object detected is not from the desired class, for false negatives the user needs to create a label and train the model. Also the model needs to be trained with true negatives.
  • The learning should be periodically based on new images (When the user presses a certain button or automatically).
  • The model should not forget the features from old images, or at least retain the most possible features from them.

Basically the model should improve continuously as new images are gathered. I tried finding the technique on google, but for this specific scenario I can't find anything. I found some papers about the incremental learning, but they refer on their solution about adding new classes to the model. That is not what I want. For now, I need only one class, hopefully I can add more in the future for the same model.

nbro
  • 40,472
  • 12
  • 105
  • 192
  • What kinds of objects are being identified, and how many classes? In addition, could this be a kind of identity system (e.g. face recognition, pet recognition, or any named objects from similar classes where there could be 1000s of classes)? Identity systems usually have a different approach to training and finding matches which is better than continuous training – Neil Slater Dec 19 '23 at 19:13
  • It is 1 class for the model. We want to detect people from a surveillance camera. The idea is to use the object detection method. For now we are using yolov5, but it is not possible to do want I want, which is incremental training by "feeding" new labelled images to the model (continuously). – Pedro Carvalho Dec 20 '23 at 09:30
  • How much labelled data are you starting with? Is this a single installation, or at least a single central model, or is the idea that separate installations learn their own unique local models? – Neil Slater Dec 20 '23 at 09:33
  • Hopefully we will start with ~5000 images with different scenarios of people (different distances from the camera to the people, different illumination, day and night images, etc.). The idea is to have a central model (default) to each system and each model will be updated with the images of that system, so that the model learns the environment/context of the site. – Pedro Carvalho Dec 20 '23 at 09:40
  • There are different terms that refer to similar systems you're looking for. I had provided an answer here with more details. I'd assume there are techniques to handle catastrophic forgetting without adding new classes, although it's been a while since I studied this topic. Feel free to provide an answer to your own question once you know it. – nbro Jan 02 '24 at 13:40

0 Answers0