Я уже как-то делал пост о распознавании символов.
Сегодня хочу рассказать о прикладном применении нейронок для распознавания символов, с которым сталкиваются практически все😎
Речь пойдет о распознавании номеров транспортных средств.
Вам может показаться, что это в целом ничем не отличается от обычного распознавания текста, но есть некоторые особенности.
📌 Прежде чем определять номер, нужно выяснить, где он вообще расположен на кадре
📌 При распознавании номеров нас интересуют не просто отдельные символы, а последовательности символов, используемых в номерах разных стран 🌐
📌 При детекции номера в видеопотоке не обойтись без трекинга:
📌 Хоть количество допустимых символов ограничено (и в идеале они написаны черным по белому), никто не отменял загрязнение номера, а значит, детекторы должны быть натренированы "читать" номера в сложных ситуациях - когда, например, часть символа просто скрыта 🧟 грязью.
Как видите, распознавание номера и определение скорости ТС весьма непростая задача.
Всё, что выше указал, это проблемы нейронок. Но есть и отдельная большая проблема по работе самих камер. Напишу обо всём подробнее в отдельных постах☝️
Сегодня хочу рассказать о прикладном применении нейронок для распознавания символов, с которым сталкиваются практически все
Речь пойдет о распознавании номеров транспортных средств.
Вам может показаться, что это в целом ничем не отличается от обычного распознавания текста, но есть некоторые особенности.
Каждый отдельный кадр на отрезке видео может содержать один и тот же номер, и камера должна это распознавать и не дублировать события об определении нового номера. А так же для определения скорости транспортного средства.
Как видите, распознавание номера и определение скорости ТС весьма непростая задача.
Всё, что выше указал, это проблемы нейронок. Но есть и отдельная большая проблема по работе самих камер. Напишу обо всём подробнее в отдельных постах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🙏30❤27👏19🔥8💯2🥰1
Сегодня поговорим о том, как нейронки определяют где находится автомобильный номер.
Общепринятым является каскадный подход - сначала находим машину, потом находим сам номер, а потом уже "читаем" 📖 его.
Чаще всего для поиска машин подходит нейросеть YOLOv8n. Она легковесная и быстрая, а это критично важно, так как позволяет запустить её прямо на самой камере со встроенным NPU.
Мощности камеры на много не хватит, поэтому есть ещё вариант с edge-сервером, который устанавливается рядом с камерой или обслуживает сразу несколько камер в одном месте.
На этапе поиска 🚘 машины детектору можно дать подсказку.
Мы можем использовать эту информацию и:
▪️ определить под каким углом и в каком направлении едет машина в указанном участке
▪️ убрать необходимость анализировать целый кадр
▪️ выполнить постобработку изображения
Далее нейронка ищет в выбранной части кадра расположение номера.
После этого детектор запускает трекинг объекта, и если на последующих кадрах определяется один и тот же объект, то нет необходимости заново определять что это машина, где находится номер и т.д.
На последнем этапе происходит следующее:
☑️ Проверка что в найденной области действительно есть номер
☑️ Сглаживание изображения и удаление артефактов от видеокодека
☑️ Корректировка перспективы кадра (камера может снимать видео под углом, а для распознавания номера лучше иметь изображение будто мы смотрим на него под прямым углом)
С поиском номера и подготовкой изображения закончили. На очереди распознавание номера, о котором расскажу в следущий раз.
Общепринятым является каскадный подход - сначала находим машину, потом находим сам номер, а потом уже "читаем" 📖 его.
Чаще всего для поиска машин подходит нейросеть YOLOv8n. Она легковесная и быстрая, а это критично важно, так как позволяет запустить её прямо на самой камере со встроенным NPU.
Мощности камеры на много не хватит, поэтому есть ещё вариант с edge-сервером, который устанавливается рядом с камерой или обслуживает сразу несколько камер в одном месте.
На этапе поиска 🚘 машины детектору можно дать подсказку.
Изображение с камеры двумерное, но так как камера зафиксирована в одном положении, и мы знаем на какую именно часть дороги она "смотрит".
Мы можем использовать эту информацию и:
▪️ определить под каким углом и в каком направлении едет машина в указанном участке
▪️ убрать необходимость анализировать целый кадр
▪️ выполнить постобработку изображения
Далее нейронка ищет в выбранной части кадра расположение номера.
После этого детектор запускает трекинг объекта, и если на последующих кадрах определяется один и тот же объект, то нет необходимости заново определять что это машина, где находится номер и т.д.
На последнем этапе происходит следующее:
☑️ Проверка что в найденной области действительно есть номер
☑️ Сглаживание изображения и удаление артефактов от видеокодека
☑️ Корректировка перспективы кадра (камера может снимать видео под углом, а для распознавания номера лучше иметь изображение будто мы смотрим на него под прямым углом)
С поиском номера и подготовкой изображения закончили. На очереди распознавание номера, о котором расскажу в следущий раз.
👍24🔥20🤝20🥰11🤔7❤3👏1
Ещё помните мои посты про эволюцию компьютерной мышки?
1️⃣ Первый прототип мышки
2️⃣ Шариковые мышки
3️⃣ Оптические и лазерные мышки
4️⃣ Характеристики современных мышек
И теперь вот вам обещанный розыгрыш вертикальной компьютерной мышки.
Вам для участия в розыгрыше нужно следующее:
❗️ Быть подписанным на мой канал
❗️ Нажать УЧАСТВОВАТЬ под постом
❗️ Иметь поблизости пункт выдачи OZON.
И всё!
✅ Итоги подведу 17 октября в 21:00 по МСК!
1️⃣ Первый прототип мышки
2️⃣ Шариковые мышки
3️⃣ Оптические и лазерные мышки
4️⃣ Характеристики современных мышек
И теперь вот вам обещанный розыгрыш вертикальной компьютерной мышки.
Сам для работы использую такую, и рука с ней действительно меньше устаёт. А показателя DPI хватит для работы и с FullHD, и с QuadHD монитором. Подключить мышь можно сразу к 3 устройствам - по bluetooth два канала и ещё есть usb-коннектор. Без проблем переключаюсь с рабочего на домашний ПК.
Вам для участия в розыгрыше нужно следующее:
❗️ Быть подписанным на мой канал
❗️ Нажать УЧАСТВОВАТЬ под постом
❗️ Иметь поблизости пункт выдачи OZON.
И всё!
✅ Итоги подведу 17 октября в 21:00 по МСК!
👍22🔥11🤩9❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда после пятничного релиза в понедельник читаешь рабочие чаты😈
Please open Telegram to view this post
VIEW IN TELEGRAM
💯24😁20🔥17🐳14👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаем разбор того, как детектируется номер 🚙 машины.
Как всё-таки распознаётся этот номер?
Тема интересная, но если ограничиться здесь только словами, то будет скучно.
Поэтому я заморочился🦸♂️ и сделал простую нейронку с 16 нейронами (с одним скрытым слоем на 20 нейронов), которая может обучаться и распознавать цифры от 0 до 9, изображённые в квадрате 4х4 пикселя.
Что происходит на видео:
1) Передаётся картинка с числом на вход с некоторой примесью помех.
2) Изображение переводится в массив из 16 чисел - чем цвет в пикселе ярче, тем выше значение числа в соответствующей ячейке.
3) Далее этот массив передается нейронке.
В нижней части ролика находится визуализация вероятности того, какое число на входном изображении. Эту вероятность считает👨💻 нейронка.
Конечно, во "взрослых" сетях все намного🚶♂️ сложнее, я упростил и обрисовал как этот процесс происходит в принципе.
Если у вас есть какие-то вопросы/комментарии/уточнения по посту или видео, пишите под постом, с удовольствием отвечу.
И буду рад вашим 👏 реакциям. Это мой первый опыт подготовки поста в том числе через видео формат🎬
Как всё-таки распознаётся этот номер?
Тема интересная, но если ограничиться здесь только словами, то будет скучно.
Поэтому я заморочился
Что происходит на видео:
1) Передаётся картинка с числом на вход с некоторой примесью помех.
2) Изображение переводится в массив из 16 чисел - чем цвет в пикселе ярче, тем выше значение числа в соответствующей ячейке.
3) Далее этот массив передается нейронке.
На визуализации нейронки можно видеть связи между нейронами, которые крепнут и становятся отчетливее на каждой итерации.
В нижней части ролика находится визуализация вероятности того, какое число на входном изображении. Эту вероятность считает
Конечно, во "взрослых" сетях все намного
Если у вас есть какие-то вопросы/комментарии/уточнения по посту или видео, пишите под постом, с удовольствием отвечу.
И буду рад вашим 👏 реакциям. Это мой первый опыт подготовки поста в том числе через видео формат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥22😱15❤1👏1
Сегодня рубрика "дело было вечером, делать было нечего" 😉
Сделал сайт с визуализацией работы алгоритмов и нейросетей.
На вкладке с поиском пути вы найдете визуализацию работы алгоритма, который используют враги в играх для поиска🫣 игрока.
На вкладке с нейросетью вы прямо в браузере обучите простую сеть и сможете в реальном времени наблюдать как крепнут связи между нейронами в процессе обучения.
Ну и вкладка с сортировками (ничего выдающегося в них нет, но тем, кто изучает алгоритмы, может быть интересно посмотреть визуализацию базовых алгоритмов).
В общем, буду🫶 рад, если перейдете по ссылке, потыкаете и потестируйте.
В комментариях можете оставлять свои скриншоты и вопросы/уточнения.
https://web-visualizer-algorithm.vercel.app/
Сделал сайт с визуализацией работы алгоритмов и нейросетей.
На вкладке с поиском пути вы найдете визуализацию работы алгоритма, который используют враги в играх для поиска
На вкладке с нейросетью вы прямо в браузере обучите простую сеть и сможете в реальном времени наблюдать как крепнут связи между нейронами в процессе обучения.
Ну и вкладка с сортировками (ничего выдающегося в них нет, но тем, кто изучает алгоритмы, может быть интересно посмотреть визуализацию базовых алгоритмов).
В общем, буду
В комментариях можете оставлять свои скриншоты и вопросы/уточнения.
https://web-visualizer-algorithm.vercel.app/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍20💯20❤5
Воскресная задачка переехала на вечер понедельника 🙂
Задача несложная, но требует внимательности:
Пишите ответы в комментариях. Вместе разгадаем😼
Задача несложная, но требует внимательности:
Представим, что вы стоите перед закрытой комнатой, в которой есть три лампочки и все они на данный момент выключены. Кроме того, перед вами есть три выключателя, которые отвечают за какую-либо из лампочек. Вы можете включать и выключать лампочки сколько угодно раз, а вот зайти в комнату вы можете всего один раз. Также вы не знаете какой выключатель к какой лампочке относится.
Зайдя в комнату, вы можете делать с 💡💡💡 лампочками все что угодно, вот только назад к выключателям вы уже вернуться не сможете. Теперь сам вопрос. Вам надо сказать к какой из лампочек относится каждый выключатель. К примеру, второй выключатель работает с третьей лампочкой и так далее.
Пишите ответы в комментариях. Вместе разгадаем
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27👏26❤24🥰1
Сегодня расскажу про
Фракталы имеют несколько примечательных особенностей:
🔅 При кажущейся случайности геометрии, фракталы на самом деле чётко структурированы и имеют предсказуемую форму.
🔅 Фракталы встречаются в природе, причем их можно найти в самых разных проявлениях: сосуды в кровеносной 🩸 системе, листья 🌿 папоротников, ❄️ снежинки.
🔅 Применение фракталов чрезвычайно широко, от экономики до компьютерной графики и алгоритмов сжатия изображений.
🤹 Покрутить разные типы фракталов и поэкспериментировать с ними можно на сайте во вкладке
Делитесь впечатлениями в комментариях, будет интересно ваше мнение.
Сайт собрал сегодня сам, специально для визуализации вам👀
https://visualalgorithm.ru/
фракталы.Фракталы - это геометрические фигуры, части которых повторяют саму фигуру.
Фракталы имеют несколько примечательных особенностей:
🔅 При кажущейся случайности геометрии, фракталы на самом деле чётко структурированы и имеют предсказуемую форму.
🔅 Фракталы встречаются в природе, причем их можно найти в самых разных проявлениях: сосуды в кровеносной 🩸 системе, листья 🌿 папоротников, ❄️ снежинки.
🔅 Применение фракталов чрезвычайно широко, от экономики до компьютерной графики и алгоритмов сжатия изображений.
фракталыДелитесь впечатлениями в комментариях, будет интересно ваше мнение.
Сайт собрал сегодня сам, специально для визуализации вам
https://visualalgorithm.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍22👏17❤15🥰4
Выглядят они конечно здорово, но вряд ли хоть одной можно пользоваться постоянно)
Все успели принять участие в розыгрыше вертикальной мышки?
Результаты уже в эту пятницу
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤7👍6
Сегодня покажу вам игру "Жизнь".
Это так называемый клеточный 🎰 автомат, придуманный Джоном Конвеем в 1970 году.
Правила игры очень простые:
Несмотря на кажущуюся простоту, запуск симуляции такой игры приводит к интересным эффектам, посмотреть на них вы можете всё на том же моем сайте во вкладке игра "Жизнь".
🔅 Нарисуйте (или выберите готовый паттерн) на поле любое количество живых клеток, можно в произвольном порядке
🔅 Нажмите кнопку Играть
🔅 Наслаждайтесь дальнейшей визуализацией
В качестве бонуса добавил режим войны между 🟦 синими и 🟥 красными клетками.
https://visualalgorithm.ru/
Это так называемый клеточный 🎰 автомат, придуманный Джоном Конвеем в 1970 году.
Правила игры очень простые:
1) Живая клетка с 2-3 соседями выживает.
2) Живая клетка с <2 или >3 соседями умирает.
3) Мертвая клетка с 3 соседями оживает.
Несмотря на кажущуюся простоту, запуск симуляции такой игры приводит к интересным эффектам, посмотреть на них вы можете всё на том же моем сайте во вкладке игра "Жизнь".
🔅 Нарисуйте (или выберите готовый паттерн) на поле любое количество живых клеток, можно в произвольном порядке
🔅 Нажмите кнопку Играть
🔅 Наслаждайтесь дальнейшей визуализацией
В качестве бонуса добавил режим войны между 🟦 синими и 🟥 красными клетками.
https://visualalgorithm.ru/
👍24🔥23❤19💯10👏2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣20😁18🐳18🔥11👍9
Быстрый опрос. Как считаете, скорость света влияет на конструкцию современных компьютеров?
Final Results
65%
Да
22%
Нет
13%
Не знаю, но хочу посмотреть ответ
👍21👌19🤔15
Многие ответили на вопрос 👆 выше правильно. Теперь давайте подробнее расскажу про эту связь скорости света с современными компами.
😊 Факт интересный, но ему почти не уделяют внимания в теме работы оперативной памяти и процессора.
Итак, все мы слышали, что у оперативной памяти есть частота и тайминги доступа. Но при этом как бы по умолчанию считаем, что данные попадают в процессор и обратно мгновенно.
На заре зарождения ПК так и можно было считать (частота тогда была очень низкой и памяти было мало). Но в наше время с гигагерцовыми частотами начинает играть роль новый фактор -
Представим, что у нас память работает на частоте 5 Ггц (типичная скорость актуальной памяти DDR5).
Чтобы такая память работала максимально эффективно, она должна находиться🤯 не дальше 6 см от процессора (это расчёт исходя из скорости света в вакууме, а не в вакууме скорость в проводах будет ещё медленнее).
При расстоянии 6 см и более скорости света будет недостаточно для передачи сигналов за длительность одного такта, а это, в данном примере, 100 пикосекунд, соответственно будет расти задержка доступа к памяти.
Почему низкая задержка так важна?
В рутинных задачах с компьютером типа👨💻 составления иксель таблиц или открытия новой вкладки браузера вы разницу не заметите, но она будет видна, например, в 🎮 видеоиграх или при архивации данных.
Именно поэтому память располагают как можно ближе к процессору.
👀 Где-то в параллельной Вселенной для максимальной эффективности оперативную память располагают непосредственно на самом процессоре.
Но почему так не делают в нашем измерении в обычных ПК?🤔 Расскажу в другой раз.
Итак, все мы слышали, что у оперативной памяти есть частота и тайминги доступа. Но при этом как бы по умолчанию считаем, что данные попадают в процессор и обратно мгновенно.
На заре зарождения ПК так и можно было считать (частота тогда была очень низкой и памяти было мало). Но в наше время с гигагерцовыми частотами начинает играть роль новый фактор -
скорость света.Скорость света равна 299 792 458 м / с в вакууме.
Представим, что у нас память работает на частоте 5 Ггц (типичная скорость актуальной памяти DDR5).
Чтобы такая память работала максимально эффективно, она должна находиться
При расстоянии 6 см и более скорости света будет недостаточно для передачи сигналов за длительность одного такта, а это, в данном примере, 100 пикосекунд, соответственно будет расти задержка доступа к памяти.
Почему низкая задержка так важна?
В рутинных задачах с компьютером типа
Именно поэтому память располагают как можно ближе к процессору.
Но почему так не делают в нашем измерении в обычных ПК?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍23🤔20❤4👏1
Программист о...
Ещё помните мои посты про эволюцию компьютерной мышки? 1️⃣ Первый прототип мышки 2️⃣ Шариковые мышки 3️⃣ Оптические и лазерные мышки 4️⃣ Характеристики современных мышек И теперь вот вам обещанный розыгрыш вертикальной компьютерной мышки. Сам для работы…
Please open Telegram to view this post
VIEW IN TELEGRAM
👏13👍11🔥6🎉6
Продолжаю рассказ про оперативную память компьютера.
В прошлом посте мы выяснили почему оперативную память нужно располагать как можно ближе к процессору, но почему бы не расположить её внутри самого процессора?
🤲 На самом деле память присутствует в процессоре и называется кэшем. Кэш бывает первого, второго и третьего уровней. Компания AMD (крупный производитель процессоров) ещё придумала так называемый 😵💫 3D кэш (расширение кэша третьего уровня).
А в мире видеокарт и ИИ ускорителей распространена HBM память - она также расположена с процессором либо бок о бок, либо на нём, но HBM память плохо подходит для процессоров по своим характеристикам.
🧐 Но почему же кэш не может заменить оперативную память, раз он уже расположен в процессоре?
Кэш обладает выдающимися😼 характеристиками по сравнению с оперативной памятью:
Но есть пара нюансов:
🔶 Все перечисленные выше уровни кэша могут предложить суммарный объем в самых дорогих процессорах в сотни мегабайт (а в потребительских чаще всего речь идёт о паре десятков), и это очень мало для необходимой работы с данными.
🔶 При своём небольшом объеме кэш занимает, как правило, значительную часть площади процессора (другими словами кэш очень дорого обходится при производстве чипов).
Возможно, в будущем получится уменьшить размер площади, занимаемой на кристалле процессора, но до тех пор компьютеры будут выглядеть без изменений.
📷 На изображении показана схема актуального процессора AMD.
Можете наглядно посмотреть сколько места занимает всего 32 мегабайта.
В прошлом посте мы выяснили почему оперативную память нужно располагать как можно ближе к процессору, но почему бы не расположить её внутри самого процессора?
А в мире видеокарт и ИИ ускорителей распространена HBM память - она также расположена с процессором либо бок о бок, либо на нём, но HBM память плохо подходит для процессоров по своим характеристикам.
Кэш обладает выдающимися
✔️ скорость выше на несколько порядков
✔️ задержки на порядки меньше
Но есть пара нюансов:
🔶 Все перечисленные выше уровни кэша могут предложить суммарный объем в самых дорогих процессорах в сотни мегабайт (а в потребительских чаще всего речь идёт о паре десятков), и это очень мало для необходимой работы с данными.
🔶 При своём небольшом объеме кэш занимает, как правило, значительную часть площади процессора (другими словами кэш очень дорого обходится при производстве чипов).
Возможно, в будущем получится уменьшить размер площади, занимаемой на кристалле процессора, но до тех пор компьютеры будут выглядеть без изменений.
Можете наглядно посмотреть сколько места занимает всего 32 мегабайта.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍18👌10✍4❤4❤🔥3