Программист о...
1.16K subscribers
165 photos
59 videos
46 links
Программист о событиях в мире АйТи и не только

По всем вопросам: @cane4ka_limonov
Download Telegram
Следующая тема для разбора по результатам опроса - типы нейросетей.

Расскажу об одной из первых по-настоящему популярных архитектур нейросети для генерации изображенийGAN.

Эта архитектура была предложена в 2014 году Иэном Гудфеллоу.

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

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

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


Благодаря обратной связи друг с другом обе нейросети обучались параллельно до достижения равновесия: когда дискриминатор уже не способен уверенно отличать реальные изображения от сгенерированных.

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

🙁 Среди недостатков такого подхода можно выделить:

1) Нестабильность работы генератора — он может выдавать однотипные изображения, что замедляет обучение.
2) Достижение равновесия может занять неопределённое время.

Сегодня GAN-сети постепенно уступают место более предсказуемым и точным диффузионным моделям. Но о них я расскажу как-нибудь в другой раз.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥14💯10👏7
Предлагаю сегодня немного передохнуть от серьезных тем и почитать серию постов про 🖱 компьютерную мышку.

Для многих, думаю, не секрет, почему ее так назвали. Было замечено некоторое сходство устройства с 🐀 мышью - вытянутое тело и провод-хвостик.

Сейчас, когда на рынке представлены беспроводные, вертикальные или даже мыши необычных форм и пропорций (😼 привет мышь от Apple), трудно увидеть сходство с реальной мышью.

Но и посмотрев на первую модель компьютерной мыши, тоже сложно угадать в ней известного всем грызуна.

В то время компьютерная мышь представляла собой прямоугольный угловатый гробик, при взгляде на который можно было легко поверить, что создатели этого устройства объявили войну эргономике 👨‍💻

И всё же в 1965 году, инженер Билл Инглиш впервые использовал слово "мышь" в контексте манипулятора в своей статье "Computer-Aided Display Control". А Дуглас Энгельбарт (коллега Билла) провел первую презентацию компьютерной мышки в 1968 году. На картинке к этому посту изображена та самая модель мыши от Дугласа.

Устройство имело 2 колесика под деревянным корпусом: одно использовалось для движения курсора по горизонтали, другое - по вертикали.

Завтра расскажу про следующую ступень 🐔 эволюции компьютерной мыши и появление шарикового механизма.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥2622👏16😁7🤩2💯2
Media is too big
VIEW IN TELEGRAM
Наглядная демонстрация как пытаются догнать и перегнать друг друга OpenAI и Anthropic 🏃‍♂️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35😁32🥰28💯13
Ну что, продолжаем сегодня тему эволюции компьютерной 🐭 мышки?

Следом у нас идут шариковые мыши.

Те, у кого детство и школа пришлись на 90-е, наверняка вспомнят тяжёлые прорезиненные шарики, происхождение которых было загадкой.

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

Компьютерные мыши стали входить в обиход у обычных пользователей с 1983 года благодаря 📉 снижению цены (мышь от Apple для ПК Apple Lisa стоила всего $10, тогда как первые модели производства 70ых годов стоили $300).
Помимо доступной цены стали появляться графические интерфейсы и производственные стандарты.

🍤 Новые мыши были точнее и удобнее в использовании за счёт диагональных перемещений курсора.

Конструкция компьютерной мышки для массового использования принципиально не менялись до конца 90ых, когда на смену пришла 😼 оптическая мышь.
О ней расскажу в следующий раз.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍21🔥219🙏2
Всем привет! Хочу в скором времени сделать 🎁 розыгрыш. Ответьте, пожалуйста, на вопрос о количестве подарков. Розыгрыш с какими подарками вам был бы интереснее?
Anonymous Poll
34%
1 подарок, наиболее ценный
29%
Несколько подарков, средней ценности
29%
10 подарков, наименее ценные
8%
Свой вариант (напишу в комментарии)
🔥15🥰1413🤗10🤔2
Готовимся к понедельнику)
Воскресная 🗜 задачка:

Три мудреца вступили в спор: кто из них более мудр? Спор помог решить случайный прохожий, предложивший им испытание на сообразительность.

— Вы видите у меня пять колпаков: три чёрных и два белых. Теперь закройте глаза.

С этими словами он надел каждому по чёрному колпаку, а два белых спрятал в мешок.

— Можете открыть глаза. Кто угадает, какого цвета колпак украшает его голову, тот вправе считать себя самым мудрым.

Долго сидели мудрецы, глядя друг на друга... Наконец один воскликнул:

— На мне чёрный!

Как он догадался? 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔29👍26🤯2622👏3
Продолжаем серию постов об 🐔 эволюции компьютерных мышей.

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

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

В нашей истории на смену роликам и шарикам пришел фото сенсор и красный 🔴 луч света.

Красный светодиод является наиболее дешёвым, а фото сенсоры лучше всего улавливают красное излучение, именно поэтому распространены мышки с красный светом.


Принцип действия оптической мыши такой: светодиодная подсветка красного цвета подсвечивает поверхность, а отраженный свет от поверхности улавливается фото сенсором.

Далее происходит сравнение нового и предыдущего "кадров", и на основе разницы между ними вычисляется движение мыши. Поэтому так важна поверхность, на которой находится мышка.

Идеальной будет поверхность с чередованием, например, черных и белых полос, тогда анализ разницы между "кадрами" будет произведен точнее.


С момента распространения оптических мышей революционных изменений не происходило. Появились лазерные мыши (более продвинутые, чем оптические, но по принципу работы не отличаются), и эргономике наконец-то стало уделяться достаточно 🤝 внимания. Но в целом технология достигла своего пика.

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

Ещё пока готовил посты, нашел много картинок мышек, поражающих воображение. Показать?👀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥3323💯12👏6
👨‍💻 Завершающий пост по истории компьютерных мышей.

Расскажу о характеристиках мышек, на которые стоит обращать внимание при покупке, а на фото к посту можете полюбоваться разными видами мышей в хронологическом порядке (роликовая мышь, первая мышь от Xerox, мышь для Apple Lisa, самая тонкая беспроводная мышь, мышь-телефон 📞 для скайп-звонков и даже мышь-домик 🏠 с подогревом для руки).

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

Характеристики, на которые стоит обращать внимание:

DPI (Dot per inch) - количество пикселей, на которые сместится курсор при перемещении мыши на один дюйм.


🔸 Если у вас монитор не высокого разрешения, например FullHD, то подойдёт мышь с небольшим значением, например, 1200 DPI.
🔸 Если у вас монитор Quad HD разрешения, то лучше смотреть мышки с DPI от 2000.
🔸 Для монитора 4к и выше рассматривайте мыши в районе 5000 DPI, но тут лучше уже проверять на практике, какая чувствительность вам больше подходит.
Если нет возможности проверить, то берите 4000-5000 DPI.

Другие характеристики имеют интерес больше для геймеров.

IPS (inches per second) - скорость перемещения мыши, при которой сенсор способен корректно считывать движение - актуально в динамичных играх при резких движениях мышью.


Ускорение G - похоже на предыдущий параметр, только описывает не постоянную скорость, а её изменение - корректность работы сенсора при резком рывке мышью.



Физически человек практически не способен создать ускорение быстрее 30 G, поэтому мыши с показателем 20-25 G будет более чем достаточно.

Кстати, информация в характеристиках о 50 G и выше не более чем 😑 маркетинг. С тем же успехом могли бы указать 1000 G - человек не может двигать рукой с такой скоростью🤪

Другие характеристики мыши типа формы, размера и веса уже на ваше усмотрение (можете ещё раз вдохновиться картинками к посту).
От себя могу порекомендовать так:
- проводите много времени за компом и замечаете у себя туннельный синдром, попробуйте перейти на вертикальные мыши.
Одну такую я в скором времени хочу здесь разыграть🍸
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥33👏2719🤪4
Я уже как-то делал пост о распознавании символов.

Сегодня хочу рассказать о прикладном применении нейронок для распознавания символов, с которым сталкиваются практически все😎

Речь пойдет о распознавании номеров транспортных средств.

Вам может показаться, что это в целом ничем не отличается от обычного распознавания текста, но есть некоторые особенности.

📌 Прежде чем определять номер, нужно выяснить, где он вообще расположен на кадре

📌 При распознавании номеров нас интересуют не просто отдельные символы, а последовательности символов, используемых в номерах разных стран 🌐

📌 При детекции номера в видеопотоке не обойтись без трекинга:

Каждый отдельный кадр на отрезке видео может содержать один и тот же номер, и камера должна это распознавать и не дублировать события об определении нового номера. А так же для определения скорости транспортного средства.

📌 Хоть количество допустимых символов ограничено (и в идеале они написаны черным по белому), никто не отменял загрязнение номера, а значит, детекторы должны быть натренированы "читать" номера в сложных ситуациях - когда, например, часть символа просто скрыта 🧟 грязью.

Как видите, распознавание номера и определение скорости ТС весьма непростая задача.

Всё, что выше указал, это проблемы нейронок. Но есть и отдельная большая проблема по работе самих камер. Напишу обо всём подробнее в отдельных постах ☝️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🙏3027👏19🔥8💯2🥰1
Сегодня поговорим о том, как нейронки определяют где находится автомобильный номер.

Общепринятым является каскадный подход - сначала находим машину, потом находим сам номер, а потом уже "читаем" 📖 его.

Чаще всего для поиска машин подходит нейросеть YOLOv8n. Она легковесная и быстрая, а это критично важно, так как позволяет запустить её прямо на самой камере со встроенным NPU.
Мощности камеры на много не хватит, поэтому есть ещё вариант с edge-сервером, который устанавливается рядом с камерой или обслуживает сразу несколько камер в одном месте.

На этапе поиска 🚘 машины детектору можно дать подсказку.

Изображение с камеры двумерное, но так как камера зафиксирована в одном положении, и мы знаем на какую именно часть дороги она "смотрит".


Мы можем использовать эту информацию и:

▪️ определить под каким углом и в каком направлении едет машина в указанном участке

▪️ убрать необходимость анализировать целый кадр

▪️ выполнить постобработку изображения

Далее нейронка ищет в выбранной части кадра расположение номера.

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

На последнем этапе происходит следующее:

☑️ Проверка что в найденной области действительно есть номер

☑️ Сглаживание изображения и удаление артефактов от видеокодека

☑️ Корректировка перспективы кадра (камера может снимать видео под углом, а для распознавания номера лучше иметь изображение будто мы смотрим на него под прямым углом)

С поиском номера и подготовкой изображения закончили. На очереди распознавание номера, о котором расскажу в следущий раз.
👍24🔥20🤝20🥰11🤔73👏1
Ещё помните мои посты про эволюцию компьютерной мышки?

1️⃣ Первый прототип мышки
2️⃣ Шариковые мышки
3️⃣ Оптические и лазерные мышки
4️⃣ Характеристики современных мышек

И теперь вот вам обещанный розыгрыш вертикальной компьютерной мышки.

Сам для работы использую такую, и рука с ней действительно меньше устаёт. А показателя DPI хватит для работы и с FullHD, и с QuadHD монитором. Подключить мышь можно сразу к 3 устройствам - по bluetooth два канала и ещё есть usb-коннектор. Без проблем переключаюсь с рабочего на домашний ПК.

Вам для участия в розыгрыше нужно следующее:

❗️ Быть подписанным на мой канал

❗️ Нажать УЧАСТВОВАТЬ под постом

❗️ Иметь поблизости пункт выдачи OZON.


И всё!

Итоги подведу 17 октября в 21:00 по МСК!
👍22🔥11🤩91
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) Далее этот массив передается нейронке.

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

В нижней части ролика находится визуализация вероятности того, какое число на входном изображении. Эту вероятность считает 👨‍💻 нейронка.

Конечно, во "взрослых" сетях все намного 🚶‍♂️ сложнее, я упростил и обрисовал как этот процесс происходит в принципе.

Если у вас есть какие-то вопросы/комментарии/уточнения по посту или видео, пишите под постом, с удовольствием отвечу.

И буду рад вашим 👏 реакциям. Это мой первый опыт подготовки поста в том числе через видео формат 🎬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥22😱151👏1