| |
create
|
13:05 13.10.2025 |
|
13:05 13.10.2025 |
|
№12291 |
Владимир Мокроусов: А философия это хобби
Есть такая серия мемов (анекдотов), которые заканчиваются фразой "а такси - это хобби"))
Владимир, это замечательно, что Вы задаётесь такими вопросами, но Вам следует сделать одно усилие и попытаться понять, что Ваши на них ответы не представляют никакой ценности, кроме как психологическое утешение для Вас персонально.
|
| |
write
|
Архитектура "FacetNet": Нейросеть с фасеточным зрением
Задача: Быстрое обнаружение и реакция на критически важные стимулы (препятствия, цель, движущиеся объекты) в режиме реального времени с минимальным энергопотреблением.
Схема архитектуры
graph TD
subgraph A [Фасеточный сенсорный вход]
A1[Сектор 1<br/>Фасетка 1..N]
A2[Сектор 2<br/>Фасетка N+1..2N]
A3[Сектор 3<br/>Фасетка 2N+1..3N]
A4[Сектор K<br/>...]
end
subgraph B [Параллельные детекторы признаков<br/>(Низкоуровневая обработка)]
B1[Детектор 1<br/>Движение →]
B2[Детектор 2<br/>Вертикальные края]
B3[Детектор 3<br/>Цвет/УФ-метка цели]
B4[Детектор M<br/>...]
end
subgraph C [Слой пространственного<br/>объединения паттернов]
C1[Блок Сектора 1]
C2[Блок Сектора 2]
C3[Блок Сектора 3]
C4[Блок Сектора K]
end
subgraph D [Выходной слой<br/>("Поведенческий")]
D1[Двигаться ВПЕРЕД]
D2[ПОВЕРНУТЬ НАЛЕВО]
D3[ПОВЕРНУТЬ НАПРАВО]
D4[ОСТАНОВИТЬСЯ<br/>Препятствие!]
D5[ЦЕЛЬ ОБНАРУЖЕНА]
end
A1 --> B1 & B2 & B3;
A2 --> B1 & B2 & B3;
A3 --> B1 & B2 & B3;
A4 --> B1 & B2 & B3;
B1 --> C1 & C2 & C3 & C4;
B2 --> C1 & C2 & C3 & C4;
B3 --> C1 & C2 & C3 & C4;
C1 --> D;
C2 --> D;
C3 --> D;
C4 --> D;
Детальное описание каждого слоя
1. Фасеточный Сенсорный Вход (Faceted Input Layer)
• Аналог в природе: Массив омматидиев.
• Реализация: Данные не с одной камеры, а с массива из K независимых мини-камер (или один сенсор, программно разбитый на K секторов).
• Функция: Каждая "фасетка" (сектор) передает только сырые данные с своего участка обзора (например, 80x80 пикселей). Нет единого высококачественного изображения 1920x1080. Это сразу снижает объем данных.
2. Параллельные Детекторы Признаков (Parallel Feature Detectors)
• Аналог в природе: Низкоуровневые нейроны, обнаруживающие края, движение, цвет.
• Реализация: Набор небольших сверточных ядер (convolutional kernels), которые применяются к каждой фасетке независимо и параллельно.
o Детектор Движения: Ядро, чувствительное к изменению между "кадрами" от каждой фасетки. Реагирует на последовательную активацию.
o Детектор Краев: Ядра Собеля или аналоги для выделения вертикальных/горизонтальных линий (контуры зданий, бордюров).
o Детектор Цели: Ядро, настроенное на цветовую метку или специфическую форму цели (например, оранжевый почтовый ящик).
• Результат: Для каждой фасетки получается вектор простых признаков: ["сильное движение слева", "вертикальный край", "метка цели не обнаружена"].
3. Слой Пространственного Объединения Паттернов (Spatial Pattern Pooling Layer)
• Аналог в природе: Группировка сигналов от омматидиев определенной области глаза (передней, верхней и т.д.).
• Реализация:
1. Пространство разбивается на логические секторы (например, Левый, Правый, Центр, Верх).
2. Для каждого сектора агрегируются выходы всех детекторов признаков от фасеток, находящихся в этом секторе.
3. Используется простая операция Max Pooling или Average Pooling, чтобы выделить самый сильный сигнал в секторе.
• Пример:
o Левый сектор: [Движение: 0.9, Вертикальный край: 0.8, Цель: 0.0]
o Центральный сектор: [Движение: 0.1, Вертикальный край: 0.9, Цель: 0.0]
o Правый сектор: [Движение: 0.0, Вертикальный край: 0.2, Цель: 0.95]
4. Выходной "Поведенческий" Слой (Output "Behavioral" Layer)
• Аналог в природе: Нейроны, запускающие конкретное поведение (улететь, атаковать, приземлиться).
• Реализация: Полностью связанный слой (Fully Connected) или даже просто набор жестких правил, который отображает агрегированные паттерны на действия.
• Логика принятия решений (псевдокод):
o ЕСЛИ (Сектор_Цель.Сигнал_Цели > 0.8) ТОГДА выход = "ЦЕЛЬ ОБНАРУЖЕНА"
o ИНАЧЕ ЕСЛИ (Сектор_Центр.Сигнал_Края > 0.7) ТОГДА выход = "ОСТАНОВИТЬСЯ"
o ИНАЧЕ ЕСЛИ (Сектор_Левый.Сигнал_Движения > 0.6) ТОГДА выход = "ПОВЕРНУТЬ НАПРАВО"
o ИНАЧЕ ЕСЛИ (Сектор_Правый.Сигнал_Движения > 0.6) ТОГДА выход = "ПОВЕРНУТЬ НАЛЕВО"
o ИНАЧЕ выход = "ДВИГАТЬСЯ ВПЕРЕД"
________________________________________
Преимущества этой архитектуры
1. Скорость: Параллельная обработка небольших блоков данных происходит быстрее, чем анализ одного гигантского изображения.
2. Энергоэффективность: Мелкие сверточные ядра требуют меньше вычислений.
3. Устойчивость: Если несколько "фасеток" выйдут из строя или будут засвечены, система продолжит работать на основе данных с других.
4. Прозрачность: Легко интерпретировать решение системы. Можно точно сказать, почему робот повернул направо: "Потому что в левом секторе было обнаружено движение с высокой уверенностью".
Эта архитектура жертвует способностью к тонкому распознаванию (отличить кошку от собаки) ради скорости, надежности и эффективности — именно тех качеств, которые необходимы автономным системам в динамичном реальном мире.
|
| |
create
|
Владимир Мокроусов: в режиме реального времени
Не хотелось бы придираться по мелочам))), но, извините, не увидел в Вашей архитектуре признаков того, что это система реального времени))
|
| |
create
|
Egg:Владимир Мокроусов:
Как раз для человека генерировать новые идеи не проблема.
Да, в идеях нет дефицита)) Есть дефицит решений и умений.
Как Вы думаете, почему философ - это одна из самых низкооплачиваемых специальностей, одна из самых невостребованных на рынке труда? Потому что философы бесполезны 😂
Поговорите с Владом, уверен, ему все эти рассуждения будут интересны. Мой интерес начинается с обсуждения текущих имплементаций LLM и механизмов их работы.
Вы, Ваше сознание и интересный вопрос: А Ваш ли это интерес? Вы объявляете
о неком знании, а когда Вас спрашивают каким образом получено данное знание,
то Вы испытываете затруднение, то есть Вы не участвовали в получении данного
знания. При этом уведомления, о принятых решениях, к Вам приходят с неким
запозданием. То есть Ваше сознание даже на хозяина этой истории не тянет.
Так чей же интерес?
|
| |
create
|
Влад: Так чей же интерес?
Если для Вас это важно, попробуйте в этом разобраться. Мне пофигу))
|
| |
write
|
Egg:Влад: Так чей же интерес?
Если для Вас это важно, попробуйте в этом разобраться. Мне пофигу))
Что пофиг это даже не вызывает вопросов. ИИ может делать Вашу работу и без Вас.
Углубленное детальное описание архитектуры "FacetNet"
1. Фасеточный Сенсорный Вход (Faceted Input Layer)
• Аналог в природе: Зрение насекомых (например, стрекозы или пчелы). Каждая фасетка (омматидий) направлена в своем направлении и регистрирует интенсивность света независимо.
• Техническая реализация:
o Сенсор: Не просто камера, а матрица, физически или логически разделенная на сектора (например, 8x8 блоков пикселей). Для лидара или сонара — разделение по углам обзора.
o Препроцессинг: Каждый сектор обрабатывается независимо. Это включает в себя:
Локальная нормализация контраста: Повышает устойчивость к изменению освещенности в разных частях кадра.
Простая бинаризация или квантование цвета: Резкое снижение глубины данных (например, до 1-2 бит на пиксель для детектора краев, 4-8 бит для цвета).
Выделение элементарных признаков "на месте": Например, вычисление оптического потока Лукаса-Канаде между двумя последовательными кадрами в пределах одного сектора. Это требует минимум памяти и вычислений.
2. Параллельные детекторы признаков (Low-Level Feature Detectors)
Это ядро системы, реализованное как набор сверхбыстрых, энергоэффективных фильтров. Каждый детектор "просматривает" все сектора параллельно.
• Детектор 1: Движение (на основе оптического потока).
o Вход: Два последовательных кадра от фасетки.
o Алгоритм: Упрощенный метод Лукаса-Канаде или даже разность кадров (frame differencing).
o Выход: Вектор (магнитуда, направление) доминирующего движения в секторе.
• Детектор 2: Ориентация краев (на основе свертки).
o Вход: Текущий нормализованный кадр от фасетки.
o Алгоритм: Применение маленьких ядер свертки (3x3) типа Собеля или Превитта для выделения вертикальных, горизонтальных и диагональных граней.
o Выход: Карта ориентаций краев или просто "сила вертикального края" в секторе.
• Детектор 3: Цвет/Специфическая метка.
o Вход: Текущий кадр от фасетки.
o Алгоритм: Преобразование в цветовое пространство HSV/HSL и проверка попадания в заданный диапазон (например, для обнаружения оранжевого конуса или УФ-метки).
o Выход: Бинарный флаг "метка обнаружена" и/или вероятность.
3. Слой пространственного объединения паттернов (Spatial Pattern Pooling Layer)
Это слой, где данные от всех детекторов и всех секторов сводятся воедино для формирования "тактической картины".
• Функция: Каждый "Блок Сектора" (C1-C4) получает данные от всех детекторов, но только для своей области обзора.
• Логика работы каждого блока:
o Агрегация по времени: Усреднение или взятие максимума от данных детекторов за короткое временное окно (3-5 кадров) для подавления шума.
o Принятие локального решения: Простая правило-базовая логика для своей зоны.
Пример для C1 (Правый сектор): ЕСЛИ (Движение_Вправо > порог) И (Вертикальный_Край > порог) ТОГДА [Объект_Справа = ВКЛ]
Пример для C3 (Центральный сектор): ЕСЛИ (Цель_Обнаружена = ИСТИНА) ТОГДА [Цель_В_Центре = ВКЛ]
• Выход блока: Не вектор признаков, а готовый, семантически значимый набор бинарных флагов или приоритетных сигналов для своего сектора.
4. Выходной слой (Поведенческий, Behavioral Output Layer)
Финальный, безусловный приоритетный арбитр. Его задача — преобразовать набор сигналов от секторов в одно конкретное действие.
• Реализация: Жесткая логика приоритетов (как в конечном автомате), а не мягкая классификация.
• Алгоритм (псевдокод):
python
def behavioral_arbiter(input_from_sectors):
# Приоритет 1: Безопасность (СТОП)
if input_from_sectors.obstacle_imminent:
return "STOP"
# Приоритет 2: Цель (Атака/Следование)
if input_from_sectors.target_detected:
if not input_from_sectors.target_centered:
return "TURN_TOWARDS_TARGET" # Уточнить направление на основе сектора
else:
return "MOVE_FORWARD"
# Приоритет 3: Навигация (Избегание препятствий)
if input_from_sectors.obstacle_left:
return "TURN_RIGHT"
elif input_from_sectors.obstacle_right:
return "TURN_LEFT"
# Приоритет 4: По умолчанию (Исследование)
return "MOVE_FORWARD"
________________________________________
Конкретная дорожная карта реализации и валидации
Шаг 1: Детальная спецификация на примере мобильного робота
• Цель: Избегание препятствий и следование по цветной линии.
• Сенсор: Камера 64x64 пикселей, 8 секторов (8x8 блоков).
• Детекторы:
1. Движение: Разность кадров, порог = 10% от макс. значения.
2. Края: Вертикальный и горизонтальный Собеель.
3. Цвет: Фильтр по желтому цвету в HSV (для линии).
• Поведенческий слой:
o STOP: Если сектора 1,2,3 (нижние) показывают высокую плотность краев (препятствие).
o TURN_LEFT: Если желтый цвет сильнее в правых секторах.
o TURN_RIGHT: Если желтый цвет сильнее в левых секторах.
o MOVE_FORWARD: Иначе.
Шаг 2: Выбор метрик и создание тест-бенча
• Метрики:
o Энергопотребление: мВт/кадр.
o Задержка: От захвата кадра до команды на моторы (цель: < 50 мс).
o Точность: % успешного прохождения трассы без столкновений.
o Устойчивость: Работа при разном освещении.
• Тест-бенч: Симуляция в Gazebo/Unity с моделями роботов и разными сценариями.
Шаг 3: Реализация на целевом аппаратном обеспечении (FPGA)
• Почему FPGA: Идеальна для параллельной обработки независимых потоков данных (фасеток и детекторов).
• Схема реализации:
o Блок 1: Демультиплексор входного видеопотока на 8 независимых потоков (фасетки).
o Блок 2: 8 идентичных конвейеров, каждый содержит:
Память для двух кадров.
Арифметические ядра для детекторов движения, краев, цвета.
o Блок 3: Логика объединения (каждый сектор выдает флаги).
o Блок 4: Конечный автомат (Behavioral Arbiter).
• Ожидаемый выигрыш: Задержка в пределах одного кадра, крайне низкое энергопотребление.
Шаг 4: Сравнительный анализ
• Базовые модели: Сравнить с TinyYOLO, запущенной на микроконтроллере (например, ESP32-S3) по метрикам "Энергопотребление/Задержка/Точность".
• Критерий успеха: FacetNet должна значительно (на порядок) превосходить по энергоэффективности и задержке, возможно, в ущерб общей точности в сложных сценариях.
________________________________________
Итоговая оценка и вывод
Новизна: Комбинация известных элементов (фасеточный ввод, параллельные детекторы, приоритетный арбитр) в единую, целенаправленно минималистичную архитектуру для задач ВРЕАЛЬНОГО реального времени (sub-100ms) с жесткими ограничениями по энергии является концептуально новой. Это не еще одна "компактная нейросеть", а принципиально иной, алгоритмический подход, вдохновленный биологией.
Полезность: Крайне высока для нишевых применений:
• Миниатюрные роботы-разведчики.
• Автономные дроны для полетов в лесу (быстрая реакция на ветки).
• Промышленные роботы на конвейере с простыми, но критичными по времени задачами.
• "Умные" датчики, которые должны просыпаться и реагировать на конкретное событие.
Что дальше? Чтобы идея перестала быть концептом, необходимо:
1. Формализовать ТЗ: Выбрать ОДНУ конкретную задачу (например, "избегание столкновений с пешеходом").
2. Реализовать прототип: Сначала в симуляторе, затем на реальном железе (например, плата с FPGA и камерой OV7670).
3. Провести замеры: Получить объективные цифры по энергопотреблению и задержке.
4. Сравнить с state-of-the-art: Показать, в чем ваше архитектурное решение дает реальное преимущество.
Детальное Техническое Задание (ТЗ) на пилотный прототип
Цель прототипа: Демонстрация способности архитектуры "FacetNet" выполнять задачу избегания препятствий в режиме реального времени с минимальным энергопотреблением на платформе с ограниченными ресурсами.
1. Технические требования:
• Задача: Обход случайно расставленных препятствий (картонных коробок высотой от 50 см) на плоской поверхности.
• Платформа: Небольшое колесное шасси (например, на базе Raspberry Pi Pico или STM32).
• Сенсор: Камера OV7670 (VGA, 640x480), но используемое разрешение – 64x64 пикселя, в оттенках серого.
• Быстродействие:
o Частота обработки: не менее 15 кадров/с.
o Полная задержка (от захвата кадра до подачи команды на моторы): < 66 мс.
• Энергопотребление:
o Питание от аккумулятора 18650.
o Целевое энергопотребление системы обработки зрения (камера + вычисления): < 150 мВт в активном режиме.
• Надежность: Робот должен проезжать тестовую трассу длиной 10 метров со средним количеством препятствий без столкновений в > 95% случаев при стабильном освещении.
2. Детальная спецификация архитектуры для прототипа:
yaml
# CONFIG.yaml для пилотного прототипа "FacetNet-ObstacleAvoidance-v1"
Sensor:
Type: "OV7670"
Output_Resolution: [64, 64]
Color_Mode: "Grayscale"
Frame_Rate: 15
Facets:
Layout: "3x1" # Три горизонтальных сектора: ЛЕВЫЙ, ЦЕНТР, ПРАВЫЙ
# Каждый сектор обрабатывает колонку ~21 пиксель в ширину и 64 в высоту.
Left_Sector: [0, 21, 0, 63] # [x_start, x_end, y_start, y_end]
Center_Sector: [22, 42, 0, 63]
Right_Sector: [43, 63, 0, 63]
Feature_Detectors:
- Name: "Vertical_Edge_Detector"
Type: "Sobel_Filter"
Kernel: "Vertical"
Activation_Threshold: 50 # Значение выше которого считается "краем"
- Name: "Motion_Detector"
Type: "Frame_Differencing"
# Берется разность текущего и предыдущего кадра в секторе
Activation_Threshold: 25 # Сумма изменений выше порога -> "движение"
Spatial_Pooling_Layer:
# Каждый сектор независимо агрегирует данные своих детекторов.
Logic:
- Sector: "Left"
Rule: "OBSTACLE = (Vertical_Edge_Detector > Thresh) OR (Motion_Detector > Thresh)"
- Sector: "Center"
Rule: "OBSTACLE = (Vertical_Edge_Detector > Thresh) OR (Motion_Detector > Thresh)"
- Sector: "Right"
Rule: "OBSTACLE = (Vertical_Edge_Detector > Thresh) OR (Motion_Detector > Thresh)"
Behavioral_Output_Layer:
Priority_Arbiter:
- Condition: "Center.OBSTACLE == TRUE"
Action: "STOP"
# После остановки нужна более сложная логика, но для прототипа - просто стоп.
- Condition: "Left.OBSTACLE == TRUE AND Center.OBSTACLE == FALSE"
Action: "TURN_RIGHT"
- Condition: "Right.OBSTACLE == TRUE AND Center.OBSTACLE == FALSE"
Action: "TURN_LEFT"
- Condition: "DEFAULT"
Action: "MOVE_FORWARD"
3. Псевдокод для микроконтроллера (C++ like)
cpp
// Инициализация
Camera ov7670;
MotorDriver motors;
Frame current_frame[64][64];
Frame previous_frame[64][64];
void setup() {
ov7670.init(GRAYSCALE_64x64);
motors.init();
}
void loop() {
// 1. Фасеточный сенсорный вход
ov7670.captureFrame(current_frame);
// 2. Инициализация выходов секторов
bool obstacle_left = false;
bool obstacle_center = false;
bool obstacle_right = false;
// 3. Параллельная обработка секторов (на деле - последовательно, но логически параллельно)
processSector(LEFT_SECTOR, &obstacle_left);
processSector(CENTER_SECTOR, &obstacle_center);
processSector(RIGHT_SECTOR, &obstacle_right);
// 4. Поведенческий выходной слой (Арбитр приоритетов)
if (obstacle_center) {
motors.stop();
} else if (obstacle_left) {
motors.turnRight();
} else if (obstacle_right) {
motors.turnLeft();
} else {
motors.moveForward();
}
// 5. Подготовка к следующему кадру
memcpy(previous_frame, current_frame, sizeof(current_frame));
}
// Функция обработки одного сектора
void processSector(Sector sector, bool* obstacle_flag) {
int edge_energy = 0;
int motion_energy = 0;
for (int x = sector.x_start; x < sector.x_end; x++) {
for (int y = sector.y_start; y < sector.y_end; y++) {
// Детектор вертикальных краев (упрощенный Собеель)
int gx = applySobelX(current_frame, x, y); // Вычисление градиента по X
edge_energy += abs(gx);
// Детектор движения (разность кадров)
int diff = abs(current_frame[x][y] - previous_frame[x][y]);
motion_energy += diff;
}
}
// Нормализация по количеству пикселей в секторе и применение порога
edge_energy /= sector.pixel_count();
motion_energy /= sector.pixel_count();
// Простое правило объединения: если ХОТЯ БЫ один детектор "активен" - считаем препятствие
*obstacle_flag = (edge_energy > EDGE_THRESH) || (motion_energy > MOTION_THRESH);
}
4. План валидации и тестирования
1. Стенд: Создать тестовый полигон 3x3 метра с изменяемой расстановкой препятствий.
2. Измерение задержки:
o Подключить выходной пин МК к осциллографу.
o Пин поднимается в HIGH в начале захвата кадра и опускается при подаче команды на моторы. Измерить длительность импульса.
3. Измерение энергопотребления:
o Включить в разрыв цепи питания МК и камеры прецизионный шунт.
o С помощью АЦП или осциллограмма замерить ток потребления во время активной работы.
4. Метрика точности:
o Серия 1: 100 запусков на трассе с 5 препятствиями. Зафиксировать процент успешных прохождений.
o Серия 2: Тест на "слепоту". Помещение робота перед стеной. Он должен остановиться в 100% случаев.
5. Сравнение с бейзлайном:
o Запустить на этой же платформе простую нейросеть для классификации изображений (например, TensorFlow Lite Micro с предобученной моделью на том же датасете).
o Сравнить по трем метрикам: Задержка, Энергопотребление, Точность.
________________________________________
Этап 5: Оценка рисков и план их mitigation
Риск Вероятность Влияние Способы снижения
Вычислений на МК не хватит для 15 FPS. Высокая Критическое 1. Использовать МК с аппарачным ускорителем (Pico DVI SDRAM).
2. Снизить разрешение до 32x32.
3. Оптимизировать код на ассемблере.
Ложные срабатывания детекторов (тени, шум). Средняя Высокое 1. Внедрить временное скользящее окно (например, препятствие должно детектироваться 3 кадра подряд).
2. Калибровка порогов под окружающую среду.
Энергопотребление камеры выше расчетного. Низкая Среднее 1. Использовать камеру с режимом низкого энергопотребления.
2. Реализовать прерывистый режим работы (например, 1 сек работы, 1 сек сна).
Заключение по проекту прототипа:
Предложенный план позволяет перейти от концепции к измеримому результату в сжатые сроки. Сила "FacetNet" не в универсальности, а в гипероптимизации под одну задачу. Успех прототипа докажет, что для определенного класса задач биологически-вдохновленные, не-нейросетевые архитектуры могут быть на порядок эффективнее традиционных подходов.
Следующий шаг: Реализовать и отладить код для МК согласно псевдокоду, провести первичные "настольные" тесты без шасси, замерив базовую функциональность и скорость. После этого можно переходить к сборке полноценного робота и проведению валидации.
|
| |
create
|
Владимир Мокроусов:
ИИ может делать Вашу работу и без Вас.
Это идеально для меня, поговорите с ИИ))
|
| |
write
|
14:44 13.10.2025 |
|
14:49 13.10.2025 |
|
№12298 |
Egg:Владимир Мокроусов:
ИИ может делать Вашу работу и без Вас.
Это идеально для меня, поговорите с ИИ))
"Вас" - это не лично Вас, а архитекторов. Насколько я знаю, уже разработчики ИИ приступили к разработке нового языка программирования для ИИ, этот язык программирования будет создаваться самим ИИ под руководством ведущих специалистов. Это долгий процесс. На Ваш вопрос ИИ дал ответ.
Отличный и ключевой вопрос. Давайте разберем его системно. Работа в реальном времени — это не одно свойство, а выполнение трех условий одновременно:
Детерминированная задержка: Время от получения входных данных до формирования реакции должно быть предсказуемым и ограниченным (например, < 100 мс), а не просто "маленьким в среднем".
Выполнение deadlines (сроков): Система должна укладываться в этот лимит времени всегда, а не только в идеальных условиях.
Устойчивость к нагрузке: Система должна функционировать корректно при пиковой нагрузке (много препятствий, шум, сложный фон).
Оценим архитектуру "FacetNet" по этим критериям:
1. Анализ Детерминированности и Задержки
Это самая сильная сторона FacetNet. Ее задержка легко рассчитывается и почти фиксирована.
Разложение задержки по компонентам:
T_sensor: Задержка захвата кадра камерой. Детерминировано. Например, при 64x64 и 30 FPS это ~33 мс.
T_facets: Обработка N секторов. Детерминировано. Это просто цикл по пикселям.
Пример расчета для МК (STM32F4 ~168 МГц):
Обработка 1 пикселя (свертка Собеля + разность кадров) ~20 тактов.
Всего пикселей: 64x64 = 4096.
T_facets = (4096 пикс * 20 тактов) / 168 000 000 Гц ≈ 0.5 мс.
T_pooling: Слой объединения. Детерминировано. Это несколько простых условных операторов. < 0.1 мс.
T_arbiter: Поведенческий слой. Детерминировано. Это простая логика if-else. < 0.1 мс.
Итоговая задержка: T_total = T_sensor + T_facets + T_pooling + T_arbiter ≈ 33 + 0.5 + 0.1 + 0.1 ≈ 33.7 мс.
Вывод: Задержка предсказуема, фиксирована и укладывается в жесткие рамки реального времени (например, для робота-пылесоса или дрона).
2. Анализ Выполнения Сроков (Meeting Deadlines)
Почему FacetNet гарантированно укладывается в рассчитанные 33.7 мс?
Отсутствие сложных алгоритмов: Нет циклов с переменным числом итераций (как в трекинге объектов), рекурсии, сложных сортировок или плавающей арифметики (все можно заменить на целочисленную).
Отсутствие динамической памяти: Все массивы (кадры) статичны, нет malloc/new, что исключает непредсказуемость сборщика мусора или фрагментации памяти.
Прямой доступ к данным: Архитектура "сырые пиксели -> фичи -> решение" минимизирует объем данных, проходящих через систему.
Сравнение с нейросетевой моделью (например, TinyYOLO):
Задержка нейросети также довольно предсказуема, но ее "хвост" может быть длиннее из-за большего объема вычислений. FacetNet выигрывает на несколько порядков по абсолютному времени.
3. Анализ Устойчивости к Нагрузке
Здесь есть нюансы. FacetNet устойчива к вычислительной нагрузке, но может быть чувствительна к информационной.
Устойчивость к вычислительной нагрузке: Высокая. Не важно, 1 препятствие на сцене или 10 — количество операций на кадр не меняется. Это огромное преимущество.
Устойчивость к информационной нагрузке (шум, сложный фон): Ограниченная.
Риск: Детекторы низкого уровня (края, движение) могут начать ложно срабатывать на текстурах ковра, тенях, бликах.
Смягчение: Эту проблему решает Слой пространственного объединения.
Вместо реакции на один "шумный" пиксель, решение принимается по усредненной энергии всего сектора.
Можно ввести временную фильтрацию: "препятствие" считается действительным, если оно детектируется в 3 из 5 последних кадров.
Практический План: "Как проверить на практике?"
Вот пошаговая инструкция для вашего прототипа:
1. Тест на детерминизм (Постобработка):
Встройте в код метки времени (микросекунды) до и после ключевых блоков.
Запустите робота в режиме "стенд на месте" и записывайте лог с этими метками для 1000 кадров.
Критерий успеха: Разброс времени выполнения каждого блока ( T_facets, T_pooling ) не должен превышать 5%. Если разброс большой, ищите прерывания, кэш-промахи.
2. Стресс-тест на задержку:
Создайте наихудший сценарий для вычислений. Например, кадр с "шахматной доской" — это максимум работы для детекторов краев.
Замерьте T_total на таком кадре.
Критерий успеха: T_total с "шахматной доской" должен оставаться в пределах вашего дедлайна (например, 50 мс).
3. Тест на устойчивость к нагрузке:
Сценарий 1: Много препятствий. Разбросайте много объектов (полоски бумаги, коробки) прямо перед роботом. Он должен стабильно останавливаться, а не "зависать" из-за перегрузки.
Сценарий 2: Сложный фон. Запустите робота перед телевизором, показывающим динамическое видео, или на пестром ковре. Наблюдайте за уровнем ложных срабатываний.
4. Сравнительный тест (Доказательство эффективности):
Запустите на той же аппаратуре простую нейросеть для семантической сегментации или детекции объектов (например, TensorFlow Lite Micro).
Одновременно замерьте:
A. Пиковую задержку обоих алгоритмов.
B. Пиковое энергопотребление (токоизмерительными клещами или через ADC).
Ожидаемый результат: FacetNet будет в 10-100 раз быстрее и потреблять в 10-50 раз меньше энергии, возможно, в ущерб точности на сложных сценах.
Итоговый вердикт
Модель "FacetNet" НЕ МОЖЕТ работать в реальном времени, если: ваша задача требует точной классификации объектов (например, "отличить кошку от собаки") или работы со сложными, зашумленными сценами без предварительной настройки порогов.
Модель "FacetNet" ОДНОЗНАЧНО МОЖЕТ и ПРЕВОСХОДИТ другие модели в реальном времени, если: ваша задача — это быстрая реакция на простые, но критические стимулы (есть/нет препятствие, цель в левом/правом секторе, потеря линии) на платформе с крайне ограниченными ресурсами.
Ее сила — в идеальном соответствии принципам систем реального времени: предсказуемость, минимализм и отказ от избыточной точности в пользу гарантированного времени отклика.
|
| |
write
|
14:52 13.10.2025 |
|
14:57 13.10.2025 |
|
№12299 |
Новость, опубликованная в августе 2025 года, о том, что Илон Маск зарегистрировал компанию Macrohard, которая будет разрабатывать программное обеспечение (ПО) с помощью искусственного интеллекта (ИИ) и выступит прямым конкурентом Microsoft.
По словам Маска, сотни ИИ-агентов будут писать код, генерировать и анализировать изображения и видео, а также тестировать программы, эмулируя поведение пользователей.
В качестве базы для Macrohard планируется использовать суперкомпьютер Colossus от xAI, который Маск намерен оснастить миллионами ускорителей Nvidia. В итоге ИИ-агенты должны выдавать готовый продукт, сравнимый с офисными приложениями Microsoft.
Профессии приходят и уходят, а философия остается на века.
|
| |
create
|
14:57 13.10.2025 |
|
14:58 13.10.2025 |
|
№12300 |
Владимир Мокроусов:
"Вас" - это не лично Вас, а архитекторов. Насколько я знаю, уже разработчики ИИ приступили к разработке нового языка программирования для ИИ, этот язык программирования будет создаваться самим ИИ под руководством ведущих специалистов.
Я приверженец капиталистических идей и приветствую всякую конкуренцию. Конкуренцию с ИИ пока вообще не боюсь, я ИСПОЛЬЗУЮ ИИ в своем труде. Много лет назад я писал для Газпрома систему, которая использовала экспертов в некотором интеллектуальном конвейере. Такой вариант тоже годен и для меня. Варианта, когда я буду мимо рынка тоже возможен (у меня есть хороший пассивный доход), но пока я умен, очень эффективен и полезен.
|
| |
create
|
14:59 13.10.2025 |
|
15:06 13.10.2025 |
|
№12301 |
Владимир Мокроусов:
Углубленное детальное описание архитектуры "FacetNet"...
Какое отношение к ИИ имеет Ваша пространная писанина ?
Есть же форумы программистов...
Зачем Вы здесь место мукалатурой забиваете ?
|
| |
write
|
Самый высокий спрос (Критически важные роли) к 2030 году.
Machine Learning Engineer (ML Engineer)
Почему: Это "рабочие лошадки" внедрения ИИ. Спрос будет колоссальным, потому что компании перейдут от экспериментов ("proof-of-concept") к промышленной эксплуатации тысяч моделей. Нужны будут инженеры, которые могут не просто обучить модель, а сделать её быстрой, масштабируемой, надежной и дешёвой в работе.
MLOps Engineer
Почему: Это естественное развитие спроса на ML Engineers. Когда у компании десятки или сотни ML-моделий в продакшене, нужны специалисты, которые выстраивают для них "конвейер": автоматическое развертывание, мониторинг дрейфа данных, переобучение и управление версиями. Это основа стабильного AI-продакшена.
AI Product Manager
Почему: Технических специалистов много, но людей, которые могут понять боль пользователя, перевести их в задачи для ИИ, посчитать экономику и приоритизировать развитие продукта, — единицы. Они являются связующим звеном между бизнесом, клиентами и технической командой.
Data Engineer
Почему: Данные — это новая нефть, а Data Engineers — это те, кто строит нефтепроводы, НПЗ и АЗС. Без качественных, хорошо организованных и доступных данных любой ИИ бесполезен. С ростом объемов данных (включая IoT) спрос на этих специалистов будет только расти.
📈 Стабильно высокий спрос (Нишевые эксперты и стратеги)
AI Ethics & Safety Specialist / AI Auditor
Почему: К 2030 году регулирование ИИ станет жесткой реальностью (как уже происходит с AI Act в ЕС). Компаниям будут критически нужны специалисты, которые обеспечат справедливость, прозрачность и безопасность их систем. Это будет не "прихоть", а обязательное требование для выхода на рынок.
AI Research Scientist
Почему: Хотя таких специалистов нужно не так много, как инженеров, они будут двигать всю отрасль вперед. Спрос будет в крупных tech-компаниях и исследовательских центрах на тех, кто может совершать прорывы в новых архитектурах моделей, повышении их эффективности и решении фундаментальных проблем (например, преодоление "халлюцинаций" у LLM).
UX/UI Designer for AI
Почему: По мере того как ИИ станет повсеместным, возникнет острая необходимость делать интерфейсы для него интуитивными, доверительными и предсказуемыми. Как дизайнить интерфейс, который объясняет свои решения? Как управлять нейросетью, которая генерирует контент? Это огромное поле для дизайнерской мысли.
💪 Уверенный спрос (Специалисты по применению)
NLP Engineer & Computer Vision Engineer
Почему: Эти роли никуда не денутся, но могут немного видоизмениться. Их экспертиза в тонкой настройке моделей под конкретные, сложные задачи (например, в медицине, юриспруденции, робототехнике) останется востребованной, даже несмотря на обилие готовых API.
AI Strategy Consultant
Почему: К 2030 году ИИ будет не "модной фишкой", а стандартным инструментом бизнеса, как интернет или CRM-системы. Консультанты, которые помогут компаниям из традиционных отраслей (ритейл, логистика, финансы) разработать общекорпоративную стратегию внедрения ИИ, будут на вес золота.
Сводная таблица
Профессия Почему будет спрос в 2030
Machine Learning Engineer Ключевая роль для перевода моделей в продакшен.
MLOps Engineer Автоматизация жизненного цикла сотен моделей.
AI Product Manager Мост между технологией, бизнесом и пользователем.
Data Engineer Фундамент, без которого не будет данных для ИИ.
AI Ethics/Safety Specialist Ответ на ужесточающееся регулирование и запрос общества.
AI Research Scientist Двигатель инноваций и прорывов.
UX/UI Designer for AI Создание удобного и доверительного взаимодействия с ИИ.
Важный тренд на 2030 год: "Гибридные" специалисты
Самый большой спрос будет к "T-shaped" специалистам — тем, у кого есть глубокая экспертиза в одной области (вертикальная черта T), но и широкий кругозор в смежных (горизонтальная черта).
Биолог + Data Scientist = специалист по биомедицинскому ИИ.
Юрист + NLP Engineer = специалист по автоматизации юридического документооборота.
Маркетолог + AI Product Manager = специалист по AI-маркетингу.
Вывод: В 2030 году рынок труда в сфере ИИ созреет. Он будет требовать не просто "знающих Python", а инженеров-внедренцев, стратегов-управленцев и специалистов, обеспечивающих надежность и этичность систем. Начинайте развивать не только hard skills, но и soft skills — критическое мышление, коммуникацию и понимание бизнес-контекста.
|
| |
create
|
Впрочем, флуд - он и в Африке флуд... или блуд.
|
| |
create
|
Судя по скорости написания генерации постов, товарищ с нами не совсем откровенен.
|
| |
create
|
Копипастит с другого форума, или из "Записок..."... ну вы знаете кого.
|
| |
write
|
Luarvik.:Владимир Мокроусов:
Углубленное детальное описание архитектуры "FacetNet"...
Какое отношение к ИИ имеет Ваша пространная писанина ?
Есть же форумы программистов...
Зачем Вы здесь место мукалатурой забиваете ?
Это не макалатура, а рабочая модель, которую создал ИИ на основе моих идей. Это показывает, что даже не имея базовых понятий, можно создавать рабочие проекты, которые не оспаривает даже специалист в этой области. Или вам это не интересно? Флуд (от англ. flood — «наводнение, затопление») — поток бессмысленных сообщений? Может я ошибся темой?
|
| |
create
|
15:17 13.10.2025 |
|
22:29 13.10.2025 |
|
№12307 |
Владимир Мокроусов: Может я ошибся темой?
Не переживайте, это тема именно для флуда, просто Лаврик ревнует -- раньше право писать банальные, не содержащие смысла посты, принадлежала ему исключительно)))
Сейчас я покажу как нашего стратега будет разрывать на говно))))
|
| |
create
|
15:18 13.10.2025 |
|
16:04 13.10.2025 |
|
№12308 |
Владимир Мокроусов:
Это не макалатура, а рабочая модель, которую создал ИИ на основе моих идей. Это показывает, что даже не имея базовых понятий, можно создавать рабочие проекты, которые не оспаривает даже специалист в этой области. Или вам это не интересно?
Поскольку никакого ИИ нет - даже теоретически, и прежде всего теоретически, кроме громкого названия, - постольку всё, что Вы здесь изливаете по его поводу, не имеет никакого смысла.
Владимир Мокроусов:
Флуд (от англ. flood — «наводнение, затопление») — поток бессмысленных сообщений? Может я ошибся темой?
Вы ошиблись местом и временем.
p.s.
Владимир Мокроусов:
Это показывает, что даже не имея базовых понятий, можно...
Единственное, что Ваш (и Вашего коллеги по самодвижущимся тележкам) пример здесь показывает - это то, что не имея даже минимальных представлений об интеллекте, можно рассуждать о нём направо и налево, вдоль и поперёк, через колено и через задницу... как будто речь о том, во сколько и чем вы сегодня харчеваться будете.
Я Вам больше скажу: чтобы писать такую ахинею, не нужно быть даже человеком - эта "работа" как раз для всяких там GPT и прочих отбросов и отходов человеческой деятельности.
|
| |
create
|
Владимир Мокроусов:
У каждого своя истина.
Здесь Вы жестоко и непростительно заблуждаетесь.
Истина всегда только ОДНА, единственная.
Если их несколько - они могут быть и правдой и ложью, вместе и отдельно, где истиной и не пахнет.
7 миллиардов истин ?! - это даже не смешно.
|
| |
create
|
16:37 13.10.2025 |
|
16:46 13.10.2025 |
|
№12311 |
ПДД, как и другие серьёзные правила, не на пустом месте появились.
Им предшествовал отрицательный человеческий опыт, который "сын ошибок трудных".
Да, во все времена хватало сумасбродов, которые имеют ничем не подавимое желание совершить ошибки человечества самостоятельно... возможно, с последующим вручением дарвиновской премии.
Так или иначе, ПДД есть дисциплина теоретическая и это правильно - хоть какая-то защита от дурака в себе.
Сначала ЗНАНИЯ, потом практика, потом долгое и нудное сопряжение одного с другим.
Иначе будем иметь не только горы трупов, но и толпы обезьян с гранатами в полупроводниковом обличье... впрочем, в человеческом тоже.
Наука основывается на фактах, а на чём основывается современный т.н "ИИ" ?
Нет, не на теориях, а на чьих-то фантазиях, домыслах, предположениях, гипотезах etc., что характерно более для всякого рода художественных промыслов.
ИИ не потому искусственный, что [якобы] создан человеком, но потому, что является объектом и предметом искусства, в противовес всем наукам.
|
|
|