Project-Based Approach On DEEP LEARNING Using Scikit-Learn, Keras, And TensorFlow with Python GUI

·
· BALIGE PUBLISHING
4.6
5 reviews
Ebook
223
Pages
Ratings and reviews aren’t verified  Learn More

About this ebook

 

In this book, implement deep learning on detecting vehicle license plates, recognizing sign language, and detecting surface crack using TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries.

 

In chapter 1, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to perform detecting vehicle license plates using Car License Plate Detection dataset provided by Kaggle (https://www.kaggle.com/andrewmvd/car-plate-detection/download). To perform license plate detection, these steps are taken: 1. Dataset Preparation: Extract the dataset and organize it into separate folders for images and annotations. The annotations should contain bounding box coordinates for license plate regions.; 2. Data Preprocessing: Load the images and annotations from the dataset. Preprocess the images by resizing, normalizing, or applying any other necessary transformations. Convert the annotation bounding box coordinates to the appropriate format for training.; 3. Training Data Generation: Divide the dataset into training and validation sets. Generate training data by augmenting the images and annotations (e.g., flipping, rotating, zooming). Create data generators or data loaders to efficiently load the training data.; 4. Model Development: Choose a suitable deep learning model architecture for license plate detection, such as a convolutional neural network (CNN). Use TensorFlow and Keras to develop the model architecture. Compile the model with appropriate loss functions and optimization algorithms.; 5. Model Training: Train the model using the prepared training data. Monitor the training process by tracking metrics like loss and accuracy. Adjust the hyperparameters or model architecture as needed to improve performance.; 6. Model Evaluation: Evaluate the trained model using the validation set. Calculate relevant metrics like precision, recall, and F1 score. Make any necessary adjustments to the model based on the evaluation results.; 7. License Plate Detection: Use the trained model to detect license plates in new images. Apply any post-processing techniques to refine the detected regions. Extract the license plate regions and further process them if needed.

In chapter 2, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to perform sign language recognition using Sign Language Digits Dataset.  Here are the steps to perform sign language recognition using the Sign Language Digits Dataset: 1. Download the dataset from Kaggle: You can visit the Kaggle Sign Language Digits Dataset page (https://www.kaggle.com/ardamavi/sign-language-digits-dataset) and download the dataset.; 2. Extract the dataset: After downloading the dataset, extract the contents from the downloaded zip file to a suitable location on your local machine.; 3.Load the dataset: The dataset consists of two parts - images and a CSV file containing the corresponding labels. The images are stored in a folder, and the CSV file contains the image paths and labels.; 4.       Preprocess the dataset: Depending on the specific requirements of your model, you may need to preprocess the dataset. This can include tasks such as resizing images, converting labels to numerical format, normalizing pixel values, or splitting the dataset into training and testing sets.; 5. Build a machine learning model: Use libraries such as TensorFlow and Keras to build a sign language recognition model. This typically involves designing the architecture of the model, compiling it with suitable loss functions and optimizers, and training the model on the preprocessed dataset.; 6. Evaluate the model: After training the model, evaluate its performance using appropriate evaluation metrics. This can help you understand how well the model is performing on the sign language recognition task.; 7. Make predictions: Once the model is trained and evaluated, you can use it to make predictions on new sign language images. Pass the image through the model, and it will predict the corresponding sign language digit.

 

In chapter 3, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to perform detecting surface crack using Surface Crack Detection provided by Kaggle (https://www.kaggle.com/arunrk7/surface-crack-detection/download).  Here's a general outline of the process:       Data Preparation: Start by downloading the dataset from the Kaggle link you provided. Extract the dataset and organize it into appropriate folders (e.g., training and testing folders).; Import Libraries: Begin by importing the necessary libraries, including TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, and NumPy.; Data Loading and Preprocessing: Load the images and labels from the dataset. Since the dataset may come in different formats, it's essential to understand its structure and adjust the code accordingly. Use OpenCV to read the images and Pandas to load the labels.; Data Augmentation: Perform data augmentation techniques such as rotation, flipping, and scaling to increase the diversity of the training data and prevent overfitting. You can use the ImageDataGenerator class from Keras for this purpose.; Model Building: Define your neural network architecture using the Keras API with TensorFlow backend. You can start with a simple architecture like a convolutional neural network (CNN). Experiment with different architectures to achieve better performance.;     Model Compilation: Compile your model by specifying the loss function, optimizer, and evaluation metric. For a binary classification problem like crack detection, you can use binary cross-entropy as the loss function and Adam as the optimizer.; Model Training: Train your model on the prepared dataset using the fit() method. Split your data into training and validation sets using train_test_split() from Scikit-Learn. Monitor the training progress and adjust hyperparameters as needed. Model Evaluation: Evaluate the performance of your trained model on the test set. Use appropriate evaluation metrics such as accuracy, precision, recall, and F1 score. Scikit-Learn provides functions for calculating these metrics.; Model Prediction: Use the trained model to predict crack detection on new unseen images. Load the test images, preprocess them if necessary, and use the trained model to make predictions.

 

Ratings and reviews

4.6
5 reviews

About the author

Vivian Siahaan is a fast-learner who likes to do new things. She was born, raised in Hinalang Bagasan, Balige, on the banks of Lake Toba, and completed high school education from SMAN 1 Balige. She started herself learning Java, Android, JavaScript, CSS, C ++, Python, R, Visual Basic, Visual C #, MATLAB, Mathematica, PHP, JSP, MySQL, SQL Server, Oracle, Access, and other programming languages. She studied programming from scratch, starting with the most basic syntax and logic, by building several simple and applicable GUI applications. Animation and games are fields of programming that are interests that she always wants to develop. Besides studying mathematical logic and programming, the author also has the pleasure of reading novels. Vivian Siahaan has written dozens of ebooks that have been published on Sparta Publisher: Data Structure with Java; Java Programming: Cookbook; C ++ Programming: Cookbook; C Programming For High Schools / Vocational Schools and Students; Java Programming for SMA / SMK; Java Tutorial: GUI, Graphics and Animation; Visual Basic Programming: From A to Z; Java Programming for Animation and Games; C # Programming for SMA / SMK and Students; MATLAB For Students and Researchers; Graphics in JavaScript: Quick Learning Series; JavaScript Image Processing Methods: From A to Z; Java GUI Case Study: AWT & Swing; Basic CSS and JavaScript; PHP / MySQL Programming: Cookbook; Visual Basic: Cookbook; C ++ Programming for High Schools / Vocational Schools and Students; Concepts and Practices of C ++; PHP / MySQL For Students; C # Programming: From A to Z; Visual Basic for SMA / SMK and Students; C # .NET and SQL Server for High School / Vocational School and Students. At the ANDI Yogyakarta publisher, Vivian Siahaan also wrote a number of books including: Python Programming Theory and Practice; Python GUI Programming; Python GUI and Database; Build From Zero School Database Management System In Python / MySQL; Database Management System in Python / MySQL; Python / MySQL For Management Systems of Criminal Track Record Database; Java / MySQL For Management Systems of Criminal Track Records Database; Database and Critptography Using Java / MySQL; Build From Zero School Database Management System With Java / MySQL.

Rismon Hasiholan Sianipar was born in Pematang Siantar, in 1994. After graduating from SMAN 3 Pematang Siantar 3, the writer traveled to the city of Jogjakarta. In 1998 and 2001 the author completed his Bachelor of Engineering (S.T) and Master of Engineering (M.T) education in the Electrical Engineering of Gadjah Mada University, under the guidance of Prof. Dr. Adhi Soesanto and Prof. Dr. Thomas Sri Widodo, focusing on research on non-stationary signals by analyzing their energy using time-frequency maps. Because of its non-stationary nature, the distribution of signal energy becomes very dynamic on a time-frequency map. By mapping the distribution of energy in the time-frequency field using discrete wavelet transformations, one can design non-linear filters so that they can analyze the pattern of the data contained in it. In 2003, the author received a Monbukagakusho scholarship from the Japanese Government. In 2005 and 2008, he completed his Master of Engineering (M.Eng) and Doctor of Engineering (Dr.Eng) education at Yamaguchi University, under the guidance of Prof. Dr. Hidetoshi Miike. Both the master's thesis and his doctoral thesis, R.H. Sianipar combines SR-FHN (Stochastic Resonance Fitzhugh-Nagumo) filter strength with cryptosystem ECC (elliptic curve cryptography) 4096-bit both to suppress noise in digital images and digital video and maintain its authenticity. The results of this study have been documented in international scientific journals and officially patented in Japan. One of the patents was published in Japan with a registration number 2008-009549. He is active in collaborating with several universities and research institutions in Japan, particularly in the fields of cryptography, cryptanalysis and audio / image / video digital forensics. R.H. Sianipar also has experience in conducting code-breaking methods (cryptanalysis) on a number of intelligence data that are the object of research studies in Japan. R.H. Sianipar has a number of Japanese patents, and has written a number of national / international scientific articles, and dozens of national books. R.H. Sianipar has also participated in a number of workshops related to cryptography, cryptanalysis, digital watermarking, and digital forensics. In a number of workshops, R.H. Sianipar helps Prof. Hidetoshi Miike to create applications related to digital image / video processing, steganography, cryptography, watermarking, non-linear screening, intelligent descriptor-based computer vision, and others, which are used as training materials. Field of interest in the study of R.H. Sianipar is multimedia security, signal processing / digital image / video, cryptography, digital communication, digital forensics, and data compression / coding. Until now, R.H. Sianipar continues to develop applications related to analysis of signal, image, and digital video, both for research purposes and for commercial purposes based on the Python programming language, MATLAB, C ++, C, VB.NET, C # .NET, R, and Java.

Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.