Image algorithm engineer interview questions (3) - chatGPT summary version

Article directory



Traditional Image Algorithm Interview Questions

1. What is edge detection and how to implement it?

 Edge detection is a computer vision technique used to detect edge regions of an image. The edge area refers to the place where the brightness changes greatly in the image, and usually represents the outline and texture information of the object. Edge detection algorithms usually determine the edge position and direction in the image by analyzing the brightness value difference of adjacent pixels in the image, and enhance and extract the edge. Edge detection is widely used in image recognition, object tracking, image segmentation and image feature extraction in the field of computer vision. Common edge detection algorithms include Sobel operator, Canny operator, Laplacian operator, etc.
The steps of edge detection are:

  • (1) Image preprocessing: grayscale, denoising and other processing to make the edges of the image more obvious
  • (2) Calculate the gradient of the image: By calculating the gradient of the image, the place where the brightness changes the most in the image can be determined, that is, the edge. The sobel and prewitt algorithms are relatively common gradient algorithms
  • (3) Non-maximum value suppression: Non-maximum value suppression is performed on the pixels in the gradient direction, so that only the pixel with the largest brightness value is retained, and other pixels are suppressed
  • (4) Double threshold processing: Divide the gradient value into strong edges and weak edges, and retain the part of the weak edges connected to the strong edges
  • (5) Edge connection: The strong edge and weak edge are connected to form a complete edge line.
    Currently, the canny detection algorithm is considered to be the optimal algorithm. It has the characteristics of high accuracy, strong reliability, and good robustness. It is a kind of A relatively good algorithm.

2. What is binarization and how to achieve it?

 Binarization is the process of converting the grayscale values ​​of image pixels into black and white. After binarization, pixels in the image are only black or white; gray pixel values ​​are assigned black or white. The purpose of binarization is to simplify image information, reduce calculation and memory usage, and facilitate image processing and analysis. Common binarization methods include threshold method, OTSU algorithm, etc.
 The following is the code for binarization using C++ language, and the image needs to be local.

#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, char** argv) {
    
    
	// 读入彩色图像
	Mat image = imread("123.png", 1);

	// 将彩色图像转换为灰度图像
	Mat grayImage;
	cvtColor(image, grayImage, COLOR_BGR2GRAY);

	// 对灰度图像进行全局阈值二值化
	Mat binaryImage;
	threshold(grayImage, binaryImage, 128, 255, THRESH_BINARY);

	// 显示二值图像
	imshow("Binary Image", binaryImage);
	waitKey(0);

	return 0;
}

3. What is histogram equalization and how to achieve it?

 Histogram equalization is an image processing method used to adjust the brightness of an image to enhance contrast. This method can make the brightness distribution of the image more flat, thereby visually increasing the clarity and contrast of the image.
 The implementation method of histogram equalization is as follows:

  • 1. Calculate the histogram of the image.
      Count the gray values ​​(0~255) of all pixels in the image to obtain the number of pixels at each gray level.
  • 2. Calculate the cumulative distribution function (CDF)
      Divide the number of pixels under each gray level in the histogram by the total number of pixels to obtain the cumulative distribution function of pixels at each gray level
  • 3. Calculation of gray level mapping value:
      convert CDF to gray level mapping value, the formula is: s=T®=L-1×∑j=0rPj , where sis the mapped gray level and ris the original gray level , Lis the image brightness level, Pjand is the cumulative distribution function.
  • 4. Map the gray level of each pixel in the original image to a new gray level value
  • 5. Output the equalized image.
    The realization of histogram equalization can use computer programs, such as the opencv library in Python or mathematical software such as MATLAB.
    If the underlying code is used to achieve histogram equalization, it is like this. I have encapsulated it into a function:
import cv2
import matplotlib.pyplot as plt
def histogram_equalization(image):
    # 初始化长度为256的列表,存储每个像素值的数量
    pixel_count = [0] * 256

    # 计算像素值大小为i的像素数量,存在pixel_count[i]中
    for row in image:
        for pixel in row:
            pixel_count[pixel] += 1

    # 计算概率,每个像素值的数量除以总像素数量即为概率
    probabilities = [count / (image.shape[0] * image.shape[1]) for count in pixel_count]

    # 计算累计概率分布函数
    cumulative_distribution = []
    cumulative_sum = 0
    for probability in probabilities:
        # 累计概率分布函数:将每个概率累加,存储在累计概率分布函数列表中
        cumulative_sum += probability
        cumulative_distribution.append(cumulative_sum)

    # 计算灰度级别映射值,灰度级别映射值等于累计概率分布函数值乘以最大灰度级别,取整后得到整数灰度级别
    mapping = [round(value * 255) for value in cumulative_distribution]

    # 将灰度级别映射值应用于原始图像,将图像中的每个像素值根据映射值进行替换
    for i in range(image.shape[0]):
        for j in range(image.shape[1]):
            pixel = image[i][j]
            image[i][j] = mapping[pixel]

    # 返回均衡化后的图像
    return image
if __name__ == '__main__':
    if __name__ == '__main__':
        # 加载图像
        image = cv2.imread('./image/input/123.png', 0)

        # 检查图像是否成功加载
        if image is None:
            print('Error: Could not open or find the image.')
        else:
            # 对图像进行直方图均衡化
            equalized_image = histogram_equalization(image)

            # 显示均衡化后的图像
            plt.subplot(1, 2, 2)
            plt.imshow(equalized_image, cmap='gray')
            plt.title('Equalized Image')

            # 显示图像
            plt.show()

Here's the underlying code, where the math formulas are:

Pixel count: calculate the number of pixels whose pixel value is i, and store in pixel_count[i]:
pixelcount [ i ] = ∑ j = 0 height ∑ k = 0 width I [ j , k ] = ni pixel_count[i] = \sum_ {j=0}^{height}\sum_{k=0}^{width} I[j,k] = n_ipixelcount[i]=j=0heightk=0widthI[j,k]=ni
Among them, I [ j , k ] I[j,k]I[j,k ] means that the jjthposition in the original imagej linekkThe pixel value of column k , height heightheight w i d t h width w i d t h represent the height and width of the original image respectively,ni n_iniIndicates that the pixel value is iiThe number of pixels for i .

Probability calculation: the number of each pixel value divided by the total number of pixels is the probability:
P i = ni N P_i = \frac{n_i}{N}Pi=Nni
Among them, NNN is the total number of pixels in the original image.

Cumulative probability distribution function: accumulate each probability and store in the cumulative probability distribution function list:
ci = ∑ j = 0 i P j c_i = \sum_{j=0}^{i} P_jci=j=0iPj
Among them, ci c_iciIndicates that the pixel value is less than or equal to iiCumulative probability distribution function for pixel i .

Gray level mapping value:
S i = T ( R i ) = L − 1 N ∑ j = 0 inj S_i = T(R_i) = \frac{L-1}{N}\sum_{j=0}^{ i} n_jSi=T(Ri)=NL1j=0inj
Among them, LLL represents the number of gray levels,NNN is the total number of pixels in the original image,nj n_jnjIndicates that the pixel value is jjThe number of pixels of j , R i R_iRiIndicates that the pixel value in the original image is iipixel i , S i S_iSiIndicates the mapping result of the i value.

Map each pixel value in the original image:
I ′ ( i , j ) = T ( I ( i , j ) ) I'(i,j) = T(I(i,j))I(i,j)=T(I(i,j ))
Among them,I ′ I'I' is the processed image,III is the original image.

4. What is a morphological operation, and what are the common morphological operations?

  Morphological operation is a basic operation in digital image processing. It uses structural elements to perform simple operations such as pixel gray value transformation, morphological expansion, morphological erosion, opening operation, and closing operation on the image to achieve image quality. Denoising, segmentation, preprocessing and other purposes.
Common morphological operations are:

(1) Dilation
 This operation can expand the object area to the outside. It places the structural elements on the binary image to be processed, and any overlapping pixel value is set to 1. This process increases the area of ​​the image, filling small holes and connecting broken objects.
 Below is the code to implement inflation using C++.

void Dilation()
{
    
    
	// imread函数读取待处理的图像,IMREAD_GRAYSCALE表示以灰度图像的方式读入。
	Mat img = imread("123.png", IMREAD_GRAYSCALE);
	// 创建一个大小为(3,3)的正方体结构元素
	Mat element = getStructuringElement(MORPH_RECT, Size(3, 3));
	// 进行膨胀操作
	Mat img_dilate;					// 表示膨胀处理后的图像
	dilate(img, img_dilate, element);
	// 显示原图像与膨胀后的图像
	imshow("Input Image", img);
	imshow("Dilated Image", img_dilate);
	waitKey(0);
	return;
}		

  If you use the underlying code instead of library functions, the code looks like this:

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
    
    
    Mat img = imread("test.png");

    int kernel_size = 3;                                  // 结构元素行数(或列数)
    int anchor_point = kernel_size / 2;                   // 结构元素中心点位置
    Mat result_img = Mat::zeros(img.rows, img.cols, CV_8UC1);

    // 遍历每个像素
    for (int row = 0; row < img.rows; row++) {
    
    
        for (int col = 0; col < img.cols; col++) {
    
    
            int max_value = 0;
            // 遍历结构元素内的所有像素
            for (int i = -anchor_point; i <= anchor_point; i++) {
    
    
                for (int j = -anchor_point; j <= anchor_point; j++) {
    
    
                    // 跳过边界
                    if (row + i < 0 || row + i >= img.rows) {
    
    
                        continue;
                    }
                    if (col + j < 0 || col + j >= img.cols) {
    
    
                        continue;
                    }
                    // 计算最大像素值
                    if (img.at<uchar>(row + i, col + j) > max_value) {
    
    
                        max_value = img.at<uchar>(row + i, col + j);
                    }
                }
            }
            // 将计算结果存入结果图像
            result_img.at<uchar>(row, col) = max_value;
        }
    }

    // 显示原图与膨胀结果
    imshow("Input Image", img);
    imshow("Dilation Image", result_img);
    waitKey(0);

    return 0;
}

(2) Erosion (Erosion)
 This operation can shrink the object area to the inside. It places the structural element on the binary image to be processed. When all the pixels in the structural element are the same as the pixels in the image to be processed, the output Pixel is set to 1, otherwise it is set to 0. This process reduces the area of ​​the image, removing small, redundant parts.

(3) Opening operation (opening)
 This operation is usually used for denoising, it will perform erosion first and then dilation operation. This process can remove small noise or fill small holes.

(4) Closing operation (Closing)
 This operation is usually used to connect broken objects or fill small gaps. It will first expand and then corrode. This process removes tiny holes in an image or small imperfections in an object.

5. What is contour extraction and how to achieve it?

  Contour extraction is a very important operation in image processing. It can extract the edge information of objects from the image for operations such as recognition, measurement of objects, and shape analysis. In OpenCV, you can use the contour extraction function findContours()to achieve contour detection. It is often used in image analysis, object detection, shape recognition, image measurement and other fields.
  In general, the specific implementation steps of contour extraction are as follows:
1. Grayscale the input image: Convert the color image to a grayscale image, that is, remove the color information.
2. Image binarization: Convert grayscale images to black and white binary images, that is, pixels whose grayscale values ​​are higher than the set threshold are turned into white, and pixels lower than the threshold are programmed to be black. 3. Edge detection: based on binary
values The image detects the edge of the image and finds the position where the pixel changes the most, such as using the Canny algorithm.
4. Connectivity analysis: By detecting the connectivity relationship between edge pixels, contour extraction is performed to obtain the edge contour of the object.
  Common implementation methods include programming based on the opencv library, contour extraction tools in Photoshop, edge extraction functions that come with MATLAB, edge detection functions in image processing libraries such as Pillow, Scikit-image, and Mahotas in Python, etc.

6. What is the region growing algorithm and how to implement it?

 The region growing algorithm is an image segmentation algorithm based on the similarity of pixel color or gray value, which gathers the pixels belonging to the same region to obtain different regions in the image.
 The general steps to realize the region growing algorithm are as follows:
1. Select the seed point: Randomly select a pixel point of the original image as the seed point, as the starting point of the region growing.
2. Setting the threshold: According to the similarity of pixel values, it is judged whether adjacent pixels should be added to the current area. Usually, the difference between the adjacent pixel values ​​and the central pixel value is compared with a set threshold.
3. Judgment of adjacent pixels: compare the pixel value of the adjacent pixel with the pixel value of the center pixel, if the difference is within the threshold, divide it into the current area, repeat this step until no more pixels are added to the up to this area.
4. Repeat step 3: compare each adjacent pixel, add it to the current area when the condition is met, and use it as a new central pixel, repeat step 3 to get a new area block.
5. Until all pixels of the entire image are traversed, the algorithm ends. The experimental language of
the region growing algorithm can be C++, Python, etc. Some open source image processing libraries such as PIL, OpenCV, etc. can also implement the region growing algorithm.

7. What is an interpolation algorithm? What are the common interpolation algorithms?

8. What is the target recognition algorithm based on template matching, and how to realize it?

 The target recognition algorithm based on template matching is a common target detection algorithm. Its basic idea is to locate the known target as a template, and to locate the position of the target object by performing template matching in the image to be detected.
 The following steps can be generally taken to realize the target recognition algorithm based on template matching:
1. Prepare the template: select the target object to be detected, and extract the target object picture from the known picture as a template
; The detected image and template are converted into grayscale images for easy processing and calculation.
3. Template matching: Slide the template from left to right and from top to bottom in the image to be detected, and calculate the similarity between the template and each region, commonly used calculations Methods include mean square error (MSE), normalized cross-correlation (NCC), etc.;
4. Analysis of matching results: During the sliding process, find out the area that best matches the template, and mark the position of the target object, then you can get The recognition result of the target object.

9. What is the Hough transform, and what are the common Hough transforms?

  Hough transform is an image processing method that can be used to detect arbitrary shapes in images, such as straight lines, circles, ellipses, etc.
 Common Hough transforms include:
1. Standard Hough Transform (Standard Hough Transform): used to detect straight lines.
 Steps:

(1) Edge detection: First, edge detection is performed on the input image to extract the geometric shape to be detected.
(2) Construct Hough space: Create a two-dimensional array as a Hough space, where each cell represents a parameter point (ρ,θ)
(3) Voting process: For each edge point, by calculating its and all possible Hough space The relationship between the straight lines is used to vote, and the number of votes is added to the corresponding parameter point.
(4) Line detection: Find the parameter point with the highest number of votes in the Hough space, which represents a line. This line is then drawn on the output image.

2. Accumulation Hough Transform (Accumulation Hough Transform): used to detect circles, ellipses, etc.
3. Voting Hough Transform (Voting Hough Transform): an improved accumulation Hough Transform used to improve detection accuracy.
4. Generalized Hough Transform: suitable for detection of arbitrary shapes.
5. Segmented Hough Transform: used to perform Hough Transform on local areas to improve detection efficiency.

10. What is pattern matching, and what common pattern matching algorithms are there?

  Image matching refers to the process of comparing two or more images to determine whether they are similar or match.
  Common graphic matching algorithms include
1. Morphological matching: In this method, the input image is grayscaled, binarized, and morphologically operated (such as expansion, corrosion, etc.), and then the obtained results are compared with the reference template to match. This algorithm is simple and effective, but it is not suitable for transformations such as rotation and scaling.
2. Template matching
 This algorithm uses a reference template to slide on the image to be tested and calculates the matching degree to determine whether the two are similar. Template matching methods can use various techniques (such as Fourier transform, correlation analysis, etc.) to calculate the matching degree, the most common of which are square difference matching and normalized cross-correlation (NCC) matching.
3. Feature matching:
 This algorithm extracts image features, such as corners, edges, etc., and uses these features for matching. SIFT (Scale-Invariant Feature Transform) and SURF (Speeded Up Robust Features) are commonly used feature extraction algorithms.
4. Neural Network Matching:
 Use neural networks to train image data to achieve matching tasks. Convolutional neural network (CNN), recurrent neural network (RNN) and autoencoder (Autoencoder) are commonly used neural network architectures.

11. What is image filtering? What are the common graphics filtering algorithms?

12. What is image segmentation? What are the common image segmentation algorithms?

13. What is image completion? What are some common image completion algorithms?

14. What is edge restoration? What are some common edge repair algorithms?

15. What is color restoration, and what are the common color restoration algorithms?

16. Noise reduction algorithm

17. What is a convex hull? How to realize the calculation of convex hull?

18. Key point extraction algorithm

19. What is SIFT algorithm and how to realize it?

20. What is the SURF algorithm?

21. What is the ORB algorithm and how to implement it?

22. What is the Harris corner detection algorithm and how to implement it?

23. What is the FAST algorithm? How to achieve

24. What is the HOG feature and how to realize it?

25. What is a Haar-cascade classifier and how to implement it?

26. How to detect straight lines in an image, and what are the common straight line detection algorithms?

27. How to detect the circle in the image, what are the common circle detection algorithms?

28. How to detect the ellipse in the image?

29. What is morphological reconstruction and how to realize it?

30. What is a gray level co-occurrence matrix, and what are the common gray level co-occurrence matrix algorithms?

31. What is Laplacian operator and how to implement Laplacian operator?

32. What is a Gaussian pyramid, and list some common Gaussian pyramid algorithms.

33. What is a Laplacian pyramid, and what are the common Laplacian pyramid algorithms?

34. What is image compression, and what common image compression algorithms are there?

35. What is image fusion?

36. Dynamic programming

37. Fractal analysis

38. Color positioning

39. Edge Enhancement

40. Adaptive filtering

41. How to remove the stripe interference in the image

42. How to remove the burrs in the image

43. How to remove the care effect in the image

44. What is CAMshift algorithm and how to realize it

45. What is the Mean Shift algorithm and how to implement it

46. ​​LBP algorithm

47. What is AdaBoost algorithm

48. What is visual homography? How to implement visual homography calculation?

49. What are the common straight line detection algorithms?

50. How to detect the ring structure in the image, what are the common ring detection algorithms

51. What is four-bit mapping, and what are the common mind-mapping algorithms?

52. What is convolution and what are the common convolution algorithms

53. What is discrete Fourier transform (DFT), and what are the common DFT algorithms

54. What is wavelet transform?

55. What is PID control algorithm? How to apply it to image processing

56. What is morphological filtering, and what are the common morphological filtering algorithms?

57. What expansion and erosion, how to achieve?

58. What are the basic mathematical operations in image processing, including which commonly used mathematical operations?

59. What is image registration, and what are the common image registration algorithms?

60. What is image analysis, and what are the common image analysis algorithms?

61. What is a feature point descriptor?

62. What is histogram matching and how to achieve it?

63. What is fuzzy edge detection

64. Adaptive Morphological Algorithm

65. How to achieve image rotation and scaling

66. How to realize the effect of pulling the mirror, and what are the common algorithms of pulling the mirror

67. How to implement streaming media decoding

68. What is image recognition? What image recognition algorithms are there?

69. What is a color space?

70. What is image noise?

71. How to realize the perspective transformation of the image

72. Wavelet packet analysis

73. What is semi-supervised learning?

74. What is ridge detection

75. What is density clustering

76. What is K-means clustering

77. What is image classification

78. What is image search?

79. What are the commonly used two-dimensional code recognition algorithms

80. What is optical flow method

81. What is image local feature extraction?

82. What is a scaling pyramid?

83. Image retrieval technology

84. Motion Tracking

85. What is skeleton extraction, and how to realize skeleton extraction?

86. What is morphological gradient?

87. Structured light line scanning

88. What is phase correlation and how to realize it?

89. What is 3D reconstruction?

90. What is space transformation

91. What is disparity estimation

92. What is gray level co-occurrence matrix

93. Variable step size straight line detection

94. Binary Morphological Filtering

95. Image processing algorithm based on deep learning?

96. What is the Canny algorithm and how to implement it

97. What is the International Grayscale Coexistence Matrix (GLCM) and how to implement it

98. What is image scaling

99. What is the Laplacian of Gaussian (LoG) algorithm and how to implement it

100. What is a Sobel operator and how to implement it

101. What is Prewitt operator and how to implement it

102. What is the SUSAN algorithm and how to implement it

103. Edge connection

104. Watershed Algorithm

105. Kirchhoff filter

106. Significance detection,

107. What is a level set and how to realize it

108. Watershed Algorithm

109. What is morphological expansion? how to achieve

Deep learning direction, image detection algorithm interview questions

1. Talk about the pooling layer

 The pooling layer is a commonly used layer in convolutional neural network (CNN). Its main function is to downsample the input feature map to reduce the size of the feature map and extract more prominent features. Typically, pooling layers are added after convolution operations and before activation functions.
 Common pooling operations include maximum pooling and average pooling, among which maximum pooling is the most commonly used one. Taking maximum pooling as an example, its operation process is as follows:
1. Define a fixed-size pooling window (usually 22 or 33 in size).
2. Slide the window from left to right and from top to bottom, and select a maximum value in each window as the output
3. Keep sliding the window until the entire feature map is scanned.
 The maximum pooling layer divides the feature map into Multiple subregions, and then select the maximum value in each subregion as the output. This method can effectively reduce the size of the feature map, and since only the most significant features are selected, it can improve the robustness of the model and avoid over-fitting problems.
 The pooling layer adopts a non-overlapping strategy, that is, when sliding windows on the feature map, there is no overlap between adjacent windows. This reduces the size of the feature map and preserves the most salient features. In addition, the pooling layer has relatively few parameters and can be used without training, which greatly simplifies the complexity and training difficulty of the model.

2. Talk about the convolutional layer

The role of the convolutional layer:
 Its main role is to perform feature extraction. In the convolution operation, the input data is convolved through a filter (also called a convolution kernel) to obtain an output feature map. This process is equivalent to extracting the local receptive field of the input data, which can effectively capture the spatial correlation and position information in the input data.
&esmp;The input of the convolutional layer is usually obtained from the output of the previous layer or the input data after preprocessing, and the output is the feature map that needs to be used in the next layer.
&esmp;In addition to convolution operations, other operations can also be included in the convolution layer, such as activation functions, pooling operations, etc., which can improve the expressiveness and robustness of the model.

The working principle of the convolution layer is divided into two steps : convolution and activation function
1. First, the convolution operation performs a convolution operation on the input data with a set of convolution kernels learned during the training process. The process of convolution operation can be regarded as a sliding window. The convolution kernel is continuously slid on the input data, and the data at each position is weighted and summed to obtain the output result. There are usually multiple convolution kernels, and each convolution kernel generates an output channel. In this way, different feature information can be extracted through multiple sets of convolution kernels.
2. After the convolution operation, it is usually necessary to apply a non-linear activation function. Common activation functions include ReLU, Sigmoid, and Tanh. The activation function can help the convolutional layer learn nonlinear features and further improve the expressive ability of the model.
&esmp; Summary: In a neural network, multiple convolutional layers can be stacked together to form a deep neural network to improve model accuracy. In addition, convolutional layers can also be combined with other types of neural network layers, such as fully connected layers, pooling layers, and normalization layers, to build more complex and powerful deep learning models.

3. Talk about the fully connected layer

 The role of the fully connected layer:
(1) Realize the full connection between the input layer and the output layer
(2) In the fully connected layer, each input is connected to each output
(3) Each connection has a weight, which can These weights are adjusted through training so that the network can better fit the weights.
(4) The fully connected layer is widely used in image recognition, natural language processing, speech recognition and other neighborhoods.

5. Talk about the basic operating principle of deep learning image detection

 The basic operating principle of deep learning image detection is to use convolutional neural network (CNN) to identify and locate the target in the image
(1) Data preprocessing: convert the image into a digital matrix and perform normalization processing
(2) Convolution Network (CNN): The input image passes through the convolution layer, pooling layer, fully connected layer, etc., and finally the output result is obtained
(3) Convolution layer: the image is convolved through different convolution kernels to extract different features.
(4) Pooling layer: Downsampling the output of the convolutional layer to reduce the amount of calculation while retaining the main information in the image (5)
Fully connected layer: Integrating the output features of the convolutional layer and the pooling layer to obtain The final feature representation of the image is then classified by a softmax function.
(6) Loss function: train the network according to the classification results, calculate the error of the loss function, and optimize the network parameters through the back propagation algorithm (7) Target positioning
: perform target detection and positioning through the detection network (such as YOLO, etc.) , so that the target in the image can be correctly marked out
(8) Result output: output the final classification result and target positioning result, and form a visual analysis report for users to further analyze and make decisions. Operation process
 training
stage
(1) Prepare data Set, and perform preprocessing, such as labeling, cropping, scaling, etc.
(2) Design network architecture

6. What is deep learning

7. Talk about Convolutional Neural Network (CNN)

8. Recurrent Neural Network (RNN)

9. Generative confrontation network (GAN)

10. What is reinforcement learning?

11. What is Gradient Descent

12. What is Backpropagation

13. What is dropout

14. What is Batch Normalization

15. What is a convolution kernel

16. Pooling

17. What is the layer of convolutional neural network

18. What is the level of recurrent neural network

19. What is the memory unit (cell) of the recurrent neural network?

20. How do you solve the overfitting problem?

21. How do you choose the activation function

22. How to choose an optimizer

23. What is a hyperparameter

24. How to adjust hyperparameters

25. What is the learning rate

26. What is momentum method

27. Adam optimizer

28. Mean square error (MSE)

29. What is the cross-entropy loss function

30. L1 and L2 regularization

31. What is feature extraction?

32. Transfer Learning

33. What is data augmentation?

34. What is image segmentation

35. Image Classification

36. Target detection

37. Semantic Segmentation

38. Instance Segmentation

39. Generative Adversarial Networks

40. Autoencoder

41. Variational Autoencoder

42. Conditional generative models

43. What is the Markov decision process of reinforcement learning

uncommon problem

1. What is machine vision?

Answer: Machine vision refers to the use of cameras and image processing foundations to allow computer systems to recognize and analyze visual features such as shape, color, and texture in reality, and provide support for machines to make decisions and operate.

2. What technology are you best at? How to apply it to visual inspection?

A: Vision algorithm or programming language, and how to apply it in actual projects.

3. Briefly describe the role of HOG features in target detection

The HOG feature is a feature description method based on image gradients. It extracts the shape and texture features of objects by comparing image gradients in different directions. It is often used in pedestrian detection and target recognition tasks.

4. How to use deep learning for image recognition?

The convolutional neural network (CNN) of deep learning is used to learn and extract the features in the image, and the extracted features are classified and regressed through the fully connected layer.

5. In the face of visual inspection problems in industrial production, what methods will you use to deal with them?

6. What is an adaptive threshold?

Adaptive threshold processing refers to automatically adjusting the threshold value of binarization according to the local features in the image, adapting to changes in brightness and contrast in different regions, and improving the image processing effect.

7. What is camera calibration and how to do it?

Camera calibration refers to converting the center point of the image into three-dimensional world coordinates according to the characteristics of camera imaging. Common calibration methods include Zhang Zhengyou calibration method, Tsai calibration method, etc.

8. How to judge the circle and hold in the target image?

Identify circles and hexagons in images using methods such as shape matching and edge detection

9. What is image registration?

Image registration refers to the transformation and alignment of two or more images taken at different angles or at different times to achieve target detection, medical imaging diagnosis, etc.

10. How to optimize the performance of the visual inspection system using cameras and light sources?

Guess you like

Origin blog.csdn.net/weixin_44463519/article/details/130124677