108 lines
4.5 KiB
Plaintext
108 lines
4.5 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## تشخیص حرکت کف دست با استفاده از Optical Flow\n",
|
||
"\n",
|
||
"این آزمایش بخشی از [برنامه درسی AI برای مبتدیان](http://aka.ms/ai-beginners) است.\n",
|
||
"\n",
|
||
"[این ویدیو](../../../../../../lessons/4-ComputerVision/06-IntroCV/lab/palm-movement.mp4) را در نظر بگیرید، که در آن کف دست یک فرد روی یک پسزمینه ثابت به سمت چپ/راست/بالا/پایین حرکت میکند.\n",
|
||
"\n",
|
||
"**هدف شما** این است که با استفاده از Optical Flow تعیین کنید کدام بخشهای ویدیو شامل حرکات بالا/پایین/چپ/راست هستند.\n",
|
||
"\n",
|
||
"ابتدا با دریافت فریمهای ویدیو همانطور که در درس توضیح داده شد، شروع کنید:\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Code here"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"اکنون، فریمهای جریان نوری متراکم را همانطور که در درس توضیح داده شد محاسبه کنید و جریان نوری متراکم را به مختصات قطبی تبدیل کنید:\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Code here"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"ساخت هیستوگرام جهتها برای هر فریم جریان نوری. یک هیستوگرام نشان میدهد که چند بردار در هر بازه خاص قرار میگیرند و باید جهتهای مختلف حرکت در فریم را از هم جدا کند.\n",
|
||
"\n",
|
||
"> ممکن است بخواهید تمام بردارهایی را که اندازه آنها کمتر از یک آستانه مشخص است صفر کنید. این کار حرکات کوچک اضافی در ویدیو، مانند حرکات چشم و سر، را حذف میکند.\n",
|
||
"\n",
|
||
"هیستوگرامها را برای برخی از فریمها رسم کنید.\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Code here"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"نگاه کردن به هیستوگرامها باید کاملاً واضح باشد که چگونه جهت حرکت را تعیین کنید. شما باید آن دسته از ستونهایی را انتخاب کنید که با جهتهای بالا/پایین/چپ/راست مطابقت دارند و بالاتر از یک آستانه خاص هستند.\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Code here"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"تبریک! اگر تمام مراحل بالا را انجام دادهاید، آزمایشگاه را به پایان رساندهاید!\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"\n---\n\n**سلب مسئولیت**: \nاین سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه میشود از ترجمه حرفهای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.\n"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"language_info": {
|
||
"name": "python"
|
||
},
|
||
"orig_nbformat": 4,
|
||
"coopTranslator": {
|
||
"original_hash": "153d9e417e079bf62f8f693002d0deaf",
|
||
"translation_date": "2025-08-31T16:08:59+00:00",
|
||
"source_file": "lessons/4-ComputerVision/06-IntroCV/lab/MovementDetection.ipynb",
|
||
"language_code": "fa"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
} |