Search
Write a publication
Pull to refresh
82
0
Send message

Raspberry Pi и чашечку Java, пожалуйста! (Часть 2)

Reading time8 min
Views12K

Данная статья перевод второй части статей посвящённых использованию Java на Raspberry Pi. Перевод первая части вызвал большой интерес к возможности применению Java на Raspberry Pi. Оригинал этой статьи был опуликован в 16 номере журнала MagPi.

Это вторая статья об использование Raspberry Pi для программирования на языке Java, прочитав её вы узнает больше о конструкциях этого языка и сможете попробовать написать более сложные программы. Также она может оказаться полезной тем, кто хочет узнать о языке С, так как основной синтаксис Java совпадает с синтаксисом С.

В начале данной статьи я подробнее опишу управляющие конструкции. А дальше перейду к описанию числовых, строковых и логических типов данных, приведя примеры их использования. С учетом всего этого в наши примеры программ будет добавлена более сложная логика выполнения. Ну что-же, давайте приступать к работе!
Читать дальше →

Умный дом. Конкретная реализация

Reading time4 min
Views116K
Добрый день, уважаемое сообщество!
В своих предыдущих статьях я рассказывал о том, как делаю у себя умный дом. С тех пор прошло уже достаточно большое количество времени и я достаточно серьезно продвинулся как в оборудовании, так и в софте. Думаю, что эту очередную статью можно смело называть «Умный дом v3» :)
Читать дальше →

Распознавание изображений документов с использованием алгоритма «рулетки»

Reading time7 min
Views12K
В.А. Малых, Д.Л. Шоломов, В.В. Арлазаров


Для достижения хорошего качества распознавания критически важных полей на формах необходимо использовать дополнительную информацию. Зачастую для этого в формат распознаваемого поля специально вводится проверочный разряд или иная избыточная информация.

В данной статье предложен универсальный алгоритм «рулетки» для распознавания полей с проверочной функцией.
В статье также приведены результаты практической апробации предложенного алгоритма и, кроме того, дана общая классификация проверочных алгоритмов.

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

Мозг обрабатывает изображения за 13 миллисекунд

Reading time2 min
Views72K


Нейробиологи из Массачусетского технологического института установили минимальное время, в течение которого человеку нужно показывать изображение, чтобы мозг сумел его обработать. Показатель равен 13 миллисекундам. Это значительно меньше, чем предполагалось. Раньше учёные оценивали время обработки информации примерно в 100 миллисекунд.

Во время эксперимента испытуемым предлагалось сигнализировать, если они увидят определённый тип картинки, такой как «пикник» или «улыбающаяся пара», при этом им демонстрировали серию из 6 или 12 изображений с промежутком 13-80 миллисекунд. На иллюстрации выше показан образец такой последовательности кадров.
Читать дальше →

Введение в оптимизацию. Имитация отжига

Reading time10 min
Views191K
В этой статье я постараюсь максимально доходчиво рассказать о таком простом, но эффективном методе оптимизации, как имитация отжига (simulated annealing). А чтобы не быть причисленным к далёким от практики любителям теоретизировать, я покажу как применить этот метод для решения задачи коммивояжёра.

Для понимания статьи Вам понадобятся минимальные навыки программирования и владение математикой на уровне 9 класса средней школы. Статья рассчитана на людей не знакомых с методами оптимизации или только делающих первые шаги в этом направлении.

image


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

Делать hardware стартапы становится проще

Reading time6 min
Views78K
Компьютерная революция, не изменяя закону Мура, меняет наш мир последние три десятилетия. Вычислительная техника продолжает переворачивать наши представления о том, каким должен быть труд, отдых, коммуникации, экономика и вообще вся наша цивилизация. Однако и «бесполезных» сервисов в последнее время появляется все больше (фотошеренги с геолокацией), и для меня это признак того, что предельная полезность компьютерных технологий начинает уменьшаться.

Не пришло ли время для следующего технологического уклада, который позволит вывести цивилизацию человеков на качественно новый уровень? Судя по интересу со стороны государств и крупных корпораций (aka Google), да и просто с точки зрения личных убеждений основой нового технологического уклада могут стать биоинженерия и робототехника. Если, конечно, внезапно не наступит технологическая сингулярность!



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

Пару слов о распознавании образов

Reading time13 min
Views314K
Давно хотел написать общую статью, содержащую в себе самые основы Image Recognition, некий гайд по базовым методам, рассказывающий, когда их применять, какие задачи они решают, что возможно сделать вечером на коленке, а о чём лучше и не думать, не имея команды человек в 20.
image

Какие-то статьи по Optical Recognition я пишу давненько, так что пару раз в месяц мне пишут различные люди с вопросами по этой тематике. Иногда создаётся ощущение, что живёшь с ними в разных мирах. С одной стороны понимаешь, что человек скорее всего профессионал в смежной теме, но в методах оптического распознавания знает очень мало. И самое обидное, что он пытается применить метод из близрасположенной области знаний, который логичен, но в Image Recognition полностью не работает, но не понимает этого и сильно обижается, если ему начать рассказывать что-нибудь с самых основ. А учитывая, что рассказывать с основ — много времени, которого часто нет, становится всё ещё печальнее.
Распознать

Как живется Data Mining компании: задачи и исследования

Reading time4 min
Views17K
Привет, Хабр!

Наконец дошли руки Пришло время рассказать, чем занимается наша компания DM Labs в области анализа данных, помимо образовательной деятельности (о ней мы уже писали 1).

За прошлый год мы начали плотно сотрудничать с институтом роботехники fortiss при Техническом университете Мюнхена (TUM) (совместно учим роботов не убивать людей), выпустили прототип антифрод системы, участвовали в международных конференциях по машинному обучению, и, самое главное, смогли сформировать сильную команду аналитиков.

Теперь DM Labs объединяет в себе уже три направления: исследовательскую лабораторию, разработку готовых коммерческих решений и обучение. В сегодняшнем посте мы расскажем о них подробнее, подведем итоги прошедшего года и поделимся целями на будущее.
Читать дальше →

Обучение OpenCV каскада Хаара

Reading time8 min
Views199K
На хабре уже есть несколько статей и про то, что такое каскад Хаара (раз, два, три). Есть даже одна, где затронут процесс обучения, но в отношении описанной задачи. На тему обучения есть пара неплохих статей на английском (первая, вторая, третья), но, на мой взгляд, они путанные: либо рассказывают очень мало, либо слишком много и обо всём — выделить нужную мысль сложно.
image
В этой статье я попробую показать, как обучить каскад с нуля за несколько часов, натренировав на поиск простого предмета в видеопотоке (примером будет очаровательная сова с фотографии). Все обучающие выборки и программы будут приложены.
Зачем всё это нужно? Каскад Хаара это один из простейших способов распознавания классов объектов с большой скоростью работы. К ним относятся лица и руки людей, номера автомобилей, пешеходы. Детектором Хаара просто находить животных в кадре (кстати, удивительно, что я не видел ещё ни одной автоматической кормушки для синиц на raspberry pi). К тому же, готовые реализации OpenCV есть под большинство существующих систем (даже для blackfin'a встречал). Всё это делает Хаара одним из самых удобных методов, позволяющих решать задачи видеообработки даже людям, которые никогда не работали с обработкой видео.
Читать дальше →

Machine Learning. Курс от Яндекса для тех, кто хочет провести новогодние каникулы с пользой

Reading time8 min
Views266K
Новогодние каникулы – хорошее время не только для отдыха, но и для самообразования. Можно отвлечься от повседневных задач и посвятить несколько дней тому, чтобы научиться чему-нибудь новому, что будет помогать вам весь год (а может и не один). Поэтому мы решили в эти выходные опубликовать серию постов с лекциями курсов первого семестра Школы анализа данных.

Сегодня — о самом важном. Современный анализ данных без него представить невозможно. В рамках курса рассматриваются основные задачи обучения по прецедентам: классификация, кластеризация, регрессия, понижение размерности. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.



Читает курс лекций Константин Вячеславович Воронцов, старший научный сотрудник Вычислительного центра РАН. Заместитель директора по науке ЗАО «Форексис». Заместитель заведующего кафедрой «Интеллектуальные системы» ФУПМ МФТИ. Доцент кафедры «Математические методы прогнозирования» ВМиК МГУ. Эксперт компании «Яндекс». Доктор физико-математических наук.
Содержание и видео всех лекций курса

Python: вещи, которых вы могли не знать

Reading time8 min
Views314K
Python — красивый и местами загадочный язык. И даже зная его весьма неплохо, рано или поздно находишь для себя нечто такое, что раньше не использовал. Этот пост отражает некоторые детали языка, на которые многие не обращают внимание. Сразу скажу: многие примеры являются непрактичными, но, оттого, не менее интересными. Так же, многие примеры демонстрируют unpythonic стиль, но я и не претендую на новые стандарты — я просто хочу показать, что можно делать вот так.
Читать далее

Хитрые задачи по Java

Reading time7 min
Views117K
Совсем недавно я сдал OCA Java SE 7 Programmer I. За время подготовки успел решить огромное количество задач и извлечь из них много тонких моментов языка. Самые интересные и ловкие — сохранял на будущее. И вот у меня накопилась небольшая личная коллекция, лучшую часть которой я здесь и опишу.

В замечательной статье Знаешь ли ты JAVA, %username% и её второй части автор тоже поделился опытом после подготовки. Однако я пришёл к выводу, что могу добавить что-то своё. Так и зародилась эта статья.

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

Разработка технического задания (ТЗ) на программный продукт с точки зрения заказчика. Работаем над ошибками

Reading time7 min
Views113K
В недалеком прошлом на этом замечательном ресурсе была опубликована статья Разработка технического задания (ТЗ) на программный продукт с точки зрения заказчика. Статья — сама по себе неплохая — содержит, к сожалению, ряд неточностей, о которых следует упомянуть. Сделаем это в «один проход» по абзацам. По второму абзацу:
Надо сказать, что у каждой из этих заинтересованных сторон свои требования и свое видение того, каким должно быть «хорошо написанное ТЗ». Например, у заказчика и исполнителя могут быть совершенно противоположные мнения на этот счет.
Уточнения:
  1. Технические задания не пишут (составляют, подготавливают, оформляют и пр.), а разрабатывают, см. хотя бы п. 1.2 ГОСТ 34.602-89;
  2. Если заказчик и исполнитель руководствуются требованиями ГОСТов, то совершенно противоположных мнений у них в принципе быть не может и не должно. Если же взаимодействие осуществляется «по понятиям» — как сейчас принято — то без «плюрализЬма мнений» тут, конечно, никак не обойтись.
Читаем дальше, это любопытно...

Анализ временных рядов с помощью python

Reading time8 min
Views196K
Добрый день, уважаемые читатели.
В сегодняшней статье, я попытаюсь описать процесс анализа временных рядов с помощью python и модуля statsmodels. Данный модуль предоставляет широкий набор средств и методов для проведения статистического анализа и эконометрики. Я попытаюсь показать основные этапы анализа таких рядов, в заключении мы построим модель ARIMA.
Для примера взяты реальные данные по товарообороту одного из складских комплексов Подмосковья.
Читать дальше →

Java-программист в Петербурге. Обзор рынка труда с точки зрения соискателя. Часть 2/3. Подводные камни для «новичка»

Reading time14 min
Views24K
Часть 1/3. Какие бывают 'плюшки'.
Часть 3/3. Какие бывают работодатели. Характерные особенности.

Подводные камни для новичка.


Первые подводные камни, вообще-то, могут начаться ещё на собеседовании — например, проект новый, процесс интервьюирования ещё не налажен, первый вопрос может быть “Do you have a printed copy of your CV?” от иностранного представителя, в общем, на вас в качестве одного из подопытных кроликов этот процесс и будут отлаживать. Ещё вас могут внезапно поставить на “конвейер”: пропустить через три стадии собеседования по часу с лишним каждая сразу. Проблемы это может породить, если вы не подготовились к собеседованию или если у вас на это день назначены ещё другие собеседования. Но это так, к слову.

Общие соображения.

«Если кто-то виноват, то заранее ясно кто».

Во-первых, есть некоторая естественная склонность при возникновении непоняток (что там было про управленческие и коммуникативные навыки?), трений и, тем более, конфликтов с участием новичка истолковывать их не в его пользу. Даже если новичок прав, то всё равно есть причины чтоб его уволить: ‘менеджер не может с ним сработаться’, чел ‘не вписывается в неформальный корпоративный формат’ или ещё что-то в этом роде. Если такое “не сработался” повторится и со следующими, то или через пару-тройку кандидатов с кем-нибудь наконец сработаются или задумаются, а может быть «что-то в консерватории поправить». В общем, если вы кому-то из начальства или “старожилов” из тех, к мнению которым прислушиваются «внезапно» чем-то “не понравились” или почему-то вызываете у него постоянное желание подколоть вас или уязвить или продемонстрировать своё остроумие вместо чёткого и ясного выражения того, что от вас требуется, то, если дело «дойдёт до ручки», то ясно, кого будет проще уволить — новичка на испытательном сроке, которому надо заплатить за три дня, или «более полноправного» работника, которому надо при прекращении трудового договора не по его инициативе заплатить за два-три месяца и с которым уже как-то сработались? И если они за пару-тройку итераций всё же найдут кого хотят и с кем сработаются, то спишут случай с вами на “мало ли что бывает”. Да ещё и вопрос, захотите ли сами работать в такой обстановке.
Читать дальше →

От умного дома к умным корпорациям

Reading time20 min
Views53K
«… Если бы в этот момент мистер Рипли вывел нас во двор и, оборотясь к дому, сказал: «Стань, домик, к Нью-Йорку задом, а ко мне передом», и домик, подобно избушке на курьих ножках, выполнил бы эту просьбу при помощи электричества, мы бы не слишком удивились.»
Ильф и Петров. Одноэтажная Америка. 1935г.


Часть первая


Введение





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

Реализация резервного копирования на хардлинках под Windows

Reading time4 min
Views21K
Идеей написания этой статьи и создания программы в частности послужил рассказ Oleg_Sh о том, как он из подручных инструментов создал средство для резервного копирования, которое использует хардлинки как замену дублирующихся файлов. Эта идея оказалась настолько простой и гениальной, и всегда лежала на поверхности, что было решено — нужно и себе прикрутить такую штуку. Тем более мне нужна была очень похожая функциональность и я время от времени искал что-то очень простое на замену платным или громоздким комбайнам, которые к тому же не делали именно то, что требовалось для моих задач.

А требовалось не так уж много — во-первых в любой момент времени копировать любые файлы, в том числе работающие базы данных, чтобы не заставлять людей выходить из программ даже на ночь, и копировать быстро; во-вторых иметь возможность очень быстро восстановить данные из резервной копии (хранение данных «как есть» идеально), в третьих хранить как можно больше резервных копий, и не лишь бы как, а с полной структурой данных. Все эти задачи как нельзя лучше реализуются с помощью теневого копирования и использования хардлинков. Но вот та реализация — на куче батников и с использованием портированной версии rsync (которая к тому же требовала кучу библиотек cygwin и имела проблемы с нестандартными символами), мне совсем не понравилась. Стал искать альтернативы, но найти именно то, что подходило бы мне идеально, не удалось. Поэтому было решено — нужно сделать проще и лучше, и не только себе, но и коллегам.
Читать дальше →

Пример решения задачи множественной регрессии с помощью Python

Reading time6 min
Views133K

Введение


Добрый день, уважаемые читатели.
В прошлых статьях, на практических примерах, мной были показаны способы решения задач классификации (задача кредитного скоринга) и основ анализа текстовой информации (задача о паспортах). Сегодня же мне бы хотелось коснуться другого класса задач, а именно восстановления регрессии. Задачи данного класса, как правило, используются при прогнозировании.
Для примера решения задачи прогнозирования, я взял набор данных Energy efficiency из крупнейшего репозитория UCI. В качестве инструментов по традиции будем использовать Python c аналитическими пакетами pandas и scikit-learn.
Читать дальше →

Continuous Integration вместе с buildbot: а зачем?

Reading time2 min
Views10K

В прошлом посте я хотел познакомить хабражителей с buildbot'ом. Но тема была мной раскрыта не до конца.
Сегодня я постараюсь немного наверстать упущенное.
Читать дальше →

Задача изменения голоса. Часть 1. Что такое голос?

Reading time12 min
Views55K
Этим постом мы хотели бы начать цикл статей, посвященных задаче изменения голоса. В зарубежной литературе данную задачу часто именуют термином voice morphing, в отечественной литературе данная задача ещё не получила достаточного освещения как в научных, так и в инженерных кругах. Тема является достаточно обширной и во многом творческой. В результате работы в данном направлении у нас накопился определенный опыт, который мы планируем систематизировать и изложить, а также передать основную суть некоторых алгоритмов.

image

Изменение голоса может преследовать разную цель. Два основных направления, которые тут однозначно можно выделить – это получение реалистичного звучания измененного голоса и получение некоторого причудливо-фантастичного звучания. Неплохих результатов во втором случае вполне можно добиться, обрабатывая речевой сигнал как обычный звук, не заостряя внимание на его особенностях и делая многие допущения. Например, индустрия электронной музыки породила колоссальное количество разнообразных аудио-эффектов и результат их применения к речевому сигналу помогает создать самый невероятный образ говорящего.
В задаче реалистичного изменения голоса применение «музыкальных» (назовем их так) аудио-эффектов может привнести искажения, не характерные для натуралистичного звучания речи. В подобном случае необходимо более точно понимать, из каких звуков состоит речь, как они образуются и какие их свойства являются критическими для восприятия. Проще говоря — необходимо производить анализ сигнала перед его обработкой. При автоматизированной обработке речевого сигнала в реальном времени этот анализ усложняется многократно, т.к. умножается количество неопределенностей, которые надо как-то попытаться разрешить, и сокращается количество применимых алгоритмов.
В ближайших статьях мы рассмотрим варианты простейшей реализации таких эффектов, как изменение пола говорящего и изменение возраста говорящего. Чтобы читатель лучше понимал, какие параметры сигнала будут изменяться, в первых статьях будут затронуты основные вопросы образования звуков речи и способы формального описания речевого сигнала. После этого уже будут обсуждаться конкретные предлагаемые алгоритмы изменения голоса, их сильные и слабые стороны.

P.S.
Добавил дополнительные ссылки на первоисточники

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

Information

Rating
Does not participate
Registered
Activity