Independent Study on Desalination – Business Opportunities and Challenges

Yes, this is not directly related to anything else I have done in my Master’s program. But solar desalination was an interest of mine even before I got to UTD. In fact, I have always dreamt of a day when I will have enough money and motivation to start a solar desalination firm to help solve the water crisis. So, when I mentioned this to Prof. Gaurav Shekhar, he was kind enough to agree to be my faculty advisor for an independent study on desalination and its business opportunities. And that is no. 5 in my countdown to graduation!

My weekly desalination meetings with Prof. Shekhar involved a whole lot of brain-storming to come up with questions to be answered, people to be approached, possible routes to be taken. In my research, I went through everything from the process of desalination, and current industry size to challenges, and breakthrough research being done in the sector. I joined the International Desalination Association and interacted with researchers on Researchgate. I tried to look for datasets to desalination with data analytics, and come up with machine learning solutions to reduce operational costs. There wasn’t enough data available on the Internet. I looked into transport and deliver,y but that was taking me in a different direction.

Image: CNBC

Finally, the ray of hope came in the form of a research paper about a fabricated membrane with breakthroughs in the use of solar energy to convert seawater to potable water. I contacted the author and will be trying to pursue this direction in the time to come. At the end, my study report was a comprehensive documentation of the process I followed, the roadblocks I faced, the data I found, and the progress I made in exploring business opportunities in desalination. This was a great exercise in research and management, and I am optimistic that it will yield results in the future.

When I clicked ‘Submit’ to turn in my report, it was the first time that the feeling sunk in – my Master’s degree was coming to an end. My meetings with Prof. Shekhar, one of the finest humans and problem-solvers I have ever met, were coming to an end. After a decade in the workforce, I had taken a break and come back to school. That break was almost over. It was the beginning of the end of an era.

ALSO SEE Keeping My Creative Side Alive with Theatre
Saying “Hello, old friend” to Statistics and Analytics
Diving Deep into Business Analytics with R Programming

This is the seventh post of my #10DaysToGraduate series where I share 10 key lessons from my Master’s degree in the form of a countdown to May 8, my graduation date.

Facial Recognition with Python, OpenCV and Raspberry Pi

Everybody Loves Recognition! Technically, the definition of recognition is – Identification of someone or something or person from previous encounters or knowledge. But how can it be used to solve real-world problems? This was the premise of a facial recognition project I built using Python and OpenCV on a Raspberry Pi. All the code for this project is available on my github page.

The Problem

Crime tourism, which is very different from ‘crime against tourists’, refers to organized gangs that enter countries on tourist visas with the sole intention to commit crime or make a quick buck. Residing in their destination countries for just a few weeks, they seek to inflict maximum damage on locals before returning to their home countries. It’s something that has been picking up all over the world but especially in Canada, US, Australia.  Here’s an excerpt from a Candian Report:

“Over the weekend, we got a notification that there were at least three people arrested,” he said. “And there were two detained yesterday in a different city. It’s just a growing problem.” When police in Australia broke up a Chilean gang in December, they thanked Canadian police for tipping them off. Three suspects who’d fled Ontario and returned to Chile turned up in Sydney, Australia. The tip from Halton Regional Police led to eight arrests and the recovery of more than $1 million worth of stolen goods.

While the tip came in handy, it would be much more effective to have portable facial-recognition devices at airports and tourist spots to identify criminals and stop them before their crime in a new destination.

The Solution

I used Crime tourism as an example problem to demonstrate the use of facial recognition as a solution. It started with buying a Raspberry Pi v3 ($35) and a 5 MP 1080 p mini Pi camera module ($9) and configuring them.

Then, using Adrian Rosebrock’s brilliant tutorial, I embarked on a 10-hour journey (full of mistakes made on my part) to compile OpenCV on my Raspberry Pi! Here are some important things to remember from this compilation expedition:

•You need to expand your file system to be able to use the entire 32 GB of Pi memory •You need to create a Python 3 virtual environment and always make sure that you’re working inside that environment
•Before you begin the compile process – Increase the SWAP space from 100 MB to 2048 MB to enable you to compile OpenCV with all four cores of the Raspberry Pi (and without the compile hanging due to memory exhausting).
•After installation of NumPy and completion of your OpenCV compilation, re-swap to 100 MB

Python Code for Facial Recognition

I then followed MjRobot’s tutorial to write three simple Python programs for the actual facial-recognition using OpenCV. The object-detection is performed using the Haar feature-based cascade classifiers, which is an effective object detection method proposed by Paul Viola and Michael Jones in their paper, “Rapid Object Detection using a Boosted Cascade of Simple Features” in 2001. It is a machine-learning based-approach where cascade function is trained from a lot of positive and negative images. These images are then used to detect objects in other images. Haar Cascades directory is readily available on the OpenCv github page.

Demonstration

I presented this project on my last day as the President of the UTD club – Travelytics. There, I conducted a live demonstration of the Pi cam capturing my face after I run the first Python program, training the model with the second program, and real-time facial recognition using the third program. Here’s a glimpse:

This project proved to be an excellent route for me to learn the basics of Python, OpenCV, computer vision, Raspberry Pi and how we can implement a low-budget, effective facial recognition solution to complex problems.