All Projects → emadehsan → marsjs

emadehsan / marsjs

Licence: Apache-2.0 license
Label images from Unsplash in browser - using MobileNet on Tensorflow.Js

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to marsjs

SadlyDistributed
Distributing your code(soul), in almost any language(state), among a cluster of idle browsers(voids)
Stars: ✭ 20 (-62.26%)
Mutual labels:  distributed-computing, volunteer-computing
Archived-SANSA-Query
SANSA Query Layer
Stars: ✭ 31 (-41.51%)
Mutual labels:  distributed-computing
wrench
WRENCH: Cyberinfrastructure Simulation Workbench
Stars: ✭ 25 (-52.83%)
Mutual labels:  distributed-computing
machinaris
An easy-to-use WebUI for crypto plotting and farming. Offers Plotman, MadMax, Chiadog, Bladebit, Farmr, and Forktools in a Docker container. Supports Chia, MMX, Chives, Flax, HDDCoin, and BPX among others.
Stars: ✭ 324 (+511.32%)
Mutual labels:  distributed-computing
js-gym
Reinforcement learning in JavaScript & Node.js
Stars: ✭ 50 (-5.66%)
Mutual labels:  tensorflow-js
pycondor
Build and submit workflows to HTCondor in Python
Stars: ✭ 23 (-56.6%)
Mutual labels:  distributed-computing
microcore
.NET Core framework for inter-service communication
Stars: ✭ 24 (-54.72%)
Mutual labels:  distributed-computing
image-sorter2
One-click image sorting/labelling script
Stars: ✭ 65 (+22.64%)
Mutual labels:  image-labeling
plinycompute
A system for development of high-performance, data-intensive, distributed computing, applications, tools, and libraries.
Stars: ✭ 27 (-49.06%)
Mutual labels:  distributed-computing
gordo
An API-first distributed deployment system of deep learning models using timeseries data to predict the behaviour of systems
Stars: ✭ 25 (-52.83%)
Mutual labels:  distributed-computing
ParallelUtilities.jl
Fast and easy parallel mapreduce on HPC clusters
Stars: ✭ 28 (-47.17%)
Mutual labels:  distributed-computing
ShadowClone
Unleash the power of cloud
Stars: ✭ 224 (+322.64%)
Mutual labels:  distributed-computing
dcf
Yet another distributed compute framework
Stars: ✭ 48 (-9.43%)
Mutual labels:  distributed-computing
protoactor-python
Proto Actor - Ultra fast distributed actors
Stars: ✭ 78 (+47.17%)
Mutual labels:  distributed-computing
enjoytheshow
Real-time facial expression gathering
Stars: ✭ 32 (-39.62%)
Mutual labels:  tensorflow-js
webcam-object-detection
Tensorflow.js webcam object detection in React
Stars: ✭ 24 (-54.72%)
Mutual labels:  tensorflow-js
raven-distribution-framework
Decentralized Computing Backend for Artificial Intelligence, Web3, Metaverse, and Gaming Application
Stars: ✭ 31 (-41.51%)
Mutual labels:  distributed-computing
hydra-hpp
Hydra Hot Potato Player (game)
Stars: ✭ 12 (-77.36%)
Mutual labels:  distributed-computing
high-assurance-legacy
Legacy code connected to the high-assurance implementation of the Ouroboros protocol family
Stars: ✭ 81 (+52.83%)
Mutual labels:  distributed-computing
nebula
A distributed block-based data storage and compute engine
Stars: ✭ 127 (+139.62%)
Mutual labels:  distributed-computing

Share on:

Marsjs - Using Tensorflow.js & Crowd Computing to label Unsplash photos in browser

Marsjs is the browser client for Mars@Home. Currently this extension labels image from Unsplash in browser - using MobileNet on Tensorflow.Js. It is available on Firefox addons site and Chrome web store.

Non-Developer quickstart

Install Mars@Home for Firefox Install Mars@Home for Google Chrome

Developer quickstart

Clone this project

$ git clone https://github.com/MarsAtHome/marsjs

Project Structure

In Firefox

  1. Go to about:debugging in Firefox

  2. Click Load Temporary Add-on, select any file from inside extension folder from cloned project

In Chrome

  1. Go to chrome://extensions/ in Chrome

  2. Turn ON Developer mode

  3. Click LOAD UNPACKED and select the extension folder from cloned project

Check the Current task by clicking in your browser's url bar

Model (MobileNet)

Taken straight from tfjs-converter MobileNet model is served from Google Cloud as 4MB chunks and is cacheable by browser.

The model takes 224x224 image, so Unsplash images are fetched in 224x224 size with crop=face URL parameter.

After changing files in captioner/mobilenet/, run

$ cd captioner
$ rmdir dist; # OR rm -rf dist
$ parcel build mobilenet/index.html

Parcel must be installed globally.

Copy all files except index.html from dist to extension directory. Copy the content of dist/index.html and paste it in extension/popup.html title & subtitle. Remove old code pointing to old build after pasting.

Design

On clicking the extension appears as a box of 300x600. Shows the link to current photo being processed. Once the labels assigned, shows top 3 labels with their Confidence score on the left.

Few Examples of Image Labeling

Why image labeling?

Mars@Home says it's a public volunteer computing project committed to solving real life problems. Then why the first client labels images instead of "computing climate simulations"?

With this first version, we want to find out that would people participate in a modern volunteer computing project for real life problems? Keeping that in mind, we designed it so that, with other things, it has a small fun element to it. We wanted maximum people and developers to join the movement. Because the real development is yet to happen!


BTW I have to confess that building this project was such a joy! But watching the MobileNet model assign labels to beautiful Unsplash photos was equally entertaining. So here's more


Libraries & Model used

Learn more about Mars@Home project

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].