SlideShare a Scribd company logo
Assistive Context-
Aware ToolkitFelipe Pedroso
#IntelNoTDC
Agenda
• Stephen Hawking and Intel
• What is ACAT?
• Technical Details
• Architecture
• Creating Extensions
• How to?
• RealSense + ACAT
• SharpSenses + ACAT
• Summary and Call 4 Action
#IntelNoTDC
• Professor Hawking first met Gordon
Moore during a conference in 1997,
where he was offered a computer
with an Intel processor
• Intel upgrades his computer every
couple of years and also supports
him all his hardware requirements
• A cross-disciplinary team from Intel
Labs developed ACAT to enable him
to communicate and perform all his
computer tasks more efficiently
Stephen Hawking and Intel
Images Sources:
http://www.astrosurf.com/luxorion/hawking-hommage9.htm
http://www.wired.com/2015/01/intel-gave-stephen-hawking-voice/
#IntelNoTDC
• Acronym for “Assistive Context-
Aware Toolkit”
• Enable people with disabilities to
communicate through keyboard
simulation, word prediction and
speech synthesis
• Developed by Intel Labs together
with Professor Hawking
• Customizable and Extensible
What is ACAT?
#IntelNoTDC
Open Source
http://01.org/ACAT
https://github.com/01org/acat
#IntelNoTDC
Tech Details
• Runs on Windows 7 or higher
• Code entirely written in C# using Visual 2012 (works fine on 2015) and
Microsoft .NET Framework 4.5
• Microsoft Office Interop Assemblies are used to interact with Office apps
• Some tools used to develop the project:
• CodeMaid
• StyleCop
• ReSharper
#IntelNoTDC
Architecture
Applications
ACAT Core Library
ACAT Extension Library
Extensions
Extension Extension Extension ...
#IntelNoTDC
Applications
ACAT Qwerty ACAT Abc ACAT Tryout
Talk Window
#IntelNoTDC
ACAT Core Library - Components
Word
Prediction*
Management
UI Management
AnimationsPanels Widgets Themes
Text-to-Speech
Management
Talk Window
Management
*ACAT is powered by Presage, the intelligent predictive text engine created by Matteo Vescov. (http://presage.sourceforge.net)
#IntelNoTDC
ACAT Core Library - Agents
#IntelNoTDC
ACAT Core Library - Actuators
Actuator
Management
Image Sources: http://www.psfk.com/2013/02/intel-stephen-hawking.html & https://commons.wikimedia.org/wiki/File:Assistive_device.JPG
Actuators
Proximity Sensor Assistive Switch Camera
#IntelNoTDC
ACAT Extensions Library
• Allows developers to extend the functionalities from ACAT
• Dynamically loaded during startup using reflection
• Needs to implement specific interfaces/base classes
Extension Types
UI
Word Predictors
Agents
Actuators
Text-to-Speech Spell Checkers
#IntelNoTDC
Creating an Actuator Extension
• Create a new “Class Library” project and add references to “ACATCore.dll”
and “ACATExtension.dll”
• Extend the classes “ActuatorBase” and “ActuatorSwitchBase” to interact with
ACAT
• Implement the abstract methods and the use the callbacks (Init, Resume,
Pause, Dispose) to run the code of your extension (threads, config, etc)
• Call the methods OnSwitchActivated (Hold/Press), OnSwitchDeactivated
(Release) or OnSwitchTriggered(Click) to sinalize the interaction from the
actuator
• Deploy your DLL to the extension folder and update the configuration files
#IntelNoTDC
Intel® RealSense™
Intel® RealSense™ SDK
Scene
Understanding
Enhanced
Photography
Augmented
Reality
Person & Face
Tracking
Gesture
Recognition
Background
Removal
Object
Recognition
and Tracking
Speech
Recognition
3D Object
Scanning
Hand & Blob
Tracking
User Facing World Facing
#IntelNoTDC
Tracking (Position)
Landmarks (78 landmarks)
Pose / Orientation
Expressions
Recognition
Pulse estimation
Intel® RealSense™ - Face Module
#IntelNoTDC
• Objective: create an actuator driven
by facial expressions
• Components:
• RealSenseExpressionTracker:
RealSense SDK implementation to
perceive the expressions and notify the
Actuator using events
• RealSenseActuator: translates the
intensity of the expressions to a button
behavior (pressed and released)
Intel® RealSense™ - ACAT Plugin
RealSense Actuator Extension
ExpressionTracker
Actuator Switch
Actuator
Management
#IntelNoTDC
• The Camera actuator extension is a
socket client that keeps looking for
the “ACAT Vision” app, that has a
socket server
• Simple protocol and it’s possible to
customize using config files
• ACAT Vision is not yet open-source,
but its code will be released in
upcoming releases
Another way to connect an actuator
ACAT Vision (Server)
Camera Actuator (Client)
Actuator
Management
#IntelNoTDC
• SharpSenses* is an open source C#
library that simplifies the
development of Intel® RealSense™
SDK apps.
• Created and maintained by André
Carlucci (Intel Black Belt & Software
Innovator)
• Available on Github* and NuGet*
SharpSenses*
#IntelNoTDC
• The idea is to create a ‘fake’ server,
that replicates the communication
between “ACAT Vision” and ACAT
• To notify that the input was triggered,
just send the string
“gesture=trigger;action=CT;conf=75;t
ime=<TIMESTAMP>”
• ACAT also sends some events back
to the server (HideUI, ShowUI,
ExitApp)
SharpSenses* + ACAT
ACAT Vision
Camera Actuator (Client)
Actuator
Management
‘Fake’ Server
SharpSenses
#IntelNoTDC
Summary & Call 4 Action
• ACAT is a really nice option to allow people with disabilities to communicate
with others
• Open Source: You can fork and extend ACAT for your needs!
• Extensions: let’s help other people with new actuators, applications agents and
new features 
• RealSense and SharpSenses can also drive acessibility apps.
Q/A
#IntelNoTDC
References
• Stephen Hawking and Intel
• http://iq.intel.com/behind-scenes-intel-keeps-stephen-hawking-talking/
• http://www.wired.com/2015/01/intel-gave-stephen-hawking-voice/
• ACAT
• https://github.com/01org/acat
• http://01.org/ACAT
• RealSense: https://software.intel.com/en-us/realsense/home
• SharpSenses: https://github.com/SharpSenses/SharpSenses
Thanks!
BAckup
#IntelNoTDC
ACAT Server
SharpSenses + ACAT
SharpSenses
bool canRun = true;
AcatServer acatServer = new AcatServer();
acatServer.Start();
acatServer.AcatNotificationReceived += (sender, a) => {
Console.WriteLine("Notification received from ACAT: {0}", a.NotificationType);
if (a.NotificationType == AcatNotificationType.ExitApp)
{
canRun = false;
}
};
ICamera camera = Camera.Create(Capability.FaceTracking, Capability.FacialExpressionTracking);
camera.Start();
camera.Face.LeftEye.Blink += (s,a) => {
Console.WriteLine("SharpSenses: detected a blink from left eye.");
acatServer.SendGestureMessage("CT", "trigger");
};
while (canRun) { }
acatServer.Stop();
Assistive Context-Aware Toolkit (English)

More Related Content

What's hot

New HyperWorks Pedestrian Impact Tool for vehicle engineering and CAE simulation
New HyperWorks Pedestrian Impact Tool for vehicle engineering and CAE simulationNew HyperWorks Pedestrian Impact Tool for vehicle engineering and CAE simulation
New HyperWorks Pedestrian Impact Tool for vehicle engineering and CAE simulation
Altair
 
Tissue engineering in orthopaedics
Tissue engineering in orthopaedicsTissue engineering in orthopaedics
Tissue engineering in orthopaedics
Libin Thomas
 
High-End Inertial Sensors for Defense, Aerospace and Industrial Applications ...
High-End Inertial Sensors for Defense, Aerospace and Industrial Applications ...High-End Inertial Sensors for Defense, Aerospace and Industrial Applications ...
High-End Inertial Sensors for Defense, Aerospace and Industrial Applications ...
Yole Developpement
 
Tissue engineering - solvent casting particulate leaching and selective laser...
Tissue engineering - solvent casting particulate leaching and selective laser...Tissue engineering - solvent casting particulate leaching and selective laser...
Tissue engineering - solvent casting particulate leaching and selective laser...
VickyVicrun
 
İSDEMİR Erdi Karaçal Mechanical Engineering 3rd Year Orientation Programme Re...
İSDEMİR Erdi Karaçal Mechanical Engineering 3rd Year Orientation Programme Re...İSDEMİR Erdi Karaçal Mechanical Engineering 3rd Year Orientation Programme Re...
İSDEMİR Erdi Karaçal Mechanical Engineering 3rd Year Orientation Programme Re...
Erdi Karaçal
 
Advancing Additive Manufacturing In Aerospace
Advancing Additive Manufacturing In AerospaceAdvancing Additive Manufacturing In Aerospace
Advancing Additive Manufacturing In Aerospace
EWI
 
Brendon portfolio
Brendon portfolioBrendon portfolio
Brendon portfolio
Brendon D Souza
 
Rapidprototyping
RapidprototypingRapidprototyping
Rapidprototyping
navdeep6123
 
Engineering design portfolio for linked in
Engineering design portfolio for linked inEngineering design portfolio for linked in
Engineering design portfolio for linked in
Samuel Levac-Levey
 
Introduction to CAD/CAE/CAM
Introduction to CAD/CAE/CAMIntroduction to CAD/CAE/CAM
Introduction to CAD/CAE/CAM
pavanRaikar3
 
System-in-Package Technology and Market Trends 2021 - Sample
System-in-Package Technology and Market Trends 2021 - SampleSystem-in-Package Technology and Market Trends 2021 - Sample
System-in-Package Technology and Market Trends 2021 - Sample
Yole Developpement
 
Mems and sensors packaging technology and trends presentation held by Amandin...
Mems and sensors packaging technology and trends presentation held by Amandin...Mems and sensors packaging technology and trends presentation held by Amandin...
Mems and sensors packaging technology and trends presentation held by Amandin...
Yole Developpement
 
Chapter 5 recent trends in CAM
Chapter 5 recent trends in CAMChapter 5 recent trends in CAM
Chapter 5 recent trends in CAM
RAHUL THAKER
 
Structural optimization.pptx
Structural optimization.pptxStructural optimization.pptx
Structural optimization.pptx
OthmanHamdy1
 
Capella Days 2021 | Introduction to CAPELLA/ARCADIA and NASA Systems Engineer...
Capella Days 2021 | Introduction to CAPELLA/ARCADIA and NASA Systems Engineer...Capella Days 2021 | Introduction to CAPELLA/ARCADIA and NASA Systems Engineer...
Capella Days 2021 | Introduction to CAPELLA/ARCADIA and NASA Systems Engineer...
Obeo
 
Apple iPhone 12 series mmWave 5G Chipset and Antenna
Apple iPhone 12 series mmWave 5G Chipset and AntennaApple iPhone 12 series mmWave 5G Chipset and Antenna
Apple iPhone 12 series mmWave 5G Chipset and Antenna
system_plus
 
Ansys Tutorial pdf
Ansys Tutorial pdf Ansys Tutorial pdf
Ansys Tutorial pdf
Mrigendra Singh
 
Design portfolio sarvesh satam
Design portfolio sarvesh satamDesign portfolio sarvesh satam
Design portfolio sarvesh satam
Sarvesh Satam
 
Mechanical design engineer xanely dsouza portfolio
Mechanical design engineer xanely dsouza portfolioMechanical design engineer xanely dsouza portfolio
Mechanical design engineer xanely dsouza portfolio
Xanely Dsouza
 
Mechanical Design Presentation
Mechanical Design PresentationMechanical Design Presentation
Mechanical Design Presentation
raytec
 

What's hot (20)

New HyperWorks Pedestrian Impact Tool for vehicle engineering and CAE simulation
New HyperWorks Pedestrian Impact Tool for vehicle engineering and CAE simulationNew HyperWorks Pedestrian Impact Tool for vehicle engineering and CAE simulation
New HyperWorks Pedestrian Impact Tool for vehicle engineering and CAE simulation
 
Tissue engineering in orthopaedics
Tissue engineering in orthopaedicsTissue engineering in orthopaedics
Tissue engineering in orthopaedics
 
High-End Inertial Sensors for Defense, Aerospace and Industrial Applications ...
High-End Inertial Sensors for Defense, Aerospace and Industrial Applications ...High-End Inertial Sensors for Defense, Aerospace and Industrial Applications ...
High-End Inertial Sensors for Defense, Aerospace and Industrial Applications ...
 
Tissue engineering - solvent casting particulate leaching and selective laser...
Tissue engineering - solvent casting particulate leaching and selective laser...Tissue engineering - solvent casting particulate leaching and selective laser...
Tissue engineering - solvent casting particulate leaching and selective laser...
 
İSDEMİR Erdi Karaçal Mechanical Engineering 3rd Year Orientation Programme Re...
İSDEMİR Erdi Karaçal Mechanical Engineering 3rd Year Orientation Programme Re...İSDEMİR Erdi Karaçal Mechanical Engineering 3rd Year Orientation Programme Re...
İSDEMİR Erdi Karaçal Mechanical Engineering 3rd Year Orientation Programme Re...
 
Advancing Additive Manufacturing In Aerospace
Advancing Additive Manufacturing In AerospaceAdvancing Additive Manufacturing In Aerospace
Advancing Additive Manufacturing In Aerospace
 
Brendon portfolio
Brendon portfolioBrendon portfolio
Brendon portfolio
 
Rapidprototyping
RapidprototypingRapidprototyping
Rapidprototyping
 
Engineering design portfolio for linked in
Engineering design portfolio for linked inEngineering design portfolio for linked in
Engineering design portfolio for linked in
 
Introduction to CAD/CAE/CAM
Introduction to CAD/CAE/CAMIntroduction to CAD/CAE/CAM
Introduction to CAD/CAE/CAM
 
System-in-Package Technology and Market Trends 2021 - Sample
System-in-Package Technology and Market Trends 2021 - SampleSystem-in-Package Technology and Market Trends 2021 - Sample
System-in-Package Technology and Market Trends 2021 - Sample
 
Mems and sensors packaging technology and trends presentation held by Amandin...
Mems and sensors packaging technology and trends presentation held by Amandin...Mems and sensors packaging technology and trends presentation held by Amandin...
Mems and sensors packaging technology and trends presentation held by Amandin...
 
Chapter 5 recent trends in CAM
Chapter 5 recent trends in CAMChapter 5 recent trends in CAM
Chapter 5 recent trends in CAM
 
Structural optimization.pptx
Structural optimization.pptxStructural optimization.pptx
Structural optimization.pptx
 
Capella Days 2021 | Introduction to CAPELLA/ARCADIA and NASA Systems Engineer...
Capella Days 2021 | Introduction to CAPELLA/ARCADIA and NASA Systems Engineer...Capella Days 2021 | Introduction to CAPELLA/ARCADIA and NASA Systems Engineer...
Capella Days 2021 | Introduction to CAPELLA/ARCADIA and NASA Systems Engineer...
 
Apple iPhone 12 series mmWave 5G Chipset and Antenna
Apple iPhone 12 series mmWave 5G Chipset and AntennaApple iPhone 12 series mmWave 5G Chipset and Antenna
Apple iPhone 12 series mmWave 5G Chipset and Antenna
 
Ansys Tutorial pdf
Ansys Tutorial pdf Ansys Tutorial pdf
Ansys Tutorial pdf
 
Design portfolio sarvesh satam
Design portfolio sarvesh satamDesign portfolio sarvesh satam
Design portfolio sarvesh satam
 
Mechanical design engineer xanely dsouza portfolio
Mechanical design engineer xanely dsouza portfolioMechanical design engineer xanely dsouza portfolio
Mechanical design engineer xanely dsouza portfolio
 
Mechanical Design Presentation
Mechanical Design PresentationMechanical Design Presentation
Mechanical Design Presentation
 

Similar to Assistive Context-Aware Toolkit (English)

Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
Eclipse IoT
 
Jetstream: Accessible cloud computing for the national science and engineerin...
Jetstream: Accessible cloud computing for the national science and engineerin...Jetstream: Accessible cloud computing for the national science and engineerin...
Jetstream: Accessible cloud computing for the national science and engineerin...
Matthew Vaughn
 
Machine learning in cybersecutiry
Machine learning in cybersecutiryMachine learning in cybersecutiry
Machine learning in cybersecutiry
Vishwas N
 
SensorStudio introduction (IDC 2016)
SensorStudio introduction (IDC 2016)SensorStudio introduction (IDC 2016)
SensorStudio introduction (IDC 2016)
Herve Blanc
 
Devcon3 : iExec Allowing Scalable, Efficient, and Virtualized Off-chain Execu...
Devcon3 : iExec Allowing Scalable, Efficient, and Virtualized Off-chain Execu...Devcon3 : iExec Allowing Scalable, Efficient, and Virtualized Off-chain Execu...
Devcon3 : iExec Allowing Scalable, Efficient, and Virtualized Off-chain Execu...
Gilles Fedak
 
Apache Spark™ + IBM Watson + Twitter DataPalooza SF 2015
Apache Spark™ + IBM Watson + Twitter DataPalooza SF 2015Apache Spark™ + IBM Watson + Twitter DataPalooza SF 2015
Apache Spark™ + IBM Watson + Twitter DataPalooza SF 2015
Mike Broberg
 
Intel Developer Program
Intel Developer ProgramIntel Developer Program
Intel Developer Program
Intel® Software
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Luciano Resende
 
Using Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsUsing Elyra for COVID-19 Analytics
Using Elyra for COVID-19 Analytics
Luciano Resende
 
Chef and OpenStack Workshop from ChefConf 2013
Chef and OpenStack Workshop from ChefConf 2013Chef and OpenStack Workshop from ChefConf 2013
Chef and OpenStack Workshop from ChefConf 2013
Matt Ray
 
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 Openstack - An introduction/Installation - Presented at Dr Dobb's conference... Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Rahul Krishna Upadhyaya
 
Managing kubernetes deployment with operators
Managing kubernetes deployment with operatorsManaging kubernetes deployment with operators
Managing kubernetes deployment with operators
Cloud Technology Experts
 
Ansible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIAnsible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACI
Joel W. King
 
On-Demand Cloud Computing for Life Sciences Research and Education
On-Demand Cloud Computing for Life Sciences Research and EducationOn-Demand Cloud Computing for Life Sciences Research and Education
On-Demand Cloud Computing for Life Sciences Research and Education
Matthew Vaughn
 
Introduction to TensorFlow Lite
Introduction to TensorFlow Lite Introduction to TensorFlow Lite
Introduction to TensorFlow Lite
Koan-Sin Tan
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview
Joel W. King
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
Andreas Katzig
 
oneAPI: Industry Initiative & Intel Product
oneAPI: Industry Initiative & Intel ProductoneAPI: Industry Initiative & Intel Product
oneAPI: Industry Initiative & Intel Product
Tyrone Systems
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer Kit
Intel® Software
 
From Uc To Embedded
From Uc To EmbeddedFrom Uc To Embedded
From Uc To Embedded
guest0cf711
 

Similar to Assistive Context-Aware Toolkit (English) (20)

Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
 
Jetstream: Accessible cloud computing for the national science and engineerin...
Jetstream: Accessible cloud computing for the national science and engineerin...Jetstream: Accessible cloud computing for the national science and engineerin...
Jetstream: Accessible cloud computing for the national science and engineerin...
 
Machine learning in cybersecutiry
Machine learning in cybersecutiryMachine learning in cybersecutiry
Machine learning in cybersecutiry
 
SensorStudio introduction (IDC 2016)
SensorStudio introduction (IDC 2016)SensorStudio introduction (IDC 2016)
SensorStudio introduction (IDC 2016)
 
Devcon3 : iExec Allowing Scalable, Efficient, and Virtualized Off-chain Execu...
Devcon3 : iExec Allowing Scalable, Efficient, and Virtualized Off-chain Execu...Devcon3 : iExec Allowing Scalable, Efficient, and Virtualized Off-chain Execu...
Devcon3 : iExec Allowing Scalable, Efficient, and Virtualized Off-chain Execu...
 
Apache Spark™ + IBM Watson + Twitter DataPalooza SF 2015
Apache Spark™ + IBM Watson + Twitter DataPalooza SF 2015Apache Spark™ + IBM Watson + Twitter DataPalooza SF 2015
Apache Spark™ + IBM Watson + Twitter DataPalooza SF 2015
 
Intel Developer Program
Intel Developer ProgramIntel Developer Program
Intel Developer Program
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
 
Using Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsUsing Elyra for COVID-19 Analytics
Using Elyra for COVID-19 Analytics
 
Chef and OpenStack Workshop from ChefConf 2013
Chef and OpenStack Workshop from ChefConf 2013Chef and OpenStack Workshop from ChefConf 2013
Chef and OpenStack Workshop from ChefConf 2013
 
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 Openstack - An introduction/Installation - Presented at Dr Dobb's conference... Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 
Managing kubernetes deployment with operators
Managing kubernetes deployment with operatorsManaging kubernetes deployment with operators
Managing kubernetes deployment with operators
 
Ansible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIAnsible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACI
 
On-Demand Cloud Computing for Life Sciences Research and Education
On-Demand Cloud Computing for Life Sciences Research and EducationOn-Demand Cloud Computing for Life Sciences Research and Education
On-Demand Cloud Computing for Life Sciences Research and Education
 
Introduction to TensorFlow Lite
Introduction to TensorFlow Lite Introduction to TensorFlow Lite
Introduction to TensorFlow Lite
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
 
oneAPI: Industry Initiative & Intel Product
oneAPI: Industry Initiative & Intel ProductoneAPI: Industry Initiative & Intel Product
oneAPI: Industry Initiative & Intel Product
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer Kit
 
From Uc To Embedded
From Uc To EmbeddedFrom Uc To Embedded
From Uc To Embedded
 

More from Felipe Pedroso

Improved Knowledge from Data: Building an Immersive Data Analysis Platform
Improved Knowledge from Data: Building an Immersive Data Analysis PlatformImproved Knowledge from Data: Building an Immersive Data Analysis Platform
Improved Knowledge from Data: Building an Immersive Data Analysis Platform
Felipe Pedroso
 
Aprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaAprendendo Kotlin na Prática
Aprendendo Kotlin na Prática
Felipe Pedroso
 
Machine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML KitMachine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML Kit
Felipe Pedroso
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Felipe Pedroso
 
Construindo Chatbots em Node.js
Construindo Chatbots em Node.jsConstruindo Chatbots em Node.js
Construindo Chatbots em Node.js
Felipe Pedroso
 
Testes A/B
Testes A/BTestes A/B
Testes A/B
Felipe Pedroso
 
Microsoft Bot Framework
Microsoft Bot FrameworkMicrosoft Bot Framework
Microsoft Bot Framework
Felipe Pedroso
 
Análise SWOT
Análise SWOTAnálise SWOT
Análise SWOT
Felipe Pedroso
 
Developer Relations 101
Developer Relations 101Developer Relations 101
Developer Relations 101
Felipe Pedroso
 
Simplificando chamadas HTTP com o Retrofit
Simplificando chamadas HTTP com o RetrofitSimplificando chamadas HTTP com o Retrofit
Simplificando chamadas HTTP com o Retrofit
Felipe Pedroso
 
Introdução ao Retrofit
Introdução ao Retrofit Introdução ao Retrofit
Introdução ao Retrofit
Felipe Pedroso
 
Assistive Context-Aware Toolkit (Portuguese)
Assistive Context-Aware Toolkit (Portuguese)Assistive Context-Aware Toolkit (Portuguese)
Assistive Context-Aware Toolkit (Portuguese)
Felipe Pedroso
 
Conectando Coisas com IFTTT
Conectando Coisas com IFTTTConectando Coisas com IFTTT
Conectando Coisas com IFTTT
Felipe Pedroso
 
Minicurso RealSense SDK
Minicurso RealSense SDKMinicurso RealSense SDK
Minicurso RealSense SDK
Felipe Pedroso
 
RealSense SDK
RealSense SDKRealSense SDK
RealSense SDK
Felipe Pedroso
 
Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"
Felipe Pedroso
 
RealSense SDK
RealSense SDKRealSense SDK
RealSense SDK
Felipe Pedroso
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8
Felipe Pedroso
 
Palestra "Game Engines para Javascript"
Palestra "Game Engines para Javascript"Palestra "Game Engines para Javascript"
Palestra "Game Engines para Javascript"
Felipe Pedroso
 
Fat binaries
Fat binariesFat binaries
Fat binaries
Felipe Pedroso
 

More from Felipe Pedroso (20)

Improved Knowledge from Data: Building an Immersive Data Analysis Platform
Improved Knowledge from Data: Building an Immersive Data Analysis PlatformImproved Knowledge from Data: Building an Immersive Data Analysis Platform
Improved Knowledge from Data: Building an Immersive Data Analysis Platform
 
Aprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaAprendendo Kotlin na Prática
Aprendendo Kotlin na Prática
 
Machine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML KitMachine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML Kit
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
 
Construindo Chatbots em Node.js
Construindo Chatbots em Node.jsConstruindo Chatbots em Node.js
Construindo Chatbots em Node.js
 
Testes A/B
Testes A/BTestes A/B
Testes A/B
 
Microsoft Bot Framework
Microsoft Bot FrameworkMicrosoft Bot Framework
Microsoft Bot Framework
 
Análise SWOT
Análise SWOTAnálise SWOT
Análise SWOT
 
Developer Relations 101
Developer Relations 101Developer Relations 101
Developer Relations 101
 
Simplificando chamadas HTTP com o Retrofit
Simplificando chamadas HTTP com o RetrofitSimplificando chamadas HTTP com o Retrofit
Simplificando chamadas HTTP com o Retrofit
 
Introdução ao Retrofit
Introdução ao Retrofit Introdução ao Retrofit
Introdução ao Retrofit
 
Assistive Context-Aware Toolkit (Portuguese)
Assistive Context-Aware Toolkit (Portuguese)Assistive Context-Aware Toolkit (Portuguese)
Assistive Context-Aware Toolkit (Portuguese)
 
Conectando Coisas com IFTTT
Conectando Coisas com IFTTTConectando Coisas com IFTTT
Conectando Coisas com IFTTT
 
Minicurso RealSense SDK
Minicurso RealSense SDKMinicurso RealSense SDK
Minicurso RealSense SDK
 
RealSense SDK
RealSense SDKRealSense SDK
RealSense SDK
 
Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"
 
RealSense SDK
RealSense SDKRealSense SDK
RealSense SDK
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8
 
Palestra "Game Engines para Javascript"
Palestra "Game Engines para Javascript"Palestra "Game Engines para Javascript"
Palestra "Game Engines para Javascript"
 
Fat binaries
Fat binariesFat binaries
Fat binaries
 

Recently uploaded

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 

Recently uploaded (20)

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 

Assistive Context-Aware Toolkit (English)

  • 2. #IntelNoTDC Agenda • Stephen Hawking and Intel • What is ACAT? • Technical Details • Architecture • Creating Extensions • How to? • RealSense + ACAT • SharpSenses + ACAT • Summary and Call 4 Action
  • 3. #IntelNoTDC • Professor Hawking first met Gordon Moore during a conference in 1997, where he was offered a computer with an Intel processor • Intel upgrades his computer every couple of years and also supports him all his hardware requirements • A cross-disciplinary team from Intel Labs developed ACAT to enable him to communicate and perform all his computer tasks more efficiently Stephen Hawking and Intel Images Sources: http://www.astrosurf.com/luxorion/hawking-hommage9.htm http://www.wired.com/2015/01/intel-gave-stephen-hawking-voice/
  • 4. #IntelNoTDC • Acronym for “Assistive Context- Aware Toolkit” • Enable people with disabilities to communicate through keyboard simulation, word prediction and speech synthesis • Developed by Intel Labs together with Professor Hawking • Customizable and Extensible What is ACAT?
  • 6. #IntelNoTDC Tech Details • Runs on Windows 7 or higher • Code entirely written in C# using Visual 2012 (works fine on 2015) and Microsoft .NET Framework 4.5 • Microsoft Office Interop Assemblies are used to interact with Office apps • Some tools used to develop the project: • CodeMaid • StyleCop • ReSharper
  • 7. #IntelNoTDC Architecture Applications ACAT Core Library ACAT Extension Library Extensions Extension Extension Extension ...
  • 8. #IntelNoTDC Applications ACAT Qwerty ACAT Abc ACAT Tryout Talk Window
  • 9. #IntelNoTDC ACAT Core Library - Components Word Prediction* Management UI Management AnimationsPanels Widgets Themes Text-to-Speech Management Talk Window Management *ACAT is powered by Presage, the intelligent predictive text engine created by Matteo Vescov. (http://presage.sourceforge.net)
  • 11. #IntelNoTDC ACAT Core Library - Actuators Actuator Management Image Sources: http://www.psfk.com/2013/02/intel-stephen-hawking.html & https://commons.wikimedia.org/wiki/File:Assistive_device.JPG Actuators Proximity Sensor Assistive Switch Camera
  • 12. #IntelNoTDC ACAT Extensions Library • Allows developers to extend the functionalities from ACAT • Dynamically loaded during startup using reflection • Needs to implement specific interfaces/base classes Extension Types UI Word Predictors Agents Actuators Text-to-Speech Spell Checkers
  • 13. #IntelNoTDC Creating an Actuator Extension • Create a new “Class Library” project and add references to “ACATCore.dll” and “ACATExtension.dll” • Extend the classes “ActuatorBase” and “ActuatorSwitchBase” to interact with ACAT • Implement the abstract methods and the use the callbacks (Init, Resume, Pause, Dispose) to run the code of your extension (threads, config, etc) • Call the methods OnSwitchActivated (Hold/Press), OnSwitchDeactivated (Release) or OnSwitchTriggered(Click) to sinalize the interaction from the actuator • Deploy your DLL to the extension folder and update the configuration files
  • 14. #IntelNoTDC Intel® RealSense™ Intel® RealSense™ SDK Scene Understanding Enhanced Photography Augmented Reality Person & Face Tracking Gesture Recognition Background Removal Object Recognition and Tracking Speech Recognition 3D Object Scanning Hand & Blob Tracking User Facing World Facing
  • 15. #IntelNoTDC Tracking (Position) Landmarks (78 landmarks) Pose / Orientation Expressions Recognition Pulse estimation Intel® RealSense™ - Face Module
  • 16. #IntelNoTDC • Objective: create an actuator driven by facial expressions • Components: • RealSenseExpressionTracker: RealSense SDK implementation to perceive the expressions and notify the Actuator using events • RealSenseActuator: translates the intensity of the expressions to a button behavior (pressed and released) Intel® RealSense™ - ACAT Plugin RealSense Actuator Extension ExpressionTracker Actuator Switch Actuator Management
  • 17. #IntelNoTDC • The Camera actuator extension is a socket client that keeps looking for the “ACAT Vision” app, that has a socket server • Simple protocol and it’s possible to customize using config files • ACAT Vision is not yet open-source, but its code will be released in upcoming releases Another way to connect an actuator ACAT Vision (Server) Camera Actuator (Client) Actuator Management
  • 18. #IntelNoTDC • SharpSenses* is an open source C# library that simplifies the development of Intel® RealSense™ SDK apps. • Created and maintained by André Carlucci (Intel Black Belt & Software Innovator) • Available on Github* and NuGet* SharpSenses*
  • 19. #IntelNoTDC • The idea is to create a ‘fake’ server, that replicates the communication between “ACAT Vision” and ACAT • To notify that the input was triggered, just send the string “gesture=trigger;action=CT;conf=75;t ime=<TIMESTAMP>” • ACAT also sends some events back to the server (HideUI, ShowUI, ExitApp) SharpSenses* + ACAT ACAT Vision Camera Actuator (Client) Actuator Management ‘Fake’ Server SharpSenses
  • 20. #IntelNoTDC Summary & Call 4 Action • ACAT is a really nice option to allow people with disabilities to communicate with others • Open Source: You can fork and extend ACAT for your needs! • Extensions: let’s help other people with new actuators, applications agents and new features  • RealSense and SharpSenses can also drive acessibility apps.
  • 21. Q/A
  • 22. #IntelNoTDC References • Stephen Hawking and Intel • http://iq.intel.com/behind-scenes-intel-keeps-stephen-hawking-talking/ • http://www.wired.com/2015/01/intel-gave-stephen-hawking-voice/ • ACAT • https://github.com/01org/acat • http://01.org/ACAT • RealSense: https://software.intel.com/en-us/realsense/home • SharpSenses: https://github.com/SharpSenses/SharpSenses
  • 25. #IntelNoTDC ACAT Server SharpSenses + ACAT SharpSenses bool canRun = true; AcatServer acatServer = new AcatServer(); acatServer.Start(); acatServer.AcatNotificationReceived += (sender, a) => { Console.WriteLine("Notification received from ACAT: {0}", a.NotificationType); if (a.NotificationType == AcatNotificationType.ExitApp) { canRun = false; } }; ICamera camera = Camera.Create(Capability.FaceTracking, Capability.FacialExpressionTracking); camera.Start(); camera.Face.LeftEye.Blink += (s,a) => { Console.WriteLine("SharpSenses: detected a blink from left eye."); acatServer.SendGestureMessage("CT", "trigger"); }; while (canRun) { } acatServer.Stop();

Editor's Notes

  1. Github* link: https://github.com/SharpSenses*/SharpSenses* NuGet* link: https://www.nuget.org/packages/SharpSenses*.