54

On the top of this answer, you can see a section of updated links, where artificial intelligence, machine intelligence, deep learning or and database machine learning progressively step of the grounds of traditional signal processing/image analysis/computer vision. Below, variations on the original answer. For a short version: successes of convolutional ...


22

First, there is nothing wrong with doing grad work in image processing or computer vision and using deep learning. Deep learning is not killing image processing and computer vision, it is merely the current hot research topic in those fields. Second, deep learning is primarily used in object category recognition. But that is only one of many areas of ...


12

No Deep Learning isn't killing Image Processing. You need huge datasets and lots of computational resources to do deep learning. There are plenty of applications where it is desirable to be able to do image processing with less computational load and smaller memory footprints and without having access to huge databases. Some examples are mobile phones, ...


12

Today we had a discussion with a friend of mine. It was a rainy day here in Munich, while a large portion of Europe was having a kind of sunny atmosphere. People were sharing photographs in social media, where they were in nice summer dresses, wandering around the seas. She was annoyed with this situation and turned to me and asked: "Could you write a ...


9

From feature extraction to learning the desired result, deep learning algorithms can act as full pipelines for solving tasks at hand. End-to-end learning usually refers to omitting any hand-crafted intermediary algorithms and directly learning the solution of a given problem from the sampled dataset. This could involve concatenation of different networks ...


8

The short answer is, No. DL can recognize a mug in a photo, but this doesn't kill signal processing in anyway. That said, your question is quite relevant in these troubled days. There is a nice panel discussion on the subject, featuring Stephane Mallat, etc., here.


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


5

Data engineering is still used in machine learning to preprocess and select the data fed to DNNs to improve their learning time and their evaluation efficiency. Image processing (the stuff between the camera sensor and the RGB/etc. bitmaps fed to the DNNs), a form of data engineering, is still needed.


5

Image Processing Context In classic Image Processing the filters used are known. Hence being separable is a property of a given filter which is suitable to the task. In this context, separability only means we can have a more efficient way to apply the filter computationally while the end result is the same. So, in Image Processing, if you have a filter ...


5

The language choice depends on many factors. For instance, are you after developing low level features of DNN or using existing building blocks? Most advanced and popular Deep Neural Networks (DNN) Frameworks are nativly integrated into Python though they are mostly implemented using different low level language (C++ mainly). Those include PyTorch and ...


4

A thorough understanding of signal processing (along with linear algebra, vector calculus, mathematical statistics etc.) is imo indispensable for non-trivial work in the field of deep learning, especially in computer vision. Some of the high impact papers in deep learning (now that most of the low hanging fruit have been picked) evince a good understanding ...


4

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


4

By deep learning, I'll assume you mean neural network. To develop a neural network, you'll need labeled data. This means you need a bunch of example inputs ($r$) and outputs ($X$). Once you have that, you need to build a network. As far as I can tell, currently the guidelines for building these things are very loose and ad-hoc. There is general consensus on ...


4

This is an open discussion. In my opinion, any field we couldn't figure near optimal solution (And in most cases we only have Linear Optimal solution) using Deep Learning will replace classic methods given enough data to work with. The power of data driven features vs. intuitive (Though mostly right yet never cover everything) will prevail. I don't see it as ...


4

Wouldn't this be equivalent to discarding all those frequencies in the input layer? No, it won't for 2 facts: Just like a CNN isn't a linear regression due to having non linear function in between. So the Activation Layers on the frequency domain mean things are not propagated linearly in the forward pass. The filters are adaptive (Learned). Namely each ...


4

Well, I think the best way to tackle this question is a little background and a code as an example. I chose MATLAB for this example though PyTorch / Keras would probably be as easy. This task requires the output to have the same dimensions as the input with per pixel classification (For other masks it could be regression as well). A modern CNN architecture ...


3

My perspective from university was that many signal processing people were a bit hostile toward ML, I suspect because they felt threatened that it was encroaching on their domain. But recently there's been a lot of research into benefits of complex valued deep neural networks, which may suggest that the golden ticket is really a solid understanding of both ...


3

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


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.


3

Basically, if we define convolution as $ y = h \ast x $, it can be written in Matrix form (See Generate the Matrix Form of 1D Convolution Kernel): $$ \boldsymbol{y} = H \boldsymbol{x} $$ Transposed Convolution is given by: $$ {H}^{T} \boldsymbol{z} $$ If you look carefully, you'd see the spatial operation is basically correlation instead of convolution (...


2

Well, yes. In the same way that the development in higher level programming languages like C++ and Python 'killed' assembly programming. That does not mean it is irrelevant to learn assembly when you enroll in a CS course however. It provides great insight in how the computer works, what goes on behind the scenes of higher level languages, what the basic ...


2

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


2

One of the popular feature descriptors used for human detection is HOG - Histogram of Oriented Gradients. Usually you would train a classifier for recognizing human vs non-human, and then you would implement a sliding window technique. HOG has implementations in most of the scientific libraries in the Python community, for example in skimage there is an ...


2

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

There are as many ad hoc "definitions" of "real-time" are there are people or places you hear or read about what it supposedly means. Some people claim there is a "hardline" such as 10uS response time, but I believe there is no academic paper that makes that mistake. Many people implicitly have an informal mental model that considers a system as being "...


2

I found an implementation of STFT based on conv1d in pytorch here: https://github.com/huyanxin/phasen/blob/master/model/conv_stft.py edit: Actually, the phasen repository took the STFT code from https://github.com/pseeth/torch-stft edit2: Asteroid has an alternative implementation of STFT and iSTFT: https://github.com/mpariente/asteroid/


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