在未来的某个时候,我想要开始发展我的家庭自动化系统,使之具有视频功能。我已经开始对此做一些研究了,我很有耐心,学习速度也很快,但这是一个非常密集的领域,比我习惯的要强烈得多。我从来没有以编程的方式处理过视频,虽然我读过OpenCV的文档和一些非常紧张的东西,比如研究论文这里,但令人沮丧的内容对我来说是胡说八道。我有多变量微积分和线性代数的背景,但那是很久以前的事了。现在,我几乎所有的编程都是用Java编写的,C#的数量越来越多。我还参加了一门机器学习课程,我认为这将有助于对象分类。
这里的地面是多少?我需要学习什么样的数学,我应该写什么样的Hello应用程序,我需要什么样的相机?这类工作的语言是什么?现在的技术现状究竟是什么,什么是不可能的?
目标:
以下是我希望有一天能用它完成的一些事情:
首先,我希望大部分时间保持一个简短的“缓冲区”历史,并开始记录到本地网络位置,无论是在识别某些功能时,还是在系统的其他部分引发某些事件时。
我想模仿Dropcam的“活动区”,用户可以在固定摄像机的视点中定义重要区域,并指定与这些区域中的拼接相关联的自定义事件。
我希望能够识别面孔,并与一个小型数据库进行比较,该数据库由已知的经过训练的实例组成,可以与房间内的其他占位传感器一起实时建立。
我希望能够使用多个摄像头实时跟踪对象的位置与提供的平面图。
我一直在使用不同的微控制器,我想在视频输入到我的中央服务器之前,尽可能多地对摄像机进行预处理,以便尽可能多地并行化。
发布于 2016-07-13 16:41:55
这是我的一些小小的建议。
作为背景,它可能有助于您熟悉计算机视觉领域的一般情况(因为您所做的工作属于它的经典领域)。有用的数学背景包括信号处理(即傅里叶变换理论),通常用于机器人识别和图像处理,“数学规划”(凸优化,线性/整数规划等),以及一些概率论/随机过程和矩阵演算(尤其是当你想用卡尔曼滤波器或粒子滤波器进行跟踪时)。但是,如果您只是计划使用像OpenCV这样的工具,那么了解所有这些背景就没有必要了。
对于文献,去谷歌学者和键入“运动跟踪”或“视频识别”,例如。
老实说,就实时而言,我不认为C++有太多的竞争.你已经看过OpenCV了,但也看过Boost了。Matlab也有一些快速和惊人的工具箱,但较少的灵活性明显。而且很贵。我也听说过最新的计算机视觉数学,但这和matlab有相似的问题。
但是,由于您刚刚从这个领域开始,我的建议是从Python开始。numpy,scipy,is learn组合体很棒,而且它有opencv绑定。另外,也可以查看结构化学习的PyStruct,这对于这类事情真的很好,而Theano用于深入学习。这些工具速度慢,但使用起来却非常容易,非常适合原型开发。
发布于 2017-06-21 11:59:26
由于你想做的大部分事情都是在计算机视觉中发生的,所以最好了解一下最先进的技术。到目前为止,它是深入学习(利用sota在视频活动识别、目标检测和跟踪等方面取得的结果)。
为了学习深入学习的数学背景,你需要线性代数,概率和统计,多元微积分和一些优化techniques.You可以开始阅读这本书。它假设的背景最少。
在编程方面,了解python就足够了。
有关计算机视觉的深度学习资源的管理列表,请查看本网站。它也包含有关视频分析的信息。
https://stackoverflow.com/questions/30811500
复制相似问题