Master Thesis: Determination of Particle Size Distributions through Real-Time Area, Mass, and Geometry Flow Characterization of Non-Ferrous Metals: A YOLO-Based Instance Segmentation Approach
The task included three parts: annotation, YOLO instance segmentation and particle weight regression
In the dataset folder include:
copper: the copper particle sample named with different size fraction as batchminerals: the mineral particle sample named with different size fraction as batch
morphology_processing.py: use basic mathematical operation, such as thresholding, closing and opening, to annotate particle images. Their annotated dataset were stored in thedataset_morphfolder.
In the yolo folder include:
image_tiling.py: tiling the images to 512 by 512 dimensioncombined_images.py: combine bothminerals_tilingandcopper_tilingfolder to oneimagesfoldersam2_mask_generator.py: particle annotation were stored in thedatasetfolder namedcopperandmineralsSAM2_label.py: label each class and contour coordinate of particle images with yolo segmentation formatdataset_split.py: split the dataset to train:val:test = 7:2:1 to folderstrain,valandtestyolov5.py,yolov8.py,yolov9.py,yolov11.py,yolov12.py: instance segmentation model training
Direct run the notebook regression.ipynb in the regression folder
In the dash folder:
app.py: Integrate both YOLO pipeline and regression pipeline to show the particle detection, inference time (as metadata) and predicted weight dashboard in real-time.
git clone https://git.rwth-aachen.de/Poyen-Chen/master_thesis.gitcd existing_repo
git remote add origin https://git.rwth-aachen.de/Poyen-Chen/master_thesis.git
git branch -M main
git push -uf origin main