В данном посте будет приведён пример реализации онлайн видеостриминга с помощью вебкамеры и одноплатника Orange Pi One.
Читать полностью »
В данном посте будет приведён пример реализации онлайн видеостриминга с помощью вебкамеры и одноплатника Orange Pi One.
Читать полностью »
На Хабре уже неоднократно затрагивалась тема применения так называемых “бандитов” для интеллектуального анализа данных. В отличии от уже привычного обучения машин по прецедентам, которое сплошь и рядом применяется в задачах распознавания, многорукий бандит применяется для построения в некотором смысле “рекомендательных” систем. На Хабре уже очень подробно и доступно рассказано о идее многорукого бандита и применимости ее к задаче рекомендации интернет-контента. Мы же в своем очередном посте хотели рассказать вам о симбиозе обучения по прецедентам и обучения с подкреплением в задачах распознавания видеопотока.
Читать полностью »
Вот интересная демонстрация возможностей afl; меня реально удивило, что она работает!
$ mkdir in_dir
$ echo 'hello' >in_dir/hello
$ ./afl-fuzz -i in_dir -o out_dir ./jpeg-9a/djpeg
В сущности, я создал текстовый файл только со словом "hello" и попросил фаззер выдавать поток в программу, которая ожидает на входе изображение JPEG (djpeg это простая утилита, которая идёт вместе с распространённой графической библиотекой IJG jpeg; libjpeg-turbo тоже должна подойти). Конечно, мои входные данные не похожи на валидное изображение, так что утилита быстро отвергает их:
$ ./djpeg '../out_dir/queue/id:000000,orig:hello'
Not a JPEG file: starts with 0x68 0x65
Читать полностью »
Рак шейки матки — страшное заболевание, ежегодно уносящее сотни тысяч жизней. Но еще страшнее то, что большинство этих жизней можно было спасти. Рак шейки матки развивается очень медленно, и в случае обнаружения опухоли в первые 5 лет после ее появления шанс выживания практически 100%. Таким образом, регулярные обследования могут извести это заболевание на корню. К сожалению, 85% женщин Земли регулярная медицинская помощь недоступна. Их могут спасти технологии машинного распознавания фотоснимков, снижающие требования к квалификации врачебного персонала и увеличивающие процент правильных диагнозов. Именно такие алгоритмы распознавания и создаются в рамках конкурса программистов Intel & MobileODT Cervical Cancer Screening, в котором мы приглашаем вас поучаствовать.
Читать полностью »
Если вы используете в своей игре спрайты с прозрачностью (а обычно так и бывает, как минимум для UI), то вам, вероятно, стоит уделить внимание к полностью прозрачным пикселям текстур (или «текселам»).
Даже если значение альфа-канала равно 0, с пикселем всё равно связано значение цвета. Этот цвет ни на что не влияет, так ведь? В конце концов, пиксель полностью прозрачен, кому есть дело до его цвета…
Так вот, на самом деле этот цвет важен, если этого не понимать, то можно получить артефакты, которые заметны во многих играх. Чаще всего искажения очень малы и их не заметно, но иногда они действительно бросаются в глаза.
Читать полностью »
Сегментация строки на символы является одним из важнейших этапов в процессе оптического распознавания символов (OCR), в частности, при оптическом распознавании изображений документов. Сегментацией строки называется декомпозиция изображения, содержащего последовательность символов, на фрагменты, содержащие отдельные символы.
Важность сегментации обусловлена тем обстоятельством, что в основе большинства современных систем оптического распознавания текста лежат классификаторы (в том числе — нейросетевые) отдельных символов, а не слов или фрагментов текста. В таких системах ошибки неправильного проставления разрезов между символами как правило являются причиной львиной доли ошибок конечного распознавания.
Поиск границ символов усложняется из-за артефактов печати и оцифровки (сканирования) документа, приводящим к “рассыпанию” и “склеиванию” символов. В случае использования стационарных или мобильных малоразмерных видеокамер спектр артефактов оцифровки существенно пополняется: возможны дефокусировка и смазывание, проективные искажения, деформирование и изгибы документа. При съемке камерой в естественных сценах на изображениях часто возникают паразитные перепады яркости (тени, отражения), а также цветовые искажения и цифровой шум в результате низкой освещенности. На рисунке ниже показаны примеры сложных случаев при сегментации полей паспорта РФ.
В этой статье мы расскажем о методе сегментации символов текстовых строк документов, разработанном нами в Smart Engines, основанный на обучении сверточных и рекуррентных нейронных сетей. Основным рассматриваемым в работе документом является паспорт РФ.
Читать полностью »
Готовился к очередному хакатону, решил обновить свои знания в области компьютерного зрения. В прошлый раз задачу распознавания номеров авто в видеопотоке я так и не смог решить быстро «в лоб». Сейчас, поразмыслив, решил немного упростить задачу. Было много идей, листал фотки в телефоне и наткнулся на привычный кейс для всех, кто бывал в магазине ikea — фотографию с чеком, где указан номер товара и его положение на складе самообслуживания.
В этой статье я хочу рассказать о реализации системы обнаружения и отслеживания множественных объектов в видеопотоке. Данная статья базируется на двух предыдущих: Детектирование движения в видеопотоке на FPGA и Фильтрация изображения методом математической морфологии на FPGA. Захват и первичная обработка изображения осуществляется при помощи методов, описанных в первой статье, а фильтрация изображения описана во второй.
Следуя целям, поставленным в первой статье, я решил реализовать алгоритм отрисовки рамки вокруг обнаруженного объекта. В процессе выполнения этой задачи, я столкнулся с вопросом: а вокруг какого именно объекта надо рисовать рамку? Объектов, попавших в кадр после фильтрации, может оказаться множество: одни из них маленькие, а другие большие. Если рисовать одну рамку вокруг всех объектов, попавших в кадр, то это делается не сложно, но результат работы такой системы вряд ли кому будет интересен.
Читать полностью »
Привет, хотел сегодня рассказать о том, как я написал нейронную сеть и обучил её восстанавливать изображения. Началось с того что читая статьи про нейросети я сильно завидовать тем кто понимал всё это и считал что мне никогда не написать что то на столько крутое, но я сильно ошибался! Скажу тебе по секрету — математику я знаю очень плохо, грубо говоря из неё я знаю только название цифр… Это конечно очень нужная для программирования область знания, но я не прекращаю убеждаться в том что и без неё можно добиться многого.
19 апреля 2017 мы выпустили обновление PhotoScan, нашего мобильного приложения для iOS и Android, позволяющего оцифровывать бумажные фотографии одним только смартфоном. Одна из ключевых особенностей PhotoScan – возможность удалять блики с фотографий (их часто печатают на глянцевой, хорошо отражающей свет бумаге), а также со страниц пластиковых альбомов или фотографий под стеклом. Для этого мы разработали уникальное сочетание компьютерного зрения и технологии обработки изображений, которые могут точно совместить и скомбинировать несколько немного отличающихся снимков фотографии и отделить блик от самого изображения на фото.