• Deep Learning, теперь и в OpenCV



      Данная статья является кратким обзором возможностей dnn — модуля OpenCV, предназначенного для работы с нейросетями. Если вам интересно, что это такое, что оно умеет и как быстро работает, добро пожаловать под кат.
      Читать дальше →
    • Пару слов о распознавании образов

      • Tutorial
      Давно хотел написать общую статью, содержащую в себе самые основы Image Recognition, некий гайд по базовым методам, рассказывающий, когда их применять, какие задачи они решают, что возможно сделать вечером на коленке, а о чём лучше и не думать, не имея команды человек в 20.
      image

      Какие-то статьи по Optical Recognition я пишу давненько, так что пару раз в месяц мне пишут различные люди с вопросами по этой тематике. Иногда создаётся ощущение, что живёшь с ними в разных мирах. С одной стороны понимаешь, что человек скорее всего профессионал в смежной теме, но в методах оптического распознавания знает очень мало. И самое обидное, что он пытается применить метод из близрасположенной области знаний, который логичен, но в Image Recognition полностью не работает, но не понимает этого и сильно обижается, если ему начать рассказывать что-нибудь с самых основ. А учитывая, что рассказывать с основ — много времени, которого часто нет, становится всё ещё печальнее.
      Распознать
    • Обзор топологий глубоких сверточных нейронных сетей

        Это будет длиннопост. Я давно хотел написать этот обзор, но sim0nsays меня опередил, и я решил выждать момент, например как появятся результаты ImageNet’а. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в лучших традициях кэгла является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже выжали все что можно? Или NVidia слишком задрала цены на GPU и тем самым тормозит развитие ИИ? Зима близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

        Читать дальше →
      • Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан

          Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали стилизацию видео, т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения, и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с прошлым постом перед прочтением этого материала и вообще с основами сверточных нейронных сетей. Вас ждет немного формул, немного кода (примеры я буду приводить на Theano и Lasagne), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.


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

          • Tutorial
          image

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

            Generative adversarial networks (GAN) пользуются все большей популярностью. Многие говорят о них, кто-то даже уже использует… но, как выясняется, пока мало кто (даже из тех кто пользуется) понимает и может объяснить. ;-)
            Давайте разберем на самом простом примере, как же они работают, чему учатся и что на самом деле порождают.
            Читать дальше →
          • Фальшивомонетчики против банкиров: стравливаем adversarial networks в Theano

              image
              Вы бы никогда не подумали, но это прогулка по пространству нейросети-фальшивомонетчика. Сделано крутейшими людьми Anders Boesen Lindbo Larsen и Søren Kaae Sønderby

              Допустим, у нас есть задача — понять окружающий мир.
              Давайте для простоты представим, что мир — это деньги.

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

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

              Ну, раз так, давайте попробуем их подделать.
              Осторожно, тяжелые гифки
            • LIFT: Learned Invariant Feature Transform

                image


                Введение


                В последние годы вездесущие нейронные сети находят все больше и больше применений в различных областях знаний, вытесняя классические алгоритмы, использовавшиеся многие годы. Не стала исключением и область компьютерного зрения, где год за годом все больше и больше задач решаются при помощи современных нейронных сетей. Настало время написать об еще одном павшем бойце в войне "Традиционное зрение vs. Глубокое Обучение". Долгие годы на задаче поиска локальных особенностей изображений (так называемых ключевых точек) безраздельно властвовал алгоритм SIFT(Scale-invariant Feature Transform), предложеный в далеком 1999 году, многие сложили головы в попытках превзойти его, но удалось это лишь Deep Learning'у. Итак, встречайте, новый алгоритм поиска локальных особенностей — LIFT (Learned Invariant Feature Transform).

                Читать дальше →
              • Kaggle: Британские спутниковые снимки. Как мы взяли третье место


                  Сразу оговорюсь, что данный текст — это не сухая выжимка основных идей с красивыми графиками и обилием технических терминов (такой текст называется научной статьей и я его обязательно напишу, но потом, когда нам заплатят призовые $20000, а то, не дай бог, начнутся разговоры про лицензию, авторские права и прочее.) (UPD: https://arxiv.org/abs/1706.06169). К моему сожалению, пока устаканиваются все детали, мы не можем поделиться кодом, который написали под эту задачу, так как хотим получить деньги. Как всё утрясётся — обязательно займемся этим вопросом. (UPD: https://github.com/ternaus/kaggle_dstl_submission)

                  Так вот, данный текст — это скорее байки по мотивам, в которых, с одной стороны, всё — правда, а с другой, обилие лирических отступлений и прочей отсебятины не позволяет рассматривать его как что-то наукоемкое, а скорее просто как полезное и увлекательное чтиво, цель которого показать, как может происходить процесс работы над задачами в дисциплине соревновательного машинного обучения. Кроме того, в тексте достаточно много лексикона, который специфичен для Kaggle и что-то я буду по ходу объяснять, а что-то оставлю так, например, вопрос про гусей раскрыт не будет.
                  Читать дальше →
                • Детекторы углов

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

                    • Введение
                    • Свойства особых точек
                    • Детекторы углов
                      • Moravec
                      • Harris
                      • Shi-Tomasi
                      • Förstner
                      • SUSAN
                      • Trajkovic
                      • FAST
                      • CSS
                      • Детектор, основанный на глобальных и локальных свойствах кривизны
                      • CPDA
                    • Выводы



                    Читать дальше →
                  • Конкурс Apps4Russia 2014. Открытые данные и «понятность» языка, денег и правил

                      Так неслучайно сложилось что вот уже 4-й раз, начиная с 2011 года, мы проводим конкурс приложений Apps4Russia.
                      Мы — это некоммерческое партнерство «Информационная культура» созданное как раз ради этого конкурса и занимающееся продвижением открытых данных, краудсорсинга и открытостью государства как такового.


                      Краткая история


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

                      И вот, последние 3 года мы проводили соревнование именно на открытых данных. Данных опубликованных государством, бизнесом, в виде больших общественных проектов и даже нами самими.

                      А в этом году, мы решили немного изменить “правила игры” и основной упор конкурса делается на понятные приложения — то есть на те приложения, которые помогут гражданам сделать их жизнь более прозрачной и понятной.

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

                      Номинации


                      Всего у нас 4 номинации.
                      Читать дальше →
                    • Клавиатуры: раздельные, с ровными колонками и разворотом половин

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

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

                        Для затравки КДПВ.



                        Сначала расскажу о старых клавиатурах такого типа, включая Apple, IBM и NEC, не доживших до нашего времени, потом о более-менее современных, а потом о новой волне, в том числе отечественном движении.

                        Нажимая сюда, я готов загрузить очень много картинок разом
                      • Здравствуй, %habrauser%! Давай знакомиться!

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



                          Читать дальше →
                        • Краткий обзор 6 бюджетных колесных платформ для роботов с Ebay

                            Доброго времени суток.

                            Совсем недавно я считал, что сделать робота — это дорого. Ну, не так чтобы миллион, но тысяч 5-10 точно. Именно поэтому я не думал в этом направлении и даже не рассматривал такую возможность — создать что-то движущееся и реагирующее на внешний мир. Однако, после вот этого топика roboforum.ru/forum88/topic2214.html мое представление изменилось и я загорелся идеей.

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

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

                            Платформа из игрушек за 300 рублей


                            image

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

                            Минусы: Хлипкость конструкции, пластик, необходимость продумать основу для управляющей платы, непонятные моторы, неизвестные параметры редукторов, отсутствие нормальных креплений для датчиков.
                            Читать дальше →
                          • Hello Ruby, или как научить ребенка программировать?

                              Добрый день,

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

                              Вопрос №1. Какой из языков, по вашему мнению, лучше других подходит для целей обучению детей программированию?
                              Читать дальше →
                            • Микрон: Чуть детальнее о производстве 65нм микросхем в России

                                Вчера все отечественные сайты облетела новость о том, что в России Микроном разработана технология производства микросхем по нормам 65нм (или даже «В России выпущены первые 65-нм микросхемы»). Ранее Микрон имел лицензированную у STMicroelectronics технологию 90нм. Попробуем чуть детальнее разобраться, как там обстоят дела.

                                Микрон на этот раз на удивление опубликовал достаточно много информации. На фотографиях — разметка одного тестового транзистора и фотографии сделанные электронным микроскопом. Под катом — посмотрим, как это можно было сделать и сравним с Intel 65nm.
                                Читать дальше →
                              • Куда летят мультикоптеры? Дорожная карта технологий

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

                                  image

                                  При организации сетей или роев (swarm) мультикоптеров эти функции могут выполняться очень эффективно.
                                  Например, скоординированные усилия позволят транспортировать груз, который не под силу поднять одному устройству. Или другой пример, распределенный рой может одновременно собирать информацию и передавать ее по принципу peer-2-peer сетей.
                                  Интересно, что их ждет в будущем. Попробую ответить на этот вопрос, пользуясь данными для беспилотных летательных аппаратов.
                                  Читать дальше →
                                • Измерение тока в домашней сети

                                  Существует целый класс устройств под названием Ethernet Relay, которые позволяют удаленно управлять подключенной нагрузкой через сеть. Большинство из них достаточно дорогие – ближе к 100 долл., и заведомо уступают по цене и по гибкости настройки связке, скажем, Raspberry Pi + PiFace. А что если задача не только включать-выключать нагрузку, но и измерять протекающий ток? Для этого требуется собственно датчик (на шунте или эффекте Холла) и АЦП (Raspberry Pi не содержит встроенного АЦП). В качестве датчика можно взять недорогой ACS712, а в качестве АЦП, например, ADC-Pi.

                                  ADC-Pi мне не понравился по двум причинам:
                                  • при той частоте измерений, которая требуется для определения силы переменного тока в сети, этот АЦП дает очень большую погрешность (скорее всего я до конца не разобрался с регистрами)
                                  • используя этот АЦП в связке с Raspberry Pi под Linux сложно обеспечить необходимую стабильность периода измерений. Устанавливать и настраивать RTOS Linux только для этой задачи мне показалось слишком сложным предприятием, тем более что есть более простое и проверенное решение: Arduino

                                  У всех Arduino уже есть АЦП (8-битный, но этого вполне достаточно), скетчи для Arduino исполняются с необходимой стабильностью, для связи с Raspberry Pi есть различные варианты, самый простой из которых – USB кабель. Ну и конечно, привлекательная цена.
                                  Читать дальше →
                                • COOLRF: правильный выбор розеток и выключателей умного дома



                                    Какими качествами должны обладать розетки и выключатели умного дома? Они должны быть недорогими, симпатичными внешне, иметь минимальные размеры «в глубину» и уметь работать в «кнопочном» режиме (подобно стандартной кнопке звонка). Найти один такой выключатель в серии какого-нибудь производителя — задача не из легких. Найти серию таких выключателей — задача из области фантастики. Но и фантастика иногда случается. Сегодня мы познакомим вас с розетками и выключателями LK60, которые прекрасно подойдут для инсталляции встраиваемых модулей COOLRF. Под катом довольно много фотографий (трафик!).
                                    Читать дальше →
                                  • Cicada 3301: секретное сообщество хакеров или просто игра?

                                    Вот уже на протяжении трех лет таинственная сетевая организация ставит перед любителями головоломок непростые задачки по взлому шифров. Что же такое Cicada 3301 — просто онлайновая игра, приглашение в ряды подпольных хакерских групп или отбор талантливых кандидатов в спецслужбы?

                                    Всё началось 4 января 2012 года, когда посетители всем известного 4chan обнаружили пост с картинкой, представлявшей собой белый печатный текст на чёрном фоне.
                                    Так что же гласил текст?