Free prototype trial on your crates this season. Request a trial
Refer a producer, get 3 months free. Refer a farm

FIELD EVIDENCE · ON-FARM FARROWING TRIAL

The rest of this site
is a render. This isn't.

Every other page shows you a concept design and film we generated. This page shows the opposite: unretouched video from a working farrowing room, with the detection models' own outputs burned into the frame by the inference scripts that produced them. The timestamps, the boxes, the labels and the numbers are what the system actually reported.

THE RECORDING

How this was recorded

We ran the sensing rig through a farrowing batch in a working room at the Texas A&M swine center, under IACUC oversight, with the center's own staff running the room around us. It recorded through the nights, on every crate it could see. The newborn, stillborn and posture work below came out of that recording. The breathing comparison at the bottom of the page is a separate, earlier recording, because it is the set that carries the manual breath counts, and its clips carry their own dates in frame.

9M+frames of depth, RGB and IR video, at 5 fps day and night
500+ hof a working farrowing room, recorded with nobody in it
1,800clip scores behind the breathing sensor choice, 18 channels × 100 clips, from the earlier recording
99.15%posture accuracy, measured on a sow the model had never seen

Two axes, two kinds of evidence

The grayscale wide frames below come from the forward-looking view along the sow's body, which is where posture and respiration live. The color close frames come from the downward view over the landing zone, which is where a newborn appears. Nothing on this page is cropped from a single camera to look like two.

Why the footage looks like this

It is 5 frames per second at 640 by 480, at night, through a barn camera, because that is the hardware a unit has to work on and the light a farrowing room actually has. We have not upscaled it, color graded it or cut around a failure. The overlays are the model's, not a designer's.

DOWNWARD AXIS · NEWBORN DETECTION

It sees the birth happen

Twelve seconds of the landing zone under a sow in labor. It opens on an empty floor with the counter in the header reading zero. One second in, a piglet arrives, the model boxes it, labels it a newborn and the counter turns over. No stockperson was in the room.

This is the event the whole alert chain hangs from. A birth that is seen can be timed, and a birth that is timed is what makes the next one being late mean something.

11:31:40 the barn wall-clock time the counter went from zero newborns to one

Real farm footage · model output

Newborn detection, unedited clip

The header strip is written by the inference script: source file, wall-clock time in the barn, and a running count of each class it is holding. Seven seconds after the birth the header moves the same animal out of the newborn count and into the piglet count.

Source
20260422_113130.avi
Clip length
12.0 s at 5 fps
First detection
11:31:40
Class returned
Newborn
Reclassified piglet
11:31:47

DOWNWARD AXIS · STILLBORN DISCRIMINATION

Telling a still piglet from a live one

Finding a piglet is the easy half. The half that matters is telling a piglet that needs help from one that is already gone, and that is a question about movement, not appearance. So the model holds a track on each piglet and watches how far it actually travels. Here are both outcomes, from the same barn and the same overlay, side by side. Watch the numbers in the header rather than the picture.

Real farm footage · model output

Piglet 9: no movement, flagged

Tracked for the full clip. The box stays red because across 86 seconds the piglet's own motion never separates from the noise of the camera, and the movement figure in the header is flagged red for the same reason.

Tracked for
86.4 s
Path length
249 px
Net displacement
25 px
Movement std
2.7 px
Detection conf.
72%

Real farm footage · model output

Piglet 1: moving, cleared

The same overlay on a live newborn in the same room. The green trail is the track the model is accumulating, and every movement figure comes out several times higher, which is what separates the two cases.

Tracked for
88.8 s
Path length
840 px
Net displacement
63 px
Movement std
13.4 px
Detection conf.
74%

Between the two clips the path length differs by about 3.4 times and the movement figure by about 5 times, on the same camera, the same night and the same model. That gap is the whole basis of the call.

Stillborn precision measured at 96% and newborn precision at 86% on held-out trial video. Newborn precision is the binding limit on the alert chain and we say so on the product page. A flag is a prompt for a stockperson to look, never a diagnosis.

FORWARD AXIS · SOW POSTURE CLASSIFICATION

Reading her posture in the dark

Crushing is a posture problem, so the forward view has one job: name what the sow is doing, all night, without a wearable and without a light on. Below is one real frame per class, straight out of the classifier, with the label and confidence it returned printed in the corner where it wrote them. Pick a posture to see its frame.

Real trial frame, forward view along the crate at night, sow standing, with the classifier's label STA and confidence 1.00 printed in the corner Real trial frame, sow sitting, classifier label SIT at 1.00 confidence Real trial frame, sow in sternal lying loaded left, classifier label SLL at 1.00 confidence Real trial frame, sow in sternal lying loaded right, classifier label SLR at 0.85 confidence Real trial frame, sow in lateral lying on her left, classifier label LLL at 1.00 confidence Real trial frame, sow in lateral lying on her right, classifier label LLR at 1.00 confidence
Classified STA at 1.00 confidence. Real trial frame from the forward view.

These frames are dark because the room was dark. We have left the exposure alone, since how the classifier copes with a real barn at three in the morning is the point of showing it.

Posture classification reached 99.15% on a sow the model had never seen. The 0.85 on one of the six frames above is shown on purpose: the classifier is not uniformly certain, and the sternal classes are where it is least certain, which is exactly where a crushing decision would be made.

The respiration pipeline's own output plot. A noisy blue signal extracted from 20 seconds of trial video, with a fitted orange sinusoid through it completing about four cycles.
The pipeline's own plot, not redrawn. Blue is the raw signal pulled off the video, orange is the fitted breathing cycle.

FORWARD AXIS · RESPIRATION

Counting her breaths from video

Nothing touches the sow. The forward view watches the rise and fall of her flank, and the pipeline pulls a periodic signal out of that motion and fits a rate to it. This is the output for one 20 second window from the trial, exactly as the script drew it.

0.189 Hz fitted breathing frequency, about 11 breaths per minute, from a single 20 s window of trial video
Method
periodic fit, no contact
Window
20 s
Cycles resolved
about 4
Signal classification
98.4%

Real farm footage · pipeline output

Four of the eighteen channels running at once, on one clip. The same twenty seconds is played in RGB and in infrared, the cyan dots are the tracked points inside each box, and the traces on the right are the motion signal each box gives up. The header is written by the script, manual count first.
Source
20241210_010600
Clip
101 frames at 5 fps
Manual count
27.0 bpm
Depth · abdomen
27.9 bpm
Depth · back
28.2 bpm

Then we checked it against a human counting breaths

A fitted curve is only worth what it agrees with. So we built every plausible way of reading respiration off this barn and scored all of them against a manual breath count. Three sensors, two trackers, both motion axes and two body regions give 18 channels. The point was to find out which one belongs in the product, and the answer was not the obvious one.

2.43 bpmmean absolute error for the winning channel, the depth sensor reading her back
1.37its ratio of RMSE to MAE, the lowest of the 18, where the rest sit between 1.8 and 3.1
18channels scored, 100 clips each, against a manual breath re-count
Respiration rate error by sensor and body region, breaths per minute. Lower is better.
Sensor · regionMAERMSE
Depth · back2.433.33
RGB · back3.719.39
RGB · abdomen4.2711.62
IR · abdomen6.6820.37
IR · back7.0221.56
Depth · abdomen9.9827.96

Real farm footage · detector output

Why the comparison above is a fair one. Two boxes, drawn once by the detector, shown on both sensors at the same instant. Nothing is redrawn per run, so a difference in the table is a difference between sensors and not between where we happened to look.
Source
20241208_022600
Streams
RGB and IR, both 848 × 480
Boxes
one YOLO detection per region
Transferred coordinates
identical

Why depth on the back won

It came first on both error measures, and it won in the way that counts for more than the average. A low ratio of RMSE to MAE means the errors it makes are small ones. The other channels are dragged by occasional large misses, and that is the failure mode that would put a false distress alert in front of a stockperson at four in the morning. It is also why the forward head on the product is a stereo depth module rather than a second color camera. We did not pick depth because it sounded better. It came first out of 18.

What makes it a fair test, and what is still open

Every channel was scored on the same detector boxes. RGB, infrared and depth all arrive at 848 by 480, so one set of YOLO boxes transfers across all three streams untouched, which means a difference between sensors is the sensor and not a difference in where we looked. Two pieces are still in flight: the Bland-Altman agreement analysis, and recounts on 13 flagged clips. The reference here is a human counter rather than a clinical instrument, so what this settles is the sensor choice.

Everything in this section comes from a separate, earlier recording than the newborn, stillborn and posture footage above, which is why the dates burned into the two clips are not the April 2026 dates seen elsewhere on this page. The earlier set is the one carrying the manual breath counts every channel was scored against, so it is the set the comparison had to run on.

WHAT THE FOOTAGE SHOWS

What this proves,
and where it goes next

Footage is persuasive, so it is worth being precise about what it establishes. Here it is.

What it proves

The perception works on real animals, in a real farrowing room, at night, on barn-grade video, without touching the sow. Births are caught when they happen. A still piglet and a moving one come out on opposite sides of a measurable gap. Posture is named through all six classes. Breathing comes off the video with no contact. None of that is a simulation and none of it is a render.

Where it goes next

This footage came off the prototype rig, which is the point: the models already hold up on barn-grade video before the sealed hardware on the other pages carries them. Next comes validation across more farms, more genetics and more rooms, so the same perception travels barn to barn. And the product is built the way it is on purpose, to put a stockperson in front of the crate at the moment it matters.

Trial conducted at the Texas A&M University swine center under IACUC oversight. Overlays, labels, timestamps, confidences and tracking figures are the inference scripts' output, unedited. Clips are transcoded for the web and otherwise unaltered: no upscaling, no color grading, no cuts. Accuracy figures quoted here are the same ones on the product page, measured on held-out trial video: 99.15% sow-posture classification on an unseen sow, 98.4% breathing-signal classification, 96% stillborn precision, 86% newborn precision.

Now put it on your crate.

You have seen what it does in our barn. The next number we want is what it does in yours. The trial is free for the 2026 farrowing season, one room, one batch, and your data stays yours.