• 沒有找到結果。

Kernel Correlation as A Fitting Function

Non-Rigid Registration Using Kernel Correlation

3.3 Kernel Correlation as A Fitting Function

where Kj is the neighbor set of node j. The cost function sums the square error of surface regularization over all nodes in deformation graph.

For the given set of mappings F , minimizing the energy system in Equa-tion 3.3 results in a set of Rj and tj for the desired deformation of the un-derlying surface. Our surface deformation model employs deformation graph and the cost of constraint energy in Equation 3.1 becomes as

Econstraint = Erotate+ Eregular. (3.8)

We overwrite the surface fitting energy Ef it for non-rigid shape registration using kernel correlation, which will be described in the following section.

3.3 Kernel Correlation as A Fitting Function

Kernel correlation was proposed in Tsin [Tsi03] and Tsin et al. [TK04] for rigid registration. It measures the affinity between two shapes and gains a higher affinity if the poses of the shapes are similar. Considering the affinity measurement between two points s and t, the definition of kernel correlation using Gaussian kernel is

KC(s, t) = e−kt−sk22σ2 , (3.9) which has a higher value when the distance between two points become smaller. This implies that two points are getting closer when the affinity value is maximized. For the affinity measurement between a point s and a point set T , we define kernel correlation as

KC(s, T ) =X

t∈T

e−kt−sk22σ2 . (3.10)

This formulation shows that a point s in 3D space is relevant to all points in

that we don’t care about the normalized term of Gaussian function because we directly sum up the values at points instead of calculating the area under Gaussian function, as shown in Figure 3.5.

t

j

t

j+1 . . .

s t

k

Figure 3.5: The kernel correlation between a point and a point set sums up the values of each point sample on the kernel function centered at s.

To explain the interaction between s and T , we take the first differentia-tion upon s and see the gradient

∂KC(s, T )

∂s ∝X

t∈T

e

−kt−sk2

2σ2 (t − s), (3.11)

which is proportional to the sum of weighted directions between s and points t in T . Each point t in T implies a direction outgoing from s with a weighting value e−kt−sk22σ2 , which means that with the larger distance deviated from s, t has the smaller weighting. Maximizing the affinity value of kernel correlation defined on a point s with respect to a point set T means moving the point s through the gradient field and finally reaching an extreme position, as shown in Figure 3.6.

3.3. KERNEL CORRELATION AS A FITTING FUNCTION

s

T

Figure 3.6: The moving point s (blue) will reaches an extreme position where the gradient of the KC(s, T ) is zero and the KC(s, T ) is maximized.

This behavior can also be seen as a point s equipped with a kernel func-tion moving around the point samples t ∈ T . At each time step, t affects s according to the kernel function and become noneffective to s when the dis-tance between t and s is too large. In Figure 3.7, we see that the weighting value is below 3.73 × 10−6 when the distance between t and s is large then 5 times the deviation σ. The weighting value could be clamped to zero since it almost has no affect to the gradient. We say that each source point has an effective kernel region for the point samples in T . For Gaussian kernel, the kernel size is related to the value σ.

1

Figure 3.7: When the distance is larger then 5 times the deviation σ, the weight is almost zero.

sitions. In Figure 3.8, point s reaches the extreme position at t1 in Figure 3.8(a), while it reaches an extreme position in the middle between t1 and t2 in Figure 3.8(b). Different initial positions of s can also result in different extreme positions. For example, the point s in Figure 3.8(c) has the same kernel size as in Figure 3.8(a) but reaches the extreme position at t2.

(a) (b) (c) t1 t2 t1 t2 t1 t2

s s s

Figure 3.8: Different kernel sizes and initial positions can result in different extreme positions.

The aforementioned reveals that it is possible to have a point closer to a point set via maximizing kernel correlation when the kernel size is appropri-ately set up. For non-rigid registration process using kernel correlation, we equip each point s on the deforming source S with a kernel function. Each point s considers all points in its kernel and gains a moving direction accord-ing to the gradient field of the kernel function and finally reaches the extreme position on the target surface T when the kernel correlation is maximized.

To define the fitting function of non-rigid registration between the deforming source S and the target T , we sum up the kernel correlation of each point in S and maximize it, or we sum up the negative kernel correlation of each

3.3. KERNEL CORRELATION AS A FITTING FUNCTION

point in S and minimize the following function:

Ef it(S, T, A) = −X

s∈S

KC(s, T ) = −X

s∈S

X

t∈T

e−kt−˜2σ2sk2, (3.12)

where the new position ˜s is transformed according to the deformation graph.

The fitting function will lead each point s to its own extreme position as close as possible.

As mentioned before, different kernel sizes can result in different extreme positions for each moving point s. If kernel size is large enough to cover all points t ∈ T , points in S will move to extreme positions which might be close to each other, leading to a stretched surface; as illustrated in Figure 3.9(a).

By appropriately setting the kernel size, we can get a better result as show in Figure 3.9(b). Conceptually, each point s ∈ S can have its own kernel size, but we use the same size for all s ∈ S for simplicity. How to set the size appropriately is currently decided by user. An important observation is that the size should be able to cover a small set of point samples for effective motion, otherwise the moving point may get stagnated due to the noneffective gradient.

(a) (b)

Figure 3.9: Point set registration using different kernel sizes.

A heuristic method can be used for setting the kernel size. For simplicity here we define the kernel size rkernel = 5σ. We need a way to set appropriate σ. Given an arbitrary value of Gaussian deviation σ, one can observe how many point samples will be covered by the region with rkernel. From the observation that rkernel is suggested to cover a small local neighborhood on the point samples. For example, Figure 3.10 illustrates the neighborhood of point samples in 1D, 2D and 3D space. A set of points in a 3 by 3 window forms a neighborhood for range images. We tune the Gaussian deviation σ for different data sets such that the region with rkernel covers 9 point samples. Since the exact calculation of the number of points covered by the region with rkernel over Euclidean space is too computationally expensive, we approximate the value by calculating the number of points covered by the region with rkernel at each point sample and extract the median number from them. Finally, σ is decided when the median number is 9, which means that

相關文件