Curieux.JY
  • JungYeon Lee
  • Post
  • Lecture
  • Note

On this page

  • ๐Ÿ” Ping Review
  • ๐Ÿ”” Ring Review
    • ์„œ๋ก : ์™œ ๋ณด์ •์ด ๋ฌธ์ œ์ธ๊ฐ€
    • ๋ฐฉ๋ฒ•: ํ”„๋ฆฐํ„ฐ๋ฅผ ์ธก์ •๊ธฐ๋กœ ๋‘”๊ฐ‘์‹œํ‚ค๋Š” ๋ฒ•
      • ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ
      • ํ•ต์‹ฌ ํŠธ๋ฆญ: ๋ฐ›์นจ๋Œ€๋ฅผ ๋ฐ”๋‹ฅ์— ์ถœ๋ ฅํ•ด์„œ ๊ณต๊ฐ„ ๋ณด์ •์„ ์—†์•ค๋‹ค
      • ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
      • TouchNet: ๊ธฐ์šธ๊ธฐ๋ฅผ ๋งžํžˆ๊ณ , ์ ๋ถ„ํ•ด์„œ ๋†’์ด๋ฅผ ์–ป๋Š”๋‹ค
    • ์‹คํ—˜: ์–ผ๋งˆ๋‚˜ ์ •ํ™•ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋Š” ์–ผ๋งˆ๋‚˜ ํ•„์š”ํ•œ๊ฐ€
      • ์‹คํ—˜ ์„ค์ •
      • ๋ฐ์ดํ„ฐ ์ ˆ์ œ ์—ฐ๊ตฌ(ablation): ์–ผ๋งˆ๋‚˜ ๋นฝ๋นฝ์ด ์ฐ”๋Ÿฌ์•ผ ํ•˜๋‚˜
      • ๋ฏธ์ง€ ๊ฐ์ฒด ์„ฑ๋Šฅ
    • ๋น„ํŒ์  ๊ณ ์ฐฐ: ๋ฌด์—‡์ด ์ข‹๊ณ , ๋ฌด์—‡์ด ๋ฏธ์‹ฌ์ฉ์€๊ฐ€
      • ๊ฐ•์ 
      • ์•ฝ์ ๊ณผ ํ•œ๊ณ„
      • ๊ด€๋ จ ์—ฐ๊ตฌ์™€์˜ ์œ„์น˜
    • ์š”์•ฝ ๋ฐ ๊ฒฐ๋ก 
      • ์ฐธ๊ณ  ๋ฉ”๋ชจ

๐Ÿ“ƒ3D Cal

digit
gelsight
tactile
calibration
An Open-Source Software Library for Calibrating Tactile Sensors
Published

May 25, 2026

  • Paper
  1. ๐Ÿค– ๋ณธ ์—ฐ๊ตฌ๋Š” ์ €๋ ดํ•œ FDM 3D ํ”„๋ฆฐํ„ฐ๋ฅผ ์ž๋™ํ™”๋œ ํ”„๋กœ๋น™ ์žฅ์น˜๋กœ ์ „ํ™˜ํ•˜์—ฌ ํ–…ํ‹ฑ ์„ผ์„œ ๊ต์ •์„ ์œ„ํ•œ ๋ ˆ์ด๋ธ”๋ง๋œ ๋Œ€๊ทœ๋ชจ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ 3D Cal์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.
  2. ๐Ÿ’ก 3D Cal์€ DIGIT ๋ฐ GelSight Mini์™€ ๊ฐ™์€ ์‹œ๊ฐ ๊ธฐ๋ฐ˜ ํ–…ํ‹ฑ ์„ผ์„œ์—์„œ RGB ์ด๋ฏธ์ง€๋ฅผ ๊นŠ์ด ๋งต์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒฝ๋Ÿ‰ Convolutional Neural Network์ธ TouchNet ๋ชจ๋ธ ํ•™์Šต์„ ์ง€์›ํ•˜๋ฉฐ, 5% ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋กœ๋„ ์ •ํ™•ํ•œ ๊ต์ •์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, 20%์˜ ๊ณต๊ฐ„ ์ขŒํ‘œ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์žฌ๊ตฌ์„ฑ ๊ฐ€๋ณ€์„ฑ์„ ์ค„์—ฌ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.
  3. ๐Ÿ”ฌ TouchNet ๋ชจ๋ธ์€ ์ด์ „์— ๋ณด์ง€ ๋ชปํ•œ 3D ํ”„๋ฆฐํŒ…๋œ ๋ฌผ์ฒด์— ๋Œ€ํ•ด ํ‰๊ท  16~52 ฮผm์˜ ์ „์ฒด ์˜ค๋ฅ˜๋กœ ๊ณ ํ’ˆ์งˆ์˜ ๊นŠ์ด ๋งต์„ ์žฌ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉฐ, ์ด๋Š” ์‹ค์ œ ๋กœ๋ด‡ ์กฐ์ž‘ ์ž‘์—…์— ์ ํ•ฉํ•œ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค.

๐Ÿ” Ping Review

๐Ÿ” Ping โ€” A light tap on the surface. Get the gist in seconds.

3D Cal์€ ์ด‰๊ฐ ์„ผ์„œ(tactile sensor) ๋ณด์ •์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์ €๋น„์šฉ FDM (Fused Deposition Modelling) 3D ํ”„๋ฆฐํ„ฐ๋ฅผ ์ž๋™ํ™”๋œ ํ”„๋กœ๋น™ ์žฅ์น˜๋กœ ์ „ํ™˜ํ•˜์—ฌ ์ด‰๊ฐ ์„ผ์„œ ๋ณด์ •์— ํ•„์š”ํ•œ ๋Œ€๋Ÿ‰์˜ ๋ ˆ์ด๋ธ”๋ง๋œ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ˆ˜์ง‘ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ด‰๊ฐ ์„ผ์„œ ์—ฐ๊ตฌ์˜ ๊ฐ€์†ํ™”, ์„ผ์„œ ๋ฐฐํฌ ๊ฐ„์†Œํ™”, ๊ทธ๋ฆฌ๊ณ  ๋กœ๋ด‡ ํ”Œ๋žซํผ์— ์ด‰๊ฐ ์„ผ์„œ ํ†ตํ•ฉ์„ ์ด‰์ง„ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ์ด‰๊ฐ ์„ผ์„œ ๋ณด์ •์€ ์ˆ˜์ž‘์—… ๋ฐ ๋…ธ๋™ ์ง‘์•ฝ์ ์ด๊ฑฐ๋‚˜, ๊ณ ๊ฐ€์˜ ํ•˜๋“œ์›จ์–ด์™€ ์ „๋ฌธ ์ง€์‹์„ ์š”๊ตฌํ•˜๋Š” ์ž๋™ํ™”๋œ ์ ˆ์ฐจ์— ์˜์กดํ•˜๋Š” ๋“ฑ ์ ‘๊ทผ์„ฑ์ด ๋‚ฎ๋‹ค๋Š” ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ vision-based tactile sensor์˜ ๊ฒฝ์šฐ ๊ณ ์ฐจ์› ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์˜๋ฏธ ์žˆ๋Š” ๊ฐ’(์˜ˆ: ๊นŠ์ด ๋งต)์œผ๋กœ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ์ด ๋”์šฑ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. 3D Cal์€ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 3D ํ”„๋ฆฐํ„ฐ์˜ ๊ธฐ๋Šฅ์„ ์žฌํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๋ฐฉ๋ฒ•๋ก  (Core Methodology)

  1. ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ (Data Collection):
    • ์„ผ์„œ ๋ฒ ์ด์Šค 3D ํ”„๋ฆฐํŒ…: ์‚ฌ์šฉ์ž๋Š” ๋จผ์ € ์ž์‹ ์˜ ์ด‰๊ฐ ์„ผ์„œ์— ๋งž๋Š” ๋ฒ ์ด์Šค๋ฅผ 3D ํ”„๋ฆฐํ„ฐ๋กœ ์ œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฒ ์ด์Šค๋Š” ์„ผ์„œ๊ฐ€ 3D ํ”„๋ฆฐํ„ฐ์˜ ์ž‘์—… ๊ณต๊ฐ„ ๋‚ด์— ๊ณ ์ •๋œ ์œ„์น˜๋ฅผ ๊ฐ€์ง€๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
    • ์„ผ์„œ ์‚ฝ์ž… ๋ฐ ํ”„๋กœ๋ธŒ ์žฅ์ฐฉ: ์„ผ์„œ๋ฅผ ํ”„๋ฆฐํŒ…๋œ ๋ฒ ์ด์Šค์— slide fit ๋ฐฉ์‹์œผ๋กœ ์‚ฝ์ž…ํ•œ ํ›„, 3D ํ”„๋ฆฐํ„ฐ ๋…ธ์ฆ์— 3D ํ”„๋ฆฐํŒ…๋œ ์–ด๋Œ‘ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ•์„ฑ ๊ตฌํ˜• ํ”„๋กœ๋ธŒ ํŒ(2mm ๋ฐ˜๊ฒฝ)์„ ์žฅ์ฐฉํ•ฉ๋‹ˆ๋‹ค.
    • ์ž๋™ ํ”„๋กœ๋น™: ์‚ฌ์šฉ์ž๋Š” CSV ํŒŒ์ผ์— ์›ํ•˜๋Š” ํ”„๋กœ๋น™ ์ขŒํ‘œ(x, y)์™€ ๊นŠ์ด(z)๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. 3D Cal ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ด ํŒŒ์ผ์„ ํŒŒ์‹ฑํ•˜์—ฌ G-Code ๋ช…๋ น์„ ํ†ตํ•ด 3D ํ”„๋ฆฐํ„ฐ๋ฅผ ์ œ์–ดํ•˜๊ณ , ์„ผ์„œ๋ฅผ ์ž๋™์œผ๋กœ ํ”„๋กœ๋น™ํ•˜๋ฉฐ ํ•ด๋‹น ์ขŒํ‘œ์— ๋ ˆ์ด๋ธ”๋ง๋œ ์ด๋ฏธ์ง€๋ฅผ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค. ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” 0.5mm x 0.5mm ๊ทธ๋ฆฌ๋“œ์—์„œ ์ด 1,200๊ฐœ ์ด์ƒ์˜ ๊ฐœ๋ณ„ ํ”„๋กœ๋ธŒ ์œ„์น˜๋ฅผ ํƒ์ƒ‰ํ–ˆ์œผ๋ฉฐ, ๊ฐ ์••ํ”(indentation)๋งˆ๋‹ค 30๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ์บก์ฒ˜ํ•˜์—ฌ ์ด 7๋งŒ ๊ฐœ ์ด์ƒ์˜ ์ด๋ฏธ์ง€๋ฅผ ํ™•๋ณดํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ถ”์ƒํ™” (Abstraction): 3D Cal์€ G-Code ํ˜ธํ™˜ FDM 3D ํ”„๋ฆฐํ„ฐ(์˜ˆ: Ender 3)์™€ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ์„ผ์„œ ์ธก๋ฉด์—์„œ๋Š” DIGIT, GelSight Mini ๋ฐ OpenCV ํ˜ธํ™˜ vision-based tactile sensor์— ๋Œ€ํ•œ ๋‚ด์žฅ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๋งž์ถคํ˜• vision-based sensor๋ฅผ ์œ„ํ•ด ํ†ต์‹  ๋ฐ ์ด๋ฏธ์ง€ ํš๋“ ํ•จ์ˆ˜๋งŒ ๊ตฌํ˜„ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  2. ๋ชจ๋ธ ํ•™์Šต (Model Training):
    • TouchNet ์•„ํ‚คํ…์ฒ˜: TouchNet์€ vision-based tactile sensor์˜ RGB ์„ผ์„œ ์ด๋ฏธ์ง€์—์„œ ์œ ์˜๋ฏธํ•œ ๊นŠ์ด ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ์ œ์•ˆ๋œ fully convolutional neural network์ž…๋‹ˆ๋‹ค.
      • ์ž…๋ ฅ: TouchNet์˜ ์ž…๋ ฅ์€ 5์ฑ„๋„ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ‘œ์ค€ 3์ฑ„๋„ RGB ์ด๋ฏธ์ง€์— 2์ฑ„๋„ ์œ„์น˜ ์ž„๋ฒ ๋”ฉ(x, y ์ขŒํ‘œ ์ž„๋ฒ ๋”ฉ)์„ concatenateํ•˜์—ฌ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
      • ๊ตฌ์กฐ: TouchNet์€ 9๊ฐœ์˜ ์ˆœ์ฐจ์ ์ธ ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑ๋œ feedforward convolutional neural network์ž…๋‹ˆ๋‹ค. ๊ฐ ๋ชจ๋“ˆ์€ convolutional layer, Batch Normalization, ReLU ํ™œ์„ฑํ™” ํ•จ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ๊ณต๊ฐ„์  Dropout(spatial dropout)์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
      • ์ฒ˜๋ฆฌ ๊ณผ์ •: ๋„คํŠธ์›Œํฌ๋Š” ๋จผ์ € ์ž…๋ ฅ ํŠน์ง•์˜ ์ฐจ์›์„ 5์ฑ„๋„์—์„œ 256์ฑ„๋„๋กœ ํ™•์žฅํ•œ ๋‹ค์Œ, ์ด๋ฅผ x ๋ฐ y ๋ฐฉํ–ฅ์˜ ์˜ˆ์ธก๋œ ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ(G_x, G_y)๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 2๊ฐœ์˜ ์ถœ๋ ฅ ์ฑ„๋„๋กœ ์ถ•์†Œํ•ฉ๋‹ˆ๋‹ค.
      • ํŠน์ง•: Encoder-decoder ๋ชจ๋ธ(์˜ˆ: U-Net)๊ณผ ๋‹ฌ๋ฆฌ TouchNet์€ (R, G, B, x, y) ๊ฐ’ ์ง‘ํ•ฉ์„ ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ(G_x, G_y)์— ์ง์ ‘ ๋งคํ•‘ํ•˜๋ฏ€๋กœ, ๊ตฌํ˜• ํ”„๋กœ๋ธŒ๋กœ๋งŒ ํ•™์Šตํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ณด์ง€ ๋ชปํ•œ ํ˜•ํƒœ์— ๋” ์ž˜ ์ผ๋ฐ˜ํ™”๋ฉ๋‹ˆ๋‹ค.
    • ๊นŠ์ด ๋งต ์ƒ์„ฑ: TouchNet์ด ์ถœ๋ ฅํ•œ ๊ธฐ์šธ๊ธฐ ๋งต(G_x, G_y)์€ Fast Poisson Solver๋ฅผ ํ†ตํ•ด ํ†ตํ•ฉ๋˜์–ด ์ตœ์ข… ๊นŠ์ด ๋งต(depth map)์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • ํ•™์Šต ๋ฐ ์ถ”๋ก : TouchNet ๋ชจ๋ธ์€ Mean Squared Error (MSE) ์†์‹ค ํ•จ์ˆ˜, AdamW optimizer(ํ•™์Šต๋ฅ  1e-4, weight decay 1e-4), ๋ฐฐ์น˜ ํฌ๊ธฐ 64๋กœ ํ•™์Šต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ถ”๋ก  ์‹œ๊ฐ„์€ ๋…ธํŠธ๋ถ ์ˆ˜์ค€์˜ ํ•˜๋“œ์›จ์–ด์—์„œ 30ms ๋ฏธ๋งŒ์œผ๋กœ, 30fps์˜ ์‹ค์‹œ๊ฐ„ ๊นŠ์ด ๋งต ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์‹คํ—˜ ๊ฒฐ๊ณผ (Experimental Results)

  • ๋ฐ์ดํ„ฐ ์–‘์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ ๋ถ„์„ (Spatial Sampling Analysis):
    • DIGIT ๋ฐ GelSight Mini ์„ผ์„œ์— ๋Œ€ํ•ด ์ด ๊ณต๊ฐ„ ์ขŒํ‘œ์˜ 1%, 5%, 10%, 20%, 40%, 80%๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ TouchNet ๋ชจ๋ธ์„ ํ•™์Šต์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
    • ๋ชจ๋ธ ์„ฑ๋Šฅ์€ 1% ๋ฐ์ดํ„ฐ์—์„œ๋Š” ์ €์กฐํ–ˆ์ง€๋งŒ, 5% ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ(๊ฐ ์„ผ์„œ๋ณ„ ์•ฝ 60๊ฐœ ์ด์ƒ์˜ ๊ณต๊ฐ„ ์ขŒํ‘œ)์—์„œ๋Š” ์ผ๊ด€๋œ ์„ฑ๋Šฅ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.
    • ์žฌ๊ตฌ์„ฑ๋œ ๊นŠ์ด ๋งต ๋˜ํ•œ 5%์™€ 80% ๋ฐ์ดํ„ฐ ํ•™์Šต ๋ชจ๋ธ ๊ฐ„์— ์‹œ๊ฐ์ ์œผ๋กœ ์œ ์‚ฌํ–ˆ์œผ๋‚˜, 1% ๋ชจ๋ธ์—์„œ๋Š” ํ’ˆ์งˆ์ด ์ €ํ•˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๊ฒ€์ฆ ์„ธํŠธ์—์„œ ๊ฐ ํ”„๋กœ๋ธŒ ์ขŒํ‘œ์˜ MSE๋ฅผ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ, ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์€ ์˜์—ญ์—์„œ MSE ์†์‹ค์ด ํ˜„์ €ํžˆ ์ฆ๊ฐ€ํ•˜๋ฉฐ ์„ผ์‹ฑ ํ‘œ๋ฉด์˜ ๋น„๊ท ์ผํ•œ ์‘๋‹ต์„ ๋ฐ˜์˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • MSE ๋ถ„ํฌ์˜ ํ‰๊ท  ๋ฐ ํ‘œ์ค€ ํŽธ์ฐจ๋Š” ํ›ˆ๋ จ ์ขŒํ‘œ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๊ฐ์†Œํ•˜์—ฌ, ๋ฐ€๋„ ๋†’์€ ์ƒ˜ํ”Œ๋ง์ด ์žฌ๊ตฌ์„ฑ ๊ฐ€๋ณ€์„ฑ์„ ์ค„์ž„์„ ์‹œ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
    • ํ†ต๊ณ„์  ๋ถ„์„ ๊ฒฐ๊ณผ, 20%์˜ ์ขŒํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ํ›ˆ๋ จํ–ˆ์„ ๋•Œ ์žฌ๊ตฌ์„ฑ ์„ฑ๋Šฅ์ด ์•ˆ์ •ํ™”๋˜์—ˆ์œผ๋ฉฐ, ์ถ”๊ฐ€์ ์ธ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๋Š” ์„ฑ๋Šฅ ํ–ฅ์ƒ์— ๋ฏธ๋ฏธํ•œ ์˜ํ–ฅ์„ ๋ฏธ์ณค์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์ด ์ขŒํ‘œ์˜ ์ตœ์†Œ 20%(์•ฝ 240๊ฐœ์˜ ๋ฌด์ž‘์œ„ ์„ ํƒ ์ขŒํ‘œ)๋ฅผ 0.5mm x 0.5mm ๊ทธ๋ฆฌ๋“œ์—์„œ ํ”„๋กœ๋น™ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฏธ๋“ฑ๋ก ๊ฐ์ฒด์— ๋Œ€ํ•œ ์„ฑ๋Šฅ (Performance on Unseen Objects):
    • ๊ตฌ, ์•Œ์•ฝ, ํฐ(pawn) ๋ชจ์–‘์˜ ์„ธ ๊ฐ€์ง€ 3D ํ”„๋ฆฐํŒ…๋œ ํ…Œ์ŠคํŠธ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์˜ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • TouchNet์ด ์˜ˆ์ธกํ•œ ๊นŠ์ด ๋งต์€ ํ…Œ์ŠคํŠธ ๊ฐ์ฒด์˜ ์‹ค์ œ ํ”„๋กœํ•„๊ณผ ์‹œ๊ฐ์ ์œผ๋กœ ๋งค์šฐ ์œ ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ๋‹จ์ˆœํ•œ ํ˜•์ƒ(๊ตฌ, ์•Œ์•ฝ)์˜ ๊ฒฝ์šฐ DIGIT์ด ๋” ์ •ํ™•ํ•œ ๊นŠ์ด ๋งต์„ ์ƒ์„ฑํ–ˆ์œผ๋ฉฐ, ํฐ์˜ ๊ฒฝ์šฐ GelSight Mini๊ฐ€ DIGIT๋ณด๋‹ค ์šฐ์ˆ˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ „์ฒด ์„ผ์‹ฑ ํ‘œ๋ฉด์—์„œ ํ‰๊ท  ์žฌ๊ตฌ์„ฑ ์˜ค์ฐจ(Overall Error)๋Š” DIGIT์—์„œ 16.274 ฮผm ~ 52.211 ฮผm, GelSight Mini์—์„œ 22.172 ฮผm ~ 48.821 ฮผm ๋ฒ”์œ„์˜€์Šต๋‹ˆ๋‹ค.
    • ์ ‘์ด‰์ด ์—†๋Š” ์˜์—ญ(Type 1 Error, ์‹ค์ œ ๊นŠ์ด 0์ธ ํ”ฝ์…€)์˜ ํ‰๊ท  ์˜ค์ฐจ๋Š” ๋‘ ์„ผ์„œ ๋ชจ๋‘ 20 ฮผm ๋ฏธ๋งŒ์œผ๋กœ, ๋ชจ๋ธ์ด ๋น„์ ‘์ด‰ ์˜์—ญ์„ ๋งค์šฐ ํšจ๊ณผ์ ์œผ๋กœ ์‹๋ณ„ํ–ˆ์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
    • ์ ‘์ด‰์ด ์žˆ๋Š” ์˜์—ญ(Type 2 Error, ์‹ค์ œ ๊นŠ์ด 0์ด ์•„๋‹Œ ํ”ฝ์…€)์˜ ํ‰๊ท  ์˜ค์ฐจ๋Š” ๋” ์ปธ์ง€๋งŒ(65.274 ฮผm ~ 296.381 ฮผm), ์ผ๋ฐ˜์ ์œผ๋กœ ์‹ค์ œ ์ตœ๋Œ€ ์••ํ” ๊นŠ์ด์˜ ์•ฝ 5~15% ์ˆ˜์ค€์œผ๋กœ, ๋Œ€๋ถ€๋ถ„์˜ ๋กœ๋ด‡ ์กฐ์ž‘ ์ž‘์—…์— ์ ํ•ฉํ•  ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค.

3D Cal์€ ์ด‰๊ฐ ์„ผ์„œ์˜ ๋ฐฐํฌ๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๊ณ  ํ‘œ์ค€ํ™”ํ•˜์—ฌ ๋กœ๋ด‡ ์กฐ์ž‘, ํ–…ํ‹ฑ์Šค, ์ธ๊ฐ„-์ปดํ“จํ„ฐ ์ƒํ˜ธ์ž‘์šฉ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์ด‰๊ฐ ์„ผ์„œ์˜ ํ™œ์šฉ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค. ์ด ์—ฐ๊ตฌ๋Š” DIGIT ๋ฐ GelSight Mini๋ฅผ ์œ„ํ•œ ๊ณ ํ’ˆ์งˆ ๊นŠ์ด ์žฌ๊ตฌ์„ฑ์„ ์ƒ์„ฑํ•˜๋Š” TouchNet ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜๋ฉฐ, ํ•„์š”ํ•œ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ ์–‘์— ๋Œ€ํ•œ ์‹ค์งˆ์ ์ธ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํ–ฅํ›„ 3D Cal์€ ํž˜ ์„ผ์„œ์™€์˜ ์—ฐ๋™์„ ํ†ตํ•œ ํž˜/ํ† ํฌ ๋ณด์ • ์ง€์›, capacitance-based ๋ฐ resistance-based ์„ผ์„œ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์ด‰๊ฐ ์„ผ์‹ฑ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ง€์› ํ™•์žฅ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”” Ring Review

๐Ÿ”” Ring โ€” An idea that echoes. Grasp the core and its value.

๋น„์‹ผ 6์ถ• ๋กœ๋ด‡ํŒ”์ด๋‚˜ CNC, ๋ชจ์…˜์บก์ฒ˜ ์—†์ด 2๋งŒ ์›์งœ๋ฆฌ 3D ํ”„๋ฆฐํ„ฐ ํ•˜๋‚˜๋กœ ๋น„์ „ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์„œ(DIGIT, GelSight Mini)๋ฅผ ์ž๋™ ๋ณด์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•œ ๋…ผ๋ฌธ์ด๋‹ค. ํ•ต์‹ฌ์€ ๋‘ ๊ฐ€์ง€๋‹ค.

์ฒซ์งธ, ํ”„๋ฆฐํ„ฐ ๋ฐ”๋‹ฅ(print bed)์— ์„ผ์„œ ๋ฐ›์นจ๋Œ€๋ฅผ ์ง์ ‘ ์ถœ๋ ฅํ•˜๋ฉด ์„ผ์„œ๊ฐ€ ํ”„๋ฆฐํ„ฐ ์ขŒํ‘œ๊ณ„ ์•ˆ์— ๋ฐ•ํžŒ๋‹ค. ๊ทธ๋ž˜์„œ ๋”ฐ๋กœ ์†-๋ˆˆ ๋ณด์ •(hand-eye calibration)์„ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ด๊ฒŒ ์ด ๋…ผ๋ฌธ ์ „์ฒด๋ฅผ ๋– ๋ฐ›์น˜๋Š” ํŠธ๋ฆญ์ด๋‹ค.

๋‘˜์งธ, ํ”„๋ฆฐํ„ฐ ํ—ค๋“œ์— ๊ตฌํ˜• ํƒ์นจ์„ ๋ผ์›Œ ์ ค ํ‘œ๋ฉด์„ ์ˆ˜์ฒœ ๋ฒˆ ์ฐ”๋Ÿฌ (x, y, ๊นŠ์ด)๊ฐ€ ๋ผ๋ฒจ๋ง๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™ ์ˆ˜์ง‘ํ•˜๊ณ , ๊ฐ€๋ฒผ์šด 9์ธต ์™„์ „ํ•ฉ์„ฑ๊ณฑ๋ง TouchNet์œผ๋กœ RGB ์ด๋ฏธ์ง€๋ฅผ ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ(gradient)๋กœ ๋ฐ”๊พผ ๋’ค ํ‘ธ์•„์†ก ์ ๋ถ„์œผ๋กœ ๊นŠ์ด๋งต(depth map)์„ ๋ณต์›ํ•œ๋‹ค.

์‹ค์ธก ๊ฒฐ๊ณผ ๋ฏธ์ง€(unseen) ๊ฐ์ฒด์—์„œ ์ „์ฒด ํ‰๊ท  ์˜ค์ฐจ 16~52 ฮผm(DIGIT), 22~49 ฮผm(GelSight Mini) ์ˆ˜์ค€์ด์—ˆ๊ณ , ์ถ”๋ก ์€ ๋…ธํŠธ๋ถ๊ธ‰ ํ•˜๋“œ์›จ์–ด์—์„œ 30 ms ๋ฏธ๋งŒ์œผ๋กœ 30 fps ์‹ค์‹œ๊ฐ„์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค. ์ฝ”๋“œ, ์‚ฌ์ „ํ•™์Šต ๊ฐ€์ค‘์น˜, ๊ทธ๋ฆฌ๊ณ  70,000์žฅ์ด ๋„˜๋Š” ์ด‰๊ฐ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์„ ์ „๋ถ€ ๊ณต๊ฐœํ–ˆ๋‹ค.

๋กœ๋ด‡ ์†์— ์ด‰๊ฐ ์„ผ์„œ๋ฅผ ๋ถ™์ด๋ ค๋Š” ์ž…์žฅ์—์„œ ๋ณด๋ฉด, โ€œ์„ผ์„œ๋ฅผ ์‚ฌ๊ธด ์ƒ€๋Š”๋ฐ raw ์ด๋ฏธ์ง€๋ฅผ ๋ฌผ๋ฆฌ๋Ÿ‰์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋ฐ”๊พธ์ง€?โ€๋ผ๋Š” ๊ฐ€์žฅ ๊ท€์ฐฎ์€ ๋‹จ๊ณ„์˜ ์ง„์ž… ์žฅ๋ฒฝ์„ ํ™• ๋‚ฎ์ถ˜ ๋„๊ตฌ๋‹ค.


์„œ๋ก : ์™œ ๋ณด์ •์ด ๋ฌธ์ œ์ธ๊ฐ€

์ด‰๊ฐ ์„ผ์„œ๋Š” ์ ‘์ด‰ ํž˜๊ณผ ํ‘œ๋ฉด ๋ณ€ํ˜•์„ ์žก์•„๋‚ธ๋‹ค. ์ด ์ •๋ณด๊ฐ€ ํŒŒ์ง€(grasp) ์„ฑ๊ณต ์˜ˆ์ธก, ๋ฏธ๋„๋Ÿฌ์ง ๊ฐ์ง€, ์ •๋ฐ€ ์กฐ์ž‘, ์›๊ฒฉ์กฐ์ž‘์˜ ํ–…ํ‹ฑ ํˆฌ๋ช…๋„, ์‹ฌ์ง€์–ด ์ข…์–‘ ์ง„๋‹จ์ด๋‚˜ ๊ณผ์ผ ์ˆ™์„ฑ๋„ ํŒ์ •๊นŒ์ง€ ์“ฐ์ธ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์‹œ๊ฐ์ด๋‚˜ ์ฒญ๊ฐ๊ณผ ๋‹ฌ๋ฆฌ ์ด‰๊ฐ์€ ์•„์ง ํ‘œ์ค€์ด ์—†๋Š” ์‹ ์ƒ ๋ถ„์•ผ๋‹ค. ์ •์ „์šฉ๋Ÿ‰, ์ €ํ•ญ, ์ž๊ธฐ, ์Œํ–ฅ, ๋น„์ „ ๊ธฐ๋ฐ˜๊นŒ์ง€ ๋ณ€ํ™˜ ๋ฐฉ์‹(transduction)์ด ์ œ๊ฐ๊ฐ์ด๋‹ค.

๋ฌธ์ œ๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ์„ผ์„œ๊ฐ€ ๋ณด์ •(calibration) ์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ์„ผ์„œ๊ฐ€ ๋‚ด๋ฑ‰๋Š” raw ์‹ ํ˜ธ(์ „์••์ด๋“  RGB ํ”ฝ์…€์ด๋“ )๋ฅผ ํž˜์ด๋‚˜ ํ‘œ๋ฉด ๊ธฐํ•˜ ๊ฐ™์€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์˜๋ฏธ ์žˆ๋Š” ์–‘์œผ๋กœ ๋ฐ”๊ฟ”์•ผ ๋น„๋กœ์†Œ ์“ธ๋ชจ๊ฐ€ ์ƒ๊ธด๋‹ค.

์—ฌ๊ธฐ์„œ ๋‘ ๊ฐˆ๋ž˜๋กœ ๋‚œ์ด๋„๊ฐ€ ๊ฐˆ๋ฆฐ๋‹ค.

์ €ํ•ญ์‹์ด๋‚˜ ์ •์ „์šฉ๋Ÿ‰์‹ ์„ผ์„œ๋Š” ๋น„๊ต์  ์‰ฝ๋‹ค. ์ €์ฐจ์› ์‹ ํ˜ธ(์ „์•• ํ•˜๋‚˜)์—์„œ ํž˜ ํ•˜๋‚˜๋กœ ๊ฐ€๋Š” ๋งคํ•‘์ด๋ผ ์„ ํ˜•์ด๋‚˜ 2์ฐจ์‹์œผ๋กœ ๊ทผ์‚ฌ๋œ๋‹ค. ๋ฐ˜๋ฉด ๋น„์ „ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์„œ๋Š” ์นด๋ฉ”๋ผ๊ฐ€ ์ฐ์€ ๊ณ ์ฐจ์› ์ด๋ฏธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์ด ๊ณ ์ฐจ์› ์ž…๋ ฅ์„ ํž˜ ๊ฐ™์€ ์ €์ฐจ์› ์–‘์ด๋‚˜ ๊นŠ์ด๋งต ๊ฐ™์€ ๋˜ ๋‹ค๋ฅธ ๊ณ ์ฐจ์› ์–‘์œผ๋กœ ๋งคํ•‘ํ•˜๋Š” ๊ฑด ๋งŒ๋งŒ์น˜ ์•Š๋‹ค.

๊ณผ๊ฑฐ์—๋Š” โ€œ์„ผ์„œ ์‘๋‹ต์ด ํ‘œ๋ฉด ์ „์ฒด์—์„œ ๊ท ์ผํ•˜๋‹คโ€๊ฑฐ๋‚˜ โ€œ์˜์—ญ ๊ฐ„ ๋ˆ„ํ™”(cross-talk)๊ฐ€ ์—†๋‹คโ€ ๊ฐ™์€ ๋‹จ์ˆœํ™” ๊ฐ€์ •์„ ๊น”์•˜๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๊ฐ€์ •์€ ์ œ์ž‘ ๊ณต์ •์— ์—„๊ฒฉํ•œ ์ œ์•ฝ์„ ๊ฑธ๊ฑฐ๋‚˜(๊ฐ€์ •์„ ๋งž์ถ”๋ ค๊ณ  ์„ผ์„œ๋ฅผ ์ •๋ฐ€ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•จ), ์œ ํšจ ๋ฒ”์œ„๋ฅผ ์ข์€ ๋™์ž‘ ์˜์—ญ์œผ๋กœ ์ œํ•œํ•œ๋‹ค(์ž‘์€ ๋ณ€์œ„ ๊ตฌ๊ฐ„์—์„œ๋งŒ ๋งž์Œ). ๊ฐ€์ •์ด ๊นจ์ง€๋ฉด ๊ฒฐ๊ตญ ์‹ ๊ฒฝ๋ง์œผ๋กœ ๋ณต์žกํ•œ ๋งคํ•‘์„ ์ง์ ‘ ํ•™์Šตํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๊ฑด ๋Œ€๋Ÿ‰์˜ ๋ผ๋ฒจ๋ง๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์š”๊ตฌํ•œ๋‹ค.

๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์œผ๋Š” ๊ฒŒ ๊ณ ์—ญ์ด๋‹ค. ์‚ฌ๋žŒ์ด ์ผ์ผ์ด ์ฐ๊ธฐ์—” ๋…ธ๋™์ง‘์•ฝ์ ์ด๋ผ, DIGIT์ฒ˜๋Ÿผ โ€œ์ด‰๊ฐ์„ ๋Œ€์ค‘ํ™”ํ•˜๊ฒ ๋‹คโ€๋ฉฐ ๋‚˜์˜จ ์ €๊ฐ€ ์„ผ์„œ์˜ ์ทจ์ง€๊ฐ€ ๋ฌด์ƒ‰ํ•ด์ง„๋‹ค. ๊ทธ๋ž˜์„œ ์ž๋™ ๋ณด์ • ์žฅ์น˜๊ฐ€ ๋“ฑ์žฅํ–ˆ๋Š”๋ฐ, ๋Œ€๋ถ€๋ถ„ ์‚ฐ์—…์šฉ 6์ถ• ๋กœ๋ด‡ํŒ”, CNC ๋จธ์‹ , ๋ชจ์…˜์บก์ฒ˜ ์‹œ์Šคํ…œ์— ์˜์กดํ•œ๋‹ค. ์ด๋Ÿฐ ์žฅ๋น„๋Š” ๋น„์‹ธ๊ณ  ์…‹์—…์ด ๊ธธ ๋ฟ ์•„๋‹ˆ๋ผ, ํƒ์นจ ์žฅ์น˜์˜ ์ขŒํ‘œ๊ณ„์™€ ์„ผ์„œ์˜ ์ขŒํ‘œ๊ณ„๋ฅผ ๋งž์ถ”๋Š” ๊ณต๊ฐ„ ๋ณด์ •(spatial calibration) ๊นŒ์ง€ ๋”ฐ๋กœ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์ธก์ • ์ ˆ์ฐจ๊ฐ€ ๋” ๋ณต์žกํ•ด์ง„๋‹ค.

3D Cal์€ ์ด ์ง€์ ์„ ์ •ํ™•ํžˆ ๋…ธ๋ฆฐ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ์—ฐ๊ตฌ์‹ค์— ๊ตด๋Ÿฌ๋‹ค๋‹ˆ๋Š” ์ €๊ฐ€ FDM(Fused Deposition Modelling) 3D ํ”„๋ฆฐํ„ฐ๋ฅผ ์ž๋™ ํƒ์นจ๊ธฐ๋กœ ๋‘”๊ฐ‘์‹œ์ผœ, ๋น„์‹ผ ์žฅ๋น„๋„ ๋ณ„๋„์˜ ๊ณต๊ฐ„ ๋ณด์ •๋„ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์“ธ์–ด ๋‹ด๊ฒ ๋‹ค๋Š” ๋ฐœ์ƒ์ด๋‹ค.

๋…ผ๋ฌธ์ด ๋‚ด์„ธ์šฐ๋Š” ๊ธฐ์—ฌ๋Š” ์„ธ ๊ฐ€์ง€๋กœ ์ •๋ฆฌ๋œ๋‹ค.

  1. 3D Cal: ์‹œํŒ 3D ํ”„๋ฆฐํ„ฐ๋ฅผ ์™„์ „ ์ž๋™ ๋ณด์ • ์žฅ์น˜๋กœ ๋ฐ”๊พธ๋Š” ์˜คํ”ˆ์†Œ์Šค ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  2. TouchNet: ๋น„์ „ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์„œ์—์„œ ๊นŠ์ด๋งต์„ ๋ฝ‘๋Š” ๊ฐ€๋ฒผ์šด ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง๊ณผ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ
  3. ์‹ค์šฉ์  ๋ฐ์ดํ„ฐ ๊ฐ€์ด๋“œ๋ผ์ธ: DIGIT๊ณผ GelSight Mini์—์„œ ์ข‹์€ ๊นŠ์ด๋งต์„ ์–ป์œผ๋ ค๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ํ•„์š”ํ•œ์ง€์— ๋Œ€ํ•œ ๊ฒฝํ—˜์  ๊ธฐ์ค€

๋ฐฉ๋ฒ•: ํ”„๋ฆฐํ„ฐ๋ฅผ ์ธก์ •๊ธฐ๋กœ ๋‘”๊ฐ‘์‹œํ‚ค๋Š” ๋ฒ•

์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ

๋จผ์ € ํฐ ๊ทธ๋ฆผ๋ถ€ํ„ฐ ๋ณด์ž. ์‚ฌ์šฉ์ž๋Š” (A) ์„ผ์„œ ๋ฐ›์นจ๋Œ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , (B) ์„ผ์„œ๋ฅผ ์Šฌ๋ผ์ด๋“œ ํ•์œผ๋กœ ๋ผ์šฐ๊ณ , (C) ํ—ค๋“œ์— ํƒ์นจ์„ ๋‹ฌ๊ณ , (D) ์ž๋™ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์„ผ์„œ๋ฅผ ์ˆ˜์ฒœ ๋ฒˆ ์ฐŒ๋ฅธ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋ชจ์€ ๋ผ๋ฒจ๋ง ๋ฐ์ดํ„ฐ๋กœ (E) ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๊ฑฐ๋‚˜ ๋ฏธ์„ธ์กฐ์ •ํ•˜๊ณ , (F) ํ•™์Šต๋œ ๋ชจ๋ธ๋กœ ๊นŠ์ด๋งต์„ ์˜ˆ์ธกํ•œ๋‹ค. (๋…ผ๋ฌธ Figure 1์ด ์ด ํ๋ฆ„์„ ํ•œ ์žฅ์— ๋‹ด๊ณ  ์žˆ๋‹ค.)

flowchart LR
    A["A. 3D Print<br/>Sensor Base"] --> B["B. Insert Sensor<br/>(slide fit)"]
    B --> C["C. Attach Spherical<br/>Probe to Printhead"]
    C --> D["D. Automated<br/>G-code Probing"]
    D --> E["Coordinate-labeled<br/>RGB Images"]
    E --> F["E. Train / Fine-tune<br/>TouchNet"]
    F --> G["Predict<br/>Gradient Map (Gx, Gy)"]
    G --> H["Fast Poisson<br/>Solver"]
    H --> I["F. Depth Map"]

ํ•ต์‹ฌ ํŠธ๋ฆญ: ๋ฐ›์นจ๋Œ€๋ฅผ ๋ฐ”๋‹ฅ์— ์ถœ๋ ฅํ•ด์„œ ๊ณต๊ฐ„ ๋ณด์ •์„ ์—†์•ค๋‹ค

์ด ๋…ผ๋ฌธ์—์„œ ๊ฐ€์žฅ ์˜๋ฆฌํ•œ ๋ถ€๋ถ„์€ ์‚ฌ์‹ค ์‹ ๊ฒฝ๋ง์ด ์•„๋‹ˆ๋ผ ์ด ํ•œ ์ค„์ด๋‹ค.

๋ฐ›์นจ๋Œ€๋ฅผ ํ”„๋ฆฐํ„ฐ ๋ฐ”๋‹ฅ์— ์ง์ ‘ ์ถœ๋ ฅํ•˜๋ฉด, ์„ผ์„œ์˜ ์œ„์น˜๊ฐ€ ํ”„๋ฆฐํ„ฐ ์ขŒํ‘œ๊ณ„ ์•ˆ์— ์ž๋™์œผ๋กœ ์ •์˜๋œ๋‹ค.

๋น„์œ ํ•˜์ž๋ฉด ์ด๋ ‡๋‹ค. ๋ณดํ†ต ์ž๋™ ๋ณด์ • ์žฅ์น˜๋Š” โ€œ๋กœ๋ด‡ํŒ”์ด ๋“ค๊ณ  ์žˆ๋Š” ํƒ์นจ์˜ ์ขŒํ‘œโ€์™€ โ€œ์„ผ์„œ๊ฐ€ ๋†“์ธ ์ขŒํ‘œโ€๋ฅผ ๋”ฐ๋กœ ๋งž์ถฐ์•ผ ํ•œ๋‹ค. ๋‘ ์‚ฌ๋žŒ์ด ์„œ๋กœ ๋‹ค๋ฅธ ์ง€๋„๋ฅผ ๋“ค๊ณ  ๋งŒ๋‚  ์•ฝ์†์„ ์žก์œผ๋ ค๋ฉด ๋จผ์ € ์ขŒํ‘œ๊ณ„๋ฅผ ์ผ์น˜์‹œ์ผœ์•ผ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. ๊ทธ๋Ÿฐ๋ฐ 3D ํ”„๋ฆฐํ„ฐ๋Š” ๋ฐ›์นจ๋Œ€๋ฅผ ์ž๊ธฐ ๋ฐ”๋‹ฅ์— ์ž๊ธฐ ์†์œผ๋กœ ์ฐ์–ด๋‚ธ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ๋ฐ›์นจ๋Œ€(=์„ผ์„œ)์˜ ์œ„์น˜๋ฅผ ํ”„๋ฆฐํ„ฐ๊ฐ€ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋‹ค. ๊ฐ™์€ ์‚ฌ๋žŒ์ด ๋งŒ๋“  ์ง€๋„ ํ•œ ์žฅ์œผ๋กœ ์•ฝ์† ์žฅ์†Œ์™€ ๋งŒ๋‚  ์‚ฌ๋žŒ์„ ๋™์‹œ์— ํ‘œ์‹œํ•˜๋Š” ์…ˆ์ด๋‹ค. ๋ณ„๋„์˜ hand-eye calibration์ด ํ†ต์งธ๋กœ ์‚ฌ๋ผ์ง„๋‹ค.

3D ํ”„๋ฆฐํ„ฐ๊ฐ€ ์ธก์ •๊ธฐ๋กœ ์“ธ ๋งŒํ•œ ์ด์œ ๋„ ์ง๊ด€์ ์ด๋‹ค. ํ”„๋ฆฐํ„ฐ๋Š” ๋ณธ๋ž˜ ์ •๋ฐ€ํ•œ 3์ถ•(XYZ) ์œ„์น˜ ๊ฒฐ์ • ์žฅ์น˜๋‹ค. ์ถœ๋ ฅ ํ—ค๋“œ๋ฅผ 0.x mm ๋‹จ์œ„๋กœ ์›ํ•˜๋Š” ์ขŒํ‘œ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๋…ธ์ฆ ๋Œ€์‹  ํƒ์นจ์„ ๋ผ์šฐ๋ฉด, ์••์ถœ๊ธฐ๋Š” ๊ทธ๋ƒฅ 2์ถ• ๊ฐ ํŠธ๋ฆฌ(gantry)๊ฐ€ ๋˜๊ณ  G-code๋กœ ์ œ์–ด๋˜๋Š” ์ž๋™ ์ธก์ •๊ธฐ๊ฐ€ ๋œ๋‹ค.

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘

์‚ฌ์šฉ์ž๋Š” ์„ผ์„œ๊ฐ€ ์Šฌ๋ผ์ด๋“œ ํ•์œผ๋กœ ๋“ค์–ด๊ฐ€๋„๋ก ๋ฐ›์นจ๋Œ€๋ฅผ ์„ค๊ณ„ํ•ด ์ถœ๋ ฅํ•œ๋‹ค(Figure 1A). ์„ผ์„œ๋ฅผ ๋ผ์šฐ๊ณ (Figure 1B), 3D ํ”„๋ฆฐํŒ…ํ•œ ์–ด๋Œ‘ํ„ฐ๋กœ ํ—ค๋“œ์— ํƒ์นจ์„ ๋‹จ๋‹ค(Figure 1C). ๋…ผ๋ฌธ์€ ๋ฐ˜์ง€๋ฆ„ 2 mm์˜ ๊ฐ•์ฒด ๊ตฌํ˜• ํƒ์นจ(McMaster-Carr 85175A586)์„ ์ผ์ง€๋งŒ, ํฌ๊ธฐ/๋ชจ์–‘/์žฌ์งˆ์ด ๋‹ค๋ฅธ ํƒ์นจ๋„ ์ž์œ ๋กญ๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋‹ค์Œ ์‚ฌ์šฉ์ž๋Š” ์ฐŒ๋ฅผ ์ขŒํ‘œ (x, y)์™€ ๊นŠ์ด (z)๋ฅผ CSV๋กœ ์ ์–ด์ค€๋‹ค. 3D Cal์ด ์ด ํŒŒ์ผ์„ ์ฝ์–ด ์„ผ์„œ๋ฅผ ์ฐ”๋Ÿฌ๊ฐ€๋ฉฐ ์ขŒํ‘œ ๋ผ๋ฒจ์ด ๋ถ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™ ์ƒ์„ฑํ•œ๋‹ค.

๊ฐœ๋…์ ์ธ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฃจํ”„๋Š” ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ๋‹ค.

# 3D Cal data collection (conceptual)
probe_coords = read_csv("probe_grid.csv")    # (x, y, z) on a 0.5mm x 0.5mm grid
sensor = connect_sensor("DIGIT")             # or GelSight Mini, or any OpenCV device

for (x, y, z) in probe_coords:
    move_printhead(x, y, z_safe)             # G1 X.. Y.. Z..  (above the gel)
    for depth in indentation_schedule(z):    # press the rigid sphere into the gel
        move_printhead(x, y, depth)
        for k in range(30):                  # capture 30 frames per indentation
            img = sensor.capture()
            # label is derived analytically from the KNOWN sphere geometry,
            # its (x, y) location, and the commanded indentation depth
            save(img, label=make_gt_gradient(x, y, depth, probe_radius=2.0))
    move_printhead(x, y, z_safe)             # retract

์—ฌ๊ธฐ์„œ ๋ผ๋ฒจ์ด ์–ด๋–ป๊ฒŒ ์ƒ๊ธฐ๋Š”์ง€๊ฐ€ ์ค‘์š”ํ•˜๋‹ค. ํƒ์นจ์ด ๊ธฐํ•˜๊ฐ€ ์•Œ๋ ค์ง„ ๊ฐ•์ฒด ๊ตฌ์ด๊ณ , ์œ„์น˜์™€ ๋ˆ„๋ฅด๋Š” ๊นŠ์ด๋„ ํ”„๋ฆฐํ„ฐ๊ฐ€ ์•Œ๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ ๊ตฌ๊ฐ€ ์ ค์— ์ฐ์€ ํ‘œ๋ฉด ๊ธฐํ•˜(๊ทธ๋ฆฌ๊ณ  ๊ทธ๋กœ๋ถ€ํ„ฐ ๋‚˜์˜ค๋Š” ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ)๋ฅผ ํ•ด์„์ ์œผ๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ๋žŒ์ด ์ž๋ฅผ ๋Œ€๊ณ  ์žด ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ด๊ฒŒ โ€œ๋ผ๋ฒจ๋ง๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์งœ๋กœ ๋Œ€๋Ÿ‰ ์ƒ์‚ฐโ€ํ•˜๋Š” ๋น„๊ฒฐ์ด๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‘ ์ถ•์—์„œ ์ถ”์ƒํ™”(abstraction)๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

  • 3D ํ”„๋ฆฐํ„ฐ ์ถ”์ƒํ™”: G-code ํ˜ธํ™˜ FDM ํ”„๋ฆฐํ„ฐ๋ฉด ๋ฌด์—‡์ด๋“  ๋™์ž‘ํ•œ๋‹ค. ํ˜„์žฌ Ender 3๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ, ์‚ฌ์šฉํ•˜๋Š” G-code ๋ช…๋ น์ด ํ”„๋ฆฐํ„ฐ ๋น„์ข…์†์ ์ด๋ผ ๋‹ค๋ฅธ ๊ธฐ์ข…์€ ์ฝ”๋“œ ๋ช‡ ์ค„๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.
  • ์„ผ์„œ ์ถ”์ƒํ™”: ํ‰๋ฉด์ด๊ฑฐ๋‚˜ ๊ณก๋ฅ  ๋ฐ˜๊ฒฝ์ด ์ž‘์€ ์„ผ์„œ๋ผ๋ฉด ๋ฌด์—‡์ด๋“  ์“ธ ์ˆ˜ ์žˆ๋‹ค. DIGIT, GelSight Mini, ๊ทธ๋ฆฌ๊ณ  OpenCV ํ˜ธํ™˜ ์นด๋ฉ”๋ผ ์„ผ์„œ๋ฅผ ๊ธฐ๋ณธ ์ง€์›ํ•œ๋‹ค. ์ปค์Šคํ…€ ์„ผ์„œ๋Š” ํ†ต์‹  ์—ฐ๊ฒฐ๊ณผ ์ด๋ฏธ์ง€ ํš๋“ ํ•จ์ˆ˜ ๋‘ ๊ฐœ๋งŒ ๊ตฌํ˜„ํ•˜๋ฉด ๋ณด์ • ์ ˆ์ฐจ๊ฐ€ ์ž๋™์œผ๋กœ ๊ทธ ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ ๋™์ž‘ํ•œ๋‹ค.

TouchNet: ๊ธฐ์šธ๊ธฐ๋ฅผ ๋งžํžˆ๊ณ , ์ ๋ถ„ํ•ด์„œ ๋†’์ด๋ฅผ ์–ป๋Š”๋‹ค

์ด์ œ ๋ชจ๋ธ์ด๋‹ค. ๋ชจ๋ธ ํ•™์Šต๊ณผ ์ถ”๋ก ์€ ํ˜„์žฌ ๋น„์ „ ๊ธฐ๋ฐ˜ ์„ผ์„œ(RGB ์ด๋ฏธ์ง€ ์ž…๋ ฅ)์™€ ๊นŠ์ด๋งต ์ƒ์„ฑ์— ํ•œ์ •๋˜์–ด ์žˆ๋‹ค. ์ €์ž๋“ค์ด ์ด ์„ค์ •์„ ๋จผ์ € ๊ณ ๋ฅธ ์ด์œ ๋Š” ๋ช…ํ™•ํ•˜๋‹ค. ๋น„์ „ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์‹ฑ์€ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ํฌ๋Š” ๋ถ„์•ผ๊ณ , DIGIT๊ณผ GelSight Mini๋Š” ์‚ฌ์šฉ์ž์ธต์ด ๋‘ํ…๊ณ  ์ผ๋ฐ˜ ๊ตฌ๋งค๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋งˆ์ปค๋ฆฌ์Šค(markerless) ๋ณ€ํ˜•์ด ์กด์žฌํ•ด ํ‘œ๋ฉด ๊ธฐํ•˜ ํฌ์ฐฉ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊นŠ์ด ์˜ˆ์ธก์ด ์‹ค์šฉ์ ์ธ ๋ณด์ • ๋ชฉํ‘œ๊ฐ€ ๋œ๋‹ค.

TouchNet์˜ ๋ฐœ์ƒ์—์„œ ๊ฐ€์žฅ ์Œ๋ฏธํ•  ๋ถ€๋ถ„์€ ๊นŠ์ด๋ฅผ ์ง์ ‘ ๋งžํžˆ์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด๋‹ค. ๋Œ€์‹  ๊ฐ ํ”ฝ์…€์—์„œ ํ‘œ๋ฉด์ด ์–ผ๋งˆ๋‚˜ ๊ธฐ์šธ์–ด์กŒ๋Š”์ง€(ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ Gx, Gy)๋ฅผ ๋งžํžˆ๊ณ , ๊ทธ๊ฑธ ์ ๋ถ„ํ•ด์„œ ๋†’์ด๋ฅผ ๋ณต์›ํ•œ๋‹ค.

์™œ ์ด๋ ‡๊ฒŒ ๋Œ์•„๊ฐˆ๊นŒ. ๋“ฑ์‚ฐ์„ ๋– ์˜ฌ๋ ค ๋ณด์ž. ์‚ฐ ์ „์ฒด์˜ ๊ณ ๋„ ์ง€๋„๋ฅผ ํ•œ๋ˆˆ์— ์™ธ์šฐ๋Š” ๊ฑด ์–ด๋ ต๋‹ค. ํ•˜์ง€๋งŒ โ€œ์ง€๊ธˆ ๋ฐœ๋ฐ‘์ด ์–ผ๋งˆ๋‚˜ ๊ฐ€ํŒŒ๋ฅธ๊ฐ€โ€๋ผ๋Š” ๊ตญ์†Œ์ ์ธ ๊ฒฝ์‚ฌ๋„๋Š” ์–ด๋””์„œ๋“  ๊ฐ™์€ ๊ทœ์น™์œผ๋กœ ์žด ์ˆ˜ ์žˆ๋‹ค. ๊ฒฝ์‚ฌ๋„๋งŒ ์ถฉ๋ถ„ํžˆ ๋ชจ์œผ๋ฉด ์ ๋ถ„ํ•ด์„œ ๊ณ ๋„ ์ง€๋„๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. TouchNet์€ ์‚ฐ์˜ ๋ชจ์–‘์„ ํ†ต์งธ๋กœ ์™ธ์šฐ๋Š” ๋Œ€์‹ , โ€œ์ด ์ƒ‰๊น” + ์ด ์œ„์น˜ โ†’ ์ด๋งŒํผ ๊ธฐ์šธ์–ด์งโ€์ด๋ผ๋Š” ๊ตญ์†Œ ๋ฌผ๋ฆฌ ๊ทœ์น™์„ ๋ฐฐ์šด๋‹ค. ์ด ๊ทœ์น™์€ ํ•™์Šต ๋•Œ ๋ณธ ์  ์—†๋Š” ์ƒˆ๋กœ์šด ๋ฌผ์ฒด ๋ชจ์–‘์—๋„ ๊ทธ๋Œ€๋กœ ์ „์ด๋œ๋‹ค. ์‹ค์ œ๋กœ ์ €์ž๋“ค์€ ์ž‘์€ ์ปค๋„์˜ ํ•ฉ์„ฑ๊ณฑ ๊ตฌ์กฐ๊ฐ€, ๊ตฌํ˜• ํƒ์นจ๋งŒ์œผ๋กœ ํ•™์Šตํ–ˆ๋Š”๋ฐ๋„ ๋ฏธ์ง€์˜ ํ˜•์ƒ์— ๋” ์ž˜ ์ผ๋ฐ˜ํ™”๋œ๋‹ค๊ณ  ๋ณด๊ณ ํ•œ๋‹ค. ์ด๋ฏธ์ง€๋ฅผ ์ €์ฐจ์› ์ž ์žฌ ๋ฒกํ„ฐ๋กœ ์••์ถ•ํ•˜๋Š” U-Net ๋ฅ˜์˜ ์ธ์ฝ”๋”-๋””์ฝ”๋”๋Š” ํ˜•์ƒ์„ ํ†ต์งธ๋กœ ๊ธฐ์–ตํ•˜๋ ค๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์–ด ์ด ์ ์—์„œ ๋ถˆ๋ฆฌํ•˜๋‹ค.

์ž…๋ ฅ์€ 5์ฑ„๋„์ด๋‹ค. ํ‘œ์ค€ RGB 3์ฑ„๋„์—, x์™€ y ์ขŒํ‘œ๋ฅผ ๋‹ด์€ 2์ฑ„๋„ ์œ„์น˜ ์ž„๋ฒ ๋”ฉ(CoordConv๋ฅ˜)์„ ๋ถ™์ธ๋‹ค. ์™œ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ค„๊นŒ. ์ ค ํ‘œ๋ฉด์˜ ์กฐ๋ช…์€ ๊ท ์ผํ•˜์ง€ ์•Š๋‹ค. ๊ฐ™์€ ๋นจ๊ฐ„์ƒ‰์ด๋ผ๋„ ์„ผ์„œ ๊ฐ€์žฅ์ž๋ฆฌ์—์„œ ๋ณธ ๋นจ๊ฐ•๊ณผ ์ค‘์•™์—์„œ ๋ณธ ๋นจ๊ฐ•์€ ์˜๋ฏธ๊ฐ€ ๋‹ค๋ฅด๋‹ค. ๊ทธ๋ž˜์„œ ๋„คํŠธ์›Œํฌ์—๊ฒŒ โ€œ์ง€๊ธˆ ๋ณด๋Š” ํ”ฝ์…€์ด ์„ผ์„œ์˜ ์–ด๋””์ธ๊ฐ€โ€๋ฅผ ์ง์ ‘ ์•Œ๋ ค์ค€๋‹ค. ์ด๊ฒŒ ๋น„๊ท ์ผ ์กฐ๋ช… ๋ฌธ์ œ๋ฅผ ์ •๊ณต๋ฒ•์œผ๋กœ ๋‹ค๋ฃจ๋Š” ๋ฐฉ์‹์ด๋‹ค.

๊ตฌ์กฐ๋Š” 9์ธต ์™„์ „ํ•ฉ์„ฑ๊ณฑ๋ง์ด๋‹ค. ๊ฐ ๋ชจ๋“ˆ์€ ํ•ฉ์„ฑ๊ณฑ + ๋ฐฐ์น˜ ์ •๊ทœํ™” + ReLU + ๊ณต๊ฐ„ ๋“œ๋กญ์•„์›ƒ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ฑ„๋„์€ 5์—์„œ 256๊นŒ์ง€ ํ‚ค์› ๋‹ค๊ฐ€ ๋‹ค์‹œ 2(=Gx, Gy)๋กœ ์ค„์ธ๋‹ค.

flowchart TB
    IN["Input: 5-channel (R, G, B, x, y)"] --> C1["Conv2D 5 to 32 | BN+ReLU | Dropout 0.2"]
    C1 --> C2["Conv2D 32 to 64 | BN+ReLU | Dropout 0.2"]
    C2 --> C3["Conv2D 64 to 128 | BN+ReLU | Dropout 0.2"]
    C3 --> C4["Conv2D 128 to 256 | BN+ReLU | Dropout 0.3"]
    C4 --> C5["Conv2D 256 to 256 | BN+ReLU | Dropout 0.3"]
    C5 --> C6["Conv2D 256 to 128 | BN+ReLU | Dropout 0.2"]
    C6 --> C7["Conv2D 128 to 64 | BN+ReLU | Dropout 0.2"]
    C7 --> C8["Conv2D 64 to 32 | BN+ReLU | Dropout 0.2"]
    C8 --> C9["Conv2D 32 to 2"]
    C9 --> OUT["Output: 2-channel Gradient (Gx, Gy)"]
    OUT --> P["Fast Poisson Solver"]
    P --> D["Depth Map Z"]

๊ธฐ์šธ๊ธฐ์—์„œ ๊นŠ์ด๋กœ. ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ฑ‰์€ ๊ธฐ์šธ๊ธฐ ๋งต์€ ๋น ๋ฅธ ํ‘ธ์•„์†ก(Poisson) ๋ฐฉ๋ฒ•์œผ๋กœ ์ ๋ถ„๋˜์–ด ๊นŠ์ด๋งต์ด ๋œ๋‹ค. ๊ธฐ์šธ๊ธฐ์™€ ๊นŠ์ด์˜ ๊ด€๊ณ„๋Š” ๋‹จ์ˆœํ•˜๋‹ค.

G_x \approx \frac{\partial Z}{\partial x}, \qquad G_y \approx \frac{\partial Z}{\partial y}

๊ธฐ์šธ๊ธฐ ์žฅ(field)์— ๊ฐ€์žฅ ์ž˜ ๋“ค์–ด๋งž๋Š” ๋†’์ด ์žฅ Z๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ๋Š”, ๋‹ค์Œ ํ‘ธ์•„์†ก ๋ฐฉ์ •์‹์„ ํ‘ธ๋Š” ๊ฒƒ์œผ๋กœ ๊ท€๊ฒฐ๋œ๋‹ค.

\nabla^2 Z = \frac{\partial G_x}{\partial x} + \frac{\partial G_y}{\partial y}

์ด๊ฑด GelSight ๊ณ„์—ด์—์„œ ์˜ค๋ž˜ ์จ์˜จ ํ‘œ์ค€ ์ ˆ์ฐจ๋‹ค. FFT/DCT ๊ธฐ๋ฐ˜ ๋น ๋ฅธ ํ‘ธ์•„์†ก ํ’€์ด๋กœ ํ•œ ๋ฐฉ์— ํ‘ผ๋‹ค. โ€œ๊ฒฝ์‚ฌ๋„ ์ง€๋„์—์„œ ๊ณ ๋„ ์ง€๋„๋ฅผ ๋ณต์›โ€ํ•˜๋Š” ๋ฐ”๋กœ ๊ทธ ์—ฐ์‚ฐ์ด๋‹ค.

์†์‹ค ํ•จ์ˆ˜๋Š” ๊ธฐ์šธ๊ธฐ์— ๋Œ€ํ•œ ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ(MSE)๋‹ค.

\mathcal{L} = \frac{1}{N}\sum_{i} \left[ (G_x^{\text{pred}} - G_x^{\text{gt}})^2 + (G_y^{\text{pred}} - G_y^{\text{gt}})^2 \right]

ํ•™์Šต์€ AdamW(ํ•™์Šต๋ฅ  1e-4, weight decay 1e-4), ๋ฐฐ์น˜ 64๋กœ ์ง„ํ–‰ํ–ˆ๊ณ , PyTorch์—์„œ RTX 6000 GPU์™€ ํ˜ผํ•ฉ์ •๋ฐ€(autocast + GradScaler)์„ ์ผ๋‹ค. ์ถ”๋ก ์€ ๋…ธํŠธ๋ถ๊ธ‰ ํ•˜๋“œ์›จ์–ด์—์„œ 30 ms ๋ฏธ๋งŒ์œผ๋กœ ๋๋‚˜ 30 fps ์‹ค์‹œ๊ฐ„์ด ๋œ๋‹ค. ๋งŽ์€ ๋น„์ „ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์„œ์˜ ๋™์ž‘ ํ”„๋ ˆ์ž„๋ ˆ์ดํŠธ์™€ ๋งž์•„๋–จ์–ด์ง„๋‹ค.

์ฒ˜์Œ๋ถ€ํ„ฐ ํ•™์Šต(train from scratch)ํ•  ์ˆ˜๋„, ๊ณต๊ฐœ๋œ DIGIT/GelSight Mini ๊ฐ€์ค‘์น˜๋กœ ๋ฏธ์„ธ์กฐ์ •(fine-tune)ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์กฐ์ƒ ์ƒˆ๋กœ์šด ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋น ๋ฅด๊ฒŒ ์„ค๊ณ„ํ•ด ๋ถ™์ด๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.


์‹คํ—˜: ์–ผ๋งˆ๋‚˜ ์ •ํ™•ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋Š” ์–ผ๋งˆ๋‚˜ ํ•„์š”ํ•œ๊ฐ€

์‹คํ—˜ ์„ค์ •

DIGIT๊ณผ GelSight Mini ๊ฐ๊ฐ์— ๋ฐ›์นจ๋Œ€๋ฅผ ์ถœ๋ ฅํ•ด ๋ผ์šฐ๊ณ , ํ—ค๋“œ์— ๊ตฌํ˜• ํƒ์นจ์„ ๋‹ฌ์•„ 0.5 mm ร— 0.5 mm ๊ฒฉ์ž๋กœ ์ฐ”๋ €๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ๊ฐ๊ฐ 1,221๊ฐœ, 1,209๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ํƒ์นจ ์œ„์น˜๊ฐ€ ๋‚˜์™”๋‹ค. ๊ฐ ์œ„์น˜์—์„œ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค 30์žฅ์”ฉ ์บก์ฒ˜ํ–ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์€ ์„ผ์„œ๋‹น ์•ฝ 2์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค. ์ „์ฒด์ ์œผ๋กœ 70,000์žฅ์ด ๋„˜๋Š” ํƒ์นจ ์ด๋ฏธ์ง€๋ฅผ ๋ชจ์•˜๊ณ , ์ด ๋ฐ์ดํ„ฐ์…‹๋„ ๊ณต๊ฐœํ–ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์ ˆ์ œ ์—ฐ๊ตฌ(ablation): ์–ผ๋งˆ๋‚˜ ๋นฝ๋นฝ์ด ์ฐ”๋Ÿฌ์•ผ ํ•˜๋‚˜

๊ฐ€์žฅ ์‹ค๋ฌด์ ์œผ๋กœ ์œ ์šฉํ•œ ๋ถ„์„์ด๋‹ค. ์ €์ž๋“ค์€ ์ „์ฒด ์ขŒํ‘œ ์ค‘ P = 80%, 40%, 20%, 10%, 5%, 1%๋งŒ ๋ฌด์ž‘์œ„๋กœ ๊ณจ๋ผ ํ•™์Šตํ•ด ๋ดค๋‹ค. P = 80%๋กœ ํ•™์Šตํ•  ๋•Œ ๋‚˜๋จธ์ง€ 20%๋ฅผ ๊ฒ€์ฆ์šฉ์œผ๋กœ ๋–ผ์–ด๋‘๊ณ , ๋ชจ๋“  ๋ชจ๋ธ์„ ๊ฐ™์€ ๊ฒ€์ฆ ์ง‘ํ•ฉ์œผ๋กœ ํ‰๊ฐ€ํ–ˆ๋‹ค. ์ ˆ(epoch) ์ˆ˜๊ฐ€ ๋ฐ์ดํ„ฐ ์–‘์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๊ฑธ ๋ณด์ •ํ•˜๋ ค๊ณ  ๋‹ค์Œ์ฒ˜๋Ÿผ ์ ˆ ์ˆ˜๋ฅผ ๋งž์ท„๋‹ค(๋ฐ์ดํ„ฐ๊ฐ€ ์ ์œผ๋ฉด ๋” ๋งŽ์ด ๋Œ๋ฆผ).

N = 60 \times \left( \frac{80\%}{P} \right)

๊ฒฐ๊ณผ(Figure 2)๋Š” ์ด๋ ‡๋‹ค. ๋‘ ์„ผ์„œ ๋ชจ๋‘ 1%(์ขŒํ‘œ 12๊ฐœ ์ˆ˜์ค€)๋กœ ํ•™์Šตํ•˜๋ฉด ์„ฑ๋Šฅ์ด ๋ฌด๋„ˆ์กŒ์ง€๋งŒ, 5% ์ด์ƒ(์ขŒํ‘œ ์•ฝ 60~61๊ฐœ)๋ถ€ํ„ฐ๋Š” ๋น„๊ต์  ์ผ๊ด€๋๋‹ค. ์•Œ์•ฝ(pill) ๋ชจ์–‘ ํ…Œ์ŠคํŠธ ๊ฐ์ฒด์˜ ๋ณต์› ๊นŠ์ด๋งต๋„ 5%์™€ 80%์—์„œ ์‹œ๊ฐ์ ์œผ๋กœ ๋น„์Šทํ–ˆ๊ณ  1%์—์„œ๋งŒ ๋ง๊ฐ€์กŒ๋‹ค.

๋‹ค๋งŒ ๋‹จ์ผ ๊ฐ์ฒด ํ•œ ๋ฒˆ ๋ณด๊ณ  ๋๋‚ผ ์ผ์ด ์•„๋‹ˆ๋‹ค. ์ €์ž๋“ค์€ ๊ฒ€์ฆ ์ขŒํ‘œ๋งˆ๋‹ค ๊ธฐ์šธ๊ธฐ ์˜ˆ์ธก์˜ MSE๋ฅผ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•ด ์„ผ์„œ ํ‘œ๋ฉด ์œ„ ๊ณต๊ฐ„ ๋ถ„ํฌ๋ฅผ ๋“ค์—ฌ๋‹ค๋ดค๋‹ค(Figure 3). ํ•™์Šต ์ขŒํ‘œ๊ฐ€ ๋“ฌ์„ฑ๋“ฌ์„ฑํ•œ ์˜์—ญ์—์„œ MSE๊ฐ€ ๋šœ๋ ท์ด ์น˜์†Ÿ์•˜๋Š”๋ฐ(ํŠนํžˆ P=1%), ์ด๊ฑด ์„ผ์„œ ํ‘œ๋ฉด ์‘๋‹ต์ด ๋น„๊ท ์ผํ•˜๋‹ค๋Š” ์ฆ๊ฑฐ๋‹ค. ๊ฐ€์šฐ์‹œ์•ˆ ์ปค๋„๋ฐ€๋„์ถ”์ •(KDE)์œผ๋กœ MSE ๋ถ„ํฌ๋ฅผ ๊ทผ์‚ฌํ•ด ๋ณด๋‹ˆ, ํ•™์Šต ์ขŒํ‘œ๊ฐ€ ๋Š˜์ˆ˜๋ก ํ‰๊ท ๊ณผ ํ‘œ์ค€ํŽธ์ฐจ๊ฐ€ ๋ชจ๋‘ ์ค„์—ˆ๋‹ค. ์ฆ‰ ๋นฝ๋นฝ์ด ์ฐŒ๋ฅผ์ˆ˜๋ก ๋ณต์› ์„ฑ๋Šฅ ์ž์ฒด๋ณด๋‹ค ๋ณต์›์˜ ํ‘œ๋ฉด ๊ฐ„ ํŽธ์ฐจ(variability)๊ฐ€ ์ค„์–ด๋“ ๋‹ค.

ํ†ต๊ณ„ ๊ฒ€์ •๋„ ํ–ˆ๋‹ค. Bonferroni ๋ณด์ •์„ ์ ์šฉํ•œ 5-ํ‘œ๋ณธ t-๊ฒ€์ •(ฮฑ=0.01)์œผ๋กœ ๊ฐ P์˜ MSE ๋ถ„ํฌ๋ฅผ P=80% ๋ชจ๋ธ๊ณผ ๋น„๊ตํ–ˆ๋‹ค.

์„ผ์„œ ๋น„๊ต t ๊ฐ’ p ๊ฐ’ 80%์™€ ์œ ์˜์ฐจ
DIGIT 80% vs 1% -27.36 < 0.001 ์žˆ์Œ
DIGIT 80% vs 5% -7.06 < 0.001 ์žˆ์Œ
DIGIT 80% vs 10% -3.20 0.008 ์žˆ์Œ
DIGIT 80% vs 20%, 40% - - ์—†์Œ
GelSight Mini 80% vs 1% -29.30 < 0.001 ์žˆ์Œ
GelSight Mini 80% vs 5% -11.76 < 0.001 ์žˆ์Œ
GelSight Mini 80% vs 10% -4.82 < 0.001 ์žˆ์Œ
GelSight Mini 80% vs 20%, 40% - - ์—†์Œ

๋ถ„ํฌ ๋ชจ์–‘์ด ๋น„๋ชจ์ˆ˜์ ์ด๋ผ Mann-Whitney U ๊ฒ€์ •๋„ ํ–ˆ๊ณ  ๊ฒฐ๊ณผ๋Š” ๊ฐ™์•˜๋‹ค. 20% ์ง€์ ์—์„œ ์„ฑ๋Šฅ์ด ์•ˆ์ •ํ™”๋˜๊ณ , ๊ทธ ์ด์ƒ์€ ์˜๋ฏธ ์žˆ๋Š” ๊ฐœ์„ ์ด ๊ฑฐ์˜ ์—†์—ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๋‚˜์˜จ ์‹ค์šฉ ๊ฐ€์ด๋“œ๋ผ์ธ์ด ์ด ๋…ผ๋ฌธ์˜ ์•Œ์งœ๋‹ค.

๋‘ ์„ผ์„œ ๋ชจ๋‘์—์„œ ์ตœ์  ์„ฑ๋Šฅ์„ ๋‚ด๋ ค๋ฉด, 0.5 mm ร— 0.5 mm ๊ฒฉ์ž์—์„œ ์ „์ฒด ์ขŒํ‘œ์˜ 20% ์ด์ƒ(์•ฝ 240~250๊ฐœ ์ขŒํ‘œ)์„ ๋ฌด์ž‘์œ„๋กœ ์ฐŒ๋ฅด๋ผ. ์ˆ˜์ง‘ ์‹œ๊ฐ„์€ ์•ฝ 2์‹œ๊ฐ„์ด๋ฉด ์ถฉ๋ถ„ํ•˜๋‹ค.

๋ฏธ์ง€ ๊ฐ์ฒด ์„ฑ๋Šฅ

ํ•™์Šต์€ ๊ตฌํ˜• ํƒ์นจ์œผ๋กœ๋งŒ ํ–ˆ์ง€๋งŒ, ํ‰๊ฐ€๋Š” ์ฒ˜์Œ ๋ณด๋Š” ๋น„๊ตฌํ˜• ๊ฐ์ฒด๋กœ ํ–ˆ๋‹ค. CAD๋กœ ๋ฐ˜๊ตฌ(hemispheres), ์•Œ์•ฝ(pill), ํฐ(pawn, ์ฒด์Šค ๋ง) ์„ธ ์ข…๋ฅ˜๋ฅผ ์„ค๊ณ„ํ•ด 10 mm ร— 10 mm๋กœ ์ถœ๋ ฅํ•œ ๋’ค ์„ผ์„œ์— ์†์œผ๋กœ ๋ˆŒ๋ €๋‹ค(Figure 4A). STL์„ ๊นŠ์ด๋งต์œผ๋กœ ๋ณ€ํ™˜ํ•ด ground-truth๋กœ ์‚ผ๊ณ , P=80% ๋ชจ๋ธ ์˜ˆ์ธก๊ณผ ๋น„๊ตํ–ˆ๋‹ค.

์†์œผ๋กœ ๋ˆŒ๋ €๊ธฐ ๋•Œ๋ฌธ์— xy ํ‰๋ฉด ์ •๋ ฌ์€ 2D ๊ต์ฐจ์ƒ๊ด€(cross-correlation)์œผ๋กœ ๋งž์ท„๊ณ , ๋ˆ„๋ฅธ ๊นŠ์ด์˜ ๋ฏธ์„ธํ•œ ์ฐจ์ด๋Š” ground-truth CAD์˜ ๊นŠ์ด๋ฅผ ์กฐ์ •ํ•ด ์˜ˆ์ธก๊ณผ์˜ MSE๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ์‹์œผ๋กœ ๋ณด์ •ํ–ˆ๋‹ค. (์ด ๋ณด์ • ์ ˆ์ฐจ๋Š” ๋’ค์˜ ๋น„ํŒ์—์„œ ๋‹ค์‹œ ์งš๋Š”๋‹ค.)

๋ณต์› ๊นŠ์ด๋งต์€ ํ…Œ์ŠคํŠธ ๊ฐ์ฒด ์œค๊ณฝ๊ณผ ์‹œ๊ฐ์ ์œผ๋กœ ์ž˜ ๋‹ฎ์•˜๋‹ค(Figure 4B, C). ์ •๋Ÿ‰ ๊ฒฐ๊ณผ(Table I)๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋‹จ์œ„๋Š” ฮผm.

์˜ค์ฐจ ์ข…๋ฅ˜ ํ…Œ์ŠคํŠธ ๊ฐ์ฒด DIGIT (ฮผm) GelSight Mini (ฮผm)
Overall Error Hemispheres 16.984 22.413
Overall Error Pill 16.274 23.641
Overall Error Pawn 52.211 48.821
Type 1 Error Hemispheres 5.641 5.143
Type 1 Error Pill 8.807 7.557
Type 1 Error Pawn 18.788 17.360
Type 2 Error Hemispheres 107.127 171.605
Type 2 Error Pill 65.274 152.846
Type 2 Error Pawn 296.381 290.014

์˜ค์ฐจ๋ฅผ ๋‘ ์ข…๋ฅ˜๋กœ ์ชผ๊ฐ  ๊ฒŒ ๋ถ„์„์˜ ํ•ต์‹ฌ์ด๋‹ค(Figure 5).

  • Type 1 ์˜ค์ฐจ: ground-truth ๊นŠ์ด๊ฐ€ 0์ธ ์˜์—ญ(=์‹ค์ œ๋กœ ์•ˆ ๋‹ฟ์€ ๊ณณ)์˜ ํ”ฝ์…€ ์˜ค์ฐจ. ๋ชจ๋“  ๊ฐ์ฒด์—์„œ ๋‘ ์„ผ์„œ ๋ชจ๋‘ 20 ฮผm ๋ฏธ๋งŒ์ด์—ˆ๋‹ค. ์ฆ‰ โ€œ๋‹ฟ์ง€ ์•Š์€ ๊ณณโ€์„ ์žก์•„๋‚ด๋Š” ๋ฐ๋Š” ๊ฑฐ์˜ ์™„๋ฒฝํ•˜๋‹ค. ๊ฑฐ์ง“ ์ ‘์ด‰์ด ์ ๋‹ค๋Š” ๋œป์ด๋ผ, ์ ‘์ด‰ ์˜์—ญ ๋ถ„ํ•  ๊ฐ™์€ ์šฉ๋„์— ๋“ ๋“ ํ•˜๋‹ค.
  • Type 2 ์˜ค์ฐจ: ground-truth ๊นŠ์ด๊ฐ€ 0์ด ์•„๋‹Œ ์˜์—ญ(=์‹ค์ œ๋กœ ๋‹ฟ์€ ๊ณณ)์˜ ๊นŠ์ด ์˜ค์ฐจ. 65~296 ฮผm๋กœ ๋” ์ปธ๋‹ค. ๋‹ค๋งŒ ๋ฐ˜๊ตฌ์™€ ์•Œ์•ฝ์€ ๋Œ€์ฒด๋กœ 200 ฮผm ์•„๋ž˜์— ๋ชฐ๋ ค ์žˆ์—ˆ๋‹ค. ์ €์ž๋“ค์€ ์ด ์ •๋„(์ตœ๋Œ€ ๋ˆŒ๋ฆผ ๊นŠ์ด์˜ ์•ฝ 5~15%)๋ฉด ์ƒ๋‹น์ˆ˜ ์‹ค์„ธ๊ณ„ ์กฐ์ž‘ ์ž‘์—…์— ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ๋ณธ๋‹ค.

ํฅ๋ฏธ๋กœ์šด ๋น„๋Œ€์นญ๋„ ๋ณด์ธ๋‹ค. ๋‹จ์ˆœํ•œ ๊ธฐํ•˜(๋ฐ˜๊ตฌ, ์•Œ์•ฝ)์—์„œ๋Š” DIGIT์ด ๋” ์ •ํ™•ํ–ˆ์ง€๋งŒ, ํฐ์—์„œ๋Š” GelSight Mini๊ฐ€ ์•ž์„ฐ๋‹ค. ๋‘ ์„ผ์„œ ๋ชจ๋‘ ํฐ์˜ ๋ชฉ ๋ถ€๋ถ„์„ ๋ณต์›ํ•˜๋Š” ๋ฐ ์• ๋ฅผ ๋จน์—ˆ๋Š”๋ฐ, ํฐ ๊ธฐํ•˜์™€ ์„ผ์„œ ์กฐ๋ช… ๋ฐฐ์น˜ ํƒ“์— ๊ทธ ๋ถ€๋ถ„์ด ๊ทธ๋ฆผ์ž์— ๋ฌปํ˜”๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ €์ž๋“ค์€ ๋” ๋‹ค์–‘ํ•œ ํƒ์นจ ๊ธฐํ•˜๋กœ ํ•™์Šตํ•˜๋ฉด ๊ทธ๋ฆผ์ž์— ๋Œ€ํ•œ ๊ฐ•๊ฑด์„ฑ์ด ์˜ฌ๋ผ๊ฐˆ ๊ฒƒ์œผ๋กœ ๋ณธ๋‹ค.


๋น„ํŒ์  ๊ณ ์ฐฐ: ๋ฌด์—‡์ด ์ข‹๊ณ , ๋ฌด์—‡์ด ๋ฏธ์‹ฌ์ฉ์€๊ฐ€

๊ฐ•์ 

์ง„์ž… ์žฅ๋ฒฝ์„ ์ง„์งœ๋กœ ๋‚ฎ์ถ˜๋‹ค. 6์ถ• ๋กœ๋ด‡ํŒ”์ด๋‚˜ CNC, ๋ชจ์…˜์บก์ฒ˜๋Š” ์ˆ˜๋ฐฑ~์ˆ˜์ฒœ๋งŒ ์›์— ์…‹์—…๋„ ๊ธธ๋‹ค. Ender 3๋Š” ์‹ญ์ˆ˜๋งŒ ์›์ด๋‹ค. ๋ฐ›์นจ๋Œ€๋ฅผ ๋ฐ”๋‹ฅ์— ์ถœ๋ ฅํ•ด ๊ณต๊ฐ„ ๋ณด์ •์„ ํ†ต์งธ๋กœ ์—†์•ค ํŠธ๋ฆญ์€ ๋‹จ์ˆœํ•˜์ง€๋งŒ ํšจ๊ณผ๊ฐ€ ํฌ๋‹ค. ์…‹์—… ๋‚œ์ด๋„์™€ ๋น„์šฉ์„ ๋™์‹œ์— ๊นŽ์•˜๋‹ค.

๊ฐ€๋ณ๊ณ  ์‹ค์‹œ๊ฐ„์ด๋‹ค. 9์ธต ์™„์ „ํ•ฉ์„ฑ๊ณฑ๋ง์ด๋ผ ๋…ธํŠธ๋ถ์—์„œ 30 fps๊ฐ€ ๋‚˜์˜จ๋‹ค. ๋ฌด๊ฑฐ์šด ํŠธ๋žœ์Šคํฌ๋จธ๋‚˜ ๋””ํ“จ์ „ ๊ธฐ๋ฐ˜ ๋ณต์›๊ณผ ๋Œ€๋น„๋œ๋‹ค. ๋กœ๋ด‡ ์†์— ์˜ฌ๋ ค ์ œ์–ด ๋ฃจํ”„์— ๋ฐ”๋กœ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์‹ค๋ฌด์ ์œผ๋กœ ๋งค๋ ฅ์ ์ด๋‹ค.

์ผ๋ฐ˜ํ™”๊ฐ€ ๋œ๋‹ค. ๊ตฌํ˜• ํƒ์นจ ํ•˜๋‚˜๋กœ๋งŒ ํ•™์Šตํ•˜๊ณ ๋„ ๋ฐ˜๊ตฌ/์•Œ์•ฝ/ํฐ ๊ฐ™์€ ๋ฏธ์ง€ ํ˜•์ƒ์„ ๋ณต์›ํ•œ๋‹ค. ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตญ์†Œ์ ์œผ๋กœ ๋งžํžˆ๊ณ  ์ ๋ถ„ํ•˜๋Š” ์„ค๊ณ„ ๋•๋ถ„์ด๋‹ค. โ€œํ˜•์ƒ์„ ์™ธ์šฐ์ง€ ๋ง๊ณ  ๊ตญ์†Œ ๊ทœ์น™์„ ๋ฐฐ์›Œ๋ผโ€๋Š” ๋ฐฉํ–ฅ์ด ๋ฐ์ดํ„ฐ ํšจ์œจ๊ณผ ์ผ๋ฐ˜ํ™” ์–‘์ชฝ์—์„œ ํ†ตํ–ˆ๋‹ค.

์žฌํ˜„์„ฑ๊ณผ ๊ณต๊ฐœ์„ฑ. ์ฝ”๋“œ, DIGIT/GelSight Mini ์‚ฌ์ „ํ•™์Šต ๊ฐ€์ค‘์น˜, 70,000์žฅ ๋ฐ์ดํ„ฐ์…‹์„ ์ „๋ถ€ ๊ณต๊ฐœํ–ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ฐ€์ด๋“œ๋ผ์ธ(20%, ์•ฝ 250์ขŒํ‘œ, 2์‹œ๊ฐ„)๋„ ๊ตฌ์ฒด์ ์ด๋ผ ๋”ฐ๋ผ ํ•˜๊ธฐ ์‰ฝ๋‹ค.

์•ฝ์ ๊ณผ ํ•œ๊ณ„

1. ์ €๊ฐ€ ํ”„๋ฆฐํ„ฐ์˜ z์ถ• ์ •๋ฐ€๋„๋ผ๋Š” ๊ทผ๋ณธ ์˜๋ฌธ. ์ด ๋ฐฉ๋ฒ•์€ ๊นŠ์ด ๋ผ๋ฒจ์„ ํ”„๋ฆฐํ„ฐ์˜ z ์œ„์น˜์—์„œ ์–ป๋Š”๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ธก์ •ํ•˜๋ ค๋Š” ์ด‰๊ฐ ๊นŠ์ด๋Š” ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ ฮผm ๋‹จ์œ„๋‹ค. FDM ํ”„๋ฆฐํ„ฐ(ํŠนํžˆ Ender 3)์˜ z์ถ• ๋ฐ˜๋ณต์ •๋ฐ€๋„์™€ ๋ฐฑ๋ž˜์‹œ(backlash)๋Š” ๋ณดํ†ต ๊ทธ๋ณด๋‹ค ๊ฑฐ์น ๋‹ค. ๋…ผ๋ฌธ์€ ๋ผ๋ฒจ์˜ ์ ˆ๋Œ€ ์ •๋ฐ€๋„ ์ž์ฒด๋ฅผ ์ •๋Ÿ‰ ๊ฒ€์ฆํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ณด์ • ์žฅ์น˜๋ฅผ ์‹ธ๊ฒŒ ๋งŒ๋“  ๋Œ€๊ฐ€๊ฐ€ ground-truth ํ’ˆ์งˆ์— ์–ด๋””๊นŒ์ง€ ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€๋Š” ๋” ๋”ฐ์ ธ๋ณผ ๋ฌธ์ œ๋‹ค.

2. ground-truth๋ฅผ ์˜ˆ์ธก์— ๋งž์ถฐ ๋ณด์ •ํ–ˆ๋‹ค. ๋ฏธ์ง€ ๊ฐ์ฒด ํ‰๊ฐ€์—์„œ ์†์œผ๋กœ ๋ˆŒ๋ €๊ธฐ ๋•Œ๋ฌธ์—, xy ์ •๋ ฌ์„ ๊ต์ฐจ์ƒ๊ด€์œผ๋กœ ๋งž์ถ”๊ณ  ๊นŠ์ด๋Š” โ€œ์˜ˆ์ธก๊ณผ์˜ MSE๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜๋„๋กโ€ CAD ๊นŠ์ด๋ฅผ ์กฐ์ •ํ–ˆ๋‹ค. ์ •๋ ฌ์€ ํ•ฉ๋ฆฌ์ ์ด์ง€๋งŒ, ground-truth์˜ ์ž์œ  ํŒŒ๋ผ๋ฏธํ„ฐ(๊นŠ์ด)๋ฅผ ์˜ˆ์ธก์— ๋งž์ถฐ ์ตœ์ ํ™”ํ•˜๋ฉด ๋ณด๊ณ ๋œ ์˜ค์ฐจ๊ฐ€ ๋‹ค์†Œ ํ›„ํ•˜๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ž๋™ํ™”๋œ z ์ œ์–ด ์ธ๋ดํ…Œ์ด์…˜์œผ๋กœ ํ‰๊ฐ€ํ–ˆ๋‹ค๋ฉด ๋” ๊น”๋”ํ–ˆ์„ ๊ฒƒ์ด๋‹ค.

3. ๋‹จ์ผ ํƒ์นจ ๊ธฐํ•˜์˜ ๊ทธ๋Š˜. ๊ตฌํ˜• ํƒ์นจ๋งŒ ์จ์„œ, ์˜ค๋ชฉํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฆผ์ž๊ฐ€ ์ง€๋Š” ๊ธฐํ•˜(ํฐ์˜ ๋ชฉ)์—์„œ ๋ฌด๋„ˆ์กŒ๋‹ค. ์ €์ž๋“ค๋„ ์ธ์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. ํƒ์นจ ๋‹ค์–‘์„ฑ์„ ๋Š˜๋ฆฌ๋ฉด ๋‚˜์•„์ง€๊ฒ ์ง€๋งŒ, ๊ทธ๋งŒํผ ์ˆ˜์ง‘ ์ ˆ์ฐจ๊ฐ€ ๋ณต์žกํ•ด์ง„๋‹ค.

4. ๋น„๊ต ๋ฒ ์ด์Šค๋ผ์ธ์ด ์—†๋‹ค. ์‹คํ—˜์€ ์ž๊ธฐ ๋ชจ๋ธ์„ ๋ฐ์ดํ„ฐ ๋น„์œจ๋ณ„๋กœ ๋น„๊ตํ•  ๋ฟ, ๋‹ค๋ฅธ ๊นŠ์ด ๋ณต์› ๋ฐฉ๋ฒ•(๊ณ ์ „์  photometric stereo ๋ฃฉ์—…ํ…Œ์ด๋ธ” ๋ฐฉ์‹, MLP ๊ธฐ๋ฐ˜, ๊ธฐ์กด GelSight ๋ณด์ • ๋“ฑ)๊ณผ์˜ ์ •๋ฉด ๋น„๊ต๊ฐ€ ์—†๋‹ค. โ€œ๊ธฐ์กด ๋ฐฉ์‹๋ณด๋‹ค ์ •ํ™•ํ•˜๋‹คโ€๊ฐ€ ์•„๋‹ˆ๋ผ โ€œ์‹ธ๊ฒŒ, ์ถฉ๋ถ„ํžˆ ์ •ํ™•ํ•˜๋‹คโ€๋Š” ์ฃผ์žฅ์ด๋ผ ๋ฐฉํ–ฅ์€ ๋งž์ง€๋งŒ, ์ •ํ™•๋„ ์šฐ์œ„๋Š” ์ž…์ฆ๋˜์ง€ ์•Š์•˜๋‹ค.

5. ์ ์šฉ ๋ฒ”์œ„๊ฐ€ ์ข๋‹ค(์•„์ง). ํ˜„์žฌ๋Š” ๋น„์ „ ๊ธฐ๋ฐ˜ ์„ผ์„œ, ๊นŠ์ด๋งต ์ถœ๋ ฅ์— ํ•œ์ •๋œ๋‹ค. ํž˜/์ „๋‹จ๋ ฅ์€ ๋ฏธ์ง€์›์ด๊ณ , ํ‰๋ฉด์ด๊ฑฐ๋‚˜ ๊ณก๋ฅ  ๋ฐ˜๊ฒฝ์ด ์ž‘์€ ์„ผ์„œ์—๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ๊ณก๋ฉด ์†๋ ์„ผ์„œ(์˜ˆ: ๋ฐ˜๊ตฌํ˜• ์ง€๋ฌธ ์„ผ์„œ)์—๋Š” ๋ฐ”๋กœ ์ ์šฉํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

6. ๊ฒ€์ฆ ํญ์ด ์–•๋‹ค. ์„ผ์„œ 2์ข…, ๋ฏธ์ง€ ๊ฐ์ฒด 3์ข…์ด๋‹ค. ๋ถ„์•ผ ํ‘œ์ค€ ์ˆ˜์ค€์˜ ๊ฒ€์ฆ์œผ๋กœ๋Š” ์ ์€ ํŽธ์ด๋‹ค. ๋‹ค์–‘ํ•œ ์ ค ๊ฒฝ๋„, ๋…ธํ›„ํ™”๋œ ์ ค, ๋งˆ์ปค ์žˆ๋Š” ๋ณ€ํ˜•๊นŒ์ง€ ๊ฐ€๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์—ฌ์ง€๊ฐ€ ์žˆ๋‹ค.

๊ด€๋ จ ์—ฐ๊ตฌ์™€์˜ ์œ„์น˜

์„ผ์„œ ํ•˜๋“œ์›จ์–ด ๊ณ„๋ณด: GelSight(Yuan 2017), DIGIT(Lambeta 2020), GelSight Wedge, GelSlim 4.0, 9DTact, TacTip ๋“ฑ. 3D Cal์€ ์ƒˆ ์„ผ์„œ๋ฅผ ๋งŒ๋“œ๋Š” ๋Œ€์‹ , ์ด๋ฏธ ์žˆ๋Š” ์„ผ์„œ๋ฅผ ์“ฐ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ์ƒํƒœ๊ณ„: PyTouch(Lambeta 2021)๋Š” ํ†ตํ•ฉ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ, TACTO(Wang 2022)๋Š” ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. 3D Cal์€ ์ด ์ƒํƒœ๊ณ„์—์„œ ๋น„์–ด ์žˆ๋˜ ๋ณด์ • ์นธ์„ ์ฑ„์šด๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋„, ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋„ ์žˆ์ง€๋งŒ โ€œraw๋ฅผ ๋ฌผ๋ฆฌ๋Ÿ‰์œผ๋กœ ๋ฐ”๊พธ๋Š” ์ž๋™ ๋ณด์ •โ€์€ ๋น ์ ธ ์žˆ์—ˆ๋‹ค.

์ž๋™ ๋ณด์ • ์„ ํ–‰ ์—ฐ๊ตฌ์™€์˜ ๋Œ€๋น„: DenseTact(Do & Kennedy 2022)๋Š” CNC, FeelAnyForce(Shahidzadeh 2025)๋Š” 6์ถ• ํŒ”, TensorTouch(Do 2025)๋Š” ๋ชจ์…˜์บก์ฒ˜๋ฅผ ์“ด๋‹ค. ๋ชจ๋‘ ๋น„์‹ธ๊ณ  ๊ณต๊ฐ„ ๋ณด์ •์ด ํ•„์š”ํ•˜๋‹ค. 3D Cal์€ ๊ฐ™์€ ์ž๋™ํ™”๋ฅผ ์ €๊ฐ€ ํ”„๋ฆฐํ„ฐ + ์•”๋ฌต์  ์ขŒํ‘œ ์ •๋ ฌ๋กœ ๋‹ฌ์„ฑํ•ด ์ ‘๊ทผ์„ฑ์„ ๋Œ์–ด๋‚ด๋ ธ๋‹ค.

๋ณต์› ๋ฐฉ๋ฒ•๋ก  ๋Œ€๋น„: ๊ณ ์ „ GelSight ๋ณด์ •(Johnson & Adelson 2009/2011)์€ ๋ณด์ • ๊ตฌ + ๋ฃฉ์—…ํ…Œ์ด๋ธ”๋กœ ์ƒ‰โ†’๊ธฐ์šธ๊ธฐ๋ฅผ ๋งคํ•‘ํ–ˆ๋‹ค. TouchNet์€ ๋ฃฉ์—…ํ…Œ์ด๋ธ” ๋Œ€์‹  CNN์„ ์“ฐ๊ณ , CoordConv๋ฅ˜ ์ขŒํ‘œ ์ž„๋ฒ ๋”ฉ(Liu 2018)์œผ๋กœ ๋น„๊ท ์ผ ์กฐ๋ช…์„ ๋ช…์‹œ์ ์œผ๋กœ ๋‹ค๋ฃฌ๋‹ค. ๊ธฐ์šธ๊ธฐโ†’๊นŠ์ด ํ‘ธ์•„์†ก ์ ๋ถ„์€ ์ด ๊ณ„์—ด์˜ ํ‘œ์ค€์„ ๊ทธ๋Œ€๋กœ ๊ณ„์Šนํ•œ๋‹ค.

๋ฏธ๋ž˜ ๋ฐฉํ–ฅ: ์ €์ž๋“ค์€ ์„ผ์„œ๋ณ„ ๊ฐœ๋ณ„ ๋ณด์ •์—์„œ ๋ฒ—์–ด๋‚˜ ์ „์ดํ•™์Šต(Touch2Touch, Sparsh)๊ณผ ์„ผ์„œ ๋น„์ข…์† ๋ชจ๋ธ๋กœ ๊ฐ€๋Š” ํ๋ฆ„์„ ๋‚ด๋‹ค๋ณธ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด 70,000์žฅ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต๊ฐœํ–ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ์ด‰๊ฐ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์‹ธ๊ฒŒ ์ž๋™ํ™”ํ•˜๋Š” ๋„๊ตฌ๋ผ๋Š” ์ ์—์„œ, ์ด ํฐ ๊ทธ๋ฆผ์— ๋ถ€ํ’ˆ์œผ๋กœ ๊ธฐ์—ฌํ•œ๋‹ค.


์š”์•ฝ ๋ฐ ๊ฒฐ๋ก 

3D Cal์€ โ€œ์ด‰๊ฐ ์„ผ์„œ ๋ณด์ •์ด ์™œ ์ด๋ ‡๊ฒŒ ๊ท€์ฐฎ์€๊ฐ€โ€๋ผ๋Š” ํ˜„์žฅ์˜ ํ†ต์ฆ์„ ์ •ํ™•ํžˆ ๊ฒจ๋ƒฅํ•œ ๋„๊ตฌ๋‹ค. ๋น„์‹ผ ์žฅ๋น„ ๋Œ€์‹  ํ”ํ•œ 3D ํ”„๋ฆฐํ„ฐ๋ฅผ ์ž๋™ ํƒ์นจ๊ธฐ๋กœ ์“ฐ๊ณ , ๋ฐ›์นจ๋Œ€๋ฅผ ๋ฐ”๋‹ฅ์— ์ถœ๋ ฅํ•ด ๊ณต๊ฐ„ ๋ณด์ •์„ ์—†์•ค ๋ฐœ์ƒ์ด ๋‹จ์ˆœํ•˜๋ฉด์„œ๋„ ์‹ค์šฉ์ ์ด๋‹ค. ๊ฐ€๋ฒผ์šด TouchNet์€ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตญ์†Œ์ ์œผ๋กœ ๋งžํžˆ๊ณ  ํ‘ธ์•„์†ก์œผ๋กœ ์ ๋ถ„ํ•˜๋Š” ์ •๊ณต๋ฒ•์œผ๋กœ, ๊ตฌํ˜• ํƒ์นจ๋งŒ ๋ณด๊ณ ๋„ ๋ฏธ์ง€ ํ˜•์ƒ์„ 30 fps ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณต์›ํ•œ๋‹ค. ๋ฏธ์ง€ ๊ฐ์ฒด ์ „์ฒด ํ‰๊ท  ์˜ค์ฐจ๋Š” ๋‘ ์„ผ์„œ ๋ชจ๋‘ ์ˆ˜์‹ญ ฮผm ์ˆ˜์ค€์ด๊ณ , ๋น„์ ‘์ด‰ ์˜์—ญ ํŒ๋ณ„์€ ๊ฑฐ์˜ ์™„๋ฒฝํ•˜๋‹ค.

ํ•œ๊ณ„๋„ ๋ถ„๋ช…ํ•˜๋‹ค. ์ €๊ฐ€ ํ”„๋ฆฐํ„ฐ z์ถ• ์ •๋ฐ€๋„๊ฐ€ ๋ผ๋ฒจ ํ’ˆ์งˆ์— ์ฃผ๋Š” ์˜ํ–ฅ์ด ์ •๋Ÿ‰ ๊ฒ€์ฆ๋˜์ง€ ์•Š์•˜๊ณ , ๋ฏธ์ง€ ๊ฐ์ฒด ํ‰๊ฐ€์—์„œ ground-truth ๊นŠ์ด๋ฅผ ์˜ˆ์ธก์— ๋งž์ถฐ ๋ณด์ •ํ•œ ์ ์€ ์˜ค์ฐจ๋ฅผ ํ›„ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์ผ ๊ตฌํ˜• ํƒ์นจ ํƒ“์— ๊ทธ๋ฆผ์ž ์ง„ ์˜ค๋ชฉ ๊ธฐํ•˜์—์„œ ์•ฝํ•˜๊ณ , ๋‹ค๋ฅธ ๋ณด์ • ๋ฐฉ๋ฒ•๊ณผ์˜ ์ •๋ฉด ๋น„๊ต๋„ ์—†๋‹ค. ์ ์šฉ ๋ฒ”์œ„๋Š” ์•„์ง ๋น„์ „ ๊ธฐ๋ฐ˜ ์„ผ์„œ์˜ ๊นŠ์ด๋งต์— ๋ฌถ์—ฌ ์žˆ๋‹ค.

๊ทธ๋Ÿผ์—๋„ ๋กœ๋ด‡ ์†์— ์ด‰๊ฐ์„ ๋ถ™์ด๋ ค๋Š” ์‹ค๋ฌด์ž ์ž…์žฅ์—์„œ ์ด ๋„๊ตฌ์˜ ๊ฐ€์น˜๋Š” ๋˜๋ ทํ•˜๋‹ค. ์„ผ์„œ๋ฅผ ์‚ฌ๊ณ  โ†’ ๋ฐ›์นจ๋Œ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  โ†’ 2์‹œ๊ฐ„ ์ฐŒ๋ฅด๊ณ  โ†’ ์‚ฌ์ „ํ•™์Šต ๊ฐ€์ค‘์น˜๋กœ ๋ฏธ์„ธ์กฐ์ •ํ•˜๋ฉด ๋์ด๋ผ๋Š” ์›Œํฌํ”Œ๋กœ๋Š”, ๋น„์‹ผ ์žฅ๋น„ ์…‹์—…๊ณผ ์ˆ˜์ž‘์—… ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์ด๋ผ๋Š” ๋‘ ๋ณ‘๋ชฉ์„ ๋™์‹œ์— ์น˜์šด๋‹ค. DIGIT์ด๋‚˜ GelSight Mini๋ฅผ ๋งŒ์ง€๋Š” ์—ฐ๊ตฌ๋ผ๋ฉด ์‚ฌ์ „ํ•™์Šต ๊ฐ€์ค‘์น˜๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐ›์•„ ๋ฏธ์„ธ์กฐ์ •๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ณด๋Š” ๊ฒŒ ํ•ฉ๋ฆฌ์ ์ด๋‹ค. ์ƒˆ ์„ผ์„œ๋ฅผ ๊ฐœ๋ฐœ ์ค‘์ด๋ผ๋ฉด, ํ†ต์‹ /์ด๋ฏธ์ง€ ํš๋“ ํ•จ์ˆ˜ ๋‘ ๊ฐœ๋งŒ ๊ตฌํ˜„ํ•ด ์ž๋™ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํŒŒ์ดํ”„๋ผ์ธ์„ ์–น๋Š” ๋ฐฉํ–ฅ์„ ๊ฒ€ํ† ํ•  ๋งŒํ•˜๋‹ค.

ํ–ฅํ›„ ํž˜/์ „๋‹จ๋ ฅ ๋ณด์ •๊ณผ ์ •์ „ยท์ €ํ•ญ์‹ ์„ผ์„œ ์ง€์›์ด ๋”ํ•ด์ง€๊ณ , ๊ณต๊ฐœ๋œ 70,000์žฅ ๋ฐ์ดํ„ฐ๊ฐ€ ์„ผ์„œ ๋น„์ข…์† ๋ชจ๋ธ๋กœ ์ด์–ด์ง„๋‹ค๋ฉด, 3D Cal์€ ์ด‰๊ฐ ์„ผ์‹ฑ์˜ ์ง„์ž… ์žฅ๋ฒฝ์„ ๋‚ฎ์ถ”๋Š” ํ‘œ์ค€ ๋„๊ตฌ๋กœ ์ž๋ฆฌ ์žก์„ ์—ฌ์ง€๊ฐ€ ์žˆ๋‹ค.


์ฐธ๊ณ  ๋ฉ”๋ชจ

  • ํ”„๋กœ์ ํŠธ/์ฝ”๋“œ/๋ฐ์ดํ„ฐ/๊ฐ€์ค‘์น˜: https://rohankotanu.github.io/3DCal
  • ์‚ฌ์šฉ ํ•˜๋“œ์›จ์–ด ์˜ˆ์‹œ: Creality Ender 3, ๊ฐ•์ฒด ๊ตฌํ˜• ํƒ์นจ ๋ฐ˜๊ฒฝ 2 mm (McMaster-Carr 85175A586)
  • ๋ฐ์ดํ„ฐ ๊ฐ€์ด๋“œ๋ผ์ธ: 0.5 mm x 0.5 mm ๊ฒฉ์ž์—์„œ ์ „์ฒด ์ขŒํ‘œ์˜ 20% ์ด์ƒ(์•ฝ 240~250๊ฐœ), ์ˆ˜์ง‘ ์‹œ๊ฐ„ ์•ฝ 2์‹œ๊ฐ„
  • ์ถ”๋ก  ์„ฑ๋Šฅ: ๋…ธํŠธ๋ถ๊ธ‰ ํ•˜๋“œ์›จ์–ด์—์„œ 30 ms ๋ฏธ๋งŒ, 30 fps ์‹ค์‹œ๊ฐ„

Copyright 2026, JungYeon Lee