YOLOX: A object detection model surpassing YOLOv5.

elegirl_admin

ailia.AI

ailia.AI Editorial Team

Here’s an introduction to “YOLOX,” a machine learning model available for use with the ailia SDK. By utilizing machine learning models published in the ailia MODELS and the edge inference framework of the ailia SDK, you can easily implement AI functionality into your applications.

Overview of YOLOX

YOLOX is the latest object detection model released in August 2021. It combines performance surpassing YOLOv5 with a user-friendly license (Apache License).

Source:https://github.com/Megvii-BaseDetection/YOLOX/blob/main/assets/logo.png
Source:https://github.com/Megvii-BaseDetection/YOLOX/blob/main/assets/demo.png

YOLOX: Exceeding YOLO Series in 2021

In this report, we present some experienced improvements to YOLO series, forming a new high-performance detector …

arxiv.org

GitHub – Megvii-BaseDetection/YOLOX: YOLOX is a high-performance anchor-free YOLO, exceeding…

YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with MegEngine, ONNX, TensorRT, ncnn, and OpenVINO…

github.com

The architecture of YOLOX

YOLOX is an object detection model that deviates from the traditional YOLO by introducing anchor-free detection and incorporating Decoupled Head and SimOTA. It achieved first place in the Streaming Perception Challenge at the CVPR2021 Autonomous Driving Workshop.

Traditional YOLOv4 and YOLOv5 heavily optimize their pipelines based on the assumption of using anchors. YOLOX, however, improves upon the YOLOv3-SPP baseline. It introduces the CSPNet backbone and PAN head, features introduced in YOLOv5, to the YOLOv3-SPP backbone.

In object detection, performing classification (class prediction) and regression (bounding box localization) simultaneously can lead to competition and decreased accuracy. Decoupled head is proposed as a solution to this problem. While the traditional YOLO series utilized Coupled head in their backbones and feature pyramids, YOLOX enhances accuracy by replacing Coupled head with Decoupled head.

Source:https://arxiv.org/pdf/2107.08430.pdf

In training, we apply strong data augmentation using techniques like Mosaic and Mixup. Additionally, we utilize an improved version of OTA called SimOTA for optimizing loss.

The contributions of each newly introduced tool are as follows:

Source:https://arxiv.org/pdf/2107.08430.pdf

The benchmark results for YOLOX are as follows:

Source:https://arxiv.org/pdf/2107.08430.pdf

Types of YOLOX

YOLOX has variations. There are two types: Standard Models for high accuracy and Light Models for edge devices.

Source:https://github.com/Megvii-BaseDetection/YOLOX

Performance of YOLOX

We measured mAP50 and inference time using the COCO2017 Validation Set. YOLOX-s achieves equivalent accuracy to YOLOv4 but with half the inference time.

yoloxのmAP50
Inference time of YOLOX

Additionally, for measuring mAP, we are using the following repository, and for measuring inference time, we are utilizing ailia SDK 1.2.8.

GitHub – rafaelpadilla/Object-Detection-Metrics: Most popular metrics used to evaluate object…

If you use this code for your research, please consider citing: @Article{electronics10030279, AUTHOR = {Padilla, Rafael…

github.com

CVPR2021 Automous Driving Workshop Streaming Perception Challenge

The Leaderboard for the Streaming Perception Challenge at the Autonomous Driving Workshop of CVPR2021, where YOLOX secured the first place, is as follows. The top position is held by BaseDet, which is based on YOLOX.

EvalAI: Evaluating state of the art in AI

EvalAI is an open-source web platform for organizing and participating in challenges to push the state of the art on AI…

eval.ai

In this challenge, we are using the Argoverse 1.1 dataset, which annotates the Argoverse HD dataset for autonomous driving, with 2D bounding box annotations similar to the COCO dataset, for evaluation. The Argoverse 1.1 dataset consists of 1,250,000 bounding boxes annotated using front camera footage.

Source:https://www.cs.cmu.edu/~mengtial/proj/streaming/

Streaming Perception

Based upon the autonomous driving dataset Argoverse 1.1, we build our dataset with high-frame-rate annotations for…

www.cs.cmu.edu

How to use YOLOX

To use YOLOX with the ailia SDK, use the following command. Recognition is possible with a webcam.

$ python3 yolox.py -v 0

By default, YOLOX-s is used. Other models, including the tiny model, are also available for use by using the -m option.

ailia-models/object_detection/yolox at master · axinc-ai/ailia-models

(Image from https://github.com/RangiLyu/nanodet/blob/main/demo_mnn/imgs/000252.jpg) Ailia input shape: (1, 3, 416…

github.com

Additionally, starting from ailia SDK version 1.2.9, support for inference with YOLOX via the ailia Detector API has been introduced. Utilizing the ailia Detector API enables fast preprocessing and post-processing in C++.

AX Corporation is developing the ailia SDK, which facilitates high-speed inference using GPUs on a cross-platform basis, positioning itself as a company specializing in practical AI implementation. From consulting to model creation, SDK provision, development of applications and systems utilizing AI, to support services, AX Corporation offers a total solution for AI-related needs. Please feel free to contact us for inquiries.