Pull to refresh
28
3
IT-центр МАИ @itmai

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

Send message

Разница между фальшивыми и истинными смещениями в 3D-графике

Reading time12 min
Views19K
image

Bump maps (рельефные текстуры), Normal maps (карты нормалей), Displacement и Vector Displacement — вероятно, вы уже сталкивались хотя бы с одним из этих терминов. Несмотря на то, что о них уже есть много информации, похоже, многие путают их различия и последствия использования разных типов карт. В статье я расскажу о том, какие проблемы могут вызывать эти карты.

Все четыре типа текстур имеют одинаковое предназначение — они позволяют добавить на поверхность модели дополнительные детали, используя для этого разные способы. Эти способы можно разделить на две категории, которые я буду называть истинными смещениями (True Displacements) и фальшивыми смещениями (Fake Displacements). Истинные смещения перемещают вершины, а фальшивые стремятся достичь того же внешнего вида без изменения геометрии. Пока я сосредоточусь только на различиях между двумя категориями, а не буду анализировать каждую карту по отдельности.

image

В общем случае, истинные смещения обеспечивают более чёткие результаты, но сильно увеличивают время рендеринга.
Total votes 19: ↑19 and ↓0+19
Comments4

3D реконструкция лица, или как получить своего цифрового двойника (Часть 1)

Reading time5 min
Views13K

Поговорим о методах 3D восстановления лица человека, которое почти не отличить от фотографий. Тема лицевой 3D реконструкции вот уже 2 года практически не освещается на Хабре. Тем временем область 3D digital human не только не теряет свою актуальность, но и переживает бурный научно-технологический рост. Так что будем регулярно выкладывать обзоры статей и результаты разных методов восстановления 3D-моделей человека по фотографиям.

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

Задачи и разборы экзамена ШАД. Часть вторая — с визуальными приёмами

Reading time10 min
Views6K
Набор в ШАД продолжается, а тем временем мы с Егором Хайруллиным Mikari разобрали ещё несколько задач из письменного экзамена 2019 года (первая часть — здесь). Сначала пробуйте свои силы и постарайтесь решить задачи самостоятельно — например, номер 8 вообще не содержит формул, к решению можно прийти простыми рассуждениями и рисованием на листочке.

Задача 5. Предел и вероятности


Найдите предел:

$ \begin{align*} \lim _{n\to \infty }\sum _{k=n}^{5n}C_{k-1}^{n-1}\left(\frac{1}{5}\right)^n\left(\frac{4}{5}\right)^{k-n} \end{align*} $


Видеоразбор

Разбор текстом и другие задачи
Total votes 11: ↑11 and ↓0+11
Comments0

Методы конструирования тестовых функций

Reading time4 min
Views4.9K
В ходе работы с глобальной оптимизацией, появилась потребность в конструировании многоэкстремальных тестовых функций. Зачастую большинство готовых функций, например из Википедии, не подходят для корректной оценки работы алгоритма. Часть функций являются одноэкстремальными, для таких примеров больше подходят алгоритмы локального поиска, другая – относится к овражным. Для глобальной же оптимизации необходимо использовать многоэкстремальные, где экстремумы ощутимо различаются по величине.

Рассмотрим некоторые методы, позволяющие легко конструировать тестовые многоэкстремальные функции, при этом, позволяющие задавать конкретные свойства: метод Фельдбаума, функции на основе гиперболических потенциалов и функции на основе экспоненциальных потенциалов. Кроме перечисленных методов есть гармонические многоэкстремальные функции и различные их комбинации.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments0

Как управлять проектами машинного обучения и data science

Reading time6 min
Views6.7K

Управлять проектами машинного обучения (Machine learning) и data science сложно, поскольку проекты часто носят исследовательский характер, и трудно предсказать, сколько времени потребуется на их завершение. Часто всё начинается с одной идеи, а затем перетекает в новое направление, когда предложенный метод не срабатывает или если предположения относительно данных оказываются неверными.

Построение модели также является длительным процессом (по сравнению с работой в сфере программного обеспечения и аналитики), и data scientist нередко попадает в кроличью нору и тратит месяцы на проект, не имея четких представлений о прогрессе. Еще одно отличие от стандартных практик разработки программного обеспечения заключается в том, что построение модели обычно выполняется всего одним человеком, и это не совсем вписывается в традиционные командные рабочие процессы, такие как Kanban и Scrum.

Я потратил достаточно много времени, изучая существующие рабочие процессы (в основном в Jira) с точки зрения пригодности для управления проектами машинного обучения и data science, но безуспешно. Большая часть информации нацелена на разработку программного обеспечения и фокусируется на Agile методологиях.  Обсуждая этот вопрос с коллегами и друзьями мне не удалось найти ничего, что было бы адаптировано для машинного обучения и data science. Я заметил, что часть коллег пытаются адаптировать свой рабочий процесс к стандартной инженерной практике, в других же случаях, они вообще не пытаются управлять проектами. Последнее особенно проблематично, по причине того, что проекты, которые требуют слишком много времени и замахиваются на слишком большую предметную область, вероятнее всего провалятся.

Поскольку мне не удалось найти подходящее решение, я решил разработать собственную рабочую схему для управления проектами машинного обучения и data science. Данный процесс может быть реализован в Jira и позволяет мне легко отслеживать статус проектов, вести отчетность, а также не давать раздуваться предметной области, избегая построения чересчур сложных моделей. У наших исследователей появляется рабочая схема, которая помогает им в построении модели, что повышает их успехи в проекте. Я пользуюсь этой системой уже несколько лет, и мы с моей командой очень довольны ею.

Читать далее
Total votes 10: ↑7 and ↓3+4
Comments3

Трассировщик лучей с нуля за 100 строчек Python

Reading time16 min
Views24K

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

Примечание: Эта статья ни в коем случае не является полным руководством/объяснением трассировки лучей, поскольку эта тема слишком обширна, а скорее просто введением для любопытствующих.

Читать далее
Total votes 31: ↑29 and ↓2+32
Comments14

3D Говорящие Головы. Третий проект центра разработки Intel в России

Reading time14 min
Views4.3K

Согласно известной шутке все мемуары в книжных магазинах должны располагаться в разделе «Фантастика». Но в моём случае это и правда так! Давным-давно в далёкой-далёкой галактике в российском центре разработки Intel мне довелось участвовать в реально фантастическом проекте. Проекте настолько удивительном, что я хочу воспользоваться своим служебным положением редактора блога Intel в личных целях, и в рамках цикла «20 лет – 20 проектов» рассказать про эту работу.
3D Talking Heads (Трехмерные Говорящие Головы) – это показывающий язык и подмигивающий бронзовый бюст Макса Планка; обезьянка, в реальном времени копирующая вашу мимику; это 3D модель вполне узнаваемой головы вице-президента Intel, созданная полностью автоматически по видео с его участием, и еще много всего… Но обо всём по порядку.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments5

Осваиваем компьютерное зрение — 8 основных шагов

Reading time3 min
Views105K
Привет, читатель.

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

image

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

Total votes 40: ↑35 and ↓5+30
Comments10

Шаблон диссертации в LaTeX

Reading time1 min
Views58K
Недавно я начал нелёгкое дело по вёрстке диссертационной работы в LaTeX-е. Естественным первым желанием было найти какой-нибудь готовый шаблон. Увы, я не нашёл ничего, что подходило бы под мои нужны. Поэтому я решил сделать свой шаблон (с преамбулой и макрокомандами)! Сразу скажу по поводу соответствия шаблона ВАК-овским требованиям: строгих требований нет (можете сами посмотреть список нормативных документов). Однако определённые требования могут быть у конкретного совета (но они, как правило, весьма похожи и соответствуют здравому смыслу). В своём шаблоне я постарался учесть общие тенденции в оформлении такого рода работ. Не буду приводить кучу технических особенностей вёрстки в LaTeX (на эту тему и так хватает статей), а просто поделюсь готовым результатом: GitHub.
Почитать о содержимом шаблона
Total votes 67: ↑65 and ↓2+63
Comments62

Как я рисую иллюстрации для конспектов по математике в Inkscape

Reading time8 min
Views41K
В прошлой статье я рассказал, как пишу конспекты по математике на LaTeX в Vim. В этой статье покажу, как создаются рисунки для этих конспектов с помощью Inkscape, а также расскажу о своём самодельном менеджере горячих клавиш.

Некоторые примеры


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

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

OpenCV в Python. Часть 3

Reading time4 min
Views48K

Привет, Хабр! Это продолжение туториала по библиотеке opencv в python. Для тех кто не читал первую и вторую части, сюда: Часть 1 и Часть 2, а всем остальным — приятного чтения!


Читать дальше
Total votes 7: ↑7 and ↓0+7
Comments15

Как превратиться в суперзвезду Zoom-звонков за 15 минут

Reading time10 min
Views40K

Я работаю продакт-менеджером двух команд в Wrike на удалёнке и каждую неделю провожу примерно 20 часов на созвонах. В таких условиях контекст часто теряется из-за отсутствия физического контакта, а если ещё и камера так себе, то вместо лица человека видишь «кашу» без эмоций. Особенно обидно видеть тренинги или выступления именитых спикеров со стандартной камерой в тёмной комнате на фоне обоев, в то время как стоимость подобных тренингов  в разы превышает стоимость нормального оборудования. 

Я решил использовать свой опыт фотографирования и работы со светом и потратить время, чтобы улучшить свои Zoom-звонки «по-быстрому». И теперь хочу научить этому вас! В этой статье попробуем разобраться, какие технические средства можно использовать, чтобы онлайн-встреча напоминала встречу вживую и радовала и вас, и собеседника.

Читать далее
Total votes 99: ↑91 and ↓8+116
Comments133

Эксперименты с тиграми и другие способы преподавать программирование студентам, которым скучно

Reading time16 min
Views14K
image

Привет, Хабр! Я Маша, старший инженер-разработчик iOS в КРОК и аспирант на кафедре Прикладной математики и Искусственного интеллекта в московском вузе. А еще я уже четыре года преподаю. Два года назад мы с коллегами с кафедры, преимущественно аспирантами, основали кружок спортивного программирования, который вырос в большое IT-коммьюнити в стенах универа, где мы делимся разного рода знаниями со студентами.

В рамках этой затеи мы решили улучшить процессы обучения дисциплинам Computer Science (до чего дотянулись). К нему у всех уже было много вопросов.

Первый ужас я испытала на первом же занятии со студентами. Одна группа не могла привести ДНФ в КНФ, другая — не смогла даже общим усилием воли вспомнить таблицу истинности для конъюнкции и дизъюнкции. Третья — не понимала как программно устроены списки (это у нас проходят годом ранее). А потом я вспомнила себя — про мой курс преподы говорили то же самое. И про курсы до нас, и про курсы после меня. И школьную учительницу Ольгу Николаевну вспомнила: «В этом году класс еще слабее, чем в прошлом — если так пойдет и дальше, вернемся к жизни на деревьях!». В школе мне казалось, что это такой изощренный педагогический прием, который должен подхлестнуть нас учиться усерднее чтобы «доказать, что мы лучше чем кажется». Ошибалась.

Решили мы с коллегами порефлексировать — а почему так происходит? Результаты, наши грабли и опасные эксперименты с тигром под катом!
Читать дальше →
Total votes 62: ↑56 and ↓6+65
Comments126

В IT-образовании не работают лекции. Давайте это признаем и начнем учиться правильно

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

Второе — в этом мире отменили армию.

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


Читать дальше →
Total votes 85: ↑67 and ↓18+67
Comments325

10 интересных репозиториев на GitHub, полезных любому разработчику

Reading time4 min
Views83K
Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО.


Фото с ресурса Unsplash. Автор: Vishnu R Nair

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

Каждый из них имеет множество звезд на GitHub, что только подтверждает их популярность, актуальность и полезность. Одни репозитории научат вас чему-то новому, благодаря другим вы сможете создать какие-то классные штуки. В целом, используя их, можно основательно прокачать навык разработки программного обеспечения.
Читать дальше →
Total votes 69: ↑64 and ↓5+78
Comments14

Как создавать красивые карты с помощью Python

Reading time4 min
Views23K
Мне всегда нравились карты городов, и несколько недель назад я решил создать свою собственную, художественную версию. Немного погуглив, я обнаружил крутое руководство, написанное Фрэнком Себальосом. Оно увлекательно и полезно, но я предпочитаю более подробные/реалистичные карты-схемы. Из-за этого я решил создать свою собственную версию карт. Итак, давайте посмотрим, как мы можем создавать красивые карты с помощью Python и данных OpenStreetMap.

Приятного чтения!
Total votes 20: ↑17 and ↓3+21
Comments11

Что такое фильтр Блума?

Reading time9 min
Views43K

Всем привет! В этой статье я постараюсь описать, что такое фильтр Блума, рассказать о его назначении и показать сценарии, в которых его можно использовать. Я также реализую фильтр Блума на Python с нуля в целях облегчения понимания его внутреннего устройства.

Фильтр Блума. Что это?
Total votes 17: ↑16 and ↓1+22
Comments22

Как скомпилировать Python

Reading time10 min
Views58K

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

Я хочу рассказать об удивительном событии, о котором я узнал пару месяцев назад. Оказывается, одна популярная python-утилита уже более года распространяется в виде бинарных файлов, которые компилируются прямо из python. И речь не про банальную упаковку каким-нибудь PyInstaller-ом, а про честную Ahead-of-time компиляцию целого python-пакета. Если вы удивлены так же как и я, добро пожаловать под кат.

Читать дальше
Total votes 24: ↑23 and ↓1+30
Comments28

Ускоряем код на Python с помощью Nim

Reading time3 min
Views7.7K

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

Читать далее
Total votes 13: ↑11 and ↓2+9
Comments18

Нейродайджест: главное из области машинного обучения за январь 2021

Reading time6 min
Views4.4K


12 выпусков позади, значит пора немного поменять название и оформление, но внутри вас всё так же ждут исследования, демонстрации, открытые модели и датасеты. Встречайте новый выпуск подборки материалов о машинном обучении.
Читать дальше →
Total votes 14: ↑13 and ↓1+15
Comments3

Information

Rating
1,182-nd
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity