# Research-only ear segmentation

BiSeNet with ResNet18 backbone by Yakhyokhuja Valikhujaev, [yakhyo/face-parsing](https://github.com/yakhyo/face-parsing). Selected official source: [weights release](https://github.com/yakhyo/face-parsing/releases/tag/weights), published 2025-12-14. Upstream asset `resnet18.onnx` must be verified and stored locally as `bisenet-resnet18.onnx` before the validation page can run.

Source: https://github.com/yakhyo/face-parsing/releases/download/weights/resnet18.onnx

Size: 53,205,364 bytes. SHA256: `0d9bd318e46987c3bdbfacae9e2c0f461cae1c6ac6ea6d43bbe541a91727e33f` (also published in official GitHub release metadata).

Author-maintained byte-identical fallback: https://huggingface.co/yakhyo/uniface-weights/resolve/main/parsing_resnet18.onnx . Verify the same size and hash before installation; the metadata is not evidence that a download completed.

Upstream code is MIT; the license is included in `face-parsing-LICENSE.txt`. **This is not commercial clearance for trained weights.** The upstream README states the model was trained on CelebAMask-HQ. Its [dataset agreement](https://github.com/switchablenorms/CelebAMask-HQ#dataset-agreement) restricts usage to non-commercial research. This standalone page is research validation only. Public/commercial deployment remains blocked pending model/data rights review or replacement with cleared weights.

Local pinned runtime: ONNX Runtime Web 1.24.3, MIT (license in installed npm package). RGB is resized to 512×512, normalized with ImageNet mean `[.485,.456,.406]` and std `[.229,.224,.225]`, CHW input `[1,3,512,512]`. Output logits `[1,19,512,512]`; only class 7 (left ear) and class 8 (right ear) are decoded. Class 9 is earrings, never an ear. Points are approximate lower-ear regions, not piercing detection. Camera frames never leave the browser.
