{"id":38847,"date":"2020-07-06T17:15:00","date_gmt":"2020-07-06T17:15:00","guid":{"rendered":"https:\/\/icrowdnewswire.com\/?p=2638070"},"modified":"2020-07-06T17:15:00","modified_gmt":"2020-07-06T17:15:00","slug":"a-comprehensive-guide-on-how-to-detect-faces-with-python","status":"publish","type":"post","link":"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/","title":{"rendered":"A comprehensive guide on how to detect faces with Python"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"233\" height=\"24\" src=\"https:\/\/icrowdnewswire.com\/wp-content\/uploads\/2020\/06\/4001-logo.png\" class=\"webfeedsFeaturedVisual wp-post-image\" alt=\"\" style=\"display: block; margin-bottom: 5px; clear:both;max-width: 100%;\" link_thumbnail=\"\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Copy-of-Copy-of-Copy-of-Copy-of-Copy-of-Copy-of-...-13-796x417.png\" alt=\"A comprehensive guide on how to detect faces with Python\" width=\"557\" height=\"292\" \/><\/p>\n<p>Today we&rsquo;re going to learn how to work with images to detect faces and extract facial features such as the eyes, nose, and mouth. This method has the potential to do many incredible things from analyzing faces to capturing facial features to tag people in photos, either manually or through machine learning. Also, you can create effects and filters to &ldquo;enhance&rdquo; your images, similar to the ones you see in Snapchat.<\/p>\n<p>We&rsquo;ve previously covered&nbsp;<a href=\"https:\/\/livecodestream.dev\/post\/2020-06-11-essential-opencv-functions-to-get-you-started-into-computer-vision\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">how to work with OpenCV<\/a>&nbsp;to detect shapes in images, but today we&rsquo;re&nbsp;taking it to a new level by introducing DLib, and abstracting face features from an image.<\/p>\n<p>[Read:&nbsp;<a href=\"https:\/\/thenextweb.com\/readme\/2020\/05\/28\/how-the-dutch-government-uses-data-to-predict-the-weather-and-prepare-for-natural-disasters\/\"><em>How the Dutch government uses data to predict the weather and prepare for natural disasters<\/em><\/a>]<\/p>\n<p>But first of all, what is DLib? Well, this&nbsp;is an advanced machine learning library that was created to solve complex real-world problems. This library has been created using the C++ programming language and it works with C\/C++, Python, and Java.<\/p>\n<p>It&rsquo;s also worth noting this tutorial might require some previous understanding of the OpenCV library. Such as how to deal with images, open the camera, image processing, and some other techniques.<\/p>\n<h2 id=\"how-does-itwork\">So, how does it&nbsp;work?<\/h2>\n<p>Our face has several features that can be identified, like our eyes, mouth, nose, etc. When we use DLib algorithms to detect these features we actually get a map of points that surround each feature.<\/p>\n<p>This map&nbsp;is composed of 67 points (called landmark points) and can identify the following features:<\/p>\n<figure class=\"\" data-src=\"\/post\/2020-07-03-detecting-face-features-with-python\/points.png\">\n<p>&nbsp;<\/p>\n<figure class=\"post-image post-mediaBleed aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"lazy loaded lazy lazyLoaded\" src=\"https:\/\/livecodestream.dev\/post\/2020-07-03-detecting-face-features-with-python\/points.png\" alt=\"\" width=\"414\" height=\"394\" data-lazy=\"true\" \/><figcaption>Point map<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<\/figure>\n<ul>\n<li>Jaw Points = 0&ndash;16<\/li>\n<li>Right Brow Points = 17&ndash;21<\/li>\n<li>Left Brow Points = 22&ndash;26<\/li>\n<li>Nose Points = 27&ndash;35<\/li>\n<li>Right Eye Points = 36&ndash;41<\/li>\n<li>Left Eye Points = 42&ndash;47<\/li>\n<li>Mouth Points = 48&ndash;60<\/li>\n<li>Lips Points = 61&ndash;67<\/li>\n<\/ul>\n<p>Now that we know a bit about how we plan to extract the features, let&rsquo;s start coding:<\/p>\n<h2 id=\"installing-requirements\">Installing requirements<\/h2>\n<p>This article will present examples with code, and I&rsquo;ll guide you step by step to implement a fully working example of facial&nbsp;feature recognition. But before we get started, make sure you&rsquo;ve started a newPython project and then install three different libraries:<\/p>\n<ul>\n<li>opencv-python<\/li>\n<li>dlib<\/li>\n<\/ul>\n<p>If you use pipenv like I do, you can install all of them with the following command:<\/p>\n<p>&nbsp;<\/p>\n<figure class=\"post-image post-mediaBleed alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1303582 lazy lazyLoaded\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-11.31.34-AM.png\" alt=\"\" width=\"708\" height=\"99\" data-lazy=\"true\" \/><\/figure>\n<p>&nbsp;<\/p>\n<p>If you&rsquo;re working on Mac, and some versions of Linux,&nbsp;you may have some problems when installing dlib. If you get compiling errors during the installation make sure you check the CMake library version you&rsquo;re using. In Mac,&nbsp;make sure you have CMake available and with the right version you can run:<\/p>\n<p>&nbsp;<\/p>\n<figure class=\"post-image post-mediaBleed alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1303583 lazy lazyLoaded\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-11.31.46-AM.png\" alt=\"\" width=\"693\" height=\"87\" data-lazy=\"true\" \/><\/figure>\n<p>&nbsp;<\/p>\n<h2 id=\"step-1-loading-and-presenting-animage\">Step 1: Loading and presenting an&nbsp;image<\/h2>\n<p>We&rsquo;ll start small and build on the code until we have a fully working example. Normally I like to use plots to render the images, but since we have something cool prepared for later in the post, we&rsquo;ll do something different and&nbsp;create a window where we&rsquo;re going to show the results of our work.<\/p>\n<p>So, let&rsquo;s get started:<\/p>\n<p>&nbsp;<\/p>\n<figure class=\"post-image post-mediaBleed alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1303584 lazy lazyLoaded\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-11.32.03-AM.png\" alt=\"\" width=\"700\" height=\"485\" data-lazy=\"true\" \/><\/figure>\n<p>&nbsp;<\/p>\n<p>Pretty simple, right? We&rsquo;re just loading the image with imread, and then telling OpenCV to show the image in a winname, this will open the window and give it a title.<\/p>\n<p>After that, we need to pause execution as the window will be destroyed when the script stops. So we use cv2.waitKey to hold the window until a key is pressed, and after that, we destroy the window and exit the script.<\/p>\n<p>If you use the code and added an image named face.jpg to the code directory, you should get something like the following:<\/p>\n<figure class=\"\" data-src=\"\/post\/2020-07-03-detecting-face-features-with-python\/face0.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1303615\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-12.28.56-PM.png\" alt=\"\" width=\"555\" height=\"453\" \/><figcaption>&nbsp;<\/figcaption><\/figure>\n<h2 id=\"step-2-face-recognition\">Step 2: Face recognition<\/h2>\n<p>So far we haven&rsquo;t done anything with the image other than present it into a window. That&rsquo;s&nbsp;pretty boring, but now we&rsquo;ll start coding the good stuff and identify the face in the image.<\/p>\n<p>For this we will use a Dlib function called&nbsp;<code>get_frontal_face_detector()<\/code>, pretty intuitive. There&rsquo;s a caveat though, this function will only work with grayscale images, so we will have to do that first with OpenCV.<\/p>\n<p>The&nbsp;<code>get_frontal_face_detector()<\/code>&nbsp;will&nbsp;return a&nbsp;<code>detector<\/code>&nbsp;that is a function we can use to retrieve the faces information. Each face is an object that contains the points where the image can be found.<\/p>\n<p>Let&rsquo;s see it on the code:<\/p>\n<p>&nbsp;<\/p>\n<figure class=\"post-image post-mediaBleed alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1303585 lazy lazyLoaded\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-11.32.48-AM.png\" alt=\"\" width=\"446\" height=\"704\" data-lazy=\"true\" \/><\/figure>\n<p>&nbsp;<\/p>\n<p>The code above will retrieve all the faces from the image and render a rectangle over each face, resulting in an image like this:<\/p>\n<figure class=\"\" data-src=\"\/post\/2020-07-03-detecting-face-features-with-python\/face1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1303616\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-12.29.32-PM.png\" alt=\"\" width=\"539\" height=\"411\" \/><\/figure>\n<p>Good news, we&rsquo;ve found the face.&nbsp;But we still need to do some work to extract all the features. Let&rsquo;s work on that next.<\/p>\n<h2 id=\"step-3-identifying-facefeatures\">Step 3: Identifying face&nbsp;features<\/h2>\n<p>So far DLib has been pretty magical in the way it works. With just a few lines of code we could achieve a lot&nbsp;and now we have a whole new problem. Will the next steps be just as east?<\/p>\n<p>The short answer is yes! Turns out DLib offers a function called&nbsp;<code>shape_predictor()<\/code>&nbsp;that will do all the magic for us but it does require a little help &mdash; it needs a pre-trained model to work.<\/p>\n<p>There are several models out there that work with&nbsp;<code>shape_predictor<\/code>, the one I&rsquo;m using can be downloaded&nbsp;<a href=\"https:\/\/github.com\/italojs\/facial-landmarks-recognition\/blob\/master\/shape_predictor_68_face_landmarks.dat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">here<\/a>, but feel free to try others.<\/p>\n<p>Like before, we&rsquo;re always building on the same code. Now,&nbsp;we&rsquo;re using our predictor function for each face to find the landmarks. But there&rsquo;s still&nbsp;something a little&nbsp;strange, like what&rsquo;s the number 27 doing there?<\/p>\n<p>&nbsp;<\/p>\n<figure class=\"post-image post-mediaBleed alignnone\"><img decoding=\"async\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-11.34.41-AM.png\" \/><\/figure>\n<p>&nbsp;<\/p>\n<p>Our predictor function will return an object that contains all the 68 points that conform a face according to the diagram we saw before, and if you pay attention to it, the point 27 is exactly between the eyes. If everything&nbsp;worked out correctly, you should see a green dot between the eyes in the face.<\/p>\n<figure class=\"\" data-src=\"\/post\/2020-07-03-detecting-face-features-with-python\/face2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1303617\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-12.30.09-PM.png\" alt=\"\" width=\"536\" height=\"409\" \/><\/figure>\n<p>We&rsquo;re getting really close, let&rsquo;s now render all the points instead of just the one:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-11.35.38-AM.png\" \/><\/p>\n<p>&nbsp;<\/p>\n<figure class=\"post-image post-mediaBleed alignnone\"><img decoding=\"async\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-11.35.53-AM.png\" \/><\/figure>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<figure class=\"post-image post-mediaBleed alignnone\"><img decoding=\"async\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-11.36.11-AM.png\" \/><\/figure>\n<p>&nbsp;<\/p>\n<p>Tada! Magic:<\/p>\n<figure class=\"\" data-src=\"\/post\/2020-07-03-detecting-face-features-with-python\/face3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1303618\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-12.30.24-PM.png\" alt=\"\" width=\"540\" height=\"409\" \/><\/figure>\n<p>But what if you&rsquo;re not interested in all the points? Well, you can actually adjust your&nbsp;<code>range<\/code>&nbsp;intervals to get any feature specified in the glossary above, as I did here:<\/p>\n<figure class=\"\" data-src=\"\/post\/2020-07-03-detecting-face-features-with-python\/face4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1303619\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-12.30.38-PM.png\" alt=\"\" width=\"535\" height=\"409\" \/><\/figure>\n<p>Amazing, what else can we do?<\/p>\n<h2 id=\"step-4-real-time-detection\">Step 4: Real-time detection<\/h2>\n<p>Yes, you read it right! And yes it&rsquo;s probably what you are thinking! The next step is to hook up our webcam and do real-time landmark recognition from your video stream.<\/p>\n<p>You can do real-time facial landmarks detection on your face by iterating through video frames with your camera or use a video file. Refer to the code below if you want to use your own camera but for video file make sure to change the number &lsquo;0&rsquo; to video path.<\/p>\n<p>If you want to end the window press ESC key on your keyboard:<\/p>\n<p>&nbsp;<\/p>\n<figure class=\"post-image post-mediaBleed alignnone\"><img decoding=\"async\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-11.36.11-AM.png\" \/><\/figure>\n<p><img decoding=\"async\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/Screen-Shot-2020-07-06-at-11.36.43-AM.png\" \/><\/p>\n<figure class=\"post-image post-mediaBleed alignnone\"><\/figure>\n<p>&nbsp;<\/p>\n<p>And the final result is here:<\/p>\n<figure class=\"\" data-src=\"\/post\/2020-07-03-detecting-face-features-with-python\/video.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1303620\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2020\/07\/video.gif\" alt=\"\" width=\"606\" height=\"375\" \/><\/figure>\n<p>GIF created from the original video, I had to cut frames to make the GIF a decent&nbsp;size. Even&nbsp;with low light the results were pretty accurate, though there are some errors in the image above, but with better lighting it works perfectly.<\/p>\n<p>OpenCV and DLib are powerful libraries that simplify working with machine learning and computer vision. In this article, we&rsquo;ve only just scratched the surface, there&rsquo;s much more to learn from both of them.<\/p>\n<p class=\"tags\">\n<div><strong>See Campaign: <\/strong><a href=\"https:\/\/livecodestream.dev\/post\/2020-06-11-essential-opencv-functions-to-get-you-started-into-comput\" target=\"_blank\">https:\/\/livecodestream.dev\/post\/2020-06-11-essential-opencv-functions-to-get-you-started-into-comput<\/a><br \/><b>Contact Information:<\/b><br \/> LIVE CODE STREAM <\/p>\n<p><b>Tags:<\/b><br \/><a href=\"\"><\/a>, <a href=\"https:\/\/icrowdnewswire.com\/category\/news-category\/wire\/\" rel=\"category tag\">Wire<\/a>, <a href=\"https:\/\/icrowdnewswire.com\/category\/global-regions\/united-states\/\" rel=\"category tag\">United States<\/a>, <a href=\"https:\/\/icrowdnewswire.com\/category\/language\/english\/\" rel=\"category tag\">English<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\" alt=\"image\" width=\"400\" height=\"300\" class=\"cwdfimg\" \/><\/div>\n<div>\n<h3>Contact Information:<\/h3>\n<p> LIVE CODE STREAM <\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"233\" height=\"24\" src=\"https:\/\/icrowdnewswire.com\/wp-content\/uploads\/2020\/06\/4001-logo.png\" alt=\"\">Today we&rsquo;re going to learn how to work with images to detect faces and extract facial features such as the eyes, nose, and mouth. This method has the potential to do many incredible things from analyzing faces to capturing facial features to tag people in photos, either manually or through machine learning. Also, you can &hellip; <a href=\"https:\/\/icrowdnewswire.com\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/\">Continue reading <span>A comprehensive guide on how to detect faces with Python<\/span><\/a> <a href=\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/\" class=\"more-link\">Continue Reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":47,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,22,54],"tags":[],"class_list":["post-38847","post","type-post","status-publish","format-standard","hentry","category-english","category-united-states","category-wire"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A comprehensive guide on how to detect faces with Python - Business<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A comprehensive guide on how to detect faces with Python - Business\" \/>\n<meta property=\"og:description\" content=\"Today we&rsquo;re going to learn how to work with images to detect faces and extract facial features such as the eyes, nose, and mouth. This method has the potential to do many incredible things from analyzing faces to capturing facial features to tag people in photos, either manually or through machine learning. Also, you can &hellip; Continue reading A comprehensive guide on how to detect faces with Python Continue Reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Business\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-06T17:15:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/icrowdnewswire.com\/wp-content\/uploads\/2020\/06\/4001-logo.png\" \/>\n<meta name=\"author\" content=\"Bilal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bilal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/\",\"url\":\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/\",\"name\":\"A comprehensive guide on how to detect faces with Python - Business\",\"isPartOf\":{\"@id\":\"https:\/\/ipsnews.net\/business\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/icrowdnewswire.com\/wp-content\/uploads\/2020\/06\/4001-logo.png\",\"datePublished\":\"2020-07-06T17:15:00+00:00\",\"author\":{\"@id\":\"https:\/\/ipsnews.net\/business\/#\/schema\/person\/70b05bacee6cf8a877350412fae25e20\"},\"breadcrumb\":{\"@id\":\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/#primaryimage\",\"url\":\"https:\/\/icrowdnewswire.com\/wp-content\/uploads\/2020\/06\/4001-logo.png\",\"contentUrl\":\"https:\/\/icrowdnewswire.com\/wp-content\/uploads\/2020\/06\/4001-logo.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ipsnews.net\/business\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A comprehensive guide on how to detect faces with Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ipsnews.net\/business\/#website\",\"url\":\"https:\/\/ipsnews.net\/business\/\",\"name\":\"Business\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ipsnews.net\/business\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/ipsnews.net\/business\/#\/schema\/person\/70b05bacee6cf8a877350412fae25e20\",\"name\":\"Bilal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ipsnews.net\/business\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/01d05f3f41cc0f9ca88d2011a983bb3f2e83e3e92e3532188bf201df38d2aea8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/01d05f3f41cc0f9ca88d2011a983bb3f2e83e3e92e3532188bf201df38d2aea8?s=96&d=mm&r=g\",\"caption\":\"Bilal\"},\"sameAs\":[\"https:\/\/icrowdnewswire.com\/fc\"],\"url\":\"http:\/\/ipsnews.net\/business\/author\/bilal\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A comprehensive guide on how to detect faces with Python - Business","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/","og_locale":"en_US","og_type":"article","og_title":"A comprehensive guide on how to detect faces with Python - Business","og_description":"Today we&rsquo;re going to learn how to work with images to detect faces and extract facial features such as the eyes, nose, and mouth. This method has the potential to do many incredible things from analyzing faces to capturing facial features to tag people in photos, either manually or through machine learning. Also, you can &hellip; Continue reading A comprehensive guide on how to detect faces with Python Continue Reading &rarr;","og_url":"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/","og_site_name":"Business","article_published_time":"2020-07-06T17:15:00+00:00","og_image":[{"url":"https:\/\/icrowdnewswire.com\/wp-content\/uploads\/2020\/06\/4001-logo.png","type":"","width":"","height":""}],"author":"Bilal","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Bilal","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/","url":"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/","name":"A comprehensive guide on how to detect faces with Python - Business","isPartOf":{"@id":"https:\/\/ipsnews.net\/business\/#website"},"primaryImageOfPage":{"@id":"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/#primaryimage"},"image":{"@id":"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/#primaryimage"},"thumbnailUrl":"https:\/\/icrowdnewswire.com\/wp-content\/uploads\/2020\/06\/4001-logo.png","datePublished":"2020-07-06T17:15:00+00:00","author":{"@id":"https:\/\/ipsnews.net\/business\/#\/schema\/person\/70b05bacee6cf8a877350412fae25e20"},"breadcrumb":{"@id":"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/#primaryimage","url":"https:\/\/icrowdnewswire.com\/wp-content\/uploads\/2020\/06\/4001-logo.png","contentUrl":"https:\/\/icrowdnewswire.com\/wp-content\/uploads\/2020\/06\/4001-logo.png"},{"@type":"BreadcrumbList","@id":"http:\/\/ipsnews.net\/business\/2020\/07\/06\/a-comprehensive-guide-on-how-to-detect-faces-with-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ipsnews.net\/business\/"},{"@type":"ListItem","position":2,"name":"A comprehensive guide on how to detect faces with Python"}]},{"@type":"WebSite","@id":"https:\/\/ipsnews.net\/business\/#website","url":"https:\/\/ipsnews.net\/business\/","name":"Business","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ipsnews.net\/business\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/ipsnews.net\/business\/#\/schema\/person\/70b05bacee6cf8a877350412fae25e20","name":"Bilal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ipsnews.net\/business\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/01d05f3f41cc0f9ca88d2011a983bb3f2e83e3e92e3532188bf201df38d2aea8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/01d05f3f41cc0f9ca88d2011a983bb3f2e83e3e92e3532188bf201df38d2aea8?s=96&d=mm&r=g","caption":"Bilal"},"sameAs":["https:\/\/icrowdnewswire.com\/fc"],"url":"http:\/\/ipsnews.net\/business\/author\/bilal\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/ipsnews.net\/business\/wp-json\/wp\/v2\/posts\/38847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/ipsnews.net\/business\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ipsnews.net\/business\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ipsnews.net\/business\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"http:\/\/ipsnews.net\/business\/wp-json\/wp\/v2\/comments?post=38847"}],"version-history":[{"count":1,"href":"http:\/\/ipsnews.net\/business\/wp-json\/wp\/v2\/posts\/38847\/revisions"}],"predecessor-version":[{"id":38848,"href":"http:\/\/ipsnews.net\/business\/wp-json\/wp\/v2\/posts\/38847\/revisions\/38848"}],"wp:attachment":[{"href":"http:\/\/ipsnews.net\/business\/wp-json\/wp\/v2\/media?parent=38847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ipsnews.net\/business\/wp-json\/wp\/v2\/categories?post=38847"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ipsnews.net\/business\/wp-json\/wp\/v2\/tags?post=38847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}