OpenVL is the future of developer-friendly computer vision - existing vision frameworks provide access at a very low level, such as individual algorithm names (often named after their inventor), while OpenVL provides a higher-level abstraction to hide the details of sophisticated vision techniques: developers use a task-centred API to supply a description of the problem, and OpenVL interprets the description and provides a solution.

The OpenVL computer vision abstraction will support hardware acceleration and multiple platforms (mobile, cloud, desktop, console), and therefore also allows vendor-specific implementations. We are committed to making it an open API available to everyone (and hope to make it an open standard); Continue reading...
Face Front
Face Profile
OpenVL: An Abstraction for Developer-Friendly Computer Vision
Gregor Miller and Sidney Fels
Research into computer vision techniques has far outpaced the development of interfaces (such as APIs) to support the techniques' accessibility, especially to developers who are not experts in the field. We present a new description-based interface designed to be mainstream-developer-friendly while retaining sufficient power and flexibility to solve a wide variety of computer vision problems. The interface presents vision at the task level (hiding algorithmic detail) and uses a description derived from definitions of vision problems. We show that after interpretation, the description can be used to invoke an appropriate method to provide a result. Our implementation interprets the description and invokes various vision methods with automatically derived parameters, which we demonstrate on a range of tasks.

Presented in Toronto, May 2013 at the Research Notes session of the GRAND Annual Conference.
    author = {Gregor Miller and Sidney Fels},
    title = {OpenVL: An Abstraction for Developer-Friendly Computer Vision},
    booktitle = {Proceedings of the 4th Annual GRAND NCE AGM},
    series = {GRAND'13},
    month = {May},
    year = {2013},
    publisher = {GRAND},
    address = {Vancouver, B.C., Canada},
    location = {Toronto, Ontario, Canada},
    url = {}