• Создание шейдера травы в движке Unity

    • Translation

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

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

    Готовый проект выложен в конце статьи. В созданном файле шейдера содержится большое количество комментариев, упрощающих понимание.
    Читать дальше →
    • +47
    • 13.5k
    • 4
  • Data Science Digest (May 2019)



      Хабр, привет!

      В прошлом выпуске я рассказывал, что для дайджеста запустил Telegram-канал, а сегодня хочу поделиться новостью, что также завел для него страницы в facebook, twitter, LinkedIn. Приглашаю всех присоединяться к ним.

      Кроме этого сегодня мы опубликовали дайджест на Product Hunt, кто знает, что это — те в курсе, что необходимо делать ;)

      А пока предлагаю свежую подборку материалов под катом.
      Читать дальше →
    • Написание шейдеров в Unity. GrabPass, PerRendererData

      Привет! Я хотел бы поделиться опытом написания шейдеров в Unity. Начнем с шейдера искажения пространства (Displacement/Refraction) в 2D, рассмотрим функционал, используемый для его написания (GrabPass, PerRendererData), а также уделим внимание проблемам, которые обязательно возникнут.

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


      Читать дальше →
      • +53
      • 18.1k
      • 8
    • Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 1 — 14

      Некоторое время назад в моей ленте в фейсбуке всплыла ссылка на книгу Эндрю Ына (Andrew Ng) "Machine Learning Yearning", которую можно перевести, как "Страсть к машинному обучению" или "Жажда машинного обучения".


      image<img src="<img src="https://habrastorage.org/webt/ds/rc/ct/dsrcctfottkedkf7o1hxbqsoamq.png" />" alt="image"/>


      Людям, интересующимся машинным обучением или работающим в этой сфере представлять Эндрю не нужно. Для непосвященных достаточно сказать, что он является звездой мировой величины в области искусственного интеллекта. Ученый, инженер, предприниматель, один из основателей Coursera. Автор отличного курса по введению в машинное обучение и курсов, составляющих специализацию "Глубокое обучение" (Deep Learning).

      Читать дальше →
      • +40
      • 33.3k
      • 3
    • Принцип работы свёрточной нейронной сети. Просто о сложном

      • Translation
      Глубокие нейронные сети привели к прорыву во множестве задач распознавания образов, таких как компьютерное зрение и распознавание голоса. Сверточная нейронная сеть один из популярных видов нейронных сетей.

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


      2D Свёрточная нейронная сеть
      Читать дальше →
    • Топливо для ИИ: подборка открытых датасетов для машинного обучения


        Связанные проекты сообщества Open Data (проект Linked Open Data Cloud). Многие датасеты на этой диаграмме могут включать в себя данные, защищенные авторским правом, и они не упоминаются в данной статье


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


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


        Мы разобрались в этом вопросе и собрали данные по датасетам, удовлетворяющим критериям открытости, востребованности, скорости работы и близости к реальным задачам.

        Читать дальше →
      • Материалы летней школы Deep|Bayes по байесовским методам в глубинном обучении


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


          Многие современные исследовательские статьи активно используют байесовский формализм в сочетании с глубокими нейросетями, приходя к интересным результатам. Мы – исследовательская группа BayesGroup с помощью наших друзей из Сколтеха, а так же при поддержке Высшей Школы Экономики, Сбербанка, Яндекса, Лаборатории Касперского, JetBrains и nVidia – решили поделиться накопленным опытом и устроить летнюю школу по байесовским методам в глубинном обучении Deep|Bayes, где подробно рассказать, что такое байесовские методы, как их комбинировать с глубинным обучением и что из этого может получиться.


          Отбор на школу оказался весьма сложным занятием – мы получили более 300 заявок от сильных кандидатов, но вместить смогли только 100 (приятно, что среди участников были не только жители Москвы и Петербурга, но и студенты из регионов, а так же русскоговорящие гости из-за границы). Пришлось отказать многим сильным кандидатам, поэтому для смягчения этого прискорбного факта мы решили сделать доступными максимальное количество материалов, которыми и хотим поделиться с хабраюзерами.

          Читать дальше →
          • +63
          • 22.2k
          • 5
        • 1 сентября – день знаний. Узнайте всё необходимое про нейронные сети

            Друзья!

            Мы поздравляем всех наших подписчиков с днем знаний и желаем, чтобы знаний было больше, их приобретение – интересным, а сами знания – более полезными.

            Чтобы воплотить эти пожелания в жизнь, мы предлагаем вашему вниманию видеозапись курса «Однодневное погружение в нейронные сети», который мы провели летом в рамках закрытой школы DevCon. Этот курс позволит за несколько часов погрузиться в тему нейронных сетей и «с нуля» научиться использовать их для распознавания изображений, синтеза речи и других интересных задач. Для успешного освоения курса будут полезны умение программировать на Python и базовые знания математики. Материалы курса и заготовки для практических заданий доступны на GitHub.


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

              Более двух миллиардов устройств работает на Android — крупнейшей мобильной платформе в мире. Последние девять лет мы работали над созданием широкого набора инструментов, фреймворков и API, благодаря которым продукты разработчиков становятся доступными каждому. Сегодня мы запускаем превью версию нового SDK (набора средств для разработки программного обеспечения) — ARCore. Это позволит применять технологию дополненной реальности на уже существующих и новых устройствах Android. Разработчики могут начать экспериментировать с ARCore уже сейчас.


              Читать дальше →
              • +14
              • 33.4k
              • 6
            • Можно ли заменить Adobe Premiere и Sony Vegas бесплатными видеоредакторами?

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

                Штука в том, что определение «профессиональности» довольно расплывчатое, и какой именно при этом подразумевается функционал неясно. Захотелось выяснить, в чём же всё-таки хороши бесплатные аналоги, и можно ли ими заменить программы стоимостью в несколько десятков тысяч рублей. Забегая вперед, скажем, что получилась ситуация почти как по Гоголю:
                Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому ещё дородности Ивана Павловича
                Другими словами, идеальный инструмент найден не был, но у каждого нашлась, как минимум, одна фича, не уступающая тому, что предоставлено в профессиональных видеоредакторах.

                Читать дальше →
              • Домашнее задание от МТИ: пишем нейросеть для манёвров в дорожном трафике



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

                  • Translation


                  Введение


                  Свёрточные нейронные сети (СНС). Звучит как странное сочетание биологии и математики с примесью информатики, но как бы оно не звучало, эти сети — одни из самых влиятельных инноваций в области компьютерного зрения. Впервые нейронные сети привлекли всеобщее внимание в 2012 году, когда Алекс Крижевски благодаря им выиграл конкурс ImageNet (грубо говоря, это ежегодная олимпиада по машинному зрению), снизив рекорд ошибок классификации с 26% до 15%, что тогда стало прорывом. Сегодня глубинное обучения лежит в основе услуг многих компаний: Facebook использует нейронные сети для алгоритмов автоматического проставления тегов, Google — для поиска среди фотографий пользователя, Amazon — для генерации рекомендаций товаров, Pinterest — для персонализации домашней страницы пользователя, а Instagram — для поисковой инфраструктуры.


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


                  Задача


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


                  Читать дальше →
                • Я заглянул в приложение Prisma, и вы не поверите, что я там нашёл

                  • Tutorial
                  2016 год ещё не кончился, но продолжает радовать нас крутыми продуктами по обработке изображений. Сначала все болели FaceSwap, потом появился MSQRD, теперь у нас есть Prisma. Ещё больше радости/гордости, конечно, от того, что последние 2 продукта — наши, родные. MSQRD делают ребята из Беларуси, Prisma же вообще родом из Москвы. Логично, что у любого популярного продукта сразу начинают плодитьяся конкуренты. Призме в этом плане повезло больше всех — благодаря стечению некоторых обстоятельств, основным конкурентом призме стали Mail.ru Group, которые почти сразу выпустил аж 2 похожих продукта со схожими функциями: Vinci (от команды vk.com) и Artisto (от команды my.com).



                  А лично мне стало интересно посмотреть на эти «клоны» изнутри. Зачем мне всё это и к каким выводам я пришёл — об это я рассказал на roem.ru, повторяться не вижу смысла. На Хабре же я бы хотел поделиться техникой детального анализа приложений для iOS на примере Prisma.

                  Что нам предстоит? Во-первых, мы узнаем, что есть приложение для iOS и из чего оно состоит, какую информацию можно оттуда извлечь. Во-вторых, я расскажу как снифать траффик client-server приложений, даже если их авторы этого очень сильно не хотят. По факту я не расскажу вам ничего нового, я не придумал никакого ноу-хау, это просто вектор известных техник и умений на приложения. Но будет интересно. Погнали.
                  Читать дальше →
                • Топ-100 статей по машинному обучению и анализу данных

                    Этот пост построен по аналогии с постом «Хабрасливки: золотые посты «Хабрахабра» и Geektimes», но по машинному обучению и анализу данных. Выборку пришлось корректировать вручную, т.к. попали не относящиеся к теме сообщения, имеющие высокие оценки (возможно несколько осталось) и, наоборот, не попали несколько из лучших хаба «Машинное обучение». «Сливки» получились жидкие — самая высокая оценка — 312, самая низкая — 50, поэтому включены посты, не менее 80% голосов за которые положительны, а не 98%.


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

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


                      Читать дальше →
                    • 8 советов для более эффективной работы с Git

                      • Translation

                      Привет, мне показалось хорошей идеей начать переводить не только релизные посты из блога ГитЛаба. Для разминки я взял этот пост почти наугад, так что не судите строго. Буду рад, если поможете определиться с выбором статьи для перевода, выбрав один из вариантов в опроснике




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


                      Читать дальше →
                    • Hello, TensorFlow. Библиотека машинного обучения от Google

                      • Translation
                      • Tutorial

                      tensorflow


                      Проект TensorFlow масштабнее, чем вам может показаться. Тот факт, что это библиотека для глубинного обучения, и его связь с Гуглом помогли проекту TensorFlow привлечь много внимания. Но если забыть про ажиотаж, некоторые его уникальные детали заслуживают более глубокого изучения:


                      • Основная библиотека подходит для широкого семейства техник машинного обучения, а не только для глубинного обучения.
                      • Линейная алгебра и другие внутренности хорошо видны снаружи.
                      • В дополнение к основной функциональности машинного обучения, TensorFlow также включает собственную систему логирования, собственный интерактивный визуализатор логов и даже мощную архитектуру по доставке данных.
                      • Модель исполнения TensorFlow отличается от scikit-learn языка Python и от большинства инструментов в R.

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


                      Как работает TensorFlow? Давайте попробуем разобраться, посмотреть и понять, как работает каждая часть. Мы изучим граф движения данных, который определяет вычисления, через которые предстоит пройти вашим данным, поймем, как тренировать модели градиентным спуском с помощью TensorFlow, и как TensorBoard визуализирует работу с TensorFlow. Наши примеры не помогут решать настоящие проблемы машинного обучения промышленного уровня, но они помогут понять компоненты, которые лежат в основе всего, что создано на TensorFlow, в том числе того, что вы напишите в будущем!

                      Читать дальше →
                    • Гоночный FPV-дрон своими руками (часть 1) — сборка

                      • Tutorial
                      Сегодня популярность гонок на дронах стремительно растёт. Любительские полетушки перерастают в серьёзные международные соревнования, а количество людей, вовлечённых в это хобби, растёт в прогрессии. Я сам недавно собрал FPV-квадрокоптер 180-го размера (расстояние в мм между осями моторов по диагонали) и спешу поделиться этим опытом.



                      Читать дальше →
                    • [PF] Печать PDF под .NET, векторный подход, практика

                      • Tutorial

                      Как и обещал, продолжаю тему(раз, два) управляемой печати PDF из под .NET в векторном формате. О теоретических аспектах работы с PCL я рассказал в предыдущей статье, настало время разобрать программу для вывода на принтер PDF файла в векторе. Наше приложение будет полезно, например, когда нужно распечатать пачку многостраничных бланков или анкет на бумаге разных цветов и разной плотности. Если мы научимся управлять лотками принтера, избавим себя от ручного прокладывания страниц ;) В шаблоне будет указан номер лотка, из которого принтер заберет бумагу для текущей страницы. Причем шаблон будет применяться к документу циклически: если в документе 32 страницы, а в шаблоне 4, то шаблон повторится 8 раз для Simplex режима и 4 раза для Duplex.
                      Читать дальше →
                    • Как собеседовать технического специалиста

                      • Tutorial

                      Какая-то «не здоровая пьянка» пошла последнее время на хабре про собеседования. Люди, хватит уже, нет ничего страшного и особенного в собеседованиях, я уже несколько лет провожу их с IT-шниками, и в 95% случаев это адекватные и приятные люди. Потому хочу поделиться с вами «дзеном» о том, как лучше проводить именно техническое собеседование, да и вообще оценивать навыки тех. специалистов, так как вопрос оценки компетентности технического специалиста может быть довольно сложным, особенно если вы не хотите проводить собеседование на 3 часа к ряду. С данной моделью вы вполне можете уложить тех. собеседование в 40-50 минут (а то и быстрее) и быть уверенным в решении на 80-90%. Если про оценку эмоционального интеллекта, базовой мотивации и просто уровня адекватности, информации довольно много, то вот про то, как эффективно оценивать технические навыки специалиста, зачастую, «кто в лес, кто по дрова». Данная статья может быть также полезна и тем, кто просто хочет эффективно расти как специалист, потому как именно их знания и рассматриваются.
                      Читать дальше →