Обновить
128K+

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

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

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

Как создавать контент для людей с Дальтонизмом

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

Примерно 4% людей во всем мире (около 300 млн. человек) страдают той или иной формой дальтонизма, что сопоставимо с населением Соединенных Штатов. Дальтонизм встречается чаще, чем вы думаете, а это означает, что мы не можем игнорировать данный факт при создании контента. В этой статье я рассмотрю некоторые основы дальтонизма и расскажу, как сделать ваши проекты более доступными к восприятию для людей, страдающих дальтонизмом.

Разновидности дальтонизма

Наши глаза улавливают свет через два типа клеток сетчатки глаза: палочки и колбочки. Палочки очень чувствительны и помогают нам определять интенсивность источника света. Колбочки чувствительны только к более сильными источникам света, они помогают нам улавливать свет с разными длинами волн.

Существует три различных типа колбочек - короткие (S), средние (M) и длинные (L). Эти обозначения соответствуют длинам волн синего, зеленого и красного цветов световой волны. На приведенной ниже диаграмме показана относительная чувствительность клеток колбочек S, M и L к разным длинам волн света для человека с нормальным зрением.

Читать далее

Сервис распознавания капч, который больше не нужен

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

Я уже рассказывал про свой опыт в области распознавания капчи. Разумеется, кроме чисто академического интереса у меня был и материальный - иногда приходится скачивать несколько файлов с обменника, а ждать паузу и вводить капчи я не люблю. Поэтому и пользуюсь программой для закачек под названием Universal Share Downloader, или сокращённо USD. Недавно сервис обмена файлами Turbobit в очередной раз внёс изменения в свой сайт, в результате чего моя программа оказалась бесполезной. Теперь я могу рассказать о сервисе распознавания поподробнее, уже не опасаясь приблизить этот момент. Может, рост числа бесплатных скачиваний в результате использования сервиса уже повлиял. Или это просто традиционная июньская пакость от обменника - то капчу поменяют, то скорость скачивания урежут.

Читать далее

Как мы создавали сервис Benzin — бесплатный аналог remove.bg

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

Рассказ о том, как мы сделали нейросеть для удаления фона на фотографиях, догнали по качеству лидера рынка и выделили получившийся BENZIN neural network в отдельный продукт - https://benzin.io. В статье расскажу о шоке, который мы испытали узнав трафик главного конкурента. Как мы вычисляли его выручку, чтобы на неё ориентироваться, а также о наших результатах за календарный год, работе над ошибками, и о том какие перспективы у этого проекта. Будет полезно тем, кто планирует или уже создает свой SaaS.

Узнать подробности

ruCLIP — мультимодальная модель для русского языка

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

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

В начале этого года OpenAI опубликовала модель под названием CLIP (Contrastive Language–Image Pre-training). В статье авторы модели привели потрясающие результаты по точности zero-shot-классификации изображений, а также сопоставили тексты и картинки в рамках одной системы. Однако модель OpenAI работает только с английским языком. Можно ли быстро адаптировать её для работы с русским?

Команды R&D SberDevices и Sber AI увлеклись этим вопросом. В этой статье мы расскажем про первые результаты наших исследований CLIP для русского языка, опишем ключевые идеи предложенной модели и поделимся с вами кодом для её использования — решения задач zero-shot image classification.

Что же можно сделать с помощью ruCLIP?

Читать далее

Mode on: Сравнить две лучшие системы автоматического оцветнения

Время на прочтение11 мин
Охват и читатели7.5K
Продолжение заметок про оцветнение. Запустим уже несвежую, но ещё новую нейросеть и будем сравнивать со старичком Deoldify на множестве тестовых примеров, чтобы оценить скорость надвижения будущего.

image

Статья носит практическую направленность, поэтому воды про принцип работы Transformer не будет, впрочем, попытка объяснять на пальцах широкой публике, как же эта штука работает, превратилась бы в обман.

Преподаватель: Петров! Как работает трансформатор?
Петров басом: У-у-у-у-у.


Google Colorizing Transformer vs Deoldify

Сравнение под катом

Формат JPEG XL будет полным по Тьюрингу без ограничения 1024*1024 пикселей

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

В формате JPEG XL это изображение занимает 59 байт

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

Fast Hough Transform: от Эльбруса до КОМДИВа

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

На протяжении пяти лет мы в Smart Engines рассказываем вам о том, как оптимизируем свой софт под процессорную архитектуру Эльбрус. Обычно мы делимся с вами феерическими результатами, когда на Эльбрусах нам удается распознавать почти так же быстро, как на топовых иностранных процессорах. Сегодняшняя статья посвящена описанию оптимизированных «внутренностей» одного крайне важного для всех систем компьютерного зрения алгоритма – быстрого преобразования Хафа. Кроме того, расскажем еще об одном крайне интересном семействе отечественных архитектур – микропроцессорах КОМДИВ.

Читать далее

Помогите прочитать, что здесь написано? (OCR)

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


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

В 2020 году нам тоже пришлось решать проблему качественной оцифровки документов, и над этим проектом мы с коллегами работали совместно с компанией Verigram. Вот как мы проводили оцифровку документов на примере заказа клиентом SIM-карты прямо из дома.

Превращаем картинку в текст

Как мы создали Web приложение для определения лиц и масок для Google Chrome (часть 2)

Время на прочтение12 мин
Охват и читатели3.7K
Определение лица и маски
В предыдущей статье я рассказывал о том, можно ли использовать машинное обучение (в частности определение лица и маски) в браузере, подходах к детекции и оптимизации всех процессов.
Сегодня я хочу рассказать о технических подробностях реализации.
Читать дальше →

Сжимаем трансформеры: простые, универсальные и прикладные способы cделать их компактными и быстрыми

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

transformer_press


Сейчас в сфере ML постоянно слышно про невероятные "успехи" трансформеров в разных областях. Но появляется все больше статей о том, что многие из этих успехов мягко говоря надуманы (из недавнего помню статью про пре-тренировку больших CNN в компьютерном зрении, огромную MLP сетку, статью про деконструкцию достижений в сфере трансформеров).


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


Тем не менее у self-attention модуля есть ряд плюсов: (i) относительная простота при правильной реализации (ii) простота квантизации (iii) относительная эффективность на коротких (до нескольких сотен элементов) последовательностях и (iv) относительная популярность (но большая часть имплементаций имеет код раздутый раз в 5).


Также есть определенный пласт статей про улучшение именно асимптотических свойств self-attention модуля (например Linformer и его аналоги). Но несмотря на это, если например открыть список пре-тренированных языковых моделей на основе self-attention модулей, то окажется, что "эффективных" моделей там буквально пара штук и они были сделаны довольно давно. Да и последовательности длиннее 500 символов нужны не очень часто (если вы не Google).


Попробуем ответить на вопрос — а как существенно снизить размер и ускорить self-attention модуль и при этом еще удовлетворить ряду production-ready требований:

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

Оптимизация веб-графики в 2021 году

Время на прочтение9 мин
Охват и читатели23K
Изображения, используемые на веб-страницах, привлекают пользователей, пользователи довольно-таки охотно щёлкают по ним мышью. Изображения делают веб-страницы лучше во всём кроме скорости работы страниц. Изображения — это огромные куски байтов, которые обычно являются теми частями сайтов, которые загружаются медленнее всего. В этом материале я собрал всё, что нужно знать в 2021 году об улучшении скорости работы веб-страниц через оптимизацию работы с изображениями.



Изображения обычно имеют большие размеры. Даже очень большие. В большинстве случаев CSS- и JavaScript-ресурсы, необходимые для обеспечения работоспособности страниц — это мелочь в сравнении с тем объёмом данных, который нужно передать по сети для загрузки изображений, используемых на страницах. «Медленные» изображения могут повредить показателям Core Web Vitals сайта, могут оказать воздействие на SEO и потребовать дополнительных затрат на трафик. Изображения — это обычно тот самый ресурс сайта, который оказывает решающее воздействие на показатель Largest Contentful Paint (LCP) и на задержки загрузки сайта. Они способны увеличить показатель Cumulative Layout Shift (CLS). Если вы не знакомы с этими показателями производительности сайтов — почитайте о них в Definitive Guide to Measuring Web Performance.

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

Управляем звуком ПК от активности пользователя с помощью Python

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

Прочитав много статей про "распознавание лиц всего за n-ое количество строк" (например: раз, два, или даже видео), я решил повторить данные эксперименты, но уже под свою задачу. А задача очень простая - если пользователь работает за ПК (сидит перед веб-камерой, управляет мышкой), то системная громкость равна 50%, иначе если он отошёл/бездействует - выставляем 100%, чтобы не пропустить все уведомления с ПК.

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

Читать далее

Распознавание волейбольного мяча на видео с дрона

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

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

Основным фидбеком было - что за каменный век использовать олдскульные технологии, обучаешь нейросеть и погнали. Я пробовал, но не взлетело - очень часто мяч настолько размыт, что его даже человеческим глазом не отличить от случайной кляксы, и даже простой бинарный классификатор не дает стабильных результатов, чего уже говорить о детекторах и прочих YOLO.

В общем, я это дело подзабросил, но вот весной завел себе дрон и конечно же первым делом приспособил его для волейбольных съемок. Если поднять его на нужную высоту (12-15 метров), в кадр влезает вся площадка, что дает прямо неограниченные возможности для анализа.

Читать далее

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

Проецирование положения объектов с камеры видеонаблюдения на карту, используя лишь школьную геометрию

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

Возможно ли превратить координаты на изображении в конкретные географические координаты? Несмотря на то, что это звучит несколько необычно, такая конвертация вполне возможна.

Сегодня я расскажу о том, как можно спроецировать координаты с плоского изображения на карту. Эта короткая статья будет своеобразным продолжением первой статьи, в которой я рассказывал о базовых возможностях Mask R-CNN.

Начать конвертацию

Распознаем номера автомобилей. Разработка multihead-модели в Catalyst

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

Фиксация различных нарушений, контроль доступа, розыск и отслеживание автомобилей – лишь часть задач, для которых требуется по фотографии определить номер автомобиля (государственный регистрационный знак или ГРЗ). 

В этой статье мы рассмотрим создание модели для распознавания с помощью Catalyst – одного из самых популярных высокоуровневых фреймворков для Pytorch. Он позволяет избавиться от большого количества повторяющегося из проекта в проект кода – цикла обучения, расчёта метрик, создания чекпоинтов моделей и другого – и сосредоточиться непосредственно на эксперименте.

Сделать модель для распознавания можно с помощью разных подходов, например, путем поиска и определения отдельных символов, или в виде задачи image-to-text. Мы рассмотрим модель с несколькими выходами (multihead-модель). В качестве датасета возьмём датасет с российскими номерами от проекта Nomeroff Net. Примеры изображений из датасета представлены на рис. 1.

Читать далее

Сим-сим откройся: как я научил дверь своего подъезда узнавать меня в лицо

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

Пятничный рабочий день на удалёнке уже подходил к концу, как в дверь постучали, чтобы сообщить об установке нового домофона. Узнав, что новый домофон имеет мобильное приложение, позволяющее отвечать на звонки не находясь дома, я заинтересовался и сразу же загрузил его на свой телефон. Залогинившись, я обнаружил интересную особенность этого приложения — даже без активного вызова в мою квартиру я мог смотреть в камеру домофона и открывать дверь в произвольный момент времени. "Да это же онлайн АРI к двери подъезда!" — щёлкнуло в голове. Судьба предстоящих выходных была предрешена.

Видеодемонстрация в конце статьи.

Читать далее

Создание нейронной сети Хопфилда на JavaScript

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

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

В этой статье при помощи нейросети Хопфилда будем решать задачу восстановления искаженных изображений. Нейросеть предварительно обучим на эталонных изображениях.

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

Читать много кода

Балет и роботы

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

Оцветнение видео под капотом


Продолжаю рассказывать о своём необычном увлечении. Моё хобби заключается в алгоритмическом преобразовании древнего черно-белого видео в материал, который выглядит современно. Про мою первую работу написано в этой статье. Прошло время, мои навыки улучшились, и теперь я не смеюсь над мемом «Zoom and enhance».


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

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

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

Бухгалтерские документы, пожалуй, для всех распознавальщиков находятся на особом счету. Именно этот класс документов представляет особый вызов системам автоматического ввода данных. Почему? Во-первых, документы сложные: мелкий шрифт, большое количество таблиц, вставок. Во-вторых, такие документы всегда сопровождаются печатями, подписями и прочими «радостями» делопроизводства. В-третьих, таких бумаг в любой компании просто много – всегда есть, что распознавать. С завидной периодичностью выходят новые инновационные продукты, которые «решают» проблему ввода данных с бухгалтерских документов. Высоконагруженные сервера, распределённые системы распознавания данных, RPA, роботизированные сервисы… Предложений много, а задача все еще актуальна. Почему?

Читать далее

FOVEA: томографируем коня через игольное ушко

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

Рентгеновская томография - один из двух (наряду с МРТ) самых известных способов “заглянуть внутрь” непрозрачных объектов. В медицине он является инструментом клинического мониторинга и средством терапии, в индустрии помогает контролировать технологические процессы, в таможне - найти то, что кое-кто предпочел бы спрятать. Эта технология в нашей стране развивается in house на мировом уровне. Но мы в Smart Engines пишем про томографию так часто не только поэтому. Мы - ученые и изобретатели, а томография - неиссякаемый источник проблем и задач, требующих решения (мы уже писали о несовершенных детекторах и широкополосном излучении). Сегодня мы расскажем о том, что делать, если объект исследования не помещается в томограф. Вот как, например, британские ученые исследуют коня в зоопарке. Голову коня в гентри поместить удается, а с остальным дела обстоят сложнее. Пример не очень серьезный, но жизненный. Кто в лаборатории работал, тот в зоопарке не смеется. Заглянув под кат вы узнаете, как получается, что у физиков сантиметровый образец не помещается в километровый томограф, и чем тут могут помочь вычислительные математики.

Читать далее