• Правда и ложь систем распознавания лиц

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



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

      Итак. В статье я отвечу на несколько простых вопросов:

      • Можно ли распознать вас на улице? И насколько автоматически/достоверно?
      • Позавчера писали, что в Московском метро задерживают преступников, а вчера писали что в Лондоне не могут. А ещё в Китае распознают всех-всех на улице. А тут говорят, что 28 конгрессменов США преступники. Или вот, поймали вора.
      • Кто сейчас выпускает решения распознавания по лицам в чём разница решений, особенности технологий?

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

      Я не буду вдаваться в подробности того как сейчас реализовано распознавание лиц. На Хабре есть много хороших статей на эту тему: а, б, с (их сильно больше, конечно, это всплывающие в памяти). Но всё же некоторые моменты, которые влияют на разные решения — я буду описывать. Так что прочтение хотя бы одной из статей выше — упростит понимание этой статьи. Начнём!
      Читать дальше →
    • Человек машине помощник

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


        Читать дальше →
        • +26
        • 3,9k
        • 3
      • Не сверточные сети



          Достоинства, проблемы и ограничения сверточных нейронных сетей (CNN) в настоящее время достаточно неплохо изучены. Прошло уже около 5 лет после признания их сообществом инженеров и первое впечатление «вот теперь решим все задачи», хочется верить, уже прошло. А значит, пришло время искать идеи, которые позволят сделать следующий шаг в области ИИ. Хинтон, например, предложил CapsuleNet.
          Вместе с Алексеем Редозубовым, опираясь на его идеи об устройстве мозга, мы тоже решили отступить от мейнстрима. И сейчас у меня есть что показать: архитектуру (идёт заглавной картинкой для привлечения внимания) и исходники на Tensorflow для MNIST.

          Более формально, результат описан в статье на arxiv.
          Читать дальше →
        • Капсульные сети от Хинтона



            27 октября 2017 года появилась статья доктора Джофри Хинтона с соавторами из Google Brain. Хинтон — более чем известный ученый в области машинного обучения. Он в свое время разработал математику обратного распространения ошибок, был научным руководителем Яна Лекуна — автора архитектуры сверточных сетей.

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

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


              Читать дальше →
            • Ой, у вас баннер убежал!

              Ну. И что?
              Реклама
            • Нейронные сети в детектировании номеров



                Распознавание автомобильных номеров до сих пор является самым продаваемым решением на основе компьютерного зрения. Сотни, если не тысячи продуктов конкурируют на этом рынке уже на протяжении 20-25 лет. Отчасти поэтому сверточные нейронные сети (CNN) не бьют прежние алгоритмические подходы на рынке.

                Но опыт последних лет говорит, что алгоритмы CNN позволяют делать надежные и гибкие для применения решения. Есть и еще одно удобство: при таком подходе всегда можно улучшить надежность решения на порядок после реального внедрения за счет переобучения. Кроме того, такие алгоритмы отлично реализуются на GPU (графических модулях), которые значительно эффективней с точки зрения потребления электроэнергии, чем обычные процессоры. А платформа Jetson TX от NVidia так просто потребляет очень мало по меркам современных вычислителей. Наглядное «энергетическое превосходство»:
                Читать дальше →
              • Почему супер-мега-про машинного обучения за 15 минут всё же не стать

                • Tutorial
                Вчера я опубликовал статью про машинное обучение и NVIDIA DIGITS. Как и обещал, сегодняшняя статья — почему всё не так уж и хорошо + пример выделения объектов в кадре на DIGITS.

                NVIDIA подняла волну пиара по поводу разработанной и имплиментированной в DIGITS сетки DetectNet. Сетка позиционируется как решение для поиска одинаковых/похожих объектов на изображении.


                Читать дальше →
              • Совсем не нейронные сети



                  Недавно ZlodeiBaal писал о достижениях в сверточных нейронных сетях (CNN) (и, кстати, тут же успешно настроил и обучил сеть для поиска области автомобильного номера).
                  А я хочу рассказать про принципиально иную и, наверное, более сложную модель, которую сейчас развивает Алексей Редозубов (@AlexeyR), и про то, как мы, конечно проигнорировав некоторые важные элементы, и ее применили для распознавания автомобильных регистрационных знаков!

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

                    Недавно ZlodeiBaal опубликовал статью «Нейрореволюция в головах и сёлах», в которой привел обзор возможностей современных нейронных сетей. Самым интересным, на мой взгляд, является подход с использованием сверточных сетей для сегментации изображений, про этот подход и пойдет речь в статье.

                    segnet.png


                    Уже давно появилось желание изучить сверточные сети и узнать что-то новое, к тому же под рукой есть несколько последних Tesla K40 с 12Гб памяти, Tesla c2050, обычные видеокарты, Jetson TK1 и ноутбук с мобильной GT525M, интереснее всего конечно попробовать на TK1, так как его можно использовать практически везде, хоть на столб фонарный повесить. Самое первое с чего начал, это распознавание цифр, тут конечно удивить нечем, цифры уже давно неплохо распознаются сетями, но при этом постоянно возникает потребность в новых приложениях, которые должны что-то распознавать: номера домов, номера автомобилей, номера вагонов и т.д. Все бы хорошо, но задача распознавания цифр является лишь частью более общих задач.
                    Читать дальше →
                  • И ещё раз про распознавание номеров

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



                      В любых задачах обработки изображений 90% успеха — хорошая база данных. Репрезентативная и большая. Весной мы обещали выложить полную базу изображений того, что нам придёт. Подписка блога заканчивается, поэтому время выполнить обещание (блог может продлят, а может и нет). Наш сервер работал 95% времени, начиная с первого поста. Всё что пришло теперь доступно + мы сделали отдельные базы по вырезанным номерам и нарезанным символам.

                      Под катом ссылки на базу + её анализ + немного кода + небольшой рассказ о том, что будет сделано дальше с нашим сервером/жизнью проекта.
                      Читать дальше →
                    • Работа каскада Хаара в OpenCV в картинках: теория и практика



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

                          В последнее время мы с Vasyutka написали ряд постов (1,2,3,4) про распознавание номеров и про наш взгляд на использование системы распознавания. После публикаций было огромное количество интересных комментариев, писем и идей. Наибольшее количество мыслей и откликов было, безусловно, в стиле: «сделайте обращение в ГИБДД» и «прикрутите отправку сообщений по номерам». Но нашей основной целью было не создание приложения, а создание алгоритма распознавания, которым бы мог воспользоватся любой (хотя приложение потихоньку тоже будем развивать, оставляя исходники открытыми). Поэтому многие из идей мы ещё долго не реализуем. Но это не повод грустить! Сервисы, где всё это уже присутствует существуют. Они не очень известны, но они есть.



                          Этот пост про то, какие проекты социализации и проявления активной гражданской позиции через автомобильный номер существуют в РуНете. Мы с удивлением и любопытством изучали эти проекты, когда нам присылали ссылки или мы натыкались на них. Надеюсь, что вам тоже понравится, а может и пригодится!
                          Читать дальше →
                        • Распознавание автомобильных номеров в деталях

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

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


                              (часть фотографий, присланных в течение недели)
                              Читать дальше →
                            • Не соблаговолите ли больше не нарушать, сэр (мэм)?

                                Примерно неделю назад Vasyutka опубликовал пост про распознавание номеров и обещал, что мы выложим софт, который можно будет опробовать. Мы немножко схитрили, не рассказав все подробнее. Ну, а то бы никакой интриги не было! Ядро алгоритма распознавания мы сделали с полгода назад, но тот проект, для которого оно было сделано, не двинулся. Он остановился где-то на альфа-версии. Подумав, и посовещавшись с заказчиком, мы решили, что это нехорошо, когда такой алгоритм пылится на полке и не приносит пользу обществу. С другой стороны выкладывать все исходники распознающей части не хотелось. Тогда и родилась идея, о которой пойдёт речь в этой статье.
                                image
                                Решили мы, собственно, сделать открытый сервер, который бы распознавал номера, приходящие http-запросами. Так как вся идея некоммерческая, то сервер, конечно, слабенький, но на то, чтобы народ игрался, надеюсь, его хватит.
                                А вот тут крутой поворот сюжета. Пост этот не про протокол обращения к серверу. Об этом будет следующий пост. Этот пост о программе, которую мы начали делать как пример работы с сервером, но которая вылилась в интересную на наш взгляд концепцию. В статье будет рассказано про Android-приложение, которым можно сфотографировать номер автомобиля… И обругать владельца бранным словом! Ну, или посмотреть статистику того, сколько раз сего автомобилиста обругали.
                                Те, кому невтерпёж, смогут расковырять работу с сервером из исходников в конце статьи. Остальных подержим пару дней в напряжении, а потом выложим законченный мануал.
                                Заинтриговал?
                              • Распознавание номеров: от А до 9

                                  Уже пару раз на Хабре возникали дискуссии на тему того, как сейчас работает распознавание номеров. Но статьи, где были бы показаны разные подходы к распознаванию номеров, на Хабре пока не было. Так что здесь попробуем разобраться, как все это работает. А потом, если статья вызовет интерес, продолжим и выложим работающую модель, которую можно будет поисследовать.

                                  image
                                  Читать дальше →
                                Самое читаемое