От Albumentations к Image Search

По этой ссылке приложение для поиска по датасету Open Images (1.7M картинок).

Загружаете свою картинку — получаете 5 похожих.


Вопросы:

  • А можно не сайт, а API?

  • А можно не 5, а 1000?

  • Мы очень трепетно относимся к приватности данных. Можно на нашем железе?

  • А можно не на Open Images, а на другом датасете?

  • А можно выдавать не только картинки, но и сегментационные маски, боксы и метки классов?

  • А будет работать на миллиарде картинок?

  • А можно делать поиск не картинкой, а текстом?

Ответ — твердое да.

Хотя непонятно с другими доменами. Текущий поиск работает на естественных картинках и для медицинских и спутниковых нужны новые модели. Их под рукой у меня нет, хотя было бы желание и такое можно сделать.

Если у кому-то такой image search нужен — пишите в комментариях или мне на LinkedIn — будем разбираться какую именно функциональность добавлять.

Пока в голову приходят:

  1. На публичных данных: у компании есть модель, своих данных мало. Загрузили картинки на которых модель отрабатывает плохо, получили похожие, разметили, добавили к тренировочным данным. Качество модели улучшилось.

  2. На своих данных: ровно то же, что и выше, но на неразмеченных данных компании.

  3. На своих данных: можно использовать для более быстрой разметки. Для каждой картинки вывело кластер похожих картинок. Глазами посмотрел — все еноты. Поставил метку сразу для 20 картинок. 20x к скорости разметки.

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

Если у кого-то есть идеи или просто мысли в слух кому такая функциональность может понадобится — пишите не стесняйтесь. Буду рад идеям любой степени дикости.

Для логирования — логика, по которой я дошел до Image Search.

В свободное время я учвствую в проекте Albumentations.AI — это Open Source библиотека для аугментации данных.

Я писал про то, как она развивалась на хабре — Рождение Albumentations.

В лучшие времена в Core Team было 5 человек.

Пару лет назад работа над библиотекой превратилась из чего-то приятного и для себя в поддержку.

В этот момент от команды откололся Саша Буслаев, в честь которого, собственно, библиотека и была названа. Я тоже начал меньше участвовать в проекте — поддержкой и так все на работе занимаются за деньги, а тут в свободное время и за бесплатно.

И нас осталось четверо.

Когда в феврале началась война от команды отвалился Женя Хведщеня. Женя живет Одессе, в соседние дома начали прилетать ракеты и стало не до библиотеки.

И нас осталось трое.

Война — дело мерзкое, так что не только Женю, но и нас она выбило из колеи. Несколько месяцев к библиотеке не притрагивались.

Более того, мы сами модели давно не тренировали, а когда тренировали текущей функциональности хватало за глаза.

То есть к маю 2022:

  • на GitHub висело 300 issues

  • 40 pull requests

  • при этом 10,000 скачиваний в день и 10,000 звезд на GitHub

То есть, с одной стороны у библиотеки хорошая популярность, а с другой, у проекта были все шансы загнуться.

Идея первая: найти кого-то кто взял бы проект на себя. Там вылезала ровно та же проблема — пока глаза горят человек работает над проектом, но в определенный момент они угаснут.

Идея вторая: влить новую кровь в core team. Мы предложили одному крутому разработчику, который создавал качественные pull requests, влиться в Core Team. Он вежливо отказался — у него есть своя open source библиотека которую надо развивать.

Идея третья: найти $5000 в месяц, нанять одного человека для работы full time.

Я поспрашивал на LinkedIn, да у знакомых стартаперов, как вообще можно найти деньги в такой ситуации?

Есть два варианта:

  1. Собирать пожертвования.

  2. Построить компанию основе Albumentations в режиме Open Core, то есть библиотека бесплатная как и была, а вот сбоку от нее, чтобы SaaS, или функционал нужный компаниям: privacy, security и так далее.

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

Я:

  • Скорость.

  • Удобный функционал.

  • Широкий спектр преобразований под разные домены данных.

Стартаперы:

  • Брэнд.

  • Community

  • То, что библиотека уже интегрирована в тысячах компаний.

Я несколько недель общался с теми, кто использует библиотеку.

Собирал feedback(блог пост на хабре: Albumentations: Feedback ) и пытался найти идеи для бизнеса. Так вот идеи для бизнеса я не нашел.

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

Гораздо лучше — инструменты для колаборации разработчиков, а еще лучше для коллаборации нескольких команд.

Когда я задавал вопросы, старался смотреть шире.

Зачем нам вообще нужны аугментации? Потому что мало релевантных размеченных данных. Как можно решить такую проблему?

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

Часто есть море неразмеченных данных и надо понять какие из них использовать.

Доразмечать надо те картинки, которые «похожи» на .проблемные.

Так вот слово «похоже» определено плохо.

Это может быть:

  1. То, как работает модель. Картинки A и B похожи потому что модель XXX на них отрабатывает плохо или неуверенно. Причем модель может отрабатывать плохо на этих картинках по разным причинам.

  2. Цветовое распределение. У меня был случай когда тренировочные данные собрали летом и модель хорошо работала, а потом наступила осень, все стало темнее и модель поплыла.

  3. Семантика. тут енот, там енот.

  4. Или любая другая метрика расстояния.

Это все разные случаи и какой из них использовать зависит от специфики задачи.

Первый случай называется Active Learning, и, я думаю, его вручную делали примерно все ML инженеры. В нем, кстати, аугментации органично используются.

Прямо сейчас мне хочется понять куда бы этот поиск по картинкам прикрутить.

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

Руки тянутся что-то запилить, осталось понять что. 🙂

P.S. Писать лучше на LinkedIn


ссылка на оригинал статьи https://habr.com/ru/post/681734/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *