Skip to content
Snippets Groups Projects
Commit 886ace4c authored by guis98's avatar guis98
Browse files

files added

parent 4eace87e
No related branches found
No related tags found
No related merge requests found
0. Directory structure: # 0. Directory structure:
Hen Tracking
|_data ```
| |_frames Hens Tracking
| | |_frame_0.jpg, frame_1.jpg, ..., frame_204.jpg
| |_video ├── data
| |_video.mkv │ ├── frames
| │ │ └── frame_0.jpg, frame_1.jpg, ..., frame_204.jpg
|_train │ └── video
| |_images │ └── video.mkv
| | |_ first 190 images
| |_labels ├── train
| │ ├── images
|_test │ │ └── first 185 images
| |_images │ └── labels
| | |_ remaining 20 images
| |_labels ├── val
| │ ├── images
|_annotate.py │ │ └── remaining 20 images
| │ └── labels
|_get_stuff.py
| ├── annotate.py
|_track.py
| ├── get_stuff.py
|_data.yaml
├── track.py
1. Annotated the frames using `ultralytics auto annotator` └── data.yaml
```
-> Run `python annotate.py` (See output annotate_output.txt)
# 1. Annotated the frames using `ultralytics auto annotator`
> Run `python annotate.py`
(See output `annotate_output.txt`)
This creates a folder under `data` named 'frames_auto_annotate_labels' and gives a .txt file for each frame containing the segmentations of the hens it detected. This creates a folder under `data` named 'frames_auto_annotate_labels' and gives a .txt file for each frame containing the segmentations of the hens it detected.
2. Put the labels into a proper structure for training i.e. specify custom class (hen) # 2. Put the labels into a proper structure for training i.e. specify custom class (hen)
-> Run `python get_stuff.py` > Run `python get_stuff.py`
This will put all the necesaary files under `train/labels`. Move the last 20 files to `val/labels` for validation in the next stripped This will put all the necesaary files under `train/labels`. Move the last 20 files to `val/labels` for validation in the next stripped.
3. The model is now trained using a pretrained 'yolov8x-seg'. Ensure that the directory path is good # 3. The model is now trained using a pretrained `yolov8x-seg`
Ensure that the directory path is good
-> Run `yolo task=segment mode=train model=yolov8x-seg data=data.yaml epochs=20 imgsz=640` in a terminal opened in the directory > Run `yolo task=segment mode=train model=yolov8x-seg data=data.yaml epochs=20 imgsz=640` in a terminal opened in the directory
(See output train_output.txt)
(See output `train_output.txt`)
This will create a `runs` folder and all the metrics and model weights will be stored there. This will create a `runs` folder and all the metrics and model weights will be stored there.
4. Use the best weights as input model for tracking # 4. Use the best weights as input model for tracking
> Run `python track.py`
-> Run `python track.py` (See output output_track.py, uncomment line no. 34 if you want to visualize the output alongside running) (See `output track_output.txt`, uncomment line no. 34 if you want to visualize the output alongside running)
The final tracking video would be saved under the directory The final tracking video would be saved under the directory.
\ No newline at end of file \ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment