В чем нейросети действительно оказались полезны
Добрый вечер, хотел рассказать о том, каким образом мне наконец то понадобились нейронки, не для эфемерной пользы, а вот прям помогли.
В кратце занимался тем, что создавал портал, с очень сильно углубленным позиционированием на 3дшников, некая такая приватная соцсеть для них, обычно такое делают на позиции тех специалиста (гейм дев) но более в меньших масштабах. И вот когда я начинал этим заниматься, в основном у всех художников была одна и та же проблема, это реюз так называемых Ассетов, пропов и прочего прочего. Они не могли друг с другом договорится. Каждый меняет одно, второй меняет первое, создают по кругу. Ассетов десятки тысяч. Текстур — сотни тысяч. Ещё столько же различных файлов с описанием этого всего дела в xml виде и подобных. При этом, сами ассеты в бинарных форматах (не обычных fbx/obj) и открыть его в стандартных софтах — нереально. В итоге это все сводится к простой проблеме для конечного игрока — десятки и сотни гигабайт контента, который наверняка можно и нужно оптимизировать, а для художника в часы и дни поиска похожего контента который можно переиспользовать. (А лежит это все дело просто в куче папок)
К сути поста. В моей хоумлабе, в добавок бэкэнду, фронтэнду и прочим микросервисам, была развернута Ollama, в которой поднята одна из локальных моделей которая на вход, умеет принимать изображения к тексту. Тут модель подбирается индивидуально под каждое железо и требования, поэтому советовать не могу.

В очень кратце, работает это так. Очень много упустил для повествования.
В наличии данные: Координаты в мире, размеры габаритов, названия районов обозначенные различным количеством координат, иногда строгие паттерны названия которые не нарушаются, сама модель + текстуры для неё со своими названиями, а так же превью сделанные нашим микросервисом. Задача для нейронки, простая. На вход подаются все эти данные в сыром виде, а на выходе, я ожидаю JSON в строгом формате тегов, с баллами для каждого. То есть условно если нейросеть, распознает очевидно Рубашку — это будет рубашка с 1.0 весом, и дальше уже она опишет цвета, и прочее прочее прочее. Так же есть дальнейшая верефикация резульата и причесывание самим бэкэндом. Анти-галлюцинации некие. Когда нейронка начинает выкидывать по 100 тегов подряд одного и того же слова.
В итоге получаем следующий результат на картинке ниже. Зеленые теги — полностью работа нейросети + бэкэнда и довольно простых алгоритмов.

результат
Сроки и время.
Тут все зависит от железа. Я запускал сей процесс на 3060 Ti и подобрал наиболее эффективную модель. на 30 тысяч уникальных пропов ушло порядка 1.5 суток. Дальше было дело техники, просто сделать алгоритм «Похожие» и правильный поиск по тегам. Далее, сами художники уже когда что то искали, то у них была возможность дополнить теги своими.

Похожее функционал
По итогу когда уже появился полноценный функционал «похожее», меня обвинили что я сделал какое то подобие Тик-Тока. Можно бесконечно ползать и смотреть похожие модели и текстуры. И это было здорово.
Если дочитали — благодарен вам. Но позволю себе привести ещё один пример удачного на мой взгляд применения нейросети уже в своем нынешнем проекте.
Это OCR. Распознование чеков на любом языке через фото. Это довольно удобно, потому что убирает необходимость алгоритма выше, вообще. Достаточно сфоткать чек и дальше, я постарался на выходе получать все возможные данные из чека. Геопозицию, товары, сумму, конкретную стоимость, автокатегоризацию и тд. По сути тоже самое, вкидываем нейросети фотографию + описание из тех данных которые есть и тд.


1/2
Чек и само распознование.
Да, этим алгоритмом никого не удивишь. Но это довольно мастхэвная штука в приложении для путешествий, которая наконец то работает надежно и точно. Сейчас я бьюсь над тем, что бы попробовать перенести его из «больших» нейросетей, в локальную плоскость на Apple Intelligence, но это довольно сложная задача, пока стараюсь исследовать и думать над этим.
Ну а пока, описанное выше попробовать можете вот тут, если захочется. https://triplet-app.com/
Стоит ли писать в таком формате и рассказывать о каких то своих наработках, было бы вам такое интересно?
И спасибо за прочтение и тех кто дочитал сей длиннопост до конца.


