Search
Write a publication
Pull to refresh
471
0.1
Мальцев Антон @ZlodeiBaal

Computer Vision, Machine Learning

Send message

Правила игры в шахматы

Reading time1 min
Views2.2K


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

Winulator: запуск игр 90-х на Android OS

Reading time1 min
Views101K


Сейчас для Adnroid существует большое количество приложений, которые позволяют запускать на этой мобильной ОС приложения для DOS, игры для Sega/Dendy и прочее. Вскоре количество таких проектов пополнится еще одним, проектом Winulator. Это ПО, позволяющее запускать игры 90-х на смартфонах и планшетах с Android OS. Пока что релиза нет, но проект, по словам разработчика (он один), уже практически готов к запуску, и есть видео, демонстрирующее нам все достоинства Winulator.

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

Применение нейросетей в распознавании изображений

Reading time10 min
Views244K
Про нейронные сети, как один из инструментов решения трудноформализуемых задач уже было сказано достаточно много. И здесь, на хабре, было показано, как эти сети применять для распознавания изображений, применительно к задаче взлома капчи. Однако, типов нейросетей существует довольно много. И так ли хороша классическая полносвязная нейронная сеть (ПНС) для задачи распознавания (классификации) изображений?
Читать дальше →

В поисках НЛО. Детект объектов на изображении

Reading time6 min
Views55K
Взлом captcha это, конечно, интересно и познавательно, но, по большому счёту, бесполезно. Это лишь частный случай задачи, которая возникает в одном из интересных направлений развития IT – распознавание образов (pattern recognition).



Сегодня мы рассмотрим алгоритм (точнее, более правильно считать это методикой, т.к. она объединяет в себе множество алгоритмов), который стоит на стыке таких областей, как Machine Learning и Computer Vision.

С помощью этого алгоритма мы будем искать НЛО (позарился на святое) на изображениях.

Уберите детей!

Индустрия киберспорта: от ящика пива до миллиона долларов

Reading time9 min
Views54K


Привет! Меня зовут Никита Бокарев, я креативный продюсер игрового направления Mail.Ru Group. Сегодня я в красках расскажу о таком явлении, как киберспорт. Конечно, тема огромная и охватить ее целиком – учебника не хватит, поэтому я расскажу о самых знаменательных, с моей точки зрения, событиях и явлениях с момента зарождения киберспорта и до сегодняшнего дня.
Читать дальше →

Рентабельный код

Reading time12 min
Views66K


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

Разработка ПО – область, подверженная рискам. В нашей сфере при наступлении одного или нескольких рисков, срок поставки рабочей версии может сдвинуться не на привычные и комфортные 10-20%, а на все 150-300%. И надо признаться, что это далеко не предел.

Мы можем либо скрестить пальцы и надеяться, что удача будет сопутствовать проекту во всем, либо признать, что по статистике большая часть проектов по разработке ПО «проваливается» и предпринять дополнительные усилия по ослаблению возможных рисков.
Моя практика показывает, что клиенты крайне неохотно работают по схеме T&M и чаще предпочитают Fixed Price. В условиях зафиксированной стоимости наступление рискового случая означает автоматическое снижение рентабельности проекта: сотрудники получают зарплату ежемесячно, а не за сданные проекты.

До Agile и XP вся ответственность за работу с рисками ложилась на менеджеров. В гибких методологиях разработчики гораздо больше вовлечены в процесс и делят ответственность с менеджерами. Однако, принципы XP и Agile – больше методологические, чем технологические. Я думаю, что с рисками эффективнее работать комплексно на всех уровнях, в том числе на самом низком уровне, т.е. во время проектирования и написания кода.

Почему об этом следует думать разработчику, если есть менеджер?
  1. Не секрет, что если факап случится, менеджмент примет единственное «супер-умное» решение: «давайте поработаем сверхурочно и в выходные»
  2. Премии сотрудники получают тоже обычно за в срок сданные, а не за проваленные проекты
  3. Чувство сделанного дела, в конце концов. Гораздо приятнее сдать проект во время и видеть улыбку клиента, чем с опозданием в полгода отвязаться от «трудного ребенка»

С моей точки зрения спокойная рабочая обстановка вместо авралов и бонусы – неплохая мотивация, чтобы начать заботиться об этом.
Читать дальше →

Лучшие грабли российских IT-стартапов

Reading time7 min
Views70K


1. Упарываться по хардкору
Это не ошибка, но очень характерная ситуация для IT-сферы. Пока другие стартаперы не имеют продукта, зато рассылают релизы со скриншотами, пьют смузи, выступают на конференциях и выставках, айтишники пишут код. Когда прототип собран и дело доходит до поиска инвестора, становится понятно, что пиар тоже был нужен. Вот только начинать его надо было месяца так два назад.

2. «Сам дурак»
Большая проблема — нежелание слушать мнение окружающих. Когда половина проекта готова и внезапно становится понятно, что проект нежизнеспособен, есть два варианта: резко меняться или сворачиваться. Знаете, что часто делают руководители IT-стартапов? Перестают слушать людей снаружи, превращают команду в секту и упорно допиливают продукт. Потому что полработы уже сделано.

3. Не знать конкурентов
Офигенный подход аутистов — взять и сделать прототип без изучения рынка. Незнание прямого конкурента, косвенного конкурента и западных аналогов продукта — это не самая хорошая идея. Нужно смотреть, кто уже работал в этом направлении и, главное, с какими проблемами сталкивался. Потому что эти проблемы придут к вам. Ещё полезно замерять показатели конкурентов и сравнивать со своими. Если конкурентов нет — это повод насторожиться. Возможно, ваш продукт никому не нужен.
Читать дальше →

Обзор on-line сервисов для преобразования формул Latex в картинки

Reading time2 min
Views80K
Иногда требуется вставить формулу в блог или форум, причем сделать это красиво. В статье приведен обзор сервисов предоставляющих такую услугу.
Читать дальше →

Распознавание текста в ABBYY FineReader (1/2)

Reading time7 min
Views57K
Содержание
imageРаспознавание текста в ABBYY FineReader (1/2)
imageРаспознавание текста в ABBYY FineReader (2/2)

Систему распознавания текста в FineReader можно описать очень просто.

У нас есть страница с текстом, мы разбираем ее на текстовые блоки, затем блоки разбираем на отдельные строчки, строчки на слова, слова на буквы, буквы распознаем, дальше по цепочке собираем все обратно в текст страницы.



Выглядит очень просто, но дьявол, как обычно, кроется в деталях.

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



В этой статье мы начнём рассказ про распознавание текста от уровня строки и ниже.
Читать дальше →

Логика мышления. Промежуточный итог

Reading time3 min
Views29K


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

Вычисление фрактальной размерности Минковского для плоского изображения

Reading time10 min
Views100K
Доброго времени суток читатель. Сегодняшний пост будет посвящен вычислению приближенного значения фрактальной размерности плоского изображения, которая тесно связано с размерности Минковского. Это интересно как минимум по двум причинам. Во-первых оказывается, что размерность ограниченного множества в метрическом пространстве может быть не только целым числом, но и любым неотрицательным. Во-вторых значение размерности контура изображения (а это ограниченное множество в метрическом пространстве) является хорошим признаком. В рамках сегодняшнего поста не предусмотрено исследование робастности этого признака, но давайте рассмотрим показательный пример. Множество различных характеристик клеток опухолей молочной железы, полученное в результате анализа снимков тонкоигольной пункционной биопсии. Множество данных состоит из 30 признаков (поля таблицы) с пометкой злокачественная или доброкачественная опухоль, и одним из признаков является как раз фрактальная размерность ядер клеток опухоли. Под катом вас ждет объяснение смысла фрактальной размерности множества, по возможности доступным языком, алгоритм вычисления приближенного значения этой размерности, его реализация на c# и ряд примеров с картинками. Возможно вы открыли этот пост только из-за картинки справа, это изображение я позаимствовал из инстаграмма Jennifer Selter, и в конце мы вычислим фрактальную размерность, так сказать филейной части Дженифер. Хочется кстати вас попросить ответить на пару вопросов в конце поста.

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

Модель Random Forest для классификации, реализация на c#

Reading time18 min
Views51K
Доброго времени суток, читатель. Random Forest сегодня является одним из популярнейших и крайне эффективных методов решения задач машинного обучения, таких как классификация и регрессия. По эффективности он конкурирует с машинами опорных векторов, нейронными сетями и бустингом, хотя конечно не лишен своих недостатков. С виду алгоритм обучения крайне прост (в сравнении скажем с алгоритмом обучения машины опорных векторов, кому мало острых ощущений в жизни, крайне советую заняться этим на досуге). Мы же попробуем в доступной форме разобраться в основных идеях, заложенных в Random Forest (бинарное дерево решений, бутстреп аггрегирование или бэггинг, метод случайных подпространств и декорреляция) и понять почему все это вместе работает. Модель относительно своих конкурентов довольно таки молодая: началось все со статьи 1997 года в которой авторы предлагали способ построения одного дерева решений, используя метод случайных подпространств признаков при создании новых узлов дерева; затем был ряд статей, который завершился публикацией каноничной версии алгоритма в 2001 году, в котором строится ансамбль решающих деревьев на основе бутстреп агрегирования, или бэггинга. В конце будет приведен простой, совсем не шустрый, но крайне наглядный способ реализации этой модели на c#, а так же проведен ряд тестов. Кстати на фотке справа вы можете наблюдать настоящий случайный лес который произрастает у нас тут в Калининградской области на Куршской косе.

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

Энтропия и деревья принятия решений

Reading time8 min
Views122K
Деревья принятия решений являются удобным инструментом в тех случаях, когда требуется не просто классифицировать данные, но ещё и объяснить почему тот или иной объект отнесён к какому-либо классу.

Давайте сначала, для полноты картины, рассмотрим природу энтропии и некоторые её свойства. Затем, на простом примере, увидим каким образом использование энтропии помогает при создании классификаторов. После чего, в общих чертах сформулируем алгоритм построения дерева принятия решений и его особенности.
Читать дальше →

Деревья принятия решений на JavaScript

Reading time4 min
Views33K
В качестве практического приложения к предыдущей статье, хочу предоставить крошечную JavaScript библиотеку для построения деревьев и леса принятия решений.

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

STM32 и USB-HID — это просто

Reading time14 min
Views384K
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать

Arcanum и Fallout 2 с сенсорным экраном и стилусом в Windows 8

Reading time7 min
Views60K
Как-то так вышло, что завелся у меня Windows 8 планшет. Не очень удачная модель — громоздкий как помощник, слабоватый как рабочая станция, но зато с стилусом, а самое важное, с 32-битной Win32 системой. Имея некое количество старых игр с распродаж GOG и Steam, я планировал как-нибудь засесть с этой таблеткой и переиграть все, что можно и нельзя. Но вот как-то не хватало времени и настроения, да еще и пробные запуски показали, что играть надо с мышью — курсор от тач-скрина убегал неизвестно куда, да и правый клик долгим нажатием был бы откровенно неудобным. Планшет пылился пол-года в углу до недавней раздачи Fallout от GOG и эта раздача подтолкнула меня к действию. Начинался вечер пятницы, планшет обзавелся USB мышью, а я устроился поудобнее на диване и начал по списку с самого верха — с Arcanum.
Через пол-часа создания персонажа (а ведь это дело очень важное и ответственное!) левая рука с трудом держала устройство, а запястье правой подозрительно начало тянуть, намекая о туннельном синдроме и прочих радостях неудобного хвата. Вспомнив нехорошим словом разработчиков некой эргономичной складывающейся мыши, я полез искать драйвера, патчи или еще хоть что-то, чтобы играть с тачскрина или хотя бы стилуса.
Патчей не нашлось. Единственный похожий драйвер был платным и без пробного режима. Вот в этот момент в голову и пришла идиотская (это я теперь понимаю!) мысль — «там ведь наверняка приходит какой-то WM_TOUCH и неправильно преобразуется в WM_MOUSEMOVE»… Забегая вперед, Арканум теперь у меня полностью управляется с тачскрина, правда, выходные закончились и больше хочется спать, чем играть.
Как не надо проводить викэнд

Поиск кропнутых дубликатов изображений с помощью перцептуальных хешей

Reading time6 min
Views73K
В этой статье пойдет речь о том, как решалась небольшая задачка поиска дубликатов по фрагменту или кропу картинки.



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

Расчёт положения небесных тел и эфемеридные теории

Reading time4 min
Views29K
Совсем недавно читал про Расчет положения небесных тел на небосводе и хотел бы внести свою лепту в это дело. В одном из комментариев к вышеупомянутой статье мельком задевается разговор про эфемеридные теории, такие как DE и прочие. Однако таких теорий существует множество и мы разберём одни из самых значимых на мой взгляд.
image
Читать дальше →

Распознавание пульса человека на видео

Reading time1 min
Views18K
В MIT CSAIL и Quanta Research Cambridge разработали видеофильтр, который усиливает незначительные различия между кадрами. Например, видеокамера регистрирует незаметное для глаза изменение цвета кожи из-за притока/оттока крови — пропустив видео через фильтр, мы получаем чёткую визуализацию пульса.



Технология может найти широкое применение в системах видеонаблюдения, системах компьютерного зрения, компьютерных интерфейсах и т.д.
Читать дальше →

Information

Rating
5,889-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity