The open source home for digital image foresnics and analysis tools
Holmes2 is designed to be a home for digital image forensics tools that is simple to extend with the aim of creating a platform for researchers and forensic experts to experiment and showcase various digital image forensics algorithms.
This project is my undergrad final project and i initially intended it to be an automated tool for detecting forgery then i realised i didnt have the time for that task, so i decided to pivot to make holmes more of a toolkit. Although the project has not relationship with a similar but more complete project called sherloq, I think thanks to streamlit it should be a lot easier to contribute new algorithms.
Note: Holmes is not meant to be an automated tool for deciding if an image if foreged or not. Holmes is still lacking UI polish, and several issues.
- Exif viewer
- Quantization tables matching(not yet complete)
- Error level analysis
- Noiseprint by grip-unina
Project is created with:
- python: 3.8
- streamlit
To run this project
install necessary pip libraries
pip install -r requirements.txt
To run holmes in browser
streamlit run holmes.py
-
Holmes.py: is the main script, which contains streamlit page setup and page navigation
-
Every other module should be named after what they accomplish.
- Using quantization tables from jpeg images we can classify the origins of an image.
- Imporve file structure
- UI changes
- Currently runing noiseprint in an unpythonic fashion.