Code and data for the research paper "A Bio-Inspired Multi-Exposure Fusion Framework for Low-light Image Enhancement" (Submitted to IEEE Transactions on Cybernetics)
Code for our paper "A Bio-Inspired Multi-Exposure Fusion Framework for Low-light Image Enhancement"
VV, LIME, NPE, NPE-ex1, NPE-ex2, NPE-ex3, DICM, MEF
[email protected]
)TestReport.zip
)experiments.m
From left to right: input images, results of MSRCR, Dong, NPE, LIME, MF, SRIE, and BIMEF(ours).
vif.m
).Run startup.m
to add required path, then you are able to try the following demo.
I = imread('yellowlily.jpg');
J = BIMEF(I);
subplot 121; imshow(I); title('Original Image');
subplot 122; imshow(J); title('Enhanced Result');
Replace BIMEF
with other methods you want to test.
.
├── data # put your datasets here
│ ├── MEF # dataset name (VV, LIME, NPE...)
│ ├── out
│ │ ├── loe100x100 # LOE visualization results
│ │ ├── TestReport.csv # results of metrics
│ │ ├── TestReport__xxxx.csv # backups of TestReport
│ │ └── xxx__method.PNG # output images
│ └── xxx.jpg # input images
│
├── lowlight # lowlight image enhancement methods
├── quality # image quality metrics (blind or full-reference)
├── util # provide commonly used utility functions
│
├── demo.m # simple demo of lowlight enhancement
├── experiments.m # reproduce our experiments
└── startup.m # for installation
Run experiments.
% specify datasets
dataset = {'VV' 'LIME' 'NPE' 'NPE-ex1' 'NPE-ex2' 'NPE-ex3' 'MEF' 'DICM'};
dataset = strcat('data', filesep, dataset, filesep, '*.*');
% specify methods and metrics
method = {@multiscaleRetinex @dong @npe @lime @mf @srie @BIMEF};
metric = {@loe100x100 @vif};
for d = dataset, data = d{1};
data,
Test = TestImage(data);
Test.Method = method;
Test.Metric = metric;
% run test and display results
Test,
% save test to a .csv file
save(Test);
end
Show test reports.
% table
TestReport('TestReport__VV.csv'),
% boxplot
TestReport('TestReport__MEF.csv').boxplot;
Our method (BIMEF) has the lowest LOE and the highest VIF.