推特2.8萬贊!比個手勢,AI就能識別出Emoji,瀏覽器上跑,已開源
圓栗子 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
一隻手勢識別AI,怎樣才算得上 (優) 秀啊?
不停地變換姿勢,都能實時輸出Emoji,大約是很秀了:
是守衛 (誤) ,是來自《星際旅行》瓦肯的舉手禮。不大常用,做起來甚至有難度。
是好運,一般會兩隻手一起比。不過,也不是人類通用的手勢。
即便這樣,AI依然機智地識別出來。並且,它是在瀏覽器上跑,也幾乎沒有延時。
AI的爸爸,名字叫Nick Bourdakos (簡稱“尼克”) ,是來自IBM的程序猿。
尼克把自己的調教成果發了推特,攬下2.8萬贊:
尼克用的是TensorFlow.js,實時識別毫無壓力。
他把算法開源了,說大家都可以試一試。
半小時就好
尼克說這個模型很簡單,就是SSD-MobileNet。
MobileNet是分類,SSD是目標檢測,搭配食用也是常規方法。
他是用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裡面。
最後,寫一句nmp start,用瀏覽器打開http://localhost:3000。
耶,這樣就可以對著屏幕隨意舞動手指了,你的AI會明白的:
當然,這隻機智的AI,才不是只能識別手指。
喝點什麼
只看你用什麼樣的數據去投喂AI了。
曾經,尼克就幫AI修煉了分辨汽水的眼力。
第一題:一瓶雪碧,一瓶Canada Dry,都是綠色。
不管調換位置、還是側過瓶身,AI都不會被迷惑。定格一看:
第二題:加大難度,兩瓶都是Mountain Dew,一瓶普通一瓶低糖。
AI依然分得清楚,毫不猶豫。
分辨手勢,分辨汽水,都不失水準。
那麼問題來了,你想讓AI識別什麼呢?
想好了就開始調教吧,代碼在這裡:
https://github.com/cloud-annotations/training/
P.S. 推特評論區,已經有小夥伴親測成功,並表示Easy。
— 完 —
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回覆“招聘”兩個字。
量子位 QbitAI · 頭條號簽約作者
վ'ᴗ' ի 追蹤AI技術和產品新動態