

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