狩猎继续使许多动物物种灭绝,政府除了引入一些法律和进行定期调查外无能为力。但进行调查并非易事,尤其是在没有技术帮助的情况下。
本项目中的智能摄像机使用Python代码,该代码具有用于森林监测和调查的预先训练的TensorFlow模型。这些模型帮助我们将图像与模型训练的数据进行匹配和映射,从而识别出那些动物。
在作者的原型的帮助下检测大象的图像如图1所示。作者的原型使用了覆盆子π(或RPi)与摄像机模块如图2所示。


树莓派使用摄像头捕捉视频图像,然后使用OpenCV模块将视频切割成帧。接下来,利用OpenCV和其他模块,对检测到的物种图像进行处理,并将其映射为一个类别和预先训练的检测模型。如果检测到的动物物种不在类别列表中,它将输出为“none”,并将该图像与数据和时间戳一起保存在数据库文件夹中,以便以后研究。
发现的动物种类是否与新列出的动物相匹配。PBTXT数据库,它识别出动物的名字并将其保存在带有时间和日期的文本文件forestdb.txt中。它还将带有时间戳的动物图像保存在另一个文件夹中,以备将来参考。
通过这种方式,智能相机可以跟踪并创建一个包含森林中动物图片的数据库。它还可以帮助研究动物行为,以及森林中动植物的存在和生长。
编码
假设你已经准备好了Raspberry Pi (RPi)和Raspbian操作系统和Python IDE,并且可以通过VNC或基于HDMI的显示访问RPi桌面。(注意。我们使用的是Python3环境,代码只与Python3及以上版本兼容。)因此,我们可以从这个项目的模块和库的安装开始。
在Raspberry Pi上打开Linux终端,使用以下命令安装所需的库:
sudo apt-get更新
sudo apt-get升级
sudo nano /etc/dphys-swapfile
更改一行CONF_SWAPSIZE=100
CONF_SWAPSIZE = 1024
继续执行以下命令:
sudo /etc/init.d / dphys-swapfile停止
sudo /etc/init.d / dphys-swapfile开始
Sudo pip3安装opencv
Sudo pip3安装numpy
wget https://bootstrap.pypa.io/get-pip.py
pip3安装dlib
pip3安装tensorflow
在使用上述命令安装库之后,可以使用以下命令继续克隆TF模块、示例和文件:
git克隆https://github.com/tensorflow/
tensorflow.git
git克隆https://github.com/tensorflow/
模型
克隆成功后,在Python IDE中进入目录->research->object_detection->detect.py文件(见图3)。现在理解并修改代码。

代码的第一部分有所需的库和模块,如图4所示。我们必须设置包含物种/动物类别名称的文本文件的路径。在这里,我们已经在New中设置了类别标签。如图5所示。代码的下一部分将检测结果的输出存储在一个名为“NAME”的字符串变量中。“然后我们就有了用日期和时间标记探测图像名称的代码。


接下来,我们有一个条件语句来检查检测的输出结果。如果检测结果的条件不是'[]',则它将结果与日期和时间保存在文本文件中。代码的下一部分将检测到的图像保存在' databasefolder '文件夹中。在这里,您可以根据您的选择更改图像存储路径(见图6),然后保存代码。

转到data文件夹并创建一个名为New的文件。pbtxt(见图7),并对不同种类的动物进行id标签,进行检测和显示(见图8)。


下载源代码:点击这里
测试
编码完成后,用带状线缆将摄像机模块连接到树莓派摄像机接口,如图原型所示。在Python IDLE中打开代码,运行脚本forestsurvayfinal2.py,等待几分钟,以便它可以加载所有张量流模块。这将打开一个带有摄像机视频输出的新窗口。
将相机带到动物(如牛、羊等)面前以供识别。每当有动物出现在相机的画面中,检测到的图像将由计算机处理并保存在文本文件中。它会将该框架与日期和时间戳一起保存到databasefolder中。相机在相框中捕捉到的动物如图9所示。
打开forestdb.txt文件,可以看到检测到的物种/动物列表以及时间和日期(见图10)。如果你想看到那些被检测到的动物的图像/图片,打开databasefolder,点击每个有捕获日期和时间的图像文件(见图11)。



阿什维尼·库马尔·辛哈(Ashwini Kumar Sinha)是EFYi的电子爱好者和科技记者