Drone-Qwen2VL-2B LoRA
распознавание действий по видео с дрона
LoRA-адаптер для базовой модели Qwen/Qwen2-VL-2B-Instruct: определяет 7 классов действий на видео с дрона — attacking, hitting, kicking, clapping, waving, walking, running. Это только адаптер, базу нужно загружать отдельно. Обучен дистилляцией от Qwen2.5-VL-3B с LoRA-адаптером.
💡 Ключевые особенности
- 🔍 7 классов: attacking, hitting, kicking, clapping, waving, walking, running.
- 🖥 16 кадров для hitting/clapping/walking/running и 8 для kicking/attacking/waving; кадры ресайзятся до 448×252.
- ⚙ Response-level distillation: loss = (1 - alpha) * CE(gt) + alpha * CE(teacher), alpha = 0.3.
- ⚡ Среднее время инференса — 2.51 с на видео.
- ⚠ Тестовая выборка маленькая: всего 2 субъекта, поэтому небольшие различия статистически ненадёжны.
📝 Пример
import torch
from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
from peft import PeftModel
base = Qwen2VLForConditionalGeneration.from_pretrained(
"Qwen/Qwen2-VL-2B-Instruct", torch_dtype=torch.float16, device_map="auto")
model = PeftModel.from_pretrained(base, "mariambhd/drone-qwen2vl-2b-distilled-alpha03-lora-7class").eval()
processor = AutoProcessor.from_pretrained("Qwen/Qwen2-VL-2B-Instruct")
Используйте тот же промпт, число кадров и ресайз 448×252, что и при обучении.
Подробнее
На тесте (субъекты [4, 8]): student — accuracy 80.00%, macro F1 69.63%, weighted F1 77.48%; teacher — 95.00%, 96.43%, 95.00%.Среднее время инференса — 2.51 с на видео.
Дистилляция response-level (hard-label), alpha = 0.3; лучшая эпоха — 1.
Тестовые субъекты [4, 8] не видели ни учитель, ни студент; выборка мала, различия статистически ненадёжны.








Комментарии