Обновить
87.64

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

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

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

Эволюция нейросетей для распознавания изображений в Google: Inception-v3

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

Продолжаю рассказывать про жизнь Inception architecture — архитеткуры Гугла для convnets.
(первая часть — вот тут)
Итак, проходит год, мужики публикуют успехи развития со времени GoogLeNet.
Вот страшная картинка как выглядит финальная сеть:
image
Что же за ужас там происходит?

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

Рисуйте, рисуйте, рисуйте: скоро выйдет Inkscape 0.92

Время на прочтение3 мин
Охват и читатели14K
Статья про предыдущую версию Inkscape была очень тепло принята, что в связи с ближайшим выходом новой версии Inkscape 0.92 сподвигло меня описать ключевые особенности грядущего релиза. Сам релиз состоится в ближайшее время — во всяком случае пререлиз под *.nix уже тут.

Немного истории: пользователь ДевианАрт flutterguy317 форкнул Inkscape и пытался построить свой редактор Ponyscape с дружбой и магией до 4 февраля 2013 г., после чего проект был заморожен навсегда. И вот теперь, в версии Inkscape 0.92, появилась импортированная из Ponyscape иерархия документа. В связи с этим в иллюстрировании статьи будет немного арта из сообщества Ponyscape Vectors а так же много дружбы и магии.


Иллюстрация основана на работах flutterguy317 «Ponyscape» и Ambassad0r «No Time To Explain»
Читать дальше →

Structure from motion

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

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

Pillow-SIMD

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

Ускорение операций в 2.5 раза по сравнению с Pillow и в 10 по сравнению с ImageMagick



Pillow-SIMD — это «форк-последователь» библиотеки работы с изображениями Pillow (которая сама является форком библиотеки PIL, ныне покойной). «Последователь» означает, что проект не становится самостоятельным, а будет обновляться вместе с Pillow и иметь ту же нумерацию версий, только с суффиксом. Я надеюсь более-менее оперативно выпускать версии Pillow-SIMD сразу после выхода версий Pillow.


Почему SIMD


Есть несколько способов улучшения производительности обработки изображений (да и всех остальных вещей, наверное, тоже).


  1. Можно использовать более хорошие алгоритмы, которые дают такой же результат.
  2. Можно сделать более быструю реализацию существующего алгоритма.
  3. Можно подключить больше вычислительных ресурсов для решения той же задачи: дополнительные ядра CPU, GPU.
Читать дальше →

Совсем не нейронные сети

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


Недавно ZlodeiBaal писал о достижениях в сверточных нейронных сетях (CNN) (и, кстати, тут же успешно настроил и обучил сеть для поиска области автомобильного номера).
А я хочу рассказать про принципиально иную и, наверное, более сложную модель, которую сейчас развивает Алексей Редозубов (@AlexeyR), и про то, как мы, конечно проигнорировав некоторые важные элементы, и ее применили для распознавания автомобильных регистрационных знаков!

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

Разведка и инженерное дело: 3D-модели зданий, развязок и карьеров по фото

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


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

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

Кстати, в чём-то похожая задача была у одного из наших партнёров — нужно было снять карьер площадью 470 Га и:
  1. Определить объёмы выработки породы.
  2. Подсчитать объём склада продукции.
  3. Получить поверхность для уточнения уровня гидроотвала.
  4. Получить 3D-модель всей территории.



Часть маршрутов

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

Распознаем лица на фото с помощью Python и OpenCV

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

В этой статье я хотел бы остановиться на алгоритмах распознавания лиц, а заодно познакомить вас с очень интересной и полезной библиотекой OpenCV. Уверен, что этот материал окажется полезным для новичков в этой области.

Что нам понадобится:
• Установленный Python 2.7 с библиотеками NumPy и PIL
• OpenCV 2-й версии

Здесь ссылка на материал по установке всех необходимых компонентов. Установка всего необходимого не составит труда.
Читать дальше →

Эволюция нейросетей для распознавания изображений в Google: GoogLeNet

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

У меня тут синхронизируется VM надолго, поэтому есть время рассказать про то, что я недавно читал.
Например, про GoogLeNet.
GoogLeNet — это первая инкарнация так называемой Inception architecture, которая референс всем понятно на что:


image
(кстати, ссылка на него идет первой в списке референсов статьи, чуваки жгут)


Она выиграла ImageNet recognition challenge в 2014-м году с результатом 6.67% top 5 error. Напомню, top 5 error — метрика, в которой алгоритм может выдать 5 вариантов класса картинки и ошибка засчитывается, если среди всех этих вариантов нет правильного. Всего в тестовом датасете 150K картинок и 1000 категорий, то есть задача крайне нетривиальна.


Чтобы понять зачем, как и почему устроен GoogLeNet, как обычно, немного контекста.

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

Готическое распознавание: как мы помогали оцифровывать Национальную библиотеку Латвии

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


Сегодня мы хотим рассказать, как оцифровывали издания Национальной библиотеки Латвии. Если вы следите за нашим блогом, вы наверняка читали, как наши технологии помогают оцифровать литературное наследие разных библиотек, а также статьи, посвященные отдельным проектам — оцифровке в Сахалинской библиотеке, королевском ботаническом саду Эдинбурга и библиотеке Хартли. Сегодня история о том, как это было в Риге. Итак, Национальная библиотека Латвии – крупнейшая в стране, основана в 1919 году, обладает 4,5-миллионным собранием книг и документов, в том числе на латышском языке в уникальном готическом написании.
Читать дальше →

«Таких моментов я не то что не помню, а даже не припоминаю!»

Время на прочтение5 мин
Охват и читатели5.8K
Как мы написали сервис, который принесет демократию в мир спорта, пива и телевизора



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

Комментирование у нас можно назвать национальным видом спорта. Неспроста среди героев «Нашей Раши» появился Сергей Юрьевич Беляков, житель Таганрога, который очень любит разговаривать с телевизором — тоже, своего рода, «виртуальный комментатор». Вспомните также Ивангая — видеоблоггера родом из украинского села, который дурачится перед камерой и эмоционально комментирует геймплей. Число просмотров его роликов перевалило 1,5 млрд!

Мы верим, спорт будет всегда (и киберспорт тоже), комментаторов-самородков множество, и сервисы для них — очень перспективная штука.
Читать дальше →

Сжатие и передача потокового видео по TCP с помощью OpenCV

Время на прочтение3 мин
Охват и читатели17K
По работе я занимаюсь разработкой алгоритмов обработки изображений и в частности алгоритмами автоматического слежения за объектами на видео для специального применения. Недавно понадобилось сделать модель алгоритма, управляемую с удаленного компьютера для отладки логики работы в сложной системе. Раньше такая задача не стояла, т.к. все алгоритмы реализовывались в итоге на FPGA. Давно работаю с OpenCV и, потерев руки, подошел к написанию программы. Но энтузиазм быстро погас, когда столкнулся непосредственно с передачей видео по сети.

Задача заключалась в следующем:

1. Написать программу сервер, которая загружает видео из файла, сжимает в JPEG и передает по протоколу TCP программе клиенту.
2. Написать программу клиент, которая принимает видео по TCP, декодирует и отображает.
Читать дальше →

Давайте соберем клеща-мозгоеда под микроскопом или focus-stacking фотографий из консоли

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


Надеюсь, данный пост не станет причиной ночных кошмаров у особо чувствительных хабрачитателей. В этом посте я постараюсь рассказать о простом способе увеличения ГРИП. Это весьма актуальная проблема для тех, кто работает с микроскопом и занимается макрофотографией. Суть проблемы в том, что на больших увеличениях размытие удаленных от точки фокуса предметов становится большой проблемой. Это в традиционной портретной съемке размытие фона позволяет подчеркнуть объект. В научной микрофотографии это чаще всего негативный эффект. Радует, что есть методика focus-stacking, которая позволяет сшить в единую резкую картинку стопку фотографий с разной точкой фокусировки. Но хватит рассуждать об абстрактном. Внесите клеща в студию!
Читать дальше →

Поиск линии корешка на фотографиях книжных разворотов

Время на прочтение5 мин
Охват и читатели18K
При съемке книжного разворота с помощью камеры мобильного устройства неизбежно возникают некоторые из нижеперечисленных дефектов (а возможно, что и все сразу):

• цифровой шум,
• тени и блики,
• расфокусировка и смаз,
• перекос,
• перспективные искажения,
• кривые строки,
• лишние объекты в кадре.

Обработка таких фотографий для последующего OCR – довольно трудоемкая задача даже для человека, хорошо владеющего навыками работы в Photoshop. Как быть, если мы хотим это сделать автоматически, с помощью программы? Сразу оговоримся, что подробное описание всех этапов алгоритма сделало бы публикацию чересчур объемной, поэтому мы сейчас расскажем только о том, как решать одну из подзадач – найти линию корешка на таких фотографиях. О том, как устранять тени и блики на фотографиях мы уже рассказывали. Про устранение цифрового шума написано много статей. А про автоматическое исправление перспективы и кривых строк мы расскажем в следующий раз.
Читать дальше →

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

Щелевая съёмка: реализация на bash (ffmpeg + imagemagick)

Время на прочтение3 мин
Охват и читатели26K
Не помню что и почему я искал в интернете несколько дней назад, но я наткнулся на интересную статью с необычными фотографиями. А позже на еще одну статью, где описывалась реализация алгоритма создания таких фотографий на python. После прочтения меня заинтересовала эта тема и я решил провести вечера майских праздников с пользой для себя, а именно реализовать алгоритм «конвертирования» видео в щелевое фото. Правда, не на питоне, но подручными средствами на bash'е. Но обо всем по порядку.
Читать дальше →

Множество уязвимостей в ImageMagick, одна из которых ведёт к RCE

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

Несколько часов назад Ryan Huber из отдела безопасности Slack анонсировал некую критическую уязвимость в софте, используемом множеством сайтов. Этим софтом оказался ImageMagick — популярный пакет для обработки изображений.


Краткая информация об уязвимостях размещена на сайте imagetragick.com. Да, без названия и сайта для уязвимости не обошлось и в этот раз, хотя изначально Райан писал, что никакого пафоса, включая название и сайт, не будет. (есть ещё и твиттер)


image


Уязвимость была обнаружена stewie и раскрыта на hackerone 21 апреля в репорте, по всей видимости, Mail.ru, ибо примерно через неделю после этого Николай Ермишкин из команды безопасности Мэйла нашёл возможность выполнить RCE. Обо всём этом, само собой, сообщили команде разработки IM. Те 30 апреля выпустили фикс, но уже 1 мая им сообщили, что фикс немножко не фикс. Поэтому 2 мая уязвимость раскрыли в листе рассылки разработчиков пакетов, основанных на IM, а 3 мая уязвимость раскрыли публично. Спустя несколько часов после этого на openwall появилось подробное описание с примерами эксплойтов. Но об этом чуть ниже.

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

Переводчик из машины, или как научить МФУ переводить документы

Время на прочтение5 мин
Охват и читатели6.7K
Привет, %username%!

Недавно мы, ABBYY LS, совместно с Xerox запустили Xerox Easy Translator Service — сервис, который позволяет получить машинный перевод документа – для этого его нужно отсканировать при помощи МФУ на базе технологии Xerox ConnectKey или же сфотографировать камерой телефона. Через эту же платформу можно заказать и профессиональный перевод.



Как это работает? Давай разбираться!
Читать дальше →

PaintCAD Mobile — пиксель арт на телефоне

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


Сегодня в магазине Google Play пестрят цветами одинаковые прямоугольники со скругленными углами, под каждым из которых очередное тач-приложение, где нужно тыкать пальцем в три кнопки, играя в игры а ля тауэр-дефэнс, а ля катапульты с физикой, а ля более навороченные 3D проекты с видом сверху в изометрии, где крошишь одной кнопкой мобов по десять штук в секунду огромным мечом, а ля аналогичные проекты с мирной постройкой зданий раз в N минут и донатом в кристаллы, за которые здания строятся быстрее…

Там же в дальнем углу гугл-плэя лежат Утилиты, которые либо по 300-500(-700) рублей пылятся в ожидании покупателя, либо урезанные демо-версии/версии с рекламой со всех сторон.

Но так было не всегда. 10 лет назад веселое сообщество разработчиков мобильных приложений производило тонны полезных программ. В те времена не было Андроида, а царила везде Java 2 Microedition — урезанная версия явы для слабых мобильных устройств.

В те времена был не 4G LTE интернет, а, в основном, медленный GPRS (2G, 5 килобайт в секунду, как диалап модем по скорости) и появляющийся модный EDGE (2,5G, 30 килобайт в секунду!).

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

На мелком экранчике типа 101х80 или 128х128, а затем на 132х176 и 240х320, людьми использовалась масса всевозможных утилит. На забитом приложениями телефоне (с объемом внутренней флешки всего около 1-5 Мбайт) обязательно стоял:
— email клиент,
— ftp клиент,
— текстовый/html редактор,
— качающий через GRPS веб-страницы и парсящий их html браузер (Оперы Мини еще не было),
— редактор MIDI мелодий,
— фото-редактор (для маломощных мобильных камер типа 0,3 мегапикселя или 640х480 точек, обычно в телефоне с камерой стояло подобное родное приложение для правки яркости/контраста/наложения рамок на фото),
— мобильный бейсик, в нем можно было писать программы для телефона, а потом запаковать внутрь исполняемого JAR (ZIP) файла бейсика свою прогу с ресурсами так, что при запуске этого JAR сразу будет ее автозапуск. Таким образом, можно было делать свои программы на своем же телефоне, а потом распространять их через интернет.

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

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

В этой обучающей статье я расскажу вам, как сегодня можно рисовать пиксель арт на одном из динозавров из той эпохи j2me — PaintCAD Mobile. Вам потребуется телефон на Android 2.3 или новее. С помощью этой программы вы сможете нарисовать любые картинки, например, для мобильного/компьютерного сайта или графику для игры, сделать GIF анимации для сайта, использовать растровые PCF шрифты на своих картинках (и даже сделать эти шрифты сами). В этой статье рассмотрим самые простые функции: рисование, инструменты, палитру, немного эффектов.



Назад в будущее

Заметки с MBC Symposium: применение deep learning в моделировании мозга

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

Посетил Стенфордский симпозиум, посвященный пересечению deep learning и neurosciencе, получил массу удовольствия.


image


Рассказываю про интересное — например, доклад Дэна Яминса о применении нейросетей для моделирования работы зрительной коры головного мозга.

Осторожно, хардкор

Весенняя встреча Pattern Recognition and Computer Vision Colloquium 2016 в Праге: как это было

Время на прочтение3 мин
Охват и читатели1.5K
Добрый вечер, хабрасообщество!
Я уже писал о летней школе компьютерного зрения, проходившей прошлым летом в Чешском техническом университете в Праге в статье. В конце марта мне посчастливилось принять участие еще в одном однодневном мероприятии подобного рода, организованном той же группой The Center for Machine Perception из ЧТУ в Праге. В этот раз это была серия из 6 докладов в перерывами на обед и кофе-брейк. Основными темами мероприятия были алгоритмы компьютерного зрения и машинного обучения. Судя по большому числу докладов о Deep learning, это направление становится очень популярным трендом в решении задач компьютерного зрения. За подробностями прошу под кат. Осторожно, трафик!
Читать дальше →

На что смотрит свёрточная нейросеть, когда видит наготу

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


На прошлой неделе в компании Clarifai мы формально анонсировали нашу модель распознавания непристойного контента (NSFW, Not Safe for Work).

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



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

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