• Самая сложная задача в Computer Vision

    • Tutorial
    Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить.
    У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинговать, переобучать, или судорожно копаться в куче матриц и дебрях логики.

    Статья о том как делать трекинг. Где он используется, какие есть разновидности. Как сделать стабильное решение.
    Читать дальше →
  • Как объяснить роботу свою точку зрения

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


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

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

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

        Есть области где всё хуже, но сейчас идёт большой прогресс — речь/распознавание текстов, переводы.



        Но есть области загадочные. Вроде как и прогресс есть. И статьи регулярно выходят. Только вот до практического применения как-то особо и не доходит.

        Давайте разберём то, как нейронные сеточки и машинное зрение работает в медицине.
        Читать дальше →
      • Ультимативное сравнение embedded платформ для AI

          Нейронные сеточки захватывают мир. Они считают посетителей, контролируют качество, ведут статистику и оценивают безопасность. Куча стартапов, использование в промышленности.
          Замечательные фреймворки. Что PyTorch, что второй TensorFlow. Всё становиться удобнее и удобнее, проще и проще…
          Но есть одна тёмная сторона. Про неё стараются молчать. Там нет ничего радостного, только тьма и отчаяние. Каждый раз когда видишь позитивную статью — грустно вздыхаешь, так как понимаешь что просто человек что-то не понял. Или скрыл.
          Давайте поговорим про продакшн на embedded-устройствах.

          Читать дальше →
        • Лопнул ли пузырь машинного обучения, или начало новой зари

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

            image

            Ну что. Разберём «лопнул ли пузырь», «как дальше жить» и поговорим откуда вообще такая загогулина.
            Читать дальше →
          • Краткий гайд по созданию оракулов, богов из машины и ошибкам второго рода

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

              Если подходить к этим историям формально, то можно сказать что все они порождены тем что люди не учитывают ошибку второго рода. У Юдковского, с коим знакома четверть Хабра — эта ошибка обычно зовётся «Подтверждающее искажение».



              Что это такое? В двух словах — «человек ищет подтверждение своей модели, а не её опровержение». Единственный шанс объяснить лучше, это примеры-примеры-примеры и опыт. Лишь так можно развить чувство что «что-то тут не так».

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

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



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

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

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

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

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

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


                  Читать дальше →
                • На пути к естественному интеллекту

                    Machine Learning с каждым днём становится всё больше. Кажется, что любая компания, у которой есть хотя бы пять сотрудников, хочет себе разработать или купить решение на машинном обучении. Считать овец, считать свёклу, считать покупателей, считать товар. Либо прогнозировать всё то же самое.

                    image

                    Формула проста: если цена внедрения ниже, чем ты платишь охраннику — ставь управляемый шлагбаум. Потери от бездельников выше стоимости внедрения биометрической системы учёта времени — внедряй. «Эксперт» берёт взятки за контроль качества продукта? Продублируй его системой контроля качества.

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

                    Но статья, скорее, не про это. Статья про специалистов по машинному обучению. Про бум специальности, про то, какие люди начинают приходить, как из единого, общего массива специалистов начинают вырисовываться профессии, про то, как сейчас решать ML-задачи.
                    Читать дальше →
                  • Умная кормушка: Machine Learning, Raspberry Pi, Telegram, немножко магии обучения + инструкция по сборке

                    • Tutorial
                    Всё началось с того, что жена захотела повесить кормушку для птиц. Идея мне понравилась, но сразу захотелось оптимизировать. Световой день зимой короткий — сидеть днём и смотреть на кормушку времени нет. Значит нужно больше Computer Vision!



                    Идея была простой: прилетает птичка — вжуууух — она оказывается на телефоне. Осталось придумать как это сделать и реализовать.
                    В статье:
                    • Запуск Caffe на Raspberry Pi B+ (давно хотел это сделать)
                    • Построение системы сбора данных
                    • Выбор нейронной сети, оптимизация архитектуры, обучение
                    • Оборачивание, выбор и приделывание интерфейса

                    Все исходники открыты + описан полный порядок развёртывания получившейся конструкции.
                    Читать дальше →
                  • Google Cloud Vision API‎. Будущее Computer Vision as a service настало?

                    • Tutorial
                    Год назад Google сваял платформу Cloud Vision API‎. Идея платформы — предоставить технологии Computer Vision, в которых Google является безусловным лидером, как сервис. Пару лет назад под каждую задачу существовала своя технология. Нельзя было взять что-то общее и добиться, чтобы алгоритм решал всё. Но Google замахнулся. Вот, прошёл уже год. А технология всё так же не на слуху. На хабре одна статья. Да и та ещё не про Cloud Vision api, а про Face api, которое было предшественником. Англоязычный интернет тоже не пестрит статьями. Разве что от самого Google. Это провал?



                    Мне было интересно посмотреть что это такое ещё весной. Но сил полноценно посидеть не хватало. Изредка что-то отдельное тестировал. Периодически приходили заказчики и спрашивали, почему нельзя применить Cloud Api. Приходилось отвечать. Или наоборот, отсылать с порога в этом направлении. И внезапно понял, что материала на статью уже достаточно. Поехали.
                    Читать дальше →
                  • Почему супер-мега-про машинного обучения за 15 минут всё же не стать

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

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


                    Читать дальше →
                  • Как стать супер-мега-про машинного обучения за 15 минут

                    • Tutorial
                    image

                    Недавно на Хабре проскакивал пост vfdev-5 о DIGITS. Давайте поподробнее разберёмся что это такое и с чём его едят. Если в двух словах. Это среда, которая позволяет решить 30-50% задачек машинного обучения на коленке в течении 5 минут. Без умения программировать. Ну, при наличии базы, конечно. И более-менее адекватной карточки от NVIDIA.
                    Читать дальше →
                  • Колыбель для AI

                    • Tutorial


                    Есть одна тема в современном Computer Vision, которая часто остаётся за кадром. В ней нет сложной математики и глубокой логики. Но то что её никак не освещают — вгоняет в ступор многих новичков. А тема не проста: имеет множество граблей, про которые не узнаешь, пока не наступишь.

                    Тема — называется так: подготовка базы изображений для дальнейшего обучения.
                    В статье:

                    1. Как можно отличить хорошую базу
                    2. Примеры хороших баз
                    3. Примеры программ, которыми удобно размечать базы

                    Читать дальше →
                    • +37
                    • 14.8k
                    • 7
                  • О новых успехах противостояния (СР УВЧ!*)

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



                      Не идеально, но по мне — очень классно. 3D шутер, который играется в реальном времени — это впервые.
                      А теперь чуть-чуть теории
                    • Kaggle – наша экскурсия в царство оверфита

                      • Tutorial
                      Kaggle — это платформа для проведения конкурсов по машинному обучению. На Хабре частенько пишут про неё: 1, 2, 3, 4, и.т.д. Конкурсы на Kaggle интересные и практичные. Первые места обычно сопровождаются неплохими призовыми (топовые конкурсы — более 100к долларов). В последнее время на Kaggle предлагали распознавать:


                      И многое-многое другое.

                      Мне давно хотелось попробовать, но что-то всё время мешало. Я разрабатывал много систем, связанных с обработкой изображений: тематика близка. Навыки более лежат в практической части и классических Computer Vision (CV) алгоритмах, чем в современных Machine Learning техниках, так что было интересно оценить свои знания на мировом уровне плюс подтянуть понимание свёрточных сетей.

                      И вот внезапно всё сложилось. Выпало пару недель не очень напряжённого графика. На kaggle проходил интересный конкурс по близкой тематике.Я обновил себе комп. А самое главное — подбил vasyutka и Nikkolo на то, чтобы составить компанию.

                      Сразу скажу, что феерических результатов мы не достигли. Но 18 место из 1.5 тысяч участников я считаю неплохим. А учитывая, что это наш первый опыт участия в kaggle, что из 3х месяц конкурса мы участвовали лишь 2.5 недели, что все результаты получены на одной единственной видеокарте — мне кажется, что мы хорошо выступили.

                      О чём будет эта статья? Во-первых, про саму задачу и наш метод её решения. Во-вторых, про процесс решения CV задач. Я писал достаточно много статей на хабре о машинном зрении(1,2,3), но писанину и теорию всегда лучше подкреплять примером. А писать статьи по какой-то коммерческой задаче по очевидным причинам нельзя. Теперь наконец расскажу про процесс. Тем более что тут он самый обычный, хорошо иллюстрирующий как задачи решаются. В-третьих, статья про то, что идёт после решения идеализированной задаче в вакууме: что будет когда задача столкнётся с реальностью.


                      Читать дальше →
                    • Куда движется современная биометрия

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

                        Лет пять назад я уже писал на Хабре серию статей про биометрию и то как она устроена (1, 2, 3). Как ни странно, за эти годы достаточно мало что изменилось, хотя изменения и произошли. В этой статье я попробую как можно более популярно рассказать про сегодняшние технологии, про то какой прогресс идёт и почему к словам Грефа о том, что к словам «карта, основная задача которой состоит в идентификации, уходит в прошлое» стоит относится с скептицизмом.
                        Читать дальше →
                      • Как робот 3D сканирует

                          В мире существует множество технологий 3D сканирования. На базе каждой из них созданы десятки моделей сканеров. Какие-то сканеры умеют сканировать только мелкие объекты, какие-то предназначены для сканирования людей. Другие могут отсканировать дом или комнату. Одно только перечисление всевозможных вариаций сканеров заняло бы целую статью.
                          В этой статье я расскажу об одном из перспективных направлений сканирования — о том как делаются роботизированные 3D сканеры.

                          Читать дальше →
                          • +9
                          • 10.3k
                          • 1
                        • Нейрореволюция в головах и сёлах

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



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

                            Я работаю в области связанной с анализом изображений. Это одна из областей которую новые идеи затронули сильнее всего. Одна из таких идей — свёрточные нейронные сети. Четыре года назад с их помощью впервые начали выигрывать конкурсы по обработке изображений. Победы не остались незамеченными. Нейронными сетями, до тех пор стоящими на вторых ролях, стали заниматься и пользоваться десятки тысяч последователей. В результате, полтора-два года назад начался бум, породивший множество идей, алгоритмов, статей.

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

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


                              Последние лет восемь я активно занимаюсь задачами, связанными с распознаванием образов, компьютерным зрением, машинным обучением. Получилось накопить достаточно большой багаж опыта и проектов (что-то своё, что-то в ранге штатного программиста, что-то под заказ). К тому же, с тех пор, как я написал пару статей на Хабре, со мной часто связываются читатели, просят помочь с их задачей, посоветовать что-то. Так что достаточно часто натыкаюсь на совершенно непредсказуемые применения CV алгоритмов.
                              Но, чёрт подери, в 90% случаев я вижу одну и ту же системную ошибку. Раз за разом. За последние лет 5 я её объяснял уже десяткам людей. Да что там, периодически и сам её совершаю…

                              В 99% задач компьютерного зрения то представление о задаче, которое вы сформулировали у себя в голове, а тем более тот путь решения, который вы наметили, не имеет с реальностью ничего общего. Всегда будут возникать ситуации, про которые вы даже не могли подумать. Единственный способ сформулировать задачу — набрать базу примеров и работать с ней, учитывая как идеальные, так и самые плохие ситуации. Чем шире база-тем точнее поставлена задача. Без базы говорить о задаче нельзя.

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