--- license: mit --- # Molecule Detection YOLO in MolParser From paper: "*MolParser: End-to-end Visual Recognition of Molecule Structures in the Wild*" (ICCV2025 under review) We provide several [ultralytics YOLO11]((https://github.com/ultralytics/ultralytics)) weights for molecule detection with different size & input resolution. ![image/png](https://cdn-uploads.huggingface.co/production/uploads/65f7f16fb6941db5c2e7c4bf/7oWPoPxuEXSangDWnJ7mv.png) ## General molecule structure detection models `moldet_yolo11[size]_640_general.pt` YOLO11 weights trained on 35k human annotated image crops and 100k generated images * 640x640 input resolution * support handwritten molecules * **multiscale input** (inputs can be single/multiple molecular cutouts, reaction or table cutouts, or single-page PDF images) Warning: For single-molecule input (used as a classification model), appropriate padding can be added to enhance the performance. Result in private testing: | Model Size | mAP50 | mAP50-95 | Speed (T4 TensorRT10) | | ---- | ----- | -------- | ----- | | n | 0.9581 | 0.8524 | 1.5 ± 0.0 ms | | s | 0.9652 | 0.8704 | 2.5 ± 0.1 ms | | m | 0.9686 | 0.8736 | 4.7 ± 0.1 ms | | l | **0.9891** | **0.9028** | 6.2 ± 0.1 ms | usage: ```python from ultralytics import YOLO model = YOLO("moldet_yolo11l_640_general.pt") model.predict("path/to/image.png", save=True, imgsz=640, conf=0.5) ``` ## PDF molecule structure detection models `moldet_yolo11[size]_960_doc.pt` YOLO11 weights trained on 26k human annotated PDF pages (patents, papers, and books) * 960x960 input resolution * prefer **single page PDF image** input * better in small molecule detection Warning: It is recommended to use MuPDF to render PDF pages at more than 144dpi. Result in private testing: | Model Size | mAP50 | mAP50-95 | Speed (T4 TensorRT10) | | ---- | ----- | -------- | ----- | | n | 0.9871 | 0.8732 | 3.1 ± 0.0 ms | | s | 0.9851 | 0.8824 | 5.5 ± 0.1 ms | | m | 0.9867 | 0.8917 | 9.9 ± 0.2 ms | | l | **0.9913** | **0.9011** | 13.1 ± 0.3 ms | usage: ```python from ultralytics import YOLO model = YOLO("moldet_yolo11l_960_doc.pt") model.predict("path/to/pdf_page_image.png", save=True, imgsz=960, conf=0.5) ```