LED-Bug
Меню
Язык
Магазин

coloured towers · Часть 2 из 2

Радость цвета, технологий и света

Часть 2 — Технические вызовы и эксперименты

· TechxArtisan Project TechArt

В этой публикации мы погружаемся в техническую сторону создания 4-метровых LED-башен для британского художника Dave Bramston. Если вам интересна творческая предыстория этого сотрудничества и то, как мы вместе создавали Coloured Towers во время пандемии для The Bowes Museum в Великобритании, ознакомьтесь с Частью 1: История создания.

При реализации этой арт-инсталляции нам в TechxArtisan пришлось преодолеть несколько технических препятствий. Основное оборудование, которое мы использовали, включало Jetson Nano от Nvidia — маломощный микрокомпьютер с поддержкой GPU, идеальный для запуска алгоритмов ИИ — и ESP32, широко используемый микроконтроллер (MCU), который эффективно управляет связью между хост-компьютером и LED-модулями с помощью библиотеки FastLED.

Вот краткий обзор процесса:

  1. Алгоритмы ИИ на Jetson Nano определяют одежду людей через камеру.
  2. Кластеризация K-means используется для извлечения доминирующего цвета их одежды.
  3. Извлечённые значения RGB отправляются на ESP32, который управляет LED-лентами, прикреплёнными к произведению искусства.
Technical process diagram
Технический процесс.

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

Определение одежды с помощью Nvidia Jetson Nano

Jetson Nano позволил нам запускать модели ИИ с открытым исходным кодом, обученные распознавать человеческую одежду. Процесс включает захват каждого кадра изображения с камеры, разделение его на матрицу из сеток 10x16 и запуск модели для определения, какие сетки соответствуют нашей цели — в данном случае одежде. Хотя модель предназначена для обнаружения различных объектов, включая те, что входят в список классов MHP, мы использовали её конкретно для определения одежды.

Перевод цветов между реальностью и цифровым миром

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

Colour checker board
Использование цветовой мишени для согласования цифровых цветов с реальностью.

После того как машина определяет цвет, мы применяем кластеризацию k-means для извлечения доминирующего цвета одежды. Эти значения RGB затем усредняются и отправляются на LED-контроллер.

Цвета LED и проблема RGB

Используемые нами LED-ленты (серия ws281x) могут смешивать красный, зелёный и синий (RGB) каналы для создания широкого спектра цветов. Но есть некоторые ограничения:

  • LED-лентам сложно отображать серые и чёрные тона, если одежда посетителя тёмная. Светодиоды просто снижают общую яркость.
  • Наши ленты ws281x имеют небольшое смещение в сторону синего, что означало необходимость тонкой настройки цветового баланса в программном обеспечении для получения правильных оттенков.
Colour detection testing
Тестирование стабильности программы определения цвета.

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

Питание всех этих LED-лент

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

Для каждого столба:

  • 24 LED-ленты × 4 метра на ленту = 96 метров LED на столб
  • 96 метров × 60 LED на метр = 5 760 LED
  • Каждая лента потребляет 4 ампера на полной мощности (белый свет)
  • Итого 24 ленты × 4 ампера = 96 ампер на один столб
  • 96 ампер × 12В = 1 152 Вт на столб

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

Connecting the power supply
Аккуратное подключение источника питания.

Для технически подкованных — вот фрагмент нашего кода FastLED:

const uint8_t kMatrixWidth = 12;
const uint8_t kMatrixHeight = 80;

Это позволило нам управлять 12 x 80 = 960 пикселями на столб.

Заключительные мысли

Для более глубоких технических подробностей ознакомьтесь с моей публикацией в сообществе FastLED на Reddit. Хочу выразить благодарность Quindor и Charles Goodwin за их поддержку и голоса. Сотрудничество с Dave Bramston и The Bowes Museum было невероятно вдохновляющим опытом, и мы стремимся продолжать раздвигать границы искусства и технологий.

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

Спасибо за чтение!


Кратко: Четыре столба, ~5 м каждый · 5 760 LED на столб · Nvidia Jetson Nano + ESP32 · Journey in Colour, The Bowes Museum, 18 июня – 30 октября 2022.

Перейти к проекту · Часть 1: История создания