Spaces:
Sleeping
Sleeping
Upload 11 files
Browse files- .gitattributes +1 -0
- README.md +71 -13
- demo.jpg +0 -0
- demo.mp4 +3 -0
- images/PR_curve.png +0 -0
- images/confusion_matrix.png +0 -0
- images/labels.jpg +0 -0
- images/labels_correlogram.jpg +0 -0
- images/results.png +0 -0
- requirements.txt +5 -0
- setup.sh +1 -0
- training_mask_check.ipynb +692 -0
.gitattributes
CHANGED
|
@@ -32,3 +32,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 32 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 33 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 32 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 33 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
demo.mp4 filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -1,13 +1,71 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Mask Check
|
| 2 |
+
The purpose of "Mask Check" is to provide a simple and easy-to-use tool for checking if people in images and videos are wearing face masks
|
| 3 |
+
|
| 4 |
+
# Installation
|
| 5 |
+
- Install the required dependecies
|
| 6 |
+
` pip install -r requirements.txt `
|
| 7 |
+
<br>
|
| 8 |
+
- Download model weights
|
| 9 |
+
` bash setup.sh `
|
| 10 |
+
<br>
|
| 11 |
+
- Launch Streamlit app
|
| 12 |
+
` streamlit run mask_check.py `
|
| 13 |
+
|
| 14 |
+
# Usage
|
| 15 |
+
|
| 16 |
+
The application can be run in three distinct modes: Image mode, Video mode, and Webcam mode (which is a subset of Video mode). In Image mode, you upload an image, and the application will automatically detect and return the relevant results.
|
| 17 |
+
|
| 18 |
+
In Video mode, users are able to upload a video file and receive corresponding results. Webcam mode, which is nested within Video mode, enables users to run the model on input data captured directly from a webcam. Outputs from the Video mode and Webcam mode can be saved by checking the 'Record' checkbox.
|
| 19 |
+
|
| 20 |
+
# Features
|
| 21 |
+
|
| 22 |
+
- Image and Video upload
|
| 23 |
+
- Face detection
|
| 24 |
+
- Mask detection
|
| 25 |
+
- FPS counter
|
| 26 |
+
- Results display
|
| 27 |
+
- Webcam inference
|
| 28 |
+
|
| 29 |
+
# Built Using
|
| 30 |
+
- [Python](https://python.org)
|
| 31 |
+
- [YOLOv8](https://ultralytics.com/yolov8)
|
| 32 |
+
- [Roboflow](https://roboflow.com/)
|
| 33 |
+
- [Streamlit](https://streamlit.io/)
|
| 34 |
+
|
| 35 |
+
# Details
|
| 36 |
+
|
| 37 |
+
- Dataset: With regard to the [dataset](https://universe.roboflow.com/deedaxinc/face-mask-detection-uamjv/browse?queryText=&pageSize=50&startingIndex=0&browseQuery=true), approximately half of the 150+ images were self-collected by myself, using a webcam to capture a wide array of facial expressions and features, including frontal and side-facing poses, wearing sunglasses, hats, and headphones. The remaining images were sourced from the internet and were chosen to represent a diverse range of skin tones and races. To balance out the dataset, which was originally heavily skewed towards male subjects due to the local self-collected data being exclusively male, the additional images were chosen to include a slightly higher proportion of female subjects.
|
| 38 |
+
|
| 39 |
+
- Data augmentation: The augmentation techniques employed included a range of carefully chosen image manipulations designed to enhance the dataset's diversity and improve model generalization. Each augmentation was meticulously considered for its potential impact on performance, ensuring that the resulting dataset was both comprehensive and representative of real-world scenarios.
|
| 40 |
+
|
| 41 |
+
- Crop: 0% Minimum Zoom, 20% Maximum Zoom
|
| 42 |
+
- Rotation: Between -10Β° and +10Β°
|
| 43 |
+
- Blur: Up to 2px
|
| 44 |
+
- Noise: Up to 5% of pixels
|
| 45 |
+
- Cutout: 10 boxes with 8% size each
|
| 46 |
+
- Bounding Box: Brightness: Between -25% and +25%
|
| 47 |
+
- Bounding Box: Exposure: Between -25% and +25%
|
| 48 |
+
|
| 49 |
+
- Model selection: The selection of YOLOv8s was based on its state-of-the-art design, combined with its compact size (~20MB) and high level of accuracy
|
| 50 |
+
|
| 51 |
+
# Performance
|
| 52 |
+
|
| 53 |
+
Results shown below are from training the model using YOLOv8s for 100 epochs. See [notebook](training_mask_check.ipynb)
|
| 54 |
+

|
| 55 |
+

|
| 56 |
+

|
| 57 |
+

|
| 58 |
+

|
| 59 |
+
|
| 60 |
+
# Limitations
|
| 61 |
+
|
| 62 |
+
- Relatively low frame rate of approximately 2 frames per second during video inference.
|
| 63 |
+
|
| 64 |
+
# Contact
|
| 65 |
+
|
| 66 |
+
Dahir Ibrahim (Deedax Inc) <br>
|
| 67 |
+
Email - dahiru.ibrahim@outlook.com <br>
|
| 68 |
+
Twitter - https://twitter.com/DeedaxInc <br>
|
| 69 |
+
YouTube - https://www.youtube.com/@deedaxinc <br>
|
| 70 |
+
Project Link - https://github.com/Daheer/mask-check
|
| 71 |
+
|
demo.jpg
ADDED
|
demo.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bab4bb90d6e7c1703e19d1720dbb7516180fde0f198851b9375b0a0deb133bff
|
| 3 |
+
size 5401155
|
images/PR_curve.png
ADDED
|
images/confusion_matrix.png
ADDED
|
images/labels.jpg
ADDED
|
images/labels_correlogram.jpg
ADDED
|
images/results.png
ADDED
|
requirements.txt
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
opencv-python
|
| 2 |
+
numpy
|
| 3 |
+
torch
|
| 4 |
+
ultralytics
|
| 5 |
+
streamlit
|
setup.sh
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
gdown "https://drive.google.com/uc?export=download&id=1-DLdSsCbvoDvdlCV2iE1NwrTARezZbKz" -O mask_check.pt
|
training_mask_check.ipynb
ADDED
|
@@ -0,0 +1,692 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "code",
|
| 5 |
+
"execution_count": null,
|
| 6 |
+
"metadata": {
|
| 7 |
+
"id": "0FS5CBumwM9H"
|
| 8 |
+
},
|
| 9 |
+
"outputs": [],
|
| 10 |
+
"source": [
|
| 11 |
+
"!pip install -r requirements.txt >/dev/null"
|
| 12 |
+
]
|
| 13 |
+
},
|
| 14 |
+
{
|
| 15 |
+
"cell_type": "code",
|
| 16 |
+
"execution_count": null,
|
| 17 |
+
"metadata": {
|
| 18 |
+
"colab": {
|
| 19 |
+
"base_uri": "https://localhost:8080/"
|
| 20 |
+
},
|
| 21 |
+
"id": "4c9-KIhmM8-X",
|
| 22 |
+
"outputId": "a597e390-c321-4ca4-8dc4-b811df0cb40e"
|
| 23 |
+
},
|
| 24 |
+
"outputs": [
|
| 25 |
+
{
|
| 26 |
+
"name": "stdout",
|
| 27 |
+
"output_type": "stream",
|
| 28 |
+
"text": [
|
| 29 |
+
"loading Roboflow workspace...\n",
|
| 30 |
+
"loading Roboflow project...\n",
|
| 31 |
+
"Dependency ultralytics<=8.0.20 is required but found version=8.0.87, to fix: `pip install ultralytics<=8.0.20`\n",
|
| 32 |
+
"Downloading Dataset Version Zip in face-mask-detection-1 to yolov8: 100% [47023883 / 47023883] bytes\n"
|
| 33 |
+
]
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"name": "stderr",
|
| 37 |
+
"output_type": "stream",
|
| 38 |
+
"text": [
|
| 39 |
+
"Extracting Dataset Version Zip to face-mask-detection-1 in yolov8:: 100%|ββββββββββ| 902/902 [00:00<00:00, 1504.16it/s]\n"
|
| 40 |
+
]
|
| 41 |
+
}
|
| 42 |
+
],
|
| 43 |
+
"source": [
|
| 44 |
+
"from roboflow import Roboflow\n",
|
| 45 |
+
"rf = Roboflow(api_key=\"XXXXXXXXXXXXXXXXXXXX\")\n",
|
| 46 |
+
"project = rf.workspace(\"deedaxinc\").project(\"face-mask-detection-uamjv\")\n",
|
| 47 |
+
"dataset = project.version(1).download(\"yolov8\")"
|
| 48 |
+
]
|
| 49 |
+
},
|
| 50 |
+
{
|
| 51 |
+
"cell_type": "code",
|
| 52 |
+
"execution_count": null,
|
| 53 |
+
"metadata": {
|
| 54 |
+
"colab": {
|
| 55 |
+
"base_uri": "https://localhost:8080/"
|
| 56 |
+
},
|
| 57 |
+
"id": "5yGfh_tFNjA_",
|
| 58 |
+
"outputId": "6cd9be53-d51e-431e-a9dc-48ef79f4a78c"
|
| 59 |
+
},
|
| 60 |
+
"outputs": [
|
| 61 |
+
{
|
| 62 |
+
"name": "stderr",
|
| 63 |
+
"output_type": "stream",
|
| 64 |
+
"text": [
|
| 65 |
+
"Downloading https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt to yolov8s.pt...\n",
|
| 66 |
+
"100%|ββββββββββ| 21.5M/21.5M [00:00<00:00, 273MB/s]\n",
|
| 67 |
+
"Ultralytics YOLOv8.0.87 π Python-3.9.16 torch-2.0.0+cu118 CUDA:0 (Tesla T4, 15102MiB)\n",
|
| 68 |
+
"\u001b[34m\u001b[1myolo/engine/trainer: \u001b[0mtask=detect, mode=train, model=yolov8s.pt, data=/content/face-mask-detection-1/data.yaml, epochs=100, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=face-mask-detection, name=yolov8-100-augmented, exist_ok=False, pretrained=False, optimizer=SGD, verbose=True, seed=0, deterministic=True, single_cls=False, image_weights=False, rect=False, cos_lr=False, close_mosaic=0, resume=False, amp=True, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_thickness=3, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=face-mask-detection/yolov8-100-augmented\n",
|
| 69 |
+
"Downloading https://ultralytics.com/assets/Arial.ttf to /root/.config/Ultralytics/Arial.ttf...\n",
|
| 70 |
+
"100%|ββββββββββ| 755k/755k [00:00<00:00, 47.6MB/s]\n",
|
| 71 |
+
"Overriding model.yaml nc=80 with nc=2\n",
|
| 72 |
+
"\n",
|
| 73 |
+
" from n params module arguments \n",
|
| 74 |
+
" 0 -1 1 928 ultralytics.nn.modules.Conv [3, 32, 3, 2] \n",
|
| 75 |
+
" 1 -1 1 18560 ultralytics.nn.modules.Conv [32, 64, 3, 2] \n",
|
| 76 |
+
" 2 -1 1 29056 ultralytics.nn.modules.C2f [64, 64, 1, True] \n",
|
| 77 |
+
" 3 -1 1 73984 ultralytics.nn.modules.Conv [64, 128, 3, 2] \n",
|
| 78 |
+
" 4 -1 2 197632 ultralytics.nn.modules.C2f [128, 128, 2, True] \n",
|
| 79 |
+
" 5 -1 1 295424 ultralytics.nn.modules.Conv [128, 256, 3, 2] \n",
|
| 80 |
+
" 6 -1 2 788480 ultralytics.nn.modules.C2f [256, 256, 2, True] \n",
|
| 81 |
+
" 7 -1 1 1180672 ultralytics.nn.modules.Conv [256, 512, 3, 2] \n",
|
| 82 |
+
" 8 -1 1 1838080 ultralytics.nn.modules.C2f [512, 512, 1, True] \n",
|
| 83 |
+
" 9 -1 1 656896 ultralytics.nn.modules.SPPF [512, 512, 5] \n",
|
| 84 |
+
" 10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
| 85 |
+
" 11 [-1, 6] 1 0 ultralytics.nn.modules.Concat [1] \n",
|
| 86 |
+
" 12 -1 1 591360 ultralytics.nn.modules.C2f [768, 256, 1] \n",
|
| 87 |
+
" 13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
| 88 |
+
" 14 [-1, 4] 1 0 ultralytics.nn.modules.Concat [1] \n",
|
| 89 |
+
" 15 -1 1 148224 ultralytics.nn.modules.C2f [384, 128, 1] \n",
|
| 90 |
+
" 16 -1 1 147712 ultralytics.nn.modules.Conv [128, 128, 3, 2] \n",
|
| 91 |
+
" 17 [-1, 12] 1 0 ultralytics.nn.modules.Concat [1] \n",
|
| 92 |
+
" 18 -1 1 493056 ultralytics.nn.modules.C2f [384, 256, 1] \n",
|
| 93 |
+
" 19 -1 1 590336 ultralytics.nn.modules.Conv [256, 256, 3, 2] \n",
|
| 94 |
+
" 20 [-1, 9] 1 0 ultralytics.nn.modules.Concat [1] \n",
|
| 95 |
+
" 21 -1 1 1969152 ultralytics.nn.modules.C2f [768, 512, 1] \n",
|
| 96 |
+
" 22 [15, 18, 21] 1 2116822 ultralytics.nn.modules.Detect [2, [128, 256, 512]] \n",
|
| 97 |
+
"Model summary: 225 layers, 11136374 parameters, 11136358 gradients, 28.6 GFLOPs\n",
|
| 98 |
+
"\n",
|
| 99 |
+
"Transferred 349/355 items from pretrained weights\n",
|
| 100 |
+
"WARNING β οΈ ClearML installed but not initialized correctly, not logging this run. It seems ClearML is not configured on this machine!\n",
|
| 101 |
+
"To get started with ClearML, setup your own 'clearml-server' or create a free account at https://app.clear.ml\n",
|
| 102 |
+
"Setup instructions can be found here: https://clear.ml/docs\n",
|
| 103 |
+
"\u001b[34m\u001b[1mTensorBoard: \u001b[0mStart with 'tensorboard --logdir face-mask-detection/yolov8-100-augmented', view at http://localhost:6006/\n",
|
| 104 |
+
"\u001b[34m\u001b[1mAMP: \u001b[0mrunning Automatic Mixed Precision (AMP) checks with YOLOv8n...\n",
|
| 105 |
+
"Downloading https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt to yolov8n.pt...\n",
|
| 106 |
+
"100%|ββββββββββ| 6.23M/6.23M [00:00<00:00, 199MB/s]\n",
|
| 107 |
+
"\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed β
\n",
|
| 108 |
+
"\u001b[34m\u001b[1moptimizer:\u001b[0m SGD(lr=0.01) with parameter groups 57 weight(decay=0.0), 64 weight(decay=0.0005), 63 bias\n",
|
| 109 |
+
"\u001b[34m\u001b[1mtrain: \u001b[0mScanning /content/face-mask-detection-1/train/labels... 420 images, 9 backgrounds, 0 corrupt: 100%|ββββββββββ| 420/420 [00:00<00:00, 2233.49it/s]\n",
|
| 110 |
+
"\u001b[34m\u001b[1mtrain: \u001b[0mNew cache created: /content/face-mask-detection-1/train/labels.cache\n",
|
| 111 |
+
"\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01), CLAHE(p=0.01, clip_limit=(1, 4.0), tile_grid_size=(8, 8))\n",
|
| 112 |
+
"\u001b[34m\u001b[1mval: \u001b[0mScanning /content/face-mask-detection-1/valid/labels... 15 images, 0 backgrounds, 0 corrupt: 100%|ββββββββββ| 15/15 [00:00<00:00, 1554.44it/s]\n",
|
| 113 |
+
"\u001b[34m\u001b[1mval: \u001b[0mNew cache created: /content/face-mask-detection-1/valid/labels.cache\n",
|
| 114 |
+
"Plotting labels to face-mask-detection/yolov8-100-augmented/labels.jpg... \n",
|
| 115 |
+
"Image sizes 640 train, 640 val\n",
|
| 116 |
+
"Using 2 dataloader workers\n",
|
| 117 |
+
"Logging results to \u001b[1mface-mask-detection/yolov8-100-augmented\u001b[0m\n",
|
| 118 |
+
"Starting training for 100 epochs...\n",
|
| 119 |
+
"\n",
|
| 120 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 121 |
+
" 1/100 3.93G 1.717 3.776 1.895 22 640: 100%|ββββββββββ| 27/27 [00:21<00:00, 1.24it/s]\n",
|
| 122 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:01<00:00, 1.96s/it]\n",
|
| 123 |
+
" all 15 16 0.195 0.55 0.193 0.0662\n",
|
| 124 |
+
"\n",
|
| 125 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 126 |
+
" 2/100 4G 1.246 2.06 1.469 8 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.51it/s]\n",
|
| 127 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.40it/s]\n",
|
| 128 |
+
" all 15 16 0.372 0.75 0.511 0.259\n",
|
| 129 |
+
"\n",
|
| 130 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 131 |
+
" 3/100 3.96G 1.013 1.513 1.259 17 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.63it/s]\n",
|
| 132 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.89it/s]\n",
|
| 133 |
+
" all 15 16 0.39 0.8 0.64 0.36\n",
|
| 134 |
+
"\n",
|
| 135 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 136 |
+
" 4/100 3.98G 0.9508 1.271 1.198 11 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.67it/s]\n",
|
| 137 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.02it/s]\n",
|
| 138 |
+
" all 15 16 0.713 0.483 0.604 0.358\n",
|
| 139 |
+
"\n",
|
| 140 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 141 |
+
" 5/100 3.96G 0.9294 1.12 1.146 14 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.69it/s]\n",
|
| 142 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.43it/s]\n",
|
| 143 |
+
" all 15 16 0.495 0.609 0.402 0.19\n",
|
| 144 |
+
"\n",
|
| 145 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 146 |
+
" 6/100 3.98G 0.9662 1.097 1.171 9 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.67it/s]\n",
|
| 147 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.22it/s]\n",
|
| 148 |
+
" all 15 16 0.641 0.614 0.619 0.297\n",
|
| 149 |
+
"\n",
|
| 150 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 151 |
+
" 7/100 3.97G 0.9458 0.9896 1.157 5 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.63it/s]\n",
|
| 152 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.27it/s]\n",
|
| 153 |
+
" all 15 16 0.414 0.3 0.38 0.19\n",
|
| 154 |
+
"\n",
|
| 155 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 156 |
+
" 8/100 3.98G 0.9298 0.9764 1.151 5 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.54it/s]\n",
|
| 157 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.34it/s]\n",
|
| 158 |
+
" all 15 16 0.839 0.672 0.751 0.28\n",
|
| 159 |
+
"\n",
|
| 160 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 161 |
+
" 9/100 4G 0.889 0.9389 1.131 5 640: 100%|ββββββββββ| 27/27 [00:18<00:00, 1.48it/s]\n",
|
| 162 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.05it/s]\n",
|
| 163 |
+
" all 15 16 0.792 0.583 0.682 0.324\n",
|
| 164 |
+
"\n",
|
| 165 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 166 |
+
" 10/100 3.98G 0.8728 0.9065 1.122 8 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.53it/s]\n",
|
| 167 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.80it/s]\n",
|
| 168 |
+
" all 15 16 0.51 0.65 0.506 0.25\n",
|
| 169 |
+
"\n",
|
| 170 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 171 |
+
" 11/100 3.97G 0.8569 0.86 1.107 10 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.55it/s]\n",
|
| 172 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.20it/s]\n",
|
| 173 |
+
" all 15 16 0.439 0.533 0.489 0.278\n",
|
| 174 |
+
"\n",
|
| 175 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 176 |
+
" 12/100 3.98G 0.8762 0.8755 1.118 16 640: 100%|ββββββββββ| 27/27 [00:18<00:00, 1.45it/s]\n",
|
| 177 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.17it/s]\n",
|
| 178 |
+
" all 15 16 0.736 0.628 0.638 0.367\n",
|
| 179 |
+
"\n",
|
| 180 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 181 |
+
" 13/100 3.96G 0.8496 0.8064 1.1 11 640: 100%|ββββββββββ| 27/27 [00:18<00:00, 1.48it/s]\n",
|
| 182 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.88it/s]\n",
|
| 183 |
+
" all 15 16 0.602 0.717 0.628 0.338\n",
|
| 184 |
+
"\n",
|
| 185 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 186 |
+
" 14/100 3.98G 0.8466 0.8375 1.113 9 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.52it/s]\n",
|
| 187 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.42it/s]\n",
|
| 188 |
+
" all 15 16 0.707 0.7 0.66 0.332\n",
|
| 189 |
+
"\n",
|
| 190 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 191 |
+
" 15/100 3.97G 0.8649 0.7978 1.101 10 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.56it/s]\n",
|
| 192 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.91it/s]\n",
|
| 193 |
+
" all 15 16 0.818 0.797 0.774 0.318\n",
|
| 194 |
+
"\n",
|
| 195 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 196 |
+
" 16/100 4.01G 0.8704 0.8263 1.105 9 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.54it/s]\n",
|
| 197 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.18it/s]\n",
|
| 198 |
+
" all 15 16 0.781 0.85 0.789 0.397\n",
|
| 199 |
+
"\n",
|
| 200 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 201 |
+
" 17/100 3.99G 0.8177 0.7571 1.084 12 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.59it/s]\n",
|
| 202 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.07it/s]\n",
|
| 203 |
+
" all 15 16 0.545 0.617 0.502 0.246\n",
|
| 204 |
+
"\n",
|
| 205 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 206 |
+
" 18/100 3.98G 0.8326 0.7881 1.102 10 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.58it/s]\n",
|
| 207 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.92it/s]\n",
|
| 208 |
+
" all 15 16 0.861 0.422 0.59 0.228\n",
|
| 209 |
+
"\n",
|
| 210 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 211 |
+
" 19/100 3.97G 0.7847 0.7787 1.083 14 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.51it/s]\n",
|
| 212 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.20it/s]\n",
|
| 213 |
+
" all 15 16 0.823 0.85 0.816 0.402\n",
|
| 214 |
+
"\n",
|
| 215 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 216 |
+
" 20/100 4G 0.8082 0.7403 1.07 7 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.60it/s]\n",
|
| 217 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.10it/s]\n",
|
| 218 |
+
" all 15 16 0.632 0.7 0.669 0.355\n",
|
| 219 |
+
"\n",
|
| 220 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 221 |
+
" 21/100 3.98G 0.7921 0.7317 1.072 19 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.53it/s]\n",
|
| 222 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.03it/s]\n",
|
| 223 |
+
" all 15 16 0.82 0.767 0.815 0.385\n",
|
| 224 |
+
"\n",
|
| 225 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 226 |
+
" 22/100 3.97G 0.7938 0.7301 1.081 16 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.56it/s]\n",
|
| 227 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.97it/s]\n",
|
| 228 |
+
" all 15 16 0.846 0.85 0.808 0.392\n",
|
| 229 |
+
"\n",
|
| 230 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 231 |
+
" 23/100 3.97G 0.7206 0.7014 1.058 13 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.68it/s]\n",
|
| 232 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.76it/s]\n",
|
| 233 |
+
" all 15 16 0.848 0.827 0.811 0.417\n",
|
| 234 |
+
"\n",
|
| 235 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 236 |
+
" 24/100 3.98G 0.728 0.6863 1.057 5 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.71it/s]\n",
|
| 237 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.17it/s]\n",
|
| 238 |
+
" all 15 16 0.898 0.75 0.825 0.358\n",
|
| 239 |
+
"\n",
|
| 240 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 241 |
+
" 25/100 4G 0.7097 0.6167 1.032 15 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.74it/s]\n",
|
| 242 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.12it/s]\n",
|
| 243 |
+
" all 15 16 0.707 0.75 0.781 0.412\n",
|
| 244 |
+
"\n",
|
| 245 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 246 |
+
" 26/100 3.98G 0.7324 0.6581 1.064 13 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.56it/s]\n",
|
| 247 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.70it/s]\n",
|
| 248 |
+
" all 15 16 0.682 0.741 0.787 0.424\n",
|
| 249 |
+
"\n",
|
| 250 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 251 |
+
" 27/100 3.96G 0.7052 0.6242 1.033 8 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.60it/s]\n",
|
| 252 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.22it/s]\n",
|
| 253 |
+
" all 15 16 0.97 0.661 0.829 0.427\n",
|
| 254 |
+
"\n",
|
| 255 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 256 |
+
" 28/100 4G 0.6911 0.5844 1.014 9 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.73it/s]\n",
|
| 257 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.15it/s]\n",
|
| 258 |
+
" all 15 16 0.781 0.75 0.726 0.343\n",
|
| 259 |
+
"\n",
|
| 260 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 261 |
+
" 29/100 3.97G 0.6788 0.6104 1.01 13 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.53it/s]\n",
|
| 262 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.17it/s]\n",
|
| 263 |
+
" all 15 16 0.761 0.667 0.651 0.294\n",
|
| 264 |
+
"\n",
|
| 265 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 266 |
+
" 30/100 3.98G 0.7026 0.5924 1.018 11 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.58it/s]\n",
|
| 267 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.16it/s]\n",
|
| 268 |
+
" all 15 16 0.862 0.744 0.776 0.383\n",
|
| 269 |
+
"\n",
|
| 270 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 271 |
+
" 31/100 3.97G 0.7185 0.6111 1.029 9 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.55it/s]\n",
|
| 272 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.16it/s]\n",
|
| 273 |
+
" all 15 16 0.782 0.7 0.766 0.388\n",
|
| 274 |
+
"\n",
|
| 275 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 276 |
+
" 32/100 4G 0.6667 0.6028 1.011 7 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.57it/s]\n",
|
| 277 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.56it/s]\n",
|
| 278 |
+
" all 15 16 0.902 0.8 0.838 0.411\n",
|
| 279 |
+
"\n",
|
| 280 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 281 |
+
" 33/100 4G 0.696 0.6267 1.034 8 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.60it/s]\n",
|
| 282 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.11it/s]\n",
|
| 283 |
+
" all 15 16 0.741 0.8 0.838 0.403\n",
|
| 284 |
+
"\n",
|
| 285 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 286 |
+
" 34/100 3.98G 0.6749 0.6123 1.027 12 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.53it/s]\n",
|
| 287 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.97it/s]\n",
|
| 288 |
+
" all 15 16 0.682 0.821 0.801 0.38\n",
|
| 289 |
+
"\n",
|
| 290 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 291 |
+
" 35/100 3.99G 0.6731 0.585 1.019 3 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.57it/s]\n",
|
| 292 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.76it/s]\n",
|
| 293 |
+
" all 15 16 0.644 0.768 0.713 0.401\n",
|
| 294 |
+
"\n",
|
| 295 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 296 |
+
" 36/100 3.99G 0.6314 0.5448 0.996 7 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.57it/s]\n",
|
| 297 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.41it/s]\n",
|
| 298 |
+
" all 15 16 0.966 0.8 0.868 0.459\n",
|
| 299 |
+
"\n",
|
| 300 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 301 |
+
" 37/100 3.97G 0.635 0.541 0.999 11 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.60it/s]\n",
|
| 302 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.96it/s]\n",
|
| 303 |
+
" all 15 16 0.781 0.7 0.707 0.407\n",
|
| 304 |
+
"\n",
|
| 305 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 306 |
+
" 38/100 3.99G 0.6352 0.553 0.984 7 640: 100%|οΏ½οΏ½οΏ½βββββββββ| 27/27 [00:16<00:00, 1.65it/s]\n",
|
| 307 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.18it/s]\n",
|
| 308 |
+
" all 15 16 0.684 0.603 0.584 0.337\n",
|
| 309 |
+
"\n",
|
| 310 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 311 |
+
" 39/100 3.97G 0.6044 0.5172 0.9986 8 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.67it/s]\n",
|
| 312 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.42it/s]\n",
|
| 313 |
+
" all 15 16 0.721 0.483 0.608 0.302\n",
|
| 314 |
+
"\n",
|
| 315 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 316 |
+
" 40/100 3.99G 0.625 0.5358 0.9937 6 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.65it/s]\n",
|
| 317 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.11it/s]\n",
|
| 318 |
+
" all 15 16 0.912 0.842 0.89 0.369\n",
|
| 319 |
+
"\n",
|
| 320 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 321 |
+
" 41/100 3.97G 0.6143 0.5195 0.9805 6 640: 100%|ββββββββββ| 27/27 [00:18<00:00, 1.46it/s]\n",
|
| 322 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.42it/s]\n",
|
| 323 |
+
" all 15 16 0.88 0.794 0.871 0.429\n",
|
| 324 |
+
"\n",
|
| 325 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 326 |
+
" 42/100 3.98G 0.5949 0.5177 0.9742 6 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.70it/s]\n",
|
| 327 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.14it/s]\n",
|
| 328 |
+
" all 15 16 0.872 0.85 0.821 0.404\n",
|
| 329 |
+
"\n",
|
| 330 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 331 |
+
" 43/100 3.97G 0.6044 0.4926 0.9873 12 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.68it/s]\n",
|
| 332 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.18it/s]\n",
|
| 333 |
+
" all 15 16 0.865 0.85 0.815 0.404\n",
|
| 334 |
+
"\n",
|
| 335 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 336 |
+
" 44/100 3.98G 0.6189 0.5179 0.9944 15 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.59it/s]\n",
|
| 337 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.28it/s]\n",
|
| 338 |
+
" all 15 16 0.79 0.8 0.738 0.452\n",
|
| 339 |
+
"\n",
|
| 340 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 341 |
+
" 45/100 3.97G 0.6075 0.5116 0.9767 6 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.59it/s]\n",
|
| 342 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.99it/s]\n",
|
| 343 |
+
" all 15 16 0.826 0.789 0.691 0.381\n",
|
| 344 |
+
"\n",
|
| 345 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 346 |
+
" 46/100 3.99G 0.6281 0.5339 0.9896 14 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.54it/s]\n",
|
| 347 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.98it/s]\n",
|
| 348 |
+
" all 15 16 0.917 0.85 0.87 0.437\n",
|
| 349 |
+
"\n",
|
| 350 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 351 |
+
" 47/100 3.97G 0.6113 0.5115 0.9818 11 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.53it/s]\n",
|
| 352 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.79it/s]\n",
|
| 353 |
+
" all 15 16 0.905 0.843 0.882 0.465\n",
|
| 354 |
+
"\n",
|
| 355 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 356 |
+
" 48/100 3.98G 0.5719 0.5329 0.9837 9 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.62it/s]\n",
|
| 357 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.10it/s]\n",
|
| 358 |
+
" all 15 16 0.814 0.842 0.81 0.404\n",
|
| 359 |
+
"\n",
|
| 360 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 361 |
+
" 49/100 3.97G 0.5864 0.4839 0.9749 15 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.54it/s]\n",
|
| 362 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.14it/s]\n",
|
| 363 |
+
" all 15 16 0.887 0.895 0.88 0.418\n",
|
| 364 |
+
"\n",
|
| 365 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 366 |
+
" 50/100 4.01G 0.5709 0.5002 0.9705 7 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.57it/s]\n",
|
| 367 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.70it/s]\n",
|
| 368 |
+
" all 15 16 0.907 0.9 0.914 0.439\n",
|
| 369 |
+
"\n",
|
| 370 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 371 |
+
" 51/100 3.98G 0.5686 0.4988 0.9705 11 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.51it/s]\n",
|
| 372 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.30it/s]\n",
|
| 373 |
+
" all 15 16 0.844 0.85 0.856 0.383\n",
|
| 374 |
+
"\n",
|
| 375 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 376 |
+
" 52/100 4G 0.5589 0.4718 0.9736 8 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.56it/s]\n",
|
| 377 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.36it/s]\n",
|
| 378 |
+
" all 15 16 0.928 0.882 0.872 0.441\n",
|
| 379 |
+
"\n",
|
| 380 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 381 |
+
" 53/100 3.97G 0.537 0.4419 0.9547 13 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.61it/s]\n",
|
| 382 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.14it/s]\n",
|
| 383 |
+
" all 15 16 0.916 0.899 0.88 0.41\n",
|
| 384 |
+
"\n",
|
| 385 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 386 |
+
" 54/100 3.98G 0.5636 0.4587 0.9676 15 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.55it/s]\n",
|
| 387 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.10it/s]\n",
|
| 388 |
+
" all 15 16 0.9 0.8 0.841 0.447\n",
|
| 389 |
+
"\n",
|
| 390 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 391 |
+
" 55/100 3.97G 0.5553 0.448 0.9538 10 640: 100%|ββββββββββ| 27/27 [00:20<00:00, 1.32it/s]\n",
|
| 392 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.21it/s]\n",
|
| 393 |
+
" all 15 16 0.916 0.9 0.898 0.479\n",
|
| 394 |
+
"\n",
|
| 395 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 396 |
+
" 56/100 4.01G 0.5407 0.4456 0.9537 5 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.60it/s]\n",
|
| 397 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.24it/s]\n",
|
| 398 |
+
" all 15 16 0.913 0.9 0.835 0.484\n",
|
| 399 |
+
"\n",
|
| 400 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 401 |
+
" 57/100 3.96G 0.5332 0.4502 0.959 6 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.58it/s]\n",
|
| 402 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.04it/s]\n",
|
| 403 |
+
" all 15 16 0.92 0.9 0.846 0.472\n",
|
| 404 |
+
"\n",
|
| 405 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 406 |
+
" 58/100 4G 0.5277 0.4555 0.963 8 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.63it/s]\n",
|
| 407 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.09it/s]\n",
|
| 408 |
+
" all 15 16 0.912 0.9 0.856 0.453\n",
|
| 409 |
+
"\n",
|
| 410 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 411 |
+
" 59/100 3.99G 0.5173 0.42 0.9429 7 640: 100%|ββββββββββ| 27/27 [00:18<00:00, 1.50it/s]\n",
|
| 412 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.58it/s]\n",
|
| 413 |
+
" all 15 16 0.916 0.85 0.825 0.414\n",
|
| 414 |
+
"\n",
|
| 415 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 416 |
+
" 60/100 3.98G 0.5308 0.4582 0.9521 11 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.59it/s]\n",
|
| 417 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.43it/s]\n",
|
| 418 |
+
" all 15 16 0.907 0.85 0.829 0.434\n",
|
| 419 |
+
"\n",
|
| 420 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 421 |
+
" 61/100 3.97G 0.5189 0.4185 0.9354 9 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.64it/s]\n",
|
| 422 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.45it/s]\n",
|
| 423 |
+
" all 15 16 0.834 0.837 0.811 0.444\n",
|
| 424 |
+
"\n",
|
| 425 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 426 |
+
" 62/100 4G 0.5092 0.4247 0.9348 8 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.64it/s]\n",
|
| 427 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.36it/s]\n",
|
| 428 |
+
" all 15 16 0.886 0.842 0.812 0.438\n",
|
| 429 |
+
"\n",
|
| 430 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 431 |
+
" 63/100 3.97G 0.518 0.4152 0.9274 6 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.69it/s]\n",
|
| 432 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.81it/s]\n",
|
| 433 |
+
" all 15 16 0.913 0.9 0.863 0.45\n",
|
| 434 |
+
"\n",
|
| 435 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 436 |
+
" 64/100 3.98G 0.4945 0.3949 0.9272 15 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.60it/s]\n",
|
| 437 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.93it/s]\n",
|
| 438 |
+
" all 15 16 0.842 0.9 0.895 0.484\n",
|
| 439 |
+
"\n",
|
| 440 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 441 |
+
" 65/100 3.98G 0.493 0.4228 0.9418 10 640: 100%|ββββββββββ| 27/27 [00:14<00:00, 1.87it/s]\n",
|
| 442 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.06it/s]\n",
|
| 443 |
+
" all 15 16 0.927 0.864 0.868 0.458\n",
|
| 444 |
+
"\n",
|
| 445 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 446 |
+
" 66/100 3.98G 0.503 0.4102 0.9319 7 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.67it/s]\n",
|
| 447 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.10it/s]\n",
|
| 448 |
+
" all 15 16 0.912 0.944 0.914 0.458\n",
|
| 449 |
+
"\n",
|
| 450 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 451 |
+
" 67/100 3.96G 0.4749 0.3839 0.9237 17 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.60it/s]\n",
|
| 452 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.45it/s]\n",
|
| 453 |
+
" all 15 16 0.901 0.897 0.902 0.426\n",
|
| 454 |
+
"\n",
|
| 455 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 456 |
+
" 68/100 4.01G 0.4844 0.3934 0.9259 11 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.56it/s]\n",
|
| 457 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.39it/s]\n",
|
| 458 |
+
" all 15 16 0.924 0.897 0.883 0.445\n",
|
| 459 |
+
"\n",
|
| 460 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 461 |
+
" 69/100 3.97G 0.4889 0.4038 0.9305 14 640: 100%|ββββββββββ| 27/27 [00:20<00:00, 1.29it/s]\n",
|
| 462 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.21it/s]\n",
|
| 463 |
+
" all 15 16 0.902 0.85 0.876 0.453\n",
|
| 464 |
+
"\n",
|
| 465 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 466 |
+
" 70/100 3.98G 0.4856 0.3945 0.9245 10 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.65it/s]\n",
|
| 467 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.81it/s]\n",
|
| 468 |
+
" all 15 16 0.865 0.878 0.872 0.437\n",
|
| 469 |
+
"\n",
|
| 470 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 471 |
+
" 71/100 3.97G 0.4821 0.383 0.9181 5 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.60it/s]\n",
|
| 472 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.38it/s]\n",
|
| 473 |
+
" all 15 16 0.868 0.891 0.885 0.456\n",
|
| 474 |
+
"\n",
|
| 475 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 476 |
+
" 72/100 3.99G 0.4755 0.3753 0.9286 10 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.56it/s]\n",
|
| 477 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.06it/s]\n",
|
| 478 |
+
" all 15 16 0.87 0.879 0.856 0.473\n",
|
| 479 |
+
"\n",
|
| 480 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 481 |
+
" 73/100 3.97G 0.4687 0.3759 0.919 14 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.62it/s]\n",
|
| 482 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.28it/s]\n",
|
| 483 |
+
" all 15 16 0.856 0.895 0.886 0.5\n",
|
| 484 |
+
"\n",
|
| 485 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 486 |
+
" 74/100 3.98G 0.4654 0.3907 0.9114 8 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.56it/s]\n",
|
| 487 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.04it/s]\n",
|
| 488 |
+
" all 15 16 0.92 0.894 0.88 0.454\n",
|
| 489 |
+
"\n",
|
| 490 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 491 |
+
" 75/100 3.98G 0.459 0.3809 0.9301 7 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.57it/s]\n",
|
| 492 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.14it/s]\n",
|
| 493 |
+
" all 15 16 0.863 0.839 0.867 0.44\n",
|
| 494 |
+
"\n",
|
| 495 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 496 |
+
" 76/100 4G 0.4498 0.3589 0.9296 11 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.55it/s]\n",
|
| 497 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.70it/s]\n",
|
| 498 |
+
" all 15 16 0.905 0.817 0.903 0.448\n",
|
| 499 |
+
"\n",
|
| 500 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 501 |
+
" 77/100 3.96G 0.4442 0.361 0.9244 3 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.55it/s]\n",
|
| 502 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.28it/s]\n",
|
| 503 |
+
" all 15 16 0.825 0.76 0.846 0.409\n",
|
| 504 |
+
"\n",
|
| 505 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 506 |
+
" 78/100 3.99G 0.4529 0.3615 0.9127 11 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.62it/s]\n",
|
| 507 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.20it/s]\n",
|
| 508 |
+
" all 15 16 0.85 0.85 0.844 0.431\n",
|
| 509 |
+
"\n",
|
| 510 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 511 |
+
" 79/100 3.96G 0.4402 0.352 0.9196 6 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.58it/s]\n",
|
| 512 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.91it/s]\n",
|
| 513 |
+
" all 15 16 0.921 0.9 0.857 0.476\n",
|
| 514 |
+
"\n",
|
| 515 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 516 |
+
" 80/100 4G 0.4466 0.3616 0.9252 10 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.73it/s]\n",
|
| 517 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.23it/s]\n",
|
| 518 |
+
" all 15 16 0.912 0.9 0.841 0.462\n",
|
| 519 |
+
"\n",
|
| 520 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 521 |
+
" 81/100 3.97G 0.4159 0.3456 0.9035 13 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.62it/s]\n",
|
| 522 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.48it/s]\n",
|
| 523 |
+
" all 15 16 0.896 0.897 0.837 0.467\n",
|
| 524 |
+
"\n",
|
| 525 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 526 |
+
" 82/100 3.98G 0.4165 0.3413 0.9114 10 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.71it/s]\n",
|
| 527 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.89it/s]\n",
|
| 528 |
+
" all 15 16 0.9 0.897 0.861 0.458\n",
|
| 529 |
+
"\n",
|
| 530 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 531 |
+
" 83/100 3.97G 0.4006 0.3237 0.8996 5 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.71it/s]\n",
|
| 532 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.42it/s]\n",
|
| 533 |
+
" all 15 16 0.912 0.89 0.859 0.468\n",
|
| 534 |
+
"\n",
|
| 535 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 536 |
+
" 84/100 3.99G 0.4255 0.3373 0.9016 10 640: 100%|ββββββββββ| 27/27 [00:19<00:00, 1.36it/s]\n",
|
| 537 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.48it/s]\n",
|
| 538 |
+
" all 15 16 0.92 0.9 0.889 0.464\n",
|
| 539 |
+
"\n",
|
| 540 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 541 |
+
" 85/100 3.97G 0.3953 0.3188 0.8956 6 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.65it/s]\n",
|
| 542 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.87it/s]\n",
|
| 543 |
+
" all 15 16 0.921 0.9 0.906 0.469\n",
|
| 544 |
+
"\n",
|
| 545 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 546 |
+
" 86/100 3.99G 0.4138 0.3259 0.9179 9 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.56it/s]\n",
|
| 547 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.35it/s]\n",
|
| 548 |
+
" all 15 16 0.87 0.9 0.872 0.42\n",
|
| 549 |
+
"\n",
|
| 550 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 551 |
+
" 87/100 3.96G 0.3932 0.3282 0.9039 6 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.54it/s]\n",
|
| 552 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.13it/s]\n",
|
| 553 |
+
" all 15 16 0.849 0.896 0.891 0.447\n",
|
| 554 |
+
"\n",
|
| 555 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 556 |
+
" 88/100 4G 0.4043 0.3291 0.9044 10 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.56it/s]\n",
|
| 557 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.08it/s]\n",
|
| 558 |
+
" all 15 16 0.859 0.897 0.892 0.476\n",
|
| 559 |
+
"\n",
|
| 560 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 561 |
+
" 89/100 3.97G 0.3737 0.3169 0.8876 5 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.54it/s]\n",
|
| 562 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.10it/s]\n",
|
| 563 |
+
" all 15 16 0.909 0.898 0.877 0.443\n",
|
| 564 |
+
"\n",
|
| 565 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 566 |
+
" 90/100 3.98G 0.3919 0.3056 0.9026 7 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.60it/s]\n",
|
| 567 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.09it/s]\n",
|
| 568 |
+
" all 15 16 0.909 0.897 0.847 0.432\n",
|
| 569 |
+
"\n",
|
| 570 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 571 |
+
" 91/100 3.97G 0.3831 0.2951 0.8949 8 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.53it/s]\n",
|
| 572 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.91it/s]\n",
|
| 573 |
+
" all 15 16 0.918 0.9 0.846 0.475\n",
|
| 574 |
+
"\n",
|
| 575 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 576 |
+
" 92/100 3.98G 0.3649 0.2969 0.8775 6 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.56it/s]\n",
|
| 577 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.93it/s]\n",
|
| 578 |
+
" all 15 16 0.922 0.9 0.877 0.487\n",
|
| 579 |
+
"\n",
|
| 580 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 581 |
+
" 93/100 3.98G 0.3678 0.2898 0.8941 13 640: 100%|ββββββββββ| 27/27 [00:17<00:00, 1.54it/s]\n",
|
| 582 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.05it/s]\n",
|
| 583 |
+
" all 15 16 0.914 0.9 0.874 0.511\n",
|
| 584 |
+
"\n",
|
| 585 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 586 |
+
" 94/100 3.98G 0.3729 0.277 0.896 9 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.59it/s]\n",
|
| 587 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 3.12it/s]\n",
|
| 588 |
+
" all 15 16 0.922 0.9 0.875 0.488\n",
|
| 589 |
+
"\n",
|
| 590 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 591 |
+
" 95/100 3.97G 0.3428 0.2785 0.8929 9 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.62it/s]\n",
|
| 592 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.95it/s]\n",
|
| 593 |
+
" all 15 16 0.901 0.9 0.853 0.463\n",
|
| 594 |
+
"\n",
|
| 595 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 596 |
+
" 96/100 4G 0.3582 0.2853 0.8867 6 640: 100%|ββββββββββ| 27/27 [00:16<00:00, 1.63it/s]\n",
|
| 597 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.95it/s]\n",
|
| 598 |
+
" all 15 16 0.898 0.9 0.852 0.462\n",
|
| 599 |
+
"\n",
|
| 600 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 601 |
+
" 97/100 3.97G 0.3599 0.2805 0.8882 8 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.73it/s]\n",
|
| 602 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.43it/s]\n",
|
| 603 |
+
" all 15 16 0.899 0.9 0.839 0.458\n",
|
| 604 |
+
"\n",
|
| 605 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 606 |
+
" 98/100 3.98G 0.3623 0.2908 0.9045 14 640: 100%|ββββββββββ| 27/27 [00:20<00:00, 1.33it/s]\n",
|
| 607 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.75it/s]\n",
|
| 608 |
+
" all 15 16 0.906 0.9 0.838 0.445\n",
|
| 609 |
+
"\n",
|
| 610 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 611 |
+
" 99/100 3.97G 0.3422 0.2715 0.8957 12 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.69it/s]\n",
|
| 612 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 2.05it/s]\n",
|
| 613 |
+
" all 15 16 0.906 0.897 0.85 0.454\n",
|
| 614 |
+
"\n",
|
| 615 |
+
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
|
| 616 |
+
" 100/100 3.98G 0.3525 0.2677 0.88 5 640: 100%|ββββββββββ| 27/27 [00:15<00:00, 1.75it/s]\n",
|
| 617 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 1.54it/s]\n",
|
| 618 |
+
" all 15 16 0.902 0.897 0.85 0.462\n",
|
| 619 |
+
"\n",
|
| 620 |
+
"100 epochs completed in 0.528 hours.\n",
|
| 621 |
+
"Optimizer stripped from face-mask-detection/yolov8-100-augmented/weights/last.pt, 22.5MB\n",
|
| 622 |
+
"Optimizer stripped from face-mask-detection/yolov8-100-augmented/weights/best.pt, 22.5MB\n",
|
| 623 |
+
"\n",
|
| 624 |
+
"Validating face-mask-detection/yolov8-100-augmented/weights/best.pt...\n",
|
| 625 |
+
"Ultralytics YOLOv8.0.87 π Python-3.9.16 torch-2.0.0+cu118 CUDA:0 (Tesla T4, 15102MiB)\n",
|
| 626 |
+
"Model summary (fused): 168 layers, 11126358 parameters, 0 gradients, 28.4 GFLOPs\n",
|
| 627 |
+
" Class Images Instances Box(P R mAP50 mAP50-95): 100%|ββββββββββ| 1/1 [00:00<00:00, 4.25it/s]\n",
|
| 628 |
+
" all 15 16 0.915 0.9 0.874 0.511\n",
|
| 629 |
+
" mask 15 6 0.856 1 0.901 0.616\n",
|
| 630 |
+
" no-mask 15 10 0.973 0.8 0.847 0.407\n",
|
| 631 |
+
"Speed: 0.2ms preprocess, 5.5ms inference, 0.0ms loss, 1.1ms postprocess per image\n",
|
| 632 |
+
"Results saved to \u001b[1mface-mask-detection/yolov8-100-augmented\u001b[0m\n"
|
| 633 |
+
]
|
| 634 |
+
}
|
| 635 |
+
],
|
| 636 |
+
"source": [
|
| 637 |
+
"from ultralytics import YOLO\n",
|
| 638 |
+
"model = YOLO(\"yolov8s.pt\") \n",
|
| 639 |
+
"results = model.train(data=f\"/content/face-mask-detection-1/data.yaml\", epochs=100, project=\"face-mask-detection\", name=f\"yolov8-100-augmented\")"
|
| 640 |
+
]
|
| 641 |
+
},
|
| 642 |
+
{
|
| 643 |
+
"cell_type": "code",
|
| 644 |
+
"execution_count": null,
|
| 645 |
+
"metadata": {
|
| 646 |
+
"colab": {
|
| 647 |
+
"base_uri": "https://localhost:8080/"
|
| 648 |
+
},
|
| 649 |
+
"id": "zeDq14PoSCrO",
|
| 650 |
+
"outputId": "8a0c5d27-a208-4347-f44f-85d222738388"
|
| 651 |
+
},
|
| 652 |
+
"outputs": [
|
| 653 |
+
{
|
| 654 |
+
"name": "stdout",
|
| 655 |
+
"output_type": "stream",
|
| 656 |
+
"text": [
|
| 657 |
+
"Mounted at /content/gdrive\n"
|
| 658 |
+
]
|
| 659 |
+
}
|
| 660 |
+
],
|
| 661 |
+
"source": [
|
| 662 |
+
"from google.colab import drive\n",
|
| 663 |
+
"drive.mount('/content/gdrive')"
|
| 664 |
+
]
|
| 665 |
+
},
|
| 666 |
+
{
|
| 667 |
+
"cell_type": "code",
|
| 668 |
+
"execution_count": null,
|
| 669 |
+
"metadata": {
|
| 670 |
+
"id": "ahNFeSxfvJpM"
|
| 671 |
+
},
|
| 672 |
+
"outputs": [],
|
| 673 |
+
"source": [
|
| 674 |
+
"!cp /content/face-mask-detection/yolov8-100-augmented/weights/best.pt /content/gdrive/MyDrive/Projects/Face-Mask-Detection/best_100.pt >/dev/null"
|
| 675 |
+
]
|
| 676 |
+
}
|
| 677 |
+
],
|
| 678 |
+
"metadata": {
|
| 679 |
+
"colab": {
|
| 680 |
+
"provenance": []
|
| 681 |
+
},
|
| 682 |
+
"kernelspec": {
|
| 683 |
+
"display_name": "Python 3",
|
| 684 |
+
"name": "python3"
|
| 685 |
+
},
|
| 686 |
+
"language_info": {
|
| 687 |
+
"name": "python"
|
| 688 |
+
}
|
| 689 |
+
},
|
| 690 |
+
"nbformat": 4,
|
| 691 |
+
"nbformat_minor": 0
|
| 692 |
+
}
|