Pipeline for Monocular 6D Pose Estimation of Shipping Containers
Abstract
For å øke sikkerheten, og faktorer som kostnader, tids- og energibruk og utslipp, har SINTEF Ocean uttrykt interesse for å undersøke mulighetene for å ettermontere en hydraulisk kran med ett mono kamerasystem for å øke graden av autonomi i kranoperasjoner. For å oppnå en sanntidsdeteksjonen av last er objektposisjon og orientasjon avgjørende for at kranen skal kunne samhandle med sitt 3D-miljø. Siden kranen for det meste opererer på last som har en kubisk form, er ett system som er i stand til å estimere posisjon og orientasjon til en generell kubisk form anvendelig, og derfor fordelaktig. Derfor velges en container, da den har en kubisk form i tillegg til å være et objekt som er sterkt relatert til den maritime sektoren.
Siden kvaliteten på et datasynsprosjekt er sterkt avhengig av dataene som presenteres under trening, kombinert med utfordringene med å annotere bilder, ble det laget et syntetisk datasett for denne oppgaven. Datasettet ble konstruert og gjengitt i 3D-modelleringsprogramvaren Unity.
Denne oppgaven utforsker ett system for estimering av objektposisjon og orientasjon på containere i et offshoremiljø. Rørledningen består av to segmenter; deteksjonssegmentet og segmentet som estimere posisjon og orientasjon. Deteksjonssegmentet forutsier posisjonen til containeren ved hjelp av semantisk segmentering og U-Net-nettverket. Deretter beskjæres og returneres det originale bildet rundt prediksjonen, dersom en konfidensverdi er over 60\% . Systemets andre segmentet tar inn det beskårne bildet og mater det til det spesiallagde DVFnet for regresjon av enhetsvektorer som peker mot nøkkelpunktene. Random Sample Consensus, en konsensus-stemmeprosess blir deretter brukt for lokalisering av nøkkelpunkter. Til slutt brukes OpenCVs solvePnP() med de predikerte nøkkelpunktene, for å løse PnP-problemet, og estimere beholderens posisjon og orientasjon i 3D-verdenen.
Testing av den foreslåtte systemet ble utført på det spesiallagde syntetiske SINTEF 6DPE ISO-conatiner datasettet. Resultatene fra testen viser at systemet er utilstrekkelig for bruk i sanntid. Deteksjonssegmentet til dette foreslåtte systmet oppnådde gode resultater ved bruk av U-Net for segmentering. Det trente U-Net nådde en treffsikkerhet på 82\% på testdataene og ga som sådan tilstrekkelige prediksjoner for containere. DVFnet viste imidlertid tegn på overtilpasning som lammet ytelsen i oppgaven med å regressere enhetsvektorfeltene for nøkkelpunktene. Nettverket estimerer ikke en brukbar positur ved bruk av det forutsagte vektorfeltet, mens posisjonen estimert på ground truth data sliter med systematiske unøyaktigheter. Både bruken av begrensede visuelle endringer på treningsdataen og de symmetriske egenskapene til containerobjektene ble identifisert som mulige feilkilder, da nettverket ikke er i stand til å lære karakteristikker for en container. In order to increase safety, and factors such as costs, time- and energy usage and emission, SINTEF Ocean has expressed interest in investigating the possibilities of retrofitting a hydraulic crane with a monocular camera system to increase the degree of autonomy in crane operations. The achieve this, real-time detection of the object pose of the payload is critical for the crane to be able to interact with its 3D environment. As the crane operates mostly on cargo that is of a cuboid shape, a software able to estimate the pose of a general cuboid shape is applicable, and therefore beneficial. Hence, a shipping container is chosen, as it is of cuboid shape as well as being an object heavily related to the maritime sector.
As the quality of a computer vision projects are heavily dependent on the data presented during training, combined with the challenges of annotating real life images, a synthetic dataset was created for this thesis. The dataset was constructed and rendered in the 3D modelling software Unity.
This thesis explores a pipeline for object pose estimation on shipping containers in an offshore environment. The pipeline consists of two segments; the detection segment and the pose estimation segment. The detection segment predicts the position of the shipping container using semantic segmentation and the U-Net network. The original image is then cropped around the prediction with a confidence score of 60\% and above, and returned. The pose estimation segment takes in the cropped image and feeds it to the custom made DVFnet for regression of pixel-wise unit vectors pointing towards the keypoints. Random Sample Consensus voting process is then applied for keypoint localization. Finally, OpenCVs solvePnP() is used with the predicted keypoints, in order solve the PnP problem, and estimate the containers attitude and position in the 3D world.
Testing of the proposed pipeline was conducted on the custom created synthetic SINTEF 6DPE ISO container dataset. The results from the test shows that the pipeline is inadequate for use in real-time. The detection segment of the proposed pipeline achieved good results with the use of U-Net for segmentation. The trained U-Net reached a dice score of 82\% on the test data and as such provided adequate predictions for the shipping container. DVFnet however, showed signs of overfitting that crippled its performances in its task to regress the unit vector fields for the keypoints. The network does not estimate a usable pose on using the predicted vector field, while the pose estimated on ground truth data struggles with systematical inaccuracies. Both the use of limited augmentations and the symmetrical properties of the container objects were identified as a possible source of error, as the network is not able to learn object features.