推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源

圓栗子 發自 凹非寺

量子位 報道 | 公眾號 QbitAI

一隻手勢識別AI,怎樣才算得上 (優) 秀啊?

不停地變換姿勢,都能實時輸出Emoji,大約是很秀了:


推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源


是守衛 (誤) ,是來自《星際旅行》瓦肯的舉手禮。不大常用,做起來甚至有難度。

是好運,一般會兩隻手一起比。不過,也不是人類通用的手勢。

即便這樣,AI依然機智地識別出來。並且,它是在瀏覽器上跑,也幾乎沒有延時

AI的爸爸,名字叫Nick Bourdakos (簡稱“尼克”) ,是來自IBM的程序猿

尼克把自己的調教成果發了推特,攬下2.8萬贊


推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源

△ 666


尼克用的是TensorFlow.js,實時識別毫無壓力。

他把算法開源了,說大家都可以試一試。

半小時就好

尼克說這個模型很簡單,就是SSD-MobileNet

MobileNet是分類,SSD是目標檢測,搭配食用也是常規方法。


推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源


他是用IBM雲上的GPU訓練的,免費的k80,半小時就訓練好了。

在訓練開始之前,要先準備數據:AI吃的是標註過的手勢圖

準備就緒,就來安裝模型吧:

1$ npm install -g cloud-annotations

然後,可以開始訓練了:

 1$ cacli
2┌─────────────────────────────┐
3│ (C)loud (A)nnotations (CLI) │
4│ version 1.0.12 │
5└─────────────────────────────┘
6
7Usage: cacli <command>
8
9where <command> is one of:
10 init Interactively create a config.yaml file
11 train Start a training run
12 logs Monitor the logs of a training run
13 progress Monitor the progress of a training run
14 list List all training runs
15 download Download a trained model
16
17cacli <cmd> -h quick help on <cmd>

當然,也不是非要用IBM雲,也不是非要用GPU。拿CPU也能調教AI,大概要幾小時吧。

訓練完成,該在瀏覽器上跑了。GitHub項目裡,自帶了轉換為TensorFlow.js模型的腳本。

把模型添加到React App裡面。


推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源


最後,寫一句nmp start,用瀏覽器打開http://localhost:3000。

耶,這樣就可以對著屏幕隨意舞動手指了,你的AI會明白的:


推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源


當然,這隻機智的AI,才不是只能識別手指。

喝點什麼

只看你用什麼樣的數據去投喂AI了。

曾經,尼克就幫AI修煉了分辨汽水的眼力。

第一題:一瓶雪碧,一瓶Canada Dry,都是綠色。


推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源


不管調換位置、還是側過瓶身,AI都不會被迷惑。定格一看:


推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源


第二題:加大難度,兩瓶都是Mountain Dew,一瓶普通一瓶低糖。

AI依然分得清楚,毫不猶豫。


推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源


分辨手勢,分辨汽水,都不失水準。

那麼問題來了,你想讓AI識別什麼呢?

想好了就開始調教吧,代碼在這裡:

https://github.com/cloud-annotations/training/

P.S. 推特評論區,已經有小夥伴親測成功,並表示Easy。


推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源

△ 再把識別結果,顯示成Emoji就完美了

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回覆“招聘”兩個字。

量子位 QbitAI · 頭條號簽約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態

相關推薦

推薦中...