Markerless 3D pose with public models
Research engineer: experiments, training, evaluation
- 0.000
- change on the original keypoints after adding new ones
- 0.834 vs 0.733
- AP on the new keypoints: side branch against a shared head
The fine line between hallucination and prediction is not magic or a data dump. It is maths.
I engineer AI where the mathematics is explicit and the physics is enforced.
A metric that cannot see a fault will certify it. Those are the failures I build against.
Two ordinary phone cameras film a golf swing. A pose model finds points on the body and the club in each view, the two views are combined into one 3D skeleton at real-world scale, and a coaching system turns the measurements into advice. The language model in that system writes the advice; it never calculates a number.
Research engineer: experiments, training, evaluation
Research engineer: finding faults, fixing them, checking the fixes at scale
Architect: rule engine, scoring, prompts, evaluation
What others have published about this work
The pose and lifting research shipped as XView AI, a golf swing analysis app that needs no body markers and runs its whole analysis on the phone, with no cloud connection and no video leaving the device.
The 2D-to-3D pose lifting that the analysis takes its numbers from, and the CoreML deployment that keeps it all on the phone, are my work. The motion-capture case study above has the full account, including the trade-offs.
One of three winners of TAITRA’s 2025 “Go Healthy with Taiwan” competition, picked from 638 proposals from 55 countries, for a baseball motion-analysis system built on XView’s motion-analysis technology.
I wrote the technical proposal, including the biomechanics requirements and the case for adapting the golf system to baseball. Market scope and standards came from work with the business team.
The motion-analysis work was shown under the Taiwan Excellence banner at Taiwan Expo in Europe, TAITRA’s main European event, on 22–24 June 2026 at EXPO XXI Warsaw. XView is named in the official exhibitor list.
I presented the technical case on the main stage to an international audience.
hands follow the posegolf validation baselinebody pathway bit-identical
Two phone cameras, one body: points found in each view and combined into 3D, on the phone. Values here are qualitative. Drag to orbit.
Shelf recognition for more than 7,000 convenience stores. One model finds where each product sits on the shelf. A second turns each product into a vector and looks it up in a catalogue, so adding a new product means adding its vectors to the catalogue. Nothing is retrained.
Lead engineer: architecture, training, production deployment
What others have published about this work
President Information Corporation’s planogram-compliance system runs in more than 7,000 7-ELEVEN stores in Taiwan, according to its 2025 Scientific Reports paper.
I designed the detection and embedding architecture behind it: one model finds where a product is, a fine-tuned vector space says which product it is, and so a new product costs a few vectors instead of a training run.
products 14retraining runs 0off-plan facings 1
Left, the shelf a store camera sees; right, the catalogue of reference vectors. Each line is one lookup: the detector finds a product, and the nearest vector names it. The red can is named correctly, which is how the system knows it is on the wrong shelf. The two pairs of clusters that almost touch are flavour variants of one product. Drag to orbit.
My thesis on filling in missing parts of images, a step-by-step mathematical walkthrough of the transformer, and an early experiment with Kolmogorov–Arnold networks. This is where I learned the tools the two projects above depend on.
Author
rows queriescolumns keysupper triangle masked
In causal self-attention, each token can attend only to itself and earlier tokens. Denser cells mean more attention.
Each one came out of a failure in the work. They link to the case study it came from, the research note that develops it, or both.
A pose model scored better while getting worse. Its validation set held only the narrow footage it was tuned on, where the new bias happened to be right.
From “The failure the validation score missed”Note: When the test set shares the blind spotFreeze the original model's weights and its output cannot change, which a weight diff proves. A penalty term in the loss only makes a change less likely.
From “Adding keypoints without touching the old ones”Note: Adding an output without moving the old onesError that grows toward the edge of what the network can see means it cannot see far enough; a bigger model will not help. Error that stays flat across sessions but groups by camera setup comes from how points were labelled, not from scale.
From “Reading the shape of the error”Note: What one cell of a network can seeA failure that only appears on footage unlike the training data is missing from the training and validation sets, so no loss function can see it. That fix belongs at inference.
Note: Losses and failures training never showsWhen a wrong number can hurt someone, Python calculates it and the language model only explains it.
From “The core rule”Every handover lists the failures that are still open, so the next person does not rediscover them the hard way.
Samples from the same source share an effect, so a hundred thousand of them can be worth a few hundred. Put error bars on the number of sources.
Note: Effective sample sizeA gradient clip that fires on every step fixes the step length under SGD and changes almost nothing under Adam. Under Adam its real job is the rare spike.
Note: Clipping under SGD and AdamRun the evaluation on the true values before running it on a model. What remains is the pipeline's own floor, and no model can go below it.
Note: The floor of an evaluationThe same weights gave logits seven apart on two execution paths while the accuracy matched. Thresholds and calibrated probabilities read the scores.
Note: Same weights, two answersIllustration of the observed failure pattern. The curves show the relationship, not values from a logged run.
Hackathon entries and personal tools, each built to answer a specific question. Magic Shuffle also includes a deterministic fallback that works without a model or API key.
A browser workspace that a person and an AI agent operate together through WebMCP. The page exposes its live review state as 13 typed tools, nine that read and four that act (move the timeline, change what is shown, leave a note tied to a frame), so the agent works from the same view the person is looking at. A request the evidence cannot support gets a structured refusal instead of a plausible number. Biomechanics review is the reference workflow, and the analysis runs entirely in the browser.
Turns a Taiwanese factory’s photographed paperwork into carbon accounting: a product’s footprint on the EU CBAM template, where material is lost, production scheduling that follows the power grid, and anonymous comparison with similar factories. A vision-language model runs on the factory’s own hardware, so documents never leave the building.
Picks a song from how you are doing (energy, sleep, stress), the weather and what is next on your calendar, and says why it fits. Spotify confirms that every track the model names exists, and a plain-code path gives results of the same quality with no API keys.
Converts PDFs, web pages and source files into clean Markdown to feed to language models, keeping LaTeX formulas and code blocks intact and tidying everything around them. Runs in parallel, with optional OCR for scientific PDFs.
2025, Python
Reads photos of business cards into structured records and stores them in a ChromaDB vector database, so you can search the collection in plain language instead of by exact match.
A shared 3D city on a projector at a live event. Guests scan a QR code and appear as characters; the expression on each face drives that person’s character and a mood panel for the room. The emotion is read on the phone and only its label is sent over the network. Built in a day.
Research collaborations, hard applied problems in 3D vision or on-device AI, and conversations about either. I am based in Taiwan and open to relocating.