{'fraction_non_alphanumeric': 0.037685600671263364, 'fraction_numerical': 0.012440261209003685, 'mean_word_length': 4.88745704467354, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Depth Completion with RGB Prior

Depth cameras are a prominent perception system for robotics, especially when operating in natural unstructured environments. Industrial applications, however, typically involve reflective objects under harsh lighting conditions, a challenging scenario for depth cameras, as it induces numerous reflections and deflections, leading to loss of robustness and deteriorated accuracy. Here, we developed a deep model to correct the depth channel in RGBD images, aiming to restore the depth information to the required accuracy. To train the model, we created a novel industrial dataset that we now present to the public. The data was collected with low-end depth cameras and the ground truth depth was generated by multi-view fusion.


Introduction
Robotic manipulation has been an active research field for a few decades and is gaining renewed traction with novel learning-based methods. Industrial robotics has especially benefited from Deep Reinforcement Learning (DRL; [43]) and deep computer vision. A typical setup for industrial systems is a robotic arm served by a perception system that drives a visual signal into the robot's high-level controller. Industrial applications, and manufacturing in particular, require precise localization and pose estimation for successful grasping of the manipulated object. This enhanced perception requirement is often catered by depth cameras [37] which yield RGBD images, i.e. RGB and an additional depth map.
Here, we investigate the usage of a 3D camera in an industrial use-case. By using a relatively inexpensive 3D camera 1 worth around $150, we collected over 3,500 samples of 45 different industrial objects. Industrial scenarios are predominantly reflective since they are composed of smooth metallic objects, including parts, tools, and jigs. Under these conditions, many low-end 3D cameras provide poor depth data with high noise and many pixels with invalid values. These 1 We use Intel RealSense 415 3D camera. arXiv:2008.07861v1 [cs.CV] 18 Aug 2020 issues arise from limitations of the Infra-Red (IR) beam, which is used in Timeof-Flight (ToF) depth cameras to scan the field of view or to produce patterns for point-correlations in structured-light depth cameras. Reflections between scene components can confuse the sensors and create artifacts. For example, a reflective table top may appear to have dents, mirroring the objects laid upon it. Attentive work station design can minimize such reflections, but they cannot be entirely eliminated and are considered difficult to handle. A more pervasive problem is encountered on corners and edges of reflective objects, where the IR beams often deflect away from the sensor's field of view, leaving a "hole" in the depth channel. To alleviate the missing values issue, depth camera manufacturers usually provide post-processing algorithms, including smoothing filters and interpolations. However, the accuracy of these traditional methods tends to fall short of robotic manufacturing requirements. The system we used calculates depth using stereo cameras, enhanced by a static-pattern IR projector. High-end system can achieve better accuracy and robustness, for example by projecting a series of carefully crafted patterns at the cost of a longer acquisition time. Moreover, the cost of high-end systems can reach two orders of magnitude greater. Taken together, high end depth cameras are not an acceptable solution for most industrial applications.
An alternative to depth-cameras is multi-view perception, using ten or more different view-points in space (and possibly time) [42,27,46]. The most notable variants of multi-view methods are Simultaneous Localization and Mapping (SLAM; [35,15]) and Structure from Motion (SfM; [10,19]), which are quite popular for mobile robots. However, SLAM and SfM are inclined to intensive computations and are inherently time-consuming, raising doubts on their applicability to industrial robotics and manufacturing. In the opposite direction, previous studies on monocular depth estimation applied a deep model on a single view image to estimate depth. While monocular depth estimation has been successful in several domains [14,21,25], it has not yet reached sufficient accuracy for industrial applications.
A promising avenue is to employ depth cameras for acquisition, followed by post-processing by depth corrections algorithms that exploit the RGB information as a prior for the correct depth values. In the next section, we provide details on two notable works [53,41] that follow this direction. These studies break down the solution into two steps. The first step applies a deep model on the RGB information to estimate surface normals and additional tasks. The second step uses optimization techniques to find a depth surface that fulfills a mixed objective, combined from the depth information and the outputs of the first step.
In this work, we use an end-to-end deep learning (DL; [28]) approach where we train a network to complete the depth in the missing places. We applied an encoding-decoding architecture, with a ResNet [17] or VGG [44] backbone, adding a U-net style skip connections [38] between the corresponding encoder and decoder layers. We collected industrial real-world training data with a static rig of multiple (4) depth cameras. The ground truth depth maps are generated using TSDF [7], which is an imperfect approximation of the true depth values. Nonetheless, our model is trained to improve the input depth to the level of the attainable ground truth estimation. In the results section (Sec. 4), we quantify the average error between the input and ground-truth and show that our model reduces it by 1-2 orders of magnitude. Overall, our contributions are two-fold: 1. We provide a depth completion dataset of several thousand samples for a few dozen industrial objects, primarily challenging and specular objects. The data consists of RGBD measurements from a cost-effective device, embodying the real-world issues which hinder industrial adoption of depth cameras. We also introduce the fused 3D meshes, a by-product of our ground-truth generation algorithm. 2. We present a depth-correction model for the industrial manufacturing domain. By incorporating ideas from previous studies and adjacent domains, we show that our model achieves better accuracy than the closest competitor (see Sec. 4).
In the next section (Sec. 2), we review related work and describe the research landscape. In Sec. 3, we expand on the methods we applied and how we crafted them to attain the best result. In Sec. 4, we describe our results and provide a discussion. We conclude the work (Sec. 5) by summarizing our contributions and proposing future work directions.

Related Work
In this section, we review previous work related to depth completion, all of which make use of the RGB information. We begin from monocular depth estimation from RGB, which clearly demonstrates how pertinent RGB is to depth. We continue to sparse-to-dense depth completion, which has a lot in common with our task and demonstrates how much is achievable with only a sparse sample of depth information. We conclude with dense depth completion, where the depth data is dense but has missing or erroneous regions.

Single-Frame Monocular Depth Estimation from RGB
An extensive body of work provided a multitude of solutions for monocular depth estimation from RGB images. The premise is that RGB contains all the information needed to estimate depth. This notion is supported by the observation that people can estimate 3D from RGB using prior knowledge on objects shapes and sizes, shading and obstruction cues, etc. Furthermore, RGB cameras are considered remarkably cost effective, ubiquitous, and resilient to phenomena that adversely affect active acquisition modalities such as depth-cameras. In [31], the authors employ Continuous Random Fields (CRF) and Convolutional Neural Network (CNN) in order to estimate depth. They over-segment the image into super pixels and predict a depth value for the super-pixel. Their CRF objective is closely related to image matting [48]. In [9], the authors used a pair of coarse-to-fine deep networks. The first network is a CNN with a Fully Convolutional (FC) head that predicts a coarse depth map. The input image and the intermediate coarse outputs are fed into a Fully Convolutional Network (FCN) that yields a refined depth map. In [26], the authors use an encoderdecoder architecture [18] with a Residual Network (ResNet 50; [17]) backbone. They introduce a novel up-convolution block, a hybrid of upsampling and convolution, which allows addressing several (4) scales concurrently at a given layer. Other multi-scale blocks can be seen in [45,11].
Several works [12,54,10,19,14] developed unsupervised training pipelines, exploiting either prior knowledge of camera motion in combination with multipleview geometry or SfM techniques. Here, we applied multiple-geometry to generate an explicit ground-truth and train in a supervised manner. Some of these unsupervised-training works solved a subsidiary task, for example warping a left stereo image to match the right image. Multi Task Learning (MTL) has been used in top scoring works (e.g. [22]), and it is considered to be beneficial by its own merit.

Sparse-to-Dense Depth Completion
A related task is predicting a dense depth image, given its corresponding RGB image and sparse samples of the target depth image, around 5% of the pixels. This problem setting originates in driving applications, for sensor fusion of RGB cameras and LiDAR scanners. This setting is akin to a regression problem, where a piece wise continuous solution needs to satisfy the sampled depth points. Most of the sparse-to-dense works test on the outdoor driving KITTI dataset [47] and a few test additionally on the indoor NYUv2 dataset [36], after simulating the LiDAR sampling behavior. A dominant architecture in this domain is Encoder-Decoder [34,33,50] and sometimes even a double Encoder-Decoder [13,25]. In [33], the Encoder-Decoder was embellished with U-connections [39], where the authors introduced a smoothness loss term and self-supervised training techniques.
Other groups employed Multi Task Learning (MTL), including posterior probability of the prediction [50] (which is analogues to confidence), semantic segmentation [13], and image alignment [25]. The later [25] applied supervised training for depth prediction and added the image-alignment loss in an unsupervised manner. In [13], five different tasks were provided: semantic segmentation from RGB, semantic segmentation from depth (D), semantic segmentation from RGBD, depth prediction from RGB (monocular), and sparse-to-dense depth completion.

Dense Depth Completion
Depth cameras typically fail on reflective objects such as metals and mirrors, and deflective objects such as glass objects and clear plastics. Specular objects result in connected regions (blobs) of missing or erroneous depth values, while the remaining depth map retains its integrity. This comprehension is reflected in auxiliary tasks, shared across the projects described in this subsection. The first commonality is using RGB to partition the images; for example, in [8] the model predicts semantic segmentation and in [53,41] occlusion boundaries. The model in [41] predicts additionally a binary mask for clear objects. The second commonality is using the RGB to produce an initial estimation for the depth, only with a surprising twist. Unlike monocular models, [8,53,41] predict surface normals, i.e. the gradient of the depth which in some sense can be thought of as a "spatial residual". Both in [53] and [41], the input is RGBD, unlike [8] which only used RGB. They applied a two-stage solution: the first stage consists of two or three parallel encoder-decoders applied only to the RGB data. The outputs are passed on to the second stage along with the depth data. The second stage resorts to global optimization for predicting the depth map. The optimizer minimizes an objective that corresponds to the surface normals and the valid regions of the depth input. In [41], the first stage provides an explicit mask for invalid regions, while in [53] it seems to be implicitly embedded in the depth input since the corrupted regions have outlying values. Notably, [41] provides a novel dataset for transparent objects with high quality depth maps. The dataset consists of over 50k synthetic images (5 objects) and 500 real world images (4 objects) collected in a painstaking process of replacing transparent objects with opaque replicas. In light of this, it is compelling to incorporate surface normal prediction.

Data Collection
We collected depth measurements of 45 industrial and 7 domestic objects, against 3 backgrounds, with 4 or 5 camera viewpoints and 4 poses for each item; yielding about 3,500 data samples. A few samples from the dataset are displayed in Fig. 1.
The camera rig was calibrated at the beginning of each data collection session, using an AprilTags matrix [24]. Our registration algorithm applies tag detection, extracts the depth at the tag centers, and then uses the a priori knowledge of the tag matrix to fit the calibration target with a 3D coordinate system and ensure the quality of the depth data.
The measured depth data was particularly poor for the metallic background, due to ambient lighting reflections. In this case, we employed a trick to improve our data, and collected the data at two lighting levels without moving the objects; RGB is always taken from the bright conditions while depth is taken according to usage context either from the dark conditions (in which case it suffers less from ambient reflections or from the bright conditions).
The ground-truth depth is generated by fusing the information from four camera view-points, using an implementation of TSDF [7] by Zeng et al. [52], followed by re-projection to each of the original camera view points. Under this data-collection scheme, our depth inputs preserve real-world issues, while the ground-truth is not perfect but significantly better. We show a few data samples in Fig. 1. This approach yields lower quality results than the data collection solutions used in [41] but is much easier to apply. Despite our efforts, our groundtruth still has holes, so for practical reasons, the training loss is computed only where the ground-truth is valid.

Fig. 2: Architectures examined in our work
Our deep model is an assemblage of "best practices" for deep computer vision. We used an encoder-decoder architecture [18] (Fig. 2.1; our implementation is based on [34]), which is a common choice for dense outputs [16] and a prevailing architecture for depth estimation (see Sec. 2).

Backbones
We experimented with ResNet [17] and VGG [44] backbones; As the latter gave lower accuracy, we exclude it from further discussion.

Improving the Sharpness of Predicted Depth
Output blurriness is a known issue of encoder-decoder architectures (it was also shown to be inherent to sparse depth completion by [32], however for a different setting of much sparser inputs). To mitigate that, we applied two modifications to the baseline model: U-Net [38] -style connections between corresponding encoder and decoder layers of the same resolution (see Fig. 2.2; also commonly used in depth prediction, e.g. [12,3,9,33,29,55]) and replacing de-convolution layers with max-unpooling for upsampling in the decoder [30].

Early Feedback and Auxiliary Outputs
To expedite training, we used early feedback [45], i.e. added loss terms for predictions of down-sampled depth at internal decoder layers (Fig. 2.3). To enhance the accuracy of the model, we explored Multi-Task-Learning (MTL) [40,22,8,4] and added an auxiliary task, RGB prediction, or reconstruction (Fig. 2.4). It has been reported in MTL literature that learning correlated tasks can give rise to synergy and higher performance than learning each single task separately.

Residual Prediction
The RealSense depth camera and its alternatives come with correction algorithms to improve their raw depth acquisition. This post-processing step usually gives gross but reasonable estimations in our (industrial) scenarios of interest. Acknowledging these capabilities, we also experimented with restating the problem as residual prediction. Formally, denoting input RGB frame as I and postprocessed depth asd, we fit our model f to predict a correction ("delta") to the input depth, so that final depth predictiond is expressed as: In some sense residual-prediction is an easier task conceptually and numerically, since the output lies in a smaller dynamic range. Residual learning is emerging as a promising approach in control and reinforcement learning [51], where it is used to learn corrections for a parametric control policy.

Validity Mask
Residual prediction is supported by appending an additional input channel, quantifying the pixel-wise confidence for each depth value. In our case, we found it practical to use binary values, valid-invalid, but the confidence values could be continuous in the general case.
The Encoder-Decoder with U-Net connections ( Fig. 2.2) was the basis for a model search and experimentation with different combinations of the other features mentioned in the above subsections. We describe these experiments in Sec. 4.2.

Training
We trained all models on a mixture of our industrial data and on the NYUv2 indoor data [36] at a 1:1 ratio, while the validation set was slanted towards industrial data (85% to 15%). These data domains are rather different, so we (a) scaled the NYUv2 depth values by a constant factor to match our working range (∼1m), and (b) applied a "sparsifier" [34] that simulates measured depth by selectively dropping pixel values. The sparsifier is based on [34] which creates holes at low texture regions, a typical issue for passive stereo vision systems. The cameras we used emit structured IR light to overcome this issue, but as they do suffer from holes at occlusion boundaries, we modified the sparsifier to simulate this behavior on high gradient regions.

Objective Function
The main loss in our work is prediction accuracy, i.e. the difference between the predicted depth and ground truth. Another useful loss was on the magnitude of the prediction's Laplacian, encouraging smoothness (as developed in [32,33]). We also experimented with losses on the difference between the gradients of the prediction and the ground-truth but this did not prove out to be beneficial.
The general form of the loss we use is: where L depth comprises penalize difference in depth prediction w.
where d,d are the ground truth and predicted depth respectively, and we denote by ∇d the image of gradients and by ∆d the Laplacian, i.e. ∆d = d 2 xx + d 2 yy , per pixel. The weights w p , w g , w s corresponding to the prediction, gradient (normals) and smoothness terms, respectively, are again chosen via hyperparameter search.
The early feedback and auxiliary task terms are defined as: L early = l e (d early , d), and L rgb = l rgb (Î, I), ford early -intermediate depth outputs, andÎ the predicted RGB image (as before, d is the ground truth depth and I the input RGB frame). Different choices are possible and discussed in the literature for the distance metrics (l {p,g,s,d,rgb} ). After experimentation (see next clause), we used L 1 to train models for comparison.

Hyperparameter Search
We conducted a hyperparameter search to determine Learning-Rate (LR), LR decay parameters, weight decay, etc. Our hyper parameter search included different types of distance metrics and their relative weights: L 1 , L 2 , Huber, Adaptive Huber, and RHuber [20]. We found negligible differences between the metrics, so from here on we will only mention results for L 1 .

Results
In this section, we compare our model to that of Ma and Karaman [34] (Sec. 4.1) using standard metrics (see Table 1). Subsequently we present the results of an ablation study (Sec. 4.2) outlined in Sec. 3 Table 1: Evaluation metrics. The sums exclude invalid ground truth pixels. We use d andd to denote the target (ground truth) and predicted depth, respectively. The index i runs over N , the total number of valid (non-zero) ground truth pixels.
from scratch on the same training set, which is a mixture of random samples at a 1:1 ratio from the NYU Depth v2 (NYUDv2) [36] and our data. The models are compared on a validation set which is a random mixture preferring our data (85%) over NYUDv2 (15%).

Comparative Study
We comapre our model against Ma and Karaman [34] in Table 2, on the validation set. The 1st row lists the total acquisition error, i.e raw input vs. groundtruth. The 2nd row shows prediction errors of Ma and Karaman's model after training from scratch on our data, using their best hyperparameters. For fair comparison, we performed a hyperparameter search on our data for their model, and show the results on the 3rd row; this was sufficient to reduce their errors by ∼ 70%. On the 4th row we present our best results, which reduce the errors even further. In Fig. 3 we depict training errors (MAE, y axis) on the training (left) and validation (right) sets. Notably, we found that our model learns faster and reaches the best accuracy. In the following section, we analyze the individual elements in our model which contribute to this improvement.

Ablation Study
To assess the contribution of each modification listed in Sec. 3.2, we report training results from two sets of experiments. In the first set of experiments ("incremetal"; Fig. 4, left panel) we add one modifications to a baseline model consisting of Ma and Karaman's encoder-decoder with added ("U-Net") skip connections. In the second set of experiments ("decremental"; Fig. 4, right panel) we remove one modification at a time from our best-performing model, with the latter (best-performing model) taken as the baseline for comparison. Due to the high co-dependence of a subset of features we introduces a added two trials with more than one modification. Each of the models in the comparison is trained from scratch with the same training hyperparameters. Each experiment corresponds to a feature addressed in Sec. 3.2 or in Sec. 3.3. Further details on each experiment are given in Table 1.
The incremental experiments (Fig. 4, left panel) show that a noted improvement was obtained w.r.t. the baseline model by adding a validity mask input    Fig. 4. Incremental column lists corresponding modification(s) to baseline for incremental experiments (Fig. 4 left). Decremental column lists corresponding modifications to baseline for decremental experiments (Fig. 4 right).
channel. Not surprisingly, the most significant improvement was obtained by interpolating depth measurements input to the model and predicting the residual, while the rest of the modifications do not seem to have a significant effect on their own. Residual prediction over interpolated input and validity mask accounts for most of the improvement w.r.t. the baseline. The same behavior can be seen in the decremental experiments (Fig. 4, right panel), where performance was affected by removing residual prediction, i.e. training to directly predict depth instead. Interestingly, removing the residual prediction reduced accuracy ("delta", "delta-interp" experiments) even when model was still input with interpolated depth ("delta"). However, predicting residual depth from non-interpolated inputs caused an even more severe degradation ("interp" experiment).

Conclusions and Future Work
In this paper, we provide a novel industrial objects dataset of RGBD images and a method to complete missing depth points due to reflections of specular objects. The main limitations of the dataset are: -Variability: 45 objects, 3 backgrounds.
-Size: ∼3,500 samples, i.e. different combinations of object pose (∼4 per object) and four static camera view-points. -Fidelity: the ground truth depth suffers from holes.
A compelling avenue for future work is automating the data collection using a robot mounted camera. This will make it easier to acquire a larger variety of objects, increase the number of view-points, and open interesting secondary research questions. With a camera-in-hand, one can generate the ground-truth, either by applying multiple-camera geometry on the robot's poses or by Structurefrom-Motion techniques. The efficiency of this processes could benefit from ap-plying Active Perception principles [2,5,1]. Moreover, we expect active perception to improve data fidelity, as [49] has demonstrated in the domestic domain, since different view angles modify the perceived reflections and may completely eliminate them. This will also allow us to do surface normals prediction, which currently is problematic with the data we have at hand. Additionally, the robot will manipulate the objects and randomize the scenes to expand variability and boost generalization capability of trained models.
One alternative to this automation is to generate photo-realistic synthetic data. This has been done for transparent consumer products [41] and could be attempted for industrial applications, largely thanks to the availability of large industrial CAD datasets [23]. The flexibility of synthetic frameworks is appealing but it must be noted that they require large engineering and artisticdesign efforts to render a large variety of scenes and bridge the synthetic-real domain gap. In our case. we have two potential domain-gaps which are slightly different from each other: -Photo-realism: the RGB images need to appear real. -Depth issues: it is straightforward to produce complete synthetic depth for ground-truth, but it is more challenging to imitate the device-specific issues and artifacts that arise in real-world acquisition systems.
A practical approach might be to mix synthetic and real data, as well as applying domain-adaptation techniques [6]. Notably, the model that we developed performed better than related counterparts, owing to the synergy between the best-practices assembled from previous analyses. The paramount modifications are the additional U-connections and rephrasing the problem in residual terms, that is, predicting a small additive correction on top of a reasonable initial estimation. It might be possible to drive the model performance further by tracking the latest improvements in deep models, e.g. higher capacity ResNet blocks [11]. Prior research [8,41] achieved compelling progress by taking surface normals into consideration. Consequently, an interesting continuation of the current research would be to add an auxiliary task of predicting surface-normals from RGB. We note that in this work we refrained from doing so due to lack of data, namely the ground-truth being relatively noisy and scarce.
Depth completion is a rapidly evolving research topic, but it still lacks clear industrial requirements or benchmarks to test against. As a by-pass, we suggest that it would be interesting to gauge the impact of this post-processing step on physical manufacturing tasks, such as object grasping and manipulations. It could be exciting to demonstrate the practical implications of this seemingly tepid depth-completion task. We believe that it is a pivotal enabler for Industry 4.0, with vast consequences to global economy.