用于城市流浪猫生态考察的远程视觉监测系统
2019-08-24徐志宇
陈 曦,徐志宇,2
(1.同济大学电子与信息工程学院,上海 201804;2.同济大学计算机与信息技术国家级实验教学示范中心,上海 201804)
0 引言
城市流浪猫主要是指栖息于城市各大公园、社区及城乡结合部的无主家猫。其来源主要是走失、遗弃和自然状态下的无序繁殖[1]。流浪猫不仅自身健康状况堪忧[2],而且构成城市卫生防疫[3]、居民生活[4]、基础设施及道路交通安全[5]的潜在威胁。由于猫科动物活动的隐秘性,很难对其生态进行全面、深入的考察和数据采集。
计算机科学、人工智能与传统基于数理统计的生物测定学(Biometrics)相结合,催生了现代生物识别技术。该技术早期主要以人为识别对象。VOC2006首次将动物列为识别对象[6]。微软、cvPaper等开放数据库也陆续添加了各种动物图片数据集。动物检测不仅要求能够判断场景中是否含有目标,而且要求精确标记目标出现的位置。Tatsuo Kozakaya提出CoHOG特征,并将其与Haar-Like特征一起送入AdaBoost分类器[7]。Akihiko Yamad提出了一种四方向特征(four directional features,FDF)和线性判别式分析(linear discriminant analysis,LDA)聚类算法[8]。Danai Triantafyllidou提出将生物脸部的形状特征和纹理特征分开,分别训练分类器,再并联两个分类器,利用卷积神经网络得出最终分类结果[9]。
本文参考野生动物科考的思路[10],运用机器视觉和远程通信技术,设计了一种用于城市流浪猫生态考察的监测系统。通过现场隐蔽的摄像头采集流浪猫活动的影像,运用猫脸检测进行分析,将疑似猫脸部分图片通过远程通信方式上传至监控中心上位机。该监测系统可以为动物救助和走失宠物认领提供重要依据,也可为相关科学研究提供第一手的参考资料。
1 功能定位与系统架构
本文旨在开发一种能够监测城市流浪猫活动的系统。监测系统整体架构如图1所示。
图1 监测系统整体架构图Fig.1 Overall architecture of surveillance system
该系统由多个部署于现场的移动端和一个部署于监控中心的上位机组成。工作时,移动端根据猫脸识别记录影像,并经由远程通信上传缩略图像至上位机。监测数据可用于科学考察、动物救助、丢失宠物查找等。
移动端:硬件包括以树莓派(Raspberry Pi)为核心的处理模块、基于USB免驱摄像头的图像采集模块、兼容3G和LoRa的通信模块。软件以Linux的发行版Raspberry Jessie为平台,采用C++语言编程,并借助OpenCV和LibJpeg实现图像处理和压缩;通过调用Linux API驱动相关通信模块,实现缩略图像发送。
上位机:硬件为一台计算机。软件以Win10为开发平台,采用Python语言编程,分别调用GUI工具包PyQt、串口开发工具包PySerial、网络通信工具包PySocket,实现界面显示、数据接收与存储,
根据应用场景的需要,该监测系统应满足以下性能要求。①智能性:根据采集的图像自动识别猫脸,自动控制影像记录设备的启停,自动选择通信模式并向监控中心服务器发送图片。②远程性:现场移动端与监控中心相配合,监控人员能够在远程的监控中心了解到现场的情况,决定是否到达现场对动物或设备实施干预。③可靠性:实际应用中,移动端需长期部署于户外,气候条件复杂、温湿度环境多变,因此要求功耗低、待机时间长、可靠耐用。④经济性:实际应用中,移动端需大量、多点部署;在满足基本性能的前提下,要尽量降低购买、部署、维护成本。
2 基于纹理和五官特征的猫脸检测
2.1 猫脸的MB-LBP特征和Haar-Like特征
局部二值模式(local binary pattern,LBP)是一种关于图像纹理特征的描述符,将每个像素点与其相邻像素比较,得到一个0/1序列,可突出强调图像的局部细节特征。LBP算子具有灰度不变性和旋转不变性[11]。为提高抗噪能力,进一步提出“多比例块”(multi-scale block,MB)的改进方案,即MB-LBP。本文采用MB-LBP算子表征猫脸的纹理特征。
将图像分为多个子区域(sub-region)。每个子区域与相邻的8个子区域共同组成一个块(block)。每个块含有(s×s)个像素点。取子区域像素的均值为该子区域的灰度值,再通过子区域之间灰度值的比较,得到该子区域的LBP值。
子区域灰度值的均值操作,等价于对图像的平滑处理。在此基础上进行纹理提取,使鲁棒性和抗噪能力得到显著提升。
基于MB-LBP算法的猫脸纹理检测结果如图2所示。
图2 基于MB-LBP算法的猫脸纹理检测结果Fig.2 Feature detection results of cat-face based on MB-LBP algorithm
子区域越大(s越大),平滑效果越好,但同时也会导致图像细节特征的丢失。当子区域大小合适时,猫脸具有明显区别于背景的纹理特征。经试验测试,折中选取子区域边长s= 5,即每个块包含(15×15)个像素点。
除了纹理特征,眼部特征也可作为猫脸检测的重要依据。根据猫眼与下眼睑在像素灰度值之间的差异,并借鉴人脸五官特征识别的成功案例[12],采用图2 Haar-Like特征刻画猫眼特征。
2.2 猫脸级联分类器的训练
研究表明,在解决复杂的分类问题时,通过级联多个分类器,并对其输出结果进行线性组合,可以提高分类的性能。因此,构造2级级联分类器:第1级为基于Haar-Lile特征的猫眼分类器,第2级为基于MB-LBP的猫脸纹理分类器。先用猫眼特征大致定位猫脸区域,再用纹理特征进一步判断是否为猫脸。
Adaboost是一种针对级联分类器的训练算法。其核心思想是不断寻找具有最小误差函数的弱分类器,并在每一次弱分类之后根据分类效果调整训练样本的权值分布,从而提高被错误分类的样本在下一次分类时的权值。弱分类器的级联组成最终的强分类器。作为AdaBoost算法的重要改进形式,Gentle AdaBoost采用最小二乘法对每一级弱分类器进行优化,可以有效降低误分类样本权重的上升速率,在一定程度上避免过拟合,具有更好的数值计算稳定性。
如图2(d)所示,当子区域较大时(如s= 60),MB-LBP特征与Haar-Like特征具有相似的结果,即猫眼的灰度值高于下眼睑的灰度值。通过不同尺寸子区域的配合,可提高猫脸检测的准确率和效率。
2.3 猫脸检测的性能测试
2.3.1 数据集
训练数据集中的正、负样本分别来源于google (https://sites.google.com/site/catdatacollection/data)和cvPaper数据库。猫眼分类器的正样本为1 500张含猫眼部分的图片。其中,闭眼状态和睁眼状态各750张;负样本为5 000张不含猫脸的图片。猫脸纹理分类器的正样本为5 000张含猫脸的图片,其中3 000张为正脸、2 000张为侧脸;负样本为15 000张不含猫脸的图片。
测试数据集为来源于kaggle数据库(https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition/data)的1 000张包含猫脸的图片。
2.3.2 测试结果
定义分类效果的评价指标如下。①误检率(false positive ratio,FPR):分类器错误检出的测试样本数与分类器检出测试样本数之比。②正确率(true positive ratio,TPR):分类器正确检出的测试样本数与实际含有目标的测试样本数之比。③检测时间(detection time,DT):分类器检测640×480个像素所用的时间。
经分别训练、调试猫眼和猫脸纹理这2个分类器,最终得到一个TPR= 70%、FPR= 28%、DT= 430 ms的猫脸检测器。基于猫眼-纹理特征信息融合的猫脸检测结果如图3所示。这是该分类器给出的部分典型结果。
图3 基于猫眼-纹理特征信息融合的猫脸检测结果Fig.3 Cat-face detection results based on information fusion of ocular region and fur texture
①检测结果对形状不敏感:当背景中出现如图3(a)所示的类似猫脸的形状或如图3(b)所示的猫脸被部分遮挡时,仍可正确识别猫脸。
②检测结果对光照不敏感:当照片欠曝或过曝时,仍可正确识别猫脸。
③存在如图3(d)所示的眼部、纹理特征同时类似猫脸时,可能发生误检。
④当出现如图3(e)所示的猫脸过度仰头、侧脸时,由于猫眼特征损失,可能发生漏检。
3 基于3G和LoRa的远程通信
城市流浪猫监测的应用场景,要求移动端将检测到的猫脸图像发送至较远距离的上位机,并尽量降低通信功耗,延长待机时间。因此,本文给出3G和LoRa这2种远程无线通信方案。实际应用时,可根据现场网络信号状况灵活选择。
3.1 3G通信方案
当移动端的部署地点的蜂窝信号覆盖情况良好且交通便利时,为便于更换电池,功耗问题退居次要矛盾。此时可选用3G通信方式,即移动端利用3G无线通信技术将图片发送至服务器的IP地址。3G通信方式可以很好地保证图像传输的快速性,TCP/IP协议又能很好地保证图像传输的可靠性。监控人员可在服务器端获取更多的图像信息。
为了让移动端通过3G模式访问互联网,本文在移动端连接了3G模块。3G模块通过USB接口与树莓派相连。移动端借助该模块访问服务器的IP地址,并向其发送图像信息。
3.2 LoRa通信方案
当移动端的部署地点无蜂窝信号覆盖,或相对偏远、供电困难时,功耗问题上升为主要矛盾。此时应选用LoRa扩频方式传输图像。相比于3G方案,LoRa方案的功耗显著降低,待机时间大大延长,减轻了更换电池的负担。但其代价是数据传输速率较慢,监控人员在上位机仅能获得图像的部分信息。
LoRa通信通过在移动端和服务器端分别连接LoRa扩频无线串口模块实现。LoRa扩频模块同样通过USB接口与树莓派相连,接收端模块与服务器相连。在LoRa传输的范围之内,移动端可通过访问接收端的地址向服务器发送数据。
4 样机制作与现场测试
为完成系统的整体性能测试,制作了监测系统移动端样机;上位机则为普通计算机,主要涉及软件开发工作,即编程完成图像数据的接收、存储,并在监控界面显示。
测试条件:同济大学嘉定校区智信馆南侧庭院,上午10:00~11:00,天气晴朗。此处为校园流浪猫的集中栖息地之一。
测试流程:通过摄像头读入含有猫脸的图像,检测其中的猫脸部分,将图片压缩后上传至上位机,并在监控界面中显示。由于3G通信的传输可靠性与范围依赖于现场周围蜂窝基站的分布,因此本文主要测试LoRa通信性能。
定义3项通信性能指标。①传输时延:接收到完成图像接收和发送端开始发送图像的时间差。②传输距离:接收模块和发送模块间隔距离。③传输可靠性:完成完整的图片传输的数量和发送端发送的图片数量之比。
测试场地为室外空旷地带,中间无明显障碍物,设定传输速率为0.3 kbit/s;测试方案采用移动端发送5张1 kB左右的图片,在上位机检验图片的接收状况。监测系统移动端与上位机采用LoRa通信模式传输图像的性能测试结果如表1所示。
表1 性能测试结果Tab.1 Results of performance test
监测系统的整体功能验证效果良好。移动端通过图像识别,可准确检测流浪猫活动;经3G或LoRa远程通信方式,可将图像传输至上位机监控界面显示。
5 结束语
本文综合运用计算机视觉和远程通信技术,开发了一种用于城市流浪猫生态考察的监测系统。该系统由移动端和上位机组成,分别部署于现场和监控中心。移动端基于树莓派平台,通过摄像头侦测流浪猫活动,构建了2级级联器,分别基于Haar-Like特征和MB-LBP特征,将猫眼特征与纹理特征相结合,并运用Gentle AdaBoost算法加以训练。标准数据集测试显示猫脸检测的正确率为70%,误检率为28%。进一步制作的样机,可根据现场蜂窝网覆盖情况,选择3G或LoRa方式实现远程图像传输。现场测试结果证实了系统各项功能的有效性。