Help - Can't get AI tool to detect this animal which is clear in the snapshots.

Pentagano

Getting comfortable
Joined
Dec 11, 2020
Messages
575
Reaction score
269
Location
Uruguay
Which disk, hdd or ssd, would be more suitable to write all of the fast jpeg snapshots to that the AI picks up from blue iris?
Could using the ssd on the c drive cause excessive read/writes to and shorten its life?
Might try the hdd on the d to see how fast it is possibly.
 

brianegge

Pulling my weight
Joined
Apr 27, 2020
Messages
194
Reaction score
248
Location
Ridgefield, CT
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
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.
 

Pentagano

Getting comfortable
Joined
Dec 11, 2020
Messages
575
Reaction score
269
Location
Uruguay
Is there a learning curve for the AI/deepstack? Does it eventually build up indexes and become more intelligent or is the algorithm used fixed?

Eagerly waiting for the vorloncd fork AI tool to be improved so the custom model and vision detection can be run in parallel.
 

brianegge

Pulling my weight
Joined
Apr 27, 2020
Messages
194
Reaction score
248
Location
Ridgefield, CT
Does it eventually build up indexes and become more intelligent or is the algorithm used fixed?
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.
 

brianegge

Pulling my weight
Joined
Apr 27, 2020
Messages
194
Reaction score
248
Location
Ridgefield, CT
Screen Shot 2020-12-29 at 1.16.01 PM.png
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.
 

Pentagano

Getting comfortable
Joined
Dec 11, 2020
Messages
575
Reaction score
269
Location
Uruguay
View 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.
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 Jasmin :)
usually this dark cat sneaks past right at the back along the wall, this is where I have issues. May have to put in another camera.
 

Pentagano

Getting comfortable
Joined
Dec 11, 2020
Messages
575
Reaction score
269
Location
Uruguay
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.
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'?
 

brianegge

Pulling my weight
Joined
Apr 27, 2020
Messages
194
Reaction score
248
Location
Ridgefield, CT
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'?
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.
 

Pentagano

Getting comfortable
Joined
Dec 11, 2020
Messages
575
Reaction score
269
Location
Uruguay
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.
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.
 

brianegge

Pulling my weight
Joined
Apr 27, 2020
Messages
194
Reaction score
248
Location
Ridgefield, CT
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:


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.
 

Pentagano

Getting comfortable
Joined
Dec 11, 2020
Messages
575
Reaction score
269
Location
Uruguay
O
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:


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.
yes that's the one.

One thing I did not quite grasp is the difference between the train and validation set. Both folders have the same photos. You label one with labelleling, each photo has a txt file created. Why not copy and paste these into the train folder also as they will be identical?
 

brianegge

Pulling my weight
Joined
Apr 27, 2020
Messages
194
Reaction score
248
Location
Ridgefield, CT
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.

 

Pentagano

Getting comfortable
Joined
Dec 11, 2020
Messages
575
Reaction score
269
Location
Uruguay
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.


OK thanks then I misunderstand the instructions.

It says annotate your train photos - label the objects and save.
Then Repeat the process above for your test folder as well. (which have the same photos doesn't it?)
Which photos are we annotating? Train or test photos? Does not make sense.

Thanks for your help
 

Pentagano

Getting comfortable
Joined
Dec 11, 2020
Messages
575
Reaction score
269
Location
Uruguay
Purchased an additional camera for the area that is in the distance that does not capture everything.
Will install that next week so I can focus on specific areas and get more accurate detections.
Just 1 cam was not covering my backyard properly.
 
Top