- Development of streamlit dashboard for Instance-Segmentation with Object Tracking
- Clone the repository
git clone https://github.com/RizwanMunawar/yolov7-segmentation.git
- Goto the cloned folder.
cd yolov7-segmentation
- Create a virtual envirnoment (Recommended, If you dont want to disturb python packages)
### For Linux Users
python3 -m venv yolov7seg
source yolov7seg/bin/activate
### For Window Users
python3 -m venv yolov7seg
cd yolov7seg
cd Scripts
activate
cd ..
cd ..
- Upgrade pip with mentioned command below.
pip install --upgrade pip
- Install requirements with mentioned command below.
pip install -r requirements.txt
-
Download weights from link and store in "yolov7-segmentation" directory.
-
Run the code with mentioned command below.
#for segmentation with detection
python3 segment/predict.py --weights yolov7-seg.pt --source "videopath.mp4"
#for segmentation with detection + Tracking
python3 segment/predict.py --weights yolov7-seg.pt --source "videopath.mp4" --trk
#save the labels files of segmentation
python3 segment/predict.py --weights yolov7-seg.pt --source "videopath.mp4" --save-txt
- Output file will be created in the working directory with name yolov7-segmentation/runs/predict-seg/exp/"original-video-name.mp4"
Car Semantic Segmentation | Car Semantic Segmentation | Person Segmentation + Tracking |
-
I have used roboflow for data labelling. The data labelling for Segmentation will be a Polygon box,While data labelling for object detection will be a bounding box
-
Go to the link and create a new workspace. Make sure to login with roboflow account.
- Once you will click on create workspace, You will see the popup as shown below to upload the dataset.
- Click on upload dataset and roboflow will ask for workspace name as shown below. Fill that form and then click on Create Private Project
- Note: Make sure to select Instance Segmentation Option in below image.
-You can upload your dataset now.
-
Once files will upload, you can click on Finish Uploading.
-
Roboflow will ask you to assign Images to someone, click on Assign Images.
-
After that, you will see the tab shown below.
-
Click on any Image in Unannotated tab, and then you can start labelling.
-
Note: Press p and then draw polygon points for segmentation
- Once you will complete labelling, you can then export the data and follow mentioned steps below to start training.
- Move your (segmentation custom labelled data) inside "yolov7-segmentation\data" folder by following mentioned structure.
- Go to the data folder, create a file with name custom.yaml and paste the mentioned code below inside that.
train: "path to train folder"
val: "path to validation folder"
# number of classes
nc: 1
# class names
names: [ 'car']
- Download weights from the link and move to yolov7-segmentation folder.
- Go to the terminal, and run mentioned command below to start training.
python3 segment/train.py --data data/custom.yaml \
--batch 4 \
--weights "yolov7-seg.pt"
--cfg yolov7-seg.yaml \
--epochs 10 \
--name yolov7-seg \
--img 640 \
--hyp hyp.scratch-high.yaml
python3 segment/predict.py --weights "runs/yolov7-seg/exp/weights/best.pt" --source "videopath.mp4"
Car Semantic Segmentation | Car Semantic Segmentation | Person Segmentation + Tracking |
Some of my articles/research papers | computer vision awesome resources for learning | How do I appear to the world? 🚀
Ultralytics YOLO11: Object Detection and Instance Segmentation🤯
Parking Management using Ultralytics YOLO11
My 🖐️Computer Vision Hobby Projects that Yielded Earnings
Best Resources to Learn Computer Vision
Roadmap for Computer Vision Engineer
How did I spend 2022 in the Computer Vision Field
Domain Feature Mapping with YOLOv7 for Automated Edge-Based Pallet Racking Inspections
Exudate Regeneration for Automated Exudate Detection in Retinal Fundus Images
Feature Mapping for Rice Leaf Defect Detection Based on a Custom Convolutional Architecture
Yolov5, Yolo-x, Yolo-r, Yolov7 Performance Comparison: A Survey
Explainable AI in Drug Sensitivity Prediction on Cancer Cell Lines
More Information
For more details, you can reach out to me on Medium or can connect with me on LinkedIn