Avoid common pitfalls
Before configuring detection rules, first decide whether the job can be done at all and whether a physical fix can solve it. Then check classes, zones, pitfalls of each type, parameter tuning, combined conditions and release requirements, and finally what cannot be done yet.
First decide whether it can be done
- Vision can only judge states that can be seen.
- Whether a screw is in place can be judged; whether it is tight cannot;
- Whether a plug is inserted can be judged; how firmly it is inserted can only be checked indirectly, for example with "Length ratio";
- Force, torque and internal wire order are invisible.
- Do not require workers to make extra moves just so the AI can see better (for example, holding the part up to the camera after tightening).
- If something cannot be done, say so on the spot and offer an alternative: judge the action instead, add a marker, add a sensor, or make that step foolproof with a fixture and let the AI handle the steps before and after it.
Physical fixes first
- Fix the camera, material boxes and fixtures in place whenever possible. Once they are fixed, just draw detection zones for the staging areas and use "Hand in zone" to judge picking. You do not need to label piles of parts.
- If they really cannot be fixed, label the whole material box as one class without labeling the parts inside, and point "Hand near object" at the material box for picking.
- If the camera position or a material box moves, adjust the detection zones first. Do not rush to retrain.
Classes
- Enough is enough. Do not define classes for parts no rule uses.
- Do not split two parts that even the human eye cannot tell apart into two classes.
- State types (Exclusive state check, Object state change) require the states to be separate classes at training time.
Zones
- The inference zone must fully enclose everywhere parts may be placed, with a margin beyond the work area. Parts or hands that cross the boundary get cut off.
- Changing detection zones does not require retraining. Just save and release.
- Filling in a zone only matters for types that look at zones; see Which types look at zones. For counting, Inside container and so on, a zone has no effect even if filled in, and the platform removes it automatically when you save.
If you change the inference zone, you must retrain
If an operation was already trained and an inference zone is drawn afterwards, it cannot be released directly. Ask R&D to migrate the labels and retrain.
Most common pitfalls by type
| Type | Pitfall |
|---|---|
| Inside container | With multiple targets, by default all must go into the same container; use contact for long, thin parts |
| Objects apart | Taking one part away does not count as apart; it does not require the parts to have been connected before; with several of the same class, every pair must be apart |
| Object left zone | The part must first be seen in the zone; if it is often blocked by a hand, check 必须在区域外看到该物体 (Must be seen outside the zone first), but do not check it when the part will be taken out of the frame |
| Object present (zone selected) / Object left zone | Parts left in the zone from the previous round also count; on a moving line, or when finished products are not removed right away, check 仅认新目标 (New targets only) |
| Object absent | Also satisfied if the part was never there; to judge "taken away", use "Object left zone" |
| Object count | Counts across the whole frame; parts of the same class elsewhere are counted too |
| Object present · Exclude other classes | Only one target and no zone; for finishing steps, check 完成时会遮挡前置零件 (Covers earlier parts when done) |
| Orientation constraint | Requires a rotated-box model |
| Length ratio | Requires a reference object of fixed size; set the ratio by calibrating on the workstation, do not guess |
| Hand types | Do not use them for steps whose result is visible; distances are multiples of the palm, not pixels |
| Action count | Only supports manual screwdrivers |
| Object present (no zone) / Object in hand | Do not use them as a fallback |
| Pose action / Temporal action | Not available; do not configure them and do not promise them to anyone |
Parameter tuning
- Small parts not recognized: first draw an inference zone, then lower the confidence to 0.3, and only then consider a larger inference size.
- False passes: increase the "hold time".
- False abnormal alarms: increase the abnormal duration, or check whether the classes are easily confused.
- Pixel thresholds (distance, position tolerance, contact tolerance): tune them on site while watching the workstation view. Do not guess.
Combined conditions
- The more complex the combination, the harder it is to troubleshoot. If one single condition can express it, do not combine.
- When you see a "contradiction warning", confirm first. Do not just save and move on.
- The broader the condition you put under "None of", the more likely it is never satisfied. For example, with "None of [hand appears]", the condition fails as soon as the worker moves a hand.
- In per-piece mode, conditions that do not belong to a workpiece (hands, foreign objects) must have 按整个画面判 (Judge the whole frame) checked; selecting the anchor class as "parent container / reference object" means "this piece itself".
Release and workstation versions
- After you change rules on the platform, you must submit for review and release. They take effect only after the workstation syncs.
- To change operation parameters, edit the draft and go through review again.
- New patterns such as multi-level combinations and per-piece mode (judged by rule, sub-zones extending beyond the container box) require the workstation stable release. Older workstations that receive rules with these patterns report configuration errors or judge incorrectly.
- Before going live, always run through it on the workstation with real operations or a recording: every step must be seen to pass and every kind of error must be reported.
What cannot be done yet
| Item | Status |
|---|---|
| Judging the force of tightening or inserting | Not possible with vision |
| Telling similar actions apart, such as "tighten" vs. "loosen" | Not possible |
| Pose action, Temporal action | Not available |
| Skipping straight from step 1 to the last step (first-to-last skip) | Not reported; skips in between are reported |
| "n / N pieces done" on the per-piece mode step card | Not developed yet (check the upper-left corner of the view for now) |
