Presentation on computer vision programming using Ruby, HornetsEye, and libJIT
Jan Wedekind presented Computer vision using Ruby and libJIT at RubyConf IX at San Francisco, California last week. The presentation covered the use of the Ruby programming language, the HornetsEye computer vision toolkit, and the libJIT just-in-time compiler to build real-time vision applications. The presentation slides include many code examples. The presentation overview is here.
- Login or register to post comments
- Printer-friendly
Thanks for reporting this on Computervision Central :)
The Confreaks Team has released the video of my talk. You can also get the video here.
It's surprisingly hard to implement generic arrays and operations on them in C++. Also it is very difficult to integrate two C++ libraries which are using different data types to represent images and n-dimensional arrays in general. When a developer wants to modify one aspect of the system, the static typing "can force numerous rewrites in unrelated parts" [1] of the source code.
Ruby [2] has dynamic typing and open classes. However currently the Ruby virtual machine is still at least an order of magnitude slower than code generated by GNU C++.
HornetsEye offers uniform arrays (among other things) for Ruby as a trade-off. A similar project is NumPy for Python. NumPy is largely implemented in C and it generates bytecode on the fly if I understand it correctly. HornetsEye::MultiArray however is almost completely implemented in Ruby and it generates machine code on the fly (using libJIT).
[1] http://dx.doi.org/10.1109/MS.2007.140 (proprietary document)
[2] http://www.ruby-lang.org/