Pull to refresh
1
@tron_lineread⁠-⁠only

User

Send message

Использование градиента в качестве фона страницы

Reading time12 min
Reach and readers11K
За время существования web 2.0 в сети появились некоторые приемы так называемого web 2.0 дизайна, один из которых это градиент.
 
Создание подобного эффекта, если не брать в расчет элементы с фиксированной высотой доставляет верстальщику не мало сложностей. Ключевым моментом реализации является оптимизация графики, но с другой стороны слишком "пережатый" файл теряет качество, что особенно заметно при использовании такого элемента с нефиксированной высотой. А что делать если эффект градиента необходимо использовать в фоне страницы ?
Читать дальше →

Создание GIF-анимации с помощью OpenCV

Reading time16 min
Reach and readers14K


Из этого туториала вы узнаете, как создавать анимированные GIF-файлы с помощью OpenCV, Python и ImageMagick. Затем объедините эти методы, чтобы создать генератор мемов с OpenCV!

Нам всем нужно время от времени посмеяться. И, возможно, лучший способ найти лулзы — это мемы. Некоторые из моих любимых:

  • Лягушка Кермит: «Но это не мое дело»
  • Сварливый кот
  • Эпик фейл
  • Хороший парень Грег

Но лично для меня ни один из этих мемов не сравнится с мемом ”Deal With It" («Смирись с этим» или «Разбирайся сам»), пример которого приведён в начале статьи.
Читать дальше →

Венгерский алгоритм в задаче слежения за множеством движущихся объектов

Reading time4 min
Reach and readers26K
Хочу рассказать об известном, но мало освещенном в литературе подходе к слежению за множеством движущихся объектов. Сложность этой задачи во многом заключается в том, что алгоритмы обнаружения и выделения объектов часто дают сбои, а сами объекты могут заслоняться другими объектами и элементами фона.

В общем случае решение задачи слежения содержит три основных этапа:
– выделение сегментов;
– установление соответствия между выделенными сегментами и отслеживаемыми объектами;
– уточнение или прогнозирование положения объектов интереса.

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

Обнаружение движущихся объектов с помощью OpenCV с использованием обнаружения контуров и вычитания фона

Reading time12 min
Reach and readers39K

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

Читать далее

OpenCV (компьютерное зрение). Установка под MSVS 2008. «Hello World»

Reading time4 min
Reach and readers13K
image
OpenCV — это библиотека алгоритмов компьютерного зрения, обработки изображений. Исходный код является октрытым.

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

В этом посте я опишу подробную установку данной библиотеки и мы напишем простейшую программу — этакий «Hello World» в компьютерном зрении. :)
Читать дальше →

Kornia — библиотека компьютерного зрения

Level of difficultyMedium
Reading time15 min
Reach and readers16K

Kornia это open source библиотека для решения задач компьютерного зрения. Она использует PyTorch в качестве основного бэкенда и состоит из набора дифференцируемых процедур и модулей. Создатели библиотеки вдохновлялись OpenCV, и поэтому Kornia является его аналогом, но при этом в некоторых моментах превосходит. Главным преимуществом Kornia по сравнению с тем же OpenCV, scikit-image или с Albumentations является возможность обрабатывать изображения батчами, а не по одному изображению и возможность обрабатывать данные на GPU.

Читать далее

Робототехнические манипуляторы с компьютерным зрением

Level of difficultyEasy
Reading time8 min
Reach and readers16K
Картинка Freepik

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

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

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

Построение системы оптического распознавания структурной информации на примере Imago OCR

Reading time19 min
Reach and readers37K
В настоящей заметке я расскажу о том, как можно построить систему оптического распознавания структурной информации, опираясь на алгоритмы, применяющиеся в обработке изображений и их реализации в рамках библиотеки OpenCV. За описанием системы стоит активно развивающийся open source проект Imago OCR, который может быть непосредственно полезен в распознавании химических структур, однако в заметке я не буду говорить о химии, а затрону более общие вопросы, решение которых поможет в распознавании структурированной информации различного рода, например таблицы или графики.
Читать дальше →

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

Reading time8 min
Reach and readers5.6K

Привет, Хабр! Сегодня мы расскажем про один из способов повышения качества склейки панорамы. Существует широко используемый подход склейки панорамы плоских объектов, но поскольку данный подход не лишен недостатков, мы предлагаем свое улучшение.

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

Зачем нужна низкоуровневая оптимизация на Эльбрусе или как ускорить распознающую систему в полтора раза

Reading time14 min
Reach and readers11K

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


В качестве распознающей системы была рассмотрена система распознавания объектов живописи “в неконтролируемых условиях методом с обучением по одному примеру” [1]. Эта система строит описание изображения на основе особых точек и их дескрипторов, по которому выполняет поиск в индексированной базе картин. Мы проанализировали производительность данной системы и выделили наиболее времязатратную низкоуровневую часть алгоритма, который затем оптимизировали с помощью инструментов платформы Эльбрус.

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

Повторяй за мной или двигаем виртуальной камерой like a pro

Level of difficultyMedium
Reading time8 min
Reach and readers4.9K

DVD – как много в этой аббревиатуре! Уверен, что вы наверняка помните такое явление, как ларьки и палатки с дисками, исчезнувшие только к началу 2010-х годов (по крайней мере так было в столице). В один из таких ларьков в конце 2009-го заглянул десятилетний я, внимание которого тут же привлекла коробка с надписью «3D Studio Max 2010»... Аниматором я, увы, так и не стал, однако интерес к области визуальных эффектов сохранился надолго.

В поисках обучающих материалов с англо-русским словарём наперевес в один прекрасный день я забрёл на Videocopilot. В одном из уроков автор с помощью неведомой волшебной софтины под названием Boujou показал, как отследить движение камеры в отснятом материале для его дальнейшего совмещения с трёхмерной графикой, что в подростковом мозгу произвело эффект разорвавшейся бомбы. Много позже, курсе на втором-третьем, меня всё чаще посещала навязчивая мысль – а как это вообще работает?

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

Читать далее

Дополненная реальность на Qt

Reading time8 min
Reach and readers38K


Сейчас дополненная реальность – это одно из самых интересных направлений. Поэтому я и взялся за ее изучение, а результатом этого стала собственная реализация кроссплатформенной безмаркерной дополненной реальности на Qt. Речь в этой статье пойдет о том, как это было реализовано (или же как это реализовать самому). Под катом можно найти демку и ссылку на проект на гитхабе.
Читать дальше →

Компьютерное зрение. Ответы экспертов Intel

Reading time15 min
Reach and readers15K
Две недели назад мы предложили читателям Хабры задать свои вопросы создателям библиотеки компьютерного зрения OpenCV. Вопросов было задано много, причем, интересных — значит, эта тема интересует не только компанию Intel, но и широкие массы разработчиков. Без лишних слов переходим к публикации ответов и приглашаем к их обсуждению. А также объявляем авторов лучших вопросов! В самом конце поста.


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

Ориентация мобильного робота, выбор способа регистрации особых точек изображений

Reading time2 min
Reach and readers6.7K
Это предыстория и продолжение статьи:

Дело было вечером… все статьи на Хабре были прочитаны, затеял «небольшой» проект по автономной ориентации робота на RaspberryPi 3. С железом проблем нет, собирается недорого из г-на и палок купленных на ебау деталек, камера с хорошей стеклянной оптикой (это важно для стабильности калибраций), привод камеры вверх, вниз и компас, гироскоп и тд прикрепленные к камере:



Существующие системы SLAM не устраивают, или по цене, или по качеству/скорости. Поскольку наработок деталей для Visual SLAM у меня много, решил шаг за шагом писать и выкладывать алгоритмы и код в открытый доступ, с обоснованием причин выбора тех или иных алгоритмов.
У Вас есть план?

Быстрая регистрация особых точек изображений с помощью голосования биграфа

Reading time2 min
Reach and readers8K
Детектирование и регистрация особенностей изображений имеет много приложений в робототехнике, видео компрессии и т.д. Быстрая и аккуратная регистрация — пока недостижимая мечта многих программистов и пользователей. Она или быстрая, или аккуратная…
Читать дальше →

Осваиваем анализ лидарных данных и измеряем дорожные знаки

Reading time14 min
Reach and readers57K

Всем привет! Сегодня мы хотели бы поделиться с вами нашим опытом анализа лидарных облаков. В заметке расскажем: 

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

рассмотрим практический пример анализа лидарных облаков, полученных с лидарного комплекса, установленного на автомобиле;

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

Читать далее

Как объяснить роботу свою точку зрения

Reading time5 min
Reach and readers4.3K
Когда-нибудь задумывались зачем сегодня нужны роботы? С детства мне казалось, что роботы стоят где-то на современных фабриках, что это где-то далеко от нас. Или в фантастике.
Но уже нет. Роботы на сегодня — это автоматизация любого рутинного процесса. Их могут ставить и на фермах, и в автомастерских.


Если раньше цена такой автоматизации была огромной, то сейчас она падает. Становятся доступны более сложные технологические манипуляции. Роборуки — это по сути такой универсальный манипулятор, который не нужно проектировать под каждую задачу, => снижение цены внедрения, ускорение внедрения (хотя роборука может быть дороже чем кусок конвейера, который делает аналогичную операцию).

Но роборука это лишь половина процесса. Вторая половина — научить роборуку думать. И тут до недавних пор ситуация была ужасная. Нет универсальных подходов, которые сможет настроить любой инженер. Надо нанимать программистов/разработчиков/математиков, чтобы они сформулировали проблему, попробовали сделать решение. Конечно, такая ситуация не могла существовать долго. Да и Computer Vision с глубоким обучением подвезли. Так что сейчас начинает появляться какая-то первичная автоматизация не только сторого повторяющихся процессов. Сегодня о ней и поговорим.

Можно порешать: задача про лидарное облако от команды беспилотных автомобилей Яндекса

Reading time6 min
Reach and readers11K


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

Организация университетского курса по обработке сигналов

Reading time32 min
Reach and readers5.9K

Педагогика интересовала меня очень давно и, много лет, я, будучи студентом, воспитанный, но в то же время изведенный и задерганный существующей организацией обучения думал о том, как бы её улучшить. В последнее время мне все чаще предоставляется случай проверить какие-нибудь из идей на практике. В частности, этой весной мне в политехе (СПБПУ) предоставилась возможность прочитать курс “Обработка сигналов”. Его организация, в особенности организация отчетности — первый эксперимент, результаты которого мне кажутся сколько-нибудь удачными, и в этой статье я хочу про организацию этого курса рассказать.

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

Предварительная обработка данных в машинном обучении: инструкция, инструменты, полезные ресурсы для начинающих

Level of difficultyMedium
Reading time17 min
Reach and readers8.1K

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

Читать далее

Information

Rating
Does not participate
Registered
Activity

Specialization

Десктоп разработчик, Разработчик игр
Python
ООП
C++
Unreal Engine
Шейдеры
Разработка игр
Разработка под AR и VR