Обновить
59

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

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

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

Structure from Motion — классическая реализация

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


Есть такая интересная задача — построение 3D структуры по набору изображений (фотографий) — Structure from Motion. Как её можно решить? После некоторых размышлений приходит на ум такой алгоритм. Найдём на всех изображениях характерные особенности (точки), сопоставим их друг с другом и триангуляцией найдём их трёхмерные координаты. Тут правда есть проблема — неизвестно положение камер при съёмке. Можно ли их найти? Вроде можно. Действительно, пусть у нас N точек на кадре и M кадров. Тогда неизвестных будет 3 * N (трёхмерные координаты точек) + 6 * (M — 1) (координаты камер (вместо 6 может стоять другое число, но сути это не меняет)). Уравнений же у нас 2 * M * N (у каждой точки на каждом изображении есть две координаты). Выходит, что уже для двух изображений и 6 точек задачка разрешима. Под катом описание принципиальной схемы решения задачи SfM (по возможности без формул — но со ссылками для вдумчивого изучения).
Читать дальше →

Работа каскада Хаара в OpenCV в картинках: теория и практика

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


В прошлой статье мы подробно описали алгоритм распознавания номеров (ссылка), который заключается в получении текстового представления на заранее подготовленном изображении, содержащем рамку с номером + небольшие отступы для удобства распознавания. Мы лишь вскользь упомянули, что для выделения областей, где содержатся номера, использовался метод Виолы-Джонса. Данный метод уже описывался на хабре (ссылка, ссылка, ссылка, ссылка). Сегодня мы проиллюстрируем наглядно то, как он работает и коснёмся ранее необсужденных аспектов + в качестве бонуса будет показано, как подготовить вырезанные картинки с номерами на платформе iOS для последующего получения уже текстового представления номера.
Читать дальше →

Проекционный экран своими руками

Время на прочтение3 мин
Количество просмотров72K
Многочисленное участие в различных выставках натолкнуло меня на мысль о том, что необходимо придумать способ постоянного привлечения посетителей на выставочный стенд каким-то необычным образом. Некоторое количество мозговых напряжений и поход в любимый хозмаг подсказали интересную идею. В результате делаем необычный проекционный экран.
Как это сделать?

Об одном алгоритме сжатия случайных сигналов (с потерями)

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


Аннотация


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

«Взлом» SmartDeblur 2.2

Время на прочтение2 мин
Количество просмотров22K
Издеваться будем над замечательной программой господина YUVladimir под названием SmartDeblur, которая предназначена для исправления смазанных изображений. Полноценным взломом это назвать, конечно, нельзя. Так, небольшое упражнение с картинками.
Читать дальше →

Вышел графический редактор Paint.NET 4.0

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


Чтобы обрабатывать фотографии под Windows, совсем необязательно устанавливать пиратский дорогой Photoshop. Есть замечательный бесплатный редактор Paint.NET, который как раз вчера обновился до четвёртой версии. Работа над этой версией шла очень долго, но релиз получился очень достойный!
Читать дальше →

Атмосферное поглощение или как оценить загрязнёность воздуха

Время на прочтение6 мин
Количество просмотров17K
Многие здесь увлекаются астрофотографией и для могих это стало любимым занятием. Однако Вашему хобби можно найти очень интересное применение и проделать на основе одной фотографии целое исследование. Сегодня мы попытаемся по фотографии оценить степень загрязнёности атмосферы в Вашем городе. Кого заинтересовал пост, то добро пожаловать под кат.
image
Читать дальше →

Портативный и точный: беспроводной сканер Dacuda PocketScan

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


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

Но в нашем мобильном мире и устройства должны быть мобильными. Смартфоны, планшеты, планшетофоны, нетбуки и ультрабуки — не зря все это столь популярно. И сканеры тоже становятся все более мобильными. Ну, а примером может служить Dacuda PocketScan. Это сканер, позволяющий «на лету» передавать изображения и тексты на ноутбуки и планшеты, с дальнейшим распознаванием отсканированного материала.

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

Модель натурального ряда чисел (нрч). Спираль Улама

Время на прочтение8 мин
Количество просмотров7.7K
     Существующие подходы к решению задачи факторизации больших чисел (ЗФБЧ), интенсивно используемые в мире математики последние 20-30 лет свидетельствуют, что для них эта задача достаточно сложная, она упорно сопротивляется внешнему натиску специалистов и позиций не сдает. Вместе с тем, не могу упомянуть работ, авторы которых предложили бы глубокий анализ проблемы, состояния вопроса или выступили бы с критикой используемого подхода. Основной принцип в подходе — просеивание множества чисел (принцип решета) доминирует в этой области, но думается это не единственный путь и возможно не лучший. Большие надежды исследователями ЗФБЧ возлагаются на вычислительные средства новых типов, на новых физических принципах (квантовые, молекулярные и др.), но о смене подхода речь не идет. Тем не менее, некоторые выводы уже сегодня как бы напрашиваются сами собой. В атаках на RSA-подобные шифры ЗФБЧ является основной задачей.
Читать дальше →

Решение задачи линейной регрессии с помощью быстрого преобразования Хафа

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

Введение


Друзья, рассмотрим нынче же задачу линейной регрессии в присутствии выбросового (некоррелированного с сигналом) шума. Эта задача часто возникает при обработке изображений (напр., при цветовой сегментации [1]), в том числе — акустических [2]. В случаях, когда координаты случайных величин можно грубо дискретизовать, а размерность задачи низка (2-3), кроме стандартных методов робастной регрессии можно воспользоваться быстрым преобразованием Хафа (БПХ) [3]. Попробуем сравнить этот последний метод по точности и устойчивости с «классическими».

Использование БПХ для линейной регрессии


Задача линейной регрессии на плоскости состоит в восстановлении линейной зависимости между двумя переменными, заданными в виде множества пар (x, y). Задавшись некоторым уровнем дискретизации координат, можно отобразить это множество на однобитном или целочисленном изображении (в первом случае мы отмечаем только факт наличия в исходных данных точки с примерно такими координатами, во втором — еще и их число). Фактически, речь идет о двумерной гистограмме исходных данных. Таким образом, неформально задача может быть сведена к поиску на изображении прямой, которая наилучшим образом описывает изображенное распределение точек.В обработке изображений в подобных случаях используется преобразование Хафа.

Преобразование Хафа является дискретным аналогом преобразования Радона и ставит в соответствие каждой прямой на изображении сумму яркостей пикселей вдоль нее (то есть одновременно вычисляет всевозможные суммы вдоль дискретных прямых). Можно ввести разумную дискретизацию прямых по сдвигам и наклонам так, чтобы параллельные дискретные прямые плотно упаковывали плоскость, а выходящие из одной точки на одном крае изображения прямые расходились по наклону на противоположном крае на целое число пикселей. Тогда таких дискретных прямых на квадрате n2 будет примерно 4 * n2. Для этой дискретизации существует алгоритм быстрого вычисления преобразования Хафа с ассимптотикой O(n2 * log n). Этот алгоритм является близким аналогом алгоритма быстрого преобразования Фурье, хорошо параллелизуется и не требует никаких операций, кроме сложения. В работе [3] можно прочитать об этом чуть больше, кроме того, там объясняется, почему преобразование Хафа от сглаженного гауссовским фильтром изображения вообще можно применять в задаче линейной регресии. Здесь же мы продемонстрируем устойчивость этого метода.
Читать дальше →

Про котиков, собак, машинное обучение и deep learning

Время на прочтение15 мин
Количество просмотров85K
image
«В 1997 году Deep Blue обыграл в шахматы Каспарова.
В 2011 Watson обставил чемпионов Jeopardy.
Сможет ли ваш алгоритм в 2013 году отличить Бобика от Пушистика?»


Эта картинка и предисловие — из челленджа на Kaggle, который проходил осенью прошлого года. Забегая вперед, на последний вопрос вполне можно ответить «да» — десятка лидеров справилась с заданием на 98.8%, что на удивление впечатляет.

И все-таки — откуда вообще берется такая постановка вопроса? Почему задачи на классификацию, которые легко решает четырехлетний ребенок, долгое время были (и до сих пор остаются) не по зубам программам? Почему распознавать предметы окружающего мира сложнее, чем играть в шахматы? Что такое deep learning и почему в публикациях о нем с пугающим постоянством фигурируют котики? Давайте поговорим об этом.
По заветам издателей Стивена Хокинга - без формул

Обзор Windows­-приложений для наведения порядка в фотоархивах

Время на прочтение9 мин
Количество просмотров257K
Задавшись вопросом найти все фотографии близкого человека, или разбирая фотки из похода, турпоездки и т.д. мы часто начинаем мониторить папки на компьютере. Однако, уже спустя час-другой многие бросают эту затею, пройдя меньше половины фотоархива и устав от поиска ненужных снимков среди сотен «Новых_папок_222» и десятков «DCIM».

image

Мы торопимся жить. Наши воспоминания складируются в папки, сливаются с флешек фотоаппаратов, синхронизируются cо смартфонов и… забываются. В этом обзоре постараюсь отметить сильные и слабые стороны приложений, доступных обычным людям с Windows, которые могут подарить нашим воспоминаниям вторую жизнь.
Читать обзор

Объяснение фотореалистичной живописи Яна Вермеера

Время на прочтение2 мин
Количество просмотров70K
Ян Вермеер, «Урок музыки» (1662-1665)

Известный в сообществе Amiga и Siggraph хакер Тим Дженисон (Tim Jenison) потратил много месяцев, чтобы воспроизвести предполагаемую технику живописи, которую использовал голландский художник Ян Вермеер в середине 17 века. До сих пор остаётся неясным, каким образом он мог создавать настолько фотореалитичные картины за полтора века до изобретения фотографии.

Как эксперт по компьютерной графике Тим Дженисон был уверен, что художник использовал какую-то технику захвата изображений, в том числе с копированием цвета. На это явно указывают некоторые детали картин. Например, текстура белой стены на картине «Урок музыки».
Читать дальше →

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

Распознавание автомобильных номеров в деталях

Время на прочтение9 мин
Количество просмотров154K
image
Настало время подробно рассказать, как работает наша реализация алгоритма распознавания номеров: что оказалось удачным решением, что работало весьма скверно. И просто отчитаться перед Хабра-пользователями — ведь вы с помощью Android приложения Recognitor помогли нам набрать приличного размера базу снимков номеров, снятых совершенно непредвзято, без объяснения как снимать, а как нет. А база снимков при разработке алгоритмов распознавания самое важное!
Читать дальше →

Распознавание текста в ABBYY FineReader (1/2)

Время на прочтение7 мин
Количество просмотров57K
Содержание
imageРаспознавание текста в ABBYY FineReader (1/2)
imageРаспознавание текста в ABBYY FineReader (2/2)

Систему распознавания текста в FineReader можно описать очень просто.

У нас есть страница с текстом, мы разбираем ее на текстовые блоки, затем блоки разбираем на отдельные строчки, строчки на слова, слова на буквы, буквы распознаем, дальше по цепочке собираем все обратно в текст страницы.



Выглядит очень просто, но дьявол, как обычно, кроется в деталях.

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



В этой статье мы начнём рассказ про распознавание текста от уровня строки и ниже.
Читать дальше →

Самая полная фотография видимой Вселенной от Hubble

Время на прочтение1 мин
Количество просмотров58K
hubble uv

NASA и ESA на днях выложили в открытый доступ интереснейшую фотографию видимой части Вселенной. Исходником является Hubble Ultra Deep Field. На этой фотографии можно насчитать (если хватит терпения и зрения) 10 тысяч галактик и еще сколько-то там отдельных светил. Стоит отметить, что на фото вы можете видеть множество точек разных цветов. Это тоже галактики. Выложено также и видео, с демонстрацией того участка пространства, о котором идет речь.

Отличием этой фотографии от всех прочих является, во-первых, добавление ультрафиолетового спектра (т.е. создатели фотографии сделали на фотографии видимым УФ-излучение). Благодаря этому на фото появилось огромное количество объектов, излучающих только в УФ-спектре.

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

Как программисты ищут отличия

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


Часто за собой замечаю, что при виде какой-нибудь программы, игры или сайта у меня возникают странные мысли. И мысли эти меня пугают. А думаю я всякий раз о том, как эту программу/сайт/игру можно подхачить, взломать, обойти защиту, автоматизировать, расширить функциональность. Наверное, профессиональная деформация дает о себе знать. Или это подсознательное желание использовать накопленные знания, не находящие применения на работе. Как правило, эти желания остаются на уровне мыслей, но бывают исключения. Об одном таком случае я и расскажу вам сегодня…
Читать дальше →

Автоматическое выделение меток

Время на прочтение5 мин
Количество просмотров23K
В машинном зрении и робототехнике есть забавный класс задачек: обнаружение заранее известных меток. Сюда можно отнести всё: QR-коды, Augmented Reality ( AR, дополненная реальность), задачи позиционирования объектов (motion capture, определение местоположения), детектирование объектов по меткам, классификация объектов в робототехнике (например при автоматической сортировке), помощь автоматическим системам в позиционировании (роботизированные захваты), трекинг объектов, и.т.д.



В статье описаны основные методы захвата меток, их возможности, границы применимости.
Читать дальше →

Когда AES(☢) = ☠ — криптобинарный фокус

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


Специалиста по реверс-инжинирингу Анжа Альбертини (Ange Albertini) из компании Corkami в шутку спросили: можно ли сгенерировать картинку JPEG, которая после обработки шифром AES опять превратится в валидный JPEG. Анж принял вызов, а по результатам исследования опубликовал презентацию с объяснением, как это делается с разными форматами.
Читать дальше →

Документ в перспективе, что с ним делать? Корректировка результатов бесконтактного сканирования и фотографий документов

Время на прочтение7 мин
Количество просмотров18K
Идея данной статьи возникла у нас после прочтения статьи «Как работает автоматическое выделение документа на изображении в программе ABBYY FineScanner?», опубликованной на Хабре компанией ABBYY, в которой подробно описан алгоритм определения границ документа на образе, полученном камерой мобильного телефона.
Статья, безусловно, интересная и полезная. Мы, «с чувством глубокого удовлетворения» отметили, что ABBYY использует в работе те же математические алгоритмы, что и мы, и благоразумно опускает некоторые детали, без которых точность определения границ документа существенно снижается.
Думаю, что по прочтении статьи у некоторой части читателей возник резонный вопрос: «А что делать с обнаруженным на снимке документом дальше?» Отвечу словами Чеширского Кота Алисе: «А куда ты хочешь прийти?» Если конечная цель – «вытащить» из снимка текстовые данные, тогда нужно максимально облегчить задачу системе распознавания. Для этого в первую очередь нужно исправить перспективные искажения, бич всех фотоснимков документов «от руки». Если не решить эту проблему, попытка распознать данные может дать результат, сравнимый с попытками распознавания капчи. На фрилансерских сайтах с завидной регулярностью появляются «верующие» в победу машинного интеллекта над капчой за мелкий прайс. Блажен, кто верует, но мы сейчас не об этом.
Итак, в данной статье мы попытаемся подхватить эстафету у ABBYY и рассказать на своем опыте, как можно с минимальными затратами привести призмообразный, в лучшем случае, документ, который мы идентифицировали на снимке (спасибо ABBYY за науку), к прямоугольной форме, желательно с сохранением исходных пропорций. Экзотические случаи, вроде пятиугольных или овальных документов мы пока не рассматриваем, хотя, вопрос интересный.
Читать дальше →

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