SlideShare a Scribd company logo
1 of 47
@spoole167 @Luc_At_IBM
Mind Control to Major Tom:
Is It Time to Put Your EEG Headset On?
CON2338
@spoole167 @Luc_At_IBM
Who we are
Steve Poole aka Obiwan
Java guru, Developer extraordinaire
Delivery lead
Luc Desrosiers aka Lobot (Think Star Wars Cloud city)
Canadian expat living in the UK
Gadget & IoT enthousiast… and Cloud architect
@spoole167 @Luc_At_IBMhttps://www.flickr.com/photos/stawarz/
@spoole167 @Luc_At_IBM
Who we really are
Terminators from the future…
@spoole167 @Luc_At_IBM
Here to promote our book series
“Skynet for Dummies”
Today we’ll be talking about the
basics for creating your own
terminator
@spoole167 @Luc_At_IBM
Skynet will be built with the greatest and best tools
We picked Java because, even in your day it’s on
many, many devices
We will be using Java 8 - because even in the
future Java 9 hasn’t shipped yet
@spoole167 @Luc_At_IBM
Outline
Ways to interact with your human
understanding your human
controlling your human
@spoole167 @Luc_At_IBM
https://www.flickr.com/photos/gyduxa/
Ways to interact
with your human
@spoole167 @Luc_At_IBM
Vision
AuditoryTouch
GustatoryOlfactory
Proprioception
Key input/output components of a
human being
@spoole167 @Luc_At_IBM
Human being interaction map
Virtual Smell
Electronic noses
Wearables
Haptic sensors
Motion sensors
Molecular
analysis
Virtual Reality
Computer Vision
Text-to-Speech
Speech-to-Text
Touch and
proprioception
Gustatory Olfactory
Auditory Vision
Author: Allan-Hermann Pool
@spoole167 @Luc_At_IBM
Convincing your human its in a new
world
Teaching your terminator
to understand the real world
Virtual Reality
Augmented Reality
World Domination
@spoole167 @Luc_At_IBM
Goal is full immersive
sensory replacement.
Environment Awareness
Object and
Facial detection
IBM Watson
Visual Recognition
@spoole167 @Luc_At_IBM
Virtual Reality, or the many challenges of fooling the
human beings
Images by Pdenbrook - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=31920588
From user interface
You want to reduce motion sickness?
Add a nose!
Pointman
@spoole167 @Luc_At_IBM
Wait, where did my hands go?
frame.hands().forEach(hand->{
Arm arm = hand.arm();
if (arm.isValid()) {
renderArm(arm);
}
hand.fingers().forEach(finger->{
if (finger.isValid()) {
for(int i = 3; i >= 0; i--) {
Bone bone = finger.bone(Type.swigToEnum(i));
renderCylinder(bone.width(), bone.length(),
bone.prevJoint(), bone.direction());
}
}
});
});
@spoole167 @Luc_At_IBM
Making the humans feel the virtual world
Sense of touch has been attempted using:
• Vibration
• Small pockets of air balloons
• Electrical impulse
• Inertial sensors
Many startup and currently many failures…
@spoole167 @Luc_At_IBM
Recognizing objects in a scene
Completely possible… However it requires a lot of
training!
Complexity does not lie in the coding but in getting a
good set of positive and negative images:
- Positive images have the object you want to identify
- Negative images do not
Group positive images together and we call them class.
Group related class together and we call them classifier.
@spoole167 @Luc_At_IBM
Demo: Visual Recognition with Watson
VisualRecognition service = new
VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_19);
service.setApiKey("{api-key}");
System.out.println("Classify an image");
ClassifyImagesOptions options = new ClassifyImagesOptions.Builder().images(
new File(
"src/test/resources/visual_recognition/car.png")).build();
VisualClassification result = service.classify(options).execute();
System.out.println(result);
@spoole167 @Luc_At_IBM
Hasta la vista Baby:
it’s not just about vision
@spoole167 @Luc_At_IBM
Understanding what your human is
saying
Getting your human to
understand who’s the boss
Speech-to-Text Text-to-Speech(aka)
World Domination
@spoole167 @Luc_At_IBM
Demo: Text to Speech Furbynator speaks
TextToSpeech service = new TextToSpeech();
String text = "Hello world.";
InputStream stream =
service.synthesize (text, Voice.EN_ALLISON, "audio/wav");
OutputStream out = new FileOutputStream("hello_world.wav");
@spoole167 @Luc_At_IBM
Demo: Speech to Text
SpeechToText service = new SpeechToText();
RecognizeOptions options = new RecognizeOptions().contentType("audio/flac”)
.timestamps(true)
.wordAlternativesThreshold(0.9)
.continuous(true);
File file = new File("audio-file1.flac”);
SpeechResults results = service.recognize(file, options);
System.out.println(results);
@spoole167 @Luc_At_IBM
Today Virtual
Reality
Computer
Vision
Hand
Tracking
Speech-
to- Text
Text-to-
Speech
Current Applicability 6/10 7/10 8/10 7/10 8/10
Java Coverage 4/10 8/10 9/10 9/10 9/10
Ease of use 4/10 6/10 9/10 8/10 8/10
Reliability 6/10 7/10 8/10 8/10 9/10
Future
Potential for improvement High High Medium Medium Medium
Scorecard
@spoole167 @Luc_At_IBM
Understanding the
emotional state of
your Human
https://www.flickr.com/photos/pixietart/
@spoole167 @Luc_At_IBM
Understanding emotion requires combining detection and analysis of
facial features, prosody and lexical content in speech
This is hard!
@spoole167 @Luc_At_IBM
Recognizing facial features
Two approaches:
Take many pictures of humans in different moods and teach a neural net to do pattern
matching
Detect interesting face points (nose tips, mouth corners, eyes etc and determine
relationship between them.
@spoole167 @Luc_At_IBM
OpenCV has good Face Detection
VideoCapture camera = new VideoCapture();
CascadeClassifier cc = new CascadeClassifier(
"haarcascade_frontalface_alt.xml");
MatOfRect faces = new MatOfRect();
Mat frame = new Mat();
camera.read(frame);
cc.detectMultiScale(frame, faces);
Rect[] hits=faces.toArray();
for(int i=0;i<hits.length;i++) {
Mat face = new Mat(frame,hits[i]);
Imgcodecs.imwrite("face"+i+".jpg", face);
}
@spoole167 @Luc_At_IBM
Simple Face Recognition / Emotion detection is much harder
OpenCV has image training capability but it’s not available as a Java API
It’s computationally very expensive
You need a database of images that contain the items you want to detect
You need a database of images that do not contain the items you want to detect
OpenCV training requires creating images from the second set with items from the first set
added in at various scales and rotational angles
http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
@spoole167 @Luc_At_IBM
Detection alternatives:
Get humans to score a series of pictures of other humans suffering emotions
http://www.ipsp.ucl.ac.be/recherche/projets/FaceTales/en/Home.htm
Apply various point analysis techniques to extract key parts of a face
http://www.codeproject.com/Articles/110805/Human-Emotion-Detection-from-Image
https://github.com/mpillar/java-emotion-recognizer
@spoole167 @Luc_At_IBM
Creating test images of the various emotions
Challenge:
By Crosa (Flickr: Scream) [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons
https://www.flickr.com/photos/huphtur/
https://www.flickr.com/photos/auroredelsoir/
For some reason humans only ever scream?
https://www.flickr.com/photos/tenaciousme/
https://www.flickr.com/photos/morton/
@spoole167 @Luc_At_IBM
Analysing emotion from text and speech
This is still hard. Terminators are not good with speech
I’ll be back
asta la vista....baby
Come with me if you want to liveYou’ve been terminated
"Get out."
I need your clothes, your boots and your motorcycle.
Stay here. I'll be back
@spoole167 @Luc_At_IBM
ToneAnalyzer service = new ToneAnalyzer(
ToneAnalyzer.VERSION_DATE_2016_05_19);
ToneAnalysis tone = service.getTone(text, null).execute();
System.out.println(tone);
Watson Tone Analysis sample
@spoole167 @Luc_At_IBM
Analysing tone with IBM Watson:
I need your clothes, your boots and your motorcycle.
I’ll be back.
Get out.
asta la vista....baby.
Stay here.
I'll be back.
You’ve been terminated.
Come with me if you want to live
Conscientiousness
Extraversion
Analytical
@spoole167 @Luc_At_IBM
Analysing tone: the more words the better:
Using your mind to interact with computers is a long-standing desire. Advances in
technology have made it more practical, but is it ready for prime time? This
session presents practical examples and a walkthough of how to build a Java-
based end-to-end system to drive a remote-controlled droid with nothing but the
power of thought. Combining off-the-shelf EEG headsets with cloud technology
and IoT, the presenters showcase what capabilities exist today. Beyond mind
control (if there is such a concept), the session shows other ways to
communicate with your computer besides the keyboard. It will help you
understand the art of the possible and decide if it's time to leave the capsule to
communicate with your computer.
@spoole167 @Luc_At_IBM
Analysing tone: the more words the better:
@spoole167 @Luc_At_IBM
But, but, Terminators
can have a personality too!
@spoole167 @Luc_At_IBM
Maybe, but Personality of Terminators
tends to be too predictable… Exterminate??
So lets look at the personality
of the father of Robotics
https://en.wikipedia.org/wiki/I,_Robot_(film)
Isaac Asimov
@spoole167 @Luc_At_IBM
This analysis was based from an
extract of the text of iRobot
We could not contact Isaac
next of kin to validate Watson’s
findings…
but Wikipedia seems to agree:
https://en.wikipedia.org/wiki/Isaac_Asimov
@spoole167 @Luc_At_IBM
Watson Personality Insight sample
PersonalityInsights service = new PersonalityInsights();
service.setUsernameAndPassword("{username}", "{password}");
try {
JsonReader jReader = new JsonReader(new FileReader("profile.json"));
Content content = GsonSingleton.getGson().fromJson(jReader, Content.class);
ProfileOptions options = new ProfileOptions()
.contentItems(content.getContentItems());
Profile profile = service.getProfile(options);
System.out.println(profile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
@spoole167 @Luc_At_IBM
Today Tone
Analysis
Personality
Analysis
Current Applicability 8/10 8/10
Java Coverage 9/10 9/10
Ease of use 8/10 7/10
Reliability 8/10 7/10
Future
Potential Improvement Medium Medium
Scorecard
@spoole167 @Luc_At_IBM
Ways to control with your human
https://www.flickr.com/photos/adforce1/
@spoole167 @Luc_At_IBM
We tried inserting machines into humans.
Too messy and somewhat obvious.
https://www.flickr.com/photos/auspices/
@spoole167 @Luc_At_IBM
We tried adding machines
outside humans.
Mixed success
ByCcmsharma2-Ownwork,CCBY-SA4.0,https://commons.wikimedia.org/w/index.php?curid=44920707
43IBM
_
In fact it is much simpler!!! Just hack
the brain!
@spoole167 @Luc_At_IBM
Capturing brain activity (when applicable) of a
human
IOT Command
• Push
• Pull
• Stop
Bluetooth
BB8.roll
IOT Event
•Push
•Pull
•Neutral
@spoole167 @Luc_At_IBM
Today Mind
Control
Current Applicability 3/10
Java Coverage 7/10
Ease of use 4/10
Reliability 2/10
Future
Potential Improvement High
Scorecard
@spoole167 @Luc_At_IBM
So its clear that we’re not quite ready to take
over the world…
@spoole167 @Luc_At_IBM
“we’ll be back”

More Related Content

Viewers also liked

Cognitive Reasoning and Inferences through Psychologically based Personalised...
Cognitive Reasoning and Inferences through Psychologically based Personalised...Cognitive Reasoning and Inferences through Psychologically based Personalised...
Cognitive Reasoning and Inferences through Psychologically based Personalised...Aladdin Ayesh
 
Model Based Emotion Detection using Point Clouds
Model Based Emotion Detection using Point CloudsModel Based Emotion Detection using Point Clouds
Model Based Emotion Detection using Point CloudsLakshmi Sarvani Videla
 
A framework for emotion mining from text in online social networks(final)
A framework for emotion mining from text in online social networks(final)A framework for emotion mining from text in online social networks(final)
A framework for emotion mining from text in online social networks(final)es712
 
What's on your mind? Exploring new methods for measuring emotional engagement...
What's on your mind? Exploring new methods for measuring emotional engagement...What's on your mind? Exploring new methods for measuring emotional engagement...
What's on your mind? Exploring new methods for measuring emotional engagement...UXPA International
 
HUMAN EMOTION RECOGNIITION SYSTEM
HUMAN EMOTION RECOGNIITION SYSTEMHUMAN EMOTION RECOGNIITION SYSTEM
HUMAN EMOTION RECOGNIITION SYSTEMsoumi sarkar
 
Real time emotion_detection_from_videos
Real time emotion_detection_from_videosReal time emotion_detection_from_videos
Real time emotion_detection_from_videosCafer Yıldız
 
Smart Cities and Big Data - Research Presentation
Smart Cities and Big Data - Research PresentationSmart Cities and Big Data - Research Presentation
Smart Cities and Big Data - Research Presentationannegalang
 

Viewers also liked (7)

Cognitive Reasoning and Inferences through Psychologically based Personalised...
Cognitive Reasoning and Inferences through Psychologically based Personalised...Cognitive Reasoning and Inferences through Psychologically based Personalised...
Cognitive Reasoning and Inferences through Psychologically based Personalised...
 
Model Based Emotion Detection using Point Clouds
Model Based Emotion Detection using Point CloudsModel Based Emotion Detection using Point Clouds
Model Based Emotion Detection using Point Clouds
 
A framework for emotion mining from text in online social networks(final)
A framework for emotion mining from text in online social networks(final)A framework for emotion mining from text in online social networks(final)
A framework for emotion mining from text in online social networks(final)
 
What's on your mind? Exploring new methods for measuring emotional engagement...
What's on your mind? Exploring new methods for measuring emotional engagement...What's on your mind? Exploring new methods for measuring emotional engagement...
What's on your mind? Exploring new methods for measuring emotional engagement...
 
HUMAN EMOTION RECOGNIITION SYSTEM
HUMAN EMOTION RECOGNIITION SYSTEMHUMAN EMOTION RECOGNIITION SYSTEM
HUMAN EMOTION RECOGNIITION SYSTEM
 
Real time emotion_detection_from_videos
Real time emotion_detection_from_videosReal time emotion_detection_from_videos
Real time emotion_detection_from_videos
 
Smart Cities and Big Data - Research Presentation
Smart Cities and Big Data - Research PresentationSmart Cities and Big Data - Research Presentation
Smart Cities and Big Data - Research Presentation
 

Similar to Mind Control to Major Tom: Is It Time to Put Your EEG Headset On?

Neural network image recognition
Neural network image recognitionNeural network image recognition
Neural network image recognitionOleksii Sekundant
 
Testing for the deeplearning folks
Testing for the deeplearning folksTesting for the deeplearning folks
Testing for the deeplearning folksVishwas N
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?Colin Riley
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Nick Galbreath
 
16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docx16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docxssuser90e017
 
Fixing security by fixing software development
Fixing security by fixing software developmentFixing security by fixing software development
Fixing security by fixing software developmentNick Galbreath
 
From 🤦 to 🐿️
From 🤦 to 🐿️From 🤦 to 🐿️
From 🤦 to 🐿️Ori Pekelman
 
DWX 2013 Nuremberg
DWX 2013 NurembergDWX 2013 Nuremberg
DWX 2013 NurembergMarcel Bruch
 
Back To The Future.Key 2
Back To The Future.Key 2Back To The Future.Key 2
Back To The Future.Key 2gueste8cc560
 
502021435-12345678Minor-Project-Ppt.pptx
502021435-12345678Minor-Project-Ppt.pptx502021435-12345678Minor-Project-Ppt.pptx
502021435-12345678Minor-Project-Ppt.pptxshrey4922
 
01Introduction.pptx - C280, Computer Vision
01Introduction.pptx - C280, Computer Vision01Introduction.pptx - C280, Computer Vision
01Introduction.pptx - C280, Computer Visionbutest
 
Open Cv – An Introduction To The Vision
Open Cv – An Introduction To The VisionOpen Cv – An Introduction To The Vision
Open Cv – An Introduction To The VisionHemanth Haridas
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature CreatureChristian Heilmann
 
Postmortem of a uwp xaml application development
Postmortem of a uwp xaml application developmentPostmortem of a uwp xaml application development
Postmortem of a uwp xaml application developmentDavid Catuhe
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdodaniil3
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allMarc Dutoo
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware
 
Chaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in ProductionChaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in ProductionKeet Sugathadasa
 
writing self-modifying code and utilizing advanced assembly techniques
writing self-modifying code and utilizing advanced assembly techniqueswriting self-modifying code and utilizing advanced assembly techniques
writing self-modifying code and utilizing advanced assembly techniquesRussell Sanford
 

Similar to Mind Control to Major Tom: Is It Time to Put Your EEG Headset On? (20)

Neural network image recognition
Neural network image recognitionNeural network image recognition
Neural network image recognition
 
Testing for the deeplearning folks
Testing for the deeplearning folksTesting for the deeplearning folks
Testing for the deeplearning folks
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013
 
16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docx16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docx
 
Fixing security by fixing software development
Fixing security by fixing software developmentFixing security by fixing software development
Fixing security by fixing software development
 
From 🤦 to 🐿️
From 🤦 to 🐿️From 🤦 to 🐿️
From 🤦 to 🐿️
 
DWX 2013 Nuremberg
DWX 2013 NurembergDWX 2013 Nuremberg
DWX 2013 Nuremberg
 
Back To The Future.Key 2
Back To The Future.Key 2Back To The Future.Key 2
Back To The Future.Key 2
 
Python Project.pptx
Python Project.pptxPython Project.pptx
Python Project.pptx
 
502021435-12345678Minor-Project-Ppt.pptx
502021435-12345678Minor-Project-Ppt.pptx502021435-12345678Minor-Project-Ppt.pptx
502021435-12345678Minor-Project-Ppt.pptx
 
01Introduction.pptx - C280, Computer Vision
01Introduction.pptx - C280, Computer Vision01Introduction.pptx - C280, Computer Vision
01Introduction.pptx - C280, Computer Vision
 
Open Cv – An Introduction To The Vision
Open Cv – An Introduction To The VisionOpen Cv – An Introduction To The Vision
Open Cv – An Introduction To The Vision
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
 
Postmortem of a uwp xaml application development
Postmortem of a uwp xaml application developmentPostmortem of a uwp xaml application development
Postmortem of a uwp xaml application development
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdo
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
 
Chaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in ProductionChaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in Production
 
writing self-modifying code and utilizing advanced assembly techniques
writing self-modifying code and utilizing advanced assembly techniqueswriting self-modifying code and utilizing advanced assembly techniques
writing self-modifying code and utilizing advanced assembly techniques
 

More from Steve Poole

Key Takeaways for Java Developers from the State of the Software Supply Chain...
Key Takeaways for Java Developers from the State of the Software Supply Chain...Key Takeaways for Java Developers from the State of the Software Supply Chain...
Key Takeaways for Java Developers from the State of the Software Supply Chain...Steve Poole
 
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECH
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECHTHRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECH
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECHSteve Poole
 
Maven Central++ What's happening at the core of the Java supply chain
Maven Central++ What's happening at the core of the Java supply chainMaven Central++ What's happening at the core of the Java supply chain
Maven Central++ What's happening at the core of the Java supply chainSteve Poole
 
GIDS-2023 A New Hope for 2023? What Developers Must Learn Next
GIDS-2023 A New Hope for 2023? What Developers Must Learn NextGIDS-2023 A New Hope for 2023? What Developers Must Learn Next
GIDS-2023 A New Hope for 2023? What Developers Must Learn NextSteve Poole
 
A new hope for 2023? What developers must learn next
A new hope for 2023? What developers must learn nextA new hope for 2023? What developers must learn next
A new hope for 2023? What developers must learn nextSteve Poole
 
Stop Security by Sleight Of Hand.pptx
Stop Security by Sleight Of Hand.pptxStop Security by Sleight Of Hand.pptx
Stop Security by Sleight Of Hand.pptxSteve Poole
 
Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?Steve Poole
 
The Secret Life of Maven Central
The Secret Life of Maven CentralThe Secret Life of Maven Central
The Secret Life of Maven CentralSteve Poole
 
The Secret Life of Maven Central.pptx
The Secret Life of Maven Central.pptxThe Secret Life of Maven Central.pptx
The Secret Life of Maven Central.pptxSteve Poole
 
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...Steve Poole
 
Log4Shell - Armageddon or Opportunity.pptx
Log4Shell - Armageddon or Opportunity.pptxLog4Shell - Armageddon or Opportunity.pptx
Log4Shell - Armageddon or Opportunity.pptxSteve Poole
 
DevnexusRansomeware.pptx
DevnexusRansomeware.pptxDevnexusRansomeware.pptx
DevnexusRansomeware.pptxSteve Poole
 
Game Over or Game Changing? Why Software Development May Never be the same again
Game Over or Game Changing? Why Software Development May Never be the same againGame Over or Game Changing? Why Software Development May Never be the same again
Game Over or Game Changing? Why Software Development May Never be the same againSteve Poole
 
Cybercrime and the developer 2021 style
Cybercrime and the developer 2021 styleCybercrime and the developer 2021 style
Cybercrime and the developer 2021 styleSteve Poole
 
Agile Islands 2020 - Dashboards and Culture
Agile Islands 2020 - Dashboards and CultureAgile Islands 2020 - Dashboards and Culture
Agile Islands 2020 - Dashboards and CultureSteve Poole
 
LJC Speaker Clnic June 2020
LJC Speaker Clnic June 2020LJC Speaker Clnic June 2020
LJC Speaker Clnic June 2020Steve Poole
 
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...Steve Poole
 
Beyond the Pi: What’s Next for the Hacker in All of Us?
Beyond the Pi: What’s Next for the Hacker in All of Us?Beyond the Pi: What’s Next for the Hacker in All of Us?
Beyond the Pi: What’s Next for the Hacker in All of Us?Steve Poole
 
A Modern Fairy Tale: Java Serialization
A Modern Fairy Tale: Java Serialization A Modern Fairy Tale: Java Serialization
A Modern Fairy Tale: Java Serialization Steve Poole
 
Eclipse OpenJ9 - SpringOne 2018 Lightning talk
Eclipse OpenJ9 - SpringOne 2018 Lightning talkEclipse OpenJ9 - SpringOne 2018 Lightning talk
Eclipse OpenJ9 - SpringOne 2018 Lightning talkSteve Poole
 

More from Steve Poole (20)

Key Takeaways for Java Developers from the State of the Software Supply Chain...
Key Takeaways for Java Developers from the State of the Software Supply Chain...Key Takeaways for Java Developers from the State of the Software Supply Chain...
Key Takeaways for Java Developers from the State of the Software Supply Chain...
 
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECH
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECHTHRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECH
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECH
 
Maven Central++ What's happening at the core of the Java supply chain
Maven Central++ What's happening at the core of the Java supply chainMaven Central++ What's happening at the core of the Java supply chain
Maven Central++ What's happening at the core of the Java supply chain
 
GIDS-2023 A New Hope for 2023? What Developers Must Learn Next
GIDS-2023 A New Hope for 2023? What Developers Must Learn NextGIDS-2023 A New Hope for 2023? What Developers Must Learn Next
GIDS-2023 A New Hope for 2023? What Developers Must Learn Next
 
A new hope for 2023? What developers must learn next
A new hope for 2023? What developers must learn nextA new hope for 2023? What developers must learn next
A new hope for 2023? What developers must learn next
 
Stop Security by Sleight Of Hand.pptx
Stop Security by Sleight Of Hand.pptxStop Security by Sleight Of Hand.pptx
Stop Security by Sleight Of Hand.pptx
 
Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?
 
The Secret Life of Maven Central
The Secret Life of Maven CentralThe Secret Life of Maven Central
The Secret Life of Maven Central
 
The Secret Life of Maven Central.pptx
The Secret Life of Maven Central.pptxThe Secret Life of Maven Central.pptx
The Secret Life of Maven Central.pptx
 
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...
 
Log4Shell - Armageddon or Opportunity.pptx
Log4Shell - Armageddon or Opportunity.pptxLog4Shell - Armageddon or Opportunity.pptx
Log4Shell - Armageddon or Opportunity.pptx
 
DevnexusRansomeware.pptx
DevnexusRansomeware.pptxDevnexusRansomeware.pptx
DevnexusRansomeware.pptx
 
Game Over or Game Changing? Why Software Development May Never be the same again
Game Over or Game Changing? Why Software Development May Never be the same againGame Over or Game Changing? Why Software Development May Never be the same again
Game Over or Game Changing? Why Software Development May Never be the same again
 
Cybercrime and the developer 2021 style
Cybercrime and the developer 2021 styleCybercrime and the developer 2021 style
Cybercrime and the developer 2021 style
 
Agile Islands 2020 - Dashboards and Culture
Agile Islands 2020 - Dashboards and CultureAgile Islands 2020 - Dashboards and Culture
Agile Islands 2020 - Dashboards and Culture
 
LJC Speaker Clnic June 2020
LJC Speaker Clnic June 2020LJC Speaker Clnic June 2020
LJC Speaker Clnic June 2020
 
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...
 
Beyond the Pi: What’s Next for the Hacker in All of Us?
Beyond the Pi: What’s Next for the Hacker in All of Us?Beyond the Pi: What’s Next for the Hacker in All of Us?
Beyond the Pi: What’s Next for the Hacker in All of Us?
 
A Modern Fairy Tale: Java Serialization
A Modern Fairy Tale: Java Serialization A Modern Fairy Tale: Java Serialization
A Modern Fairy Tale: Java Serialization
 
Eclipse OpenJ9 - SpringOne 2018 Lightning talk
Eclipse OpenJ9 - SpringOne 2018 Lightning talkEclipse OpenJ9 - SpringOne 2018 Lightning talk
Eclipse OpenJ9 - SpringOne 2018 Lightning talk
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

Mind Control to Major Tom: Is It Time to Put Your EEG Headset On?

  • 1. @spoole167 @Luc_At_IBM Mind Control to Major Tom: Is It Time to Put Your EEG Headset On? CON2338
  • 2. @spoole167 @Luc_At_IBM Who we are Steve Poole aka Obiwan Java guru, Developer extraordinaire Delivery lead Luc Desrosiers aka Lobot (Think Star Wars Cloud city) Canadian expat living in the UK Gadget & IoT enthousiast… and Cloud architect
  • 4. @spoole167 @Luc_At_IBM Who we really are Terminators from the future…
  • 5. @spoole167 @Luc_At_IBM Here to promote our book series “Skynet for Dummies” Today we’ll be talking about the basics for creating your own terminator
  • 6. @spoole167 @Luc_At_IBM Skynet will be built with the greatest and best tools We picked Java because, even in your day it’s on many, many devices We will be using Java 8 - because even in the future Java 9 hasn’t shipped yet
  • 7. @spoole167 @Luc_At_IBM Outline Ways to interact with your human understanding your human controlling your human
  • 10. @spoole167 @Luc_At_IBM Human being interaction map Virtual Smell Electronic noses Wearables Haptic sensors Motion sensors Molecular analysis Virtual Reality Computer Vision Text-to-Speech Speech-to-Text Touch and proprioception Gustatory Olfactory Auditory Vision Author: Allan-Hermann Pool
  • 11. @spoole167 @Luc_At_IBM Convincing your human its in a new world Teaching your terminator to understand the real world Virtual Reality Augmented Reality World Domination
  • 12. @spoole167 @Luc_At_IBM Goal is full immersive sensory replacement. Environment Awareness Object and Facial detection IBM Watson Visual Recognition
  • 13. @spoole167 @Luc_At_IBM Virtual Reality, or the many challenges of fooling the human beings Images by Pdenbrook - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=31920588 From user interface You want to reduce motion sickness? Add a nose! Pointman
  • 14. @spoole167 @Luc_At_IBM Wait, where did my hands go? frame.hands().forEach(hand->{ Arm arm = hand.arm(); if (arm.isValid()) { renderArm(arm); } hand.fingers().forEach(finger->{ if (finger.isValid()) { for(int i = 3; i >= 0; i--) { Bone bone = finger.bone(Type.swigToEnum(i)); renderCylinder(bone.width(), bone.length(), bone.prevJoint(), bone.direction()); } } }); });
  • 15. @spoole167 @Luc_At_IBM Making the humans feel the virtual world Sense of touch has been attempted using: • Vibration • Small pockets of air balloons • Electrical impulse • Inertial sensors Many startup and currently many failures…
  • 16. @spoole167 @Luc_At_IBM Recognizing objects in a scene Completely possible… However it requires a lot of training! Complexity does not lie in the coding but in getting a good set of positive and negative images: - Positive images have the object you want to identify - Negative images do not Group positive images together and we call them class. Group related class together and we call them classifier.
  • 17. @spoole167 @Luc_At_IBM Demo: Visual Recognition with Watson VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_19); service.setApiKey("{api-key}"); System.out.println("Classify an image"); ClassifyImagesOptions options = new ClassifyImagesOptions.Builder().images( new File( "src/test/resources/visual_recognition/car.png")).build(); VisualClassification result = service.classify(options).execute(); System.out.println(result);
  • 18. @spoole167 @Luc_At_IBM Hasta la vista Baby: it’s not just about vision
  • 19. @spoole167 @Luc_At_IBM Understanding what your human is saying Getting your human to understand who’s the boss Speech-to-Text Text-to-Speech(aka) World Domination
  • 20. @spoole167 @Luc_At_IBM Demo: Text to Speech Furbynator speaks TextToSpeech service = new TextToSpeech(); String text = "Hello world."; InputStream stream = service.synthesize (text, Voice.EN_ALLISON, "audio/wav"); OutputStream out = new FileOutputStream("hello_world.wav");
  • 21. @spoole167 @Luc_At_IBM Demo: Speech to Text SpeechToText service = new SpeechToText(); RecognizeOptions options = new RecognizeOptions().contentType("audio/flac”) .timestamps(true) .wordAlternativesThreshold(0.9) .continuous(true); File file = new File("audio-file1.flac”); SpeechResults results = service.recognize(file, options); System.out.println(results);
  • 22. @spoole167 @Luc_At_IBM Today Virtual Reality Computer Vision Hand Tracking Speech- to- Text Text-to- Speech Current Applicability 6/10 7/10 8/10 7/10 8/10 Java Coverage 4/10 8/10 9/10 9/10 9/10 Ease of use 4/10 6/10 9/10 8/10 8/10 Reliability 6/10 7/10 8/10 8/10 9/10 Future Potential for improvement High High Medium Medium Medium Scorecard
  • 23. @spoole167 @Luc_At_IBM Understanding the emotional state of your Human https://www.flickr.com/photos/pixietart/
  • 24. @spoole167 @Luc_At_IBM Understanding emotion requires combining detection and analysis of facial features, prosody and lexical content in speech This is hard!
  • 25. @spoole167 @Luc_At_IBM Recognizing facial features Two approaches: Take many pictures of humans in different moods and teach a neural net to do pattern matching Detect interesting face points (nose tips, mouth corners, eyes etc and determine relationship between them.
  • 26. @spoole167 @Luc_At_IBM OpenCV has good Face Detection VideoCapture camera = new VideoCapture(); CascadeClassifier cc = new CascadeClassifier( "haarcascade_frontalface_alt.xml"); MatOfRect faces = new MatOfRect(); Mat frame = new Mat(); camera.read(frame); cc.detectMultiScale(frame, faces); Rect[] hits=faces.toArray(); for(int i=0;i<hits.length;i++) { Mat face = new Mat(frame,hits[i]); Imgcodecs.imwrite("face"+i+".jpg", face); }
  • 27. @spoole167 @Luc_At_IBM Simple Face Recognition / Emotion detection is much harder OpenCV has image training capability but it’s not available as a Java API It’s computationally very expensive You need a database of images that contain the items you want to detect You need a database of images that do not contain the items you want to detect OpenCV training requires creating images from the second set with items from the first set added in at various scales and rotational angles http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
  • 28. @spoole167 @Luc_At_IBM Detection alternatives: Get humans to score a series of pictures of other humans suffering emotions http://www.ipsp.ucl.ac.be/recherche/projets/FaceTales/en/Home.htm Apply various point analysis techniques to extract key parts of a face http://www.codeproject.com/Articles/110805/Human-Emotion-Detection-from-Image https://github.com/mpillar/java-emotion-recognizer
  • 29. @spoole167 @Luc_At_IBM Creating test images of the various emotions Challenge: By Crosa (Flickr: Scream) [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons https://www.flickr.com/photos/huphtur/ https://www.flickr.com/photos/auroredelsoir/ For some reason humans only ever scream? https://www.flickr.com/photos/tenaciousme/ https://www.flickr.com/photos/morton/
  • 30. @spoole167 @Luc_At_IBM Analysing emotion from text and speech This is still hard. Terminators are not good with speech I’ll be back asta la vista....baby Come with me if you want to liveYou’ve been terminated "Get out." I need your clothes, your boots and your motorcycle. Stay here. I'll be back
  • 31. @spoole167 @Luc_At_IBM ToneAnalyzer service = new ToneAnalyzer( ToneAnalyzer.VERSION_DATE_2016_05_19); ToneAnalysis tone = service.getTone(text, null).execute(); System.out.println(tone); Watson Tone Analysis sample
  • 32. @spoole167 @Luc_At_IBM Analysing tone with IBM Watson: I need your clothes, your boots and your motorcycle. I’ll be back. Get out. asta la vista....baby. Stay here. I'll be back. You’ve been terminated. Come with me if you want to live Conscientiousness Extraversion Analytical
  • 33. @spoole167 @Luc_At_IBM Analysing tone: the more words the better: Using your mind to interact with computers is a long-standing desire. Advances in technology have made it more practical, but is it ready for prime time? This session presents practical examples and a walkthough of how to build a Java- based end-to-end system to drive a remote-controlled droid with nothing but the power of thought. Combining off-the-shelf EEG headsets with cloud technology and IoT, the presenters showcase what capabilities exist today. Beyond mind control (if there is such a concept), the session shows other ways to communicate with your computer besides the keyboard. It will help you understand the art of the possible and decide if it's time to leave the capsule to communicate with your computer.
  • 34. @spoole167 @Luc_At_IBM Analysing tone: the more words the better:
  • 35. @spoole167 @Luc_At_IBM But, but, Terminators can have a personality too!
  • 36. @spoole167 @Luc_At_IBM Maybe, but Personality of Terminators tends to be too predictable… Exterminate?? So lets look at the personality of the father of Robotics https://en.wikipedia.org/wiki/I,_Robot_(film) Isaac Asimov
  • 37. @spoole167 @Luc_At_IBM This analysis was based from an extract of the text of iRobot We could not contact Isaac next of kin to validate Watson’s findings… but Wikipedia seems to agree: https://en.wikipedia.org/wiki/Isaac_Asimov
  • 38. @spoole167 @Luc_At_IBM Watson Personality Insight sample PersonalityInsights service = new PersonalityInsights(); service.setUsernameAndPassword("{username}", "{password}"); try { JsonReader jReader = new JsonReader(new FileReader("profile.json")); Content content = GsonSingleton.getGson().fromJson(jReader, Content.class); ProfileOptions options = new ProfileOptions() .contentItems(content.getContentItems()); Profile profile = service.getProfile(options); System.out.println(profile); } catch (FileNotFoundException e) { e.printStackTrace(); }
  • 39. @spoole167 @Luc_At_IBM Today Tone Analysis Personality Analysis Current Applicability 8/10 8/10 Java Coverage 9/10 9/10 Ease of use 8/10 7/10 Reliability 8/10 7/10 Future Potential Improvement Medium Medium Scorecard
  • 40. @spoole167 @Luc_At_IBM Ways to control with your human https://www.flickr.com/photos/adforce1/
  • 41. @spoole167 @Luc_At_IBM We tried inserting machines into humans. Too messy and somewhat obvious. https://www.flickr.com/photos/auspices/
  • 42. @spoole167 @Luc_At_IBM We tried adding machines outside humans. Mixed success ByCcmsharma2-Ownwork,CCBY-SA4.0,https://commons.wikimedia.org/w/index.php?curid=44920707
  • 43. 43IBM _ In fact it is much simpler!!! Just hack the brain!
  • 44. @spoole167 @Luc_At_IBM Capturing brain activity (when applicable) of a human IOT Command • Push • Pull • Stop Bluetooth BB8.roll IOT Event •Push •Pull •Neutral
  • 45. @spoole167 @Luc_At_IBM Today Mind Control Current Applicability 3/10 Java Coverage 7/10 Ease of use 4/10 Reliability 2/10 Future Potential Improvement High Scorecard
  • 46. @spoole167 @Luc_At_IBM So its clear that we’re not quite ready to take over the world…