چگونه برنامه وب Face-with-Mask Detection را برای Chrome پیاده سازی کردیم

تصویر
عکس پروفایل Yan Tsishko Hacker Noon

@یانتیشکویان تشیشکو

توسعه دهنده ماهر جلو با بیش از 6 سال تجربه در زمینه توسعه برنامه های وب و SmartTV

در مقاله قبلی ، من در مورد اینکه آیا امکان استفاده از یادگیری ماشین (به ویژه تشخیص چهره و ماسک) در مرورگر ، رویکردهای تشخیص و بهینه سازی همه فرایندها وجود دارد ، بحث کردم.

امروز می خواهم جزئیات فنی اجرا را ارائه دهم.

فن آوری ها

تصویر

زبان اصلی برای توسعه TypeScript است. برنامه مشتری با React.js نوشته شده است.

این برنامه از چندین شبکه عصبی برای شناسایی رویدادهای مختلف استفاده می کند: تشخیص چهره ، تشخیص ماسک. هر مدل / شبکه در یک موضوع جداگانه اجرا می شود (Web Worker). شبکه های عصبی با استفاده از TensorFlow.js راه اندازی می شوند و از Web Assembly یا WebGL به عنوان backend استفاده می شود که به شما امکان می دهد کد را با سرعتی نزدیک به محلی اجرا کنید. انتخاب این یا آن قسمت به اندازه مدل بستگی دارد (مدلهای کوچک در WebAssemble سریعتر کار می کنند) ، اما شما همیشه باید مدل سریعتر را آزمایش و انتخاب کنید.

دریافت و نمایش جریان ویدئو با استفاده از WebRTC. از کتابخانه OpenCV.js برای کار با تصاویر استفاده می شود.

روش زیر اجرا شد:

تصویر

موضوع اصلی فقط تنظیم کلیه فرایندها است. این کتابخانه OpenCV سنگین را بارگیری نمی کند و از TensorFlow.js استفاده نمی کند. این تصاویر از …