છબીઓ અને કેમેરામાં recognitionબ્જેક્ટ માન્યતા માટે એક લાઇબ્રેરી OpenCV

ઓપનસીવી

ઓપનસીવી ક્રોસ-પ્લેટફોર્મ મશીન વિઝનનું મફત પુસ્તકાલય છે (જીએનયુ / લિનક્સ, મ OSક ઓએસ એક્સ, વિંડોઝ અને એન્ડ્રોઇડ માટેના હાલના સંસ્કરણ) જે મૂળ હતા ઇન્ટેલ દ્વારા વિકસિત અને અસંખ્ય એપ્લિકેશનોમાં વપરાય છે, ગતિ તપાસવાળા સુરક્ષા સિસ્ટમોમાંથી, નિયંત્રણ એપ્લિકેશનો પર પ્રક્રિયા કરવા માટે જ્યાં objectબ્જેક્ટ માન્યતા જરૂરી છે. તેનું કારણ એ છે કે તેનું પ્રકાશન બીએસડી લાઇસન્સ હેઠળ આપવામાં આવ્યું છે, જે તેને વ્યક્ત કરાયેલ શરતો સાથે વ્યાપારી અને સંશોધન હેતુઓ માટે મુક્તપણે ઉપયોગમાં લેવાની મંજૂરી આપે છે.

ઓપન સીવી દ્રષ્ટિ પ્રક્રિયામાં વિવિધ ક્ષેત્રને આવરી લેતા 500 થી વધુ કાર્યો ધરાવે છે, જેમ કે recognitionબ્જેક્ટ રેકગ્નિશન (ચહેરાની ઓળખ), ક cameraમેરા કેલિબ્રેશન, સ્ટીરિઓ વિઝન, રોબોટિક વિઝન, વિડિઓમાં ક્રિયાઓનું વર્ગીકરણ, છબીઓને રૂપાંતરિત કરવું, 3 ડી મ extડેલ્સ કાractવું, સ્ટીરિઓ કેમેરા ઇમેજમાંથી 3 ડી સ્પેસ બનાવવી, છબીઓને જોડીને ઉચ્ચ ગુણવત્તાની છબીઓ બનાવો નીચી ગુણવત્તા.

તાંબિયન સમાન ofબ્જેક્ટ્સની છબીઓ શોધવાની ક્ષમતા પ્રદાન કરે છે મશીન શીખવાની પદ્ધતિઓ લાગુ કરીને, માર્કર્સનું આયોજન કરવું, વિવિધ છબીઓમાં સામાન્ય તત્વોની ઓળખ, લાલ આંખો જેવા ખામીને આપમેળે દૂર કરીને રજૂ કરેલા તત્વોના સમૂહમાં.

ઓપનસીવી 2500 થી વધુ અલ્ગોરિધમ્સ પ્રદાન કરે છે, કમ્પ્યુટર વિઝન અને મશીન લર્નિંગ સિસ્ટમ્સના ક્ષેત્રમાં નવીનતમ સિદ્ધિઓના ક્લાસિક અને પ્રતિબિંબીત બંને. લાઇબ્રેરી કોડ સી ++ માં લખેલ છે અને બીએસડી લાઇસેંસ હેઠળ વિતરિત કરવામાં આવે છે.

નવા સંસ્કરણ વિશે ઓપનસીવી 4.2

હાલમાં લાઇબ્રેરી તેના ઓપનસીવી 4.2 સંસ્કરણમાં છે, જેમાં DNN મોડ્યુલમાં (ડીપ ન્યુરલ નેટવર્ક) ન્યુરલ નેટવર્ક પર આધારિત મશીન લર્નિંગ એલ્ગોરિધમ્સના અમલીકરણ સાથે, સીયુડીએ વાપરવા માટે બેકએન્ડ ઉમેર્યું અને nGraph OpenVINO API માટે પ્રાયોગિક સપોર્ટ લાગુ કરવામાં આવ્યો હતો.

સીએમડી સૂચનોનો ઉપયોગ કરવા ઉપરાંત, અમે સ્ટીરિયો આઉટપુટ (સ્ટીરિયોબીએમ / સ્ટીરિઓ એસજીબીએમ), કદ બદલો, માસ્ક, ફેરવો, ગુમ રંગ ઘટકોની ગણતરી અને અન્ય ઘણી કામગીરી માટે કોડ પ્રદર્શનને codeપ્ટિમાઇઝ કરીએ છીએ.

જી-એપીઆઇ મોડ્યુલમાં (opencv_gapi), જે પ્રક્રિયા કરવા માટેના એન્જિન તરીકે કાર્ય કરે છે ગ્રાફિક્સ આધારિત એલ્ગોરિધમ્સનો ઉપયોગ કરીને કાર્યક્ષમ ઇમેજિંગ, કમ્પ્યુટર વિઝન અને deepંડા મશીન લર્નિંગ માટે વધુ જટિલ સંકર એલ્ગોરિધમ્સને સપોર્ટ કરે છે. ઇન્ટેલ ઇન્ફરન્સ એંજીન માટે સપોર્ટ પૂરો પાડે છે. એક્ઝેક્યુશન મોડેલમાં વિડિઓ સ્ટ્રીમ પ્રોસેસિંગ માટે સપોર્ટ ઉમેરવામાં આવ્યો હતો.

એક્સએલએમએલ, વાયએએમએલ અને જેએસઓએન ફોર્મેટ્સમાં વણચકાસેલા ડેટા પર પ્રક્રિયા કરીને હુમલો કોડના અમલ તરફ દોરી શકે તેવી નબળાઈઓ (સીવીઇ-2019-5063, સીવીઇ-2019-5064) પણ નિશ્ચિત કરવામાં આવી હતી. જો જેએસઓએન પદચ્છેદન દરમ્યાન કોઈ નલ કોડ સાથેનું એક પાત્ર મળી આવે છે, તો સંપૂર્ણ મૂલ્ય બફર પર કiedપિ કરવામાં આવે છે, પરંતુ ફાળવેલ મેમરી ક્ષેત્રની મર્યાદાઓની યોગ્ય ચકાસણી વિના.

અન્ય ફેરફારોમાંથી આ નવા સંસ્કરણમાં પ્રસ્તુત:

  • પાયરડાઉન ફંક્શનનું મલ્ટિથ્રેડેડ અમલીકરણ ઉમેર્યું.
  • FFmpeg- આધારિત વિડિઓ બેકએન્ડનો ઉપયોગ કરીને મીડિયા કન્ટેનર (ડિમક્સિંગ) માંથી વિડિઓ સ્ટ્રીમ્સ કાractવાની ક્ષમતા ઉમેરવામાં.
  • ક્ષતિગ્રસ્ત એફએસઆર (ફ્રીક્વન્સી પસંદગીયુક્ત પુનર્નિર્માણ) છબીઓની ઝડપી આવર્તન પસંદગીના પુનર્નિર્માણ માટે એક અલ્ગોરિધમનો ઉમેર્યો.
  • લાક્ષણિક ખાલી ક્ષેત્રોના ઇન્ટપોલેશન માટે આરઆઈસી પદ્ધતિ ઉમેર્યું.
  • 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 હેડર ફાઇલો સ્થાપિત કરીએ જેથી આપણે OpenCV કમ્પાઇલ કરી શકીએ:

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

હવે આપણે આપણી સિસ્ટમમાં સ્વેપ વધારવાના છીએ કારણ કે જો આપણે તેને ડિફ defaultલ્ટ રૂપે છોડીએ તો સિસ્ટમ અટકી શકે છે:

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. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.