26

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


19

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


10

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


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


7

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


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


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

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

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


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

The Sobel operator is an approximation of the derivative in the X dimension followed by a simple smoothing operator in the Y dimension. (Or derivative in the Y dimension and then smoothed in X). Consider a one-dimensional signal $f(t)$. The derivative of $f(t)$, $d f(t) / dt$ can be written as: $$ \lim_{\Delta \rightarrow 0} \frac{f(t+\Delta) - f(t-\...


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


4

Spatial histogram. A simple histogram is obtained by taking a region of an image, assigning a label to each pixel (somehow; via some mapping function), and then computing a histogram of the labels. The histogram counts, for each possible label, how many pixels received that label. You obtain a feature vector: a vector of counts, one count per possible ...


4

How do you estimate inliers? You use RANSAC. That's what RANSAC does for you: it computes a homography and gives you a prediction for which pairs are inliers and which are outliers. In SIFT, we first generate keypoints and the feature vector for each keypoint. Also, if $k$ is a keypoint in image $x$ and $k'$ is a keypoint in image $x'$, the feature ...


4

You can't. You can't squeeze blood out of a stone. There's no such thing as a free lunch. You can't get something from nothing. If you want labelled images, you will need to label them yourself, or find some existing data set that comes with labels. There are no shortcuts. Yes, this is tedious and labor-intensive. This is one of the less-well-known ...


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

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


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