Обновить
256K+

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

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

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

Автономная навигация мобильного робота

Время на прочтение22 мин
Охват и читатели16K
Существует огромное количество способов, при помощи которых робот может получать информацию из внешнего мира с целью взаимодействия с ним. Также, в зависимости от задач, поставленных перед ним, различаются и методы обработки этой информации. В данной статье я опишу основные этапы работы, выполненной в рамках школьного проекта, цель которого — систематизировать информацию, посвященную различным методам автономной навигации робота и применить полученные знания в процессе создания робота для соревнований «Кубок РТК».


Сжатие (компрессия) изображений различный форматов

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

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

Чтобы выяснить, какой формат является оптимальным, мы провели тестирование форматов GIF, JPG, PNG и WEBP, и сравнили размеры получающихся файлов.

Методика тестирования


Компрессия осуществлялась на работающем сайте с помощью двух программ:
• Графическая библиотека GD, встроенная в PHP по умолчанию.
• Сторонняя программа ImageMagick и ее php-расширение Imagick.

Путем уменьшения настройки качества от 100 до 0 процентов, находилось значение, при котором качество изображения оставалось приемлемым.

Сразу скажем, что обе программы GD и Imagick дают одинаковый результат при одном и том же параметре качества (Q), поэтому все примеры приведены только для изображений, полученных в программе GD.

Реальные размеры для больших изображений 1600x900px, для миниатюр 400x225px — видимые размеры могут отличаться.

Миниатюрное изображения (thumbnail) 400x225px


По степени сжатия формат WEBP неоспоримый лидер.

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

Когда останавливать процесс распознавания видеопоследовательности?

Время на прочтение7 мин
Охват и читатели2.2K
Привет хабр! Сегодня мы бы хотели рассказать вам об очень интересной задаче, которой мы занимаемся с самого старта наших исследований распознавания документов в видеопотоке – задаче поиска оптимального момента остановки.


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

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

Время на прочтение9 мин
Охват и читатели33K
image
Вот и весь комплект, если есть CAN-шина.

Всего пять лет назад не было нормально работающих нейросетей для того же определения препятствий и краёв стеблестоя, поэтому не было и видеоаналитики. Были «слепые» GPS-методы, которые на практике оказались далеко не лучшими и сильно подмочили престиж автоматизации в сельском хозяйстве. Через пять лет, как мы считаем, все комбайны будут автоматизированы именно визуальными автопилотами, чтобы смотреть из кабины и в стороны и контролировать все аспекты уборки урожая.

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

Такой проект мог стартовать у нас, в Бразилии и ещё в паре стран из-за особенностей рынка. Нужна страна с сельским хозяйством, разработчиками внутри, неэффективной уборкой (то есть чёткой болью сэкономить) и новым парком комбайнов. Повезло со всем, включая парк: после СССР всё развалилось, и сейчас мы наблюдаем машины примерно четырёх- пятилетней давности в основных хозяйствах.

В России 350 тысяч комбайнов, и поставляется ещё 35 тысяч в год. Это не рынок автомобилей, конечно, но, сделав правильное решение сейчас, пока туда ещё никто не пришёл, можно получить его весь.

Но давайте расскажу лучше, как именно это работает и как мы модифицируем комбайны в России.
Читать дальше →

Как мы считаем людей с помощью компьютерного зрения

Время на прочтение8 мин
Охват и читатели9.6K
image
Фото из открытых источников

Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных помещениях, на строительных площадках и т. д.

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

Нас зовут Татьяна Воронова и Эльвира Дяминова, мы занимаемся анализом данных в компании Center 2M. Хотя тема кажется наиболее простой из того, что сейчас рассматривается в задачах компьютерного зрения, даже в этой задаче, когда дело доходит до практики (внедрения), приходится решать много сложных и нетривиальных подзадач. Цель нашей статьи – показать сложности и основные подходы к задачам компьютерного зрения на примере решения одной из базовых задач. Для последующих материалов мы хотим привлечь коллег: девопса, инженера, руководителей проектов по видеоаналитике, чтобы они рассказали про задействованные вычислительные ресурсы, замеры скорости, нюансы общения с заказчиками и проектные истории внедрения. Мы же остановимся на некоторых использовавшихся методах анализа данных.
Читать дальше →

Локализация QR-кода – важная задача, незаслуженно обделенная вниманием

Время на прочтение10 мин
Охват и читатели8.1K
Уверены, что на сегодняшний день не найдется ни одного читателя Хабра, который не был бы знаком с QR-кодами. Эти двумерные штрихкоды повсюду. Закономерно, что в мире существует много инструментов, позволяющих с некоторой долей эффективности добавить QR-коды в свой проект. Вся соль в том, что эта упомянутая эффективность напрямую зависит от качества инструмента, который используется для распознавания QR-кодов. И тут возникает классическая вилка: можно решить задачу (очень) хорошо и (очень) дорого, а можно бесплатно и как-то. А можно ли доработать бесплатное так, чтобы все-таки решить задачу хорошо? Если интересно, заглядывайте под кат.
Читать дальше →

О бинаризации томографических изображений с тонкой структурой

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

Бинаризация – классическая задача обработки изображений. Часто бинаризация используется для упрощения данных и ускорения последующей обработки, что в наше время уже не кажется важным. Но при анализе пористых материалов бинаризация принципиальна, поскольку модель данных здесь не подразумевает промежуточного состояния между пустой порой и непроницаемой матрицей. А алгоритма, прекрасно работающего «из коробки», как обычно, нет. Есть алгоритмы с настроечными параметрами, есть замечательные нейросетевые архитектуры. Чтобы они заработали, их нужно настроить/обучить. Что же делать, если в нашей задаче получение эталонных ответов очень трудоемко? Из этой статьи вы можете узнать об одном любопытном способе обойтись без разметки, а также познакомиться с миром вычислительной томографии и сопредельных областей.


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

Почему нужно роботизировать сельхозкомбайны, в чём сложности, и как мы это сделали за два года

Время на прочтение10 мин
Охват и читатели55K
В обычное время механизатор зарабатывает около 30 тысяч рублей в месяц. Но всё резко меняется во время уборки урожая, когда механизатор на время становится оператором комбайна — комбайнёром, за этот промежуток он получит до 150 тысяч рублей. Есть буквально две недели, когда нужно собрать всё, во что вы целый год вкладывали огромное количество денег за работу, удобрения, солярку и так далее. Работать можно примерно с восьми утра (настроить машину, в девять начать) до темноты, потому что роса и ночная влажность резко ухудшают качество зерна. На износ. И на третий-четвёртый день начинаются проблемы с авариями или перемалыванием не того и не так.

Со стороны кажется, что задача — проехать на комбайне по полю «змейкой» и «перемолоть» всю пшеницу или другую культуру. На деле всё далеко не так. Оператор должен следить за сотнями вещей и при этом постоянно смотреть на кромку поля, чтобы двигаться ровно. Представьте себе, что вы едете 12–14 часов по трассе на скорости 120 км/час за человеком, который раз в полчаса неожиданно тормозит. Примерно то же чувствует оператор: работа невероятно монотонная, но при этом постоянно нужно быть готовым к сюрпризу.

image
Сюрприз может выглядеть так. Пока мы ездили «в поля», не видели ни одного целого комбайна без следов сварки.

Фактически комбайнёр следит за процессом обработки зерна (одно рабочее место) и при этом ведёт технику (другое рабочее место). Но только это один человек. Следствие — страдает что-то одно. Поскольку, если плохо вести, можно случайно перемолоть камень или человека на поле, и страдает обычно качество уборки зерна.

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

Регуляризация? Ортогонализация! Улучшаем компактные сети

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

Пока другие компании обсуждают управление коллективом на удаленке, мы в Smart Engines продолжаем делиться с вами своим стеком технологий. Сегодня про оптимизацию нейронных сетей. Сделать систему распознавания на основе нейронных сетей, которая могла бы быстро работать на смартфонах и прочих мобильных устройствах – крайне непросто. А сделать так, чтобы при этом качество было высоким – еще сложнее. В этой статье мы расскажем о простом методе регуляризации нейронных сетей, используемом нами в Smart Engines для улучшения качества «мобильных» сетей с малым числом параметров. Идея метода основана на постепенном уменьшении линейной зависимости фильтров в сверточных слоях во время обучения, благодаря чему каждый нейрон работает более эффективно, и следовательно, улучшается обобщающая способность модели. Для этого мы представляем фильтры в виде одномерных векторов и ортогонализируем пару с наибольшей длиной проекции друг на друга.
Читать дальше →

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

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

Привет, Хабр! Сегодня мы продолжаем нашу классическую серию статей про то, как с использованием методов обработки изображений и распознавания образов сделать что-то полезное с практической точки зрения. Сегодня речь пойдет о задаче распознавания ценников. Обычных ценников товаров, которые каждый может встретить в любом магазине. Только для обеспечения должной практичности мы добавим важное требование в постановку задачи: распознаваемые изображения получают при помощи малоформатной цифровой камеры, а вычислительное устройство имеет существенные ограничения по ресурсам. Другими словами, мы расскажем, как распознавать ценники на вычислительно слабом мобильном устройстве (кстати, здесь речь идет не столько о дешевом китайском смартфоне, сколько о специальных промышленных терминалах сбора данных, которые в силу ряда причин тоже обладают достаточно слабыми “мозгами”). Итак, если Вам интересна тема автоматизации ритейла, добро пожаловать под кат!


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

Как я сгенерировал на Python тысячу лиц для своей игры

Время на прочтение3 мин
Охват и читатели32K
На определённом этапе разработки своей игры я осознал, что мне нужна система диалогов с лицами-аватарами.

Поэтому я решил создать генератор лиц на основе знаменитой игры Papers, Please.


Генератор лиц Dukope (из Papers, Please)

Сбор данных


Я скачал примерно 50 портретов с pixabay.com (все изображения имеют лицензию CC и не требуют указания авторства).

Затем я вырезал фон каждого изображения в Photoshop (просто выбрал всё инструментом выделения многоугольника и нажал на Delete). В дальнейшем я планировал воспользоваться эффектом cutout , чтобы скрыть все недочёты.


Изображения с удалённым фоном
Читать дальше →

Использование современных графических форматов в веб-проектах

Время на прочтение10 мин
Охват и читатели24K
Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать более масштабную работу, чем при подготовке к использованию изображений. Вот что об этом говорится в статье:

JPEG-изображение нужно декодировать, растеризовать и вывести на экран. А JS-бандл надо, если рассматривать это упрощённо, загрузить, распарсить, скомпилировать, выполнить. На самом же деле движку приходится решать и другие задачи в процессе обработки JS-кода. В целом, стоит учитывать, что на обработку JavaScript-кода, размеры которого, в байтах, сопоставимы с размерами других материалов, тратится гораздо больше системных ресурсов.

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


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

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

Нейросетевой калькулятор для сложения и вычитания не очень больших чисел

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

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


Работа уже опубликована на arXiv и сегодня будет представлена на конференции SIGBOVIK в формате аудиозаписи. В этом посте мы поделимся с вами результатами нашего эксперимента. Мотивация и детали реализации также под катом.


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

8-битные сети на Эльбрусе, есть ли смысл?

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

Привет, Хабр! Мы вдруг поняли, что наша последняя статья про Эльбрус вышла год назад. Поэтому мы решили исправить эту досадную оплошность, ведь мы не бросили эту тему!


Сложно представить распознавание без нейронных сетей, поэтому мы расскажем о том, как мы запустили 8-битные сетки на Эльбрусе и что из этого получилось. Вообще, модель с 8-битными коэффициентами и входами и 32-битными промежуточными вычислениями крайне популярна. Например, Google [1] и Facebook [2] завели ее собственные реализации, которые оптимизируют доступ в память, задействуют SIMD и позволяют ускорить вычисления на 25% и больше без заметного снижения точности (это конечно зависит от архитектуры нейронной сети и вычислителя, но нужно же было объяснить, насколько это круто?).


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

Про кафедру ABBYY в МФТИ. Мой личный опыт

Время на прочтение9 мин
Охват и читатели8.3K
Привет! Меня зовут Алексей, в этом году я заканчиваю учебу на бакалавриате ABBYY на Физтехе. А еще пишу диплом, работаю и все это делаю на удаленке. В этом посте я опишу свой опыт поступления на бакалавриат ABBYY: это было пару лет назад, в 2018 году, когда мир был более безопасным (на самом деле нет) и люди могли чаще трогать лицо руками.

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

HoughNet: поиск точек схода сетью, сплавленной с классическим алгоритмом

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

Пока в мире распознавания объектов обучают десятки и даже сотни зарекомендовавших себя архитектур искусственных нейронных сетей (ИНС), разогревая планету мощными видеокарточками и создавая «панацею» для всех задач компьютерного зрения, мы в Smart Engines твердо идем по исследовательскому пути, предлагая новые эффективные архитектуры ИНС для решения конкретных задач. Сегодня мы расскажем про ХафНет – новый способ поиска точек схода на изображениях.

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

Пять лет интенсивного развития рынка распознавания документов

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

Хотя мы в Smart Engines, конечно, лютые технари, все равно очень любим дни рождения и юбилеи. Особенно, если виновник торжества — такое родное и милое, за развитием которого ты наблюдаешь каждый день. Да-да, на прошлой неделе мы праздновали пятилетие нашего главного продукта – системы распознавания паспорта РФ.

Картинки как коробки — что внутри? Доклад в Яндексе

Время на прочтение19 мин
Охват и читатели12K
Картинки и видео — это «чёрные ящики», внутри которых лежит много интересного и непонятного. Но можно заглянуть внутрь некоторых форматов, всё там поменять и посмотреть, что из этого получится.

Полина Гуртовая из компании «Злые марсиане» выступила на нашей конференции «Я  Фронтенд» в феврале. При помощи эксперимента Полина разобралась, как превращать простые картинки в «эффективные изображения» с метриками. Инструменты, которые могут делать это за нас, Полина рассмотрела ближе к концу доклада. Получился большой экскурс во внутренности и принципы работы разных форматов: от PNG и JPEG до AV1 и экзотики.


— Всем привет. Меня зовут Полина, я фронт в компании «Злые марсиане».
Читать дальше →

Вычисление центра масс за O(1) с помощью интегральных изображений

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


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

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

В этой статье я расскажу:

  • Что за задача такая, о которой идет речь;
  • Подробнее об интегральных изображениях;
  • Как использовать интегральные изображения для приближенного решения гравитационной задачи N тел применительно к дискретному полю импульсов (масс-скоростей);
  • Какой недостаток имеет это решение и как его исправить;
  • И, наконец, как за константное время вычислить центр масс для произвольного региона.
Читать дальше →