Podcast #128: We chat with Kent C Dodds about why he loves React and discuss what life was like in the dark days before Git. Listen now.

# Tag Info

21

In image processing, an image is "processed", that is, transformations are applied to an input image and an output image is returned. The transformations can e.g. be "smoothing", "sharpening", "contrasting" and "stretching". The transformation used depends on the context and issue to be solved. In computer vision, an image or a video is taken as input, and ...

18

I read a lot of papers about, Object Detection, Object Recognition, Object Segmentation, Image Segmentation and Semantic Image Segmentation and here's my conclusions which could be not true: Object Recognition: In a given image you have to detect all objects (a restricted class of objects depend on your dataset), Localized them with a bounding box and label ...

15

You can't. You have video of the scene from a single vantage point. Without depth information, you can't infer what the scene would look like from another vantage point.

13

I think the simplest way to think of Convolution is as a method of changing a pixel's value to a new value based on the weight of nearby pixels. It's easy to see why Box Blur: _____________ |1/9|1/9|1/9| |1/9|1/9|1/9| |1/9|1/9|1/9| ------------- works. Convolving this kernel is the same as going through every pixel of a photo and making the new value of ...

9

The terms you probably want to google for are "inferring depth maps". Just like your brain tricks you into seeing 3d if you close one of your eyes, you can heuristically recover depth maps from single 2d images. See for example Make3D: Depth Perception from a Single Still Image Inferring Depth from Single Images in Natural Scenes Perceiving 3D from 2D ...

7

Intuition, for a small case Why? Let's look at the simplest possible case, where the kernel is 1x2 (i.e., two pixels wide and one pixel high). Here's a kernel matrix for an edge detector that detects vertical edges: $$E_1 = [-1 \; +1]$$ Here's another matrix for an edge detector that also detects vertical edges: $$E_2 = [+1 \; -1]$$ In particular, ...

6

The simplest Face Recognition 101 would be run a PCA on the data, followed by a K-nearest neighbor classification. but now there are more advanced techniques that you pick along, it might be using "better" classifiers like SVMs or Neural Networks or apply Bayesian learning, but then, as you move up the knowledge tree, you will realize you need your data ...

6

One way to think about convolution/crosscorrelation is as if you were searching for some signal in your data. The more the data looks like the kernel, the higher the resulting value will be. I actually take the reverse of the kernel, i.e. as in cross-correlation, but it is basically the same thing. For example, let's say you are looking for a directional ...

6

The idea of DeepDream is this: pick some layer from the network (usually a convolutional layer), pass the starting image through the network to extract features at the chosen layer, set the gradient at that layer equal to the activations themselves, and then backpropagate to the image. Why does it make sense? Intuitively, it amplifies the features that are ...

5

Shannon's entropy works as a hashing or fingerprinting function here; they are not injective which means we have to be careful not to interpret too much into relations of values. If $H(I_1) \neq H(I_2)$, then images $I_1$ and $I_2$ are certainly not the same. If $H(I_1) = H(I_2)$ (or even $H(I_1) \approx H(I_2)$), however, we know nothing. The images might ...

5

Both matrices relate corresponding points in two images. The difference is that in the case of the Fundamental matrix, the points are in pixel coordinates, while in the case of the Essential matrix, the points are in "normalized image coordinates". Normalized image coordinates have the origin at the optical center of the image, and the x and y coordinates ...

5

Since this issue is still not quite clear even now in 2019, and it might help new ML-Learners choose, here is a very good image showing the differences: (localisation is the bounding box around the "sheep" class, after a classification of the image has been done) source: Towardsdatascience.com

4

If you think convolution is a little too hard to understand, I recommend you start searching about Mathematical Morphology applied to image processing, the big idea behind Mathematical Morphology is that you'll do a operation very close to the convolution, to "change" the morphology of the image, but retain the topology information, this way, you can make a ...

4

There are multiple approaches which can be taken into account. Some of them are mentioned above. From what you want I think you should apply a combination of techniques to get good results. In my opinion you should start with blob matching (affine invariant) -> followed by keypoint feature matching inside the blob to verify the result. I think this ...

4

If you have one or several images of a particular "sink" or object, then you can possibly use SIFT or SURF or other feature extraction/matching algorithms to match the objects up. You can investigate the OpenCV project (wikipedia, project); it includes many of these (possibly patented) algorithms. You can get an idea of how they work and what they can do by ...

4

Genetellboost is developed to cope with labeling noise, i.e., when some samples are wrongly labeled. Though, it wasn't so successful in that respect, from my experience it is quite good in handling noisy features which are kind of outliers in dataset. That being said, there is no proof for neither of the things that you asked (nor the things that you ...

4

It's important that all of the training and test images have the same aspect ratio but it doesn't necessarily have to be the natural one. If you think about it for a while you can see why that is. For example, if you're making a face detector and you have altered the aspect ratio to make all the faces look abnormally tall and skinny then you have a tall and ...

4

The constraint satisfaction problem (CSP) is NP-complete. Identifying blobs is a question about graph connectivity which is in P. Therefore, yes, the question you're asking reduces to CSP but this doesn't tell you anything useful: it just says that CSP is at least as hard as this problem but it might be harder. (In fact, it is strictly harder if P$\neq$NP....

4

The active shape model algorithm is used to locate precisely the eyes, eyebrows, nose and mouth of a person. It is also used to align faces that are tilted. It is not used directly for face matching and it has nothing to do with databases. It is a preprocessing step. You (I) will need another algorithm to match its result with a database. (ICA for example)

4

One simple technique that's probably not optimal, but is better than naively enumerating all pixels in the rotated rectangle, is to use "integral columns" (thanks to Yves Daoust for the name): Preprocessing: Let $I[\cdot,\cdot]$ be the image. For each $x$ value, build a 1D integral image for $I[x,\cdot]$. In other words, we build a table $S[\cdot,\cdot]$ ...

4

The state of the art in such problems is done these days via deep neural networks. Among others, two popular and recent approaches for solving the problem of detection and localization of objects are the YOLO paper, and the faster-RCNN, which run a classifier over many variously sized regions in an image. As humans, boats and cars are popular object ...

4

Yes, typically there will be a plateau. There's usually no way to guess exactly where the plateau will be, a priori; the only way to find out is to build larger and larger data sets and see what happens. The size of the data set needed to reach a "plateau" is dependent on many factors, including the specific classification task you're trying to solve, the ...

3

One approach would be to use SIFT (or SURF, or other similar methods) to align one object to the other to account for scaling and rotation, and then compute a pixelwise distance based on the aligned images. The right algorithm to use for alignment will depend upon the nature of the 2D images. If they are natural-color photographs taken using a camera, SIFT,...

3

There appears to be some work in that area. See for example this paper and the references therein. There are also demonstrations of implemented systems on youtube, see for example this video

3

Think of what different features the desert has compared to an urban environment. The desert is probably restricted the a limited set of colors/hues. It is limited to mostly smooth textures. It lacks "man-made" geometries such as straight lines from building edges etc. So you should be able to differentiate between desert and urban environment by looking at ...

3

I think you should have a fourth dataset where the images are in their natural environments because you will need information with white background when you will be testing the datasets.

3

Convolution is a relatively simple operation to perform, but to make it fast involves a little extra work (Wikipedia article on convolution theorem). In general, if you convolve a discretized function F by a different discretized function G, you are simply performing the following operation: $$(F\otimes G)(x) = \displaystyle\sum_{i=0}^NF(x-i)*G(i)$$ Where ...

3

It detects 4 markers lying on the corners of the note. One of the markers is unique to able to determine the orientation. Because the actual size and layout of the form is known, a perspective warp can be computed, bringing the scanned image to a canonical (fronto-parallel) form. Then, OCR is carried out in the region where date and time is expected. The ...

3

Down sampling may discard relevant features, while blurring should not. As a toy example, a down sample may remove a pixel which is a local maxima, while a blur operation will preserve the maxima by increasing the values of nearby pixels. If the local maxima corresponds to an interesting feature, it may still be discernible by the human eye after blurring. ...

3

Assuming you can find the centers of the eyes... Rotate - Find the difference of the angle between the actual eyes and your desired angle. Rotate image accordingly. Scale - Find the distance between eyes. Scale according to the desired distance. Translate - Move the image so that one eye lines up. If you've rotated and scaled properly, both should now be in ...

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