छवि विभाजन किसी छवि के भीतर रुचि की वस्तुओं को सटीक रूप से पहचानने और चित्रित करने में महत्वपूर्ण भूमिका निभाता है। स्वचालित ड्राइविंग में, सड़क की सतह विभाजन के कार्य को हल करने के लिए कंप्यूटर विज़न एल्गोरिदम लागू किए जाते हैं। यह कार्य चुनौतीपूर्ण है क्योंकि आप केवल एक प्रकार की छवियों पर भरोसा नहीं कर सकते हैं - कैमरे और LiDAR दोनों की अपनी ताकत और खामियाँ हैं। उदाहरण के लिए, LiDAR सटीक गहराई की जानकारी प्रदान करते हैं, लेकिन वे आम तौर पर विरल बिंदु बादल उत्पन्न करते हैं, इसलिए वे दृश्य के भीतर वस्तुओं को सटीक रूप से विभाजित नहीं कर सकते हैं। और जब वे पारदर्शी या परावर्तक सतहों का सामना करते हैं तो वे विकृत बादल उत्पन्न कर सकते हैं। कैमरे गहराई को कैप्चर नहीं करते हैं, लेकिन वे वस्तुओं के आकार, बनावट और रंग के बारे में पूरी जानकारी प्रदान करते हैं। यह हमें एक सरल विचार की ओर ले जाता है कि 2D सड़क विभाजन के प्रशिक्षण में बिंदु बादलों और छवियों का एक प्रभावी संलयन प्रत्येक डेटा डोमेन के लाभों का दोहन कर सकता है। समस्या यह है कि इस तरह के संलयन के लिए दोनों डेटासेट के श्रम-गहन एनोटेशन की आवश्यकता होती है। तो, क्या हम सड़क विभाजन के लिए मल्टी-सेंसर सेटअप के लाभों का आनंद लेने के लिए डेटा एनोटेशन को अधिक कुशल बना सकते हैं?
मैं वर्तमान में यहां काम करता हूं
इस पोस्ट में, मैं हमारे दृष्टिकोण का चरण-दर-चरण वर्णन करूँगा और कुछ परीक्षण परिणाम दिखाऊँगा। यदि आप हमारे काम, अन्य तरीकों के शोध और हमारे परीक्षण परिणामों के बारे में अधिक जानना चाहते हैं, तो हमारे लेख को देखें
हमारे दृष्टिकोण की समग्र पाइपलाइन में चार मुख्य भाग शामिल हैं: पॉइंट क्लाउड रोड एनोटेशन, डेटा तैयारी, मास्क्ड लॉस, और सेगमेंटेशन मॉडल।
सबसे पहले, हमें पॉइंट क्लाउड डोमेन में सड़क एनोटेशन के साथ डेटा मिलता है। उसके बाद, हम सजातीय परिवर्तनों और कैमरा मापदंडों का उपयोग करके बिंदुओं को प्रोजेक्ट करते हैं। फिर, प्रोजेक्ट किए गए बिंदुओं का उपयोग करके हम अतिरिक्त रैंडम नॉइज़ के साथ हानि गणना के लिए सड़क ग्राउंड ट्रुथ मास्क प्राप्त करते हैं। कैमरे से छवियों को सेगमेंटेशन मॉडल द्वारा संसाधित किया जाता है। पिछले चरण से पूर्वानुमान और मास्क का उपयोग मास्क्ड लॉस द्वारा किया जाता है, जो विरल ग्राउंड ट्रुथ डेटा का उपयोग करके मॉडल को प्रशिक्षित करने की अनुमति देता है। अंत में, मॉडल प्रशिक्षण के बाद, हमें एक खंडित सड़क के साथ एक छवि मिलती है। प्रशिक्षण प्रक्रिया के साथ-साथ मास्क्ड लॉस पारंपरिक 2D मास्क के साथ प्रोजेक्टेड ग्राउंड ट्रुथ को मिलाने की अनुमति देता है, जो डेटा के संदर्भ में दृष्टिकोण को लचीला बनाता है।
अब आइए प्रत्येक भाग को बारीकी से देखें।
1 पॉइंट क्लाउड डेटा एनोटेशन
प्रशिक्षण के दौरान लिडार डेटा का उपयोग करने के लिए, हमें पॉइंट क्लाउड के लिए सिमेंटिक सेगमेंटेशन एनोटेशन की आवश्यकता होती है। यह ओपन सोर्स पॉइंट क्लाउड एनोटेशन टूल का उपयोग करके मैन्युअल रूप से किया जा सकता है, जैसे
2 डेटा तैयार करना
एक प्राप्त बिंदु बादल को सजातीय परिवर्तनों का उपयोग करके छवि तल पर प्रक्षेपित किया जाता है ताकि हमें आवश्यक वर्ग लेबल के साथ एक छवि विभाजन मास्क प्राप्त हो सके, हमारे मामले में यह एक सड़क है। इस तरह के प्रक्षेपण के लिए, हम कैमरा मापदंडों के साथ सिंक्रनाइज़ कैमरा और लिडार फ़्रेम का उपयोग करते हैं, और लिडार से कैमरा फ़्रेम तक एक परिवर्तन मैट्रिक्स का उपयोग करते हैं। लिडार फ़्रेम निर्देशांक में सजातीय बिंदु x = (x, y, z, 1)ᵀ
छवि तल पर बिंदु y = (u, v, 1)ᵀ
पर प्रक्षेपित करने के लिए, हम समीकरण का उपयोग करते हैं:
रूपांतरण के बाद, हमें पिक्सेल के मास्क के रूप में छवि पर बिंदु मिलते हैं, सड़क वर्ग और लिडार स्कैन से अन्य सभी बिंदुओं के लिए। हमें अन्य लिडार स्कैन बिंदुओं की आवश्यकता है, क्योंकि लिडार बिंदु अधिकतर छवि के निचले भाग में स्थित होते हैं और छवि के शीर्ष पर कोई बिंदु नहीं होता है, जिससे उस क्षेत्र में संभावित रूप से गलत पूर्वानुमान हो सकते हैं। इस प्रभाव को खत्म करने के लिए, हम मास्क के ऊपरी आधे हिस्से (नकारात्मक वर्ग) में यादृच्छिक बिंदु जोड़ते हैं ताकि उन बिंदुओं के वितरण को संतुलित किया जा सके जहां हम हानि की गणना करेंगे।
3 छिपी हुई हानि
हमारी विधि का एक महत्वपूर्ण घटक मॉडल प्रशिक्षण के दौरान मास्क्ड लॉस फ़ंक्शन का अनुप्रयोग है। यह दृष्टिकोण लिडार-व्युत्पन्न ग्राउंड-ट्रुथ मास्क में अंतर्निहित विरलता को समाप्त करता है। पारंपरिक हानि फ़ंक्शन के विपरीत, जो त्रुटियों की गणना करने के लिए संपूर्ण छवि मास्क पर विचार करते हैं, मास्क्ड लॉस केवल उन क्षेत्रों पर ध्यान केंद्रित करता है जहाँ लिडार बिंदु मौजूद हैं। यह लक्षित हानि गणना सुनिश्चित करती है कि मॉडल की शिक्षा प्रासंगिक क्षेत्रों पर केंद्रित है, सड़क विभाजन सटीकता को बढ़ाने के लिए लिडार द्वारा प्रदान की गई जानकारी का लाभ उठाते हुए। दूसरे शब्दों में, हम मॉडल को बिंदुओं के ग्रिड पर भविष्यवाणियों की त्रुटि को मापकर सड़क विभाजन सीखने के लिए मजबूर करते हैं। इसकी तुलना शटर ग्लास (शटर शेड) का उपयोग करके छवि को देखने से की जा सकती है।
प्रत्येक छवि के लिए मास्क्ड हानि को इस प्रकार तैयार किया जा सकता है:
मास्क्ड लॉस को प्रशिक्षण छवियों पर बाइनरी मास्क लगाकर किया जाता है। यह मास्क उन क्षेत्रों को रेखांकित करता है जहाँ लिडार बिंदु स्थित हैं और छवि तल पर प्रक्षेपित होते हैं। प्रशिक्षण चरण के दौरान, हानि की गणना केवल उन पिक्सेल के लिए की जाती है जो मास्क के नीचे होते हैं, प्रभावी रूप से छवि के बड़े अप्रकाशित भागों को अनदेखा करते हैं। यह विधि न केवल प्रशिक्षण प्रक्रिया की दक्षता में सुधार करती है, बल्कि लिडार डेटा की विरल प्रकृति द्वारा दर्शाई गई समस्याओं को भी कम करती है।
4 मॉडल प्रशिक्षण
अंतिम चरण में निर्मित डेटासेट पर सेगमेंटेशन मॉडल को प्रशिक्षित करना शामिल है। प्रशिक्षण प्रक्रिया किसी भी सेगमेंटेशन मॉडल के लिए उपयुक्त हो सकती है, और हमारे शोध में हमने PSPNet का उपयोग किया। इस चरण में, सब कुछ आपके डेटा की गुणवत्ता, इसकी मात्रा और उपलब्ध कंप्यूटिंग शक्ति पर निर्भर करता है।
हमने अपने दृष्टिकोण का परीक्षण विभिन्न डेटासेट पर किया, जिसमें ओपन-सोर्स वाले डेटासेट शामिल हैं, जैसे कि परसेप्शन वेमो ओपन डेटासेट और KITTI-360 डेटासेट। हर बार हमने तीन प्रयोगों का एक सेट आयोजित किया: केवल 2D रोड ग्राउंड ट्रुथ का उपयोग करना, ग्राउंड ट्रुथ के रूप में केवल प्रक्षेपित बिंदु, और इन प्रकार के ग्राउंड ट्रुथ का मिश्रण। और सड़क विभाजन (IoU का %) परिणाम आशाजनक दिखते हैं:
प्रयोग | KITTI-360 डेटासेट पर प्रशिक्षित | वेमो डेटासेट पर प्रशिक्षित |
---|---|---|
केवल 2D (आधार रेखा) | 92.3 | 96.1 |
केवल 3D प्रक्षेपित | 89.6 | 94.7 |
मिक्स 2D + प्रोजेक्टेड 3D | 92.7 | 96.3 |
इन नंबरों का मतलब है कि अगर आपके पास सिर्फ़ लिडार सेगमेंटेशन है और आप 2D इमेज एनोटेशन पर अतिरिक्त संसाधन खर्च नहीं करना चाहते हैं, तो यह ठीक है। सिर्फ़ 2D इमेज मास्क पर ट्रेनिंग की तुलना में क्वालिटी में गिरावट नगण्य हो सकती है। अगर आपके पास दोनों सेंसर से डेटा एनोटेट करने के लिए संसाधन हैं, तो ट्रेनिंग प्रक्रिया के दौरान बस इन दो तरह के एनोटेशन को मिलाएँ और मेट्रिक्स में बढ़ोतरी पाएँ।
शोध के दौरान हमने इस दृष्टिकोण के जो लाभ देखे, वे कुल मिलाकर ये हैं: