Adapting Open-Weight MLLMs to Generate Point Prompts for Electron Microscopy Segmentation
Organizations: University of Cambridge, Cambridge, UK · MRC Laboratory of Molecular Biology, Cambridge, UK
Abstract
Promptable models such as microSAM segment electron microscopy (EM) images from point prompts, but automation requires generating prompts without user input. We ask whether open-weight multimodal large language models (MLLMs) can generate them from natural-language requests by returning coordinates to a frozen segmenter. To that end, we convert masks from three mitochondria datasets into training examples, pairing images and instructions with centroid coordinates, then train LoRA adapters while freezing the MLLM backbone and microSAM. We find that Qwen3-VL reaches segmentation AP after supervised fine-tuning and reward optimization, up from without adaptation, while automatic prompt generation (APG) achieves . In addition, two other MLLMs improve, reaching or exceeding APG. When compared with a supervised centroid-heatmap detector that reaches AP for this mitochondria task, Qwen3-VL more closely matches the annotated point set and instance counts. Moreover, training on two public datasets transfers to an unseen third, while training on all three transfers to an independent EM volume. Robustness tests show stable performance under unseen formulations of the natural-language request, while the coordinates can be reused by a second segmenter. To our knowledge, this is the first feasibility study of open-weight MLLMs as EM point generators, providing an inspectable, language-directed link between localization and mask decoding.
Figures & tables
| Prompt source | Training | AP 50 | AP 75 | mAP | Dice | mSA | MAE |
|---|---|---|---|---|---|---|---|
| MLLM point generators | |||||||
| Qwen3-VL | zero-shot | 0.247 | 0.235 | 0.202 | 0.323 | 0.183 | 1.182 |
| Qwen3-VL | SFT | 0.712 | 0.659 | 0.570 | 0.776 | 0.538 | 0.606 |
| Qwen3-VL | SFT+GRPO | 0.736 | 0.678 | 0.585 | 0.792 | 0.547 | 0.564 |
| InternVL3.5 | SFT | 0.774 | 0.714 | 0.613 | 0.812 | 0.574 | 0.535 |
| Molmo2 | SFT | 0.817 | 0.747 | 0.644 | 0.836 | 0.611 | 0.461 |
| Setting | SFT | GRPO |
|---|---|---|
| LoRA rank / / dropout | inherited from SFT | |
| Learning rate | ||
| Per-device batch size | ||
| Gradient accumulation | ||
| Epochs | primary; cross-model | |
| Schedule / warmup | cosine / | implementation default |
| Dataset | Training crops | Test crops |
|---|---|---|
| Lucchi++ | 2,869 | 342 |
| VNC | 433 | 79 |
| MitoEM-H | 2,655 | 332 |
| Combined | 5,957 | 753 |
| Model and stage | Diag. F1 @0.10 | Point-in-mask prec. | Object recall | Point-count MAE | Centroids in masks | Instances |
|---|---|---|---|---|---|---|
| Qwen3-VL zero-shot | 0.170 | 0.293 | 0.201 | 1.182 | 0.988 | 1747/1768 |
| Qwen3-VL SFT | 0.747 | 0.852 | 0.718 | 0.603 | 0.988 | 1747/1768 |
| Qwen3-VL SFT+GRPO | 0.765 | 0.854 | 0.742 | 0.566 | 0.988 | 1747/1768 |
| InternVL3.5 SFT | 0.806 | 0.897 | 0.791 | 0.534 | 0.988 | 1747/1768 |
| Molmo2 SFT | 0.846 | 0.918 | 0.840 | 0.465 | 0.988 | 1747/1768 |
| Stage | Lucchi++ | MitoEM-H | VNC | Macro | All data |
|---|---|---|---|---|---|
| SFT | 0.831 | 0.605 | 0.647 | 0.695 | 0.712 |
| SFT+GRPO | 0.843 | 0.630 | 0.714 | 0.729 | 0.736 |
| Dataset | Crops | Instances | Mean inst./crop | Median inst./crop | Median area (px) |
|---|---|---|---|---|---|
| Lucchi++ | 342 | 715 | 2.091 | 2 | 2,109 |
| MitoEM-H | 332 | 899 | 2.708 | 3 | 1,108 |
| VNC | 79 | 154 | 1.949 | 2 | 1,390 |
| LoRA rank | AP 50 |
|---|---|
| 4 | 0.565 |
| 8 | 0.599 |
| 16 | 0.619 |
| 32 | 0.712 |
| 64 | 0.653 |
| Input source | Backend | Dice | AP 50 | AP 75 | mAP | mSA | Count MAE |
|---|---|---|---|---|---|---|---|
| SAM 3 text prompt | SAM 3 | 0.008 | 0.008 | 0.008 | 0.008 | 0.008 | 2.348 |
| Qwen3-VL SFT points | SAM 3 | 0.761 | 0.698 | 0.642 | 0.564 | 0.536 | 0.607 |
| Qwen3-VL SFT points | microSAM | 0.776 | 0.712 | 0.659 | 0.570 | 0.538 | 0.606 |
| Subset | Crops | Diag. F1 | Point-in-mask | Object recall | Dice | AP 50 | AP 75 | mAP | mSA | Count MAE |
|---|---|---|---|---|---|---|---|---|---|---|
| Larval-fly 1% | 131 | 0.545 | 0.753 | 0.462 | 0.567 | 0.464 | 0.438 | 0.379 | 0.372 | 1.214 |
| Backend | Dice | AP 50 | AP 75 | mAP | mSA | Count MAE |
|---|---|---|---|---|---|---|
| vit_b_em_organelles | 0.792 | 0.736 | 0.678 | 0.585 | 0.547 | 0.564 |
| vit_l_em_organelles | 0.797 | 0.729 | 0.686 | 0.601 | 0.569 | 0.564 |
| Stage | Phrasing | Dice | AP 50 | mAP | Count MAE |
|---|---|---|---|---|---|
| SFT | Standard | 0.776 | 0.712 | 0.570 | 0.606 |
| SFT | pv01 | 0.777 | 0.715 | 0.571 | 0.603 |
| SFT | pv02 | 0.782 | 0.726 | 0.580 | 0.579 |
| SFT | pv03 | 0.775 | 0.712 | 0.570 | 0.614 |
| SFT | pv04 | 0.785 | 0.723 | 0.576 | 0.575 |
| SFT | pv05 | 0.778 | 0.717 | 0.571 | 0.620 |
| Unadapted | SFT checkpoint | |||
|---|---|---|---|---|
| Phrasing | Point F1 | AP 50 | Point F1 | AP 50 |
| Morph-1 | 0.036 | 0.180 | 0.664 | 0.606 |
| Morph-2 | 0.053 | 0.287 | 0.713 | 0.730 |
| Morph-3 | 0.042 | 0.276 | 0.707 | 0.668 |
| Mean | 0.044 | 0.248 | 0.695 | 0.668 |
| Dataset | SFT | SFT+GRPO |
|---|---|---|
| Lucchi++ | 0.709 | 0.711 |
| MitoEM-H | 0.531 | 0.567 |
| VNC | 0.436 | 0.463 |
| Setting | Point F1 | PiM | Obj. recall | AP 50 | mSA | Count MAE |
|---|---|---|---|---|---|---|
| Combined | 0.674 | 0.655 | 0.964 | 0.904 | 0.456 | 1.483 |
| Held-out Lucchi++ | 0.424 | 0.383 | 0.920 | 0.888 | 0.282 | 3.570 |
| Held-out VNC | 0.385 | 0.325 | 0.884 | 0.804 | 0.194 | 3.722 |
| Held-out MitoEM-H | 0.549 | 0.660 | 0.749 | 0.708 | 0.387 | 1.108 |
| Condition | Crops | Dice | AP 50 | AP 75 | mAP | mSA | Count MAE |
|---|---|---|---|---|---|---|---|
| Lucchi++ | 342 | 0.949 | 0.944 | 0.934 | 0.890 | 0.837 | 0.231 |
| MitoEM-H | 332 | 0.865 | 0.834 | 0.741 | 0.682 | 0.560 | 0.756 |
| VNC | 79 | 0.824 | 0.863 | 0.693 | 0.637 | 0.490 | 0.835 |
| All data | 753 | 0.899 | 0.887 | 0.824 | 0.772 | 0.679 | 0.526 |
| Radius | Point F1 | AP 50 | Count MAE |
|---|---|---|---|
| 8 | 0.674 | 0.904 | 1.483 |
| 12 | 0.677 | 0.904 | 1.466 |
| 16 | 0.679 | 0.904 | 1.434 |
| 24 | 0.681 | 0.903 | 1.378 |
| 32 | 0.683 | 0.900 | 1.303 |
| 48 | 0.690 | 0.885 | 1.094 |
| Point strategy | Mean selected-mask IoU | IoU | IoU | Centroid dist. | Boundary dist. |
|---|---|---|---|---|---|
| Projected centroid | 0.828 | 0.954 | 0.833 | 0.21 | 16.80 |
| Boundary-near | 0.827 | 0.941 | 0.852 | 23.40 | 2.05 |
| Distance maximum | 0.819 | 0.943 | 0.825 | 9.37 | 20.88 |
| Random interior | 0.821 | 0.939 | 0.833 | 17.81 | 7.94 |