Views
No views yet
Accepted at CVPR 2026 🎉
uAI-NEXUS-MedVLM-1.0a-7B-RL is a medical-video understanding model fine-tuned from Qwen2.5-VL-7B-Instruct. It is the 7B-RL member of the uAI-NEXUS-MedVLM 1.0 family (variant a = Qwen2.5-VL base; variants b / c use Qwen3-VL-4B and Qwen3.5-4B respectively). Training uses a two-stage pipeline:| Task Category | Tasks |
|---|---|
| Temporal Understanding | Temporal Action Localization (TAL), Spatiotemporal Grounding (STG), Next Action Prediction |
| Captioning | Dense Captioning (GPT / Gemini), Video Summary (GPT / Gemini), Region Caption (GPT / Gemini) |
| Assessment | Skill Assessment, CVS (Critical View of Safety) |
pip install transformers accelerate torch pillow qwen-vl-utils1import torch
2from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
3from qwen_vl_utils import process_vision_info
4
5model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
6 "UII-AI/uAI-NEXUS-MedVLM-1.0a-7B-RL",
7 torch_dtype=torch.bfloat16,
8 device_map="auto",
9)
10processor = AutoProcessor.from_pretrained("UII-AI/uAI-NEXUS-MedVLM-1.0a-7B-RL")
11
12video_frames = ["frame_0001.jpg", "frame_0002.jpg", "frame_0003.jpg"] # list of frame paths
13
14messages = [{
15 "role": "user",
16 "content": [
17 {"type": "video", "video": video_frames},
18 {"type": "text", "text": "When does the surgeon grasp the gallbladder? Provide start and end times in seconds."},
19 ],
20}]
21
22text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
23image_inputs, video_inputs = process_vision_info(messages)
24inputs = processor(
25 text=[text], images=image_inputs, videos=video_inputs,
26 padding=True, return_tensors="pt",
27).to(model.device)
28
29with torch.no_grad():
30 output_ids = model.generate(**inputs, max_new_tokens=256)
31 generated_ids = [out[len(inp):] for inp, out in zip(inputs.input_ids, output_ids)]
32 response = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
33
34print(response)
35# Example: "The surgeon grasps the gallbladder from 45.2 to 58.7 seconds."1git clone https://github.com/UII-AI/MedGRPO-Code
2cd MedGRPO-Code
3pip install -r requirements.txt
4bash run_inference.sh1@inproceedings{su2026medgrpo,
2 title = {{MedGRPO}: Multi-Task Reinforcement Learning for Heterogeneous Medical Video Understanding},
3 author = {Su, Yuhao and Choudhuri, Anwesa and Gao, Zhongpai and Planche, Benjamin and
4 Nguyen, Van Nguyen and Zheng, Meng and Shen, Yuhan and Innanje, Arun and
5 Chen, Terrence and Elhamifar, Ehsan and Wu, Ziyan},
6 booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
7 year = {2026}
8}