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

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

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

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

Туристы помогают ученым оценить численность крупных хищников

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


Гражданско-добровольный мониторинг животных с помощью выданных путешественникам GPS-трекеров и анализа их фотографий оказался намного дешевле, чем использование фото- и аудио- ловушек.
Читать дальше →

Безумный конвертер GIF'ок в анимированные стикеры для Telegram

Время на прочтение5 мин
Количество просмотров56K
Вместо тысячи слов...


xZibit тоже рад, ведь здесь GIF вставлены в стикеры, чтобы быть вставлеными в GIF для КДПВ!

А теперь о подробностях реализации.
Читать дальше →

Опыт моделеварения от команды Computer Vision Mail.ru

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


Меня зовут Эдуард Тянтов, я руковожу командой Computer Vision в Mail.ru Group. За несколько лет существования наша команда решила десятки задач компьютерного зрения, и сегодня расскажу вам о том, какие методики мы используем для успешного создания моделей машинного обучения, которые работают на широком спектре задач. Поделюсь трюками, которые могут ускорить получение модели на всех этапах: постановка задачи, подготовка данных, обучение и развертывание в продакшен.
Читать дальше →

Издевательски точный, быстрый и легковесный поиск баркодов через семантическую сегментацию

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

Поиск объектов на изображениях? Имея обучающую выборку и минимальный набор знаний о нейросетях, любой студент сегодня может получить решение определенной точности. Однако большинство нейросетей, использующихся для решения этой задачи, достаточно глубокие, а соответственно, требуют много данных для обучения, сравнительно медленно работают на этапе inference (особенно если на устройстве отсутствует GPU), много весят и достаточно энергозатратны. Все вышеперечисленное может быть весьма критично в определенных случаях, в первую очередь, для мобильных приложений.


Баркоды — объекты с достаточно простой структурой. В ходе исследований у нас получилось с помощью сравнительно оригинального подхода искать такие простые объекты весьма точно (мы побили state-of-the-art) и достаточно быстро (real-time на среднем CPU). Плюс наш детектор очень легкий, имеющий всего 30к весов. О результатах нашего исследования мы и расскажем в этой статье.

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

Нейросеть в стекле. Не требует электропитания, распознаёт цифры

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

Все мы знакомы с такой способностью нейронных сетей, как распознавание рукописного текста. Основы этой технологии существуют уже много лет, но, лишь относительно недавно, скачок в области компьютерных мощностей и параллельной обработки данных позволили сделать из этой технологии очень практичное решение. Тем не менее, это практичное решение, в основе своей, будет представлено в виде цифрового компьютера многократно изменяющего биты, точно так же, как и при выполнении любой другой программы. Но в случае с нейронной сетью, разработанной исследователями из университетов Wisconsin, MIT, и Columbia, дело обстоит по-другому. Они создали стеклянную панель, не требующую собственного электропитания, но при этом способную распознавать рукописные цифры.
Читать дальше →

Как мы обучили нейронную сеть классифицировать шурупы

Время на прочтение10 мин
Количество просмотров28K
Нейронная сеть может опознать котика на фотографии, найти диван, улучшить видеозапись, нарисовать картинку из щенят или простого наброска. К этому мы уже привыкли. Новости о нейросетях появляются почти каждый день и стали обыденными. Компании Grid Dynamics поставили задачу не обыденную, а сложную — научить нейросеть находить специфический шуруп или болт в огромном каталоге интернет-магазина по одной фотографии. Задачка сложнее, чем найти котика.



Проблема интернет-магазина шурупов — в ассортименте. Тысячи или десятки тысяч моделей. У каждого шурупа свое описание и характеристики, поэтому на фильтры нет надежды. Что делать? Искать вручную или искать в гипермаркете на полках? В обоих случаях это потеря времени. В итоге клиент устанет и пойдет забивать гвоздь. Чтобы помочь ему, воспользуемся нейросетью. Если она может находить котиков или диваны, то пусть занимается чем-то полезным — подбирает шурупы и болты. Как научить нейросеть подбирать для пользователя шурупы быстро и точно, расскажем в расшифровке доклада Марии Мацкевичус, которая в компании Grid Dynamics занимается анализом данных и машинным обучением.

Как распознать текст с фото: новые возможности фреймворка Vision

Время на прочтение6 мин
Количество просмотров9K
Теперь фреймворк Vision умеет распознавать текст по-настоящему, а не как раньше. С нетерпением ждём, когда сможем применить это в Dodo IS. А пока перевод статьи о распознавании карточек из настольной игры Magic The Gathering и извлечении из них текстовой информации.


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

Вижу, значит существую: обзор Deep Learning в Computer Vision (часть 2)

Время на прочтение18 мин
Количество просмотров43K
Продолжаем постигать современную магию (компьютерное зрение). Часть 2 не значит, что нужно сначала читать часть 1. Часть 2 значит, что теперь всё серьёзно — мы хотим понять всю мощь нейросетей в зрении. Детектирование, трекинг, сегментация, оценка позы, распознавание действий… Самые модные и крутые архитектуры, сотни слоёв и десятки гениальных идей уже ждут вас под катом!


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

Агро-робот с ИИ научился аккуратно собирать с грядки только созревший салат

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

Многие виды растений и сельхозкультур до сих пор собираются только вручную.

Инженеры из Кембриджского университета (Великобритания) создали рабочий прототип роботизированного сборщика урожая, способного самостоятельно распознавать готовые к срезанию неповрежденные кочаны салата, а также аккуратно их обрабатывать и собирать.
Читать дальше →

Преобразуем изображение в звук — что можно услышать?

Время на прочтение5 мин
Количество просмотров33K
Привет Хабр.

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



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

Распознавание источников освещения на картах окружения

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

В этой статье представлена реализация на Python алгоритма распознавания источников освещения на картах окружения (LDR или HDR) при помощи равнопромежуточной проекции (equirectangular projection). Однако после внесения незначительных изменений её также можно использовать с простыми фоновыми изображениями или кубическими картами. Примеры возможного применения алгоритма: программы трассировки лучей, в которых требуется распознавать первичные источники освещения для испускания из них лучей; в растеризованных рендерерах он может применяться для отбрасывания теней, использующих карту окружения; кроме того, алгоритм также можно применять в программах устранения засветов, например в AR.

Алгоритм состоит из следующих этапов:

  1. Снижение разрешения исходного изображения, например, до 1024.
  2. Преобразование изображения в яркость (luminance), при необходимости с размытием изображения.
  3. Применение метода квази-Монте-Карло.
  4. Преобразование из сферических координат в равнопромежуточные.
  5. Фильтрация сэмплов на основании яркости соседа.
  6. Сортировка сэмплов на основании их яркости.
  7. Фильтрация сэмплов на основании евклидовой метрики.
  8. Слияние сэмплов при помощи алгоритма Брезенхэма.
  9. Вычисление позиции кластера освещения на основании его яркости.

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

  lum = img[:, :, 0] * 0.2126 + img[:, :, 1] * 0.7152 + img[:, :, 2] * 0.0722

Дополнительно можно применить к изображению яркости небольшое размытие, например, в 1-2 пикселя для изображения разрешением 1024, для устранения всех высокочастотных деталей (в частности, вызванных снижением разрешения).
Читать дальше →

Погружение в свёрточные нейронные сети. Часть 5 / 10 — 18

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

Полный курс на русском языке можно найти по этой ссылке.
Оригинальный курс на английском доступен по этой ссылке.



Выход новых лекций запланирован каждые 2-3 дня.

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

Инженер Amazon создал блокирующее устройство с ИИ, которое не пускает в дом кота с уличной добычей

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

Инженер Amazon Бен Хэмм разработал умный блокиратор, который не дает его коту по кличке Метрик приносить внутрь дома пойманных охотничьими лапками и зубками и по факту уже мертвых птиц и крыс.
Читать дальше →

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

Автоматическая сегментация дыхательных органов

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

Ручная сегментация легких занимает около 10 минут и требуется определенная сноровка, чтобы получить такой же качественный результат, как при автоматической сегментации. Автоматическая сегментация занимает около 15 секунд.


Я предполагал, что без нейронной сети удастся получить точность не выше 70%. Также я предполагал, что морфологические операции – это только подготовка изображения к более сложным алгоритмам. Но в результате обработки тех, хоть и немногочисленных 40 образцов томографических данных, что есть на руках, алгоритм выделил легкие без ошибок, причём после теста на первых пяти случаях алгоритм уже не претерпевал значительных изменений и с первого применения правильно отработал на остальных 35 исследованиях без изменения настроек.


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


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

Погружение в свёрточные нейронные сети. Часть 5 / 1 — 9

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

Полный курс на русском языке можно найти по этой ссылке.
Оригинальный курс на английском доступен по этой ссылке.



Выход новых лекций запланирован каждые 2-3 дня.

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

Ищем астероиды — проект «Hubble Asteroid Hunter»

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


Центр малых планет (Minor Planet Center, MPC) Смитсоновской астрофизической обсерватории (SAO) и аэрокосмическое агентство NASA запустили проект «Hubble Asteroid Hunter», с помощью которого любой глазастый пользователь компьютера или планшета может помочь астрономам найти треки новых астероидов и внести свой вклад в процесс обучения нейронной сети.
Читать дальше →

У цветового треугольника не два, а один угол

Время на прочтение16 мин
Количество просмотров42K
Как увидеть цвет, которого в природе не бывает?

image


Четыре года назад на Хабре был пост с интересным и полезным видео «Как устроен цвет». Лектор — Дмитрий Николаев, заведующий сектором зрительных систем ИППИ РАН.

Я сделал расшифровку (в меру своего понимания материала), потому что считаю и тему важной и подачу — отличнейшей. Пока набирал текст, чуть не поменял своё φ(λ). Слово спикеру:


Поговорим о математике и геометрии цвета, о том, какие абстрактные структуры заложены в этом слове.

Что такое «цвет» не знает никто.

Цвет — это что-то, о чем говорит человек, наблюдающий и познающий мир с помощью глаза.

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

В физике нет цвета, а есть спектральные свойства излучения.

«Цвет» связан с относительным распределением спектральной энергии, мощности или потока излучения. (При прохождении через призму человек видит характерную «радугу».)

Совершенно точно, «цвет» — психологический феномен. Цвет — это ощущение, к объективной физике не имеющий отношения.

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

Динамическое программирование в реальном мире: вырезание швов

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

В статье я покажу интересное реальное применение динамического программирования — задача вырезания швов (seam carving). Задача и методика подробно описаны в работе Авидана и Шамира «Вырезание швов для изменения размеров изображения с учётом контента» (статья в свободном доступе).

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

Используем данные на практике

Время на прочтение7 мин
Количество просмотров3.1K
Между идеальным алгоритмом машинного обучения в вакууме и его применением на реальных данных часто лежит пропасть. Вроде бы берешь статью: алгоритм есть, сходимость для данных такого-то типа есть — бери и применяй. Но почему-то оказывается, что твоих данных недостаточно для обучения, да и отличаются они от модельных из статьи, потому что настоящие, не синтетические.

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


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

Распознавание дороги посредством семантической сегментации

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

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

Но обо всем по порядку и для начала немного матчасти.
Читать дальше →

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