--- metrics: - precision - recall - mean_iou library_name: yolov5 pipeline_tag: object-detection tags: - astronomy - space - yolo - yolov5 - moon - crater/boulder detection - OHRC - ISRO - Chandrayaan 2 --- # YOLOv5 for Crater/Boulder detection on Moon A yolov5s and a yolov5l model was trained on a labelled dataset of marked craters/boulders on moon. This was trained for the 3rd problem statement *Automatic detection of craters & boulders from Orbiter High Resolution Camera(OHRC) images using AI/ML techniques* of **Bharatiya Antariksh Hackathon 2024**. Only the finetuned yolov5l is present in this repo. ## Sample Outputs
Gurveer05/moon-crater-boulder-detection-yolov5
## How to use - Install [yolov5](https://github.com/fcakyon/yolov5-pip): ```bash pip install -U yolov5 ``` - Load model and perform prediction: ```python import yolov5 # from PIL import Image # load model model = yolov5.load('Gurveer05/moon-crater-boulder-detection-yolov5') # set model parameters model.conf = 0.25 # NMS confidence threshold model.iou = 0.45 # NMS IoU threshold model.agnostic = False # NMS class-agnostic model.multi_label = False # NMS multiple labels per box model.max_det = 1000 # maximum number of detections per image # set image img = 'path/to/image' # or use: img = Image.open('/path/to/image') # perform inference results = model(img) # add size=640 if needed # inference with test time augmentation results = model(img, augment=True) # parse results predictions = results.pred[0] boxes = predictions[:, :4] # x1, y1, x2, y2 scores = predictions[:, 4] categories = predictions[:, 5] # show detection bounding boxes on image results.show() # save results into "results/" folder results.save(save_dir='results/') ``` - Finetune the model on your custom dataset: ```bash yolov5 train --data data.yaml --img 640 --batch 16 --weights Gurveer05/moon-crater-boulder-detection-yolov5 --epochs 10 ``` ## Miscellaneous - [Sample Working](https://drive.google.com/file/d/1e5Rz6eTlZUaikBiUzhhjcTTXLNCqk_-i/view?usp=sharing) - [Dataset](https://www.kaggle.com/datasets/gurveersinghvirk/crater-boulder-moon-yolo-format) - [Code for training](https://www.kaggle.com/code/gurveersinghvirk/isro-hackathon?scriptVersionId=189827639) - [Output for OHRC images](https://www.kaggle.com/datasets/florabert/ohrc-moon-crater-boulder-detections-yolov5) - [Sliced OHRC images input](https://www.kaggle.com/datasets/gurveersinghvirk/ohrc-sliced) - [Code for inference on sliced OHRC images (Marked Images and Bounding Boxes CSV outputs)](https://www.kaggle.com/code/florabert/isro-hackathon-copy-1?scriptVersionId=189900697) - [Code for inference on sliced OHRC images (lat/long .shp files for bounding boxes and center)](https://www.kaggle.com/code/florabert/isro-hackathon-copy-1?scriptVersionId=189903524)