Эрудит с Друзьями

Вот над чем мы сейчас трудимся!

942281_4246864669905_1003189680_n

Bioshock Infinite

Bioshock Infinite – лучшее, во что я играл за последние несколько лет 🙂 Настолько все круто, красочно. История, геймплей, сеттинг. Просто офигаеть. Ну и Элизабет, конечно 🙂 Короче стоило того, чтобы собрать под это дело SLI из GTX 670 =)

Элизабет всех достала, поэтому пик рилэйтед будет второй по симпатичности персонаж игры – Захария Хейл Комсток.

Comstock

Игра Study Maths

ТЕМА НА GAMEDEV.RU

Мне лень писать что-то, так что копирую оттуда.

Всем привет.
Мне тут вздумалось погрузиться в дебри нейросетей и запилить быстренько приложение, которое позволяет распозновать рукописные (нарисованные на сенсорном экране пальцем или еще чем-то) цифры. Самая простая идея: игра – обучение/тренировка арифметике. Игроку предлагается некий простенький пример, он решает его и пишет ответ, система распознает и говорит «верно»/»неверно». Можно еще добавить очки или ограничить время. Тут недавно была похожая тема, но у меня акцент именно на рукописном способе ввода.

Название: Study Maths (рабочее, возможно, сменится)
Жанр: обучающая головоломка
Начало разработки: 19 февраля 2013 года
Текущий статус: есть демка с базовым функционалом
Язык, API: Obj-C, Cocos2D-iPhone

Пока поддерживаются операции сложения (от 0 до 19), вычитания (без отрицательных), умножения (до 10 * 10), деления (на ноль нельзя!).

На алгоритм распознавания потратил очень много времени: почти неделю. Но пока он далек от совершенства. Я использую 5 слойную сверточную нейросеть, наученную на базе рукописных цифр (MNIST, 600000 цифр). Отсюда вытекает главная проблема: в базе цифры написаны ручкой на бумаге, потом отсканированы. У меня же они пишутся пальцем на экране, рендерятся в текстуру и идут на нейросеть. После нейросети есть еще пара хаков: например, моя рукописная 6 всегда почти распознается, как 5. Пришлось использовать некоторые свойства кривых, чтобы различать их. И то, не всегда успешно. Также алгоритм разделения кривых на цифры, который я придумал сегодня утром, иногда сбоит и нуждается в явной доработке. Хочу добавить еще знаки «+» и «-«, позже «.».

Еще есть концептуальная идея прикрутить к этому делу CMU Sphinx и какой-нить text-to-speech, получим, таким образом, и чисто голосовой вариант. Игра читает игроку пример, игрок отвечает голосом, получает одобрение или наоборот. Обязательно попробую в скором времени, если пойдет гладко (справлюсь менее, чем за неделю), то 100% включу в проект.

Дневник разработки:
19.02.2013 Начало

26.02.2013 Добавлена озвука примеров и результата на аглийском Flite text-to-speech

27.02.2013 Добавлена поддержка распознования голоса (см. видео со звуком):

К сожалению, результат меня сильно не устраивает. Слишком мала точность, требуется тишина, трудно сделать русский язык, приложение очень сильно разбухает в объеме. Так что в первом релизе скорее всего распознования голоса не будет. Я пока не знаю, как улучшить распознования голоса, т.к. использую сторонний API.

Распознование рукописных цифр на iPhone

Фуф! Наконец-то, я добился того, чтобы оно работало более менее нормально. Итак, распознавание рукописных цифр на iPhone. Используется 5-слойная сверточная нейронная сеть.  Сеть натренерована на базе MNIST, которая содержит 60000 образцов рукописных цифр (на каждую, вроде бы, итого 600000). Вдохновлялся этой статьей. Сеть написал сам, но тренеровал ее программой из статьи. Пришлось поднять виртуальную WinXp, поставить на ней VC++ 6, собрать проект, дописать нормальный экспортер данных (по умолчанию был на MFC – CArchive, который вообще некорректно работал и не загружал тестовые данные). Очень долго шло обучение, понадобилось несколько часов. И оно все еще идет… Я периодически скидываю дамп нейросети себе в проект.

Конечно, результат далек от совершенства. Например, эта сеть отказывается воспринимать мою цифру 6, всегда говорит 5. Пришлось писать специальный твик (по-русски – костыль), которые анализирует кривую и по некоторым статистическим данным различает шестерку и пятерку. У программы много параметров, и мне предстоит с ними еще поиграться, чтобы достичь максимальной точности. Планирую скрестить несколько алгоритмов и заставить их работать, как суд присяжных.

Tris: распил тетриса

Я еще не загружал этот скриншот?

Он иллюстрирует, как в Tris разрезаются фигуры при сокращении ряда.

[singlepic id=932]

Свидетельство на Resonator Studio

 

СвидКольцов2 Еще одно свидетельсво прислали, на этот раз на Resonator Studio (это такая программа для расчета открытых лазерных резонаторов, я написал ее в рамках своего диплома в ННГУ). Теперь у меня два оффициальных документа, что я умею хэллоувердить 😎

Картинка кликабельная, можно посмотреть в полном формате.

 

Свидетельство о регистрации Rays

СвидКольцов  Вот, наконец, сделали одно из двух свидетельств.

Вышла моя первая статья на Хабрахабре

Грац мну. Вышла моя первая статья на ресурсе Хабрахабр.

Она называется:

Изменение кода программы во время ее выполнения на примере Common Lisp

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

UPD: оппа, он даже побывал на главной.

Лаптичка: к взлету готов

А как вам такое? ) Ми щаслив, правда!

Промокоды лучшим друзяшкам будут.

А вот и ссылки:

Laptichka (iTunes)

Сайта Лаптички (на англ.)

Twitter Лаптички

[singlepic id=785]