Сортировка фотографий на компьютере1
📸 Помогите найти приложение для сортировки фотографий!
У меня на компьютере скопилась целая куча фотографий, и я хочу их структурировать. Нужна программа или приложение, которое сможет автоматически отсортировать фото по категориям, например:
Скриншоты
Фото с людьми
Животные
Фото с текстом/надписями
И другие категории
Может быть, кто-то уже сталкивался с подобной задачей? Какие инструменты вы использовали? Буду благодарен за любые советы! 😊
В прицнипе реализуемо , но есть нюансы. В конце есть ссылки на удобное копирование скриптов.
Понадобится:
Компьютер с Windows 10 или Windows 11 и видеокартой Nvidia RTX 3000 или 4000 серии, теоретически можно и младше, но я не гарантирую как оно будет работать.
Powershell 7 - https://aka.ms/powershell-release?tag=stable дефолтный файл для обычных Windows x64. Скачиваем + устанавливаем
Но можно и любым другим способом zip/msi, пакетный менеджер и т.д
Ollama - клиент для нейросетей https://ollama.com/download жмём Download. Скачиваем + устанавливаем.
Модель для распознавания объектов на фото и тегирования jpg файлов llama3.2-vision:11b которую можно скачать через powershell командой.
Программа exiftool для Windows бинарик которой нужно положить в папку, либо любую другую, но тогда правиьте скрипт сооветствующий образом
Качаем сайта https://exiftool.org/ Типовой файл 64-bit:
Программа XNview, доставайте сами знаете где, либо любой другой каталогизатор изображений и фото. В jpeg есть теги, нейросеть проставляет теги в зависимости от того, что изображено на фото, по ним сможете посортировать и найти нужные объекты на фото, в XNView есть поиск по тегам, мне подошло именно так.
Собственно код, который нужно вставить в терминал Powershell с текущей папкой в папке с фотографиями формата jpg/jpeg.
Powershell cкрипт (использует GPU)
Здесь мы попросим нейросеть создать нам описание изображения, теги, комментарий и записатить всё это в EXIF самой картинки.
ВНИМАНИЕ!: скрипт обходит все подпапки!
Во время отработки скрипта побегут странные символы, видимо консольный интерфейс не предполагал, что его будут так использовать. В конце в файл будут записано описание, теги, и комментарий.
Бонус:
Можно сжать фото (до 70%) с помощью jpegoptim в несколько потоков (гораздо быстрее по сравению с обычным использованием jpegoptim *.jpg)
Jpegoptim для Windows - https://github.com/tjko/jpegoptim/releases бинарик которой нужно положить в папку C:\Jpegoptim\jpegoptim.exe.
Файл
Powershell cкрипт (использует CPU)
ВНИМАНИЕ!: скрипт обходит все подпапки!
ThrottleLimit ставьте по количеству ядер CPU минус 1 ядро, чтобы не повесить ПК
Если неудобно копировать из статьи, можно взять отсюда.
1. Описание фото с помощью нейросети
https://gist.github.com/FaustineD/e637d19f738ce8eea42cd497c17ab52b
2. Оптимизация jpg
https://gist.github.com/FaustineD/ccb61ae316b8272c3164bd7f9e805b14
UPD: Небольшой Дисклеймер, некоторые фото нейросеть может отказаться обрабатывать из-за присутствия политиков, клубнички, мата, и т.д, Это законодательные ограничения создателей нейросети.
Вместо тегов она впишет в файл, что не может обработать данные.