Классификация животных с камерой RPi для обследования и мониторинга
Классификация животных с камерой RPi для обследования и мониторинга
Из-за охоты продолжают вымирать многие виды животных, и правительства не могут ничего сделать, кроме принятия некоторых законов и проведения регулярных исследований. Но провести опрос – задача непростая, особенно без помощи технологий.
Умная камера в этом проекте использует код Python с предварительно обученными моделями TensorFlow для мониторинга и обследования леса. Модели помогают нам сопоставлять и сопоставлять изображение в кадре с обученными данными модели и, таким образом, идентифицировать этих животных.
Изображения слонов, обнаруживаемых с помощью авторского прототипа, представлены на рис. 1. Авторский прототип, использующий Raspberry Pi (или RPi) с модулем камеры, показан на рис. 2.
Рис. 1: Слоны, пойманные авторским прототипомРис. 2: Авторский прототип классификации животных с помощью камеры RPi для исследования и мониторинга
Raspberry Pi захватывает видеоизображение с помощью камеры, а затем с помощью модуля OpenCV разрезает видео на кадры. Затем, используя OpenCV и другие модули, он обрабатывает изображение обнаруженных видов и сопоставляет его с категорией и предварительно обученной моделью обнаружения. Если обнаруженный вид животных отсутствует в списке категорий, он выдает результат «нет» и сохраняет это изображение с данными и отметкой времени в папке базы данных, чтобы его можно было изучить позже.
Если обнаруженный вид животных совпадает с любым из животных, перечисленных в базе данных new.pbtxt, он идентифицирует имя животного и сохраняет его в текстовом файле Forestdb.txt с указанием времени и даты. Он также сохраняет изображение этого животного с отметкой времени в другой папке для дальнейшего использования.
Таким образом, умная камера отслеживает и создает базу данных с фотографиями животных, обитающих в лесу. Это также может помочь в изучении поведения животных, а также присутствия и роста флоры и фауны в лесу.
Кодирование
Предполагается, что у вас есть Raspberry Pi (RPi) с Raspbian OS и Python IDE и есть доступ к рабочему столу RPi с дисплеем на основе VNC или HDMI. (Примечание. Мы используем среду Python3, и код совместим только с версиями Python3 и выше.) Итак, мы можем начать с установки модулей и библиотек для этого проекта.
Откройте терминал Linux на Raspberry Pi и установите необходимые библиотеки, используя следующие команды:
sudo pip3 install opencv sudo pip3 install numpy wget https://bootstrap.pypa.io/get-pip.py pip3 установить dlib pip3 установить тензорный поток
После установки библиотек с помощью вышеупомянутых команд вы можете приступить к клонированию TF-модулей, примеров и файлов с помощью следующих команд:
клон git https://github.com/tensorflow/ tensorflow.git клон git https://github.com/tensorflow/ модели
После успешного клонирования перейдите в файл каталог->research->object_detection->detect.py в Python IDE (см. рис. 3). Теперь разберитесь и измените код.
Рис. 3: Папка Object_detection
Первая часть кода содержит необходимую библиотеку и модули, как показано на рис. 4. Нам нужно указать путь к текстовому файлу, содержащему названия категорий видов/животных для обнаружения. Здесь мы установили метки категорий в файле New.pbtx, как показано на рис. 5. Следующая часть кода сохраняет выходные данные результата обнаружения в строковой переменной с именем «NAME». Затем у нас есть код, который помечает имя обнаруженного изображения датой и временем.
Рис. 4. Код с модулями и библиотекамиРис. 5. Определение пути для нового файла этикетки
Далее у нас есть условный оператор, который проверяет выходной результат обнаружения. Если условие результата обнаружения не «[ ]», то результат сохраняется с датой и временем в текстовом файле. Следующая часть кода сохраняет обнаруженное изображение в папке «папка базы данных». Здесь вы можете изменить путь хранения изображений по вашему выбору (см. рис. 6), а затем сохранить код.
Рис. 6. Сохранение обнаруженного изображения с отметкой времени в папке с заданным путем
Перейдите в папку данных и создайте файл New.pbtxt (см. рис. 7) и пометьте его идентификаторами различных видов животных для обнаружения и отображения (см. рис. 8).
Рис. 7. Создание файла с именем New.pbtxt в папке данныхРис. 8. Создание категории животных/видов для отображения в New.pbtxt
После завершения кодирования подключите модуль камеры к порту камеры Raspberry Pi с помощью ленточного кабеля, как показано на прототипе. Откройте код в Python IDLE, запустите сценарий Forestsurvayfinal2.py и подождите несколько минут, чтобы он смог загрузить все модули тензорного потока. Откроется новое окно с видеовыходом камеры.
Поднесите камеру к животному, например корове, овце и т. д., чтобы его можно было идентифицировать. При появлении животного в кадре камеры обнаруженное изображение будет обработано компьютером и сохранено в текстовом файле. Он сохранит этот кадр в папке базы данных с датой и отметкой времени. Животные, запечатленные камерой в фоторамке, показаны на рис. 9.
Откройте файл Forestdb.txt, чтобы просмотреть список обнаруженных видов/животных с указанием времени и даты (см. рис. 10). Если вы хотите просмотреть изображения обнаруженных животных, откройте папку базы данных и щелкните каждый файл изображения с датой и временем съемки (см. рис. 11).
Рис. 9: Обнаруженные животныеРис. 10: Содержимое файла Forestdb.txtРис. 11: Изображения обнаруженных животных хранятся в папке базы данных
Ашвини Кумар Синха — любитель электроники и технический журналист EFYi
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба