চিত্র এবং ক্যামেরায় অবজেক্টের স্বীকৃতির জন্য একটি লাইব্রেরি ওপেনসিভি

ওপেনসিভি

OpenCV ক্রস প্ল্যাটফর্ম মেশিন ভিশনের একটি ফ্রি লাইব্রেরি (জিএনইউ / লিনাক্স, ম্যাক ওএস এক্স, উইন্ডোজ এবং অ্যান্ড্রয়েডের বিদ্যমান সংস্করণগুলি) যা মূলত ছিল ইন্টেল দ্বারা বিকাশ এবং অসংখ্য অ্যাপ্লিকেশন ব্যবহৃতগতি সনাক্তকরণ সহ সুরক্ষা সিস্টেমগুলি থেকে নিয়ন্ত্রণ অ্যাপ্লিকেশনগুলিতে প্রক্রিয়া করতে যেখানে বস্তুর স্বীকৃতি প্রয়োজন। এর কারণ এটির প্রকাশনা বিএসডি লাইসেন্সের অধীনে দেওয়া হয়েছে, এটি এতে প্রকাশিত শর্তাদি সহ বাণিজ্যিক ও গবেষণা উদ্দেশ্যে অবাধে ব্যবহার করতে দেয়।

সিভি খুলুন দর্শন প্রক্রিয়াটিতে বিস্তৃত ক্ষেত্রগুলি জুড়ে 500 টিরও বেশি ফাংশন রয়েছে, যেমন অবজেক্ট রিকগনিশন (ফেসিয়াল রিকগনিশন), ক্যামেরার ক্যালিব্রেশন, স্টেরিও ভিশন, রোবোটিক ভিশন, ভিডিওতে ক্রিয়াকে শ্রেণিবদ্ধকরণ, চিত্রগুলিতে রূপান্তর, 3 ডি মডেল উত্তোলন, স্টিরিও ক্যামেরা চিত্র থেকে 3 ডি স্পেস তৈরি করে উচ্চ মানের চিত্রগুলি তৈরি করে চিত্রগুলি কম মানের সমন্বিত করে।

এছাড়াও অনুরূপ অবজেক্টের চিত্র অনুসন্ধান করার ক্ষমতা সরবরাহ করে মেশিন লার্নিং পদ্ধতি প্রয়োগ করে, চিহ্নিতকারীগুলিকে সংগঠিত করে, বিভিন্ন চিত্রগুলিতে সাধারণ উপাদানগুলি সনাক্ত করে, লাল চোখের মতো ত্রুটিগুলি স্বয়ংক্রিয়ভাবে বাদ দিয়ে উপস্থাপিত সংস্থাগুলিতে।

ওপেনসিভি 2500 এরও বেশি অ্যালগোরিদম সরবরাহ করে, উভয়ই ক্লাসিক এবং কম্পিউটার ভিশন এবং মেশিন লার্নিং সিস্টেমের ক্ষেত্রে সর্বশেষ অর্জনগুলির প্রতিফলিত। লাইব্রেরি কোডটি সি ++ তে লেখা এবং বিএসডি লাইসেন্সের অধীনে বিতরণ করা হয়।

নতুন সংস্করণ সম্পর্কে ওপেনসিভি ৪.২

এখন গ্রন্থাগারটি এর ওপেনসিভি 4.2 সংস্করণে রয়েছে, যা ডিএনএন মডিউলে (ডিপ নিউরাল নেটওয়ার্ক) নিউরাল নেটওয়ার্কগুলির উপর ভিত্তি করে মেশিন লার্নিং অ্যালগরিদম বাস্তবায়নের সাথে, CUDA ব্যবহার করতে একটি ব্যাকএন্ড যুক্ত করেছে এবং এনগ্রাফ ওপেনভিনো এপিআইয়ের জন্য পরীক্ষামূলক সহায়তা প্রয়োগ করা হয়েছিল।

সিমডি নির্দেশাবলী ব্যবহারের পাশাপাশি, আমরা স্টেরিও আউটপুট (স্টেরিওবিএম / স্টেরিওএসজিবিএম), আকার পরিবর্তন, মাস্ক, ঘোরানো, নিখোঁজ রঙ উপাদানগুলি গণনা এবং আরও অনেক ক্রিয়াকলাপের জন্য কোড পারফরম্যান্সকে অনুকূল করি।

জি-এপিআই মডিউলে (ওপেনসিভি_গাপি), যা প্রক্রিয়াজাতকরণের জন্য ইঞ্জিন হিসাবে কাজ করে গ্রাফিক্স-ভিত্তিক অ্যালগরিদম ব্যবহার করে চিত্র দক্ষতা, কম্পিউটার দৃষ্টি এবং গভীর মেশিন লার্নিংয়ের জন্য আরও জটিল হাইব্রিড অ্যালগরিদমকে সমর্থন করে। ইন্টেল ইনফারেন্স ইঞ্জিনের জন্য সমর্থন সরবরাহ করে। এক্সিকিউশন মডেলটিতে ভিডিও স্ট্রিম প্রসেসিংয়ের জন্য সমর্থন যুক্ত করা হয়েছে।

এক্সএমএল, ওয়াইএএমএল এবং জেএসএন ফর্ম্যাটগুলিতে যাচাই করা হয়নি এমন ডেটা প্রক্রিয়াকরণের মাধ্যমে আক্রমণ কোড প্রয়োগের দিকে পরিচালিত করতে পারে এমন দুর্বলতাগুলি (সিভিই-2019-5063, সিভিই-2019-5064 )ও ঠিক করা হয়েছিল। যদি JSON পার্সিংয়ের সময় নাল ট্যাগযুক্ত একটি অক্ষর পাওয়া যায়, তবে পুরো মানটি বাফারে অনুলিপি করা হয় তবে বরাদ্দ হওয়া মেমরির জায়গার সীমাটির যথাযথ যাচাইকরণ ছাড়াই।

অন্যান্য পরিবর্তন এই নতুন সংস্করণে উপস্থাপিত:

  • পাইরডাউন ফাংশনটির মাল্টিথ্রেডেড প্রয়োগকরণ যুক্ত হয়েছে।
  • FFmpeg- ভিত্তিক ভিডিও ব্যাকএন্ড ব্যবহার করে মিডিয়া পাত্রে (ডেমাক্সিং) ভিডিও স্ট্রিমগুলি সরিয়ে নেওয়ার ক্ষমতা যুক্ত করা হয়েছে।
  • ক্ষতিগ্রস্থ এফএসআর (ফ্রিকোয়েন্সি সিলেক্টিক পুনর্নির্মাণ) চিত্রগুলির দ্রুত ফ্রিকোয়েন্সি নির্বাচনী পুনর্গঠনের জন্য একটি অ্যালগরিদম যুক্ত করা হয়েছে।
  • সাধারণ ফাঁকা জায়গাগুলির সংযোগের জন্য আরআইসি পদ্ধতি যুক্ত করা হয়েছে।
  • যোগ করা হয়েছে LOGOS বিচ্যুতি স্বাভাবিককরণ পদ্ধতি।

ওপেনসিভি ৪.২ ইনস্টল করবেন কীভাবে?

এই গ্রন্থাগারটি ইনস্টল করতে সক্ষম হতে আগ্রহীদের জন্য, নতুন সংস্করণ পেতে পারেন পাশাপাশি ব্যবহার সম্পর্কিত তথ্যের সাথে পরামর্শ করুন এবং এমনকি এটির অফিসিয়াল ওয়েবসাইট থেকে টিউটোরিয়ালও সন্ধান করুন।

লিঙ্কটি হ'ল এটি।

এই অনুচ্ছেদে আমরা রাস্পবেরি পাইতে গ্রন্থাগারটি কার্যকর করতে সক্ষম পদক্ষেপগুলি সরবরাহ করব।

একটি রাস্পবেরি পি তে ওপেনসিভি ইনস্টল করতেআমার অবশ্যই আপনার সিস্টেম থাকতে হবে, যা রাস্পবিয়ান।

থেকে vআমরা একটি টার্মিনাল খুলতে যাচ্ছি এবং এটিতে আমরা টাইপ করতে যাচ্ছি অন্যান্য অতিরিক্ত গ্রন্থাগারের মধ্যে নির্ভরতা, বিকাশকারী সরঞ্জাম, চিত্র প্যাকেজ ইনস্টল করতে নিম্নলিখিত কমান্ডগুলি:

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. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।