<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shoray Singhal</title>
    <description>The latest articles on DEV Community by Shoray Singhal (@lordshoray).</description>
    <link>https://dev.to/lordshoray</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F674563%2Ff5d06f4c-3709-479e-9f06-35f4a2c0877e.jpeg</url>
      <title>DEV Community: Shoray Singhal</title>
      <link>https://dev.to/lordshoray</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lordshoray"/>
    <language>en</language>
    <item>
      <title>CVisor : Using Computer Vision to stop COVID-19</title>
      <dc:creator>Shoray Singhal</dc:creator>
      <pubDate>Sun, 29 May 2022 13:41:13 +0000</pubDate>
      <link>https://dev.to/lordshoray/cvisor-using-computer-vision-to-stop-covid-19-10ka</link>
      <guid>https://dev.to/lordshoray/cvisor-using-computer-vision-to-stop-covid-19-10ka</guid>
      <description>&lt;h2&gt;
  
  
  Introduction of the Program
&lt;/h2&gt;

&lt;p&gt;Every year, more than 30k sophomore students apply for the Microsoft Intern Engage program and only a fraction get selected for the mentorship. &lt;br&gt;
Selected mentees are alloted mentors and have to choose one of given project tracks and have to submit a functional project within 4 weeks. Those with high scoring projects are given Internship offers at Microsoft.&lt;/p&gt;

&lt;h2&gt;
  
  
  My project idea
&lt;/h2&gt;

&lt;p&gt;For my project I choose the &lt;strong&gt;face recognition&lt;/strong&gt; track. I decided to build a crossplatform webapp where people can analyse various video media for compliance with COVID-19 norms. With COVID cases on the rise once again this app can really come in handy.&lt;br&gt;
Establishments can use this app to feed in their live cctv data for realtime analysis.&lt;br&gt;
They even can upload recordings for analysis.&lt;br&gt;
The app has support for mask detection and even works for crowds.&lt;br&gt;
And since it runs on the browser its pretty fast too.&lt;/p&gt;

&lt;h2&gt;
  
  
  INIT
&lt;/h2&gt;

&lt;p&gt;I am the type who developer who first develops then designs later. Taking the same approach here I first decided to complete the functionality of the app and then focus on the   UI/UX.&lt;br&gt;
In the end after the design process was done the app home page looked like this...&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A0LNuANp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x60kkdfwoee8b3g0rppg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A0LNuANp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x60kkdfwoee8b3g0rppg.png" alt="Landing" width="880" height="424"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p2YRFGcm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ml1qujrirvcp1ovx2fgs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p2YRFGcm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ml1qujrirvcp1ovx2fgs.png" alt="Srolled Down" width="880" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Tools used
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Vanilla HTML+CSS+JS&lt;/li&gt;
&lt;li&gt;Bootstrap&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Tensorflow.js&lt;/li&gt;
&lt;li&gt;Teachable Machine&lt;/li&gt;
&lt;li&gt;ML5.js&lt;/li&gt;
&lt;li&gt;Face-api.js&lt;/li&gt;
&lt;li&gt;Git/GitHub&lt;/li&gt;
&lt;li&gt;Netlify&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since the webapp was going to do realtime computations I concluded that low-latency and high-speeds were paramount. That's why I went with a client-side approach. To maximise rendering and loading times I wrote everything in Vanilla instead of using somekind of framework like React or Angular.&lt;br&gt;
To hasten the design phase I used Bootstrap.&lt;br&gt;
Since this is a webapp CI/CD is very important  for this purpose I first hosted my code on GitHub and connected that repo with netlify that takes care of CI/CD by itself. I just need to push the changes to the project and a new version of the app is deployed automatically saving me a lot of hassle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models
&lt;/h2&gt;

&lt;p&gt;While researching for the project I came to know about Tensorflow.js which which allows deployment of pretrained ML models on the web with remarkable speeds.&lt;br&gt;
At first I use face-api's SSDMobilenetv1 model to isolate faces in the given data. I then isolate those faces and then pass them to a &lt;br&gt;
a teachable-machine model trained specially to classify masks. You can find all model links in the project readme &lt;/p&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0h5Lkd_a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujh5hoov9l8l3svpirgb.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0h5Lkd_a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujh5hoov9l8l3svpirgb.gif" alt="Image description" width="600" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Some Problems I faces
&lt;/h2&gt;

&lt;p&gt;Every project is filled with unexpected projects and this project was no other. Namely  I faced great difficulty in integrating different models with each other.&lt;br&gt;
The large size of some models also meant that that testing was difficult.&lt;br&gt;
Adding responsiveness to the app was also a tiresome problem. I had difficulty implementing the video canvas on the stream&amp;amp;video pages. &lt;br&gt;
In the end all these problems were solved by the help of my mentor and StackOverflow bring forward a project that I learned a lot from and am very proud of.&lt;/p&gt;

&lt;h2&gt;
  
  
  Imporvements Required
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;While the models used are very light weight, they still take a lot of time to compute. Optimizing these models can result in an improvement.&lt;/li&gt;
&lt;li&gt;The app performs poorly on old mobile phones with less computational power.
-The models also sometimes fail in picking up some faces in the crowd.&lt;/li&gt;
&lt;li&gt;UI/UX improvements.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Check out the webapp &lt;a href="https://cvisor.netlify.app/"&gt;HERE&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Check out the repo &lt;a href="https://github.com/Shoray2002/CVisor"&gt;HERE&lt;/a&gt;
&lt;/h3&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The Engage program was a very educative experience for me and during this I got to talk to a lot of talented and experienced people.&lt;br&gt;
Thanks Microsoft for the opportunity and now I am very eagerly waiting for the results &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>tensorflow</category>
      <category>computerscience</category>
    </item>
  </channel>
</rss>
