计算机视觉包括:
所有这些都属于计算机视觉的各个分支。所有这些都可以利用机器学习来训练程序来检测事物。所以他们不是都很相似吗,因为唯一的区别就是告诉程序去寻找什么?
就像我试图检测文本一样,程序将尝试将每个字母分开,并根据连接、曲线和形状来确定它是哪个字母。
如果我想检测一张脸,该程序将寻找面部特征,如眼睛,鼻子,嘴巴和面部形状。
如果我试图检测一个对象,程序就会寻找边框。
如果我想要发现一个人类,这个程序将是寻找头部,身体和四肢。
如果我在做运动检测,它将基本上是目标检测,同时捕捉它的运动。
我知道我过于简单化了,但我的观点是--假设有人试图创建一个用于计算机视觉的库/程序,并创建一个带有某些参数的学习程序(检测到什么),它会起作用吗?会不会太复杂了?我是否忽略了一些技术障碍,这将阻止这是可能的?
发布于 2016-05-12 08:07:22
想想什么是“物体”--物体是脸还是飞机?当然可以,所以从技术上讲,一切都是一个物体。但是一张脸看起来一点也不像一架飞机,所以你需要专门化它来发现不同之处。
现在我知道了,当涉及到人脸检测的时候,已经有很多参数你需要通过来检测不同类型的面孔--胡子和戴眼镜的人是不同的,帽子会把检测工作搞砸。如果您查看OpenCV haar层叠目录,它已经训练了眼睛、eye_tree_glasses、frontalcatface、profileface、fullbody、lowerbody,甚至是牌照的xml文件。
因此,您的检测例程是通用的,因为只有一个例程(例如haar或lpb分类),但是您必须传递很多不同的训练参数。
CV是关于算法级的“对象”检测,但在“训练”级别非常专门。
运动检测要么是通过逐帧检测来跟踪一个物体,要么是检测帧中的变化,而不跟踪正在移动的物体。我想说,这是一个独立的话题与简历。
发布于 2016-05-12 10:40:17
当然,计算机视觉中有一些主题,但问题领域的差异使得除了最先进的应用程序(机器人技术)以外的所有人都不可能需要通用引擎,甚至在短期内也是不可能的。
文本识别可以说是最简单的领域,但即使在这里,你也必须考虑字体、字体大小、对比度、打印质量等方面的问题。
人脸识别是相对简单的,只要照片是针对摄像机拍摄的。一种算法可以检测出各种面部元素的位置,并通过对比检验,可以在一定程度上验证图像中是否有人脸。
对象检测问题稍微多一些。以一只猫为例。这可能是在不同的姿态,在不同的颜色和与不同的背景。一个非常复杂的问题。事实上,谷歌采取了相反的方法。他们的算法获取了已知包含猫的图片,并反向设计了一种更精确的算法。最后一件事是如此复杂,以至于人类无法理解。
类似于猫的问题是识别人类--特别是当一个人加上共同的伴随物,如轮椅、衣服、车辆等。
运动检测/跟踪虽然明显相关,但有一套完全不同的技术障碍需要克服。
https://softwareengineering.stackexchange.com/questions/318239
复制相似问题