Как стать автором
Обновить
11
0
Максим @slupoke

Пользователь

Отправить сообщение

Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов

Время на прочтение25 мин
Количество просмотров4.6K

Привет, Хабр! Меня зовут Кирилл Колодяжный, я разрабатываю системы хранения данных в YADRO и изучаю нестандартные подходы к машинному обучению: создаю ML-проекты на С++. 

Это вторая часть цикла о разработке приложения для обнаружения предметов на С++. В прошлом материале мы выяснили, как создать проект в IDE Android Studio, реализовать сессию непрерывного захвата и преобразовать изображение в матрицу OpenCV. Ссылку вы найдете в конце статьи.

В этой статье продолжим реализацию проекта и обсудим следующие шаги:

• Как подключить к проекту библиотеки машинного обучения PyTorch и NCNN.

• Как получить модели YOLOv5 и YOLOv4 для использования на мобильном устройстве.

• Как реализовать инференс моделей для обнаружения объектов.

• Как обработать результаты работы моделей YOLO, реализовав алгоритмы Non-Maximum-Suppression и Intersection-Over-Union.

В конце сравним производительность PyTorch и NCNN и решим, какой фреймворк подойдет для задачи лучше.

Читать далее
Всего голосов 18: ↑17 и ↓1+23
Комментарии5

Специалисты по информатике объединили два «красивых» метода доказательства

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.6K

Как доказать, что что-то истинно? Для математиков ответ прост: начните с базовых предположений и шаг за шагом дойдите до вывода. ЧТД, доказательство завершено. Если где-то есть ошибка, эксперт, внимательно прочитавший доказательство, сможет её заметить. В противном случае доказательство должно быть верным. Математики придерживаются этого базового подхода уже более 2 000 лет.

Затем, в 1980-х и 1990-х годах, учёные-информатики переосмыслили, каким может быть доказательство. Они разработали головокружительное разнообразие новых подходов, и когда пыль осела, два изобретения стали особенно заметны: доказательства с нулевым знанием, которые могут убедить скептика в истинности утверждения, не раскрывая причин его истинности, и вероятностно проверяемые доказательства, которые могут убедить читателя в истинности доказательства, даже если он видит лишь несколько крошечных фрагментов.

Читать далее
Всего голосов 10: ↑8 и ↓2+10
Комментарии2

Идет расследование беспрецедентного по масштабам подлога в исследованиях нейродегенерации

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров30K

Падение на дно профессиональной этики титана исследований шокировало научное сообщество. Невропатолог Элиезер Маслия, автор более чем 800 научных статей, специалист с мировым именем в изучении α -синуклеина (белка, играющего важную роль в патогенезе болезней Альцгеймера и Паркинсона), обвинен в фальсификации изображений в публикациях на протяжении 26 лет.

26 сентября 2024 Национальный институт старения (NIA) объявил о снятии Маслия с должности научного директора Отдела нейронаук после девятимесячного внутреннего расследования, заключившего: «в двух публикациях обнаружены фальсификация и/или фабрикация данных, выражающаяся в повторном использовании одних изображений для иллюстрации результатов различных экспериментов».

В тот же день журнал «Science» опубликовал расследование репортера Чарльза Пиллера и команды аналитиков изображений, которые подготовили 286-страничный отчет по 132 статьям с дублированными или подделанными изображениями. Все результаты авторы выложили для peer-review по ссылке.

Читать далее
Всего голосов 106: ↑105 и ↓1+143
Комментарии161

Google Dorking или используем Гугл на максимум

Время на прочтение21 мин
Количество просмотров261K

Вступление


Google Dorks или Google Hacking — техника, используемая СМИ, следственными органами, инженерами по безопасности и любыми пользователями для создания запросов в различных поисковых системах для обнаружения скрытой информации и уязвимостях, которые можно обнаружить на общедоступных серверах. Это метод, в котором обычные запросы на поиск веб-сайтов используются в полную меру для определения информации, скрытой на поверхности.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+29
Комментарии7

Как работает альфа-композитинг

Время на прочтение23 мин
Количество просмотров24K
image

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

В своей статье я хочу показать, что на самом деле прозрачность в цифровых изображениях намного интереснее, чем кажется — в том, что мы воспринимаем как нечто само собой разумеющееся, есть невидимая глубина и красота.
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии15

Notion умер, да здравствует Obsidian

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров42K

Пару дней назад у меня, как и у многих пользователей, появилось предупреждение об уходе Notion из России. Я начал срочно искать альтернативу сервису, которым я пользовался более 5 лет.

В Notion я хранил личные задачи и заметки. Notion был базой знаний моей жизни. Он повидал бюджет на свадьбу и бюджет на переезд. Он даже повидал план ремонта! Это приложение было всегда открыто на моём компьютере.

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

Читать далее
Всего голосов 36: ↑31 и ↓5+31
Комментарии172

Коты в коробочках, или Компактные структуры данных

Время на прочтение12 мин
Количество просмотров28K

image


Как быть, если дерево поиска разрослось на всю оперативку и вот-вот подопрет корнями соседние стойки в серверной? Что делать с инвертированным индексом, жадным до ресурсов? Завязывать ли с разработкой под Android, если пользователю прилетает «Память телефона заполнена», а приложение едва на половине загрузки важного контейнера?


В целом, можно ли сжать структуру данных, чтобы она занимала заметно меньше места, но не теряла присущих ей достоинств? Чтобы доступ к хэш-таблице оставался быстрым, а сбалансированное дерево сохраняло свои свойства. Да, можно! Для этого и появилось направление информатики «Succinct data structures», исследующее компактное представление структур данных. Оно развивается с конца 80-х годов и прямо сейчас переживает расцвет в лучах славы big data и highload.


А тем временем на Хабре найдется ли герой, способный пересковоговорить три раза подряд
[səkˈsɪŋkt]?

Читать дальше →
Всего голосов 127: ↑127 и ↓0+127
Комментарии43

Часть 2. Управление знаниями в Obsidian. Базовый рабочий процесс. Журнал. Источники и их библиотеки. Пример

Уровень сложностиСложный
Время на прочтение44 мин
Количество просмотров201K

В этой статье будет показано как можно начать организовывать свою базу знаний в Obsidian, отталкиваясь от источников. В статье будет разобрано то, какие стоит использовать папки и теги; как создать свою первую точку входа в систему. Также будет уделено внимание способу ведения журнала (дневника). Статья будет предполагать, что вы не против автоматизации процессов в своей базе знаний, поэтому все источники будут шаблонизированы и впоследствии собраны в свои отдельные библиотеки с помощью Dataview. Завершится статья подробным примером (алгоритмом) рабочего процесса.

Погнали
Всего голосов 23: ↑20 и ↓3+19
Комментарии65

Obsidian — Notion свободного человека

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров96K

Notion объявили, что уходят из России и 9 сентября блокируют аккаунты пользователей.

Пока не понятно до конца, касается ли это в том числе пользователей, которые используют бесплатный функционал.

Для любителей Ноушена это большая проблема, для любителей Обсидиана это возможность сказать: "Мы же вам говорили" и начать хвастаться своими кастомными обсидианами.

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

Год назад перевёл все свои заметки в Обсидиан. Причина простая: Обсидиан может гораздо больше вещей, чем Notion.

О том, почему не стоит расстраиваться и даже наоборот, открыть большой, новый мир возможностей...

Читайте в статье
Всего голосов 121: ↑115 и ↓6+128
Комментарии266

Obsidian + Dataview: Таблицы

Время на прочтение8 мин
Количество просмотров85K

На статью меня вдохновил этот комментарий .

Dataview - это мощный плагин для Obsidian позволяющий отбирать данные (теги, даты, числа и любые другие пользовательские параметры) markdown-заметок, а затем их фильтровать и отбирать как пожелаешь.

Это такой своеобразный аналог Notion-таблиц, где можно создать таблицу с бесконечной вложенностью (таблица, внутри одной ячейки, а внутри еще таблица и еще и еще).

На КДПВ как раз собраны четыре кейса реализации функционала плагина Dataview.

Как всё это работает

1. Dataview работает на встроенном языке запросов

2. Все запросы должны писаться внутри подобного блока кода:

А разбирать каждый кейс будем под катом.
Всего голосов 26: ↑26 и ↓0+26
Комментарии38

GTD за 15 минут: прагматическое руководство

Время на прочтение14 мин
Количество просмотров39K

GTD (Getting Things Done, Доведение дел до завершения) — это методика организации и отслеживания задач и проектов. Но эта методика, правда, ориентирована на нечто большее, чем только на «доведение дел до завершения». (Ей стоило бы называться «Доведение дел до завершения гораздо лучшим способом, чем просто позволяя чему-то идти своим чередом, что часто получается не так, чтобы очень уж хорошо»). Цель GTD — сделать так, чтобы человек полностью доверял бы системе сбора задач, идей и проектов. Это относится и к туманным задачам, вроде «сделать самое великое изобретение», и к конкретным делам, вроде «позвонить Аде 25 августа чтобы обсудить программу конференции». Речь идёт абсолютно обо всём!

Читать далее
Всего голосов 17: ↑15 и ↓2+25
Комментарии12

Освоение любой темы с помощью искусственного интеллекта и метода Фейнмана

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров59K

Когда в последний раз вы сталкивались с трудной для понимания темой? Или проводили часы за просмотром обучающих видео на YouTube?

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

В этой статье я расскажу, как эффективно применять метод Фейнмана и использовать искусственный интеллект для восполнения пробелов в знаниях.

По окончании чтения вы научитесь использовать ChatGPT для разбора сложных концепций и их интуитивного освоения всего за четыре простых шага.

Читать далее
Всего голосов 54: ↑42 и ↓12+38
Комментарии29

4 тысячи заметок?! Как я веду личную базу знаний в Obsidian

Время на прочтение6 мин
Количество просмотров58K

В моей базе знаний 4 000 заметок.

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

Читать далее
Всего голосов 52: ↑45 и ↓7+50
Комментарии108

Эффективное ведение дел или Obsidian + GTD

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров76K

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

Существующие приложения, как правило, не могут предоставить готовое решение для работы в таком контексте. Приходится придумывать или создавать что-то свое. Самое простое — это начать с каких-то стандартных заметочников, например Evernote или OneNote, и приспособить их под себя. Однако с появлением Roam-подобных программ пришло понимание, что можно создать очень гибкую систему, которую легко настроить под ведение любого вида задач, проектов и хранение различного типа связанной с ними информации. В этой статье познакомимся с примером настройки и практического использования маркдаун-заметочника Obsidian совместно с методологией Getting Things Done (GTD) Дэвида Аллена.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии38

Часть 1. Управление знаниями в Obsidian. Обработка информации. Рабочий процесс. Источники информации. Работа с заметками

Уровень сложностиСложный
Время на прочтение40 мин
Количество просмотров237K

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

Начнём долгий путь
Всего голосов 34: ↑31 и ↓3+37
Комментарии77

Сети для самых маленьких

Время на прочтение2 мин
Количество просмотров108K


На хабре уже была попытка пользователя zepps начать серию публикаций о настройке оборудования cisco и практической стороне сетевых технологий, но, к сожалению, на первых двух статьях дело остановилось. Это было время моего становления, как специалиста в этой области и zepps сурово обломил меня отсутсвием продолжения.
Многократно пользователи здесь публиковали отрывочные топики о теоретической составляющей, решение сложных задач, куски из википедии или xgu.ru, но более менее цельной серии с информацией, которая непонятна после чтения цисковских книг при отсутсвии практики таки не было.
Поэтому мне пришло в голову снять несколько обучающих роликов с подробным описанием, начиная с настройки VLAN на свитчах, заканчивая… пока не знаю, чем заканчивая (может, OSPF, BGP, а может и чуточку дальше). Теории будет немного, в основном практика на PacketTracer и GNS3, с перечислением более или мене часто встречающихся трудностей.
Читать дальше →
Всего голосов 32: ↑17 и ↓15+2
Комментарии17

Тысяча и одна библиотека С++

Время на прочтение65 мин
Количество просмотров31K

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

Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.

Прикоснуться к сокровищнице языка С++
Всего голосов 82: ↑81 и ↓1+92
Комментарии23

Расстояние Махаланобиса

Время на прочтение24 мин
Количество просмотров22K

Основной смысл использования метрики Махаланобиса
1. Термины и определения
2. Расстояние Махаланобиса между двумя точками и между точкой и классом
2.1. Теоретические сведения
2.2. Алгоритм вычисления расстояния между двумя точками и между точкой и классом
2.3. Пример вычисления расстояния между двумя точками и между точкой и классом
3. Расстояние Махаланобиса между двумя классами
3.1. Теоретические сведения
3.2. Алгоритм вычисления расстояния между двумя классами
3.3. Пример вычисления расстояния между двумя классами
4. Расстояние Махаланобиса и метод k-ближайших соседей
5. Взвешенное расстояние Махаланобиса
6. Заключение

Если есть замечания или ошибки, пишите на почту quwarm@gmail.com или в комментариях.

Читать далее
Всего голосов 27: ↑26 и ↓1+32
Комментарии7

И целых 20 ядер мало

Уровень сложностиПростой
Время на прочтение27 мин
Количество просмотров19K

Если вы посмотрите на общую раздутость современного софта, загружаемые 100 гигабайтные игры, ежегодную Nvidia X090 дающую +20% год от года, и 20-ядерные процессоры, то со стороны может показаться, что оптимизация производительности неважно чего, будь то игры или другой софт, казалось бы, утратила свою актуальность. В эпоху безнаказанной производительности аппаратной части можно расплескивать хоть половину этой мощи, и пользователь этого даже не заметит. Это все может и верно, если вы не делаете игру. Почему же тогда на этих двадцати ядрах, фризит и тормозит (хорошо что не вылетает часто) игра выпущенная два года назад?

Почему тормозит я вам не скажу: возможно разработчики, которые делали её (на не самом новом движке, надо сказать) просто делали игру и не задумывались о рядовых игроках, которые сидят на пятилетнем железе, хотя даже пятилетнее железо уделывает приставки текущего поколения. Возможно это другая причина - когда твоя рабочая машина с 64 гибайтами оперативки и 4080 на борту тянет редактор, то беспокоиться об игроках можно начинать после патча первого дня.

При том, что все эти 30 — 60 — 120 — 200 фпс в играх, это чисто маркетинговый показатель, это время с которой движок может создавать фреймы для видеокарты, но движок это не только картинка, есть физика — а она как работала на 30 фпсах 10 лет назад, так и работает. Или звуковая подсистема, так она вообще своей отдельной жизнью живет в своих приоритетных тредах, мы просто кидаем туда меседжи с настройками и номером фрейма, чтобы засинхронизировать это с картинкой. Это сложно, но решаемо, но звук не привязан к картинке.

Налево пойдешь проца не хватит...
Всего голосов 58: ↑58 и ↓0+76
Комментарии53

Как не попасть к психологу? Зоны риска, которые вы можете перекрыть самостоятельно

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров9.7K

Всем добрый день! Последние годы руководители и IT-специалисты составляют примерно 70% моих клиентов, поэтому, проанализировав запросы (а я веду для себя такую статистику), я смог выделить некоторые общие паттерны и закономерности, которые встречаются чаще всего. По итогу, у меня получился список тем, которые наиболее актуальны для людей данных сфер. В этой статье я попробую разобрать самые популярные зоны риска и расставить "красные флажки", на которые имеет смысл обратить внимание, чтобы предотвратить (или минимизировать) психологические затруднения на своём жизненном пути.

Изначально хотелось назвать статью как-то вроде "10 вещей, которые нужно прояснить к 30 годам", но потом решил не ограничивать себя 10 пунктами. А потом подверг сомнению число "30", потому что это актуально и для 25, и для 35, и для 40. По итогу, назвал так, как назвал. Считайте, что это некий чек-лист ментального благополучия. И не просто чек-лист, а еще инструментарий для работы с каждым из пунктов. Не могу обещать, что будет интересно, но полезно - точно.

В кроличью нору
Всего голосов 18: ↑13 и ↓5+14
Комментарии26
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность