Улучшения YOLOv8: Gold-YOLO далеко впереди, превосходя всех YOLO | Huawei Noah NeurIPS23
Улучшения YOLOv8: Gold-YOLO далеко впереди, превосходя всех YOLO | Huawei Noah NeurIPS23

💡💡💡Эксклюзивные улучшения этой статьи:предложил новыйАгрегация и распространение информации (Механизм сбора и распределения) Механизм GD, Gold-YOLO,заменятьyolov8 головная часть Достичь резкого подъема

Gold-YOLO | Персональный тест может добиться существенной выгоды в нескольких наборах данных

💡💡💡Yolov8 Magician, эксклюзивное первое нововведение (оригинальное), подходящее для различных серий Yolo, таких как Yolov5, Yolov7, Yolov8 и т. д. В статье в рубрике представлены все этапы и исходный код, которые помогут вам легко приступить к преобразованию волшебной сети.

💡💡💡Ключевой момент: прочитав эту колонку, вы также сможете самостоятельно модифицировать сеть в будущем и выполнять волшебные модификации в разных местах сети (магистраль, голова, обнаружение, потеря и т. д.) для достижения инноваций! ! !

Введение в столбец:

https://blog.csdn.net/m0_63774211/category_12289773.html

✨✨✨Оригинальная волшебная сеть, воспроизведение новейших документов, оптимизация сочетания и инновации.

🚀🚀🚀Улучшение работы с небольшими целями, препятствиями и сложными образцами.

🍉🍉🍉Постоянное обновление, регулярное обновление точек увеличения различных наборов данных.

1.Gold-YOLO

Связь:https://arxiv.org/pdf/2309.11331.pdf

код:https://github.com/huawei-noah/Efficient-Computing/tree/master/Detection/Gold-YOLO

Часть: Лаборатория Ноева ковчега Huawei

Теоретическая часть может быть отнесена к:За пределами серии YOLO! Huawei предлагает Gold-YOLO: эффективный детектор целей в реальном времени - Чжиху

Проблемы с традиционным YOLO

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

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

Аннотация: Текущие модели серии YOLO обычно используют FPN-подобные методы для объединения информации, но эта структура имеет проблему потери информации при объединении межуровневой информации.В ответ на эту проблему,我们предложил новый Агрегация и распространение информации (Gather-and-Distribute Механизм) Механизм GD, посредством унифицированной агрегации и объединения функций на разных уровнях с глобальной точки зрения, а также распределения и внедрения на разные уровни, создается более достаточный и эффективный механизм информационного взаимодействия и объединения, а Gold-YOLO построен на основе Механизм ГД. В наборе данных COCO наш Gold-YOLO превосходит существующую серию YOLO и достигает SOTA по кривой точности-скорости.

Предложен новый механизм информационного взаимодействия и слияния.:Механизм агрегирования и распределения информации (Gather-and-Distribute Mechanism)。Этот механизм получает глобальную информацию путем глобального объединения функций на разных уровнях.,и вводить глобальную информацию в функции на разных уровнях,Достигается эффективное информационное взаимодействие и интеграция. Механизм GD значительно расширяет возможности объединения информации в шейной части без значительного увеличения задержки.,Улучшена способность модели обнаруживать объекты разных размеров.

В Gold-YOLO, в ответ на необходимость того, чтобы модель обнаруживала объекты разных размеров, а также взвешивала точность и скорость, мы построили две ветви GD для объединения информации: ветвь агрегирования-распределения информации низкого уровня (Low-GD) и высокий уровень. Ветвь сбора-распределения информации (High-GD) извлекает и объединяет информацию о характеристиках на основе свертки и преобразования соответственно.

Результаты эксперимента:

2.золото-йоло представлено в yolov8

2.1 Создайте новый gold-yolo и добавьте ultralytics/nn/head/goldyolo.py

Основной код:

Язык кода:javascript
копировать
###################### gold-yolo  ####     STRAT   by  AI&CV  ###############################
#gold-yolo Gather-and-Distribute Mechanism
class top_Block(nn.Module):

    def __init__(self, dim, key_dim, num_heads, mlp_ratio=4., attn_ratio=2., drop=0.,
                 drop_path=0.):
        super().__init__()
        self.dim = dim
        self.num_heads = num_heads
        self.mlp_ratio = mlp_ratio

        self.attn = Attention(dim, key_dim=key_dim, num_heads=num_heads, attn_ratio=attn_ratio)

        # NOTE: drop path for stochastic depth, we shall see if this is better than dropout here
        self.drop_path = DropPath(drop_path) if drop_path > 0. else nn.Identity()
        mlp_hidden_dim = int(dim * mlp_ratio)
        self.mlp = Mlp(in_features=dim, hidden_features=mlp_hidden_dim, drop=drop)

    def forward(self, x1):
        x1 = x1 + self.drop_path(self.attn(x1))
        x1 = x1 + self.drop_path(self.mlp(x1))
        return x1


class TopBasicLayer(nn.Module):
    def __init__(self, embedding_dim, ouc_list, block_num=2, key_dim=8, num_heads=4,
                 mlp_ratio=4., attn_ratio=2., drop=0., attn_drop=0., drop_path=0.):
        super().__init__()
        self.block_num = block_num

        self.transformer_blocks = nn.ModuleList()
        for i in range(self.block_num):
            self.transformer_blocks.append(top_Block(
                embedding_dim, key_dim=key_dim, num_heads=num_heads,
                mlp_ratio=mlp_ratio, attn_ratio=attn_ratio,
                drop=drop, drop_path=drop_path[i] if isinstance(drop_path, list) else drop_path))
        self.conv = nn.Conv2d(embedding_dim, sum(ouc_list), 1)

    def forward(self, x):
        # token * N
        for i in range(self.block_num):
            x = self.transformer_blocks[i](x)
        return self.conv(x)


class AdvPoolFusion(nn.Module):
    def forward(self, x):
        x1, x2 = x
        if torch.onnx.is_in_onnx_export():
            self.pool = onnx_AdaptiveAvgPool2d
        else:
            self.pool = nn.functional.adaptive_avg_pool2d

        N, C, H, W = x2.shape
        output_size = np.array([H, W])
        x1 = self.pool(x1, output_size)

        return torch.cat([x1, x2], 1)

###################### gold-yolo  ####     END   by  AI&CV  ###############################

Подробности смотрите в исходном коде:https://cv2023.blog.csdn.net/article/details/133271100

На втором этапе специального тренировочного лагеря Tencent Technology Creation 2023 года будут отмечены призовые эссе, которые разделят призовой фонд в 10 000 юаней и часы с клавиатурой.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose