Depth inversion and research tooling
Hollow Face Lab
The hollow-face and hollow-mask illusion exposes a difficult boundary between bottom-up depth cues and top-down face interpretation. Hollow Face Lab treats that boundary as an instrument problem: a concave face stimulus has to run flat in a browser, enter WebXR where supported, and later connect with Rusty XR / OpenXR lab runtimes while preserving source-traceable variables. The goal is to make the hollow-face illusion testable in browser and XR settings, not merely to show a convincing illusion. The hosted V0 starts with concavity, lighting, local probes, stereo/XR status, response timing, procedural texture/noise controls, and local user-supplied texture upload (Gregory, 1997; Hill and Johnston, 2007; W3C WebXR).
Instrument problem
From illusion demo to instrument
The hollow-face illusion is useful because a concave face can be experienced as convex even when some depth cues point the other way. The app is therefore being built around logged variables rather than a single polished visual trick: mesh identity, concavity, texture/noise, lighting, material, stereo/XR status, local probes, response timing, and runtime quality all need to survive export (Gregory, 1997; Grosjean et al., 2012; Five Illusions).
Published sources and implementation choices have to stay separate: evidence can support variables and caveats without turning every design idea into an established finding (MediaPipe canonical face model; OpenXR Registry).
Source-backed variables
- Orientation, face familiarity, pigmentation, and shading (Hill and Johnston, 2007).
- Realistic face texture versus random-dot or noise texture, now exposed as procedural texture modes and a local upload path (Farkas et al., 2016).
- Stereo, motion parallax, depth scaling, and local probe targets (Grosjean et al., 2012; Five Illusions).
- Perceptual report, slow action, rapid action, and vergence as separable channels (Kroliczak et al., 2006; Grosjean et al., 2012).
Open design variables
- Triangle-particle surfaces and mesh oversampling as gestalt manipulations.
- Feature apertures around eyes, mouth, and nostrils.
- Shadow-factorial and specular-reflection conditions.
- Rights-reviewed face-mesh families beyond the V0 baseline mesh.
Implementation stack
Flat web, WebXR, and Rusty XR
V0 is a Three.js/WebGL browser app with WebXR session detection and flat-web fallback, hosted as a Mesmer Prism microsite at /projects/hollow-face-lab/app/. It currently uses the Apache-2.0 MediaPipe canonical face OBJ as a neutral runtime baseline. That asset is useful for topology, UVs, and coordinate mapping, but it is not being presented as an accepted hollow-face research mesh (MediaPipe canonical face model; MDN WebXR).
The longer-term stack keeps three evidence tiers separate: flat browser use for public/low-control tasks, WebXR for browser-based immersive sessions where supported, and a later lab-native Rusty XR / OpenXR lane for controlled HMD studies, action endpoints, eye tracking, and timing-sensitive instrumentation (W3C WebXR; OpenXR Registry).
Current V0 controls
- Concave/convex face mode and concavity depth scale.
- Matte, procedural face, procedural noise, blend-F, and local uploaded texture modes.
- Lighting presets with explicit key, fill, ambient, and reflectance values.
- Feature aperture modes for eyes, mouth, and nostrils.
- Native and oversampled mesh resolutions.
- Continuous mesh and triangle-particle rendering.
- Global and local response logging with confidence and timing.
Study scope
- No diagnostic, therapeutic, or psychosis-prediction claim.
- No unsupervised strobe or physiology module in V0.
- No third-party asset import without a license and provenance note.
- No silent pooling of flat-web, WebXR, and lab-native data.
References
Current references
These links anchor the current implementation map. Some sources support scientific variables; others support asset provenance or runtime standards.
Hollow-face research
- Gregory. "Knowledge in perception and illusion." Philosophical Transactions of the Royal Society B, 1997.
- Hill and Johnston. "The hollow-face illusion: Object-specific knowledge, general assumptions or properties of the stimulus?" Perception, 2007.
- Kroliczak, Heard, Goodale, and Gregory. "Dissociation of perception and action unmasked by the hollow-face illusion." Brain Research, 2006.
- Grosjean, Rinkenauer, and Jainta. "Where Do the Eyes Really Go in the Hollow-Face Illusion?" PLOS ONE, 2012.
- Keane, Silverstein, Wang, and Papathomas. "Reduced Depth Inversion Illusions in Schizophrenia Are State-Specific and Occur for Multiple Object Types and Viewing Conditions." Journal of Abnormal Psychology, 2013.
- Farkas, Papathomas, Silverstein, Kourtev, and Papayanopoulos. "Dynamic 3-D computer graphics for designing a diagnostic tool for patients with schizophrenia." The Visual Computer, 2016.
Implementation and provenance
- Google AI Edge / MediaPipe. "canonical_face_model.obj" and "Apache-2.0 license route."
- W3C Immersive Web Working Group. "WebXR Device API." Candidate Recommendation Draft.
- MDN Web Docs. "WebXR Device API." Browser support and secure-context notes.
- Khronos Group. "glTF 2.0 Specification." Runtime-neutral 3D asset format.
- Khronos Group. "OpenXR Registry." Native XR runtime route for later lab builds.
- Michael Bach. "Rotating face mask." Teaching/demo reference, not an implementation source to copy.
- Five Illusions. "Five Illusions public project page." Current stereo-probe challenge route, not an implementation source to copy.