Tanzania, known for its scenic landscapes and vibrant culture, may not be the first place that comes to mind when you think of computer vision. However, our recent visit uncovered a hidden world of tech enthusiasts, hackerspaces, and innovative projects thriving in this part of East Africa.
During our stay in a modest hotel away from the tourist and government district, we stumbled upon a district filled with small shops selling various items and individuals skillfully repairing washing machines on the sidewalk. Curiosity led us to strike up conversations with the locals, and to our surprise, we found ourselves engaged in a discussion about computer vision.
Seeking to explore the city further, we embarked on a walk away from the hotel in search of yogurt and perhaps a trendy outfit. By sheer luck, we stumbled upon a tiny robotics shop called Mecktonix. Despite its size, the shop was bursting with arduinos, robots, electronic components, servos, and an array of computer gear. In the same vicinity, we discovered another space housing a laser engraver and a 3D printer.
Mecktonix, led by the passionate Yohanna “Joe” Harembo, not only served as a retail store but also acted as a hub for automotive tech students from the nearby National Institute of Transport. The students frequented the shop seeking advice and parts for their assigned projects. Amidst the bustling shop, Joe enthusiastically demonstrated an autonomous car he was working on. However, he faced a challenge – the video frame rate was extremely slow.
Collaborating with Joe, we delved into the world of profiling using time.monotonic_ns(). It was a revelation for him as he had never undertaken profiling before. It became evident that the sluggish video frame rate stemmed from processing only one frame every 4.3 seconds using YOLO on a Pi 3.
Suggesting an alternative approach, we proposed implementing gamut detection or upgrading to a Pi 4. Gamut detection, a simple yet effective computer vision technique, involves identifying specific colors in an image. By converting each pixel to HSV and setting limits for hue and saturation, one can easily target objects of interest. This technique is particularly useful for tasks such as object tracking, line following, and even color-based robotic interactions.
Excitedly learning about gamut detection, Joe contemplated integrating this approach into his autonomous car project. For more efficiency, we shared additional speed optimization techniques such as reducing camera resolution and utilizing YUV or YIQ image formats.
In our conversations with Joe, we realized that he was not the only one embracing technology in Tanzania. Just a few blocks away, Ruta Electronics, another miniature shop, specialized in developing smart meters. They handled everything from designing cases to PCB etching within the confines of their tiny space. Downtown, a burgeoning tech startup scene and a children-oriented fab lab painted a picture of a city embracing innovation.
Our Tanzanian experience highlighted the importance of fostering connections with fellow hackers and exploring local hackerspaces during our travels. Building relationships and engaging with individuals from different cultures not only broadens our horizons but also strengthens our global community of tech enthusiasts.
Frequently Asked Questions (FAQ)
1. What is computer vision?
Computer vision is a field within artificial intelligence that focuses on enabling systems to gain information and understand images or videos in a way similar to human vision. It utilizes techniques and algorithms to extract meaningful data from visual inputs.
2. What is gamut detection?
Gamut detection is a computer vision technique that involves identifying and tracking specific colors in an image or video. By setting limits based on hue and saturation, gamut detection allows for efficient detection and recognition of objects with predetermined color characteristics.
3. How can camera resolution be optimized for computer vision tasks?
Camera resolution can be optimized for computer vision tasks by reducing the resolution to the required level. If the desired target object is relatively large on the screen, lowering the resolution can significantly reduce the data to be processed, resulting in faster algorithm execution.
4. What are YUV and YIQ image formats?
YUV and YIQ image formats are color spaces that separate the luminance (brightness) information from the color information of an image. By leveraging these formats, certain computer vision tasks can be performed more efficiently and accurately by processing the color components separately from the brightness component.