Search
Write a publication
Pull to refresh
39
0
Send message

Нейросеть AttnGAN рисует объекты по частям, используя векторное пространство не только предложений, но и слов

Reading time3 min
Views11K

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

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

Последние разработки исследователей в этой области основаны на генеративно-состязательных сетях (GAN). Общим подходом является перевод всего текстового описания в глобальное векторное пространство предложений (global sentence vector). Такой подход демонстрирует ряд впечатляющих результатов, но у него есть главные недостатки: отсутствие чёткой детализации на уровне слов и невозможность генерации изображений высокого разрешения. Группа разработчиков из Лихайского университета, Ратгерского университета, Университета Дьюка (все — США) и компании Microsoft предложили своё решение проблемы: новая нейросеть Attentional Generative Adversarial Network (AttnGAN) представляет собой улучшение традиционного подхода и позволяет многоступенчато изменять сгенерированное изображение, меняя отдельные слова в текстовом описании.
Читать дальше →

Туториал по Unreal Engine. Часть 8: Системы частиц

Reading time11 min
Views58K
image

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

В Unreal Engine 4 есть надёжная и удобная система под названием Cascade для создания эффектов частиц. Эта система позволяет создавать модульные эффекты и легко управлять поведением частиц.

В этой части туториала вы научитесь следующему:

  • Создавать системы частиц
  • Задавать скорость и размер частиц
  • Изменять частоту спауна частиц
  • Масштабировать размер частиц в течение срока их существования с помощью кривых
  • Задавать цвет частиц с помощью Cascade
  • Активировать и деактивировать систему частиц с помощью Blueprints
  • Задавать цвета частиц с помощью Blueprints
Читать дальше →

Как я написал игру за 6 дней

Reading time7 min
Views32K
New Year Project


Здравствуйте! Сия статья представляет собой сказ о том, как я решил игру писать за 6 дней до Нового Года, о том, как я это сделал, с какими проблемами столкнулся и как их решил.
Читать дальше →

Обзор нового высокопроизводительного RDP кодека

Reading time3 min
Views64K


Эта статья будет интересна всем, кто часто пользуется RDP для работы или личных нужд. Но особенно полезна она будет, если вы раздумываете над построением VDI инфраструктуры.

Ниже мы поговорим о революции в RDP. Новом высокопроизводительном кодеке h264 AVC444, который пришел на смену AVC420.

Теперь для комфортной работы с 3d моделями, программами рисования и прочими графически сложными системами не требуется ничего, кроме Windows 10 и RDP. Не требуется RemoteFX технология, не требуется профессиональный графический ускоритель вроде Quadro.

Видео сравнения старого RDP и c новым (обратите внимание на загрузку сети)


Youtube сильно жмет видео, четкость заметно падает. Это особенно заметно в играх (ниже), так как там плохое освещение. Поэтому я выложил файлы с видео на Яндекс диск.

Переводим интерфейсы на полсотни языков. Sketch

Reading time7 min
Views10K


Герои сериала «Шерлок»


Привет! Я Алексей Тимин, инженер из команды локализации Badoo. В этом посте я расскажу вам о том, как мы помогаем переводчикам в их нелёгком труде, и о новом Open Source-решении, позволяющем генерировать скриншоты дизайна, подготовленного в Sketch, для разных языков.


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

Читать дальше →

Learn OpenGL. Урок 3.3 — Класс 3D-модели

Reading time12 min
Views43K
OGL3

Класс 3D-модели


Ну что ж, пора закатать рукава и погрузиться в дебри работы с кодом загрузки и преобразования данных Assimp! Задача урока – создать еще один класс, представляющий собой целую модель, содержащую множество полигональных сеток, а также, возможно, состоящую из нескольких подобъектов. Здание с деревянным балконом, башней и, например, плавательным бассейном все равно будет загружено как единая модель. С помощью Assimp мы подгрузим данные и преобразуем их во множество объектов типа Mesh из прошлого урока.
Читать дальше →

Геометрия данных 1. Симплексы и графы

Reading time11 min
Views21K
Звездное небо напоминает, — точки являются фундаментальной абстракцией, основой окружающего пространства.



Введение


Это первая статья серии, посвященной описанию свойств базисов пространств на основе элементов (а не векторов). Базис определяет систему координат — описание элементов пространства в виде набора чисел, характеризующих положение элемента относительно базиса.
Читать дальше →

Oblique frustum. Внутри скошенной пирамиды видимости

Reading time14 min
Views7.5K
Нижеизложенный материал, вероятно, знаком, или даже хорошо известен, программистам, имевшим опыт работы с OpenGL, между тем, я счел уместным напомнить о модели oblique frustum, отчасти наблюдая (и разделяя) интерес читателей Хабра к вопросам OpenGL и в целом трёхмерного моделирования, отчасти из несогласия с позицией некоторых разработчиков вроде «…чтобы это использовать, вовсе не обязательно разбираться в том, как работает матрица проекции», отчасти из уважения и благодарности к Эрику Ленгелу|Eric Lengyel, изобретательная мысль которого обогатила приемы работы в среде OpenGL.

Если в моделируемых вами сценах присутствуют зеркальные отражения, и вы подзабыли или не слышали про «oblique frustum», то возможно, что эта статья не будет для вас бесполезной.

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

Использование Lisp в продакшене

Reading time9 min
Views26K
В Grammarly основа нашего бизнеса — центральный языковой движок — написан на Common Lisp. Сейчас движок обрабатывает более чем тысячу предложений в секунду, масштабируется горизонтально и надежно служит нам в продакшене почти 3 года.

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

Wut Lisp?!!




Вопреки распространенному мнению, Lisp это невероятно практичный язык для создания продакшн систем. Вобще говоря, вокруг нас много Lisp-систем: когда вы ищите авиа-билет на Hipmunk или едете в метро в Лондоне, используются Lisp-программы.
Читать дальше →

Состояние экосистемы Common Lisp на 2015 год

Reading time10 min
Views18K
От переводчика:
Мне часто доводилось слышать, что в Common Lisp библиотеки из 80ых, и других вобще нет, а множество его пользователей представляет собой 3.5 профессоров, работающих над искусственным интеллектом в катакомбах DARPA и не имеющих даже близкого представления о повседневных задач рядового программиста. Данная статья хорошо показывает, что хоть вы и можете наткнуться на старые библиотеки, но использовать стоит лишь современные аналоги, что существующие библиотеки развиваются и постоянно появляются новые.

Автор этой статьи, Fernando Borretti, является активным контрибьютором в экосистему Common Lisp'а, автор более 30 библиотек, большинство из которых предназначены для веб-разработки.

Проходящий мимо читатель получит общее представление о состоянии дел в Common Lisp, интересующийся сможет понять что ему необходимо чтобы попробовать написать код и какие библиотеки взять для пробной задачки, а опытный разработчик узнает о самых последних разработках, поймет, библиотеками в каких направлениях он сможет помочь сообществу и получит несколько советов о том, как отвечать на вопросы новичков, чтобы не убить в них интерес к этой замечательной технологии. Поехали!


Читать дальше →

Введение в Scheme

Reading time8 min
Views32K

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


Часть 1 Введение в Scheme
Часть 2 Углубление в Scheme
Часть 3 Практика IronScheme

Введение


В практике программирования часто возникает потребность в написании небольших скриптов для автоматизации различных административных процессов, тестирования и мониторинга. Так же не редко появляется необходимость встроить какой-либо интерпретатор в приложение или просто создать прототип для проверки идеи. Для этих целей можно использовать различные популярные инструменты JavaScript, Python, Lua, Bash, BAT, PHP и много чего еще. А еще бывает потребность хранить структурированные данные в файлах или передавать по сети, когда речь идет о текстовых форматах обычно используются XML, JSON, CSV, даже KV. Однако несмотря на достоинства и распространенность таких широко известных инструментов меня не оставляла навязчивая идея поиска более гибкого и изящного средства.
Читать дальше →

LLVM: компилятор своими руками. Введение

Reading time14 min
Views59K
Представим себе, что в один прекрасный день вам пришла в голову идея процессора собственной, ни на что не похожей архитектуры, и вам очень захотелось эту идею реализовать «в железе». К счастью, в этом нет ничего невозможного. Немного верилога, и вот ваша идея реализована. Вам уже снятся прекрасные сны про то, как Intel разорилась, Microsoft спешно переписывает Windows под вашу архитектуру, а Linux-сообщество уже написало под ваш микропроцессор свежую версию системы с весьма нескучными обоями.
Однако, для всего этого не хватает одной мелочи: компилятора!
Да, я знаю, что многие не считают наличие компилятора чем-то важным, считая, что все должны программировать строго на ассемблере. Если вы тоже так считаете, я не буду с вами спорить, просто не читайте дальше.
Если вы хотите, чтобы для вашей оригинальной архитектуры был доступен хотя бы язык С, прошу под кат.
В статье будет рассматриваться применение инфраструктуры компиляторов LLVM для построения собственных решений на её основе.
Область применения LLVM не ограничивается разработкой компиляторов для новых процессоров, инфраструктура компиляторов LLVM также может применяться для разработки компиляторов новых языков программирования, новых алгоритмов оптимизации и специфических инструментов статического анализа программного кода (поиск ошибок, сбор статистики и т.п.).
Например, вы можете использовать какой-то стандартный процессор (например, ARM) в сочетании с специализированным сопроцессором (например, матричный FPU), в этом случае вам может понадобиться модифицировать существующий компилятор для ARM так, чтобы он мог генерировать код для вашего FPU.
Также интересным применением LLVM может быть генерация исходных текстов на языке высокого уровня («перевод» с одного языка на другой). Например, можно написать генератор кода на Verilog по исходному коду на С.



КДПВ

Читать дальше →

Мини-система Denon D-M41: возвращение к концепции музыкального центра, Hi-Fi для среднего класса

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



Забегая вперед, отмечу, что этим устройством стал Denon D-M41. В посте подробно расскажу, по какой причине я выбрал именно этот девайс, опишу его особенности, а также почему мини-система стала для меня наиболее подходящим вариантом. Подчеркну, что в своих оценках я был отчасти субъективен, а выводы о качествах девайса следует делать самостоятельно, при личном прослушивании, тестировании. Люди по-разному воспринимают звук и такие отличие могут быть достаточно существенными. Между тем, Denon D-M41 определённо заслуживает внимания.
Читать дальше →

Перекресток. Главы 17 и 18

Reading time32 min
Views3K

0x0010


    Илья получал отчеты аналитического отдела компании после отбора из тысяч игровых примеров наиболее классических, где игра достигала тех задач, которые «Перекресток» считал своей целью.
Читать дальше →

Перекресток. Главы 15 и 16

Reading time11 min
Views4.4K

0x000E


    Штоколов все-таки продержал Даника с Сергеем в приемной на последнем этаже офисного здания, расположенного в центре лондонского Сити на территории так называемой «Квадратной мили», пятнадцать минут. Это здание облюбовали еще несколько инвестиционных компаний, но расположение «Глобал-Инвест» на последнем, верхнем этаже, говорило о том, что Штоколов позиционировал свою как самую крупную из них.
Читать дальше →

Перекресток. Глава 7 и 8

Reading time11 min
Views6.7K

0x0006


    На столе лежали распечатанные листы с расчетами предварительного бизнес-плана, который Илья подготовил, еще не будучи уверенным в том, что все, кого он наметил в команду, согласятся занять в ней свои места. Он распечатал пять экземпляров, с трудом скрывая переполнявшую его будоражащую радость. Распечатал прямо при всех, объяснив стремление увидеть свои расчеты на бумаге, а не на экранах их планшетов, банальным желанием понаблюдать, как они будут делать пометки, черкать и ставить галочки в тех местах, которые будут им непонятны или с которыми они будут не согласны.
Читать дальше →

Куда податься вендору, когда Amazon не по зубам: придумываем торговую площадку для нишевых гаджетов

Reading time6 min
Views12K
Крупные торговые интернет-площадки вполне заслуженно заняли свое место под солнцем, но работа с ними имеет несколько нюансов. Например, Amazon, исходя из своей маркетинговой стратегии, ориентирован, в первую очередь, на привлечение крупных продавцов и производителей. А нам, хомякам, что делать?


Подпись же картинке не нужна, правда?

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

Фактически, чуть ли не каждый второй стартап или небольшое предприятие попадает в порочный круг «прежде чем что-то продавать, нужно это изготовить». Это является классической болезнью любого малого бизнеса, что в конечном итоге приводит к банкротству и прекращению деятельности. Конечно, от подобных телодвижений может уберечь толковый директор по продажам, который подготовит все необходимые «аэродромы», на которые в итоге и «десантируется» ваш продукт, но чаще выходит совершенно иначе. Вложив немало времени, сил и иногда денег, выполнив обязательства перед инвесторами, вы остаетесь с партией никому не нужных устройств, в которых и лежит мертвым грузом прибыль всего предприятия. В подобной ситуации небольшая часть производителей запускает собственные ритейл-площадки на базе своего сайта, а все остальные — идут к Amazon или другим крупным игрокам.

И тут начинается самое неприятное.
Читать дальше →

Перекресток. Главы 13 и 14

Reading time12 min
Views4.3K

0x000C


    Дмитрий Гальперин, застыв в неудобной позе на краешке придвинутого к журнальному столику кресла, следил за передвижением по экрану игелевского «Mac Pro» красного облака. Когда это облако смешалось с другим темно-серым, он хрипло произнес:

    – Это Сашка, мой водитель.
Читать дальше →

learnopengl. Урок 2.6 — Несколько источников освещения

Reading time7 min
Views21K
OGL3

Несколько источников освещения


В предыдущих уроках мы выучили довольно много об освещении в OpenGL. Мы познакомились с моделью освещения по Фонгу, разобрались как работать с материалами, текстурными картами и различными типами источника света. В этом уроке мы собираемся объединить все наши знания, чтобы создать полностью освещенную сцену с 6 активными источниками света. Мы собираемся симулировать солнце как направленный источник освещения, добавим 4 точки света, разбросанные по всей сцене, и конечно мы добавим фонарик.

В предыдущих сериях

Часть 1. Начало

  1. OpenGL
  2. Создание окна
  3. Hello Window
  4. Hello Triangle
  5. Shaders
  6. Текстуры
  7. Трансформации
  8. Системы координат
  9. Камера

Часть 2. Базовое освещение

  1. Цвета
  2. Основы освещения
  3. Материалы
  4. Текстурные карты
  5. Источники света

Читать дальше →

Перекресток. Главы 11 и 12

Reading time11 min
Views4.6K

0x000A


    Сержант Хоулмз Калеб рассматривал лица сидящих перед ним молодых людей. Что такое сорок лет? Это время совершать поступки, определяющие всю оставшуюся жизнь. Такие мысли суетились в его голове наряду с тем, что он слышал в спокойном изложении старшего из них. Он редко ошибался, и в этот раз был уверен: эти ребята попали в переплет не по своей воле, не того они поля ягоды, и ему придется попотеть для того, чтобы распутать это дело. Они – «умники», это видно за километр, и дать им волю для того, чтобы они включились в процесс расследования, будет верным решением.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity