Обновить
128K+

Обработка изображений *

Работаем с фото и видео

124,62
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Дендрохронология своими руками

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.2K

Посчитай кольца на пне и поймешь сколько лет дереву - это мы знаем с детства. Однако полезная информация, записанная в кольцах, не исчерпывается их количеством. Теплое и влажное лето оставляет широкое кольцо, а холодное и сухое - узкое. Это наблюдение дает две возможности: определять возраст археологических находок (дендрохронология) и восстанавливать климат прошлого (дендроклиматология).

Оба направления очень трудозатратны. Как правило, дендрохронология работает с цилиндрическими образцами древесины (кернами). Каждый керн полируется, затем годичные кольца измеряются с помощью микроскопа. Датировка требует значительного перекрытия между последовательностью годичных колец образца и установленной хронологией, составленной из многих других датированных образцов того же вида древесины в том же регионе. Наращивание такой хронологии - это работа, которая может занимать десятилетия.

Мне стало интересно, можно ли все это ускорить с помощью современного компьютерного зрения. Можно ли уместить всю дендрохронологию в одно приложение на смартфоне? Видимо нельзя, но вот что я узнал в процессе.

Читать далее

Новости

«Аниме-завод» открыт: выкладываю код конвейера, который сам режет эпизоды на Shorts

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.1K

За последнее время я написал три статьи про систему, которая превращает длинные видео в вертикальные клипы: общий обзор «аниме-завода», разбор виртуальной камеры с face tracking и рассказ о том, почему связка «транскрипт + LLM» почти всегда даёт мусор.

Комментарий, который повторялся под всеми тремя, был один и тот же: «покажи код».

Показываю.

github.com/ialakey/shorts-factory

Это витринная ветка большого приватного проекта: MVP, в котором оставлен полный путь «взял длинное видео → получил готовый вертикальный клип», а всё остальное вырезано. Ниже — что именно внутри, как код соотносится с тремя предыдущими статьями и что пришлось выкинуть.

Заглянуть на производство

Омнимодель для Алисы AI: как нам удалось подружить VLM и LLM

Время на прочтение16 мин
Охват и читатели9K

Ещё недавно Алиса отвечала на текст и на картинку будто двумя разными голосами. Под капотом и правда жили две генеративные модели: текстовая LLM и визуальная VLM, а между ними — стена из непрозрачного роутинга, разных форматов ответов и разной вёрстки. 

Почти год мы сводили их в одну омнимодель — такую, которая воспринимает текст и изображения как единое целое, без переключений за кадром. Получилось не всё и не сразу, но путь вышел поучительным, и в этой статье я хочу поделиться тем, что мы поняли про обучение таких моделей. Попутно — несколько неочевидных поворотов: почему за два года до этого та же затея разваливалась, что изменила MoE‑архитектура, почему омнипретрейн пришлось собирать с конца и почему один вид RL переезжает на большую модель легко, а другой рассыпается прямо на глазах.

Меня зовут Алексей Григорьев, я представляю большую команду разработки омнимодели Яндекса. Вместе с моим коллегой Данилой Кашиным я расскажу про все технические грабли не со стороны наблюдателя, а как их непосредственный собиратель. Но рассказывать я буду с акцентом не на красивом замысле, а на самой болезненной части — алайнменте.

Читать далее

Вверх ногами: как научить OCR понимать, что документ перевернут

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели9.2K

Всем привет! 

В своих постах мы часто пишем о разных этапах систем распознавания документов (например, тут и тут). Настало время рассказать о еще одной задаче (и нашем решении для нее), которая часто опускается из подробного рассмотрения.

Наверняка каждый из вас хоть раз клал лист в сканер перевернутым (ну или вы очень везучи). Человек в случае такой оказии может повернуть изображение в редакторе или немного повертеть головой, а что делать системе распознавания? 

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

Давайте разбираться по порядку!

Читать далее

Борьба за каждую десятую секунды: как мы ускоряли цветокоррекцию на планшете

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели11K

Сделать фотографию ярче несложно. Сделать это естественно и быстро прямо на планшете — уже интереснее. Именно такую задачу мы решали для камеры KVADRA_T. Нужно было усилить цвета и контраст, не получить перенасыщенную картинку или артефакты и при этом обработать полноразмерный снимок достаточно быстро, чтобы пользователь практически не замечал задержки.

Привет, Хабр! Меня зовут Денис Смирнов, я старший инженер по разработке ПО искусственного интеллекта KVADRA AI в YADRO. В этой статье расскажу, как мы искали нейросеть для автоматической цветокоррекции на планшете KVADRA_T, почему выбрали MSLTNet и как довели ее до работы на реальном устройстве.

Читать далее

Беспилотный трамвай в Петербурге: что изменилось за 4 года промышленной эксплуатации

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели95K

Шесть лет назад мы уже писали на Хабре про беспилотный трамвай — тогда это был один экспериментальный вагон, который иногда выезжал на маршрут в Москве, а автопилот тестировался в основном на закрытой территории. С тех пор много воды утекло — в буквальном смысле, учитывая петербургскую погоду.

Стоит сразу оговориться: та статья была про московский проект, и он на самом деле не имеет почти ничего общего с тем, что сейчас работает в Петербурге. Питерский проект стартовал в 2022 году фактически с нуля — с сильно обновленными составом команды, парка трамваев, другими протоколами и, чего уж там, без 2D‑детекции и лидара, которые использовались в Москве. Поэтому эта статья — не столько «было/стало» одной и той же системы, сколько рассказ о том, куда доросла история, начавшаяся почти с чистого листа четыре года назад.

Читать далее

Я распознал паспорт. Чем я могу это доказать?

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7K

Система работает и разбирает документы. Претензия у меня к ней одна, зато неустранимая изнутри: я не могу доказать ни одно из полученных значений.

Ниже — опись. По каждому полю: как оно читается, чем проверяется и чего эта проверка стоит. Последняя строка описи самая интересная, потому что напротив неё не стоит ничего.

Читать далее

Регрессивные JPEG

Время на прочтение4 мин
Охват и читатели7.7K

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

Внутри файла это реализуется разбиением сжатых данных на несколько «сканов», перед каждым из которых добавляется заголовок. Вот первый скан изображения:

FF DA - Маркер "начало скана"

00 0C - Поле длины в big endian (12 байт); включает и свою длину

03 - Количество каналов в скане (3)

01 - Глобальный id первого включённого канала

00 - Индекс 1 таблицы Хаффмана (DC: 0, AC: 0)

02 - Глобальный id второго включённого канала

10 - Индекс 2 таблицы Хаффмана (DC: 1, AC: 0)

03 - Глобальный id третьего включённого канала

10 - Индекс 2 таблицы Хаффмана (DC: 0, AC: 0)

00 - Начальный коэффициент DCT (DC)

00 - Конечный коэффициент DCT (тоже DC)

01 - Точность: половинная, предыдущие данные отсутствуют.

f8ad 512d d3f1 cd96 - Зашифрованные кодом Хаффмана коэффициенты DCT

bcb0 58df 53d5 5d97 [...и так далее]

В него включён самый низкочастотный коэффициент (DC-компонент) преобразования Фурье для всех трёх цветовых каналов.

В качестве трёх цветовых каналов вместо привычного RGB используется YCbCr. Яркость (Luminance, Y) отделена, потому что должна иметь высокое качество, а цвета можно передавать кое-как и они всё равно будут выглядеть неплохо.

Читать далее

Как установить анимацию GIF для иконки окна Linux? Как поменять и получить иконку окна Linux?

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.8K

В статье говорится о том, как динамически изменять и считывать иконку окна Linux. Утилита xdotool_xseticon была создана для динамического изменения значка окна в Astra Linux. Затем функциональность утилиты была расширена для полного управления окнами и получения всей информации об окне Linux. Утилита xdotool_xseticon была протестирована в средах Wayland и X11 в Ubuntu 24.04 (KDE), X11 в Ubuntu 22.04 (KDE) и Astra Linux 1.8. Размер утилиты - 1000 строк.

Читать далее

Alpha канал и конвертация изображений в пиксельный формат ARGB. Конвертация форматов gif, webp, mov, mp4, png через Bash

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели8.5K

В этой статье приведены: паттерны команд Bash в формате скрипта make_window_icon_txt.sh, а также добавление alpha канала с помощью Bash-скрипта утилитами imagemagick (convert) и ffmpeg. Скрипт имеет размер 290 строк. Эти команды bash отвечают на вопросы:

— Как удалить фон из анимированных форматов gif, webp, mov?
— Как добавить alpha канал в форматы gif, webp, mov, mp4 и png?
— Как конвертировать форматы gif, webp, mov, mp4 в отдельные png изображения?
— Как собрать форматы gif, webp, mov, mp4 из отдельных png изображений?
— Как конвертировать изображения в формат ARGB иконок оконных менеджеров?
— Как попиксельно обрабатывать форматы gif, webp, mov, mp4 и png?

Также в статье приведены оптимальные параметры команд imagemagick (convert) и ffmpeg для обработки форматов gif, webp, mov, mp4 и png.

Читать далее

Снятся ли трансформерам электроовцы

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели13K

В 2015 Google выкатила серию изображений, которые выглядели так, словно фотографию отдали на редактуру художнику, а потом забыли вовремя его остановить. На обычном пейзаже появлялись десятки глаз, в облаках начинали угадываться собаки, архитектура покрывалась повторяющимися узорами, а деревья превращались во что-то среднее между растительностью и фантазией художника. Изображения быстро разошлись по интернету, а DeepDream довольно быстро стал отдельным визуальным стилем.

Изначально исследователей интересовали не столько сами картинки, сколько возможность понять, что происходит внутри нейросети. Классификатор снаружи выглядит довольно просто: фотография поступает в модель, а на выходе появляется список вероятностей — собака, кошка, автомобиль, самолет. Между этими двумя точками находится огромное количество вычислений, и по одному ответу модели далеко не всегда понятно, почему она пришла именно к нему.

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

Читать далее

Машина времени уже доступна всем или техника путешествия в прошлое

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели14K

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

Всё просто, вот краткое описание требований для «машины времени»:

— Старая фотография знакомого места.
— Реставрация старой фотографии: добавить цветов в ч/б фото и возможно, атмосферности.
— Оживление старой фотографии Minimax H3 и добавление одного или нескольких современных персонажей в старый оживленный мир.

Всего два небольших промпта в процессе.

Подробное описание магии с примерами.

SVG: почему иконка получает не тот размер

Уровень сложностиСложный
Время на прочтение10 мин
Охват и читатели8.4K

После экспорта из Figma иконка 24×24 может оказаться в браузере крошечной, огромной или размытой. Обычно файл при этом исправен — просто разные части цепочки смотрят на разные параметры. Разбираем систему координат, viewBox, контракты и ловушки в React.

Читать далее

Ближайшие события

Использование VLM и OCR для распознавания текста на изображениях

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7.1K

Привет, Хабр! Одним из моих направлений работ является создание базы знаний по обучающим курсам, которые включают текст и видеоматериалы. И некоторое время назад у меня возник вопрос: какое решение для меня будет оптимальным для распознавания текста на кадрах. В частности, что лучше мне подойдет — VLM или связка OCR + LLM, облачное решение или локальная установка.

Более того, я углубился в тематику OCR: посмотрел ряд типичных задач для OCR и материал на Хабр, провел ряд экспериментов. Надеюсь, данная обзорная статья и мои примеры на GitHub помогут вам быстрее попробовать различные варианты и подобрать оптимальный для своих задач.

Читать далее

Весь архив Циолковского, прочитанный машиной: 51 008 листов и точность, измеренная без эталона

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.1K

Фонд 555 Архива РАН, 51 008 листов рукописей Циолковского, прочитан машиной целиком. Как измерить точность чтения, когда эталона нет, и какие результаты пришлось признать отрицательными.

Читать далее

Microsoft Paint и Photos добавляют невидимые водяные знаки даже на локально сгенерированные изображения

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели9.4K

TL;DR

• Microsoft Paint поддерживает и локальную, и облачную генерацию изображений

• Paint и Photos также имеют в комплекте локальные модели ИИ

• Эти приложения отправляют промпт удалённому серверу для модерации

• Вместе с отмодерированным промптом сервер возвращает GUID

• GUID встраивается в локально сгенерированное изображение в качестве невидимого водяного знака

• Переключаемая в настройках функция видимого водяного знака не управляет этим невидимым водяным знаком

• На PC с Copilot+ генерация изображений выполняется локально, но модерация промптов остаётся удалённой

• Microsoft раскрывает, что Paint добавляет к сгенерированным ИИ изображениям метаданные C2PA

• Сгенерированные ИИ изображения можно сохранять только в форматы, поддерживающие C2PA: PNG, JPEG, GIF и .paint

Читать далее

Подсчет транспорта в видеопотоке: пять мест, где я ошибся

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели5.8K

Счетчик показал десятки проездов за одну красную фазу светофора. Машина была одна, и она стояла.

Нейросеть при этом отработала правильно. Она видела машину и держала ее рамку все это время. Ошибка была в семидесяти строках обычного Python, которые я написал сам.

Система считает машины, автобусы и трамваи на видео с неподвижной камеры… Готовых наборов данных не брал: хотел пройти весь путь от съемки до обученной модели сам и посмотреть, где он ломается.

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

Читать далее

Как я обучила нейросеть рисовать спектрограммы (и что из этого получилось)

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.3K

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

Читать далее

Как я учу компьютер читать старые чертежи — и почему одного OCR оказалось мало

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели5.6K

Я не пытался создать «нейросеть, которая всё понимает». Вместо этого я построил конвейер: компьютерное зрение для поиска видов, детерминированные правила для геометрии, специализированные детекторы для разрывов и исполнений, а поверх — экспериментальный семантический слой на NVIDIA Nemotron. В статье — архитектура, метрики (mAP, Recall), устройство append‑only датасета и инженерные грабли, которые я собрал на 229 чертежах.

Читать далее

Обзор рынка ДЗЗ в России: 2026

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели3.4K

Состояние российского рынка дистанционного зондирования Земли на август 2026 года

Российский рынок дистанционного зондирования Земли переживает довольно заметный переходный период. Еще несколько лет назад ДЗЗ в России в основном ассоциировалось с государственными космическими аппаратами, а коммерческий рынок данных оставался относительно небольшим. Сейчас ситуация меняется: появляются частные операторы спутников, собственные группировки, наземные станции, платформы доступа к данным и сервисы автоматической аналитики.

Одновременно государство начинает выступать не только владельцем космической инфраструктуры, но и крупным заказчиком данных у различных поставщиков. По оценке руководства Роскосмоса, потенциал российского рынка данных ДЗЗ после запуска новой модели закупок может вырасти более чем в шесть раз — до 31 млрд рублей. При этом уже в 2026 году Роскосмос сообщил о заключении контрактов на предоставление данных ДЗЗ примерно на 5 млрд рублей для федеральных и других государственных органов.

Именно поэтому 2026 год можно считать одним из переломных для российского рынка ДЗЗ.

Читать далее
1
23 ...