馮瑩倩
摘要:該文以新《課程標準》為指導,以“垃圾分類”為主題,以Python為編程語言,設計適合高中生學習的圖像識別課程案例。該案例的設計主要為了實現三個目的:(1)培養(yǎng)學生的計算思維及動手實踐能力、創(chuàng)新創(chuàng)造能力;(2)讓學生在設計制作項目的過程中強化垃圾分類的意識和行為習慣;(3)為“人工智能”課程的教學設計提供參考與幫助。
關鍵詞:圖像識別;人工智能;大數據;垃圾分類
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2020)06-0174-02
1背景
教育部《普通高中信息技術課程標準(2017年版)》將“人工智能初步”作為六個選擇性必修模塊之一,要求學生通過該模塊的學習,能夠了解人工智能的發(fā)展及概念,并體驗搭建簡單的人工智能模塊的過程,親歷設計與實現簡單智能系統(tǒng)的基本過程與方法,增強利用智能技術服務人類發(fā)展的責任感。
本文以新《課程標準》為指導方針,以Python語言為基礎,設計適合高中生學習的圖像識別課程案例,讓學生體驗垃圾分類識別技術的創(chuàng)造過程,以期為“人工智能”課程的教學設計提供參考與幫助。
2“垃圾分類”圖像識別課程案例的設計與應用
2.1活動一:獲取“濕垃圾”圖片
1)圖像數據的下載
運用baidu_image.py文件,掌握利用Python批量下載圖像的方法。這個方法可以比傳統(tǒng)的網絡上獲取圖片的方法更加快速、便捷,學生可以直觀地感受到計算機解決問題的神奇之處。我們將下載后的圖像數據以4:1的比例分成train_data(訓練集文件)和val_data(測試集文件)兩個文件夾。
2)圖像數據的清洗
使用程序批量下載圖片完畢,由于格式、像素等原因會產生一些“問題”圖像,我們需要運用remove_error_image.py文件清洗下載好的圖像,剔除“問題”圖像。
3)圖像數據的規(guī)整處理
我們還需要統(tǒng)一圖像的尺寸,比如之后的程序運行也會要求圖像的規(guī)格為224*224像素,那就要在這一環(huán)節(jié)運用flow_from_directoryO函數對圖像數據進行規(guī)整處理,將圖像統(tǒng)一為程序要求的尺寸。
關于圖像處理的代碼文件,教師會在學習資源中給出。
2.2活動二:搭建訓練模型
接下來我們運用Pvthon代碼讓計算機提取已有圖片數據的特征,完成機器學習的過程。
1)展示resnet50模型(訓練模型)學習過程
我們運用keras.preprocessing.image.ImageDataGeneratorO來創(chuàng)建訓練集圖片讀取器。按照按batch_size為單位,獲取所有的訓練數據及驗證數據。具體代碼如下:
4)訓練及保存模型
現在就可以讓基于resnet50的校園垃圾分類訓練模型學習我們給它準備好的數據集了。我們可以按照下面的操作來完成這一個環(huán)節(jié)。具體代碼如下:
2.4活動四:呈現項目
1)連接樹莓派與電腦端
將樹莓派作為采集視頻的裝置,連接樹莓派(采集端)與電腦(接收端)。
2)編寫樹莓派代碼
為了能讓樹莓派能夠正常采集信息,我們需要先寫一個簡單的代碼,命名為client.py,其中我們需要將第6行的路徑換為自己電腦的IP或hostname,代碼如下:
經歷過這一步,樹莓派攝像頭已經打開,處于信息采集狀態(tài),接下來將編寫代碼把樹莓派采集到的信息發(fā)送至電腦端,建立和電腦端的橋梁。
3)編寫電腦端代碼
首先我們需要在電腦cmd窗口中安裝“依賴”,即運行創(chuàng)建環(huán)境,代碼如下:
4)測試垃圾分類項目
完成以上操作就可以拍攝垃圾圖像進行測試了,建議大家把測試結果記錄下來,以便觀察項目的可靠性。
2.5拓展
經過本項目的制作,教師可以引導學生思考:我們能否利用項目中的代碼解決生活中其他問題呢?例如貓和狗的識別,機器貓和皮卡丘的識別,花和草的識別……課后,同學們可以選擇一個感興趣的主題,對本案例中的代碼進行改寫,創(chuàng)建一個屬于自己的圖像識別項目。