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

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

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

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

Как мы создавали технологию оптического распознавания текста. OCR в Яндексе

Время на прочтение12 мин
Количество просмотров21K
Привет! Сегодня я расскажу читателям Хабра о том, как мы создавали технологию распознавания текста, работающую на 45 языках и доступную пользователям Яндекс.Облака, какие задачи мы ставили и как их решали. Будет полезно, если вы работаете над схожими проектами или хотите узнать, как так получилось, что сегодня вам достаточно сфотографировать вывеску турецкого магазина, чтобы Алиса перевела её на русский.


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

Тренды в компьютерном зрении. Хайлайты ICCV 2019

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


Нейросети в компьютерном зрении активно развиваются, многие задачи ещё далеки от решения. Чтобы быть в тренде в своей области, достаточно подписаться на инфлюенсеров в Твиттере и читать релевантные статьи на arXiv.org. Но у нас появилась возможность съездить на International Conference on Computer Vision (ICCV) 2019. В этом году она проводится в Южной Корее. Теперь мы хотим поделиться с читателями Хабра тем, что мы увидели и узнали.
Читать дальше →

Машинное зрение и медицина

Время на прочтение8 мин
Количество просмотров13K
Прошло лет пять с того момента как нейронные сетки начали втыкать в каждую дырку. Есть масса примеров где всё работает почти идеально — биометрия, распознавание технической информации (номера, коды), классификация и поиск в массиве данных.

Есть области где всё хуже, но сейчас идёт большой прогресс — речь/распознавание текстов, переводы.



Но есть области загадочные. Вроде как и прогресс есть. И статьи регулярно выходят. Только вот до практического применения как-то особо и не доходит.

Давайте разберём то, как нейронные сеточки и машинное зрение работает в медицине.
Читать дальше →

Сверточный слой: методы оптимизации основанные на матричном умножении

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

Введение


Данная статья является продолжением серии статей описывающей алгоритмы лежащие в основе
Synet — фреймворка для запуска предварительно обученных нейронных сетей на CPU.

Если смотреть на распределение процессорного времени, которое тратится на прямое распространение сигнала в нейронных сетях, то окажется что зачастую более 90% всего времени тратится в свёрточных слоях. Поэтому если мы хотим получить быстрый алгоритм для нейронной сети – нам нужен, прежде всего, быстрый алгоритм для свёрточного слоя. В настоящей статье я хочу описать методы оптимизации прямого распространения сигнала в свёрточном слое. Причем начать хочется с наиболее широко распространенных методов, основанных на матричном умножении. Изложение я буду стараться вести в максимально доступной форме, чтобы статья была интересна не только специалистам (они и так про это все знают), но и более широкому кругу читателей. Я не претендую на полноту обзора, так что любые замечания и дополнения только приветствуются.
Читать дальше →

Как организовать 120 000 фоток и чтобы не было трындеца, с различными уровнями доступа, для команды

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

Решил я поискать работы Sci-Fi-художников прошлого и настоящего, которые рисовали реактивные ранцы. Нашел группу в ВК «Музей будущего», а там — 16 000 фотографий. Пришлось пересмотреть все вручную, навыбирал несколько десятков с джетпакоподбными аппаратами (см. подборку под катом), а потом задумался, а как же бедные фотографы? Или прочие товарищи, которые работают с тоннами фото/аудио/видео, да еще не в одиночку, а командами, удаленно и пр и пр.

Поспрашивал у знакомых фотографов — они пользуются эдаким миксом лайтрума, гуглдрайва и съемных жестких дисков. Говорят, полный ад.

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

Спросил ещё у архитекторов, у которых в базе 120 000 фоток объектов, как они живут с этим.

Оказывается вся эта область называется digital asset management. Вот список с рейтингами 30+ решений для управления цифровыми ресурсами (англ).
Читать дальше →

Быстрое обнаружение контуров в 4К видео: цвет и сложные формы

Время на прочтение3 мин
Количество просмотров2.3K
В предыдущей части «Тренировочные наборы из видео — быстро и качественно» речь шла о сложности применения нейронных сетей для любой задачи, связанной с редкими, необычными или попросту сложными объектами. Обязательно посмотрите примеры, они того стоят.


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

Многопроцессный доступ к Intel Neural Computer Stick через REST

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

Проблема однозадачности


В прошлой серии я поставил на танк Intel Neural Computer Stick 2 и перекинул на него все нейросетевые вычисления, отказавшись от Tensorflow и OpenCV-DNN.

Была проблема, с которой я столкнулся уже тогда — невозможность работать с NCS из нескольких процессов одновременно. Тогда это было не критично, а сейчас пришло время разобраться.
Читать дальше →

Находим текст на вывесках и упаковках с помощью смартфона

Время на прочтение7 мин
Количество просмотров7.4K
Проблема автоматического поиска текста на изображениях существует достаточно давно, как минимум с начала девяностых годов прошлого века. Они могли запомниться старожилам повсеместным распространением ABBYY FineReader, умеющим переводить сканы документов в их редактируемые варианты.

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


Реальный пример работы нашей нейросети. Картинка кликабельна.

Основные требования и ограничения


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

Исследование многократного перезалива JPEG

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

В VK есть группа со следующим описанием:


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

Слева исходная картинка, загруженная 7 июня 2012, справа — какая она сейчас.


КДПВ


Видео

Такая разница очень подозрительна. Попробуем разобраться, что происходило в течение этих 7 лет. Для ознакомления есть статья на Медузе про эту группу, но нас будет интересовать только техническая сторона.

Рубрика «Читаем статьи за вас». Июль — Сентябрь 2019

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


Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество!


Статьи на сегодня:


  1. Layer rotation: a surprisingly powerful indicator of generalization in deep networks? (Université catholique de Louvain, Belgium, 2018)
  2. Parameter-Efficient Transfer Learning for NLP (Google Research, Jagiellonian University, 2019)
  3. RoBERTa: A Robustly Optimized BERT Pretraining Approach (University of Washington, Facebook AI, 2019)
  4. EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks (Google Research, 2019)
  5. How the Brain Transitions from Conscious to Subliminal Perception (USA, Argentina, Spain, 2019)
  6. Large Memory Layers with Product Keys (Facebook AI Research, 2019)
  7. Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches (Politecnico di Milano, University of Klagenfurt, 2019)
  8. Omni-Scale Feature Learning for Person Re-Identification (University of Surrey, Queen Mary University, Samsung AI, 2019)
  9. Neural reparameterization improves structural optimization (Google Research, 2019)
Читать дальше →

Высоконагруженный сервис для вычислений на GPU

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


Привет, Хабр! Я руковожу разработкой платформы Vision — это наша публичная платформа, которая предоставляет доступ к моделям компьютерного зрения и позволяет вам решать такие задачи, как распознавание лиц, номеров, объектов и целых сцен. И сегодня хочу на примере Vision рассказать, как реализовать быстрый высоконагруженный сервис, использующий видеокарты, как его разворачивать и эксплуатировать.
Читать дальше →

Smart IdReader SDK — встраиваем распознавание в проекты на Python и PHP

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

Мы, Smart Engines, продолжаем цикл статей про то, как встроить наши технологии распознавания (паспортов, банковских карт и других) в ваши приложения. Ранее мы уже писали про встраивание на iOS и Android, показывали, как встроить распознавание в Телеграм-бота, а сегодня мы расскажем про то, как работать с Python и PHP интерфейсами библиотеки распознавания Smart IDReader для использования на in-house сервере.


Кстати, список поддерживаемых нами языков программирования, помимо рассматриваемых здесь, включает C#, Objective-C, Swift и Java. Как и раньше, мы поддерживаем все популярные и многие непопулярные операционные системы и архитектуры, а наши бесплатные демонстрационные приложения доступны для скачивания из App Store и Google Play.


По традиции, демо-версия Smart IDReader SDK для Python и PHP вместе с примерами выложена на Github и доступна по ссылке.

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

Видеонаблюдение в Москве: текущие реалии и перспективы

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


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

Но как все это работает и кто за все отвечает? В этой статье попробуем кратко разобраться с этими вопросами.
Читать дальше →

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

Тренировочные наборы из видео — быстро и качественно

Время на прочтение2 мин
Количество просмотров2.1K
Любой, не самый тривиальный (или просто редкий), объект с легкостью создаст массу проблем практически при каждой попытке применения нейронных сетей для решения реальных задач. Очевидно, отсутствие вменяемого тренировочного набора существенно усложняет подавляющее количество сценариев использования нейростевого подхода.

Как быть, например, с редким видом кузнечиков, распознавание представителей которого, по той или иной причине, стало очень важной задачей.


Все результаты/примеры получены самостоятельно (и быстро).

Рубрика «Читаем статьи за вас». Январь — Июнь 2019

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



Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество!


Статьи на сегодня:


  1. Neural Ordinary Differential Equations (University of Toronto, 2018)
  2. Semi-Unsupervised Learning with Deep Generative Models: Clustering and Classifying using Ultra-Sparse Labels (University of Oxford, The Alan Turing Institute, London, 2019)
  3. Uncovering and Mitigating Algorithmic Bias through Learned Latent Structure (Massachusetts Institute of Technology, Harvard University, 2019)
  4. Deep reinforcement learning from human preferences (OpenAI, DeepMind, 2017)
  5. Exploring Randomly Wired Neural Networks for Image Recognition (Facebook AI Research, 2019)
  6. Photofeeler-D3: A Neural Network with Voter Modeling for Dating Photo Rating (Photofeeler Inc., 2019)
  7. MixMatch: A Holistic Approach to Semi-Supervised Learning (Google Reasearch, 2019)
  8. Divide and Conquer the Embedding Space for Metric Learning (Heidelberg University, 2019)
Читать дальше →

Распознавание текста с помощью OCR

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

Tesseract — это движок оптического распознавания символов (OCR) с открытым исходным кодом, является самой популярной и качественной OCR-библиотекой.


OCR использует нейронные сети для поиска и распознавания текста на изображениях.


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

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

Synet — фреймворк для запуска предварительно обученных нейронных сетей на CPU

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

Введение


Здравствуйте, уважаемые хабровчане!

Последние два года моей работы в компании Synesis были тесно связаны с процессом создания и развития Synet — открытой библиотеки для запуска предварительно обученных сверточных нейронных сетей на CPU. В процессе этой работы мне пришлось столкнуться с рядом интересных моментов, которые касаются вопросов оптимизации алгоритмов прямого распространения сигнала в нейронных сетях. Как мне кажется, описание этих моментов было бы весьма интересным для читателей Хабрахабра. Чему я и хочу посвятить цикл своих статей. Продолжительность цикла будет зависеть от вашего интереса к данной теме ну и конечно же от моей способности побороть лень. Начать цикл хочется с описания самого велосипеда фреймворка. Вопросы алгоритмов, которые лежат в его основе будут раскрыты в последующих статьях:

  1. Сверточный слой: методы оптимизации основанные на матричном умножении
  2. Сверточный слой: быстрая свертка по методу Шмуэля Винограда

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

Создаем датасет для распознавания счетчиков на Яндекс.Толоке

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


Как-то два года назад, случайно включив телевизор, я увидел интересный сюжет в программе "Вести". В нём рассказывали о том, что департамент информационных технологий Москвы создает нейросеть, которая будет считывать показания счетчиков воды по фотографиям. В сюжете телеведущий попросил горожан помочь проекту и прислать снимки своих счетчиков на портал mos.ru, чтобы на них обучить нейронную сеть. 


Если Вы — департамент Москвы, то выпустить ролик на федеральном канале и попросить людей прислать изображения счетчиков — не очень большая проблема. Но что делать, если Вы — маленький стартап, и сделать рекламу на телеканале не можете? Как получить 50000 изображений счетчиков в таком случае?

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

Глупая причина, по которой не работает ваше хитрое приложение машинного зрения: ориентация в EXIF

Время на прочтение5 мин
Количество просмотров21K
Я много писал о проектах компьютерного зрения и машинного обучения, таких как системы распознавания объектов и проекты распознавания лиц. У меня также есть опенсорсная библиотека распознавания лиц на Python, которая как-то вошла в топ-10 самых популярных библиотек машинного обучения на Github. Всё это привело к тому, что новички в Python и машинном зрении задают мне много вопросов.



По опыту, есть одна конкретная техническая проблема, которая чаще всего ставит людей в тупик. Нет, это не сложный теоретический вопрос или проблема с дорогими GPU. Дело в том, что почти все загружают в память изображения повёрнутыми, даже не подозревая об этом. А компьютеры не очень хорошо обнаруживают объекты или распознают лица в повёрнутых изображениях.
Читать дальше →

Как работает альфа-композитинг

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

Возможно, прозрачность не кажется какой-то интересной темой. Формат GIF, позволявший некоторым пикселям просвечивать сквозь фон, опубликован более 30 лет назад. Почти в каждом приложении для графического дизайна, выпущенном за последние два десятка лет, поддерживается создание полупрозрачного контента. Эти понятия давно перестали быть чем-то новым.

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

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