MacOS-приложение для поиска дубликатов фото
Разработали инструмент, который группирует похожие изображения, удаляет дубли и ускоряет подготовку фотоматериалов.Клиент
Медиаагентство из Нидерландов, специализируется на производстве каталогов, лукбуков и рекламных материалов для fashion- и e-commerce брендов. Агентство много снимало и ежедневно обрабатывало большие массивы изображений – от RAW до предварительных версий, которые накапливались после каждой съемки.
Вызовы
К 2018 году архивы студии выросли настолько, что привычная ручная систематизация оказалась затруднена. Каждая съемка давала десятки почти одинаковых кадров: лишь небольшие отклонения по свету, позе или ракурсу. Формально изображения выглядели одинаковыми, но для фотографа были совершенно разными.
Бытовые утилиты для поиска дубликатов не решили задачу. Они сравнивали файлы по имени, размеру или метаданным, но не умели работать с тем, что было на изображении.
Агентству нужен был инструмент, который учитывал бы специфику студийной съемки и отличал истинные дубли от похожих, но значимых вариаций.

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

Классические алгоритмы анализа изображения
Использовать нейросеть в локальном десктоп-приложении было бы избыточным. В 2018 году мы уже работали с ML-подходами, но характер таких проектов был совсем иным. Они применялись скорее в исследовательских задачах или как отдельные серверные модули, но никак не в десктоп-инструментах под прикладные задачи.
К тому же нейросетевые решения тогда требовали отдельной инфраструктуры и настройки окружения, которых у клиента не было.
Как работает приложение для поиска дубликатов изображений:
Анализ и обработка
Приложение ориентируется на видимые особенности кадра: свет, тональность, расположение основных элементов.
Эта логика позволила приложению аккуратно группировать фотографии в серии, а пользователю — мгновенно понимать, какие варианты относятся к одной группе и какой кадр стоит оставить как главный.
Технологический стек
Как и в большинстве агентств такого рода, вся инфраструктура была ориентирована на MacOS – привычную экосистему для обработки изображений и подготовки материалов.
Технологическая основа на Objective-C стала логичным выбором. Swift тогда уже использовался, но Objective-C оставался более предпочтительным для тяжелых, системных задач. Он обеспечил высокую производительность, быстрый доступ к системным API MacOS и предсказуемую работу с медиаданными – качества, критичные при обработке больших фотоархивов.
Производительность
Мы оптимизировали работу с файлами так, чтобы даже крупные каталоги открывались без задержек. Приложение последовательно разбирает директории, экономно использует память, быстро формирует предпросмотр и выполняет все тяжелые операции в фоне. Это позволило сохранить отзывчивость интерфейса даже при работе с объемными RAW.
Интерфейс
Получился нативным, понятным и не требовал обучения: открыть папку, посмотреть группы похожих изображений, выбрать лучший кадр и удалить лишнее – процесс занимает буквально несколько шагов. Это сделало инструмент естественным продолжением рабочего процесса, а не отдельной сложной системой.
Результат
Мы реализовали инструмент, который встроился в ежедневную работу агентства и заметно сократил время на обработку серийных кадров. Выбор ключевых изображений занимает минуты, а не часы, как это было раньше. Архивы перестали разрастаться бесконтрольно, снизилась нагрузка на хранение, ускорилась подготовка материалов и появился предсказуемый рабочий ритм без завалов после каждой съемки.
Для агентства это прямая бизнес-выгода: меньше ручного труда, выпуск контента происходит быстрее, а сам процесс работы с изображениями стал более прозрачным.
Если бы такая задача стояла сегодня, мы подошли бы к ней иначе: использовали бы нейросети и семантический анализ изображений. Но фундамент остался бы тем же: точность работы с медиа, производительность, нативный интерфейс и инструмент, который подстраивается под реальные процессы клиента.
снизились затраты на хранение фотоархивов.
увеличилась пропускная способность агентства без расширения штата.
Что происходит дальше:
Мы получаем запрос, обрабатываем его в течение 24 часов и связываемся по указанным вами e‑mail или телефону для уточнения деталей.
Подключаем аналитиков и разработчиков. Совместно они составляют проектное предложение с указанием объемов работ, сроков, стоимости и размера команды.
Договариваемся с вами о следующей встрече, чтобы согласовать предложение.
Когда все детали улажены, мы подписываем договор и сразу же приступаем к работе.