Беспроводная камера для классификации видов на основе Python для леса
Беспроводная камера для классификации видов на основе Python для леса
Постоянная охота привела к исчезновению многих видов животных, и правительство внесло мало изменений, кроме введения несколько законов и проведение нескольких опросов. Но проведение опросов — исключительно сложная задача, особенно без помощи технологий. Чтобы исправить это, мы собираемся создать прототип беспроводной камеры классификации видов, которая поможет нам в мониторинге и наблюдении за лесами. Наша умная камера использует код на основе Python, состоящий из предварительно обученных моделей TensorFlow. Предварительно обученные тензорные модели помогают нам сопоставлять и сопоставлять изображение в кадре с обученными данными модели для обнаружения изображения в кадре.
Мы использовали Raspberry Pi с модулем камеры. Raspberry Pi получает видео с помощью камеры, затем с помощью модуля OpenCV разрезает видео на кадры. Затем, используя OpenCV и другие модули, он обрабатывает обнаружение вида на изображении и пытается сопоставить его с категорией и предварительно обученной моделью обнаружения. Затем он показывает результат обнаруженных видов. Если обнаруженный вид на изображении недоступен в списке категорий, он выдает результат как {none} и сохраняет это изображение с данными и отметкой времени в папке базы данных, чтобы его можно было позже изучить. Если обнаруженный вид доступен в списке категорий, он выдает выходные данные с именем и идентификатором обнаруженного вида и сохраняет эти данные в текстовом формате с датой и временем в текстовом файле с именем survaydb.txt и в то же время сохраняет изображение с обнаруженной именованной меткой в папке базы данных для справки. Таким образом, наша умная камера отслеживает и создает базу данных с изображениями всех видов, присутствующих в лесу. Это также может быть полезно при изучении поведения животных и может помочь нам в изучении роста и движения флоры и фауны в лесу.
Итак, давайте начнем наш проект с покупки необходимых компонентов.
Спецификация
Кодирование
Предполагаем, что у вас есть готовый RPi с Raspbian OS и Python IDE и доступ к рабочему столу RPI либо через VNC, либо через дисплей на основе HDMI. Итак, мы собираемся начать с установки модулей и библиотеки для нашего проекта. Сначала откройте терминал Linux на Raspberry Pi. Затем установите необходимое, используя следующий синтаксис
ПРИМЕЧАНИЕ: – Мы используем среду Python3, и код совместим только с версией Python 3 и выше.
обновление sudo apt-get
обновление sudo apt-get
sudo nano /etc/dphys-swapfile
Затем измените строку CONF_SWAPSIZE=100 наCONF_SWAPSIZE=1024
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
sudo pip3 install opencv
sudo pip3 install numpy
wget https://bootstrap.pypa.io/get-pip.py
pip3 установить dlib
pip3 установить тензорный поток
После установки вы можете приступить к клонированию модулей, примеров и файлов TF с помощью следующей команды:
После успешного клонирования перейдите в каталог → папка исследования → файл define.py в Python IDE. Теперь давайте разберемся и изменим код. (См. рис. 1.)
Рис. 1.
Первая часть кода состоит из необходимой библиотеки и модулей. Далее нам нужно установить текстовый файл уровня пути, который состоит из названий категорий видов/объектов, которые мы хотим обнаружить. Здесь мы установили файл уровня категории как New.pbtx. Следующая часть кода предназначена для обнаружения объектов/видов, а затем у нас есть код, который сохраняет выходные данные результата обнаружения в строковой переменной с именем «имя». Затем у нас есть код, который присваивает имени изображения дату и время обнаружения.
Далее у нас есть условный оператор, который проверяет выходной результат обнаружения и if, что условие результата обнаружения не «[]», затем он сохраняет результат с датой и временем в текстовом файле с датой и временем обнаружения. Следующая часть кода сохраняет обнаруженное изображение в папке базы данных. Здесь вы можете изменить путь для хранения изображений по вашему выбору. (См. рис. 2,3,4)
Рис. 2.Рис. 3Рис. 4.
Теперь сохраните код. Затем перейдите в папку данных и создайте файл с именем New.pbtxt и укажите категорию названия животного/вида для обнаружения, а затем сохраните его. (См. рис. 5,6)
Рис. 5Рис. 6
Тестирование
После выполнения всех вышеперечисленных операций подключите модуль камеры к порту камеры Raspberry Pi с помощью ленточного кабеля (см. рис. 7). Затем откройте код в Python IDLE, запустите скрипт и подождите несколько минут, чтобы он смог загрузить все модули тензорного потока. Откроется новое окно с видеовыходом камеры. Поднесите камеру к любому животному, например корове, овце и т. д. Всякий раз, когда животное появляется в кадре камеры, оно будет обнаружено, и результаты будут сохранены в текстовом файле, а изображение этого кадра будет сохранено в папке базы данных с датой и отметкой времени. (См. рис. 8).
Беспроводная камера классификации видов на основе Python для результатов обследования и мониторинга леса
Теперь, чтобы проверить обнаруженные виды/животные для исследования, откройте базу данных data.txt, чтобы увидеть список обнаруженных видов/животных с указанием времени и даты. Далее, if вы хотите получить изображения обнаруженных видов/животных для изучения, затем откройте папку базы данных и увидите все изображения с датой и временем обнаружения видов. (См. рис. 9,10).
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба