

{"id":82227,"date":"2020-09-15T14:30:59","date_gmt":"2020-09-15T09:00:59","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=82227"},"modified":"2025-07-28T15:56:03","modified_gmt":"2025-07-28T10:26:03","slug":"image-segmentation-machine-learning","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/","title":{"rendered":"Image Segmentation with Machine Learning"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:429,&quot;href&quot;:&quot;https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/11S2o8qfJxqq9UouVMG7uBTZhPcPJDvWr\\\/view?usp=sharing&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20220804092848\\\/https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/11S2o8qfJxqq9UouVMG7uBTZhPcPJDvWr\\\/view?usp=sharing&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-08 15:57:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-12 07:00:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-15 09:24:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-18 21:51:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-22 01:09:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-25 09:13:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-28 09:42:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-01 01:48:25&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-01-04 04:47:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-07 05:50:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-10 07:58:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 13:56:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-16 14:55:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-20 02:12:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-23 04:22:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-26 05:55:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-29 07:39:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-01 10:03:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-04 10:39:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-07 14:27:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-11 01:40:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-14 04:47:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-17 08:49:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 11:00:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 03:22:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 04:06:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-02 06:25:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-05 07:17:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 10:20:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 10:55:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-14 13:47:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-18 11:50:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-21 18:44:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-25 06:55:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-28 11:35:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 13:21:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 11:49:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-07 19:19:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-11 09:49:45&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-04-14 11:27:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-17 18:25:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 22:02:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-23 23:08:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-27 04:32:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-30 05:29:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-04 03:07:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-07 03:57:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-10 05:35:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-13 07:01:14&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-16 14:46:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-19 15:25:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-22 18:15:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-26 08:04:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-29 09:07:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-01 09:53:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-04 12:47:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-07 17:04:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-11 16:30:49&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-11 16:30:49&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:430,&quot;href&quot;:&quot;https:\\\/\\\/github.com\\\/matterport\\\/Mask_RCNN\\\/releases&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20250503220723\\\/https:\\\/\\\/github.com\\\/matterport\\\/Mask_RCNN\\\/releases&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-08 15:57:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-12 07:01:19&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2025-12-15 09:24:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-18 21:51:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-22 08:24:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-25 09:13:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-28 09:43:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-01 01:48:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-04 04:47:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-07 05:50:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-10 07:58:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-13 13:56:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-16 14:56:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-20 02:12:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-23 04:22:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-26 05:55:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-29 07:39:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-01 10:04:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-04 10:39:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-07 14:27:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-11 01:40:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-14 04:47:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-17 08:49:30&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-20 11:00:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 03:22:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-27 04:06:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-02 06:25:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-05 07:17:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 10:21:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 10:55:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-14 13:47:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-18 11:50:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-21 18:44:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 06:55:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-28 11:35:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 13:21:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-04 11:49:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-07 19:19:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-11 09:49:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-14 11:27:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-17 18:25:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-20 22:02:49&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-23 23:08:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-27 04:32:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-30 05:29:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-04 03:07:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-07 03:57:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-10 07:52:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-13 12:56:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-16 14:46:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-19 15:25:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-22 18:15:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-26 08:04:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-29 09:07:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-02 07:00:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-05 09:35:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-08 11:38:08&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-06-11 16:30:50&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-11 16:30:50&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p><strong>Work on an intermediate-level Machine Learning Project &#8211; Image Segmentation<\/strong><\/p>\n<p>You might have wondered, how fast and efficiently our brain is trained to identify and classify what our eyes perceive. Somehow our brain is trained in a way to analyze everything at a granular level. This helps us distinguish an apple in a bunch of oranges.<\/p>\n<p>Computer vision is a field of computer science that enables computers to identify and process objects in videos and images just the way we humans do. Although computer vision might seem like not a very old concept but it dates back to the late 1960s when the first digital image scanner which transformed images into grids of numbers was invented.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-demo.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-82232\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-demo.jpg\" alt=\"image segmentation demo\" width=\"993\" height=\"752\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-demo.jpg 993w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-demo-300x227.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-demo-150x114.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-demo-768x582.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-demo-520x394.jpg 520w\" sizes=\"auto, (max-width: 993px) 100vw, 993px\" \/><\/a><\/p>\n<h3>What is Image Segmentation?<\/h3>\n<p>You would have probably heard about object detection and image localization. When there is a single object present in an image, we use image localization technique to draw a bounding box around that object. In the case of object detection, it provides labels along with the bounding boxes; hence we can predict the location as well as the class to which each object belongs.<\/p>\n<p>Image segmentation results in more granular information about the shape of an image and thus an extension of the concept of Object Detection.<\/p>\n<p>We segment i.e. divide the images into regions of different colors which helps in distinguishing an object from the other at a finer level<\/p>\n<h3>Types of Image Segmentation<\/h3>\n<p>Image Segmentation can be broadly classified into two types:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/segmentation-types.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-82233\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/segmentation-types.png\" alt=\"segmentation types\" width=\"1883\" height=\"771\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/segmentation-types.png 1883w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/segmentation-types-300x123.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/segmentation-types-1024x419.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/segmentation-types-150x61.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/segmentation-types-768x314.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/segmentation-types-1536x629.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/segmentation-types-520x213.png 520w\" sizes=\"auto, (max-width: 1883px) 100vw, 1883px\" \/><\/a><\/p>\n<h4>1. Semantic Segmentation<\/h4>\n<p>Semantic Segmentation is the process of segmenting the image pixels into their respective classes. For example, in the figure above, the cat is associated with yellow color; hence all the pixels related to the cat are colored yellow. Multiple objects of the same class are considered as a single entity and hence represented with the same color.<\/p>\n<h4>2. Instance Segmentation<\/h4>\n<p>Instance segmentation is being more thorough and usually comes into picture when dealing with multiple objects. The difference here is, the detected object is masked with a color hence all the pixels associated with the image are given the same color. Multiple objects of the same class are treated as distinct entities and hence represented with different colors.<\/p>\n<h3>Image Segmentation Applications<\/h3>\n<h4>1. Self-driving cars<\/h4>\n<h4><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/self-driving-car.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-82234\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/self-driving-car.gif\" alt=\"self driving car\" width=\"1236\" height=\"558\" \/><\/a><\/h4>\n<p>Image segmentation can be used in self-driving cars for giving easy distinctions between various objects. Be it traffic signals, signboards, humans, and cars. It can help the driving instruction algorithm to better assess the surrounding before generating the next instruction.<\/p>\n<h4>2. Circuit Board Defect Detection<\/h4>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/circuit-board-defect.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-82235\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/circuit-board-defect.jpg\" alt=\"circuit board defect\" width=\"935\" height=\"372\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/circuit-board-defect.jpg 935w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/circuit-board-defect-300x119.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/circuit-board-defect-150x60.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/circuit-board-defect-768x306.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/circuit-board-defect-520x207.jpg 520w\" sizes=\"auto, (max-width: 935px) 100vw, 935px\" \/><\/a><\/p>\n<p>A company has to bear the responsibility of defected devices. If a camera backed with an Image Segmentation model keeps scanning for defects produced in the final product, a lot of money and time can be saved in fixing a defective device.<\/p>\n<h4>3. Face detection<\/h4>\n<p>Nowadays, we have observed that the majority of cameras in phones support portrait mode. Portrait mode is technically an outcome of Image Segmentation. Apart from this, security surveillance will be much more effective when the faces are distinguishable from noisy objects.<\/p>\n<h4>4. Medical Imaging<\/h4>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/medical-imaging.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-82236\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/medical-imaging.jpg\" alt=\"medical imaging\" width=\"1170\" height=\"501\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/medical-imaging.jpg 1170w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/medical-imaging-300x128.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/medical-imaging-1024x438.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/medical-imaging-150x64.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/medical-imaging-768x329.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/medical-imaging-520x223.jpg 520w\" sizes=\"auto, (max-width: 1170px) 100vw, 1170px\" \/><\/a><\/p>\n<p>Image segmentation can be used to extract clinically relevant information from medical reports. For example, image segmentation can be used to segment tumors.<\/p>\n<h3>Mask R-CNN<\/h3>\n<p>We are going to perform image segmentation using the Mask R-CNN architecture. It is an extension of the Faster R-CNN Model which is preferred for object detection tasks.<\/p>\n<p>The Mask R-CNN returns the binary object mask in addition to class label and object bounding box. Mask R-CNN is good at pixel level segmentation.<\/p>\n<h3>How does Mask R-CNN work?<\/h3>\n<p>Mask R-CNN uses an architecture similar to its predecessor Faster R-CNN and also utilizes Fully Convolutional Network for pixel-wise segmentation.<\/p>\n<h4>1. Feature Extraction<\/h4>\n<p>We utilize the ResNet 101 architecture to extract features from the input image. As a result, we get feature maps which are transmitted to Region Proposed Network<\/p>\n<h4>2. Region Proposed Network (RPN)<\/h4>\n<p>After obtaining the feature maps, bounding box candidates are determined and thus RPN extracts RoI (Region of Interest)<\/p>\n<h4>3. RoI Pool<\/h4>\n<p>Faster R-CNN uses an RoI Pool layer to compute features from the obtained proposals in order to infer the class of the object and bounding box coordinates.<\/p>\n<h4>4. RoI Align<\/h4>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/mask-r-cnn.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-82237\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/mask-r-cnn.jpg\" alt=\"mask r-cnn\" width=\"1056\" height=\"502\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/mask-r-cnn.jpg 1056w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/mask-r-cnn-300x143.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/mask-r-cnn-1024x487.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/mask-r-cnn-150x71.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/mask-r-cnn-768x365.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/mask-r-cnn-520x247.jpg 520w\" sizes=\"auto, (max-width: 1056px) 100vw, 1056px\" \/><\/a><\/p>\n<p>RoI pool led to misalignments in getting the Region of Interest due to quantization of RoI coordinates. Since pixel-level segmentation required specificity hence authors of the Faster R-CNN cleverly solved it by implementing the RoI Align.<\/p>\n<p>Masking is done by a small fully-connected network applied to each RoI, which predicts a segmentation mask in a pixel-to-pixel manner.<\/p>\n<h3>Steps to develop Image Segmentation Project<\/h3>\n<h4>Download Image Segmentation Project Code<\/h4>\n<p>Please download the source code of image segmentation: <a href=\"https:\/\/drive.google.com\/file\/d\/11S2o8qfJxqq9UouVMG7uBTZhPcPJDvWr\/view?usp=sharing\"><strong>Image Segmentation with Machine Learning<\/strong><\/a><\/p>\n<h5>1. Clone Mask R-CNN Github Repository<\/h5>\n<p>Now, primarily we download the architecture of the model which we are going to implement. Use the following command:<\/p>\n<p>git clone: <strong>https:\/\/github.com\/matterport\/Mask_RCNN.git<\/strong><\/p>\n<p>Note : If you do not have git installed on your computer, then simply download the file in zip and extract the folder in your desired directory.<\/p>\n<h5>2. Library Dependencies<\/h5>\n<p>Now, since we need certain libraries in order to make it work as you might not have all the necessary libraries.<br \/>\nHere\u2019s the list,<\/p>\n<ul>\n<li>numpy<\/li>\n<li>scipy<\/li>\n<li>pillow<\/li>\n<li>cython<\/li>\n<li>matplotlib<\/li>\n<li>scikit-image<\/li>\n<li>tensorflow<\/li>\n<li>keras<\/li>\n<li>opencv-python<\/li>\n<li>h5py<\/li>\n<li>imgaug<\/li>\n<li>ipython<\/li>\n<\/ul>\n<h5>3. Pre Trained Weights<\/h5>\n<p>Since training a model takes hours and sometimes a day or more, hence it may not be feasible to train a model right now. Hence, we will utilize the pre-trained model to generate predictions on our input image.<\/p>\n<p><a href=\"https:\/\/github.com\/matterport\/Mask_RCNN\/releases\"><strong>Download Pretrained model from github<\/strong><\/a><\/p>\n<p>Follow this link, and you will see a list of the releases of Mask-RCNN. You can try for the latest release but since there were discrepancies, I have used <strong>Mask R-CNN 2.0<\/strong>. You can directly download the <strong>h5 file<\/strong> and save it in the samples folder of the Mask R-CNN repository we cloned in the first step.<\/p>\n<h5>4. Make a new Jupyter Notebook<\/h5>\n<p>So far, we have assembled the engine, it\u2019s time to utilize the power of our engine and drive all the way to our segmented image.<\/p>\n<p>Now, we will make a new Jupyter Notebook under the samples folder in Mask R-CNN repository, you can use any other IDE but Jupyter Notebook gives the ease to execute code cell by cell.<\/p>\n<p>If you do not have a powerful system, you can use <strong>google colab<\/strong> for running the code, but make sure to upload the repo and h5 file correctly.<\/p>\n<h5>5. Importing the Necessary Libraries<\/h5>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">import os\r\nimport sys\r\nimport random\r\nimport math\r\nimport numpy as np\r\nimport skimage.io\r\nimport matplotlib\r\nimport matplotlib.pyplot as plt\r\n\r\n# Fetching the root directory\r\nROOT_DIR = os.path.abspath(\"..\/\")\r\n\r\nimport warnings\r\nwarnings.filterwarnings(\"ignore\")\r\n\r\n# Importing Mask RCNN \r\nsys.path.append(ROOT_DIR)  # To find local version of the library\r\nfrom mrcnn import utils\r\nimport mrcnn.model as modellib\r\nfrom mrcnn import visualize\r\n\r\n# Heading to the coco directory\r\nsys.path.append(os.path.join(ROOT_DIR, \"samples\/coco\/\"))  \r\n#importing coco.py\r\nimport coco\r\n%matplotlib inline\r\n<\/pre>\n<p><strong>Note 1:<\/strong> If you are confused or stuck in locating the directory, type in print (ROOT_DIR) to get the idea of the directory you are referring to.<\/p>\n<p><strong>Note 2:<\/strong> You might get an error associated with \u2018pycocotools\u2019. In case you are unable to successfully install \u2018pycocotools\u2019 in \u2018Windows\u2019 then try to install this as it worked for me.<\/p>\n<h5>6. The path for pretrained weights<\/h5>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\"># Directory to save logs and trained model\r\nMODEL_DIR = os.path.join(ROOT_DIR, \"logs\")\r\n\r\n# Local path to trained weights file\r\nCOCO_MODEL_PATH = os.path.join('', \"mask_rcnn_coco.h5\")\r\n\r\n# Directory of images to run detection on\r\nDIR_IMAGE = os.path.join(ROOT_DIR, \"images\")\r\n<\/pre>\n<h5>7. Inference class to infer the Mask R-CNN Model<\/h5>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">class InferenceConfig(coco.CocoConfig):\r\n    # Setting batch size equal to 1 since we'll be running inference on\r\n    # one image at a time. Batch size = GPU_COUNT * IMAGES_PER_GPU\r\n    GPU_COUNT = 1\r\n    IMAGES_PER_GPU = 1\r\n\r\nconfig = InferenceConfig()\r\nconfig.display()\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/config.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-82238\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/config.jpg\" alt=\"config\" width=\"1136\" height=\"957\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/config.jpg 1136w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/config-300x253.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/config-1024x863.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/config-150x126.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/config-768x647.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/config-520x438.jpg 520w\" sizes=\"auto, (max-width: 1136px) 100vw, 1136px\" \/><\/a><\/p>\n<p>What you are seeing is the specification of the Mask R-CNN model we are going to use. The backbone is <strong>resnet101<\/strong> which helps in extracting features from the image.<\/p>\n<p>Next important thing to observe here is the mask shape which is 28&#215;28 as it is trained on the COCO dataset and we have a total of 81 classes.<\/p>\n<p>This means that there are 81 possible prediction classes in which an object may fall into.<\/p>\n<h5>8. Loading the Weights<\/h5>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\"># Create model objects in inference mode.\r\nmodel = modellib.MaskRCNN(mode=\"inference\", model_dir='mask_rcnn_coco.hy', config=config)\r\n\r\n# Load weights trained on MS-COCO\r\nmodel.load_weights('mask_rcnn_coco.h5', by_name=True)\r\n<\/pre>\n<h5>9. Loading an Image to Test the Model<\/h5>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">image = skimage.io.imread('..\/images\/4410436637_7b0ca36ee7_z.jpg')\r\n\r\n# original image\r\nplt.figure(figsize=(12,10))\r\n\r\nskimage.io.imshow(image)\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/chosen-image.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-82239\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/chosen-image.jpg\" alt=\"chosen image\" width=\"1057\" height=\"682\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/chosen-image.jpg 1057w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/chosen-image-300x194.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/chosen-image-1024x661.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/chosen-image-150x97.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/chosen-image-768x496.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/chosen-image-520x336.jpg 520w\" sizes=\"auto, (max-width: 1057px) 100vw, 1057px\" \/><\/a><\/p>\n<h5>10. Sending Image to Model to Generate Predict<\/h5>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\"># Run detection\r\nresults = model.detect([image], verbose=1)\r\n<\/pre>\n<h5>12. Masking the Results to our Image<\/h5>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\"># Visualize results\r\nr = results[0]\r\nvisualize.display_instances(image, r['rois'], r['masks'], r['class_ids'], \r\n<\/pre>\n<p>The Time you were Desperately waiting, here comes our<strong> Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-output.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-82240\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-output.jpg\" alt=\"image segmentation output\" width=\"1082\" height=\"705\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-output.jpg 1082w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-output-300x195.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-output-1024x667.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-output-150x98.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-output-768x500.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-output-520x339.jpg 520w\" sizes=\"auto, (max-width: 1082px) 100vw, 1082px\" \/><\/a><\/p>\n<p>Hooray.! We have successfully segmented the image and we can see our code has performed pretty well. So cheers to you if you made it through.<\/p>\n<h5>13. Number of Detected Objects<\/h5>\n<p>Now, if you are curious, to detect the number of objects we were successfully able to detect, just type in<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">mask = r['masks']\r\nmask = mask.astype(int)\r\nmask.shape\r\n<\/pre>\n<p><strong>Output:<\/strong><br \/>\n(426, 640, 7)<\/p>\n<p>Here, we can see that there are a total of 7 objects detected by our model on the image.<\/p>\n<p><em>NOTE: Image &amp; Video Source: Cornell University, Stanford University, Github<\/em><\/p>\n<h3>Summary<\/h3>\n<p>Image segmentation is the process of dividing an image into different parts or regions. It helps the machine understand which areas belong to what object. For example, in a photo of a person and a car, segmentation separates the two clearly. This is very helpful in medical imaging, satellite analysis, and self-driving cars. It is more advanced than simple object detection because it gives detailed pixel-level understanding of images.<\/p>\n<p>We hope we were able to lead you towards the solution of your first image segmentation problem. we discussed the process and if you are curious to know the details there is plenty of information available on the internet.<\/p>\n<p>We would suggest you read and understand various architectures including the Mask R-CNN we implemented. It will help you analyze things better and also help you to generate new ideas to solve complex problems.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Work on an intermediate-level Machine Learning Project &#8211; Image Segmentation You might have wondered, how fast and efficiently our brain is trained to identify and classify what our eyes perceive. Somehow our brain is&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":82246,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[23288,20697,23289,21082],"class_list":["post-82227","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machine-learning","tag-image-segmentation","tag-machine-learning-project","tag-object-detection","tag-python-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Image Segmentation with Machine Learning - DataFlair<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Image Segmentation with Machine Learning - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Work on an intermediate-level Machine Learning Project &#8211; Image Segmentation You might have wondered, how fast and efficiently our brain is trained to identify and classify what our eyes perceive. Somehow our brain is&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-09-15T09:00:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-28T10:26:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-machine-learning.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Image Segmentation with Machine Learning - DataFlair","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":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/","og_locale":"en_US","og_type":"article","og_title":"Image Segmentation with Machine Learning - DataFlair","og_description":"Work on an intermediate-level Machine Learning Project &#8211; Image Segmentation You might have wondered, how fast and efficiently our brain is trained to identify and classify what our eyes perceive. Somehow our brain is&#46;&#46;&#46;","og_url":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2020-09-15T09:00:59+00:00","article_modified_time":"2025-07-28T10:26:03+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-machine-learning.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Image Segmentation with Machine Learning","datePublished":"2020-09-15T09:00:59+00:00","dateModified":"2025-07-28T10:26:03+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/"},"wordCount":1467,"commentCount":12,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-machine-learning.jpg","keywords":["image segmentation","machine learning project","object detection","Python project"],"articleSection":["Machine Learning Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/","url":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/","name":"Image Segmentation with Machine Learning - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-machine-learning.jpg","datePublished":"2020-09-15T09:00:59+00:00","dateModified":"2025-07-28T10:26:03+00:00","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-machine-learning.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/09\/image-segmentation-machine-learning.jpg","width":1200,"height":628,"caption":"image segmentation machine learning"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/image-segmentation-machine-learning\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Machine Learning Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/machine-learning\/"},{"@type":"ListItem","position":3,"name":"Image Segmentation with Machine Learning"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team creates expert-level guides on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our goal is to empower learners with easy-to-understand content. Explore our resources for career growth and practical learning.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/82227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=82227"}],"version-history":[{"count":9,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/82227\/revisions"}],"predecessor-version":[{"id":146276,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/82227\/revisions\/146276"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/82246"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=82227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=82227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=82227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}