Latest YouTube Video
Saturday, April 22, 2017
I have a new follower on Twitter
Helen McKenzie
if you like what you see try this my naked photo session here https://t.co/PjnCIL8fg7
Following: 20 - Followers: 0
April 22, 2017 at 10:53PM via Twitter http://twitter.com/MiaPatton1
Anonymous model wanted
from Google Alert - anonymous http://ift.tt/2p8qfIZ
via IFTTT
Anonymous public play
from Google Alert - anonymous http://ift.tt/2pRPKyX
via IFTTT
Shoe Addicts Anonymous Series, Book 2
from Google Alert - anonymous http://ift.tt/2oAB9mB
via IFTTT
"I'm not the baseball police" - Dustin Pedroia will leave it to others to judge if Manny Machado's controversial slide was dirty (ESPN)
via IFTTT
Anonymous Influence
from Google Alert - anonymous http://ift.tt/2q2KiWh
via IFTTT
Manny Machado's hard slide into Dustin Pedroia on Friday only will add fuel to the Red Sox-O's rivalry - Scott Lauber (ESPN)
via IFTTT
I have a new follower on Twitter
Julia J. Frederick
Entrepreneur
New York, USA
https://t.co/fYfmH7YQ6m
Following: 19268 - Followers: 18744
April 22, 2017 at 12:13PM via Twitter http://twitter.com/Julia_J90
Ay de mi (Anonymous)
from Google Alert - anonymous http://ift.tt/2q29M64
via IFTTT
Leaked NSA Hacking Tools Being Used to Hack Thousands of Vulnerable Windows PCs
from The Hacker News http://ift.tt/2owAvYg
via IFTTT
[FD] Authentication bypass vulnerability in Western Digital My Cloud allows escalation to admin privileges
Source: Gmail -> IFTTT-> Blogger
Search Manuscripts/Mixed Material
from Google Alert - anonymous http://ift.tt/2p6hAXv
via IFTTT
US Court Sentences Russian Lawmaker's Son to 27 Years in Jail for Hacking
from The Hacker News http://ift.tt/2p2s9IP
via IFTTT
Moms Anonymous
from Google Alert - anonymous http://ift.tt/2oexP5C
via IFTTT
Magicals Anonymous Series, Book 2
from Google Alert - anonymous http://ift.tt/2oyZARi
via IFTTT
Recovering Couples Anonymous
from Google Alert - anonymous http://ift.tt/2oT5nF1
via IFTTT
Friday, April 21, 2017
Orioles Video: 3B Manny Machado crushes solo shot off Drew Pomeranz for third homer of season during Friday's 2-0 win vs. Red Sox (ESPN)
via IFTTT
dotnet/csharplang
from Google Alert - anonymous http://ift.tt/2p5sI6I
via IFTTT
Masked and Anonymous
from Google Alert - anonymous http://ift.tt/2p1m6En
via IFTTT
Omar Ruiz Corridor Anonymous 3 (En Vivo) { ALBUM MP3/ZIP }
from Google Alert - anonymous http://ift.tt/2q0sRpl
via IFTTT
I have a new follower on Twitter
Dave Hickey
COO @UserReplay passionate about helping companies increase revenue through innovation and smart analytics.
New York, USA
https://t.co/GJoDVtImhh
Following: 3265 - Followers: 2602
April 21, 2017 at 06:33PM via Twitter http://twitter.com/dj_hickey
Ravens: Breaking down the entire 2017 regular-season schedule including predictions for each game - Jamison Hensley (ESPN)
via IFTTT
Java, wajang-Koelit met gamelan orkest, anonymous, 1894
from Google Alert - anonymous http://ift.tt/2p3AHkD
via IFTTT
8 Trader Joe's Secrets, Straight From an Anonymous Manager
from Google Alert - anonymous http://ift.tt/2oYE2zF
via IFTTT
Use of anonymous developer contributions correct and legal: Flannery
from Google Alert - anonymous http://ift.tt/2pYM8aE
via IFTTT
I have a new follower on Twitter
Recovery Coach
We transform lives from trauma to peace, broken 2 whole, depressed 2 blissed out & bankrupt 2 abundant. Ph 0756 066 315, Monk will uplift u & Maria will coach u
Gold Coast Australia
https://t.co/UIeDABcxZt
Following: 7499 - Followers: 8731
April 21, 2017 at 06:23AM via Twitter http://twitter.com/OzRecoveryCoach
8th Street, Ocean City, MD's surf is at least 5.38ft high
8th Street, Ocean City, MD Summary
At 4:00 AM, surf min of 5.38ft. At 10:00 AM, surf min of 4.97ft. At 4:00 PM, surf min of 4.32ft. At 10:00 PM, surf min of 3.72ft.
Surf maximum: 6.32ft (1.93m)
Surf minimum: 5.38ft (1.64m)
Tide height: 0.61ft (0.18m)
Wind direction: WNW
Wind speed: 7.79 KTS
from Surfline http://ift.tt/1kVmigH
via IFTTT
MasterCard launches Credit Card with Built-In Fingerprint Scanner
from The Hacker News http://ift.tt/2oXPiw4
via IFTTT
[FD] DefenseCode ThunderScan SAST Advisory: Ultimate Form Builder Cross-Site Scripting (XSS) Vulnerability
Source: Gmail -> IFTTT-> Blogger
[FD] DefenseCode ThunderScan SAST Advisory: WordPress AccessPress Social Icons Plugin Multiple SQL injection Security Vulnerabilities
Source: Gmail -> IFTTT-> Blogger
[FD] CVE-2017-7991-SQL injection-Exponent CMS
Source: Gmail -> IFTTT-> Blogger
[FD] SecretServerSecretStealer - An extraction utility for Thycotic Secret Server
Source: Gmail -> IFTTT-> Blogger
[FD] [ERPSCAN-17-022] SSRF in PeopleSoft IMServlet
Source: Gmail -> IFTTT-> Blogger
[FD] [ERPSCAN-17-021] SQL Injection in E-Business Suite IESFOOTPRINT
[FD] [ERPSCAN-17-020] XXE VIA DOCTYPE in PeopleSoft PeopleSoftServiceListeningConnector
Source: Gmail -> IFTTT-> Blogger
[FD] nt!_SEP_TOKEN_PRIVILEGES – Single Write EoP Protect
Source: Gmail -> IFTTT-> Blogger
[FD] Unicorn Emulator v1.0.1 is out!
Source: Gmail -> IFTTT-> Blogger
Thursday, April 20, 2017
Anonymous proxy
from Google Alert - anonymous http://ift.tt/2p1cpYE
via IFTTT
ALCOHOLICS ANONYMOUS FOR INFORMATION PLEASE
from Google Alert - anonymous http://ift.tt/2pJioiW
via IFTTT
Orioles Video: J.J. Hardy delivers go-ahead RBI single in 10th inning for 2-1 victory at Reds (ESPN)
via IFTTT
2017 Schedule: Ravens open season at Bengals on Sept. 10; host first MNF in five years vs. Texans on Nov. 27 (ESPN)
via IFTTT
[FD] Cross-Site Request Forgery in WordPress Connection Information
Source: Gmail -> IFTTT-> Blogger
Ravens: Mike Wallace fully committed to stepping up as veteran to fill Steve Smith's void; "I just want to be a leader for this team" (ESPN)
via IFTTT
Beware! Dozens of Linksys Wi-Fi Router Models Vulnerable to Multiple Flaws
from The Hacker News http://ift.tt/2oZB5kf
via IFTTT
How can I access fmincon's function count within a custom anonymous function?
from Google Alert - anonymous http://ift.tt/2oTDMSy
via IFTTT
I have a new follower on Twitter
Swingers Nearby
Online community for #swingers, #swappers and #threesome lovers
http://t.co/oPShk0OJhS
Following: 3156 - Followers: 4934
April 20, 2017 at 08:36AM via Twitter http://twitter.com/SwingersNearby
Anonymous Alerts
from Google Alert - anonymous http://ift.tt/2oT54rU
via IFTTT
8th Street, Ocean City, MD's surf is at least 5.02ft high
8th Street, Ocean City, MD Summary
At 4:00 AM, surf min of 4.7ft. At 10:00 AM, surf min of 4.47ft. At 4:00 PM, surf min of 5.02ft. At 10:00 PM, surf min of 4.86ft.
Surf maximum: 5.9ft (1.8m)
Surf minimum: 5.02ft (1.53m)
Tide height: 1.47ft (0.45m)
Wind direction: ENE
Wind speed: 12.32 KTS
from Surfline http://ift.tt/1kVmigH
via IFTTT
Hackers Steal Payment Card Data From Over 1,150 InterContinental Hotels
from The Hacker News http://ift.tt/2ou5VgY
via IFTTT
NASA's Earth Observing Fleet: March 2017
from NASA's Scientific Visualization Studio: Most Recent Items http://ift.tt/2op3OMr
via IFTTT
Asteroid 2014 JO25
Wednesday, April 19, 2017
Download Our Case Study: "Turn Anonymous Website Visitors into Named Leads"
from Google Alert - anonymous http://ift.tt/2oR6XoZ
via IFTTT
I have a new follower on Twitter
Leadership Raccoon
https://t.co/V4l8nXImEu
Following: 2840 - Followers: 2981
April 19, 2017 at 09:51PM via Twitter http://twitter.com/RaccoonLeaders
Like button on Blog posts is anonymous
from Google Alert - anonymous http://ift.tt/2otD1xt
via IFTTT
Ask HN: Cryptographically Anonymous Authentication?
from Google Alert - anonymous http://ift.tt/2ph3jbk
via IFTTT
Pirate Bay Founder Launches Anonymous Domain Registration Service
from Google Alert - anonymous http://ift.tt/2pDR6dN
via IFTTT
Mike Wallace believes Ravens made "smart decision" picking up his $5.75M option; wants to be more consistent in 2017 - Jamison Hensley (ESPN)
via IFTTT
Kiper's "Grade A" Mock: Ravens draft top rated O-lineman in first round; take Wisconsin OLB T.J. Watt in second round - Jamison Hensley (ESPN)
via IFTTT
To Protect Your Devices, A Hacker Wants To Hack Them Before Someone Else Does
from The Hacker News http://ift.tt/2pS9bUA
via IFTTT
ISS Daily Summary Report – 4/18/2017
from ISS On-Orbit Status Report http://ift.tt/2pBHJOn
via IFTTT
Ravens meet with S/LB Jabrill Peppers, the "mystery" man of the 2017 draft - report; projected first or second-round pick (ESPN)
via IFTTT
How anonymous companies can undermine national security
from Google Alert - anonymous http://ift.tt/2orKOMj
via IFTTT
Podcasters Are Bringing Alcoholics Anonymous Into The Digital Age
from Google Alert - anonymous http://ift.tt/2pB0G0W
via IFTTT
Anonymous John
from Google Alert - anonymous http://ift.tt/2oTRgj0
via IFTTT
Tuesday, April 18, 2017
Anonymous Leather Skirt
from Google Alert - anonymous http://ift.tt/2o1KkkO
via IFTTT
Orioles: Seth Smith leaves game vs. Reds with strained right hamstring (ESPN)
via IFTTT
Provide setting to disable showing plans to anonymous users
from Google Alert - anonymous http://ift.tt/2pxnots
via IFTTT
I have a new follower on Twitter
Mike Fitzpatrick
#Founder & #CEO of NCX Group, #CyberSecurity Strategist, A Serial #Entrepreneur, Keynote Speaker, #Ponemon Fellow & Talk Radio Host.
Los Angeles, CA
https://t.co/bd19o1HnAk
Following: 6907 - Followers: 6632
April 18, 2017 at 03:51PM via Twitter http://twitter.com/ncxceo
ISS Daily Summary Report – 4/17/2017
from ISS On-Orbit Status Report http://ift.tt/2oJ347h
via IFTTT
Russian Hacker Selling Cheap Ransomware-as-a-Service On Dark Web
from The Hacker News http://ift.tt/2opYaIN
via IFTTT
Orioles hopeful P Chris Tillman (shoulder) will make regular-season debut May 2 vs. Red Sox - MASN Sports (ESPN)
via IFTTT
House In Trees By Anonymous Architects
from Google Alert - anonymous http://ift.tt/2pOq56A
via IFTTT
Auction of rare Alcoholics Anonymous manuscript announced
from Google Alert - anonymous http://ift.tt/2pNUJNt
via IFTTT
Night Glows
Monday, April 17, 2017
Identify anonymous visitors who visit certain pages
from Google Alert - anonymous http://ift.tt/2pt0tjc
via IFTTT
Ravens among six NFL teams that American Airlines will suspend charter service to because it lacks sufficient aircraft (ESPN)
via IFTTT
100 Year Bonds In The Trump Era
from Google Alert - anonymous http://ift.tt/2oF707B
via IFTTT
Ravens scheduled to meet with Western Michigan WR Corey Davis; 6-foot-3 frame ideal size to be No. 1 WR - Jamison Hensley (ESPN)
via IFTTT
Anonymous's Activity
from Google Alert - anonymous http://ift.tt/2pK6zIb
via IFTTT
[FD] Mantis Bug Tracker v1.3.0 / 2.3.0 Pre-Auth Remote Password Reset
Source: Gmail -> IFTTT-> Blogger
Re: [FD] [SYSS-2015-036] Password Safe and Repository Enterprise v7.4.4 - Violation of Secure Design Principles (CWE-657)
Source: Gmail -> IFTTT-> Blogger
[FD] CVE-2017-0199 PoC
Source: Gmail -> IFTTT-> Blogger
Vesame y abraçame (Anonymous)
from Google Alert - anonymous http://ift.tt/2pad0YS
via IFTTT
Que todos sepasan (Anonymous)
from Google Alert - anonymous http://ift.tt/2oE8zT6
via IFTTT
Vacation Rentals near Anonymus Szobor (Anonymous' Statue)
from Google Alert - anonymous http://ift.tt/2omLOkQ
via IFTTT
This Phishing Attack is Almost Impossible to Detect On Chrome, Firefox and Opera
from The Hacker News http://ift.tt/2pqq3oV
via IFTTT
Real-time facial landmark detection with OpenCV, Python, and dlib
Over the past few weeks we have been discussing facial landmarks and the role they play in computer vision and image processing.
We’ve started off by learning how to detect facial landmarks in an image.
We then discovered how to label and annotate each of the facial regions, such as eyes, eyebrows, nose, mouth, and jawline.
Today we are going to expand our implementation of facial landmarks to work in real-time video streams, paving the way for more real-world applications, including next week’s tutorial on blink detection.
To learn how to detect facial landmarks in video streams in real-time, just keep reading.
Looking for the source code to this post?
Jump right to the downloads section.
Real-time facial landmark detection with OpenCV, Python, and dlib
The first part of this blog post will provide an implementation of real-time facial landmark detection for usage in video streams utilizing Python, OpenCV, and dlib.
We’ll then test our implementation and use it to detect facial landmarks in videos.
Facial landmarks in video streams
Let’s go ahead and get this facial landmark example started.
Open up a new file, name it
video_facial_landmarks.py, and insert the following code:
# import the necessary packages from imutils.video import VideoStream from imutils import face_utils import datetime import argparse import imutils import time import dlib import cv2
Lines 2-9 import our required Python packages.
We’ll be using the
face_utilssub-module of imutils, so if you haven’t installed/upgraded to the latest version, take a second and do so now:
$ pip install --upgrade imutils
Note: If you are using Python virtual environments, take care to ensure you are installing/upgrading
imutilsin your proper environment.
We’ll also be using the
VideoStreamimplementation inside of
imutils, allowing you to access your webcam/USB camera/Raspberry Pi camera module in a more efficient, faster, treaded manner. You can read more about the
VideoStreamclass and how it accomplishes a higher frame throughout in this blog post.
If you would like to instead work with video files rather than video streams, be sure to reference this blog post on efficient frame polling from a pre-recorded video file, replacing
VideoStreamwith
FileVideoStream.
For our facial landmark implementation we’ll be using the dlib library. You can learn how to install dlib on your system in this tutorial (if you haven’t done so already).
Next, let’s parse our command line arguments:
# import the necessary packages from imutils.video import VideoStream from imutils import face_utils import datetime import argparse import imutils import time import dlib import cv2 # construct the argument parse and parse the arguments ap = argparse.ArgumentParser() ap.add_argument("-p", "--shape-predictor", required=True, help="path to facial landmark predictor") ap.add_argument("-r", "--picamera", type=int, default=-1, help="whether or not the Raspberry Pi camera should be used") args = vars(ap.parse_args())
Our script requires one command line argument, followed by a second optional one, each detailed below:
-
--shape-predictor
: The path to dlib’s pre-trained facial landmark detector. Use the “Downloads” section of this blog post to download an archive of the code + facial landmark predictor file. -
--picamera
: An optional command line argument, this switch indicates whether the Raspberry Pi camera module should be used instead of the default webcam/USB camera. Supply a value > 0 to use your Raspberry Pi camera.
Now that our command line arguments have been parsed, we need to initialize dlib’s HOG + Linear SVM-based face detector and then load the facial landmark predictor from disk:
# import the necessary packages from imutils.video import VideoStream from imutils import face_utils import datetime import argparse import imutils import time import dlib import cv2 # construct the argument parse and parse the arguments ap = argparse.ArgumentParser() ap.add_argument("-p", "--shape-predictor", required=True, help="path to facial landmark predictor") ap.add_argument("-r", "--picamera", type=int, default=-1, help="whether or not the Raspberry Pi camera should be used") args = vars(ap.parse_args()) # initialize dlib's face detector (HOG-based) and then create # the facial landmark predictor print("[INFO] loading facial landmark predictor...") detector = dlib.get_frontal_face_detector() predictor = dlib.shape_predictor(args["shape_predictor"])
The next code block simply handles initializing our
VideoStreamand allowing the camera sensor to warm up:
# import the necessary packages from imutils.video import VideoStream from imutils import face_utils import datetime import argparse import imutils import time import dlib import cv2 # construct the argument parse and parse the arguments ap = argparse.ArgumentParser() ap.add_argument("-p", "--shape-predictor", required=True, help="path to facial landmark predictor") ap.add_argument("-r", "--picamera", type=int, default=-1, help="whether or not the Raspberry Pi camera should be used") args = vars(ap.parse_args()) # initialize dlib's face detector (HOG-based) and then create # the facial landmark predictor print("[INFO] loading facial landmark predictor...") detector = dlib.get_frontal_face_detector() predictor = dlib.shape_predictor(args["shape_predictor"]) # initialize the video stream and allow the cammera sensor to warmup print("[INFO] camera sensor warming up...") vs = VideoStream(usePiCamera=args["picamera"] > 0).start() time.sleep(2.0)
The heart of our video processing pipeline can be found inside the
whileloop below:
# import the necessary packages from imutils.video import VideoStream from imutils import face_utils import datetime import argparse import imutils import time import dlib import cv2 # construct the argument parse and parse the arguments ap = argparse.ArgumentParser() ap.add_argument("-p", "--shape-predictor", required=True, help="path to facial landmark predictor") ap.add_argument("-r", "--picamera", type=int, default=-1, help="whether or not the Raspberry Pi camera should be used") args = vars(ap.parse_args()) # initialize dlib's face detector (HOG-based) and then create # the facial landmark predictor print("[INFO] loading facial landmark predictor...") detector = dlib.get_frontal_face_detector() predictor = dlib.shape_predictor(args["shape_predictor"]) # initialize the video stream and allow the cammera sensor to warmup print("[INFO] camera sensor warming up...") vs = VideoStream(usePiCamera=args["picamera"] > 0).start() time.sleep(2.0) # loop over the frames from the video stream while True: # grab the frame from the threaded video stream, resize it to # have a maximum width of 400 pixels, and convert it to # grayscale frame = vs.read() frame = imutils.resize(frame, width=400) gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # detect faces in the grayscale frame rects = detector(gray, 0)
On Line 31 we start an infinite loop that we can only break out of if we decide to exit the script by pressing the
qkey on our keyboard.
Line 35 grabs the next frame from our video stream.
We then preprocess this frame by resizing it to have a width of 400 pixels and convert it to grayscale (Lines 36 an 37).
Before we can detect facial landmarks in our frame, we first need to localize the face — this is accomplished on Line 40 via the
detectorwhich returns the bounding box (x, y)-coordinates for each face in the image.
Now that we have detected the faces in the video stream, the next step is to apply the facial landmark predictor to each face ROI:
# import the necessary packages from imutils.video import VideoStream from imutils import face_utils import datetime import argparse import imutils import time import dlib import cv2 # construct the argument parse and parse the arguments ap = argparse.ArgumentParser() ap.add_argument("-p", "--shape-predictor", required=True, help="path to facial landmark predictor") ap.add_argument("-r", "--picamera", type=int, default=-1, help="whether or not the Raspberry Pi camera should be used") args = vars(ap.parse_args()) # initialize dlib's face detector (HOG-based) and then create # the facial landmark predictor print("[INFO] loading facial landmark predictor...") detector = dlib.get_frontal_face_detector() predictor = dlib.shape_predictor(args["shape_predictor"]) # initialize the video stream and allow the cammera sensor to warmup print("[INFO] camera sensor warming up...") vs = VideoStream(usePiCamera=args["picamera"] > 0).start() time.sleep(2.0) # loop over the frames from the video stream while True: # grab the frame from the threaded video stream, resize it to # have a maximum width of 400 pixels, and convert it to # grayscale frame = vs.read() frame = imutils.resize(frame, width=400) gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # detect faces in the grayscale frame rects = detector(gray, 0) # loop over the face detections for rect in rects: # determine the facial landmarks for the face region, then # convert the facial landmark (x, y)-coordinates to a NumPy # array shape = predictor(gray, rect) shape = face_utils.shape_to_np(shape) # loop over the (x, y)-coordinates for the facial landmarks # and draw them on the image for (x, y) in shape: cv2.circle(frame, (x, y), 1, (0, 0, 255), -1) # show the frame cv2.imshow("Frame", frame) key = cv2.waitKey(1) & 0xFF # if the `q` key was pressed, break from the loop if key == ord("q"): break
On Line 43 we loop over each of the detected faces.
Line 47 applies the facial landmark detector to the face region, returning a
shapeobject which we convert to a NumPy array (Line 48).
Lines 52 and 53 then draw a series of circles on the output
frame, visualizing each of the facial landmarks. To understand what facial region (i.e., nose, eyes, mouth, etc.) each (x, y)-coordinate maps to, please refer to this blog post.
Lines 56 and 57 display the output
frameto our screen. If the
qkey is pressed, we break from the loop and stop the script (Lines 60 and 61).
Finally, Lines 64 and 65 do a bit of cleanup:
# import the necessary packages from imutils.video import VideoStream from imutils import face_utils import datetime import argparse import imutils import time import dlib import cv2 # construct the argument parse and parse the arguments ap = argparse.ArgumentParser() ap.add_argument("-p", "--shape-predictor", required=True, help="path to facial landmark predictor") ap.add_argument("-r", "--picamera", type=int, default=-1, help="whether or not the Raspberry Pi camera should be used") args = vars(ap.parse_args()) # initialize dlib's face detector (HOG-based) and then create # the facial landmark predictor print("[INFO] loading facial landmark predictor...") detector = dlib.get_frontal_face_detector() predictor = dlib.shape_predictor(args["shape_predictor"]) # initialize the video stream and allow the cammera sensor to warmup print("[INFO] camera sensor warming up...") vs = VideoStream(usePiCamera=args["picamera"] > 0).start() time.sleep(2.0) # loop over the frames from the video stream while True: # grab the frame from the threaded video stream, resize it to # have a maximum width of 400 pixels, and convert it to # grayscale frame = vs.read() frame = imutils.resize(frame, width=400) gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # detect faces in the grayscale frame rects = detector(gray, 0) # loop over the face detections for rect in rects: # determine the facial landmarks for the face region, then # convert the facial landmark (x, y)-coordinates to a NumPy # array shape = predictor(gray, rect) shape = face_utils.shape_to_np(shape) # loop over the (x, y)-coordinates for the facial landmarks # and draw them on the image for (x, y) in shape: cv2.circle(frame, (x, y), 1, (0, 0, 255), -1) # show the frame cv2.imshow("Frame", frame) key = cv2.waitKey(1) & 0xFF # if the `q` key was pressed, break from the loop if key == ord("q"): break # do a bit of cleanup cv2.destroyAllWindows() vs.stop()
As you can see, there are very little differences between detecting facial landmarks in images versus detecting facial landmarks in video streams — the main differences in the code simply involve setting up our video stream pointers and then polling the stream for frames.
The actual process of detecting facial landmarks is the same, only instead of detecting facial landmarks in a single image we are now detecting facial landmarks in a series of frames.
Real-time facial landmark results
To test our real-time facial landmark detector using OpenCV, Python, and dlib, make sure you use the “Downloads” section of this blog post to download an archive of the code, project structure, and facial landmark predictor model.
If you are using a standard webcam/USB camera, you can execute the following command to start the video facial landmark predictor:
$ python video_facial_landmarks.py \ --shape-predictor shape_predictor_68_face_landmarks.dat
Otherwise, if you are on your Raspberry Pi, make sure you append the
--picamera 1switch to the command:
$ python video_facial_landmarks.py \ --shape-predictor shape_predictor_68_face_landmarks.dat \ --picamera 1
Here is a short GIF of the output where you can see that facial landmarks have been successfully detected on my face in real-time:
I have included a full video output below as well:
Summary
In today’s blog post we extended our previous tutorials on facial landmarks and applied them to the task of real-time detection.
As our results demonstrated, we are fully capable of detecting facial landmarks in a video stream in real-time using a system with a modest CPU.
Now that we understand how to access a video stream and apply facial landmark detection, we can move on to next week’s real-world computer vision application — blink detection.
To be notified when the blink detection tutorial goes live, be sure to enter your email address in the form below — this is a tutorial you won’t want to miss!
Downloads:
The post Real-time facial landmark detection with OpenCV, Python, and dlib appeared first on PyImageSearch.
from PyImageSearch http://ift.tt/2nUNGpK
via IFTTT
ISS Daily Summary Report – 4/14/2017
from ISS On-Orbit Status Report http://ift.tt/2nUs2Sm
via IFTTT
Robert W. Taylor, Who Helped Create the Internet, Dies at 85
from The Hacker News http://ift.tt/2oOxNAa
via IFTTT
Food Addicts in Recovery Anonymous -- Free Weekly Meetings
from Google Alert - anonymous http://ift.tt/2olg9QB
via IFTTT
Sunday, April 16, 2017
Anonymous user f10db8
from Google Alert - anonymous http://ift.tt/2okUQ1U
via IFTTT
Orioles: Manny Machado and Craig Gentry borrow power from Trey Mancini, both use rookie's bats to hit home runs Sunday (ESPN)
via IFTTT
Orioles Video: Trey Mancini, Craig Gentry and Manny Machado pour it on with homers in 8th inning of 11-4 rout of Blue Jays (ESPN)
via IFTTT
loving someone
from Google Alert - anonymous http://ift.tt/2nSuM2E
via IFTTT
PIC: An anonymous good samaritan had a heartwarming surprise for Dublin Fire Brigade for Easter
from Google Alert - anonymous http://ift.tt/2oDaCIS
via IFTTT
I have a new follower on Twitter
Melissa Osborne
if you want to you sure can see my perfect boobs here https://t.co/t7f6WwhqKe
https://t.co/t7f6WwhqKe
Following: 520 - Followers: 3
April 16, 2017 at 05:14AM via Twitter http://twitter.com/Francis87942744
Crowd of anonymous people walking on busy city street
from Google Alert - anonymous http://ift.tt/2p72Qby
via IFTTT