In its early development, computer vision depended on rule-based systems, where programmers manually defined how a machine should interpret visual data. For example, if a shape had certain edges or patterns, the system would classify it accordingly. While this approach worked for simple and predictable images, it struggled with real-world complexity. Variations in lighting, angles, and backgrounds made it difficult for these systems to perform reliably, showing the need for more flexible methods.