拉普拉斯特征映射matlab,拉普拉斯特征映射

Dense Object Nets (DONs) by Florence, Manuelli and Tedrake (2018) introduced dense object descriptors as a novel visual object representation for the robotics community. It is suitable for many applications including object grasping, policy learning, etc. DONs map an RGB image depicting an object into a descriptor space image, which implicitly encodes key features of an object invariant to the relative camera pose. Impressively, the self-supervised training of DONs can be applied to arbitrary objects and can be evaluated and deployed within hours. However, the training approach relies on accurate depth images and faces challenges with small, reflective objects, typical for industrial settings, when using consumer grade depth cameras. In this paper we show that given a 3D model of an object, we can generate its descriptor space image, which allows for supervised training of DONs. We rely on Laplacian Eigenmaps (LE) to embed the 3D model of an object into an optimally generated space. While our approach uses more domain knowledge, it can be efficiently applied even for smaller and reflective objects, as it does not rely on depth information. We compare the training methods on generating 6D grasps for industrial objects and show that our novel supervised training approach improves the pick-and-place performance in industry-relevant tasks.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是拉普拉斯特征映射MATLAB 代码实现: ```matlab function Y = laplacian_eigenmaps(X, n_components, k, gamma) % Laplacian Eigenmaps algorithm for dimensionality reduction. % % Parameters: % ----------- % X: matrix, shape (n_samples, n_features) % The input data to reduce dimensionality. % n_components: int % The number of components to keep. % k: int, optional (default=5) % Number of neighbors to use when constructing the adjacency matrix. % gamma: float, optional (default=0.1) % Parameter controlling the strength of the affinity matrix. % % Returns: % -------- % Y: matrix, shape (n_samples, n_components) % The reduced data. % Compute pairwise euclidean distances D = pdist2(X, X); [~, indices] = sort(D, 2); indices = indices(:, 2:k+1); W = exp(-gamma * D.^2); W(sub2ind(size(W), repmat((1:size(W,1))', [1 k]), indices)) = 0; % Compute the degree matrix D = sum(W, 2); D = spdiags(D, 0, size(W, 1), size(W, 1)); % Compute the unnormalized Laplacian L = D - W; % Compute the normalized Laplacian D_inv_sqrt = spdiags(1 ./ sqrt(D), 0, size(W, 1), size(W, 1)); L_norm = D_inv_sqrt * L * D_inv_sqrt; % Compute the eigenvectors and eigenvalues of L_norm options.disp = 0; [eigenvectors, eigenvalues] = eigs(L_norm, n_components+1, 'SM', options); % Sort the eigenvectors by eigenvalues [~, idx] = sort(diag(eigenvalues)); eigenvectors = eigenvectors(:, idx); % Remove the first eigenvector (eigenvalue=0) eigenvectors = eigenvectors(:, 2:n_components+1); % Normalize the eigenvectors Y = normr(eigenvectors); end ``` 这个实现使用了 MATLAB 的 `pdist2` 函数计算邻居之间的距离,使用了 `spdiags` 函数来构造对角线矩阵,使用了 `eigs` 函数计算特征向量和特征值,并使用 `normr` 函数对特征向量进行归一化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值