Рубрика «обработка изображений» - 32

Откуда берут фотографии для тестирования систем распознавания лиц - 1
Аннотированная фотография из набора данных Diversity in Faces от IBM

Недавно компания IBM подверглась критике за то, что для обучения нейросетей без разрешения взяла общедоступные фотографии с фотохостинга Flickr и других сайтов, куда пользователи выкладывают свои снимки. Формально всё по закону — все фотографии опубликованы под лицензией Creative Commons — но люди чувствуют дискомфорт из-за того, что ИИ обучается на их лицах. Некоторые даже не знали, что их сфотографировали. Как известно, для съёмки человека в общественном месте не нужно спрашивать у него разрешения.
Читать полностью »

Новый алгоритм в 200 раз ускоряет автоматическое проектирование нейросетей - 1

ProxylessNAS напрямую оптимизирует архитектуры нейронных сетей для конкретной задачи и оборудования, что позволяет значительно увеличить производительность по сравнению с предыдущими прокси-подходами. На наборе данных ImageNet нейросеть проектируется за 200 GPU-часов (в 200−378 раз быстрее аналогов), а автоматически спроектированная модель CNN для мобильных устройств достигает того же уровня точности, что и MobileNetV2 1.4, работая в 1,8 раза быстрее.

Исследователи из Массачусетского технологического института разработали эффективный алгоритм для автоматического дизайна высокопроизводительных нейросетей для конкретного аппаратного обеспечения, пишет издание MIT News.

Алгоритмы для автоматического проектирования систем машинного обучения — новая область исследований в сфере ИИ. Такая техника называется «поиск нейронной архитектуры (neural architecture search, NAS) и считается трудной вычислительной задачей.
Читать полностью »

Нейросеть от Nvidia превращает простейшие наброски в красивые пейзажи - 1
Водопад курильщика и водопад здорового человека

Все мы знаем, как нарисовать сову. Нужно сначала нарисовать овал, потом еще окружность, ну а потом — получается шикарная сова. Конечно, это шутка, причем очень старая, но инженеры Nvidia постарались сделать так, чтобы фантазия стала реальностью.

Новая разработка, которая называется GauGAN, создает шикарные пейзажи из очень простых набросков (действительно простых — окружности, линии и все). Конечно, в основе этой разработки лежат современные технологии — а именно генеративные состязательные нейросети.
Читать полностью »

Мы несколько раз писали о том, как наши технологии помогают различным организациям и даже целым государствам обрабатывать информацию из любых типов документов и вводить данные в учетные системы. Сегодня расскажем, как внедряли ABBYY FlexiCapture в Московской объединенной энергетической компании (МОЭК) – крупнейшем поставщике тепла и горячей воды в Москве.

Представьте себя на месте обычного бухгалтера. Понимаем, это непросто, но все-таки попробуйте. Каждый день вам приходит огромное количество бумажных счетов, накладных, справок и так далее. А особенно много – в дни перед сдачей отчетности. Все реквизиты и суммы нужно быстро и внимательно проверить, перепечатать и внести в учетную систему, вручную провести транзакции и отправить документы в архив, чтобы потом вовремя предоставить для проверки внутренним аудиторам, налоговой службе, органам тарифного регулирования и другим. Сложно? Но это многолетняя деловая практика, которая существует во многих компаниях. Вместе с МОЭК мы упростили эту кропотливую работу и сделали ее удобнее. Если вам интересно, как это было, добро пожаловать под кат.

Как мы помогали трансформировать работу бухгалтерии в МОЭК - 1

На фото – московская ТЭЦ-21, крупнейший в Европе производитель тепловой энергии. Тепло, выработанное на этой станции, МОЭК поставляет 3 миллионам жителей севера Москвы. Источник фото.
Читать полностью »

image

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

Пока же Китай вводит самые разные системы идентификации граждан. Какие-то из них объединены в единую сеть, какие-то — пока нет. Среди прочих систем можно вспомнить видеонаблюдение за учениками в школах с привлечением ИИ к анализу поведения детей и подростков, распознавание лиц для обнаружения нарушителей ПДД, распознавание лиц полицией, систему социального рейтинга и многое другое. Сейчас добавилась еще одна система — распознавание лиц в метро. Технология используется для быстрого проведения платежа за проезд.
Читать полностью »

Умножение матриц: эффективная реализация шаг за шагом - 1

Введение

Умножение матриц — это один из базовых алгоритмов, который широко применяется в различных численных методах, и в частности в алгоритмах машинного обучения. Многие реализации прямого и обратного распространения сигнала в сверточных слоях неронной сети базируются на этой операции. Так порой до 90-95% всего времени, затрачиваемого на машинное обучение, приходится именно на эту операцию. Почему так происходит? Ответ кроется в очень эффективной реализации этого алгоритма для процессоров, графических ускорителей (а в последнее время и специальных ускорителей матричного умножения). Матричное умножение — один из немногих алгоритмов, которые позволяет эффективно задействовать все вычислительные ресурсы современных процессоров и графических ускорителей. Поэтому не удивительно, что многие алгоритмы стараются свести к матричному умножению — дополнительная расходы, связанные с подготовкой данных, как правило с лихвой окупаются общим ускорением алгоритмов.

Так как реализован алгоритм матричного умножения? Хотя сейчас существуют множество реализаций данного алгоритма, в том числе и в открытых исходных кодах. Но к сожалению, код данных реализаций (большей частью на ассемблере) весьма сложен. Существует хорошая англоязычная статья, подробно описывающая эти алгоритмы. К моему удивлению, я не обнаружил аналогов на Хабре. Как по мне, этого повода вполне достаточно, чтобы написать собственную статью. С целью ограничить объем изложения, я ограничился описанием однопоточного алгоритма для обычных процессоров. Тема многопоточности и алгоритмов для графических ускорителей явно заслуживает отдельной статьи.
Процесс изложения будет вестись ввиде шагов с примерами по последовательному ускорению алгоритма. Я старался писать максимально упрощая задачу, но не более того. Надеюсь у меня получилось…
Читать полностью »

Deep Learning — не только котики на мобилках или как мы производим дефектовку тележек локомотивов - 1

Буквально пару дней назад компания Aurorai передала в опытную эксплуатация систему распознавания дефектов и контроля состояния тележек для локомотивов Ермак. Задача нетривиальная и очень интересная, первым этапом которой было предложено оценить состояние тормозных колодок и ширины бандажа. Нам удалось решить задачу с точность до 1мм при скорости локоматива до 30 км/ч! Хочу отметить, что благодаря специфики можно было использовать “TTA (test-time augmentation)” – яркий пример kaggle-style хака из соревнований, который плохо ложится на прод и семантическую сегментацию на базе se_resnext50 encoder, которая даёт поразительный по точности результат в предсказании маски.
Читать полностью »

Недавно появилась идея сэкономить на ТСД на складе и попробовать использовать вместо них обычные дешёвые мобильники (даже без пылезащиты). Интерфейс планирую реализовать в виде веб-приложения (обычные веб-странички, HTML + CSS + JS).

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

Обзор JavaScript-сканнеров штрихкодов - 1
Читать полностью »

Формула для корейского, или распознаем хангыль быстро, легко и без ошибок - 1На сегодняшний день сделать распознавание корейских символов может любой студент, прослушавший курс по нейросетям. Дайте ему выборку и компьютер с видеокартой, и через некоторое время он принесёт вам сеть, которая будет распознавать корейские символы почти без ошибок.

Но такое решение будет обладать рядом недостатков:

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

Во-вторых, размер. Тот же самый последний слой из предыдущего примера будет весить 512 * 3001 * 4 байт, то есть около 6-ти мегабайт. Это только один слой, вся сеть будет весить десятки мегабайт. Понятно, для настольного компьютера это проблема небольшая, но на смартфоне не все будут готовы хранить столько данных для распознавания одного языка.

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

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

И сегодня я расскажу, как нам удалось решить эти проблемы.
Читать полностью »

Интересная информация

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

Продвинутый подход к обнаружению границ на примере стенок сосуда - 1

Для масштаба указана толщина луковицы аорты — 3.2 см, подумать только! Однако, когда у людей возникают проблемы с сердцем из-за сосудов, то речь, как правило, идет вовсе не о таких больших. На изображении видно, что сердце окружено более мелкими сосудами, и некоторые из них ответвляются прямо из крупных артерий. Это так называемые коронарные артерии, которые питают кровью непосредственно сердце. Если в них происходит сужение просвета (стеноз), например, из-за образования кальция, то уменьшается поток крови. Когда стеноз ярко выражен, то случается некроз ткани, другими словами инфаркт. Далее я расскажу о нашем подходе к вычислению границ сосудов, который в результате позволяет автоматически находить сужения и давать им оценку.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js