Print defects detection is a necessary step to ensure printing quality. Although manual human inspections are still being employed, automated visual inspection has the potential to replace manual labor due to its accuracy, speed, relative ease of implementation and reduced costs. The key idea in print inspection systems is detecting genuine differences (changes) between a pair of images: a reference image and its corresponding printed (and scanned) image.
Variable data printing (VDP) is a form of digital printing in which elements such as text, graphics, and images may be changed from one printed piece to the next without stopping or slowing down the printing process . VDP inspection is a challenging task as illustrated in Fig. 1 because ‘every page is different’ (e.g., photos) and thus there is high variability in both defect types and image types.
For example, Fig. 1(b) illustrates a complex defect caused by erroneously printing the previous image on top of the current image (‘memory’ defect). Such defect (change) is difficult to define a priori as there is no limitation on the content of each printed image. Also, there are changes of interest called semantic or structural changes (, an appearance of defects as shown in Fig. 1(a) and 1(b)) but also nuisance changes which are called noisy changes. The noisy changes are caused by multiple variables like changes in illumination, misregistration and low-cost scanner artifacts (Fig. 1(c)) that can be hard to isolate from the structural changes. Any detection system must be able to robustly differentiate between real defects (semantic/structural changes we care about) and noise (e.g., due to scanner artifacts).
A defect detection process can be framed as either an object detection task or a segmentation task [10, 48]. Fully convolutional networks (FCN) have dominated the recent progress [10, 41]. However, the vast majority of deep learning (DL) based inspection systems take as input only the potential defective image without the corresponding reference image [7, 10, 22, 27, 41]. Single-frame object detection methods such as Faster R-CNN  and the single shot detector (SSD)  are commonly used for detection tasks while Mask-RCNN , U-net  (inspired) or DeepLab v3+  networks are used for semantic/instance segmentation (prediction at the pixel level). There is no need for a reference image in such systems as the focus is on detecting specific defect types per application. It is also assumed that the defect instances in each class are quite homogeneous (including the background on which each defect is overlaid). Thus, each method has its own characteristics that only respond to specific kinds of features. This is in contrast to the VDP inspection system that should detect a wide range of defect types (instead of limited and specific ‘changes’) that do not necessarily appear in the training set. In addition, each print is potentially different; thus, a reference image must be generated for each.
Given a pair of images, change detection is the most related domain for VDP inspection systems. Such techniques [8, 11, 13, 16, 21, 24, 33, 45, 47, 48, 51] use an aligned image pair as an input and return either a pixel-wise classification map of the structural changes (semantic segmentation) or a bounding box around each changed region. They can be classified into three categories depending on the stage at which the two images are fused [8, 13, 24, 52]: pixel level (early fusion), feature level (medium fusion) and decision level (late fusion).
In this paper, we propose a novel early fusion method, which is both fast and efficient. It significantly outperforms the common baselines of combining the two RGB images into a single image via concatenation (along the channel dimension) or by a difference [8, 47, 49].
We also propose a novel feature level (medium) fusion method for detecting genuine differences between two images using a variant of the SSD. It is based on an efficient Siamese architecture that merges the data in a way that is the most appropriate for our application. We show that it significantly outperforms the recently proposed Siamese SSD architecture by V. Osin .
Our main contributions are summarized as follows :
To the best of our knowledge, we are the first to introduce an automated, end-to-end, real-time (production speed - at least one page per second), industrial and low-cost inspection system for VDP, while still maintaining low false alarm and miss detect rates.
We propose a novel early fusion method, for change detection applications, which is both fast and efficient. It is based on combining the two input RGB images (reference and scanned images in our application) into a single pseudo-color image that enhances the semantic changes while preserving the essential image pair information. This image can be used as an input to any single-frame object detection methods (, SSD) including pre-trained models (transfer learning).
We present a novel Siamese network architecture, called Change-Detection SSD (CD-SSD), for detecting semantic changes between two images. It is based on a network design that leverages the SSD efficiently by fusing features in the middle of the network. As far as we know, this is the first time a SSD based network has been applied for change detection applications.
Our methods outperform the baseline methods by a large margin when evaluated on a large dataset of real defects from real-world printing scenarios. We also demonstrate the potential of applying our methods, in other areas, by training each on the publicly available Aerial Imagery Change Detection (AICD)  dataset. Our best model (CD-SSD) clearly outperforms the state-of-the-art solution on this dataset.
2 Related Work
Classical computer vision based techniques. Traditional computer vision-based inspection systems have been relatively well-studied. These systems occur in many industrial applications [19, 29, 42] like printed circuit boards, textile and texture inspection. One popular method is subtracting a reference image from a potentially defective image and then thresholding the result. Although this method is fast, it tends to be very sensitive to noisy changes (such as misregistration errors). Thus, it does not work well without significant pre/post-processing . The same is true when using more advanced ‘classical’ image quality metrics such as the structural similarity index measure (SSIM)  or even DL based image quality measures . To address these limitations, some methods have proposed to extract features from each defect candidate. The features are then put into a classifier that is trained in advance to determine whether it contains a defect or not. Hand-crafted features [19, 31] or DL based features  are usually used for this task. However, the extracted features tend to be application specific and don’t solve the defect localization problem.
Single frame (no-reference) DL based networks.
With the recent success of deep neural networks on generic object detection (SSD, Faster R-CNN, ) and segmentation (Mask-RCNN, U-net, ) networks it becomes very natural to use them as a basis for fast and accurate defect detection systems[26, 32]. Application examples are printed circuit boards , railway track inspection , metallic surface detection , sealing surface inspection  and casting defects in X-ray images . However, such methods are not applicable to the case of VDP because they are focused on detecting application-specific defects, whereas the VDP problem requires a ’general’ defect detector that can be extended well to new (previously unseen) defect types
Change detection using semantic segmentation. Much research has been done in the field of change detection. The core idea in DL-based methods is to fuse the two images [8, 13, 24, 52] using early, medium, or late fusion and then use a FCN to predict per-pixel segmentation map.
In the case of early fusion, it is common to concatenate the two RGB images into a single 6-channel image which is used as an input to a FCN [8, 11, 16, 47]. However, as the filters of the first convolutional layer are modified (due to using 6 channels instead of 3) single frame pre-trained models cannot be reused directly. A workaround is replicating the weights of the first layer along the channel dimension (similarly to bootstrapping 3D filters from 2D filters ) and use it as an initialization method. It requires one to fine-tune the lowest layer (or few lowest layers) in the model which is risky in case of a small dataset. A difference between the two images  is another option, but it is more sensitive to noise and misregistration errors.
Different from early fusion, middle fusion is based on merging middle-level convolutional features [8, 13, 30, 45, 51]. It usually provides better results as it fuses information at a stage where the spatial features are less relevant. However, it is unclear a priori which architecture of the fusion model could get the best results for a specific application . This includes the layers to be merged and the data fusion functions (concatenation, difference, max, ).
Decision level fusion follows a two-stage approach [24, 52] - each image is first passed independently through a FCN for predicting a binary segmentation mask. Then the binary masks are subtracted. However, it assumes low variability between instances of the same class.
The main disadvantage of semantic segmentation networks is a high computational cost (mainly for large images). The need for a large amount of per-pixel labeled data is another disadvantage. Some methods alleviate this problem by using lightweight network architectures [11, 28]
, but the accuracy is usually lower. Also, these networks are typically trained with the cross-entropy loss function, or the contrastive loss function  that essentially makes the network learn a classifier for each pixel (and summing up the loss). This makes it hard to train the network when the objects to detect are small [25, 50]. Finally, the training and evaluation are usually done on datasets with limited types of changes (appearing/disappearing of buildings, construction areas, vehicles, vegetation, ). Such task-specific networks may not generalize well to ‘general’ change detection applications like VDP.
Multi-frame object detection networks.
Object detection is an efficient and faster alternative to semantic segmentation. In the case when multiple frames are available, the additional temporal/depth information can be used for improving detection accuracy. There are many different ways to model motion cues, including 3D convolutional neural networks or recurrent neural networks[1, 4, 5, 9]. Two-stream based networks are the most common approach . It consists of a spatial network that models appearance with RGB frames as an input and a temporal network that models motion (optical flow). Then, decision level fusion, which works on the bounding-box level is commonly used. However, the focus of such methods is not on detecting changes between two frames but rather on improving per-object detection accuracy (compared to single-frame models), object tracking and action recognition.
Recently, V. Osin  extended the SSD to support multi-spectral data (visible and infra-red images). It has a Siamese network architecture that fuses the two branches at each detection layer of the SSD. The data fusion function is a concatenation followed by 11 convolution filters. We show later (Section 5) that for VDP, it falls below our proposed Change-Detection SSD network (CD-SSD) by a large margin (in terms of accuracy).
J. Wu  proposed to consider the differences between two (book cover) images (captured with a high-resolution camera) as the objects to detect. The two RGB images are concatenated (early fusion) into a single 6-channel image. Then, Faster R-CNN  is used to spot the difference between them. We show later (Section 5) that our novel early fusion method (‘Pseudo-color’) significantly outperforms it.
3 Legacy Inspection System
Our first-generation system was designed using classical computer vision based techniques. A block diagram of the system is shown in Fig. 2. It is based on  and contains the following stages:
Creating a reference image (RGB). The reference and scanned images are in different color spaces. A lookup table is used to convert the reference image from CMYK to RGB (scanner) color space. After this stage, the two images are almost color matched and in the same RGB color space.
Page corners detection.
Before applying the registration filter, the paper image should be cropped from the scanned image which contains scanner background (stripes pattern of the conveyor belt –see Fig. 2) followed by rotating it into zero angle orientation. The page’s corners are detected by first identifying discontinuities in the standard deviations of gray levels along rows and columns in the scanned image. Then the Harris corner detector is applied but only in a small region around each discontinuity.
3.2 Registration And Color Correction
The reference image should be aligned on a pixel-by-pixel basis with respect to the scanned image. This is because paper movement causes local and global spatial distortions. A global template matching (block matching)  for coarse alignment between the images is followed by a local template matching for fixing the local movements. Histogram match  is used for reducing color inconsistencies (caused during scanning) between the two images.
3.3 Image Comparison (SSIM)
The registered images are compared using the SSIM metric of Z. Wang , patch versus patch. Each patch in the scanned image receives a score that represents its similarity to the reference patch. In order to improve the detection rate of mainly large defects and increase robustness to small misregistration errors, the SSIM is also applied on several down-sampled versions of the scanned and reference images (multi-scale SSIM).
Every defect that is found in the SSIM map (after thresholding) is analyzed, to reduce false alarms caused by small misalignment errors or scanner artifacts such as: moiré (under-sampling of fast color variation- example in Fig. 1(c)), dust (dirty scanner), noise and illumination inconsistency (un-calibrated scanner). This was done by extracting simple shape and texture features (size, contrast, ) and filtering the irrelevant defects using empirical thresholds (, minimal defect size is about 1 mm squared).
In order to get the full defect area, region growing 
is applied to each detected defect. Reference and scanned images are presented to the user with red rectangles around each defect. Binary DL based classification network (, VGG16), pre-trained on the ImageNet dataset, may be applied on each defect candidate for reducing false alarms.
4 Proposed Method
Inspired by the recent success of deep convolutional neural networks in the field of object detection, we explore two options to leverage it for detecting genuine differences (print defects) between two images. A block diagram of the proposed DL based system is presented in Fig. 3. It comprises the same pre-processing module (Section 3.1) as the legacy system. Then, FlowNet2  is used for optical flow computation (registration). It is faster and more accurate (maximum error - few pixels) compared to local template matching (Section 3.2). The printed page is stretched randomly (and locally) due to the media transport mechanism of our system, which is complex and non-ideal. Therefore a non-global transformation (like FlowNet2 or PWC 
) is needed to estimate local movements between the scanned and reference images. Finally, the two images are fused either using a novel early fusion method called Pseudo-color SSD or a middle-fusion method called Change-Detection SSD (CD-SSD). Both are described next. Meaningful (structural) differences are considered as the objects to detect. Noisy changes (color deviations, scanner artifacts, ) are excluded automatically in the training due to the hard-negative mining employed in the SSD. The resultant network learns only the real defects characteristics.
4.1 Pseudo-Color SSD
Single-frame object detection models (, SSD) expect one input image with three channels while we have a total of six channels (three from the scanned image and three from the reference image). A possible solution is to combine the two images (scanned and reference) into a single image (early fusion). Fig. 4 presents our proposed early fusion method. The reference and scanned images are compressed from three channels to one by converting each to a gray-scale image. Then, the scanned gray-scale image is mapped to the green channel of the combined image. Similarly, the reference gray-scale image is mapped to the red and blue channels of the combined image. Regions in the combined image where the reference and scanned images are identical will appear in grayscale. In contrast, regions in the combined image where the reference image differs from the scanned image will have a green or magenta appearance. In this way, the combined image may be considered to be a pseudo-color image, as the true (i.e., RGB) colors of the reference/scanned image are not apparent. The pseudo-color image can be used as an input to the SSD. The intuition is as follows:
In case of VDP, what constitutes a real defect compared to a false alarm is mainly a local change in the structure of the scene and not its color (as it may appear in various colors). Such structural/semantic changes are clearly evident in the grayscale version of the images (except very low contrast differences).
Concatenating the two gray-scale images (along the channel dimension of the pseudo-color image) is more robust to misregistration errors compared to taking the difference between them.
The human eye is more sensitive to the green color. This means better enhancement of defects when mapping the scanned image (gray-scale) into the green-channel of the pseudo-color image. Note that there is no need, in our system, to detect defects that are not visible to the human’s eyes (, due to the background on which each defect is overlaid).
Replicating the reference image (gray-scale) results in a 3-channel image (two from the reference and one from the scanned). This pseudo-color image has many features that qualitatively appear in standard RGB images, such as edges and corners (see Figs. 4 and 7). Therefore, using single-frame pre-trained models (, on the ImageNet dataset) is possible in this approach. This is in contrast to the common early fusion (concatenate) method of using a 6-channel image.
4.2 Change-Detection SSD (CD-SSD)
The architecture of CD-SSD is shown in Fig. 5. It has two main components: a feature extractor network (VGG16) and a detection ‘head’ consisting of convolutional layers. The main modification we make to the SSD512 architecture is adding two data fusion (concatenation) layers after conv4_3 and pool_5 layers of VGG16 (the weights of the two branches are shared before the fusion layers). The output of the data fusion layer after conv4_3 is fed into the first detection layer of the SSD. The architecture after pool_5 fusion layer is the same as a standard single-frame SSD512 model. The intuition is as follows:
The first fusion is at conv4_3 layer (and not before) since it has a relatively large receptive field which is more robust to misregistration errors.
We use two fusion layers (instead of one) in order to exploit ImageNet pre-trained weights until pool_5 layer of VGG16. This is in contrast to V. Osin  which use seven fusion layers in case of SSD512 (one for each detection layer).
Feature maps concatenation is used instead of convolution fusion  which adds 11 convolution filters on top of it (for dimensionality reduction). This is because 11 convolutions are less robust to misregistration errors and also may lose some data (the same is true for fusion using a difference).
|Method||False Alarms||Miss Detect||Execution time||Number of|
|(%)||(%)||per sample (sec)||trainable parameters (M)|
|Legacy + Classification (VGG16)||0.050||32||1.00||134.265|
|FlowNet2 + Pseudo-color SSD (ours)||0.010||15||0.25||24.386|
|FlowNet2 + CD-SSD (ours)||0.005||10||0.30||29.216|
|FlowNet2 + Concatenate + SSD||0.020||35||0.25||24.388|
|FlowNet2 + Multi-spectral SSD ||0.015||23||0.30||28.059|
|FlowNet2 + DIFF + SSD||30||22||0.25||24.386|
|SSD (scanned image) ||55||48||0.07||24.386|
|Legacy + Classification (VGG16)||0.1|
|FlowNet2 + Pseudo-color SSD (ours)||0.010|
|FlowNet2 + CD-SSD (ours)||0.005|
|FlowNet2 + Concatenate + SSD||0.025|
|FlowNet2 + Multi-spectral SSD ||0.020|
|FlowNet2 + DIFF + SSD||35|
|SSD (scanned image) ||60|
Two datasets from real-world printing scenarios were used to train/evaluate our models. The datasets are an order of magnitude larger than existing change-detection datasets and much more challenging. This is due to high variability in image/defect types (size, shape, contrast, ), illumination changes, misregistration and low-cost scanner artifacts. Fig. 6 contains examples of some defects from the datasets, cropped from the full scanned images (which contain 500 1250 pixels).
Real defects dataset (labeled) -
A dataset of 20,000 image pairs with 40,000 real defects. The labeling, meaning drawing bounding boxes around the true defects, was done using the LabelImg tool . The dataset was divided into training and validation sets using a 4-fold cross-validation.
Real defects test-set (unlabeled) - A test set of 80,000 image pairs. Some of the images are defect free, and some may contain more than one defect. The set is unlabeled which means that we can measure only the false alarm rate. False alarm rate is most important in high speed press application, since high rates of false alarm (even 0.1%) will become annoying to the operator/user causing them to ignore or disable the inspection system.
5.2 Evaluation Metrics
False alarm rate (FPR) and miss detect rate (FNR) are used to evaluate the accuracy of each method:
where FN are the false negatives and FP are the false positives. Detection is a true positive (TP) if the Intersection Over Union (IOU) with the ground-truth box is above 0.25.
5.3 Implementation Details
The training was done with the real defects (labeled) dataset, Adam optimizer, a learning rate of 0.0001 with linear decay rate 
, 200 epochs, batch size of 8, one class (real defects), MS COCO scales and input images resized to 512512 pixels. The other parameters were set to their default values according to the original SSD paper 
. The layers of the base network (VGG16 until pool_5 layer) were frozen during the first 100 epochs followed by unfreezing them in the next 100 epochs. They were initialized with ImageNet pre-trained weights, while the rest of the layers were trained from scratch (Xavier initialization). The code is based on the publicly available Keras SSD512 implementation. We performed a 4-fold cross-validation and averaged the results. The following on the fly augmentations were employed (randomly): horizontal/vertical flips, color channels swap and contrast/brightness stretch. NVIDIA Quadro P5000 GPU was used for training and testing.
5.4 Comparative Analysis
We compare our methods (Section 4) with various baselines which include: early fusion using a concatenation or a difference (DIFF) between the two images, multi-spectral SSD , single frame SSD 
(only scanned image) and our legacy system (Section 3). The training of all the SSD based models follows the same procedure described above (Section 5.3). In the case of an early fusion using concatenation, the filters of the first convolutional layer (6 channels) were initialized by replicating ImageNet first layer (3 channels) weights along the channel dimension. This allows using transfer learning in this case. We did experiments with many fusion options, but we report (in Table 1) only the schemes which provided the best results. Object detection based solutions are used as baselines and not semantic segmentation (Section 2) based methods because most of them are not fast enough for our application. In order to inspect every printed page, the execution time of all the modules (pre-processing, registration, detection) must be less than one second (a typical production speed of a printing press). Some methods use a large output stride (, 16 in) to reduce the computational cost, but this means less detailed segmentation map. It is a disadvantage in our case, as some of the defects are very small (a few pixels- , in Fig. 7). State of the art multi-frame object detection methods use more than two images (a video) as an input, so they are not applicable in our case as well.
For the real defects (labeled) dataset we report in Table 1 the accuracy (FPR and FNR), execution time and the number of trainable parameters attained by each method. It can be noted that: CD-SSD and Pseudo-color SSD outperform all baselines by a large margin including the legacy system (in terms of accuracy). CD-SSD is better than ‘Pseudo-color’ but with a relatively small margin (accuracy). This means that when performance limitations (speed/memory) are an issue, the ‘Pseudo-color’ could be a good alternative. It allows using any single-frame DL based object detection model ‘as is’ including transfer learning. Although theoretically, a CNN with more than three channels input (Table 1, line 5) could have learned a similar/better color encoding parameters it failed to do so in case of data with high variability. Training the SSD without a reference image (only scanned) or with a difference (DIFF) between the two images completely failed (very high false alarm rate). This is expected since in VDP each print is potentially different; therefore, a reference image must be generated for each. Also, a difference is more sensitive to noise (, scanner artifacts) and misregistration errors. The specific two-branch network design (CD-SSD vs. Multi-spectral SSD) affects the FPR and FNR significantly. It includes the number and location of the fusion layers and also the fusion function (, concatenate/convolution ). Fig. 7 presents some examples (validation set). We can see that our methods (in contrast to the best baselines) detect well a wide variety of defect types with different size, shape, contrast, Fig. 8 contains examples that demonstrate the importance of a reference image in VDP and also the challenges compared to other computer vision problems. The defects (detected using CD-SSD) in Fig. 8(a) and 8(b) resemble true object parts, tie and door knob, respectively. Therefore without a reference image, it would be very difficult to know whether these are defects or not. Some of the defects are with low contrast (Fig. 8(c)), difficult to define a priori (Fig. 8(d)), and should be detected while ignoring scanner artifacts (Fig. 8(e)). Table 2 presents for each method the false alarm rate (FPR) evaluated on the real defects test set of 80,000 image pairs. The results are quite similar to those in Table 1.
5.6 Results For Different Application
We trained our models (without the pre-processing module - Section 3.1) on a different application: Aerial Imagery Change Detection (AICD). The publicly available dataset  contains 1,000 image pairs with variations between them (an example is in Fig. 9). From Table 3, one can see that our CD-SSD method outperforms the state-of-the-art solution on this dataset. Also, in contrast to our datasets, the difference between the single-frame SSD baseline and the other methods is quite small. This emphasizes the challenge of high variability in VDP compared to other change detection applications. Further, as the ‘Pseudo-color’ lacks the ‘true’ color information, it is somewhat inferior to the single-frame baseline. It means that for data with low variability (contrary to VDP) color is an important feature.
We presented a novel inspection system for Variable Data Printing (VDP). It allows one to detect general purpose defects (i.e., without assuming any specific type a priori) with a very low false alarm rate. This was achieved by proposing two new fusion methods, which are both fast and efficient. The first is an early fusion method called ‘Pseudo-color’ and the second is a middle fusion method called Change-Detection Single Shot Detector (CD-SSD). Experiments on large datasets from real-world printing scenarios demonstrate that both methods outperform the baselines by a large margin. Also, we trained our models on the aerial imagery change detection (AICD) dataset, and CD-SSD clearly outperforms the state-of-the-art baseline. Thus, our solution can be applied to other change detection applications.
-  M. Ahrnbom, M. Jensen, K. Åström, M. Nilsson, H. Ardo, and T. Moeslund. Improving a real-time object detector with compact temporal information. In The IEEE International Conference on Computer Vision (ICCV) Workshops, Oct 2017.
-  S. Bosse, D. Manirv, K.-R. Muller, T. Wiegand, and W. Samek. Deep neural networks for no-reference and full-reference image quality assessment. IEEE Transactions on image processing, 27(1):206–219, 2018.
-  N. Bourdis, D. Marraud, and H. Sahbi. Constrained optical flow for aerial image change detection. In IGARSS, pages 4176–4179, 7 2011.
-  A. Broad, M. Jones, and L. Teng-Yok. Recurrent multi-frame single shot detector for video object detection. In BMVC, 2018.
J. Carreira and A. Zisserman.
Quo vadis, Action Recognition? a new model and the kinetics
2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 4724–4733, 2017.
-  J. Chen. The comparison and application of corner detection algorithms. Journal of multimedia, 4:6, 2009.
-  L. Cheong, S. A. Suandi, and S. Rahman. Defects and components recognition in printed circuit boards using convolutional neural network. 1 2019.
-  R. Daudt, B. Saux, and A. Boulch. Fully convolutional siamese networks for change detection. 2018 25th IEEE International Conference on Image Processing (ICIP), pages 4063–4067, 2018.
-  A. El-Nouby and G. W. Taylor. Real-time end-to-end action detection with two-stream networks. 2018 15th Conference on Computer and Robot Vision (CRV), pages 31–38, 2018.
-  M. Ferguson, R. ak, Y.-T. Lee, and K. Law. Detection and segmentation of manufacturing defects with convolutional neural networks and transfer learning. Smart and Sustainable Manufacturing Systems, 2(1):137–164, 2018.
-  P. Fernández Alcantarilla, S. Stent, G. Ros, R. Arroyo, and R. Gherardi. Streetview change detection with deconvolutional networks. Autonomous Robots, 42(7):1301–1322, 2018.
-  P. Ferrari. SSD : Single-Shot Multibox Detector implementation in keras, 2018. GitHub repository https://github.com/pierluigiferrari/ssd_keras.
-  E. Guo, X. Fu, J. Zhu, M. Deng, Y. Liu, Q. Zhu, and H. Li. Learning to measure change: Fully convolutional siamese metric networks for scene change detection. 2018. https://arxiv.org/abs/1810.09111.
-  K. He, G. Gkioxari, P. Dollár, and R. Girshick. Mask R-CNN. 2017 IEEE International Conference on Computer Vision (ICCV), pages 2980–2988, 2017.
-  L.-C. hen, Y. Zhu, G. Papandreou, F. Schroff, and H. Adam. Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation. 02 2018.
-  R. Huang, W. Feng, Z. Wang, M. Fan, L. Wan, and J. Sun. Learning to detect fine-grained change under variant imaging conditions. In The IEEE International Conference on Computer Vision (ICCV) Workshops, Oct 2017.
-  E. Ilg, N. Mayer, T. Saikia, M. Keuper, A. Dosovitskiy, and T. Brox. Flownet 2.0: Evolution of optical flow estimation with deep networks. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.
-  C. Je and H. M. Park. Optimized hierarchical block matching for fast and accurate image registration. Signal Processing: Image Communication, 28(7):779–791, August 2013.
-  I. Jovancevic, S. Larnier, J.-J. Orteu, and T. Sentenac. Automated exterior inspection of an aircraft with a pan-tilt-zoom camera mounted on a mobile robot. Journal of Electronic Imaging, 24:061110, 11 2015.
-  S. Khan, X. He, F. Porikli, M. Bennamoun, F. Sohel, and R. Togneri. Learning deep structured network for weakly supervised change detection. In IJCAI, 2017.
M. Lebedev, Y. Vizilter, O. Vygolov, V. Knyaz, and A. Rubis.
Change detection in remote sensing images using conditional adversarial networks.ISPRS - International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, XLII-2:565–571, 5 2018.
-  Y. Li, H. Huang, Q. Xie, L. Yao, and Q. Chen. Research on a surface defect detection algorithm based on mobilenet-SSD. Applied Sciences, 8:1678, 9 2018.
-  W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. Berg. SSD: Single shot multibox detector. In ECCV, 2016.
-  S. Maiya and S. Chandra Babu. Slum segmentation and change detection : A deep learning approach. In NIPS Workshop, 11 2018.
-  A. Milan, T. Pham, K. Vijay, D. Morrison, et al. Semantic segmentation from limited training data. 2018 IEEE International Conference on Robotics and Automation (ICRA), pages 1908–1915, 2018.
-  M. S. Minhas and J. Zelek. Anonet: Weakly supervised anomaly detection in textured surfaces. 2019. https://arxiv.org/abs/1911.10608.
-  S. Mittal and D. Rao. Vision based railway track monitoring using deep learning. 11 2017. https://arxiv.org/abs/1711.06423.
-  V. Nekrasov, C. Shen, and I. Reid. Light-Weight Refinenet for Real-Time Semantic segmentation. In British Machine Vision Conference (BMVC’18), 2018.
-  T. Newman and A. K. Jain. A survey of automated visual inspection. Computer Vision and Image Understanding, 61:231–262, 3 1995.
-  V. Osin, A. Cichocki, and E. Burnaev. Fast multispectral deep fusion networks. Bulletin of the Polish Academy of Sciences: Technical Sciences, pages 875–889, 1 2018.
-  T. Peng and C.-S. Fuh. Color-based printed circuit board solder segmentation. 2009.
-  P. Pyun and R. Sohigian. Automatic defect inspection using the nvidia end-to-end deep learning platform - white paper V3.0, 2019. http://resources.nvidia.com/api/pdfproxy?id=76658.
-  R. Radke, S. Andra, O. Al-Kofahi, and B. Roysam. Image change detection algorithms: A systematic survey. IEEE transactions on image processing : a publication of the IEEE Signal Processing Society, 14:294–307, 04 2005.
-  G. Rafael and W. Richard. Digital Image Processing (3rd ed.). Prentice Hall, 2008.
-  S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN : Towards real-time object detection with region proposal networks. In NIPS, 2015.
-  O. Ronneberger, P. Fischer, and T. Brox. U-Net: Convolutional networks for biomedical image segmentation. CoRR, 2015.
-  A. Rosebrock. Keras learning rate schedules and decay, 2019. https://www.pyimagesearch.com/2019/07/22/keras-learning-rate-schedules-and-decay/.
-  E. V. D. Solutions. ABC’s of VDP – A Variable Data Printing Basics Guide, 2011. https://www.efi.com/library/efi/documents/327/efi_fiery_abc_vdp_wp_en_us.pdf.
-  D. Sun, X. Yang, M.-Y. Liu, and J. Kautz. PWC-net: CNNs for optical flow using pyramid, warping, and cost volume. In CVPR, 2018.
-  Y. Takada, T. Shiina, H. Usami, Y. Iwahori, and M. K. Bhuyan. Defect detection and classification of electronic circuit boards using keypoint extraction and CNN features. In PATTERNS, 2017.
-  X. Tao, D. Zhang, W. Ma, X. Liu, and D. Xu. Automatic metallic surface detection and recognition with convolutional neural networks. Appl. Sci, 8:9, 2018.
-  C. Torras. Computer Vision: Theory and Industrial Applications, volume 1, pages 377–404. 1992.
-  D. Tzutalin. Labelimg, 2018. GitHub repository https://github.com/tzutalin/labelImg.
-  A. M. Vans, S. Schein, C. Staelin, P. Kisilev, et al. Automatic visual inspection and defect detection on variable data prints. Journal of Electronic Imaging, 01 2011.
-  A. Varghese, J. Gubbi, A. Ramaswamy, and B. Purushothaman. ChangeNet: A Deep Learning Architecture for Visual Change Detection: Subvolume B, pages 129–145. 1 2019.
-  Z. Wang, A. Bovik, H. Sheikh, and E. Simoncelli. Image quality assessment: From error visibility to structural similarity. IEEE Transactions on Image Processing, 13(4):600–612, 4 2004.
-  W. Wiratama, J. Lee, S.-E. Park, and D. Sim. Dual-Dense convolution network for change detection of high-resolution panchromatic imagery. Applied Sciences, 8:1785, 10 2018.
-  J. Wu, Y. Ye, Y. Chen, and Z. Weng. Spot the difference by object detection. 2018. https://arxiv.org/abs/1801.01051v1.
-  S. Zagoruyko and N. Komodakis. Learning to compare image patches via convolutional neural networks. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 4353–4361, 2015.
-  Z. Zhang, M. Tang, D. Cobzas, D. onoobi, M. Jagersand, and J. Jaremko. End-to-end detection-segmentation network with ROI convolution. 2018 IEEE 15th International Symposium on Biomedical Imaging (ISBI 2018), pages 1509–1512, 2018.
-  X. Zhao, H. Li, R. Wang, C. Zheng, and S. Shi. Street-view change detection via siamese encoder-decoder structured convolutional neural networks. In VISIGRAPP, 2 2019.
-  X. Zhu, D. Tuia, L. Mou, G.-S. Xia, L. Zhang, F. Xu, and F. Fraundorfer. Deep learning in remote sensing: A comprehensive review and list of resources. IEEE Geoscience and Remote Sensing Magazine, 5:8–36, 12 2017.