Healthcare
Discuss prevalent matters regarding healthcare topics
22 Discussions

Open-source Implementations for Panoramic Cameras

Doug_B_Intel
Employee
1 0 2,958

Two previous, introductory blogs, Emerging Fisheye and Panoramic Cameras in Healthcare and Introduction to 360-Degree Videos and Imaging, talked about the evolution of camera technology and its potential applications in healthcare, particularly in the context of panoramic and fisheye cameras. These cameras, which capture a wider field of view, could be used in various healthcare scenarios, such as telesitting, workplace violence detection, and enforcing hand hygiene policies. We also discussed how artificial intelligence (AI) can be used to analyze the data captured by these cameras for various purposes, such as detecting intravenous (IV) line tugging or patient turning to prevent bedsores. 

Processing the vast amount of data captured by panoramic and fisheye cameras can be challenging, and the raw output may be difficult for humans to interpret; therefore, we suggested using software to extract a field of view and present it to the user in a more understandable format or using virtual reality headsets for a more intuitive and interactive experience. 

With this understanding gained from the previous blogs, the question becomes - How can this technology be incorporated into a computer program? 

This blog and three upcoming blogs go into technical details regarding open-source implementations to help accomplish this and how to do so efficiently. 

Many websites describe the mathematics behind the conversion algorithms, such as Wikipedia's Equirectangular projection page or How to map Equirectangular projection to Rectilinear projection.  These and others provide a good starting point for developers wishing to implement the entire algorithm independently.   

However, if you do not want to start from scratch, an alternative is to locate open-source projects that have already implemented the algorithm and use that as a starting point.  To that end, we wrote the technical blog Existing Open Source for 360-Degree Projection, whichidentifies three open-source implementations using C++, Python, and JavaScript, respectively.  

The blog describes minor code changes that instrument the ability to measure the efficiency of these implementations. We also share how to optimize the algorithms to decrease the amount of time required to extract a rectilinear field of view from any equirectangular projection image.   

In the blog we describe how we utilized Intel® VTune, a free tool, that reduces developer effort in finding pieces of code to focus on for optimization.   

The techniques described can be utilized on any code to optimize performance, so even if panoramic images are not of interest, the techniques and tools used may be.   As you will see, we quickly identified the first code optimization and adjusted the C++ code to make it perform twice as fast.  

Please check out the interactive blog Existing Open Source for 360-Degree Projection 

In case you missed it, the introductory blog is Introduction to 360-Degree Videos and Imaging. 

Additionally, three upcoming blogs will continue exploring how to locate inefficient code and illustrate programming techniques to make further speed improvements. 

We would like to hear from you! Let us know in the comments or discuss – which use cases in health and life sciences do you think panoramic and fisheye cameras will have the greatest impact? 

About the Intel Health and Life Sciences 

Reach out to Intel's Health and Life Sciences team at health.lifesciences@intel.com or learn more about what we do at https://www.intel.com/health.  

About the Authors  

Doug Bogia received his Ph.D. in computer science from the University of Illinois, Urbana-Champaign, and works at Intel Corporation. He enjoys photography, woodworking, programming, and optimizing solutions to run as fast as possible on a given piece of hardware. Connect with him on LinkedIn https://www.linkedin.com/in/doug-bogia-4653696/ by mentioning this blog.  

Kaeli Tully is a Healthcare Systems and Solutions Engineer at Intel® working across the ecosystem to deliver innovative solutions. She has a Bachelor of Sciences from the University of California, Davis, in Neurobiology, Physiology, and Behavior. Reach out to learn more from her here.