По этой ссылке приложение для поиска по датасету 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

И 10,000 скачиваний в день.

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

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

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

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

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

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

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

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

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

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

Я:

  • Скорость.

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

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

Стартаперы:

  • Брэнд.

  • Community.

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

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

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

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

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

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

Q: Зачем нам вообще нужны аугментации?
A: Потому что мало релевантных размеченных данных.

Q: Как еще можно решить эту проблему?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

P.S. Писать лучше на LinkedIn
P.P.S. Пост на английском

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


  1. noonv
    10.08.2022 13:34
    +1

    Возможным плюсом к платному функционалу может быть доработка аугментаций под конкретную задачу заказчика.


    1. ternaus Автор
      10.08.2022 19:38
      +1

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