The Stack Overflow podcast is back! Listen to an interview with our new CEO.
6

Nvidia seems to have published some white papers comparing DNN inference performance between high-powered CPUs and (of course) Nvidia GPUs. (one example) Ballpark seems to be that some systems can meet or exceed typical video frame rate thru-put for some class of DNN classification tasks. Whether those image sizes and/or DNN architectures and ...


4

The "dimensions" of the spectrogram are not chosen based on where will the spectrogram be fed to but rather depend on your application. Therefore, it is key to understand the spectrogram itself first, as a means of generating features for one or more signals and to an extent, understand the Discrete Fourier Transform (DFT) as well, which is the key operation ...


4

The power of complex representations remains an open topic to me. I still do strive the understand Fourier transformations. An underlying question is, to me: why would complex transformations be useful for real data? More generally, when data dwell in a set $S$, is $S$ the most appropriate set of analysis, or is it more appropriate to resort to a bigger ...


3

Is there a script / tutorial / demo for penis detection? [...] Fairly serious quesion, future of internet memes is at stake Yes, there is. Common Pattern Recognition techniques will be able to spot one even with what would be considered today "traditional" approach (i.e. without "Deep Learning"). There already is a sub-category of the subject ...


3

If as you said you understand well the 1-D convolution/cross-correlation functioning (the Wikipedia first graph explains it in a clear way), the 2-D version is very similar! This website explains 2-D convolution in a simple way with clear indicies and examples. In a nutshell, the kernel has to be flipped for convolution and this means your kernel example ...


3

Training is essentially an optimization and assuming you will have complex weights $z$, and a real valued objective, $$ \min_{z} f(z) \quad f(z) \quad \text{Real} $$ because of the Cauchy Riemann Condition, $f(z)$ is not analytic (essentially doesn't have a Taylor Series in $z$) so this is handled as: $$ \min_{z,z^*} f(z,z^*) $$ where $z$ and $z^*$ are ...


3

The kernels used by a ConvNet are nothing but neural weights. You can think of them as a multilayer perceptron with some connections cut off and some weights restricted to be equal (weight sharing). With this in mind, we must take into account that the kernels (or filters, in this context) are learned, so they depend exclusively on the type of inputs and ...


2

Since next layer is fully connected it does not really matter what shape your pooling output would be. You have 14x100, you can rearrange them as 1x1400 as input for next layer, 1000 elements as output. The paper says that they select the size of the fully-connected layer of 1000 to be close to the output size of the pooling layer.


2

A homemade solution comes to my mind, but I don't know if it will work for you. I'll write it down anyway, since it may be helpful. In MATLAB you can do: [s,f,t] = spectrogram(x,window,noverlap,f,fs); Thus in s complex values will be stored. You can then find their magnitudes and angles A = abs(s); phi = angle(s); Then you can do a homemade spectrogram ...


2

If you create a volumetric (unflattened 3D) image, you can use 2 layers in the 3rd dimension to represent magnitude and phase, or real and imaginary components of a complex spectrogram output. In a 2D color spectrogram, you could try using an orthogonal color mapping, for instance, in RGB space, red + green for magnitude and blue (or delta blue) for phase, ...


2

Depends on on what kind of feature(s) you want your CNN trained. With 2D convolution, convolution in the F dimension of a T-F spectrogram will produce something like a real cepstrum, which has proved useful in speech recognition and musical pitch detection.


2

Example with the following numbers (I use random numbers): There are 6 possible classes (face expressions in your case). You have 2000 examples (lets say 2000 photos of faces from which you know the correct face expression). There are 30 features. From each example you have extracted the 30 features and know the correct class. With these numbers, the input ...


2

Assuming your time series are the same length, take your data and produce spectrograms, $S_k$, for each row of the $4 \times 3000$ data matrix $D$ that you have. Since these individual time series should be similar, this means you can try to extract features by stacking these spectrograms next to each other horizontally into a large matrix. So if you have $...


2

Is this necessary if I only intend to use the data in the Neural Network toolkit provided by the repo I linked? Yes. Whether or not you are downsampling (instead of just decimating) has nothing to do with classification performance but rather, it is to preserve (as much as possible) the information contained in the signal. When changing the sample rate ...


2

As you mentioned MFCC features are one of the best features to represent audio as it captures both the time and frequency variations in the audio clip.You can get more details about MFCCS features in the below link: http://practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs/ You can import ...


2

One simple way to solve it is using Overlapping Patches. Let's say you have image which is $ 20 \times 20 $ and you work on patches of the size $ 5 \times 5 $. As I understand from your description you do 16 times denoising of $ 5 \times 5 $ patches. What you should do is run the patches mask like in convolution. So each pixels (Ignoring boundaries) will ...


2

Here is a newly published paper and video example: https://www.youtube.com/watch?v=w2iV8gt5cd4 http://arxiv.org/abs/1411.4389


1

Here is what I would try on the source image: Split your image into 5x5 pixel blocks (maybe 3 maybe 7, who knows?) Create output image one fifth (third, seventh, ??) size For each block For each color channel Find best fit plane Measure RMS of (pixel value-plane value) Next Set output pixel to RMS(R,G,B) Next In blurry/plain areas the ...


1

We can start from what is "shift invarient": Transform G is shift invariant if - $$\forall x:\sigma^nG(x) = G(x)$$ $\sigma^n$ being shift by n. Examples for transforms that are invarient to shifts are histogram and the amplitude of Fourier transform. Commuting with shift is - $$\forall x:\sigma^nG(x) = G(\sigma^nx)$$ So it can't be shift invariant (unless ...


1

If you are applying the Short Time Fourier Transform (STFT) , then your data are more likely to look like a spectrogram, where the "height" is frequency and the "width" is time. The..."legit" way to train an autoencoder type of network so that it learns to generate periodic-like sounds is to "teach" a bank of oscillators to "fire" in a predefined pattern. ...


1

Anuar Y, Welcome to the DSP community. What you're talking about is called smoothing. Let me explain, assume we have samples $ {\left\{ x \left[ n \right] \right\}}_{n = 0}^{N - 1} $ and we want to build estimator for $ x \left[ k \right] $ which we will define as $ \hat{x} \left[ k \right] $. Now, we have 3 types of estimation: The case $ k > N - 1 $ ...


1

...a neural network that can decide wether a pattern produced by the movement of a hand near capacitive sensors is as expected, or random. The neural network is supposed to learn himself how the different channels react, in wich order, so i don't have to tell anything to the programm concerning the physical distance between two electrodes or whatever. ...


1

I'm not a mathematician but if the multiple composition $ f_1(f_2(f_3 \dots)))$ is equivalent to a sequence of single compositions $g_2(g_1)$, and another $g_3(g_2)$ and so forth. The generalization looks reasonable for $x, f_{1}, f_{2} \dots f_N \in \cal{R}$ and $f_i$ differentiable with no discontinuities.


1

If you're looking to model timbre (i.e. how a certain type of sounds "looks" in the spectrogram), then presumably you'd need to look at all frequencies at once (i.e. the TxF signal). This is because timbre (and many other features) depend on relations between energies at different frequencies. To add another example, in sound separation algorithms, some ...


1

The question has multi-fold answers: First, you can simply crop the image 4 times and then pass them to the network. To parallelize you can use OpenMP. Of course the size of the input layer should match the size of the cropped patch. And just make sure your network doesn't use global variables. Next, I don't think it's a good idea to divide the image into ...


1

This answer might give you one example problem and a KF implementation to solve it. The usual problems are kinematics problems, where you want to track position, velocity, and acceleration in one or more dimensions. There are some nonlinear problems, too, like frequency / phase tracking but that might be overkill. See how it works on linear problems first.


1

I don't think that you would do this by feature extraction. Instead, I would train a many-to-one LSTM, which classifies the input sequence as -1 or 1. For you, it is easy to collect a huge amount of labeled speech data, just by calling. Note that, the data size is important. LSTMs are very powerful techniques and should handle this problem gracefully.


1

The simplest approach to this would be template matching via two-dimensional normalised cross correlation. What this basically does is looking for a template: a small image representing the response letters, inside a (usually bigger) image. The result that is returned from this operation looks like an image but it essentially has peak values where the ...


1

The error may be in calling the actual time series "expected data" (unless you expect an unpredictable random walk). If each sample is random and uncorrelated with all previous time series measurements, except for having a distribution mean near that of the immediately preceding sample (such as in a random walk), than any predictor (NN or other) of the next ...


1

The answer i give is probably partly help full. What you can do is when you have a pre stored STD and MEAN(N samples long). While running the real time proces update the stored MEAN. Create an array of you mean value. During the loop add every cycle a sample to your array and remove the oldest one. You create a kind of circular pattern. After N samples your ...


Only top voted, non community-wiki answers of a minimum length are eligible