18 KiB
FusionCore Personal
B14_StripNet
^ead71b
3.1. Описание архитектуры
- Общая структура: Strip R-CNN базируется на фреймворке O-RCNN. Она включает новый бэкбон (StripNet) и новую голову детектирования (Strip Head).
- StripNet Backbone: Состоит из базовых блоков, каждый из которых имеет strip-подблок и подблок feed-forward сети (FFN).
- Strip Module: Включает стандартную свертку
5×5за которой следуют две последовательные полосовые свертки (горизонтальная и вертикальная, например,1×19и19×1) и point-wise свертка. - Strip Head: Разделяет предсказание локализации и угла. Модуль локализации усилен полосовыми свертками для захвата дальнодействующих пространственных зависимостей, в то время как классификация и предсказание угла делят общие полносвязные (FC) слои.
3.2. Визуальные материалы из статьи
- Figure 1: Статистика датасета DOTA и падение точности существующих SOTA методов при увеличении соотношения сторон объектов. Показывает критичность проблемы.
- Figure 3: Структурное сравнение модуля авторов с LSKNet и PKINet. Демонстрирует, что Strip R-CNN использует последовательную (strip-sequential) парадигму, в то время как PKINet — параллельную (strip-parallel), что делает Strip R-CNN более легковесным.
- Figure 4: Структура базового блока Strip Module. Иллюстрирует поток данных через квадратную свертку, горизонтальную/вертикальную strip-свертки и умножение признаков.
- Figure 5, 6, 7: Архитектура Strip Head и тепловые карты пространственной чувствительности. Показывают, что предсказание угла фокусируется на границах объекта, а классификация — на центре, что оправдывает их частичное слияние.
3.3. Математическая формализация
- Feature Reweighing (Внимание):
Y^=X⋅YКомментарий:X— входной тензор,Y— выход point-wise свертки, действующий как карта весов внимания (element-wise умножение). - Loss Function:
L=Lc+Ll+LaКомментарий: Сумма кросс-энтропии для классификации (Lc) и Smooth L1 для локализации (Ll) и угла (La). Формула стандартна для rotated bounding box детекторов
3.4. Ключевые технические решения
- Последовательные свертки: Использование горизонтальной свертки перед вертикальной (или наоборот) работает одинаково хорошо и не требует сложных механизмов слияния, присущих параллельным ветвям.
- Ядро размером 19: Экспериментально установлено, что размер ядра 19 во всех стадиях бэкбона дает оптимальный результат для вытянутых объектов.
ПРЕИМУЩЕСТВА ПОДХОДА
- Вычислительная эффективность: Отказ от параллельных heavy-сверток в пользу последовательных strip-сверток снижает FLOPs и количество параметров, обходя конкурентов (PKINet).
- Архитектурная элегантность: Отсутствие сложных модулей внимания. Векторное внимание реализуется простой point-wise сверткой.
- Универсальность: Замена классического detection head на Strip Head повышает метрики даже в старых фреймворках.
F14_WeatherPrompt
^e9be0c
1. Контекст
F14 решает критическую проблему Visual Geo-Localization: катастрофическое падение точности при смене освещения (день/ночь) или погоды (лето/зима). Модель использует механизм FiLM (Feature-wise Linear Modulation) для модуляции визуальных признаков на основе текстового промпта (например: "Снимок сделан глубокой ночью в тумане").
Архитектура
Общая структура модели WeatherPrompt представляет собой сложный двухэтапный пайплайн, состоящий из модуля офлайн-генерации мультимодальных данных и гибридной архитектуры мультимодального выравнивания (Multimodal Alignment Model).
На первом этапе
(генерация данных) система использует подход единичного сэмплирования (Single-image Sampling). Из каждой географической зоны случайным образом выбирается одно репрезентативное изображение с дрона для устранения избыточности. Далее, с помощью библиотеки imgaug генерируются синтетические погодные искажения. Полученные изображения обрабатываются большой мультимодальной моделью (в качестве примера авторы приводят архитектуру Qwen2.5-VL ). Модель использует стратегию Chain-of-Thought для последовательного вывода: сначала оценивается глобальная видимость, затем выявляются локальные атмосферные подсказки (отражения дождевых полос, паттерны рассеивания тумана), и на финальном шаге формируется общий погодный контекст. Вслед за этим запускается фаза пространственной семантики, где модель описывает макро-планировку, подсчитывает объекты и фиксирует топологические отношения. Одновременно сторонняя модель визуального граундинга (Visual Grounding Model - VGM), а именно XVLM, извлекает локальные семантические подсказки на уровне регионов.
Второй этап (обучение и инференс)
опирается на двухпоточную архитектуру. В качестве бэкбона выступает адаптированная модель XVLM, интегрирующая текстовый энкодер на базе BERT и визуальный энкодер на базе Swin Transformer. Поток данных проходит через эти энкодеры параллельно. ==Извлеченные глобальные и локальные визуальные признаки объединяются с текстовыми эмбеддингами через модуль кросс-модального слияния (Cross-modal fusion module). Ключевым узлом этого модуля является динамический строб (Weather-Driven Channel Gating), который вычисляет вектор весов на основе текста и применяет его к визуальным признакам через операцию поэлементного умножения (Hadamard product). ==Сформированный мультимодальный тензор передается в легковесный классификационный MLP-декодер (Classification Head), который проецирует признаки в пространство логитов для предсказания конкретной географической локации.
2. Значимость для MERIDIAN
Это прямой источник архитектурного паттерна Multi-FiLM-Fusion для Teacher-ветки. Понимание, как именно генерируются параметры γ и β, необходимо для правильной балансировки 5 модальностей (RGB, Depth, Edges, Seg, Text).
==В F14 WeatherPrompt параметры масштаба (γ) и сдвига (β) генерируются динамически из текстового эмбеддинга (text_embed):==
- text_embed: Вектор размерности 768 (выход CLIP/BERT).
- Генераторы fγ, fβ: Это НЕ линейные слои, а 2-Layer MLPs (Многослойные перцептроны).
Linear(768, 256) -> GELU -> Dropout(0.1) -> Linear(256, C)- Где
C— количество каналов в Feature Map на конкретном уровне визуальной сети (например, C=1024C=1024 для DINOv3).
- Особенность инициализации: Последний слой в
fγинициализируется нулями, а выход оборачивается в экспоненту:γ=exp(fγ(text)). Это гарантирует, что на старте обученияγ=1.0 и β=0.0(Identity mapping, не разрушающий pre-trained веса).
3. Размещение в пирамиде признаков (Feature Pyramid)
F14 доказывает, что применять FiLM ко всем слоям подряд — избыточно и ведет к over-fitting.
- Early Layers (до Block 1/2): Не модулируются. Они извлекают низкоуровневые края и градиенты, которые инвариантны к тексту.
- Middle Layers (Blocks 2, 3): Слегка модулируются.
- Late Layers (Block 4 / Последние 3 блока Transformer): Интенсивно модулируются. Именно здесь сеть принимает семантические решения ("Это снег или белая крыша?").
- Вывод: FiLM встраивается исключительно в последние 1/31/3 архитектуры Teacher'а.
4. Как работает Dynamic Adaptation?
Динамическая адаптация означает, что каналы визуальной сети перевзвешиваются в реальном времени:
- При промпте "Bright sunny day": γγ усиливает цветовые фильтры и текстурные детекторные каналы.
- При промпте "Midnight, low light": γγ обнуляет каналы, зависящие от цвета, и усиливает $edges$-каналы и угловые детекторы (которые работают даже при плохом освещении).
- При промпте "Snowy terrain": Сбрасывает детекторы травы/листьев.
Weather-Driven Channel Gating (Динамическое стробирование)
Механизм адаптивного перевзвешивания каналов визуальных признаков на основе текстового контекста реализован через архитектуру типа Squeeze-and-Excitation, но управляемую кросс-модальным входом:
Здесь fT∈RB×D представляет собой батч нормализованных текстовых эмбеддингов. Матрица W1W1 проецирует вектор в пространство меньшей размерности (параметр rr — reduction ratio, коэффициент сжатия), что заставляет сеть выучивать компактные семантические зависимости и экономит вычислительные ресурсы. Матрица W2 восстанавливает размерность до исходной DD. Функция активации сигмоида σσ гарантирует, что компоненты вектора стробирования g лежат в диапазоне (0,1)
Слияние модальностей происходит по формуле взвешенной интерполяции:
!
Эта формула заслуживает особого внимания. Она концептуально эквивалентна механизму FiLM (Feature-wise Linear Modulation), который используется в вашей архитектуре MERIDIAN. В FiLM трансформация задается как
Fi=Fi⊙(1+γi)+βiВ подходе WeatherPrompt текст не просто масштабирует визуальные каналы (компонентаg⊙fI), но и осуществляет прямое остаточное добавление отфильтрованного текста(1−g)⊙fT. Это позволяет модели полностью "заглушить" визуальный канал, если он безнадежно испорчен погодой (приg→0), и полностью опереться на семантический текстовый приор.
5. ## Протокол обучения (Learning Rate и EMA)
Так как визуальный backbone загружен весами Foundation Model (DINOv2/v3), а fγ,fβ инициализируются с нуля, требуется Two-Speed Learning Rate:
LR_Backbone= 1e-5 (или заморожен на ранних этапах).LR_FiLM_MLP= 1e-3 (в 100 раз больше!). Оптимизатору нужно быстро научиться генерировать правильные γ,β.- EMA (Exponential Moving Average): Для всех весов визуальной сети используется momentum m=0.999, чтобы обучение FiLM-модуляторов не расшатало основную геометрию пространства признаков.
6. Сравнение с SSF (Scale and Shift Features, TPAMI)
- SSF: К каждому слою сети добавляются обучаемые векторы
γtaskиβtask. Они статичны для конкретной задачи (например, один набор для Semantic Seg, другой для Depth). - WeatherPrompt (FiLM): Векторы
γиβгенерируются на лету для каждого отдельного изображения в зависимости от текста. - Вердикт: SSF великолепен для Transfer Learning (Task Adaptation), но FiLM — абсолютный победитель для Data-driven / Context-aware адаптации.
7. Расширение до 5-modal FiLM для MERIDIAN Teacher
В проекте MERIDIAN ветка Teacher (спутник) имеет доступ не только к RGB и Тексту, но и к Глубине (Depth), Границам (Edges) и Семантике (Seg). Как использовать формулы F14, чтобы слить 5 модальностей воедино?
Решение: Концепт Privileged Context Vector (PCV) Вместо того чтобы делать независимые FiLM слои для каждой модальности, мы сливаем все Privileged-данные в единый вектор, который управляет модуляцией главного ствола (RGB DINOv3):
- Прогоняем Depth через легкую CNN-ветку →→
Depth_Embed (256-d) - Прогоняем Edges через легкую CNN-ветку →→
Edge_Embed (256-d) - Получаем текст из VLM →→
Text_Embed (256-d) - Конкатенируем: PCV=
[Depth_Embed,Edge_Embed,Text_Embed]PCV=[Depth_Embed,Edge_Embed,Text_Embed](размерность 768). - Подаем PCVPCV в
fγ,fβMLP-генераторы.
Итоговое уравнение Multi-modal FiLM для MERIDIAN:
