Chapter 1
-
Which package(s) are required to load an image from a disk?
In order to load an image you are required to have Images.jl package. -
Which package is required to download a file from the internet?
No packages are required. download function is part of Julia Base package. -
Which types of files/file extensions are returned by the readdir function?
readdir returns all files in a folder. -
Which function is used to save an image to disk? What are the prerequisites for saving a file to disk?
save function is used to save file to disk. It accepts 2 parameters - destination path with file name in one of the image formats, such as png or jpg and image in Julia Images file. Destination path (folder) should exist on disk. -
What is the most noticeable difference when saving images in JPG or PNG formats?
There are few noticeable difference - first PNG can keep the transparency and has better quality. -
What is the difference between scale and resize?
Resizing images does not keep the image proportions compared to scaling.
Chapter 2
-
What is the difference between Gray and RGB image representation?
Gray images are represented in 1 channel compared to RGB which are represented in 3 channels. -
When would you use the channelview function?
channelview function is used to decompose or split out the color channels to a separate dimensions.
- When would you use the permuteddimsview function?
permuteddimsview function is used change the order of channels in an image.
- What is the difference between using the Fill function and one of the border padding effects?
Fill function is used to fill the border with a constant value, compared to border padding that duplicates the content of an image.
- How did we achieve the image sharpening effect?
We created a sharpened version of an image by subtracting Gaussian smoothed image from the original version.
Chapter 3
-
What is a structuring element in the ImageMorphology package?
The structuring element is usually a 3x3 binary block that slides over the image and updates it. -
When would you use the channelview function?
It is a block of 3x3 pixels. - What are the prerequisites for the image color scheme before applying morphological processing?
Images should be in binary or grayscale.
- What is the difference between the erode and the dilate functions?
Erode shrinks the image's foreground or 1-valued objects, compared to dilate which does the opposite and grows it.
- What is the difference between the erode and the opening functions?
Opening compared to erode tries to keep large objects untouched and remove small noise.
- When would you use a combination of the tophat and bothat functions?
Combination of tophat and bothat is used to improve contrast of an image.
Chapter 4
-
What is the primary difference between seeded regions growing and the fast scanning algorithm?
Seeded region growing algorithm requires us to supply the coordinates of the object, compared to fast scanning which does it automatically.
-
When would you use supervised image segmentation algorithms, such as the seeded region growing technique?
I would you seeded region growing when manually annotating images for deep learning activities. - How does increasing and decreasing the threshold merging step parameter for the Felzenszwalb algorithm affect the results?
Increasing the threshold merging step decreases number of segments.
- When would you use the segment pruning technique?
I would use segment pruning technique to remove noisy "segments" that are taking a really small area.
Chapter 5
-
What is the purpose of corner detection?
Corner detection is widely used for feature extraction from an image. -
How can corner detection help to identify areas with text?
Areas having a text will have a high intensity of corners. -
How does the increase of the threshold value for FAST affect the number of features?
Increasing threshold value decreases number of features returned by FAST. -
When would you use a BRIEF algorithm, and when would you use a BRISK one?
I would use BRIEF when I exactly knew that images are not scaled and rotated. That would give a slight boost comparing to BRISK. -
What is the primary difference between an ORB algorithm and BRISK?
Main difference between ORB and BRISK is that BRIS is scale invariant.
-
Which of the three algorithms (BRIEF, ORB, and BRISK) implements FAST out of the box?
Chapter 6
-
What are the advantages of using neural networks in comparison to classic computer vision?
Neural network can learn complicated relationships between image shapes compared to classic Open CV approach when you open. -
Why do we split the training dataset into training and validation datasets?
It is done in order not to over fit during the training process. -
What are data providers in MXNet and when do you use them?
We have extensively used ArrayDataProvider that we have filled with different value. It is also possible to use ImageDataProvider but it has some prerequisites to the format. -
How do you set the size of the input dataset when configuring a neural network architecture?
It is identified automatically the moment you pass the first dataset. -
What is SoftmaxOutput and why it is used when defining a neural network?
SoftmaxOutput defines an output of the network. Each predicted class will get it -
How do you define a number for the SoftmaxOutput layer?
Number of outcomes in SoftmaxOutput layers is defined using last FullyConnected layer.
Chapter 7
-
What is the main reason for using pre-trained neural networks?
The main reason of using pre-trained neural networks is that they make the training process much faster and more comfortable.
- What is the difference between Inception V3 and MobileNet? When would you use one or the other?
Inception V3 is slower to run but has higher accuracy. MobileNetV2 is extremely fast but less precise than Inception V3. I would use Inception V3 when running batch jobs and MobileNet V2 for real-time applications.
-
What are the symbol and params files of each model?
symbol and param files correspond to the trained model files. param file corresponds to a model definition and symbol to weights in a specific epoch. -
How would you load a pre-trained model from a checkpoint at epoch 10?
You would load.checkpoint function and pass model name and checkpoint number as a parameters, such as:mx.load_checkpoint(MODEL_NAME, 10, mx.FeedForward);
-
How can you adjust a neural network for a custom problem?
It is by replacing the last Softmax Output and FullyConnected layers with custom definition and running fit on a custom dataset.
Chapter 8
-
How do you define C++ code in Julia?
You put in between cxx""" and """ tags, such as cxx""" <C++ CODE> """ -
How do you call C++ functions in Julia?
C++ functions are called using @cxx macro, such as @cxx function_name(); -
When and why you need to destroy object coming from Open CV?
You need to destroy objects to release memory allocated by C++. -
What type of classifier we have used to run face detection?
We have used Haar cascade classifier in Open CV. -
What is the number of classes we predict in Object detection using MobileNet-SSD
The default setup comes with 20 classes. It is possible to retrain the dataset to any number of classes.
section?