Pull to refresh
0
0
Send message

Виртуальный квадрокоптер на Unity + OpenCV (Часть 3)

Reading time10 min
Views20K
КПДВ

Всем привет!

Сегодня я хотел бы продолжить серию о том, как подружить Unity, C++ и OpenCV. А также, как получить виртуальную среду для тестирования алгоритмов компьютерного зрения и навигации дронов на основе Unity. В предыдущих статьях я рассказывал о том, как сделать виртуальный квадрокоптер в Unity и как подключить C++ плагин, передать туда изображение с виртуальной камеры и обработать его посредством OpenCV. В этой статье я расскажу как сделать из двух виртуальных камер на квадрокоптере стереопару и как получить карту смещений (disparity map), которую можно использовать для оценки глубины пикселей изображения.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments3

Пишем тактическую игру про цифры под Android

Reading time21 min
Views24K
Когда я только взялся за программирование (3 месяца назад), я быстро понял, что лучше сразу начинать заниматься своими проектами. Невозможно с утра до вечера сидеть за книгами или курсами, но если вы начнете делать что-то свое, то запросто просидите за разработкой с утра до утра.

Эта статья — небольшой туториал по тому, как сделать логическую игру с ботом. Игра будет выглядеть вот так:


*Подробно опишу правила еще раз в разделе про ИИ.

Читателей статьи условно разделяю на три группы.
  1. Начали программировать несколько часов назад.
    Вам будет сложно, лучше предварительно пройдите какой-нибудь небольшой курс по введению в Android-разработку, разберитесь с двумерными массивами и интерфейсами. А потом загрузите проект с гитхаба. Комментарии и эта статья помогут вам разобраться, что и как работает.
  2. Уже умеете программировать, но еще не можете назвать себя опытными.
    Вам будет интересно, потому что вы очень быстро сможете сделать свою игру. Я взял на себя грязную работенку по построению логики игры и ui-составляющей, вам же оставляю творческую часть. Вы можете сделать другой режим игры (2 на 2, онлайн и т.п.), изменить алгоритмы бота, создать уровни и т.д.
  3. Опытные.
    Вам может быть интересно подумать над ИИ — написать его не так легко, как кажется на первый взгляд. Так же я был бы очень рад получить от вас замечания по коду — уверен, далеко не все я сделал оптимально.

Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments8

Нейросеть в 11 строчек на Python

Reading time8 min
Views536K

О чём статья


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

Дайте код!


X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
    l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
    l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
    l2_delta = (y - l2)*(l2*(1-l2))
    l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
    syn1 += l1.T.dot(l2_delta)
    syn0 += X.T.dot(l1_delta)


Слишком сжато? Давайте разобьём его на более простые части.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments17

Векторный, открытый и удобный: Inkscape 0.91

Reading time4 min
Views45K
Давно увлекаюсь векторной графикой, особенно ее созданием, отрисовкой с нуля. Много программ я пробовал, но в основном моим рабочим инструментом был CorelDraw, который меня всем устраивал. Не помню, почему и зачем я начал искать ему альтернативы, но в один прекрасный день я наткнулся на Inkscape. Это была любовь с первого взгляда…

Я все ждал, что на Хабре появится статья-обзор новых возможностей версии Inkscape 0.91, а ее все нет. Решил написать сам, если что не так – не судите строго, пишу редко.

Под катом будет много иллюстративных примеров и технических деталей.

image
Читать дальше →
Total votes 64: ↑62 and ↓2+60
Comments79

Библиотека машинного обучения Google TensorFlow – первые впечатления и сравнение с собственной реализацией

Reading time10 min
Views30K
Coвсем недавно Google сделал доступной для всех свою библиотеку для машинного обучения, под названием TensorFlow. Для нас это оказалось интересно еще и тем, что в состав входят самые современные нейросетевые модели для обработки текста, в частности, обучения типа “последовательность-в-последовательность” (sequence-to-sequence learning). Поскольку у нас есть несколько проектов, связанных с этой технологией, то мы решили, что это отличная возможность перестать изобретать велосипед (наверное пора уже) и быстро улучшить результаты. Представив себе довольные лица клиентов, мы приступили к работе. И вот что из этого получилось…
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments11

Сборка 4-мерного кубика Рубика

Reading time5 min
Views62K
Мы знакомы с головоломкой кубик Рубика, но, проживая в трёхмерном пространстве, трудно представить себе такую в четырёхмерном. Разумеется, Рубик не патентовал четырёхмерных кубиков, и речь идёт лишь о подобии кубика Рубика.

Поэтому сперва я расскажу о том, как я себе представляю четырёхмерную головоломку.


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

Подборка бесплатных инструментов для разработчиков

Reading time28 min
Views186K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Total votes 96: ↑89 and ↓7+82
Comments38

Некоторые репозитории в помощь изучающим и преподающим Python и машинное обучение

Reading time13 min
Views64K


Привет сообществу!

Я Юрий Кашницкий, раньше делал здесь обзор некоторых MOOC по компьютерным наукам и искал «выбросы» среди моделей Playboy.

Сейчас я преподаю Python и машинное обучение на факультете компьютерных наук НИУ ВШЭ и в онлайн-курсе сообщества по анализу данных MLClass, а также машинное обучение и анализ больших данных в школе данных одного из российских телеком-операторов.

Почему бы воскресным вечером не поделиться с сообществом материалами по Python и обзором репозиториев по машинному обучению… В первой части будет описание репозитория GitHub с тетрадками IPython по программированию на языке Python. Во второй — пример материала курса «Машинное обучение с помощью Python». В третьей части покажу один из трюков, применяемый участниками соревнований Kaggle, конкретно, Станиславом Семеновым (4 место в текущем мировом рейтинге Kaggle). Наконец, сделаю обзор попавшихся мне классных репозиториев GitHub по программированию, анализу данных и машинному обучению на Python.

Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments11

Altera + OpenCL: программируем под FPGA без знания VHDL/Verilog

Reading time14 min
Views42K
image

Всем привет!

Altera SDK for OpenCL — это набор библиотек и приложений, который позволяет компилировать код, написанный на OpenCL, в прошивку для ПЛИС фирмы Altera. Это даёт возможность программисту использовать FPGA как ускоритель высокопроизводительных вычислений без знания HDL-языков, а писать на том, что он привык, когда это делает под GPU.

Я поигрался с этим инструментом на простом примере и хочу об этом вам рассказать.

План:

Добро пожаловать под кат! Осторожно, будут картинки!
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments28

7 типов программистов /friday fun/

Reading time4 min
Views13K
Когда-то давно компьютеры были чем-то из разряда древних чудовищ, а программисты мистическими монахами, которые их укрощали. Шутка. Мы любим программистов, потому что они могут всё. Но те, кто хоть как-то соприкасался с представителями мира IT знают, что это не просто безликая масса, а целый социум в себе, со своими интересными и типичными персонажами. Сегодня мы познакомим вас с семерыми типичными программистами.
Спойлер: одного из них зовут Эдик.


Читать дальше →
Total votes 18: ↑11 and ↓7+4
Comments15

Поверхности и тела вращения: использование «виртуального гончарного колеса» в Wolfram|Alpha

Reading time4 min
Views14K

Перевод поста Peter Barendse "Surfaces and Solids of Revolution: Using Wolfram|Alpha’s «Virtual Potter’s Wheel»".
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации


Ещё до появления современной технологии 3D печати у нас была возможность создавать объекты практически любой формы, и единственные ограничения для человечества были связаны лишь с точностью, которую мы можем обеспечить. И на пути преодоления этих ограничений были разработаны разнообразные устройства, способные производить изделия очень сложных форм; кульминацией этого процесса (до появления 3D-принтеров) стало появление станков с ЧПУ и большим количеством степеней свободы:



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


Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments0

Хватит работать, давайте лениться

Reading time4 min
Views21K
Если я попрошу вас назвать факторы личной продуктивности, то, скорее всего, услышу слова типа «целеполагание», «тайм-менеджмент», «упорство». Найдется ли в этом списке место лени? Да-да, обычной, такой близкой, знакомой всем и тщательно скрываемой? Позвольте сделать, на первый взгляд, абсурдное заявление: лень – один из факторов продуктивной работы!

Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments8

Игроки Eve Online будут классифицировать белки человеческого организма

Reading time3 min
Views20K
image

Создатели проекта Human Protein Atlas (энциклопедии белков человека) совместно с разработчиками многопользовательской научно-фантастической онлайн-игры Eve Online и швейцарской компанией Massively Multiplayer Online Science объявили о разработке проекта Project Discovery. Он предполагает вовлечение игроков в полезную для науки работу по разметке белков в атласе. Работа будет оформлена в форме мини-игры, времяпрепровождение в которой будет вознаграждаться игровыми бонусами.

Проект Human Protein Atlas, штаб-квартира которого расположена в Стокгольме, содержит порядка 13 миллионов изображений, которые необходимо разметить для включения их в автоматизированную базу данных. Проект собирает известную науке информацию обо всех белках, производимых человеческим организмом.

Доступная всем желающим база данных показывает пространственное распределение белков, как в нормальных тканях человеческого тела, так и в различного вида опухолях. Проект был задуман в 2003 году, и в 2005 – оформлен в виде веб-сайта. Структурированный набор данных о белках помогает определять предназначение и роль каждого из них в организме.

Разработчики игры из компании CCP Games считают, что их игра привлекает людей с техническим складом ума, и поэтому подобные задачи им будут достаточно интересны. «Наша игра прекрасно подходит для такого рода заданий»,- говорит Петур Орн Пораринсон [Pétur Örn Þórarinsson], директор по дизайну и ведущий дизайнер геймплея, известный как CCP Scarpia.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments4

Введение в RapidMiner

Reading time7 min
Views56K
RapidMiner logoНа данный момент существует много компаний нуждающихся в системах аналитики, но дороговизна и чрезмерная сложность данного ПО в большинстве случаев вынуждает отказаться от идеи построения собственной аналитической системы в пользу простого всем известного экселя. Также дополнительные расходы на обучение сотрудников, поддерживание дорогих систем хранения данных и т.д. И тут на помощь могут прийти Open Source решения — их не так много, но есть очень достойное ПО, одним из которых которых является RapidMiner.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments9

Big Data: 20 ошеломляющих фактов, которые должен знать каждый

Reading time3 min
Views13K
За 5 лет непонятный термин Big Data быстро наполнился смыслом и бессмысленностью, также как и «Интернет» 20 лет назад. Поскольку люди быстрее и проще понимают концентрированную и сравнительную информацию, то мы посчитали полезным перевод статьи с собранной фактографией «о размерах бедствия». К будущему надо готовиться. Заранее.



=======
Big Data — это больше, чем временное помешательство. Мы находимся на этапе революции, которая затронет каждый бизнес и каждого человека на планете.
Тем не менее, огромное количество людей и специалистов до сих пор относятся к концепции Big Ddata как к чему-то не особенно важному, что можно игнорировать, в то время как на самом деле их привычный уклад очень скоро переедет паровой каток, имя которому — Big Data.

Не верите? Представляю к ознакомлению 20 статистических фактов, которые должны убедить любого в том, что Big Data стоит пристального внимания:
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments4

Алгоритм извлечения информации в ABBYY Compreno. Часть 2

Reading time5 min
Views11K
И снова здравствуйте!

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

Теперь настало время поговорить о самом интересном – как устроен сам движок извлечения информации.


Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments12

Курс по машинному обучению на Coursera от Яндекса и ВШЭ

Reading time4 min
Views117K
Когда-то мы публиковали на Хабре курс по машинному обучению от Константина Воронцова из Школы анализа данных. Нам тогда предлагали сделать из этого полноценный курс с домашними заданиями и разместить его на Курсере.

И сегодня мы хотим сказать, что наконец можем выполнить все эти пожелания. В январе на Курсере пройдёт курс, организованный совместно Яндексом (Школой анализа данных) и ВШЭ. Записаться на него можно уже сейчас: www.coursera.org/learn/introduction-machine-learning.


Сооснователь Coursera Дафна Коллер в офисе Яндекса

Курс продлится семь недель. Это означает, что по сравнению с ШАДовским двухсеместровым курсом он будет заметно упрощен. Однако в эти семь недель мы попытались вместить только то, что точно пригодится на практике, и какие-то базовые вещи, которые нельзя не знать. В итоге получился идеальный русскоязычный курс для первого знакомства с машинным обучением.

Кроме того, мы верим, что после прохождения курса у человека должна остаться не только теория в голове, но и скилл «в пальцах». Поэтому все практические задания построены вокруг использования библиотеки scikit-learn (Python). Получается, что после прохождения нашего курса человек сможет сам решать задачи анализа данных, и ему будет проще развиваться дальше.

Под катом можно прочитать подробнее обо всех авторах курса и узнать его примерное содержание.
Читать дальше →
Total votes 83: ↑81 and ↓2+79
Comments59

Виртуальный квадрокоптер на Unity + OpenCV (Часть 2)

Reading time11 min
Views21K
КПДВ

Доброго времени суток, дорогие хабравчане!

Этой статьей я хотел бы продолжить серию о том, как подружить Unity, C++ и OpenCV. А также, как получить виртуальную среду для тестирования алгоритмов компьютерного зрения и навигации дронов на основе Unity. В предыдущей статье я рассказывал о том, как сделать виртуальный квадрокоптер в Unity. В этой статье речь пойдет о том, как подключить C++ плагин, передать туда изображение с виртуальной камеры и обработать его посредством OpenCV.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments3

Муравьиная оптимизация и сетевые алгоритмы

Reading time8 min
Views19K
Как вы могли заметить, у нас тут затишье. Но наш творческий поиск не прекращается, и первая октябрьская публикация будет посвящена ACO (Ant Colony Optimization)



Отдавая должное автору, мы не будем публиковать здесь последнюю часть статьи, содержащую пример на JavaScript, а предложим вам опробовать его на сайте оригинала. Под катом же вы найдете перевод теоретической части, доступно рассказывающей о тонкостях муравьиной оптимизации в различных сценариях.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments1

3D микрочип, в 1000 раз быстрее существующих

Reading time4 min
Views16K
Ученые изобрели новый метод разработки и создания компьютерных микрочипов, который способен значительно ускорить обработку данных как минимум в 1000 раз по сравнению с существующими CPU. Основывается данный метод на материале, называемом углеродными нанотрубками и позволяет строить микрочип в трех измерениях.



По словам Макса Шалакера (Max Shulaker), члена команды дизайнеров чипа и кандидата на получение докторской степени в области электротехники Стэнфордского университета Калифорнии, такой 3D проект значительно экономит место в системе и увеличивает скорость обработки данных. Достигается это благодаря тому, что ученые вмещают память, хранящую все данные и уплотняют число процессоров в миниатюрное пространство.
Читать дальше →
Total votes 26: ↑16 and ↓10+6
Comments30

Information

Rating
Does not participate
Registered
Activity