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

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

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

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

Вариационные автокодировщики: теория и рабочий код

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


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

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

Как создать процедуральный арт менее чем за 100 строк кода

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


Generative art (генеративное или процедуральное искусство) может отпугнуть, если вы никогда с ним раньше не сталкивались. Если коротко, то это концепция искусства, которое буквально создает само себя и не требует хардкорных знаний программирования для первого раза. Поэтому я решил немного разбавить нашу ленту, погнали.
Читать дальше →

Создание GIF-анимации с помощью OpenCV

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


Из этого туториала вы узнаете, как создавать анимированные GIF-файлы с помощью OpenCV, Python и ImageMagick. Затем объедините эти методы, чтобы создать генератор мемов с OpenCV!

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

  • Лягушка Кермит: «Но это не мое дело»
  • Сварливый кот
  • Эпик фейл
  • Хороший парень Грег

Но лично для меня ни один из этих мемов не сравнится с мемом ”Deal With It" («Смирись с этим» или «Разбирайся сам»), пример которого приведён в начале статьи.
Читать дальше →

Нейронные сети против цензуры хентая

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


От переводчика: Этот забавный репозиторий уже с неделю находится в трендах гитхаба, и сейчас у него фееричное количество из 5000 звёздочек и 400 форков — поэтому я подумал, что было бы интересно перевести про него статью, хотя она короткая, да и тематика для хабра не очень стандартная.
Если интересно, в оригинале статьи (ссылка около заголовка) есть ссылки на примеры работы программы.
Читать дальше →

DeOldify: программа для раскрашивания чёрно-белых изображений

Время на прочтение7 мин
Количество просмотров52K
Если вкратце, задача этого проекта — раскрашивать и восстанавливать старые снимки. Я немного углублюсь в детали, но сначала давайте посмотрим фотографии! Кстати, большинство исходных изображений взято из подреддита r/TheWayWeWere, благодарю всех за такие качественные большие снимки.

Это лишь немногие примеры, и они вполне типичные!

Мария Андерсон в роли Маленькой феи и её паж Любовь Рябцова в балете «Спящая красавица» в Императорском театре, Санкт-Петербург, Россия, 1890


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

Дорисовывание лиц с помощью машинного обучения

Время на прочтение2 мин
Количество просмотров5.6K
В этом примере показано использование различных алгоритмов машинного обучения для завершения изображений. Цель состоит в том, чтобы предсказать нижнюю половину лица, учитывая его верхнюю половину.

Первый столбец изображений показывает настоящие лица. Следующие столбцы иллюстрируют, как деревья (extremely randomized trees), метод k-ближайших соседей (k nearest neighbors/K-nn), линейная регрессия (linear regression) и RidgeCV (ridge regression complete) завершают нижнюю половину этих лиц.

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

Генерация произвольных реалистичных лиц с помощью ИИ

Время на прочтение10 мин
Количество просмотров53K
Контролируемый синтез и редактирование изображений с использованием новой модели TL-GAN


Пример контролируемого синтеза в моей модели TL-GAN (transparent latent-space GAN, генеративно-состязательная сеть с прозрачным скрытым пространством)

Весь код и онлайн-демо доступны на странице проекта.
Читать дальше →

Играем в Mortal Kombat с помощью TensorFlow.js

Время на прочтение18 мин
Количество просмотров19K
Экспериментируя с улучшениями для модели прогнозирования Guess.js, я стал присматриваться к глубокому обучению: к рекуррентным нейронным сетям (RNN), в частности, LSTM из-за их «необоснованной эффективности» в той области, где работает Guess.js. В то же время я начал играться с свёрточными нейросетями (CNN), которые тоже часто используются для временных рядов. CNN обычно используют для классификации, распознавания и обнаружения изображений.


Управление MK.js с помощью TensorFlow.js

Исходный код для этой статьи и МК.js лежат у меня на GitHub. Я не выложил набор данных для обучения, но можете собрать свои собственные и обучить модель, как описано ниже!
Читать дальше →

Нейросети не понимают, что такое оптические иллюзии

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

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




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

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

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

Laplace Blur — Можно ли блюрить Лапласом вместо Гаусса, во сколько раз это быстрее, и стоит ли того потеря 1/32 точности

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

«Блюр» в простонародье — эффект размытия, в цифровой обработке изображений. Бывает очень эффектен и сам по себе, и как составляющее анимаций интерфейса, или более сложных производных эффектов (bloom/focusBlur/motionBlur). При всем этом честный блюр в лоб довольно медленен. И часто реализации встроенные в целевую платформу оставляют желать лучшего. То скорость печальна, то артефакты режут глаза. Ситуация рождает множество компромиссных реализаций, лучше или хуже подходящих для определенных условий. Оригинальная реализация с хорошим качеством достоверности и высочайшей скоростью, при этом нижайшей зависимостью от аппаратной части ждет вас под катом. Приятного аппетита!
Читать дальше →

Следование линии на основе OpenCV

Время на прочтение4 мин
Количество просмотров17K
Сейчас очень популярны курсы по созданию автопилотов для машин. Вот эта нано-степень от Udacity — самый наверное известный вариант.

Много людей по нему учатся и выкладывают свои решения. Я тоже не смог пройти мимо и увлекся.

Разница в том, что курс предполагает разработку алгоритма на основе предоставляемых данных, а я делал все для своего робота.
Читать дальше →

Преобразование цветовой температуры (K) в RGB: алгоритм и пример кода

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


Если вы не знаете, что такое цветовая температура, начните отсюда.

Работая над инструментом «Цветовая температура» для PhotoDemon, я целый вечер пытался определить простой и понятный алгоритм преобразования между значениями температуры (в Кельвинах) и RGB. Я думал, что такой алгоритм будет просто найти, ведь во многих фоторедакторах есть инструменты для коррекции цветовой температуры, а в каждой современной камере, включая смартфоны, есть регулировка баланса белого на основе условий освещения.
Читать дальше →

Посмотри на тень

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


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

Хочу сделать небольшой обзор на эту тему. Думаю что будет познавательно и интересно.
Читать дальше →

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

Работа с изображениями на Python

Время на прочтение18 мин
Количество просмотров108K
Тема сегодняшнего разговора — чему же научился Python за все годы своего существования в работе с изображениями. И действительно, кроме старичков родом из 1990 года ImageMagick и GraphicsMagick, есть современные эффективные библиотеки. Например, Pillow и более производительная Pillow-SIMD. Их активный разработчик Александр Карпинский (homm) на MoscowPython сравнил разные библиотеки для работы с изображениями на Python, представил бенчмарки и рассказал о неочевидных особенностях, которых всегда хватает. В этой статье расшифровка доклада, который поможет вам выбрать библиотеку под свое приложение, и сделать так, чтобы она работало максимально эффективно.


О спикере: Александр Карпинский работает в компании Uploadcare и занимается сервисом быстрой модификации изображений на лету. Участвует в разработке Pillow — популярной библиотеки для работы с изображениями на Python, развивает собственный форк этой библиотеки — Pillow-SIMD, который использует современные инструкции процессоров для наибольшей производительности.

Решение проблемы обнаружения центральной линии сосуда

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

Суть задачи


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


Одна из задач врача — найти стенозы и оценить, насколько они опасны. Задача же разработчика, как обычно, облегчить работу конечного пользователя. Для этого необходимо построить полную 3D модель стенок сосуда и провести их первичный анализ. Это является большой и интересной задачей, однако, в её основе лежит более простая и известная проблема — построение центральной линии сосуда.
Читать дальше →

iPhone XS: почему это совершенно новая камера

Время на прочтение9 мин
Количество просмотров43K
Отчёт стартапа, занимающегося приложением для улучшения фотосъёмки с iPhone



iPhone XS против iPhone X – изменения в камере на уровне железа

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

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

Это именно спецификации железа – притом, что Apple в основном концентрировалась на таких программных улучшениях, как Smart HDR и новый портретный режим.
Читать дальше →

Посылка на луну

Время на прочтение2 мин
Количество просмотров3.4K
Фонд Arch Mission в сотрудничестве с Microsoft, Вашингтонским университетом и компанией Twist Bioscience включит 10 000 изображений, текст 20 книг и другую информацию, закодированную на синтетических молекулах ДНК, в Lunar Library («Лунную библиотеку»).

Любой желающий может предложить свое изображение для кодирования в ДНК и отправки на Луну на сайте.

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

Автоматизация секс-индустрии или госуслуги по-немецки

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

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

Обучение и тестирование нейронных сетей на PyTorch с помощью Ignite

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

Привет, Хабр, в этой статье я расскажу про библиотеку ignite, с помощью которой можно легко обучать и тестировать нейронные сети, используя фреймворк PyTorch.


С помощью ignite можно писать циклы для обучения сети буквально в несколько строк, добавлять из коробки расчет стандартных метрик, сохранять модель и т.д. Ну, а для тех кто переехал с TF на PyTorch, можно сказать, что библиотека ignite — Keras для PyTorch.


В статье будет детально разобран пример обучения нейронной сети для задачи классификации, используя ignite


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

Ищем быструю универсальную библиотеку для работы с графическими файлами, разбираемся с Google benchmark

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


В наше время, когда нейронные сети бороздят просторы Big Data, а искусственный интеллект раздумывает, выгодно ли ему получать зарплату за свою работу в Bitcoin, доставшаяся мне задача поиска самой быстрой открытой кросс-платформенной библиотеки для загрузки, сохранения и перекодирования графических файлов выглядела настоящим анахронизмом. Но на самом деле эта задача актуальна как никогда – для всех технологий компьютерного зрения и машинного обучения гигабайты картинок надо обязательно загрузить, а иногда и сохранить промежуточные данные в виде изображений. Так что сделать это самым быстрым способом очень желательно. В этой статье мы найдем искомую библиотеку, а, главное, разберемся с очень полезным продуктом, сильно упрощающим подобные и многие другие задачи — Google Benchmark.
Читать дальше →

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