Progressive Web Camera Application using OpenCV WebAssembly module

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2020-08-18

Department

Major/Subject

Computer Science

Mcode

SCI3042

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

9+65

Series

Abstract

The Web platform is a low friction, linkable and universal platform where users can create powerful applications using JavaScript and expect it to run everywhere. However, most of the powerful camera applications or media capture solutions are implemented using native technologies for that platform. This thesis presents WebCamera application with computer vision capabilities performed by OpenCV library. A set of use cases include Instagram filters, Card scanning, Emotion recognition and others. The WebCamera is designed as a progressive web application to provide native-like features such as app installation, offline mode and responsive screen size. OpenCV is built by Emscripten compiler in WebAssembly module to achieve near-native speed on the web thanks to SIMD and threads optimization options. Measured performance statistics demonstrate that these optimizations allow us to reach up to 9x speedup compared to not optimized OpenCV version in a browser. WebCamera demos are showcased at Chrome Dev Summit 2019 in the talk about WebAssembly. Moreover, V8 engine's web page called "Fast, parallel applications with WebAssembly SIMD" presents WebCamera's use cases implemented in this work.

Description

Supervisor

Vuorimaa, Petri

Thesis advisor

Bhaumik, Rijubrata

Keywords

OpenCV, WebAssembly, progressive web application, computer vision, image processing, face detection

Other note

Citation