Все потоки
Поиск
Написать публикацию
Обновить
51.7

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

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

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

SBER-MoVQGAN или новый эффективный Image Encoder для генеративных моделей

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

Вариационные автоэнкодеры в квантованном векторном пространстве стали довольно популярными в последние несколько лет и успешно применяются в широком спектре генеративных задач (Stable Diffusion, VQ Diffusion, VideoGPT и др.). VQVAE позволяет сжимать картинку в латентное пространство меньшей размерности, а затем восстанавливать это латентное представление изображения в RGB-состояние. Операции в латентном пространстве выполняются быстро, поэтому VQVAE получил широкое применение как в авторегрессионных мультимодальных архитектурах (DALLE, ruDALL-E, RUDOLPH), так и в диффузионных моделях (DALL-E 2, Kandinsky 2.1, Latent Diffusion). В первом случае вариационный автоэнкодер позволяет закодировать картинку в последовательность визуальных токенов, которые вместе с текстовыми токенами используются в обучении трансформера. Во втором случае VQVAE кодирует картинку в квантованное пространство малой размерности, позволяя выполнять диффузионный процесс в латентном пространстве (ввиду того, что диффузионный процесс является итеративным и скорость генерации напрямую зависит от числа шагов диффузии, вычислительная сложность каждого шага очень важна), который в сравнении с пиксельной диффузией выполняется быстрее и потребляет меньше памяти. 

Во всех перечисленных задачах качество генерации напрямую зависит от качества восстановления исходных картинок с помощью VQVAE. Пару лет назад мы уже проводили эксперименты и обучали SBER-VQGAN, который на тот момент давал лучшие результаты в сравнении c dVAE и ванильным VQGAN. Подробнее об этих экспериментах можно прочитать в статье на Хабре. Однако по-прежнему нам не хватало качества восстановления в сложных доменах, таких как текст и лица, поэтому мы попытались модифицировать и улучшить SBER-VQGAN, в результате получив SoTA среди моделей по кодированию изображений.

Читать далее

Smart Engines: “Если ты предлагаешь новую технологию – должно пройти время, чтобы в обществе осознали ее необходимость”

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

Привет!

Мы, компания Smart Engines, являемся экспертами в сфере распознавания. За время нашего существования мы опубликовали на Хабр более сотни статей, в которых рассказали о наших технологиях и научных достижениях. Теперь мы решили познакомить вас поближе с нашей командой и показать, что скрывается за дверьми офиса Smart Engines. 

Когда появилась первая OCR? Чем российская школа компьютерного зрения отличается от американской? С какой скоростью мы распознаем на "Эльбрусе"? Исчезнут ли когда-нибудь бумажные документы? На эти и другие вопросы в интервью блогеру imaxai ответили генеральный директор Smart Engines к.т.н. Владимир Арлазаров, директор по науке, член-корреспондент РАН, профессор, д.т.н. Владимир Львович Арлазаров.

Читать далее

Экономичное МФУ с СНПЧ: никакой мороки с картриджами меньше чем за 15К

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

Привет, Хабр! Сегодня мы хотим рассказать об МФУ от Canon, которое в значительной степени решает вопрос удешевления цветной печати в небольшом или домашнем офисе. Под катом — обзор Canon PIXMA G2411, который откровенно пробивает дно в вопросах доступности печати, причем при невысокой первоначальной стоимости самого девайса.

Читать далее

Автоматический майнинг изображений

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

В предыдущих статьях мы рассказали, как создать фотогалерею с собственной поисковой системой [1,2]1. Но где нам найти изображения для нашей галереи? Нам придется вручную искать источники «хороших» изображений, а затем вручную проверять, является ли каждое изображение «хорошим». Можно ли автоматизировать обе эти задачи? Ответ — да.

Читать далее

Ускоряем процесс разметки с помощью интерактивной сегментации

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

Всем привет! Сегодня поговорим про задачу интерактивной сегментации на основе кликов (click-based) и как она может ускорить процесс разметки данных для различных типов сегментации. Сегментационные модели применяются в распознавании событий и объектов в видео (Video Understanding), анализе медицинских снимков и в управлении беспилотных автомобилей, а также с  их помощью реализована замена фона в приложениях для видеозвонков, бьютификация и автоматическая ретушь фотографий. SberDevices тоже активно разрабатывают свои решения для семантической сегментации – недавно мы рассказывали про задачу замены фона и бьютификацию в нашей статье, в которой представили новый большой opensource датасет для Portrait Segmentation и Face Parsing вместе с набором предобученных моделей.

Читать далее

Все события в мире синтетических данных за 2022 год

Время на прочтение12 мин
Количество просмотров1.4K

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

Новые игроки и анализ рынка синтетических данных


Когда в 2021 году я опубликовала пост о состоянии рынка синтетических данных, на нём присутствовало 67 поставщиков:

  • 28 поставщиков структурированных синтетических данных,
  • 10 поставщиков синтетических тестовых данных,
  • 6 опенсорсных поставщиков,
  • и 29 поставщиков неструктурированных данных.

Год спустя картина изменилась:


На карте появилось 28 новых поставщиков, а всего продавать продукты и сервисы синтетических данных стали 97 компаний.

Мы добавляем на карту ещё 31 поставщика, что суммарно даёт 100 компаний, занимающихся продажей продуктов и сервисов синтетических данных. Пять компаний закрылось и ещё я убрала с этой карты опенсорсные решения. Обновлённый список компаний, занимающихся синтетическими данными, можно посмотреть в этой статье.
Читать дальше →

Новейшая технология КТ — измерения под контролем реконструкции

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

Привет, Хабр! Каждому из нас хотя бы однажды было интересно заглянуть внутрь какого-либо объекта, не разрушая его, не так ли? И на сегодняшний день это представляется возможным благодаря одному из методов неразрушающего анализа внутренней структуры объекта - методу компьютерной томографии (КТ), подробнее о котором уже мы писали в статье. Первое, что приходит на ум, когда мы слышим термин КТ: “... что-то из медицины, какое-то исследование ...”. К удивлению многих, КТ не менее успешно применяется и в области промышленности, и в области научных исследований, и даже в области таможенного контроля.

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

Читать далее

Slovo и русский жестовый язык

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров8.8K

Всем привет! В этой статье мы расскажем о непростой задаче распознавания русского жестового языка (РЖЯ) для слабослышащих. Насколько нам известно, в открытом доступе не существует универсального набора данных для распознавания РЖЯ. Поэтому мы решили выложить небольшую часть нашего датасета в открытый доступ. В статье мы затронем основные особенности РЖЯ, поговорим о проблемах и сложностях самого языка, и процессе его сбора и разметки. Расскажем, где искали экспертов и как нам в итоге удалось собрать самый большой и разнородный жестовый датасет для РЖЯ. В конце статьи представим набор предобученных нейронных сетей и небольшое приложение, демонстрирующее распознавание жестового языка. Часть датасета и веса моделей мы выложили в открытый доступ — все ссылки вы можете найти в конце статьи или в нашем репозитории.

Интересно?

Миссия выполнима: как Smart Engines обучила нейросеть распознавать все страницы паспорта РФ и находить подделки

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров17K

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

Читать далее

Улучшенная эвристика при квантовании цветовой палитры

Время на прочтение11 мин
Количество просмотров1.9K

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

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

Вот в чём заключалось одно крупное изменение, которое я хотел внести: оценить расстояния между цветами, воспользовавшись при этом равномерно воспринимаемым цветовым пространством, а не наивное евклидово расстояние между RGB-тройками. 

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

Читать далее

Как заразить видео. Поиск уязвимостей в декодерах H.264

Время на прочтение3 мин
Количество просмотров10K


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

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

В итоге мы приближаемся к тому, что вирусы можно будет незаметно интегрировать в видеоролики и распространять через популярные видеоплатформы, эксплуатируя уязвимости в аппаратных декодерах на смартфонах и в программных декодерах браузеров на ПК.
Читать дальше →

Использование компьютерного зрения для игры в покер

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

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

Под кат!

Восстановить удаленную фотографию с флешки? Искусственный интеллект в помощь

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

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

Читать далее

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

Точечные фильтры: алгоритмы и их реализация

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

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

Для начала импортируем модули для дальнейшей работы с изображениями.

Читать далее

Форматы векторной графики. Замена «толстому» SVG

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров18K
Векторизация растровой графики, источник

Все знают стандарт векторной графики SVG (Scalable Vector Graphics). Великая вещь, которая незаменима в веб-дизайне. Но этот формат до сих пор полностью не поддерживается ни в одном браузере по одной простой причине: он невероятно сложный. Если посмотреть на спецификации, там более 200 подпунктов в 27 разделах (около 900 страниц на бумаге). Только оглавление занимает 19 экранов. Мягко говоря, это перебор.

К счастью, SVG — не единственный формат векторной графики. Есть более эффективные и минималистичные альтернативы.
Читать дальше →

Много нас, а GPU один. Как делиться?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров18K

Нет, этот пост не про то, как на простом ноуте без NVIDIA гонять Stable Diffusion с вполне вменяемой скоростью.

Да, этот пост про то, как на простом ноуте без NVIDIA гонять Stable Diffusion с вполне вменяемой скоростью.

Но только если карточка у вас все-таки где-то есть. Пост не про халяву :)

Часто задают вопрос: «У нас маленькое агентство, как бы сделать, чтобы 4 человека работали на одной видеокарте?». То же самое относится и к «мама-папа-я – дружная семья, и все мы любим Stable Diffusion».

Это становится еще более актуальным в связи с появившимися сложностями при попытках бесплатно гонять SD в Google Colab (а Kaggle и другие заменители не такие щедрые).

В этом посте я опишу несколько вариантов «совместной работы с одним GPU», их плюсы и минусы. В основном, на примере Stable Diffusion, хотя Vicuna я тоже гонял параллельно.

Узнать нюансы

Как с помощью нейронной сети снизить дозу КТ, не потеряв в качестве реконструкции

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.8K

Привет, Хабр!  Всем известно, что чрезмерное использование рентгеновских лучей негативно влияет на здоровье человека. Однако метод компьютерной томографии очень востребован, так как позволяет неинвазивно визуализировать изображение внутренней структуры человеческого тела. Поэтому задача снижения дозы в методе КТ  возникла с момента введения в эксплуатацию первых сканеров. Существует множество методов снижения дозы излучения, получаемой пациентом, но, к сожалению, все они ведут к снижению диагностических качеств реконструированных изображений. Мы разработали метод снижения дозы излучения за счет снижения числа проекций, который сохраняет качество реконструированного изображения. Теоретически обоснованный метод базируется на применении нейронных сетей, показывает хорошее качество реконструкций, а быстродействие метода достигается за счет использования легковесной нейронной сети. Качество работы метода демонстрируется на открытом датасете с результатами томографии грудной клетки человека. Обо всем этом мы и расскажем в данной статье. 

Читать далее

RUDOLPH: освещая дорогу к AGI

Уровень сложностиСложный
Время на прочтение19 мин
Количество просмотров4.1K

Как можно описать последние два года в области машинного обучения и искусственного интеллекта? Пожалуй, подойдет словосочетание «расцвет генеративных моделей». Очень ярко прослеживается тренд и на развитие мультимодальности (и особенно активно развиваются бимодальные модели, работающие на стыке модальностей текстов и изображений). Если нашумевшая модель ChatGPT, построенная на основе архитектуры InstructGPT и принципах Reinforcement Learning with Human Feedback, работает только в текстовой модальности и может отвечать на текстовые вопросы различной степени сложности, то её последователь GPT-4 работает уже в двух модальностях, текст и изображение, но выдает только текстовый ответ. Похожим образом работают и модели FlamingoFROMAGeKosmos-1MiniGPT-4LLaVa. Можно заметить, что большинство моделей «однонаправлены», то есть либо переводят текст в соответствующее ему изображение, либо генерируют текстовый ответ по мультимодальному запросу.

Тем не менее, кажется, что модель, которая сможет работать с модальностями (в нашем случае, текстами и изображениями) равноценно и симметрично (то есть по факту решать zero-shot или после файнтюнинга все задачи на стыке двух модальностей, в том числе и генеративные) сможет более правильно оценивать совместные вероятности «токенов» текста и изображения и за счёт этого более качественно решать каждую из задач в отдельности (описывать изображения, генерировать изображения по тексту, отвечать на вопросы по тексту, отвечать на вопросы по изображениям, распознавать рукописный текст итд). Назовём такую способность модели гиперзадачностью (hyper-tasking).

Чтобы проверить гипотезу, сформулированную выше, мы задумались над модификацией генеративной модели Kandinsky 1.0 (ruDALL-E 12B), а именно над изменением процесса обработки входной последовательности. Результатом наших экспериментов стала модель RUDOLPH (RUssian Decoder On Language Picture Hyper-tasking), которая представляет собой авторегрессионную модель, способную решать разные типы задач в текстово-визуальном домене.

Читать далее

Как мы разрабатывали алгоритм для анализа уникальных посетителей

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

Привет, Хабр! Мы — Александр Просвирнин, руководитель проектного направления, и Иван Григорьев, старший менеджер продукта центра «Видеонаблюдения и Безопасности» блока по телекоммуникационному бизнесу, работаем в экосистеме МТС.

В этой статье мы расскажем о решении для анализа уникальных посетителей. Опишем недостатки существующих на рынке решений и расскажем, почему надо остановиться именно на видеоаналитике — и что мы сделали для улучшения алгоритмов.

Читать далее

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 9. Мой пэт-проект

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

Оглавление: Уроки компьютерного зрения. Оглавление / Хабр (habr.com)

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

Предобработка изображения.

Промежуточная фильтрация.

Выявления специальных признаков (фич).

Высокоуровневый анализ.

Разумеется, это не окончательный список стадий обработки. В будущем сюда может что-то добавиться, а так же некоторые стадии могут иметь подстадии.

Естественно, делать конвейер ради самого конвейера как-то бессмысленно. Надо, чтобы моя программа делала хоть что-то условно полезное. Сначала я хотел написать пэт-проект, который бы анализировал фотографии со спутников и БЛА и превращал их в граф (это перекликается с темой моей магистерской диссертации). Правда, это слишком уж амбициозная задумка для пэт-проекта. Надо что-то по- проще. В комментариях к одному из уроков мне посоветовали добавить в финале пару глав про выделение отдельных символов и распознавание их при помощи общедоступных нейронок. И вот я и подумал, может, начать пэт-проект именно с этой задачи? Распознавание текстов? Это гораздо проще.

Итак, для начала я создал пустой проект и добавил туда две папки: Exec и Libraries. В первой у меня будет запускаемый файл/файлы, во втором всякие библиотечные файлы. В качестве первого библиотечного файла создал Core.py:

Читать далее

Вклад авторов