flowchart LR
PC["Object Point Cloud X<br/>(depth camera)"] --> SAMP
subgraph SAMP["1 Variational Grasp Sampler (VAE)"]
Z["z ~ N(0,I)"] --> DEC["Decoder P"]
PC2["X"] --> DEC
DEC --> G["๋ค์ํ grasp ์งํฉ<br/>g=(R,T)โSE(3)"]
end
G --> EVAL
subgraph EVAL["2 Grasp Evaluator (PointNet)"]
E["P(S|g,X)<br/>์ฑ๊ณต ํ๋ฅ "]
end
EVAL --> REF
subgraph REF["3 Iterative Refinement"]
R["ฮg = ฮทยท(โS/โg)<br/>๋ฐ๋ณต ๊ฐ์ "]
end
R -.->|๊ฐ์ ๋ grasp| EVAL
REF --> OUT["์๊ณ๊ฐ ์ด์<br/>๊ณ ํ์ง grasp ์งํฉ"]
๐6DOF GraspNet
- Paper Link (arXiv:1905.10520)
- Presentation Video
- ๊ด๋ จ ํ์/์์ฉ: VCGS (arXiv:2302.10745)
- ๐ค ์ด ์ฐ๊ตฌ๋ 3D ํฌ์ธํธ ํด๋ผ์ฐ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ก๋ด ๊ฐ์ฒด ์กฐ์์ ์ํ 6-DOF grasp pose๋ฅผ ์์ฑํ๋ฉฐ, Variational Autoencoder (VAE)๋ฅผ ํ์ฉํ Grasp Sampler์ Grasp Evaluator๋ฅผ ํตํ ๋ฐ๋ณต์ ์ธ ์ ์ ๊ณผ์ ์ ์ ์ํฉ๋๋ค.
- โ๏ธ Grasp Sampler๋ ๋ค์ํ grasp๋ฅผ ์์ฑํ๊ณ Grasp Evaluator๋ grasp์ ์ฑ๊ณต ํ๋ฅ ์ ํ๊ฐํ๋ฉฐ, ์ด ํ๊ฐ ๋ชจ๋ธ์ ๊ธฐ์ธ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ง๋ grasp๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ฐ์ ํฉ๋๋ค.
- ๐ ์ ์๋ ๋ชจ๋ธ์ ์์ํ๊ฒ ์๋ฎฌ๋ ์ด์ ์์ ํ์ต๋์์์๋ ๋ถ๊ตฌํ๊ณ ์ค์ ๋ก๋ด ์คํ์์ ๋ค์ํ ๊ฐ์ฒด์ ๋ํด 88%์ ๋์ ์ฑ๊ณต๋ฅ ์ ๋ฌ์ฑํ๋ฉฐ, ๊ธฐ์กด ์ ๊ทผ ๋ฐฉ์๋ณด๋ค ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์์ต๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
๋ณธ ๋ ผ๋ฌธ์ ๋ก๋ด ๊ฐ์ฒด ์กฐ์์ ์ํ grasp pose ์์ฑ์ ๋ชฉํ๋ก ํ๋ฉฐ, ์ด๋ฅผ Variational Autoencoder (VAE)๋ฅผ ํ์ฉํ grasp sampling ๋ฌธ์ ๋ก ์ ์ํ๊ณ , grasp evaluator model์ ํตํด ์ํ๋ง๋ grasps๋ฅผ ํ๊ฐํ๊ณ ๊ฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. Grasp Sampler์ Grasp Refinement ๋คํธ์ํฌ ๋ชจ๋ depth ์นด๋ฉ๋ผ๋ก ๊ด์ธก๋ 3D point cloud๋ฅผ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก ์ ๋ ๊ฐ์ง ์ฃผ์ ๋คํธ์ํฌ ์ํคํ ์ฒ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค:
- Grasp Sampler (Variational Autoencoder, VAE): ๊ด์ธก๋ ๊ฐ์ฒด์ ๋ถ๋ถ์ ์ธ point cloud๋ก๋ถํฐ ๋ค์ํ grasp set๋ฅผ ์์ฑํฉ๋๋ค.
- Grasp Evaluator Network: ์์ฑ๋ grasp์ ํ์ง์ ํ๊ฐํ๊ณ , ๊ทธ ๊ธฐ์ธ๊ธฐ(gradient)๋ฅผ ์ฌ์ฉํ์ฌ grasp ์ํ์ ๊ฐ์ ํฉ๋๋ค.
1. 6-DOF Grasp Pose ์์ฑ (6-DOF Grasp Pose Generation)
Grasp pose ์์ฑ์ ๋ก๋ด ๊ทธ๋ฆฌํผ๊ฐ ํน์ ๊ฐ์ฒด๋ฅผ ์์ ์ ์ผ๋ก ์ก๊ธฐ ์ํ 6-DOF (3D translation ๋ฐ 3D orientation) ์์ธ๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ ๋๋ค. Grasp๋ ๊ฐ์ฒด ๊ธฐ์ค ํ๋ ์(\bar{X}, ๊ฐ์ฒด point cloud์ ์ง๋ ์ค์ฌ)์์ ์ ์๋๋ฉฐ, ๊ทธ ์ถ์ ์นด๋ฉ๋ผ ํ๋ ์๊ณผ ํํํฉ๋๋ค. ๋ณธ ๋ ผ๋ฌธ์ ์ฑ๊ณต์ ์ธ grasp ๊ณต๊ฐ \mathcal{G}^*์ ํ๋ฐฉ ๋ถํฌ P(\mathcal{G}^* | X)๋ฅผ ํ์ตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ฉฐ, ์ฌ๊ธฐ์ X๋ ๊ฐ์ฒด์ ๋ถ๋ถ point cloud์ ๋๋ค. ์ฑ๊ณต์ ์ธ grasp์ ๋ถํฌ๋ ๋ณต์กํ๊ณ ๋ถ์ฐ์์ ์ผ ์ ์์ต๋๋ค.
1.1. Variational Grasp Sampler
Grasp sampler๋ P(\mathcal{G} | X)์ ๊ฐ๋ฅ์ฑ์ ์ต๋ํํ๋ ์์ฑ ๋ชจ๋ธ์ ๋๋ค.
- ์ ๋ ฅ: ๊ฐ์ฒด์ point cloud X์ ์ ์ฌ ๋ณ์ z.
- ์ถ๋ ฅ: ์์ธก๋ grasp \hat{g}.
- ์ ์ฌ ๊ณต๊ฐ (z): P(z) = \mathcal{N}(0, I)๋ก ๊ฐ์ ํฉ๋๋ค. ์๋ก ๋ค๋ฅธ z๋ฅผ ์ํ๋งํ์ฌ ๋ค์ํ grasps๋ฅผ ์์ฑํฉ๋๋ค.
- ๋ชฉํ ํจ์: Encoder Q(z | X, g)๋ ๊ฐ (point cloud X, grasp g) ์์ ์ ์ฌ ๊ณต๊ฐ์ ์์ ๋ถ๋ถ ๊ณต๊ฐ์ผ๋ก ๋งคํํฉ๋๋ค. Decoder๋ ์ํ๋ง๋ z \sim Q๋ก๋ถํฐ grasp \hat{g}๋ฅผ ์ฌ๊ตฌ์ฑํฉ๋๋ค. ํ๋ จ ์ค์๋ ground truth grasp g์ ์ฌ๊ตฌ์ฑ๋ grasp \hat{g} ์ฌ์ด์ ์ฌ๊ตฌ์ฑ ์์ค \mathcal{L}(\hat{g}, g)์ ์ต์ํํ๊ณ , Q(\cdot|\cdot) ๋ถํฌ์ ์ ๊ท ๋ถํฌ \mathcal{N}(0, I) ์ฌ์ด์ KL-divergence D_{KL}๋ฅผ ์ต์ํํฉ๋๋ค. \mathcal{L}_{vae} = \sum_{z \sim Q, g \sim \mathcal{G}^*} \mathcal{L}(\hat{g}, g) - \alpha D_{KL} [Q(z|X, g), \mathcal{N}(0, I)] ์ฌ๊ตฌ์ฑ ์์ค์ ๊ทธ๋ฆฌํผ์ ๋ฏธ๋ฆฌ ์ ์๋ ์ ๋ค p์ ๋ณํ์ ์ฌ์ฉํ์ฌ ์ ์๋ฉ๋๋ค: \mathcal{L}(g, \hat{g}) = \frac{1}{n} \sum ||T(g; p) - T(\hat{g}; p)||_1 ์ถ๋ก ์์๋ encoder Q๋ ์ ๊ฑฐ๋๊ณ , ์ ์ฌ ๊ฐ์ \mathcal{N}(0, I)์์ ์ํ๋ง๋ฉ๋๋ค.
- ๋คํธ์ํฌ ์ํคํ ์ฒ: PointNet++ [24]๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ๊ฐ ํฌ์ธํธ๋ 3D ์ขํ์ ํน์ง ๋ฒกํฐ๋ฅผ ๊ฐ์ง๋๋ค. Encoder์์๋ ์ ๋ ฅ ํฌ์ธํธ x \in X์ ํน์ง์ด g = [R, T]์ ์ฐ๊ฒฐ๋ฉ๋๋ค. Decoder์์๋ ๊ฐ ํฌ์ธํธ ํน์ง์ด ์ ์ฌ ๋ณ์ z์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
1.2. Grasp Pose Evaluator
Grasp sampler๋ ์ฑ๊ณต์ ์ธ grasp๋ง์ผ๋ก ํ๋ จ๋๊ธฐ ๋๋ฌธ์, ๋ถํฌ ๋ชจ๋ ์ฌ์ด์ ์คํจํ grasp๋ฅผ ํฌํจํ ์ ์์ต๋๋ค. Evaluator ๋คํธ์ํฌ๋ ๊ฐ grasp์ ๋ํด ์ฑ๊ณต ํ๋ฅ P(S|g, X)๋ฅผ ํ ๋นํ์ฌ ์ด๋ฌํ false positive๋ฅผ ์๋ณํ๊ณ ๊ฐ์ง์น๊ธฐํฉ๋๋ค.
- ์ ๋ ฅ: ๊ฐ์ฒด point cloud X์ grasp g.
- ๊ทธ๋ฆฌํผ ํํ: ๋ก๋ด ๊ทธ๋ฆฌํผ๋ 6D grasp pose g์ ๋ฐ๋ผ ๋ ๋๋ง๋ point cloud \mathcal{X}_g๋ก ๊ทผ์ฌ๋ฉ๋๋ค. ๊ฐ์ฒด point cloud X์ ๊ทธ๋ฆฌํผ point cloud \mathcal{X}_g๋ ํฌ์ธํธ๊ฐ ๊ฐ์ฒด์ ์ํ๋์ง ๊ทธ๋ฆฌํผ์ ์ํ๋์ง๋ฅผ ๋ํ๋ด๋ ์ถ๊ฐ ์ด์ง ํน์ง์ ์ฌ์ฉํ์ฌ ๋จ์ผ point cloud X \cup \mathcal{X}_g๋ก ๊ฒฐํฉ๋ฉ๋๋ค. ์ด๋ grasp pose์ ๊ฐ์ฒด point cloud ์ฌ์ด์ ๋ชจ๋ ์๋ ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ grasp๋ฅผ ๋ถ๋ฅํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ๋ชฉํ ํจ์: Cross-entropy loss๋ฅผ ์ฌ์ฉํ์ฌ ์ต์ ํ๋ฉ๋๋ค. \mathcal{L}_{evaluator} = - (y \log(s) + (1 - y) \log(1 - s)) ์ฌ๊ธฐ์ y๋ grasp์ ์ฑ๊ณต ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ground truth ์ด์ง ๋ ์ด๋ธ์ด๊ณ , s๋ evaluator๊ฐ ์์ธกํ ์ฑ๊ณต ํ๋ฅ ์ ๋๋ค.
- ํ๋ จ ๋ฐ์ดํฐ: Robustํ evaluator๋ฅผ ํ๋ จํ๊ธฐ ์ํด ๊ธ์ ์ (positive) ๋ฐ ๋ถ์ ์ (negative) grasp ๋ชจ๋๋ก ํ๋ จ๋ฉ๋๋ค. ํนํ,
hard negative grasps๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๊ธ์ ์ ์ธ grasp์ ์ ์ฌํ ์์ธ๋ฅผ ๊ฐ์ง์ง๋ง, ๊ฐ์ฒด์ ์ถฉ๋ํ๊ฑฐ๋ ๊ฐ์ฒด๋ก๋ถํฐ ๋๋ฌด ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ grasp๋ฅผ ์๋ฏธํฉ๋๋ค. \mathcal{G}^- = \{g^- | \exists g \in \mathcal{G}^* : \mathcal{L}(g, g^-) < \epsilon\}
1.3. Iterative Grasp Pose Refinement
Evaluator ๋คํธ์ํฌ๊ฐ ๋ถ๊ฐ๋ฅํ grasp๋ฅผ ๊ฑฐ๋ถํ์ง๋ง, ๊ฑฐ๋ถ๋ ๋ง์ grasp๋ ์ฑ๊ณต์ ์ธ grasp์ ๊ทผ์ ํ ์ ์์ต๋๋ค. ์ด ์ ์ ํ์ฉํ์ฌ ์คํจํ grasp๋ฅผ ์ฑ๊ณต์ ์ธ grasp๋ก ๋ณํํ๋ ๋ณํ \Delta g \in SE(3)์ ์ฐพ์ต๋๋ค.
- ๋ฐฉ๋ฒ: Evaluator ๋คํธ์ํฌ๋ ์ฑ๊ณต ํ๋ฅ s์ ๋ฏธ๋ถ ๊ฐ๋ฅํ ํจ์๋ฅผ ๋ํ๋ ๋๋ค. ์ฑ๊ณต ํ๋ฅ ์ ์ต๋ํํ๋ ์ ์ ๋ณํ์ grasp ๋ณํ์ ๋ํ ์ฑ๊ณต์ ๋ฏธ๋ถ \partial S / \partial g์ ํตํด ๊ณ์ฐ๋ฉ๋๋ค.
- ์์: \Delta g = \frac{\partial S}{\partial g} = \eta \times \frac{\partial S}{\partial T(g; p)} \times \frac{\partial T(g; p)}{\partial g} ์ฌ๊ธฐ์ \eta๋ ์ ๋ฐ์ดํธ์ ํฌ๊ธฐ๋ฅผ ์ ํํ๋ ํ์ดํผํ๋ผ๋ฏธํฐ์ ๋๋ค.
- ๊ฐ์ฑ ์ ์ฝ (Rigidity Constraint): ๊ทธ๋ฆฌํผ point cloud \mathcal{X}_g๋ Euler ๊ฐ๋ R_g = (\alpha_g, \beta_g, \gamma_g)๋ก ์ ์๋ grasp์ orientation๊ณผ translation T_g์ ํจ์๋ก ์ ์๋ฉ๋๋ค. Chain rule์ ์ฌ์ฉํ์ฌ \Delta g๊ฐ ๊ณ์ฐ๋ฉ๋๋ค.
2. ์คํ (Experiments)
2.1. ํ๋ จ ๋ฐ์ดํฐ ์์ฑ
- ์๋ฎฌ๋ ์ดํฐ: ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ FleX [18]๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๊ณต์ ์ธ grasp์ ๊ธฐ์ค ์ธํธ๋ฅผ ์์ฑํฉ๋๋ค.
- ๊ฐ์ฒด: ShapeNet [3]์ ์์, ์ํต (๋ฌด์์ ์์ฑ), ๊ทธ๋ฆ, ๋ณ, ๋จธ๊ทธ์ปต ๋ฑ 6๊ฐ์ง ๋ฒ์ฃผ์ 206๊ฐ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Grasp ์ํ๋ง: ๊ฐ์ฒด ๋ฉ์ฌ ํ๋ฉด์ ๋ฌด์์ ์ ์ ์ํ๋งํ๊ณ , ๊ทธ๋ฆฌํผ์ z-์ถ์ ํ๋ฉด ๋ฒ์ ์ ์ ๋ ฌํ๋ฉฐ, ๊ทธ๋ฆฌํผ์ ๊ฐ์ฒด ํ๋ฉด ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ทธ๋ฆฌํผ ์๊ฐ๋ฝ ๊ธธ์ด ๋ด์์ ๊ท ์ผํ๊ฒ ์ํ๋งํฉ๋๋ค. ๊ทธ๋ฆฌํผ๊ฐ ๊ฐ์ฒด์ ์ถฉ๋ํ์ง ์๊ณ ๋ซ๋ ๋ณผ๋ฅจ์ด ๊ฐ์ฒด์ ๊ต์ฐจํ๋ grasp๋ง ์๋ฎฌ๋ ์ด์ ํฉ๋๋ค.
- ์ฑ๊ณต ์ ์: ๊ทธ๋ฆฌํผ๊ฐ ์๊ฐ๋ฝ์ ๋ซ์ ํ ๋ฏธ๋ฆฌ ์ ์๋ ํ๋ค๋ฆผ ๋์์ ์ํํ ๋, ๊ฐ์ฒด๊ฐ ๋ ์๊ฐ๋ฝ ์ฌ์ด์ ์ ์ง๋๋ฉด ์ฑ๊ณต์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์ด 2,104,894๊ฐ์ ์ฑ๊ณต์ ์ธ grasp๊ฐ ์์ฑ๋์์ต๋๋ค (19.4%).
2.2. ๋คํธ์ํฌ ์ํคํ ์ฒ ์ธ๋ถ ์ฌํญ
- ๊ธฐ๋ฐ: PointNet++ [24] ์ํคํ ์ฒ.
- ๋ ์ด์ด: 3๊ฐ์ set-abstraction ๋ ์ด์ด์ fully connected ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- Set-abstraction ๋ ์ด์ด๋ ๊ฐ๊ฐ 128, 32, ๋ชจ๋ ํฌ์ธํธ๋ฅผ ์ํ๋งํฉ๋๋ค.
- ์ํ๋ง๋ ํฌ์ธํธ์ 2cm, 4cm, โ ๋ฐ๊ฒฝ ๋ด์ ํฌ์ธํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ๊ฐ set-abstraction ๋ ์ด์ด๋ 3๊ฐ์ fully connected ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ์ฌ ํน์ง์ ๊ณ์ฐํ๋ฉฐ, ์ฑ๋ ์๋ ๊ฐ๊ฐ [64, 64, 128], [128, 128, 256], [256, 256, 512]์ ๋๋ค.
- Fully Connected Layers: Set-abstraction ๋ ์ด์ด ๋ค์์๋ 1024๊ฐ ์ ๋์ ๊ฐ์ง ๋ ๊ฐ์ fully connected ๋ ์ด์ด๊ฐ ์์ต๋๋ค.
- Grasp Generator ์ถ๋ ฅ: unit quaternion์ผ๋ก ํํ๋ ํ์ R๊ณผ translation T๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- Evaluator ์ถ๋ ฅ: softmax ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ grasp์ ์ ์๋ฅผ ์์ธกํฉ๋๋ค.
2.3. ํ๊ฐ ์งํ (Evaluation Metrics)
- Success Rate: ์์ธก๋ ๋ชจ๋ grasp ์ค ์ฑ๊ณต์ ์ธ grasp์ ๋น์จ.
- Coverage Rate: ์์ฑ๋ grasp๊ฐ ๊ธ์ ์ ์ธ grasp ๊ณต๊ฐ \mathcal{G}^*๋ฅผ ์ผ๋ง๋ ์ ํฌ๊ดํ๋์ง ์ธก์ ํฉ๋๋ค. ์์ธก๋ grasp ์ธํธ \hat{\mathcal{G}}๊ฐ ๊ธ์ ์ ์ธ grasp g \in \mathcal{G}^*๋ฅผ 2cm ์ด๋ด๋ก ์ปค๋ฒํ๋ฉด ํด๋น grasp๋ ์ปค๋ฒ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
- AUC (Area Under the Curve): success-coverage ๊ณก์ ์ AUC๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฉ๋ฒ๋ก ์ ๋ถ์ํ๊ณ ํ๊ฐํฉ๋๋ค.
2.4. ๋ถ์ ๋ฐ Ablation ์ฐ๊ตฌ
- ์ ์ฌ ๊ณต๊ฐ ์ฐจ์: ์ ์ฌ ๊ณต๊ฐ ์ฐจ์(1, 2, 3, 4)์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ฑ๊ณต-์ปค๋ฒ๋ฆฌ์ง ๊ณก์ ์ AUC๋ฅผ ํ๊ฐํ ๊ฒฐ๊ณผ, 2์ฐจ์ ์ ์ฌ ๊ณต๊ฐ์ด ๊ฐ์ฅ ์ข์ ์ฑ๋ฅ์ ๋ณด์์ต๋๋ค. 1์ฐจ์์ ์ฉ๋ ๋ถ์กฑ, 3์ฐจ์ ์ด์์ ๊ณผ์ ํฉ ๋ฐ ์ถ๋ก ์ ์ปค๋ฒ๋ฆฌ์ง ๋ฌธ์ ๋ก ์ธํด ์ฑ๋ฅ์ด ์ ํ๋์์ต๋๋ค.
- ์ ์ ๋จ๊ณ์ ํจ๊ณผ: ์ ์ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํ ์๋ก ์์ฑ๋ grasp์ ์ฑ๊ณต๋ฅ ๊ณผ ์ปค๋ฒ๋ฆฌ์ง์จ์ด ๋ชจ๋ ์ฆ๊ฐํ๋ ๊ฒ์ ํ์ธํ์ต๋๋ค. 10๋ฒ์งธ ๋ฐ๋ณต ์ดํ AUC๊ฐ ์๋ ดํ์ต๋๋ค.
- ์ํ๋ง๋ grasp์ ํจ๊ณผ: ์ํ๋ง๋ grasp์ ์๊ฐ ๋ง์์๋ก ์ปค๋ฒ๋ฆฌ์ง์จ์ด ์ฆ๊ฐํฉ๋๋ค.
2.5. ๋ก๋ด ์คํ (Robot Experiments)
- ์ค์ : Intel RealSense D415 ์นด๋ฉ๋ผ๊ฐ ์ฅ์ฐฉ๋ 7-DOF Franka Panda ๋ก๋ด ํ์ ์ฌ์ฉํฉ๋๋ค.
- ๊ฐ์ฒด: ์๊ฐ์ ์ผ๋ก๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊น๋ค๋ก์ด 17๊ฐ์ง ์ผ๋ฐ์ ์ธ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ฒด์ 3D ๋ชจ๋ธ์ ์ ์ ์์ต๋๋ค.
- ํ๋กํ ์ฝ: ๊ฐ ๊ฐ์ฒด๋ฅผ ๋ก๋ด ์ ํ ์ด๋ธ์ ์ธ ๊ฐ์ง ๋ค๋ฅธ ์์ ์ ์ธ ์์ธ๋ก ๋์ต๋๋ค. ์นด๋ฉ๋ผ ์์ผ๊ฐ ํ๋ณด๋๋๋ก ๋ก๋ด ํ์ ์ด๋ํฉ๋๋ค. ์ธก์ ๋ point cloud์์ ํ ์ด๋ธ ํ๋ฉด์ ์ ๊ฑฐํ๊ณ ๋๋จธ์ง ํฌ์ธํธ๋ฅผ ํด๋ฌ์คํฐ๋งํ์ฌ ๊ฐ์ฒด point cloud๋ฅผ ์ถ์ถํฉ๋๋ค.
- ๋น๊ต: 6-DOF GraspNet๊ณผ GPD [31]๋ฅผ ๋น๊ตํฉ๋๋ค.
- ์ฑ๊ณต ์ ์: ๋ก๋ด์ด ๊ฐ์ฒด๋ฅผ ๋จ์ด๋จ๋ฆฌ์ง ์๊ณ 10cm ๋ค์ด ์ฌ๋ฆด ์ ์์ผ๋ฉด ์ฑ๊ณต์ผ๋ก ๊ฐ์ฃผํฉ๋๋ค.
- ๊ฒฐ๊ณผ: ๋ณธ ๋ ผ๋ฌธ์ ๋ฐฉ๋ฒ์ GPD [31]๋ณด๋ค ๋ชจ๋ ๊ฐ์ฒด์์ ๋ ๋์ ์ฑ๊ณต๋ฅ ์ ๋ฌ์ฑํ์ต๋๋ค (ํ๊ท 88% ๋ 47%). ๋ณธ ๋ฐฉ๋ฒ์ ๋ค์ํ grasp๋ฅผ ์์ฑํ์ฌ ์ด๋ํ์ ์ผ๋ก ์คํ ๊ฐ๋ฅํ grasp๋ฅผ ๋ ์ ์ฐพ์ ์ ์์ต๋๋ค. GPD๋ ๋จธ๊ทธ์ปต์ ๋ฆผ(rim)๊ณผ ๊ฐ์ ์์ ๊ตฌ์กฐ๋ฌผ์ ๋ํ grasp ์์ฑ์ด ์ด๋ ต์ต๋๋ค.
3. ๊ฒฐ๋ก (Conclusions)
๋ณธ ๋ ผ๋ฌธ์ ์๋ ค์ง์ง ์์ ๊ฐ์ฒด์ ๋ํด ๋ค์ํ grasp๋ฅผ ์์ฑํ๋ 6-DOF GraspNet์ ์๊ฐํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ VAE๋ฅผ ํตํด ๋ค์ํ grasp๋ฅผ ์ํ๋งํ๊ณ , Grasp Evaluator ๋คํธ์ํฌ๋ฅผ ํตํด grasp ํ์ง์ ํ๊ฐํ๋ฉฐ, ๊ธฐ์ธ๊ธฐ ๊ธฐ๋ฐ ์ ์ ํ๋ก์ธ์ค๋ฅผ ํตํด grasp๋ฅผ ๊ฐ์ ํฉ๋๋ค. ํ์ต์ ์ ์ ์ผ๋ก ์๋ฎฌ๋ ์ด์ ์์ ์์ฑ๋ ํฉ์ฑ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ค์ ํ๊ฒฝ์์ ์ ์ ์๋ 3D ๋ชจ๋ธ์ ๊ฐ์ง ๊ฐ์ฒด์ ๋ํด์๋ ๋์ ์ฑ๊ณต๋ฅ ์ ๋ณด์์ต๋๋ค. ์ด๋ ํ์ต๋ grasp sampler์ ๊ธฐ์ธ๊ธฐ ๊ธฐ๋ฐ ์ ์ ํ๋ก์ธ์ค๊ฐ ๋ก๋ด ์กฐ์์ ํจ๊ณผ์ ์์ ์์ฌํฉ๋๋ค.
ํฅํ ์ฐ๊ตฌ ๋ฐฉํฅ: * ์ฃผ๋ณ ํ๊ฒฝ์ ๊ฐ์ฒด๋ฅผ ๊ณ ๋ คํ์ฌ ์ถฉ๋ํ๊ฑฐ๋ ์คํ ๋ถ๊ฐ๋ฅํ grasp ์์ฑ์ ์ง์ ํผํ๋๋ก sampler ๋๋ evaluator๋ฅผ ํ๋ จํฉ๋๋ค. * evaluator๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ง๋ grasp๋ฅผ ์ ์ ํ๋ ๊ฒ ์ธ์, ๊ฐ์ฒด์ ์ ๊ทผํ๋ ์กฐ์๊ธฐ๋ฅผ ์ํ ์ค์๊ฐ ํผ๋๋ฐฑ ์ง์นจ์ ์ ๊ณตํฉ๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
์๋ก
grasp ์ ํ์ ๋ก๋ด ์กฐ์์ ๊ฐ์ฅ ์ค์ํ ๋ฌธ์ ์ค ํ๋์ ๋๋ค. ๋ก๋ด์ ๋ฌผ์ฒด๋ฅผ ๊ด์ฐฐํ๊ณ , ๊ทธ๊ฒ์ ์ง๊ธฐ ์ํด ๊ทธ๋ฆฌํผ๋ฅผ ์ด๋๋ก(3D ์์น) ์ด๋ค ๋ฐฉํฅ(3D ํ์ )์ผ๋ก ์์ง์ผ์ง ์ ํด์ผ ํฉ๋๋ค. grasp์ ์์ ์ฑ์ ๋ฌผ์ฒดยท๊ทธ๋ฆฌํผ ๊ธฐํ, ์ง๋ ๋ถํฌ, ํ๋ฉด ๋ง์ฐฐ์ ์์กดํ๋ฉฐ, ๋ฌผ์ฒด ์ฃผ๋ณ ๊ธฐํ๋ โ์ด๋๋ฅผ ์ก์ผ๋ฉด ํ์ด ๋ค๋ฅธ ๋ฌผ์ฒด์ ์ถฉ๋ํ์ง ์๊ณ ๋๋ฌ ๊ฐ๋ฅํ๊ฐโ๋ผ๋ ์ถ๊ฐ ์ ์ฝ์ ๋ง๋ญ๋๋ค.
์ ํต์ ์ผ๋ก๋ ๊ธฐํ ํด๋ฆฌ์คํฑ์ผ๋ก ์ ๋งํ grasp ์ ์ ๊ณ ๋ฅธ ๋ค ์์ ์ฑยท๋๋ฌ์ฑ์ ๋ถ์ํ๋๋ฐ, ๋ง์ ๋ฐฉ๋ฒ์ด ์์ ํ 3D ๋ชจ๋ธ ์ ์ ์ ํด โ ์ก์ ์์ธ ๊น์ด ์์์ผ๋ก ์ฅ๋ฉด์ ๋ณด๋ ํ์ค์์๋ ์ฌ๊ฐํ ํ๊ณ์ ๋๋ค. ์นด๋ฉ๋ผ๋ฅผ ์์ง์ฌ ์ ์ฒด ๋ชจ๋ธ์ ๋ง๋ค๊ฑฐ๋ shape completion์ ํ ์๋ ์์ง๋ง, ์ข์ ๊ณต๊ฐ์์ ๋ถ๊ฐ๋ฅํ๊ฑฐ๋ ์ ํ๋๊ฐ ๋ถ์กฑํฉ๋๋ค.
์ต๊ทผ ๋ฅ๋ฌ๋์ผ๋ก ํฌ์ธํธํด๋ผ์ฐ๋์์ grasp ํ์ง์ ํ๊ฐํ๋ ์ฐ๊ตฌ๊ฐ ๋์์ง๋ง, ์ฌ์ ํ ์์์ ํด๋ฆฌ์คํฑ์ผ๋ก ํ๊ฐ ํ๋ณด๋ฅผ ์ํ๋ง ํ๊ฑฐ๋ CEM ๊ฐ์ ๋ธ๋๋ฐ์ค ์ต์ ํ์ ๊ธฐ๋๊ณ , ์ํ๋ grasp๋ฅผ ๊ฐ์ ํ ํจ์จ์ ์๋จ ์ด ์์์ต๋๋ค. ๋ ๋ง์ ๋ฐฉ๋ฒ์ด grasp๋ฅผ ์ด๋ฏธ์ง ํ๋ฉด์ ํํํ ์ฌ๊ฐํ(3-DOF)์ผ๋ก ํํํด ๋ค์์ฑ์ ์ ์ฝํ์ต๋๋ค(top-down ์์ฃผ).
์ด ๋ ผ๋ฌธ์ ํ ์ค ์์ฝ: ๋ฏธ์ง ๋ฌผ์ฒด์ ๋ํด ์์ ์ ์ด๊ณ ๋ค์ํ grasp ์งํฉ์ ํจ์จ์ ์ผ๋ก ์์ฑ ํ๋ ์ต์ด์ ํ์ต ํ๋ ์์ํฌ โ VAE๋ก grasp๋ฅผ ์ํํ๊ณ , grasp evaluator๋ก ํ๊ฐํ๋ฉฐ, evaluator์ ๊ธฐ์ธ๊ธฐ๋ก grasp๋ฅผ ๋ฐ๋ณต ๊ฐ์ ํ๋ค.
์ฃผ์ ๊ธฐ์ฌ:
- VAE ๊ธฐ๋ฐ grasp sampler: ๋ถ๋ถ ํฌ์ธํธํด๋ผ์ฐ๋๋ฅผ ๋ค์ํ grasp ์งํฉ์ผ๋ก ๋งคํ. ๊ฐ๋ฅํ ๊ธฐ๋ฅ์ grasp๋ฅผ ๋์ ์ปค๋ฒ๋ฆฌ์ง๋ก ์์ฑํ๋ฉด์ ์คํจ grasp๋ ์ ๊ฒ.
- grasp evaluator network: 6D ๊ทธ๋ฆฌํผ ์์ธ์ ํ์ง์ ํ๊ฐํ๊ณ , ๊ทธ ๊ธฐ์ธ๊ธฐ๋ก grasp๋ฅผ ๊ฐ์ (์ถฉ๋์์ ๋นผ๋ด๊ฑฐ๋ ์ ๋ ฌ ๋ณด์ ).
- ๋ฏธ์ง ๋ฌผ์ฒด 17๊ฐ๋ฅผ 88% ๋ก ์ง์ด ๊ธฐ์กด(GPD) ๋๋น ์ฐ์ํ๋ฉฐ, ๋ค์์ฑ์ ์ ์งํ๋ฉด์ ๋์ ์ฑ๊ณต๋ฅ ์ ๋ณด์.
๋ฐฉ๋ฒ
์ ๋ ฅ์ ์ง์ ๋ฌผ์ฒด์ ํฌ์ธํธํด๋ผ์ฐ๋ ์ ๋๋ค. ๋ชฉํ๋ ์ฌํ๋ถํฌ P(G^* \mid X) ๋ฅผ ํ์ตํ๋ ๊ฒ โ G^* ๋ ์ฑ๊ณต grasp๋ค์ ๊ณต๊ฐ, X ๋ ์นด๋ฉ๋ผ๊ฐ ๋ณธ ๋ถ๋ถ ํฌ์ธํธํด๋ผ์ฐ๋์ ๋๋ค. grasp g=(R,T)\in SE(3) ๋ ๋ฌผ์ฒด ๊ธฐ์ค ํ๋ ์(์์ = ํฌ์ธํธํด๋ผ์ฐ๋ ๋ฌด๊ฒ์ค์ฌ \bar X)์์ ์ ์๋ฉ๋๋ค. G^* ๋ ๋ณต์กยท๋ถ์ฐ์ํ ์ ์์ต๋๋ค(๋จธ๊ทธ์ปต์ ํ ๋๋ฆฌยท์์ก์ดยท๋ฐ๋ฅ์ ๋ฐ๋ผ ์ฌ๋ฌ ๋ชจ๋, ๊ฐ ๋ชจ๋ ๋ด๋ถ๋ ์ฐ์). ๋ชจ๋ ๊ฐ์๊ฐ ๋ฏธ๋ฆฌ ์๋ ค์ง์ง ์์ผ๋ฏ๋ก, ์ฑ๊ณต grasp์ likelihood๋ฅผ ์ต๋ํํ๋ generator ๋ชจ๋ ์ ํ์ตํฉ๋๋ค.
Variational Grasp Sampler
grasp sampler๋ ์ฌ์ ์ ์๋ ์ฑ๊ณต grasp ์งํฉ g\in G^* ์ likelihood P(G\mid X) ๋ฅผ ์ต๋ํํ๋ ์์ฑ ๋ชจ๋ธ์ ๋๋ค. latent z, P(z)=\mathcal N(0,I) ์ ๋ํด
P(G\mid X) = \int P(G\mid X, z; \Theta)\, P(z)\, dz
์ด ์ ๋ถ์ ๋ค๋ฃจ๊ธฐ ์ด๋ ค์ฐ๋ฏ๋ก, encoder Q(z\mid X, g) ๊ฐ (ํฌ์ธํธํด๋ผ์ฐ๋, grasp) ์์ latent์ ์์ ๋ถ๋ถ๊ณต๊ฐ์ผ๋ก ๋งคํํ๊ณ , decoder๊ฐ z\sim Q ์์ grasp \hat g ๋ฅผ ๋ณต์ํฉ๋๋ค. VAE ์์ค์
\mathcal L_{\text{vae}} = \sum_{z\sim Q,\, g\sim G^*} \mathcal L(\hat g, g) \;-\; \alpha\, \mathcal D_{KL}\big[Q(z\mid X, g)\,\Vert\,\mathcal N(0,I)\big]
ํ์ ยท๋ณ์ง ์์ค์ ํฉ์น๊ธฐ ์ํด reconstruction ์์ค์ ๊ทธ๋ฆฌํผ ์์ ์ฌ์ ์ ์๋ ์ p ๋ฅผ ๋ณํ ํด ๋น๊ตํฉ๋๋ค.
\mathcal L(g, \hat g) = \frac{1}{n}\sum \big\lVert \mathcal T(g; p) - \mathcal T(\hat g; p) \big\rVert_1
์ฌ๊ธฐ์ \mathcal T(\cdot;p) ๋ grasp ์์ธ์ ๋ฐ๋ผ ๊ทธ๋ฆฌํผ ์ ๋ค์ ๋ณํํ๋ ํจ์์ ๋๋ค. encoder/decoder ๋ชจ๋ PointNet++ ๊ธฐ๋ฐ์ด๋ฉฐ, \alpha=0.01, latent๋ 2์ฐจ์ ์ ์๋๋ค(์ถ๋ก ์ encoder ์ ๊ฑฐ, z\sim\mathcal N(0,I) ์์ ์ํ). ํ์ต ๊ฒฐ๊ณผ latent ๊ณต๊ฐ์ด grasp ์์ธ์ ๊ฐํ ์๊ด์ ๊ฐ์ง์ ์ ์ฑ์ ์ผ๋ก ํ์ธํ์ต๋๋ค.
Grasp Pose Evaluation
sampler๋ ์์ฑ grasp๋ง ๋ณด๊ณ ์ฐ์ ์ฌํ๋ถํฌ๋ฅผ ํ์ตํ๋ฏ๋ก, ๋ถํฌ ๋ชจ๋ ์ฌ์ด์ ์ ์ด์ false positive ๊ฐ ์์ผ ์ ์์ต๋๋ค. ์ด๋ฅผ ๊ฑธ๋ฌ๋ผ evaluator P(S\mid g, X) ๊ฐ ํ์ํฉ๋๋ค. ํต์ฌ ํํ ๊ธฐ๋ฒ: grasp g ๋ฅผ ๊ทธ๋ฆฌํผ ํ์์ ๊ทธ ์์ธ๋ก ๋ ๋๋งํ ๊ทธ๋ฆฌํผ ํฌ์ธํธํด๋ผ์ฐ๋ X_g ๋ก ๋ํ๋ด๊ณ , ๋ฌผ์ฒด ์ ๋ค๊ณผ X\cup X_g ๋ก ํฉ์น ๋ค โ๋ฌผ์ฒด/๊ทธ๋ฆฌํผ ์์โ์ ๋ํ๋ด๋ binary feature๋ฅผ ๋ถ์ฌ PointNet ์ผ๋ก ๋ถ๋ฅํฉ๋๋ค. cross-entropy๋ก ํ์ต:
\mathcal L_{\text{evaluator}} = -\big(y\log(s) + (1-y)\log(1-s)\big)
y ๋ grasp ์ฑ๊ณต ์ฌ๋ถ ๋ผ๋ฒจ, s ๋ ์์ธก ํ๋ฅ . 6D grasp ๊ณต๊ฐ์ด ์กฐํฉ์ ์ผ๋ก ๋ฐฉ๋ํด ๋ชจ๋ ์์ฑ์ ์ํํ ์ ์์ผ๋ฏ๋ก hard negative mining ์ ํฉ๋๋ค. hard negative ์งํฉ์ ์์ฑ grasp๋ฅผ ์ด์ง ๊ต๋ํด(๊ทธ๋ฆฌํผ ๋ฉ์๊ฐ ๋ฌผ์ฒด์ ์ถฉ๋ํ๊ฑฐ๋ ๋๋ฌด ๋ฉ์ด์ง๋๋ก) ๋ง๋
G^- = \{\, g^- \mid \exists\, g\in G^*:\ \mathcal L(g, g^-) < \epsilon \,\}
์ ๋๋ค.
Iterative Grasp Pose Refinement
evaluator๊ฐ ๋ถ์ ์ ํ grasp๋ฅผ ๊ฑธ๋ฌ๋ด์ง๋ง, ๊ฑฐ๋ถ๋ grasp ์๋น์๋ ์ฑ๊ณต์ ๊ฐ๊น์ต๋๋ค. ๊ทธ๋์ ์ฑ๊ณต ํ๋ฅ ์ ๋์ด๋ ๋ณํ \Delta g\in SE(3) ๋ฅผ ์ฐพ์ต๋๋ค. evaluator๋ ๋ฏธ๋ถ ๊ฐ๋ฅํ๋ฏ๋ก ์ฑ๊ณต S ๋ฅผ grasp ๋ณํ์ผ๋ก ๋ฏธ๋ถํด ๊ฐ์ ๋ฐฉํฅ์ ์ป์ต๋๋ค.
\Delta g = \eta \times \frac{\partial S}{\partial \mathcal T(g; p)} \times \frac{\partial \mathcal T(g; p)}{\partial g}
๋ถ๋ถ ๋ฏธ๋ถ \partial S/\partial g ๋ ๊ตญ์ ๊ทผ๋ฐฉ์์๋ง ์ ํจํ๋ฏ๋ก, \eta ๋ก step ํฌ๊ธฐ๋ฅผ ์ ํํฉ๋๋ค(์ต๋ ๋ณ์ง ๊ฐฑ์ 1cm/step). ์ด ๊ณผ์ ์ ๋ฐ๋ณตํด grasp๋ฅผ ์ ์ง์ ์ผ๋ก ๊ฐ์ ํฉ๋๋ค(์: ์ ์ด ๊ทธ๋ฆฌํผ ์ฌ์ด์ ์๋ bowl grasp๋ ์ฑ๊ณต ์์ธ๋ก ๋ฐ์ด๋).
ํ์ต ๋ฐ์ดํฐ
๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ดํฐ FleX ๋ก ์์ ํ์์ grasp๋ฅผ ์๋ฎฌ๋ ์ด์ ํฉ๋๋ค. ShapeNet์ 6๊ฐ ๋ฒ์ฃผ(์์ยท์ค๋ฆฐ๋ยทbowlยท๋ณยท๋จธ๊ทธ, ๋๋ค ์์ฑ ๋ฐ์ค/์ค๋ฆฐ๋ ํฌํจ) 206๊ฐ ๋ฌผ์ฒด. ๋ฌผ์ฒด ํ๋ฉด์ ์ ์ ์ํํ๊ณ ๊ทธ๋ฆฌํผ z์ถ์ ํ๋ฉด ๋ฒ์ ์ ์ ๋ ฌ, ๋ฌด์ค๋ ฅ free-floating ๊ทธ๋ฆฌํผยท๋ฌผ์ฒด๋ก ์๋ฎฌ๋ ์ด์ , ์๊ฐ๋ฝ์ ๋ซ๊ณ ํ๋ค๊ธฐ(shaking) ๋์ ํ์๋ ๋ฌผ์ฒด๊ฐ ์กํ ์์ผ๋ฉด ์ฑ๊ณต์ผ๋ก ๋ผ๋ฒจ. ์ด 10,816,720 ํ๋ณด ์ค 7,074,038๊ฐ(65.4%, non-empty closing volume ํต๊ณผ)๋ฅผ ์๋ฎฌ๋ ์ด์ ํด 2,104,894๊ฐ(19.4%) ์ฑ๊ณต grasp ์์ฑ. PointNet++, Adam, lr 0.0001. ๋ชจ๋ grasp๋ ์๋ฎฌ๋ ์ด์ ์์ฑ์ด๋ฉฐ ์ค๋ฐ์ดํฐ๋ ํ์ต์ ๋ฏธ์ฌ์ฉ.
์คํ
ํ๊ฐ ์งํ๋ success rate(์์ธก grasp ์ค ์ฑ๊ณต ๋น์จ)์ coverage rate(์์ฑ grasp๊ฐ ์์ฑ grasp ๊ณต๊ฐ G^* ๋ฅผ ์ผ๋ง๋ ๋ฎ๋๊ฐ; 2cm ์ด๋ด๋ฉด ์ปค๋ฒ๋ก ๊ฐ์ฃผ) โ ๋ถ๋ฅ์ precision/recall์ ๋์ํฉ๋๋ค. success-coverage ๊ณก์ ์ AUC ๋ก ๋ถ์ํฉ๋๋ค.
Ablation
- latent ์ฐจ์: 2D๊ฐ ์ต์ . 1D๋ ์ฉ๋ ๋ถ์กฑ, 3Dยท4D๋ ํ์ต ์์ค์ ์ฝ๊ฐ ์ข์ง๋ง ์ถ๋ก ์ VAE๊ฐ latent๋ฅผ ์กฐ๋ฐํ ๋ฎ์ง ๋ชปํด ์ฑ๋ฅ ์ ํ.
- refinement step ์: successยทcoverage๊ฐ ํจ๊ป ์ฆ๊ฐํ๋ฉฐ 10ํ ์ดํ plateau(๊ฐ์ grasp๊ฐ ์์ฑ G^* ์ ๊ฐ๊น์์ง๋ฏ๋ก coverage๋ ์์น).
- VAE sampler vs ๊ธฐํ sampler: ๊ฐ์ evaluator๋ฅผ ๋ถ์ฌ๋ VAE+Evaluator AUC 0.18 vs ๊ธฐํ Baseline+Evaluator 0.07. ๊ธฐํ ๋ฒ์ ๊ธฐ๋ฐ ์ํ๋ฌ๋ ํ ๋๋ฆฌยท์์ ๊ตฌ์กฐ์์ grasp๋ฅผ ๊ฑฐ์ ๋ชป ๋ง๋ค๊ณ ๊ฒฐ์/๊ฐ๋ฆผ์ ์ผ๋ฐํ ๋ชป ํจ.
๋ก๋ด ์คํ
7-DOF Franka Panda + Intel RealSense D415(๊ทธ๋ฆฌํผ ์ฅ์ฐฉ). ์๊ฐยท๋ฌผ๋ฆฌ์ ์ผ๋ก ๊น๋ค๋ก์ด ๋ฏธ์ง ๋ฌผ์ฒด(์ง๋ 42g~618g)๋ฅผ 3๊ฐ์ง ์์ ์์ธ๋ก ๋ฐฐ์น, 10cm ๋ค์ด ์ฌ๋ฆฌ๋ฉด ์ฑ๊ณต. ์ถฉ๋ ์๋ ๊ฒฝ๋ก๊ฐ ์๋ ์ต๊ณ ์ ์ grasp๋ฅผ ์คํ, ์คํ ๊ฐ๋ฅ grasp๊ฐ ์์ผ๋ฉด ์คํจ. ๋ฐฉ๋ฒ๋น 51 trial. ์ถ๋ก ์ VAE+Evaluator 0.04์ด, refinement 1ํ 0.3์ด(Titan XP, batch 200).
Table 1 โ vs GPD(๋ฒ ์ด์ค๋ผ์ธ 6-DOF grasp planner):
| ๋ฒ์ฃผ | 6-DOF GraspNet | GPD |
|---|---|---|
| Box | 83% | 50% |
| Cylinder | 89% | 78% |
| Bowl | 100% | 78% |
| Mug | 86% | 6% |
| ํ๊ท ์ฑ๊ณต๋ฅ | 90% | 52% |
| ์ ์ฒด ์ฑ๊ณต๋ฅ | 88% | 47% |
ํด์: GraspNet์ ๋ค์ํ grasp๋ฅผ ์์ฑ ํด ์ด๋ํ์ ์ผ๋ก ์คํ ๊ฐ๋ฅํ ๊ฒ์ ์ฐพ๊ธฐ ์ฌ์ด ๋ฐ๋ฉด, GPD๋ ์ข ์ข ์คํ ๊ฐ๋ฅํ grasp๋ฅผ ๋ชป ๋ง๋ญ๋๋ค. ํนํ ๋จธ๊ทธ์ปต์์ GraspNet์ ํ ๋๋ฆฌ๋ฅผ ๋ฐ๋ผ ํจ์ฌ ๋ง์ grasp ๋ฅผ ์์ฑ(GPD๋ ํ ๋๋ฆฌ grasp ์์ฒด๋ฅผ ๋ชป ๋ง๋ค์ด 6%). ์๊ฐ๋ฝ์ด ํ๋ฉด์ ์ ํ๋ grasp๋ ์คํ ์ค์ฐจ์ ์ทจ์ฝํ๋ฐ, ๋ค์ํ ํ๋ณด๊ฐ ์ด๋ฅผ ๋ณด์ํฉ๋๋ค.
๋นํ์ ๊ณ ์ฐฐ
๊ฐ์
- ์์ฑ-ํ๊ฐ-๊ฐ์ ์ 3๋จ ํ์ดํ๋ผ์ธ. โVAE๋ก ๋ค์์ฑ ํ๋ณด โ evaluator๋ก ์ ๋ฐ๋ ๋ณด๊ฐ โ ๊ธฐ์ธ๊ธฐ๋ก ๋ฐ๋ณต ๊ฐ์ โ์ด๋ผ๋ ๊ตฌ์ฑ์ด ๋ช ๋ฃํฉ๋๋ค. ํนํ ํ์ต๋ grasp sampler์ ๊ธฐ์ธ๊ธฐ ๊ธฐ๋ฐ refinement๋ ๋น์ ์ต์ด ์ ์๋๋ก, false positive๋ฅผ ๋ฅ๋์ ์ผ๋ก ์ฑ๊ณต ์์ธ๋ก ๋ฐ์ด๋ ๋๋ค.
- ๋ค์์ฑ์ด ๊ณง ์คํ ๊ฐ๋ฅ์ฑ. ๋จ์ผ best grasp๊ฐ ์๋ ๋ค์ํ ์งํฉ์ ์์ฑํด, ์ด๋ํยท์ถฉ๋ ์ ์ฝ์ ํต๊ณผํ๋ grasp๋ฅผ ์ฐพ์ ํ๋ฅ ์ ๋์ ๋๋ค. ๋จธ๊ทธ ํ ๋๋ฆฌ ์ฌ๋ก๊ฐ ์ด๋ฅผ ๊ทน์ ์ผ๋ก ๋ณด์ฌ์ค๋๋ค(86% vs 6%).
- sim-to-real ์ ์ด. ์์ ์๋ฎฌ๋ ์ด์ ํ์ต๋ง์ผ๋ก ์ถ๊ฐ ๋จ๊ณ ์์ด ์ค๋ก๋ด์์ 88%๋ฅผ ๋ฌ์ฑํด, ๋ฐ์ดํฐ ์์ง ๋น์ฉ ์์ด ๋ฏธ์ง ๋ฌผ์ฒด๋ก ํ์ฅ๋ฉ๋๋ค.
- ๊ทธ๋ฆฌํผ๋ฅผ ํฌ์ธํธํด๋ผ์ฐ๋๋ก ํํ. grasp๋ฅผ X_g ๋ก ๋ ๋๋งํด ๋ฌผ์ฒด ์ ๊ณผ ํฉ์น๋ evaluator ํํ์ด, ๋จ์ํ 6D ์์ธ๋ฅผ ์ฒซ ์ธต feature๋ก ๋ฃ๋ ๋ฐฉ์๋ณด๋ค ์ ํํจ์ ์คํ์ผ๋ก ๋ณด์์ต๋๋ค.
์ฝ์ ๊ณผ ํ๊ณ
- ๋จ์ผ ๋ฌผ์ฒดยท์ฃผ๋ณ ๋ฏธ๊ณ ๋ ค(์ ์ ์ธ์ ). ๋ชจ๋ latent๋ฅผ ๊ท ์ผ ์ํ ํ ์ถฉ๋ยท์ด๋ํ ๊ฒ์ฌ๋ก ์ฌํ ์ ๊ฑฐ ํ๋ฉฐ, ์ฃผ๋ณ ๋ฌผ์ฒด์์ ์ถฉ๋์ sampler/evaluator๊ฐ ์ง์ ๊ณ ๋ คํ์ง ์์ต๋๋ค. ์ด์์ ํ ์ฅ๋ฉด์์๋ ํ๊ณ๊ฐ ์์ต๋๋ค(์ ์๋ ์ฃผ๋ณ ๋ฌผ์ฒด๋ฅผ ๊ณ ๋ คํ๋ ํ์ต์ ํ์ ๋ฐฉํฅ์ผ๋ก ์ ์).
- refinement์ ๊ตญ์์ฑ. \partial S/\partial g ๋ ๊ตญ์ ๊ทผ๋ฐฉ ๊ทผ์ฌ๋ผ 1cm/step์ผ๋ก ์ ํ๋ฉ๋๋ค. ํฐ ๊ต์ ์ด ํ์ํ grasp๋ ์ฌ๋ฌ step์ด ๋ค๊ณ , ์๋ชป๋ ๊ตญ์ ์ต์ ์ ๊ฐํ ์ฌ์ง๊ฐ ์์ต๋๋ค(์ถ์ธก).
- ๋ฌผ์ฒด ๋ฒ์ฃผ์ ์ ํ. ํ์ต ๋ฌผ์ฒด๊ฐ 6๊ฐ ๋ฒ์ฃผ(์์ยท์ค๋ฆฐ๋ยทbowlยท๋ณยท๋จธ๊ทธ)์ ์ง์ค๋ผ, ํ์์ด ํฌ๊ฒ ๋ค๋ฅธ ๋ฌผ์ฒด๋ก์ ์ผ๋ฐํ๋ ์ถ๊ฐ ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค.
- ์ถ๋ก ๋น์ฉ. refinement 1ํ 0.3์ด๋ก, ๋ฐ๋ณต ํ์๊ฐ ๋๋ฉด ์ค์๊ฐ ํ๋ฃจํ ์ ์ด์ ๋ถ๋ด์ผ ์ ์์ต๋๋ค(์ ์๋ evaluator๋ฅผ ์ค์๊ฐ ๊ฐ์ด๋๋ก ์ฐ๋ ๋ฐฉํฅ์ ์ธ๊ธ).
์์ฝ ๋ฐ ๊ฒฐ๋ก
6-DOF GraspNet์ ๋ฏธ์ง ๋ฌผ์ฒด์ ๋ํ 6-DOF grasp ์์ฑ์ VAE sampler + grasp evaluator + ๊ธฐ์ธ๊ธฐ ๊ธฐ๋ฐ iterative refinement ์ 3๋จ ํ์ดํ๋ผ์ธ์ผ๋ก ํผ NVIDIA์ ์ฐ๊ตฌ์ ๋๋ค. VAE๊ฐ ๋ณต์กยท๋ถ์ฐ์ํ ์ฑ๊ณต grasp ๋ถํฌ(๋จธ๊ทธ์ ํ ๋๋ฆฌยท์์ก์ดยท๋ฐ๋ฅ ๋ฑ ๋ค์ค ๋ชจ๋)๋ฅผ ๋ค์ํ๊ฒ ์ํํ๊ณ , evaluator๊ฐ ์ ์ด์ false positive๋ฅผ ๊ฑธ๋ฌ๋ด๋ฉฐ, evaluator์ ๊ธฐ์ธ๊ธฐ๋ก grasp๋ฅผ ์ฑ๊ณต ์์ธ๋ก ๋ฐ์ด ์ ๋ฐ๋๋ฅผ ๋ณด๊ฐํฉ๋๋ค.
์์น๋ก ์ ๋ฆฌํ๋ฉด, ์์ ์๋ฎฌ๋ ์ด์ ํ์ต๋ง์ผ๋ก 7-DOF Franka์์ ๋ฏธ์ง ๋ฌผ์ฒด 17๊ฐ๋ฅผ 88%(๋ฒ์ฃผ ํ๊ท 90%) ๋ก ์ง์ด GPD(47%)๋ฅผ ํฌ๊ฒ ์์ฐ๊ณ , ํนํ ๋จธ๊ทธ 86% vs GPD 6% ๋ก ๋ค์ํ grasp ์์ฑ์ ๊ฐ์น๋ฅผ ์ ์ฆํ์ต๋๋ค. ablation์์๋ 2D latent์ ~10ํ refinement, VAE ์ํ๋ฌ์ ์ฐ์(AUC 0.18 vs 0.07)๋ฅผ ํ์ธํ์ต๋๋ค.
์ค๋ฌด ๊ด์ ์์ ์ด ์ฐ๊ตฌ์ ๊ฐ์น๋ โ์์ ํ 3D ๋ชจ๋ธ ์์ด ๋ถ๋ถ ํฌ์ธํธํด๋ผ์ฐ๋๋ง์ผ๋ก, ๋ค์ํ๊ณ ์คํ ๊ฐ๋ฅํ 6-DOF grasp๋ฅผ ํ์ต ๊ธฐ๋ฐ์ผ๋ก ์์ฑยท๊ฐ์ ํ ์ ์์์ ๋ณด์ธ ๊ฒโ ์ ์์ต๋๋ค. ๋จ์ผ ๋ฌผ์ฒดยท์ฃผ๋ณ ๋ฏธ๊ณ ๋ ค๋ผ๋ ํ๊ณ๋ ๋ถ๋ช ํ์ง๋ง, ์์ฑ+ํ๊ฐ+๊ธฐ์ธ๊ธฐ ๊ฐ์ ์ด๋ผ๋ ํ์ ์ดํ ๋ค์์ grasp ์ฐ๊ตฌ(์: ๋ณธ ํฌ์คํธ๊ฐ ํจ๊ป ์ฐธ์กฐํ๋ VCGS ๋ฑ)์ ํ ๋๊ฐ ๋ ๊ธฐ๋ ๋น์ ์์ ์ ๋๋ค.