Традиционно в онлайн-формате прошла международная конференция по Artificial Intelligence, Data Science и Machine Learning AI-MEN 2021. Зарегистрировались более 600 человек, а специальная платформа предоставила участникам возможность не только слушать выступления спикеров и задавать им вопросы, но и общаться вне презентаций на стендах компаний, а также поучаствовать в нетворкинге.
Успехи развития ИИ за последние годы
Открыл конференцию Игорь Мамоненко (Беларусь), генеральный директор Belhard. Он подчеркнул: мировые доходы ИИ (по данным отчёта IDC) в 2021 году составят примерно 327,5 миллиардов долларов США, и прогнозируется рост на 16,4% в год. К 2024 году ожидают уже более 500 миллиардов. Среди лидеров традиционно: США, Европа, Китай, развивается и Россия. Появилось около 2 тысяч учебных мест, причём за счёт бюджета – то есть через 4-5 лет в стане будут подготовлены специалисты для работы с ИИ.
Среди сфер применений уже ставшая классической задача NLP (Natural Processing Language) –распознавание речи и текста, анализ смысла и система генерации текста натурального языка. Активно развивается и CV – Computer Vision, которое используется в самолётах, умных автомобилях Tesla – анализатор-замена человеческого глаза. Интеллектуальная автоматизация, роботизированная автоматизация, машинное обучение – это далеко не все области, где можно использовать ИИ. И количество таких областей увеличивается.
При этом ИИ не только мощный инструмент, но и небезопасный – необходимо учитывать этические аспекты использования ИИ. Ведь его использование сокращает некоторые рабочие места, однако и даст людям больше времени для творчества и семьи.
Deep Learning on 3d Data
Об использовании алгоритма глубокого обучения рассказал Илья Овчаренко (Украина), Machine Learning Engineer в Intetics. Он отметил важность Point Cloud – типа данных, который состоит из точек, где каждая из них представлена своими пространственными координатами x, y, z. Источником Point Cloud часто служит LIDAR – сканер, который работает по принципу, похожему на радар. Но, в отличие от последнего, он использует скорость света, чтобы определить расстояние до объекта.
От использования облаков точек, во-первых, получают выгоду беспилотные автомобили. Они помогают определить местоположение автомобиля относительно других участников движения.
Вторая область – дополненная реальность. С помощью LIDAR создаются карты глубины, которые помогают эффективнее накладывать 3D-объекты на двухмерное изображение.
Третья отрасль – геосистемы. С помощью LIDAR можно получить истинные координаты объекта и измерить его геометрию.
Часть задач Point Cloud решается классическими алгоритмами Machine Learning. Например, фильтрация выбросов и шумов с помощью алгоритма кластеризации DBSCAN или поиск линий с помощью алгоритмов RANSCAN.
Особого внимания требует блок, связанный с автоматической детекцией и сегментацией объектов. В этой области доминируют решения на основе нейронных сетей. В случае использования Deep Learning в проекте стоит убедиться в наличии большого количества данных и достаточных вычислительных мощностей для работы с ними.
«На нашем проекте в Intetics была задача – сегментировать данные, делится Илья. – Мы сегментировали железнодорожное полотно (рельсы, шпалы, растительность вокруг), используя облака точек (лидарная съёмка)».
В самом типичном решении при использовании Сomputer Vision можно конвертировать Point Cloud в изображения, использовать на них уже готовые модели и пайплайны, и результаты перенести обратно в 3D Point Cloud. Такой подход (Projection Base Methods) имеет много плюсов, но есть и ряд проблем.
«Например, некоторые объекты не получится сегментировать с какой-то одной проекции, – утверждает Илья Овчаренко. – Также не получится автоматически выбрать положение камеры при создании проекции. Поэтому есть альтернативный подход, который не требует конвертации Point Cloud в другой формат, – например, архитектура PointNet».
Проходя через его слои, точки отдельно и постепенно кодируются в вектора значений какой-то определённой длины. И с увеличением длины вектора инженер, начиная с координат точки X, Y, Z, увеличивает в данном случае количество латентной информации, которая хранится в этом векторе. Чтобы сжать информацию в один вектор следует воспользоваться операцией Max Pool. Это даст один feature-вектор, который и будет описывать весь Point Cloud. После этого, если необходима детекция, вектор следует отправить на небольшой классификатор из нескольких слоёв, а в случае сегментации развернуть его обратно.
Калибровка камер на основе детекторов объектов/ Детекция лиц, масок и измерение температуры в браузере
Сразу нескольких спикеров – Александр Лемеза (Беларусь) инженер-программист, ООО "Регула", кандидат физико-математических наук, Ян Тишко (Беларусь), Chief Software Engineer, Oxagile, Front-end разработчик с более чем 6-летним опытом разработки веб-приложений и приложений для Smart TV с использованием JavaScript, TypeScript, React, Node.js технологий, Сергей Халипский (Беларусь), Principal Software Engineer, Oxagile, 15 лет в проектировании, внедрении, развертывании и обслуживании сложных систем, разработке структур баз данных, тестировании, технических исследованиях, оценке производительности – касались актуальной разработки компании.
В работе, выполненной в рамках проекта компании по борьбе с распространением инфекции COVID-19, разработан и практически реализован метод полуавтоматической калибровки камер, основанный на детекции объектов. В рамках выполнения проекта необходимо было создать систему, позволяющую измерять температуру людей, входящих в здания, а также производить распознавание лиц для последующего контроля доступа. Разработанный метод позволяет значительно упростить калибровку системы, состоящей из двух камер, работающий в оптическом и дальнем инфракрасном спектральных диапазонах.
При калибровке предложенным медотом предлагается перемещать объекты в пределах видимости обеих камер, параллельно производя детекцию ключевых точек на изображения оптического и инфракрасного диапазонов. Такими объектами были выбраны черное тело (нахождение которого в области видимости необходимо для относительного измерения температуры людей) и лицо человека. Отдельные подзадачи разработанного метода явились основой для создания программного модуля, обеспечивающего самоконтроль системы, выдающего сигналы об изменении расположения положений камер и черного тела. Для решения поставленной задачи были использованы/созданы детекторы лица и черного тела для оптических и инфракрасных изображений (BlazeFace, RetinaFace).
Основой проекта является нейронная сеть BlazeFace из библиотеки MediaPipe от Google, которая умеет детектировать лица по RGB фрейму и выдавать соответствующие метаданные (Landmarks, Boundingbox, Score и другие). Для детекции масок мы собрали небольшой датасет и обучили нашу кастомную сеть на распознавание маски по детектированным лицам. Для детекции черного тела мы также собрали небольшие датасеты и обучили 2 сетки для распознавания черного тела по RGB и IR фреймам. Для чтения температурных данных с IR камеры мы используем WebGL, конвертируем сырые термальные данные из UINT16 в FLOAT32, затем преобразуем их в Grayscale-изображение на котором уже можно в черно-белых тонах видеть лица и другие предметы. Такое Grayscale-изображение подается на вход BlazeFace и он детектирует лица по “термальному” фрейму.
Для калибровки камер изначально мы воспользовались стандартной схемой: запоминаем 4 точки на двух изображениях, формируем вектор и из него получаем матрицу преобразования одного кадра в другой. Это легко получилось бы, если бы было 2 картинки в RGB, но при сочетании картинки с RGB и с инфракрасной камеры соответствия точек не было. Но пришло понимание, что мы можем взять чёрное тело, разместить его в разных уголках кадра, с помощью детектора чёрного тела вычислить углы и построить виртуальные точки, чтобы откалибровать камеры в стереорежиме. Позже также пришла идея использовать само лицо человека в кадре, чтобы откалибровать камеры. По итогу решили использовать лицо человека, детекцию лиц по RGB и IR фреймах с помощью BlazeFace. При таком решении нет даже требования, в какой части кадра человеку нужно находиться, – автоматически собираем точки, строим биспектральное изображение с двух камер и рассчитываем коэффициент, насколько качественно произведена калибровка.
Как только мы используем JS и браузер для запуска решений, которые что-то детектируют, мы получаем сразу несколько плюсов: нам не надо передавать кадры куда-то на бэкэнд, у нас появляется возможность реал-тайм процессинга данных. Также при запуске в браузере у нас появляется кроссплатформенная поддержка. Мы использовали в качестве фреймворка TensorFlow.js, соответственно, всю GPU-Acceleration он брал на себя.
В браузере есть три бэкэенда: CPU, WebGL и WebAssembly. Наш опыт подсказывает использовать либо WebGL, либо WebAssembly, они намного быстрее, чем CPU, хотя конкретные значения всегда лучше получить через тестирование на конкретном девайсе. Производительность на мобильных девайсах в среднем 10 FPS, на более мощных еще больше, но даже этого достаточно, чтобы в реальном времени обработать изображение и отобразить результат при правильно построенном UX: показывать онлайн-видео с камеры девайса и отображать метаданные от приложения по мере их доступности.
Воркшоп «Эффективная презентация/Elevator Pitch»
Как презентовать свой проект в одной фразе, must have для успешной презентации и много других полезных лайфхаков рассказала Ирина Дубовик, Digital Marketing Director Intetics в рамках своего воркшопа.
Предлагаем вашему вниманию тезисные выжимки выступления:
· Умение выступать и представлять себя и проекты – один из важнейших навыков в наше время. Компании вкладывают в проекты большие суммы, и эти идеи нужно упаковать и представлять таким образом, чтобы в вас поверили и поддержали. Это один из самых важных навыков в бизнесе.
· Нельзя игнорировать психологию: язык телодвижений не менее важен, чем то, что вы говорите. На сегодня большинство коммуникаций происходят онлайн, и перед такими встречами не стоит забывать о подготовке: проверить камеру и то, как вы выглядите, позаботиться о хорошем звуке и микрофоне, установить фон.
· Старайтесь общаться со включенной камерой, сегодня все коммуникации ушли в ремоут и очень не хватает живого общения, так вы сможете лучше понять собеседника, увидеть его эмоции, заинтересованность, и это просто элемент вежливости.
· Самый важный шаг при подготовке презентации – определить её цель. Хотите поговорить с клиентом, чем-то его заинтересовать, узнать обратную связь или просто хайпануть? Определите основные тезисы, которые хотите донести. И только после приступайте к оформлению.
· Чтобы качественно выделиться на фоне других, используйте «wow-эффект». То есть что-то интересное для аудитории, что её зацепит: лучше всего демо вашего решения, практический кейс, интересно оформленная заставка в профиле или презентации, а самое главное, — польза, которую можно получить и узнать для себя.
· Эффективный инструмент для презентации себя, вашего проекта или идеи – Elevator Pitch, который длится не более 3 минут (столько, сколько едет лифт). Формула достаточно проста: назвать свою компанию, проект или идею, указать IT-составляющую (приложение, платформа или веб-сайт), обозначить функционал, какой аудитории ваш проект помогает и чего именно достичь. В конце стоит обязательно добавить уникальную ценность – это польза и конкретный результат для пользователя.
· Обязательно нужно раскрыть какую проблему клиента решает ваш продукт/сервис или проект. Чем она больше, тем лучше. Только после этого можно предложить ее решение.
· Из must-have успешной-презентации – грамотная работа с завершающими фразами и заключительным слайдом. Используйте призыв к действию, не говорите общих фраз в стиле «спасибо за внимание», так вы разрываете коммуникацию. Гораздо лучше сказать: «Если у вас остались вопросы, обратитесь ко мне после выступления».
· Предлагайте слушателям пройти на сайт, получить демо, подписаться, продолжить общение на стенде или связаться напрямую.
Организатором конференции выступил старейший ИТ-портал Беларуси KV.by.
Золотой партнёр конференции: Intetics
Серебряный партнёр конференции: Oxagile
Горячие темы