<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://wentaoguo.net/feed.xml" rel="self" type="application/atom+xml" /><link href="https://wentaoguo.net/" rel="alternate" type="text/html" /><updated>2026-10-24T09:13:10+00:00</updated><id>https://wentaoguo.net/feed.xml</id><title type="html">Wentao Guo</title><subtitle>Wentao Guo - Ph.D. student at The University of Hong Kong working on Robotics and Embodied AI, focused on data-centric robot learning and task-aware robotic hands.</subtitle><author><name>Wentao Guo</name><email>yinsumirage@gmail.com</email></author><entry xml:lang="en"><title type="html">Haptic Feedback in Teleoperation: Survey Notes</title><link href="https://wentaoguo.net/blog/2025/haptic-teleoperation/" rel="alternate" type="text/html" title="Haptic Feedback in Teleoperation: Survey Notes" /><published>2025-10-30T00:00:00+00:00</published><updated>2025-10-30T00:00:00+00:00</updated><id>https://wentaoguo.net/blog/2025/haptic-teleoperation</id><content type="html" xml:base="https://wentaoguo.net/blog/2025/haptic-teleoperation/"><![CDATA[<p>This survey examines haptic feedback for teleoperation. I carried it out during my internship at Transcengram.</p>

<p>The post first explains why teleoperation needs haptic feedback and how humans perceive touch. It then reviews the ways haptic feedback can be rendered, grouped into vibration, force, electrical stimulation, shape arrays, and others. Next, it looks at several teleoperation systems, as well as UMI-style wearable data collection devices. It closes with a summary and discussion.</p>

<h2 id="1-why-teleoperation-needs-haptic-feedback">1. Why Teleoperation Needs Haptic Feedback</h2>

<p>The performance of imitation learning depends heavily on data, yet what counts as “good data” is hard to define. Teleoperation is currently the main way to collect data for dexterous hands, and there are three common approaches:</p>

<ul>
  <li><strong>Vision-based hand tracking</strong> (e.g., hand tracking on a VR headset): nothing to wear, but prone to occlusion and limited in accuracy;</li>
  <li><strong>Motion-capture gloves</strong>: accurate, but the operator cannot feel the robot hand’s contacts and has to judge by sight whether it is touching something and how hard;</li>
  <li><strong>Commercial haptic gloves</strong> (e.g., the force-feedback models from SenseGlove and MANUS): good feedback, but expensive and a lot of work to integrate with a robot system.</li>
</ul>

<figure>
  <img src="/assets/blog/haptic-teleoperation/teleop-methods.jpg" alt="Three kinds of teleoperation: vision-based hand tracking, motion-capture gloves, and commercial haptic gloves" />
  <figcaption>Three current kinds of teleoperation. Source: DOGlove project talk</figcaption>
</figure>

<p>Without touch, the operator can only judge contact by sight. When the object is hidden behind the fingers, the contact force is small, or the grip force has to be controlled, this judgment is unreliable. A direct response is to build a low-cost device that combines motion capture with haptic and force feedback.</p>

<h2 id="2-human-tactile-perception">2. Human Tactile Perception</h2>

<h3 id="21-four-types-of-mechanoreceptors">2.1 Four Types of Mechanoreceptors</h3>

<p>The skin of the hand contains four main types of mechanoreceptors, each responsible for a different kind of tactile information:</p>

<table>
  <thead>
    <tr>
      <th>Receptor</th>
      <th>Mainly senses</th>
      <th>Relevance to manipulation</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Merkel disc</td>
      <td>Sustained pressure, edges, and fine shapes</td>
      <td>Telling apart surface texture and shape</td>
    </tr>
    <tr>
      <td>Meissner corpuscle</td>
      <td>Light touch, low-frequency vibration, small slips across the skin</td>
      <td>Noticing that an object starts to slip</td>
    </tr>
    <tr>
      <td>Pacinian corpuscle</td>
      <td>High-frequency vibration, most sensitive around 250 Hz</td>
      <td>Transient vibrations through a held tool, such as impacts and taps</td>
    </tr>
    <tr>
      <td>Ruffini ending</td>
      <td>Skin stretch</td>
      <td>Sensing finger posture and the direction of shear forces</td>
    </tr>
  </tbody>
</table>

<p>This table serves as a reference for the rest of the post: which receptors a haptic device can stimulate determines what information it can convey. Vibration motors mainly stimulate Pacinian and Meissner corpuscles, so they are good at conveying contact and impacts. Conveying shape requires an array that stimulates Merkel discs, and conveying shear or pulling requires stretching the skin.</p>

<h3 id="22-haptic-feedback-on-different-body-parts">2.2 Haptic Feedback on Different Body Parts</h3>

<p>Haptics is a major research topic in human–computer interaction (HCI). Long before the rise of embodied AI, a large body of HCI work studied how to let people feel virtual or remote environments. By body part, common targets include:</p>

<ul>
  <li><strong>Neck</strong>: simulating impacts to the head, and in some work guiding head rotation. Electrical muscle stimulation (EMS) is common here: electrodes placed on the relevant muscles make them contract, producing a sense of pressure or impact.</li>
  <li><strong>Chest and back</strong>: usually a wearable vest with an array of vibration motors or mechanical pushers. When a collision happens in VR, the actuator at the matching location moves, producing a sense of pressure and impact.</li>
  <li><strong>Arm</strong>: less studied; a typical approach uses EMS on the arm muscles to simulate the resistance of lifting a heavy object.</li>
  <li><strong>Fingers</strong>: the most studied, with approaches ranging from vibration and electrotactile feedback to flexible electronic skin and microfluidics (Section 3).</li>
  <li><strong>Whole body</strong>: for example, transcranial magnetic stimulation of the brain can produce touch sensations across many body parts (Section 3.3).</li>
</ul>

<p>Teleoperation is mostly concerned with the fingers, but touch on the arm and torso is also useful, for instance to warn the operator that the robot arm is about to hit an obstacle (Section 4.4).</p>

<h2 id="3-ways-to-render-haptic-feedback">3. Ways to Render Haptic Feedback</h2>

<h3 id="31-vibration-erm-lra-and-piezo">3.1 Vibration: ERM, LRA, and Piezo</h3>

<p>Vibration is the cheapest and most widely used form of haptic feedback, found in phones and game controllers. There are three common types of actuators:</p>

<ul>
  <li><strong>ERM (eccentric rotating mass)</strong>: a DC motor with an off-center weight that vibrates as it spins. It is simple and very cheap, but amplitude and frequency are both set by the rotation speed and cannot be controlled independently, and it starts and stops slowly, so it can only produce a fairly coarse buzz. In consumer electronics it has largely been replaced by the LRA.</li>
  <li><strong>LRA (linear resonant actuator)</strong>: a coil, a magnet, and a spring, driven by an AC signal near the resonant frequency so that a mass moves back and forth. It responds quickly, uses little power, and produces a crisp vibration, which makes it the standard choice in current phones. Its drawback is that it is only efficient near the resonant frequency, so its bandwidth is narrow. By vibration direction, LRAs come in a vertical type (Z-axis, usually round) and a lateral type (X/Y-axis, usually rectangular, with a longer stroke and richer vibration).</li>
  <li><strong>Piezo</strong>: the piezoelectric effect works both ways. Pressing on the material produces a voltage (the direct piezoelectric effect), which can be used for sensing; conversely, applying a voltage deforms the material (the converse piezoelectric effect), so driving it with AC makes it vibrate. Piezo actuators use the latter: piezo films or stacked ceramics deform at high frequency, giving the widest bandwidth and fastest response. They can be programmed to produce different sensations and are well suited to rendering texture and friction, but they need drive voltages of a hundred volts or more, which makes the drive circuitry and packaging more complex. Piezo should not be confused with <strong>piezoresistive</strong> materials, whose resistance merely changes with deformation: they can only be used for sensing, not actuation.</li>
</ul>

<p>Recommended choices for different applications:</p>

<table>
  <thead>
    <tr>
      <th>Goal</th>
      <th>Recommended</th>
      <th>Reason</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Basic teleoperation cues (contact / impact)</td>
      <td>LRA</td>
      <td>Fast response, low power, simple structure</td>
    </tr>
    <tr>
      <td>Complex textures / fine haptics research</td>
      <td>Piezo</td>
      <td>High frequency, wide bandwidth, programmable sensations</td>
    </tr>
    <tr>
      <td>Tight budget / DIY</td>
      <td>ERM</td>
      <td>Very cheap, but only coarse vibration</td>
    </tr>
    <tr>
      <td>Multi-point, spatial cues</td>
      <td>LRA array</td>
      <td>Independent feedback per finger; direction can be conveyed through phase differences between motors</td>
    </tr>
  </tbody>
</table>

<p>The limits of vibration are also clear: it can only convey whether there is contact and how strong it is, not shape, softness, or the direction of force.</p>

<h3 id="32-force-feedback">3.2 Force Feedback</h3>

<p>Force feedback aims to apply real resistance to the operator’s fingers, so that they feel the reaction force of grasping an object. Common structures include:</p>

<ul>
  <li><strong>Cable-driven</strong>: motors pull the fingers through cables; DOGlove uses this design (Section 4.1). It is light, but can only pull in one direction.</li>
  <li><strong>Linkage exoskeleton</strong>: linkages transmit motor torque to each finger joint and can measure joint angles at the same time. Many data gloves follow this approach.</li>
  <li><strong>Brakes / damping</strong>: instead of applying force actively, the device locks a joint or increases damping when needed. For example, ELAXO from Hsin-Ruey Tsai’s group uses adjustable resistance to render grasping and twisting, and DextrEMS (Section 3.3) also uses mechanical brakes. Passive designs are safe and power-efficient.</li>
</ul>

<p>These structures also allow some simple extensions, such as adding pushers on both sides of a finger to introduce a lateral degree of freedom and convey shear force, or using dynamically adjustable damping to render the softness of an object.</p>

<p>Note that when force feedback is produced by motors, how it feels depends heavily on the control scheme. DOGlove found that simply raising the PID gain of the servos makes the feedback feel overly stiff and unnatural.</p>

<h3 id="33-electrical-and-magnetic-stimulation">3.3 Electrical and Magnetic Stimulation</h3>

<p>Electrical stimulation is very common in HCI research, and Pedro Lopes (now at the University of Chicago) has done a great deal of work in this area.</p>

<p><strong>Electrical muscle stimulation (EMS)</strong> makes muscles contract involuntarily, producing a sense of being pushed back. For example, stimulating the arm muscles when the user pushes a wall or lifts a heavy box in VR makes the wall feel immovable and the box feel heavy:</p>

<figure class="narrow">
  <img src="/assets/blog/haptic-teleoperation/ems-walls.jpg" alt="Using electrical muscle stimulation to render walls and heavy objects in VR" />
  <figcaption>Rendering walls and heavy objects in VR with EMS. Source: Lopes et al., CHI 2017</figcaption>
</figure>

<p>The same method can stimulate the neck muscles to turn the head directly and guide the user’s gaze:</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/ems-neck.jpg" alt="Controlling head orientation with neck muscle stimulation" />
  <figcaption>Turning the head with neck EMS. Source: Tanaka et al., CHI 2022</figcaption>
</figure>

<p><strong>DextrEMS</strong> addresses two inherent problems of EMS: stimulating one finger also moves the others, and holding a finger still requires continuously contracting the opposing muscles, which makes the finger oscillate. It adds mechanical brakes to 8 finger joints (68 g in total): EMS actuates the fingers and the brakes lock them at the target position, enabling more dexterous control.</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/dextrems.jpg" alt="DextrEMS: electrical muscle stimulation combined with mechanical brakes on the finger joints" />
  <figcaption>DextrEMS. Source: Nith et al., UIST 2021</figcaption>
</figure>

<p><strong>Full-hand electrotactile feedback without obstructing the palm</strong> (CHI 2023 Best Paper): electrodes are placed only on the back of the hand and the wrist. By stimulating the median and ulnar nerves, the device produces touch sensations at 11 locations on the palmar side. Since nothing covers the palm, the user can still grasp real objects normally.</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/electrotactile-full-hand.jpg" alt="Electrodes on the back of the hand produce touch sensations on the palm and fingers" />
  <figcaption>Full-hand electrotactile feedback that leaves the palm free. Source: Tanaka et al., CHI 2023</figcaption>
</figure>

<p><strong>Magnetic stimulation</strong>: the electrical pulses of EMS cause a tingling sensation, and EMS relies on pre-gelled electrodes that must stay in contact with the skin and dry out quickly. Stimulating muscles with magnetic fields instead (UIST 2023) reduces the tingling and works through clothing.</p>

<p><strong>Haptic Source-Effector</strong> (CHI 2024) goes further: it applies transcranial magnetic stimulation (TMS) to the brain. Moving a single magnetic coil to different locations on the scalp produces 15 different touch and force sensations across the body, without placing an actuator on each body part.</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/haptic-source-effector.jpg" alt="Producing touch sensations on several body parts by stimulating the brain" />
  <figcaption>Haptic Source-Effector. Source: Tanaka et al., CHI 2024</figcaption>
</figure>

<p>The advantage of electrical (and magnetic) stimulation is that the devices can be very small and light while still producing real forces. Its limitations are equally clear: responses vary greatly between individuals, so calibration is needed before every use, and the tingling and safety risks make long sessions difficult. Overall, electrical stimulation remains mainly a research technique and is still far from a product suitable for long-term use.</p>

<h3 id="34-shape-arrays">3.4 Shape Arrays</h3>

<p>Rendering shape requires a “pixel array” on the fingertip whose pixels can rise independently. The most direct approach is an array of mechanical pins, but it is hard to miniaturize; large tabletop pin arrays have also been built.</p>

<p><strong>Fluid Reality</strong> (CMU, UIST 2023) is the closest to an ideal solution among the work covered here. Each fingertip carries an array of bubble-like pixels filled with liquid; when a pixel is energized, liquid flows into the bubble and inflates it. Each pixel is an electroosmotic pump only a few hundred micrometers thick, with no moving parts, which moves the liquid by acting directly on the charges in it with an electric field.</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/fluid-reality.jpg" alt="Fluid Reality: pushing a box with a finger in VR raises the fingertip array and lights up every contact point" />
  <figcaption>Pushing a box in VR: the real fingertip array (top right) and the activated contact points (bottom right). Source: Shen et al., UIST 2023 (frame from the project video)</figcaption>
</figure>

<p>This design meets the requirements above well:</p>

<ol>
  <li><strong>It is an array</strong>: it can convey the rough shape of an object and responds quickly;</li>
  <li><strong>It is cheap and portable</strong>: the glove is untethered and weighs only 207 g including all drive electronics and the battery, reportedly runs for about 3 hours, and costs under $1,000 to build.</li>
</ol>

<p>The difficulty is fabrication: the packaging leaks easily, and improving on the design requires some background in chemistry (according to a fellow student who tried to reproduce it). The project has since been spun out into a company, so if the goal is a product, buying it may be more practical than reproducing it.</p>

<p><strong>Flexible electronic skin</strong> and <strong>micro-vibration arrays</strong> can also render fine patterns and textures. They are safer than electrical stimulation and feel more realistic, but are similarly complex to fabricate.</p>

<h3 id="35-softness-friction-and-other-sensations">3.5 Softness, Friction, and Other Sensations</h3>

<p>Other work does not apply force directly, but instead changes how the finger perceives real objects:</p>

<ul>
  <li><strong>Altering perceived softness</strong> (Lopes’s group, UIST 2021 Best Paper): restricting the deformation of the fingerpad makes a rigid object feel softer. The device only clamps the sides of the fingerpad, leaving most of it exposed, so the user can still feel the object’s texture, and the object itself needs no modification.</li>
  <li><strong>Stick&amp;Slip</strong> (Lopes’s group, CHI 2024): depositing a quickly evaporating liquid on the fingerpad changes the friction between the fingerpad and a surface, making the surface feel slippery or sticky (by about ±60%); friction returns to normal once the liquid evaporates. It does not require modifying the touched surface, but it only works when the finger touches a real surface, so it is hard to apply directly to teleoperation.</li>
</ul>

<figure>
  <img src="/assets/blog/haptic-teleoperation/stick-slip.jpg" alt="Stick&amp;Slip: a liquid coating makes the same surface feel slippery or sticky" />
  <figcaption>Stick&amp;Slip. Source: Mazursky et al., CHI 2024</figcaption>
</figure>

<ul>
  <li><strong>HairTouch</strong> (CHI 2021): a bundle of brush hairs extends from a VR controller; changing how far the hairs extend and how tightly they are constrained renders differences in stiffness, roughness, and surface height.</li>
  <li><strong>GuideBand</strong> (CHI 2021): three motors pull a wristband through strings, applying forces of different strengths in three dimensions to guide the forearm.</li>
  <li><strong>FingerX</strong> (CHI 2022): extendable and withdrawable supports on the fingers work together with real objects to render the shapes of virtual objects.</li>
</ul>

<p>Hsin-Ruey Tsai was involved in all three, and ELAXO, mentioned above, also comes from his lab.</p>

<p>Temperature and humidity are also part of touch, but they are hard to use in teleoperation: heat and liquid transfer too slowly to keep up with rapid changes in contact. Texture also has few applications, since in most manipulation tasks it has little effect on the motion.</p>

<h3 id="36-summary">3.6 Summary</h3>

<table>
  <thead>
    <tr>
      <th>Method</th>
      <th>What it can convey</th>
      <th>Pros</th>
      <th>Cons</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Vibration (ERM / LRA / piezo)</td>
      <td>Contact, impacts, rough force level; piezo can also render texture</td>
      <td>Cheap, light, easy to integrate</td>
      <td>Cannot convey shape or force direction</td>
    </tr>
    <tr>
      <td>Force feedback (cables / linkages / brakes)</td>
      <td>Grasp resistance, object softness</td>
      <td>Real forces</td>
      <td>Heavy; usually one direction only</td>
    </tr>
    <tr>
      <td>Electrical / magnetic stimulation (EMS / electrotactile / TMS)</td>
      <td>Force, touch at multiple locations</td>
      <td>Small and light</td>
      <td>Large individual differences, needs calibration, tingling and safety risks</td>
    </tr>
    <tr>
      <td>Shape arrays (pins / fluidics)</td>
      <td>Shape, contact location</td>
      <td>Rich information</td>
      <td>Complex fabrication, hard to mass-produce</td>
    </tr>
    <tr>
      <td>Altering softness / friction</td>
      <td>Softness, slipperiness</td>
      <td>Works together with real objects</td>
      <td>Depends on real objects; limited use cases</td>
    </tr>
  </tbody>
</table>

<h2 id="4-haptic-feedback-in-teleoperation">4. Haptic Feedback in Teleoperation</h2>

<h3 id="41-doglove-a-low-cost-haptic-force-feedback-glove">4.1 DOGlove: A Low-Cost Haptic Force-Feedback Glove</h3>

<p>The goal of DOGlove (RSS 2025) is summed up in one line from its authors: “Bring everything about touch back to human.” It targets real-time teleoperation rather than offline demonstration, aiming for a low-cost device that combines motion capture with haptic and force feedback.</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/doglove-overview.jpg" alt="The DOGlove glove and a dexterous hand in simulation" />
  <figcaption>DOGlove. Source: Zhang et al., RSS 2025</figcaption>
</figure>

<p><strong>Hardware</strong>: 21-DoF motion capture plus 5-DoF force feedback, for a total cost under $600, and fully open source. Each finger is pulled by a motor through a cable to provide force feedback, and each fingertip has an LRA for vibration feedback.</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/doglove-finger.jpg" alt="DOGlove's cable-driven pulley system and exploded view of a finger" />
  <figcaption>The cable-driven mechanism and an exploded view of one finger. Source: Zhang et al., RSS 2025</figcaption>
</figure>

<p><strong>Action retargeting</strong>: the human hand and the robot hand differ in size and joint structure, so the joint angles measured by the glove have to be mapped onto the robot hand. DOGlove first computes the human fingertip positions with the glove’s forward kinematics, scales and transforms them, and then solves for the robot hand’s joint angles with its inverse kinematics. A key requirement is preserving finger opposition: when the human thumb and index finger touch, the robot’s thumb and index finger must touch as well. This mapping has to be designed by hand and takes considerable effort.</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/doglove-retargeting.jpg" alt="Mapping from the human hand through the glove's forward kinematics and fingertip inverse kinematics to the robot hand" />
  <figcaption>Action retargeting. Source: Zhang et al., RSS 2025</figcaption>
</figure>

<p><strong>Haptic and force retargeting</strong>: the robot fingertips carry 1-D force sensors, and DOGlove switches between vibration and force feedback based on the measured force:</p>

<table>
  <thead>
    <tr>
      <th>Fingertip force</th>
      <th style="text-align: center">Vibration</th>
      <th style="text-align: center">Force feedback</th>
      <th>Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>&lt; 10 g</td>
      <td style="text-align: center">✗</td>
      <td style="text-align: center">✗</td>
      <td>Threshold separates real contact from sensor noise</td>
    </tr>
    <tr>
      <td>10–50 g</td>
      <td style="text-align: center">✓</td>
      <td style="text-align: center">✗</td>
      <td>Light contact uses vibration only</td>
    </tr>
    <tr>
      <td>50–100 g</td>
      <td style="text-align: center">✓</td>
      <td style="text-align: center">✓</td>
      <td>Force feedback is added</td>
    </tr>
    <tr>
      <td>&gt; 100 g</td>
      <td style="text-align: center">✗</td>
      <td style="text-align: center">✓</td>
      <td>Force feedback only</td>
    </tr>
  </tbody>
</table>

<figure>
  <img src="/assets/blog/haptic-teleoperation/doglove-haptic-force.jpg" alt="DOGlove's three thresholds for switching between vibration and force feedback by fingertip force" />
  <figcaption>The three thresholds of haptic and force retargeting. Source: Zhang et al., RSS 2025</figcaption>
</figure>

<p>Force feedback is not used for light contact for two reasons. First, people are sensitive to vibration, so vibration conveys light contact more naturally. Second, force feedback is produced by adjusting the servo torque (specifically, the PID gain Kp), which tends to feel overly stiff at small forces.</p>

<p><strong>Future directions</strong>: the authors argue that a binary or 1-D signal is not enough. Beyond whether contact happens, information such as material, softness, and temperature also matters, and they are experimenting with a shape-sensing array.</p>

<h3 id="42-bunny-visionpro-low-cost-feedback-with-erms">4.2 Bunny-VisionPro: Low-Cost Feedback with ERMs</h3>

<p>Bunny-VisionPro (IROS 2025) uses the Apple Vision Pro for bimanual dexterous teleoperation and implements low-cost haptic feedback with ERMs:</p>

<ul>
  <li>FSR pressure sensors on the robot’s five fingertips read the contact pressure between the fingers and the object in real time;</li>
  <li>the readings are zero-calibrated (baselines are collected at multiple joint positions, interpolated, and subtracted) and then low-pass filtered;</li>
  <li>the tactile intensity is normalized to a 0–255 PWM duty cycle that directly drives ERM vibration motors on the operator’s fingers.</li>
</ul>

<figure>
  <img src="/assets/blog/haptic-teleoperation/bunny-haptics.jpg" alt="Bunny-VisionPro's FSR sensors, ERM vibration motors, and zero-drift calibration curves" />
  <figcaption>Left: FSRs on the robot fingertips and ERMs on the operator's hand. Right: the tactile signal before and after zero-drift calibration. Source: Ding et al., IROS 2025</figcaption>
</figure>

<p>The paper also adds touch to the policy input in two ways: as a vector appended to the robot state and encoded with an MLP, and as points, where fingertips in contact are added to the camera point cloud for visual encoding. The results:</p>

<ul>
  <li>in simple single-arm tasks, tactile input brings almost no improvement;</li>
  <li>in bimanual tasks (such as bimanual pinching and cooperative carrying), it brings a small improvement;</li>
  <li>a user study shows that operators subjectively prefer having vibration feedback, finding it more natural and making contact easier to perceive.</li>
</ul>

<p>This suggests that haptic feedback may help the person collecting the data more directly than it helps the policy as an input. In addition, ERMs are rather dated, and switching to LRAs would give better feedback.</p>

<h3 id="43-visualizing-touch-in-ar">4.3 Visualizing Touch in AR</h3>

<p>Besides delivering touch to the hand, another approach is to visualize tactile information:</p>

<ul>
  <li>The teleoperation system TactAR in <strong>RDP (Reactive Diffusion Policy, RSS 2025)</strong> renders tactile and force-induced deformation on the end effector in AR in real time, helping the operator with tasks that require controlling contact force, such as peeling a cucumber or wiping writing off a vase;</li>
  <li>A dexterous-hand work from KTH (<em>Learning Dexterous In-Hand Manipulation with Multifingered Hands via Visuomotor Diffusion</em>, IROS 2025) tracks the human hand with Meta Quest 3 passthrough AR and overlays the tracking result, so the operator can see the hand pose in real time; it provides no haptic feedback.</li>
</ul>

<p>Building on this, the direction of force and the contact locations could also be overlaid in AR. RDP uses a gripper; extending it to a dexterous hand and overlaying the tactile visualization directly on the operator’s own hand may work even better.</p>

<h3 id="44-whole-body-vibrotactile-cues">4.4 Whole-Body Vibrotactile Cues</h3>

<p>AeroHaptix is a wearable vibrotactile system: when the operator flies a drone remotely, obstacles that are not visible on screen are signaled by vibrations at the corresponding location on the body, reducing collisions.</p>

<figure class="medium">
  <img src="/assets/blog/haptic-teleoperation/aerohaptix.jpg" alt="AeroHaptix: vibrations on the body signal obstacles that are not visible while flying a drone" />
  <figcaption>AeroHaptix. Source: Huang et al., RA-L 2025</figcaption>
</figure>

<p>The same idea applies to robot teleoperation: a few vibration motors on the operator’s arm or torso could warn that the robot arm is about to hit something nearby. Arm exoskeletons (such as AirExo) already exist, but using touch to signal collisions is still worth exploring.</p>

<h2 id="5-umi-style-wearable-data-collection">5. UMI-Style Wearable Data Collection</h2>

<p>UMI records human manipulation directly with a handheld gripper, with no robot needed during collection. The following works extend this idea to dexterous hands: the collection device is worn on the hand and people perform the task with their own hands, so they naturally have full tactile feedback and there is no need to render touch back to the operator.</p>

<h3 id="51-feel-the-force-the-same-tactile-sensor-on-hand-and-gripper">5.1 Feel the Force: The Same Tactile Sensor on Hand and Gripper</h3>

<p>FTF (Feel the Force, RSS 2025 workshop) does not use teleoperation but collects human demonstrations directly. The operator wears a glove with an AnySkin-style magnetic tactile sensor on the thumb pad, and one fingertip of the robot gripper carries the same sensor. The idea is that if human forces are to be transferred to the robot, both ends should use the same sensor. For simplicity, the mapping from the human hand to the gripper is fixed.</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/ftf-glove.jpg" alt="Feel the Force: AnySkin tactile sensors on both the human glove and the robot gripper" />
  <figcaption>Left: the AnySkin glove worn by the data collector. Right: the gripper fitted with AnySkin. Source: Adeniji et al., 2025</figcaption>
</figure>

<p>The policy learns from the history of robot and object keypoint trajectories, forces, and gripper states, predicts future motion and the required contact force, and passes them to the gripper’s force feedback controller for execution.</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/ftf-overview.jpg" alt="The Feel the Force pipeline: human demonstration, a force-sensitive policy, and robot execution" />
  <figcaption>The Feel the Force pipeline. Source: Adeniji et al., 2025</figcaption>
</figure>

<h3 id="52-dexumi-an-exoskeleton-matching-the-robot-hands-kinematics">5.2 DexUMI: An Exoskeleton Matching the Robot Hand’s Kinematics</h3>

<p>DexUMI (CoRL 2025, Best Paper finalist) aims to close two gaps between the human hand and a dexterous robot hand:</p>

<ul>
  <li><strong>Hardware gap</strong>: an exoskeleton is designed for a specific robot hand (such as the Inspire Hand or XHand), with joints and link lengths matching the robot hand. When a person operates while wearing it, the motion maps over directly, without retargeting.</li>
  <li><strong>Visual gap</strong>: segmentation and image inpainting models remove the human hand and exoskeleton from the video and replace them with images of the robot hand, so the training data looks visually like the robot doing the task itself.</li>
</ul>

<figure>
  <img src="/assets/blog/haptic-teleoperation/dexumi-hardware.jpg" alt="DexUMI's exoskeletons for the Inspire Hand and XHand, recording actions and observations" />
  <figcaption>DexUMI's exoskeletons. Source: Xu et al., CoRL 2025</figcaption>
</figure>

<p>Compared with UMI, DexUMI is less novel, but it runs the full pipeline from data collection to policy deployment and collects data much more efficiently: in 15 minutes, teleoperation yields 11 trajectories, DexUMI 36, and the bare human hand 51.</p>

<figure class="medium">
  <img src="/assets/blog/haptic-teleoperation/dexumi-efficiency.jpg" alt="Number of trajectories collected in 15 minutes with teleoperation, DexUMI, and the bare hand" />
  <figcaption>Collection efficiency. Source: Xu et al., CoRL 2025</figcaption>
</figure>

<h3 id="53-dexop-a-hand-exoskeleton-with-a-passive-robot-hand">5.3 DEXOP: A Hand Exoskeleton with a Passive Robot Hand</h3>

<p>DEXOP proposes a collection paradigm called perioperation: the person wears a hand exoskeleton connected to a passive robot hand, and the human fingers drive the robot fingers directly through linkages, allowing 1:1 operation.</p>

<ul>
  <li>Collection is fast, the operator feels contacts directly, and precision is ensured;</li>
  <li>the robot hand is covered with tactile sensors; although touch cannot fully capture shape, the operator can rely on sight, which ensures that the collected data completes the task;</li>
  <li>only a wrist camera and touch are used, with no third-person view, so no human hand appears in the images and there is no visual gap;</li>
  <li>the arm is mounted on the AirExo-2 whole-arm exoskeleton, so arm motion is collected at the same time.</li>
</ul>

<figure>
  <img src="/assets/blog/haptic-teleoperation/dexop.jpg" alt="DEXOP: an exoskeleton and robot hand with whole-hand tactile sensors" />
  <figcaption>DEXOP. Source: Fang et al., 2025</figcaption>
</figure>

<p>Its limitations: the width of the linkages makes finger opposition difficult and causes some collisions. In addition, DEXOP is built around the authors’ own robot hand, designed from the start to be mounted and removed; a sealed commercial dexterous hand would be hard to modify in the same way.</p>

<h3 id="54-other-related-work">5.4 Other Related Work</h3>

<ul>
  <li><strong>DigituSync</strong> (UIST 2022): a passive exoskeleton that links two people’s hands, transmitting finger motion in real time with an adjustable force ratio between the two. The idea is close to DEXOP, but it only transmits finger flexion and cannot perform grasps.</li>
  <li><strong>Festo ExoHand</strong> (2012): an early pneumatic exoskeleton hand that transmits human hand motion to a robot hand in real time and feeds the robot hand’s grasp force back to the operator, making it bidirectional.</li>
  <li><strong>Embroidered smart gloves</strong> (Nature Communications 2024): a digital embroidery machine stitches piezoresistive tactile sensors and vibration actuators directly into fabric, quickly producing gloves that both sense and give feedback; the demonstrations include robot teleoperation.</li>
  <li><strong>Open-source tactile sensors</strong>: for example, 3D-ViTac open-sourced a low-cost flexible tactile sensor that the authors say can be made in 30 minutes. Human-hand collection setups such as DexUMI currently cannot record touch; attaching such sensors to the hand would capture tactile data as well.</li>
  <li><strong>Co-Embodiment</strong>: an experiment shown at a conference, later written up as the paper <em>One Body, Two Minds</em> (KTH, 2026). A diffusion policy handles grasping, and the user only needs to nod to trigger task-relevant finger actions, such as pressing a drill’s trigger. Users adapt to this control scheme quickly. This suggests that a low-DoF hand could perhaps be controlled with four buttons and a joystick, though less efficiently than with DEXOP.</li>
</ul>

<h2 id="6-summary-and-discussion">6. Summary and Discussion</h2>

<ol>
  <li><strong>Electrical stimulation is the most common in research but hard to turn into a product.</strong> Individual differences are large, calibration is required before use, and there are safety risks, so it remains mainly a research technique.</li>
  <li><strong>Flexible skin, liquid pumps, and micro-vibration arrays are safer and feel more realistic, but are complex to fabricate.</strong></li>
  <li><strong>High-fidelity touch is hard to achieve with any single technique</strong> and calls for interdisciplinary work. For embodied AI, the more sensible direction is to focus on embodied data rather than on haptics for its own sake: prioritize convenient, high-quality data collection over a high-fidelity collection experience.</li>
  <li><strong>When the scene is visible and control is easy, simple vibration feedback is largely sufficient.</strong> DOGlove essentially reaches the ceiling of simple haptic feedback; further gains mostly come from combining actuators such as ERMs and LRAs.</li>
  <li><strong>Sensor placement should be driven by collection needs, not by the designer’s assumptions.</strong> Whether to add sensing at the middle phalanges or control at the fingertips, for example, should depend on what is actually needed during collection.</li>
</ol>

<p>In summary, touch plays three main roles in embodied data collection:</p>

<table>
  <thead>
    <tr>
      <th>Role</th>
      <th>Representative work</th>
      <th>Possible directions</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>The operator feels touch during teleoperation</td>
      <td>DOGlove, Bunny-VisionPro</td>
      <td>Vibration, force, direct linkages, or new materials and fluidic arrays</td>
    </tr>
    <tr>
      <td>The operator sees touch during teleoperation</td>
      <td>RDP, AR visualization</td>
      <td>AR combined with vibration, showing force direction and contact locations on screen</td>
    </tr>
    <tr>
      <td>UMI-style wearable collection</td>
      <td>FTF, DexUMI, DEXOP</td>
      <td>Hand-worn devices with 1:1 control, combined with low-cost tactile sensors</td>
    </tr>
  </tbody>
</table>

<p>In my view, the third approach is the most scalable: the device is worn on the hand, collection is fast, and the operation matches human proprioception, making it the form of data collection closest to the human.</p>

<p>Finally, before collecting data, it may be worth first defining what good teleoperation data actually is: which of trajectories, velocities, and forces the policy really needs.</p>

<h2 id="references">References</h2>

<h3 id="teleoperation-and-data-collection">Teleoperation and Data Collection</h3>

<ol>
  <li>H. Zhang, S. Hu, Z. Yuan, H. Xu. <a href="https://arxiv.org/abs/2502.07730">DOGlove: Dexterous Manipulation with a Low-Cost Open-Source Haptic Force Feedback Glove</a>. <em>RSS</em>, 2025.</li>
  <li>R. Ding, Y. Qin, J. Zhu, C. Jia, et al. <a href="https://arxiv.org/abs/2407.03162">Bunny-VisionPro: Real-Time Bimanual Dexterous Teleoperation for Imitation Learning</a>. <em>IROS</em>, 2025.</li>
  <li>A. Adeniji, Z. Chen, V. Liu, V. Pattabiraman, et al. <a href="https://arxiv.org/abs/2506.01944">Feel the Force: Contact-Driven Learning from Humans</a>. <em>arXiv</em>, 2025.</li>
  <li>R. Bhirangi, V. Pattabiraman, E. Erciyes, Y. Cao, et al. <a href="https://arxiv.org/abs/2409.08276">AnySkin: Plug-and-play Skin Sensing for Robotic Touch</a>. <em>ICRA</em>, 2025.</li>
  <li>C. Chi, Z. Xu, C. Pan, E. Cousineau, et al. <a href="https://arxiv.org/abs/2402.10329">Universal Manipulation Interface: In-The-Wild Robot Teaching Without In-The-Wild Robots</a>. <em>RSS</em>, 2024.</li>
  <li>M. Xu, H. Zhang, Y. Hou, Z. Xu, et al. <a href="https://arxiv.org/abs/2505.21864">DexUMI: Using Human Hand as the Universal Manipulation Interface for Dexterous Manipulation</a>. <em>CoRL</em>, 2025.</li>
  <li>H.-S. Fang, B. Romero, Y. Xie, A. Hu, et al. <a href="https://arxiv.org/abs/2509.04441">DEXOP: A Device for Robotic Transfer of Dexterous Human Manipulation</a>. <em>arXiv</em>, 2025.</li>
  <li>H. Fang, H.-S. Fang, Y. Wang, J. Ren, et al. <a href="https://arxiv.org/abs/2309.14975">AirExo: Low-Cost Exoskeletons for Learning Whole-Arm Manipulation in the Wild</a>. <em>ICRA</em>, 2024.</li>
  <li>H. Fang, C. Wang, Y. Wang, J. Chen, et al. <a href="https://arxiv.org/abs/2503.03081">AirExo-2: Scaling up Generalizable Robotic Imitation Learning with Low-Cost Exoskeletons</a>. <em>CoRL</em>, 2025.</li>
  <li>H. Xue, J. Ren, W. Chen, G. Zhang, et al. <a href="https://arxiv.org/abs/2503.02881">Reactive Diffusion Policy: Slow-Fast Visual-Tactile Policy Learning for Contact-Rich Manipulation</a>. <em>RSS</em>, 2025.</li>
  <li>P. Koczy, M. C. Welle, D. Kragic. <a href="https://arxiv.org/abs/2503.02587">Learning Dexterous In-Hand Manipulation with Multifingered Hands via Visuomotor Diffusion</a>. <em>IROS</em>, 2025.</li>
  <li>P. Koczy, Y. Zhang, D. Kragic, M. C. Welle. <a href="https://arxiv.org/abs/2606.25575">One Body, Two Minds: Variable Autonomy Approach for a Co-embodied Robotic Hand</a>. <em>arXiv</em>, 2026.</li>
  <li>B. Huang, Y. Wang, X. Yang, Y. Luo, Y. Li. <a href="https://arxiv.org/abs/2410.24091">3D-ViTac: Learning Fine-Grained Manipulation with Visuo-Tactile Sensing</a>. <em>CoRL</em>, 2024.</li>
  <li>Y. Luo, C. Liu, Y. J. Lee, J. DelPreto, et al. <a href="https://doi.org/10.1038/s41467-024-45059-8">Adaptive tactile interaction transfer via digitally embroidered smart gloves</a>. <em>Nature Communications</em>, 2024.</li>
  <li>B. Huang, Z. Wang, Q. Cheng, S. Ren, et al. <a href="https://arxiv.org/abs/2407.12105">AeroHaptix: A Wearable Vibrotactile Feedback System for Enhancing Collision Avoidance in UAV Teleoperation</a>. <em>IEEE RA-L</em>, 2025.</li>
  <li>Festo. <a href="https://www.festo.com/us/en/e/about-festo/research-and-development/bionic-learning-network/highlights-from-2010-to-2012/exohand-id_33631/">ExoHand</a>. Bionic Learning Network, 2012.</li>
</ol>

<h3 id="haptic-feedback-hci">Haptic Feedback (HCI)</h3>

<ol>
  <li>P. Lopes, S. You, L.-P. Cheng, S. Marwecki, P. Baudisch. <a href="https://doi.org/10.1145/3025453.3025600">Providing Haptics to Walls &amp; Heavy Objects in Virtual Reality by Means of Electrical Muscle Stimulation</a>. <em>CHI</em>, 2017.</li>
  <li>Y. Tanaka, J. Nishida, P. Lopes. <a href="https://doi.org/10.1145/3491102.3501910">Electrical Head Actuation: Enabling Interactive Systems to Directly Manipulate Head Orientation</a>. <em>CHI</em>, 2022.</li>
  <li>R. Nith, S.-Y. Teng, P. Li, Y. Tao, P. Lopes. <a href="https://doi.org/10.1145/3472749.3474759">DextrEMS: Increasing Dexterity in Electrical Muscle Stimulation by Combining it with Brakes</a>. <em>UIST</em>, 2021.</li>
  <li>Y. Tanaka, A. Shen, A. Kong, P. Lopes. <a href="https://doi.org/10.1145/3544548.3581382">Full-hand Electro-Tactile Feedback without Obstructing Palmar Side of Hand</a>. <em>CHI</em>, 2023.</li>
  <li>Y. Tanaka, A. Takahashi, P. Lopes. <a href="https://doi.org/10.1145/3586183.3606812">Interactive Benefits from Switching Electrical to Magnetic Muscle Stimulation</a>. <em>UIST</em>, 2023.</li>
  <li>Y. Tanaka, J. Serfaty, P. Lopes. <a href="https://doi.org/10.1145/3613904.3642483">Haptic Source-effector: Full-body Haptics via Non-invasive Brain Stimulation</a>. <em>CHI</em>, 2024.</li>
  <li>Y. Tao, S.-Y. Teng, P. Lopes. <a href="https://doi.org/10.1145/3472749.3474800">Altering Perceived Softness of Real Rigid Objects by Restricting Fingerpad Deformation</a>. <em>UIST</em>, 2021.</li>
  <li>A. Mazursky, J. Serfaty, P. Lopes. <a href="https://doi.org/10.1145/3613904.3642299">Stick&amp;Slip: Altering Fingerpad Friction via Liquid Coatings</a>. <em>CHI</em>, 2024.</li>
  <li>J. Nishida, Y. Tanaka, R. Nith, P. Lopes. <a href="https://doi.org/10.1145/3526113.3545630">DigituSync: A Dual-User Passive Exoskeleton Glove That Adaptively Shares Hand Gestures</a>. <em>UIST</em>, 2022.</li>
  <li>V. Shen, T. Rae-Grant, J. Mullenbach, C. Harrison, C. Shultz. <a href="https://doi.org/10.1145/3586183.3606771">Fluid Reality: High-Resolution, Untethered Haptic Gloves using Electroosmotic Pump Arrays</a>. <em>UIST</em>, 2023.</li>
  <li>Z.-Y. Zhang, H.-X. Chen, S.-H. Wang, H.-R. Tsai. <a href="https://doi.org/10.1145/3526113.3545677">ELAXO: Rendering Versatile Resistive Force Feedback for Fingers Grasping and Twisting</a>. <em>UIST</em>, 2022.</li>
  <li>H.-R. Tsai, C. Tsai, Y.-S. Liao, Y.-T. Chiang, Z.-Y. Zhang. <a href="https://doi.org/10.1145/3491102.3517489">FingerX: Rendering Haptic Shapes of Virtual Objects Augmented by Real Objects using Extendable and Withdrawable Supports on Fingers</a>. <em>CHI</em>, 2022.</li>
  <li>H.-R. Tsai, Y.-C. Chang, T.-Y. Wei, C.-A. Tsao, et al. <a href="https://doi.org/10.1145/3411764.3445262">GuideBand: Intuitive 3D Multilevel Force Guidance on a Wristband in Virtual Reality</a>. <em>CHI</em>, 2021.</li>
  <li>C.-J. Lee, H.-R. Tsai, B.-Y. Chen. <a href="https://doi.org/10.1145/3411764.3445285">HairTouch: Providing Stiffness, Roughness and Surface Height Differences Using Reconfigurable Brush Hairs on a VR Controller</a>. <em>CHI</em>, 2021.</li>
</ol>]]></content><author><name>Wentao Guo</name><email>yinsumirage@gmail.com</email></author><category term="robotics" /><category term="haptics" /><category term="teleoperation" /><summary type="html"><![CDATA[Survey notes on haptic feedback for teleoperation: how humans perceive touch; vibration, force, electrical stimulation, and fluidic arrays; teleoperation systems such as DOGlove; and UMI-style wearable data collection such as DexUMI and DEXOP.]]></summary></entry><entry xml:lang="zh"><title type="html">遥操作中的触觉反馈：一份调研笔记</title><link href="https://wentaoguo.net/blog/2025/haptic-teleoperation/zh/" rel="alternate" type="text/html" title="遥操作中的触觉反馈：一份调研笔记" /><published>2025-10-30T00:00:00+00:00</published><updated>2025-10-30T00:00:00+00:00</updated><id>https://wentaoguo.net/blog/2025/haptic-teleoperation/haptic-teleoperation</id><content type="html" xml:base="https://wentaoguo.net/blog/2025/haptic-teleoperation/zh/"><![CDATA[<p>本调研主要探究遥操作时的触觉反馈，为笔者在忆生科技实习期间完成。</p>

<p>本文首先说明遥操作为什么需要触觉反馈，并介绍人体的触觉感知机制；随后按振动、力、电刺激、形状阵列等类别梳理触觉反馈的实现方式；接着分析几个具体的遥操作系统，以及类 UMI 的穿戴式采集装置；最后进行总结与讨论。</p>

<h2 id="1-遥操作为什么需要触觉反馈">1. 遥操作为什么需要触觉反馈</h2>

<p>模仿学习的效果在很大程度上取决于数据，但”什么是好的数据”很难定义。遥操作是目前采集灵巧手数据的主流方式，常见的有三类：</p>

<ul>
  <li><strong>基于视觉的手势识别</strong>（如用 VR 头显追踪手部）：无需穿戴设备，但容易受遮挡影响，精度有限；</li>
  <li><strong>动作捕捉手套</strong>：精度高，但操作者感受不到机械手的接触，只能依靠视觉判断是否接触以及接触力的大小；</li>
  <li><strong>商用力触觉手套</strong>（如 SenseGlove、MANUS 的力反馈型号）：反馈效果好，但价格昂贵，且与机器人系统集成的工作量较大。</li>
</ul>

<figure>
  <img src="/assets/blog/haptic-teleoperation/teleop-methods.jpg" alt="三类遥操作方式的对比：视觉手势识别、动捕手套、商用力触觉手套" />
  <figcaption>现有的三类遥操作方式。图源：DOGlove 项目报告</figcaption>
</figure>

<p>缺少触觉时，操作者只能依靠视觉判断接触状态。当物体被手指遮挡、接触力很小，或需要控制抓握力度时，这种判断并不可靠。因此，一个直接的思路是研制兼具动作捕捉和力触觉反馈、且成本较低的设备。</p>

<h2 id="2-人体的触觉感知">2. 人体的触觉感知</h2>

<h3 id="21-皮肤中的四类机械感受器">2.1 皮肤中的四类机械感受器</h3>

<p>手部皮肤中主要有四类机械感受器，分别负责不同的触觉信息：</p>

<table>
  <thead>
    <tr>
      <th>感受器</th>
      <th>主要感知</th>
      <th>对应的操作场景</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>默克尔触盘（Merkel disc）</td>
      <td>持续的压力、边缘和细小的形状</td>
      <td>分辨物体表面的纹理和形状</td>
    </tr>
    <tr>
      <td>迈斯纳小体（Meissner corpuscle）</td>
      <td>轻触、低频振动、皮肤上的细微滑动</td>
      <td>察觉物体开始打滑</td>
    </tr>
    <tr>
      <td>环层小体（Pacinian corpuscle）</td>
      <td>高频振动，约 250 Hz 附近最敏感</td>
      <td>手持工具时的瞬态振动，如碰撞、敲击</td>
    </tr>
    <tr>
      <td>鲁菲尼末梢（Ruffini ending）</td>
      <td>皮肤的拉伸</td>
      <td>感知手指姿态和剪切力的方向</td>
    </tr>
  </tbody>
</table>

<p>该表可作为后文讨论的参照：一种触觉反馈装置能刺激哪类感受器，决定了它能传递哪类信息。振动马达主要刺激环层小体和迈斯纳小体，因此适合表达接触和碰撞；表达形状需要能刺激默克尔触盘的阵列；表达剪切和拉扯则需要使皮肤产生拉伸。</p>

<h3 id="22-不同身体部位的触觉反馈">2.2 不同身体部位的触觉反馈</h3>

<p>触觉是人机交互（human–computer interaction，HCI）领域的重要研究方向。在具身智能兴起之前，已有大量 HCI 研究关注如何让人感知虚拟或远程环境。按身体部位划分，常见的有：</p>

<ul>
  <li><strong>脖颈</strong>：模拟头部受到的撞击，也有工作用于引导头部转动。常用肌肉电刺激（EMS）：将电极贴在对应肌肉上，刺激肌肉收缩，从而产生压力或撞击感。</li>
  <li><strong>胸背</strong>：一般为穿戴式背心，其上排布多个振动马达或机械推杆，VR 中发生碰撞时，对应位置的装置动作，产生压力和碰撞感。</li>
  <li><strong>手臂</strong>：研究相对较少，典型做法是用 EMS 刺激手臂肌肉，模拟搬起重物时的阻力。</li>
  <li><strong>手指</strong>：研究最多，涉及振动、电触觉、柔性电子皮肤和微流体等方式，详见第 3 节。</li>
  <li><strong>全身</strong>：例如用经颅磁刺激作用于大脑，在全身多个部位产生触觉（3.3 节）。</li>
</ul>

<p>遥操作主要关注手指，但手臂和躯干的触觉同样有用，例如提示操作者机械臂即将碰到障碍物（4.4 节）。</p>

<h2 id="3-触觉反馈的实现方式">3. 触觉反馈的实现方式</h2>

<h3 id="31-振动ermlra-与压电">3.1 振动：ERM、LRA 与压电</h3>

<p>振动是成本最低、应用最广的触觉反馈方式，常见于手机和游戏手柄。常用的执行器有三类：</p>

<ul>
  <li><strong>ERM（Eccentric Rotating Mass，偏心转子马达）</strong>：带偏心配重的直流电机，旋转时产生振动。结构简单、成本极低，但振幅和频率都由转速决定，无法独立控制，启停也较慢，只能提供较粗糙的振感。在消费电子中已基本被 LRA 取代。</li>
  <li><strong>LRA（Linear Resonant Actuator，线性马达）</strong>：由线圈、磁铁和弹簧组成，用交流信号在共振频率附近驱动质量块往复运动。响应快、功耗低、振感清晰，是目前手机的主流方案；缺点是只在共振频率附近效率较高，频带较窄。按振动方向可分为纵向（Z 轴，通常为圆形）和横向（X/Y 轴，通常为长方形，行程更大，振感更丰富）两种。</li>
  <li><strong>压电（piezo）</strong>：压电效应是双向的。材料受压时产生电压（正压电效应），可用于传感；反之，施加电压时材料发生形变（逆压电效应），以交流电驱动即可产生振动。压电执行器利用的是后者，用压电薄膜或叠层陶瓷在高频下形变，频带宽、响应最快，可以编程出不同的触感，适合模拟纹理和摩擦；但需要上百伏的驱动电压，驱动电路和封装都更复杂。需要与<strong>压阻</strong>区分：压阻材料只是电阻随形变变化，只能用于采集，不能用于驱动。</li>
</ul>

<p>不同应用场景下的选型建议如下：</p>

<table>
  <thead>
    <tr>
      <th>应用目标</th>
      <th>推荐</th>
      <th>理由</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>基础的遥操作提示（接触 / 撞击）</td>
      <td>LRA</td>
      <td>响应快、功耗低、结构简单</td>
    </tr>
    <tr>
      <td>复杂纹理 / 精细触觉研究</td>
      <td>压电</td>
      <td>高频、宽带，触感可编程</td>
    </tr>
    <tr>
      <td>成本受限 / DIY 入门</td>
      <td>ERM</td>
      <td>成本极低，但只能提供粗糙的振动</td>
    </tr>
    <tr>
      <td>多点、空间方位反馈</td>
      <td>LRA 阵列</td>
      <td>各手指可独立反馈，还可利用多个马达的相位差表达方向</td>
    </tr>
  </tbody>
</table>

<p>振动的局限同样明显：它只能表达是否接触以及接触的强弱，无法表达形状、软硬和力的方向。</p>

<h3 id="32-力反馈">3.2 力反馈</h3>

<p>力反馈的目标是在操作者的手指上施加真实的阻力，使其感知到抓握物体时的反作用力。常见的结构有以下几种：</p>

<ul>
  <li><strong>绳驱</strong>：电机通过绳索牵引手指，DOGlove 即采用这种方案（4.1 节）。结构轻，但只能提供单一方向的拉力。</li>
  <li><strong>连杆外骨骼</strong>：用连杆将电机的力矩传递到各个指节，同时可以测量关节角度，许多数据手套采用这一思路。</li>
  <li><strong>制动器 / 阻尼</strong>：不主动施力，而是在需要时锁住关节或增大阻尼。例如 Hsin-Ruey Tsai 组的 ELAXO 用可调阻力模拟抓握和扭转，DextrEMS（3.3 节）中也使用了机械制动器。被动式方案的优点是安全、省电。</li>
</ul>

<p>在上述结构的基础上，还可以做一些简单的扩展，例如在手指两侧增加推杆，引入侧摆方向的自由度，从而传递剪切力的感觉；或者用动态可调的阻尼模拟物体的软硬。</p>

<p>需要注意的是，用电机实现力反馈时，反馈的主观感受在很大程度上取决于控制方式。DOGlove 的实践表明，若只是简单地增大伺服的 PID 增益，操作者会感到反馈过硬、不自然。</p>

<h3 id="33-电刺激与磁刺激">3.3 电刺激与磁刺激</h3>

<p>电刺激在 HCI 研究中非常常见，Pedro Lopes（现任职于芝加哥大学）在这一方向做了大量工作。</p>

<p><strong>肌肉电刺激（EMS）</strong> 使肌肉非自主地收缩，从而产生被推开的感觉。例如在 VR 中推墙或搬起重箱时刺激手臂肌肉，使人感到墙推不动、箱子很重：</p>

<figure class="narrow">
  <img src="/assets/blog/haptic-teleoperation/ems-walls.jpg" alt="用肌肉电刺激模拟 VR 中的墙壁和重物" />
  <figcaption>用 EMS 模拟 VR 中的墙和重物。图源：Lopes et al., CHI 2017</figcaption>
</figure>

<p>同样的方法也可以用于刺激颈部肌肉，直接驱动头部转动，以引导视线：</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/ems-neck.jpg" alt="用颈部肌肉电刺激控制头部朝向" />
  <figcaption>用颈部 EMS 驱动头部转动。图源：Tanaka et al., CHI 2022</figcaption>
</figure>

<p><strong>DextrEMS</strong> 针对 EMS 的两个固有问题：刺激一根手指时，其他手指也会随之运动；要让手指保持静止，只能持续收缩对侧肌肉，导致手指上下振荡。该工作在 8 个指关节上加装了机械制动器（整套仅 68 克），由 EMS 负责驱动、制动器负责将手指锁定在目标位置，从而实现更灵巧的控制。</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/dextrems.jpg" alt="DextrEMS：肌肉电刺激结合指关节上的机械制动器" />
  <figcaption>DextrEMS。图源：Nith et al., UIST 2021</figcaption>
</figure>

<p><strong>不遮挡手掌的全手电触觉</strong>（CHI 2023 最佳论文）：电极只贴在手背和手腕上，通过刺激正中神经和尺神经，使人在手掌一侧的 11 个位置感知到触觉。由于手掌侧没有任何装置，用户可以正常抓握真实物体。</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/electrotactile-full-hand.jpg" alt="电极只放在手背，就能在手掌和手指上产生触觉" />
  <figcaption>不遮挡手掌的全手电触觉。图源：Tanaka et al., CHI 2023</figcaption>
</figure>

<p><strong>磁刺激</strong>：EMS 的电脉冲会带来刺痛感，且依赖预先涂好凝胶的电极，电极需要贴紧皮肤，凝胶也很快会变干。改用磁场刺激肌肉（UIST 2023）可以减轻刺痛感，并能隔着衣物进行刺激。</p>

<p><strong>Haptic Source-Effector</strong>（CHI 2024）更进一步：用经颅磁刺激（TMS）作用于大脑，将磁线圈移动到头皮上的不同位置，即可在全身产生 15 种不同的触觉和力觉，无需在每个部位都安装执行器。</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/haptic-source-effector.jpg" alt="通过刺激大脑在多个身体部位产生触觉" />
  <figcaption>Haptic Source-Effector。图源：Tanaka et al., CHI 2024</figcaption>
</figure>

<p>电刺激（包括磁刺激）的优点是设备可以做得很小、很轻，并能产生真实的力。但其局限同样明显：不同个体对电刺激的反应差异很大，每次使用前都需要校准；刺痛感和安全风险也使其难以长时间使用。总体而言，电刺激目前主要停留在研究阶段，距离可长期使用的产品还有较大距离。</p>

<h3 id="34-形状阵列">3.4 形状阵列</h3>

<p>要表达形状，需要在指尖放置一个”像素阵列”，每个像素可以独立凸起。最直接的方案是机械推杆阵列，但难以小型化；桌面尺度的大型推杆阵列已有相关工作。</p>

<p><strong>Fluid Reality</strong>（CMU，UIST 2023）是本次调研中最接近理想的方案。每个指尖有一个由气泡状像素组成的阵列，像素内装有液体，通电后液体流入气泡使其鼓起。每个像素都是一个仅几百微米厚的电渗泵，没有任何运动部件，直接利用电场驱动液体中的电荷流动。</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/fluid-reality.jpg" alt="Fluid Reality：在 VR 里用手指推方块时，指尖阵列凸起，右下角的触点全部亮起" />
  <figcaption>在 VR 中用手指推方块：右上为指尖阵列的实物，右下为被激活的触点。图源：Shen et al., UIST 2023（项目视频截图）</figcaption>
</figure>

<p>该方案较好地兼顾了前述需求：</p>

<ol>
  <li><strong>具备阵列</strong>：可以表达物体的大致形状，且响应迅速；</li>
  <li><strong>低成本、便携</strong>：整只手套无需连接外部设备，含全部驱动电路和电池仅 207 克，据报道续航约 3 小时，制作成本在 1000 美元以内。</li>
</ol>

<p>其难点在于制作：封装容易漏液，在此基础上进行改进也需要一定的化学背景（据尝试复现的同学反馈）。该项目后来已成立公司，若以产品落地为目标，直接采购可能比自行复现更可行。</p>

<p>此外，<strong>柔性电子皮肤</strong>和<strong>微振动阵列</strong>也可以模拟精细的图案和纹理，比电刺激更安全、触感更真实，但工艺同样复杂。</p>

<h3 id="35-软硬摩擦及其他感觉">3.5 软硬、摩擦及其他感觉</h3>

<p>另有一些工作不直接施加力，而是改变手指对真实物体的感知：</p>

<ul>
  <li><strong>改变软硬感</strong>（Lopes 组，UIST 2021 最佳论文）：通过限制指腹的形变，使硬质物体被感知为更软。装置只夹在指腹两侧，指腹大部分保持裸露，仍能感知物体的纹理，也无需改造物体本身。</li>
  <li><strong>Stick&amp;Slip</strong>（Lopes 组，CHI 2024）：在指腹上沉积一层快速蒸发的液体，改变指腹与表面之间的摩擦系数，使表面变滑或变黏（约 ±60%），液体蒸发后摩擦即恢复原状。该方法无需改造被触摸的表面，但前提是手指接触真实表面，因此难以直接用于遥操作。</li>
</ul>

<figure>
  <img src="/assets/blog/haptic-teleoperation/stick-slip.jpg" alt="Stick&amp;Slip：用液体涂层让同一个表面变滑或变黏" />
  <figcaption>Stick&amp;Slip。图源：Mazursky et al., CHI 2024</figcaption>
</figure>

<ul>
  <li><strong>HairTouch</strong>（CHI 2021）：在 VR 手柄上伸出一束毛刷，通过改变毛发伸出的长度和约束程度，表达软硬、粗糙度和表面高度的差异。</li>
  <li><strong>GuideBand</strong>（CHI 2021）：三个电机通过绳索牵引手腕上的腕带，在三维方向上施加不同强度的拉力，用于引导小臂的运动方向。</li>
  <li><strong>FingerX</strong>（CHI 2022）：在手指上安装可伸出和收回的支撑结构，配合真实物体渲染虚拟物体的形状。</li>
</ul>

<p>以上三项工作均有 Hsin-Ruey Tsai 参与，前文提到的 ELAXO 也出自其实验室。</p>

<p>温度和湿度同样属于触觉，但难以用于遥操作：热量和液体的传导过慢，无法跟上接触状态的快速变化。纹理的应用场景也较少，在大多数操作任务中，纹理对动作的影响并不明显。</p>

<h3 id="36-小结">3.6 小结</h3>

<table>
  <thead>
    <tr>
      <th>方式</th>
      <th>可表达的信息</th>
      <th>优点</th>
      <th>缺点</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>振动（ERM / LRA / 压电）</td>
      <td>接触、碰撞、粗略的力度；压电还可表达纹理</td>
      <td>成本低、轻便、易于集成</td>
      <td>无法表达形状和力的方向</td>
    </tr>
    <tr>
      <td>力反馈（绳驱 / 连杆 / 制动）</td>
      <td>抓握阻力、物体软硬</td>
      <td>提供真实的力</td>
      <td>结构较重，通常只有单一方向</td>
    </tr>
    <tr>
      <td>电 / 磁刺激（EMS / 电触觉 / TMS）</td>
      <td>力、多个位置的触觉</td>
      <td>设备轻小</td>
      <td>个体差异大、需要校准、有刺痛感和安全风险</td>
    </tr>
    <tr>
      <td>形状阵列（推杆 / 流体）</td>
      <td>形状、接触位置</td>
      <td>信息量大</td>
      <td>工艺复杂，难以量产</td>
    </tr>
    <tr>
      <td>改变软硬 / 摩擦</td>
      <td>软硬、滑腻程度</td>
      <td>可与真实物体结合</td>
      <td>依赖真实物体，适用场景有限</td>
    </tr>
  </tbody>
</table>

<h2 id="4-遥操作中的触觉反馈">4. 遥操作中的触觉反馈</h2>

<h3 id="41-doglove低成本的力触觉手套">4.1 DOGlove：低成本的力触觉手套</h3>

<p>DOGlove（RSS 2025）的目标可以用作者的一句话概括：”Bring everything about touch back to human.” 它面向实时遥操作而非离线示教，旨在实现兼具动作捕捉和力触觉反馈的低成本设备。</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/doglove-overview.jpg" alt="DOGlove 手套与仿真中的灵巧手" />
  <figcaption>DOGlove。图源：Zhang et al., RSS 2025</figcaption>
</figure>

<p><strong>硬件</strong>：21 自由度的动作捕捉与 5 自由度的力反馈，整套成本低于 600 美元，并且开源。每根手指由电机通过绳索牵引，提供拉力反馈；每个指尖装有一个 LRA，提供振动反馈。</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/doglove-finger.jpg" alt="DOGlove 的绳驱滑轮系统与手指爆炸图" />
  <figcaption>绳驱机构与单根手指的爆炸图。图源：Zhang et al., RSS 2025</figcaption>
</figure>

<p><strong>动作重定向（retargeting）</strong>：人手与灵巧手的尺寸和关节结构不同，需要将手套测得的关节角映射到灵巧手上。DOGlove 先用手套的正运动学求出人手的指尖位置，经过缩放和变换后，再用灵巧手的逆运动学求解关节角。其中的关键是保证对指：人的拇指与食指接触时，灵巧手的拇指与食指也必须接触。这部分映射需要人工设计，工作量较大。</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/doglove-retargeting.jpg" alt="从人手经过手套正运动学和指尖逆运动学映射到灵巧手" />
  <figcaption>动作重定向。图源：Zhang et al., RSS 2025</figcaption>
</figure>

<p><strong>力触觉重定向</strong>：灵巧手指尖装有一维力传感器，DOGlove 根据测得的力，在振动和力反馈之间切换：</p>

<table>
  <thead>
    <tr>
      <th>指尖力</th>
      <th style="text-align: center">振动</th>
      <th style="text-align: center">力反馈</th>
      <th>说明</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>&lt; 10 g</td>
      <td style="text-align: center">✗</td>
      <td style="text-align: center">✗</td>
      <td>用阈值区分真实接触与传感器噪声</td>
    </tr>
    <tr>
      <td>10–50 g</td>
      <td style="text-align: center">✓</td>
      <td style="text-align: center">✗</td>
      <td>轻接触时只使用振动</td>
    </tr>
    <tr>
      <td>50–100 g</td>
      <td style="text-align: center">✓</td>
      <td style="text-align: center">✓</td>
      <td>开始引入力反馈</td>
    </tr>
    <tr>
      <td>&gt; 100 g</td>
      <td style="text-align: center">✗</td>
      <td style="text-align: center">✓</td>
      <td>只保留力反馈</td>
    </tr>
  </tbody>
</table>

<figure>
  <img src="/assets/blog/haptic-teleoperation/doglove-haptic-force.jpg" alt="DOGlove 按指尖力大小切换振动和力反馈的三个阈值" />
  <figcaption>力触觉重定向的三个阈值。图源：Zhang et al., RSS 2025</figcaption>
</figure>

<p>轻接触时不使用力反馈，一方面是因为人对振动较为敏感，用振动表达轻接触更自然；另一方面，力反馈通过调节伺服的力矩实现（具体为调节 PID 的 Kp），在小力范围内容易让人感到过硬。</p>

<p><strong>后续方向</strong>：作者认为二值或一维信号并不足够，除接触与否之外，材质、软硬、温度等信息同样重要，他们也在尝试形状感知阵列。</p>

<h3 id="42-bunny-visionpro基于-erm-的低成本反馈">4.2 Bunny-VisionPro：基于 ERM 的低成本反馈</h3>

<p>Bunny-VisionPro（IROS 2025）使用 Apple Vision Pro 进行双手灵巧遥操作，并用 ERM 实现了一套成本较低的触觉反馈：</p>

<ul>
  <li>在机器人五指的指尖贴 FSR 压力传感器，实时读取手指与物体之间的接触压力；</li>
  <li>先进行零点标定（在多个关节位置采集基线，插值后扣除），再做低通滤波；</li>
  <li>将触觉强度归一化为 0–255 的 PWM 占空比，直接驱动操作者手指上的 ERM 振动马达。</li>
</ul>

<figure>
  <img src="/assets/blog/haptic-teleoperation/bunny-haptics.jpg" alt="Bunny-VisionPro 的 FSR 传感器、ERM 振动马达和零点标定曲线" />
  <figcaption>左：机器人指尖的 FSR 与操作者手上的 ERM；右：零点标定前后的触觉信号。图源：Ding et al., IROS 2025</figcaption>
</figure>

<p>论文还将触觉加入了策略的输入：一种是作为向量并入机器人状态，用 MLP 编码；另一种是将发生接触的指尖视为点，拼入相机点云一起进行视觉编码。实验结果如下：</p>

<ul>
  <li>在简单的单手任务中，加入触觉输入几乎没有提升；</li>
  <li>在双手任务（如双手捏合、协同搬运）中有少量提升；</li>
  <li>用户实验表明，操作者主观上更倾向于有振动反馈，认为其更自然、更容易感知接触。</li>
</ul>

<p>这说明触觉反馈对数据采集者的帮助，可能比作为策略输入更直接。此外，ERM 已较为过时，改用 LRA 可以获得更好的反馈效果。</p>

<h3 id="43-触觉的-ar-可视化">4.3 触觉的 AR 可视化</h3>

<p>除了将触觉传递到手上，另一种思路是将触觉信息可视化：</p>

<ul>
  <li><strong>RDP（Reactive Diffusion Policy，RSS 2025）</strong> 的遥操作系统 TactAR 用 AR 将触觉和力引起的形变实时渲染在末端执行器上，帮助操作者完成削黄瓜皮、擦除花瓶上的字迹等需要控制接触力的任务；</li>
  <li>KTH 的一项灵巧手工作（<em>Learning Dexterous In-Hand Manipulation with Multifingered Hands via Visuomotor Diffusion</em>，IROS 2025）使用 Meta Quest 3 的透视 AR 追踪人手，并将追踪结果叠加显示，使操作者能实时看到手的姿态，但没有触觉反馈。</li>
</ul>

<p>在此基础上，还可以将力的方向和接触位置叠加到 AR 画面中。RDP 使用的是夹爪，若扩展到灵巧手，并将触觉可视化直接叠加在操作者的手上，效果可能更好。</p>

<h3 id="44-全身振动提示">4.4 全身振动提示</h3>

<p>AeroHaptix 是一套穿戴式振动触觉系统：操作者遥控无人机时，屏幕中不可见的障碍物会通过身体对应方位的振动进行提示，从而减少碰撞。</p>

<figure class="medium">
  <img src="/assets/blog/haptic-teleoperation/aerohaptix.jpg" alt="AeroHaptix：遥控无人机时用身上的振动提示看不见的障碍物" />
  <figcaption>AeroHaptix。图源：Huang et al., RA-L 2025</figcaption>
</figure>

<p>这一思路同样适用于机器人遥操作：在操作者的手臂或躯干上布置若干振动马达，提示机械臂即将碰到周围物体。手臂外骨骼（如 AirExo）已有相关工作，但利用触觉提示碰撞仍值得进一步探索。</p>

<h2 id="5-类-umi-的穿戴式采集">5. 类 UMI 的穿戴式采集</h2>

<p>UMI 使用手持夹爪直接记录人的操作，采集时不需要机器人在场。以下几项工作将这一思路扩展到了灵巧手：采集装置戴在人手上，人用自己的手完成操作，天然具备完整的触觉，因而无需再设法将触觉还原给操作者。</p>

<h3 id="51-feel-the-force人手与夹爪使用相同的触觉传感器">5.1 Feel the Force：人手与夹爪使用相同的触觉传感器</h3>

<p>FTF（Feel the Force，RSS 2025 workshop）不使用遥操作，而是直接采集人手的演示：操作者佩戴一只在拇指指腹装有 AnySkin 式磁性触觉传感器的手套完成任务，机器人夹爪的一个指尖上也装有同样的传感器。其思路是：既然要把人的力迁移到机器人上，就让两端使用相同的传感器。为简化问题，人手到夹爪的映射是固定的。</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/ftf-glove.jpg" alt="Feel the Force：人手手套和机器人夹爪上都装了 AnySkin 触觉传感器" />
  <figcaption>左：采集者佩戴的 AnySkin 手套；右：装有 AnySkin 的夹爪。图源：Adeniji et al., 2025</figcaption>
</figure>

<p>策略从机器人和物体关键点的历史轨迹、力以及夹爪状态中学习，预测未来的运动和所需的接触力，再交由夹爪的力反馈控制器执行。</p>

<figure>
  <img src="/assets/blog/haptic-teleoperation/ftf-overview.jpg" alt="Feel the Force 的整体流程：人手演示、力敏感的策略、机器人执行" />
  <figcaption>Feel the Force 的整体流程。图源：Adeniji et al., 2025</figcaption>
</figure>

<h3 id="52-dexumi与灵巧手运动学一致的外骨骼">5.2 DexUMI：与灵巧手运动学一致的外骨骼</h3>

<p>DexUMI（CoRL 2025，最佳论文提名）旨在弥合人手与灵巧手之间的两类差距：</p>

<ul>
  <li><strong>硬件差距</strong>：为特定的灵巧手（如 Inspire Hand、XHand）设计外骨骼，其关节和长度与灵巧手一致。人佩戴外骨骼操作时，动作可以直接映射，无需 retargeting。</li>
  <li><strong>视觉差距</strong>：用分割和图像修复模型将视频中的人手和外骨骼去除，替换为机器人手的图像，使训练数据在视觉上接近机器人自身的操作。</li>
</ul>

<figure>
  <img src="/assets/blog/haptic-teleoperation/dexumi-hardware.jpg" alt="DexUMI 为 Inspire Hand 和 XHand 设计的外骨骼，记录动作和观测" />
  <figcaption>DexUMI 的外骨骼。图源：Xu et al., CoRL 2025</figcaption>
</figure>

<p>与 UMI 相比，DexUMI 的新颖性没有那么突出，但完整跑通了从数据采集到策略部署的流程，采集效率也明显更高：15 分钟内，遥操作可采集 11 条轨迹，DexUMI 为 36 条，徒手操作为 51 条。</p>

<figure class="medium">
  <img src="/assets/blog/haptic-teleoperation/dexumi-efficiency.jpg" alt="15 分钟内遥操作、DexUMI、徒手分别采集的轨迹数量" />
  <figcaption>采集效率对比。图源：Xu et al., CoRL 2025</figcaption>
</figure>

<h3 id="53-dexop带被动机械手的手部外骨骼">5.3 DEXOP：带被动机械手的手部外骨骼</h3>

<p>DEXOP 提出了名为 perioperation 的采集范式：人佩戴手部外骨骼，外骨骼上连接一只被动的机械手，人的手指通过连杆直接带动机械手的手指，实现 1:1 操作。</p>

<ul>
  <li>采集速度快，操作者能直接感受到接触，精度有保证；</li>
  <li>机械手上布满触觉传感器，虽然触觉无法完整感知形状，但操作者可以借助视觉，保证采到完成任务的数据；</li>
  <li>只使用手腕相机和触觉，不使用第三人称视角，因此画面中没有人手，不存在视觉差距；</li>
  <li>手臂部分安装在 AirExo-2 全臂外骨骼上，可同时采集手臂的动作。</li>
</ul>

<figure>
  <img src="/assets/blog/haptic-teleoperation/dexop.jpg" alt="DEXOP：带全手触觉传感器的外骨骼与机械手" />
  <figcaption>DEXOP。图源：Fang et al., 2025</figcaption>
</figure>

<p>其局限在于：受连杆宽度限制，对指较难实现，也存在一定的碰撞问题；此外，DEXOP 是在自行设计的机械手上加装的，设计时已考虑拆装。对于已封装好的商用灵巧手，则难以进行类似的改造。</p>

<h3 id="54-其他相关工作">5.4 其他相关工作</h3>

<ul>
  <li><strong>DigituSync</strong>（UIST 2022）：一种被动外骨骼，将两个人的手连接在一起，实时传递手指运动，并可调节两人之间的力传递比例。其思路与 DEXOP 相近，但只能传递手指的屈伸，无法完成抓握。</li>
  <li><strong>Festo ExoHand</strong>（2012）：较早的气动外骨骼手，既能将人手的动作实时传递给机械手，也能将机械手的抓握力反馈给操作者，属于双向遥操作。</li>
  <li><strong>刺绣智能手套</strong>（Nature Communications 2024）：用数字刺绣机将压阻式触觉传感器和振动执行器直接绣入纺织品，快速制作兼具感知与反馈功能的手套，其演示也包括机器人遥操作。</li>
  <li><strong>开源触觉传感器</strong>：例如 3D-ViTac 开源了一种低成本的柔性触觉传感器，作者称 30 分钟即可制作一个。DexUMI 等人手采集方案目前无法采集触觉，将这类传感器贴在手上即可同时采集触觉信息。</li>
  <li><strong>Co-Embodiment</strong>：一项在会议上展示的实验，后整理为论文 <em>One Body, Two Minds</em>（KTH，2026）。抓取由扩散策略完成，用户只需点头即可触发与任务相关的手指动作，例如按下电钻开关。用户能够很快适应这种控制方式。这表明对于低自由度的手，或许用四个按键加一个摇杆即可控制整只手，只是效率不及 DEXOP。</li>
</ul>

<h2 id="6-总结与讨论">6. 总结与讨论</h2>

<ol>
  <li><strong>电刺激在研究中最常见，但难以产品化。</strong> 个体差异大，使用前需要校准，且存在一定风险，目前主要停留在研究阶段。</li>
  <li><strong>柔性皮肤、液泵和微振动阵列更安全、触感更真实，但工艺复杂。</strong></li>
  <li><strong>高还原度的触觉难以依靠单一手段实现</strong>，需要跨学科合作。对具身智能而言，更合理的方向是面向具身数据，而非追求触觉本身：优先实现便捷、高质量的数据采集，而不是高还原度的采集体验。</li>
  <li><strong>在视觉可见、操控容易的情况下，简单的振动反馈已基本够用。</strong> DOGlove 基本达到了简单触觉反馈的上限，进一步的改进大多是 ERM、LRA 等执行器的组合。</li>
  <li><strong>传感器的布置应由采集需求决定，而非设计者的设想。</strong> 例如是否在中间指节增加传感、是否在末端增加控制，应根据实际采集中的需要来判断。</li>
</ol>

<p>综上，触觉在具身数据采集中主要有三种用法：</p>

<table>
  <thead>
    <tr>
      <th>用法</th>
      <th>代表工作</th>
      <th>可行的方向</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>遥操作时，人感受触觉</td>
      <td>DOGlove、Bunny-VisionPro</td>
      <td>振动、力、连杆直连，或新材料、流体阵列</td>
    </tr>
    <tr>
      <td>遥操作时，人看到触觉</td>
      <td>RDP、AR 可视化</td>
      <td>AR 结合振动，在画面中显示力的方向和接触位置</td>
    </tr>
    <tr>
      <td>类 UMI 的穿戴式采集</td>
      <td>FTF、DexUMI、DEXOP</td>
      <td>戴在人手上、可 1:1 操控的采集装置，配合低成本触觉传感器</td>
    </tr>
  </tbody>
</table>

<p>笔者认为第三种方式最有利于 scaling：装置戴在人手上，采集速度快，操作方式也符合人的本体感知，是与人最接近的采集方式。</p>

<p>此外，在开展数据采集之前，或许应当先明确什么才是好的遥操作数据：轨迹、速度、力，哪些才是策略真正需要的。</p>

<h2 id="参考文献">参考文献</h2>

<h3 id="遥操作与数据采集">遥操作与数据采集</h3>

<ol>
  <li>H. Zhang, S. Hu, Z. Yuan, H. Xu. <a href="https://arxiv.org/abs/2502.07730">DOGlove: Dexterous Manipulation with a Low-Cost Open-Source Haptic Force Feedback Glove</a>. <em>RSS</em>, 2025.</li>
  <li>R. Ding, Y. Qin, J. Zhu, C. Jia, et al. <a href="https://arxiv.org/abs/2407.03162">Bunny-VisionPro: Real-Time Bimanual Dexterous Teleoperation for Imitation Learning</a>. <em>IROS</em>, 2025.</li>
  <li>A. Adeniji, Z. Chen, V. Liu, V. Pattabiraman, et al. <a href="https://arxiv.org/abs/2506.01944">Feel the Force: Contact-Driven Learning from Humans</a>. <em>arXiv</em>, 2025.</li>
  <li>R. Bhirangi, V. Pattabiraman, E. Erciyes, Y. Cao, et al. <a href="https://arxiv.org/abs/2409.08276">AnySkin: Plug-and-play Skin Sensing for Robotic Touch</a>. <em>ICRA</em>, 2025.</li>
  <li>C. Chi, Z. Xu, C. Pan, E. Cousineau, et al. <a href="https://arxiv.org/abs/2402.10329">Universal Manipulation Interface: In-The-Wild Robot Teaching Without In-The-Wild Robots</a>. <em>RSS</em>, 2024.</li>
  <li>M. Xu, H. Zhang, Y. Hou, Z. Xu, et al. <a href="https://arxiv.org/abs/2505.21864">DexUMI: Using Human Hand as the Universal Manipulation Interface for Dexterous Manipulation</a>. <em>CoRL</em>, 2025.</li>
  <li>H.-S. Fang, B. Romero, Y. Xie, A. Hu, et al. <a href="https://arxiv.org/abs/2509.04441">DEXOP: A Device for Robotic Transfer of Dexterous Human Manipulation</a>. <em>arXiv</em>, 2025.</li>
  <li>H. Fang, H.-S. Fang, Y. Wang, J. Ren, et al. <a href="https://arxiv.org/abs/2309.14975">AirExo: Low-Cost Exoskeletons for Learning Whole-Arm Manipulation in the Wild</a>. <em>ICRA</em>, 2024.</li>
  <li>H. Fang, C. Wang, Y. Wang, J. Chen, et al. <a href="https://arxiv.org/abs/2503.03081">AirExo-2: Scaling up Generalizable Robotic Imitation Learning with Low-Cost Exoskeletons</a>. <em>CoRL</em>, 2025.</li>
  <li>H. Xue, J. Ren, W. Chen, G. Zhang, et al. <a href="https://arxiv.org/abs/2503.02881">Reactive Diffusion Policy: Slow-Fast Visual-Tactile Policy Learning for Contact-Rich Manipulation</a>. <em>RSS</em>, 2025.</li>
  <li>P. Koczy, M. C. Welle, D. Kragic. <a href="https://arxiv.org/abs/2503.02587">Learning Dexterous In-Hand Manipulation with Multifingered Hands via Visuomotor Diffusion</a>. <em>IROS</em>, 2025.</li>
  <li>P. Koczy, Y. Zhang, D. Kragic, M. C. Welle. <a href="https://arxiv.org/abs/2606.25575">One Body, Two Minds: Variable Autonomy Approach for a Co-embodied Robotic Hand</a>. <em>arXiv</em>, 2026.</li>
  <li>B. Huang, Y. Wang, X. Yang, Y. Luo, Y. Li. <a href="https://arxiv.org/abs/2410.24091">3D-ViTac: Learning Fine-Grained Manipulation with Visuo-Tactile Sensing</a>. <em>CoRL</em>, 2024.</li>
  <li>Y. Luo, C. Liu, Y. J. Lee, J. DelPreto, et al. <a href="https://doi.org/10.1038/s41467-024-45059-8">Adaptive tactile interaction transfer via digitally embroidered smart gloves</a>. <em>Nature Communications</em>, 2024.</li>
  <li>B. Huang, Z. Wang, Q. Cheng, S. Ren, et al. <a href="https://arxiv.org/abs/2407.12105">AeroHaptix: A Wearable Vibrotactile Feedback System for Enhancing Collision Avoidance in UAV Teleoperation</a>. <em>IEEE RA-L</em>, 2025.</li>
  <li>Festo. <a href="https://www.festo.com/us/en/e/about-festo/research-and-development/bionic-learning-network/highlights-from-2010-to-2012/exohand-id_33631/">ExoHand</a>. Bionic Learning Network, 2012.</li>
</ol>

<h3 id="触觉反馈hci">触觉反馈（HCI）</h3>

<ol>
  <li>P. Lopes, S. You, L.-P. Cheng, S. Marwecki, P. Baudisch. <a href="https://doi.org/10.1145/3025453.3025600">Providing Haptics to Walls &amp; Heavy Objects in Virtual Reality by Means of Electrical Muscle Stimulation</a>. <em>CHI</em>, 2017.</li>
  <li>Y. Tanaka, J. Nishida, P. Lopes. <a href="https://doi.org/10.1145/3491102.3501910">Electrical Head Actuation: Enabling Interactive Systems to Directly Manipulate Head Orientation</a>. <em>CHI</em>, 2022.</li>
  <li>R. Nith, S.-Y. Teng, P. Li, Y. Tao, P. Lopes. <a href="https://doi.org/10.1145/3472749.3474759">DextrEMS: Increasing Dexterity in Electrical Muscle Stimulation by Combining it with Brakes</a>. <em>UIST</em>, 2021.</li>
  <li>Y. Tanaka, A. Shen, A. Kong, P. Lopes. <a href="https://doi.org/10.1145/3544548.3581382">Full-hand Electro-Tactile Feedback without Obstructing Palmar Side of Hand</a>. <em>CHI</em>, 2023.</li>
  <li>Y. Tanaka, A. Takahashi, P. Lopes. <a href="https://doi.org/10.1145/3586183.3606812">Interactive Benefits from Switching Electrical to Magnetic Muscle Stimulation</a>. <em>UIST</em>, 2023.</li>
  <li>Y. Tanaka, J. Serfaty, P. Lopes. <a href="https://doi.org/10.1145/3613904.3642483">Haptic Source-effector: Full-body Haptics via Non-invasive Brain Stimulation</a>. <em>CHI</em>, 2024.</li>
  <li>Y. Tao, S.-Y. Teng, P. Lopes. <a href="https://doi.org/10.1145/3472749.3474800">Altering Perceived Softness of Real Rigid Objects by Restricting Fingerpad Deformation</a>. <em>UIST</em>, 2021.</li>
  <li>A. Mazursky, J. Serfaty, P. Lopes. <a href="https://doi.org/10.1145/3613904.3642299">Stick&amp;Slip: Altering Fingerpad Friction via Liquid Coatings</a>. <em>CHI</em>, 2024.</li>
  <li>J. Nishida, Y. Tanaka, R. Nith, P. Lopes. <a href="https://doi.org/10.1145/3526113.3545630">DigituSync: A Dual-User Passive Exoskeleton Glove That Adaptively Shares Hand Gestures</a>. <em>UIST</em>, 2022.</li>
  <li>V. Shen, T. Rae-Grant, J. Mullenbach, C. Harrison, C. Shultz. <a href="https://doi.org/10.1145/3586183.3606771">Fluid Reality: High-Resolution, Untethered Haptic Gloves using Electroosmotic Pump Arrays</a>. <em>UIST</em>, 2023.</li>
  <li>Z.-Y. Zhang, H.-X. Chen, S.-H. Wang, H.-R. Tsai. <a href="https://doi.org/10.1145/3526113.3545677">ELAXO: Rendering Versatile Resistive Force Feedback for Fingers Grasping and Twisting</a>. <em>UIST</em>, 2022.</li>
  <li>H.-R. Tsai, C. Tsai, Y.-S. Liao, Y.-T. Chiang, Z.-Y. Zhang. <a href="https://doi.org/10.1145/3491102.3517489">FingerX: Rendering Haptic Shapes of Virtual Objects Augmented by Real Objects using Extendable and Withdrawable Supports on Fingers</a>. <em>CHI</em>, 2022.</li>
  <li>H.-R. Tsai, Y.-C. Chang, T.-Y. Wei, C.-A. Tsao, et al. <a href="https://doi.org/10.1145/3411764.3445262">GuideBand: Intuitive 3D Multilevel Force Guidance on a Wristband in Virtual Reality</a>. <em>CHI</em>, 2021.</li>
  <li>C.-J. Lee, H.-R. Tsai, B.-Y. Chen. <a href="https://doi.org/10.1145/3411764.3445285">HairTouch: Providing Stiffness, Roughness and Surface Height Differences Using Reconfigurable Brush Hairs on a VR Controller</a>. <em>CHI</em>, 2021.</li>
</ol>]]></content><author><name>Wentao Guo</name><email>yinsumirage@gmail.com</email></author><category term="robotics" /><category term="haptics" /><category term="teleoperation" /><summary type="html"><![CDATA[一份遥操作触觉反馈的调研笔记：人体如何感知触觉，振动、力、电刺激、流体阵列等反馈方式，DOGlove 等遥操作系统，以及 DexUMI、DEXOP 等类 UMI 的穿戴式采集装置。]]></summary></entry><entry xml:lang="en"><title type="html">Notes on Optimal Transport: From Monge to Sinkhorn</title><link href="https://wentaoguo.net/blog/2025/optimal-transport/" rel="alternate" type="text/html" title="Notes on Optimal Transport: From Monge to Sinkhorn" /><published>2025-02-09T00:00:00+00:00</published><updated>2025-02-09T00:00:00+00:00</updated><id>https://wentaoguo.net/blog/2025/optimal-transport</id><content type="html" xml:base="https://wentaoguo.net/blog/2025/optimal-transport/"><![CDATA[<p>These are the notes I put together while learning optimal transport (OT). They mainly follow Peyré &amp; Cuturi’s <em>Computational Optimal Transport</em> and Cuturi’s 2013 Sinkhorn paper, which is also where most of the figures come from.</p>

<h2 id="1-the-problem-in-brief">1. The problem in brief</h2>

<p>Given a source distribution and a target distribution, we want to “move” the source onto the target at the lowest total cost. Here \(c(m,n)\) is the cost of moving one unit of mass from \(m\) to \(n\), and what we solve for is the optimal transport plan \(p(m,n)\).</p>

<p>Once we have the minimal total cost and the optimal plan, we can:</p>

<ul>
  <li>use the minimal total cost to measure how similar or different the two distributions are;</li>
  <li>under suitable conditions, use the plan \(p(m,n)\) to transfer new samples in the same way.</li>
</ul>

<h2 id="2-basic-concepts">2. Basic concepts</h2>

<h3 id="21-definitions">2.1 Definitions</h3>

<p><strong>Histograms (probability vectors)</strong>: an array of length \(n\) whose entries lie in \([0, 1]\) and sum to 1, i.e. a discrete probability distribution:</p>

\[\Sigma_n \overset{\text{def.}}{=} \left\{ \mathbf{a} \in \mathbb{R}_{+}^n : \sum_{i=1}^n \mathbf{a}_i = 1 \right\}\]

<p><strong>Discrete measures</strong>: a discrete measure with weights \(\mathbf{a}\) and locations \(x_1, \ldots, x_n \in \mathcal{X}\) is written</p>

\[\alpha=\sum_{i=1}^n \mathbf{a}_i \delta_{x_i}\]

<p>In the figure below, red dots are uniform distributions (\(\mathbf{a}_i = 1/n\)) and blue dots are arbitrary ones. In 1-D, a discrete distribution is drawn as stems (length = weight); in 2-D, as a point cloud (dot size = weight).</p>

<figure>
  <img src="/assets/blog/optimal-transport/discrete-measures.png" alt="Discrete distributions and densities in one and two dimensions" />
  <figcaption>Source: Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 2.1</figcaption>
</figure>

<p><strong>Push-forward operator</strong>: for a continuous map \(T:\mathcal{X}\to\mathcal{Y}\), the push-forward operator is \(T_\sharp:\mathcal{M}(\mathcal{X})\to\mathcal{M}(\mathcal{Y})\). For a discrete measure, it simply moves every point to its image under \(T\):</p>

\[T_\sharp\alpha\overset{\text{def.}}{=}\sum_i\mathbf{a}_i\delta_{T(x_i)}\]

<p>Intuitively, a measurable map \(T\) moves a point in one space to a point in another, and \(T_\sharp\) extends this from single points to whole probability measures: it “pushes” one measure forward into a new one.</p>

<figure>
  <img src="/assets/blog/optimal-transport/push-forward.png" alt="Push-forward of measures versus pull-back of functions" />
  <figcaption>Source: Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 2.3</figcaption>
</figure>

<h3 id="22-the-monge-problem">2.2 The Monge problem</h3>

<h4 id="221-definition">2.2.1 Definition</h4>

<p>The Monge problem: find a map from one measure to another that minimizes the sum of all \(c(x_i, T(x_i))\), where \(c\) is the transport cost and has to be defined for the application at hand.</p>

<p>In the discrete setting, given two discrete measures</p>

\[\alpha=\sum_{i=1}^n \mathbf{a}_i \delta_{x_i} \quad \text{and} \quad \beta=\sum_{j=1}^m \mathbf{b}_j \delta_{y_j}\]

<p>we look for a map \(T:\{x_1,\ldots,x_n\}\to\{y_1,\ldots,y_m\}\) such that</p>

\[\forall j \in [\![ m ]\!], \quad \mathbf{b}_j=\sum_{i: T(x_i)=y_j} \mathbf{a}_i\]

<p>This constraint can be written compactly as \(T_{\sharp} \alpha=\beta\) and is called the mass conservation constraint.</p>

<ul>
  <li>When \(n=m\) and the weights are uniform, \(T\) is a one-to-one matching (left figure below);</li>
  <li>When \(n&gt;m\), each \(x_i\) must be sent as a whole to a single \(y_j\), but a \(y_j\) can receive several \(x_i\) (right figure);</li>
  <li>When \(n&lt;m\) (and all \(\mathbf{b}_j &gt; 0\)), at most \(n\) of the \(y_j\) can receive any mass, so the constraint cannot be met and the problem has no solution.</li>
</ul>

<figure>
  <img src="/assets/blog/optimal-transport/monge-examples.png" alt="Two examples of the Monge problem" />
  <figcaption>Left: equal weights, both matchings are optimal. Right: unequal weights, several x's merge into the same y. Source: Peyré &amp; Cuturi, Fig. 2.2</figcaption>
</figure>

<p>Putting it together, the problem is</p>

\[\min_T\left\{\sum_i c\left(x_i, T\left(x_i\right)\right): T_{\sharp} \alpha=\beta\right\}\]

<p>In words: through the map \(T\), every \(\mathbf{a}_i\) must be shipped, and each \(\mathbf{b}_j\) must receive exactly its own amount. \(c\) is the transport cost and \(T\) is the transport plan.</p>

<h4 id="222-limitations">2.2.2 Limitations</h4>

<ol>
  <li><strong>A feasible solution may not exist</strong>: e.g. the \(n&lt;m\) case above.</li>
  <li><strong>The feasible set is non-convex and hard to optimize</strong>: the push-forward in the mass conservation constraint is combinatorial, so optimization is hard and often comes down to enumerating plans, which is extremely expensive.</li>
</ol>

<p>So can we drop the requirement that transport be a deterministic map, and turn OT into a convex problem? Then:</p>

<ol>
  <li>a feasible solution always exists (e.g. \(\mathbf{a}\mathbf{b}^{\mathrm{T}}\));</li>
  <li>we can use a wide range of optimization methods to solve it.</li>
</ol>

<p>This is the Kantorovich relaxation.</p>

<h3 id="23-the-kantorovich-relaxation">2.3 The Kantorovich relaxation</h3>

<h4 id="231-the-transport-polytope">2.3.1 The transport polytope</h4>

<p>Kantorovich’s key idea is to relax the deterministic nature of transport. In the Monge problem, a source point \(x_i\) must be assigned as a whole to a single location \(T(x_i)\); Kantorovich instead allows the mass at \(x_i\) to be split and sent to several targets. In other words, deterministic transport is replaced by probabilistic transport.</p>

<p>For probability vectors \(\mathbf{a}\in\Sigma_n\) and \(\mathbf{b}\in\Sigma_m\), the set of admissible transport plans (couplings) is</p>

\[\mathbf{U}(\mathbf{a}, \mathbf{b}) \stackrel{\text{def.}}{=}\left\{\mathbf{P} \in \mathbb{R}_{+}^{n \times m}: \mathbf{P} \mathbf{1}_m=\mathbf{a} \quad \text{and} \quad \mathbf{P}^{\mathrm{T}} \mathbf{1}_n=\mathbf{b}\right\}\]

<p>where</p>

\[\mathbf{P} \mathbf{1}_m=\Big(\sum_j \mathbf{P}_{i, j}\Big)_i \in \mathbb{R}^n \quad \text{and} \quad \mathbf{P}^{\mathrm{T}} \mathbf{1}_n=\Big(\sum_i \mathbf{P}_{i, j}\Big)_j \in \mathbb{R}^m\]

<p>That is, the rows of \(\mathbf{P}\) sum to \(\mathbf{a}\) and its columns sum to \(\mathbf{b}\). The right side of the figure below draws a discrete coupling as a matrix, with disk size proportional to \(\mathbf{P}_{i,j}\):</p>

<figure>
  <img src="/assets/blog/optimal-transport/couplings.png" alt="A continuous coupling and a discrete coupling" />
  <figcaption>Source: Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 2.6</figcaption>
</figure>

<p>\(\mathbf{U}(\mathbf{a},\mathbf{b})\) is defined by \(n+m\) linear equality constraints plus non-negativity, so it is a bounded convex polytope (the convex hull of finitely many matrices).</p>

<p>Also, the Monge problem is inherently asymmetric (see the right Monge example above: \(x_4,\ldots,x_7\) can merge into \(y_1\), but \(y_1\) cannot be split back into them), whereas the Kantorovich relaxation is always symmetric: \(\mathbf{P}\in\mathbf{U}(\mathbf{a},\mathbf{b})\) if and only if \(\mathbf{P}^{\mathrm{T}}\in\mathbf{U}(\mathbf{b},\mathbf{a})\).</p>

<h4 id="232-the-objective-and-how-to-read-it">2.3.2 The objective and how to read it</h4>

<p>The resulting optimization problem is</p>

\[\mathrm{L}_{\mathbf{C}}(\mathbf{a}, \mathbf{b}) \stackrel{\text{def.}}{=} \min_{\mathbf{P} \in \mathbf{U}(\mathbf{a}, \mathbf{b})}\langle\mathbf{C}, \mathbf{P}\rangle \stackrel{\text{def.}}{=} \sum_{i, j} \mathbf{C}_{i, j} \mathbf{P}_{i, j}\]

<p>Some ways to read it:</p>

<ol>
  <li>The inner product of \(\mathbf{C}\) and \(\mathbf{P}\) should be as small as possible, i.e. <strong>pairs of points with lower transport cost get larger matching weights \(\mathbf{P}_{i,j}\)</strong>;</li>
  <li>Kantorovich relaxes the constraint, allowing many-to-many matching between \(x\) and \(y\);</li>
  <li>The rows of \(\mathbf{P}^*\) sum to \(\mathbf{a}\) and its columns to \(\mathbf{b}\), i.e. total input and output must match;</li>
  <li>Since the row and column sums of \(\mathbf{P}^*\) are both probability distributions, \(\mathbf{P}^*\) can also be read as a joint probability distribution.</li>
</ol>

<h4 id="233-monge-vs-kantorovich">2.3.3 Monge vs. Kantorovich</h4>

<ul>
  <li><strong>Motivation</strong>: Kantorovich relaxes Monge’s mass conservation constraint by introducing mass splitting: the mass at a source point \(x_i\) can be spread across different destinations;</li>
  <li><strong>Idea</strong>: from deterministic transport to <strong>probabilistic transport</strong>;</li>
  <li><strong>Solving</strong>: the Monge problem is non-convex and may have no feasible solution; the Kantorovich problem is a linear program, always has an optimal solution, and can be solved with mature LP methods;</li>
  <li><strong>Generality</strong>: the Kantorovich formulation greatly broadens where OT can be applied.</li>
</ul>

<h2 id="3-algorithms">3. Algorithms</h2>

<h3 id="31-exact-solutions">3.1 Exact solutions</h3>

<p>Solving OT usually means solving the Kantorovich relaxation, which is a linear program.</p>

<h4 id="311-vertices-of-the-transport-polytope">3.1.1 Vertices of the transport polytope</h4>

<p>A linear program with a non-empty, bounded feasible set always attains its minimum at some vertex of that set. Since \(\mathbf{U}(\mathbf{a},\mathbf{b})\) is bounded, the search for an optimal \(\mathbf{P}\) can be restricted to the vertices (extreme points) of \(\mathbf{U}(\mathbf{a},\mathbf{b})\).</p>

<h4 id="312-a-bipartite-graph-view">3.1.2 A bipartite-graph view</h4>

<p>OT can be viewed as a network flow problem on a bipartite graph: \(n\) source nodes on the left, \(m\) target nodes on the right, each edge \((i, j')\) has cost \(\mathbf{C}_{i,j}\), and \(\mathbf{P}_{i,j}\) is the flow on that edge.</p>

<p>A key result: \(\mathbf{P}\) is a vertex of \(\mathbf{U}(\mathbf{a},\mathbf{b})\) if and only if its edges with non-zero flow contain no cycle. This also means a vertex solution has at most \(n+m-1\) non-zero flows.</p>

<figure>
  <img src="/assets/blog/optimal-transport/bipartite-flow.png" alt="Optimal transport as a bipartite network flow problem" />
  <figcaption>Source: Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 3.1</figcaption>
</figure>

<p>Each line on the right is a flow of mass. It contains the cycle \((1,1'),(2,1'),(2,4'),(1,4')\), so it is not a vertex. This is the geometric picture behind solving OT.</p>

<h4 id="313-north-west-corner-rule-and-network-simplex">3.1.3 North-west corner rule and network simplex</h4>

<ul>
  <li><strong>North-west corner rule</strong>: start from the top-left entry of the matrix. At each step, put the smaller of “what is left of \(\mathbf{a}_i\)” and “what is left of \(\mathbf{b}_j\)” into the current cell, then move down or right depending on which one ran out. After at most \(n+m-1\) steps this gives a vertex solution: feasible, but usually not optimal.</li>
  <li><strong>Network simplex</strong>: start from the north-west corner solution. At each step, add an edge that lowers the total cost and shift flow along the cycle it creates, moving between adjacent vertices until no better neighbor exists.</li>
</ul>

<p>For \(n\) points, exact solvers cost roughly \(O(n^3\log n)\), which gets slow quickly as the data grows. This is the motivation for entropic regularization.</p>

<h3 id="32-entropic-regularization">3.2 Entropic regularization</h3>

<p>In most applications, the exact solution of the Kantorovich problem is not needed: solving a regularized version approximately makes OT far cheaper. The entropy is defined as</p>

\[\mathbf{H}(\mathbf{P}) \stackrel{\text{def.}}{=}-\sum_{i, j} \mathbf{P}_{i, j}\left(\log \mathbf{P}_{i, j}-1\right)\]

<p>\(\mathbf{H}\) is 1-strongly concave, since \(\partial^2 \mathbf{H}(\mathbf{P})=-\operatorname{diag}\left(1 / \mathbf{P}_{i, j}\right)\) and \(\mathbf{P}_{i, j} \leq 1\). Entropic regularization uses \(-\mathbf{H}\) as the regularizer and solves for an approximate solution:</p>

\[\mathrm{L}_{\mathbf{C}}^{\varepsilon}(\mathbf{a},\mathbf{b}) \stackrel{\text{def.}}{=} \min_{\mathbf{P} \in \mathbf{U}(\mathbf{a},\mathbf{b})}\langle \mathbf{P},\mathbf{C}\rangle - \varepsilon \mathbf{H}(\mathbf{P})\]

<p>The figure below shows the effect of \(\varepsilon\): at \(\varepsilon = 0\) the solution sits on a vertex of the feasible set (the LP solution); as \(\varepsilon\) grows, the entropy pushes the solution away from the boundary toward the “entropic center” inside the feasible set.</p>

<figure>
  <img src="/assets/blog/optimal-transport/entropy-simplex.png" alt="Effect of the regularization strength on a linear objective over the simplex" />
  <figcaption>Source: Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 4.1</figcaption>
</figure>

<p>Seen on the coupling matrix, entropic regularization penalizes sparse plans made of a few high-flow paths and favors spreading the mass over many low-flow paths. The larger \(\varepsilon\), the blurrier and more spread out the coupling (it tends to \(\mathbf{a}\mathbf{b}^{\mathrm{T}}\) as \(\varepsilon\to\infty\)); the smaller \(\varepsilon\), the closer it gets to the sparse exact solution.</p>

<figure>
  <img src="/assets/blog/optimal-transport/entropy-couplings.png" alt="Optimal couplings for different values of epsilon" />
  <figcaption>Source: Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 4.2</figcaption>
</figure>

<p>With the entropy term, the objective becomes strongly convex and the optimal solution has a very simple structure, which the Sinkhorn iterations in the next section exploit. That is why entropic regularization cuts the cost so much.</p>

<p><strong>Aside: quadratic regularization.</strong> Besides entropy, one can also regularize with the quadratic term \(\|\mathbf{P}\|^2\). Its main advantage over entropy is that the optimal coupling is a sparse approximation, but the solvers are slower and cannot be parallelized as efficiently as Sinkhorn to compute many OT problems at once. In the figure below, the top row is entropic and the bottom row is quadratic:</p>

<figure>
  <img src="/assets/blog/optimal-transport/entropy-vs-quadratic.png" alt="Entropic versus quadratic regularization" />
  <figcaption>Source: Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 4.6</figcaption>
</figure>

<h3 id="33-the-sinkhorn-algorithm">3.3 The Sinkhorn algorithm</h3>

<p>Sinkhorn is exactly the algorithm for the entropic problem above: one can show that the optimal solution always has the form \(\operatorname{diag}(u)\,K\,\operatorname{diag}(v)\), so all we need is to alternately rescale two vectors \(u\) and \(v\) until the row and column sums match the two marginals. Once we have \(u\) and \(v\), we have the optimal coupling of the regularized problem, which approximates the original one. Below we follow Cuturi (2013) through the derivation.</p>

<h4 id="331-notation">3.3.1 Notation</h4>

<p>\(r\) and \(c\) are two probability vectors in the simplex \(\Sigma_d:=\{x\in \mathbb{R}_{+}^{d}: x^{\mathrm{T}}\mathbf{1}_d=1\}\). The transport polytope is</p>

\[U(r, c) \stackrel{\text{def.}}{=}\left\{P \in \mathbb{R}_{+}^{d \times d}: P \mathbf{1}_d=r \quad \text{and} \quad P^{\mathrm{T}} \mathbf{1}_d=c\right\}\]

<p>\(P\) can be read as a joint distribution whose marginals are \(r\) and \(c\). \(M\) is the cost matrix; the paper takes it to be a distance matrix (zero on the diagonal and satisfying the triangle inequality):</p>

\[\mathcal{M}=\left\{M \in \mathbb{R}_{+}^{d \times d}: \forall i, j \leq d,\ m_{ij}=0 \Leftrightarrow i=j,\quad \forall i, j, k \leq d,\ m_{ij} \leq m_{ik}+m_{kj}\right\}\]

<p>The objective is</p>

\[d_{M}(r, c):=\min_{P \in U(r, c)}\langle P, M\rangle\]

<h4 id="332-sinkhorn-distances">3.3.2 Sinkhorn distances</h4>

<p>The idea is the same as before: to make the solution less sparse, increase its entropy. The coupling with the largest entropy in \(U(r,c)\) is the independent coupling \(rc^{\mathrm{T}}\): every entry is \(r_i c_j\), all strictly positive as long as \(r\) and \(c\) are, so it is the “densest” possible plan.</p>

<p>So we add a constraint that keeps \(P\) from straying too far from \(rc^{\mathrm{T}}\):</p>

\[U_{\alpha}(r, c)=\left\{P \in U(r, c) \mid \mathrm{KL}\left(P \,\|\, r c^{\mathrm{T}}\right) \leq \alpha\right\}\]

<p>and define the Sinkhorn distance</p>

\[d_{M, \alpha}(r, c) \stackrel{\text{def.}}{=} \min_{P \in U_{\alpha}(r, c)}\langle P, M\rangle\]

<p>As the figure shows, the Sinkhorn distance is the inner product of \(M\) with the optimal transport plan inside this KL ball.</p>

<figure>
  <img src="/assets/blog/optimal-transport/sinkhorn-ball.png" alt="The transport polytope and the KL ball around rc^T" />
  <figcaption>Source: Cuturi, <em>Sinkhorn Distances</em>, NeurIPS 2013, Fig. 1</figcaption>
</figure>

<p>A classic inequality from information theory (Cover &amp; Thomas, 1991) says that the joint entropy never exceeds the sum of the marginal entropies:</p>

\[\forall r, c \in \Sigma_{d},\ \forall P \in U(r, c), \quad h(P) \leq h(r)+h(c)\]

<p>Expanding the KL divergence then gives</p>

\[U_{\alpha}(r, c)=\left\{P \in U(r, c) \mid h(P) \geq h(r)+h(c)-\alpha\right\} \subset U(r, c)\]

<p>We now prove the identity used here:</p>

\[\mathrm{KL}\left(P \,\|\, r c^{\mathrm{T}}\right)=h(r)+h(c)-h(P)\]

<p>The KL divergence, entropy, and cross-entropy are defined as</p>

\[\mathrm{KL}(P\|Q)=\sum_i P_i\log\frac{P_i}{Q_i}, \quad h(P)=-\sum_i P_i\log P_i, \quad H(P,Q) = -\sum_i P_i\log Q_i\]

<p>and \(\mathrm{KL}(P\|Q)=H(P,Q)-h(P)\). So it suffices to show that \(H(P,rc^{\mathrm{T}})=h(r)+h(c)\):</p>

\[\begin{aligned}
H(P,rc^{\mathrm{T}}) &amp;= -\sum_{i,j}p_{ij}\log(r_i c_j) \\
&amp;= -\sum_i\Big(\sum_j p_{ij}\Big)\log r_i-\sum_j\Big(\sum_i p_{ij}\Big)\log c_j \\
&amp;= -\sum_i r_i\log r_i-\sum_j c_j\log c_j \\
&amp;= h(r)+h(c)
\end{aligned}\]

<p>The third step uses that the rows of \(P\) sum to \(r\) and its columns to \(c\). ∎</p>

<p>Back to the constraint \(h(P) \geq h(r)+h(c)-\alpha\): \(h(r)\) and \(h(c)\) are constants, so the constraint just says that \(h(P)\) is at least some constant. By Lagrangian duality, for every \(\alpha\) there is a \(\lambda&gt;0\) such that the constrained problem is equivalent to minimizing</p>

\[\langle P, M\rangle-\frac{1}{\lambda} h(P)\]

<p>i.e. we want \(h(P)\) to be as large as possible. This is the same problem as the entropic regularization in Section 3.2 (with \(\lambda = 1/\varepsilon\); the two entropies differ only by a constant).</p>

<p>Adding the marginal constraints, the Lagrangian is</p>

\[L(P, \alpha, \beta)=\sum_{i,j} \Big(\frac{1}{\lambda} p_{ij} \log p_{ij}+p_{ij} m_{ij}\Big)+\alpha^{\mathrm{T}}\left(P \mathbf{1}_{d}-r\right)+\beta^{\mathrm{T}}\left(P^{\mathrm{T}} \mathbf{1}_{d}-c\right)\]

<p>Setting the partial derivative with respect to \(p_{ij}\) to zero:</p>

\[\begin{aligned}
\frac{1}{\lambda}(\log p_{ij}+1)+m_{ij}+\alpha_{i}+\beta_{j}&amp;=0 \\
\log p_{ij}&amp;=-1-\lambda(m_{ij}+\alpha_{i}+\beta_{j}) \\
p_{ij}^{\lambda}&amp;=e^{-\frac{1}{2}-\lambda \alpha_{i}}\; e^{-\lambda m_{ij}}\; e^{-\frac{1}{2}-\lambda \beta_{j}}
\end{aligned}\]

<p>Let \(u_{i}=e^{-\frac{1}{2}-\lambda \alpha_{i}}\), \(v_{j}=e^{-\frac{1}{2}-\lambda \beta_{j}}\), and \(K_{ij}=e^{-\lambda m_{ij}}\). In matrix form this is</p>

\[P^{\lambda}=\operatorname{diag}(u)\, K\, \operatorname{diag}(v)\]

<p>So the only unknowns are \(u\) and \(v\). Plugging into the marginal constraints:</p>

\[\sum_{j} p_{ij}=u_{i}\,(Kv)_{i}=r_{i}, \qquad \sum_{i} p_{ij}=v_{j}\,(K^{\mathrm{T}}u)_{j}=c_{j}\]

<p>This gives the update rules for \(u\) and \(v\), applied alternately as a fixed-point iteration until convergence:</p>

\[u_{i}^{(t+1)}=\frac{r_{i}}{\big(K v^{(t)}\big)_{i}}, \qquad v_{j}^{(t+1)}=\frac{c_{j}}{\big(K^{\mathrm{T}} u^{(t+1)}\big)_{j}}\]

<p>Each step is just a matrix–vector product plus an element-wise division, which makes it well suited to batched computation on GPUs, and the iteration can be shown to converge linearly.</p>

<h2 id="4-ot-in-practice">4. OT in practice</h2>

<h3 id="41-wasserstein-gan-icml-2017">4.1 Wasserstein GAN (ICML 2017)</h3>

<p>Replaces the JS divergence in the original GAN objective with the Wasserstein-1 distance (via Kantorovich–Rubinstein duality). When the supports of the two distributions barely overlap, the JS divergence gives vanishing gradients, while the Wasserstein distance still provides meaningful ones, so training is more stable.</p>

<h3 id="42-missing-data-imputation-with-ot-icml-2020">4.2 Missing-data imputation with OT (ICML 2020)</h3>

<p>Combines the Wasserstein distance, entropic regularization, and the Sinkhorn algorithm. The core idea: two batches drawn at random from the same dataset should come from the same distribution, so the Sinkhorn divergence between them should be small. Treating the missing values as optimization variables and minimizing the Sinkhorn divergence between batches gives the imputed values.</p>

<h3 id="43-neural-optimal-transport-iclr-2023-spotlight">4.3 Neural Optimal Transport (ICLR 2023 Spotlight)</h3>

<figure>
  <img src="/assets/blog/optimal-transport/neural-ot.png" alt="A stochastic OT map T(x, z)" />
  <figcaption>Source: the <a href="https://github.com/iamalexkorotin/NeuralOptimalTransport">NeuralOptimalTransport</a> repository</figcaption>
</figure>

<p>Learns a stochastic OT map \(T(x, z)\) with neural networks: the same input \(x\) combined with different noise \(z\) can map to multiple samples of the target distribution. This enables both one-to-one and one-to-many transfer, with a parameter that controls the diversity of the outputs. Code: <a href="https://github.com/iamalexkorotin/NeuralOptimalTransport">iamalexkorotin/NeuralOptimalTransport</a>.</p>

<h2 id="references">References</h2>

<ol>
  <li>G. Peyré, M. Cuturi. <a href="https://arxiv.org/abs/1803.00567">Computational Optimal Transport</a>. <em>Foundations and Trends in Machine Learning</em>, 2019.</li>
  <li>M. Cuturi. <a href="https://arxiv.org/abs/1306.0895">Sinkhorn Distances: Lightspeed Computation of Optimal Transport</a>. <em>NeurIPS</em>, 2013.</li>
  <li>T. M. Cover, J. A. Thomas. <em>Elements of Information Theory</em>. Wiley, 1991.</li>
  <li>M. Arjovsky, S. Chintala, L. Bottou. <a href="https://arxiv.org/abs/1701.07875">Wasserstein Generative Adversarial Networks</a>. <em>ICML</em>, 2017.</li>
  <li>B. Muzellec, J. Josse, C. Boyer, M. Cuturi. <a href="https://arxiv.org/abs/2002.03860">Missing Data Imputation using Optimal Transport</a>. <em>ICML</em>, 2020.</li>
  <li>A. Korotin, D. Selikhanovych, E. Burnaev. <a href="https://arxiv.org/abs/2201.12220">Neural Optimal Transport</a>. <em>ICLR</em>, 2023.</li>
</ol>]]></content><author><name>Wentao Guo</name><email>yinsumirage@gmail.com</email></author><category term="math" /><category term="optimal-transport" /><summary type="html"><![CDATA[Study notes that go from the Monge problem and the Kantorovich relaxation to entropic regularization and the Sinkhorn algorithm, with a quick look at OT in WGAN, missing-data imputation, and Neural OT.]]></summary></entry><entry xml:lang="zh"><title type="html">最优运输（Optimal Transport）学习笔记：从 Monge 到 Sinkhorn</title><link href="https://wentaoguo.net/blog/2025/optimal-transport/zh/" rel="alternate" type="text/html" title="最优运输（Optimal Transport）学习笔记：从 Monge 到 Sinkhorn" /><published>2025-02-09T00:00:00+00:00</published><updated>2025-02-09T00:00:00+00:00</updated><id>https://wentaoguo.net/blog/2025/optimal-transport/optimal-transport</id><content type="html" xml:base="https://wentaoguo.net/blog/2025/optimal-transport/zh/"><![CDATA[<p>这是我学习最优运输（Optimal Transport, OT）时整理的笔记，主要参考 Peyré &amp; Cuturi 的 <em>Computational Optimal Transport</em> 和 Cuturi 2013 年的 Sinkhorn 论文，文中的图也大多出自这两处。</p>

<h2 id="1-最优运输问题简述">1. 最优运输问题简述</h2>

<p>给定一个源分布和一个目标分布，我们希望用最小的总代价把源分布”搬运”成目标分布。其中 \(c(m,n)\) 是把单位质量从 \(m\) 运到 \(n\) 的代价，要求的是最优的运输方案 \(p(m,n)\)。</p>

<p>求出最小总代价和最优运输方案之后，我们就可以：</p>

<ul>
  <li>用最小总代价来衡量两个分布之间的相似性或差异性；</li>
  <li>在一定条件下，用运输方案 \(p(m,n)\) 对新的样本做类似的迁移。</li>
</ul>

<h2 id="2-概念引入">2. 概念引入</h2>

<h3 id="21-基础概念">2.1 基础概念</h3>

<p><strong>Histograms（概率向量 / 概率直方图）</strong>：一个长度为 \(n\) 的数组，每个元素都在 \([0, 1]\) 之间，且总和为 1，即表示一个离散的概率分布：</p>

\[\Sigma_n \overset{\text{def.}}{=} \left\{ \mathbf{a} \in \mathbb{R}_{+}^n : \sum_{i=1}^n \mathbf{a}_i = 1 \right\}\]

<p><strong>Discrete measures（离散测度）</strong>：一个带有权重 \(\mathbf{a}\)、位置为 \(x_1, \ldots, x_n \in \mathcal{X}\) 的离散测度写作</p>

\[\alpha=\sum_{i=1}^n \mathbf{a}_i \delta_{x_i}\]

<p>下图中红色点是均匀分布（\(\mathbf{a}_i = 1/n\)），蓝色点是任意分布。一维的离散分布画成竖线（长度即权重），二维的离散分布画成点云（点的大小表示权重）。</p>

<figure>
  <img src="/assets/blog/optimal-transport/discrete-measures.png" alt="一维、二维的离散分布与连续密度示意图" />
  <figcaption>图源：Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 2.1</figcaption>
</figure>

<p><strong>Push-forward operator（前推算子）</strong>：对于连续映射 \(T:\mathcal{X}\to\mathcal{Y}\)，定义前推算子 \(T_\sharp:\mathcal{M}(\mathcal{X})\to\mathcal{M}(\mathcal{Y})\)。对于离散测度，前推算子就是把测度中每个点的位置都用 \(T\) 移动一下：</p>

\[T_\sharp\alpha\overset{\text{def.}}{=}\sum_i\mathbf{a}_i\delta_{T(x_i)}\]

<p>直观地说，可测映射 \(T\) 把一个空间中的点移动到另一个空间中的点，而 \(T_\sharp\) 是它的扩展：作用对象从单个点变成了整个概率测度，把一个测度整体”推”成一个新的测度。</p>

<figure>
  <img src="/assets/blog/optimal-transport/push-forward.png" alt="前推算子作用于测度、拉回算子作用于函数的对比" />
  <figcaption>图源：Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 2.3</figcaption>
</figure>

<h3 id="22-蒙日monge问题">2.2 蒙日（Monge）问题</h3>

<h4 id="221-定义">2.2.1 定义</h4>

<p>Monge 问题：找一个从一个测度到另一个测度的映射，使得所有 \(c(x_i, T(x_i))\) 的和最小。其中 \(c\) 表示运输代价，需要根据具体应用来定义。</p>

<p>用离散测度来说，对于两个离散测度</p>

\[\alpha=\sum_{i=1}^n \mathbf{a}_i \delta_{x_i} \quad \text{and} \quad \beta=\sum_{j=1}^m \mathbf{b}_j \delta_{y_j}\]

<p>我们要找一个映射 \(T:\{x_1,\ldots,x_n\}\to\{y_1,\ldots,y_m\}\)，使得</p>

\[\forall j \in [\![ m ]\!], \quad \mathbf{b}_j=\sum_{i: T(x_i)=y_j} \mathbf{a}_i\]

<p>这个约束可以简写为 \(T_{\sharp} \alpha=\beta\)，称为质量守恒约束（mass conservation constraint）。</p>

<ul>
  <li>\(n=m\) 且权重均匀时，\(T\) 就是一个一一对应的匹配，如下左图；</li>
  <li>\(n&gt;m\) 时，一个 \(x_i\) 只能整体送到一个 \(y_j\)，但一个 \(y_j\) 可以接收多个 \(x_i\)，如下右图；</li>
  <li>\(n&lt;m\) 时（且 \(\mathbf{b}_j\) 都大于 0），最多只有 \(n\) 个 \(y_j\) 能收到质量，约束无法满足，问题无解。</li>
</ul>

<figure>
  <img src="/assets/blog/optimal-transport/monge-examples.png" alt="两个 Monge 问题的例子" />
  <figcaption>左：两组点权重相同，两种匹配都是最优的；右：权重不同，多个 x 合并到同一个 y。图源：Peyré &amp; Cuturi, Fig. 2.2</figcaption>
</figure>

<p>最终的形式化表达为</p>

\[\min_T\left\{\sum_i c\left(x_i, T\left(x_i\right)\right): T_{\sharp} \alpha=\beta\right\}\]

<p>含义是：通过映射 \(T\)，所有 \(\mathbf{a}_i\) 都必须被运走，并且每个 \(\mathbf{b}_j\) 收到的总量恰好等于它自己。其中 \(c\) 代表运输代价，\(T\) 就是运输方案。</p>

<h4 id="222-缺陷">2.2.2 缺陷</h4>

<ol>
  <li><strong>不一定存在可行解</strong>：例如上面说的 \(n&lt;m\) 的情况。</li>
  <li><strong>可行域非凸，求解效率低</strong>：质量守恒约束里的 push-forward 是一个组合约束，使得优化非常困难，很多时候只能枚举方案，复杂度极高。</li>
</ol>

<p>那么能否去掉 push-forward 这种”确定性映射”的约束，把整个 OT 问题变成凸问题？这样一来：</p>

<ol>
  <li>可行解总是存在（例如 \(\mathbf{a}\mathbf{b}^{\mathrm{T}}\)）；</li>
  <li>可以灵活地使用各种优化方法求解。</li>
</ol>

<p>这就是 Kantorovich 松弛。</p>

<h3 id="23-kantorovich-松弛">2.3 Kantorovich 松弛</h3>

<h4 id="231-运输多面体">2.3.1 运输多面体</h4>

<p>Kantorovich 的关键想法是放宽运输的”确定性”：在 Monge 问题里，源点 \(x_i\) 只能整体分配给一个位置 \(T(x_i)\)；而 Kantorovich 允许 \(x_i\) 的质量被拆分，分别送往多个目标点。也就是说，他放弃了确定性运输，转而考虑概率运输（probabilistic transport）。</p>

<p>对于概率向量 \(\mathbf{a}\in\Sigma_n\) 和 \(\mathbf{b}\in\Sigma_m\)，可行的运输方案（耦合）集合定义为</p>

\[\mathbf{U}(\mathbf{a}, \mathbf{b}) \stackrel{\text{def.}}{=}\left\{\mathbf{P} \in \mathbb{R}_{+}^{n \times m}: \mathbf{P} \mathbf{1}_m=\mathbf{a} \quad \text{and} \quad \mathbf{P}^{\mathrm{T}} \mathbf{1}_n=\mathbf{b}\right\}\]

<p>其中</p>

\[\mathbf{P} \mathbf{1}_m=\Big(\sum_j \mathbf{P}_{i, j}\Big)_i \in \mathbb{R}^n \quad \text{and} \quad \mathbf{P}^{\mathrm{T}} \mathbf{1}_n=\Big(\sum_i \mathbf{P}_{i, j}\Big)_j \in \mathbb{R}^m\]

<p>即 \(\mathbf{P}\) 的行和等于 \(\mathbf{a}\)，列和等于 \(\mathbf{b}\)。下图右侧把一个离散耦合画成矩阵，黑点的大小表示 \(\mathbf{P}_{i,j}\)：</p>

<figure>
  <img src="/assets/blog/optimal-transport/couplings.png" alt="连续耦合与离散耦合示意图" />
  <figcaption>图源：Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 2.6</figcaption>
</figure>

<p>\(\mathbf{U}(\mathbf{a},\mathbf{b})\) 由 \(n+m\) 个线性等式约束加上非负约束定义，是一个有界的凸多面体（有限个矩阵的凸包）。</p>

<p>此外，Monge 问题本质上是不对称的（见上面 Monge 例子的右图：\(x\) 可以合并到 \(y\)，但反过来 \(y_1\) 无法拆回 \(x_4,\ldots,x_7\)），而 Kantorovich 松弛总是对称的：\(\mathbf{P}\in\mathbf{U}(\mathbf{a},\mathbf{b})\) 当且仅当 \(\mathbf{P}^{\mathrm{T}}\in\mathbf{U}(\mathbf{b},\mathbf{a})\)。</p>

<h4 id="232-求解公式与理解">2.3.2 求解公式与理解</h4>

<p>最终的优化问题为</p>

\[\mathrm{L}_{\mathbf{C}}(\mathbf{a}, \mathbf{b}) \stackrel{\text{def.}}{=} \min_{\mathbf{P} \in \mathbf{U}(\mathbf{a}, \mathbf{b})}\langle\mathbf{C}, \mathbf{P}\rangle \stackrel{\text{def.}}{=} \sum_{i, j} \mathbf{C}_{i, j} \mathbf{P}_{i, j}\]

<p>对这个式子的理解：</p>

<ol>
  <li>\(\mathbf{C}\) 与 \(\mathbf{P}\) 的矩阵内积要尽可能小，即<strong>运输代价越小的两个点，获得越大的匹配权重 \(\mathbf{P}_{i,j}\)</strong>；</li>
  <li>Kantorovich 松弛了约束，允许多个 \(x\) 到多个 \(y\) 的匹配；</li>
  <li>\(\mathbf{P}^*\) 的行和等于 \(\mathbf{a}\)，列和等于 \(\mathbf{b}\)，即输入与输出的总量要匹配；</li>
  <li>因为 \(\mathbf{P}^*\) 的行和、列和分别是两个概率分布，\(\mathbf{P}^*\) 也可以理解为一个联合概率分布矩阵。</li>
</ol>

<h4 id="233-对比-monge-与-kantorovich">2.3.3 对比 Monge 与 Kantorovich</h4>

<ul>
  <li><strong>动机</strong>：Kantorovich 松弛了 Monge 问题的质量守恒约束，引入 mass splitting，即源点 \(x_i\) 的质量可以分散地运到不同地方；</li>
  <li><strong>思想</strong>：从确定性运输（deterministic transport）变成概率运输（<strong>probabilistic transport</strong>）；</li>
  <li><strong>求解</strong>：Monge 问题非凸，且不一定有可行解；Kantorovich 问题是一个线性规划，一定存在最优解，并且可以用成熟的线性规划方法求解；</li>
  <li><strong>泛化性</strong>：Kantorovich 形式极大地扩展了 OT 的应用场景。</li>
</ul>

<h2 id="3-算法求解">3. 算法求解</h2>

<h3 id="31-精确求解">3.1 精确求解</h3>

<p>最优运输问题的求解一般指求 Kantorovich 松弛的解，它是一个线性规划。</p>

<h4 id="311-运输多面体的顶点">3.1.1 运输多面体的顶点</h4>

<p>可行集非空且有界的线性规划，一定能在可行集的某个顶点处取到最小值。由于 \(\mathbf{U}(\mathbf{a},\mathbf{b})\) 是有界的，可以把最优 \(\mathbf{P}\) 的搜索范围限制在多面体 \(\mathbf{U}(\mathbf{a},\mathbf{b})\) 的顶点（极值点）上。</p>

<h4 id="312-二分图视角">3.1.2 二分图视角</h4>

<p>可以把 OT 看成二分图上的网络流问题：左边是 \(n\) 个源点，右边是 \(m\) 个目标点，每条边 \((i, j')\) 的代价为 \(\mathbf{C}_{i,j}\)，\(\mathbf{P}_{i,j}\) 就是这条边上的流量。</p>

<p>一个重要结论是：\(\mathbf{P}\) 是 \(\mathbf{U}(\mathbf{a},\mathbf{b})\) 的顶点，当且仅当它的非零流量边不构成环。这也意味着顶点解中最多只有 \(n+m-1\) 条非零流量。</p>

<figure>
  <img src="/assets/blog/optimal-transport/bipartite-flow.png" alt="最优运输作为二分图网络流问题" />
  <figcaption>图源：Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 3.1</figcaption>
</figure>

<p>上图右侧的每条连线表示一条质量流，其中存在环 \((1,1'),(2,1'),(2,4'),(1,4')\)，所以它不是一个顶点。这就是最优运输问题的几何解释。</p>

<h4 id="313-西北角法与网络单纯形法">3.1.3 西北角法与网络单纯形法</h4>

<ul>
  <li><strong>西北角法（North-west corner rule）</strong>：从矩阵左上角开始，每次在当前位置放入”剩余的 \(\mathbf{a}_i\)“和”剩余的 \(\mathbf{b}_j\)“中较小的那个，哪边先用完就向下或向右移动一格。最多 \(n+m-1\) 步就能得到一个顶点解，它是可行的，但通常不是最优的。</li>
  <li><strong>网络单纯形法（Network simplex）</strong>：以西北角法的结果为初始解，每次加入一条能降低总代价的边，并沿着产生的环调整流量，在相邻顶点之间移动，直到找不到更优的顶点为止。</li>
</ul>

<p>精确求解在 \(n\) 个点时的复杂度大约是 \(O(n^3\log n)\) 量级，数据量一大就很慢，这也是后面要引入熵正则化的原因。</p>

<h3 id="32-熵entropic正则化">3.2 熵（Entropic）正则化</h3>

<p>在大部分应用中，求出 Kantorovich 问题的精确解是不必要的：如果改用正则化求近似解，最优运输的计算代价会大幅降低。熵的定义为</p>

\[\mathbf{H}(\mathbf{P}) \stackrel{\text{def.}}{=}-\sum_{i, j} \mathbf{P}_{i, j}\left(\log \mathbf{P}_{i, j}-1\right)\]

<p>\(\mathbf{H}\) 是 1-强凹（strongly concave）的，因为 \(\partial^2 \mathbf{H}(\mathbf{P})=-\operatorname{diag}\left(1 / \mathbf{P}_{i, j}\right)\) 且 \(\mathbf{P}_{i, j} \leq 1\)。熵正则化就是用 \(-\mathbf{H}\) 作为正则项，求一个近似解：</p>

\[\mathrm{L}_{\mathbf{C}}^{\varepsilon}(\mathbf{a},\mathbf{b}) \stackrel{\text{def.}}{=} \min_{\mathbf{P} \in \mathbf{U}(\mathbf{a},\mathbf{b})}\langle \mathbf{P},\mathbf{C}\rangle - \varepsilon \mathbf{H}(\mathbf{P})\]

<p>下图展示了 \(\varepsilon\) 的影响：\(\varepsilon = 0\) 时解落在可行域的顶点上（即 LP 的解）；随着 \(\varepsilon\) 增大，熵把解逐渐推离边界，移向可行域内部的”熵中心”。</p>

<figure>
  <img src="/assets/blog/optimal-transport/entropy-simplex.png" alt="熵正则化强度对单纯形上线性优化的影响" />
  <figcaption>图源：Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 4.1</figcaption>
</figure>

<p>从耦合矩阵上看，熵正则化惩罚由少数几条大流量路径组成的稀疏方案，鼓励把质量分散到许多小流量路径上。\(\varepsilon\) 越大，耦合越模糊、越分散（\(\varepsilon\to\infty\) 时趋向 \(\mathbf{a}\mathbf{b}^{\mathrm{T}}\)）；\(\varepsilon\) 越小，越接近稀疏的精确解。</p>

<figure>
  <img src="/assets/blog/optimal-transport/entropy-couplings.png" alt="不同 epsilon 下的最优耦合" />
  <figcaption>图源：Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 4.2</figcaption>
</figure>

<p>加了熵之后，目标函数变成强凸的，最优解有非常简单的结构，可以用下一节的 Sinkhorn 迭代快速求解，这就是熵正则化能大幅降低计算代价的原因。</p>

<p><strong>补充：二次正则化。</strong> 除了熵，也可以用二次项 \(\|\mathbf{P}\|^2\) 做正则。和熵相比，它的主要优点是得到的最优耦合是稀疏的近似，但代价是求解更慢，也不能像 Sinkhorn 那样高效地并行、同时计算多个最优运输问题。下图上面一行是熵正则化，下面一行是二次正则化：</p>

<figure>
  <img src="/assets/blog/optimal-transport/entropy-vs-quadratic.png" alt="熵正则化与二次正则化的对比" />
  <figcaption>图源：Peyré &amp; Cuturi, <em>Computational Optimal Transport</em>, Fig. 4.6</figcaption>
</figure>

<h3 id="33-sinkhorn-算法">3.3 Sinkhorn 算法</h3>

<p>Sinkhorn 算法正是求解上面熵正则化问题的方法：可以证明最优解一定具有 \(\operatorname{diag}(u)\,K\,\operatorname{diag}(v)\) 的形式，只需要交替缩放两个向量 \(u\) 和 \(v\)，让行和、列和分别等于两个边缘分布即可。得到 \(u\) 和 \(v\)，就得到了正则化问题的最优耦合，它是原问题的一个近似解。下面沿着 Cuturi (2013) 的思路推导一遍。</p>

<h4 id="331-符号整理">3.3.1 符号整理</h4>

<p>\(r\) 与 \(c\) 是两个概率向量，属于单纯形 \(\Sigma_d:=\{x\in \mathbb{R}_{+}^{d}: x^{\mathrm{T}}\mathbf{1}_d=1\}\)。运输多面体（transport polytope）为</p>

\[U(r, c) \stackrel{\text{def.}}{=}\left\{P \in \mathbb{R}_{+}^{d \times d}: P \mathbf{1}_d=r \quad \text{and} \quad P^{\mathrm{T}} \mathbf{1}_d=c\right\}\]

<p>\(P\) 可以理解为联合概率分布，它的两个边缘分布分别是 \(r\) 与 \(c\)。\(M\) 是代价矩阵，原文取为一个距离矩阵（对角线为 0，且满足三角不等式）：</p>

\[\mathcal{M}=\left\{M \in \mathbb{R}_{+}^{d \times d}: \forall i, j \leq d,\ m_{ij}=0 \Leftrightarrow i=j,\quad \forall i, j, k \leq d,\ m_{ij} \leq m_{ik}+m_{kj}\right\}\]

<p>优化目标为</p>

\[d_{M}(r, c):=\min_{P \in U(r, c)}\langle P, M\rangle\]

<h4 id="332-sinkhorn-distances">3.3.2 Sinkhorn distances</h4>

<p>思路仍然是：想让解不那么稀疏，就要让它的熵更大。在 \(U(r,c)\) 中熵最大的是独立耦合 \(rc^{\mathrm{T}}\)：它的每个元素是 \(r_i c_j\)，只要 \(r\)、\(c\) 严格为正就全都大于 0，是最”稠密”的运输方案。</p>

<p>于是加上约束，让 \(P\) 不能离 \(rc^{\mathrm{T}}\) 太远：</p>

\[U_{\alpha}(r, c)=\left\{P \in U(r, c) \mid \mathrm{KL}\left(P \,\|\, r c^{\mathrm{T}}\right) \leq \alpha\right\}\]

<p>并定义 Sinkhorn 距离</p>

\[d_{M, \alpha}(r, c) \stackrel{\text{def.}}{=} \min_{P \in U_{\alpha}(r, c)}\langle P, M\rangle\]

<p>如下图所示，Sinkhorn 距离就是 \(M\) 与这个 KL 球中最优运输方案的内积。</p>

<figure>
  <img src="/assets/blog/optimal-transport/sinkhorn-ball.png" alt="运输多面体与 rc^T 周围的 KL 球" />
  <figcaption>图源：Cuturi, <em>Sinkhorn Distances</em>, NeurIPS 2013, Fig. 1</figcaption>
</figure>

<p>由信息论中的经典不等式（Cover &amp; Thomas, 1991），联合熵不超过边缘熵之和：</p>

\[\forall r, c \in \Sigma_{d},\ \forall P \in U(r, c), \quad h(P) \leq h(r)+h(c)\]

<p>再把 KL 散度展开，可以得到</p>

\[U_{\alpha}(r, c)=\left\{P \in U(r, c) \mid h(P) \geq h(r)+h(c)-\alpha\right\} \subset U(r, c)\]

<p>下面证明其中用到的等式</p>

\[\mathrm{KL}\left(P \,\|\, r c^{\mathrm{T}}\right)=h(r)+h(c)-h(P)\]

<p>KL 散度、熵和交叉熵的定义分别为</p>

\[\mathrm{KL}(P\|Q)=\sum_i P_i\log\frac{P_i}{Q_i}, \quad h(P)=-\sum_i P_i\log P_i, \quad H(P,Q) = -\sum_i P_i\log Q_i\]

<p>并且 \(\mathrm{KL}(P\|Q)=H(P,Q)-h(P)\)。所以只需证明 \(H(P,rc^{\mathrm{T}})=h(r)+h(c)\)：</p>

\[\begin{aligned}
H(P,rc^{\mathrm{T}}) &amp;= -\sum_{i,j}p_{ij}\log(r_i c_j) \\
&amp;= -\sum_i\Big(\sum_j p_{ij}\Big)\log r_i-\sum_j\Big(\sum_i p_{ij}\Big)\log c_j \\
&amp;= -\sum_i r_i\log r_i-\sum_j c_j\log c_j \\
&amp;= h(r)+h(c)
\end{aligned}\]

<p>第三步用到了 \(P\) 的行和为 \(r\)、列和为 \(c\)。证毕。</p>

<p>回到约束 \(h(P) \geq h(r)+h(c)-\alpha\)：其中 \(h(r)\) 与 \(h(c)\) 都是常数，所以约束就是 \(h(P)\) 不小于某个常数。根据拉格朗日对偶，对每个 \(\alpha\) 都存在一个 \(\lambda&gt;0\)，使得这个带约束的问题等价于最小化</p>

\[\langle P, M\rangle-\frac{1}{\lambda} h(P)\]

<p>也就是希望 \(h(P)\) 尽可能大。它和 3.2 节的熵正则化是同一个问题（\(\lambda = 1/\varepsilon\)，两者的熵只差一个常数）。</p>

<p>再把边缘分布的约束加上，写出拉格朗日函数：</p>

\[L(P, \alpha, \beta)=\sum_{i,j} \Big(\frac{1}{\lambda} p_{ij} \log p_{ij}+p_{ij} m_{ij}\Big)+\alpha^{\mathrm{T}}\left(P \mathbf{1}_{d}-r\right)+\beta^{\mathrm{T}}\left(P^{\mathrm{T}} \mathbf{1}_{d}-c\right)\]

<p>对 \(p_{ij}\) 求偏导并令其为 0：</p>

\[\begin{aligned}
\frac{1}{\lambda}(\log p_{ij}+1)+m_{ij}+\alpha_{i}+\beta_{j}&amp;=0 \\
\log p_{ij}&amp;=-1-\lambda(m_{ij}+\alpha_{i}+\beta_{j}) \\
p_{ij}^{\lambda}&amp;=e^{-\frac{1}{2}-\lambda \alpha_{i}}\; e^{-\lambda m_{ij}}\; e^{-\frac{1}{2}-\lambda \beta_{j}}
\end{aligned}\]

<p>记 \(u_{i}=e^{-\frac{1}{2}-\lambda \alpha_{i}}\)，\(v_{j}=e^{-\frac{1}{2}-\lambda \beta_{j}}\)，\(K_{ij}=e^{-\lambda m_{ij}}\)，写成矩阵形式就是</p>

\[P^{\lambda}=\operatorname{diag}(u)\, K\, \operatorname{diag}(v)\]

<p>所以我们真正要解的只有 \(u\) 和 \(v\)。代入边缘分布的约束：</p>

\[\sum_{j} p_{ij}=u_{i}\,(Kv)_{i}=r_{i}, \qquad \sum_{i} p_{ij}=v_{j}\,(K^{\mathrm{T}}u)_{j}=c_{j}\]

<p>由此得到 \(u\)、\(v\) 的迭代公式，用不动点迭代交替更新，直到收敛：</p>

\[u_{i}^{(t+1)}=\frac{r_{i}}{\big(K v^{(t)}\big)_{i}}, \qquad v_{j}^{(t+1)}=\frac{c_{j}}{\big(K^{\mathrm{T}} u^{(t+1)}\big)_{j}}\]

<p>每一步只是一次矩阵-向量乘法加逐元素除法，很适合在 GPU 上批量计算，并且可以证明这个迭代是线性收敛的。</p>

<h2 id="4-ot-的实际应用">4. OT 的实际应用</h2>

<h3 id="41-wasserstein-ganicml-2017">4.1 Wasserstein GAN（ICML 2017）</h3>

<p>用 Wasserstein-1 距离（借助 Kantorovich–Rubinstein 对偶）替代原始 GAN 中的 JS 散度作为训练目标。当两个分布的支撑集几乎不重叠时，JS 散度的梯度会消失，而 Wasserstein 距离依然能给出有意义的梯度，训练更稳定。</p>

<h3 id="42-用最优运输做缺失值填补icml-2020">4.2 用最优运输做缺失值填补（ICML 2020）</h3>

<p>结合了 Wasserstein 距离、熵正则化和 Sinkhorn 算法。核心想法是：从同一个数据集里随机抽出的两个 batch 应该来自同一个分布，所以它们之间的 Sinkhorn 散度应该很小；把缺失值当作优化变量，最小化 batch 之间的 Sinkhorn 散度，就得到了填补结果。</p>

<h3 id="43-neural-optimal-transporticlr-2023-spotlight">4.3 Neural Optimal Transport（ICLR 2023 Spotlight）</h3>

<figure>
  <img src="/assets/blog/optimal-transport/neural-ot.png" alt="随机 OT 映射 T(x, z) 示意图" />
  <figcaption>图源：<a href="https://github.com/iamalexkorotin/NeuralOptimalTransport">NeuralOptimalTransport</a> 仓库</figcaption>
</figure>

<p>用神经网络学习一个随机的 OT 映射 \(T(x, z)\)：同一个输入 \(x\) 配合不同的噪声 \(z\)，可以映射到目标分布中的多个样本，从而实现一对一和一对多的迁移，并且提供参数来控制生成结果的多样性。代码见 <a href="https://github.com/iamalexkorotin/NeuralOptimalTransport">iamalexkorotin/NeuralOptimalTransport</a>。</p>

<h2 id="参考文献">参考文献</h2>

<ol>
  <li>G. Peyré, M. Cuturi. <a href="https://arxiv.org/abs/1803.00567">Computational Optimal Transport</a>. <em>Foundations and Trends in Machine Learning</em>, 2019.</li>
  <li>M. Cuturi. <a href="https://arxiv.org/abs/1306.0895">Sinkhorn Distances: Lightspeed Computation of Optimal Transport</a>. <em>NeurIPS</em>, 2013.</li>
  <li>T. M. Cover, J. A. Thomas. <em>Elements of Information Theory</em>. Wiley, 1991.</li>
  <li>M. Arjovsky, S. Chintala, L. Bottou. <a href="https://arxiv.org/abs/1701.07875">Wasserstein Generative Adversarial Networks</a>. <em>ICML</em>, 2017.</li>
  <li>B. Muzellec, J. Josse, C. Boyer, M. Cuturi. <a href="https://arxiv.org/abs/2002.03860">Missing Data Imputation using Optimal Transport</a>. <em>ICML</em>, 2020.</li>
  <li>A. Korotin, D. Selikhanovych, E. Burnaev. <a href="https://arxiv.org/abs/2201.12220">Neural Optimal Transport</a>. <em>ICLR</em>, 2023.</li>
</ol>]]></content><author><name>Wentao Guo</name><email>yinsumirage@gmail.com</email></author><category term="math" /><category term="optimal-transport" /><summary type="html"><![CDATA[从 Monge 问题、Kantorovich 松弛到熵正则化与 Sinkhorn 算法的推导笔记，最后简单看看 OT 在 WGAN、缺失值填补和 Neural OT 里的用法。]]></summary></entry></feed>