
One of my areas of research has been computer vision. Computer vision is not only a fascinating field of study, but it has a numerous beneficial applications. Vision is a rich sensing modality capable of providing detailed feedback suitable for monitoring and control, particularly useful in unstructured environments. Computer vision equips robots with the sensory feedback necessary to help automate the drudgery of repetitive tasks. It finds applications in product inspection, material sorting, and quality assurance. It has important environmental applications such as satellite remote sensing and environmental monitoring. Computer vision helps robots operate reliably in situations where it is not practical or safe for a human to be present. This includes important applications in hostile environments such as search and rescue, humanitarian de-mining, hazardous waste clean-up, and space exploration. Computer vision also lends itself to safety applications such as lane-departure warning systems and traffic monitoring. The applications for computer vision are many and varied. With steady advances in processing speeds, the field of computer vision remains an area with exciting research opportunities.

One area of my research has focused on subspace vision techniques which operate by "learning" the appearance or position of an object and therefore do not rely on having predefined models. Another area of interest to me is Support Vector Machines (SVMs) and their application to computer vision. Some of my recent research has explored the use of SVMs for classifying objects or obstacles in an image. Given a data set, an SVM attempts to identify a hyperplane which separates different classes of data. The hyperplane is then used as a classification boundary to predict which class to which a data point belongs. The SVM provides a powerful tool for pattern recognition in a variety of computer vision applications. One application which has been explored in our research is the use of SVMs to identify obstacles for mobile robots. Another area wich has been explored is the application of SVMs to the visual sorting of recyclable goods.
Some of my recent research has explored the use of FPGAs (Field Programmable Gate Arrays) for computer vision. The large amount of data and computations in computer vision applications can present a challenge for conventional microcomputers. Performing real-time image processing on a typical video signal streaming at 60Hz can be likened to "drinking from a firehose". FPGAs can exploit the parallelism found in computer vision tasks much better than conventional CPUs. Rapidly increasing FPGA chip densities and special features and development tools have simplified the task of designing for FPGAs, making them increasingly attractive for computer vision tasks. FPGAs can be readily designed with custom parallel digital circuitry tailored for performing various image processing tasks making them well-suited for high-speed real-time vision processing systems.

Another area of interest is exploring GPUs (Graphical Processing Units), whose highly parallel structure makes them effective for certain computer vision tasks. Sometimes this application of GPUs is referred to using the acronym GPGPU (General-purpose computing on graphics processing units). For example, the CUDA (Compute Unified Device Architecture) architecture is a parallel computing architecture developed by NVidia that can be programmed to executed numerous threads simultaneouly. Architectures like CUDA are atttractive for tackling highly parallel computer vision tasks that require real-time performance.
Most of my research has been done with the help of capable students. Some of selected publications are listed below (* denotes student researchers):
- Bryan W. House*, David W. Capson, Derek C. Schuurman, "Towards Real-Time Sorting of Recyclable Goods Using Support Vector Machines", Proceedings of the IEEE International Symposium on Sustainable Systems and Technology (ISSST), May 2011.
- Michael Nawrocky*, Derek C. Schuurman, and Jeff Fortuna, "Visual Sorting of Recyclable Goods Using a Support Vector Machine", Proceedings of the IEEE Canadian Conference on Electrical and Computer Engineering (CCECE), May 2010.
- Timothy Ubbens* and Derek C. Schuurman, "Vision-based Obstacle Detection Using a Support Vector Machine", Proceedings of the IEEE Canadian Conference on Electrical and Computer Engineering (CCECE) May 2009, pp. 459-462.
- Fang Zhong*, David W. Capson, Derek C. Schuurman, "Parallel Architecture for PCA Image Feature Detection Using FPGA", Proceedings of the IEEE Canadian Conference on Electrical and Computer Engineering (CCECE), May 2008, pp. 1341-1344.
- A. Smit* and D.C. Schuurman, "Robust Subspace Position Measurement Using Localized Sub-Windows", Proceedings of the Canadian Conference on Computer and Robot Vision, May 2007, pp. 282-288.
Some Interesting Links