19 апреля 2021

Дневники Vmx Разработчика. Жизненные сложности для нейронной сети, и Как повысить Vmx производительность на маломощном железе

news-item

Снова приветствуем вас, друзья, на страницах наших дневников разработчика! 

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

В этом выпуске мы поговорим о человечности нейросети и посмотрим, есть ли преимущества у алгоритмов перед искусственным нейросетевым интеллектом. А в конце выпуска — небольшой рассказ об оптимизации ПО.

С другой стороны: учим нейросеть жизни

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

Что же добавляет человечности искусственному интеллекту? Конечно, все знают про широко известный эмпирический тест товарища Алана Мэтисона Тьюринга, гениального английского математика, логика и криптографа. 

В этом тесте принимают участие машина и человек. Задача человека — понять, с кем он говорит, а задача машины — ввести человека в заблуждение, не выдав свое происхождение. В 2014-м году “Евгений Густман” — программа, созданная нашими соотечественниками, прошла тест Тьюринга в Королевском обществе в Лондоне: свыше 30 % судей подтвердили, что ведут диалог с 13-летним мальчиком из Украины.

Но наши нейронные сети тоже по-своему человечны.

Забавный случай произошёл на одном из объектов, находящихся под присмотром нашей Системы. По умолчанию детекторы, в большинстве своем, настроены на резкое изменение цвета и появление юркой птички отлично подходит под такую ситуацию. И хотя нам с вами вполне привычны вездесущие голуби, мы “не предупредили” Систему о возможности такого события, поэтому она сигнализировала о выбросе. Сейчас мы уже добавили птичек в обучающий датасет для наших нейросетей, но этот случай был первым в нашем опыте. Фото прилагаем.

Объект демонстрирует Системе лаконичность своего оперения

 

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

В небе над вверенной Системе территорией засветился неопознанный пернатый объект. Система вообще следила за выбросами из труб, но зафиксировала перемещения нового объекта и сообщила, куда следует

В рамках “боевой” эксплуатации Системы иногда требуется изменить расположение детекторов, чтобы, например, захватить бОльший сектор контролируемой территории. В таких случаях основную сложность представляют отнюдь не монтажные работы, а необходимость заново объяснить Системе, что же она видит и какие события не являются нормой. Предположим, нам понадобилось расположить сенсор на некотором отдалении от первоначального места установки. Для нас бы это было, как отход на некоторое расстояние, то есть объекты стали чуть выглядеть чуть меньше. Системе же нужно объяснить на языке корректировок пороговых значений, что, скажем, наблюдаемая труба осталась той же трубой, истинная величина ее не изменилась, но площадь, занимаемая в кадре, уменьшилась.

Кажется, что наши Системы стали частью нас. Не просто продукты или инструменты, но полноправные члены нашей команды. Приятно и одновременно жутко осознавать это. Каждый раз, когда одно из решений, например, на основе Vmx Dequs, Vmx SILA или Vmx MarkerID, уходит из “родительского” офиса “ВидеоМатрикс” навстречу жизни (эксплуатация), мы радуемся и переживаем за них, как за собственных детей. Но всегда поддержим и поможем, если возникнет необходимость  (речь про гарантийное обслуживание).

Железный человек алгоритм

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

Мы уже рассказывали вам про то, что знаем, как сократить расход металла на прокатном производстве, в первом выпуске Дневников. А ещё пообещали, что расскажем об этом больше. Итак — владельцы металло- и других прокатов, если стремитесь снизить расход сырья, то считайте, что вы нашли решение. К делу!

Совместно с ведущим мировым и крупнейшим российским производителем трансформаторной стали мы разработали и испытали программно-аппаратный комплекс, в основу которого лег наш Vmx Dequs. Задача комплекса — обеспечить инклюзивный контроль качества при производстве стали. 

Основным источником данных здесь выступают лазерные сканеры. Контролируемые листы стали перемещаются со средней скоростью до 8 м/с. Для получения точных результатов контроля необходимо выдерживать частоту кадров, равную 1 кадру на 1 мм длины листа. Такая частота обеспечивается поступающими данными о текущей скорости перемещения листа от датчиков, установленных на валиках ленты. Кроме того, одновременно с фиксацией состояния поверхности листа необходимо строить “карту поверхности”: здесь мы направляем лазер на поверхности листа под определённым углом и собираем текущие данные о перепадах высот и форме дефектов.

Итак, изображения поверхности получены, данные о высотах и формах собраны, что же с этим делать? В дело вступают алгоритмы, цель которых — определить наличие двух ключевых сущностей, границу листа и дефекты  Система анализирует полученные данные: границы листа очерчиваются по самому большому перепаду, дефекты — по определенным совокупностям форм и высот. На основании результатов анализа генерируется “карта дефектов” с точными координатами мест на листе со “злокачественной” пластической деформацией.

Пример “карты дефектов” с расположением сквозных, кромочных дефектов и мест, требующих дополнительной визуальной инспекции

Кроме того, вполне возможно, что поверхность металлического листа недостаточно чиста. В таких случаях Система делает дополнительные отметки на “карте”, по которым можно оценить состояние листа с помощью дополнительной визуальной инспекции. 

И кстати, наша Система может одновременно и контроль качества выполнять, и следить за физической чистотой аппаратного обеспечения. А после следующего обновления сможет книги писать на бэйсик-инглиш! Джордж, ты не забыт, мы построим будущ…

Кхм. Перейдём к заключительной части нашего выпуска.

Как повысить скорость обработки данных на процессоре

Взглянув однажды утром на цену конкретной видеокарты, мы всем офисом ахнули: больше 400 тыс. рублей! Оно и понятно, цены на железо постоянно растут, но чтобы купить такую штуку, нужно быть либо самым верным последователем бренда и игр, либо высокотребовательным клиентом! Однако наши мастера кода показали “как надо” и обновили одним прекрасным утром программное обеспечение на одном из предприятий группы металлургических комбинатов. Там успешно  внедрен и работает в штатном режиме наш программно-аппаратный комплекс, фиксирующий смещения изделий на ленте и подающий сигнал при обнаружении критичных показателей.

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

Изначально наш Vmx Dequs, грубо говоря, обрабатывал каждый кадр. Для нашего продукта такой режим работы — штатный, и теоретические сложности в эксплуатации, если и появятся,  могут быть связаны, скорее, с производительностью аппаратной части. Теперь же ПО избирательно подходит к обработке кадров: получая сигналы от датчиков Заказчика, включающие скорости перемещения  и наличие изделий, Vmx Dequs интерпретирует их, как “указатель” на кадр, содержащий сведения о смещении изделия. Получая несколько потоков кадров с ряда камер, Dequs “прогнозирует” именно ту картинку, которая соответствует полученным сигналам от датчиков Заказчика, и “ждёт” её. Таким образом, мы существенно снизили нагрузку на аппаратное обеспечение, сократили время обработки данных и сохранили прежнюю точность результатов работы Системы.

А пока мы показываем хэдлайнерам программной индустрии, как повышать производительность своих продуктов за счёт оптимизации методов обработки данных, но не карманов Заказчиков, у вас, друзья, есть время, чтобы подписаться на нас в Facebook и Instagram. И не забудьте заглядывать в новостной раздел официального сайта “ВидеоМатрикс”.

На связи!

* * *

Предыдущие выпуски Дневников Разработчика:

Выпуск 1. Итоги 2020 года

Выпуск 2. Трекинг людей, животных и экомониторинг выбросов

Выпуск 3. Что такое Vmx продукты и с чем их едят. Бургерная аналогия

Выпуск 4. Как контролировать качество продукта. Брикет каучука

Выпуск 5. Как оценить количество посетителей

Главная   >    Дневники Vmx Разработчика. Жизненные сложности для нейронной сети, и Как повысить Vmx производительность на маломощном железе