paint-brush
सोशल मीडिया स्टार्टअप के लिए इमेज ऑब्जेक्ट डिटेक्शन फीचर बनाने के लिए अमेज़न रेकोग्निशन का उपयोग करनाद्वारा@aidenwalton
361 रीडिंग
361 रीडिंग

सोशल मीडिया स्टार्टअप के लिए इमेज ऑब्जेक्ट डिटेक्शन फीचर बनाने के लिए अमेज़न रेकोग्निशन का उपयोग करना

द्वारा Aiden Walton6m2024/04/14
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

रिकॉग्निशन ने हमें एक ऐसी इमेज ऑब्जेक्ट डिटेक्शन सुविधा बनाने में सक्षम बनाया जो सटीक, तेज और स्केलेबल है।
featured image - सोशल मीडिया स्टार्टअप के लिए इमेज ऑब्जेक्ट डिटेक्शन फीचर बनाने के लिए अमेज़न रेकोग्निशन का उपयोग करना
Aiden Walton HackerNoon profile picture


छवियों से जानकारी एकत्र करने की क्षमता में बहुत अधिक व्यावसायिक संभावनाएँ हैं। और, यह मज़ेदार भी हो सकता है। इस लेख में, मैं बताऊँगा कि हमने इसका उपयोग कैसे किया अमेज़न मान्यता एक सोशल मीडिया स्टार्टअप के लिए इमेज ऑब्जेक्ट डिटेक्शन फीचर का तेजी से निर्माण करना।

इमेज ऑब्जेक्ट डिटेक्शन क्या है?

सरल शब्दों में कहें तो इमेज ऑब्जेक्ट डिटेक्शन किसी दी गई इमेज में मौजूद इकाइयों के बारे में जानकारी का पता लगाने और निकालने की प्रक्रिया है। इसमें वस्तुओं, गतिविधियों, स्थानों, जानवरों, उत्पादों आदि का पता लगाना शामिल है।


इमेज ऑब्जेक्ट डिटेक्शन के कई तरह के उपयोग विभिन्न उद्योगों में किए जाते हैं। बैंक, बीमा, सोशल मीडिया, डेटिंग ऐप, समाचार एजेंसियां और फिनटेक जैसे प्रमुख क्षेत्र किसी न किसी रूप में ऑब्जेक्ट डिटेक्शन का उपयोग करते हैं।

हमारा उपयोग मामला

हाल ही में, हमें एक सोशल मीडिया स्टार्टअप के लिए इमेज ऑब्जेक्ट डिटेक्शन फीचर बनाने का काम सौंपा गया था। इसका उपयोग सरल था - उपयोगकर्ता अपनी कुछ पसंदीदा तस्वीरें चुन सकते थे और उन्हें स्टार्टअप के सोशल मीडिया पेजों में से किसी एक पर प्रदर्शित करने के लिए सबमिट कर सकते थे।


सोशल मीडिया मार्केटिंग टीम को कुछ विशेष विषयों के लिए प्रस्तुत छवियों के माध्यम से खोज करने का एक तरीका चाहिए था - जैसे समुद्र की तस्वीरें, लोकप्रिय स्थल, जानवर, संगीत समारोह, आदि।

डीप लर्निंग का उपयोग करके छवि विश्लेषण

छवियों का विश्लेषण करना और उन्हें छवि के भीतर दृश्यों और वस्तुओं के आधार पर वर्गीकृत करना कोई आसान काम नहीं है। मानव दृष्टि असाधारण से कम नहीं है, और एक ऐसा एप्लिकेशन बनाना जो वस्तुओं का पता लगाने की मस्तिष्क की क्षमता को दोहराने में सक्षम हो, बेहद जटिल है। एक संपूर्ण कंप्यूटर विज़न उद्योग बस यही करने के लिए समर्पित है।


शुरुआत से ही वस्तु का पता लगाना एक बहु-चरणीय प्रक्रिया है जिसमें निम्नलिखित शामिल हैं:

  • चित्र एकत्रित करना और उनमें मौजूद वस्तुओं को लेबल करना
  • एमएल मॉडल का प्रशिक्षण
  • विश्लेषण करने के लिए प्रशिक्षित मॉडल का उपयोग करना
  • प्रदर्शन सुधारना
  • और दोहराओ…


इस सुविधा के लिए हमारा उद्देश्य, परियोजना पर अन्य सभी की तरह, इसे जल्दी से जल्दी बनाना और उत्पादन वातावरण में इसकी प्रभावशीलता का परीक्षण करना था। इसके अलावा, हम विकास संसाधनों को शुरू से ही समाधान बनाने में लगाना नहीं चाहते थे, जबकि हम मौजूदा क्लाउड सेवाओं का लाभ उठा सकते थे।


क्यू सर्वरलेस - स्टार्टअप का पूरा बैकएंड पूरी तरह से सर्वरलेस और इवेंट-ड्रिवन है। इस आर्किटेक्चर के साथ, हम डेवलपर्स की टीम बनाने में सक्षम हैं, जिन्हें केवल उन सुविधाओं पर ध्यान केंद्रित करने की आवश्यकता है जो सोशल मीडिया ऐप को दूसरों से अलग करती हैं । सर्वरलेस हमें अत्यधिक स्केलेबल सेवाएँ बनाने में सक्षम बनाता है, जबकि केवल उसी के लिए भुगतान करता है जिसका हम उपयोग करते हैं - एक स्केलिंग स्टार्टअप के लिए एक महत्वपूर्ण विचार।


इसलिए इस सुविधा को प्राप्त करने के लिए, हमने Amazon Rekognition का उपयोग किया - एक पूरी तरह से सर्वर रहित छवि और वीडियो विश्लेषण सेवा। Rekognition का उपयोग करके, हम कुछ ही घंटों में इस जटिल और महत्वपूर्ण वर्कफ़्लो को विकसित करने में सक्षम थे। आइए इसके बारे में विस्तार से जानें।

अमेज़न रिकॉग्निशन क्या है?

Amazon Rekognition एक AWS सर्वरलेस पेशकश है जो छवि और वीडियो विश्लेषण करने के लिए डीप लर्निंग का उपयोग करती है। पूरी तरह से सर्वरलेस होने का मतलब है कि Rekognition के साथ हमें अंतर्निहित बुनियादी ढांचे की जटिलता के बारे में चिंता करने की ज़रूरत नहीं है; हम केवल उसी के लिए भुगतान करते हैं जिसका हम उपयोग करते हैं और यह हमें छवि और वीडियो विश्लेषण कार्यों के लिए पहले से लिखा हुआ सॉफ़्टवेयर प्रदान करता है। Rekognition कई सुविधाएँ प्रदान करता है, जिसमें छवि लेबल पहचान, चेहरा पहचान, सेलिब्रिटी पहचान, सामग्री मॉडरेशन और टेक्स्ट पहचान शामिल है।


सबसे अच्छी बात? रेकोग्निशन डीप लर्निंग मॉडल बनाने, प्रशिक्षण देने और विश्लेषण करने के भारी काम को दूर रखता है। छवि और वीडियो विश्लेषण त्वरित और सरल है, जिसमें न्यूनतम सेट-अप की आवश्यकता होती है। हमें अपने स्वयं के डेटासेट बनाने और प्रशिक्षण देने और सर्वर क्षमता का प्रावधान करने के बारे में चिंता करने की आवश्यकता नहीं थी ताकि हमारी सेवा स्केल हो सके। हमें केवल एकीकरण के बारे में चिंता करने की आवश्यकता थी।

वास्तुकला

आर्किटेक्चर सीधा है। हमारा मोबाइल ऐप उपयोगकर्ताओं के फ़ोन से S3 बकेट में इमेज अपलोड करता है। S3 पर अपलोड करने के बाद एक लैम्ब्डा फ़ंक्शन ट्रिगर होता है जो बदले में रेकोग्निशन API को कॉल करता है और क्वेरी के लिए डायनेमोडीबी में परिणाम संग्रहीत करता है।


AWS का उपयोग करके सर्वर रहित छवि ऑब्जेक्ट पहचान आर्किटेक्चर आरेख

कोड

कोड लिखना मज़ेदार है, है न? खैर, कम कोड लिखना और भी मज़ेदार है।


रेकोग्निशन एपीआई का एक सेट प्रदर्शित करता है, जिस पर आप छवि डेटा भेजते हैं, जो विश्लेषण करता है और परिणाम लौटाता है। हमारे उपयोग के मामले में, हमने इसका उपयोग किया लेबल का पता लगाएँ एपीआई.


हमारे सर्वरलेस फ्रेमवर्क इन्फ्रास्ट्रक्चर एज़ कोड फ़ाइल का सरलीकृत संस्करण इस तरह दिखता है:

 //serverless.yamlfunctions: imageLabelDetection: handler: image-label-detection.handler events: - s3: bucket: my-image-bucket event: s3:ObjectCreated:* existing: true iamRoleStatements: - Effect: Allow Action: rekognition:DetectLabels Resource: "*" - Effect: Allow Action: s3:GetObject Resource: arn:aws:s3:::my-image-bucket


हमारा लैम्ब्डा कोड केवल रिकग्निशन एपीआई को कॉल करता है और परिणामों को डायनेमोडीबी में संग्रहीत करता है, लेकिन आप अपने उपयोग के मामले के लिए जो भी समझ में आता है उसका उपयोग कर सकते हैं। हम S3 इवेंट से S3 बकेट नाम और छवि का ऑब्जेक्ट नाम प्राप्त करते हैं और उन्हें डिटेक्ट लेबल फ़ंक्शन में पास करते हैं। रिकॉग्निशन SDK .


हम विश्वास स्तर सीमा और लेबल की अधिकतम संख्या निर्दिष्ट करने के लिए दो वैकल्पिक पैरामीटर (MaxLabels और MinConfidence) भी पास करते हैं जिन्हें हम वापस करना चाहते हैं। नीचे दिए गए उदाहरण में, हमें प्रतिक्रिया में केवल 20 लेबल ही मिलेंगे, और सभी लेबल का विश्वास स्तर 80% से अधिक होगा।


 //image-label-detecion.jsconst AWS = require("aws-sdk");const rekognition = new AWS.Rekognition();exports.handler = async (event) => { const imageDetails = event.Records[0].s3; const bucketName = imageDetails.bucket.name; const objectKey = imageDetails.object.key; const rekognitionResp = await rekognition .detectLabels({ Image: { S3Object: { Bucket: bucketName, Name: objectKey, }, }, MaxLabels: 20, MinConfidence: 80, }) .promise(); // Send to data store, eg DynamoDB // ... };

कुत्ते की तस्वीर किसे पसंद नहीं आती? नीचे एक तस्वीर के लिए प्रतिक्रिया दी गई है जिसे हमने अपने S3 बकेट में अपलोड किया है। जैसा कि आप देख सकते हैं, रेकोग्निशन सही ढंग से निर्धारित करता है कि यह एक बाहरी, बजरी वाले रास्ते पर एक कुत्ते की तस्वीर है (और हमें बताता है कि तस्वीर में कुत्ता कहाँ है!)।

रिकॉग्निशन प्रतिक्रिया (बाएं), अपलोड की गई छवि (दाएं)।

अंतिम विचार

तो, कुछ महीनों तक प्रोडक्शन में रेकोग्निशन का उपयोग करने के बाद मेरे क्या विचार हैं? यहाँ कुछ मुख्य बातें दी गई हैं:

  • पूर्णतः सर्वर रहित - अंतर्निहित अवसंरचना जटिलता के प्रबंधन के अविभेदित भारी कार्य से बचें और पूर्व-निर्मित सॉफ्टवेयर और पूर्व-प्रशिक्षित मॉडल का उपयोग करें।


  • प्रदर्शन - पहचान तीव्र है, अधिकांश मामलों में लगभग 600ms.


  • उपयोग में आसान - एपीआई सरल है और इसे एकीकृत करना आसान है।


  • निरंतर सुधार - AWS लगातार Rekognition का रखरखाव और पुनरावृति कर रहा है जिसका अर्थ है कि यह समय के साथ और बेहतर होता जाएगा।


  • सटीकता - रेकोग्निशन अमेज़न के ग्राहकों के व्यापक समूह का लाभ उठाता है; जिसके परिणामस्वरूप अत्यधिक सटीक छवि लेबल पहचान होती है।


  • इसमें उदार निःशुल्क स्तर है, इसलिए आप निर्णय लेने से पहले परीक्षण कर सकते हैं।


  • लागत - हम केवल उसी चीज़ के लिए भुगतान करते हैं जिसका हम उपयोग करते हैं। रेकोग्निशन हमें व्यावसायिक ज़रूरतों के आधार पर लागत बढ़ाने या घटाने की अनुमति देता है।

सारांश

संक्षेप में: रिकॉग्निशन ने हमें एक ऐसी इमेज ऑब्जेक्ट डिटेक्शन सुविधा बनाने में सक्षम बनाया जो सटीक, तेज और स्केलेबल है।