Git Product home page Git Product logo

building-computer-vision-apps-artificial-neural-networks's Introduction

Apress Source Code

This repository accompanies Building Computer Vision Applications Using Artificial Neural Networks by Shamshad Ansari (Apress, 2020).

Cover image

Download the files as a zip using the green button, or clone the repository to your machine using Git.

Releases

Release v1.0 corresponds to the code in the published book, without corrections or updates.

Clone Instruction

Clone repo with all history: git clone https://github.com/Apress/building-computer-vision-apps-artificial-neural-networks.git

This will download all prior commit history. The overall size will be of the order of 1.4GB. If this causes any error, clone only the latest commit using the command:

git clone https://github.com/Apress/building-computer-vision-apps-artificial-neural-networks.git --depth 1

Contributions

See the file Contributing.md for more information on how you can contribute to this repository.

Book Value Proposition:

  • Contains real examples that you can implement and modify to build useful computer vision systems
  • Gives line-by-line explanations of computer vision working code examples
  • Explains training neural networks involving large numbers of images on cloud infrastructure, such as Amazon AWS, Google Cloud Platform, and Microsoft Azure

About the Book:

Apply computer vision and machine learning concepts in developing business and industrial applications ​using a practical, step-by-step approach.

The book comprises four main sections starting with setting up your programming environment and configuring your computer with all the prerequisites to run the code examples. Section 1 covers the basics of image and video processing with code examples of how to manipulate and extract useful information from the images. You will mainly use OpenCV with Python to work with examples in this section.

Section 2 describes machine learning and neural network concepts as applied to computer vision. You will learn different algorithms of the neural network, such as convolutional neural network (CNN), region-based convolutional neural network (R-CNN), and YOLO. In this section, you will also learn how to train, tune, and manage neural networks for computer vision. Section 3 provides step-by-step examples of developing business and industrial applications, such as facial recognition in video surveillance and surface defect detection in manufacturing.

The final section is about training neural networks involving a large number of images on cloud infrastructure, such as Amazon AWS, Google Cloud Platform, and Microsoft Azure. It walks you through the process of training distributed neural networks for computer vision on GPU-based cloud infrastructure. By the time you finish reading Building Computer Vision Applications Using Artificial Neural Networks and working through the code examples, you will have developed some real-world use cases of computer vision with deep learning.

What You Will Learn

· Employ image processing, manipulation, and feature extraction techniques

· Work with various deep learning algorithms for computer vision · Train, manage, and tune hyperparameters of CNNs and object detection models, such as R-CNN, SSD, and YOLO

· Build neural network models using Keras and TensorFlow

· Discover best practices when implementing computer vision applications in business and industry

· Train distributed models on GPU-based cloud infrastructure

Who This Book Is For

Data scientists, analysts, and machine learning and software engineering professionals with Python programming knowledge.

About the Author:

Shamshad (Sam) Ansari is a distinguished data scientist, inventor and author. He has several technology publishing in his name. He has co-authored 4 US Patents related to AI in healthcare.

Sam is the founder, president and CEO of Accure, an AI automation company. He enjoys working with software engineers, data scientists, devops, and business analysts, and solving real-world scientific and business problems.

He has worked with 4 tech startups in his 20+ years of career. Prior to starting Accure, he worked for Apixio, a healthcare AI startup, IBM, and Orbit Solutions.

He has technical expertise in the area of computer vision, machine learning, AI, cognitive science, NLP, and big data. He architected, designed, and developed an AI automation platform, called Momentum, that allows to build AI solutions without writing code.

He is passionate about teaching and mentoring. He has spent more than 10,000 hours in teaching and mentoring students from across the world.

Sam holds a Bachelor's degree in engineering from BIT Sindri and Master's degree in computer science from Indian Institute of Information Technology and Management (IIITM) Kerala.

building-computer-vision-apps-artificial-neural-networks's People

Contributors

ansarisam avatar markp88 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

building-computer-vision-apps-artificial-neural-networks's Issues

Listing 6-2 - SyntaxError: invalid syntax

Is anyone help me out on how to solve this? As I ran the code below, just the way it is proposed in the repository, something went wrong:

cd/content/computer_vision/models/research
pwd
protoc object_detection/protos/*.proto --python_out=.

the message the went out was as it follows:

File "", line 3
protoc object_detection/protos/*.proto --python_out=.
^
SyntaxError: invalid syntax

please forgive me if by any chance it is too much trivial for most of you. Turns out I've been trying to learn some computer vision stuff by reading a couple of books.

Miscellaneous fixes

While I admit a lot of these are minor, I feel they would improve the quality of the book as a whole:

  • from __future__ import print_function is unnecessary in python 3 (the book specifies use of python 3.6)
  • The source images for the examples are not available to install outside of this repository and the book does not have you download them while configuring the dev environment causing examples to fail. While this repo has them available, the note leading the reader to this repo is in the front matter which most people will skip. Additionally installing them with the source code repo in its entirety robs the reader of the opportunity to write the code themselves.
  • Python coding practices generally prefer snake_cased variables over camelCased as per PEP8 and even the code within the book is not consistent in using snake_cased or camelCased from chapter to chapter.
  • Chapter 3 figures show original images for listings, however the original image is never displayed by the provided code
  • Last two images of Listing_3_6.py (imageEnhanced and arrayImage) are never discussed nor is the output shown.
  • Listing_3_7.py lines 12 and 13 would be made clearer by refactoring the image dimensions to a previous line (see below):
# instead of this
resized_img_1 = cv2.resize(image1, (int(500*image1.shape[1]/image1.shape[0]), 500), interpolation=cv2.INTER_AREA)
resized_img_2 = cv2.resize(image2, (int(500*image2.shape[1]/image2.shape[0]), 500), interpolation=cv2.INTER_AREA)

# do this
height, width = image1.shape[:2]
aspect_ratio = width / height
new_dimensions = (int(500*aspect_ratio), 500)
resized_img_1 = cv2.resize(image1, new_dimensions, interpolation=cv2.INTER_AREA)
resized_img_2 = cv2.resize(image2, new_dimensions, interpolation=cv2.INTER_AREA)
  • skimage is used (a.k.a. scikit-image) in Listing_4_4 but is not installed during the configuration of the dev environment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.