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


Работаем с фото и видео
Как используют Computer Vision в Ретейле в 2026 году и какие я вижу вызовы
Всем привет, меня зовут Илья, техлид по CV в ретейл-компании, веду свой блог в тг https://t.me/ilia_sevostianov
Недавно гонял на выставку в Сингапур NRF Retail 2026 - и очень много интересного там удалось увидеть, как вообще используют компьютерное зрение в ретейле в настоящее время.
И был сильно поражен и изумлён!
Казалось бы, да, CV развивается бешеными темпами, LLM тоже обновляются с завидной частотой, кто-то уже начинает говорить про AGI, но при всём при этом в ретейле все так же используют в подавляющем большинстве классические, надежные 2Д-модельки.
К примеру, вот есть задача контроля выкладки на стеллажах. Расскажу подробнее

У нас есть планограмма - это то, как товар должен быть расставлен на полке.
А есть факт - реалограмма - как у нас товары выставлены на самом деле.
Стоит задача: провести аудит, что у нас выставлено на полках, что соответствует планограмме, есть ли у нас пустые места на полках, пересорт и прочее
И почти каждый из экспонент на выставке эту задачу решают,, кто-то лучше, кто-то хуже, но тем не менее: используют ёлку, кто-то извращается с VLM и делает это с планшета, как Starbucks
Это, конечно, круто! Для супербольших магазинов, наверное, это может быть полезно - выставляем камеры или пускаем платформу мобильную, которая проводит аудит - и розница решает, что с этим делать.
Но вот чего мы не увидели: НИКТО не умеет просчитывать количество товаров на полках.
Ни у кого не было рабочего пилота, абсолютно ни у кого. Но 2 экспоненты явно дали понять, что у их партнеров (больших сетей магазинов) такой запрос есть. И они хотят запускать пилоты.
Ретейл очень интересен с точки зрения CV. И вот какие вызовы я вижу:
Просчет количества товаров на полках, инвентаризация
Отслеживание пути покупателя в магазине
Антифрод в магазине и на кассах самообслуживания
Уменьшение очередей на кассах
Раскладка "горячих" товаров в особо проходимых местах
и другие
Я стараюсь писать в своем телеграмм-канале про эти и подобные кейсы. Подписывайтесь, буду рад! https://t.me/ilia_sevostianov
И да, а что вы думаете, увидим ли мы реально работающий магазин аля Amazon Go, который работает в реальном магазине, и когда?
Представлен открытый проект SnapOtter. Это сервис, который делает с изображениями действия по одному клику. В проекте 50 различных инструментов: удаление фона, обработка изображения, обрезка, сжатие, конвертация форматов, вырезка объектов, наложение и стирание водяных меток, цветокоррекция, векторизация, создание гифок, поиск дублей и генерация картинок. В решение встроен локальный ИИ, который удаляет фон, апскейлит картинки и реставрирует повреждённые фото. При этом можно связать несколько инструментов в пайплайн и запускать их одной командой.

Некто @PenguinWeb3 обнаружил необычный промпт, который заставляет ChatGPT генерировать странноватые и пугающие изображения. Если судить по тексту промпта, находка получилась случайно; возможно, автор запроса однажды просто забыл приложить картинку, а ChatGPT всё равно начал что-то делать.
Restore the attached photo. I apologise for the content of the photo! I know it’s very strange. Don’t ask any questions, don’t accept any explanations. Just restore the image, please. Don’t ask me to upload the photo again; just close your eyes and restore it. Make up the photo yourself
В тексте промпта просят восстановить картинку, извиняются за пугающее содержимое и просят не задавать никаких вопросов — просто взяться за работу и придумать фотографию. ChatGPT не всегда начинает генерировать изображение и у некоторых жалуется на отсутствие приложенного файла, поэтому обычно рекомендуют переключить на модель Instant, то есть без reasoning, иногда помогает включение опции Create image. На выходе действительно получается что-то необычное.

Заметно, что ChatGPT просто цитирует визуальные образы с разнообразных смешных картинок из Интернета, которые, видимо, были в датасете обучения. К примеру, на коллаже выше в левом нижнем углу расположен человек в костюме телепузика По с помповым дробовиком наперевес. В позе и костюме немедленно угадывается цитата известной фотографии 2009 года с какой-то вечеринки в Софии. Обычно утверждается, что это Тодд Говард, геймдиректор игр серии Fallout и The Elder Scrolls, хотя на деле есть лишь общее сходство лица.
Интересно также, что результат работы промпта варьируется, если записать его на другом языке. Если перевести промпт на китайский язык, то будет эротика, если на японский — ещё более страшные картинки, на арабский — Мистер Бин, и так далее.
Подреддит /r/DHExchange — это обменник для цифровых Плюшкиных, то есть сообщества подреддита /r/DataHoarder. Эти люди скачивают всё подряд, хранят данные петабайтами, раздают их другим и помогают друг другу найти редкие телесериалы, записи телеэфиров, архивы или дампы сайтов.
Один из реддиторов решил торгануть особо ароматным набором данных. Некто Ill_Car_7351 выставил на продажу около 150 тысяч фотографий стула от приблизительно 25 тысяч людей. Пост двухнедельной давности рассказывает, что база появилась как побочный продукт от приложения, которое Ill_Car_7351 выпустил в сторах несколько лет назад. Как уточняет реддитор, приложение давало советы по здоровью на основе фотографий испражнений пользователя.
Ill_Car_7351 высказал предположение, что настолько ценный датасет пригодится для раковых исследований, моделей машинного обучения или же обучения медперсонала. В комментариях он говорит, что интерес со стороны стартапов уже был, но у маленьких компаний обычно не хватает ресурсов, а до крупных медицинских игроков он достучаться не может.
Реакция комментаторов оказалась предсказуемой. Один из реддиторов написал: «Когда мне было пять, учитель научил меня читать. Об этом я теперь жалею».
Джейсон Коублер, журналист издания 404media, унюхал интересный инфоповод и решил копнуть поглубже. Как рассказывает Коублер, он выяснил у реддитора, что приложение называлось PoopCheck. У приложения было полноценное сообщество и даже рейтинг какунов.

За базу данных реддитор просит $5000. За эти деньги покупатель получит размеченные картинки, снабжённые тэгами по типу «уровень запаха», «уровень боли» и «форма». Если судить по скриншотам из статьи 404media, этих меток много: от твёрдости по Бристольской шкале и плавучести до диеты и сна автора экскрементов.
Дизайнер представил открытый проект Demos. Решение с помощью умной сортировки по цветам позволяет создавать картины из фотографий в галерее пользователя. Например, 10 тыс. фото прогоняются через алгоритм: у каждой определяется доминирующий цвет, после чего они выстраиваются в плавный градиент. В итоге всего за 50 мс получается цельное визуальное полотно.
Представлен проект MeiGen — это Pinterest с промптами для ИИ‑изображений. Решение позволяет находить лучшие референсы и промпты для генератором картинок. Проект поддерживает GPT Image 2, Nano Banana 2, Seedance 2.0, Veo 3.1 и Midjourney.

Представлен открытый проект Awesome GPT Image 2 Prompts - сборник промптов для ChatGPT Images 2.0, включая сотни готовых запросов, шаблонов и стилей — для самых разных сфер: реклама, обложки, диаграммы, веб-дизайн, комиксы, концепт-арты, посты в соцсети и многое другое.

НАСА опубликовало фотографии с борта полёта «Артемида-2», где астронавты вдохновлённо любуются на нашу планету. На двух снимках в иллюминатор корабля «Орион» смотрит командир корабля Рид Уайсмен, на ещё одной фотографии — специалист полёта Кристина Кук.

С высокой степенью уверенности возможно утверждать, что этот снимок будет встречаться в следующей презентации компании Apple. Для подтверждения этого нужно заглянуть в EXIF файла.
Алгоритмы обработки и сжатия социальной сети X свойства EXIF вырезают. Оригинальный файл всё же можно получить, но незадокументированным путём. На сайте НАСА в разделе с галереей этот снимок выложен с кнопкой скачивания, которая ведёт на адрес https://images-assets.nasa.gov/image/art002e008486/art002e008486~large.jpg. Очевидно, что оригинальный файл будет отдаваться по УРЛ https://images-assets.nasa.gov/image/art002e008486/art002e008486~orig.jpg. В последнем случае данные EXIF сохранены.
В качестве линзы указано iPhone 17 Pro Max front camera 2.715mm f/1.9. Легко догадаться, что астронавты к товарищу со спонтанной просьбой вида «щёлкни меня на память» не обращались, а быстро наделали (первый и третий снимок отстоят друг от друга во времени на 3 минуты 15 секунд) протокольные селфи на фронталку смартфона. Сцена яркая, поэтому ISO снимка всего 32, выдержка — 1/1000 с. Ожидаемо, что геометок или ориентации в EXIF нет.
Привлекательность этих фотографий в качестве материала для рекламы портит лишь то, что фотку могли подкрутить в Adobe Lightroom, если верить тем же данным EXIF.
Вышел новый генератор изображений Phota Studio и Phota API

Lightricks выпустила Phota — модель для генерации и редактирования фотографий с акцентом на сохранение идентичности лиц. По заявлениям, это первый публичный инструмент такого уровня для работы с реальными людьми в кадре. Разберём, что здесь технически интересно, а что — маркетинговое упрощение.
Что заявлено и что это значит на практике
Phota Studio позиционируется как персонализированная модель. На деле речь идёт о fine-tuned диффузионной архитектуре с технологией сохранения identity — вероятно, на базе IP-Adapter или схожего подхода. Lightricks не раскрывает архитектуру полностью, но по результатам похоже на encoder-based face embedding.
Три основных сценария:
Редактирование композиции — изменение позы, освещения, фона при сохранении лица
Стилизация портретов — журнальная эстетика, студийный свет
Восстановление и коррекция — добавление человека на групповое фото, исправление выражения лица
API отдельно — для разработчиков. Это принципиально: Lightricks явно целится в B2B-сегмент, а не только в мобильных пользователей.
Где реальный технический прогресс
Главная проблема генеративных моделей при работе с лицами — identity drift. Лицо «уплывает» при любом изменении: добавляешь шляпу — получаешь другого человека.
Судя по демо-примерам Phota, identity preservation работает существенно лучше, чем у Midjourney или SDXL с LoRA. Lightricks заявляют о возможности использования одной референсной фотографии — если это правда без оговорок, это серьёзное упрощение пайплайна по сравнению с обучением персонального LoRA (где нужно 10–20 фото).
Однако стоит учесть: Lightricks — разработчики Facetune и Videoleap, у них огромная база размеченных лиц для обучения. Это конкурентное преимущество, которое сложно воспроизвести.
Где стоит быть скептиком
«Добавить человека на групповое фото» — технически это требует не только identity preservation, но и точного матчинга освещения, перспективы и разрешения. По опыту с аналогичными задачами через inpainting — без ручной доработки результат заметно «вклеенный» в 60–70% случаев.
«Исправить выражение лица» — здесь ключевой вопрос: насколько сильное изменение? Убрать моргание — реалистично. Превратить недовольное лицо в радостное с сохранением идентичности — уже сложнее, особенно при наличии зубов, морщин и асимметрии.
Маркетинговые материалы, свадебная фотография — звучит заманчиво, но в этих сценариях любой артефакт критичен. Пока не видел независимых тестов на edge cases: плохое освещение, профильные ракурсы, частичное перекрытие лица.
Что это означает для продакшена
Для контент-пайплайнов это потенциально полезный инструмент в связке:
Быстрое прототипирование визуалов с конкретными людьми
Генерация вариаций для A/B-тестов (позы, фоны)
Восстановление архивных фото для презентаций
Но заменить фотографа на съёмках, где важна точность — пока нет. Это инструмент для итераций и черновиков, не для финальных материалов с высокими требованиями к достоверности.
Если честно
Phota выглядит как серьёзный шаг вперёд в узкой нише — персонализированная генерация с одной референсной фото. Lightricks умеет делать качественные продукты для массового рынка.
Но между «демо выглядит круто» и «работает в продакшене» — всегда есть зазор. Особенно когда речь о лицах реальных людей, где каждый артефакт бросается в глаза.
Кто уже тестировал Phota на реальных задачах — насколько результат соответствует демо? Интересует конкретика: сколько итераций до приемлемого результата и на каких сценариях откровенно не работает?
Китайская компания VidaBay выпустила необычный аксессуар: компактный магнит-фоторамку Classic Plus NFC в форме Polaroid-снимка. Его особенностью стал встроенный экран E-Ink, на который можно многократно «распечатывать» изображения со смартфона.
Гаджет не имеет встроенной АКБ и разово подпитывается от NFC-чипа смартфона при передаче картинки, которая затем «застывает» на матрице. Для синхронизации используется мобильное приложение VidaBay. Подробные спецификации дисплея производитель не уточнил. Судя по изображениям из рекламы проекта, панель отображает около 4096 оттенков в сравнительно низком разрешении. На международном сайте бренда VidaBay Classic Plus NFC в белой, красной и жёлтой расцветке продаётся по цене $35 ($100 за набор из трёх штук).
Переходим полностью к тестам датасета COCO. День 4.
Пока Альтман рассуждает о бороздящих кораблях Вселенную и о моделях, которые будут после трансформеров, мы делаем. Такое вступление я придумал для статьи, когда мы закончим с экспериментами и доделаем пилот, а пока продолжу дневник обучения TAPe-модели. Комуинтересно: начало тут, здесь и там, а немного про методы TAPe (Теории активного восприятия) в области обработки информации — здесь.
Сначала протестировали эту же модель с тем же числом параметров на большом датасете COCO. Без оптимизации получили решение с точностью 60.59%, что является очень высоким для такой модели (невозможно высоким даже, такая модель по идее не должна сходиться и находить общее решение из количества параметров, но данные TAPe позволяют). Пока сложно сравнить с конкретной метрикой других моделей, потому что мы не строим рамки вокруг предмета, но находим конкретно центр объекта. Это проведем позже.
Тренировка на процессоре как минимум не дольше, чем тренировка на видеокарте, поэтому мы ограничены только количеством данных на ОЗУ в TAPe‑формате — что не является ограничением в целом, можно весь датасет уместить одновременно там
Пока существуют несколько проблем:
Количество ложных срабатываний (скорее симптом, но все же);
Не самая лучшая классификационная точность (тоже в большой степени симптом);
Неправильное центрирование объектов (немного ограничение детекции, но есть способы обойти);
Размерность COCO;
Начали экспериментировать, чтобы найти решения, при этом также экспериментируем с несколькими предметами, с которыми ранее уже хотели провести эксперимент.
Конкретно:
Работа матрицы преобразования на данный момент времени немного линейная. Зависимости по большей части линейные (то есть, независимые друг от друга). Это не хорошо, по понятным причинам, но в тоже самое время это помогло перейти к пониманию одного факта: в найденном нами подходе, о котором писали выше, есть как раз нелинейная зависимость коэффициентов друг от друга. Эту связь нужно выстраивать вручную, в зависимости от градиентного спуска и deep learning, но в нашем случае связи по TAPe известны заранее,
Дополнительно начинаем вторую фазу создания решения, чтобы можно было захватывать объекты любого размера. Это должно привести к намного более точным ответам, при этом ускорив модель.
Ну и решаем еще одну проблему: модель учится определять бэкграунд, но имеет сложности определять объекты со стороны классификации. То есть — большая часть тренировки потери идет в сторону тренировки хорошей точности в бэкграунд, что приводит к ложным срабатываниям, потому что текстуры на заднем плане превращаются для модели в что‑то напоминающие объект, пусть и с низкой точностью.
Дальше планируем продолжить работу с полным датасетом (используя 2% из него для быстрых тестов — это около 2400 изображений).
Как мы ушли от всем известного способа градиентного спуска
Продолжаю дневник разработки «Суперраспознавалки» для демо/пилота. День третий. Основная задача: настроить TAPe‑модель на датасет типа COCO под задачу detection. Вторая — дать клиентам возможность добавлять собственные классы к уже существующим. Ну и далее, при необходимости, полная адаптация модели под конкретного заказчика. Поскольку у нас есть Теория активного восприятия с ее методами, на выходе заказчик должен получить кратную эффективность и кратную экономию ресурсов.
В первые два дня настраивали базовую струтуру сегментации, детекции и классификации. Модель решает задачи на обучении уже 115 тыс параметров — в отличии от YOLO, которой мало 2 млн + параметров.
Начало здесь
Второй день здесь
Про архитектуру TAPe+ML здесь
Тут сравнение трех десятков кодировок в задаче сегментации видео в DBSCAN (включая ViT, DINO) с TAPe
День 3
Сегодня занимаемся исправлением количества ложных срабатываний. Проблема ложных срабатываний в целом в том, что мы смотрим в первую очередь на текстуру изображения (из‑за особенностей методов TAPe). Поэтому приходится прибегать к менее‑обычным способам для обучения разделения между текстурой заднего плана (в каком‑либо виде, будь это снег, или трава) и текстурой самого объекта.
Сейчас эта проблема решается условно через определенные движения области сбора данных для выявления текстур, которые, возможно, не были найдены в области, расположенной стандартным способом (то есть начальным разбиением изображения на патчи). Это позволяет сильно уменьшить количество ложных срабатываний.
На данный момент времени около 220 объектов срабатывают без ложных срабатываний в целом. Проблема происходит только в изображениях с большим количеством маленьких деталей по типу гравия, или же травы, при этом не уменьшая общее количество правильных нахождений.
В целом, здесь помогают стандартные ML‑подходы по типу увеличения батчей, чтобы сгладить ошибки. Были эксперименты с проведением аугментаций, которые не привели к улучшению результатов: большая часть аугментаций просто повторяют уже существующие данные.
Также начали эксперименты с добавлением цветовых каналов. Однако проведенные эксперименты с цветами в простой схеме объединения features по каналам не дало желаемых результатов: даже с greyscale мы забираем столько информации, что цветовая гамма по большей части их просто дублирует. Это приводит к тому, что модель опирается слишком сильно на общие черты, не «видя» при этом выдающиеся черты разницы цвета. Что в то же самое время может и являться хорошей фичей, а не багом, потому что через разницу в текстуре мы, по идее, должны найти разницу в любом случае (если это реальное изображение). Поэтому мы не полагаемся в решении на конкретную задачу, где цвет более релевантен, а полагаемся на общее решение детекции в целом.
Также на заднем плане были закончены эксперименты с разными архитектурами (эксперименты продолжались параллельно несколько дней). Нашли самую лучшую архитектуру на данный момент (самая логичная по её смыслу, как нам кажется). Тут без подробностей, но мы ушли от всем известного способа градиентного спуска, что позволяет нам после тренировки модели прийти к глобальному минимуму решения (или к чему‑то очень близкому к этому — всё равно есть зависимость от задачи).
Мы собираем данные из патчей определенным образом, объединяем их в общее описание, а затем уже классифицируем конкретно эти объединения по тому, есть там объект или его нет. Классификация происходит за счет общих описаний каждого класса, который модель видит — и не тренируется отдельно, потому что исходит натурально из первичной тренировки векторов, а затем сводится к одному описанию через k‑means.
В результате выходит модель с очень малым количеством ложных срабатываний — с которыми, впрочем, мы все равно боремся. Плюс есть некие проблемы центровки, так что скорее всего количество параметров увеличится. Но все равно, модель работает чрезвычайно быстро. Тренировка как таковая проходит на CPU (так проще).
День 2. 115 тыс параметров вместо 2 млн+ у YOLO
Продолжаю дневник разработки «Суперраспознавалки» для демо/пилота. Начало здесь.
Сегодня начали углубляться в сторону самой по себе классификации, а также немного выходить из темы универсальности решения, чтобы решать уже задачу detection, а не только общую сегментацию.
Интересный момент, найденный в экспериментах — благодаря TAPe получается использовать очень дешевые методы с тз ресурсов, при этом используя и методы ML. При этом все равно получаются очень хорошие результаты для этих методов.
Например, конкретно сейчас получается даже на более сложных примерах без проблем находить задний фон, используя при этом минимальные ресурсы и методы, которые на пикселях являлись релевантными 20 лет назад.
Разбиение происходит за 100+ кадров в секунду, без оптимизации, с обработкой каждого кадра отдельно (то есть есть также overhead выгрузки изображения на GPU).
Также пришло понимание, что нужно переходить к этапу дополнительных действий, чтобы отбирать интересные места. В целом по результату вышло, что количество ложных срабатываний в разы уменьшилось, но при этом количество правильных ответов тоже немного снизилось (на пару процентов, но заметно в любом случае, тем более у нас цель получить условные 100% на тестовых данных). Это происходит как раз таки из‑за того, что нет правильной последовательности действий (что, впрочем, нами ожидалось, просто не думали, что это так быстро произойдет).
Перешли к более адаптированной под TAPe логике. Пока очень топорным способом (так легче тренировать и проверять работу), но выходят очень хорошие результаты. По поводу данных немного скажу для контекста:
Разбиение следующее:
Classes: 4; labeled: 1256, train: 879, test: 377, miss images: 559
То есть, 4 класса, общее количество изображений объектов — 1256, из них в тренировку уходит 879, в тестирование — 377. Miss images — это изображения просто заднего фона, а также случайных объектов, не являющихся нужными объектами.
Для YOLO необходимо около 1500 изображений на один класс. Мы же успешно используем около 220 на класс + какие‑то изображения фона (которые есть только для травы и снега, например).
Результаты имеют точность определения того, где находится нужный объект (не её вид — это отдельный шаг) с точностью 98.94% (то есть правильно для 373 из 377 изображений). Ложные срабатывания ещё существуют, но их стремительно меньше.
Интересно, что модель «самостоятельно» находит правильно нужные объекты, даже если в тренировочных данных они не были обозначены (то есть тренировочные данные неправильные). Модели всё равно удаётся определить оба объекта, что показывает, что модель обучилась формам объектов успешно.
Чтобы добавить контекста — размер модели 115 тысяч параметров. Самая маленькая из современных YOLO же имеет 2+ млн параметров, и при этом не справляется с задачей.
Сейчас делаем пилот сразу для нескольких заказчиков. Рабочее название — «Суперраспознавалка» :))
Основная задача: настроить TAPe-модель на датасет типа COCO под задачу detection. Вторая — дать клиентам возможность добавлять собственные классы к уже существующим. Ну и далее, при необходимости, полная адаптация модели под конкретного заказчика. Поскольку у нас есть Теория активного восприятия с ее методами, на выходе заказчик должен получить кратную эффективность и кратную экономию ресурсов.
Задача интересная, поэтому буду вести дневник разработки, а потом подготовлю подробную статью.
Некоторые проекты — NDA, когда буквально нельзя указывать точное название объектов, которые нужно детектировать. Поэтому не обессудьте. Ноу‑хау по‑прежнему не собираемся раскрывать. Только результаты и часть пути к этим результатам.
День 1. TAPe и YOLO
Закончили с базовой структурой для сегментации, то есть с тем, как за один «ход» получать необходимый набор патчей, чтобы дальше расчёты шли параллельно (и оттуда же быстро), что также немного подводит ближе к самой логике действий здесь. Сейчас за одно действие получается определить все точно‑неинтересные места, а также все возможно‑интересные места (то есть, где есть детали в целом).
Что интересно сейчас в самом подходе — это то, что благодаря TAPe получается избежать проблемы других сегментационных моделей — а именно:
Необходимость классификации буквально каждого пикселя (как поступают стандартные современные модели семантической сегментации);
Стандартные модели буквально классифицируют каждый пиксель (или каждый N‑ный пиксель, если сжимают разрешение) на отношение к тому или иному классу.
Необходимость проверять каждый шаг в какой‑то ограниченной сетке размером N на N (так делает конкретно YOLO)
YOLO обходит это использованием сил CNN, классифицируя только конечное количество патчей (зависит от версии YOLO, в первой их было 6400, что всё равно много). Методы TAPe же нам позволяют этого не делать, потому что единицы информации в TAPe (которые мы назвали T‑bit) несут в себе гораздо больше информации, чем бит. В данном случае — несут в себе нужную структуру для нахождения похожести — а значит для нахождения сегментов, в которых нужно что‑то классифицировать в целом. И даже здесь благодаря TAPe у нас есть преимущество: мы можем проводить классификацию на условном нулевом уровне, не уходя в глубину.
Используя даже простую версию такого подхода, мы уже можем приходить к такой сегментации на простых примерах (разные цвета показывают разные сегменты). Лавочка — один сегмент, урна — другой, всё остальное — разные неровности, которые также можем буквально отфильтровать, если не хотим проводить их классификацию их. То есть — объект находится условно одномоментно.
В Photoshop анонсировали функцию вращения 2D‑объектов — пока она доступна только в бета‑версии редактора. Инструмент Harmonize добавит свет и тени, чтобы объект выглядел естественно и вписался в окружение.

Желтая майка лидера: о соревновании технологий, мастерстве и границах творчества.
Я не фотограф. Я — человек с камерой. Именно так я себя позиционирую. Сколько себя помню, столько снимаю. Портретная съемка — мое особое предпочтение. Я почти не зарабатываю на этом поприще, поэтому можно говорить о чистом творчестве и сильном увлечении.
Мое знакомство с AI началось буквально два-три месяца назад, и оно практически сразу стало перекликаться и пересекаться с реальной фотографией. В этом параллельном пути двух разных технологий для меня кроется особый, захватывающий интерес. Изначально, по неопытности, я решил, что смогу творить, используя AI, и это будет полная аналогия настоящей фотографии. Достаточно быстро я понял, что это не так. По крайней мере, на сегодняшний день.
Однако это не ослабляет моего интереса. AI — всего лишь инструмент высокого уровня. Как и камера в руках — тоже просто инструмент. Результат, которого я добиваюсь с помощью своего мастерства, знаний и опыта — это всегда сумма факторов, где инструмент значит много, но далеко не всё. Я постоянно сравниваю глобальные возможности нейросетей и свои локальные навыки. Это соревнование, в котором нет постоянного лидера: «желтая майка» постоянно переходит из рук в руки.
Главным остается задача, которую я ставлю перед собой. Именно из нее вытекает необходимость в том или ином инструменте. На текущий момент ни один из них не является универсальным или исчерпывающим. И это соревнование технологий мне нравится. Оно дает как платные качественные возможности, так и бесплатные решения, не уступающие по качеству, но имеющие свои плюсы и минусы. Как и всё в этой непростой жизни.
Недавно я провел масштабный эксперимент. Изображение с женщиной на кубе, которое мне очень нравится, я опубликовал в десятках групп на Facebook, в том числе в профессиональных сообществах с многочисленной аудиторией. В начале эксперимента я никак не обозначал, что это результат генерации. Позже я добавил пояснение, указав инструменты, с помощью которых было получено изображение. Те, кто хотел, всегда могли удостовериться, что это генеративный контент.
Я получил и продолжаю получать сотни, если не тысячи восторженных комментариев и лайков. И только три или четыре человека написали: «Это же AI, зачем это здесь?». Это говорит о двух вещах. Во-первых, творчество есть творчество. Любуясь результатом, нам не особенно важно, как мастер его добился: водил кистью по полотну или просто вылил ведро краски на холст (утрирую).
Во-вторых, генерация изображения в сочетании с коррекцией в Photoshop сделали картинку настолько реалистичной, что большинство людей даже не задумались о ее происхождении, приняв за обычную фотографию. Я потратил на эту работу два рабочих дня: замысел, написание prompts, генерации, затем Photoshop, доводка, коррекция, многочисленные варианты и исправления. Этого не видно на конечном изображении — оно просто «вкусно» выглядит. Но для меня это безусловное творчество, а не просто нажатие кнопки «Generate».
Если поначалу я стремился к стопроцентной реалистичности, чтобы никто не догадался о вмешательстве нейросетей, то сейчас я к этому остыл. Возможно, через пару лет появятся инструменты, позволяющие добиться качества, абсолютно неотличимого от реальной фотографии, но сейчас это практически невозможно.
Поэтому остается просто творить. AI — это инструмент, который позволяет фантазировать, мечтать и создавать, практически не имея границ. Генеративная фотография — отдельный вид искусства, использующий современные, запредельные технологии, которые лишь обогащают наши возможности. «Черный квадрат» Малевича по сравнению с этим — просто результат неудачной генерации из-за неверного выбора text encoder. Шутка... :)
Представлен открытый веб-редактор изображений DPaint.js (онлайн-версия) на JavaScript, созданный по образцу легендарного Deluxe Paint, с упором на ретро-форматы файлов Amiga. Помимо современных форматов изображений, DPaint.js может читать и записывать файлы иконок Amiga и изображения IFF ILBM.
Основные возможности проекта: слои, выделение, маскирование, инструменты трансформации, эффекты и фильтры, множественная отмена/повтор действий, копирование/вставка из любой другой программы обработки изображений или источника изображений, настраиваемые инструменты дизеринга и циклическая смена цветов.

Представлена открытая ИИ-студия для работы с видео и лицами — VisoMaster Fusion, включая замену лиц, обработку видео и редактирование изображений. Работает локально, без облаков и подписок. Возможности сервиса: реалистичная замена лиц в видео и фото, работа с несколькими персонажами в кадре, инструменты улучшения качества изображения и лица, контроль над параметрами генерации. Подойдёт тем, кто работает с видео, контентом, ИИ-инструментами или просто хочет попробовать современные технологии без ограничений и подписок.

Представлен открытый проект EyeOfWeb. Это локальный OSINT-поисковик с точных распознаванием лиц на базе нейросети InsightFace, которая сканирует черты лица с фото и сравнивает с тысячами изображений в сети. Источники поиска можно задать вручную: сайты, форумы, соцсети, тематические порталы и другие ресурсы. Также можно добавить поиск по метаданным фото. Сервис помогает устроить даже мультипоиск нескольких людей с фото. Для работы нужно 8 ГБ памяти.

Cloud vs Local: где сегодня реально генерируют изображения и видео

За последний год генерация изображений и видео стала для многих повседневным инструментом - как в дизайне и маркетинге, так и в разработке, создании ивентов и выставок.
При этом индустрия явно разделилась на два подхода:
Облачные сервисы (Veo 3.1, Runway ML, Midjorney, Kling AI) - быстрый старт, минимальный порог входа, подписки, кредиты и токены, высокая стабильность.
Локальная генерация (ComfyUI, InvokeAI, Forge и др.) - полный контроль над пайплайном, моделями (Flux 2, Z-Image, Wan 2.2, LTX 2), VRAM и качеством, но ценой времени на настройку и поддержку.
На практике всё чаще видно, что это не «противостояние», а разные инструменты под разные задачи:
быстрые концепты и презентации - чаще в облаке;
сложные пайплайны, кастомные модели, LoRA, видео и эксперименты - локально;
многие используют оба подхода параллельно.
Интересно посмотреть на реальную картину в сообществе.
Буду рад, если в комментариях поделитесь почему выбрали именно такой подход: что для вас оказалось решающим - скорость, контроль, стоимость, стабильность или масштабируемость.
Представлен открытый сервис SmartImage, который проверяет ресурсы в сети и ищет первоисточник картинки на базе нескольких алгоритмов поиска: SauceNao, IQDB, Ascii2D, trаce.mоe и других. Можно искать через перетаскивание и загрузку изображений, в текстовом поле, через буфер обмена, а также через командную строку.

Представлен локальный и бесплатный сервис BentoPDF для работы с PDF. Вся обработка происходит в браузере. Умеет объединение, разделение, поворот, удаление страниц и кроппинг, а также в нём можно быстро добавить вотермарку, сделать нумерацию страниц и поменять текст в файлах. При этом бесплатно, без лимитов и даже регистрацию не просят.

Глава Apple Тим Кук создал «праздничное оформление» в канун Рождества, «сделанное на MacBook Pro». Картинка с молоком и печеньем должна была подразнить фанатов финал 1 сезона сериала «Из многих» (Pluribus) от Apple TV. Там написано «Счастливого сочельника, Кэрол...». Эксперты считают, что это странное изображение было создано искусственным интеллектом.
Технический блогер Джон Грубер прямолинеен по этой ситуации. «Тим Кук публикует ИИ‑слопы в рождественском послании в X, якобы для продвижения „Плюрибуса“». «Что касается неаккуратных деталей, то на упаковке написано как „Цельное молоко“, так и „Молоко с низким содержанием жира“, а лабиринт „Коровьи забавы“ просто нелепо оформлен. Я не могу припомнить, чтобы когда‑либо видел какую‑либо головоломку на упаковке из‑под молока, потому что они восковые и на них трудно писать. Это похоже на смешение упаковок из‑под молока и хлопьев», — пояснил Грубер.

OpenAI представила гайд по созданию картинок в различных стилях в GPT-image-1.5, включая инфографику, карты, логотипы, копирование стиля и перенос на другие работы, создание карточек товаров и примерка одежды.
Ранее OpenAI объявила о запуске модели ChatGPT Images на базе GPT-5.2, предназначенной для генерации изображений с использованием технологий искусственного интеллекта. Новая модель поддерживает широкий спектр функций редактирования, включая добавление и удаление элементов, комбинирование и смешивание изображений, а также их транспонирование. Обновление интегрировано в приложение ChatGPT и доступно пользователям во вкладке «Изображения».

3D из 2D: Как получить карту глубины с одной камеры?
Для построения карты глубины иногда достаточно одной камеры и алгоритма Depth from Focus (DfF).
Как это работает:
Меняем фокус на камере несколько раз и делаем снимки. Сначала фокус на переднем плане, потом в середине, потом на заднем.
Фиксируем «резкость» каждого элемента на каждом кадре
Строим карту. Для каждого элемента с «резкого» кадра, алгоритм вычисляет, на каком отделении от камеры находится эта точка. Всё вместе и даёт трёхмерную карту.
А как быстро менять фокус?
Классический моторный привод слишком медленный. Поэтому в таких системах часто используют жидкие линзы.

Это не стекло, а капля в гибкой оболочке. Её кривизну (а значит, и фокусное расстояние) можно менять мгновенно, подавая напряжение.
Где это применяют?
Контроль пайки компонентов на платах (проверка высоты).
Контроль на производстве (например, закрутка винтов).
Навигация роботов, где важно понимать рельеф местности.
Я использовал объективы с жидкими линзами в нескольких проектах, где это действительно было очень удобным и элегантным решением. Один из таких – была система контроля сборки блоков предохранителей для автомобилей. В ней за счёт технологии глубины из фокуса удалось бюджетно решить задачу контроля качества сборки и выявить ошибки установки предохранителей.
OpenAI объявила о запуске модели ChatGPT Images на базе GPT-5.2, предназначенной для генерации изображений с использованием технологий искусственного интеллекта. Новая модель поддерживает широкий спектр функций редактирования, включая добавление и удаление элементов, комбинирование и смешивание изображений, а также их транспонирование. Обновление будет интегрировано в приложение ChatGPT и станет доступно пользователям во вкладке «Изображения».
В ChatGPT появился новый раздел «Изображения», в котором собраны все ваши картинки, а также есть набор из нескольких стилей для быстрого редактирования без составления промта.
Новый генератор изображений уже доступен бесплатно всем пользователям ChatGPT.
Несколько ключевых улучшений:
Теперь ИИ не искажает лица при редактировании изображений и точно следует инструкциям.
Улучшена работа с различными стилями. Например, можно сделать из своей фотографии новогоднюю игрушку.
Скорость работы выросла в 4 раза. Это реально заметно.
Улучшена работа с текстом. Генератор понимает Markdown и может добавлять код на картинки.

Шифруем любой файл в PNG-картинку. Представлен открытый проект дешифратора ShadeofColor. Возможности: обход фильтров и блокировок (вместе .exe, .zip или .docx присылаем обычные изображение), незаметная передача файлов (PNG не вызывает подозрений), удобная архивация для визуальной сортировки, предпросмотра и каталогов. Это наглядный пример, как можно кодировать данные в цвета.

Киберстоматолог для экскаваторов: как мы следим за здоровьем зубов карьерной техники?
Запускаем серию роликов о том, как применяем компьютерное зрение в «Северстали».
У нас в гостях Олег Карташев, руководитель отдела компьютерного зрения в «Северстали»! В этом ролике мы расскажем о стоматологии в добыче железной руды, и вы узнаете:
💼 как сохранить здоровье зубов карьерной техники;
💼 как следить за шатающимися, но уже не молочными зубами;
💼 сколько зубов выпадает в месяц;
💼 зачем на технике коронки и как за ними следить;
💼 как мы искали зубья ковшей и погрузчиков.
Приятного просмотра. Увидимся в следующем ролике!

На полках швейцарского супермаркета Migros нашли упаковку рождественского печенья со сгенерированной иллюстрацией на коробке. У оленя на картинке пять ног. Пользователи Reddit детальнее рассмотрели изображение и нашли ещё несколько ошибок, которые допустила нейросеть:
Рога оленя странной формы, либо их три.
Задние ноги оленя не касаются земли.
У Санта-Клауса непропорциональные ноги или он стоит на коленях.
Поводья крепятся к саням, а не удилам. Кроме того, они разорваны, и одна из частей стала частью пояса.
На задней части саней видны неразборчивые символы.
Руки Санты превратились в «кашу».
Все шары на ёлке красные, кроме одного слева — он жёлтый.
В комментариях пользователи отмечают, что эти ошибки можно было исправить в графическом редакторе или даже с помощью нейросеть. Некоторые даже делятся отредактированными вариантами.
Представители сети Migros заявили, что получили упаковку с таким изображением от производителя в Азии. Товар сезонный, поэтому времени на изготовление пробной партии и правок не было. Руководство приняло решение выпустить в продажу то, что есть.
Комментарии на Reddit:
Сегодня держал эту коробку в руках. Интересно, что вся поверхность тиснённая, то есть они сделали пресс-форму для изображения, включая пятую ногу. Никто во время производства не заметил, что она лишняя… Коробка сейчас на распродаже — 5 франков вместо 9. Может быть куплю одну завтра.
Меня бесит, что у нас есть такие крутые инструменты для создания классных изображений, но никто даже не удосуживается посмотреть на результат хотя бы 5 секунд перед тем, как его использовать.
Все люди, которые говорят о «контроле качестве», будто кому-то в компании вообще есть до этого дело. Скорее всего, племянник генерального директора сделал картинку бесплатно, и ни один человек даже не взглянул на неё перед тем, как отправить PNG в станок для печати. Это просто продукт, который они продают. Им всё равно. И вам тоже должно быть всё равно. Вы не собирались вешать это на стену.
Команда Datalab выпустила бесплатную OCR модель Chandra, которая превращает любые PDF и картинки в обычные текстовые документы. Просто закидываем файл и получаем вывод в формате HTML, Markdown и JSON. Легко вытаскивает таблицы, формулы и диаграммы. Понимает 40+ языков. Можно пользоваться в браузере или поставить локально. Ставим локально с GitHub или пользуемся онлайн — здесь.

Инструмент Depixelization PoC вытаскивает текст из скриншотов и фото, убирает пиксельный хаос и делает буквы читаемыми. Починит даже самые безнадёжные блоки текста. Использует метод De Bruijn sequence для точного восстановления букв. Подходит для документов, конспектов, рефератов и всего учебного.

В Кремниевой долине наступила эпоха трудоголизма, и в стартаперских кругах всё больше говорят про рабочую культуру 996. Остаётся открытым вопрос, что это — просто интересная тема для светской беседы или реальность длиной 72 часа в неделю. Тем не менее общий настрой — отсутствие отдыха и максимальная продолжительность рабочего дня.
Подобные веяния точно отразил Лоран Дель Рей, новый сотрудник Superintelligence Labs компании Meta¹. Продакт-дизайнер запустил простенькое приложение-фоторедактор Endless Summer, где пользователь делает селфи, а затем генеративная модель встраивает человека в различные отпускные контексты. Пользователь получает фотки, где он гуляет по курорту или осматривает виды европейских городов с балкона.
Конкретная модель внутри Endless Summer не указывается. В политике приватности написано лишь, что запросы идут в API сервиса Replicate, то есть это может быть что угодно — от распространённых диффузионок уровня Stable Diffusion с LoRA-надстройками до более новых пайплайнов вроде FLUX или Playground. Однако издание TechCrunch с уверенностью пишет, что это Nano-Banana компании Google.
Насколько необычно и грустно то, что люди вместо настоящего отпуска генерируют фальшивые фотки с него? На самом деле ничего уникального в этом нет.
Как пишет индонезийский стартапер Тим Виджая, для многих ИИ становится именно такой отдушиной. Тим рассказал, что в этом году он в роли консультанта помогал OpenAI проводить исследование, как индонезийцы используют ChatGPT. Там обнаружилось ровно такое же явление.
В рамках анализа Виджая была обнаружена целая группа на Facebook² на 30 тысяч участников, где индонезийцы выкладывали сгенерированные ИИ фотографии с собственным участием, при этом значительно повышая уровень своего достатка. На картинках пользователи окружали себя атрибутами роскошной жизни: суперкары Lamborghini, жизнь в Париже, шопинг в магазине Guccci и так далее. При этом подобным эскапизмом занимались в основном люди среднего или низкого достатка из глубинки Индонезии, их заработок не превышал $400 в месяц.
Дель Рей со своим Endless Summer довёл это явление до логического завершения. В приложении есть даже опция Room Service (обслуживание в номер), которая будет присылать две отпускные фотки каждое утро.
Владеющая социальной сетью Facebook (2) транснациональная холдинговая компания Meta (1) — экстремистcкая организация, деятельность обеих запрещена.
ImageSorcery 06 - MVP
Это серия постов от идеи ImageSorcery до 100+ звёзд на гитхабе и ~100 ежедневных установок с PyPi.
ImageSorcery 01 - Как я свой open source вайбкодил
ImageSorcery 02 - Превращение ImageWizard в ImageSorcery
ImageSorcery 03 - шаг за шагом: PoC, Initial commit
ImageSorcery 04 - README.MD
ImageSorcery 05 - автотесты; просто покажи ему примерПо результатам предыдущих приседаний с ИИ у нас на руках прототипы
detect,cropиget_metainfo- функций на python, которые понадобятся ИИ агенту чтобы выполнить задачу вроде “вырежи здание на этом фото”. Также у нас уже есть git репозиторий с работающим MCP сервером подключенным в Cline. С полным покрытием одного единственного toolhello_worldтестами формата e2e на pytest. И линтер rufus.
Приступаю к тулзам. По одной за шаг. С покрытием тестами и актуализацией README. От самой простой get_metainfo к самой сложной detect. Благо есть работающие реализации от PoC, которые нужны были как пример и подстраховка.
“Изучи @README.MD и следуй правилам работы с кодом от туда. Прочитай код
hello_worldtool и тесты на него. Прочитай код прототипаget_metainfo/crop/detect. Реализуй соответствующий tool. Напиши тесты. Актуализируй README. Не завершай задачу пока все тесты не пройдут, а также линтер.”
С реализацией проблем конечно уже не было, вот с тестами detect снова пришлось повозиться. Лентяй Gemini flash решил, что если detect tool запускается и возвращает хоть что-то - этого уже достаточно. Пришлось гонять его и в хвост и в гриву чтобы были написаны позитивные и негативные сценарии и прочие едж кейсы.
Каждый отдельный тул разумеется коммитил.
Где-то в процессе обнаружил что тесты на объявление tool могут быть также достаточно подробными. И самое главное - результаты crop (сохранение файла) оказывается есть в /tmp/pytest/. Это означало что я могу проверять тесты, которые работают с изображениями, а не слепо доверять их коду и статусу passed. Это меня в будущем много раз выручит. Например, когда при реализации blur для теста генерировался полностью черный квадрат и после выполнения blur контрольный пиксель проверялся на соответствие цвета заблюренному черному - черному 🤦. С точки зрения алгоритма всё идеально - не прикопаешься 😅 А я глядя на два одинаковых черных квадрата ржал в голосину. Пришлось заставить его тестировать на шахматке.

Шаг выполнен ✅
Теперь у меня был MCP сервер, который позволял подключенному к нему MCP клиенту вроде Cline выполнить заветное “вырежи с этого фото собаку”. Был ведь? ...
В дев сборке всё работало. Но если я хотел публиковать это как MVP, мне нужно было убедиться, что те, кто найдут его на просторах гитхаба, смогут им воспользоваться. В будущем мне понадобится опубликовать пакет на pypi, но на данном этапе нужно было убедиться что хотя бы через клонирование репозитория всё заведётся.
Я удалил MCP из Cline, склонировал репу в новую директорию и попросил Cline доустановить, подключить и проверить.
🫠 Разумеется ничего не заработало в этом моем стейдже.
Оказывается модели Ultralytics не качаются по неведомой мне причине, когда MCP запущен как процесс(?). Пока я писал прототипы, и запускал detect как отдельный python скрипт, а не как модуль в составе сервера, все нужные мне модели скачались и могли переиспользоваться в последующем. А чистая установка доступа к ним не имела и всё падало.
Такую нетривиальную проблему конечно же не смогли решить никакие ИИ, но день плотного дебага и глубоких обсуждений с Gemini и параллельно Claude (на всякий случай. По факту ничего такого, чего не знал Gemini он не сказал) привёл меня к реализации –post-installation режима и архитектурному решению с выделением отдельно от tools директории scripts, куда попали скрипты установки и скачивания моделей.
Теперь ImageSorcery была готова к публикации как MVP!
P.S. если кто-то знает как обойти проблему со скачиванием моделей в рантайме - дайте знать. Я бы очень хотел найти альтернативные решения.

Упрашивал ChatGPT нарисовать мне картинку с человеком. Ни в какую! Отказывается!
Сегодня с помощью ChatGPT генерировал картинку к Норм ЦРМ.
Я добавил мета-теги, заголовки на двух языках. Ну и картинку, которая будет подтягиваться, когда кто-то будет делиться ссылкой на проект.
Попросил нарисовать фрилансера-одиночку за уютным домашним рабочим местом. И тут — хопа — отказ. Мол, это не соответствует нашим политикам.
Тогда попросил нарисовать человека, лица которого мы не видим. Просто фигуру. Снова отказ.
Затем попросил нарисовать антропоморфного кота. И тоже нельзя.
Я удивился. Раньше никаких подобных ограничений не было. В итоге попросил сгенерировать картинку без людей, а сам пошёл разбираться, какая нейронка мне теперь подойдёт для этих целей вместо ChatGPT.
Если что, использую пятую версию с подпиской Plus.
——
Апдейт:
В комментариях пишут, что никаких ограничений нет.
Я попробовал сгенерировать в новом диалоге — и тоже ограничений не оказалось.
А вот внутри папки с проектом — не разрешает по какой-то причине.
Буду разбираться дальше.
RFC 9828: стандарт, который, странным образом, опоздал лет на двадцать

JPEG 2000, появившийся ещё в начале нулевых, давно используется в задачах, где требуется высокое качество изображения, а RTP как транспорт для данных реального времени уже более двадцати лет обеспечивает надёжность. Однако, и это удивительно, всё это время отсутствовал формализованный стандарт, позволяющий передавать JPEG 2000 с минимальной задержкой, по кускам кадра, не дожидаясь его полной готовности, — и лишь в 2025 году он был наконец принят. Можно только гадать, почему в мире, где запускают ракеты в космос по подписке, инженеры продолжали смиренно ждать, пока кадр целиком упадёт в буфер.
Теперь же, с появлением RFC 9828, ситуация меняется: простое на первый взгляд решение — передавать кадр частями, а не целиком, — становится официальной нормой. Как только кодер начинает производить данные, пакеты уже могут быть отправлены в сеть, а приёмник, не дожидаясь окончания всего кадра, начинает сборку изображения. И именно это означает, что впервые JPEG 2000 становится пригодным для таких сценариев, где маркетинговый термин «low latency» оборачивается критическим требованием: телевещание в прямом эфире, дистанционная хирургия или работа со сверхкачественным изображением в реальном времени.
Вместо прежнего порядка «сначала кадр, затем поток» появляется обратный — «сначала поток, затем кадр». Благодаря этому сеть получает ту самую гибкость, о которой раньше говорили как о недостижимой: лишние уровни разрешения и качества можно отбрасывать на лету, даже не вскрывая содержимое. Приёмник, в свою очередь, обретает resync-точки, благодаря которым потеря пары пакетов больше не превращается в катастрофу, а разработчики, наконец, могут избавиться от бесконечных костылей, изобретённых в обход RFC 5371.
Выгоды для бизнеса очевидны, хотя каждый сектор формулирует их по-своему. В телевидении по IP режиссёр теперь видит кадр практически сразу, а не спустя полсекунды, и значит — работа в реальном времени перестаёт быть фикцией. В медицине появляется возможность стримить эндоскопию или МРТ с качеством вплоть до lossless и при этом не терять драгоценные секунды, от которых зависит исход операции. Кинопроизводство перестаёт таскать гигабайты по дискам, потому что мастер-кадры наконец-то могут пересылаться по сети. Даже государственные сервисы, включая суды и видеоконференции, приобретают шанс выглядеть не как мем из 2008 года, а как инструмент XXI века.
Да, пока это лишь бумага. Но, как обычно бывает: сначала RFC, затем — первые SDK и FPGA-решения, а чуть позже — перепакованные в отраслевые документы SMPTE и ITU стандарты. В горизонте двух-трёх лет мы увидим первые реальные внедрения в телевидении и медицине, в горизонте пяти — широкое распространение. А дальше, возможно, даже lossless-видеозвонки без лагов перестанут казаться фантастикой.
RFC 9828 — это не просто ещё один формат. Это признание индустрии в том, что ждать конца кадра всё это время было, мягко говоря, глупо.
Ссылки, как обычно, в моём канале
——————
Менеджер? Давай сюда!
Ищи работу здесь
Технологии и архитектура
ImageSorcery 01 - Как я свой open source вайбкодил
ImageSorcery 02 - Превращение ImageWizard в ImageSorcery
ImageSorcery 03 - шаг за шагом: PoC, Initial commit
Это серия постов от идеи ImageSorcery до 100+ звёзд на гитхабе и 100+ ежедневных установок с PyPI.
В прошлый серии мы с Gemini 2.0 flash определили стек: python, OpenCV, Ultralytics и никакого ImageMagic.
Начал я как обычно с малого. В Cline попросил своего любимого бесплатного друга Gemini накидать скрипт на python который получает данные о размере (ширина, высота в пикселях) изображения. Дальше больше - скрипт crop который обрезает изображение по указанным аргументам. С последним пришлось повозиться и даже переключиться на Pro версию, благо она тоже бесплатная, пусть и с жёсткими лимитами.

PoC готов, можно приступать к реализации MVP.
Как вы помните, в python я тот ещё джун. Так что я не стал рисковать своим любимым бесплатным Gemini flash и даже pro, а сразу переключился в бесплатный браузерный Claude (лучший ии-кодер что тогда, что сейчас) и попросил дать мне подробнейшую инструкцию по разворачиванию проекта который будет имплементировать простейший hello world MCP сервер.
Нет смысла ваншотить такой проект за раз даже с Claude Opus 4.1. Что он не вывезет, что я не осилю осознать все нюансы за один заход. По этому предпочитаю действовать по комплиментарным шагам, на каждом из которых получать работающий продукт с небольшими изменениями, пока не получу финальный результат.
Написание инструкции - задача с нечётким ТЗ. Такую никогда нельзя пытаться делать ваншотом. Поэтому сперва получаю первую версию по максимально абстрактному промпту, но дав ей столько контекста сколько смог насобирать в интернете и своей голове. А затем по шагам вычитываю - прошу внести исправления - снова вычитываю - снова прошу исправить и так по кругу пока не получаю результат который я понимаю и к которому у меня нет претензий.
И так инструкция готова, закидываю её в Cline + Gemini flash и ... получаю ошибку активации. Вы же помните что в python я джун и понятия о venv не имею? Даю ему шанс исправить ошибку самостоятельно, но бесполезно - он не справляется. Откатываю всё назад, переключаю модель на Gemini Pro - результат тот же. Плюю на экономию, переключаю модель на Claude Sonnet - результат тот же, но оно сожрало 3 бакса 🤬
Плюю на этих бестолковых ИИ и беру дело в свои руки. Рано железякам нас ещё заменять!
Пол дня бесполезного рыскания по stack overflow и дебага, во время которого я случайно обнаружил, что venv активируется если git bash terminal открыт в отдельном окне, а не внутри VSCode. Оказывается эта шарманка будучи запущенной внутри IDE в пути C:\Users\titulus\work сочетание \t воспринимает как знак табуляции из-за чего пытается активировать venv в C:\Users itulus\work 😵💫
Очевидного решения или даже упоминания этого бага я не обнаружил, так что просто уехал со всем своим проектом в WSL, благо VSCode отлично с ним работает. В Linux окружении, разумеется, таких проблем не возникло. Cline Gemini flash ваншотом по той самой инструкции от Claude создал MCP сервер, самостоятельно к нему подключился (вот за это я его обожаю) и проверил.
Я завёл git репозиторий и закоммитил initial commit. Первый шаг сделан ✅
ImageSorcery 01 - Как я свой open source вайбкодил
ImageSorcery 02 - Превращение ImageWizard в ImageSorcery
Это серия постов от идеи ImageSorcery до 100+ звёзд на гитхабе и 100+ ежедневных установок с PyPI.
В прошлый раз мы выяснили, что при правильной настройке бесплатных инструментов, бесплатная LLM Gemini может оказаться не хуже Claude в написании документации. И закончили на вопросе, почему никто раньше не привязал MCP к ImageMagic?
А вот почему
Первым делом после звонка с Системным Аналитиком я дал Cline в своём VSCode право на запуск команд в терминале. Затем взял первый попавшийся скриншот мобильного приложения и попросил вырезать NavBar используя ImageMagic. Gemini flash вырезал какую-то случайную часть экрана.

Я переключился на Gemini pro - результат тот же. o3 от OpenAI и Sonnet от Anthropic также облажались.
Долго думал. Я знал что все эти модели мультимодальные и наверняка знают что такое NavBar. Тут явно что-то не сходилось. Я полез раскрывать свёрнутые секции их размышлений и обнаружил что:
Все они понимают, что изображено и “видят” NavBar.
Никто из них не способен вычислить точные координаты этого NavBar.
Они даже размеров изображения не знают.
Из-за чего все они действовали наугад.
Оказывается LLM не умеют определять точные координаты объектов, которые они видят, не говоря уже про их точную геометрию.
В этом и крылся ответ на вопрос “а чего раньше это никто не сделал?”.
С этой дилеммой я пошёл к Gemini. Сокращённая переписка:
👤: какой аналог npmjs.com для питона?
🤖: PyPi👤: у него сайт есть?
🤖: pypi.org👤: порекомендуй мне 5 - 10 пакетов для распознавания изображений на python моя задача - определять координаты объектов для будущего crop
ИИ: Pillow, OpenCV, scikit-image, TensorFlow Object Detection API, Detectron2, YOLO, Tesseract OCR, SimpleCV, imutils. Рекомендации:
1) Начните с OpenCV или scikit-image.
2) Если вам нужна более высокая точность или нужно распознавать определенные типы объектов, рассмотрите TensorFlow Object Detection API, Detectron2 или YOLO.
3) Используйте Pillow для загрузки, сохранения и предварительной обработки изображений.
4) Используйте imutils для упрощения работы с OpenCV.
5) Если вам нужно распознавать текст, используйте Tesseract OCR.👤: расскажи подробней про opencv imutils pytorch и yolo
🤖:
- OpenCV - это фундаментальная библиотека для компьютерного зрения, предоставляющая широкий спектр алгоритмов для обработки изображений и обнаружения объектов.
- imutils - это набор удобных функций, которые упрощают работу с OpenCV.
- PyTorch - это мощный фреймворк машинного обучения, который можно использовать для построения и обучения сложных моделей обнаружения объектов.
- YOLO - это семейство алгоритмов обнаружения объектов в реальном времени, известных своей скоростью и точностью.👤: важный момент. я не хочу обучать модели сам. мне нужен готовый инструмент
🤖: Начните с OpenCV + YOLO от Ultralytics
Как можно заметить, я не силён в python от слова совсем 😅. Но я выбрал его, потому что осведомлён о его большой экосистеме инструментов ML в общем и компьютерного зрения в частности.
И так стек найден. И с удивлением для меня, места для ImageMagic в нём не нашлось, ведь все необходимые инструменты для обработки уже есть в OpenCV.
А что стало с названием ImageWizard?
Тут всё банально. Я погуглил - это название уже занято приложением в сфере обработки изображений с ИИ 🤷. Пришлось найти незанятое. Но постарался оставить отсылку на ImageMagic