This project focuses on developing a flower recognition system using transfer learning and several pre-trained neural networks. The objective of the project is to achieve high accuracy in identifying different types of flowers from images, by leveraging the power of pre-trained models that have already been trained on large datasets.
Several pre-trained models, including VGG19, ResNet50, MobileNetV2 and a custom built CNN, are used to extract high-level features from flower images. The extracted features will then be fed into a fully connected neural network that will be trained on a small dataset of flower images specific to the project.
The project aims to evaluate the performance of each pre-trained model and compare the results to select the most suitable model for the given dataset. The models will be trained and tested on a flower dataset containing several hundred images of various flower species. The performance metrics will be evaluated based on accuracy, precision, recall, and F1-score.
The developed flower recognition models can be used in various applications such as horticulture, gardening, and agriculture. It will enable automatic identification and classification of flowers in real-time, significantly reducing the manual effort and time required in these applications.
- Isolate the Color of the Lane - RGB (Red/Green/Blue) to HSV (Hue/Saturation/Value) color space
- Isolate only the blue color into mask image
- Detecting Edges of Lane Lines - Using Canny Edge Detection
- Isolate Region of Interest as a polygon space
- Detect Line Segments with the ROI using Hough Transform
- Combine Line Segments into Two Lane Lines
- Find Heading Line by averaging the two lines
1) NumPy ('NUM-erical PY-thon')
2) Matplotlib
3) Pandas
4) SciPy
5) Scikit Learn (Sklearn)
4) Top Deep Learning Frameworks
- TensorFlow by Google Brain (Python,Cpp,R) Eg. Google Translate
- Keras (minimalist, part of TensorFlow core API)
- mxnet (Python,Cpp,R,Julia,Scala)
- PyTorch by Facebook (Python)
- Caffe (C, C++, Python, MATLAB, Command Line), high speed Eg.Vision Recognition
- Microsoft Cognitive Toolkit(CNTK) (Python, Cpp, Commandline) Eg.Image, handwriting & Speech Recognition
- DL4J Deep Learning for Java (JVM lang - Java, Scala, Clojure, Kotlin) Eg. Image recog, fraud detect, Text-mining, NLP
- ONNX Open Neural Network Exchange, by Microsoft & FB
- MATLAB – Deep Learning Toolbox (c,cpp,Java, MATLAB)
It's a field of great interest nowadays and comes as a useful tool in several applications. Coming from a traditional engineering background where I routinely use physics based modeling to understand and interpret the world; deep learning methods add valuable skills and understanding and help me stay updated with the latest trends and technologies in the industry.
-
Deep learning involves experimentation, testing, and tuning to get the best results. Helps me with problem solving and is valuable in my studies and career.
-
Deep learning is a rapidly evolving field, with new techniques and applications being developed all the time. Studying deep learning provides me opportunities for research and contributes to the advancement of the field.
-
Nowadays deep learning is attempted in every field whether it's really required or not! So helps me with critical thinking; to know whether it's a bane or a boon in a given situation.
It was an intellectually stimulating experience and helped me develop a deeper understanding of the field, the tools and resources. When I started I had very limited idea about various open source or free tools like Jupyter notebook or PyTorch, various open source libraries etc. (actually struggled a bit coming up to speed with the basic set up and stuff!) and did not know much outside of Deep learning using MATLAB which is a proprietary tool and lacks the amount of resources and options and examples that open source nowadays has.
Thank you!