# MViDO: A High Performance Monocular Vision-Based System for Docking A Hovering AUV
## 2 Mvido: A Monocular Vision-Based System for Docking a Hovering Auv
### Resilience to Occlusions and Outliers Rejection
#### 2.3.1 Problem Formulation  
Considering an image \(I\) composed by a set of pixels \(I\left\{x_{i},y_{j}\right\}\) where \(i\in\mathbb{N}\left[0\ I_{width}\right]\) and \(j\in\mathbb{N}\left[0\ I_{height}\right]\), in the Hue, Saturation, Value (HSV) space \(I_{HSV}\) where is extracted a set of color blobs \(Bl=\left[Bl_{red},Bl_{yellow},Bl_{green}\right]\). Considering that in HSV color space, the Hue refers to the perceived color; the Saturation measures its dilution by white light (the \"vividness\" of the color); and the Value is the intensity information. The detector block is used to detect the color blobs in the HSV space. Based on that visual sensing, the position and the radius of each detected color blob \(Bl_{k}^{i}\) is extracted from the image with some uncertainty. Each detected color blob in the image is represented by \(Bl_{k}^{i}=\left[u,v,rd_{Bl}\right]\). Where \(u,v\) is the position of the blob on the image and \(rd_{Bl}\) is the blob radius on the image. The blobs are selected considering the colour likelihood model, which is defined in a way that privilege the hypotheses with HSV values which are close to the reference HSV values and the blobs with bigger radius.  
\[P(Bl_{color}^{i})=C_{1}*P_{color}(Bl_{color}^{i})+\frac{C_{2}*rd_{Bl_{color}^{i} }}{max(rd_{Bl_{color}})}, \tag{21}\]  
where \(C_{1}\) and \(C_{2}\) are parameters to weight the values given by the model color and radius. \(P_{color}\) is a function that returns the mean probability of all pixels inside the circle defined by \(\left[u,v,rd_{Bl}\right]\) and considering the function (24).  
Analyzing Equation (21), the probability \(P(Bl_{color}^{i})\) of being the color blob \(i\) will result from the sum (a fusion) of two terms. The first term \(C_{1}*P_{color}(Bl_{color}^{i})\) concerns to constraints in the color space. The second term \(\frac{C_{2}*rd_{Bl_{color}^{i}}}{max(rd_{Bl_{color}})}\) concerns to the geometric constraints of the target.  
We want to use a particle filter per each marker that compose the target, to determining the position of each marker in an image. For each marker, a particle filter is implemented in order to make the system reliable under one marker occlusion. With three particle filters we increase the system redundancy making it more reliable. For each color marker \(BlC_{k}\), we have a state vector as presented below:  
\[\mathbf{BIC_{k}}=\left[u,v,rd_{Bl},c_{x},c_{y},c_{rd_{Bl}}\right], \tag{22}\]  
where \(k\) is the marker index, \(u,v\) is the position of the marker on the image, \(rd_{Bl}\) is the marker radius on the image and \(c_{x},c_{y},c_{z}\) is the linear velocity. The \(\mathbf{BIC_{k}}\) is initialized with the values of \(Bl_{k}^{i}\) which  
Figure 7: Proposed approach for tracking the target in video captures and to estimate the relative pose of the AUV with regard to that target. In the Figure, the elements \(u,v\) and \(R\) are the position of the blob on the image and the blob radius on the image.  
has the higher probability (\(max(P(Bl_{color}))\) on the set \(Bl_{k}\). Each filter uses a constant velocity model (see Figure 7).