Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन का उपयोग कर संकल्प?

रेखीय प्रतिगमन और समानता की तुलना जैसे बहुत सरल तरीकों का उपयोग करके छवि पहचान का उपयोग किया जाता था। परिणाम स्पष्ट रूप से बहुत अच्छे नहीं थे, यहाँ तक कि हस्तलिखित अक्षरों को पहचानने का सरल कार्य भी कठिन सिद्ध हुआ। कनवल्शन न्यूरल नेटवर्क (सीएनएन) को मानव मस्तिष्क की तंत्रिका संबंधी गतिविधियों को शिथिल रूप से सिम्युलेट करने की एक सस्ती कम्प्यूटेशनल विधि की पेशकश करके पारंपरिक रूप से जो हम करते हैं, उससे एक कदम ऊपर माना जाता है जब वह छवियों को देखता है।

संक्रामक तंत्रिका नेटवर्क अवलोकन

पायथन का उपयोग कर संकल्प?

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

कंप्यूटर प्रत्येक छवि को संख्याओं के 2D सरणियों के रूप में देखते हैं, जिन्हें पिक्सेल के रूप में जाना जाता है। छवियों में वस्तुओं की पहचान करने के लिए, कंप्यूटर विशेष प्रकार के कृत्रिम तंत्रिका नेटवर्क का उपयोग करता है:एक संकेंद्रित तंत्रिका नेटवर्क (CNN)। सीएनएन नेटवर्क में सबसे महत्वपूर्ण कार्यों में से एक से आता है:कनवल्शन।

दृढ़ तंत्रिका नेटवर्क में, प्रत्येक परत को चौड़ाई, ऊंचाई और गहराई में व्यवस्थित किया जाता है। कनवल्शन जो कि सीएनएन का मुख्य भाग है, एक तीसरा फंक्शन बनाने के लिए दो फंक्शन को मिलाता है (सूचना के दो सेट मर्ज करें)। इसका मतलब है कि एक (छवि) कनवल्शन पर विचार करें जहां हम केवल दो मैट्रिक्स को तत्व-वार गुणा करते हैं और उसके बाद योग करते हैं।

इमेज प्रोसेसिंग में कनवल्शन तीन चरणों वाली प्रक्रिया है -

  • हम इनपुट इमेज लेते हैं।

  • कर्नेल मैट्रिक्स जिसे हम इनपुट इमेज पर लागू करने जा रहे हैं।

  • और इनपुट इमेज के आउटपुट को स्टोर करने के लिए अंतिम इमेज को कर्नेल के साथ सजाया जाता है।

नीचे ओपनसीवी का उपयोग करते हुए सोबेल फिल्टर का छोटा कार्यान्वयन है जो एज डिटेक्शन के लिए एक इमेज प्रोसेसिंग फिल्टर है।

उदाहरण कोड

import cv2
import numpy as np

img = cv2.imread('beach.jpg')
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY).astype(float)

edge_x = cv2.Sobel(img,cv2.CV_64F,1,0,ksize = 3)
edge_y = cv2.Sobel(img,cv2.CV_64F,0,1,ksize = 3)
edge = np.sqrt(edge_x ** 2 + edge_y ** 2)

# image can be normalized to
# fit into 0..255 color space
cv2.imwrite('beach_convol.jpg', edge)
में

इनपुट इमेज

पायथन का उपयोग कर संकल्प?

आउटपुट छवि

पायथन का उपयोग कर संकल्प?


  1. OpenCV का उपयोग करके छवि के किनारों का पता लगाने के लिए पायथन प्रोग्राम

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

  1. पायथन में ओपनसीवी का उपयोग करके टेम्पलेट मिलान

    टेम्पलेट मिलान एक ऐसी तकनीक है, जिसके द्वारा वास्तविक छवि से पैच या टेम्पलेट का मिलान किया जा सकता है। यह मूल रूप से एक पैटर्न मिलान तंत्र है। पायथन में ओपनसीवी मॉड्यूल है। ओपनसीवी का उपयोग करके, हम आसानी से मैच ढूंढ सकते हैं। तो इस समस्या में, OpenVC टेम्पलेट मिलान तकनीकों का उपयोग किया जाता है।

  1. पायथन ओपनसीवी मॉड्यूल का उपयोग करके हिस्टोग्राम इक्वलाइजेशन

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