一直都想参加下数学建模,通过几个月培训学到一些好的数学思想和方法,今年终于有时间有机会有队友一起参加了研究生数模,but,为啥今年说不培训直接参加国赛,泪目~_~~,然后比赛前也基本没看,直接硬刚。比赛完总结下是个好习惯,下面写了一点分析,比较注重实现,有些地方我也不能讲很清楚,看过的请权当参考。

问题1对一个不包含动态背景、摄像头稳定拍摄时间大约5秒的监控视频,构造提取前景目标(如人、车、动物等)的数学模型,并对该模型设计有效的求解方法,从而实现类似图1的应用效果。(附件2提供了一些符合此类特征的监控视频)

图1 左图:原视频帧;右图:分离出的前景目标

分析:第一问最简单,摄像头稳定,静态背景下,直接使用帧间差法即可解决,基于帧差法改进的一些方法效果也不错,试过使用VIBE算法(改进背景更新策略)检测效果都很好,但是这个题目测试视频有个坑,那个电梯运动的视频,严格来说不算静态背景视频,电梯部分后面通过算法微调才勉强去除,这部分用到了基于LBP(二值相似性模式)的MultiLayer算法,算法论文在这里:Multi-Layer Background Subtraction Based on Color and Texture ,供参考。下图是office视频和smoke视频(带电梯运动那个)的提取结果(图从论文中截出来的,有点模糊)

office smoke

图2 原始视频帧与分离出的前景目标

问题2对包含动态背景信息的监控视频(如图2所示),设计有效的前景目标提取方案。(附件2中提供了一些符合此类特征的典型监控视频)

图3 几种典型的动态视频背景,:树叶摇动,水波动,喷泉变化,窗帘晃动

分析:这个问题直观地就是通过运动幅度来来建模,经常使用高斯分布来表示,这部分使用了基于改进BSP的LBSP方法,效果很不错。算法的论文放在这里:Improving Background Subtraction using Local Binary Similarity Patterns,下图是waterSurface视频(海面波动)的提取结果

图4 原始视频帧与分离出的前景目标

问题3在监控视频中,当监控摄像头发生晃动或偏移时,视频也会发生短暂的抖动现象(该类视频变换在短时间内可近似视为一种线性仿射变换,如旋转、平移、尺度变化等)。对这种类型的视频,如何有效地提取前景目标?(附件2中提供了一些符合此类特征的典型监控视频,其它一些典型视频可从http://wordpress-jodoin.dmi.usherb.ca/dataset2014/下载)

分析:这个问题开始我们想的是用Faster-RNN之类的网络识别目标,然后再跟踪目标分割出来,但是好像有点麻烦,短时间内不好做,后面仔细看了题目,他们其实有提示,仿射变换?是啊,摄像头抖动就相当于短时间内的仿射变换,这种仿射变换怎么计算出来呢?我们可以通过提取图像的特征点(实测matlab的MinEigen方法误差点最少,它的核心是Harris角点检测),计算出两幅图像之间的对应特征点,自然就可以得到它们之间的仿射变换了,花了一个晚上加一个上午把程序弄好(还做了伪补全图像),效果还很不错,能够得到稳定的视频,但是这种方法有局限性。下图是people2的提取结果

图5 原始视频帧与分离出的前景目标

问题4在附件3中提供了8组视频(avi文件与mat文件内容相同)。请利用你们所构造的建模方法,从每组视频中选出包含显著前景目标的视频帧标号,并将其在建模论文正文中独立成段表示。务须注明前景目标是出现于哪一个视频(如Campus视频)的哪些帧(如241-250,421-432帧)。

分析:这个没啥说的,拿前面的算法跑一遍就行了,我们做的顺序是124356,5,6最后只写了想法。

问题5如何通过从不同角度同时拍摄的近似同一地点的多个监控视频中(如图3所示)有效检测和提取视频前景目标?请充分考虑并利用多个角度视频的前景之间(或背景之间)相关性信息(一些典型视频可从http://cvlab.epfl.ch/research/surv/multi-people-tracking下载)

图6 在室内同一时间从不同角度拍摄同一地点获得的视频帧

分析:这个题目的意思感觉不是太清晰,但是最好的方法应该是pom了,只是他们没有开放源代码,项目主页在这里:https://cvlab.epfl.ch/software/pom/,可以研究下。

昨天与一等奖大神讨论了下,其实这题是有简单的方法的,和第三题类似,想法很简单,先试试能不能搞出来,搞出来了再放过程和结果。这一问的论文可以看看这里 ,对极几何那部分。

问题6利用所获取前景目标信息,能否自动判断监控视频中有无人群短时聚集、人群惊慌逃散、群体规律性变化(如跳舞、列队排练等)、物体爆炸、建筑物倒塌等异常事件?可考虑的特征信息包括前景目标奔跑的线性变化形态特征、前景规律性变化的周期性特征等。尝试对更多的异常事件类型,设计相应的事件检测方案。(请从网络下载包含各种事件的监控视频进行算法验证)

分析:没有完成,应该基于前面的算法,利用聚类方法和运动轨迹进行分析,主要在判别策略上。

/*end of all*/

2017年研究生数学建模D题(前景目标检测)相关论文与实验结果的更多相关文章

  1. 2017年研究生数学建模竞赛-E题 MATLAB 作战区域道路示意图

    MATLAB 画区域作战图 clear load('output_path1.mat') k = 1:130; gplot(edge(k,k),loc(k,:),'c-') title('作战区域道路 ...

  2. 2017高教杯数学建模B 题分析

    B题原文 "拍照赚钱"是移动互联网下的一种自助式服务模式.用户下载APP,注册成为APP的会员,然后从APP上领取需要拍照的任务(比如上超市去检查某种商品的上架情况),赚取APP对 ...

  3. 2016全国研究生数学建模A题多无人机协同任务规划——基于分布式协同多旅行商MTSP遗传算法

    MTSP问题是指:有Ⅳ个城市,要求旅行商到达每个城市各一次,且仅一次,并[旦 1到起点,且要求旅行路线最短.而多旅行商问题M个旅行商从同一个城市(或多个城市)出发.分羽走一条旅路线,且总路程缀短.有关 ...

  4. 2019年研究生数学建模D题《汽车行驶工况构建》解析

    正在整理...

  5. 2018年中国研究生数学建模竞赛C题 二等奖 赛题论文

    2018年中国研究生数学建模竞赛C题 对恐怖袭击事件记录数据的量化分析 恐怖袭击是指极端分子或组织人为制造的.针对但不仅限于平民及民用设施的.不符合国际道义的攻击行为,它不仅具有极大的杀伤性与破坏力, ...

  6. 2020华为杯数学建模B题-RON建模 赛后总结与分析

    好久好久没有写博客了...挺累的,从二月份开始找暑期实习,接着在进行暑期实习,然后马不停蹄地进行秋招,现在总算结束实习,前两天又参加了华为杯数学建模竞赛,感觉接下来就会很轻松了,希望能好好休息休息.这 ...

  7. 2018数学建模A题优秀论文:高温作业专用服装设计

    高温作业专用服装设计 摘 要 本文针对多层材料的高温作业服装的传热问题进行研究,综合考虑多种传热方式建立传热模型,并以此模型为基础解决了服装设计中各层材料最佳厚度的问题. 对于问题一,要求在热物性系数 ...

  8. 2015全国大学生数学建模B题浅谈

    题目请自主上网获取. 分析下思路.第一问,不同时空的出租车的“供求匹配”程度. 也就是说要选取的数据要有时间和地理两个维度.实体对象是出租车.关键的问题就是地点怎么选? 选择的城市具备如下经济较发达, ...

  9. Python小白的数学建模课-A1.2021年数维杯C题(运动会优化比赛模式探索)探讨

    Python小白的数学建模课 A1-2021年数维杯C题(运动会优化比赛模式探索)探讨. 运动会优化比赛模式问题,是公平分配问题 『Python小白的数学建模课 @ Youcans』带你从数模小白成为 ...

随机推荐

  1. MySQL学习路线图

  2. 关于JUnit4无法支持多线程测试的解决方法

    转自:https://segmentfault.com/a/1190000003762719 其实junit是将test作为参数传递给了TestRunner的main函数.并通过main函数进行执行. ...

  3. Awakening Your Senses【唤醒你的感觉官能】

    Awakening Your Senses Give youself a test. Which way is the wind blowing? How many kinds of wildflow ...

  4. WPF把CheckBox的文字放到左边,开关在右边

    原文:WPF把CheckBox的文字放到左边,开关在右边 效果 实现 这篇文章给了一个不错的参考方案. http://www.codeproject.com/Articles/19141/WPF-Ch ...

  5. ORA-12546: TNS: 权限被拒绝(ORA - 12546 TNS: Permission Denied)

    这个问题上网一查大都是说权限之类的问题,本人在经过第二次折腾之后发现,其实是自己的Oracle客户端工具在破解过程中被自己用防火墙禁止访问网络了,自己还在另一篇博文里记录过,竟然忘光了,BS一下自己! ...

  6. js鼠标事件相关知识

    1.mousedown->mouseup依次触发后相当于click事件 2.除了mouseenter和mouseleave外,其它的鼠标事件都是冒泡的 3.mouseover和mouseout事 ...

  7. Ubuntu下使用Git_1

    这里小小的记录一下我在Ubuntu下使用版本控制工具Git的过程.在学习使用Git的时候,我发现了一个很好的网站,这里分享一下,大家共同学习. 猴子都能懂的Git入门 http://git.wiki. ...

  8. 使用hibernate连接Oracle时的权限问题

    在使用hibernate对象关系映射连接和创建表的时候,会涉及到很多权限问题,有些数据库管理会将权限设的很细,我们可以根据后台日志错误和异常信息作出判断. 比如下图所示这个错误(这是我在给银行投产系统 ...

  9. 关于缺失值(missing value)的处理---机器学习 Imputer

    关于缺失值(missing value)的处理 在sklearn的preprocessing包中包含了对数据集中缺失值的处理,主要是应用Imputer类进行处理. 首先需要说明的是,numpy的数组中 ...

  10. [持续补充]开发过程中常见bug查找思路

    文件夹下载不下来或者无法访问,很多时候是因为没有该文件夹的权限,或者没有将该文件夹挂载到对应docker下. 远程服务器和本地服务器测试结果不同,需要排查代码是否是git上同一版本的代码. 代码相同, ...