
Explore the foundations of artificial intelligence, machine learning, and deep learning, including neural networks and convolutional neural networks, and see how they enable object detection in real world apps.
Learn how convolutional neural networks process visual data for real-time object detection, image classification, and facial recognition, using layers, pooling, ReLU, and pre-trained TensorFlow models.
Install Visual Studio Code to edit text as our integrated development environment, explore extensions, and use the integrated terminal and git support; add to path to open from terminal.
Install VSCode extensions to streamline workflow, detect bugs, and enable git and color coding, then install the Python extension pack for intellisense, debugging, virtual environments, and pylint linting.
Learn how to maximize this course by navigating roadblocks, using the Q&A, matching package versions, googling for solutions, and consulting documentation to stay on track.
Explore Python and FastAPI to build a robust backend for an AI object recognition app, highlighting real-time performance, type hints, automatic documentation, and scalable endpoints.
Learn how to install Python on macOS using three approaches: Homebrew, the official Python installer, and pyenv, then verify the Python 3 version in your terminal.
Installing and running FastAPI teaches you to set up a Python project, create a main.py with a get route, activate a virtual environment, run uvicorn, and view Swagger docs.
Build a complex get route in a FastAPI app to fetch items by id, implement a 404 not found error handling, and test it via swagger docs and browser.
Install uvicorn to run a fast, production-ready asynchronous server for Python apps built on ASGI, and start it with uvicorn main:app --reload.
Create a shared requirements.txt to install all python packages with a pip install -r requirements.txt, locking versions for consistent behavior across teams using FastAPI, TensorFlow, NumPy, OpenCV, and uvicorn.
Explore Angular as a powerful framework and TypeScript as its safety-enhancing partner to build organized, data-driven web apps with responsive UI and scalable screens.
Install node.js from nodejs.org, the open source cross-platform JavaScript runtime, and verify the installation by running node --version to ensure version 20 or higher.
Install the Angular CLI globally, verify the version, and create your first Angular app with ng new. Run ng serve to view it at localhost:4200.
Generate an image control component with the Angular CLI in the components folder and wire it into the app component, noting its selector, standalone status, and template and styling.
Master Angular conditional rendering for image presence, implement an image container with binding and alt text, and hook a file input and upload button to update predictions via observables.
Load a pre-trained mobilenet v2 coco model into the app by setting the environment for tensorflow, importing tf, loading the saved model, and exposing the serving default signature.
Create a run_inference function that prepares an image for a TensorFlow model, converts it to a tensor, runs detection, and returns bounding boxes, labels, and confidence scores.
Create a post route /predict in a fast api app to receive an uploaded image, convert it to rgb with cv2, run inference, and return a json response with detections.
Build a label map to assign IDs for predictions and display object names, using the Coco label map for the ssd mobile dataset, and import it via label_map.py.
Create an Angular service to manage HTTP requests and prediction flows from a fast API server, using BehaviorSubject and observables to track loading, errors, and results.
Implement an upload image function in an Angular service using HttpClient and FormData, returning a predictions array via an Observable and handling loading and client-side and server-side errors.
Import upload image service into the component and initialize observables for predictions, loading, and error in the constructor, binding them to the service for image control and predictions flow.
Resolve http client integration by configuring app.config and providing the http client from angular common http, enabling image input handling and uploads to run the app.
Implement an on file selector function in the image control component to handle file input, create an object URL with URL.createObjectURL, and trigger the on file selected event.
Create an upload image function with a void return that checks the selected file and calls the image upload service via RxJS, wiring the backend URL and keys.
Secure the API key by creating a keys folder with api keys.ts exporting a string, and import it into the app using the local server URL such as http://127.0.0.1:800.
Process image uploads by embedding the API key, sending to the backend /predict route, and subscribing to the image upload observable to handle next, error, and complete with console logs.
Test the results by re-uploading images after resolving cross-origin issues. Observe zebra and bus correctly identified, while a dog may look like a sheep, highlighting dataset limitations and ongoing learning.
Explore why object recognition models misclassify images due to image clarity, background noise, and kernel filtering, and learn to test with clearer images or switch to larger models like V3.
Explore real-world use cases of object recognition apps built with Python and Angular, from hazard detection and inventory management to accessibility and education, while examining lighting, privacy, and context limits.
[AI] Create a Object Recognition Web App with Python & Angular
Build AI-driven web apps with FastAPI and Angular. Discover Machine Learning with Python for developers.
This comprehensive course, "[AI] Create a Object Recognition Web App with Python & Angular," is designed to empower developers with the skills to build cutting-edge AI-powered applications. By combining the power of FastAPI, TensorFlow, and Angular, students will learn to create a full-stack object recognition web app that showcases the potential of machine learning in modern web development.
Throughout this hands-on course, participants will dive deep into both backend and frontend technologies, with a primary focus on Python for AI and backend development, and TypeScript for frontend implementation. The course begins by introducing students to the fundamentals of machine learning and computer vision, providing a solid foundation in AI concepts essential for object recognition tasks.
***DISCLAIMER*** This course is part of a 2 applications series where we build the same app with different technologies including Angular, and React. Please choose the frontend framework that fits you best.
Students will then explore the FastAPI framework, learning how to create efficient and scalable REST APIs that serve as the backbone of the application. This section will cover topics such as request handling, data validation, and asynchronous programming in Python, ensuring that the backend can handle the demands of real-time object recognition processing.
The heart of the course lies in its machine learning component, where students will work extensively with TensorFlow to build and train custom object recognition models. Participants will learn how to prepare datasets, design neural network architectures, and fine-tune pre-trained models for optimal performance. The course will also cover essential topics such as data augmentation, transfer learning, and model evaluation techniques.
On the frontend, students will utilize Angular and TypeScript to create a dynamic and responsive user interface. This section will focus on building reusable components, managing application state with services and observables, and implementing real-time updates to display object recognition results. Participants will also learn how to leverage Angular's powerful features such as dependency injection, routing, and reactive forms to create a robust and scalable frontend application.
Throughout the course, emphasis will be placed on best practices in software development, including code organization and project structure. Students will explore Angular's modular architecture and learn how to effectively organize their application into feature modules and shared modules. They will also gain insights into deploying AI-powered web applications, considering factors such as model serving, scalability, and performance optimization.
By the end of the course, participants will have created a fully functional object recognition web app, gaining practical experience in combining AI technologies with modern web development frameworks. This project-based approach ensures that students not only understand the theoretical concepts but also acquire the hands-on skills necessary to build sophisticated AI-driven applications in real-world scenarios.
Whether you're a seasoned developer looking to expand your skill set or an AI enthusiast eager to bring machine learning models to life on the web, this course provides the perfect blend of theory and practice to help you achieve your goals in the exciting field of AI-powered web development using Angular and Python.
Cover designed by FreePik