Мы — Даврон Ихматуллаев и Михаил Назаров — выпускники онлайн-магистратуры «Науки о данных» Центра «Пуск» МФТИ. В рамках обучения на программе мы разработали KidFolio — цифровую платформу, которая автоматически отправляет родителям персонализированные фото- и видеоотчеты из детского сада, используя технологии компьютерного зрения (CV) и мультимодальных языковых моделей (VLM).

В этой статье расскажем, как мы делали из идеи продукт:

  • от гипотезы и интервью с воспитателями до запуска MVP в виде телеграм-бота;

  • как дообучали модели распознавания лиц под детский домен;

  • как «дистиллировали» знания GPT-4o в открытую мультимодальную модель;

  • как построили автоматический бенчмарк, чтобы проверять качество мультимодальных моделей без участия людей.

Если вы тоже ищете способ превратить модели в работающий продукт, опыт, описанный в статье, может быть вам полезен.

Проблема

C:\Users\Davron\Documents\Obsidian Vault\Pasted image 20250629164911.png

Представьте: ваш ребенок ходит в детский сад, а вы родитель, которому важно знать, как проходит его день. Каждый вечер вы получаете в родительском чате десятки, а иногда и сотни фотографий всей группы. И вот вы начинаете искать: «Где мой ребенок? Он вообще есть на этих фото?» Так устроена текущая реальность.

На старте проекта мы провели опросы и интервью с родителями и воспитателями. Результаты оказались однозначными:

  • обычно родителям отправляют общий поток фотографий в мессенджерах;

  • эти фото редко персонализированы, и чаще всего на них нет конкретного ребенка;

  • поиск нужных снимков превращается в ежедневный квест.

Вот что показали данные опросов:

  • 94% родителей хотели бы получать больше фотографий именно со своим ребенком;

  • 57% воспитателей сталкиваются с жалобами на нехватку фото- и видеоматериалов.

Мы поставили цель решить эти проблемы: создать цифровую платформу, которая автоматизирует создание и доставку персонализированного контента для родителей. Так появилась идея KidFolio — студенческого стартапа, который вырос из простой гипотезы в работающий MVP. 

Рroof of Concept или MVP

Для проверки жизнеспособности идеи мы разработали прототип платформы с базовым функционалом. Наша цель на этом этапе — убедиться, что ключевые технологические компоненты работают в связке и решают поставленную задачу: автоматическая персонализация медиаконтента для родителей.

Мы выделили три основных модуля системы:

  • Модуль распознавания лиц. Отвечает за определение детей на фотографиях. Используется связка MTCNN (детекция лиц) и Inception-ResNet (эмбеддинг), дообученная на собранном нами датасете с детскими изображениями.

  • Модуль генерации описаний. Отвечает за создание текстовых подписей и тегов к фотографиям. На этапе MVP мы тестировали как GPT-4o-mini, так и дообученные нами открытые модели LLaMA 3.2 Vision и Qwen 2.5-VL (Vision-Language).

  • Телеграм-бот. Служит интерфейсом взаимодействия с системой. Он интегрируется в чаты воспитателей, автоматически получает фотографии, запускает обработку и доставляет родителям персонализированный контент.

В работе над MVP мы разделили зоны ответственности:

  • Михаил Назаров занимался разработкой модуля компьютерного зрения (CV) — от сбора датасета до дообучения модели распознавания лиц;

  • Даврон Ихматуллаев отвечал за мультимодальные языковые модели (NLP/VLM), генерацию описаний фотографий из детского сада.

Даврон Ихматуллаев и Михаил Назаров
Даврон Ихматуллаев и Михаил Назаров

Адаптация модели: от взрослых к детским лицам

Распознавание лиц — одна из самых проработанных задач в компьютерном зрении. На открытых датасетах вроде LFW или VGGFace2 современные модели показывают почти идеальные результаты. Но есть нюанс: эти датасеты состоят преимущественно из фотографий взрослых.

C:\Users\Davron\Documents\Obsidian Vault\Pasted image 20250629181600.png
Распределение изображений по возрастам в датасете VGGFace2

Когда мы начали работать с фотографиями детей из детских садов, сразу стало понятно — стандартные модели дают сбой. Дело не только в меньшем размере лиц и нестандартных ракурсах, но и в том, что детские черты сильно отличаются от взрослых. В результате модель, отлично работающая на взрослых, не справляется в новом домене. 

На старте мы использовали предобученную FaceNet (на базе Inception-ResNet), обученную на 3.3 млн изображений из VGGFace2. Но при тестировании на нашем наборе детских фото (1299 изображений, 14 детей) она показала Recall@Precision=0.95 всего 0.279. Проще говоря, при зафиксированной высокой точности в большинстве случаев FaceNet просто не находила нужные фото. Мы выбрали именно эту метрику, чтобы родителю не приходили фотографии других детей. 

Чтобы решить проблему, мы провели дообучение модели с использованием датасета YLFW (Young Labeled Faces in the Wild) — сбалансированного набора данных, специально созданного для распознавания детских лиц. В нем представлены десятки тысяч изображений детей различных рас: европейской, азиатской, индийской и африканской. 

C:\Users\Davron\Documents\Obsidian Vault\Pasted image 20250629182154.png
Примеры изображений из датасета YLFW (Young Labeled Faces in the Wild)

Детали подхода к дообучению — в следующем разделе.

Стратегии дообучения: как мы научили модель распознавать детей

После первых экспериментов стало ясно: использовать стандартную FaceNet невозможно без дообучения под детский домен. Мы протестировали три разных стратегии дообучения:

  1. Полное дообучение. Обновляются все слои модели, включая те, что отвечают за базовые визуальные признаки (контуры, текстуры).

  2. Частичное дообучение. Замораживаются начальные слои, и обучение идет только по верхним уровням, где формируются более абстрактные признаки (например, расстояние между глазами).

  3. Двухэтапное дообучение. Сначала добавляется дополнительный линейный слой, который учится преобразовывать эмбеддинги, а затем проводится полное дообучение всей модели.

Лучшую метрику дала именно первая стратегия: полное дообучение позволило достичь Recall@Precision = 0.95 = 0.496. Наша гипотеза — детские лица существенно отличаются от взрослых по морфологии: мягкие черты, меньшие пропорции, менее выраженная текстура кожи. 

Triplet Loss и сложные случаи

Для обучения мы использовали классическую Triplet Loss — она учит модель сближать эмбеддинги одного и того же лица и отдалять — разных. Однако есть нюанс: если подавать на обучение случайные тройки изображений, модель слишком легко различает их, и обучение идет вхолостую.

Мы применили HNM (Hard Negative Mining) — технику, при которой модель сама выбирает наиболее похожие, но принадлежащие разным детям, изображения.

Оптимальной оказалась следующая конфигурация:

  • выбираем top-40 самых сложных негативов;

  • из них случайно отбираем примеры с вероятностью p = 0.6.

Это позволяет сохранить баланс: обучаться на сложных случаях, но не переобучаться. 

Как обойтись без большого датасета

Крупные датасеты с детскими лицами обычно недоступны из-за ограничений по персональным данным. Из-за лицензионных ограничений мы использовали YLFW-Benchmark — открытый набор с 6552 изображениями (1996 детей). Чтобы компенсировать ограниченность объема, применяли активную аугментацию:

  • изменение яркости и контраста;

  • насыщенность;

  • горизонтальное отражение.

Для стабильного обучения использовали оптимизатор SGD с learning rate = 1e-5, momentum = 0.9, и шаговым снижением (StepLR, gamma = 0.5 каждые 10 эпох).

Результаты: какая стратегия лучше

После серии экспериментов мы сравнили несколько стратегий дообучения и функций потерь для задачи распознавания детских лиц:

C:\Users\Davron\Documents\Obsidian Vault\Pasted image 20250629190239.png

Наилучшие результаты показала связка: 

  • Полное дообучение.

  • Triplet Loss.

  • HNM с top-40 hardest negatives и вероятностным отбором (p = 0.6).

Эта конфигурация позволила добиться Recall@Precision = 0.95 = 0.496, что стало основой для интеграции модели в рабочее MVP и дальнейшего масштабирования решения. 

Модуль генерации описаний

Переслать родителям фото или видео ― половина дела. Куда ценнее снабдить снимок живым комментарием: _«изучаем планеты и звезды! Наша космическая экспедиция в полном разгаре! ? #космос #астрономия #изучение». Если описание обогатит контент, то теги будут полезны для поиска и аналитики. Делать это вручную для сотен фотографий в день невозможно, поэтому в KidFolio мы положились на визуально-мультимодальные большие языковые модели (Visual-Language Models, VLM).

Как работает современная визуально-языковая модель (VLM)

Любая VLM ― это «конструктор из трех деталей», каждая из которых отвечает за свою часть задачи:

Блок

Что делает

LLM (Large Language Model)

Принимает последовательность токенов и предсказывает следующий ― именно так генерируется текст. Пример: LLaMA-3

Vision Encoder (CNN или ViT)

Превращает картинку в компактный вектор-эмбеддинг, где уже закодированы формы, цвета, отношения объектов

Adapter/Projector

«Сшивает» два мира: преобразует визуальный эмбеддинг в формат, который LLM воспринимает как специальные «визуальные» токены

C:\Users\Davron\Documents\Obsidian Vault\Pasted image 20250629192128.png

Инференс VLM:

  1. Картинка → Vision Encoder: получаем вектор (эмбеддинг) изображения.

  2. Эмбеддинг → Adapter: вектор перегоняется в несколько токенов, совместимых с LLM.

  3. Промпт + визуальные токены → LLM: LLM сначала видит текстовый запрос, затем «картинные» токены и продолжает последовательность уже осмысленным описанием.

Итог: одна и та же модель знает, что нарисовано (благодаря Vision Encoder) и как об этом рассказать (благодаря LLM), а Adapter выступает переводчиком между двумя областями.

Такой тройственный союз позволяет генерировать подписи к фотографиям, отвечать на вопросы о содержимом кадра и выполнять другие мультимодальные задачи, оставаясь при этом достаточно гибким: улучшая любой из трех блоков, можно точечно повышать качество всей системы.

Закрытые модели против открытых

Первый тест мы провели на реальных фотографиях из детского сада, используя облачные API — OpenAI и Groq, — чтобы сравнить поведение различных визуально-языковых моделей в условиях, приближенных к реальной эксплуатации. Для соблюдения конфиденциальности все лица на изображениях были маскированы черными квадратами, чтобы модели фокусировались на действии и окружении, а не на узнаваемости ребенка.

C:\Users\Davron\Documents\Obsidian Vault\Pasted image 20250629193015.png

Результаты показали четкую картину:

  • GPT-4o, запущенный через OpenAI API, продемонстрировал высокую стабильность и точность — более 90% описаний соответствовали содержанию снимка.

  • Модели, запущенные на Groq (в частности, LLaMA 3.2 Vision), работали менее уверенно: описания были более обобщенными, часто упускали важные детали или не отражали сути сцены, а также не следовали четко инструкциям.

Это подтвердило наш начальный вывод: открытые модели требуют дополнительного обучения, чтобы адаптироваться под специфику детских фотографий и задачи автоматической генерации описаний. К счастью, современные исследования (Fine-tuning Multimodal LLMs to follow zero-shot demonstrative instructions, Fine-Tune Meta Llama 3.2-Vision-Instruct Multimodal LLM on Intel Accelerators) показывают, что такой fine-tuning способен существенно сократить разрыв в качестве.

Как выбрать подходящую VLM для дообучения: ориентиры в мире, где все быстро меняется

С открытыми мультимодальными моделями есть одна проблема — их слишком много. Разработчики выкладывают новые версии буквально каждую неделю, и платформа Hugging Face уже превратилась в живой каталог экспериментальных VLM. С одной стороны, это отличный признак: область активно развивается. С другой — сложно уверенно сказать, какая модель подойдет именно для вашей бизнес-задачи. 

C:\Users\Davron\Documents\Obsidian Vault\Pasted image 20250629195642.png

Чтобы не теряться в этом потоке, мы сформулировали системный подход к выбору моделей и построению процесса дообучения. Он включает:

  • выбор допустимого размера модели (по памяти и производительности);

  • анализ результатов в открытых бенчмарках;

  • подготовку собственного датасета для дообучения и бенчмарка;

  • автоматическую систему оценки качества описаний (в том числе с использованием LLM-as-a-Judge).

Так как наша архитектура предполагает запуск в условиях ограниченных ресурсов (один виртуальный сервер на детсад, без GPU, с максимум 16 GB ОЗУ), модели объемом от 1 до 15 миллиардов параметров — это верхний предел.

Бенчмарки и первые ориентиры

Мы проанализировали актуальный OpenVLM Leaderboard (по состоянию на 02.02.2025) и выбрали двух сильных кандидатов:

  • Qwen2.5-VL-3B — лидер в категории моделей до 4B параметров. Выход: январь 2025 года.

  • LLaMA-3.2-11B-Vision — свежая модель от Meta (октябрь 2024), перспективный кандидат в среднем классе моделей до 15B.

Как мы дообучали VLM

Для тонкой настройки мы собрали собственный датасет:

  • 4280 фотографий из телеграм-группы детского сада за 4 месяца;

  • разметка велась с помощью GPT-4o-mini, выступающего в роли «учителя» (подход Teacher-Student);

  • разбиение: 3852 на обучение и 428 на валидацию.

Обучение проводилось в облаке immers.cloud на серверах с RTX 4090. Immers.cloud — провайдер облачных вычислений, партнеры магистерской программы «Науки о данных» Центра «Пуск» МФТИ, которые выдали доступ к ВМ студентам, работающим над дипломными проектами и исследованиями). 

Для экономии ресурсов использовалась технология LoRA (Low-Rank Adaptation), а реализация происходила с помощью фреймворка Unsloth.

Мы протестировали два подхода к fine-tuning:

  1. Полное дообучение всех компонентов модели.

  2. Частичное дообучение, при котором визуальный энкодер остается «замороженным».

Как мы проверяли, что модели стали «умнее»: ручная и автоматическая оценка

Дообучение модели — это только половина пути. Важно проверить «честно», что она действительно начала лучше понимать фотографии и формулировать описания, которые соответствуют содержанию. Для этого мы провели полноценную проверку качества генерации на другом датасете, не использовавшемся при обучении.

Мы собрали отдельный набор из 3383 фотографий из другой группы детского сада (группа № 2). Из них 400 изображений были случайным образом отобраны для оценки — снимки покрывали разнообразные типы активности: игры, занятия, прогулки, творчество и др.

Мы разработали простое Gradio-приложение, в котором воспитатели (эксперты) вручную оценивали, насколько точно описание отражает то, что происходит на фото.

C:\Users\Davron\Documents\Obsidian Vault\Pasted image 20250629193822.png

Результаты:

  • LLaMA-3.2-11B (дообучены все слои) — достигла ~90% точности, практически сравнявшись с GPT-4o-mini;

  • LLaMA-3.2-11B (заморожен визуальный энкодер) — немного ниже: ~87%;

  • Qwen2.5-VL-3B после дообучения — 66.5%, при том что исходные результаты были выше, чем у LLaMA.

Как автоматизировать проверку качества описаний: AutoBenchmark и модель-судья

Оценка качества сгенерированных описаний — задача не менее сложная, чем их создание. Если проверять все вручную, с привлечением экспертов, процесс превращается в долгий и ресурсоемкий марафон. Чтобы ускорить цикл разработки, мы разработали систему AutoBenchmark — подход, в котором роль проверяющего берет на себя другая большая модель.

Идея проста: если LLM уже умеет анализировать текст (а VLM — и текст, и изображения), почему бы не научить ее оценивать описание и говорить, насколько оно соответствует эталонному описанию или исходному изображению?

Подход 1: LLM-as-a-Judge. Здесь мы сравниваем два текста: 

  • эталонное описание (например, от GPT-4o-mini);

  • сгенерированный вариант от дообученной модели.

На вход LLM (в нашем случае — все та же GPT-4o-mini) подается запрос вроде: «Сравни два описания одного изображения. Насколько второе соответствует первому по содержанию, логике и деталям? Оцени по шкале от 0 до 1». 

C:\Users\Davron\Documents\Obsidian Vault\Pasted image 20250629194647.png

Результат оказался обнадеживающим:

То есть LLM уже умеет оценивать почти как человек — с небольшим, но допустимым расхождением. 

Подход 2: VLM-as-a-Judge. Если LLM сравнивает два текста, то VLM сравнивает текст и саму картинку. Это еще ближе к реальной задаче: ведь важно, чтобы описание отражало содержимое кадра, а не просто совпадало с шаблоном.

Мы использовали визуально-языковую модель, которая на вход получает:

  • саму фотографию;

  • описание, сгенерированное моделью.

Модель «читает» изображение и сама решает, насколько описание адекватно.

C:\Users\Davron\Documents\Obsidian Vault\Pasted image 20250629194710.png

Результаты: 

  • Корреляция с ручной оценкой — 76.8%;

  • Отклонение оценок менее 1% — это говорит о стабильности и воспроизводимости.

Что это дает стартапу:

  • Позволяет в разы сократить затраты времени на ручную проверку.

  • Дает объективные и согласованные метрики — можно быстро сравнивать разные версии моделей.

  • VLM-as-a-Judge оказался чуть ближе к мнению человека и лучше работает именно в контексте фотографий детей, где важны визуальные детали, а не просто соответствие шаблону.

Итог: автоматические «судьи» стали полноценной частью нашего пайплайна. Теперь каждый новый эксперимент с fine-tuning можно быстро и достоверно оценить.

Заключение: что мы сделали

Проект KidFolio начался как учебная гипотеза о том, что родители хотят больше видеть, как проводят время их дети в детском саду. А закончился работающим MVP, который умеет:

  • автоматически распознавать детей на фотографиях;

  • генерировать осмысленные описания к этим фото;

  • самостоятельно проверять, насколько эти описания получились удачными.

В процессе мы:

  • адаптировали модели распознавания лиц под детский домен;

  • обучили мультимодальные модели (VLM);

  • внедрили AutoBenchmark с LLM- и VLM-судьями;

Надеемся, наш опыт окажется полезным. Пусть технологии помогают вам лучше понимать и поддерживать своих детей!


Авторы: Даврон Ихматуллаев и Михаил Назаров — создатели платформы KidFolio, выпускники онлайн-магистратуры «Науки о данных» Центра «Пуск» МФТИ.

Комментарии (6)


  1. kovserg
    09.07.2025 11:39

    dd
    dd


  1. NutsUnderline
    09.07.2025 11:39

    остается понять зачем. приучаем к большому брату с пеленок.


    1. kenomimi
      09.07.2025 11:39

      Затем, что кто-то пытается снизить свою дикую тревожность иллюзией контроля, вместо того, чтобы лечить эту тревожность у психиатра.


  1. salnicoff
    09.07.2025 11:39

    Надеюсь, дальше ваших дипломных работ ЭТО никуда не пошло?


  1. oliva80
    09.07.2025 11:39

    и как не жалко времени и ресурса GPU на такую бессмыслецу :)


  1. Margutoop
    09.07.2025 11:39

    Наверное это логично в наше время, но все же страшно не только за детей, но и за таких черезчур обеспокоеных родителей