

摘要:本文以計(jì)算機(jī)視覺(jué)的人工智能項(xiàng)目實(shí)踐為例,引導(dǎo)學(xué)生通過(guò)學(xué)習(xí)思考,設(shè)計(jì)和實(shí)現(xiàn)簡(jiǎn)單的計(jì)算機(jī)視覺(jué)算法與程序,并通過(guò)“疲勞駕駛AI預(yù)警1.0”項(xiàng)目實(shí)驗(yàn)教學(xué)激發(fā)學(xué)生學(xué)習(xí)興趣,提高了學(xué)生的思維能力和創(chuàng)新能力。
關(guān)鍵詞:人工智能;計(jì)算機(jī)視覺(jué);OpenCV
計(jì)算機(jī)視覺(jué)是人工智能領(lǐng)域的重要分支之一,基于計(jì)算機(jī)視覺(jué)的初中人工智能實(shí)驗(yàn)教學(xué)是一個(gè)探索性的課題,它致力于使計(jì)算機(jī)能夠理解和解釋圖像或視頻數(shù)據(jù)。在初中人工智能教學(xué)中引入計(jì)算機(jī)視覺(jué)實(shí)驗(yàn)可以幫助學(xué)生更直觀地了解人工智能的應(yīng)用。筆者以計(jì)算機(jī)視覺(jué)的人工智能項(xiàng)目實(shí)踐為例,引導(dǎo)學(xué)生通過(guò)學(xué)習(xí)思考,設(shè)計(jì)和實(shí)現(xiàn)簡(jiǎn)單的計(jì)算機(jī)視覺(jué)算法與程序,如目標(biāo)檢測(cè)、人臉識(shí)別等,進(jìn)而提高學(xué)生的思維能力和創(chuàng)新能力。
初中人工智能教學(xué)狀況
人工智能是當(dāng)今世界科技與教育領(lǐng)域的熱點(diǎn)之一,因此,與人工智能相關(guān)的課程在各學(xué)段都有開(kāi)設(shè)。初中階段的人工智能課程注重基礎(chǔ)知識(shí)的掌握和綜合素養(yǎng)的培養(yǎng),如:一些學(xué)校將人工智能技術(shù)相關(guān)的內(nèi)容,包括一些簡(jiǎn)單的編程概念以及計(jì)算機(jī)基礎(chǔ)知識(shí)的介紹,納入到信息科技課程中作為選修課程或校園社團(tuán)中進(jìn)行教學(xué),幫助學(xué)生了解計(jì)算機(jī)技術(shù)和人工智能技術(shù)的區(qū)別與基本原理,并提高他們對(duì)人工智能技術(shù)的濃厚興趣;一些學(xué)校嘗試開(kāi)設(shè)STEM(科學(xué)、技術(shù)、工程、數(shù)學(xué))教育課程,其中會(huì)涉及一些與人工智能相關(guān)的實(shí)際應(yīng)用和項(xiàng)目。這樣的課程旨在通過(guò)動(dòng)手實(shí)踐和項(xiàng)目驅(qū)動(dòng)的方式,引導(dǎo)學(xué)生了解和應(yīng)用人工智能的基本概念和原理。盡管初中階段的人工智能教學(xué)相對(duì)有限,但隨著人工智能的迅速發(fā)展和教育改革的推動(dòng),可預(yù)見(jiàn)未來(lái)會(huì)有更多的學(xué)校開(kāi)始關(guān)注人工智能教育,并逐步增加相關(guān)課程和培養(yǎng)計(jì)劃。
計(jì)算機(jī)視覺(jué)與OpenCV
概述
計(jì)算機(jī)視覺(jué)是指使計(jì)算機(jī)對(duì)通過(guò)攝像頭或其他傳感器獲取的圖像或視頻數(shù)據(jù)進(jìn)行分析、理解和處理的技術(shù)。它涉及了模式識(shí)別、圖像處理、機(jī)器學(xué)習(xí)和人工智能等多個(gè)領(lǐng)域的交叉應(yīng)用。而OpenCV是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)庫(kù),廣泛應(yīng)用于圖像處理、模式識(shí)別等領(lǐng)域。它提供了豐富的函數(shù)和工具,可用于處理圖像和視頻流。計(jì)算機(jī)視覺(jué)的目標(biāo)是讓計(jì)算機(jī)能夠“看懂”圖像或視頻,并以類(lèi)似于人類(lèi)的方式對(duì)其進(jìn)行理解和處理,具體會(huì)涉及以下任務(wù):
物體檢測(cè)與識(shí)別:計(jì)算機(jī)可以自動(dòng)檢測(cè)圖像中的物體并確定其所屬類(lèi)別,如人臉識(shí)別、車(chē)輛識(shí)別和物品識(shí)別。
圖像分割:將圖像劃分為不同的區(qū)域或?qū)ο螅蕴崛∮杏眯畔⒒蜻M(jìn)行后續(xù)處理,如醫(yī)學(xué)影像中的病灶分割、背景去除等。
姿態(tài)估計(jì)與跟蹤:通過(guò)分析圖像或視頻,計(jì)算機(jī)可以估計(jì)物體或人體在三維空間中的姿態(tài)和運(yùn)動(dòng)情況,如人體骨骼識(shí)別和姿態(tài)識(shí)別。
目標(biāo)跟蹤:追蹤視頻序列中的特定目標(biāo),保持其在連續(xù)幀之間的一致性,如視頻監(jiān)控中的目標(biāo)跟蹤或自動(dòng)駕駛中的車(chē)輛跟蹤。
圖像生成:利用計(jì)算機(jī)視覺(jué)技術(shù)生成逼真的圖像或視頻,如虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)技術(shù)中的場(chǎng)景渲染和人物合成。
基于“疲勞駕駛AI預(yù)警1.0”項(xiàng)目實(shí)踐教學(xué)探討
1.項(xiàng)目分析
項(xiàng)目的引入是通過(guò)讓學(xué)生觀看疲勞駕駛視頻,了解疲勞駕駛的危害,從而引導(dǎo)學(xué)生思考如何借用人工智能技術(shù)幫助駕駛員防止悲劇發(fā)生。經(jīng)過(guò)教師引導(dǎo),學(xué)生上網(wǎng)查閱相關(guān)數(shù)據(jù)與學(xué)習(xí),了解此項(xiàng)目的實(shí)現(xiàn)價(jià)值和制訂項(xiàng)目的目標(biāo)。然后,學(xué)生基于項(xiàng)目目標(biāo)將任務(wù)分解,并通過(guò)互聯(lián)網(wǎng)或查看書(shū)籍尋找可能的技術(shù),最終總結(jié)出每個(gè)子任務(wù)的解決方案,如上表所示。
2.實(shí)現(xiàn)思路
(1)利用OpenCV調(diào)用計(jì)算機(jī)攝像頭識(shí)別駕駛員圖像信息
判斷駕駛員是否疲勞駕駛,可以捕捉駕駛員眼睛圖像信息進(jìn)行識(shí)別判斷。利用OpenCV可以調(diào)用計(jì)算機(jī)攝像頭,把焦點(diǎn)定位到人臉和眼睛上,數(shù)據(jù)就是攝像頭捕捉到的視頻流,并將視頻流分割成幀,然后對(duì)每一幀進(jìn)行眼睛關(guān)鍵點(diǎn)識(shí)別,最后合成視頻輸出。
(2)利用OpenCV+Dlib模塊獲取人臉重要特征信息
在通過(guò)OpenCV獲取到計(jì)算機(jī)攝像頭人臉信息后,對(duì)眼睛特征動(dòng)作進(jìn)行分解,利用Dlib模塊提供的68個(gè)關(guān)鍵點(diǎn)模型對(duì)應(yīng)人臉關(guān)鍵點(diǎn)坐標(biāo)進(jìn)行定位(如上圖)。通過(guò)對(duì)圖片仔細(xì)觀察,確定左眼坐標(biāo)是(42~47)、右眼坐標(biāo)是(36~41)。當(dāng)?shù)玫疥P(guān)鍵點(diǎn)坐標(biāo)后,教師引導(dǎo)學(xué)生通過(guò)眼睛坐標(biāo)特征來(lái)計(jì)算是否打瞌睡,并通過(guò)學(xué)習(xí),查閱資料以嘗試開(kāi)始編寫(xiě)OpenCV+Dlib的調(diào)用語(yǔ)句。
(3)引導(dǎo)學(xué)生通過(guò)眼睛特征判斷是否疲勞駕駛
首先,學(xué)生思考打瞌睡時(shí)眼睛的動(dòng)作變化——閉眼。“是否所有閉眼動(dòng)作都屬于打瞌睡呢?”教師拋出新的問(wèn)題。學(xué)生思考后得出答案:不是所有閉眼動(dòng)作都在打瞌睡,眨眼的瞬間也會(huì)閉眼,但眨眼不是打瞌睡。“那么打瞌睡時(shí)眼睛具有什么特征呢?”教師繼續(xù)發(fā)問(wèn)。學(xué)生經(jīng)研討后確定:如果閉眼且閉眼時(shí)間超2秒,可判斷為打瞌睡,就可能在疲勞駕駛。
教師總結(jié),通過(guò)眼睛兩個(gè)關(guān)鍵的條件可判斷是否疲勞駕駛:一是眼睛要閉合;二是眼睛閉合時(shí)間超2秒。
3.思考和設(shè)計(jì)算法
教師引導(dǎo)學(xué)生根據(jù)條件設(shè)計(jì)算法:計(jì)算上眼皮和下眼皮的距離,當(dāng)上眼皮和下眼皮的距離和眼睛縱橫比值(定義為Ear)小于設(shè)定的最小閾值(最小閾值接近0)時(shí),則判斷眼睛狀態(tài)是閉合。因?yàn)橛?jì)算讀取視頻其實(shí)就是將視頻分為一幀一幀地播放,這里可以理解為PPT放映,把連續(xù)閉眼的最小連續(xù)幀定義為Ratio,當(dāng)連續(xù)閉眼連續(xù)幀值Ratio大于最小連續(xù)幀(30幀,時(shí)間約2秒)時(shí),則判斷為瞌睡,不是眨眼,當(dāng)兩個(gè)條件同時(shí)滿(mǎn)足,則觸發(fā)警報(bào),此時(shí)計(jì)算機(jī)會(huì)執(zhí)行播放鈴聲指令,達(dá)到提醒駕駛員效果。
通過(guò)計(jì)算EAR和Ratio兩個(gè)關(guān)鍵數(shù)據(jù)來(lái)辨別眼睛正常張開(kāi)、眨眼還是打瞌睡,是整個(gè)項(xiàng)目的核心算法。當(dāng)然,算法不是唯一的,還有更多更好的算法,教師可鼓勵(lì)學(xué)生去研究思考。
4.項(xiàng)目實(shí)現(xiàn)與效果展示
教師引導(dǎo)學(xué)生對(duì)項(xiàng)目進(jìn)行分析、任務(wù)分解,并理清思路、制訂算法,然后開(kāi)始編寫(xiě)語(yǔ)言程序。在編寫(xiě)程序過(guò)程中如果遇到問(wèn)題,學(xué)生可以主動(dòng)尋求同學(xué)、老師、互聯(lián)網(wǎng)或相關(guān)書(shū)籍的幫助,最終完成項(xiàng)目代碼,項(xiàng)目實(shí)現(xiàn)達(dá)到預(yù)期效果。
反思及建議
通過(guò)本項(xiàng)目實(shí)踐教學(xué),讓學(xué)生了解和掌握了人工智能計(jì)算機(jī)視覺(jué)技術(shù)和原理,提高了學(xué)生的邏輯分析能力、思維能力和創(chuàng)新能力。項(xiàng)目實(shí)現(xiàn)過(guò)程所遇到的困難、所花的時(shí)間和精力、所學(xué)到的知識(shí)都將成為學(xué)生成長(zhǎng)的基石。
初中階段的人工智能教學(xué),教師可從以下方面開(kāi)展。
引入課程:學(xué)校可以將人工智能課程納入現(xiàn)有的科學(xué)或計(jì)算機(jī)課程中。這些課程應(yīng)包括介紹人工智能的基本概念、應(yīng)用領(lǐng)域、原理、算法和模型,并給予學(xué)生編寫(xiě)簡(jiǎn)單程序和解決問(wèn)題的機(jī)會(huì),使學(xué)生了解人工智能的基本原理和技術(shù)。
實(shí)踐項(xiàng)目:組織學(xué)生參與人工智能實(shí)踐項(xiàng)目,讓其親歷人工智能的開(kāi)發(fā)和應(yīng)用或者使用人工智能技術(shù)進(jìn)行數(shù)據(jù)分析和預(yù)測(cè),如圖像識(shí)別、語(yǔ)音識(shí)別等,通過(guò)實(shí)際操作和解決問(wèn)題來(lái)加深理解。
社會(huì)實(shí)踐:組織學(xué)生參觀相關(guān)企業(yè)或研究機(jī)構(gòu),讓他們近距離接觸人工智能的應(yīng)用場(chǎng)景和技術(shù)成果。同時(shí),邀請(qǐng)專(zhuān)業(yè)人士來(lái)學(xué)校舉辦講座,分享他們?cè)谌斯ぶ悄茴I(lǐng)域的經(jīng)驗(yàn)和見(jiàn)解。這將幫助學(xué)生了解人工智能領(lǐng)域的前沿動(dòng)態(tài),并激發(fā)他們的創(chuàng)新思維。
參加競(jìng)賽科技活動(dòng):鼓勵(lì)學(xué)生參加人工智能方面的競(jìng)賽活動(dòng)、學(xué)校或社區(qū)科技節(jié)活動(dòng),這樣可以激發(fā)學(xué)生的興趣,提高他們的專(zhuān)業(yè)水平和團(tuán)隊(duì)合作能力。
結(jié)語(yǔ)
人工智能綜合實(shí)踐項(xiàng)目教學(xué)有助于增強(qiáng)學(xué)生對(duì)人工智能理論知識(shí)的理解和掌握,提高學(xué)生的邏輯分析能力、思維能力和解決問(wèn)題的能力。當(dāng)然,中小學(xué)人工智能教育還面臨著許多未知的問(wèn)題、困難和挑戰(zhàn),需要不斷地探索和實(shí)踐,逐步完善中小學(xué)人工智能教育的方式方法和途徑。
參考文獻(xiàn):
[1]劉永,胡欽曉.論人工智能教育的未來(lái)發(fā)展:基于學(xué)科建設(shè)的視角[J].中國(guó)電化教育,2020(02):37-42.
[2]顧佳敏.人工智能教育在初中信息科技課程中的初步探索[J].課程教學(xué)研究,2019(09):31-34.
[3]張丹,崔光佐.中小學(xué)階段的人工智能教育研究[J].現(xiàn)代教育技術(shù),2020(01):39-44.