{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## ഓപ്റ്റിക്കൽ ഫ്ലോ ഉപയോഗിച്ച് കൈവിരൽ ചലനം കണ്ടെത്തൽ\n", "\n", "ഈ ലാബ് [AI for Beginners Curriculum](http://aka.ms/ai-beginners) എന്ന കോഴ്സിന്റെ ഭാഗമാണ്.\n", "\n", "ഒരു വ്യക്തിയുടെ കൈവിരൽ സ്ഥിരമായ പശ്ചാത്തലത്തിൽ ഇടത്തേക്ക്/വലത്തേക്ക്/മുകളിലേക്ക്/താഴേക്ക് ചലിക്കുന്ന [ഈ വീഡിയോ](../../../../../../lessons/4-ComputerVision/06-IntroCV/lab/palm-movement.mp4) പരിഗണിക്കുക.\n", "\n", "\"Palm\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", "\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ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചിട്ടുണ്ടെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖയാണ് പ്രാമാണികമായ ഉറവിടം എന്ന് പരിഗണിക്കേണ്ടതാണ്. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനം ഉപയോഗിക്കുന്നതിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.\n\n" ] } ], "metadata": { "language_info": { "name": "python" }, "orig_nbformat": 4, "coopTranslator": { "original_hash": "153d9e417e079bf62f8f693002d0deaf", "translation_date": "2025-11-26T01:26:12+00:00", "source_file": "lessons/4-ComputerVision/06-IntroCV/lab/MovementDetection.ipynb", "language_code": "ml" } }, "nbformat": 4, "nbformat_minor": 2 }