Article | March 15, 2021
A few weeks ago, I created a Tensorflow model that would take an image of a street, break it down into regions, and - using a convolutional neural network - highlight areas of the image that contained vehicles, like cars and trucks.
I called it an image classification AI, but what I had really created was an object detection and location program, following a typical convolutional method that has been used for decades - as far back as the seventies.
By cutting up my input image into regions and passing each one into the network to get class predictions, I had created an algorithm that roughly locates classified objects. Other people have created programs that perform this operation frame by frame on real time video, allowing computer programs to draw boxes around recognised objects, understand what they are and track their motion through space.
In this article, I’ll give an interesting introduction to object detection in real-time video. I’ll explain why this kind of artificial intelligence is important, how it works, and how you can implement your own system with Yolo V3. From there, you can build a huge variety of real time object tracking programs, and I’ve included links to further material too.
Importance of real-time object detection
Object detection, location and classification has really become a massive field in machine learning in the past decade, with GPUs and faster computers appearing on the market, which has allowed more computationally expensive deep learning nets to run heavy operations. Real time object detection in video is one such AI, and it has been used for a wide variety of purposes over the past few years.
In surveillance, convolutional models have been trained on human facial data to recognise and identify faces. An AI can then analyse each frame of a video and locate recognised faces, classifying them with remarkable precision.
Real-time object detection has also been used to measure traffic levels on heavily frequented streets. AIs can identify cars and count the number of vehicles in a scene, and then track that number over time, providing crucial information about congested roads.
In wildlife, with enough training data a model can learn to spot and classify types of animals. For example, a great example was done with tracking racoons through a webcam, here. All you need is enough training images to build your own custom model, and such artificial intelligence programs are actively being used all around the world.
Background to Yolo V3
Until about ten years ago, the technology required to perform real-time object tracking was not available to the general public. Fortunately for us, in 2021 there are many machine learning libraries available and practically anyone can get started with these amazing programs.
Arguably the best object detection algorithms for amateurs - and often even professionals - is You Only Look Once, or YOLO. This collection of algorithms and datasets was created in the 2000s and became incredibly popular thanks to its impressive accuracy and speed, which lends it easily to live computer vision.
My method for object detection and recognition I mentioned at the start of this article happens to be a fairly established technique. Traditional object recognition would split up each frame of a video into “regions”, flatten them into strings of pixel values, and pass them through a deep learning neural network one by one. The algorithm would then output a 0 to 1 value indicating the chance that the specific region has a recognized object - or rather, a part of a recognized object - within its bounds.
Finally, the algorithm would output all the regions that were above a particular “certainty” threshold, and then it would compile adjacent regions into bounding boxes around recognized objects. Fairly straightforward, but when it comes down to the details, this algorithm isn’t exactly the best.
Yolo V3 uses a different method to identify objects in real time video, and it’s this algorithm that gives it its desirable balance between speed and accuracy - allowing it to fairly accurately detect objects and draw bounding boxes around them at about thirty frames per second.
Darknet-53 is Yolo’s latest Fully Convolutional Network, or FCN, and is packed with over a hundred convolutional layers. While traditional methods pass one region at a time through the algorithm, Darknet-53 takes the entire frame, flattening it before running the pixel values through 106 layers. They systematically split the image down into separate regions, predicting probability values for each one, before assembling connected regions to create “bounding boxes” around recognized objects.
Luckily for us there’s a really easy way we can implement YoloV3 in real time video simply with our webcams; effectively this program can be run on pretty much any computer with a webcam. You should note however that the library does prefer a fast computer to run at a good framerate. If you have a GPU it’s definitely worth using it!
The way we’ll use YoloV3 is through a library called ImageAI. This library provides a ton of machine learning resources for image and video recognition, including YoloV3, meaning all we have to do is download the pre-trained weights for the standard YoloV3 model and set it to work with ImageAI. You can download the YoloV3 model here. Place this in your working directory.
We’ll start with our imports as follows:
import numpy as np
from imageai import Detection
Of course, if you don’t have ImageAI, you can get it using “pip install imageai” on your command line or Python console, like normal. CV2 will be used to access your webcam and grab frames from it, so make sure any webcam settings on your device are set to default so access is allowed.
Next, we need to load the deep learning model. This is a pre-trained, pre-weighted Keras model that can classify objects into about a hundred different categories and draw accurate bounding boxes around them. As mentioned before, it uses the Darknet model. Let’s load it in:
modelpath = "path/yolo.h5"
yolo = Detection.ObjectDetection()
All we’re doing here is creating a model and loading in the Keras h5 file to get it started with the pre-built network - fairly self-explanatory.
Then, we’ll use CV2 to access the webcam as a camera object and define its parameters so we can get those frames that are needed for object detection:
cam = cv2.VideoCapture(0)
You’ll need to set the 0 in cv2.VideCapture(0) to 1 if you’re using a front webcam, or if your webcam isn’t showing up with 0 as the setting. Great, so we have imported everything, loaded in our model and set up a camera object with CV2. We now need to create a run loop:
ret, img = cam.read()
This will allow us to get the next immediate frame from the webcam as an image. Our program doesn’t run at a set framerate; it’ll go as fast as your processor/camera will allow.
Next, we need to get an output image with bounding boxes drawn around the detected and classified objects, and it’ll also be handy to get some print-out lines of what the model is seeing:
img, preds = yolo.detectCustomObjectsFromImage(input_image=img,
As you can see, we’re just using the model to predict the objects and output an annotated image. You can play around with the minimum_percentage_probability to see what margin of confidence you want the model to classify objects with, and if you want to see the confidence percentages on the screen, set display_percentage_probability to True.
To wrap the loop up, we’ll just show the annotated images, and close the program if the user wants to exit:
if (cv2.waitKey(1) & 0xFF == ord("q")) or (cv2.waitKey(1)==27):
Last thing we need to do outside the loop is to shut the camera object;
And that’s it! It’s really that simple to use real time object detection in video. If you run the program, you’ll see a window open that displays annotated frames from your webcam, with bounding boxes displayed around classified objects.
Obviously we’re using a pre-built model, but many applications make use of YoloV3’s standard classification network, and there are plenty of options with ImageAI to train the model on custom datasets so it can recognize objects outside of the standard categories. Thus, you’re not sacrificing much by using ImageAI.
Good luck with your projects if you choose to use this code!
Yolo V3 is a great algorithm for object detection that can detect a multitude of objects with impressive speed and accuracy, making it ideal for video feeds as we showed on the examples aboves.
Yolo v3 is important but it’s true power comes when combined with other algorithms that can help it process information faster, or even increasing the number of detected objects. Similar algorithms to these are used today in the industry and have been perfected over the years.
Today self-driving cars for example will use techniques similar to those described in this article, together with lane recognition algorithms and bird view to map the surroundings of a car and pass that information to the pilot system, which then will decide the best course of action.
Article | February 27, 2020
Artificial Intelligence (AI) definitely tops the list of important themes for the drone industry. From data management to flight automation, AI has been part of the description. But how exactly does AI power processes like industrial inspections? An integration between a drone data management platform and an AI company serves as an example. Drone inspections generate a lot of images, huge quantities of data. While not all of those images are useful, all of them need review in order to identify a potential defect – like finding a needle in a haystack. That’s where AI can help – significantly reducing the human effort required to find that one important image from thousands of others.
Article | July 15, 2021
The Software as a Service (SaaS) sector is one of the most essential industries globally, and it's always more complex than general customer marketing. Of course, we do not mean that customer marketing is effortless. However, it's relatively more traditional than SaaS marketing.
Many people are not familiar with the right strategies for selling non-physical products. As selling such products can possess its own set of challenges, SaaS marketing gets even more demanding.
What is SaaS Marketing?
Let’s begin with the basics of SaaS — Software as a Service or SaaS allows users to use cloud-based applications. Businesses or users hire SaaS applications for a variety of purposes.
SaaS marketing is nothing but the process to market such applications. Marketers use various strategies to sell SaaS software and achieve the highest possible conversion rates.
However, there are several significant challenges in this quest. First, SaaS tools don’t have any physical presence, and selling something that doesn’t physically exist is not easy.
Furthermore, we live in a world where SaaS platforms are constantly changing. With newer features and updates being launched every day, marketers struggle to nail down even their most basic payment app before the next version is launched.
If your company sells software, you must adopt the right SaaS marketing strategy to get more customers and, ultimately, higher conversions.
But how will you get started? And, most importantly, how to overcome those three biggest SaaS Marketing challenges?
Let’s find out!
The Three Biggest SaaS Marketing Challenges
The following are the three biggest marketing challenges faced by SaaS marketers.
● Earning The Loyalty from Customers
● Getting Noticed
● Dealing With Conventional Complainers
If your company faces the same B2B SaaS marketing challenges, it will be fair to say that you are doing well. Their occurrence is pretty common. After working with several B2B companies, ranging from 2 million annual revenue to 2 billion, you will notice that most of them face the same challenges mentioned above.
The demand for cloud-based services is increasing day by day. And eventually, this has birthed thousands of SaaS companies all around the globe. Locations beyond Silicon Valley are seeing the rise of several new SaaS providers ranging from government agencies to small and mid-size start-ups.
As a result, the competition is mounting at an incredible pace, and the niches are getting overcrowded. Suppose you do not invest in improving your company’s digital presence, brand identity, and messaging. In that case, you are more likely to drown in the ocean of the current marketplace where new companies are entering every single day.
Here’s how you can deal with these core SaaS Marketing Challenges:
Being a SaaS marketer, analyze your strategy by asking yourself this question — How can your company address the customers’ needs in areas that your competitors are not targeting?
The SaaS marketplace is constantly evolving, and even the slightest functionality or design improvement in the competitor’s platform is enough to take away the sleep of your company leadership.
Traditionally, most SaaS marketers sell their product by convincing companies that they have a problem, and only our SaaS platform can fix it. But, now things have changed, and there’s a lot to compete with.
Several market analysts have claimed that smart process apps are overlapping with SaaS. While SaaS companies are focusing on only the US market (and ruling it as well), traditional software companies have taken their business to Asia and Europe and have established themselves there.
As a consequence, SaaS marketers are faced with more than just indifference and ignorance. Being a SaaS provider company, you must make the most out of the predicted surge in growth and go beyond the traditional SaaS marketing strategy. Plus, you need to develop newer ways to stand out in the competition of sameness and simultaneously reach more customers.
Earning Customer Loyalty
There was a time when data migration was one of the most challenging tasks for SaaS marketers. Thankfully, we are past that time now. Today, companies can easily migrate data from their existing system to the cloud base. Moreover, they will have a painless process to manage it post the migration.
But, here’s a catch! If you can do this with ease, your competitor can also do that. This drastically increases the importance of customer acquisition and customer retention. And for this reason, you must have an effective SaaS marketing strategy that aims at earning customer engagement and loyalty.
Dealing with Conventional Complainers
Many industries are yet to accept the benefits of cloud computing. However, if you target them in the right way, your state-of-the-art SaaS platform can replace their incumbent software system.
Someone has spent years building that existing software system, and they are more likely to lose sleep because of this takeover. Such people, in most cases, are the decision-makers and won’t be keen to relinquish their hold on the existing system. It would help if you won them to sell your product. Your strategy should be able to handle an onslaught of their objections. They might claim that data migration is so complex that it’s not worth their time and money, or they will even say that the cloud is not secure enough. You have to do your homework and be prepared to tackle these hurdles.
So, be excellent and well prepared. And, the chances are, you will convince them.
How to Overcome SaaS Marketing Challenges?
Any SaaS Vendor must dig deep into all the significant concepts of marketing. But, before getting started with it, it's essential to learn about the customer journey. It helps SaaS marketers to deploy and integrate an effective strategy that works well with all the following stages of the customer journey:
The reality is, there are hundreds of marketing strategies that can produce great results. However, the following ones are the best of all when it’s about marketing your SaaS products.
Develop an Effective Content Marketing Strategy
Be it any online business, content marketing is one of the most important marketing aspects. It can be beneficial for your SaaS company by letting your audience understand the advantages of your product and improving your online presence.
You can also use various social media platforms to extend your approach for offering the same information. Credibility, trust, and existence are the critical aspects of every SaaS marketing niche, and content marketing is the most effective way to spread your valuable information and earn trust.
Set Realistic Goals
Directionless movements are a total waste of time. Instead, all successful SaaS marketing strategies begin with defining clear and realistic goals. To do that, you must figure your business most comprehensively. Then, set tractable and specific goals keeping the key metrics and KPIs in mind. And lastly, work on how the marketing and sales team can align to get the best results.
Remember, bigger goals are more challenging to achieve. You can break them down into smaller ones to ease the process.
Offer a Free Trial of Your SaaS Product
This helps to attract new customers and make them aware of the benefits of your SaaS product. It will also help you with lead generation.
Make sure to optimize the conversion rate during this trial period. And, present the best customer service to your prospects so that they will be with you for long.
Frequently Asked Questions
What are the most effective SaaS marketing techniques?
The following are the most effective strategies to overcome various SaaS marketing challenges in 2021:
● Develop a content marketing plan
● Offer free SaaS trials
● Focus on SEO
● Refine your Call-to-Action
● Refine your PPC campaigns
● Strengthen SaaS review websites
Why is Saas marketing important for businesses?
Even though SaaS marketing is challenging and requires exceptional marketing strategy, it comes with its own advantages. They include:
● Customer marketing & customer communication
● Long term customers
● Brand awareness
● Short sales cycles
● Lead generation
What are the biggest challenges in SaaS marketing?
The following are some of the biggest and the most common SaaS marketing challenges:
● Earning loyal customers
● Standing out from the crowd
● Dealing with conventional complainers
● Getting noticed
● Generating value
"name": "What are the most effective SaaS marketing techniques?",
"text": "The following are the most effective strategies to overcome various SaaS marketing challenges in 2021:
Develop a content marketing plan
Offer free SaaS trials
Focus on SEO
Refine your Call-to-Action
Refine your PPC campaigns
Strengthen SaaS review websites"
"name": "Why is Saas marketing important for businesses?",
"text": "Even though SaaS marketing is challenging and requires exceptional marketing strategy, it comes with its own advantages. They include:
Customer marketing & customer communication
Long term customers
Short sales cycles
"name": "What are the biggest challenges in SaaS marketing?",
"text": "The following are some of the biggest and the most common SaaS marketing challenges:
Earning loyal customers
Standing out from the crowd
Dealing with conventional complainers
Article | December 20, 2020
Staying relevant and cutting edge in the business world is a struggle for businesses in any industry. Technology, including intelligent automation, is continually evolving. Businesses must change with it in order to be competitive and successful in our current macroeconomic world. The use of intelligent automation tools can help grow your business and improve how your business operates, reducing your operating costs while improving your production time.
Reducing Human Error
One of the most important benefits that intelligent automation brings to any business is the reduction of human error in the work place. People are naturally affected by their daily lives and outside influences. If a worker, for example, came into work tired or unwell, his or her job performance will likely suffer, the risk of human error becoming greater. Automation software cannot be affected by time of day, mood, lack of sleep, etc., allowing it to be completely consistent in performing the task it was programmed to do.
Additionally, humans need to be taught new tasks and require practice in order to master them, robotic process automation can be updated and perform the tasks instantly.
Max Yankelevich, founder & CEO of WorkFusion, says it best “Robots need only eight to 12 weeks to take over a back office function that humans take years to learn.”
In terms of business benefits, utilizing intelligent automation tools ensures performance consistency that will ultimately improve the overall quality of work, also allowing human workers to focus on higher priority and more important issues that require critical thinking.
Keeping Jobs Local
Employers have often ventured overseas to hire workers in other countries who can then perform basic tasks at a reduced wage, when compared to local employees. The bottom line can be better for these employers in the short-term, though working with outsourced employees means sending money overseas and trying to manage workers on another continent. Typically, over the long-term businesses that outsource overseas can experience unforeseen issues and costs due to the complications with depending on a foreign workforce.
With outsourced jobs being performed by intelligent automation tools businesses can focus on hiring skilled workers from the local market for the upper levels of the workforce.
Return on Investment
Perhaps the most intimidating factor in implementing intelligent automation within your business is the upfront cost. Putting money into something new is not a leap everyone wants to make. Intelligent automation, however, is not a gamble. Research shows that companies who use are able to automate around half of their tasks, increasing process time by fifty percent. Completing tasks more quickly means companies can take on more tasks without spending additional time on them. Depending on the industry, having jobs done quickly can mean increased revenue.
If performing redundant tasks quickly and accurately will not improve your company’s revenue, just simply utilizing intelligent automation tools certainly will. Such tools do not need pay, employee benefits, and can work overtime, the return of investment becomes apparent when considering all the expenses intelligent automation does not require.
Intelligent automation tools offer businesses unparalleled levels of productivity, efficiency, and value. Companies will want to avoid the risk of falling behind by adapting with the modern technology, the advantages of utilizing intelligent automation tools can lead companies to developing new business strategies they could have never even possibly conceived of previously.