电影院观影人数统计

电影院观影人数统计

一、基本知识和背景

?    图像识别和监控相配合,能够帮助使用者获得监控内容的定量信息。通过对所获得的数据的统计分析,就能够得到超出图像本身的价值,并且反馈现实,获得真正的利益。电影院观影人数统计就是这样的一个例子。

二、系统架构和图片分析

基于千兆局域网,由服务器自行采集各监控点数据,获得“准实时”图像。通过图像识别服务对获得的图像进行分析,得出当前的观影人数,输入数据库得到记录。

初步观察目前监控的视频图像

这幅图像是电影院的监控图像。由于电影院的需求,摄像机倾斜放置等原因,图像中后面的座位拍摄的都不是很清楚;图像整体光晕的现象比较严重,近景有大的光斑,光线的突然变化是存在的。但是,由于摄像机是固定安装,背景比较固定,且坐在座位上的人还是比较明显的。

    如果有可能,选择更好的摄像机,获得更佳的图像清晰度;调整摄像机角度,获得正向的图片输入;加载滤光片,对高曝光部分进行过滤,都能够明显地提高图像识别的效率。

三、算法选择和实现

1)基于此静态灰度图片,对人数的统计可以考虑人脸识别算法。结果如下:

实验效果很不理想。因为在这种目前人脸识别是根据肤色或面部特征来进行识别的。二在这样的图片中,肤色无从谈起,面部细节也非常模糊。所以这种思路不成立。

2)对原始图像进行增强,而后进行投影分析

对原始图像进行高斯混合,去除不连贯区域,得到如下效果:

而后阈值分析得到结果如下

其中可以作为抓手的区域就是连续重复出现的”把手“,而在把手中间出现的,就可能是

人的信息。但是这种方法结果可能会比较不稳定,而且需要考虑的因素比较多。

3)视频的信息往往要比图片的信息丰富的多。一方面,你可以考虑统计进入电影院门口的人的数量,一方面你可以统计观影的人的数量。特别是对于这种固定摄像头的视频流信息,可以考虑首先采用背景去除算法(background reduce)算法,得到变换的前景信息。而后对这类信息进行处理分析,获得所需要的部分。

由于目前没有电影院中完全没有人的视频,所以仅仅是做下演示,这里的演示是以前一帧的图像作为背景的,可以检查出运动的物体,比如进出的人:

当没有人运动物体时可以得到判断

有人的区域可以得到初步的判断

下一步就是需要做对识别出来的区域进行形态变换,判断当前图像中实际有几个人。以及选用更好的设备,安排更详细的图像获取流程,得到较好的效果。但是这个思路应该是没有问题的。

相比较而言,方法3利用了”固定摄像头“和”视频流“这两个条件,能够最大限度地获取有价值的信息,最有可能解决这个问题,达到需求的要求。

来自为知笔记(Wiz)

时间: 2024-08-27 16:27:58

电影院观影人数统计的相关文章

C语言 · 单词数统计

单词数统计 输入一个字符串,求它包含多少个单词. 单词间以一个或者多个空格分开. 第一个单词前,最后一个单词后也可能有0到多个空格. 比如:" abc    xyz" 包含两个单词,"ab   c   xyz    "  包含3个单词. 1 #include<stdio.h> 2 #include<string.h> 3 int get_word_num(char* buf){ 4 int n = 0; 5 int tag = 1; 6 ch

二叉树基本操作续一:二叉树建立、节点数统计

在上一篇:二叉树基本操作 中,我们描述了二叉树的递归遍历函数.在这里主要是给出这些函数的测试代码,为了测试更加方便,我们实现了三个新的函数:建立二叉树.统计二叉树叶子节点数量.统计二叉树总节点数量.(二叉树的定义用上篇文章中的定义) 二叉树建立: 1 tree_pointer create_bin_tree() 2 { 3 tree_pointer node; 4 int x; 5 scanf("%d", &x); 6 if (x == 0) { 7 node = NULL;

c语言的结构体字节数统计

struct结构体的字节数 等于 结构体中最大类型的字节数的倍数. 如:?typedef struct Student{??? short id; //2个字节??? char name[15]; //1*15个字节??? int age; //4个字节??? char num; //1个字节} Student; 总共28个字节. c语言的结构体字节数统计

推荐一个代码行数统计工具cloc

代码行数统计工具cloc,它不但能统计代码行数,还能自动过滤掉代码中的注释,使用起来也很方便,强力推荐. 安装很方便,Ubuntu上直接udo apt-get install cloc就可以了 下面用mysql来做个例子吧,首先进入mysql的源代码文件夹: [email protected] ~/aproject $ cd mysql-5.6.19/ [email protected] ~/aproject/mysql-5.6.19 $ cloc . defined(%hash) is dep

代码行数统计

/** * Copyright ? 2015 All rights reserved. */ package cn.yufu.system.tools; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList;

linux文件行数统计

linux统计文件行数 文件行数统计cat employee.txt | wc -l 统计文件行数wc -l employee.txt cat employee.txt | wc -c 统计问价的字节数wc -c employee.txt cat employee.txt | wc -w 统计单词数wc -w employee.txt wc employee 同时统计文件行数.字符数.单词数 统计文件.目录.文件行数ls | wc -l 统计当前目录下的非隐含目录和非隐含文件的个数ls -a |

CodeVS 1432-总数统计

原题 题目描述 Description 给出n个数,统计两两之和小于k的方案数之和. 输入描述 Input Description 第一行一个数n,表示数字的个数:第二行到第n + 1行,每行一个不超过2,000,000,000的数k:第n + 2行一个数m,表示m个问题:第n + 3行到第n + m + 2行,每行一个数m,询问表示n中两两组合不超过m的组合的个数: 输出描述 Output Description 输出m行,每行对应一个答案 样例输入 Sample Input 3 1 2 3

Android Studio代码行数统计插件Statistics

Android Studio 是没有提提供统计代码全部行数的功能的,但是对于开发者来说,这个功能确实必备的,Statistic统计代码行数非常方便,也很详细. 1,首先肯定是将插件下载下来,下载地址:https://plugins.jetbrains.com/plugin/4509 2,下载下来之后我们将插件安装到AS上面: 进入设置界面Setting之后点击plugins,如下图所示,显示的是已经安装的插件名称,我们将下载的插件安装,点击下面按钮: 点击之后,选择已经下载好的plugins插件

SSH系列:(32)年度投诉数统计

1.JSP页面 annualStatisticChartUI.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% Calendar cal = Calendar.getInstance(); int curYear = cal.get(Calendar.YEAR);//当前年份 request.setAttribute("