##The biological possible multi-layer linear+nonlinear visual information processing model
###Digitial Brain Visual Computing Version 2.0(Complex and Alpha Version)
Human visual cortex inspired multi-layer LNL model. In this model, the main component are:
Nature Image --> VonKries Adaptation --> ATD (Color processing phase) Wavelets Transform --> Contrast sensivity function (CSF) --> Divisive Normalization(DN) --> Noise(Gaussian or Poisson)
Evalute and optimise model with TID2008 database - one of image quality databases.
Redundancy redunction measure with Total Correlation(RBIG or Cortex module)
This model derivated two version script: Matlab, Python. In the future, I want to implemented all of these code on C++ or Java. If our goal is simulate of primate brain, we need to implement all everything to High performance Computer(HPC) with big framework architecture(C/C++/Java).
###Python Alpha Version
-
How to execute it
@caution: The code only can execute under conda envionment or virtual environment, otherwise, it will cause errors. Pytorch only works under the virtual environment.
option 1:
source ~/.bashrc : (base) this conda environment.
conda deactivate : quit conda environment.option 2:
cd virutal environment.
python3 -m venv pytorch-BioMulti-L-NL
source pytorch-BioMulti-L-NL/bin/activate
deactivateRun InstallDepedendent.shto download and install dependent toolboxes.
Run main.sh to execute main funtion.
The beta version running environment same with alpha version.
Run main.sh under bash environment.
The model parameters optimization can be done with Jacobian respect each parameters. The main function that implemented with jacobian.py and optimization.py. The demo of how to optimization parameters in the model, please check here:
https://github.com/matthias-k/pysaliency/tree/master/pysaliency.
numpy
NeuroTools
statsmodels
pyrtools
MotionClouds
tensorflow
pytorch
PyWavelets
colour-science
scipy
opencv
SLIP
PyTorchSteerablePyramid
PIL
tqdm
LogGabor
nt_toolbox
-
Dependent toolboxes
matlabPyrtools
ColorE
Hdrvdp
BioMulti-L-NL-Model
TID2008 database -
How to run it
TID2008.m: evaluate LNL model with TID2008 dataset.
The main function will call RLV.m and simple_model_rlv.m function from the path then plot the results.
###The parameters still can optimize in the future.
If you think this project can help you or you can use something from this project then please consider cite below related paper:
@article{Alex20,
author = {Gomez-Villa, Alex and Bertalmío, Marcelo and Malo, Jesús},
year = {2020},
month = {03},
pages = {},
title = {Visual Information flow in Wilson-Cowan networks},
volume = {123},
journal = {Journal of Neurophysiology},
doi = {10.1152/jn.00487.2019}
}
@article{Marina17,
author = {Martinez-Garcia, Marina and Cyriac, Praveen and Batard, Thomas and Bertalmío, Marcelo and Malo, Jesús},
year = {2017},
month = {11},
pages = {},
title = {Derivatives and Inverse of Cascaded Linear+Nonlinear Neural Models},
volume = {13},
journal = {PLoS ONE},
doi = {10.1371/journal.pone.0201326}
}
@InProceedings{Qiang20,
author="Li, Qiang and Malo, Jesus",
title="Canonical Retina-to-Cortex Vision Model Ready for Automatic Differentiation",
booktitle="Brain Informatics",
year="2020",
publisher="Springer International Publishing",
pages="329--337",
isbn="978-3-030-59277-6"
}
Permission to use, copy, or modify this software and its documentation for educational and research purposes only and without fee is here granted, provided that this copyright notice and the original authors' names appear on all copies and supporting documentation. This program shall not be used, rewritten, or adapted as the basis of a commercial software or hardware product without first obtaining permission of the authors. The authors make no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
@Copyright(c) QiangLi, 2020, Valencia, Spain.