Обновить
87.64

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

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

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

Поиск Twitch-стримеров в матче PUBG

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

Недавно наряду с реплеями minmax.gg/chickendinner мы выпустили новую функцию, отображающую видео, транслируемые участвующими в матче PUBG Twitch-стримерами. Чтобы реализовать её, нам нужно было распознавать Twitch-стримеров по их внутриигровым именам, что оказалось довольно интересной задачей.
Читать дальше →

Коллапс волновой функции: алгоритм, вдохновлённый квантовой механикой

Время на прочтение11 мин
Охват и читатели36K
image

Алгоритм Wave Function Collapse генерирует битовые изображения, локально подобные входному битовому изображению.

Локальное подобие означает, что

  • (C1) Каждый паттерн NxN пикселей в выходных данных должен хотя бы раз встречаться во входных данных.
  • (Слабое условие C2) Распределение паттернов NxN во входных данных должно быть подобным распределению паттернов NxN в значительно большом количестве наборов выходных данных. Другими словами, вероятность встречи определённого паттерна в выходных данных должна быть близка к плотности таких паттернов во входных данных.
Читать дальше →

Шпаргалка для искусственного интеллекта — выбрось лишнее, учи главному. Техника обработки обучающих последовательностей

Время на прочтение16 мин
Охват и читатели7.2K
Это вторая статья по анализу и изучению материалов соревнования по поиску корабликов на море. Но сейчас будем изучать свойства обучающих последовательностей. Попробуем найти в исходных данных лишнюю информацию, избыточность и её удалить.



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

Недавно закончились соревнования на kaggle по поиску судов на море. Компания Airbus предлагала провести анализ космических снимков моря как с судами так и без. Всего 192555 картинок 768х768х3 — это 340 720 680 960 байт если uint8 и это громадный объем информации и возникло смутное подозрение, что не все картинки нужны для обучения сети и в таком количестве информации очевидны повторы и избыточность. При обучении сети принято некоторую часть данных отделять и не использовать в обучении, а использовать для проверки качества обучения. И если один и тот же участок моря попал на два разных снимка и при этом один снимок попал в тренировочную последовательность, а другой в проверочную, то проверка смысл потеряет и сеть переобучится, мы не проверим свойство сети обобщать информацию, ведь данные те же самые. Борьба с эти явлением отняла много сил и времени GPU участников. Как обычно, победители и призеры не торопятся показать своим поклонникам секреты мастерства и выложить код и нет возможности его изучить и поучиться, поэтому займемся теорией.
Читать дальше →

Объёмный рендеринг в WebGL

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

Рисунок 1. Пример объёмных рендеров, выполненных описанным в посте рендерером WebGL. Слева: симуляция пространственного распределения вероятностей электронов в высокопотенциальной молекуле белка. Справа: томограмма дерева бонсай. Оба набора данных взяты из репозитория Open SciVis Datasets.

В научной визуализации объёмный рендеринг широко используется для визуализации трёхмерных скалярных полей. Эти скалярные поля часто являются однородными сетками значений, представляющими, например, плотность заряда вокруг молекулы, скан МРИ или КТ, поток огибающего самолёт воздуха, и т.д. Объёмный рендеринг — это концептуально простой метод превращения таких данных в изображения: сэмплируя данные вдоль пущенных из глаза лучей, и назначив каждому сэмплу цвет и прозрачность, мы можем создавать полезные и красивые изображения таких скалярных полей (см. Рисунок 1). В GPU-рендерере такие трёхмерные скалярные поля хранятся как 3D-текстуры; однако в WebGL1 3D-текстуры не поддерживаются, поэтому для их эмуляции в объёмном рендеринге требуются дополнительные хаки. Недавно в WebGL2 появилась поддержка 3D-текстур, позволяющая реализовать браузере элегантный и быстрый объёмный рендерер. В этом посте мы обсудим математические основы объёмного рендеринга и расскажем о том, как реализовать его на WebGL2, чтобы создать интерактивный объёмный рендерер, полностью работающий в браузере! Прежде чем начать, вы можете протестировать описанный в этом посте объёмный рендерер онлайн.
Читать дальше →

Жуки атакуют

Время на прочтение6 мин
Охват и читатели16K
Я уже делал на Хабре пост про поражения сибирских лесов опасным вредителем — уссурийским полиграфом. Этот чрезвычайно плодовитый и опасный жук способен за короткое время уничтожить огромные площади пихтовых лесов и, к сожалению, это получается у него куда лучше, нежели усилия людей по борьбе с опасным насекомым. Основной проблемой мониторинга лесов в зоне поражения жуком является нехватка специалистов и современных методик быстрого и точного анализа состояния пораженного леса. Однако, некоторые позитивные моменты всё же есть. На схватку с опасным вредителем выходят беспилотные летательные аппараты. БПЛА. Вернее сказать вылетают…
Читать дальше →

opencv4arts: Нарисуй мой город, Винсент

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

OpenCV — библиотека с историей непрерывной разработки в 20 лет. Возраст, когда начинаешь копаться в себе, искать предназначение. Есть ли проекты на ее основе, которые сделали чью-то жизнь лучше, кого-то счастливее? А можешь ли ты сделать это сам? В поисках ответов и желании открыть для себя ранее неизвестные модули OpenCV, хочу собрать приложения, которые "делают красиво" — так, чтобы сначала было "вау" и только потом ты скажешь "о да, это компьютерное зрение".


Право первой статьи получил эксперимент с переносом стилей мировых художников на фотографии. Из статьи вы узнаете, что является сердцем процедуры и об относительно новом OpenCV.js — JavaScript версии библиотеки OpenCV.


Читать дальше →

Как мы не выиграли хакатон

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

С 30 ноября по 2 декабря в Москве прошел PicsArt AI hackathon c призовым фондом — 100,000$. Основной задачей было сделать AI решение для обработки фото или видео, которое можно будет использовать в приложение PicsArt. Коллега по работе(на тот момент) Артур Кузин предложил поучаствовать, заинтересовав меня идеей — анонимизация личных фотографий пользователей с сохранением деталей(мимики и т.д). Также Артур позвал Илью Кибардина — студента МФТИ (кому-то же нужно было писать код). Название родилось очень быстро: DeepAnon.



Это будет рассказ про наше решение, его деградацию развитие, хакатон, и как не надо подстраиваться под жюри.

Читать дальше →

Рендеринг шрифтов с помощью масок покрытия, часть 1

Время на прочтение12 мин
Охват и читатели5.8K
image

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

  1. Мы должны иметь возможность рендерить любой шрифт любого размера в реальном времени, чтобы адаптироваться к системным шрифтам и их размерам, выбранным пользователями Windows.
  2. Рендеринг шрифтов должен быть очень быстрым, никаких торможений при рендеринге шрифтов не допускается.
  3. В нашем UI куча плавных анимаций, поэтому текст должен иметь возможность плавно перемещаться по экрану.
  4. Он должен быть читаемым при малых размерах шрифтов.

Не будучи в то время большим специалистом в этом вопросе, я поискал информацию в Интернете и нашёл множество техник, используемых для рендеринга шрифтов. Также я пообщался с техническим директором Guerrilla Games Михилем ван дер Леу. Эта компания экспериментировала со множеством способов рендеринга шрифтов и их движок рендеринга был одним из лучших в мире. Михиль вкратце изложил мне свою идею новой техники рендеринга шрифтов. Хотя нам вполне было бы достаточно уже имевшихся техник, меня эта идея заинтриговала и я приступил к её реализации, не обращая внимания на открывшийся мне чудесный мир рендеринга шрифтов.
Читать дальше →

Face Recognition Ivideon: самая доступная система распознавания лиц для бизнеса

Время на прочтение5 мин
Охват и читатели14K
image

Мы долго шли к этому дню. Ещё в 2012 году на Хабре мы объявили конкурс на создание демонстрационного приложения с использованием OpenCV для слежения за несколькими объектами и, в конечном счете, для запуска сервиса детекции лиц.

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

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

Хотя за кадром остаются годы поиска и тестов, давайте сразу посмотрим, как сейчас работает наше решение для малого и среднего бизнеса. Почему для них? Раньше системы такого уровня устанавливали в аэропортах, метро или в периметре крупных предприятий. Теперь Ivideon запускает бета-релиз модуля распознавания лиц по доступным для всех тарифам от 1 700 рублей.

Как с помощью компьютерного зрения оценить состояние автомобиля. Опыт Яндекс.Такси

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


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


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

Читать дальше →

Верификация фотографий в ритейле с помощью Computer vision

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

Вступление


В рамках программы кредитования банк сотрудничает со многими розничными магазинами.
Одним из ключевых элементов заявки на кредит является фотография заемщика – агент магазина-партнера фотографирует покупателя; такая фотография попадает в «личное дело» клиента и используется в дальнейшем как один из способов подтверждения его присутствия на точке в момент подачи заявки на кредит.

К сожалению, всегда существует риск недобросовестного поведения агента, который может передавать в банк недостоверные фотографии – например, снимки клиентов из социальных сетей или паспорта.

Обычно банки решают эту задачу с помощью верификации фотографии – сотрудники офиса просматривают фотографии и пытаются выявить недостоверные изображения.
Мы захотели попробовать автоматизировать процесс и решить задачу с помощью нейросетей.
Читать дальше →

Небольшое исследование свойств простой U-net, классической сверточной сети для сегментации

Время на прочтение18 мин
Охват и читатели24K
Cтатья написана по анализу и изучению материалов соревнования по поиску корабликов на море.

image

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

Нужно больше разных Blur-ов

Время на прочтение5 мин
Охват и читатели17K
Размытие изображения посредством фильтра Gaussian Blur широко используется в самых разных задачах. Но иногда хочется чуть большего разнообразия, чем просто один фильтр на все случаи жизни, в котором регулировке поддаётся только один параметр — его размер. В этой статье мы рассмотрим несколько других реализаций размытия.


Читать дальше →

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

На чём прокалывается ИИ при генерации человеческих лиц

Время на прочтение3 мин
Охват и читатели26K
В 2014 году исследователь в области машинного обучения Ян Гудфеллоу выдвинул идею генеративных состязательных сетей или GAN. «Генеративность» состоит в том, что результатом их работы являются изображения, а не оценка ввода (типа «хот-дог или нет»), а «состязательность» — в том, что две нейросети играют в кошки-мышки, как федералы с фальшивомонетчиками: одна нейросеть пытается обмануть другую, создавая реалистичные картинки, а вторая старается отличить фейк.

Первые изображения GAN было легко идентифицировать. Посмотрите на эти лица 2014 года.


«Обучение без учителя представлению с глубокими свёрточными генеративными состязательными сетями» (2014), Рэдфорд и др. Также известны как DCGAN
Читать дальше →

Научный корпоратив Smart Engines (или как мы ездили на ICMV 2018)

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

Каждая уважающая себя IT-компания ценит своих сотрудников. Это выражается не только в хороших зарплатах, гибких графиках и домашнем уюте в офисе (что, несомненно, является важным материальным показателем ценности сотрудника), но и в проведении различных мероприятий из серии “для души”. Именно поэтому в новостях часто мелькают заметки про то, как крупные IT компании арендуют рестораны/пансионаты/яхты для проведения различного рода корпоративов. И, наверное, это все очень здорово, дружно и весело. Наверное, в такие моменты активно процветает тот самый мифический тимбилдинг, про который так любят говорить за границей. И все-таки, у нас в Smart Engines свой взгляд на то, как лучше потратить честно заработанные деньги с наибольшей пользой для сотрудников.

Читать дальше →

Как искусственный интеллект помогает работать с юридическими документами? Лекция Егора Будникова из ABBYY

Время на прочтение11 мин
Охват и читатели7.8K
Недавно системный аналитик технологического департамента компании ABBYY Егор Будников выступил в «Яндексе» на конференции «Data & Science: закон и делопроизводство». Он рассказал, как работает компьютерное зрение, происходит обработка текстов, на что важно обращать внимание при извлечении информации из юридических документов и о многом другом.


— У компании могут быть развитые методологии анализа данных и электронный документооборот, при этом от клиентов или от соседних отделов в компанию могут приходить документы, созданные в Word, при этом распечатанные, отксерокопированные, отсканированные и принесенные на флешке.

Что же делать с документооборотом, который есть сейчас, с «грязными» документами, с бумажным хранением, вплоть до того, что документы могут храниться до 70 лет, прежде чем они отсканированы и должны быть распознаны?
Читать дальше →

Сравнение лучших API для фильтрации непотребного контента

Время на прочтение6 мин
Охват и читатели15K
Полное тестирование нескольких API для фильтрации изображений различных категорий, таких как нагота, порнография и расчленёнка.



Человек сразу понимает, что некое изображение является неуместным, то есть NSFW (Not Safe For Work). Но для искусственного интеллекта всё не так ясно. Много компаний сейчас пытаются разработать эффективные средства для автоматической фильтрации такого контента.
Читать дальше →

WebP скоро захватит веб, но век будет не долгим

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


Стандарт кодирования изображений WebP нельзя назвать новым, его представила Google в уже далёком 2010 году. Однако всё это время использование его было сильно ограничено из-за того, что разработчики браузеров имели собственное мнение по поводу того, какой новый формат изображений должен поддерживать их браузер. Но скоро ситуация изменится, т. к., наконец, поддержка WebP появится на подавляющем большинстве браузеров. Но стандарт WebP рискует стать популярным, будучи уже устаревшим, ведь его конкурент — AVIF, поддерживаемый альянсом большинства разработчиков браузеров, уже в активной разработке.

Читать дальше →

Как мы делали книжный сканер для судов

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


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

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

Задачей сканера было механически выровнять сканируемый материал на плоскости, а потом отсканировать.

С тех пор поменялись две вещи:
— Подходы к конструированию электроники.
— Подходы к машинному зрению.

Обзор основных методов Deep Domain Adaptation (Часть 2)

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

В первой части мы ознакомились с методами доменной адаптации с помощью глубоко обучения. Поговорили об основных датасетах, а также о подходах discrepancy-based и adversarial-based non-generative. Эти методы хорошо себя показывают для некоторых задач. А в этот раз мы разберём наиболее сложные и перспективные adversarial-based методы: generative models, а также алгоритмы, показывающие наилучшие результаты на датасете VisDA (адаптации с синтетических данных под реальные фотографии).


Читать дальше →

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