I had this idea while walking home from University one day. We can detect objects, what if we could compress video files and preserve detail at the same time??

What it does

BokehLokeh uses haar cascades to detect faces, portraits and full body figures and selectively compresses the details surrounding them for up to 50-80% bandwidth savings.

How I built it

I used Python, OpenCV and Haar Cascades. Python begins a media stream with computers webcam, OpenCV detects objects of interest within that stream and creates regions surrounding them. The corresponding regions in a pixelated version of the frame are then zeroed out and the regions from the non pixelated frame are then added like a mask.

Challenges I ran into

Right now, BokehLokeh is a proof of concept. It is possible to see the potential bandwidth savings and adjust the pixelation level of the surrounding details, but it has not yet been leveraged in a security camera or video chatting software.

Accomplishments that I'm proud of

Almost getting a stream between 2 computers via sockets.

What I learned

I learned about numpy arrays, opencv, and alternative approaches to object detection besides machine learning. I increased my understanding of sockets.

What's next for BokehLokeh

Probably a re-implementation in JavaScript or C++ so it can be more easily leveraged for its use cases. Alternatively, immediate and utter abandonment.

Built With

Share this project: