AutoML Vision Edge की मदद से, ऑब्जेक्ट का पता लगाने वाले मॉडल को ट्रेनिंग दें

ऑब्जेक्ट की पहचान करने वाला मॉडल, इमेज को लेबल करने वाले मॉडल की तरह ही होता है, न कि पूरी इमेज को लेबल असाइन करता है. यह इमेज के क्षेत्रों को लेबल असाइन करता है. आप किसी इमेज में मौजूद ऑब्जेक्ट को पहचानने और उनका पता लगाने के लिए या यह ट्रैक करने के लिए कि इमेज की सीरीज़ में किसी ऑब्जेक्ट की हलचल को कैसे ट्रैक किया जा सकता है.

ऑब्जेक्ट डिटेक्शन के मॉडल को ट्रेनिंग देने के लिए, AutoML Vision Edge का सेट देना ज़रूरी है संबंधित ऑब्जेक्ट लेबल और ऑब्जेक्ट की सीमाओं वाली इमेज. AutoML विज़न Edge इस डेटासेट का इस्तेमाल, क्लाउड में एक नए मॉडल को ट्रेनिंग देने के लिए करता है, जिसे डिवाइस पर मौजूद ऑब्जेक्ट की पहचान करें.

शुरू करने से पहले

  • अगर आपके पास पहले से कोई Firebase प्रोजेक्ट नहीं है, तो इसे Firebase कंसोल.

  • यहां दिए गए दिशा-निर्देशों के बारे में जानें मशीन लर्निंग से जुड़ी गाइड - AutoML.

  • अगर आपको सिर्फ़ AutoML Vision Edge आज़माना है और आपके पास अपनी कोई ट्रेनिंग नहीं है डेटा के लिए, एक नमूना डेटासेट डाउनलोड करें, जैसा कि नीचे दिया गया है:

1. अपना ट्रेनिंग डेटा इकट्ठा करना

सबसे पहले, आपको लेबल की गई इमेज का ट्रेनिंग डेटासेट बनाना होगा. बनाए रखें इन दिशा-निर्देशों को ध्यान में रखें:

  • इमेज इनमें से किसी एक फ़ॉर्मैट में होनी चाहिए: JPEG, PNG, GIF, BMP, ICO.

  • हर इमेज का साइज़ 30 एमबी या इससे कम होना चाहिए. ध्यान दें कि AutoML Vision Edge, स्केल कर सकता है ज़्यादातर इमेज प्रीप्रोसेसिंग में होती हैं, इसलिए आम तौर पर इससे सटीक तौर पर कोई फ़ायदा नहीं होता बहुत ही हाई रिज़ॉल्यूशन वाली इमेज उपलब्ध कराता है.

  • हर लेबल के कम से कम 10 उदाहरण और 100 या इससे ज़्यादा उदाहरण शामिल करें.

  • हर लेबल के लिए कई कोण, रिज़ॉल्यूशन, और बैकग्राउंड शामिल करें.

  • ट्रेनिंग डेटा उस डेटा के ज़्यादा से ज़्यादा करीब होना चाहिए जिस पर सुझाव दिए जाते हैं. उदाहरण के लिए, अगर आपके इस्तेमाल के उदाहरण में धुंधली और लो-रिज़ॉल्यूशन वाली इमेज (जैसे, किसी सुरक्षा कैमरे से ली गई), आपका ट्रेनिंग डेटा इमेज धुंधली या लो रिज़ॉल्यूशन वाली होनी चाहिए.

  • AutoML Vision Edge के जनरेट किए गए मॉडल, इनकी फ़ोटो के लिए ऑप्टिमाइज़ किए गए हैं असली दुनिया में मौजूद हैं. शायद वे एक्स-रे, हाथ की ड्रॉइंग, और स्कैन किए गए दस्तावेज़, रसीदें वगैरह.

    साथ ही, मॉडल आम तौर पर ऐसे लेबल का अनुमान नहीं लगा सकते जिन्हें इंसान असाइन नहीं कर सकता. इसलिए, अगर कोई व्यक्ति इमेज को 1-2 सेकंड तक देखकर लेबल असाइन नहीं कर सकता, मॉडल को भी ऐसा करने के लिए ट्रेनिंग नहीं दी जा सकती.

जब आपकी ट्रेनिंग की इमेज तैयार हों, तब उन्हें इंपोर्ट करने के लिए तैयार करें Google Cloud. आपके पास दो विकल्प हैं:

पहला विकल्प: CSV इंडेक्स के साथ Cloud Storage

Google Cloud Storage पर, ट्रेनिंग की इमेज अपलोड करें और हर इमेज के यूआरएल की सूची वाली एक CSV फ़ाइल तैयार करें. साथ ही, विकल्प के तौर पर हर इमेज के लिए सही ऑब्जेक्ट लेबल और सीमा वाले क्षेत्र. यह विकल्प है बड़े डेटासेट इस्तेमाल करने में मदद मिलती है.

उदाहरण के लिए, Cloud Storage में अपनी इमेज अपलोड करें और निम्न:

gs://your-training-data-bucket/001.jpg,accordion,0.2,0.4,,,0.3,0.5,,
gs://your-training-data-bucket/001.jpg,tuba,0.2,0.5,,,0.4,0.8,,
gs://your-training-data-bucket/002.jpg,accordion,0.2,0.2,,,0.9,0.8,,

ऑब्जेक्ट बाउंडिंग बॉक्स, इमेज में रिलेटिव कोऑर्डिनेट के तौर पर दिखाए गए हैं. यहां जाएं: ट्रेनिंग डेटा की CSV फ़ाइल फ़ॉर्मैट करना.

इमेज, us-central1 इलाके में मौजूद बकेट में सेव होनी चाहिए और का हिस्सा है.

दूसरा विकल्प: बिना लेबल वाली इमेज

ट्रेनिंग की इमेज को लेबल करें और ऑब्जेक्ट की सीमाएं बनाएं अपलोड करने के बाद, Google Cloud Console. यह सिर्फ़ छोटे स्तर के लोगों के लिए सुझाया गया है डेटासेट. अगला चरण देखें.

2. अपने मॉडल को ट्रेनिंग दें

इसके बाद, अपनी इमेज का इस्तेमाल करके मॉडल को ट्रेनिंग दें:

  1. विज़न डेटासेट खोलें पेज पर जाएं. जब आपसे कहा जाए, तब अपना प्रोजेक्ट चुनें.

  2. नया डेटासेट पर क्लिक करें और डेटासेट को एक नाम दें. इसके बाद, मॉडल को ट्रेनिंग दें और डेटासेट बनाएं पर क्लिक करें.

  3. अपने डेटासेट के इंपोर्ट करें टैब पर, ट्रेनिंग की इमेज अपलोड करें. साथ ही, एक ZIP संग्रह भी अपलोड करें आपकी ट्रेनिंग की इमेज या Cloud Storage वाली CSV फ़ाइल अपलोड किए गए स्थान. यहां जाएं: अपना ट्रेनिंग डेटा इकट्ठा करना.

  4. इंपोर्ट टास्क पूरा होने के बाद, इमेज टैब का इस्तेमाल करके ट्रेनिंग डेटा शामिल है.

  5. अगर आपने CSV फ़ाइल अपलोड नहीं की है, तो हर इमेज के लिए, इमेज के चारों ओर बाउंडिंग बॉक्स बनाएं आपके सभी ऑब्जेक्ट को पहचान सकें और उन्हें लेबल कर सकें.

  6. ट्रेन टैब में, ट्रेनिंग शुरू करें पर क्लिक करें.

    1. मॉडल को नाम दें और Edge मॉडल टाइप चुनें.

    2. ट्रेनिंग की इन सेटिंग को कॉन्फ़िगर करें. ये सेटिंग, परफ़ॉर्मेंस को कंट्रोल करती हैं :

      मॉडल इसके लिए ऑप्टिमाइज़ करें... इस्तेमाल करने के लिए मॉडल कॉन्फ़िगरेशन. अब कम दूरी पर, तेज़ी से ट्रेनिंग करें ऐसे मॉडल जिनमें इंतज़ार का समय कम होना या पैकेज का साइज़ छोटा होना ज़रूरी हो या ज़्यादा सटीक होने पर, धीमा, बड़े मॉडल.
      नोड घंटा बजट

      ट्रेनिंग में लगने वाला ज़्यादा से ज़्यादा समय (घंटों में) model. ट्रेनिंग में ज़्यादा समय लगने पर, आम तौर पर सटीक नतीजे मिलते हैं model.

      ध्यान दें कि ट्रेनिंग, बताए गए समय से कम समय में पूरी की जा सकती है समय, जब सिस्टम यह तय करता है कि मॉडल ऑप्टिमाइज़ किया गया है और अतिरिक्त प्रशिक्षण से सटीक जानकारी नहीं मिल पाएगी. आपको बिल भेजा जाएगा इस्तेमाल किए जाने वाले घंटों के लिए ही करते हैं.

      ट्रेनिंग का सामान्य समय
      बहुत छोटे सेटएक घंटा
      500 इमेज2 घंटे
      1,000 इमेज3 घंटे
      5,000 इमेज6 घंटे
      10,000 इमेज7 घंटे
      50,000 इमेज11 घंटे
      1,00,000 इमेज13 घंटे
      10,00,000 इमेज18 घंटे

3. अपने मॉडल का मूल्यांकन करना

ट्रेनिंग पूरी होने के बाद, आकलन करें टैब पर क्लिक करके देखें.

इस पेज का एक अहम इस्तेमाल यह पता लगाना है कि कितना कॉन्फ़िडेंस थ्रेशोल्ड काम करेगा आपके मॉडल के लिए सबसे बेहतर है. कॉन्फ़िडेंस थ्रेशोल्ड, मॉडल की कम से कम कॉन्फ़िडेंस लेवल है किसी इमेज के लिए लेबल असाइन करने के लिए यह ज़रूरी है. कॉन्फ़िडेंस थ्रेशोल्ड को बढ़ाकर स्लाइडर की मदद से देखा जा सकता है कि अलग-अलग थ्रेशोल्ड, मॉडल की परफ़ॉर्मेंस पर किस तरह असर डालते हैं. मॉडल की परफ़ॉर्मेंस का आकलन, दो मेट्रिक का इस्तेमाल करके किया जाता है: सटीक और रीकॉल.

इमेज क्लासिफ़िकेशन के संदर्भ में, सटीक संख्या ऐसी इमेज जिन्हें मॉडल के ज़रिए लेबल की गई इमेज की संख्या के हिसाब से सही तरीके से लेबल किया गया था चुनी गई सीमा दी गई है. जब किसी मॉडल में ज़्यादा सटीक जानकारी होती है, तो यह लेबल गलत होने की कम संभावना होती है (कम फ़ॉल्स पॉज़िटिव).

वापस लाएं, उन इमेज की संख्या का अनुपात है जिन्हें सही तरीके से लेबल किया गया था. उन इमेज की संख्या जिनमें मौजूद कॉन्टेंट को मॉडल कर सकता था. टास्क कब शुरू होगा अगर मॉडल को ज़्यादा याद किया जाता है, तो वह किसी भी लेबल को कम बार असाइन नहीं कर पाता (कम गलत नेगेटिव कीवर्ड डालें).

आपके इस्तेमाल के उदाहरण पर निर्भर करेगा कि आप सटीक होने के लिए ऑप्टिमाइज़ करें या बाज़ार से हटा लें. यहां जाएं: AutoML Vision का इस्तेमाल शुरू करने वाले लोगों के लिए गाइड और मशीन लर्निंग से जुड़ी गाइड - AutoML, ज़्यादा जानकारी के लिए.

अगर आपको बिना किसी परेशानी के ऐसी मेट्रिक तैयार करने वाला कॉन्फ़िडेंस थ्रेशोल्ड दिखता है जो आपको सही लगे, इसे नोट कर लें; आपको अपनी कन्वर्ज़न ट्रैकिंग में इस मॉडल को कॉन्फ़िगर करने के लिए, कॉन्फ़िडेंस थ्रेशोल्ड का इस्तेमाल करना होगा है. (थ्रेशोल्ड से जुड़ी सही वैल्यू पाने के लिए, किसी भी समय इस टूल का इस्तेमाल किया जा सकता है.)

4. अपना मॉडल प्रकाशित करें या डाउनलोड करें

अगर आप मॉडल की परफ़ॉर्मेंस से संतुष्ट हैं और आपको उसका इस्तेमाल किसी ऐप्लिकेशन में करना है, तो तो आपके पास तीन विकल्प हैं. इनमें से कोई भी कॉम्बिनेशन चुना जा सकता है: डिप्लॉय ऑनलाइन पूर्वानुमान के लिए, मॉडल को Firebase पर प्रकाशित करें मॉडल और इसे अपने ऐप्लिकेशन के साथ बंडल करें.

मॉडल को डिप्लॉय करना

अपने डेटासेट की जांच और इस्तेमाल टैब से, आप अपने मॉडल को ऑनलाइन यह आपके मॉडल को क्लाउड में चलाता है. यह विकल्प इसमें शामिल है Cloud AutoML दस्तावेज़. कॉन्टेंट बनाने इस साइट पर मौजूद दस्तावेज़ों में शेष दो विकल्प मौजूद हैं.

मॉडल पब्लिश करना

मॉडल को Firebase में पब्लिश करके, मॉडल को रिलीज़ किए बिना अपडेट किया जा सकता है है और आप रिमोट कॉन्फ़िगरेशन और A/B टेस्टिंग उपयोगकर्ताओं के अलग-अलग सेट को डाइनैमिक तौर पर अलग-अलग मॉडल दिखाते हैं.

अगर आपने मॉडल को Firebase के साथ होस्ट करके सिर्फ़ मॉडल उपलब्ध कराने का विकल्प चुना है, तो इसे अपने ऐप्लिकेशन के साथ बंडल में जोड़ें, तो डाउनलोड के दौरान ऐप्लिकेशन के साइज़ को कम किया जा सकता है. हालांकि, ध्यान रखें कि अगर मॉडल को आपके ऐप्लिकेशन के साथ बंडल नहीं किया गया है, तो मॉडल से जुड़ी सुविधाएं तब तक उपलब्ध नहीं होंगी, जब तक आपका ऐप्लिकेशन मॉडल को पहली बार इस्तेमाल किया है.

अपना मॉडल प्रकाशित करने के लिए, आप दो में से किसी एक विधि का उपयोग कर सकते हैं:

  • अपने डेटासेट की जांच और इस्तेमाल पेज में Google Cloud Console पर जाएं. इसके बाद, मॉडल को Firebase कंसोल का कस्टम मॉडल पेज. आम तौर पर ऐसा होता है सिंगल मॉडल को पब्लिश करने का सबसे आसान तरीका है.
  • इसका इस्तेमाल करके मॉडल को सीधे अपने Google Cloud प्रोजेक्ट से Firebase में पब्लिश करें एडमिन SDK टूल. आप इस विधि का उपयोग कई मॉडल को एक साथ प्रकाशित करने के लिए या वे ऑटोमेटेड पाइपलाइन बनाने में मदद कर सकते हैं.

'एडमिन SDK' मॉडल मैनेजमेंट एपीआई की मदद से मॉडल को पब्लिश करने के लिए:

  1. एसडीके को इंस्टॉल और शुरू करें.

  2. मॉडल को पब्लिश करें.

    आपको मॉडल के संसाधन पहचानकर्ता को बताना होगा, जो कि एक स्ट्रिंग है जो नीचे दिए गए उदाहरण की तरह दिखता है:

    projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
    PROJECT_NUMBER Cloud Storage बकेट का प्रोजेक्ट नंबर जिसमें model. यह आपका Firebase प्रोजेक्ट या कोई दूसरा Google Cloud हो सकता है प्रोजेक्ट. आपको यह मान इसके सेटिंग पेज पर मिलेगा Firebase कंसोल या Google Cloud Console डैशबोर्ड.
    MODEL_ID मॉडल का आईडी, जो आपको AutoML Cloud API से मिला है.

    Python

    # First, import and initialize the SDK.
    
    # Get a reference to the AutoML model
    source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format(
        # See above for information on these values.
        project_number,
        model_id
    ))
    
    # Create the model object
    tflite_format = ml.TFLiteFormat(model_source=source)
    model = ml.Model(
        display_name="example_model",  # This is the name you will use from your app to load the model.
        tags=["examples"],             # Optional tags for easier management.
        model_format=tflite_format)
    
    # Add the model to your Firebase project and publish it
    new_model = ml.create_model(model)
    new_model.wait_for_unlocked()
    ml.publish_model(new_model.model_id)
    

    Node.js

    // First, import and initialize the SDK.
    
    (async () => {
      // Get a reference to the AutoML model. See above for information on these
      // values.
      const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`;
    
      // Create the model object and add the model to your Firebase project.
      const model = await ml.createModel({
        displayName: 'example_model',  // This is the name you use from your app to load the model.
        tags: ['examples'],  // Optional tags for easier management.
        tfliteModel: { automlModel: automlModel },
      });
    
      // Wait for the model to be ready.
      await model.waitForUnlocked();
    
      // Publish the model.
      await ml.publishModel(model.modelId);
    
      process.exit();
    })().catch(console.error);
    

डाउनलोड करें & मॉडल को अपने ऐप्लिकेशन के साथ बंडल करें

मॉडल को अपने ऐप्लिकेशन के साथ बंडल करके, अपने ऐप्लिकेशन की एमएल (मशीन लर्निंग) सुविधाओं को पक्का किया जा सकता है Firebase से होस्ट किया गया मॉडल उपलब्ध न होने पर भी काम करता है.

अगर मॉडल को पब्लिश करने के साथ-साथ उसे अपने ऐप्लिकेशन के साथ बंडल किया जाता है, तो ऐप्लिकेशन सबसे नया वर्शन उपलब्ध है.

मॉडल डाउनलोड करने के लिए, अपने डेटासेट के टेस्ट और इस्तेमाल पेज पर जाएं.

अगले चरण

अब जब आपने मॉडल को पब्लिश या डाउनलोड कर लिया है, तो मॉडल को इस्तेमाल करने का तरीका जानें अपने iOS+ में और Android ऐप्लिकेशन.