1. Wuhan University 2. Intellindust AI Lab
If you like our work, please give us a ⭐!
Overview of SimROD. It takes a packed RAW image as input, applies global gamma correction via the GGE module, and enhances local details using GGLE.- [2025.11.08] SimROD is accepted by AAAI 2026! Thanks to all co-authors.
- [2025.03.18] The code is released.
- 1. Requirements
- 2. Data Preparation
- 3. Evaluation
- 4. Model Performance
- 5. Training
- 6. Acknowledgement
- 7. Citation
Just execute the command below:
pip install -r requirements.txtPrepare ROD Dataset
During this project, we could only obtain the images and labels of the publicly available training set. Therefore, we randomly divided the acquired dataset, with 80% allocated for training and 20% for testing. The ROD dataset mentioned in this work refers to the version that we randomly divided.
- Download
00Train-raws.zipfrom here and arrange the images files in the following format:
SimROD
|-- data
|-- ROD
|-- raws
|-- 00Train
|-- name1.raw
|-- name2.raw
|-- ...
- Preprocess the RAW images as follows:
python scripts/preprocess_raw.py -p data/ROD/raws/00Train- Download the annotation files from BaiduNetDisk(code:2025) or GoogleDrive and move the files to
data/ROD/annotations/.
Prepare LOD and PASCALRAW Dataset
To align with current public available work, we use the version of LOD and PASCALRAW from RAW-Adapter. The download link and preprocess code can be obtained from RAW-Adapter. We provide the COCO-format annotation files of LOD and PASCALRAW, which can be downloaded in here.
The dataset are supposed to be organized as follows:
SimROD_yolox
|-- data
|-- LOD_BMVC2021
|-- annotations
|-- lod_dark_train_png.json
|-- lod_dark_val_png.json
|-- RAW_dark
|-- 2.png
|-- 4.png
...
|-- PASCALRAW
|-- annotations
|-- pascalraw_train_coco.json
|-- pascalraw_val_coco.json
|-- origin
|-demosaic
|-- 2014_000001.png
|-- 2014_000002.png
...
-
Modified the dataset path in config files. For example, when testing SimROD on LOD dataset, modified the
L44-L50of config fileSimROD/workdirs/LOD/cfg_SimROD.py -
Download all the weights from BaiduNetDisk(code:2025) or GoogleDrive to
SimROD/weights -
Execute the command below:
CUDA_VISIBLE_DEVICES=0 python eval.py \
-f SimROD/workdirs/LOD/cfg_SimROD.py \
-b 8 \
-c SimROD/weights/simrod_lod_ap50_46.3.pth| ROD | LOD | PASCALRAW | Add. Params(M) | |
|---|---|---|---|---|
| DIAP | 53.4 | 43.4 | 94.2 | 0.260 |
| Ours SimROD | 57.6 | 46.3 | 95.1 | 0.003 |
-
Modified the dataset path in config files. For example, when training SimROD on LOD dataset, modified the
L44-L50of config fileSimROD/workdirs/LOD/cfg_SimROD.py -
Download all the YOLO-X pretrained weight from here or BaiduNetDisk(code:2025) or GoogleDrive to
SimROD/weights -
Execute the command below:
CUDA_VISIBLE_DEVICES=0,1,2 python main.py \
-f ./workdirs/LOD/cfg_SimROD.py \
-d 3 \
-b 12This project builds upon the DIAP and YOLOX. We are deeply grateful for their work and contributions.
We would like to express our sincere gratitude to the following individuals for their invaluable advice and support: Zechao Hu, Hao Li, Zhengwei Yang, Song Ouyang, Jingyu Xu, Likai Tian, Runqi Wang.
If you use SimROD or its methods in your work, please cite the following BibTeX entries:
bibtex
@misc{xie2025simr,
title={SimROD: A Simple Baseline for Raw Object Detection with Global and Local Enhancements},
author={Haiyang Xie, Xi Shen , Shihua Huang, Qirui Wang and Zheng Wang},
archivePrefix={arXiv},
year={2025},
}