信号处理

为信号,图像和视频处理领域的艺术和科学从业者提供的问答

1
使用2D相机进行3D位置估计
我有一个摄像头(iPhone),图像中有一个3D控制对象,我非常了解它的属性。(我的控制对象)。运动中还有第二个物体。最终目标是建立给定时间段内运动对象的3D轨迹。(跟踪) 我想问一下,我能找出答案吗? 手机到控制对象的距离(为便于讨论,我们假设摄像头处于一定高度,并且一定距离两者都不是已知的,但是摄像头垂直于已知的表面) 我可以在每个后续帧中找到对象的辅助对象。我的目标是如上所述评估其3D轨迹。 还有一个问题,我们可以将系统设置为可以设置手机到控制对象的距离(尽管不是首选),这对我的第二点有帮助吗?
9 tracking  image 

2
在3D图像中找到可重叠球体的半径r
我目前的问题: 我有一个输入3D二值图像(一个只有0和1的3D矩阵),它由半径为r的球体的随机数组成。 我们不知道图像中有多少个球体。 所有球体都具有相同的半径r,但我们不知道半径r。 球体遍布图像中的各个位置,并且可以彼此重叠。 示例图像如下。 我的要求: 半径r是多少? 目前,我只是将图像变平以摆脱z轴并执行边缘检测,而我正在尝试使用以下方法进行霍夫变换:http : //rsbweb.nih.gov/ij/plugins/hough-circles.html 但是,通过霍夫变换,我看到必须指定变量最小半径,最大半径和圆数。我在下面尝试了一些尝试: 给定正确的参数,霍夫变换可以很好地检测到圆。但是在实际应用中,我不知道有多少个球体,使程序尝试猜测最小和最大半径似乎是不可行的。还有其他方法可以做到这一点吗? 交叉链接:https : //math.stackexchange.com/questions/118815/finding-radius-r-of-the-overlappable-spheres-in-3d-image

1
需要峰值限制/音频压缩公式
我正在寻找有效压缩音频波形以限制峰值的公式。这不是一个“自动音量控制”应用程序,在该应用程序中,可以控制放大器增益以保持音量水平,而是要限制(“软”截断)各个峰值。(我知道这会引入谐波,但我正在尝试分析数据,而不是听数据。) 到目前为止,我的(非常粗糙的)公式是: factor = (10 * average / level) + exp(-sqrt(0.1 * level / average)) 其中level是瞬时声级,平均值是历史平均声级,factor是用于产生“已调整”声级(因数乘以level)的乘数。 此外,仅当乘法器计算得出的值小于1时,才会应用此乘数。否则,将不调整级别。 目的是将调整后的水平限制为历史平均值的某个倍数(此公式约为15倍)。这个公式有点像我需要的,但是随着数字变大,表现出“下降”的趋势。也就是说,调整后的水平(即因子乘以水平)会增加到未调整水平增加的程度,但随后开始逐渐变小而不是渐近。(实际上,添加第一个因素主要是为了防止公式以极高的值变为零。) (想要以这种方式限制值的原因主要是为了使瞬态噪声不会严重破坏声音水平的运行平均值。但是,当您分析打sn声时,“瞬态噪声”非常重要,因此我可以简单地对其进行静噪) 那么,有人可以提出更好的建议吗?(似乎渐进行为在您不想要时很容易产生,但在您想要时就很难产生。)

1
导数计算
我有一系列数据(单个数组)。如果我将这些数据绘制并绘制,可以看到有多个峰。但是,如果我放大一部分数据,我会发现有很大的噪音。 我喜欢用很少的CPU时间和精力来检测数据中有多少个峰值。我想到了检测这些峰的斜率(可以是陡峭的或平滑的上升或下降),然后查看斜率的数量以确定峰的数量。(每个峰2个正斜率和负斜率) 任何指针如何在存在噪声的情况下计算斜率? 该代码将进入嵌入式系统,内存有限,因此我最好实现不需要大量数据复制的操作。


2
查找图片中的特定行
我想在下图中找到蓝色和灰色之间的界线: 更确切地说,该行的终点。 霍夫变换是一种选择吗?如果是,在使用Hough之前应该如何设置图片? 解决该问题的任何方法都将有所帮助。

1
如何估算波形的信噪比?
我有一个信号:,其中我= 0 ... ñ - 1。F一世(吨一世= 我Δ 吨)fi(ti=iΔt)f_i(t_i=i\Delta t)i = 0 … n − 1i=0…n−1i = 0\ldots n-1 信号似乎在较慢的“趋势”附近快速变化。我假设快速变化的部分是噪声,而缓慢变化的部分是真实信号。 如何估算信号的信噪比(SNR)? 我想,如果我能在treshold频率决定:我可以使用下面的表达式:ωŤωt\omega_t ,其中F表示f(t)的傅立叶变换。S/N=∫ωt0|F(ω)|2∫∞ωt|F(ω)|2S/N=∫0ωt|F(ω)|2∫ωt∞|F(ω)|2S/N=\frac{\displaystyle\int_0^{\omega_t}|F(\omega)|^2}{\displaystyle\int_{\omega_t}^{\infty}|F(\omega)|^2}FFFf(t)f(t)f(t)
9 fft  noise  snr 

1
调频综合算法
根据阅读的内容,我制定了一种用于FM声音合成的算法。我不确定我是否做对了。创建软件合成器乐器时,将使用函数来生成振荡器,并使用调制器来对该振荡器的频率进行模数化。我不知道FM合成是否仅适用于调制正弦波? 该算法采用仪器的波函数以及调制器的调制器指标和比率。对于每个音符,它都采用频率并存储载波和调制器振荡器的相位值。调制器始终使用正弦波。 这是伪代码中的算法: function ProduceSample(instrument, notes_playing) for each note in notes_playing if note.isPlaying() # Calculate signal if instrument.FMIndex != 0 # Apply FM FMFrequency = note.frequency*instrument.FMRatio; # FM frequency is factor of note frequency. note.FMPhase = note.FMPhase + FMFrequency / kGraphSampleRate # Phase of modulator. frequencyDeviation = sin(note.FMPhase * PI)*instrument.FMIndex*FMFrequency …

1
离散傅立叶变换-快速找到基本原理?
首先,我很抱歉,因为我是一名软件开发人员,而且很长一段时间以来我还没有深入研究纯数学,所以我的问题似乎很愚蠢。我希望不是。 背景是音乐中的音高识别。 如果您记下音符,然后对其进行傅立叶变换,则对于给定的频率,您将获得无限的振幅总和。例如,如果我在任何乐器上演奏基音为的音符,则在进行傅立叶变换后,我将在处产生谐波。每个频率都会有一个给定的幅度,该幅度定义了乐器的音色(钢琴,声音,小号……都遵循此律,但是每个谐波的幅度都不同)F ,2 F ,3 F ,… ,n FFFFF,2 楼,3 ˚F,… ,n FF,2F,3F,…,ñFF, 2F, 3F,\ldots,nF 现在我想要做的是从给定的音频信号,找到。只是。这比看起来要复杂得多,因为您将始终有背景噪声等等。此外,不一定是振幅最高的频率!˚FFFFFFF 因此,我找到想法是应用DFT(实际上实际上是FFT以获得速度)并找到频率,以便在FFT输出中最大。F F + 2 F + 3 F + … + n FFFFFFFF+ 2 楼+ 3 楼+ … + n FF+2F+3F+…+ñFF + 2F +3F + \ldots + nF 您认为这完全有可能吗?您认为在很短的时间内(例如<5毫秒)有可能吗?
9 audio  fft  pitch 

1
通过使用较大步长的差=与矩形窗卷积来计算信号的平滑导数
我在采样的信号其中,i = 0到n-1。我想找到信号的一阶导数:f'(t)。Δ 吨:˚F我(吨我= 我Δ 吨)Δt:fi(ti=iΔt)\Delta t: fi(ti=i\Delta t) 我首先想到的是通过一个中心差异来估算: f′(ti)=f(ti+1)−f(ti−1)2Δtf′(ti)=f(ti+1)−f(ti−1)2Δtf'(t_i) =\frac{f(t_{i+1})−f(t_{i−1})}{2\Delta t} 但是,该信号可能会有很多高频噪声,可能会导致f'的快速波动。我猜正确的选择可能是通过与窗口函数(例如Hann)进行卷积来平滑信号,然后从差异中找到导数。 一位同事建议了一种更快的求导数平滑估计的方法:对2n个样本使用中心差,其中n >> 1: f′(ti)=f(ti+n)−f(ti−n)2nΔtf′(ti)=f(ti+n)−f(ti−n)2nΔtf'(t_i) =\frac{f(t_{i+n})−f(t_{i−n})}{2n\Delta t} 当然,这将比首先使用窗口函数进行卷积运算具有更快的速度,但这是一个好的解决方案吗? 如果我们求和: S=2Δt[f′(ti−n+1)+f′(ti−n+2)+..+f′(ti+n−1)]S=2Δt[f′(ti−n+1)+f′(ti−n+2)+..+f′(ti+n−1)]S=2\Delta t[f'(t_{i-n+1})+f'(t_{i-n+2})+..+f'(t_{i+n-1})] 并扩大通过与步骤中央差各衍生物:ΔtΔt\Delta t S=f(ti−n+2)−f(ti−n)+f(ti−n+3)−f(ti−n+2)+..+f(ti+n)−f(ti+n−2)S=f(ti−n+2)−f(ti−n)+f(ti−n+3)−f(ti−n+2)+..+f(ti+n)−f(ti+n−2)S=f(t_{i-n+2})-f(t_{i-n})+f(t_{i-n+3})-f(t_{i-n+2})+..+f(t_{i+n})-f(t_{i+n-2}) 除两个以外的所有条款都被取消: S=f(ti+n)−f(ti−n)=2nΔtf′(ti)S=f(ti+n)−f(ti−n)=2nΔtf′(ti)S=f(t_{i+n})-f(t_{i-n})=2n\Delta tf'(t_i) 因此: f′(ti)=1n[f′(ti−n+1)+f′(ti−n+2)+..+f′(ti+n−1)]f′(ti)=1n[f′(ti−n+1)+f′(ti−n+2)+..+f′(ti+n−1)]f'(t_i)=\frac{1}{n}[f'(t_{i-n+1})+f'(t_{i-n+2})+..+f'(t_{i+n-1})] 因此,取2n个样本的中心差等于先对大小为2n-2的矩形窗口进行卷积,然后取+/- 1个样本的中心差。 用矩形窗口平滑有多“不好”? 如果我们进行FFT,这将导致“振铃”,但是我们不需要进行FFT。 预先感谢您的任何回答!

1
给定自相关函数的滤波器设计中的单位问题
给定具有以下自动关联功能的WSS流程: r(τ)=σ2e−α|τ|r(τ)=σ2e−α|τ| r\left ( \tau \right ) = {\sigma}^{2} {e}^{-\alpha \left | \tau \right |} 拉普拉斯变换将是: R(s)=L{r(τ)}=−2ασ2(s−α)(s+α)R(s)=L{r(τ)}=−2ασ2(s−α)(s+α) R \left ( s \right ) = \mathfrak{L} \left \{ r \left ( \tau \right ) \right \} = \frac{-2 \alpha {\sigma} ^ {2}}{\left ( s - \alpha \right ) \left ( s …

2
时间数据的模式识别
我正在尝试检测和分类非语音声音。当前,我正在使用来自训练声音的一系列移动重叠功率谱作为我要寻找的功能。 当我进行分析时,我只是在计算相同数量的重叠光谱,以使特征数量相同。现在的性能还不是很好,它只能检测静音与不静音。 这种信号检测有哪些技术?我担心的一个问题是,由于时域中不同长度的声音会导致特征向量的长度不同,因此我不能使用相同的分类器,因此我会坚持这一点。
9 audio 

2
表面检测
如何从图像中分割出大面积的灰色(从白色到黑色)?(如果您在opencv中知道这一点,则可以通过说出在opencv中的操作来回答)。例如给出此图片: 您会看到这是一个很大的灰色区域,可以与其他区域清楚地区分开。如果该区域可以具有任何灰色阴影并且必须实时工作,那么如何分割该区域。 提前谢谢。

1
准确测量一组基准点之间的相对距离(增强现实应用程序)
假设我有一组5个标记。我正在尝试使用增强现实框架(如ARToolkit)找到每个标记之间的相对距离。在我的摄影机中,前20帧仅向我显示前2个标记,因此我可以算出这2个标记之间的转换。后20帧仅显示第二和第三标记,依此类推。最后20帧向我显示第五和第一标记。我想建立所有5个标记的标记位置的3D地图。 我的问题是,由于视频馈送质量低而导致距离不准确,鉴于我收集到的所有信息,如何将不准确度最小化? 我幼稚的方法是使用第一个标记作为基点,从前20帧开始获取转换的平均值,然后将第二个标记放置在第3个和第4个标记上,依此类推。对于第5个标记,请将其放置在第5个和第1个以及第4个和第5个之间的转换平均值的中间,将其放置在第4个和第1个之间。我觉得这种方法虽然偏向于第一个标记放置,但并未考虑到相机每帧看到两个以上的标记。 最终,我希望我的系统能够计算出x个标记的图。在任何给定的帧中,最多可能出现x个标记,并且由于图像质量而导致非系统性错误。 关于正确解决此问题的任何帮助将不胜感激。

1
如何找到应该是灰度的RGB图像的颜色通道偏移?
我正在使用一个似乎可以水平移动颜色的记录设备,并且我想找出我必须在2/3个通道上进行的不移动量,以便获得具有最小颜色失真的图像。 您可以在此处看到,在原始图像中,至少蓝色通道向后移了约1.0像素。 问题是,如何确定最佳的不偏移值,我确定它们不是整数。

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.