You can train a custom model with deep stack. Might be the direction to go. I’m using Roboflow AI to train a custom model.Still odd that the AI (fork vorloncd) did not pick this up which looks so obvious with a contrasting grass background also. Wonder if I need to look at alternatives if High mode does not change the detection.
View attachment 76799
Funny you should say that. Was just opening the docs!You can train a custom model with deep stack. Might be the direction to go. I’m using Roboflow AI to train a custom model.
None of the systems have an active learning component built in (AFAIK). If you start by custom training then you can add images as you see it working or not working. I've uploaded and labels all my images to roboflow ai. I started with one class and about 15 images. Now I have six classes and 1664 images. I've spent time tuning my model for small object detection, but now I'm updating my cameras, as at night they don't have the distance to see small objects.Does it eventually build up indexes and become more intelligent or is the algorithm used fixed?
Great. Might just start building up a custom model - only 2 known cats visit here. Yes I have a static mask on the other object which is a JasminView attachment 78072
My model, which has been train on only my cat, marginally finds your cat, along with something else it thinks might also be a cat.
So each class you have is just the best.pt file (renamed) created from the training process in python? You put each one under 'my-models'?None of the systems have an active learning component built in (AFAIK). If you start by custom training then you can add images as you see it working or not working. I've uploaded and labels all my images to roboflow ai. I started with one class and about 15 images. Now I have six classes and 1664 images. I've spent time tuning my model for small object detection, but now I'm updating my cameras, as at night they don't have the distance to see small objects.
My model has these six labels (or classes):So each class you have is just the best.pt file (renamed) created from the training process in python? You put each one under 'my-models'?
Awesome.My model has these six labels (or classes):
cat
deer
dog
fox
person
raccoon
The default Yolo model trained on the COCO dataset has 80 labels. You could try to train it to detect which of your cats, and if you do, you'd create a label for each cat. You either label your images locally, with a tool like labelImg or you use a tool like Roboflow. The advantage of roboflow is it will prepare your dataset for training. You then replace in the notebook with a command to train on your dataset.
As the model trains, it's going to improve, but sometimes get worse. So it always saves a "best" version every so often, and that's the one you'll eventually download and plugin to deepstack.
The training will output one "pth" or PyTorch model. This contains the labels, the model and the weights. Other frameworks output multiple files, with the labels and model in separate files. I assume you are following the steps here:Awesome.
Sorry but does each label have its own .pt file or are they all combined in one? I'm assuming 6 different .pt files, one for each category. I was using labelling before.
The training will output one "pth" or PyTorch model. This contains the labels, the model and the weights. Other frameworks output multiple files, with the labels and model in separate files. I assume you are following the steps here:
Custom Models
docs.deepstack.cc
The instructions suggest creating a train and validation data set, and then annotating both. Alternatively, you can use a script (or Robotflow) to split up a single folder into train and validation folders.
They should not have the same photos. Basically, your model learns from the test set what features are important. You then see how well the model is performing by using your validation set. Lastly, once the model has finished training you can check it against a test set. If you are starting with a dozen images, it's fine to copy one to the other. The training should soon complete with 100% accuracy. Once the model is running, if it misses an object, add it to the training set. If it gets an object correct, add the image to the validation (or test) set.Both folders have the same photos.
They should not have the same photos. Basically, your model learns from the test set what features are important. You then see how well the model is performing by using your validation set. Lastly, once the model has finished training you can check it against a test set. If you are starting with a dozen images, it's fine to copy one to the other. The training should soon complete with 100% accuracy. Once the model is running, if it misses an object, add it to the training set. If it gets an object correct, add the image to the validation (or test) set.
About Train, Validation and Test Sets in Machine Learning
This is aimed to be a short primer for anyone who needs to know the difference between the various dataset splits while training Machine…towardsdatascience.com