# آئی او ٹی ڈیوائس سے پھلوں کی کوالٹی چیک کریں ![اس سبق کا خاکہ](../../../../../translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.ur.jpg) > خاکہ نگاری: [نیتیا نرسمہن](https://github.com/nitya)۔ بڑی تصویر دیکھنے کے لیے تصویر پر کلک کریں۔ ## لیکچر سے پہلے کا کوئز [لیکچر سے پہلے کا کوئز](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/31) ## تعارف پچھلے سبق میں آپ نے امیج کلاسیفائرز کے بارے میں سیکھا، اور یہ کہ انہیں اچھے اور خراب پھلوں کی شناخت کے لیے کیسے تربیت دی جائے۔ اگر آپ اس امیج کلاسیفائر کو آئی او ٹی ایپلیکیشن میں استعمال کرنا چاہتے ہیں، تو آپ کو کسی قسم کے کیمرے سے تصویر کھینچنے اور اسے کلاسیفائی کرنے کے لیے کلاؤڈ پر بھیجنے کی ضرورت ہوگی۔ اس سبق میں آپ کیمرہ سینسرز کے بارے میں سیکھیں گے، اور یہ کہ انہیں آئی او ٹی ڈیوائس کے ساتھ استعمال کر کے تصویر کیسے کھینچی جائے۔ آپ یہ بھی سیکھیں گے کہ اپنے آئی او ٹی ڈیوائس سے امیج کلاسیفائر کو کیسے کال کریں۔ اس سبق میں ہم درج ذیل موضوعات کا احاطہ کریں گے: * [کیمرہ سینسرز](../../../../../4-manufacturing/lessons/2-check-fruit-from-device) * [آئی او ٹی ڈیوائس سے تصویر کھینچنا](../../../../../4-manufacturing/lessons/2-check-fruit-from-device) * [اپنے امیج کلاسیفائر کو شائع کریں](../../../../../4-manufacturing/lessons/2-check-fruit-from-device) * [آئی او ٹی ڈیوائس سے تصاویر کلاسیفائی کریں](../../../../../4-manufacturing/lessons/2-check-fruit-from-device) * [ماڈل کو بہتر بنائیں](../../../../../4-manufacturing/lessons/2-check-fruit-from-device) ## کیمرہ سینسرز کیمرہ سینسرز، جیسا کہ نام سے ظاہر ہے، وہ کیمرے ہیں جنہیں آپ اپنے آئی او ٹی ڈیوائس سے جوڑ سکتے ہیں۔ یہ اسٹِل تصاویر لے سکتے ہیں یا ویڈیو اسٹریم کر سکتے ہیں۔ کچھ کیمرے خام امیج ڈیٹا واپس کرتے ہیں، جبکہ کچھ امیج ڈیٹا کو JPEG یا PNG فائل میں کمپریس کر دیتے ہیں۔ عام طور پر آئی او ٹی ڈیوائسز کے ساتھ کام کرنے والے کیمرے چھوٹے اور کم ریزولوشن والے ہوتے ہیں، لیکن آپ اعلیٰ ریزولوشن والے کیمرے بھی حاصل کر سکتے ہیں جو اعلیٰ درجے کے فونز کا مقابلہ کر سکتے ہیں۔ آپ مختلف قسم کے لینز، ملٹیپل کیمرہ سیٹ اپس، انفراریڈ تھرمل کیمرے، یا یو وی کیمرے بھی حاصل کر سکتے ہیں۔ ![روشنی لینز سے گزر کر CMOS سینسر پر مرکوز ہوتی ہے](../../../../../translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.ur.png) زیادہ تر کیمرہ سینسرز امیج سینسرز استعمال کرتے ہیں، جہاں ہر پکسل ایک فوٹوڈائیوڈ ہوتا ہے۔ ایک لینز تصویر کو امیج سینسر پر مرکوز کرتا ہے، اور ہزاروں یا لاکھوں فوٹوڈائیوڈز اس پر پڑنے والی روشنی کو پکڑتے ہیں اور اسے پکسل ڈیٹا کے طور پر ریکارڈ کرتے ہیں۔ > 💁 لینز تصاویر کو الٹا کر دیتے ہیں، اور پھر کیمرہ سینسر تصویر کو دوبارہ سیدھا کر دیتا ہے۔ آپ کی آنکھوں میں بھی یہی ہوتا ہے - جو آپ دیکھتے ہیں وہ آپ کی آنکھ کے پچھلے حصے میں الٹا ہوتا ہے، اور آپ کا دماغ اسے درست کرتا ہے۔ > 🎓 امیج سینسر کو ایکٹو-پکسل سینسر (APS) کہا جاتا ہے، اور APS کی سب سے مشہور قسم کمپلیمنٹری میٹل-آکسائیڈ سیمی کنڈکٹر سینسر، یا CMOS ہے۔ آپ نے کیمرہ سینسرز کے لیے CMOS سینسر کی اصطلاح سنی ہوگی۔ کیمرہ سینسرز ڈیجیٹل سینسرز ہوتے ہیں، جو امیج ڈیٹا کو ڈیجیٹل ڈیٹا کے طور پر بھیجتے ہیں، عام طور پر ایک لائبریری کی مدد سے جو کمیونیکیشن فراہم کرتی ہے۔ کیمرے SPI جیسے پروٹوکولز کا استعمال کرتے ہوئے جڑتے ہیں تاکہ بڑی مقدار میں ڈیٹا بھیج سکیں - تصاویر سینسرز جیسے کہ درجہ حرارت سینسر سے حاصل ہونے والے سنگل نمبروں کے مقابلے میں کافی بڑی ہوتی ہیں۔ ✅ آئی او ٹی ڈیوائسز کے ساتھ امیج سائز کے حوالے سے کیا حدود ہو سکتی ہیں؟ خاص طور پر مائیکرو کنٹرولر ہارڈویئر کی حدود کے بارے میں سوچیں۔ ## آئی او ٹی ڈیوائس سے تصویر کھینچنا آپ اپنے آئی او ٹی ڈیوائس کا استعمال کرتے ہوئے تصویر کھینچ سکتے ہیں تاکہ اسے کلاسیفائی کیا جا سکے۔ ### کام - آئی او ٹی ڈیوائس سے تصویر کھینچیں متعلقہ گائیڈ کے ذریعے کام کریں تاکہ اپنے آئی او ٹی ڈیوائس سے تصویر کھینچ سکیں: * [Arduino - Wio Terminal](wio-terminal-camera.md) * [سنگل بورڈ کمپیوٹر - Raspberry Pi](pi-camera.md) * [سنگل بورڈ کمپیوٹر - ورچوئل ڈیوائس](virtual-device-camera.md) ## اپنے امیج کلاسیفائر کو شائع کریں آپ نے پچھلے سبق میں اپنے امیج کلاسیفائر کو تربیت دی تھی۔ اسے اپنے آئی او ٹی ڈیوائس سے استعمال کرنے سے پہلے، آپ کو ماڈل کو شائع کرنا ہوگا۔ ### ماڈل کے ورژنز جب آپ نے پچھلے سبق میں ماڈل کو تربیت دی، تو آپ نے دیکھا ہوگا کہ **پرفارمنس** ٹیب کے سائیڈ پر ورژنز دکھائے گئے ہیں۔ جب آپ نے پہلی بار ماڈل کو تربیت دی، تو آپ نے *Iteration 1* دیکھا ہوگا۔ جب آپ نے پیش گوئی کی تصاویر کا استعمال کرتے ہوئے ماڈل کو بہتر بنایا، تو آپ نے *Iteration 2* دیکھا ہوگا۔ ہر بار جب آپ ماڈل کو تربیت دیتے ہیں، تو آپ کو ایک نیا ورژن ملتا ہے۔ یہ مختلف ڈیٹا سیٹس پر تربیت یافتہ ماڈل کے مختلف ورژنز کو ٹریک کرنے کا ایک طریقہ ہے۔ جب آپ **Quick Test** کرتے ہیں، تو ایک ڈراپ ڈاؤن ہوتا ہے جسے آپ ورژنز کا موازنہ کرنے کے لیے استعمال کر سکتے ہیں۔ جب آپ کسی ورژن سے مطمئن ہوں، تو آپ اسے شائع کر سکتے ہیں تاکہ اسے بیرونی ایپلیکیشنز سے استعمال کیا جا سکے۔ اس طرح آپ کے پاس ایک شائع شدہ ورژن ہو سکتا ہے جو آپ کے ڈیوائسز استعمال کرتے ہیں، اور پھر آپ ایک نئے ورژن پر کام کر سکتے ہیں، اور جب آپ اس سے مطمئن ہوں تو اسے شائع کر سکتے ہیں۔ ### کام - ایک ورژن شائع کریں ورژنز کو Custom Vision پورٹل سے شائع کیا جاتا ہے۔ 1. Custom Vision پورٹل کو [CustomVision.ai](https://customvision.ai) پر لانچ کریں اور سائن ان کریں اگر آپ نے اسے پہلے سے نہیں کھولا۔ پھر اپنے `fruit-quality-detector` پروجیکٹ کو کھولیں۔ 1. اوپر موجود آپشنز میں سے **پرفارمنس** ٹیب کو منتخب کریں۔ 1. سائیڈ پر موجود *Iterations* کی فہرست سے تازہ ترین ورژن کو منتخب کریں۔ 1. ورژن کے لیے **Publish** بٹن کو منتخب کریں۔ ![شائع کرنے کا بٹن](../../../../../translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.ur.png) 1. *Publish Model* ڈائیلاگ میں، *Prediction resource* کو `fruit-quality-detector-prediction` ریسورس پر سیٹ کریں جو آپ نے پچھلے سبق میں بنایا تھا۔ نام کو `Iteration2` پر چھوڑ دیں، اور **Publish** بٹن کو منتخب کریں۔ 1. شائع ہونے کے بعد، **Prediction URL** بٹن کو منتخب کریں۔ یہ پیش گوئی API کی تفصیلات دکھائے گا، اور آپ کو اپنے آئی او ٹی ڈیوائس سے ماڈل کو کال کرنے کے لیے ان کی ضرورت ہوگی۔ نیچے والا سیکشن *If you have an image file* کے لیبل کے ساتھ ہے، اور یہ وہ تفصیلات ہیں جو آپ کو چاہیے۔ URL کی ایک کاپی لیں جو کچھ اس طرح ہوگی: ```output https://.api.cognitive.microsoft.com/customvision/v3.0/Prediction//classify/iterations/Iteration2/image ``` جہاں `` وہ مقام ہوگا جو آپ نے اپنی Custom Vision ریسورس بناتے وقت استعمال کیا تھا، اور `` ایک لمبی ID ہوگی جو حروف اور نمبروں پر مشتمل ہوگی۔ *Prediction-Key* ویلیو کی بھی ایک کاپی لیں۔ یہ ایک محفوظ کلید ہے جسے آپ کو ماڈل کو کال کرتے وقت پاس کرنا ہوگا۔ صرف وہ ایپلیکیشنز جو اس کلید کو پاس کرتی ہیں ماڈل کو استعمال کرنے کی اجازت دی جاتی ہیں، باقی تمام ایپلیکیشنز کو مسترد کر دیا جاتا ہے۔ ![پیش گوئی API ڈائیلاگ جو URL اور کلید دکھا رہا ہے](../../../../../translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.ur.png) ✅ جب ایک نیا ورژن شائع کیا جاتا ہے، تو اس کا نام مختلف ہوتا ہے۔ آپ کے خیال میں آپ آئی او ٹی ڈیوائس کو استعمال کرنے والے ورژن کو کیسے تبدیل کریں گے؟ ## آئی او ٹی ڈیوائس سے تصاویر کلاسیفائی کریں اب آپ ان کنکشن تفصیلات کا استعمال کرتے ہوئے اپنے آئی او ٹی ڈیوائس سے امیج کلاسیفائر کو کال کر سکتے ہیں۔ ### کام - آئی او ٹی ڈیوائس سے تصاویر کلاسیفائی کریں متعلقہ گائیڈ کے ذریعے کام کریں تاکہ اپنے آئی او ٹی ڈیوائس سے تصاویر کلاسیفائی کریں: * [Arduino - Wio Terminal](wio-terminal-classify-image.md) * [سنگل بورڈ کمپیوٹر - Raspberry Pi/ورچوئل آئی او ٹی ڈیوائس](single-board-computer-classify-image.md) ## ماڈل کو بہتر بنائیں آپ کو یہ معلوم ہو سکتا ہے کہ جب آپ اپنے آئی او ٹی ڈیوائس سے جڑے کیمرے کا استعمال کرتے ہوئے نتائج حاصل کرتے ہیں، تو وہ آپ کی توقعات کے مطابق نہیں ہوتے۔ پیش گوئیاں ہمیشہ اتنی درست نہیں ہوتیں جتنی آپ کے کمپیوٹر سے اپ لوڈ کی گئی تصاویر کے ساتھ ہوتی ہیں۔ اس کی وجہ یہ ہے کہ ماڈل کو مختلف ڈیٹا پر تربیت دی گئی تھی جو پیش گوئی کے لیے استعمال ہو رہا ہے۔ ایک امیج کلاسیفائر کے بہترین نتائج حاصل کرنے کے لیے، آپ ماڈل کو ان تصاویر کے ساتھ تربیت دینا چاہتے ہیں جو پیش گوئی کے لیے استعمال ہونے والی تصاویر سے زیادہ سے زیادہ مشابہ ہوں۔ اگر آپ نے تربیت کے لیے اپنے فون کے کیمرے کا استعمال کیا، تو مثال کے طور پر، تصویر کا معیار، شارپنس، اور رنگ آئی او ٹی ڈیوائس سے جڑے کیمرے سے مختلف ہوں گے۔ ![2 کیلے کی تصاویر، ایک کم ریزولوشن والی خراب روشنی کے ساتھ آئی او ٹی ڈیوائس سے، اور دوسری اعلیٰ ریزولوشن والی اچھی روشنی کے ساتھ فون سے](../../../../../translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.ur.png) اوپر دی گئی تصویر میں، بائیں طرف کیلے کی تصویر Raspberry Pi کیمرے سے لی گئی ہے، جبکہ دائیں طرف کی تصویر اسی کیلے کی اسی جگہ پر iPhone سے لی گئی ہے۔ معیار میں واضح فرق ہے - iPhone کی تصویر زیادہ شارپ، روشن رنگوں اور زیادہ کنٹراسٹ کے ساتھ ہے۔ ✅ آپ کے خیال میں اور کیا عوامل آئی او ٹی ڈیوائس سے لی گئی تصاویر کی پیش گوئی کو غلط بنا سکتے ہیں؟ اس ماحول کے بارے میں سوچیں جس میں آئی او ٹی ڈیوائس استعمال ہو سکتی ہے، اور کون سے عوامل تصویر کو متاثر کر سکتے ہیں۔ ماڈل کو بہتر بنانے کے لیے، آپ اسے آئی او ٹی ڈیوائس سے لی گئی تصاویر کا استعمال کرتے ہوئے دوبارہ تربیت دے سکتے ہیں۔ ### کام - ماڈل کو بہتر بنائیں 1. اپنے آئی او ٹی ڈیوائس کا استعمال کرتے ہوئے پکے اور کچے پھلوں کی متعدد تصاویر کلاسیفائی کریں۔ 1. Custom Vision پورٹل میں، *Predictions* ٹیب پر موجود تصاویر کا استعمال کرتے ہوئے ماڈل کو دوبارہ تربیت دیں۔ > ⚠️ اگر ضرورت ہو تو [سبق 1 میں اپنے کلاسیفائر کو دوبارہ تربیت دینے کی ہدایات کا حوالہ دیں](../1-train-fruit-detector/README.md#retrain-your-image-classifier)۔ 1. اگر آپ کی تصاویر تربیت کے لیے استعمال کی گئی اصل تصاویر سے بہت مختلف نظر آتی ہیں، تو آپ *Training Images* ٹیب میں موجود تمام اصل تصاویر کو منتخب کر کے اور **Delete** بٹن کو منتخب کر کے حذف کر سکتے ہیں۔ کسی تصویر کو منتخب کرنے کے لیے، اس پر کرسر لے جائیں اور ایک ٹک ظاہر ہوگا، اس ٹک کو منتخب یا غیر منتخب کریں۔ 1. ماڈل کا ایک نیا ورژن تربیت دیں اور اوپر دیے گئے مراحل کا استعمال کرتے ہوئے اسے شائع کریں۔ 1. اپنے کوڈ میں اینڈ پوائنٹ URL کو اپ ڈیٹ کریں، اور ایپ کو دوبارہ چلائیں۔ 1. ان مراحل کو اس وقت تک دہرائیں جب تک کہ آپ پیش گوئی کے نتائج سے مطمئن نہ ہوں۔ --- ## 🚀 چیلنج تصویر کی ریزولوشن یا روشنی پیش گوئی پر کتنا اثر ڈالتی ہے؟ اپنے ڈیوائس کوڈ میں تصاویر کی ریزولوشن کو تبدیل کرنے کی کوشش کریں اور دیکھیں کہ کیا اس سے تصاویر کے معیار پر کوئی فرق پڑتا ہے۔ روشنی کو تبدیل کرنے کی بھی کوشش کریں۔ اگر آپ ایک پروڈکشن ڈیوائس بنانا چاہتے ہیں جو فارمز یا فیکٹریز میں فروخت ہو، تو آپ کیسے یقینی بنائیں گے کہ یہ ہر وقت مستقل نتائج فراہم کرے؟ ## لیکچر کے بعد کا کوئز [لیکچر کے بعد کا کوئز](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/32) ## جائزہ اور خود مطالعہ آپ نے اپنے Custom Vision ماڈل کو پورٹل کا استعمال کرتے ہوئے تربیت دی۔ یہ تصاویر دستیاب ہونے پر انحصار کرتا ہے - اور حقیقی دنیا میں آپ کو تربیتی ڈیٹا حاصل کرنے میں دشواری ہو سکتی ہے جو آپ کے ڈیوائس کے کیمرے سے لی گئی تصاویر سے مطابقت رکھتا ہو۔ آپ اس مسئلے کو ڈیوائس سے براہ راست تربیت API کا استعمال کرتے ہوئے حل کر سکتے ہیں، تاکہ آئی او ٹی ڈیوائس سے لی گئی تصاویر کا استعمال کرتے ہوئے ماڈل کو تربیت دی جا سکے۔ * [Custom Vision SDK کوئیک اسٹارٹ](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/quickstarts/image-classification?WT.mc_id=academic-17441-jabenn&tabs=visual-studio&pivots=programming-language-python) میں تربیت API کے بارے میں مزید پڑھیں۔ ## اسائنمنٹ [کلاسیفکیشن کے نتائج کا جواب دیں](assignment.md) --- **ڈسکلیمر**: یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔