Pull to refresh
1
0
Даниил Быструхин @DanNsk

Пользователь

Send message

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

Reading time25 min
Views27K

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

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

Готовый проект выложен в конце статьи. В созданном файле шейдера содержится большое количество комментариев, упрощающих понимание.
Total votes 53: ↑50 and ↓3+47
Comments5

Data Science Digest (May 2019)

Reading time2 min
Views3.3K


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

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

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

А пока предлагаю свежую подборку материалов под катом.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments5

Написание шейдеров в Unity. GrabPass, PerRendererData

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

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


Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments9

Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 1 — 14

Reading time24 min
Views61K

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


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


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

Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments3

Принцип работы свёрточной нейронной сети. Просто о сложном

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

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


2D Свёрточная нейронная сеть
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments11

Топливо для ИИ: подборка открытых датасетов для машинного обучения

Reading time6 min
Views82K


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


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


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


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

Читать дальше →
Total votes 65: ↑65 and ↓0+65
Comments10

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

Reading time3 min
Views25K

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


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


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

Читать дальше →
Total votes 65: ↑64 and ↓1+63
Comments5

1 сентября – день знаний. Узнайте всё необходимое про нейронные сети

Reading time6 min
Views20K
Друзья!

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

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


Предуведомление: Данные видео представляют собой запись интенсива, рассчитанного в основном на аудиторию, присутствующую в зале. Поэтому видео несколько менее динамичные, чем в онлайн-курсах, и более длинные, не нарезанные на тематические фрагменты. Тем не менее, многие зрители сочли их для себя весьма полезными, поэтому мы и решили поделиться с широкой аудиторией. Надеюсь, возможность узнать что-то новое вызывает у вас такую же неподдельную радость, как у моей дочери на фотографии.
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments0

ARCore: дополненная реальность на Android

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


Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments6

Можно ли заменить Adobe Premiere и Sony Vegas бесплатными видеоредакторами?

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

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

Total votes 41: ↑40 and ↓1+39
Comments83

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

Reading time4 min
Views23K


DeepTraffic — интересная интерактивная игра, поучаствовать в которой может любой желающий, а студенты Массачусетского технологического института (МТИ), которые изучают курс глубинного обучения в беспилотных автомобилях, обязаны показать хороший результат в этой игре, чтобы им засчитали выполненное задание.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments32

Что такое свёрточная нейронная сеть

Reading time13 min
Views267K


Введение


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


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


Задача


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


Читать дальше →
Total votes 91: ↑91 and ↓0+91
Comments74

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

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



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

Что нам предстоит? Во-первых, мы узнаем, что есть приложение для iOS и из чего оно состоит, какую информацию можно оттуда извлечь. Во-вторых, я расскажу как снифать траффик client-server приложений, даже если их авторы этого очень сильно не хотят. По факту я не расскажу вам ничего нового, я не придумал никакого ноу-хау, это просто вектор известных техник и умений на приложения. Но будет интересно. Погнали.
Читать дальше →
Total votes 112: ↑73 and ↓39+61
Comments55

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

Reading time14 min
Views92K

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


Читать дальше →
Total votes 145: ↑141 and ↓4+137
Comments38

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

Reading time3 min
Views46K

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




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


Читать дальше →
Total votes 50: ↑43 and ↓7+36
Comments25

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

Reading time11 min
Views229K

tensorflow


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


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

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


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

Читать дальше →
Total votes 71: ↑68 and ↓3+65
Comments12

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

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



Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments25

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

Reading time13 min
Views6.4K

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

Как собеседовать технического специалиста

Reading time12 min
Views61K

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

80 за 20 — как не надо оптимизировать процессы

Reading time10 min
Views14K
Я написал этот пост отчасти в попытке оправдать перфекционизм, в который иногда впадаю, и отчасти – чтобы пояснить коллегам, о чем я думаю, когда работаю над очередным проектом.

Началось все с простого замечания: две компании, работающие на одном рынке и имеющие одинаковую численность персонала, могут иметь обороты и прибыль, отличающиеся на порядок. Почему так происходит, если, по сути своей, они делают одну и ту же работу? Иногда основное отличие заключаются в том, что кто-то является дочкой крупной госкомпании или умеет хорошо выигрывать тендеры, но, как мне кажется, это только часть объяснения.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments10
1
23 ...

Information

Rating
Does not participate
Location
Wheaton, Illinois, США
Date of birth
Registered
Activity