7

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 ...


5

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 ...


5

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 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 ...


3

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 ...


3

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 $ ...


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 ...


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

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 ...


3

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 ...


3

If you represent a second-order polynomial $s(x)$ with Lagrange polynomials $L_i(x)$ and interpolation points $\beta_i$, $i=0,1,2$, such that $$s(x)=s(\beta_0)L_0(x)+s(\beta_1)L_1(x)+s(\beta_2)L_2(x)\tag{1}$$ then for the equality in $(1)$ to be satisfied, the polynomials $L_i(x)$ must have zeros at $x=\beta_j$, $j\neq i$, and they must equal $1$ at $x=\...


3

You should use the one you need for your problem, when you know which components of your signal are of interest to you. Let's say you have in your electronic editing an ADC digitizing 40M samples per second to study a heart rate of 70 beats per minute, you are very likely to work with useless information, that's why it will be better to down-sample your ...


3

Yes. The FIR filter model you're used to is a series of Neurons with weighted inputs, and a linear activation function. In other words, a standard FIR filter is a neural network. I mean, it's called "CNN". The C is exactly the operation a filter does.


3

The operator $ \mathbb{E} \left[ \cdot \right] $ is the Expectation Operator. In the context above it means you run over all the pairs of x, y and average the values.


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

I'm not into details of this specific case but I can see some logic. A convolution layer can be reformulated as a Matrix Multiplication: $$ y = W x $$ Let's say we trained on Data Set $ {x}^{1} $ which is big and general. Namely we expect the trained weights $ {W}^{1} $ to be good enough for almost any other data set. Let's assume we have another data ...


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

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


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

Your question makes sense. The difference between a complex network and a regular network with twice the amount of channels, on a mechanical level, is the multiplication operation which ties pairs of channels together. This can be viewed as a restriction of the hypothesis class the network can express compared to a real-valued network with the same parameter ...


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. At ...


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 ...


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