syoma 1 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба Собственно для обсуждения, ну и немного отчет. У меня во многих платах есть всякие светодиодные индикаторы - просто точечные LED и семисегментные индикаторы. Они показывают состояние входных и выходных сигналов и изменяют свое состояние в зависимости от того, что подается на входы платы или что она делает. Есть задача - обеспечить тестирование всего этого: например, того, что запаяли правильный цвет светодиода, зажигаются нужные цифры от нужных сигналов и т.д. Сейчас это делает человек - подает сигналы на вход и смотрит, чтобы все зажигалось. Иногда провтыкивает. Надо автоматизировать. Пока мое решение: Raspberry Pi + USB Camera + Matlab/Simulink и Computer Vision Toolbox. В RPi загружаем алгоритм Pattern Matching https://uk.mathworks.com/help/vision/ug/pattern-matching-1_example-vippattern.html То есть поиск конкретной картинки - например силуэта цифры или зажженной лампочки. Алгоритм такой - подсовываем плату, направляем на нее камеру, в симулинковской проге на RPi крутится распознавалка конкретного образа - например цифры 7 на семисегментнеке. Если она зажигается и RPi ее распознает - он шлет MQTT сообщение на тестирующую систему, что есть такое. Для других светодиодов - тоже свои распознавалки. В принципе работать будет не шустро, зато более или менее универсально и можно собрать достаточно быстро - за пару дней. Что скажете? Пока не смотрел NodeRED - может там тоже что-то аналогичное сделать можно. ПС знаю, что можно сделать совсем по-другому - например подсунуть всякие световоды, подать их на фотодиоды и смотреть по этим сигналам. Но весь смысл данной темы - решить задачу с помощью чего-то другого. В данном случае Computer Vision. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 4 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба 56 minutes ago, syoma said: Сейчас это делает человек - подает сигналы на вход и смотрит, чтобы все зажигалось. 56 minutes ago, syoma said: он шлет MQTT сообщение на тестирующую систему, что есть такое На какую тестируюую систему? Никакого машинного зрения не нужно, чтобы определить наличие правильного цвета в правильных координатах на картинке с камеры. И никаких raspberry pi и mqtt. Первое не окупится в силу своих тормозов и сложностей в освоении, второе из рук вон плохо годится для чего-то кроме своей узкой ниши. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба 44 minutes ago, rkit said: На какую тестируюую систему? Система, которая собственно и контролирует тестирование платы. Она работает по простой программе - подать питание на плату, подать нужные сигналы, подождать, проверить что плата все отработала правильно. Дальше следующий шаг и т.д. Это по сути простой логический контроллер с некоторым количеством I/O. Кстати, собранный на том же тормознутом RPi. 45 minutes ago, rkit said: Никакого машинного зрения не нужно, чтобы определить наличие правильного цвета в правильных координатах на картинке с камеры. А если плата сдвинута, если освещение неидеальное или фоновая засветка, а если плата слегка отличается по лейауту и светодиоды немного в других местах? Собственно проект о том, чтобы избавиться от необходимости анализировать таким жестким образом и упростить разработку тестовой системы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 4 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба 1 minute ago, syoma said: А если плата сдвинута, если освещение неидеальное или фоновая засветка, а если плата слегка отличается по лейауту и светодиоды немного в других местах? Собственно проект о том, чтобы избавиться от необходимости анализировать таким жестким образом и упростить разработку тестовой системы. Сделать оснастку из фанеры примерно в сто тысяч раз легче работы с машинным зрением. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба 4 minutes ago, rkit said: Сделать оснастку из фанеры примерно в сто тысяч раз легче работы с машинным зрением. Ну лично я за пол дня с фанерой даже не начну, так как это надо искать инструмент, саму фанеру, измерять и т.д. А систему выше можно за эти пол дня уже запустить и даже начать гонять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 4 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба Нда. Удачи в твоих воображаемых начинаниях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbinger 10 25 ноября, 2020 Опубликовано 25 ноября, 2020 · Жалоба 18 часов назад, syoma сказал: В принципе работать будет не шустро А время оценить пробовали? Хотя бы с точностью до порядка? В общем-то, если хватит одного кадра на этап теста, было бы неплохо... 16 часов назад, rkit сказал: Сделать оснастку из фанеры примерно в сто тысяч раз легче работы с машинным зрением. Лучше таки из металла. :) На самом деле - кому как. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 25 ноября, 2020 Опубликовано 25 ноября, 2020 · Жалоба 52 minutes ago, Harbinger said: А время оценить пробовали? Хотя бы с точностью до порядка? Судя по примерам - пару кадров в секунду оно выдает. Мне больше и не надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baza 31 25 ноября, 2020 Опубликовано 25 ноября, 2020 · Жалоба Мы делали подобное для тестирования светодиодных матриц подсчёт пятен по сетке. обрабатывалось на PC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbinger 10 25 ноября, 2020 Опубликовано 25 ноября, 2020 · Жалоба (Просто размышление). Да на базе распберри вполне себе работает, например, подсчёт пассажиров в гортранспорте. Просто здесь подход смотрится избыточным, но получится изящно, если перенести туда же все остальные тесты и тем самым отказаться от ПК и промежуточной платформы. Было бы время... Скрытый текст Но, глядя с местной колокольни, это половина задачи. Тут ещё кнопки нужно нажимать. Сенсорные (емкостная матрица)... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexvu 5 26 ноября, 2020 Опубликовано 26 ноября, 2020 · Жалоба 24.11.2020 в 13:46, syoma сказал: Собственно проект о том, чтобы избавиться от необходимости анализировать таким жестким образом Смотря какая надежность теста требуется. Любая дополнительная неопределенность (положения платы, освещенности и т.д.) - это дополнительная ненадежность теста (пропуск ошибок). Особенно, если 24.11.2020 в 13:46, syoma сказал: упростить разработку тестовой системы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 26 ноября, 2020 Опубликовано 26 ноября, 2020 · Жалоба 14 hours ago, Harbinger said: (Просто размышление). Да на базе распберри вполне себе работает, например, подсчёт пассажиров в гортранспорте. Просто здесь подход смотрится избыточным, но получится изящно, если перенести туда же все остальные тесты и тем самым отказаться от ПК и промежуточной платформы. Было бы время... У меня так и есть. Тестовая система собрана полностью на базе RPi без отдельного ПК. GUI и все тесты там уже бегают, не хватает только вот этой визуальной проверки - это делает оператор, тыкая, как обезьяна, на кнопку "Да, горит" в GUI. На кнопки на устройстве, слава богу, пока нажимать не требуется, но по этому поводу тоже есть масса идей, начиная со всяческих роборук. А распознавалку с MQTT я планировал пока собрать на отдельном RPi, чтобы легче было отлаживать, но потом, естественно, я перенесу все в тестовую систему. 32 minutes ago, alexvu said: Смотря какая надежность теста требуется. Любая дополнительная неопределенность (положения платы, освещенности и т.д.) - это дополнительная ненадежность теста (пропуск ошибок). Дык ведь сейчас на это дело рассчитывают даже автопилоты. Так что для моих условий я думаю 99% будет легко. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vervs 39 26 ноября, 2020 Опубликовано 26 ноября, 2020 · Жалоба On 11/24/2020 at 1:56 PM, syoma said: То есть поиск конкретной картинки - например силуэта цифры или зажженной лампочки. яркость светящихся объектов выше, объекты несложные - бинаризация и контурный анализ, "шашки наголо" с нейросетью - проще конечно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 26 ноября, 2020 Опубликовано 26 ноября, 2020 · Жалоба 8 minutes ago, syoma said: Дык ведь сейчас на это дело рассчитывают даже автопилоты. Так что для моих условий я думаю 99% будет легко. Ага, и получить ответ с вероятностью 90%. Прикольное тестирование будет. Брак в процентах меньше бывает. Т.е. чем так тестировать проще вообще не тестировать. Где экономическая целесообразность? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 26 ноября, 2020 Опубликовано 26 ноября, 2020 · Жалоба 8 minutes ago, AlexandrY said: Ага, и получить ответ с вероятностью 90%. Прикольное тестирование будет. Брак в процентах меньше бывает. Т.е. чем так тестировать проще вообще не тестировать. Где экономическая целесообразность? Значит сделаем 99,9% Только не надо начинать "Как будешь эту вероятность проверять и т.д." Будем смотреть по мере получения результата. Оно либо заработает, как надо, либо нет. Пока я только нашел бесхозный RPi и SD карту к нему. Следующим этапом будет поиск такой же бесхозной USB камеры, которая по памяти тоже где-то должна лежать. И да, это труднее, чем искать фанеру для оснастки, товарищ оказался прав... А еще надо набраться храбрости и отобрать у кого-то хорошую USB зарядку для питания RPi. Это вообще мне видится сверхсложной задачей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться