"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन और टिंकर के साथ कुशल छवि लेबलिंग: एआई के लिए डेटासेट तैयारी को सरल बनाने के लिए एक गाइड

पायथन और टिंकर के साथ कुशल छवि लेबलिंग: एआई के लिए डेटासेट तैयारी को सरल बनाने के लिए एक गाइड

2024-11-08 को प्रकाशित
ब्राउज़ करें:853

Efficient Image Labeling with Python and Tkinter: A Guide to Simplifying Dataset Preparation for AI

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

इस लेख में, हम यह पता लगाएंगे कि यह टूल छवि लेबलिंग प्रक्रिया को कैसे सरल बनाता है, जिससे यह डेवलपर्स और डेटा वैज्ञानिकों के लिए अधिक सुलभ हो जाता है। यह टूल ओपन-सोर्स है और GitHub पर उपलब्ध है, जो इसे लेबल किए गए छवि डेटासेट की आवश्यकता वाले AI मॉडल पर काम करने वाले किसी भी व्यक्ति के लिए एक मूल्यवान संसाधन बनाता है।

परिचय

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

चाहे आप चेहरों को पहचानने, वस्तुओं का पता लगाने, या उत्पादों को वर्गीकृत करने के लिए एआई मॉडल विकसित कर रहे हों, आपको संभवतः अपने डेटा को मैन्युअल रूप से लेबल करने की आवश्यकता होगी। इस प्रक्रिया में आमतौर पर छवि फ़ाइलों को खोलना, उन्हें देखना और फिर उन्हें वर्गीकृत करना या लेबल करना शामिल होता है, जिसमें काफी समय लग सकता है। इस ऐप से, आप उस प्रक्रिया को सुव्यवस्थित कर सकते हैं।

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

छवि लेबलिंग क्यों मायने रखती है

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

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

इमेज लेबलिंग ऐप की मुख्य विशेषताएं

छवि लेबलिंग डेस्कटॉप एप्लिकेशन कई सुविधाएं प्रदान करता है जो इसे एआई अभ्यासकर्ताओं के लिए एक आवश्यक उपकरण बनाती है:

  1. उपयोगकर्ता-अनुकूल इंटरफ़ेस: टिंकर के साथ निर्मित, इंटरफ़ेस साफ़ और सरल है, जिससे उपयोगकर्ताओं के लिए छवि लेबलिंग प्रक्रिया के माध्यम से नेविगेट करना आसान हो जाता है।
  2. लेबल चयन: उपयोगकर्ता लेबल के एक सेट को पूर्वनिर्धारित कर सकते हैं, जैसे 'बिल्ली', 'कुत्ता', 'कार', आदि, और इन लेबलों को छवियों पर तुरंत लागू कर सकते हैं।
  3. स्वचालित नामकरण: एक बार लेबल हो जाने पर, छवि फ़ाइल नाम निर्दिष्ट लेबल को प्रतिबिंबित करने के लिए स्वचालित रूप से अपडेट हो जाता है।
  4. कस्टम निर्देशिकाएँ: उपयोगकर्ता इनपुट छवियों और लेबल किए गए आउटपुट दोनों के लिए निर्देशिकाएं निर्दिष्ट कर सकते हैं, जिससे डेटासेट प्रबंधित करना आसान हो जाता है।
  5. वास्तविक समय प्रतिक्रिया: उपकरण लेबल की गई छवि को प्रदर्शित करके और लागू लेबल की पुष्टि करके तत्काल प्रतिक्रिया प्रदान करता है।
  6. बैच लेबलिंग: आप फ़ाइलों को मैन्युअल रूप से व्यवस्थित किए बिना क्रम में कई छवियों को लेबल कर सकते हैं।

एप्लिकेशन सेट करना

आरंभ करने के लिए, आपको GitHub रिपॉजिटरी को क्लोन करना होगा और आवश्यक निर्भरताएं स्थापित करनी होंगी। ऐप को Python 3.x और Tkinter का उपयोग करके बनाया गया है, और वैकल्पिक रूप से, आप इसे एक स्टैंडअलोन निष्पादन योग्य में संकलित करने के लिए PyInstaller का उपयोग कर सकते हैं।

चरण 1: रिपॉजिटरी को क्लोन करें

आप निम्न चलाकर GitHub से रिपॉजिटरी को क्लोन कर सकते हैं:

git clone https://github.com/imankarimi/image-labeling.git

चरण 2: निर्भरताएँ स्थापित करें

यदि आपके पास टिंकर स्थापित नहीं है, तो आप इसे इसके साथ स्थापित कर सकते हैं:

pip install tk

यदि आप आसान वितरण के लिए एप्लिकेशन को एक निष्पादन योग्य फ़ाइल में संकलित करने की योजना बना रहे हैं, तो आपको PyInstaller:
की भी आवश्यकता होगी।

pip install pyinstaller

ऐप कैसे काम करता है

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

प्रक्रिया कैसे काम करती है इसका विवरण यहां दिया गया है:

  1. इनपुट निर्देशिका चुनें: लेबल की जाने वाली छवियों वाले फ़ोल्डर का चयन करें।
  2. लेबल निर्दिष्ट करें: प्रत्येक छवि पर पूर्वनिर्धारित लेबल निर्दिष्ट करने के लिए ड्रॉपडाउन मेनू या बटन चयन का उपयोग करें।
  3. फ़ाइल का नाम बदलना: ऐप निर्दिष्ट लेबल के आधार पर छवि फ़ाइलों का नाम बदलता है, इसलिए वे आपके मॉडल प्रशिक्षण के लिए व्यवस्थित होते हैं।
  4. सहेजें और व्यवस्थित करें: एक बार लेबल हो जाने पर, छवियों को बाद में मॉडल प्रशिक्षण या मूल्यांकन में उपयोग के लिए एक नई निर्देशिका में सहेजा जा सकता है।

जीयूआई उदाहरण:

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

import tkinter as tk
from tkinter import filedialog
import os

class ImageLabelingApp:
    def __init__(self, root):
        self.root = root
        self.root.title('Image Labeling App')
        self.image_label = tk.Label(root, text="No image loaded")
        self.image_label.pack()

        self.select_folder_button = tk.Button(root, text="Select Folder", command=self.select_folder)
        self.select_folder_button.pack()

        self.label_buttons = []
        for label in ["Cat", "Dog", "Car"]:  # Example labels
            btn = tk.Button(root, text=label, command=lambda l=label: self.apply_label(l))
            self.label_buttons.append(btn)
            btn.pack()

    def select_folder(self):
        folder_selected = filedialog.askdirectory()
        self.load_images_from_folder(folder_selected)

    def load_images_from_folder(self, folder_path):
        self.image_paths = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith(".png")]
        self.current_image = 0
        self.show_image(self.image_paths[self.current_image])

    def show_image(self, image_path):
        self.image_label.config(text=image_path)

    def apply_label(self, label):
        current_image_path = self.image_paths[self.current_image]
        new_image_name = f"{label}_{os.path.basename(current_image_path)}"
        new_image_path = os.path.join(os.path.dirname(current_image_path), new_image_name)
        os.rename(current_image_path, new_image_path)
        self.current_image  = 1
        if self.current_image 



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

आपके प्रोजेक्ट के लिए अनुकूलन

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

  • लेबल को तेजी से निर्दिष्ट करने के लिए एक कीबोर्ड शॉर्टकट जोड़ा जा रहा है।
  • प्रति छवि एकाधिक लेबल की अनुमति दे रहा है।
  • गलत लेबलिंग को पूर्ववत करने के लिए कार्यक्षमता को पूर्ववत करें लागू करना।

भविष्य में संवर्द्धन

कुछ संभावित सुधार हैं जिन्हें एप्लिकेशन में जोड़ा जा सकता है:

  • क्लाउड स्टोरेज के साथ एकीकरण: उपयोगकर्ताओं को एडब्ल्यूएस एस3, गूगल क्लाउड स्टोरेज आदि जैसी क्लाउड सेवाओं से सीधे छवियों को लेबल करने की अनुमति दें।
  • उन्नत छवि पूर्वावलोकन: अधिक विस्तृत लेबलिंग के लिए ज़ूम-इन और ज़ूम-आउट क्षमताएं प्रदान करें, विशेष रूप से मेडिकल इमेजिंग जैसे डेटासेट के लिए उपयोगी।
  • डेटा संवर्द्धन विकल्प: डेटासेट विविधता बढ़ाने के लिए लेबलिंग करते समय उपयोग के लिए रोटेशन, ज़ूम या फ़्लिप जैसी डेटा संवर्द्धन विधियों को एकीकृत करें।

निष्कर्ष

इमेज लेबलिंग डेस्कटॉप एप्लिकेशन छवियों को मैन्युअल रूप से लेबल करने की कठिन प्रक्रिया को सरल और स्वचालित करता है, जिससे यह एआई मॉडल विकास के लिए एक मूल्यवान उपकरण बन जाता है। Tkinter का उपयोग करके, ऐप हल्का, क्रॉस-प्लेटफ़ॉर्म और विभिन्न उपयोग के मामलों के अनुरूप आसानी से संशोधित किया जा सकता है।

अधिक जानकारी के लिए और परियोजना में योगदान करने के लिए, GitHub रिपॉजिटरी देखें: GitHub पर इमेज लेबलिंग ऐप।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/imanbarimi/efficient-image-labeling-with-python-and-tkinter-a-guide-to-simplifying-dataset-preparation-for-ai-24od?1 कोई भी उल्लंघन, हटाने के लिए कृपया [email protected] से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3