Add ArUco fiducial tag detection to mask Convey UI in screencasts
Detect the 4 corner ArUco markers (IDs 2,4,6,7) placed in Convey's UI
and mask those regions before frame processing. This prevents the
observe pipeline from analyzing self-referential UI content.
- New observe/aruco.py module with detect_convey_region() and mask helpers
- Integrate masking into VideoProcessor.process() before RMS comparison
- Skip frames entirely when Convey covers >80% of the frame
- Comprehensive unit tests including real ArUco marker detection
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>