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