Read Me
README
This file explains the marrspace application SDK developed under funding from DRDC, and other partners.
Marrspace is a dedication to a brilliant scientist, Dr. David Marr, taken from us too soon yet despite this contributed singularly to the understanding of human vision.
Marrspace unites multiple competing / cooperating, and orthonormal algorithms in a comprehensive vision data extraction system. The contribution, inspired by the keynote speakers at CVPR 2012, is a unified framework for made up of otherwise fragmented and discordant systems that many independent inventors created.
I got the idea from another competitive algorithm programming challenge many years ago at the University of Alberta, wherein I created an " adaptive modeler" that employed all the other algorithms available in a rock-paper-scissors competition to beat the reigning champion - Iocaine Powder at the time and everyone else. The idea was simple, play other algorithms and judge how well they were doing against a random opponent, if poorly then switch to a different algorithm and consider the performance difference. If all else fails go with Nash equilibrium (random). It beat the best minds at the time and that strategy is
Another influence was Darwin, Dawkins, and other biologists and their work to explain how nature adapts. This was a significant inspiration towards how this end goal might be achieved - bottom up - without a set plan or constraints initially.
There are some algorithms that work best in current conditions - for reasons that we may or may not fully appreciate therefore altering strategy - by weighing the answers differently or winner-takes-all decision is a viable alternative in itself. That goal increases success in general with a small ( how small?) penalty for undertaking constant circumspection.
This library does not contain image processing functions, it uses them. You can use other libraries to populate an implementation based on this lbrary.
The structure of this library is intended for parallel process sequential instruction machines, it uses lightweight process threads and shared memory to pass data from one layer to the next.
The philosophy restratifies Marr's computer model as a sequential transformation of R^2 onto many R^2.5 representations and thence onto R^3 models.
The basic structure is
Filters - are applied to image bitmaps to change data
[ ]
Discriminators - discover key elements /artefacts on the image
[ ]
Associators - combine elements into geometric facets
[ ]
Amalgamators - fuse representations into proposed model elements
[ ]
Representators - merges model interpretations into representations
[ ]
Model - is a 3D model of the scene.
Marrspace provides a common math model, structure, and construction language to perform comparison and complimentary performance. Does this framework provide the ideal models, probably not. Does it provide the most efficient common represenation? Unlikely. Does it perform the fastest or the best conversions of other people's work? Undoubtedly not I'm a horrible coder. But does it represent the commonality of expression that allows others to adopt quickly? Yes and overwhelmingly that's a quantum leap over independent work.
It is bound to succeed because it is neither jealous nor proud, it assimilates and compliments the donors, and grows at every iteration. Evolution is the mechanism that created vision as an indispensable appendage. Software evolution is the mantra of marrspace.
Interested parties are welcome to share in the current development, to submit their algorithms for conversion with some help to understand your work, and comment on the overall