{"id":419,"date":"2018-12-14T18:16:01","date_gmt":"2018-12-14T22:16:01","guid":{"rendered":"http:\/\/dominionsw.com\/wordpress\/?p=419"},"modified":"2019-11-25T07:44:26","modified_gmt":"2019-11-25T11:44:26","slug":"classifying-tree-seedlings-with-machine-learning-part-2","status":"publish","type":"post","link":"https:\/\/www.dominionsw.com\/?p=419","title":{"rendered":"Classifying tree seedlings with Machine Learning, Part 2."},"content":{"rendered":"<p><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/GSBG.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-301 size-full\" src=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/GSBG.png\" alt=\"\" width=\"1932\" height=\"644\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/GSBG.png 1932w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/GSBG-300x100.png 300w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/GSBG-768x256.png 768w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/GSBG-1024x341.png 1024w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/GSBG-624x208.png 624w\" sizes=\"auto, (max-width: 1932px) 100vw, 1932px\" \/><\/a><\/p>\n<h1>It&#8217;s not easy being green<\/h1>\n<p>This series of posts describes my image processing work for a non-profit organization called <a href=\"http:\/\/www.greenstand.org\">GreenStand<\/a>. In case you didn&#8217;t read the first post, GreenStand&#8217;s mission is to give people in rural areas around the world incentives to plant trees, which can increase their standard of living and at the same time help the environment.<\/p>\n<p>One of the tasks I&#8217;m working on is to help them identify the type of tree and the location of the tree, in order to correctly reimburse the planters. The planters, usually using a relatively inexpensive camera or phone, upload the images of the tree in order to be reimbursed. In the last post, I discussed and demonstrated an algorithm to detect when these photos were blurry, and out of focus. If the photo is out of focus, the planter can be asked by the GreenStand android app to take the photo again.<\/p>\n<p>Now we begin the task of identifying the plants. The photo montage above shows four basic types of plants, and rather than try to identify individual species I will be classifying the images into 5 general categories: SmallPine (pinus pendula), BroadLeaf, OtherPine, GrownTree, and Fernlike.<\/p>\n<p>For those people who might know something about deep learning, one might ask &#8220;Why not just modify AlexNet and use transfer learning on a Convolutional Neural Network&#8221;? Well, we&#8217;re going to be doing that later, but for now we can learn a lot about the data by first trying some other approaches.<\/p>\n<p>In the table below, we can see two examples of the 5 categories we will try to classify:<\/p>\n<p>&nbsp;<\/p>\n\n<table id=\"tablepress-1\" class=\"tablepress tablepress-id-1\">\n<tbody>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/10031.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/10031.jpg\" alt=\"\" width=\"120\" height=\"161\" class=\"alignnone size-full wp-image-429\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/10031.jpg 483w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/10031-225x300.jpg 225w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\" \/><\/a><\/td><td class=\"column-2\"><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/10055.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/10055.jpg\" alt=\"\"  width=\"120\" height=\"161\" class=\"alignnone size-full wp-image-428\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/10055.jpg 483w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/10055-225x300.jpg 225w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\" \/><\/a><\/td><td class=\"column-3\">Pine (pinus pendula)<\/td>\n<\/tr>\n<tr class=\"row-2\">\n\t<td class=\"column-1\"><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/103.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/103.jpg\" alt=\"\"  width=\"120\" height=\"161\" class=\"alignnone size-full wp-image-424\" \/><\/a><\/td><td class=\"column-2\"><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/102.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/102.jpg\" alt=\"\"  width=\"120\" height=\"161\" class=\"alignnone size-full wp-image-424\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/102.jpg 486w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/102-225x300.jpg 225w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\" \/><\/a><\/td><td class=\"column-3\">Fernlike<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\"><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/2018.04.26.14.47.53_f658d3a7-44ae-4b5c-9f15-c1a89d125bc2_IMG_20180426_132335_956774100.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/2018.04.26.14.47.53_f658d3a7-44ae-4b5c-9f15-c1a89d125bc2_IMG_20180426_132335_956774100.jpg\" alt=\"\"  width=\"120\" height=\"161\"   class=\"alignnone size-full wp-image-423\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/2018.04.26.14.47.53_f658d3a7-44ae-4b5c-9f15-c1a89d125bc2_IMG_20180426_132335_956774100.jpg 480w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/2018.04.26.14.47.53_f658d3a7-44ae-4b5c-9f15-c1a89d125bc2_IMG_20180426_132335_956774100-225x300.jpg 225w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\" \/><\/a><\/td><td class=\"column-2\"><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/1218.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/1218.jpg\" alt=\"\"  width=\"120\" height=\"161\" \"class=\"alignnone size-full wp-image-422\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/1218.jpg 483w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/1218-225x300.jpg 225w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\" \/><\/a><\/td><td class=\"column-3\">BroadLeaf<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\"><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/10212.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/10212.jpg\" alt=\"\"  width=\"120\" height=\"161\" class=\"alignnone size-full wp-image-427\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/10212.jpg 483w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/10212-225x300.jpg 225w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\" \/><\/a><\/td><td class=\"column-2\"><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/10124.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/10124.jpg\" alt=\"\"  width=\"120\" height=\"161\" class=\"alignnone size-full wp-image-426\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/10124.jpg 483w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/10124-225x300.jpg 225w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\" \/><\/a><\/td><td class=\"column-3\">OtherPine<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\"><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/1818.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/1818.jpg\" alt=\"\"  width=\"120\" height=\"161\" class=\"alignnone size-full wp-image-436\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/1818.jpg 483w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/1818-225x300.jpg 225w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\" \/><\/a><\/td><td class=\"column-2\"><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/2018.06.27.12.15.39_cef807ce-ce9f-463d-a748-cbe86bea5dad_IMG_20180627_121406_1321956900.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/2018.06.27.12.15.39_cef807ce-ce9f-463d-a748-cbe86bea5dad_IMG_20180627_121406_1321956900.jpg\" alt=\"\" width=\"120\" height=\"161\"   class=\"alignnone size-full wp-image-435\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/2018.06.27.12.15.39_cef807ce-ce9f-463d-a748-cbe86bea5dad_IMG_20180627_121406_1321956900.jpg 504w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/2018.06.27.12.15.39_cef807ce-ce9f-463d-a748-cbe86bea5dad_IMG_20180627_121406_1321956900-225x300.jpg 225w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\" \/><\/a><\/td><td class=\"column-3\">GrownTree<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-1 from cache -->\n<p>How can we approach identifying which category these plants belong to? What features in the images might we detect to help us? It&#8217;s a difficult problem, not only because of the &#8220;noise&#8221; &#8211; other green items in the photos &#8211; but because the corners, angles, and lines found in photos containing human made objects &#8211;\u00a0 typical features used in computer vision, etc. &#8211;\u00a0 are not that common in these images.<\/p>\n<p>Can we first threshold the pictures to isolate the green objects from the other background &#8220;noise&#8221;?<\/p>\n<p>The first thing one notices is the different shades for green. How would one go about thresholding &#8211; masking out the &#8220;green&#8221; areas &#8211; with that much variation in the color?<\/p>\n<h4>CIE L*a*b* color space<\/h4>\n<p>Since most of my image processing work is done in the colorless world of grayscale images &#8211; typical of medical and scientific imaging &#8211; I have not had to make use of color space processing very often. Fortunately, a lot of effort has been put into mapping colors into various forms of numeric values by others, and it looks like the L*a*b* space has what we need.<\/p>\n<p>Notice in the view of the color space visualization below (courtesy Wikipedia), the red and green areas are at right angles to the blue and yellow.\u00a0 Looking straight into the picture is decreasing lightness.<\/p>\n<p>This means that we can isolate green hues more easily in this color space than in other spaces, since although green is composed of yellow and blue, in this model it is in a separate part of the space.<\/p>\n<p><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/CIELAB_color_space_top_view.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-450 size-full\" src=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/CIELAB_color_space_top_view.png\" alt=\"\" width=\"1000\" height=\"965\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/CIELAB_color_space_top_view.png 1000w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/CIELAB_color_space_top_view-300x290.png 300w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/CIELAB_color_space_top_view-768x741.png 768w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/CIELAB_color_space_top_view-624x602.png 624w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/commons.wikimedia.org\/w\/index.php?curid=38366968https:\/\/en.wikipedia.org\/wiki\/CIELAB_color_space#\/media\/File:CIELAB_color_space_top_view.png\">By Holger Everding &#8211; Own work, CC BY-SA 4.0,<\/a><\/p>\n<p>Matlab has a unique &#8220;app&#8221; for doing color thresholding. The app (or a plugin, as I might call it) allows the developer to visually test parameters for doing color thresholding in 4 different color spaces.<\/p>\n<p><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/Capture-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-451 size-full\" src=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-2.png\" alt=\"\" width=\"1738\" height=\"1386\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-2.png 1738w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-2-300x239.png 300w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-2-768x612.png 768w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-2-1024x817.png 1024w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-2-624x498.png 624w\" sizes=\"auto, (max-width: 1738px) 100vw, 1738px\" \/><\/a><\/p>\n<p>We can choose the color space we want to edit in.<\/p>\n<p><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/Capture-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-452 size-full\" src=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-3.png\" alt=\"\" width=\"1744\" height=\"1381\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-3.png 1744w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-3-300x238.png 300w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-3-768x608.png 768w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-3-1024x811.png 1024w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-3-624x494.png 624w\" sizes=\"auto, (max-width: 1744px) 100vw, 1744px\" \/><\/a><\/p>\n<p>In the above tool, we can edit the L* (lightness), the a* channel (that&#8217;s the red to green) or the b* channel (that&#8217;s blue to yellow). If we move the slider in the a* channel we can isolate the green hues. We can also draw a polygon around the point cloud to further refine the color selection:<\/p>\n<p><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/Capture-4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-453 size-full\" src=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-4.png\" alt=\"\" width=\"1753\" height=\"1394\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-4.png 1753w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-4-300x239.png 300w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-4-768x611.png 768w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-4-1024x814.png 1024w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-4-624x496.png 624w\" sizes=\"auto, (max-width: 1753px) 100vw, 1753px\" \/><\/a>One thing to notice\u00a0 &#8211; the histogram for a* is bi-modal. There are 2 distinct peaks. We can use this to our advantage.<\/p>\n<p>&nbsp;<\/p>\n<p>Let&#8217;s see how well this works on an image with a plant with a different shade of green.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/dominionsw.com\/wordpress\/wp-content\/uploads\/2018\/12\/Capture-5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-455 size-full\" src=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-5.png\" alt=\"\" width=\"1444\" height=\"1500\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-5.png 1444w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-5-289x300.png 289w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-5-768x798.png 768w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-5-986x1024.png 986w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/Capture-5-624x648.png 624w\" sizes=\"auto, (max-width: 1444px) 100vw, 1444px\" \/><\/a><\/p>\n<p>This works pretty well; I positioned the right hand slider on the a* channel between the 2 peaks.<\/p>\n<p>Here&#8217;s an idea &#8211; Otsu&#8217;s threshold works by finding the valley between 2 peaks as the place to &#8220;break&#8221; a grayscale image into foreground and background. If we apply Otsu&#8217;s method to the a* channel in L*a*b* space, many of our images can have the green segmentation done with the least error.<\/p>\n<p>Let&#8217;s give it a try on these two images.<\/p>\n<p><strong>Load the image and normalize to 0&#8230;1<\/strong><\/p>\n<p>imshow(im1);<\/p>\n<p>labIm1 = rgb2lab(im1);<\/p>\n<p>channelA = labIm1(:,:,2);<br \/>\nmn = min(min(channelA))<\/p>\n<p>channelA = channelA + abs(mn);<br \/>\nchannelA = channelA.\/ max(max(channelA));<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-461 size-full\" src=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-1.png\" alt=\"\" width=\"700\" height=\"775\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-1.png 700w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-1-271x300.png 271w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-1-624x691.png 624w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p><strong>Perform Otsu Threshold on a* channel, set the L channel (brightness) to zero<\/strong><br \/>\n<strong>to show only the pixels we want.<\/strong><\/p>\n<p>[counts, ~] = imhist(channelA);<\/p>\n<p>cut = otsuthresh(counts)<br \/>\nchannelL = labIm1(:,:,1);<\/p>\n<p>channelL(channelA &gt; cut) = 0;<br \/>\nlabIm1(:,:,1) = channelL;<br \/>\nrgbImage = lab2rgb(labIm1);<\/p>\n<p>imshow(rgbImage);<\/p>\n<p><a href=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-462 size-full\" src=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-2.png\" alt=\"\" width=\"700\" height=\"775\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-2.png 700w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-2-271x300.png 271w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-2-624x691.png 624w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Seems to work pretty well. Let&#8217;s try the next image with the same code:<a href=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-460 size-full\" src=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled.png\" alt=\"\" width=\"700\" height=\"775\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled.png 700w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-271x300.png 271w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-624x691.png 624w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-463 size-full\" src=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-3.png\" alt=\"\" width=\"700\" height=\"775\" srcset=\"https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-3.png 700w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-3-271x300.png 271w, https:\/\/www.dominionsw.com\/wp-content\/uploads\/2018\/12\/untitled-3-624x691.png 624w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Up Next &#8211; extracting features from the segmented images.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s not easy being green This series of posts describes my image processing work for a non-profit organization called GreenStand. In case you didn&#8217;t read the first post, GreenStand&#8217;s mission is to give people in rural areas around the world incentives to plant trees, which can increase their standard of living and at the same [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-419","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.dominionsw.com\/index.php?rest_route=\/wp\/v2\/posts\/419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dominionsw.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dominionsw.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dominionsw.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dominionsw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=419"}],"version-history":[{"count":22,"href":"https:\/\/www.dominionsw.com\/index.php?rest_route=\/wp\/v2\/posts\/419\/revisions"}],"predecessor-version":[{"id":605,"href":"https:\/\/www.dominionsw.com\/index.php?rest_route=\/wp\/v2\/posts\/419\/revisions\/605"}],"wp:attachment":[{"href":"https:\/\/www.dominionsw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dominionsw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dominionsw.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}