Обновить

Комментарии 18

ЗакрепленныеЗакреплённые комментарии

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

Прекрасный проект, у меня уже давно есть такая же боль с разбором фотографий, и думал примерно так же подступиться к проблеме.

Только у меня была мысль написать сортировщик фото типа "кошки, собаки, здания, люди, природа" по разным папкам.

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

Скажем, обращается по API ключу к модели в облаке или имеет у себя внутри упрощенную модель. А затем уже создает базу с индексами, превью, описанием.

Минимальные требования зависят от визуальной модели - если железо потянет, минимум выполнен. Дописал в разделе "Железо".

Вот кому-то делать нечего, а. Можно же было сделать тоже самое, но с нормальным веб-интерфейсом и для докера, чтобы было возможно запускать где угодно. А так оно прибито гвоздиками к винде, да еще и к конкретному устройству, с телефона не посмотришь. Еще и к ллмке доступ хочет.

В иммиче есть помимо каталога фоток тоже самое, правда, не оч хорошо работающее на русском.

Можно же было сделать тоже самое, но с нормальным веб-интерфейсом

Зачем это делать, если можно на винформах по-быстрому набросать UI, который делает ровно то же самое?

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

Зачем пихать в докер приложение, которое работает с файловой системой?

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

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

Интересное у вас понимание докера, если честно. Для меня выглядит как "ууу, линукс на десктопе, мы же не высоконагруженный сервер делаем, а компьютер для себя"

Зачем пихать в докер приложение, которое работает с файловой системой?

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

Зачем это делать, если можно на винформах по-быстрому набросать UI, который делает ровно то же самое?

Ээээ... чтобы можно было с телефона пользоваться? У меня 90% фоток делается телефоном, и там же я хочу иметь приложеньку/веб чтобы их смотреть и искать.

Спасибо за статью и проект, выглядит интересно. Проект, связанный с AI, на dotnet нечасто увидишь.

Планируете развивать приложение или просто делали ради эксперимента?

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

Интересный эксперимент, но в практическом смысле, как уже выше писали - в Immich это всё уже реализовано.

Как поиск по OCR тексту, так и по лицам и объектам.

Эмм, так Гугл фото уже такое умеет. В этом есть хороший смысл, если ты хочешь сделать цифровую копию себя или ещё кого на базе какой-то LLM типа Mistral и дать ей доступ к фоткам, да в целом векторную бд можно использовать, чтобы дать локальной LLM некий аналог "памяти", чтобы спрашивать "напомни, что там было на прошлой неделе в чате".

Это для того, что бы не зависеть от гугла или яндекса. И не сливать им свои фото.

Immich.

Имхо, использование llm тут немного из пушки по воробьям. Для этих целей лучше подходят CLIP модели. Они и весят меньше и работают быстрее. Реализовано это например в https://immich.app/

Обработка одного фото размером 3,75 МБ (считывание фото с SSD диска, уменьшение размера до 256 пикселей, описание с промптом "Please describe image shortests in russian.", сохранение в Qdrant), занимает примерно 3,5 секунды.

Но чтение с диска фактически мгновенное, даже с медленного hdd это меньше десятой доли секунды, для такого файла. Почему вы говорите, что сильно зависит от скорости хранилища? Или я что-то не так понял?

Кроме того скорость обработки зависит и от скорости чтения с диска

Про "сильно" я не говорил, но влияние от дисковой подсистемы есть.

Для HDD: это может быть старая версия SATA, сильная фрагментация, текущая нагрузка диска другими процессами.

Для SSD: проседание скорости во время операции TRIM, тротлинг при перегреве, либо при почти полной заполненности диска.

Как предложение для улучшения - можно скачивание нужных вещей и поднятие сервисов завернуть в установщик.
Или сделать также через графический интерфейс как например в https://github.com/TNTwise/REAL-Video-Enhancer

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации