AI-Fruit Recognition is a JavaFX-based application that utilizes neural networks to accurately recognize various fruits. The system was trained and tested on extensive datasets, achieving high accuracy. The project includes the implementation of advanced activation functions such as tanh, sigmoid, and ReLU to optimize neural network performance.
- Neural Network Implementation:
- Custom-built neural network for fruit recognition.
- Supports multiple activation functions: tanh, sigmoid, and ReLU.
- Dataset Integration:
- Trained and tested on extensive fruit datasets to ensure high accuracy.
- Graphical User Interface:
- Interactive GUI built with JavaFX for ease of use.
- Real-Time Recognition:
- Processes and recognizes fruit images in real time.
- Frontend: JavaFX (GUI)
- Backend: Neural Networks (custom implementation)
- Machine Learning Libraries: Integrated with Java libraries for matrix computations and model optimization.
- Java (JDK 8 or higher)
- JavaFX SDK
- A pre-trained fruit dataset (included in the project)
-
Clone the repository:
git clone https://github.com/YazanM23/FruitRecognition-AI- cd FruitRecognition-AI- -
Set up JavaFX:
- Ensure JavaFX SDK is installed and properly configured in your development environment.
-
Run the application: Compile and run the
Main.javafile using your IDE or the command line:javac -cp javafx-sdk/lib/*:. Main.java java -cp javafx-sdk/lib/*:. Main
-
Dataset Loading:
- The application loads the pre-trained dataset included in the project files.
-
Neural Network Architecture:
- Multi-layer perceptron with user-selectable activation functions (tanh, sigmoid, ReLU).
-
Fruit Recognition:
- Users can upload an image of a fruit, and the application predicts the fruit type with high accuracy.
Main.java: Entry point of the application.NeuralNetwork.java: Contains the neural network implementation.ui/: Includes FXML files and JavaFX controllers for the GUI.resources/: Contains datasets, stylesheets, and icons.
- Modify the
NeuralNetwork.javafile to experiment with different architectures or activation functions. - Add additional datasets to improve the model's recognition capabilities.
- Update FXML files in the
ui/directory to change the interface layout.
This project is open-source and available under the MIT License.
For queries or feedback, reach out:
- Name: Yazan Mansour
- Email: Yazan.mansour2003@gmail.com