Skip to content

obewan/SIPAI

Repository files navigation

SIPAI

"Simplicity is the ultimate sophistication" - Leonardo da Vinci (attributed)

A Simple Image Processing Artificial Intelligence, by Dams.

SIPAI is a neural network that builds upon my previous SMLP project. Its initial focus is on image enhancement, with plans for future releases to incorporate additional features such as image anomaly detection and more.

It uses a Multi-Layer Perceptron (MLP) architecture, with a modification that incorporates elements of a Recurrent Neural Network (RNN) to handle spatial information.

WARNING : project still under early development...
WARNING : Vulkan feature is very experimental, and is currently limited to one hidden layer (in addition to the input and the output layers)

Requirements for compiling the source code:

  • A C++20 compiler (like the GNU C++ g++-12 on Linux or Visual Studio and its compiler on Windows)
  • The OpenCV library (if using Vulkan: with OpenGL support). On Windows check how to update the system path for OpenCV, you must also add an OpenCV_BUILD env variable that refer to the opencv build directory.
  • The Intel TBB library
  • The Vulkan SDK library (on Debian: sudo apt-get -y install libvulkan1 libvulkan-dev mesa-vulkan-drivers vulkan-tools, on Windows: https://vulkan.lunarg.com/sdk/home#windows).
  • The GLSL tools to use with Vulkan (on Debian: sudo apt-get -y install glslang-tools spirv-tools)
  • CMake
  • The Qt6 libraries for the GUI version.
  • on Windows:
    • Image Encoding: Ensure that your image names are encoded in a format compatible with your system (for example, ASCII). Alternatively, you can install Unicode UTF-8 on your system for broader compatibility .
    • Vulkan SDK Installation: After installing the Vulkan SDK, make sure to log out and log back in. This step is necessary to update the system paths.
  • on a Windows WSL Linux, be sure to use WSL 2 or better and to have enabled the GPU acceleration: after a sudo apt-get install mesa-utils the command glxinfo | grep -i opengl should show a line like OpenGL renderer string: D3D12 (the 3D card). You should have a /dev/dxg device link as well.

Changelog

Click here to see the changelog.

 


  CC BY-NC-SA 4.0 API Coverage

CC BY-NC-SA 4.0

About

A Simple Image Processing Artificial Intelligence

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Languages