Container damage inspection
инспекция контейнеров с детектором и LoRA-верификатором
Пайплайн для автоматической проверки морских контейнеров по фото и видео: находит вмятины, отверстия и ржавчину, ставит вердикт fit, repair или out_of_service и просит человека, если не уверен. Сделан командой QH-109 для хакатона Qai x Hugging Face в Дохе. В основе — дообученный RF-DETR large на 896 px, фильтр OWLv2 и LoRA-адаптер Qwen3-VL-8B для проверки боксов.
⚙ Ключевые особенности
- 🔎 Детектор RF-DETR large ищет кандидатов на повреждения; на фото добавляются flip и TTA 672/1120 px с Weighted Boxes Fusion.
- 🛡 OWLv2 без дообучения находит контейнер и отбрасывает боксы вне него.
- 🧑💻 LoRA Qwen3-VL-8B, обученная через TRL, даёт второе мнение по каждому боксу и подтверждает отверстия.
- ⚡ Отверстие считается
out_of_serviceтолько после подтверждения верификатором; неподтверждённый бокс с порогом ≥0.20 получаетneeds_human_check. - 🧳 Сторона и номер контейнера берутся у hosted Qwen3-VL-30B; пайплайн рассчитан на поддержку инспектора, а не на финальную сертификацию.
🔍 Пример
repo = 'Omar111199/team-qh-109-container-inspect'
processor = AutoImageProcessor.from_pretrained(repo)
detector = AutoModelForObjectDetection.from_pretrained(repo)
base = AutoModelForImageTextToText.from_pretrained('Qwen/Qwen3-VL-8B-Instruct')
folder = snapshot_download(repo, allow_patterns='verifier/*')
verifier = PeftModel.from_pretrained(base, f'{folder}/verifier')
Подробнее
Полный пайплайн на всём тесте: F1 54.9% (precision 67.5%, recall 46.2%); dent — 53.4%, hole — 63.1%.Детектор без пайплайна: 46 мс на изображение на a10g-small, примерно в 100 раз быстрее hosted vision model с 4.68 с.
Полная обработка фото на A10G — 1.82 с медиана, пик GPU — 17.6 ГБ.
Ограничения: ржавчина не оценена в тесте, модель находит меньше половины размеченных повреждений, 8 из 73 фото с отверстиями не получают ни находки, ни флага; видео может дважды считать один дефект, а логотипы иногда принимаются за вмятины.








Комментарии