egomotion-estimation
Estimate camera motion with optical flow + affine/homography, allow multi-label per frame.
Install / Use
npx skills add benchflow-ai/skillsbench --skill egomotion-estimationInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Our assessment of egomotion-estimation
egomotion-estimation scores 75/100 on our quality scale, 2246th of 2,659 Automation skills we index.
Its SKILL.md is 2.0 KB long, split into 5 sections with 1 code example: moderately detailed.
With 1,813 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated about 2 months ago, so egomotion-estimation is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
egomotion-estimation compared with similar skills
All 4 of these similar skills score higher than egomotion-estimation; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| egomotion-estimation (this skill)by benchflow-ai | 75 | 1.8k | 2mo ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 86.4k | 15d ago | CLAUDE.md |
| rufloby ruvnet | 100 | 73.6k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 84.6k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 7d ago | SKILL.md |
Frequently asked questions
- How do I install egomotion-estimation?
- Run
npx skills add benchflow-ai/skillsbench --skill egomotion-estimation. The install tabs above show the steps for each supported agent. - Which AI agents does egomotion-estimation work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is egomotion-estimation safe to use?
- It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is egomotion-estimation still maintained?
- The repository was last updated about 2 months ago, so egomotion-estimation is actively maintained.
Skill content
View source on GitHubname: egomotion-estimation description: "Estimate camera motion with optical flow + affine/homography, allow multi-label per frame."
When to use
- You need to classify camera motion (Stay/Dolly/Pan/Tilt/Roll) from video, allowing multiple labels on the same frame.
Workflow
- Feature tracking:
goodFeaturesToTrack+calcOpticalFlowPyrLK; drop if too few points. - Robust transform:
estimateAffinePartial2D(or homography) with RANSAC to get tx, ty, rotation, scale. - Thresholding (example values)
- Translate threshold
th_trans(px/frame), rotation (rad), scale delta (ratio). - Allow multiple labels: if scale and translate are both significant, emit Dolly + Pan; rotation independent for Roll.
- Translate threshold
- Temporal smoothing: windowed mode/median to reduce flicker.
- Interval compression: merge consecutive frames with identical label sets into
start->end.
Decision sketch
labels=[]
for each frame i>0:
lbl=[]
if abs(scale-1)>th_scale: lbl.append("Dolly In" if scale>1 else "Dolly Out")
if abs(rot)>th_rot: lbl.append("Roll Right" if rot>0 else "Roll Left")
if abs(dx)>th_trans and abs(dx)>=abs(dy): lbl.append("Pan Left" if dx>0 else "Pan Right")
if abs(dy)>th_trans and abs(dy)>abs(dx): lbl.append("Tilt Up" if dy>0 else "Tilt Down")
if not lbl: lbl.append("Stay")
labels.append(lbl)
Heuristic starting points (720p, high fps; scale with resolution/fps)
- Tune thresholds based on resolution and frame rate (e.g., normalize translation by image width/height, rotation in degrees, scale as relative ratio).
- Low texture/low light: increase feature count, use larger LK windows, and relax RANSAC settings.
Self-check
- [ ] Fallback to identity transform on failure; never emit empty labels.
- [ ] Direction conventions consistent (image right shift = camera pans left).
- [ ] Multi-label allowed; no forced single label.
- [ ] Compressed intervals cover all sampled frames; keys formatted correctly.
Related Skills
Agent-Reach
86.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
73.6k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
Scrapling
84.6k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
