'人工智能實戰項目——垃圾分類(上篇)'

"

本項目由於篇幅比較長,分為上下兩篇,上篇主要是項目的一些知識性講解、機械搭建、電子連接。下篇主要是軟件的操作,設計機械學習,軟件在線控制與整體項目的調試。

項目簡介

如果有關注喵家的友友可以發現,喵家除了硬件產品比較有特色外,圖形化編程軟件功能也是非常強大,除了涵蓋Scratch官方的所有功能意外,人工智能與機器學習的功能尤為突出。喵家Learn上連載了很多關於人工智能和機器學習的教程,很多愛好者和老師也進行了學習,大部分都已經掌握了使用方法,但仍然還不知道如何結合實際做項目。應群眾要求,不僅僅講講純軟件,要儘量結合硬件,做點貼近生活的項目。

最近網上上海的垃圾分類火了一把,本文利用喵家教授的機器學習相關的知識和技術,做出通過攝像頭能自動給垃圾進行分類的裝置。

垃圾分類裝置主要分為兩部分。識別部分為攝像頭與支架裝置,攝像頭的數據傳到到電腦進行機器學習特徵提取分類。執行部分為4個可自動開合的垃圾桶裝置與主控板,主控板用當下比較火的Microbit,電腦控制Microbit從而控制舵機的開合。

垃圾分類項目視頻

項目適合人群

中小學生及廣大愛好者

項目難度

機械搭建:三顆星

電子接線:兩顆星

軟件編程:五顆星

此項目要求有一定的基礎,至少在Kittenblock裡面會在線控制Microbit以及掌握了喵家人工智能機器學習的基礎。

時間準備

上篇:

機械結構製作與搭建:30mins

電子接線:10mins

下篇:

軟件編程:40mins

材料準備

  1. Microbit主控板,USB數據線
  2. 能量魔塊十合一套裝(能量魔塊主控盒、電池盒、4xGeekservo灰舵機、樂高結構等等)
  3. 垃圾分類垃圾桶+分類卡片。
  4. 常見杜邦線4PIN以上(用於拉起垃圾蓋)
  5. USB攝像頭和攝像頭支架(用於識別種類卡片,不推薦用電腦自帶攝像頭的原因是,分離式的攝像頭錄入圖片數據,調整USB攝像頭為俯視狀態錄入會更方便些)

工具準備

  1. 熱熔膠槍(無型號要求,能用的就行,我自己用的也就是十來塊的熱熔膠槍,套件不含)
  2. 美工刀或者小電鑽(無型號要求,用於給垃圾桶開個小孔,綁杜邦線繩子,套件不含)

使用工具必須小心注意,尤其是美工刀,中小學生必須在家長或者老師的指導下進行使用。

"

本項目由於篇幅比較長,分為上下兩篇,上篇主要是項目的一些知識性講解、機械搭建、電子連接。下篇主要是軟件的操作,設計機械學習,軟件在線控制與整體項目的調試。

項目簡介

如果有關注喵家的友友可以發現,喵家除了硬件產品比較有特色外,圖形化編程軟件功能也是非常強大,除了涵蓋Scratch官方的所有功能意外,人工智能與機器學習的功能尤為突出。喵家Learn上連載了很多關於人工智能和機器學習的教程,很多愛好者和老師也進行了學習,大部分都已經掌握了使用方法,但仍然還不知道如何結合實際做項目。應群眾要求,不僅僅講講純軟件,要儘量結合硬件,做點貼近生活的項目。

最近網上上海的垃圾分類火了一把,本文利用喵家教授的機器學習相關的知識和技術,做出通過攝像頭能自動給垃圾進行分類的裝置。

垃圾分類裝置主要分為兩部分。識別部分為攝像頭與支架裝置,攝像頭的數據傳到到電腦進行機器學習特徵提取分類。執行部分為4個可自動開合的垃圾桶裝置與主控板,主控板用當下比較火的Microbit,電腦控制Microbit從而控制舵機的開合。

垃圾分類項目視頻

項目適合人群

中小學生及廣大愛好者

項目難度

機械搭建:三顆星

電子接線:兩顆星

軟件編程:五顆星

此項目要求有一定的基礎,至少在Kittenblock裡面會在線控制Microbit以及掌握了喵家人工智能機器學習的基礎。

時間準備

上篇:

機械結構製作與搭建:30mins

電子接線:10mins

下篇:

軟件編程:40mins

材料準備

  1. Microbit主控板,USB數據線
  2. 能量魔塊十合一套裝(能量魔塊主控盒、電池盒、4xGeekservo灰舵機、樂高結構等等)
  3. 垃圾分類垃圾桶+分類卡片。
  4. 常見杜邦線4PIN以上(用於拉起垃圾蓋)
  5. USB攝像頭和攝像頭支架(用於識別種類卡片,不推薦用電腦自帶攝像頭的原因是,分離式的攝像頭錄入圖片數據,調整USB攝像頭為俯視狀態錄入會更方便些)

工具準備

  1. 熱熔膠槍(無型號要求,能用的就行,我自己用的也就是十來塊的熱熔膠槍,套件不含)
  2. 美工刀或者小電鑽(無型號要求,用於給垃圾桶開個小孔,綁杜邦線繩子,套件不含)

使用工具必須小心注意,尤其是美工刀,中小學生必須在家長或者老師的指導下進行使用。

人工智能實戰項目——垃圾分類(上篇)

"

本項目由於篇幅比較長,分為上下兩篇,上篇主要是項目的一些知識性講解、機械搭建、電子連接。下篇主要是軟件的操作,設計機械學習,軟件在線控制與整體項目的調試。

項目簡介

如果有關注喵家的友友可以發現,喵家除了硬件產品比較有特色外,圖形化編程軟件功能也是非常強大,除了涵蓋Scratch官方的所有功能意外,人工智能與機器學習的功能尤為突出。喵家Learn上連載了很多關於人工智能和機器學習的教程,很多愛好者和老師也進行了學習,大部分都已經掌握了使用方法,但仍然還不知道如何結合實際做項目。應群眾要求,不僅僅講講純軟件,要儘量結合硬件,做點貼近生活的項目。

最近網上上海的垃圾分類火了一把,本文利用喵家教授的機器學習相關的知識和技術,做出通過攝像頭能自動給垃圾進行分類的裝置。

垃圾分類裝置主要分為兩部分。識別部分為攝像頭與支架裝置,攝像頭的數據傳到到電腦進行機器學習特徵提取分類。執行部分為4個可自動開合的垃圾桶裝置與主控板,主控板用當下比較火的Microbit,電腦控制Microbit從而控制舵機的開合。

垃圾分類項目視頻

項目適合人群

中小學生及廣大愛好者

項目難度

機械搭建:三顆星

電子接線:兩顆星

軟件編程:五顆星

此項目要求有一定的基礎,至少在Kittenblock裡面會在線控制Microbit以及掌握了喵家人工智能機器學習的基礎。

時間準備

上篇:

機械結構製作與搭建:30mins

電子接線:10mins

下篇:

軟件編程:40mins

材料準備

  1. Microbit主控板,USB數據線
  2. 能量魔塊十合一套裝(能量魔塊主控盒、電池盒、4xGeekservo灰舵機、樂高結構等等)
  3. 垃圾分類垃圾桶+分類卡片。
  4. 常見杜邦線4PIN以上(用於拉起垃圾蓋)
  5. USB攝像頭和攝像頭支架(用於識別種類卡片,不推薦用電腦自帶攝像頭的原因是,分離式的攝像頭錄入圖片數據,調整USB攝像頭為俯視狀態錄入會更方便些)

工具準備

  1. 熱熔膠槍(無型號要求,能用的就行,我自己用的也就是十來塊的熱熔膠槍,套件不含)
  2. 美工刀或者小電鑽(無型號要求,用於給垃圾桶開個小孔,綁杜邦線繩子,套件不含)

使用工具必須小心注意,尤其是美工刀,中小學生必須在家長或者老師的指導下進行使用。

人工智能實戰項目——垃圾分類(上篇)

人工智能實戰項目——垃圾分類(上篇)

軟件準備

  1. Kittenblock圖形化編程軟件(1.8.4h以上)
  2. Microbit串口驅動安裝(Kittenblock軟件界面小齒輪上可進行安裝)

項目原理

  1. 使用Kittenblock的機器識別通過攝像頭進行數據錄入,訓練機器模型。當識別到對應的圖片返回圖片內容的名字。再通過Scratch的控制進行邏輯判讀處理。
  2. Kittenblock可以與Microbit進行在線通訊,控制舵機的運動

簡單總結一句:機器學習處理圖片數據,進行邏輯判斷控制硬件。

學習預備

  1. 喵家Learn上有機器學習的入門帖子,可以先自行學習,只需要掌握特徵提取器的錄入與識別即可。具體帖子請參考:http://learn.kittenbot.cn/zh_CN/latest/machinelearning/09%E7%89%B9%E5%BE%81%E6%8F%90%E5%8F%96%E5%99%A8_%E8%AF%86%E5%88%AB%E7%89%A9%E4%BD%93.html
  2. 機器學習僅僅這個項目的軟件的其中部分,我們還需要學習Kittenblock如何在線控制Microbit(本項目的主控板為Microbit,所謂的在線控制指通過串口控制Microbit) 具體帖子請參考:
  3. http://learn.kittenbot.cn/zh_CN/latest/microbit/microbit_kittenblock/index.html
  4. Scratch基礎是必須的,掌握Scratch的一些基礎操作與常用積木塊的操作。這部分Scratch基礎可以網上自行找資料進行學習。

機器學習原理

引入

機器學習原理比較複雜。這裡先引入一個例子。

大家都學過二元一次方程,二元一次方程可以在平面座標系上表示。

"

本項目由於篇幅比較長,分為上下兩篇,上篇主要是項目的一些知識性講解、機械搭建、電子連接。下篇主要是軟件的操作,設計機械學習,軟件在線控制與整體項目的調試。

項目簡介

如果有關注喵家的友友可以發現,喵家除了硬件產品比較有特色外,圖形化編程軟件功能也是非常強大,除了涵蓋Scratch官方的所有功能意外,人工智能與機器學習的功能尤為突出。喵家Learn上連載了很多關於人工智能和機器學習的教程,很多愛好者和老師也進行了學習,大部分都已經掌握了使用方法,但仍然還不知道如何結合實際做項目。應群眾要求,不僅僅講講純軟件,要儘量結合硬件,做點貼近生活的項目。

最近網上上海的垃圾分類火了一把,本文利用喵家教授的機器學習相關的知識和技術,做出通過攝像頭能自動給垃圾進行分類的裝置。

垃圾分類裝置主要分為兩部分。識別部分為攝像頭與支架裝置,攝像頭的數據傳到到電腦進行機器學習特徵提取分類。執行部分為4個可自動開合的垃圾桶裝置與主控板,主控板用當下比較火的Microbit,電腦控制Microbit從而控制舵機的開合。

垃圾分類項目視頻

項目適合人群

中小學生及廣大愛好者

項目難度

機械搭建:三顆星

電子接線:兩顆星

軟件編程:五顆星

此項目要求有一定的基礎,至少在Kittenblock裡面會在線控制Microbit以及掌握了喵家人工智能機器學習的基礎。

時間準備

上篇:

機械結構製作與搭建:30mins

電子接線:10mins

下篇:

軟件編程:40mins

材料準備

  1. Microbit主控板,USB數據線
  2. 能量魔塊十合一套裝(能量魔塊主控盒、電池盒、4xGeekservo灰舵機、樂高結構等等)
  3. 垃圾分類垃圾桶+分類卡片。
  4. 常見杜邦線4PIN以上(用於拉起垃圾蓋)
  5. USB攝像頭和攝像頭支架(用於識別種類卡片,不推薦用電腦自帶攝像頭的原因是,分離式的攝像頭錄入圖片數據,調整USB攝像頭為俯視狀態錄入會更方便些)

工具準備

  1. 熱熔膠槍(無型號要求,能用的就行,我自己用的也就是十來塊的熱熔膠槍,套件不含)
  2. 美工刀或者小電鑽(無型號要求,用於給垃圾桶開個小孔,綁杜邦線繩子,套件不含)

使用工具必須小心注意,尤其是美工刀,中小學生必須在家長或者老師的指導下進行使用。

人工智能實戰項目——垃圾分類(上篇)

人工智能實戰項目——垃圾分類(上篇)

軟件準備

  1. Kittenblock圖形化編程軟件(1.8.4h以上)
  2. Microbit串口驅動安裝(Kittenblock軟件界面小齒輪上可進行安裝)

項目原理

  1. 使用Kittenblock的機器識別通過攝像頭進行數據錄入,訓練機器模型。當識別到對應的圖片返回圖片內容的名字。再通過Scratch的控制進行邏輯判讀處理。
  2. Kittenblock可以與Microbit進行在線通訊,控制舵機的運動

簡單總結一句:機器學習處理圖片數據,進行邏輯判斷控制硬件。

學習預備

  1. 喵家Learn上有機器學習的入門帖子,可以先自行學習,只需要掌握特徵提取器的錄入與識別即可。具體帖子請參考:http://learn.kittenbot.cn/zh_CN/latest/machinelearning/09%E7%89%B9%E5%BE%81%E6%8F%90%E5%8F%96%E5%99%A8_%E8%AF%86%E5%88%AB%E7%89%A9%E4%BD%93.html
  2. 機器學習僅僅這個項目的軟件的其中部分,我們還需要學習Kittenblock如何在線控制Microbit(本項目的主控板為Microbit,所謂的在線控制指通過串口控制Microbit) 具體帖子請參考:
  3. http://learn.kittenbot.cn/zh_CN/latest/microbit/microbit_kittenblock/index.html
  4. Scratch基礎是必須的,掌握Scratch的一些基礎操作與常用積木塊的操作。這部分Scratch基礎可以網上自行找資料進行學習。

機器學習原理

引入

機器學習原理比較複雜。這裡先引入一個例子。

大家都學過二元一次方程,二元一次方程可以在平面座標系上表示。

人工智能實戰項目——垃圾分類(上篇)

我們得知任意的(x,y)都能在座標上可以找到其對應的點。可以將平面的點歸為三大類:

  • 點在直線上
  • 點在直線的上方
  • 點在直線的下方

機器學習中,圖像、音頻、文字、數字這些本質還是數據,我們可以通過特定的算法和特定的數學方式將他們進行轉化成同類型的數據,從而可以對數據集進行分類學習,得到某類數據集的特徵。可以簡單理解為是“高階版本的二元一次方程”

特徵分類概念

特徵提取是計算機視覺和圖像處理中的一個概念。

它指的是使用計算機提取圖像信息,決定每個圖像的點是否屬於一個圖像特徵。特徵提取的結果是把圖像上的點分為不同的子集,這些子集往往屬於孤立的點、連續的曲線或者連續的區域。

因此可以簡單理解為,機器學習的特徵分類實際高階的數據分類。

Kittenblock在線控制原理

Microbit在Kittenblock中恢復固件(恢復一個通訊固件),Microbit上自帶USB串口芯片,電腦可以通過串口給Microbit下發通訊指令,進而可以控制Microbit的點陣屏、舵機等等各種電子器件。

機械搭建

機械搭建最主要就是將現有的垃圾桶改造成可以用舵機控制的(這也是DIY項目常用的做法,好處省成本,速度快,美觀)。思路很簡單,用舵機帶動一根杜邦線,把垃圾蓋拉起。當舵機往反方向轉動時,控制垃圾蓋關閉。

開孔

首先在垃圾蓋鑽一個小孔(你可以使用美工刀,我這裡使用了小電鑽),杜邦線恰好能穿過小孔即可。杜邦線在垃圾蓋內側需要熱熔膠。同理另外三個垃圾蓋按照相同的方法進行處理。

安裝拉線

首先將杜邦線的另外一頭剪掉,我們用剩下的那部分從垃圾蓋的內部穿出到外表面。垃圾蓋內部,用熱熔膠把杜邦線和垃圾蓋粘在一起。

用杜邦線穿過樂高搖臂零件的孔,不用打結或者打熱熔膠,多穿幾圈即可。

很有友友這裡不明白,為什麼一定要使用硬硬的杜邦線,我用普通的繩子不行嗎?起到拉起效果的時候,這兩種材料是沒有什麼區別的。但當垃圾蓋閉合的時候,因為垃圾蓋比較輕,無法依靠自身重力把蓋子合上。杜邦線本身材質比較硬。所以在舵機的帶動下,杜邦線提供一定的推力,使垃圾蓋合上。

硅膠槍粘貼舵機

舵機這裡採用是能量魔塊套件裡的舵機。這個舵機的優勢是尺寸方正,可以與樂高結構件結合。可惜是我們的垃圾桶是沒有樂高孔,我們也是藉助熱熔膠槍把舵機粘貼垃圾桶的背後側壁上。

在舵機的凹陷塗上均勻的一層熱熔膠,趁熱把舵機粘貼到垃圾桶上。注意舵機的粘貼位置儘量保持一致。這樣軟件上的控制就可以保持四個都是一致了。

安裝舵機搖臂

這個樂高搖臂也是能量魔塊套裝裡面的樂高零件,取4個出來,安裝到舵機的輸出軸上

手動模擬

我們手動模擬下舵機拉線,直接擺動樂高零件,檢查垃圾蓋是否能被正常拉起。

電子接線

主控盒與電池盒結合

能量魔塊的一個優點就是,它們既是電子模塊,又是機械機構件,所以拼裝的時候會顯得十分緊湊而美觀。

電池盒的自鎖開關記得打開,因為舵機的動力是由電池盒進行提供的。

能量魔塊的主控是Microibt,採用主流的主控板可以減少用戶的學習成本。

![](17/12.png

舵機接線

舵機的線序是由黃紅黑組成,恰好對應主控盒背後的黃紅黑插針。注意不要插錯。舵機我們這邊是接S1-S4

  • 可回收物—>S1
  • 有害垃圾—>S2
  • 幹垃圾 —>S3
  • 溼垃圾 —>S4

儘量按照我的方式進行插接,方便程序的調試。

簡單測試

機械和電子都接好了。這時候我們用usb數據線將Microbit和電腦連接。打開Kittenblock軟件

  1. 恢復固件
  2. 恢復固件後,Microbit點陣屏上是顯示流動的英文字符串。

  3. 連接串口
  4. 成功恢復固件後,點擊連接,就可以看到Microbit的板子(如果找不到Microbit板子,可能是串口驅動沒有安裝)
  1. 編寫簡單的測試程序
  2. 這裡編寫控制垃圾桶蓋開合的程序。
  • 首先先將樂高搖臂拆下來,因為需要初始化舵機的輸出軸角度。如果不把搖臂給拆下來(4個都拆下來),有可能導致在轉動的過程中,搖臂卡住了,導致舵機燒壞。


  • 程序初始化舵機停在50度(為什麼是50度,因為我測過這個角度,搖臂安裝角度最好看)

將舵機控制積木塊拖拽出來,更改舵機的角度,並更改舵機的引腳

單擊積木塊,此積木塊的指令就會立馬執行。舵機輸出軸就會轉到50度的角度

另外三個積木塊也單擊下,初始化舵機的角度。

  • 樂高搖臂重新裝回去,這樣做就可以保證每個舵機在50度時,垃圾蓋是關上的。這樣程序上控制比較簡單。
  • 程序控制垃圾桶蓋打開,這個過程中需要自己不斷的調整角度,測試出最佳數值,我這邊根據實際情況測出來90度左右效果最好。如果你的舵機安裝方式和杜邦線拉線方式與我一致的,角度應該是差不多的。

設置舵機50度四個積木塊,我們分別也點擊下,保證指令執行和實物是對應的。

  1. 以上操作沒有問題後,就把裝置留著備用,下篇結合機器學習,就能把智能垃圾桶分類裝置做出來。如果以上操作有問題,請再三檢查,一般是操作有遺漏的問題。

溫馨提示

因為本身這四個垃圾桶不是為智能垃圾桶而設計的,所以當蓋子蓋合時,它邊緣是有卡扣的,所以會導致舵機拉動垃圾蓋時很難拉動。所以這裡我在垃圾桶與蓋子配合的地方,粘了一些貼紙(隨意),這樣做可以阻止蓋子與垃圾桶完全貼合,減少舵機開蓋的力度。

總結

開展一個項目前,首先要考慮項目的難度對於自己是否合適,大概估算下項目所需的時間,否則項目很容易爛尾。

開展項目前,需要提前做一個初步的實施方案規劃,硬件的選型,硬件選型建議從使用的可行性入手。之前遇到很多用戶買了一個帶攝像頭的板子,然後就過來問怎麼和我們軟件對接上,這個是一個很典型新手硬件選型問題。

購買前首先你要對這個硬件有所瞭解,這個硬件是針對哪部分人群(如果針對開發者,如果你不是專業的人員,一般不推薦購買,上手難度很高)是用來做什麼的,它的編程方式和軟件是什麼。我們這邊必須理清一個概念,一個軟件平臺絕對不可能支持市面上的所有硬件。如果你選定了一個對於自己難度適中軟件平臺,這時候應該主動了解它支持的硬件有哪些,你的選型優先從支持的硬件列表選擇。

硬件選型簡單總結:

  • 從自身的能力,優先選自己能用起來的硬件,其次再考慮硬件的價格
  • 購買硬件前,先查查硬件是否有詳細的使用資料是否有技術支持,這個對新手入門尤其重要。
  • 硬件選項優先選擇軟件所支持的。

Next

Previous

"

相關推薦

推薦中...