【手勢識別】筆記本攝像頭實時手勢識別,同理可進行其它目標檢測

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

本文運行了尼克小哥的開源代碼,其中有那麼一點點坑吧。zxx讓我把這個跑一下,跑是跑成了,但他沒用上。

尼克用的是TensorFlow.js,用IBM雲上的GPU訓練的,免費的k80,半小時訓練時間,在IBM的annotations上準備數據標註手勢圖。作者寫的教程,其實真的蠻手把手的,就是細心一點就好了。當然,我跑出來沒有作者那麼炫酷,畢竟給的標籤是文字,如果要想轉換成這種emjo的貼紙,好像是要再寫代碼,將文字類型的label轉成貼紙.....

我在ubuntu16.04上跑的,展示一下結果~~

主要的步驟:

1.開始前的準備

這是尼克小哥的github:https://github.com/cloud-annotations/training

這個github裏給了兩個教程,一個是在IBM Cloud上訓練分類模型,一個是訓練目標檢測模型,大家老老實實按照教程左側的幾步一步步往下走就行了,我的這個網頁chrome自動翻譯成中文了。

無論是創建對象存儲實例還是創建機器學習實例,都要記錄服務憑證中的apikeyaccess_key_idsecret_access_keyresource_instance_idinstance_idpasswordurland username. 這些東西。可以一鍵複製下來存到txt裏,方便之後登錄要用到的時候查看。

第三步準備訓練數據的時候會要求登錄到Cloud Annotations Tool,分類模型和目標檢測模型,前兩步都是一樣的,就是準備訓練數據的區別。分類模型就是給標籤就行,目標檢測需要在線打框。以目標檢測爲例,可以上傳圖片逐一打框,也可以上傳視頻,它會自動把上傳的視頻按幀切割。我標註了數據,剪刀石頭布的各50張,一張圖片上可以打多個框。必須要提醒的是,標籤一定要用英文,因爲它不支持中文,訓練會報編碼錯誤的,給你們看,在github上找到的同款錯誤,https://github.com/cloud-annotations/training/issues/67

2.訓練並下載模型

2.1首先需要安裝Cloud Annotation CLI:

npm install -g cloud-annotations

特別要注意的是,需要安裝Node 10.13.0或更高版本

怎麼安裝呢,我給大家找個教程,按着這個安就行https://blog.51cto.com/xiaok007/2335337?source=dra

裏面安裝最新的nodejs和升級npm爲最新版本會自動帶你到比Node 10.13.0更高的版本的。不要做死走什麼,從源碼編譯安裝npm,哈哈哈哈,仰天長笑。

 

2.2安裝好了之後嘗試在終端輸入cacli命令,應該能看到:

cacli init裏面可以配置訓練名稱,epoch之類的,

cacli logs可以查看訓練日誌,如果長時間沒反應那就看看logs是不是有報錯,

cali train就可以訓練模型,選擇你之前準備數據的bucket進行訓練就好;模型開始訓練可能得稍微等一會兒,訓練好了之後會告訴你完成。失敗了的話會告訴你error。給你的model ID要記錄一下,查看logs,還有下載的時候也好知道自己要看的是哪個模型呀。

cacli progress就是監管訓練的進程,訓練到第多少步了,

cacli list可以查看之前訓練過的,額,其實你們可以在init裏面給模型重命名,不要像我一樣都是一個名字,很容易分不清楚哪個是哪個的....

2.3下載模型

cacli download 後面加模型的名字,就可以下載模型了,下載好後會告訴你Done。

比如我的是cacli download model-m3fdnbrf

並且會有三個文件夾保存到本地:

因爲我們只需要在web瀏覽器上跑,所以僅使用model_web文件夾就可以了~這裏面的東西,給你們看看:

 

3.在網頁上跑模型

參考尼克小哥的這個https://github.com/cloud-annotations/object-detection-react

3.1克隆這個github,並進入相應目錄

git clone https://github.com/cloud-annotations/object-detection-react.git
cd object-detection-react

3.2在上面的終端路徑下,輸入npm install

這步很關鍵,但也會等很久,因爲一直在下載東西,出現的warning都不需要管,只要沒有error就行。成功之後在object-detection-react文件夾下會多出一個node_modules文件夾,這個很關鍵啊。200M+呢,這個文件夾沒有,休想啓動。

3.3把2.3中下載下來的model_web文件夾複製到object-detection-react的public文件夾裏面

3.4終端輸入npm start

確保你的攝像頭正常工作,然後.....

請進入相應的網址http://localhost:3000,進行愉快的玩耍,謝謝!!!!

=========================================================================================

感覺和google的teachable machine異曲同工,之前截圖都做好了本來打算弄教程的,但是那個不知道是官方有個bug還是怎麼回事,我就擱置了,今天中午,先把IBM這個弄上來,希望你們喜歡~蹭個熱度。喜歡點個贊吧!

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章