فریم ورک tracking.js، فریم ورک بینایی ماشین جاوا اسکریپت

پنجشنبه 14 آذر 1398

فریم ورک tracking.js یکی از ابزارهای قوی برای بینایی ماشین به شمار می آید، ما در این مطلب قصد داریم درباره فریم ورک tracking.js جاوا اسکریپت صحبت کنیم.

 فریم ورک tracking.js، فریم ورک بینایی ماشین جاوا اسکریپت

قبل از آن که بخواهیم درباره فریم ورک tracking.js صحبت کنیم باید بدانید که فریم ورک ها، متدولوژی ها و استانداردهای مختلفی برای طراحی اپلیکیشن های تحت وب و وب سایت ها وجود دارد. مهم نیست که شما کدام یک از این موارد را استفاده می کنید، شما همواره با جاوا اسکریپت درگیر هستید و در انتها مجبورید از آن استفاده کنید.

با استفاده از فریم ورک tracking.js امروزه مرورگرها حتی قوی تر نیز شده اند. در این جا ما قصد داریم به بررسی فریم ورک tracking.js بپردازیم و درباره این موضوع صحبت کنیم که چرا افراد موفق از جاوا اسکریپت استفاده می کنند.


مرورگرها، امکانی که باید از آنها استفاده کنید

احتمالا شما تا به حال درباره طراحی مرورگرها و مزایای آن نسبت به فریم ورک های سنتی نشان دادم. همانطور که در بخش ابتدایی توضیح دادیم در زمان ورود مستقیم به مرورگر مزایای بسیار زیاد دیگری نیز شامل حال شما می شود. امروز من می خواهم یک مثال فوق العاده دیگر از کاربرد این زبان با استفاده از فریم ورک tracking.js را در زندگی واقعی برای شما بیان کنیم.


فریم ورک tracking.js قدرت بینایی ماشین جاوا اسکریپت

اخیرا ما از Usersnap استفاده کردیم و بعد از آن به دنبال tracking.js رفتیم که یک کتابخانه قدرتمند جاوا اسکریپت است و با استفاده از آن می توان قدرت بینایی ماشین جاوا اسکریپت را مشاهده کرد و همین موضوع نیز باعث می شود تا قدرت مرورگرها بیشتر شود.

Tracking.js در واقع یک کتابخانه بینایی ماشین است که دارای الگوریتم های مختلف بینایی ماشین است. این الگوریتم ها می توانند برای برخی از ویژگی ها مانند تشخیص چهره و یا ردیابی رنگ مورد استفاده قرار گیرند و نکته جالب تر این است که همه این موارد در مرورگری که دارای هسته بسیار سبک است انجام می شود.


چرا فریم ورک tracking.js فوق العاده است؟

شاید شما تعجب کرده باشید که چرا ما درباره این کتابخانه جاوا اسکریپت اینقدر هیجان زده هستیم؟

با استفاده از فریم ورک tracking.js روزهایی که بینایی ماشین تنها محدود به اپلیکیشن های نیتیو و C/C++ بودند در حال رفتن هستند. شما می توانید از فریم ورک tracking.js به صورت مستقیم در مرورگر استفاده کنید تا به این طریق بتوانید چهره را تشخیص دهید و مسیرها را ردیابی کنید. البته این موضوع به میزان بسیار زیادی به سلیقه و خلاقیت شما نیز بستگی دارد.


روزهای استفاده از OpenVC در حال رفتن هستند

OpenVC در واقع مخفف open computer vision است که از زبان های سی، سی پلاس پلاس پشتیبانی، پایتون و جاوا پشتیبانی می کند. این کتابخانه طراحی شده است تا بر روی اپلیکیشن های real-time تمرکز کند و می تواند در موارد بسیار پیشرفته ای مورد استفاده قرار گیرد.

با استفاده از فریم ورک tracking.js تمامی پردازش ها می توانند در سمت کلاینت و در مرورگر اتفاق بیفتند و به همین دلیل روزهای استفاده از پردازش های سمت سرور در حال رفتن هستند.


اپلیکیشن های real-time در وب

همانطور که قبلا نیز بیان شد اپلیکیشن های real-time( مانند تشخیص چهره) در وب محدود شده بودند. فریم ورک Tracking.js قدرت بینایی ماشین را به وب آورده است.

با افزایش قدرت موتورهای جاوا اسکریپت زمانی که اپلیکیشن های real-time در حال اجرا بر روی مرورگر هستند می توانند نتایج فوق العاده ای را بدهند.


تشخیص چهره real-time

آیا شما می خواهید که برخی از کاربردهای واقعی فریم ورک tracking.js را مشاهده کنید؟ تشخیص چهره می تواند مثالی فوق العاده برای شما باشد.

پیاده سازی فریم ورک قدرتمند tracking.js بر پایه الگوریتم Viola-Jones است که یکی از الگوریتم هایی است که به میزان بسیار زیاد در مسائل مربوط به تشخیص چهره به کار می رود. شاید برای شما جالب باشد که بدانید این الگوریتم در OpenCV نیز مورد استفاده قرار می گیرد و به شما اجازه می دهد تا اشیا مختلفی را ردیابی کنید که این کار از طریق تغییر دادن داده های آموزشی انجام می شود.

 فریم ورک tracking.js


ردیابی رنگ ها

درباره ردیابی رنگ آیتم هایی که در مقابل صفحه نمایشگر شما ظاهر می شوند چه کاری می توان انجام داد؟ برای استفاده از ردیاب رنگ ها شما باید کانستراکتور را با رنگ هایی که قصد دارید آنها را تشخیص دهید مقدار دهی اولیه کنید.

var colors = new tracking.ColorTracker(['magenta', 'cyan', 'yellow']);

حال شما باید بدانید که چه زمانی یک اتفاق می افتد. در ادامه یک کد نمونه را برای شما آورده ایم:

colors.on('track', function(event) {

  if (event.data.length === 0) {

    // No colors were detected in this frame.

  } else {

    event.data.forEach(function(rect) {

      // rect.x, rect.y, rect.height, rect.width, rect.color

    });

  }

});

و در ادامه نیز کد زیر را داریم:

tracking.track('#myVideo', colors);

ردیاب رنگ حالا به شما درخواست مجوز برای دسترسی به دوربین را ارائه می دهد و رنگ های ارغوانی، فیروزه ای و زردی که در جلوی نمایشگر ظاهر می شوند را تشخیص می دهد.

 فریم ورک tracking.js


تگ کردن دوستان

یکی دیگر از قابلیت های فریم ورک tracking.js قابلیت تگ کردن دوستان است. از زمانی که فیسبوک قابلیت تگ کردن دوستان را معرفی کرد یک تجربه فوق العاده را به کل دنیا معرفی کرد. با استفاده از فریم ورک tracking.js شما در حال حاضر می توانید این قابلیت را در مرورگر پیاده سازی کنید.

 فریم ورک tracking.js


محدودیت های tracking.js چیست؟

با توجه به این موضوع که tracking.js یک فریم ورک جدید است قطعا دارای محدودیت هایی می باشد به عبارت دیگر می توان گفت که این فریم ورک مانند openVC الگوریتم های زیادی ندارد. اگر چه این فریم ورک حمایت جامعه بسیار بزرگ جاوا اسکریپت را به همراه دارد اما مسئله ای که در این جا وجود دارد تنها زمان است. ما قطعا در آینده ای نزدیک بسیار هیجان زده خواهیم شد چرا که توسعه دهندگان زیادی بر روی این مسائل در حال کار کردن هستند.

 فریم ورک tracking.js


جمع بندی و نکات پایانی

با استفاده از tracking.js مرورگرها کمی قوی تر شدند. دیگر کار سختی نیست که شما قابلیت تشخیص چهره را برای وب سایت و یا اپلیکیشن تحت وب خود پیاده سازی کنید و یا حتی یک بازی را در مرورگر طراحی کنید و یا این که به دنبال ویژگی های تگ گردن خاص باشید. این فریم ورک بسیار قدرتمند تمامی این امکانات را به راحتی در اختیار شما قرار می دهد.

مرورگرها قطعا دنیای آینده را تشکیل می دهند و می توان آنها را به عنوان پلتفرم دنیای تکنولوژی در آینده ای نزدیک دانست. با استفاده از فریم ورک tracking.js قطعا در آینده اتفاقات بسیار خوبی پیش می آید و شما می توانید کارهای خیلی بزرگی را با استفاده از مرورگرهای خود انجام دهید.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید