Feel free to browse around:
– Where to start a Computer Vision Project –
– Concept of Computer Vision Technology –
– Performance Of Computer Vision Algorithms –
-Deep Learning with a Convolutional Neural Network-
– Edge Computing vs Cloud Computing –
– Computer Vision: Future –
Where to start ?
When applying Computer Vision to your business, a typical approach could look like this:
We can help you with all parts of the process, but defining the problem will always require thorough insight, that only your company possesses. When we understand the problem and the possibilities the technology can deliver, we can identify possible computer vision tasks. Afterwards, we assess the constraints that arise when combining the technology and the problem, enabling us to develop a solution that, in the best possible way, solves the problem.
When the model is developed, we can then embed it into the desired device or cloud service. Read more about implementing AI on our blog.
Computer Vision business cases at a quick glanceRead More
The use of the technology is diverse and, for example, can be:
- Visual quality control: If faults and deficiencies of products are visible, the technology can perform the task of classifying and sorting the products.
- Security: The technology can be combined with a surveillance camera, so that an alarm is triggered, when a person or even just an “unknown” person appears.
- Monitoring: There may be a visible production line where you want to record the production flow, with lead time and the number of people who have worked on each specific item.
- Marketing: It is possible to analyze the gender/age of a person and then track their movements in a store, thereby enabling composition optimization, that is modulated after a specific behaviour.
- Analysis of images: Especially in health care, there is great potential for using the technology to analyze images, for use in diagnosis.
- Automated solutions: Physically-automated solutions depend on visual input including measuring distance, counting objects and other physical signal recognition.
- Augmented reality: It is possible to develop a solution that shows in real-time, how a product should be used or serviced. Here, the technology can be used to first classify the machine and then also do a real-time review, showing the process performed by the embedded product.
- And much more………
Concept of Computer Vision Technology
Computer Vision (CV) is a field of Artificial Intelligence, that seeks to develop methods to replicate the visual intelligence of humans. The technology can acquire data from images or stacked images (video), learn from the data (machine learning) and determine the best approaches to recognizing the unique patterns of interest. To make CV possible we use a mix of different scientific methodologies ranging from mathematics, computer science, physics and biology. Successful solutions require the creator having a comprehensive insight into these topics and their interaction.
How Computer Vision Do Pattern Recognition?Read More
Why Machine Learning With Deep Learning Is Important?Read More
Difference: Supervised And Unsupervised LearningRead More
Most solutions will draw from supervised learning to solve a specific problem, while unsupervised are more exploratory by nature.
The Building Blocks Of Computer Vision TechnologyRead More
Low-level tasks: The building blocks for an expert system
- Classification is the process of categorizing with a set of defined categories, we are focused on what is in the picture and not where it is.
- Object Detection involves the same principles as a classification but combines this with localization. The localized item is referred to as an instance or as a detected object. The system can locate multiple instances of the same class or different classes in the same image.
- Segmentation focuses on categorizing the pixels of a picture from a set of defined categories.
- Similarity is a process of comparing two images and returning a value describing how similar they are visually.
- Autoencoder is the process of learning the representation (encoding) for a set of data, and thereby being able to copy their input to output.
What Can Computer Vision NOT Do?Read More
Performance of Computer Vision Algorithms
When buying a product, it is important to know the parameters that describe what and how well-performing a system is. At present, there is no set of industrial standards that encapsulates performance in a set of simple metrics. The current de facto standard is to use the metrics from academia. One common issue with this standard is that interesting research problems often have a “problem-focus” that diverges from industry needs.
What Metrics Can Evaluate Computer Vision Solutions?Read More
- Speed (latency): Describes either how many frames per second, or how many milliseconds per inference, a solution delivers.
- Accuracy: Describes the strength of the predictive capabilities overall. Accuracy is measured differently depending on the type of Computer Vision task. Here we distinguish between Classification and Object Detection:
- Classification (Multiple relevant measures):
- Precision– What proportion of positive identification was actually correct; we focus on evaluating the relative amount of “false positives”.
- Recall– What proportion of actual positive was identified correctly, we focus on evaluating the relative amount of “false negatives”.
- F1 Score– It seeks to describe the balance between recall and precision and is a function thereof.
- AUC– Area Under Curve, or more specifically, Area Under a Receiver Operating Characteristic Curve (AUROC), is used to better understand the predictive capabilities of a binary classification model. The advantage of using the AUROC metric is that we can build in the assumption that a random base-line will yield an accuracy of 50%.
- Object Detection (Mean Average Precision – mAP)– We evaluate both the classification and the localization of our prediction. To score high the model has to give the correct classification combined with the correct localization.
- Classification (Multiple relevant measures):
- Size (Megabyte): Certain products have requirements that the solution must perform from, for example, single-board computers or micro-controllers. The size of the algorithm defines what is possible to embed the solution to.
Working With Data and Custom Training To Boost PerformanceRead More
Data: A well-performing solution demands sufficient and representative data; without this no architecture is going to be well performing. It is important to understand that Computer Vision datasets are essential to optimizing performance
First Principles Modelling uses different methods to maximize the value of the provided data by optimizing, sorting and scaling, combined with a focus on the demands of the end-product. This ensures the foundations for the algorithm is robust, which is also reflected in performance and robust models, which is the perfect attribute for any expert system.
Custom Training: There are many public solutions that are available to use and they have a wide scope, so that they can solve multiple problems. When using a model that can predict from a wide selection of possible outcomes, the performance is guaranteed to be sub-optimal if you only need to solve a “simple of focused” task. We custom train the algorithm on your specific problem, which means we have a significantly better performance because we streamlined the solution for the task
To understand the technology behind Computer Vision, a basic understanding of what makes the technology possible, the possibilities and the future are needed to create a solid baseline. Therefore we have described the most relevant points regarding; Convolutional Neural Networks, Deep Learning, Embedded/Cloud-solution and The Future:
Deep Learning with CNN`s (Convolutional Neural Networks)Read More
The hidden layer is a computer-generated mapping of how to go from input to output. The input layer could be our data (a picture, translated into pixels), the output could be what is it a picture of (label). When training the model,the hidden layer can learn to connect patterns of pixels into our label.
To constraint the amount of calculations that comes with a Neural Network, we use a Convolutional Neural Network (CNN). Convolutional means the neurons focus on a specific receptive field and are not all connected like an open neural network. It would not be possible to make a practically-applicable artificial architecture that could handle an open Neural Network because of the amount of computing power needed.
Deep learning means the algorithm is built from multiple layers, starting with simple patterns and evolving into more complex patterns. Deep learning theory depends on a CNN as a structure to handle the calculations that create our algorithm. The combinations result in an architecture that is able to map how to translate our input to our output. The ability to map our input to output comes from training on a similar data set, from where it creates a “logic”. We train by applying both the picture and the label (what is it a picture of) and repeating the process. After successful training, we have an algorithm that can predict what our input is by using the logic of the hidden layer.
Deep Learning CNNs learn from data, which means this is a necessity to create the optimal algorithm. The amount of data needed for success also means that we require a lot of raw computer power. In modern society, we often have a lot of data and computing power, which has previously been one of the biggest restrictions in its use.
Edge Computing vs Cloud ComputingRead More
What hardware to use AI on depends on the problem. Different hardware has different capabilities and different short cummings. FPM can offer a solution using different types of hardware depending on your needs. We deliver solutions based on both edge and cloud depending on your problem.
Edge Computing – Unlocking New Possibilities:
Some of the leading technology firms like Google and Intel have invested heavily in shrinking down the last part of the process (inference). We can now build solutions, where Deep Learning Models are developed in such a way that they no longer require the same computing power, but can be operated by a central processing unit (CPU). This provides the opportunity to develop offline embedded solutions, for example by using a single-board computer. This provides the opportunity to create physically smaller products, minimize the ongoing costs and create more operationally stable solutions. Edge computing enables machine learning algorithms to be executed on smaller devices, which will be a further development into the age of “IoT edge devices”. See our own human detection on edge.
Computer Vision – FutureRead More
Scientific understanding is required to work with the technology, but its practices and standards need to be adapted to the specific case. A relevant example is the performance goals of a product; in this circumstance what research considers important is irrelevant, but is essentially what contributes to the product’s success. We evolve our Computer Vision products, by prioritizing the practical value over the theoretical.