Code Monkey home page Code Monkey logo

learn_opencv's Introduction

learn_opencv

В каталоге service находится простой рабочий модуль (модель)распознования YOLO. Существует два варианта запуска:

  1. без pytorch
  2. с pytorch

для выбора варианта в файле main.py необходимо переменной variant присвоить соответствующее значение (1 или 2)

В каталоге simple_net находится простоя нейронная сеть для создания моделей

В каталоге simple_net_cnn находится простоя нейронная сеть для создания моделей для работы с изображениями.

для запуска обучения: с помощью команды в терминале

python -m simple_net_cnn run

с помощью Makefile

make train_cnn_net

для запуска теста: с помощью команды в терминале

python -m simple_net_cnn test

с помощью Makefile

make test_cnn_net

для конвертации модели в формат onnx: с помощью команды в терминале

python -m simple_net_cnn convert

с помощью Makefile

make convert_cnn_net

В каталоге recognizer находится простой модуль для распознования изоражений целевое изображение находится в каталоге images. До начала работы в каталог models необходимо поместить модель с расширением .onnx. В файле config.py записаны настройки каждой модели, для запуска соответствующей переменной model_name необходимо присвоить нужное значение. У каждрй моедли есть обязательные характеристики: resolution - разрешение картинок по которым происходило обучение модели. scalefactor - значение для расчета каналов распознования изображения (пока задается методом тыка, обычно разрешение * 2 и смотрим качество отбора, далее меняем, в процессе разработки модуль для автоподстчета) confidence - значение вероятности, также как и предыдущий подбирается, для каждой модели Команды для запуска: Запуск виртуального окружения

source venv/bin/activate

запуск приложения с помощью Makefile

make recognize

запуск приложения в командной строке

python -m recognizer

Репозитарий с датасетом

https://disk.yandex.ru/d/f9RHNOecdMooTQ

Ссылки на обучающий материал

  1. В этом уроке вы узнаете, как найти и обнаружить объекты с помощью современной техники YOLO v3 с OpenCV или PyTorch в Python https://waksoft.susu.ru/2021/05/19/kak-vypolnit-obnaruzhenie-obektov-yolo-s-pomoshhyu-opencv-i-pytorch-v-python/https://waksoft.susu.ru/2021/05/19/kak-vypolnit-obnaruzhenie-obektov-yolo-s-pomoshhyu-opencv-i-pytorch-v-python/

для получения файла весов wget https://pjreddie.com/media/files/yolov3.weights

с сайта YOLO project https://pjreddie.com/darknet/yolo/

  1. статья про opencv https://habr.com/ru/post/519454/

  2. MASK-RCNN для поиска крыш по снимкам с беспилотников https://habr.com/ru/company/lanit/blog/500752/

  3. статья про pytorch https://neurohive.io/ru/tutorial/glubokoe-obuchenie-s-pytorch/ и репозитарий к ней https://github.com/adventuresinML/adventures-in-ml-code/blob/master/pytorch_nn.py

  4. статья pytorch cnn модель для обработки изображений https://towardsdatascience.com/how-to-apply-a-cnn-from-pytorch-to-your-images-18515416bba1 и репозитарий с кодом https://github.com/alexkhrustalev/DS_projects/blob/master/cats_and_dogs.py

  5. статья как склеить свою обученную модель и opencv https://habr.com/ru/post/478208/ и еще https://habr.com/ru/post/494804/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.