{"id":436964,"date":"2022-04-24T23:09:03","date_gmt":"2022-04-24T20:09:03","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/fomo-is-a-tinyml-neural-network-for-real-time-object-detection\/"},"modified":"2022-04-24T23:09:03","modified_gmt":"2022-04-24T20:09:03","slug":"fomo-is-a-tinyml-neural-network-for-real-time-object-detection","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/fomo-is-a-tinyml-neural-network-for-real-time-object-detection\/","title":{"rendered":"#FOMO is a TinyML neural network for real-time object detection"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a39e43c2f6a1\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a39e43c2f6a1\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/fomo-is-a-tinyml-neural-network-for-real-time-object-detection\/#%E2%80%9CFOMO_is_a_TinyML_neural_network_for_real-time_object_detection%E2%80%9D\" >&#8220;FOMO is a TinyML neural network for real-time object detection&#8221;<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/fomo-is-a-tinyml-neural-network-for-real-time-object-detection\/#Image_classification_vs_object_detection\" >Image classification vs object detection<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/fomo-is-a-tinyml-neural-network-for-real-time-object-detection\/#Redefining_object_detection_deep_learning_architectures\" >Redefining object detection deep learning architectures<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/fomo-is-a-tinyml-neural-network-for-real-time-object-detection\/#Limits_of_FOMO\" >Limits of FOMO<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"%E2%80%9CFOMO_is_a_TinyML_neural_network_for_real-time_object_detection%E2%80%9D\"><\/span>&#8220;FOMO is a TinyML neural network for real-time object detection&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<div>\n                            <em>This article is part of our coverage of the latest in <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/bdtechtalks.com\/tag\/ai-research-papers\/\">AI research<\/a>.<\/em><\/p>\n<p>A new machine learning technique developed by researchers at Edge Impulse, a platform for creating ML models for the edge, makes it possible to run real-time object detection on devices with very small computation and memory capacity. Called Faster Objects, More Objects (FOMO), the new deep learning architecture can unlock new <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/bdtechtalks.com\/2019\/01\/14\/what-is-computer-vision\/\">computer vision applications<\/a>.<\/p>\n<p>Most <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/bdtechtalks.com\/2021\/06\/21\/object-detection-deep-learning\/\">object-detection deep learning<\/a> models have memory and computation requirements that are beyond the capacity of small processors. FOMO, on the other hand, only requires several hundred kilobytes of memory, which makes it a great technique for TinyML, a subfield of machine learning focused on running ML models on microcontrollers and other memory-constrained devices that have limited or no internet connectivity.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Image_classification_vs_object_detection\"><\/span>Image classification vs object detection<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>TinyML has made <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/bdtechtalks.com\/2022\/01\/17\/mcunetv2-tinyml-deep-learning-microcontrollers\/\">great progress in image classification<\/a>, where the machine learning model must only predict the presence of a certain type of object in an image. On the other hand, object detection requires the model to identify more than object as well as the bounding box of each instance.<\/p>\n<figure class=\"post-image post-mediaBleed aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-featured_img wp-image-1385368 js-lazy\" alt=\"elephants-object-detection\" width=\"796\" height=\"448\" sizes=\"auto, (max-width: 796px) 100vw, 796px\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-796x448.webp\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-796x448.webp 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-280x158.webp 280w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-240x135.webp 240w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-480x270.webp 480w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-1200x675.webp 1200w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection.webp 1392w\"\/><noscript><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-featured_img wp-image-1385368\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-796x448.webp\" alt=\"elephants-object-detection\" width=\"796\" height=\"448\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-796x448.webp 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-280x158.webp 280w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-240x135.webp 240w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-480x270.webp 480w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection-1200x675.webp 1200w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/elephants-object-detection.webp 1392w\"\/><\/noscript><\/figure>\n<p>Object detection models are much more complex than image classification networks and require more memory.<\/p>\n<p>\u201cWe added computer vision support to Edge Impulse back in 2020, and we\u2019ve seen a tremendous pickup of <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a>lications (40 percent of our projects are computer vision applications),\u201d Jan Jongboom, CTO at Edge Impulse, told TechTalks. \u201cBut with the current state-of-the-art models you could only do image classification on microcontrollers.\u201d<\/p>\n<p>Image classification is very useful for many applications. For example, a security camera can use TinyML image classification to determine whether there\u2019s a person in the frame or not. However, much more can be done.<\/p>\n<p>\u201cIt was a big nuisance that you\u2019re limited to these very basic classification tasks. There\u2019s a lot of value in seeing \u2018there are three people here\u2019 or \u2018this label is in the top left corner,\u2019 e.g., counting things is one of the biggest asks we see in the market today,\u201d Jongboom says.<\/p>\n<p>Earlier object detection ML models had to process the input image several times to locate the objects, which made them slow and computationally expensive. More recent models such as YOLO (You Only Look Once) use single-shot detection to provide near real-time object detection. But their memory requirements are still large. Even models designed for edge applications are hard to run on small devices.<\/p>\n<p>\u201cYOLOv5 or MobileNet SSD are just insanely large networks that never will fit on MCU and barely fit on Raspberry Pi\u2013class devices,\u201d Jongboom says.<\/p>\n<p>Moreover, these models are bad at detecting small objects and they need a lot of data. For example, YOLOv5 recommends <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/ultralytics\/yolov5\/issues\/4521\">more than 10,000 training instances<\/a> per object class.<\/p>\n<p>The idea behind <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.edgeimpulse.com\/blog\/announcing-fomo-faster-objects-more-objects\">FOMO<\/a> is that not all object-detection applications require the high-precision output that state-of-the-art deep learning models provide. By finding the right tradeoff between accuracy, speed, and memory, you can shrink your deep learning models to very small sizes while keeping them useful.<\/p>\n<p>Instead of detecting bounding boxes, FOMO predicts the object\u2019s center. This is because many object detection applications are just interested in the location of objects in the frame and not their sizes. Detecting centroids is much more compute-efficient than bounding box prediction and requires less data.<\/p>\n<figure class=\"post-image post-mediaBleed aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-featured_img wp-image-1385369 js-lazy\" alt=\"sheep-object-detection-bounding-box-vs-centroid\" width=\"796\" height=\"497\" sizes=\"auto, (max-width: 796px) 100vw, 796px\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid-796x497.webp\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid-796x497.webp 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid-280x175.webp 280w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid-216x135.webp 216w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid-432x270.webp 432w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid.webp 1392w\"\/><noscript><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-featured_img wp-image-1385369\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid-796x497.webp\" alt=\"sheep-object-detection-bounding-box-vs-centroid\" width=\"796\" height=\"497\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid-796x497.webp 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid-280x175.webp 280w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid-216x135.webp 216w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid-432x270.webp 432w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/sheep-object-detection-bounding-box-vs-centroid.webp 1392w\"\/><\/noscript><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Redefining_object_detection_deep_learning_architectures\"><\/span>Redefining object detection deep learning architectures<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>FOMO also applies a major structural change to traditional deep learning architectures.<\/p>\n<p>Single-shot object detectors are composed of a set of <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/bdtechtalks.com\/2020\/01\/06\/convolutional-neural-networks-cnn-convnets\/\">convolutional layers<\/a> that extract features and several <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/bdtechtalks.com\/2021\/01\/28\/deep-learning-explainer\/\">fully-connected layers<\/a> that predict the bounding box. The convolution layers extract visual features in a hierarchical way. The first layer detects simple things such as lines and edges in different directions. Each convolutional layer is usually coupled with a pooling layer, which reduces the size of the layer\u2019s output and keeps the most prominent features in each area.<\/p>\n<p>The pooling layer\u2019s output is then fed to the next convolutional layer, which extracts higher-level features, such as corners, arcs, and circles. As more convolutional and pooling layers are added, the feature maps zoom out and can detect complicated things such as faces and objects.<\/p>\n<figure class=\"post-image post-mediaBleed aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"size-featured_img wp-image-1385370 js-lazy\" alt=\"neural-networks-layers-visualization\" width=\"796\" height=\"1092\" sizes=\"auto, (max-width: 796px) 100vw, 796px\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization-796x1092.webp\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization-796x1092.webp 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization-153x210.webp 153w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization-98x135.webp 98w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization-197x270.webp 197w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization.webp 920w\"\/><figcaption><a rel=\"nofollow noopener\" target=\"_blank\" href=\"#\" data-url=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Feditorial.thenextweb.com%2Fneural%2F2022%2F04%2F24%2Ffomo-tinyml-neural-network-object-detection%2F&amp;via=thenextweb&amp;related=thenextweb&amp;text=Check out this picture on: Each layer of the neural network encodes specific features from the input image.\" data-title=\"Share Each layer of the neural network encodes specific features from the input image. on Twitter\" data-width=\"685\" data-height=\"500\" class=\"post-image-share popitup\" title=\"Share Each layer of the neural network encodes specific features from the input image. on Twitter\"><i class=\"icon icon--inline icon--twitter--dark\"\/><\/a>Each layer of the neural network encodes specific features from the input image.<\/figcaption><noscript><img decoding=\"async\" loading=\"lazy\" class=\"size-featured_img wp-image-1385370\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization-796x1092.webp\" alt=\"neural-networks-layers-visualization\" width=\"796\" height=\"1092\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization-796x1092.webp 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization-153x210.webp 153w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization-98x135.webp 98w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization-197x270.webp 197w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/neural-networks-layers-visualization.webp 920w\"\/><\/noscript><\/figure>\n<p>Finally, the fully connected layers flatten the output of the final convolution layer and try to predict the class and bounding box of objects.<\/p>\n<p>FOMO removes the fully connected layers and the last few convolution layers. This turns the output of the neural network into a sized-down version of the image, with each output value representing a small patch of the input image. The network is then trained on a special loss function so that each output unit predicts the class probabilities for the corresponding patch in the input image. The output effectively becomes a heatmap for object types.<\/p>\n<figure class=\"post-image post-mediaBleed aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"size-featured_img wp-image-1385371 js-lazy\" alt=\"fomo-heatmap\" width=\"796\" height=\"305\" sizes=\"auto, (max-width: 796px) 100vw, 796px\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap-796x305.webp\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap-796x305.webp 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap-280x107.webp 280w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap-270x103.webp 270w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap-540x207.webp 540w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap.webp 1366w\"\/><figcaption><a rel=\"nofollow noopener\" target=\"_blank\" href=\"#\" data-url=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Feditorial.thenextweb.com%2Fneural%2F2022%2F04%2F24%2Ffomo-tinyml-neural-network-object-detection%2F&amp;via=thenextweb&amp;related=thenextweb&amp;text=Check out this picture on: FOMO\u2019s output layer produces a heatmap of class probabilities for each corresponding area in the input image.\" data-title=\"Share FOMO\u2019s output layer produces a heatmap of class probabilities for each corresponding area in the input image. on Twitter\" data-width=\"685\" data-height=\"500\" class=\"post-image-share popitup\" title=\"Share FOMO\u2019s output layer produces a heatmap of class probabilities for each corresponding area in the input image. on Twitter\"><i class=\"icon icon--inline icon--twitter--dark\"\/><\/a>FOMO\u2019s output layer produces a heatmap of class probabilities for each corresponding area in the input image.<\/figcaption><noscript><img decoding=\"async\" loading=\"lazy\" class=\"size-featured_img wp-image-1385371\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap-796x305.webp\" alt=\"fomo-heatmap\" width=\"796\" height=\"305\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap-796x305.webp 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap-280x107.webp 280w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap-270x103.webp 270w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap-540x207.webp 540w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/fomo-heatmap.webp 1366w\"\/><\/noscript><\/figure>\n<p>There are several key benefits to this approach. First, FOMO is compatible with existing architectures. For example, FOMO can be applied to MobileNetV2, a popular deep learning model for image classification on edge devices.<\/p>\n<p>Also, by considerably reducing the size of the neural network, FOMO lowers the memory and compute requirements of object detection models. According to Edge Impulse, it is 30 times faster than MobileNet SSD while it can run on devices that have less than 200 kilobytes of RAM.<\/p>\n<p>For example, the following video shows a FOMO neural network detecting objects at 30 frames per second on an Arduino Nicla Vision with a little over 200 kilobytes of memory. On a Raspberry Pi 4, FOMO can detect objects at 60fps as opposed to the 2fps performance of MobileNet SSD.<\/p>\n<p class=\"p1\">\n<figure>\n<p>                <iframe loading=\"lazy\" srcdoc=\"&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{background:#000;height:100%}img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .1s cubic-bezier(0.4,0,1,1)}a:hover img+img{opacity:1!important}&lt;\/style&gt;&lt;a href=\" https:=\"\" src=\"https:\/\/img.youtube.com\/vi\/357_S4iBuhM\/hqdefault.jpg\" style=\"top: 50%;left:50%;width:68px;height:48px;transform:translate3d(-50%,-50%,0)\" height=\"240\" width=\"320\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\" frameborder=\"0\"><\/iframe><\/p>\n<\/figure>\n<p>        <!--resp-video-container--><\/p>\n<p>Jongboom told me that FOMO was inspired by work that Mat Kelcey, Principal Engineer at Edge Impulse, did around neural network architecture for counting bees.<\/p>\n<p>\u201cTraditional object detection algorithms (YOLOv5, MobileNet SSD) are bad at this type of problem (similar-sized objects, lots of very small objects) so he designed a custom architecture that optimizes for these problems,\u201d he said.<\/p>\n<p>The granularity of FOMO\u2019s output can be configured based on the application and can detect many instances of objects in a single image.<\/p>\n<figure class=\"post-image post-mediaBleed aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"size-featured_img wp-image-1385372 js-lazy\" alt=\"FOMO-bee-detection\" width=\"796\" height=\"570\" sizes=\"auto, (max-width: 796px) 100vw, 796px\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection-796x570.webp\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection-796x570.webp 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection-280x200.webp 280w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection-189x135.webp 189w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection-377x270.webp 377w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection.webp 1056w\"\/><figcaption><a rel=\"nofollow noopener\" target=\"_blank\" href=\"#\" data-url=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Feditorial.thenextweb.com%2Fneural%2F2022%2F04%2F24%2Ffomo-tinyml-neural-network-object-detection%2F&amp;via=thenextweb&amp;related=thenextweb&amp;text=Check out this picture on: FOMO can detect many small object instances in an image\" data-title=\"Share FOMO can detect many small object instances in an image on Twitter\" data-width=\"685\" data-height=\"500\" class=\"post-image-share popitup\" title=\"Share FOMO can detect many small object instances in an image on Twitter\"><i class=\"icon icon--inline icon--twitter--dark\"\/><\/a>FOMO can detect many small object instances in an image<\/figcaption><noscript><img decoding=\"async\" loading=\"lazy\" class=\"size-featured_img wp-image-1385372\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection-796x570.webp\" alt=\"FOMO-bee-detection\" width=\"796\" height=\"570\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection-796x570.webp 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection-280x200.webp 280w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection-189x135.webp 189w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection-377x270.webp 377w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO-bee-detection.webp 1056w\"\/><\/noscript><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Limits_of_FOMO\"><\/span>Limits of FOMO<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The benefits of FOMO do not come without tradeoffs. It works best when objects are of the same size. It\u2019s like a grid of equally sized squares, each of which detects one object. Therefore, if there is one very large object in the foreground and many small objects in the background, it will not work so well.<\/p>\n<p>Also, when objects are too close to each other or overlapping, they will occupy the same grid square, which reduces the accuracy of the object detector (see video below). You can overcome this limit to an extent by reducing FOMO\u2019s cell size or increasing the image resolution.<\/p>\n<p class=\"p1\">\n<figure>\n<p>                <iframe loading=\"lazy\" srcdoc=\"&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{background:#000;height:100%}img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .1s cubic-bezier(0.4,0,1,1)}a:hover img+img{opacity:1!important}&lt;\/style&gt;&lt;a href=\" https:=\"\" src=\"https:\/\/img.youtube.com\/vi\/o2-o3wEmxaU\/hqdefault.jpg\" style=\"top: 50%;left:50%;width:68px;height:48px;transform:translate3d(-50%,-50%,0)\" height=\"240\" width=\"320\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\" frameborder=\"0\"><\/iframe><\/p>\n<\/figure>\n<p>        <!--resp-video-container--><\/p>\n<p>FOMO is especially useful when the camera is in a fixed location, for example scanning objects on a conveyor belt or counting cars in a parking lot.<\/p>\n<p>The Edge Impulse team plans to expand on their work in the future, including making the model even smaller, under 100 kilobytes and making it better at transfer learning.<\/p>\n<p><em>This article was originally written by Ben Dickson and published by Ben Dickson on<span>\u00a0<\/span><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/bdtechtalks.com\/\">TechTalks<\/a>, a publication that examines trends in <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/technology\/\" data-internallinksmanager029f6b8e52c=\"4\" title=\"Technology\" target=\"_blank\" rel=\"noopener\">technology<\/a>, how they affect the way we live and do business, and the problems they solve. But we also discuss the evil side of technology, the darker implications of new tech, and what we need to look out for. You can read the original article<a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/bdtechtalks.com\/2022\/04\/18\/fomo-tinyml-object-detection\/\"><span> here<\/span><\/a>.<\/em>\n                        <\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/thenextweb.com\/news\/fomo-tinyml-neural-network-object-detection\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;FOMO is a TinyML neural network for real-time object detection&#8221; This article is part of our coverage of the latest in AI research. A new machine learning technique developed by researchers at Edge Impulse, a platform for creating ML models for the edge, makes it possible to run real-time object detection on devices with very&#8230;<\/p>\n","protected":false},"author":1,"featured_media":436965,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/img-cdn.tnwcdn.com\/image\/neural?filter_last=1&fit=1280,640&url=https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/04\/FOMO.jpg&signature=453f9aaafe11782178537570a995bbaa","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-436964","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/436964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=436964"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/436964\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/436965"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=436964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=436964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=436964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}