Towards Learning Technical Systems
Stefan Bosse1,*
Parth Kasundra2
1University of Bremen, Dept. Mathematics & Computer Science, Bremen, Germany
2marinom GmbH, Bremen
*Presenting author
Stefan Bosse - Robust Underwater Image Classification - Overview
Let's talk about self-adaptive and intelligent technical systems applied to sensor data.
Stefan Bosse - Robust Underwater Image Classification - Overview
Let's talk about self-adaptive and intelligent technical systems applied to sensor data.
Object and Region-of-Interest detection in underwater images is a challenge, even for humans and experts!
Domain-specific Automated Region-of-Interest detection is addressed in this work.
Stefan Bosse - Robust Underwater Image Classification - Overview
Underwater images pose low quality with respect to illumination conditions, sharpness, and noise.
Finding ROIs automatically can help to identify relevant regions in the image quickly by humans, or they can be used as an input for automated inspection and structural health monitoring (SHM).
Underwater inspection of technical structures, e.g., piles of sea mill energy harvester, typically aims to find material changes of the construction, e.g., rust or coverage with pocks, to make decisions about repair and to assess the operational safety.
Stefan Bosse - Robust Underwater Image Classification - Overview
Currently, for the inspection of piles of sea windmill energy harvester, divers have to go under water.
But even if humans inspect the underwater surfaces (underwater by the diver or remotely), the scenes are cluttered and the identification of surface coverage is a challenge.
Automated visual inspection is desired to reduce maintenance and service times.
Stefan Bosse - Robust Underwater Image Classification - Overview
The image segment classification and ROI detection algorithms should be capable to be implemented on embedded systems, e.g., directly integrated in camera systems with application specific co-processor support.
Stefan Bosse - Robust Underwater Image Classification - Overview
The image segment classification and ROI detection algorithms should be capable to be implemented on embedded systems, e.g., directly integrated in camera systems with application specific co-processor support.
The aim is to achieve an accuracy of at least 85-90% for the predicted images, with a high degree of generalization and independence from various image and environmental parameters such as lighting conditions and background colouration, as well as relevant classification features.
Stefan Bosse - Robust Underwater Image Classification - Overview
We propose and evaluate a hybrid approach with segmented classification using small-scaled CNN classifiers (with less than 20000 hyper parameters and less than 3 Million unity vector operations)
A reconstruction of labelled ROIs is provided by using an iterative mean and expandable bounding box algorithm.
The overall classification accuracy (true-positive classification) with respect to a single segments is about 70%, but with respect to the iteratively expanded ROI bounding boxes it is about 90%.
Stefan Bosse - Robust Underwater Image Classification - Overview
The underwater inspection of technical structures, e.g., construction parts of off-shore wind turbines like piles, involves the identification of various parts in the underwater images:
Stefan Bosse - Robust Underwater Image Classification - Overview
The images set consists of different RGB underwater images posing a
The images are snapshots taken from videos recorded by a human diver with an underwater camera.
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
Overview of the data flow architecture and the used algorithms
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
Web browser-based software architecture with remote shell worker processes (Bosse, Appl. Sciences, 2022)
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
Arch. | Layer | Filter | Activation | Output | Parameter | VecOps |
---|---|---|---|---|---|---|
A (8/16) | Conv Relu Pool Conv Relu Pool Fc SoftMax |
[5×5]×8,s=1 - [2×2]×8,s=2 [5×5]×16,s=1 - [3×3]×16,s=3 - - |
- relu - - relu - relu - |
64×64×8 64×64×8 32×32×8 32×32×16 32×32×16 10×10×16 1×1×3 3 |
608 32768 0 3216 16384 0 4803 3 Σ57782 |
4915200 32768 8192 6553600 16384 1600 9600 3 Σ11537347 |
B (4/8) | Conv Relu Pool Conv Relu Pool Fc SoftMax |
[5×5]×4,s=1 - [2×2]×4,s=2 [5×5]×8,s=1 - [3×3]×8,s=3 - - |
- relu - - relu - relu - |
64×64×4 64×64×4 32×32×4 32×32×8 32×32×8 10×10×8 1×1×3 3 |
304 16384 0 808 8192 0 2403 3 Σ28094 |
2457600 16384 4096 1628400 8192 800 4800 3 Σ4127878 |
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
Arch. | Layer | Filter | Activation | Output | Parameter | VecOps |
---|---|---|---|---|---|---|
C (8/8) | Conv Relu Pool Conv Relu Pool Fc SoftMax |
[5×5]×8,s=1 - [2×2]×8,s=2 [5×5]×8,s=1 - [3×3]×16,s=3 - - |
-- relu - - relu - relu - |
64×64×8 64×64×8 32×32×8 32×32×8 32×32×8 10×10×8 1×1×3 3 |
608 32768 0 1608 8192 0 2403 3 Σ45582 |
4915200 32768 8192 3276800 8192 800 4800 3 Σ8246755 |
D (4/4) | Conv Relu Pool Conv Relu Pool Fc SoftMax |
[5×5]×4,s=1 - [2×2]×4,s=2 [5×5]×4,s=1 - [3×3]×4,s=3 - - |
- relu - - relu - relu - |
64×64×4 64×64×4 32×32×4 32×32×4 32×32×4 10×10×4 1×1×3 3 |
304 16384 0 404 4096 0 1203 3 Σ22394 |
2457600 16384 4096 819200 4096 400 2400 3 Σ3304179 |
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
Σ={B,P,C,U}σ∈Σ^M=⎛⎜ ⎜ ⎜ ⎜⎝σ1,1..σ1,jσ2,1..σ2,j......σi,1..σi,j⎞⎟ ⎟ ⎟ ⎟⎠
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
DBSCAN:P→{{pj}j,{pk}k,{pl}l,..},j≠k≠lP:{pi}i,i={1,2,3,..,n}pi=<i,j>∈R2
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
Iterative bounding box expansion with final conflict overlapping shrinking
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
The MBB algorithm computes points ⟨x1,y1,x2,y2⟩ of a bounding box that is centred at the mass-of-centre point c of all points of a cluster and with outer sides given by the vectorial mean centred position of all points above or below, and left or right form the c point.
The expansion of a previously computed bounding box is done by all points outside of the current bounding box, performing the next extension iteration.
Stefan Bosse - Robust Underwater Image Classification - Methods and Architecture
In case of high iteration loop values, bounding boxes from different classes can overlap.
To reduce overlapping conflicts, a class priority is introduced layering the class regions by relevance.
After the ROI expansion is done, overlapping bounding boxes with lower priority are shrink until all overlap conflicts are resolved.
Stefan Bosse - Robust Underwater Image Classification - Experiments and Results
Training and test data: Randomly chosen sub-set of about 10000 image segments taken from about 300 snap shot images
Stefan Bosse - Robust Underwater Image Classification - Experiments and Results
Training and test data: Randomly chosen sub-set of about 10000 image segments taken from about 300 snap shot images
Four different identical models were trained and applied in parallel (different random initialisation and sub-set of images)
Stefan Bosse - Robust Underwater Image Classification - Experiments and Results
Classified bounding boxes for one image using four models trained in parallel (same parameters) but with different random initialisation and training data sub-set (Blue: class background, red: class coverage, green: class free construction surface)
Stefan Bosse - Robust Underwater Image Classification - Experiments and Results
Data Set | Total error (¬TPC) % | Error (¬TP)/class (B,P,C) % | Prediction accuracy/Class C (TP,FP,TN,FN) % |
---|---|---|---|
Training | 10.6±1.5 | 5.0±3.4 6.0±2.8 21.0±7.1 |
79.0±7 4.8±2 94.7±6.6 10.5±3.1 |
Test | 11.1±1.8 | 5.3±2.6 5.8±3.2 22.0±8.3 |
78.0±4.3 5.1±2.2 95.1±2.1 11.0±4.4 |
All | 10.9±1.6 | 4.2±2.8 5.9±3.4 21.7±8 |
78.4±8 5.0±2.2 95.0±2.2 10.8±4 |
Accumulated prediction results for training, test, entire data set union with statistical features of the model ensemble trained in parallel (using different data sub-sets and random initialisation). All errors with 2σ standard deviation interval, and N=9000 samples, n=3000 for each class, and using CNN architecture A.
Stefan Bosse - Robust Underwater Image Classification - Experiments and Results
CNN Architecture | Parameters | Forward Time | Backward Time |
---|---|---|---|
A (8/16) | 122587 | 18 ms1, 0.5 ms2 | 26 ms1, 1 ms2 |
B (4/8) | 66639 | 8 ms1 | 10 ms1 |
C (8/8) | 104603 | 12 ms1 | 18 ms1 |
D (4/4) | 58047 | 6 ms1 | 8 ms1 |
Forward and backward (training) times for one 64 × 64 × 3 segment and different CNN architectures using the JavaScript ConvNet.js classifier1 and TensorFlow (CPU)2
Stefan Bosse - Robust Underwater Image Classification - Conclusion
Stefan Bosse - Robust Underwater Image Classification - Conclusion
Although the overall classification accuracy is about 90%, the high variance of the segment prediction results across differently trained models (model ensemble all having the same architecture) limits the output quality of the labelled ROI detector, typically resulting in an underestimation of the classified regions and a lacking of generalisation.
Stefan Bosse - Robust Underwater Image Classification - Conclusion
Although the overall classification accuracy is about 90%, the high variance of the segment prediction results across differently trained models (model ensemble all having the same architecture) limits the output quality of the labelled ROI detector, typically resulting in an underestimation of the classified regions and a lacking of generalisation.
But the presented static segment prediction with point clustering and iterative selective bounding box approximation with final overlap conflict reduction is still reliable. Similar to random forest trees, a multi-model prediction with model fusion (e.g., major coverage estimation) is proposed to get the best matching bonding boxes for the relevant classes.
Stefan Bosse - Robust Underwater Image Classification - Conclusion
The reduction of the CNN complexity with respect to the number of filters and dynamic parameters does not lower the classification accuracy significantly.
Stefan Bosse - Robust Underwater Image Classification - Conclusion
Towards Learning Technical Systems
Stefan Bosse1,*
Parth Kasundra2
1University of Bremen, Dept. Mathematics & Computer Science, Bremen, Germany
2marinom GmbH, Bremen
*Presenting author