Edge-based feature detector