Questions tagged «computer-vision»

计算机视觉包括处理,分析,图像和高维数据以形成对场景或图像的高级理解和识别的方法。

2
行人计数算法
目前,我正在开发一个行人计数器项目(在Linux上使用OpenCV + QT)。我对方法的想法是: 捕捉帧 做背景扣除 清除噪音(腐蚀,膨胀) 查找blob(cvBlobslib)-前景对象 为每个Blob设置ROI,并在这些Blob中搜索行人(LBP和detectMultiScale)(以获得更好的性能) 对每个发现的行人进行嵌套的上身搜索(不确定)(可靠性更高) 如果在连续的帧(可能是3-4帧)上发现了相同的行人-将该区域添加到camshift和跟踪中-标记为行人 从下一个帧的斑点检测中排除camshift跟踪的区域 如果行人越过行号 我想检查一下我是否走对了。您对如何改善我的方法有什么建议吗?如果有人从事类似的工作,我将不胜感激有关此问题的任何有用技巧,资源(和批评)。


2
如何使用GLCM检索纹理并使用SVM分类器进行分类?
我正在进行肝肿瘤分割和分类的项目。我分别使用“区域生长”和“ FCM”进行肝脏和肿瘤分割。然后,我将灰度共生矩阵用于纹理特征提取。我必须使用支持向量机进行分类。但是我不知道如何规范化特征向量,以便将其作为SVM的输入。谁能说出如何在Matlab中进行编程? 对于GLCM程序,我将肿瘤分割图像作为输入。我说得对吗 我认为,如果是这样,我的输出也将是正确的。 据我尝试,我的glcm编码是 I = imread('fzliver3.jpg'); GLCM = graycomatrix(I,'Offset',[2 0;0 2]); stats = graycoprops(GLCM,'all') t1= struct2array(stats) I2 = imread('fzliver4.jpg'); GLCM2 = graycomatrix(I2,'Offset',[2 0;0 2]); stats2 = graycoprops(GLCM2,'all') t2= struct2array(stats2) I3 = imread('fzliver5.jpg'); GLCM3 = graycomatrix(I3,'Offset',[2 0;0 2]); stats3 = graycoprops(GLCM3,'all') t3= struct2array(stats3) t=[t1,t2,t3] xmin = min(t); xmax = …

2
用来区分不同(音乐?)音调的方法
我正在尝试研究并弄清楚如何最好地解决这个问题。它横跨音乐处理,图像处理和信号处理,因此有无数种查看方法。我想询问最佳方法,因为在纯sig-proc域中看似复杂的事情可能对进行图像或音乐处理的人来说是简单的(并且已经解决了)。无论如何,问题如下: 如果您原谅我对问题的看法,我们可以看到以下内容: 从上图可以看出,我有3种不同的信号“类型”。第一个是一个脉冲,其频率从到,然后重复。它具有特定的脉冲持续时间和特定的脉冲重复时间。f1f1f_1f4f4f_4 第二个仅存在于,但脉冲长度较短,脉冲重复频率较高。f1f1f_1 最后,第三个只是在的音调。f1f1f_1 问题是,我以何种方式解决此问题,以便编写可以区分信号1,信号2和信号3的分类器。也就是说,如果您向它提供信号之一,它应该能够告诉您该信号是这样的。什么最佳分类器会给我对角线混淆矩阵? 一些其他背景以及到目前为止我一直在想的是: 正如我所说的,这跨越了许多领域。我想问一想,在我坐下来与之作战之前可能已经存在哪些方法。我不想无意中重新发明轮子。以下是我从不同角度看过的一些想法。 信号处理观点: 我看过的一件事是进行倒频谱分析,然后可能使用倒频谱的Gabor带宽将信号3与其他信号2区分开,然后测量倒频谱的最高峰来区分信号3。信号2中为1。那是我当前的信号处理工作解决方案。 图像处理观点:我在这里思考,因为我实际上可以针对频谱图创建图像,也许我可以利用该领域的某些东西?我对这部分不是很熟悉,但是如何使用Hough变换进行“线”检测,然后以某种方式“计数”线(如果它们不是线和斑点,又如何呢?)然后从那里开始呢?当然,在我拍摄频谱图的任何时间点,您看到的所有脉冲都可能沿时间轴移动,那么这有关系吗?不确定... 音乐处理的观点:可以肯定的是信号处理的一个子集,但是在我看来,信号1具有一定的(也许是重复的)(音乐?)质量,音乐处理过程中的人们一直都能看到并且已经解决了。也许是区分乐器?不确定,但是这种想法确实发生在我身上。也许,从这个观点出发,是最好的方法,它占用了大部分时域并调高了这些步进率?再说一次,这不是我的领域,但是我非常怀疑这是以前见过的东西……我们可以将所有三种信号视为不同类型的乐器吗? 我还应该补充一点,我拥有大量的训练数据,因此也许使用其中一些方法可能会让我进行一些特征提取,然后我可以将其与K-Nearest Neighbor一起使用,但这只是一个想法。 无论如何,这就是我现在的立场,我们将不胜感激。 谢谢! 根据评论进行的编辑: 是的,预先知道,,,。(有些差异,但很小。例如,假设我们知道 = 400 Khz,但它可能以401.32 Khz出现。但是到距离很高,因此相比之下可能为500 Khz。)Signal-1将始终踩到这4个已知频率。Signal-2将始终具有1个频率。f1f1f_1f2f2f_2f3f3f_3f4f4f_4f1f1f_1f2f2f_2f2f2f_2 还预先知道所有三类信号的脉冲重复率和脉冲长度。(再次有一些差异,但很少)。尽管有些警告,但信号1和2的脉冲重复频率和脉冲长度始终是已知的,但它们是一个范围。幸运的是,这些范围根本不重叠。 输入是实时的连续时间序列,但是我们可以假设信号1、2和3是互斥的,因为在任何时间点仅存在一个信号。对于在任何时间点要花费多少时间块,我们也具有很大的灵活性。 数据可能是嘈杂的,是的,在我们已知的,,,不在的频段中可能存在虚假的音调等。这是完全有可能的。我们可以假设中等信噪比只是为了“开始”解决这个问题。f1f1f_1f2f2f_2f3f3f_3f4f4f_4

1
KLT跟踪器中反黑森州特征值的解释
我是一名硕士生,正在准备一个计算机视觉研讨会。主题之一是Kanade-Lucas-Tomasi(KLT)跟踪器,如 J. Shi,C。Tomasi,“要跟踪的好功能”。会议记录CVPR '94。 这是我用来了解KLT跟踪器的网络资源。我需要一些数学方面的帮助,因为我对线性代数有点生疏,并且没有计算机视觉方面的经验。 在此公式中(摘要中的第5步),请注意反黑森州:ΔpΔp\Delta p Δp=H−1Σx[∇I∂W∂p]T[T(x)−I(W(x;p))]Δp=H−1Σx[∇I∂W∂p]T[T(x)−I(W(x;p))]\Delta p = H^{-1}\Sigma_x\left[\nabla I \frac{\partial W}{\partial p}\right]^\mathsf{T} \left[T(x) − I(W(x; p))\right] 在本文中,要跟踪的良好特征被定义为其中逆黑森州矩阵的总和具有相似的大特征值:min(λ1,λ2)>thresholdmin(λ1,λ2)>threshold\min(\lambda_1,\lambda_2)>threshold。我无法从数学上理解它的来源和来源。 直觉是这代表了一个角落。明白了。这与特征值有什么关系?我希望如果Hessian的值很低,就不会有任何变化,这也不是一个角落。如果他们很高,那就是一个角落。有谁知道反角Hessian的特征值中的直角直觉如何起作用,以便在KLT跟踪器的迭代中确定ΔpΔp\Delta p? 我已经找到了声称反黑森州与图像协方差矩阵相关的资源。此外,图像协方差指示强度变化,然后才有意义……但是我一直无法找到图像协方差矩阵相对于图像而不是矢量或图像集合的确切含义。 同样,特征值在主成分分析中具有意义,这就是为什么我有了图像协方差矩阵的想法,但是我不确定如何将其应用于Hessian,因为通常将其应用于图像。据我所知,Hessian是矩阵,定义了,和在某个位置二阶导数。2×22×22\times 2xxxyyyxyxyxy(x,y)(x,y)(x,y) 我非常感谢您提供帮助,因为我已经花了3天以上的时间,这只是一个小公式,而且时间不多了。


4
图像识别
寻找一个开放源代码系统,该系统允许商业用途对庞大且有机增长的二维图像集合进行图像识别,其中唯一已知的变化是: 图片缩放比例 图片的拍摄角度, 颜色同步偏移量,这意味着由于源图像颜色的捕获和渲染中的不规则性,实例之间存在差异, 裁剪照片, 加水印或文字, 可能的焦点变化,这意味着捕获不清晰,而不是应用了图像处理滤镜。 我可以不必对应用程序进行培训,只要这样做能够带来回报,那么长期来看,我希望二维实例的数量将从最初的数千个增加到数百个千 但这是长期的,我很高兴能找到一个很好的解决方案,每个训练实例包含1000个实例,每个实例10个实例。 更新:该许可证需要能够用于商业内部分发,而无需发布源代码,甚至对于所有拥有二进制文件的人也是如此。该代码永远不会出售,只能在内部使用,但不是每个用户都可以访问源代码,而只能访问接口。

1
是否有用于在对象上创建纹理以帮助计算机视觉的首选模式?
在对该答案的评论中,建议使用激光二极管和衍射光栅在表面上提供纹理,以帮助计算机视觉系统中的高度计算。 我相信我熟悉的模式是在对象上投影棋盘模式。我(不完全)了解到,投影图像的变形以某种方式直接使用了。也就是说,以前投影的正方形图案变成了弯曲的多边形,变回正方形的过程提供了一些有关3D结构的信息。这不正确吗? 有首选的模式吗?选择模式有哪些依赖性?它取决于目标对象的形状,材料等,还是更多取决于特征变化量?

1
从嘈杂的点集合中恢复曲线
背景:我正在尝试制作一个跟踪视频中大量气泡的系统 我正在使用循环霍夫变换在单图像情况下实现气泡检测。由于遮挡,模糊和其他因素,这种检测永远不会是100%准确的。我正在调整检测程序以提高召回率,可能是以精度为代价的。 完成此操作并将其应用于视频中的一系列帧后,我将获得许多可以表征为4D空间中的点的检测-x位置,y位置,半径和帧索引。 是否有可以从该4D点云恢复曲线的程序?

2
分割半透明的材料,例如玻璃
我完全陷入关于玻璃物体分割的问题。我需要使对象尽可能精确。我的方法是不同的。首先,我尝试删除背景,以便仅保留一些清晰的轮廓。但这仅适用于具有尖锐边缘/渐变的对象。否则,对象本身也将被删除。我张贴了两个不同的图像。 我试图通过形态学操作(例如灰度膨胀和其上的分界线)去除背景。但这并没有太大帮助。之后,我尝试使用k = 3的k均值来使修改后的背景与玻璃的灰度和黑色值分开。在某些情况下,这并不成功,但总体/平均而言却并非如此。我还尝试使用整体模糊的滤镜进行Canny边缘检测,但这导致以开放轮廓,大量噪点等形式出现的结果较弱。 Canny具有自动阈值结果: testimg = imread('http://i.imgur.com/huQVt.png'); imshow(testimg) imedges = edge(testimg,'canny'); imshow(imedges); 第二张图片也一样。 如您所见,玻璃内部和外部都有大量噪声,并且玻璃边缘的边缘加倍。即使边缘有缝隙。 因此,我需要您的建议以获取一种通用的方法来处理半透明材料的问题,而不仅仅是这两个图像。 1)在不损坏对象的情况下移除背景的其他想法? 2)其他使对象与背景分离的分割方法? 如果可能,则使用Matlab,IPT或统计工具箱提示。任何其他提示也欢迎! 谢谢您的提前答复。真诚的

1
使用Matlab进行肝分割的自适应阈值
我需要使用自适应阈值技术从腹部CT图像中分割肝脏。但是我将整个前景与背景分开了。我只需要分离前景的肝脏部分。在http://www.ijcaonline.org/casct/number1/SPE34T.pdf中查看pdf文件。 我需要一个类似于图6所示的输出。 我在这里附上我的编码。请帮我。 %testadaptivethresh.m clear;close all; im1=imread('nfliver2.jpg'); bwim1=adaptivethreshold(im1,11,0.03,0); figure,imshow(im1); figure,imshow(bwim1); imwrite(bwim1,'at2.jpg'); function bw=adaptivethreshold(IM,ws,C,tm) %ADAPTIVETHRESHOLD An adaptive thresholding algorithm that seperates the %foreground from the background with nonuniform illumination. % bw=adaptivethreshold(IM,ws,C) outputs a binary image bw with the local % threshold mean-C or median-C to the image IM. % ws is …


1
设计特征向量以区分不同的声音波形
考虑以下四个波形信号: signal1 = [4.1880 11.5270 55.8612 110.6730 146.2967 145.4113 104.1815 60.1679 14.3949 -53.7558 -72.6384 -88.0250 -98.4607] signal2 = [ -39.6966 44.8127 95.0896 145.4097 144.5878 95.5007 61.0545 47.2886 28.1277 -40.9720 -53.6246 -63.4821 -72.3029 -74.8313 -77.8124] signal3 = [-225.5691 -192.8458 -145.6628 151.0867 172.0412 172.5784 164.2109 160.3817 164.5383 171.8134 178.3905 180.8994 172.1375 149.2719 …

1
视频中的车辆计数
免责声明:我在StackOverFlow上发布了此问题,但了解到它更适合此处。 我对图像处理有点陌生,所以我想问您有关为我的问题找到最佳解决方案的方法,而对代码没有帮助。我还没有想到一个好主意,所以想问一下您的建议。 我正在使用OpenCV进行一个项目,该项目用于从视频文件或实时摄像机中计算车辆的数量。从事此类项目的其他人通常会跟踪移动的物体,然后对其进行计数,但与此相反,我想使用不同的观点;要求用户在视频窗口上设置一个ROI(感兴趣的区域),并且仅在该区域内工作(由于某些原因,比如不处理整个帧并提高性能),如下所示。(用户可以设置一个以上的ROI,并要求用户通过比例感来设置ROI的高度大约是普通汽车的两倍。) 到目前为止,我已经取得了一些基本进展,例如背景更新,形态过滤器,阈值化以及将移动对象作为二进制图像获取,如下所示。 完成这些操作后,我尝试对最终的阈值前景帧中的白色像素进行计数,并通过检查总的白色像素数量来估计它是否是汽车(我通过了解ROI的高度通过静态计算设置了下限) 。为了说明,我画了一个示例图形: 如您所见,很容易计算出白色像素并检查它是否按时间绘制曲线并确定是汽车还是类似噪音的东西。 问题 在两辆汽车同时通过我的投资回报率之前,我一直非常成功。我的算法错误地将其视为一辆汽车。我针对此问题尝试了不同的方法,类似于长车,但没有找到令人满意的解决方案。 题 是否可以通过这种像素值计数方法来处理此任务?如果没有,您有什么建议?

3
相机校准/针孔相机型号和3D位置计算
我有一台经过校准的相机,并且具有固有参数。我还具有相对于现实世界中平面上的点(世界原点)的外部参数。我已将这一点设置为法线为[0,0,1]的真实世界坐标[0,0,0]中的原点。 通过这些外部参数,我可以在此处使用以下方法计算出相机在世界平面3d坐标中的位置和旋转:http : //en.wikipedia.org/wiki/Camera_resectioning 现在我有第二点,我已经提取了[x,y]的图像坐标。现在如何获得该点在世界坐标系中的3d位置? 我认为这里的直觉是我必须追踪从相机光学中心(如上所述,我现在具有3D位置)的光线穿过相机的像平面[x,y],然后再追踪通过我在顶部定义的现实世界飞机。 现在,我可以将世界坐标3d射线与已知的法线相交并指向该平面。我没有得到的是我如何找出3d位置和方向通过像素离开图像平面时的情况。通过不同坐标系进行的转换使我感到困惑。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.