Search
Write a publication
Pull to refresh
-17
-0.1
Дмитрий @DmitriiR

R&D

Send message

Свободные инструменты для программирования FPGA

Level of difficultyMedium
Reading time4 min
Views3.1K

Подборка свободных инструментов для программирования FPGA, включающая в себя средства поддержки языков HDL, синтезаторы, симуляторы и некоторые другие.

Читать далее

Самоорганизация неприятностей

Level of difficultyMedium
Reading time9 min
Views6.6K

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

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

Читать далее

Бесплатная аналитика аж для 5 маркетплейсов, конструктор симуляторов – и еще 8 российских стартапов

Reading time4 min
Views2K

10 новых российских продуктов для отслеживания платных подписок, организации взаимного пиара Telegram каналов, анализа нормативной документации, заказа домашней еды по вашим рецептам и многого другого. Битва за «Продукт недели» началась!

Product Radar — здесь каждую неделю публикуются лучшие онлайн-сервисы и железки от русскоязычных команд.

Читать далее

Про самодельную систему активного шумоподавления для городской квартиры

Level of difficultyMedium
Reading time10 min
Views40K
Картинка Freepik

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

В этой статье мы посмотрим, что можно сделать для защиты своего жилища от агрессивного звукового фона окружающей городской среды, и упор сделаем на способ электронного шумоподавления…
Читать дальше →

Обработка аудио на ESP32

Level of difficultyMedium
Reading time15 min
Views12K

В этой статье я хочу поделиться своим опытом портирования проекта распознавания музыкальных жанров аудиозаписей на ESP32-C3. Исходный проект взят из репозитория книги TinyML-Cookbook_2E.
При анализе речи или других звуков важно выделить такие характеристики, которые отражают строение сигнала, но при этом не зависят от конкретных слов, громкости и других мешающих факторов. Для этого используют cepstrum, mel-cepstrum и MFCC - это шаги преобразования, которые переводят звук в удобную для анализа форму.

Читать далее

Быстрое приближённое умножение и деление чисел с плавающей точкой

Level of difficultyHard
Reading time27 min
Views7K

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

Читать далее

Цветовая вычислительная фотография. Часть 1: Теория цвета

Level of difficultyEasy
Reading time9 min
Views3.5K

Приветствую! Меня зовут Егор Ершов, я руковожу группой «Цветовая вычислительная фотография» в AIRI, а также заведую сектором репродукции и синтеза цвета ИППИ РАН. Область моих научных интересов касается способов регистрации и обработки изображений, что в той или иной степени касается любого человека, кто хоть раз пользовался камерой, монитором или проектором.

Вычислительная фотография лежит на стыке сразу нескольких дисциплин: физики, физиологии, компьютерных наук. Из‑за этого в ней ещё много сложного, но вместе с тем интересного и неизвестного. Я подготовил полноценный курс по алгоритмам вычислительной фотографии для МФТИ и ВШЭ, но мне также хотелось бы поделиться со всеми желающими его материалами в текстовом формате.

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

Читать далее

Как работает Трансформер: очень простое описание

Level of difficultyEasy
Reading time5 min
Views9.5K

Вот очень простое объяснение для тех, кто не хочет вдаваться в сложную математику, но и не готов принимать эту ключевую технологию как магию, которая просто работает. Конечно, никакого волшебства тут и нет — идея на самом деле довольно проста.

Читать далее

Приложение для Android: Справочник по DC-DC микросхемам с функцией подбора по параметрам и типовыми схемами включения

Level of difficultyEasy
Reading time3 min
Views6K

В одном из комментариев к статье о приложении SMD CODES было предложено сделать отдельное приложение о микросхемах питания DC-DC (импульсные преобразователи напряжения).

В мире электроники и проектирования устройств DC-DC преобразователи играют ключевую роль. Они позволяют эффективно преобразовывать напряжение, что особенно важно для портативных устройств и бытовой технике. Однако, выбор подходящей микросхемы DC-DC преобразователя может быть сложной задачей, особенно для начинающих инженеров. Именно для таких случаев было разработано новое приложение для Android — мощный справочник по DC-DC микросхемам с функцией подбора по параметрам.

Читать далее

Виноград, Фурье и немного наивности: 4 подхода к реализации сверток с простыми примерами

Level of difficultyMedium
Reading time9 min
Views9K

Привет, Хабр! Меня зовут Кирилл Колодяжный, я работаю в YADRO и продолжаю изучать машинное обучение на С++. Я уже писал, как реализовать модели для распознавания лиц на фото и для поиска объекта в пространстве с помощью computer vision. Ссылки на материалы ищите в конце статьи.

Сегодня затрону «математическую» тему и расскажу о реализации сверток: что это за операция и какие есть алгоритмы для вычисления. Приведу простые примеры с кодом, чтобы вы могли опробовать решения.

У статьи будет вторая часть: про особенности реализации одного из этих алгоритмов с использованием CUDA в рамках фреймворка PyTorch и про то, как адаптировать его под свои задачи.

Читать далее

Параллельные вычисления, конкурентность и асинхронное программирование в Python: обзор для начинающих

Level of difficultyEasy
Reading time12 min
Views9K

Однопоточные приложения на Python ограничены в производительности: они выполняют задачи последовательно и не используют преимущества многоядерных процессоров. Кроме того, такие программы не справляются с обработкой множества операций одновременно, особенно если речь идет о задачах, связанных с вводом-выводом, например сетевыми запросами или чтением файлов.

Производительность можно значительно улучшить, внедрив в код параллельные вычисления, конкурентность или асинхронное программирование. Для этого Python предлагает такие инструменты, как multiprocessing, threading и asyncio.

Читать далее

Забытые концепции прошлого: как Дзен Palm взрастил лучшую мобильную ОС и приложения для неё более 25 лет назад?

Level of difficultyEasy
Reading time19 min
Views1.7K

Я люблю историю развития компьютерной индустрии. На днях мне попался к чтению цикл статей «Удивительный и забытый Palm», в которых рассказывалось, как Palm, Inc. удалось создать класс устройств на новой мобильной ОС — Palm OS, которые сначала захватили 80% рынка карманных компьютеров, а после ушли в забвение из-за принятия некоторых неверных решений и скорого прихода iOS/Android.

Однако тот цикл был посвящён в первую очередь самим устройствам и операционной системе. Меня же особо привлекла ссылка на «Zen of Palm» — брошюру, содержащую философию и руководство компании Palm по разработке приложений для устройств на Palm OS.

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

Удивительно, как столь проработанный документ почти не имеет упоминаний в современном интернете, особенно в его русскоязычной части. Текст, который вы прочитаете ниже, является несколько вольным переводом этого документа — с сокращением многочисленно повторяющихся или малозначимых тезисов, а также с добавлением описания тех возможностей, которые не были указаны в изначальном тексте, и о которых не знает сегодняшний читатель.

Погрузиться в Дзен Palm

Как создать первую модель машинного обучения на Python: гид для начинающих

Level of difficultyEasy
Reading time6 min
Views9.6K

Инструкция для новичков в Machine Learning с примерами кода и популярными библиотеками

Умение создать собственную модель машинного обучения — это обязательно для дата-сайентистов и хороший дополнительный навык для программистов. Разбираемся на практике, как это сделать. 

Читать далее

Крошечный веб-сервер на ESP32

Reading time12 min
Views15K

В этой статье мы рассмотрим использование ESP32 в качестве веб-сервера для администрирования вашего DIY-устройства. Пожалуй, веб-интерфейс сейчас является наиболее распространенным способом удаленного управления различным оборудованием и приложениями, опережая столь любимую инженерами командную строку. Для работы через веб-интерфейс нужен только браузер и не требуется какой-либо толстый клиент.

В качестве примера наш веб-сервер будет управлять парой светодиодов, в соответствии с представленной схемой. Соответственно, на плате ESP у нас будет размещен веб-сервер, с кнопками включения диодов.

Читать далее

МЭМС акселерометры, магнитометры и углы ориентации

Reading time8 min
Views40K


При разработке устройств, в которых необходимо оценивать углы ориентации, может встать вопрос — какой МЭМС датчик выбрать. Производители датчиков приводят множество параметров, из которых нам требуется получить полезную информацию о качестве датчика.

Чтобы понять, на какие точности углов мы можем рассчитывать, нужно приложить некоторое количество усилий.

TL;DR: Описан небольшой скрипт для Octave/MATLAB, позволяющий оценить ошибки расчёта углов ориентации по измерениям МЭМС акселерометров и магнитометров. На входе скрипта — параметры датчиков из даташитов (и/или погрешности калибровки). Статья может быть полезна тем, кто начинает использовать инерциальные датчики в своих устройствах. Небольшой ликбез по датчикам прилагается. Ссылка на гитхаб тоже.
Вот как мы решили эту задачу:

Робот-танк на Raspberry Pi с OpenCV

Reading time6 min
Views36K
Одно время я увлекался сборкой роботов-машинок на Ардуино и Raspberry Pi. Играть в конструктор мне нравилось, но хотелось чего-то большего.

И как-то раз, блуждая по Алиэкспрессу, я набрел на алюминиевое шасси для танка. Выглядело это творение в сравнении с машинками из пластика как Феррари в сравнении с телегой.
Читать дальше →

DIY тепловизор на Raspberry PI или «Кажется теперь я знаю, чем займусь этим летом»

Reading time6 min
Views105K
image

Всем привет!

Пришла зима, а с ней и задача проверить теплоизолирующие свойства построек загородной резиденции дачи. А тут ещё оказалось, что на известном китайском сайте появились вполне доступные тепловизионные модули. Не собрать ли себе экзотическую и, возможно, даже полезную вещь — самодельный тепловизор? Почему бы и нет, вроде и Raspberry где-то валялась… Что из этого вышло — расскажу под катом.
Читать дальше →

Следование линии на основе OpenCV

Reading time4 min
Views17K
Сейчас очень популярны курсы по созданию автопилотов для машин. Вот эта нано-степень от Udacity — самый наверное известный вариант.

Много людей по нему учатся и выкладывают свои решения. Я тоже не смог пройти мимо и увлекся.

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

Кросс-компиляция OpenCV 4 для Raspberry Pi и BeagleBone Black

Reading time11 min
Views13K
Всем привет.

Когда я захотел установить OpenCV на свою малинку для одного проекта, я был сильно разочарован результатом. Оказалось, что для новых версий образов Raspbian с поддержкой Python3.7 невозможно установить из репозитория библиотеку столь привычной командой pip install.
Читать дальше →

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Registered
Activity