April 10, 2025
We acknowledge the Turrbal and Yuggera peoples as Traditional Owners of the land we live and work on, and pay respects to Elders past, present and emerging
Note
DETSI will be contributing datasets to WildObs. DETSI intends to use WildObs.

What is Deep Learning?
What is Computer Vision?
A field of AI that enables computers to interpret and understand visual information
Key applications: classification, object detection and segmentation
Important
Roboflow is free to use, but has some limitations. Private projects are only available for paid users.
Note
Depending on the dataset size, the model development dataset can be between 10-20% of the entire dataset.
Important
The data splitting process is crucial and takes time.
Important
The model development dataset should be representative of the data that will be processed in the field / future. Variability is key.
Metadata is crucial for understanding the context of the images and ensuring that the model is trained on relevant data.
year 1 will not be accurate when processing images collected in year 2Note
Let’s use a conservative 1,500 images per class
https://joelnadarai.medium.com/the-art-of-choosing-the-right-number-of-images-for-your-computer-vision-project-6e45efd1efbf#:~:text=For%20fine%2Dtuning%20pre%2Dtrained,per%20class%20for%20detection%20tasks.
In my experience, there is no magic number.
| Class | Number of Images | Notes |
|---------------|------------------|-----------------------------------|
| Kangaroo | 1,200 | Overrepresented |
| Skink | 300 | Underrepresented |
| Emu | 150 | Severely underrepresented |
| Wombat | 800 | Moderately represented |
| Possum | 100 | Severely underrepresented |
| Dingo | 600 | Balanced |
| Echidna | 50 | Rarely detected |
| Cockatoo | 1,000 | Overrepresented |
| Platypus | 20 | Extremely rare |
| Wallaby | 700 | Balanced |Lets use the sample_camera_trap_images dataset as an example
from roboflow import Roboflow
# Initialize the Roboflow object with your API key
rf = Roboflow(api_key="YOUR_PRIVATE_API_KEY")
# Project:https://app.roboflow.com/my-workspace/my-project
workspaceId = 'my-workspace'
projectId = 'my-project'
project = rf.workspace(workspaceId).project(projectId)
# Upload the image to your project
project.upload("UPLOAD_IMAGE.jpg")Tip
Upload images in batches that make sense for your project. My tip: upload images based on initial data splitting.
Tip
Always keep an eye on your Roboflow limits.
Annotation types
Tip
Label every relevant object in every image, even if it’s partially visible - Roboflow
Important
You can always import labels from other tools / models / projects for images into Roboflow
Tip
Reminder: Upload images in batches that make sense for your project. My tip: upload images based on initial data splitting.
Note
Sometimes researchers use a further ‘test’ dataset. A harder dataset to do a final query on the model’s performance.
Remember this is for 1 class
| Ecosystem | Year 1 (Train) | Year 2 (Train) | Year 1 (Val) | Year 2 (Val) | Year 1 (Test) | Year 2 (Test) | Total |
|-------------|----------------|----------------|--------------|--------------|---------------|---------------|-------|
| Ecosystem 1 | 175 | 175 | 25 | 25 | 50 | 50 | 500 |
| Ecosystem 2 | 175 | 175 | 25 | 25 | 50 | 50 | 500 |
| Ecosystem 3 | 175 | 175 | 25 | 25 | 50 | 50 | 500 |
| Total | 525 | 525 | 75 | 75 | 150 | 150 | 1,500 |from google.colab import userdata
from roboflow import Roboflow
ROBOFLOW_API_KEY = userdata.get('ROBOFLOW_API_KEY')
rf = Roboflow(api_key=ROBOFLOW_API_KEY)
project = rf.workspace("selencakmak").project("tumor-dj2a1")
version = project.version(1)
dataset = version.download("yolov8")!yolo task=detect mode=train epochs=50 batch=32 plots=True \
model={HOME}/weights/yolov10n.pt \
data={dataset.location}/data.yamlI highly recommend you learn about batches and epochs
Note
We will not be able to cover how to review these metrics in a programmatic environment
Below is an example of a classic computer vision (object detection) dataset structure:
| Filename | Class | xmin | xmax | ymin | ymax | Confidence |
|--------------|------------|------|------|------|------|------------|
| image1.jpg | kangaroo | 50 | 150 | 60 | 160 | 0.95 |
| image2.jpg | possum | 30 | 130 | 40 | 140 | 0.20 |
| image3.jpg | bird | 100 | 200 | 120 | 220 | 0.92 |
| image4.jpg | cat | 70 | 170 | 80 | 180 | 0.97 |
| image5.jpg | dog | 20 | 120 | 30 | 130 | 0.85 |
| image6.jpg | bird | 90 | 190 | 110 | 210 | 0.90 |In most cases you will get results as a JSON file or individual txt files (for each image). You will spend some time doing data wrangling.