Skip to content

Brain Tumor Dataset

A brain tumor detection dataset consists of medical images from MRI or CT scans, containing information about brain tumor presence, location, and characteristics. This dataset is essential for training computer vision algorithms to automate brain tumor identification, aiding in early diagnosis and treatment planning.

Watch: Brain Tumor Detection using Ultralytics HUB

Dataset Structure

The brain tumor dataset is divided into two subsets:

  • Training set: Consisting of 893 images, each accompanied by corresponding annotations.
  • Testing set: Comprising 223 images, with annotations paired for each one.


The application of brain tumor detection using computer vision enables early diagnosis, treatment planning, and monitoring of tumor progression. By analyzing medical imaging data like MRI or CT scans, computer vision systems assist in accurately identifying brain tumors, aiding in timely medical intervention and personalized treatment strategies.

Dataset YAML

A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the brain tumor dataset, the brain-tumor.yaml file is maintained at


# Ultralytics YOLO 🚀, AGPL-3.0 license
# Brain-tumor dataset by Ultralytics
# Documentation:
# Example usage: yolo train data=brain-tumor.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── brain-tumor  ← downloads here (4.05 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/brain-tumor # dataset root dir
train: train/images # train images (relative to 'path') 893 images
val: valid/images # val images (relative to 'path') 223 images
test: # test images (relative to 'path')

# Classes
  0: negative
  1: positive

# Download script/URL (optional)


To train a YOLOv8n model on the brain tumor dataset for 100 epochs with an image size of 640, utilize the provided code snippets. For a detailed list of available arguments, consult the model's Training page.

Train Example

from ultralytics import YOLO

# Load a model
model = YOLO("")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="brain-tumor.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=brain-tumor.yaml epochs=100 imgsz=640

Inference Example

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/")  # load a brain-tumor fine-tuned model

# Inference using the model
results = model.predict("")
# Start prediction with a finetuned *.pt model
yolo detect predict model='path/to/' imgsz=640 source=""

Sample Images and Annotations

The brain tumor dataset encompasses a wide array of images featuring diverse object categories and intricate scenes. Presented below are examples of images from the dataset, accompanied by their respective annotations

Brain tumor dataset sample image

  • Mosaiced Image: Displayed here is a training batch comprising mosaiced dataset images. Mosaicing, a training technique, consolidates multiple images into one, enhancing batch diversity. This approach aids in improving the model's capacity to generalize across various object sizes, aspect ratios, and contexts.

This example highlights the diversity and intricacy of images within the brain tumor dataset, underscoring the advantages of incorporating mosaicing during the training phase.

Citations and Acknowledgments

The dataset has been released available under the AGPL-3.0 License.

Created 2024-03-19, Updated 2024-05-18
Authors: glenn-jocher (1), RizwanMunawar (1), Burhan-Q (1)