ಚಿತ್ರಗಳು ಮತ್ತು ಕ್ಯಾಮೆರಾಗಳಲ್ಲಿ ವಸ್ತು ಗುರುತಿಸುವಿಕೆಗಾಗಿ ಓಪನ್‌ಸಿವಿ ಗ್ರಂಥಾಲಯ

ಓಪನ್ ಸಿವಿ

ಓಪನ್‌ಸಿವಿ ಅಡ್ಡ-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಯಂತ್ರ ದೃಷ್ಟಿಯ ಉಚಿತ ಗ್ರಂಥಾಲಯವಾಗಿದೆ (ಗ್ನೂ / ಲಿನಕ್ಸ್, ಮ್ಯಾಕ್ ಒಎಸ್ ಎಕ್ಸ್, ವಿಂಡೋಸ್ ಮತ್ತು ಆಂಡ್ರಾಯ್ಡ್ಗಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಆವೃತ್ತಿಗಳು) ಮೂಲತಃ ಇಂಟೆಲ್ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದೆ ಮತ್ತು ಅಸಂಖ್ಯಾತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆಚಲನೆಯ ಪತ್ತೆಯೊಂದಿಗೆ ಭದ್ರತಾ ವ್ಯವಸ್ಥೆಗಳಿಂದ, ವಸ್ತು ಗುರುತಿಸುವಿಕೆ ಅಗತ್ಯವಿರುವ ನಿಯಂತ್ರಣ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು. ಏಕೆಂದರೆ ಅದರ ಪ್ರಕಟಣೆಯನ್ನು ಬಿಎಸ್‌ಡಿ ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ನೀಡಲಾಗಿದೆ, ಇದು ಅದರಲ್ಲಿ ವ್ಯಕ್ತಪಡಿಸಿದ ಷರತ್ತುಗಳೊಂದಿಗೆ ವಾಣಿಜ್ಯ ಮತ್ತು ಸಂಶೋಧನಾ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಮುಕ್ತವಾಗಿ ಬಳಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

ಸಿ.ವಿ ತೆರೆಯಿರಿ ದೃಷ್ಟಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಪ್ರದೇಶಗಳನ್ನು ಒಳಗೊಂಡ 500 ಕ್ಕೂ ಹೆಚ್ಚು ಕಾರ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಆಬ್ಜೆಕ್ಟ್ ರೆಕಗ್ನಿಷನ್ (ಮುಖ ಗುರುತಿಸುವಿಕೆ), ಕ್ಯಾಮೆರಾ ಮಾಪನಾಂಕ ನಿರ್ಣಯ, ಸ್ಟಿರಿಯೊ ದೃಷ್ಟಿ, ರೊಬೊಟಿಕ್ ದೃಷ್ಟಿ, ವೀಡಿಯೊದಲ್ಲಿನ ಕ್ರಿಯೆಗಳನ್ನು ವರ್ಗೀಕರಿಸಿ, ಚಿತ್ರಗಳನ್ನು ಪರಿವರ್ತಿಸಿ, 3D ಮಾದರಿಗಳನ್ನು ಹೊರತೆಗೆಯಿರಿ, ಸ್ಟೀರಿಯೋ ಕ್ಯಾಮೆರಾ ಚಿತ್ರದಿಂದ 3D ಜಾಗವನ್ನು ರಚಿಸಿ ಚಿತ್ರಗಳನ್ನು ಕಡಿಮೆ ಗುಣಮಟ್ಟದ ಸಂಯೋಜಿಸುವ ಮೂಲಕ ಉತ್ತಮ ಗುಣಮಟ್ಟದ ಚಿತ್ರಗಳನ್ನು ರಚಿಸುತ್ತದೆ.

ಸಹ ಒಂದೇ ರೀತಿಯ ವಸ್ತುಗಳ ಚಿತ್ರಗಳನ್ನು ಹುಡುಕುವ ಸಾಮರ್ಥ್ಯವನ್ನು ನೀಡುತ್ತದೆ ಯಂತ್ರ ಕಲಿಕೆಯ ವಿಧಾನಗಳನ್ನು ಅನ್ವಯಿಸುವ ಮೂಲಕ, ಗುರುತುಗಳನ್ನು ಸಂಘಟಿಸುವ ಮೂಲಕ, ವಿಭಿನ್ನ ಚಿತ್ರಗಳಲ್ಲಿ ಸಾಮಾನ್ಯ ಅಂಶಗಳನ್ನು ಗುರುತಿಸುವ ಮೂಲಕ, ಕೆಂಪು ಕಣ್ಣುಗಳಂತಹ ದೋಷಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತೆಗೆದುಹಾಕುವ ಮೂಲಕ ಪ್ರಸ್ತುತಪಡಿಸಿದ ಅಂಶಗಳ ಗುಂಪಿಗೆ.

ಓಪನ್‌ಸಿವಿ 2500 ಕ್ಕೂ ಹೆಚ್ಚು ಕ್ರಮಾವಳಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಕಂಪ್ಯೂಟರ್ ದೃಷ್ಟಿ ಮತ್ತು ಯಂತ್ರ ಕಲಿಕೆ ವ್ಯವಸ್ಥೆಗಳ ಇತ್ತೀಚಿನ ಸಾಧನೆಗಳ ಕ್ಲಾಸಿಕ್ ಮತ್ತು ಪ್ರತಿಫಲಿತ. ಲೈಬ್ರರಿ ಕೋಡ್ ಅನ್ನು ಸಿ ++ ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ಬಿಎಸ್ಡಿ ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗುತ್ತದೆ.

ಹೊಸ ಆವೃತ್ತಿಯ ಬಗ್ಗೆ ಓಪನ್‌ಸಿವಿ 4.2

ಪ್ರಸ್ತುತ ಗ್ರಂಥಾಲಯವು ಅದರ ಓಪನ್‌ಸಿವಿ 4.2 ಆವೃತ್ತಿಯಲ್ಲಿದೆ, ಯಾವುದರಲ್ಲಿ ಡಿಎನ್ಎನ್ ಮಾಡ್ಯೂಲ್ನಲ್ಲಿ (ಡೀಪ್ ನ್ಯೂರಾಲ್ ನೆಟ್‌ವರ್ಕ್) ನರ ಜಾಲಗಳ ಆಧಾರದ ಮೇಲೆ ಯಂತ್ರ ಕಲಿಕೆ ಕ್ರಮಾವಳಿಗಳ ಅನುಷ್ಠಾನದೊಂದಿಗೆ, CUDA ಅನ್ನು ಬಳಸಲು ಬ್ಯಾಕೆಂಡ್ ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು nGraph OpenVINO API ಗಾಗಿ ಪ್ರಾಯೋಗಿಕ ಬೆಂಬಲವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದೆ.

SIMD ಸೂಚನೆಗಳನ್ನು ಬಳಸುವುದರ ಜೊತೆಗೆ, ನಾವು ಸ್ಟಿರಿಯೊ output ಟ್‌ಪುಟ್ (ಸ್ಟಿರಿಯೊಬಿಎಂ / ಸ್ಟಿರಿಯೊ ಎಸ್‌ಜಿಬಿಎಂ), ಮರುಗಾತ್ರಗೊಳಿಸುವುದು, ಮರೆಮಾಚುವುದು, ತಿರುಗಿಸುವುದು, ಕಾಣೆಯಾದ ಬಣ್ಣ ಘಟಕಗಳನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವುದು ಮತ್ತು ಇತರ ಹಲವು ಕಾರ್ಯಾಚರಣೆಗಳಿಗಾಗಿ ಕೋಡ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸುತ್ತೇವೆ.

ಜಿ-ಎಪಿಐ ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿ (opencv_gapi), ಇದು ಸಂಸ್ಕರಣೆಗಾಗಿ ಎಂಜಿನ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಗ್ರಾಫಿಕ್ಸ್-ಆಧಾರಿತ ಕ್ರಮಾವಳಿಗಳನ್ನು ಬಳಸುವ ಪರಿಣಾಮಕಾರಿ ಚಿತ್ರಣ, ಕಂಪ್ಯೂಟರ್ ದೃಷ್ಟಿ ಮತ್ತು ಆಳವಾದ ಯಂತ್ರ ಕಲಿಕೆಗಾಗಿ ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ಹೈಬ್ರಿಡ್ ಕ್ರಮಾವಳಿಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಇಂಟೆಲ್ ಇನ್‌ಫೆರೆನ್ಸ್ ಎಂಜಿನ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಮರಣದಂಡನೆ ಮಾದರಿಗೆ ವೀಡಿಯೊ ಸ್ಟ್ರೀಮ್ ಪ್ರಕ್ರಿಯೆಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

XML, YAML ಮತ್ತು JSON ಸ್ವರೂಪಗಳಲ್ಲಿ ಪರಿಶೀಲಿಸದ ಡೇಟಾವನ್ನು ಸಂಸ್ಕರಿಸುವ ಮೂಲಕ ಆಕ್ರಮಣ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಕಾರಣವಾಗುವ ದುರ್ಬಲತೆಗಳು (CVE-2019-5063, CVE-2019-5064) ಸಹ ಸರಿಪಡಿಸಲಾಗಿದೆ. JSON ಪಾರ್ಸಿಂಗ್ ಸಮಯದಲ್ಲಿ ಶೂನ್ಯ ಕೋಡ್ ಹೊಂದಿರುವ ಅಕ್ಷರ ಕಂಡುಬಂದಲ್ಲಿ, ಸಂಪೂರ್ಣ ಮೌಲ್ಯವನ್ನು ಬಫರ್‌ಗೆ ನಕಲಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ನಿಯೋಜಿಸಲಾದ ಮೆಮೊರಿ ಪ್ರದೇಶದ ಮಿತಿಗಳ ಸರಿಯಾದ ಪರಿಶೀಲನೆ ಇಲ್ಲದೆ.

ಇತರ ಬದಲಾವಣೆಗಳಲ್ಲಿ ಈ ಹೊಸ ಆವೃತ್ತಿಯಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ:

  • ಪೈರ್‌ಡೌನ್ ಕಾರ್ಯದ ಮಲ್ಟಿಥ್ರೆಡ್ ಅನುಷ್ಠಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಎಫ್‌ಎಫ್‌ಎಂಪಿಗ್ ಆಧಾರಿತ ವೀಡಿಯೊ ಬ್ಯಾಕೆಂಡ್ ಬಳಸಿ ಮಾಧ್ಯಮ ಕಂಟೇನರ್‌ಗಳಿಂದ (ಡಿಮಕ್ಸಿಂಗ್) ವೀಡಿಯೊ ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ಹೊರತೆಗೆಯುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಹಾನಿಗೊಳಗಾದ ಎಫ್‌ಎಸ್‌ಆರ್ (ಆವರ್ತನ ಆಯ್ದ ಪುನರ್ನಿರ್ಮಾಣ) ಚಿತ್ರಗಳ ವೇಗದ ಆವರ್ತನ ಆಯ್ದ ಪುನರ್ನಿರ್ಮಾಣಕ್ಕಾಗಿ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ವಿಶಿಷ್ಟ ಖಾಲಿ ಪ್ರದೇಶಗಳ ಇಂಟರ್ಪೋಲೇಷನ್ಗಾಗಿ ಆರ್ಐಸಿ ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಲೋಗೋಸ್ ವಿಚಲನ ಸಾಮಾನ್ಯೀಕರಣ ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

ಓಪನ್‌ಸಿವಿ 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

ನಾವು virtualenv ಮತ್ತು virtualenvwrapper ಅನ್ನು ಸ್ಥಾಪಿಸಲಿದ್ದೇವೆ:

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. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.