TECHNICAL REVIEW

ADRUINO VS RASPBERRY PI

We see new, ingenious projects from our community every day. Many of these projects are made possible with the use of development boards. However, if you’re new to the whole idea, it can be confusing to parse out the differences between boards and the advantages of using one over another.

When it comes to choosing a single-board computer, Arduino and Raspberry Pi are the big names that you’ll be considering. But which one should you choose? What is the Arduino best used for? What are the drawbacks of using a Raspberry Pi? And how do you decide between the two? It can be a tough decision, so we’ll break it down here for you.
Adruino
The Arduino, for example, is a microcontroller, which means it excels at controlling small devices like sensors, motors, and lights. This is why the Arduino is best used for projects like building a wake-up light, motion detector alarm, or even a small robot. You’ll also hear people talk about “prototyping” with an Arduino, which is the process of quickly creating a prototype electronic device. If the prototype is successful and the device works, it can be made on a larger scale with printed circuit boards.

Raspberry Pi
The Raspberry Pi, on the other hand, isn’t a microcontroller, and isn’t made for controlling sensors and other things like that. It’s an entire computer, with its own operating system, and is intended to be used as one. The operating system is rather minimal, so you’ll need some coding knowledge to get the most of it, but that’s one of the things the Raspberry Pi is great at: helping people learn to code. It’s also really good at acting as a server: it can communicate with other computers, serve as an alternative to a Chromecast, provide information, and log data.
Hardware 
When you look at an Arduino next to a Raspberry Pi, it’s very clear that the hardware differs quite a bit between the two. Let’s break it down.

Power 
The Arduino’s power supply requirements are very simple; you can plug it into your computer or a battery pack, and it will start running code immediately. If the power is disconnected, it will stop; there’s no need to run a shut-down process. The Raspberry Pi, on the other hand, because it has a more full-featured computing system in place, should be shut down like a regular computer, and can be damaged by power cuts. 

Both the Arduino and the Raspberry Pi have a very low power draw, and can be run for a very long time without using much electricity.

Connectivity 
The Raspberry Pi comes ready to be connected to the internet; it has a built-in ethernet port and WIFI module, and it’s very easy for wireless connectivity as well. This is one of the reasons why the Pi is the device of choice for things like personal web servers, printer servers, and VPNs. 

The Arduino, on the other hand, doesn’t have any built-in capability for connectivity. If you want to connect it to the internet, you’ll need to add an extra piece of hardware that includes an ethernet port. If you want wifi connectivity, you’ll need a different piece of hardware again. Because the Arduino is meant for hardware projects instead of software ones, it needs a bit of tinkering to get it connected. 

 I/O 
Pins Input/output pins are what allow your single-board computer to talk to things that are connected to it. For example, your Raspberry Pi could light up an LED. Or your Arduino could activate a motor. If you’re looking for hardware connections, these pins are what you need. The Raspberry Pi 4 packs 17 of these pins, while the Arduino Uno offers 20.

Another significant difference in the I/O pins between the two boards is the temporal resolution at which you can control them. Because the Raspberry Pi is a full computer, it has a number of things that are vying for CPU time, which means it can have some difficulty in getting timing down to small fractions of a second. And it needs software to properly interface with sensors and other devices. 

The Arduino, on the other hand, can change the output and monitor the input on its pins down to a very tiny amount of time.

Storage 
The Arduino comes with 32 KB of onboard storage, which is just enough to store the code that provides instructions for its current program. You can’t use this storage for apps, videos, photos, or anything else. The Raspberry Pi, on the other hand, doesn’t come with any onboard storage, but it does have a micro SD port, so you can add as much storage as you’d like. Adding 32 GB of storage will only cost you around RM45 with a SanDisk micro SD card, and you can easily add up to 128 or 256 GB if you need it. 

USB 
Because the Arduino isn’t meant to communicate with computers, it doesn’t come standard with any USB ports that you can use for this type of communication. A single port can be used to connect the Arduino to your computer via your computer’s USB port, but that’s it. 

The Raspberry Pi, on the other hand, has four USB ports that you can use to connect it to a router, a printer, an external hard drive, or a wide variety of other devices. 

Software 
Now that we’ve laid out the differences between the hardware of the Arduino and the Raspberry Pi, we can talk about software. To really understand when you’d want to use one board or the other, you’ll need to know what each one can do, and a lot of that is dependent on the software. 

To complicate the issue, the Arduino doesn’t come with any software per se. It has very basic capabilities to interpret the code that it receives and alter the functions of the hardware that it’s connected to, but the board doesn’t have an operating system or any sort of interface besides the Arduino integrated development environment (IDE).

What this means in practice is that you need to create the software that runs on the Arduino. Using the IDE, you’ll create a set of commands that the Arduino will interpret and enact. A simple set of instructions could say something like “turn the red light on for three seconds, turn it off, turn the green light on for three seconds, turn it off, repeat.” Obviously, you can do much more complicated things, but you’ll still need to create the program yourself. 

Fortunately, there’s a huge Arduino community that spans the entire world, which means that if there’s something you want to do with an Arduino, someone has probably done it. You can look at their code, modify it, and make your Arduino do exactly what you want. This is a great way to learn the principles of coding and prototyping, as well, which is why the Arduino is a great choice for anyone interested in electronics. 

In contrast, the Raspberry Pi comes stocked with a fully functional operating system called Raspbian. This OS is based on Debian Linux, and was created specifically for the Pi. There are a number of other operating systems that you can use with the board, most of which are Linux-based, but Android can also be installed. 

Operating systems aren’t the only pieces of software that the Pi runs, though; there are also a number of useful apps that you can use to accomplish different tasks. One of the most common uses of a Raspberry Pi is as a media server, for which both Kodi and Plex are popular apps. You can download games, server applications, calculators, and even the LibreOffice office suite. 

Of course, you can write your own programs for the Raspberry Pi as well, and that’s one of the best reasons to get one: to learn to code. Python is the recommended language for the Pi, but C, C++, Java, and Ruby are all pre-installed on the board. While Arduino can be tweaked to support other languages, the native Arduino language is the best choice; if you’re looking to learn a more useful language, the Pi will give you more options.


FACE RECOGNITION

The current technology amazes people with amazing innovations that not only make life simple but also bearable. Face recognition has over time proven to be the least intrusive and fastest form of biometric verification. 

Facial Recognition is a category of biometric software that maps an individual’s facial features and stores the data as a face print. The software uses deep learning algorithms to compare a live captured image to the stored face print to verify one’s identity. Image processing and machine learning are the backbones of this technology. Face recognition has received substantial attention from researchers due to human activities found in various applications of security like an airport, criminal detection, face tracking, forensic, etc. Compared to other biometric traits like palm print, iris, fingerprint, etc., face biometrics can be non-intrusive. 

They can be taken even without the user’s knowledge and further can be used for security-based applications like criminal detection, face tracking, airport security, and forensic surveillance systems. Face recognition involves capturing face images from a video or a surveillance camera. They are compared with the stored database. Face recognition involves training known images, classify them with known classes, and then they are stored in the database. When a test image is given to the system it is classified and compared with the stored database.
Image reading 
The computer reads any image as a range of values between 0 and 255. For any color image, there are 3 primary colors – Red, green, and blue. A matrix is formed for every primary color and later these matrices combine to provide a Pixel value for the individual R, G, B colors. Each element of the matrices provide data about the intensity of the brightness of the pixel. 

Face Recognition Softwares 
Many renowned companies are constantly innovating and improvising to develop face recognition software that is foolproof and dependable. Some prominent software is being discussed below: 

a. Deep Vision AI 
Deep Vision AI is a front runner company excelling in facial recognition software. The company owns the proprietorship of advanced computer vision technology that can understand images and videos automatically. It then turns the visual content into real-time analytics and provides very valuable insights. 

Deep Vision AI provides a plug and plays platform to its users worldwide. The users are given real-time alerts and faster response based upon the analysis of camera streams through various AI-based modules. The product offers a highly accurate rate of identification of individuals on a watch list by continuous monitoring of target zones. The software is highly flexible that it can be connected to any existing camera system or can be deployed through the cloud. 

At present, Deep Vision AI offers the best performance solution in the market supporting real-time processing at +15 streams per GPU. 

Business intelligence gathering is helped by providing real-time data of customers, their frequency of visits, or enhancement of security and safety. Further, the output from the software can provide attributes like count, age, gender, etc that can enhance the understanding of consumer behaviour, changing preferences, shifts with time, and conditions that can guide future marketing efforts and strategies. The users also combine the face recognition capabilities with other AI-based features of Deep Vision AI like vehicle recognition to get more correlated data of the consumers. 

The company complies with the international data protection laws and applies significant measures for a transparent and secure process of the data generated by its customers. Data privacy and ethics are taken care of. The potential markets include cities, public venues, public transportation, educational institutes, large retailers, etc. Deep Vision AI is a certified partner for NVIDIA’s Metropolis, Dell Digital Cities, Amazon AWS, Microsoft, Red Hat, and others. 

b. SenseTime 
 - SenseTime is a leading platform developer that has dedicated efforts to create solutions using the innovations in AI and big data analysis. The technology offered by SenseTime is multifunctional. The aspects of this technology are expanding and include the capabilities of facial recognition, image recognition, intelligent video analytics, autonomous driving, and medical image recognition. SenseTime software includes different subparts namely, SensePortrait-S, SensePortrait-D, and SenseFace.
 
- SensePortrait-S is a Static Face Recognition Server. It includes the functionality of face detection from an image source, extraction of features, extraction, and analysis of attributes, and target retrieval from a vast facial image database 

- SensePortrait D is a Dynamic Face Recognition Server. The capabilities included are face detection, tracking of a face, extraction of features, and comparison and analysis of data from data in multiple surveillance video streams. 

- SenseFace is a Face Recognition Surveillance Platform. This utility is a Face Recognition technology that uses a deep learning algorithm. SenseFace is very efficient in integrated solutions to intelligent video analysis. It can be extensively used for target surveillance, analysis of the trajectory of a person, management of population and the associated data analysis, etc 

- SenseTime has provided its services to many companies and government agencies including Honda, Qualcomm, China Mobile, UnionPay, Huawei, Xiaomi, OPPO, Vivo, and Weibo. 

 c. Amazon Rekognition 
Amazon provides a cloud-based software solution Amazon Rekognition is a service computer vision platform. This solution allows an easy method to add image and video analysis to various applications. It uses a highly scalable and proven deep learning technology. The user is not required to have any machine learning expertise to use this software. The platform can be utilized to identify objects, text, people, activities, and scenes in images and videos. It can also detect any inappropriate content. The user gets a highly accurate facial analysis and facial search capabilities. Hence, the software can be easily used for verification, counting of people, and public safety by detection, analysis, and comparison of faces. 

Organizations can use Amazon Rekognition Custom Labels to generate data about specific objects and scenes available in images according to their business needs. For example, a model may be easily built to classify specific machine parts on the assembly line or to detect unhealthy plants. The user simply provides the images of objects or scenes he wants to identify, and the service handles the rest. 

d. FaceFirst 
The FaceFirst software ensures the safety of communities, secure transactions, and great customer experiences. FaceFirst is secure, accurate, private, fast, and scalable software. Plug-and-play solutions are also included for physical security, authentication of identity, access control, and visitor analytics. It can be easily integrated into any system. This computer vision platform has been used for face recognition and automated video analytics by many organizations to prevent crime and improve customer engagement. 

As a leading provider of effective facial recognition systems, it benefits to retail, transportation, event security, casinos, and other industry and public spaces. FaceFirst ensures the integration of artificial intelligence with existing surveillance systems to prevent theft, fraud, and violence. 

e. Trueface 
TrueFace is a leading computer vision model that helps people understanding their camera data and convert the data into actionable information. TrueFace is an on-premise computer vision solution that enhances data security and performance speeds. The platform-based solutions are specifically trained as per the requirements of individual deployment and operate effectively in a variety of ecosystems. The software places the utmost priority on the diversity of training data. It ensures equivalent performance for all users irrespective of their widely different requirements. 

Trueface has developed a suite consisting of SDK’s and a dockerized container solution based on the capabilities of machine learning and artificial intelligence. The suite can convert the camera data into actionable intelligence. It can help the organizations to create a safer and smarter environment for its employees, customers, and guests using facial recognition, weapon detection, and age verification technologies. 

f. Face++ 
Face++, is an open platform enabled by Chinese company Megvii. It offers computer vision technologies. It allows users to easily integrate the deep learning-based image analysis recognition technologies into their applications. 

Face++ uses AI and machine vision in amazing ways to detect and analyze faces, and accurately confirm a person’s identity. Face++ is also developer-friendly being an open platform such that any developer can create apps using its algorithms. This feature has resulted in making Face++ the most extensive facial recognition platform in the world, with 300,000 developers from 150 countries using it. 

The most significant usage of Face++ has been its integration into Alibaba’s City Brain platform. This has allowed the analysis of the CCTV network in cities to optimize traffic flows and direct the attention of medics and police by observing incidents. 

g. Kairos 
- Kairos is a state-of-the-art and ethical face recognition solution available to the developers and businesses across the globe. Kairos can be used for Face Recognition via Kairos cloud API, or the user can host Kairos on their servers. The utility can be used for control of data, security, and privacy. The organizations can ensure a safer and better accessibility experience to their customers. 

- Kairos Face Recognition On-Premises has the added advantage of controlling the data privacy and security, keeping critical data in-house and safe from any potential third-parties/hackers. The speed of face recognition enabled products is highly enhanced because it does not come across the issue of delay and other risks associated with public cloud deployment. 

- Kairos is ultra-scalable architecture such that the search for 10 million faces can be done at approximately the same time as 1 face. It is being accepted by the market with open hands. 

h. Cognitec 
Cognitec’s FaceVACS Engine enables users to develop new applications for face recognition. The engine is very versatile as it allows a clear and logical API for easy integration in other software programs. Cognitec allows the use of the FaceVACS Engine through customized software development kits. The platform can be easily tailored through a set of functions and modules specific to each use case and computing platform. The capabilities of this software include image quality check, secure document issuance, and access control by accurate verification. 

The distinct features include: 

-  A very powerful face localization and face tracking 
 - Efficient algorithms for enrollment, verification, and identification 
 - Accurate checking of age, gender, age, exposure, pose deviation, glasses, eyes closed, uniform lighting detection, unnatural color, image and face geometry 
 - Fulfils the requirements of ePassports by providing ISO 19794-5 full-frontal image type checks and formatting.


OpenCV 
OpenCV is a Python library that is designed to solve computer vision problems. OpenCV was originally developed in 1999 by Intel but later supported by Willow Garage. OpenCV supports a variety of programming languages such as C++, Python, Java, etc. Support for multiple platforms including Windows, Linux, and macOS. OpenCV Python is a wrapper class for the original C++ library to be used with Python. Using this, all of the OpenCV array structures get converted to/from NumPy arrays. This makes it easier to integrate it with other libraries that use NumPy. For example, libraries such as SciPy and Matplotlib. 

Machine learning 
Every Machine Learning algorithm takes a dataset as input and learns from the data it basically means to learn the algorithm from the provided input and output as data. It identifies the patterns in the data and provides the desired algorithm. For instance, to identify whose face is present in a given image, multiple things can be looked at as a pattern: 

  - Height/width of the face.
  - Height and width may not be reliable since the image could be rescaled to a smaller face or grid. However, even after rescaling, what remains unchanged are the ratios – the ratio of the height of the face to the width of the face won’t change.
 - Color of the face.
  - Width of other parts of the face like lips, nose, etc. 
 
There is a pattern involved – different faces have different dimensions like the ones above. Similar faces have similar dimensions. Machine Learning algorithms only understand numbers so it is quite challenging. This numerical representation of a “face” (or an element in the training set) is termed as a feature vector. A feature vector comprises of various numbers in a specific order.

As a simple example, we can map a “face” into a feature vector which can comprise various features like: 
 
 - Height of face (cm) 
 - Width of the face (cm) 
 - Average color of face (R, G, B)
 - Width of lips (cm) 
 - Height of nose (cm) 

Essentially, given an image, we can convert them into a feature vector like: 

Height of face (cm) Width of the face (cm) Average color of face (RGB) Width of lips (cm) Height of nose (cm) 

23.1 15.8 (255, 224, 189) 5.2 4.4
 
So, the image is now a vector that could be represented as (23.1, 15.8, 255, 224, 189, 5.2, 4.4). There could be countless other features that could be derived from the image,, for instance, hair color, facial hair, spectacles, etc. 

Machine Learning does two major functions in face recognition technology. These are given below: 

 1. Deriving the feature vector: it is difficult to manually list down all of the features because there are just so many. A Machine Learning algorithm can intelligently label out many of such features. For instance, a complex feature could be the ratio of the height of the nose and width of the forehead. 

 2. Matching algorithms: Once the feature vectors have been obtained, a Machine Learning algorithm needs to match a new image with the set of feature vectors present in the corpus. 

 3. Face Recognition Operations
 
Face Recognition Operations 
The technology system may vary when it comes to facial recognition. Different software applies different methods and means to achieve face recognition. The stepwise method is as follows: 

i.Face Detection: To begin with, the camera will detect and recognize a face. The face can be best detected when the person is looking directly at the camera as it makes it easy for facial recognition. With the advancements in the technology, this is improved where the face can be detected with slight variation in their posture of face facing to the camera.

 ii.Face Analysis: Then the photo of the face is captured and analyzed. Most facial recognition relies on 2D images rather than 3D because it is more convenient to match to the database. Facial recognition software will analyze the distance between your eyes or the shape of your cheekbones.

iii.Image to Data Conversion: Now it is converted to a mathematical formula and these facial features become numbers. This numerical code is known a face print. The way every person has a unique fingerprint, in the same way, they have unique face print.

 iv.Match Finding: Then the code is compared against a database of other face prints. This database has photos with identification that can be compared. The technology then identifies a match for your exact features in the provided database. It returns with the match and attached information such as name and addresses or it depends on the information saved in the database of an individual.


Utilization of Face Recognition
While facial recognition may seem futuristic, it’s currently being used in a variety of ways. Here are some surprising applications of this technology. 

Genetic Disorder Identification: 
There are healthcare apps such as Face2Gene and software like Deep Gestalt that uses facial recognition to detect a genetic disorder. This face is then analyzed and matched with the existing database of disorders. 

Airline Industry: 
Some airlines use facial recognition to identify passengers. This face scanner would help saving time and to prevent the hassle of keeping track of a ticket. 

Hospital Security: 
Facial recognition can be used in hospitals to keep a record of the patients that is far better than keeping records and finding their names, address. It would be easy for the staff to use this app and recognize a patient and get its details within seconds. Secondly, can be used for security purpose where it can detect if the person is genuine or not or is it a patient. 

Detection of emotions and sentiments: 
Real-time emotion detection is yet another valuable application of face recognition in healthcare. It can be used to detect emotions which patients exhibit during their stay in the hospital and analyze the data to determine how they are feeling. The results of the analysis may help to identify if patients need more attention in case they’re in pain or sad. 

Problems and Challenges 
The face recognition technology is facing several challenges. The common problems and challenges that a face recognition system can have while detecting and recognizing faces are discussed in the following paragraphs.

Pose: A Face Recognition System can tolerate cases with small rotation angles, but it becomes difficult to detect if the angle would be large and if the database does not contain all the angles of the face then it can impose a problem. 

Expressions: Because of the emotions, human mood varies and results in different expressions. With these facial expressions, the machine could make mistakes to find the correct person identity. 

Aging: With time and age face changes it is unique and does not remain rigid due to which it may be difficult to identify a person who is now 60 years old. 

Occlusion: Occlusion means blockage. This is due to the presence of various occluding objects such as glasses, beard, moustache, etc. on the face, and when an image is captured, the face lacks some parts. Such a problem can severely affect the classification process of the recognition system. 

Illumination: Illumination means light variations. Illumination changes can vary the overall magnitude of light intensity reflected from an object, as well as the pattern of shading and shadows visible in an image. The problem of face recognition over changes in illumination is widely recognized to be difficult for humans and algorithms. The difficulties posed by illumination condition is a challenge for automatic face recognition systems. 

Identify similar faces: Different persons may have a similar appearance that sometimes makes it impossible to distinguish. 

Disadvantages of Face Recognition 
Danger of automated blanket surveillance 
Lack of clear legal or regulatory framework 
Violation of the principles of necessity and proportionality 
Violation of the right to privacy 
Effect on democratic political culture 
Copyright ©2022 IoT Tech Solutions, All Rights Reserved.

Make an appointment

Contact us now

Hit counter: 479
This website may use Cookies
This website may use Cookies in order to work better. At anytime you can disable or manage it in your browser's settings. Using our website, means you agree with Cookies usage.

OK, I understand or More Info
Cookies Information
This website may use Cookies in order to work better. At anytime you can disable or manage it in your browser's settings. Using our website, means you agree with Cookies usage.
OK, I understand
free website
built with
kopage