Читать дальше →
Andrey Ermolaev @a1ndrey
User
2D->3D in Augmented reality
8 min
26KВ данной статье я расскажу как в приложениях Augmented reality по найденому расположению объекта в сцене построить 3D-пространство. Для этого необходимо получить две матрицы – проекционную (GL_PROJECTION) и модельную (GL_MODELVIEW) для работы, например, в OpenGL. Делать это мы будем средствами библиотеки OpenCV.
Недавно приходилось решать эту задачу, но ресурса, где просто поэтапно объяснялось как это сделать я не нашел (может плохо искал), а подводных камней в данной проблеме хватает. В любом случае, статья на хабре описывающая эту задачу не повредит.
+59
Распознавание маркера дополненной реальности
5 min
50KО дополненной реальности(Augumented reality, AR) написано много статей. На хабре есть целый раздел посвящённый этому направлению. Если коротко, то существуют два принципиальных подхода для создания дополненной реальности: с использованием заранее приготовленного маркера(ещё), который нужно распечатывать и без такого. Оба подхода используя алгоритмы “компьютерного зрения” распознают объекты в кадре и дополняют их.
Данная статья посвящена алгоритмам распознавания при создании дополнительной реальности с заранее приготовленным маркером.
+79
Используем Google Voice Search в своем приложении .NET
3 min
130KФункция распознавания речи с некоторого времени доступна в браузере Google Chrome. Посмотреть как это выглядит можно, например, здесь.
Так как исходный Chromium открыт, возникает закономерное желание подсмотреть, можно ли использовать технологию в
Как это часто бывает, все уже сделано за нас в этой статье. Все оказывается очень просто, необходимо сделать POST запрос на адрес www.google.com/speech-api/v1/recognize со звуковыми данными в формате FLAC или Speex. Реализуем демонстрацию распознавания WAVE-файлов с помощью C#.
+64
Распознавание изображений. Алгоритм Eigenface
6 min
66KВведение
Я продолжаю серию статей посвящённую тематике pattern recognition, computer vision и machine learning. Сегодня я вам представляю обзор алгоритма, который носит название eigenface.
В основе алгоритма лежит использование фундаментальных статистических характеристик: средних (мат. ожидание) и ковариационной матрицы; использование метода главных компонент. Мы также коснёмся таких понятий линейной алгебры, как собственные значения (eigenvalues) и собственные вектора (eigenvectors) (wiki: ru, eng). И вдобавок, поработаем в многомерном пространстве.
Как бы страшно всё это не звучало, данный алгоритм, пожалуй, является одним из самых простых рассмотренных мною, его реализация не превышает нескольких десятков строк, в тоже время он показывает неплохие результаты в ряде задач.
+122
В поисках НЛО. Детект объектов на изображении
6 min
55KВзлом captcha это, конечно, интересно и познавательно, но, по большому счёту, бесполезно. Это лишь частный случай задачи, которая возникает в одном из интересных направлений развития IT – распознавание образов (pattern recognition).
Сегодня мы рассмотрим алгоритм (точнее, более правильно считать это методикой, т.к. она объединяет в себе множество алгоритмов), который стоит на стыке таких областей, как Machine Learning и Computer Vision.
С помощью этого алгоритма мы будем искать НЛО (позарился на святое) на изображениях.
Сегодня мы рассмотрим алгоритм (точнее, более правильно считать это методикой, т.к. она объединяет в себе множество алгоритмов), который стоит на стыке таких областей, как Machine Learning и Computer Vision.
С помощью этого алгоритма мы будем искать НЛО (позарился на святое) на изображениях.
+90
Перехват аккаунтов пользователей в Wi-Fi-сетях с Android
3 min
474KВ сети стала появляться информация о сниффере под любой рутованный смартфон или планшет на Андроиде (от 2.1), позволяющий ходить под чужими аккаунтами многих веб-сайтов, в том числе Facebook и Vkontakte в общественных сетях Wi-Fi.
Речь идет о программе DroidSheep.
О механизме ее работы и использовании поговорим подробнее.
Речь идет о программе DroidSheep.
О механизме ее работы и использовании поговорим подробнее.
+55
История заблокированного приложения
4 min
11KНесколько дней назад я писал в этой статье о деталях того как можно скачать видео с YouTube. В этой же статье была ссылка на Android-приложение, использующее описанный алгоритм. В комментариях к той статье меня предупреждали, что приложение могут скоро заблокировать, так как оно нарушает правила использования сервиса YouTube. Так и случилось… Через двое суток после публикации приложение стало недоступно для установки из Android маркета. Цель написания этой статьи: показать на своем примере, какие реальные санкции со стороны Google ожидают разработчика если его приложение окажется «вне закона».
Если интересно, добро пожаловать под кат.
Если интересно, добро пожаловать под кат.
+65
Тебя арестовали? Для этого есть Android-приложение
1 min
3.1KБруклинский программист Джейсон ван Анден сделал замечательное Android-приложение, незаменимое для всех граждан, кому грозит арест. Программа I'm Getting Arrested позволяет за пару секунд разослать SMS всем, кого вы указали в списке: жене, друзьям, начальнику на работе и адвокату. Текст сообщения и список номеров лучше указать заранее. По отзывам пользователей из России, на номера с префиксом +7 сообщения тоже нормально отправляются.
+71
О патентных троллях, авторском праве и так далее
1 min
1.4KУ меня не пост, а крик души.
Зачем–то я читаю много постов на Хабре, а вместе с ними — комментарии. И очень часто в комментариях люди кричат о патентном троллинге, об отмене авторского права, копирайтов и так далее.
За недолгое время мой жизни у меня сложилось примерно такое мнение:
Потому что если человек что–то творит, что–то создает и что–то выдумывает (желательно полезное), то он навсегда запомнит это ощущение.
Поэтому когда я в очередной раз читаю слова «патентный троллинг», то понимаю, что написавший это — бесполезная единица массы, на которую можно не обращать внимание.
И я четко осознаю, что таких здесь подавляющее большинство, а потому топик очень быстро уйдет вниз. Но, возможно, эти люди задумаются (хоть на секунду), что что–то делают в этой жизни не так.
Отличных всем выходных!
Зачем–то я читаю много постов на Хабре, а вместе с ними — комментарии. И очень часто в комментариях люди кричат о патентном троллинге, об отмене авторского права, копирайтов и так далее.
За недолгое время мой жизни у меня сложилось примерно такое мнение:
Люди, которые никогда ничего не сделали (и не придумали, не изобрели) сами, громче прочих кричат о патентном троллинге, отмене авторского права и тд.
Потому что если человек что–то творит, что–то создает и что–то выдумывает (желательно полезное), то он навсегда запомнит это ощущение.
Поэтому когда я в очередной раз читаю слова «патентный троллинг», то понимаю, что написавший это — бесполезная единица массы, на которую можно не обращать внимание.
И я четко осознаю, что таких здесь подавляющее большинство, а потому топик очень быстро уйдет вниз. Но, возможно, эти люди задумаются (хоть на секунду), что что–то делают в этой жизни не так.
Отличных всем выходных!
-25
Запись первой лекции Swift-Курса от MasterUp
1 min
8.6KСлайды: www.dropbox.com/s/eqnozeeysd7rmzs/MU110-1.pdf?dl=0.
Расписание следующих лекций swift.master-up.net/#schedule
+9
Руководство по анимационному отображению представлений в таблице на Swift
9 min
12KTutorial
Translation
Стандартный UITableView – мощный и в тоже время гибкий способ для представления данных в Ваших приложениях; есть вероятность, что большинство приложений, которые Вы создаёте, будут использовать табличное представление в той или иной форме. Тем не менее, есть недостаток в том, что без некоторого уровня настройки, приложения будут выглядеть бледно и сливаться с тысячами подобных. Во избежание “скучных” таблиц, Вы можете добавить несколько подходящих анимационных изображений, которые «оживлять» приложение. Возможно, Вы видели подобное в приложении Google+, где ячейки в таблице буквально летают по экрану вместе с классной анимацией. Если не обращали на это внимания, Вы можете скачать здесь (бесплатно)! Также может быть полезным и интересным ознакомление с руководством по дизайну (design guidelines), которое Google выпустило на конференции 2014 I/O. Оно содержит много советов и примеров, как эффективно и правильно использовать анимацию в своих приложениях.
+4
Создание игры на движке Sprite Kit (Часть 1)
71 min
157KС появлением iOS 7 мир узрел новый игровой движок от Apple — SpriteKit. В свете того, что он появился совсем недавно об этом движке еще мало что написано, конечно в сети можно найти несколько tutorial -ов по нему но в основном все они на Английском языке. И по этому я задалась целью написать подробный Туториал об этом замечательном движке.
SpriteKit — это 2D движок, оптимизированный для создание игр для устройств от компании Apple. В его основе лежит популярный физический движок Box 2D. Поскольку разработчики создавали его заточенным специально для устройств Apple он существенно выигрывает в скорости у остальных движков.
В SpriteKit всю роль по оптимизации и рисованию графики берет на себя OpenGl, это все происходит на низком уровне и по этому вы можете сосредоточить свои усилия на решении проблем более высокого уровня и создание больших 2D игр. Для создание игр на SpriteKit используется язык Objective-c, но с выходом iOS 8 и нового языка Swift, игры также можно создавать и на нем.
От себя хотела бы добавить, что в некотором роде на Swift писать даже легче, так что если вы только начинаете и думаете какой язык выбрать то советую выбрать Swift.
Ниже, я предоставила видео с демонстрацией игрового процесса SpriteKit, если вам стало интересно то милости прошу.
Итак, что же такое SpriteKit?
SpriteKit — это 2D движок, оптимизированный для создание игр для устройств от компании Apple. В его основе лежит популярный физический движок Box 2D. Поскольку разработчики создавали его заточенным специально для устройств Apple он существенно выигрывает в скорости у остальных движков.
В SpriteKit всю роль по оптимизации и рисованию графики берет на себя OpenGl, это все происходит на низком уровне и по этому вы можете сосредоточить свои усилия на решении проблем более высокого уровня и создание больших 2D игр. Для создание игр на SpriteKit используется язык Objective-c, но с выходом iOS 8 и нового языка Swift, игры также можно создавать и на нем.
От себя хотела бы добавить, что в некотором роде на Swift писать даже легче, так что если вы только начинаете и думаете какой язык выбрать то советую выбрать Swift.
Ниже, я предоставила видео с демонстрацией игрового процесса SpriteKit, если вам стало интересно то милости прошу.
+33
iOS 8 — Widgets
8 min
29KTutorial
С выходом iOS 8 у разработчиков появилась возможность создавать свои виджеты для экрана Today. Пока еще API окончательно не утряслось, есть Known Issue и много неописанных в документации моментов. Но если вы все же хотите сделать свой виджет, то прошу под кат (внимание, в примерах используется Swift).
+33
Язык программирования Swift. Русская версия
17 min
374KПривет, Хабр! 2 июня все мы воочию могли наблюдать, как компания Apple начала творить революцию в стане Objective-C разработчиков, представив миру свой новый язык программирования – Swift. Вместе с этим, она выложила в открытый доступ небольшую документацию по языку, которую мы решили перевести, если на то будет спрос. Предлагаем вашему вниманию перевод первой главы. Если тема будет интересна, то мы продолжим публиковать перевод каждую неделю.
+89
Мобильная аналитика. Теперь бесплатно!
3 min
13KДрузья, мы рады поделиться с вами хорошей новостью — официальный запуск сервиса автоматизированного продвижения приложений Appintop состоялся! Кроме того, мы приготовили для вас отличный подарок, на который ушло несколько месяцев кропотливого труда. Это модуль рыночной аналитики SPY, который доступен абсолютно бесплатно! Подписка на подобные сервисы стоит около $10 000 в месяц.
Модуль SPY позволяет:
— просматривать, сколько зарабатывают ТОП-400 приложений по 25 странам;
— подсматривать за конкурентами (выручку и установки);
— выбрать нишу для приложения;
— узнать, сколько нужно установок, чтобы выйти на любую позицию по любому региону;
— узнать, сколько вы будете зарабатывать на определенной позиции;
— выбрать страны для продвижения;
— искать объекты для инвестирования;
— и многое другое.
Каким образом мы собираем данные?
Доступ к модулю SPY бесплатен, но с одним условием: взамен вам необходимо предоставить iTunes connect вашего приложения. Это позволяет нам делать аналитику еще более точной. В системе насчитывается уже более 5000 iTunes connect’ов приложений, которые отдают нам свои данные по установкам и заработку. Большинство аналитических сервисов работают по такой же схеме, и только мы предоставляем все аналитические данные абсолютно бесплатно!
Подключая свой iTunes connect, вы получаете доступ к удобной системе аналитики по 25 самым крупным странам и по ТОП-400 позиций по каждой из них:
Как создавался модуль SPY
Создание подобного модуля было очень непростой задачей как с технической стороны, так и со стороны получения iTunes connect’ов. Несколько крупных аналитических компаний, собрав приличный пул приложений, стали монополистами на рынке мобильной аналитики. Но мы верили, что можно создать технически более совершенный сервис, и главное, сделать его бесплатным! Разработчики не должны платить за аналитику, тем более по $10 000 в месяц.
Модуль SPY позволяет:
— просматривать, сколько зарабатывают ТОП-400 приложений по 25 странам;
— подсматривать за конкурентами (выручку и установки);
— выбрать нишу для приложения;
— узнать, сколько нужно установок, чтобы выйти на любую позицию по любому региону;
— узнать, сколько вы будете зарабатывать на определенной позиции;
— выбрать страны для продвижения;
— искать объекты для инвестирования;
— и многое другое.
Каким образом мы собираем данные?
Доступ к модулю SPY бесплатен, но с одним условием: взамен вам необходимо предоставить iTunes connect вашего приложения. Это позволяет нам делать аналитику еще более точной. В системе насчитывается уже более 5000 iTunes connect’ов приложений, которые отдают нам свои данные по установкам и заработку. Большинство аналитических сервисов работают по такой же схеме, и только мы предоставляем все аналитические данные абсолютно бесплатно!
Подключая свой iTunes connect, вы получаете доступ к удобной системе аналитики по 25 самым крупным странам и по ТОП-400 позиций по каждой из них:
Как создавался модуль SPY
Создание подобного модуля было очень непростой задачей как с технической стороны, так и со стороны получения iTunes connect’ов. Несколько крупных аналитических компаний, собрав приличный пул приложений, стали монополистами на рынке мобильной аналитики. Но мы верили, что можно создать технически более совершенный сервис, и главное, сделать его бесплатным! Разработчики не должны платить за аналитику, тем более по $10 000 в месяц.
+9
Эффект параллакса (3D) с помощью Lens Blur в Google Camera
1 min
59KВ то время как Lytro и прочие выпускают камеры светового поля, компания Google делает магию программными способами. Например, в режиме Lens Blur программа Google Camera использует Z-буферизацию и сохраняет карту глубины (depth map), то есть информацию о расстоянии до объектов.
Depth map в режиме Lens Blur
Несколько дней назад на Github опубликована программка LensBlurDepthExtractor.js, которая извлекает depth map из фотографий, сделанных в Google Camera.
Depth map в режиме Lens Blur
Несколько дней назад на Github опубликована программка LensBlurDepthExtractor.js, которая извлекает depth map из фотографий, сделанных в Google Camera.
+63
«Сверхзвуковая» загрузка фотографий в Облако с помощью собственного NSInputStream
10 min
16KМаксимально быстрая загрузка фотографий и видео с устройства на сервер была нашим основным приоритетом при разработке мобильного приложения Облако Mail.Ru для iOS. Кроме того, с самой первой версии приложения мы предоставили пользователям возможность включить автоматическую загрузку на сервер всего содержимого системной галереи. Это очень удобно для тех, кто волнуется о возможной потере телефона, однако, как вы понимаете, увеличивает объем передаваемых данных в разы.
Итак, мы поставили перед собой задачу сделать загрузку фото и видео из мобильного приложения Облака Mail.Ru не просто хорошей, а близкой к идеальной. Результатом стала наша библиотека POSInputStreamLibrary, которая реализует потоковую загрузку в сеть фото и видео из системной галереи iOS. Благодаря ее тесной интеграции с фреймворками ALAssetLibrary и CFNetwork загрузка в приложении происходит очень быстро и не требует ни байта свободного места на устройстве. О реализации собственного наследника класса NSInputStream из iOS Developer Library я расскажу в этом посте.
+45
Как математика помогает Яндексу зарабатывать?
4 min
50KЯндекс зарабатывает сотни миллионов долларов в год, хотя наш поиск — бесплатный. Основной доход мы получаем от рекламы, соединяя продавцов с покупателями. Чтобы делать это хорошо, мы используем сложные алгоритмы, созданные на основе математической статистики, теории вероятностей, машинного обучения, теории игр и теории аукционов. Улучшение алгоритмов всего на несколько процентов — это дополнительные десятки миллионов долларов в год. Из этой лекции вы узнаете, как математика может работать в рекламе.
+81
Пару слов о распознавании образов
13 min
309KTutorial
Давно хотел написать общую статью, содержащую в себе самые основы Image Recognition, некий гайд по базовым методам, рассказывающий, когда их применять, какие задачи они решают, что возможно сделать вечером на коленке, а о чём лучше и не думать, не имея команды человек в 20.
Какие-то статьи по Optical Recognition я пишу давненько, так что пару раз в месяц мне пишут различные люди с вопросами по этой тематике. Иногда создаётся ощущение, что живёшь с ними в разных мирах. С одной стороны понимаешь, что человек скорее всего профессионал в смежной теме, но в методах оптического распознавания знает очень мало. И самое обидное, что он пытается применить метод из близрасположенной области знаний, который логичен, но в Image Recognition полностью не работает, но не понимает этого и сильно обижается, если ему начать рассказывать что-нибудь с самых основ. А учитывая, что рассказывать с основ — много времени, которого часто нет, становится всё ещё печальнее.
Какие-то статьи по Optical Recognition я пишу давненько, так что пару раз в месяц мне пишут различные люди с вопросами по этой тематике. Иногда создаётся ощущение, что живёшь с ними в разных мирах. С одной стороны понимаешь, что человек скорее всего профессионал в смежной теме, но в методах оптического распознавания знает очень мало. И самое обидное, что он пытается применить метод из близрасположенной области знаний, который логичен, но в Image Recognition полностью не работает, но не понимает этого и сильно обижается, если ему начать рассказывать что-нибудь с самых основ. А учитывая, что рассказывать с основ — много времени, которого часто нет, становится всё ещё печальнее.
+128
Information
- Rating
- Does not participate
- Location
- Украина
- Date of birth
- Registered
- Activity