• Конкурс Topcoder «Konica-Minolta Pathological Image Segmentation Challenge». Заметки участника

      Привет! Пока мы ждём субботу и Avito Data Science Meetup: Computer Vision, расскажу вам про моё участие в соревновании по машинному обучению KONICA MINOLTA Pathological Image Segmentation Challenge. Хотя я уделил этому всего несколько дней, мне повезло занять 2 место. Описание решения и детективная история под катом.


      Читать дальше →
      • +23
      • 3,1k
      • 4
    • Качественное уменьшение изображений за константное время

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


        Для начала давайте порассуждаем логически. Если вы делаете ресайз изображения, наверное вы хотите чтобы результат хотя бы отдаленно напоминал оригинал. Для этого нужно учесть как можно больше информации из исходного изображения. Вы слышали о методе «ближайшего соседа»? В этом методе для каждой точки конечного изображения просто берется какая-то одна точка из исходного изображения в неизменном виде.



        Уменьшение изображения 4928×3280 до 256×170 ближайшим соседом.


        Рекомендую смотреть примеры из статьи в браузере в масштабе 100% и без ретины. То есть по максимуму исключить ресайз при просмотре.

        Результат не представляет ничего хорошего. Изображение дерганое, зернистое, даже трудно понять что на нем изображено. Особенно если на исходном изображении было много мелких деталей или оно само было зернистым. Почему так получается? Потому что в конечном изображении было учтено очень мало информации из исходного. Если условно отметить на исходном изображении те точки, которые попадают в конечное, получится вот такая сеточка:



        Точки, которые попадут в конечное изображение размером 20×13.
        Читать дальше →
      • Оптимизация метода Виолы и Джонса для платформы Эльбрус

          Метод (алгоритм) Виолы и Джонса [1] является одним из способов выявления границ объектов на изображении. Хотя алгоритм, разработанный П. Виолой и М. Джонсом еще в 2001 году, был первоначально ориентирован на быстрый поиск лиц на изображениях, сейчас разнообразные вариации этого популярного алгоритма с успехом используются в различных задачах поиска границ:


          • образов пешеходов [2],
          • образов автомобилей [3],
          • образов дорожных знаков [4],

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

          Читать дальше →
        • Пишем движок трёхмерного ретро-шутера с нуля

          • Перевод

          Мне всегда нравились классические шутеры от первого лица 90-х. Я часами просиживал за моим 386-м, играя Doom, потрясённый тем, как кому-то удалось написать код, отрисовывающий на моём экране 3D-графику в реальном времени с отличным разрешением 320x200. Я немного знал программирование (только что начал изучать BASIC), поэтому осознавал, что глубоко внутри это всего лишь куча математики и байтов, записываемых в видеопамять. Но в то время даже массивы для меня были довольно сложным понятием, поэтому я не мог даже начать постигать всю сложность 3D-рендеринга.

          В то время все писали 3D-движки с нуля, потому что другого способа не было. Но сегодня написание логики 3D-рендеринга с нуля скорее всего окажется плохой идеей. Очень плохой. Почти как изобретение колеса! При наличии огромного количества 3D-движков и библиотек, намного более хорошо протестированных и оптимизированных, чем то, что вы можете сделать сами, нет никаких причин для разумного разработчика начинать писать собственный движок.

          Если только…

          Представьте, что вы можете вернуться в машине времени назад в 90-е, когда ещё не было OpenGL и DirectX, не было видеопроцессоров. Всё что у вас есть — ЦП и экран, заполненный пикселями. Вам всё придётся писать самому.

          Если эта идея кажется вам интересной, то вы не одиноки: это именно то, что можно сделать на такой выдуманной консоли, как TIC-80.
          Читать дальше →
        • Приглашение на Meetup по компьютерному зрению в Avito, 28 октября

            Мы рады пригласить вас на встречу специалистов по анализу данных, которая пройдет в московском офисе Avito 28-го октября. Митап посвящен компьютерному зрению. Вы сможете узнать о передовых достижениях в задачах распознавания лиц и сегментации изображений, о real-time адаптации нейросетевых и классических алгоритмов, а также мы представим наш сервис — AvitoNet. Подробная программа и ссылка на регистрацию под катом.


            Читать дальше →
            • +18
            • 3,1k
            • 2
          • Смена пола и расы на селфи с помощью нейросетей


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

              Читать дальше →
            • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

              Подробнее
              Реклама
            • На пути к естественному интеллекту

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

                image

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

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

                Но статья, скорее, не про это. Статья про специалистов по машинному обучению. Про бум специальности, про то, какие люди начинают приходить, как из единого, общего массива специалистов начинают вырисовываться профессии, про то, как сейчас решать ML-задачи.
                Читать дальше →
              • Ежемесячная рубрика «Читаем статьи за вас». Сентябрь 2017


                  Привет, Хабр! Мы продолжаем нашу традицию и снова выпускаем ежемесячный набор рецензий на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество ODS!


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

                  Читать дальше →
                • OpenCV. Поиск дорожных знаков методом контурного анализа в Android

                  • Tutorial
                  Привет Хабр!

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

                  Почему контурный анализ?

                  Контурный анализ имеет довольно слабую устойчивость к помехам, но простота и быстродействие позволили вполне успешно применить данный подход.



                  Однако, на практике оказалось довольно непросто реализовать поиск нужных коэффициентов на платформе Android (Виджеты OpenCV применять не пробовал, вместо этого разделил экран на фреймы, где слева настройки, справа видеопоток с задней камеры). Конкретная реализация UI и логики проекта доступна по ссылке внизу.
                  Читать дальше →
                • Распознавание дорожных знаков с помощью CNN: Spatial Transformer Networks

                    Привет, Хабр! Продолжаем серию материалов от выпускника нашей программы Deep Learning, Кирилла Данилюка, об использовании сверточных нейронных сетей для распознавания образов — CNN (Convolutional Neural Networks).

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

                    Spatial Transformer Network (STN) — один из примеров дифференцируемых LEGO-модулей, на основе которых можно строить и улучшать свою нейросеть. STN, применяя обучаемое аффинное преобразование с последующей интерполяцией, лишает изображения пространственной инвариантности. Грубо говоря, задача STN состоит в том, чтобы так повернуть или уменьшить-увеличить исходное изображение, чтобы основная сеть-классификатор смогла проще определить нужный объект. Блок STN может быть помещен в сверточную нейронную сеть (CNN), работая в ней по большей части самостоятельно, обучаясь на градиентах, приходящих от основной сети.

                    Весь исходный код проекта доступен на GitHub по ссылке. Оригинал этой статьи можно посмотреть на Medium.

                    Чтобы иметь базовое представление о работе STN, взгляните на 2 примера ниже:
                    Слева: исходное изображение. Справа: то же изображение, преобразованное STN. Spatial transformers распознают наиболее важную часть изображения и затем масштабируют или вращают его, чтобы сфокусироваться на этой части.
                    Читать дальше →
                    • +19
                    • 4,5k
                    • 5
                  Самое читаемое