Welding is commonly used for connecting metal components in these critical metallic infrastructure, such as agricultural facilities, wind turbines, railways, bridges and pipelines. However, welding processes vulnerably lead to forming cracks, pores, and other defects on the surface. These defects not only could result in severer cracks and corrosion, but also may ultimately lead to malfunction and failure of metal components. Inspection of welds is thus critical to ensure the welding quality during fabrication, construction process, and later in-service stage. The visual inspection is the crucial and most cost-effective step to determine if the welding quality is passed or rejected. However, fast and accurately determining welding quality is a challenging task in the conventional visual inspection process, which is highly dependent on the experience and expertise of inspectors, and it is fairly subjective and sometimes even misleading. To meet the gap, we bring machine intelligence to welding visual inspection. Specifically, we developed a low-cost portable embedded device to support advanced machine learning algorithms for real-time welding image processing.
Stereo Matching algorithms reconstruct a depth map from a pair of stereoscopic images. Stereo Matching algorithms are computationally intensive. Implementing efficient stereo matching algorithms on embedded systems is very challenging. This paper compares implementation efficiency and output quality of the state of the art dense stereo matching algorithms on the same multicore embedded system. The three different classes of stereo matching algorithms are local methods, semi-global methods and global methods. This paper compares three algorithms of the literature with a good trade-off between complexity and accuracy : Bilateral Filtering Aggregation (BFA, Local Method), One Dimension Belief Propagation (BP-1D, Semi Global Methods) and Semi Global Matching (SGM, Semi Global Methods). For the same input data the BFA, BP-1D and SGM were fully optimized and parallelized on the C6678 platform and run at respectively 10.7 ms, 4.1 ms and 47.1 ms.