प्रतिमा आणि कॅमेर्‍यामध्ये ऑब्जेक्ट ओळखण्यासाठी एक लायब्ररी ओपनसीव्ही

ओपनसीव्ही

ओपनसीव्ही क्रॉस-प्लॅटफॉर्म मशीन व्हिजनची एक विनामूल्य लायब्ररी आहे (जीएनयू / लिनक्स, मॅक ओएस एक्स, विंडोज आणि Android साठी विद्यमान आवृत्त्या) जी मूळतः होती इंटेल द्वारा विकसित केलेले आणि असंख्य अनुप्रयोगांमध्ये वापरलेमोशन डिटेक्शन असलेल्या सुरक्षा प्रणालींकडून, नियंत्रण अनुप्रयोगांवर प्रक्रिया करण्यासाठी जिथे ऑब्जेक्ट ओळख आवश्यक आहे. कारण त्याचे प्रकाशन बीएसडी परवान्याअंतर्गत देण्यात आले आहे, जे त्यामध्ये व्यक्त केलेल्या अटींसह व्यावसायिक आणि संशोधन हेतूंसाठी मोकळेपणाने वापरण्यास अनुमती देते.

ओपन सीव्ही दृष्टी प्रक्रियेतील विस्तृत क्षेत्रासह 500 पेक्षा जास्त कार्ये समाविष्ट करते, जसे ऑब्जेक्ट रेकग्निशन (चेहर्‍याची ओळख), कॅमेरा कॅलिब्रेशन, स्टिरिओ व्हिजन, रोबोटिक व्हिजन, व्हिडिओमधील क्रियांचे वर्गीकरण, प्रतिमा रूपांतरित करणे, थ्रीडी मॉडेल्स एक्सट्रॅक्ट करणे, प्रतिमा एकत्र करुन उच्च गुणवत्तेची प्रतिमा तयार करणार्‍या स्टिरिओ कॅमेरा प्रतिमेमधून थ्रीडी स्पेस तयार करा. कमी दर्जाची.

तांबियन समान वस्तूंच्या प्रतिमा शोधण्याची क्षमता प्रदान करते मशीन लर्निंग पद्धती लागू करून, मार्कर आयोजित करून, वेगवेगळ्या प्रतिमांमध्ये सामान्य घटक ओळखून, लाल डोळ्यासारखे दोष आपोआप दूर करून सादर केलेल्या घटकांच्या सेटमध्ये.

ओपनसीव्ही 2500 पेक्षा जास्त अल्गोरिदम प्रदान करते, क्लासिक आणि संगणक दृष्टी आणि मशीन शिक्षण प्रणालीच्या क्षेत्रातील नवीनतम उपलब्धींचे प्रतिबिंबित दोन्ही. लायब्ररी कोड सी ++ मध्ये लिहिलेला आहे आणि बीएसडी परवान्याअंतर्गत वितरीत केला आहे.

नवीन आवृत्तीबद्दल ओपनसीव्ही 4.2

सध्या लायब्ररी त्याच्या ओपनसीव्ही 4.2 आवृत्तीमध्ये आहे, ज्यात डीएनएन विभागातील (डीप न्यूरल नेटवर्क) तंत्रिका नेटवर्कवर आधारित मशीन लर्निंग अल्गोरिदमच्या अंमलबजावणीसह, CUDA वापरण्यासाठी बॅकएंड जोडले आणि एनग्रॅफ ओपनव्हीनो एपीआयसाठी प्रायोगिक समर्थन लागू केले.

सिमडी सूचना वापरण्याव्यतिरिक्त, आम्ही स्टिरीओ आउटपुट (स्टीरिओबीएम / स्टीरिओएसबीएम), आकार बदलणे, मुखवटा करणे, फिरविणे, गहाळ रंग घटकांची गणना करणे आणि इतर बर्‍याच ऑपरेशन्ससाठी कोड कार्यप्रदर्शन ऑप्टिमाइझ करतो.

जी-एपीआय मॉड्यूलमध्ये (ओपनसीव्ही_गापी), जे प्रक्रियेसाठी इंजिन म्हणून कार्य करते ग्राफिक्स-आधारित अल्गोरिदम वापरुन कार्यक्षम इमेजिंग, संगणक दृष्टी आणि खोल मशीन शिक्षणासाठी अधिक जटिल संकरित अल्गोरिदमांना समर्थन देते. इंटेल इन्फरेंस इंजिनसाठी समर्थन प्रदान करते. अंमलबजावणी मॉडेलमध्ये व्हिडिओ प्रवाह प्रक्रियेसाठी समर्थन जोडला.

एक्सएमएल, वायएएमएल आणि जेएसओएन स्वरूपनात असत्यापित डेटावर प्रक्रिया करून हल्ला कोडची अंमलबजावणी होऊ शकेल अशी असुरक्षा (सीव्हीई -2019-5063, सीव्हीई-2019-5064) देखील निश्चित केली गेली. जेएसओएन पार्सिंग दरम्यान शून्य कोड असलेले एखादे वर्ण आढळल्यास, संपूर्ण मूल्य बफरवर कॉपी केले जाते, परंतु वाटप केलेल्या मेमरी क्षेत्राच्या मर्यादेचे योग्य सत्यापन केल्याशिवाय.

इतर बदलांपैकी या नवीन आवृत्तीमध्ये सादर केलेः

  • पायरडाऊन फंक्शनची मल्टीथ्रेडेड अंमलबजावणी जोडली.
  • FFmpeg- आधारित व्हिडिओ बॅकएंड वापरुन मीडिया कंटेनर (डिम्यूक्सिंग) वरून व्हिडिओ प्रवाह काढण्याची क्षमता जोडली.
  • खराब झालेले एफएसआर (फ्रिक्वेन्सी सिलेक्टिव्ह रीकन्स्ट्रक्शन) प्रतिमांच्या वेगवान वारंवारतेच्या निवडक पुनर्बांधणीसाठी अल्गोरिदम जोडले.
  • ठराविक रिक्त क्षेत्रांच्या प्रक्षेपणासाठी आरआयसी पद्धत समाविष्ट केली.
  • LOGOS विचलन सामान्यीकरण पद्धत जोडली.

ओपनसीव्ही 4.2 कसे स्थापित करावे?

या लायब्ररीची स्थापना करण्यात स्वारस्य असलेल्यांसाठी, नवीन आवृत्ती मिळवू शकता तसेच वापराशी संबंधित माहितीचा सल्ला घ्या आणि त्याच्या अधिकृत वेबसाइटवरील शिकवण्या शोधा.

दुवा हा आहे.

या लेखात आम्ही रास्पबेरी पाई वर लायब्ररीची अंमलबजावणी करण्यास सक्षम होण्यासाठी चरण प्रदान करू.

रास्पबेरी पी वर ओपनसीव्ही स्थापित करण्यासाठीमाझ्याकडे तुमची सिस्टम असणे आवश्यक आहे, ती रास्पबियन आहे.

कडून व्हीआपण टर्मिनल उघडणार आहोत आणि त्यात आपण टाईप करणार आहोत इतर अतिरिक्त लायब्ररीमध्ये अवलंबन, विकसक साधने, प्रतिमा पॅकेजेस स्थापित करण्यासाठी खालील आज्ञा:

sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libfontconfig1-dev libcairo2-dev libgdk-pixbuf2.0-dev libpango1.0-dev libgtk2.0-dev libgtk-3-dev libatlas-base-dev gfortran libhdf5-dev libhdf5-serial-dev libhdf5-103 libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5

शेवटी, पायथन 3 हेडर फायली स्थापित करू म्हणून आम्ही ओपनसीव्ही संकलित करू शकतो:

sudo apt-get install python3-dev

आता चला पायथन वातावरण तयार करूया खाली दिलेल्या आदेशासह, ही वेगळी साइट मिळण्यासाठी:

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo python3 get-pip.py
sudo rm -rf ~/.cache/pip

आम्ही व्हर्चुएलेन्व्ह आणि व्हर्चुएलेन्वरापर स्थापित करणार आहोत:

sudo pip install virtualenv virtualenvwrapper
nano ~/.bashrc

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
mkvirtualenv cv -p python3
pip install "picamera[array]"

आता हे पूर्ण झाले आम्ही यासह ओपनसीव्ही संकलित करणार आहोत:

cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.2.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.2.0.zip
unzip opencv.zip
unzip opencv_contrib.zip
mv opencv-4.2.0 opencv
mv opencv_contrib-4.2.0 opencv_contrib

आता आम्ही आमच्या सिस्टीममधील अदलाबदल वाढवणार आहोत कारण जर आम्ही ते डिफॉल्टनुसार सोडले तर सिस्टम हँग होऊ शकतेः

sudo nano /etc/dphys-swapfile

आणि आम्ही CONF_SWAPSIZE व्हेरिएबल संपादित करणार आहोतः

CONF_SWAPSIZE=1024

आम्ही ctrl + o आणि ctrl + x सह सेव्ह आणि बंद करतो. मग आपण टाईप करू.

sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

आता आपण संकलित करण्यास पुढे जाऊ:

workon cv
pip install numpy
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D BUILD_TESTS=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D CMAKE_SHARED_LINKER_FLAGS=-latomic \
-D BUILD_EXAMPLES=OFF ..
make -j4
sudo make install
sudo ldconfig
cd /usr/local/lib/python3.7/site-packages/cv2/python-3.7
sudo mv cv2.cpython-37m-arm-linux-gnueabihf.so cv2.so
cd ~/.virtualenvs/cv/lib/python3.7/site-packages/
ln -s /usr/local/lib/python3.7/site-packages/cv2/python-3.7/cv2.so cv2.so

आणि तयार.


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.