针对基于单片机的无线图像监控系统存在的处理能力差、存储空间有限的缺点,提出了一种基于DC系数的目标检测方法:先对JPEG图像进行部分解码,提取亮度信号的DC系数,得到DC图,然后对相邻两幅DC图进行相减操作,最后对差值DC系数进行分块和阈值处理,判断是否有目标出现并报警。实验结果表明,该方法具有计算复杂度低,占用存储空间少和误报率低的特点,非常适合基于单片机的无线图像监控系统。1762009,45(36)Computer Engineering and Applications计算机工程与应用7sκ777777阈值 Threshold4,说明整个场景发生了变化,无可疑目标出现,6665不报警;如果nSum12或者nSum23大于nSum*80%,有可疑目标出现,报警。8788通过大量实验结果分析表明, Threshold2、 Threshole3和Threshold4分别取10、8和12时,检测结果比较准确。77316778898965aa56656681178891290872313实验结果及分析11317%41216在 ATmega128单片机系统上对上面提到的目标检测算法776进行了测试,单片机的晶振为11MHz,RAM为4KB。测试过程为:摄像头捕获到一幅图像后,对其进行JPEG压缩,然后通过图4两幅图像DC系数直接相减结果串口将JPEG图像发送给单片机,单片机接收到一包数据后对图像进行目标检測,如果发现有可疑目标出现,则将出现可疑目标的图像通过GPRS模块发送给用户。000000000000000为了降低计算复杂度,在测试的时候,将量化表,水平和垂000∩00000000000000000000|000直采样因子以及 Huffman表等预先存储在数组中。通过分析发0000000000现实验用到的JPEG图像标志信息占用了624个字节,所以单000000000000000000000000o0000000000000片机接收到JPEG图像后直接从第625个字节的位置开始解0A0000码。同时,考虑到在家庭图像监控系统中,摄像头一般正对着门,拍摄下来的画面,上半部分为天花板,故只保存JPEG图像下部的2/3部分的DC系数,即20×12个DC系数,上面13的DC数据丢弃掉。这样,计算复杂度可以得到降低,同时,在计算4400000000000000000000的过程中,大概只需要3KB左右的存储空间。图5两幅图像阈值判断后DC系数相减结果在计算3.2节中的阈值 Threshold1时,如果对每一个差值DC系数出现的次数进行统计会比较耗费时间,为此对其进行分区城的位置发生较大变化,不过由于该区域非零个数有限,在区统计,如0-3中的数据出现的次数统计为一个值,3-6中的下面的操作中会排除这种因素带来的影响。数据出现次数统计为一个值,依次类推。表1显示了分段与阈3.3分块处理及目标检测值之间的关系以家庭图像监控系统为例讨论如何对进行阈值处理后的非零DC差值系数(以下简称非零系数)进行划分。在家庭图像表1分段与阈值之间的关系监控系统中,摄像头一般正对着门.所以拍摄下来的画面,上半分段0~2,2~4,…0~3,3~6,…0~5,5~10,…0~8,8~16,阈值无目标出现5~10部分为天花板,下半部分才会出现人等活动物体,并且人一般范围有目标出现8~2010.1516出现在下半部分的中间位置。以160×128大小的图像为例,一幅160×128大小的图像从表1可以看出,分段越小,阈值范围越大,阈值越精确。共有320个DC系数,将这320个DC系数分成如图6所示4图7显示了阈值分段与检测正确率之间的关系。其中,分个部分:段1指的是按0~2,2~4,4~6,…分段,分段2指的是按0~-3,36,6-9,…分段,分段3指的是按0-5,5-10,10-15,…分段,分段4指的是按0~8,8~16,16~24,…分段。从图7可以看出,分段越小,阈值越精确,准确率也越高。如对第一种分段法,在无目标和有目标出现时准确率均高达98%。如果分段太大,计算所得的阈值一般会比较大,因为阈值过大不能正确反应图像的变化情况,所以出现误差的几率也大,如对第四种分段法,在无图6分区处理示意图目标出现时误差率为6%,而有目标出现时误差率高达21%。不过,分段太小,需要计算的数据段越多,耗费的时间会越长。在实第一部分有20×4=80个DC系数,第2、4部分有6×12=72际应用的过程中,取0-3,3~6,6-9,…分段可以获得较好的效果。个DC系数,第3部分有8×12=96个DC系数。根据3.2节计算所得到的结果,统计4个区域非零系数的个数,依次记为Nozero l、 Nozero2、 Nozer03和 Nozero4。解0.8ix n=Sum(Nozerol, Nozero2 Nozero3, NoZero4), nMax无目标出现0.7Max(NoZerol, NoZero2, NoZero3, NoZero4), nMin=Min( Nozerol有目标出现0.6Nozero2, NoZero 3. No Zero4 ), n Sum 12=No Zero1 +Nozero2, nSum23oero3+ NoZero4。判断是否有目标出现的过程为:如果nSum分段小于某阈值 Threshold2或者nMax小于某阈值 Threshole3,表图7阈值分段与检测正确率之间的关系明非零系数太分散,无可疑目标出现,不报警;若nMin大于某(下转184页)