"Цифровой прорыв" - это конкурс организованный правительством России. Самый престижный конкурс страны. У конкурса несколько уровней - региональные, окружные хакатоны, например "Поволжский", "Дальневосточный" и топ: "Общероссийский", "Международный". "Международный" - это самый топ, престижнее его нет в РФ.
Мы заняли 3 место в самом престижном конкурсе, в самом престижном хакатоне, в крутом кейсе от Росатома.
Каждая такая победа идёт в зачет при расчёте рейтинга региона научного и интеллектуального потенциала на уровне правительства РФ. Стоим за Самару!
Главное и приоритетное направление конкурса - искусственный интеллект, все значимые кейсы решаются только с применением ИИ.
У конкурса несколько уровней - региональные, окружные хакатоны, например "Поволжский", "Дальневосточный" и топ: "Общероссийский", "Международный".
"Международный" - это самый топ, престижнее его нет в РФ.
В хакатоне 10 кейсов. Кейс - это задача из определённой области, определённой специализации, например как футбол, хоккей, борьба в спортивной олимпиаде.
Так же и кейсы - одни по компьютерному зрению, другие по языковым моделям.
В каждом кейсе 3 призовых места.
На международном хакатоне - самые сложные задачи, которые надо решить менее чем за 2 дня. В 17-00 пятницы старт, в воскресенье в 11-00 "стоп кодинг" С нуля до готовой рабочей программы.
Это менее чем за 42 часа. Кейсодержатели - только компании первой величины.
На "Международном хакатоне 2024" в кейсе от Росатома мы заняли 3 призовое место. Команда "Кошки понарошку". Первый раз в жизни я был не в роли капитана, а программиста, т.к. не рассчитывал на победу, поэтому и не стал сам собирать команду.
Первый раз в жизни пошёл на хакатон без подготовки, не рассчитывая на победу. Но мы победили и заняли 3 место. Очень жалко, что я не смог присутствовать там лично (работали онлайн), конкурс походил в Калининграде. Я обожаю эти тусовки! И особенно подержать в рукаж большой чек. Ну да ладно.
На каждую деталь предприятия наносится маркировка ударным способом для однозначой идентифицируемости. Сложность задачи в том, что изделия имеют различную металлическую поверхность, в том числе изогнутую.
Необходимо разработать решение, позволяющее детектировать и распознавать маркировку на изображении.
Будут метрика и лидерборд.
Примеры изделий с маркировкой
Мы разработали с нуля webapp с искусственным интеллектом для распознавания маркировки, объединив 3 нейросети.
1. Обучили Yolo распознавать область маркировки на сильно аугментированных изображениях - изменение цвета, наклона, освещённости, поворота исходного изображения.
Всего около 20 параметров изменения исходных фотографий для получения разнообразных данных, что бы освещённость, наклон не влияли на распознавание.
Обучили на 3000 эпохах и отобрали лучшие веса модели. Yolo11 нашла bounding boxes - область на изображении, где нанесена маркировка.
Мы сделали кропы изображения (найденная область маркировки)
2. Смогли распознать текст на кропах, расположенный под углом, наклоном, по кругу.
3. Распознанный текст содержал ошибки, неточности. Для решения этой задачи распознанный текст и данные по маркировки мы перевели в векторное представление с размерностью пространства = 1024
4. Из данных по маркировке мы сделали базу данных из embadding. Embedder BAAI/Bge_m3. Особенностью Embeddera является то, что он использует как разряженный так и плотный поиск для создания вектора.
5. Программа на основе расчёта косинусного расстояния между векторами отобрала k_top кандидатов из которых мы взяли первого кандидата.
6. На основе асинхронного фремворка AIOHTTP создали webapp, которое расположили на нашем сервере с GPU
7. Для лидерборда написали FULL LAUNCH, получили сабмит. Получили на лидерборде скорр в топе - один из лучших по точности работы модели.
Расчёт косинусного расстояния между векторами
Работа алгоритма BM 25
Расчёт на GPU
Расчёт производился на GPU 4090, на котором задействовано 16384 ядер CUDA + 51 ядро процессора. Скорость работы 0.27 - 0.33 сек. / изображение