Face recognition has countless applications in a lot of different fields from security to marketing. But it usually requires expensive hardware or proprietary software applications. In this session we’re going to describe an open software platform based on Raspberry Pi and OpenCV that covers a subset of this functionality: faces counter. It would be useful when control access to closed spaces such as rooms with a limited capacity is needed. Solution combines cameras, Raspberry Pis, OpenCV, MQTT, embedded Java, and Java SE to cover business needs, privacy constraints, scale out needs, … and much more.
Face Recognition is done using Raspberry pi mounted on a quadcopter. Coding is done in C++ using PCA for facial recognition. I have used a4tech usb camera which is 16 mega pixels and tplink wn722n for wifi link.
INTRODUCTION
FACE RECOGNITION
CAPTURING OF IMAGE BY STANDARD VIDEO CAMERAS
COMPONENTS OF FACE RECOGNITION SYSTEMS
IMPLEMENTATION OF FACE RECOGNITION TECHNOLOGY
PERFORMANCE
SOFTWARE
ADVANTAGES AND DISADVANTAGES
APPLICATIONS
CONCLUSION
Face Recognition is done using Raspberry pi mounted on a quadcopter. Coding is done in C++ using PCA for facial recognition. I have used a4tech usb camera which is 16 mega pixels and tplink wn722n for wifi link.
INTRODUCTION
FACE RECOGNITION
CAPTURING OF IMAGE BY STANDARD VIDEO CAMERAS
COMPONENTS OF FACE RECOGNITION SYSTEMS
IMPLEMENTATION OF FACE RECOGNITION TECHNOLOGY
PERFORMANCE
SOFTWARE
ADVANTAGES AND DISADVANTAGES
APPLICATIONS
CONCLUSION
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/may-2016-embedded-vision-summit-opencv
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Gary Bradski, President and CEO of the OpenCV Foundation, presents the "The OpenCV Open Source Computer Vision Library: What’s New and What’s Coming?" tutorial at the May 2016 Embedded Vision Summit.
OpenCV is an enormously popular open source computer vision library, with over 14 million downloads expanding recently to 200K downloads per month. Originally used mainly for research and prototyping, in recent years OpenCV has increasingly been used in deployed products on a wide range of platforms from cloud to mobile. The latest version, OpenCV 3.1, was just released. The previous version, 3.0, was a major overhaul, bringing OpenCV up to modern C++ standards and incorporating expanded support for 3D vision and augmented reality. The new 3.1 release introduces support for deep neural networks, as well as new and improved algorithms for important functions such as calibration, optical flow, image filtering, segmentation and feature detection.
In this talk, Gary Bradski, head of the OpenCV Foundation, provides an insider’s perspective on the new version of OpenCV and how developers can utilize it to maximum advantage for vision research, prototyping, and product development. Gary also offers a sneak peek into where OpenCV is headed next.
EMC World 2016 - cnaITL.01 Adopting An Open Source Strategy{code}
Open source technologies increase the speed of product delivery in today's digital world. The benefits open source provides can be realized through greater flexibility, lower costs and leverage for integration and support through a large eco-system. In this session, you will gain an understanding of how to be build an open source strategy to complement the adoption of application frameworks (Spring), PaaS (CF), and Containers/Schedulers (Docker, Mesos, Kubernetes) that enable businesses to quickly drive product offerings to the market.
Mobile, Open Source, and the Drive to the CloudDev_Events
Open technologies are leading the way to a simplified development experience, end to end, from mobile to the cloud. Open source projects including the Swift programming language, OpenWhisk, the serverless, even-driven execution environment, and Cloudant DBaaS, based on Apache CouchDB, are key to this transformation. Separately, these powerful open technologies make mobile and cloud development easier and faster, but in combination, their value to the developer greatly increases. Patrick Bohrer explores the role of these open technologies in driving down the time it takes to build, integrate, and deliver powerful apps that blur the lines between mobile and cloud.
Recording here: https://www.youtube.com/watch?v=5W4n9K3PIVg
Since Docker was open sourced in 2013, the community and adoption around Docker containers has grown to over 6 billion downloads and over 1000 contributors. Learn about why this is, and why you should start using containers for your own applications.
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformMarc Dutoo
OCCIware at Paris Open Source Summit 2016 - an extensible, standard XaaS cloud consumer platform - demos : Docker & Linked Data Studios, online playground
Docker 101 - High level introduction to dockerDr Ganesh Iyer
This deck will help you understand the basics of Docker. It introduces dockers and containers, gives a comparison with virtualization and gives some getting started guides.
Connected World in android - Local data sharing and service discoveryTalentica Software
With the boom of IOT, BLE (Bluetooth low energy) and other connected devices and protocols, android app development is no longer limited to basic client server interaction. Android app development now includes interaction with other devices (not necessarily android) in the vicinity, at its very core.
Transferring files with friends without internet, Bluetooth and WiFi; streaming media from your phone or tablet to dumb plain TV (without HDMI cables) and switching off bedroom light with phone have become part of our lives. Let's explore how it's done and where do we need to start to kick start such projects.
In this session we will explore:
• Communication between connected and non-connected android devices.
• BLE overview (Bluetooth Low Energy).
• BLE APIs you should know about.
• WiFi-Direct and P2P.
• WiFi-Direct service discovery.
• Network service discovery (NSD) and relevant demos
Adrian Cockcroft on his top predictions for the cloud computing industry in 2015 and beyond, as well as how cloud-native applications, continuous-delivery and DevOps techniques, will speed the pace of innovation and disruption.
For more about Adrian be sure to check out his page on Battery Ventures:
https://www.battery.com/our-team/member/adrian-cockcroft/
Follow Adrian on Twitter: @adrianco
Mobile Penetration Testing: Episode III - Attack of the CodeNowSecure
In the final installment of our mobile penetration testing trilogy, we dive deep to find security flaws in mobile apps by dissecting the code with reverse-engineering and code analysis.
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkitOpen Mobile Alliance
Slides from the OMA and oneM2M IoT Seminar on January 21, 2016
Speaker 7:
Joaquin Prado, Director of Technical Programs, Open Mobile Alliance
Presentation Title: “LwM2M Developer Toolkit”
Joaquin Prado is the Director of Technical Programs at Open Mobile Alliance. Prior to joining OMA, Joaquin worked for Vodafone UK where he planned, defined, developed and implemented new products and services. For OMA, Joaquin is responsible for formalizing a series of program improvements across the organization. These programs range from lowering the cost of running the OMA Work Program to bringing in new tools and technologies, e.g. GitHub, XML Validation tools, etc. Joaquin is also responsible for the preparation and execution of OMA TestFests.
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...OW2
The OCCIware project aims at managing in a unified manner all layers and domains of the Cloud (XaaS), by building on the Open Cloud Computing (OCCI) standard. OCCIware Metamodel formally specifies the main OCCI concepts. Today a first EMF metamodel is defined that adds to OCCI new concepts such as Extension, Configuration, and EDataType, addressing some limitations of OCCI.
This session highlights OCCIware platform two main components:
– The OCCIware Studio Factory, allowing to produce visually customizable diagram editors for any Cloud configuration business domain modeled in OCCI using the OCCI Extension Studio, such as the flagship Docker Studio ;
– The OCCIware Runtime, based on OW2 erocci project, including the tools for deployment, supervision and administration, and allowing to federate multiple XaaS Cloud runtimes, such as the Roboconf PaaS server and the ActiveEon Cloud Automation multi-IaaS connector.
This talk includes a demonstration of the Docker connector and of how to use the OCCIware Cloud Designer to configure a real life Cloud application (a Java API server on top of a MongoDB cluster)’s business, platform and infrastructure layers seamlessly on both VirtualBox and OpenStack infrastructure.
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...OCCIware
The OCCIware project aims at managing in a unified manner all layers and domains of the Cloud (XaaS), by building on the Open Cloud Computing (OCCI) standard. OCCIware Metamodel formally specifies the main OCCI concepts. Today a first EMF metamodel is defined that adds to OCCI new concepts such as Extension, Configuration, and EDataType, addressing some limitations of OCCI.
This session highlights OCCIware platform two main components:
– The OCCIware Studio Factory, allowing to produce visually customizable diagram editors for any Cloud configuration business domain modeled in OCCI using the OCCI Extension Studio, such as the flagship Docker Studio ;
– The OCCIware Runtime, based on OW2 erocci project, including the tools for deployment, supervision and administration, and allowing to federate multiple XaaS Cloud runtimes, such as the Roboconf PaaS server and the ActiveEon Cloud Automation multi-IaaS connector.
This talk includes a demonstration of the Docker connector and of how to use the OCCIware Cloud Designer to configure a real life Cloud application (a Java API server on top of a MongoDB cluster)’s business, platform and infrastructure layers seamlessly on both VirtualBox and OpenStack infrastructure.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/may-2016-embedded-vision-summit-opencv
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Gary Bradski, President and CEO of the OpenCV Foundation, presents the "The OpenCV Open Source Computer Vision Library: What’s New and What’s Coming?" tutorial at the May 2016 Embedded Vision Summit.
OpenCV is an enormously popular open source computer vision library, with over 14 million downloads expanding recently to 200K downloads per month. Originally used mainly for research and prototyping, in recent years OpenCV has increasingly been used in deployed products on a wide range of platforms from cloud to mobile. The latest version, OpenCV 3.1, was just released. The previous version, 3.0, was a major overhaul, bringing OpenCV up to modern C++ standards and incorporating expanded support for 3D vision and augmented reality. The new 3.1 release introduces support for deep neural networks, as well as new and improved algorithms for important functions such as calibration, optical flow, image filtering, segmentation and feature detection.
In this talk, Gary Bradski, head of the OpenCV Foundation, provides an insider’s perspective on the new version of OpenCV and how developers can utilize it to maximum advantage for vision research, prototyping, and product development. Gary also offers a sneak peek into where OpenCV is headed next.
EMC World 2016 - cnaITL.01 Adopting An Open Source Strategy{code}
Open source technologies increase the speed of product delivery in today's digital world. The benefits open source provides can be realized through greater flexibility, lower costs and leverage for integration and support through a large eco-system. In this session, you will gain an understanding of how to be build an open source strategy to complement the adoption of application frameworks (Spring), PaaS (CF), and Containers/Schedulers (Docker, Mesos, Kubernetes) that enable businesses to quickly drive product offerings to the market.
Mobile, Open Source, and the Drive to the CloudDev_Events
Open technologies are leading the way to a simplified development experience, end to end, from mobile to the cloud. Open source projects including the Swift programming language, OpenWhisk, the serverless, even-driven execution environment, and Cloudant DBaaS, based on Apache CouchDB, are key to this transformation. Separately, these powerful open technologies make mobile and cloud development easier and faster, but in combination, their value to the developer greatly increases. Patrick Bohrer explores the role of these open technologies in driving down the time it takes to build, integrate, and deliver powerful apps that blur the lines between mobile and cloud.
Recording here: https://www.youtube.com/watch?v=5W4n9K3PIVg
Since Docker was open sourced in 2013, the community and adoption around Docker containers has grown to over 6 billion downloads and over 1000 contributors. Learn about why this is, and why you should start using containers for your own applications.
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformMarc Dutoo
OCCIware at Paris Open Source Summit 2016 - an extensible, standard XaaS cloud consumer platform - demos : Docker & Linked Data Studios, online playground
Docker 101 - High level introduction to dockerDr Ganesh Iyer
This deck will help you understand the basics of Docker. It introduces dockers and containers, gives a comparison with virtualization and gives some getting started guides.
Connected World in android - Local data sharing and service discoveryTalentica Software
With the boom of IOT, BLE (Bluetooth low energy) and other connected devices and protocols, android app development is no longer limited to basic client server interaction. Android app development now includes interaction with other devices (not necessarily android) in the vicinity, at its very core.
Transferring files with friends without internet, Bluetooth and WiFi; streaming media from your phone or tablet to dumb plain TV (without HDMI cables) and switching off bedroom light with phone have become part of our lives. Let's explore how it's done and where do we need to start to kick start such projects.
In this session we will explore:
• Communication between connected and non-connected android devices.
• BLE overview (Bluetooth Low Energy).
• BLE APIs you should know about.
• WiFi-Direct and P2P.
• WiFi-Direct service discovery.
• Network service discovery (NSD) and relevant demos
Adrian Cockcroft on his top predictions for the cloud computing industry in 2015 and beyond, as well as how cloud-native applications, continuous-delivery and DevOps techniques, will speed the pace of innovation and disruption.
For more about Adrian be sure to check out his page on Battery Ventures:
https://www.battery.com/our-team/member/adrian-cockcroft/
Follow Adrian on Twitter: @adrianco
Mobile Penetration Testing: Episode III - Attack of the CodeNowSecure
In the final installment of our mobile penetration testing trilogy, we dive deep to find security flaws in mobile apps by dissecting the code with reverse-engineering and code analysis.
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkitOpen Mobile Alliance
Slides from the OMA and oneM2M IoT Seminar on January 21, 2016
Speaker 7:
Joaquin Prado, Director of Technical Programs, Open Mobile Alliance
Presentation Title: “LwM2M Developer Toolkit”
Joaquin Prado is the Director of Technical Programs at Open Mobile Alliance. Prior to joining OMA, Joaquin worked for Vodafone UK where he planned, defined, developed and implemented new products and services. For OMA, Joaquin is responsible for formalizing a series of program improvements across the organization. These programs range from lowering the cost of running the OMA Work Program to bringing in new tools and technologies, e.g. GitHub, XML Validation tools, etc. Joaquin is also responsible for the preparation and execution of OMA TestFests.
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...OW2
The OCCIware project aims at managing in a unified manner all layers and domains of the Cloud (XaaS), by building on the Open Cloud Computing (OCCI) standard. OCCIware Metamodel formally specifies the main OCCI concepts. Today a first EMF metamodel is defined that adds to OCCI new concepts such as Extension, Configuration, and EDataType, addressing some limitations of OCCI.
This session highlights OCCIware platform two main components:
– The OCCIware Studio Factory, allowing to produce visually customizable diagram editors for any Cloud configuration business domain modeled in OCCI using the OCCI Extension Studio, such as the flagship Docker Studio ;
– The OCCIware Runtime, based on OW2 erocci project, including the tools for deployment, supervision and administration, and allowing to federate multiple XaaS Cloud runtimes, such as the Roboconf PaaS server and the ActiveEon Cloud Automation multi-IaaS connector.
This talk includes a demonstration of the Docker connector and of how to use the OCCIware Cloud Designer to configure a real life Cloud application (a Java API server on top of a MongoDB cluster)’s business, platform and infrastructure layers seamlessly on both VirtualBox and OpenStack infrastructure.
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...OCCIware
The OCCIware project aims at managing in a unified manner all layers and domains of the Cloud (XaaS), by building on the Open Cloud Computing (OCCI) standard. OCCIware Metamodel formally specifies the main OCCI concepts. Today a first EMF metamodel is defined that adds to OCCI new concepts such as Extension, Configuration, and EDataType, addressing some limitations of OCCI.
This session highlights OCCIware platform two main components:
– The OCCIware Studio Factory, allowing to produce visually customizable diagram editors for any Cloud configuration business domain modeled in OCCI using the OCCI Extension Studio, such as the flagship Docker Studio ;
– The OCCIware Runtime, based on OW2 erocci project, including the tools for deployment, supervision and administration, and allowing to federate multiple XaaS Cloud runtimes, such as the Roboconf PaaS server and the ActiveEon Cloud Automation multi-IaaS connector.
This talk includes a demonstration of the Docker connector and of how to use the OCCIware Cloud Designer to configure a real life Cloud application (a Java API server on top of a MongoDB cluster)’s business, platform and infrastructure layers seamlessly on both VirtualBox and OpenStack infrastructure.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
The problem is, people have limited time, attention and accuracy, I mean they are not very good at capturing data about things in the real world. If we had computers that knew everything there was to know about things – gathering data without any help from us -- we would be able to track and count everything and greatly reduce waste, loss and cost. We would know when things needed replacing, repairing or whatever.
The Internet of Things (IoT) is a system of interrelated computing devices, mechanical and digital machines, … that are provided with unique identifiers and the ability to transfer data over a network without requiring human interaction.
Broadband Internet is become more widely available, the cost of connecting is decreasing, more devices are being created with Wi-Fi capabilities and sensors built into them, technology costs are going down, and smartphone penetration is sky-rocketing. All of these things are creating a “perfect storm” for the IoT.
Practical applications of IoT technology can be found in many industries today, including precision agriculture, building management, healthcare, energy and transportation.
Open computer vision is an C library under BSD (Berkeley Software Distribution) license. It can be used in windows, linux or Mac or even in mobile such as Android or iOS.
The library is optimized to use hardware accelerator (GPU) and multi-core processing; Recently, even it is optimized for ARM platforms.
Java interfaces are provided within the current distribution. A jar file that have to be included in the classpath application and a DLL (dynamic link library) (or SO, shared object in linux) whose path has to be set to “java.library.path” system property.
OpenCV has two versions: version 2 whose last update was in May and the version 3 that was updated in December of the last year. Benefits of version 3 on 2 are:
- Improved and extended Java, Phyton and Matlab bindings
- More clean up APIs
- Improved Android support
It’s the XML file that defines the object or form to detect in a frame.
OpenCV distribution and opencv_contrib (a module outside the official distribution) contain some cascade classifiers to detect human and cat faces, eyes, nose, ears and more
It is possible to generate cascade classifiers by training. OpenCV provides tools for it and to generate the set of samples or dataset that are used as input for the training.
There two main types: Local binary patterns and haar. The main differences between both are the calculations time and accuracy. LBP is better intend for embedded or mobile devices.
In this table shows a simple test result: 25 seconds working with both cascade classifiers in raspberry PI. The false positives column shows the number of wrong detections. The Lost column shows how many objects escaped from the detection. And the Frames column shows the total number of frames captured from the video stream during the test. As you can see, in this particular test, LBP was faster and as accurate as haar.
In this slide you can see the main packages and classes of the java api.
- Core: has the core functionality, data structure and operations. Mat is the core data structure. It’s a matrix containing a frame or picture.
- Videoio: video input / output. The main class here is VideoCapture captures video from files, image sequences, or cameras.
- Objdetect. As the name says it is for object detection. The main class is cascade classifier
- Imgproc: Operations with images such as dilate an image, convert from one color space to another or calculates the integral of an image.
- Imgcodecs: has just one class with the same name. It’s used for read or write images from/to file.
This diagram shows how to use openCV Java API for detecting an object from a camera installed in the device.
- First of all, we have to create a video capture object and an empty matrix which is the data structure to store each frame read from video stream.
- The second step is: in an infinite loop, read from the video stream and store the frame in the matrix
- The third step is: convert to gray color scale and equalize histograms that is, normalize frames.
- The four step is the main: we have to apply the cascade classifier to the matrix in order to detect the desired object in the frame. The result is an array of rectangles demarcating the object in the frame.
- Finally, this step is optional, for example for debugging proposes, you can use Imgproc class to draw these rectangles in the frame and Imgcodecs to save the frame to a file.
It is a lightweight messaging protocol for small sensors and mobile devices. Similar to XMPP used for Whatsapp this protocol is used (for example) for Facebook chat. Built as a low-overhead protocol with strong considerations towards bandwidth and CPU limitations
- Consume little bandwidth
- Low power or energy usage
- For the previous two points, MQTT is perfect for IoT
- Works using publish and subscribe mechanism; listeners subscribe to a topic and senders publish to this topic
- Can goes over WebSockets, by default goes over TCP
- You can find MQTT client libraries under Paho project and the broker server under Mosquitto project. Both under Eclipse for IoT project.
A very useful development tool when you use MQTT is a chrome plugin called MQTTLens.
It is an input parameter that publishers have to set when they want to send a message and defines how the broker will work with the message. Its value is between zero and two.
Value 0 is also called “fire and forget” because the broker will send the message to receivers once and won’t notify to sender if this message was really delivered.
For the value 1, the broker guarantees that the message was delivered at least once (may be more than one). So, your application has to support duplicated messages.
When this is not possible, you have the quality value two. In this case, the broker guarantees that the message was delivered exactly once
This is our face dectector device. One raspberry PI model 3 or model B plus. And a video camera for the raspberry, model V1 or v2, both are ok. All of this for sixty dolars more or less
This slide shows the face detector whole solution that we are going to show you in a live demo in a couple of minutes.
First of all, the raspberries with camera sending to broker the number of detected faces for each frame using MQTT protocol and quality of service value 2.
The broker server is iot.eclipse.org, ready to use on internet for testing porpoises.
Installed in this laptop, a web application to monitor the face detectors activity and connected to the same broker server
And finally we will connect to this web application using a web browser with web sockets support (or any other push technology such as server send events) and we will tell to web application to subscribe to same topic where raspberries are publishing.
The previous one with more detail.
At the left side the raspberries containing in the lower layer the raspbian operative system. Above this, the raspicam driver, uv4l.
The Open computer vision libraries (in this case version 3)
The Java runtime version 8.
And running on it, the face detector java application using as dependencies OpenCV and mqtt paho libraries.
In the other hand, the monitor web application is a spring root application using vaadin and vaading charts and running over java runtime 8
Preparing a Raspberry for object detection is a little bit complex and can take a lot of time.
The starting point is a raspbian operative system already installed.
So the first thing to do is to install all required packages.
Next is set the JAVA_HOME and ANT_HOME environment variable because opencv compilation process will look them
Download the opencv source code from github and unzip it.
Next step is to create a makefile using the CMAKE command line tool with java flags
Once we have created makefile, we can run “MAKE” command to start the opencv compilation and then install it.
The next, install raspicam drivers, enable raspicam interfaces via raspi-config menú, update firmware and reboot the raspberry pi
Finally, we have to transfer faces-detector and MQTT client paho libraries jar files using a FTP client tool like filezilla. And customize faces-detector properties.
And that is it!!!, We are ready to run. In this point is very important don’t forget set java.library.path system property to the right value of opencv dynamic link library
When you are going to develop a program for raspberry PIs, you have three options. The first of them is to develop over the raspberry PI. The current models have enough power to run a lightweight integrated development environment such as BlueJ or Granny. Also, the current raspbian distribution already includes oracle jdk 8.
But the more comfortable options are any of these. In both cases you use a personal computer, where you have your preferred IDE and usually these are the most efficient way to develop. The only difference between both are if you use Java Micro Edition or the standard one.
To use java micro edition has some adventages like:
+ remote application management
+ debugging
+ profiling
+ or even emulation
And to finish, you can download all source code from git hub:
+ The application to run into detector devices
+ And the web application to monitor activity detectors.