基于AI的私家車位阻車器_第1頁
基于AI的私家車位阻車器_第2頁
基于AI的私家車位阻車器_第3頁
基于AI的私家車位阻車器_第4頁
基于AI的私家車位阻車器_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于AI視覺的私家車位阻車器摘要當前國內(nèi)外由于人口日益增多導致汽車的使用也與日俱增,公共場所的停車面臨空前的壓力與此同時相應的人員使用也隨之增加,隨之科技的發(fā)展將AI技術(shù)應用到阻車器上可大大減少人力物力的使用。本文主要研究基于人工智能視覺技術(shù)的私家車位阻車器是一種創(chuàng)新的解決方案,能夠有效解決私家車位的管理問題,提高車輛的通行能力,同時還能保障私人財產(chǎn)的安全。相比傳統(tǒng)的管理方式,該系統(tǒng)能夠更加智能、快速地實現(xiàn)車輛的管理和安全控制,減輕工作人員的工作壓力,提高管理效率,給車主帶來更好的停車體驗。此外,基于人工智能視覺技術(shù)的停車管理系統(tǒng)還有許多其他的應用場景,例如在城市道路上的停車管理、商業(yè)中心、公共停車場等,都可以采用該系統(tǒng)進行車輛管理和安全控制,提高管理效率和安全性,為車主提供更好的停車服務體驗。關(guān)鍵詞:傳感器;單片機;藍牙目錄TOC\o"1-3"\h\u第一章緒論-1-第一章緒論1.1研究目的及意義智能化技術(shù)已經(jīng)廣泛應用于各個領(lǐng)域,包括服務行業(yè)。人們對于服務的需求越來越高,也要求服務行業(yè)采用更加高效、智能化的管理系統(tǒng)。在私家車停車場這個領(lǐng)域,智能化管理系統(tǒng)的應用可以大大提高停車場的管理效率和車輛通行能力,減少人為管理的成本和錯誤率,為車主提供更加便捷、高效、安全的停車服務。通過引入人工智能視覺技術(shù),例如車牌識別等,可以實現(xiàn)對車輛的自動識別和控制,不僅提高了管理效率,也為停車場管理帶來更高的精度和準確性。因此,推進私家車停車場的智能化管理系統(tǒng),是服務行業(yè)智能化發(fā)展的一個重要方向。1.2國內(nèi)外研究現(xiàn)狀是的,近年來AI視覺技術(shù)在國內(nèi)外都取得了很大的進步,尤其是在智能停車場管理、車牌識別等領(lǐng)域應用越來越廣泛。AI視覺技術(shù)通過對圖像、視頻的識別、分析和處理,實現(xiàn)對物體、場景、人臉等的自動識別、跟蹤、分類等功能,具有很強的智能化和自動化能力。在智能停車場管理中,AI視覺技術(shù)可以通過識別車牌號碼、車輛類型、入場時間等信息,實現(xiàn)車輛自動進出、停車位管理、停車費用計費等功能,大大提高了停車場的管理效率和用戶體驗。國內(nèi)的AI視覺技術(shù)發(fā)展也在逐步跟進國外先進技術(shù),尤其在5G、云計算、大數(shù)據(jù)等方面的應用,為AI視覺技術(shù)的發(fā)展提供了更強大的支撐。未來隨著技術(shù)的不斷創(chuàng)新和應用場景的不斷拓展,AI視覺技術(shù)有望在更多領(lǐng)域展現(xiàn)其強大的應用價值REF_Ref10752\r\h[2]。2020年,MooreAlison在《Howtobuy:carparking:Removethebarrierstoyourperfectvehicle》文章中講到美國通過AI視覺標志AI視覺技術(shù)在停車場管理領(lǐng)域的應用是當前的研究熱點之一,不僅可以提高停車場的管理效率,還可以提高停車場的安全性和用戶體驗?;贏I視覺的私家車位阻車器系統(tǒng)可以根據(jù)車輛識別卡或車牌號碼,自動識別車輛的身份信息,并且根據(jù)預設的規(guī)則,自動控制車位的開關(guān),從而實現(xiàn)私家車位的攔阻功能REF_Ref10654\r\h[1]。該系統(tǒng)可以實現(xiàn)自動化的車位管理,減少人工干預,提高停車場的管理效率,降低管理成本,提高用戶滿意度。同時,該系統(tǒng)還可以通過記錄車輛的停車時間和停車位號,提供車位使用情況的統(tǒng)計和查詢功能,幫助停車場管理者更好地管理停車場資源REF_Ref10841\r\h[3]。1.3主要研究內(nèi)容這套基于AI視覺的私家車位阻車器系統(tǒng)設計聽起來很有趣。通過使用單片機作為基本開發(fā)語言,它可以設計出一個專門用于管理私家車位阻車的軟件,同時使用數(shù)據(jù)庫作為后臺存儲車輛信息,通過客戶服務器網(wǎng)絡模式結(jié)構(gòu)來管理車輛進出停車場REF_Ref10916\r\h[4]。通過及時獲取車輛的運行信息和車牌號碼,系統(tǒng)可以自動管理車輛進出停車場,并根據(jù)車輛識別號碼數(shù)據(jù)庫導出系統(tǒng)自動發(fā)現(xiàn)車輛信息,實現(xiàn)自動阻車、車輛通行及完整的車輛安全系統(tǒng)報警。這套系統(tǒng)的應用可以提高私家車位的管理效率和安全性。第二章系統(tǒng)的總體結(jié)構(gòu)2.1設計方案這套系統(tǒng)的基本原理是通過AI視覺技術(shù)實現(xiàn)對車輛的識別和管理,主要包括以下幾個方面:車輛識別:系統(tǒng)使用攝像頭捕捉車輛圖像,通過AI視覺算法進行車牌識別或車輛識別號碼識別,確定車輛的身份。車輛管理:系統(tǒng)根據(jù)車輛的身份信息,判斷其是否有權(quán)限進入停車場,如果有權(quán)限,則自動抬起道閘,允許車輛進入;如果沒有權(quán)限,則自動阻止車輛通行,并報警提示。數(shù)據(jù)庫管理:系統(tǒng)采用數(shù)據(jù)庫作為后臺,將識別到的車輛信息存儲到數(shù)據(jù)庫中,便于日后查詢和管理。安全報警:系統(tǒng)可以通過聲音、光線、圖像等多種方式進行報警,確保停車場的安全性和穩(wěn)定性。這套系統(tǒng)的優(yōu)點是自動化程度高,可以大大減少人工管理和操作成本,提高停車場管理的效率和準確性。同時,通過AI技術(shù)的應用,可以提高識別的準確性和速度,實現(xiàn)更智能、更高效的車輛管理。2.2功能需求分析2.2.1技術(shù)路線(1)硬件部分需要單片機、傳感器、舵機、藍牙遠程APP模塊;

(2)畫原理圖用AD;

(3)用戶信息顯示查看;

2.2.2預期結(jié)果通過對系統(tǒng)的布設和完善,最終完成的基于基于AI視覺的私家車位阻車器預期有如下成果:上位機:1.發(fā)送下位機記錄車輛指令;2.發(fā)送下位機指令使下位機進入阻車模式;3.對下位機阻車器進行手機端控制;4.接收下位機參數(shù),并顯示;5.設定閾值;下位機:1.接收上位機命令,記錄允許駛?cè)氲乃郊臆嚕?.接收上位機命令,開啟阻車模式,檢測車輛駛出,自動開啟阻車器;3.阻車模式:(1)識別駛?cè)胲囕v與記錄的車輛信息進行對比確認是否是已錄入的車輛;(2)若不是已錄入的車輛,聲光警告,提醒車輛駛離;(3)若是已錄入的車輛,自動關(guān)閉阻車器,允許車輛駛?cè)?;?)在自家車輛駛?cè)脒^程中,檢測后方距離,若過小,進行蜂鳴器提示用戶,并發(fā)送上位機警告信息;4.手動模式:接收上位機命令,開啟/關(guān)閉阻車器;2.3總體方案設計理論知識準備階段:在這個階段,需要深入了解課題所涉及到的概念、理論、技術(shù)等方面的知識,以便在后續(xù)的設計和實現(xiàn)中得到應用。確定系統(tǒng)各個模塊:在這個階段,需要確定系統(tǒng)的各個功能模塊,并理清各個模塊之間的關(guān)系。這有助于確定系統(tǒng)的整體架構(gòu)和設計方案。規(guī)劃課題:在這個階段,需要根據(jù)系統(tǒng)的各個模塊和功能需求,確定系統(tǒng)組成結(jié)構(gòu)和大體框架,并提出原理框圖。這有助于對系統(tǒng)設計的整體把握和規(guī)劃。完成硬件電路設計:在這個階段,需要使用軟件工具完成系統(tǒng)的硬件電路設計,并繪制出各部分電路圖。這有助于在后續(xù)實現(xiàn)過程中,對電路連接和元器件的選型等問題進行規(guī)劃。完成軟件設計:在這個階段,需要根據(jù)系統(tǒng)的控制過程,設計軟件程序,繪制出主流程圖,以便在后續(xù)實現(xiàn)過程中,對程序代碼的編寫和調(diào)試提供指導。模擬仿真:在這個階段,需要利用軟件仿真工具,對系統(tǒng)的各個功能進行模擬仿真,以檢查系統(tǒng)是否能夠按照要求實現(xiàn)控制功能。這有助于在實際實現(xiàn)過程中,避免由于軟硬件不兼容或其他因素引起的問題。整理論文:在這個階段,需要整理出一份完整的論文,將設計和實現(xiàn)過程中所涉及到的方方面面進行詳細的闡述和解釋,以便讓讀者了解到整個課題的研究過程和研究成果。2.4單片機型號選擇KendryteK210是一種集成了機器視覺和機器聽覺能力的SoC芯片,采用了臺積電(TSMC)超低功耗的28納米先進制程技術(shù),擁有雙核64位處理器,具備較好的功耗性能、穩(wěn)定性和可靠性。該芯片力求零門檻開發(fā),可在最短時效部署于用戶的產(chǎn)品中,為產(chǎn)品賦予人工智能。K210定位于AI和IoT市場的SoC,同時也是一種非常方便的MCU。Kendryte中文含義為勘智,取自勘物探智。該芯片主要應用領(lǐng)域為物聯(lián)網(wǎng)領(lǐng)域,在物聯(lián)網(wǎng)領(lǐng)域進行開發(fā),因此為勘物;該芯片主要提供的是人工智能解決方案,在人工智能領(lǐng)域探索,因此為探智。K210具備機器視覺能力和機器聽覺能力,具有更好的低功耗視覺處理速度和準確率。此外,K210還具備卷積人工神經(jīng)網(wǎng)絡硬件加速器KPU,可高性能進行卷積人工神經(jīng)網(wǎng)絡運算。它采用TSMC28納米先進制程技術(shù),溫度范圍為-40°C到125°C,穩(wěn)定可靠。K210支持固件加密,并具有獨特的可編程IO陣列,使產(chǎn)品設計更加靈活。K210采用低電壓設計,在相同處理能力的系統(tǒng)中具有更低的功耗。它支持3.3V/1.8V雙電壓,無需電平轉(zhuǎn)換,節(jié)約成本。圖2-1單片機最小系統(tǒng)原理圖第三章系統(tǒng)的硬件部分設計3.1系統(tǒng)總體設計該系統(tǒng)利用AI視覺技術(shù)實現(xiàn)對車輛的自動管理,解決了人工阻車管理的弊端,提高了停車場的管理效率和安全性。系統(tǒng)通過攝像頭獲取車輛運行信息和車牌號,經(jīng)過圖像處理和車牌識別技術(shù)識別出車輛身份或車輛識別號碼,并自動進行阻車或通行管理。同時,系統(tǒng)將車輛信息存儲在數(shù)據(jù)庫中,方便后續(xù)管理和查詢。系統(tǒng)還具備完整的車輛安全系統(tǒng)報警功能,確保停車場的安全和穩(wěn)定運行。該系統(tǒng)采用單片機作為基本開發(fā)語言,具有開發(fā)成本低、易于維護和升級等優(yōu)點,具有廣泛的應用前景。圖3-1主系統(tǒng)原理圖3.2系統(tǒng)的主要功能模塊設計3.2.12.4寸LCD顯示屏模塊設計2.4寸LCD顯示屏是一種小尺寸液晶顯示屏,通常用于移動設備、嵌入式系統(tǒng)和便攜式電子產(chǎn)品等領(lǐng)域。它的尺寸為2.4英寸,即對角線長度約為6.1厘米。這種顯示屏可以通過液晶顯示技術(shù)來呈現(xiàn)圖像和文本內(nèi)容。2.4寸LCD顯示屏通常具有240x320像素的分辨率,這意味著它可以呈現(xiàn)240行、320列的像素矩陣,總共76800個像素點。這樣的分辨率雖然不是非常高,但對于小尺寸的顯示屏來說已經(jīng)足夠。同時,由于顯示屏尺寸較小,像素密度相對較高,可以呈現(xiàn)清晰、銳利的圖像和文本。2.4寸LCD顯示屏通常采用TFT技術(shù),即薄膜晶體管技術(shù),這是一種高質(zhì)量的液晶顯示技術(shù)。TFT技術(shù)可以使液晶分子的旋轉(zhuǎn)速度更快、更穩(wěn)定,從而可以實現(xiàn)更快的刷新率和更高的對比度。此外,TFT技術(shù)還可以通過后期加工使顯示屏更加均勻、穩(wěn)定。2.4寸LCD顯示屏通常具有LED背光,這可以使顯示屏呈現(xiàn)更加鮮明、亮麗的顏色,并且能夠在低光環(huán)境下提供良好的可視性。LED背光還具有低功耗、長壽命的優(yōu)點,這對于移動設備和便攜式電子產(chǎn)品來說尤為重要。2.4寸LCD顯示屏通常具有廣視角特性,即可以在不同角度下提供相同的色彩和亮度。這意味著即使從側(cè)面或上下角度觀看顯示屏,圖像和文本仍然可以清晰可見。這對于移動設備和便攜式電子產(chǎn)品來說非常重要,因為用戶通常需要在不同的角度下使用這些設備。2.4寸LCD顯示屏還具有快速響應時間的優(yōu)點,通常在10毫秒以下,這可以使動態(tài)圖像和視頻更加流暢。同時,2.4寸LCD顯示屏還可以支持觸摸屏功能,這使得用戶可以通過觸摸屏幕來與設備進行交互,從而實現(xiàn)更加自然和直觀的操作。圖3-22.4寸LCD顯示屏模塊原理圖3.2.2藍牙模組模塊設計藍牙模塊是一種用于在不同設備之間建立無線通信的技術(shù)。它可以實現(xiàn)不同設備之間的數(shù)據(jù)傳輸、音頻傳輸和控制等功能。在現(xiàn)代的智能設備中,藍牙模塊已經(jīng)成為一種基本的通信方式,如手機、平板電腦、音響、智能手表等,都集成了藍牙模塊,可以與其他設備進行無線通信。藍牙模塊一般由無線電芯片和相應的軟件組成。在硬件方面,藍牙模塊通常采用集成了藍牙協(xié)議棧的單芯片解決方案,如CSR、TI、Nordic、ST等。這些芯片都支持標準的藍牙4.0或以上版本,具有低功耗、高速傳輸、可靠性高等特點。在軟件方面,藍牙模塊通常提供了標準的AT指令集或者API接口,可以方便地與其他設備進行通信和控制。藍牙模塊具有以下優(yōu)點:低功耗:藍牙模塊的低功耗設計,可以使設備長時間工作,不需要頻繁更換電池,同時還能夠滿足對電池壽命的要求。高速傳輸:藍牙模塊采用了先進的傳輸技術(shù),能夠在短時間內(nèi)傳輸大量數(shù)據(jù),保證數(shù)據(jù)傳輸?shù)男屎蜏蚀_性。安全性高:藍牙模塊支持強大的加密和認證技術(shù),確保通信過程的安全性,防止數(shù)據(jù)泄露和攻擊。易于集成:藍牙模塊的硬件和軟件設計都十分成熟,可以方便地集成到各種設備中,提高設備的通信能力和互聯(lián)性。適應性強:藍牙模塊支持不同的設備類型和不同的應用場景,可以滿足多樣化的需求,例如智能家居、健康監(jiān)測、車聯(lián)網(wǎng)等。總之,藍牙模塊作為一種成熟的無線通信技術(shù),已經(jīng)廣泛應用于各種智能設備中,成為實現(xiàn)設備互聯(lián)和數(shù)據(jù)傳輸?shù)闹匾侄?。未來,隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,藍牙模塊的應用前景將更加廣闊。圖3-3藍牙模組原理圖3.2.3舵機模塊設計舵機是一種常見的電子元件,用于控制物體在特定角度位置上的運動。其主要構(gòu)成部分包括外殼、板、驅(qū)動馬達、減速器和位置檢測元件。當接收到控制信號后,電路板上的IC會驅(qū)動馬達旋轉(zhuǎn),通過減速器將動力傳至擺臂,位置檢測元件可以檢測轉(zhuǎn)動的角度。舵機中的馬達采用空心杯馬達設計,以減小重量和功耗,同時可以根據(jù)不同需求進行防水和防塵設計,并選擇塑膠或金屬齒輪以適應不同負載。如圖3-4舵機原理圖。圖3-4舵機原理圖第四章系統(tǒng)的軟件設計4.1軟件的主要流程首先進行系統(tǒng)初始化,系統(tǒng)初始化完成后,單片機進行設定的程序采集,傳感器開始進行數(shù)據(jù)的采集,采集的數(shù)據(jù)會在我們的顯示屏上進行顯示。采集的數(shù)據(jù)達到設定程序要求時,舵機會進行轉(zhuǎn)動。與上位機之間可以通過藍牙進行通信。圖4-1主系統(tǒng)流程圖4.2LCD顯示屏軟件設計首先進行系統(tǒng)初始化,系統(tǒng)初始化完成后,單片機進行設定的程序采集,傳感器開始進行數(shù)據(jù)的采集,采集的數(shù)據(jù)會在我們的顯示屏上進行顯示。圖4-2LCD顯示屏軟件設計4.3藍牙模塊軟件設計首先進行系統(tǒng)初始化,系統(tǒng)初始化完成后,單片機進行設定的程序采集,傳感器開始進行數(shù)據(jù)的采集,采集的數(shù)據(jù)會在我們的顯示屏上進行顯示。采集的數(shù)據(jù)達到設定程序要求時,舵機會進行轉(zhuǎn)動。與上位機之間可以通過藍牙進行通信。圖4-3藍牙模塊軟件設計4.4舵機模塊軟件設計首先進行系統(tǒng)初始化,系統(tǒng)初始化完成后,單片機進行設定的程序采集,傳感器開始進行數(shù)據(jù)的采集,采集的數(shù)據(jù)會在我們的顯示屏上進行顯示。采集的數(shù)據(jù)達到設定程序要求時,舵機會進行轉(zhuǎn)動。圖4-4舵機模塊軟件設計第五章系統(tǒng)測試5.1系統(tǒng)實物圖圖5-1系統(tǒng)實物圖實物分為合金板,藍牙模塊,180°舵機,顯示器導線若干,攝像頭,屏幕以及按鍵。其中按鍵功能分為學習按鍵,復位按鍵以及系統(tǒng)按鍵。開始時先識別環(huán)境以及需要錄入的合法車不同角度的前臉及車位各十張,識別完后需要錄入周邊環(huán)境不同角度五張。錄入完后開啟系統(tǒng)按鍵,開啟時是自動模式可以監(jiān)測車輛距離并且車輛距離警報已經(jīng)非法車輛警報開啟。若出現(xiàn)合法車輛舵機放下,若出現(xiàn)非法車輛舵機不開啟并且蜂鳴機長響,若車輛距離過近則觸發(fā)距離警報5.2測試步驟圖圖5-2模擬步驟圖圖中為車輛的前后臉識別,分別各拍十組照片之后在對周圍環(huán)境進行拍照識別讓識別裝置充分識別圖片信息。開啟識別按鈕后會自動識別自己車輛和違法車輛,若是合法車輛則閘機開啟,非法車輛閘機關(guān)閉并且發(fā)出警報圖5-3測試步驟圖此項為開啟藍牙裝置首先給設備供電,供電以后設備開始進行啟動,根據(jù)設備上的按鍵,要先進行對車輛的學習,完成以后可以進行檢測,當檢測識別到私家車輛以后,舵機將會進行轉(zhuǎn)動,阻車器就會進行落下,檢測到非法車輛的時候,也就是不是私家車的時候,阻車器并不會落下,同時傳感器也會進行測距報警。上位機也可以進行一個顯示,閾值的設定等。第六章總結(jié)與展望本文把AI視覺技術(shù),藍牙技術(shù),視頻監(jiān)控技術(shù)及軟件技術(shù)等有機的結(jié)合在一起,形成了一套完善的控制系統(tǒng),成功的把AI視覺技術(shù)推廣并且在今后的社會應用中保持主導地位。本文取得的重大成果有:1.進行了深度的研究和調(diào)查。通過對學習資料的學習和貫通,對AI視覺技術(shù)中考慮的幾個問題有了更為明確的認知,對人工智能技術(shù)的控制系統(tǒng)有了更為全面,深刻的認識。2.對AI私家車位阻車器進行了考察,對AI智能監(jiān)控設施有了更好的認知,為今后的阻車系統(tǒng)打下了更為堅實的基礎(chǔ)3.按照生產(chǎn)過程具體需要,編制了可編程控制的報警系統(tǒng)。車輛監(jiān)控系統(tǒng)需要單獨的設備,單獨的工藝步驟,和全流程的操作自動化。4.在此基礎(chǔ)上,提出了一種基于AI視覺的控制系統(tǒng),通過拍照識別,對車輛進行更好的管理。流程圖,實現(xiàn)了流程的控制;其他都由顯示器進行實時監(jiān)控。在設計基于AI視覺的私家車位阻車器系統(tǒng)時,已經(jīng)做了許多工作,并獲得了一定的成功但是在系統(tǒng)中還存在著一些不足和進一步完善的地方,下一項工作可從以下幾個方面入手1.在機器故障時,主計算機仍能工作確保業(yè)主能繼續(xù)使用阻車器2.現(xiàn)場的多種場景變換,對AI識別的影響較大,必須能使系統(tǒng)的抗干擾性進一步完善。參考文獻馮凌穎.基于車牌識別的園區(qū)道閘車輛管理系統(tǒng)軟件設計[P].浙江大學2021.董海濤;肖銘辰;伍興;林義忠.基于低分辨率傳感器的高性能道閘控制算法研究[C].微電機.2021.王寒益.基于ZigBee技術(shù)的智能停車場管理系統(tǒng)研究[C].集美大學.2022.孫昕怡.AI視覺檢測項目范圍管理的研究[M].北京郵電大學,2020.喬旭;趙偉;張煒;趙建.面向交通行業(yè)的AI視覺應用研究[P].江蘇科技信息,2021.劉爽.智能車輛出入控制系統(tǒng)研究[M].東北石油大學,2021.張春光.公交停車場智能場站的設計[P].吉林大學,2019.潘志友;葉芃;薛春雷.基于人臉識別技術(shù)的道閘控制系統(tǒng)研究[M].自動化技術(shù)與應用.2020,.王成軍;嚴晨.機器視覺技術(shù)在分揀系統(tǒng)中的應用研究綜述[J].制造技術(shù)與機床.2019劉建斌.基于RFID技術(shù)的嵌入式停車場系統(tǒng)的設計與實現(xiàn)[M]. 湘潭大學.2019.MooreAlison.Howtobuy:carparking:Removethebarrierstoyourperfectvehicle..[M].2021TomRye;StephenIson.OvercomingbarrierstotheimplementationofcarparkingchargesatUKworkplaces.2019. JosephWLstiburek.WhereDoVaporBarriersGoinParkingGarages?.2021Anonymous.Networks:MeruNetworks'RFBarrier',pioneeringfirstinsecuringwirelessperimeter;IntroducesNewApproachtoDefendingEnterprisesAgainst'ParkingLotAttacks'[P].2021WeiSHEN;JiaoLI.DesignandImplementationofParkingMonitoringSystemofBikeSharingIntheElectronicBarrier.2020劉志勇.基于UML的酒店視覺AI解決方案軟件建模[J].現(xiàn)代計算機,2022,28(22):99-102+108.陳元威,王雁平,黃瓊桃,陳澤娜,黃龍子.基于AI的機械視覺控制系統(tǒng)設計[J].儀表技術(shù),2022(06):37-38+57.DOI:10.19432/ki.issn1006-2394.2022.06.009.楊李奇,李昱龍,駱陽,代函可,章紅.基于AI視覺的交通標志識別與車輛控制[J].電子技術(shù)與軟件工程,2022(20):157-161.顧方,胡良勇,黃堅,劉鵬.基于機器視覺AI智能識別的計量器具信息檢索系統(tǒng)研究與應用[J].中國計量,2022(10):47-48.DOI:10.16569/11-3720/t.2022.10.009.智能視覺應用快車道端邊云協(xié)同的AI視覺產(chǎn)業(yè)研究報告[C]//.艾瑞咨詢系列研究報告(2022年第9期).[出版者不詳],2022:48-89.高赟,王津,吳昊,楊旭濤.基于AIStudio平臺的《數(shù)字圖像與計算機視覺》課程改革[J].電子元器件與信息技術(shù),2022,6(08):244-247.DOI:10.19772/ki.2096-4455.2022.8.059.周能兵,齊世龍,劉棟.基于計算機視覺識別的AI技術(shù)在工地安全管理的應用[J].建筑安全,2022,37(08):74-77.附錄電路圖源代碼classBEEP_3V3:def__init__(self,ctr_beep,ctr_init_level):self.ctr_beep=ctr_beepself.ctr_init_level=ctr_init_leveldefON(self):self.ctr_beep.value(self.ctr_init_level)defOFF(self):self.ctr_beep.value((1-self.ctr_init_level))defInit(self):self.OFF()defRUN(self,beep_state):self.ctr_beep.value(beep_state)classHC_SR04:def__init__(self,uart):self.uart=uartdefInit(self):self.uart.init(9600,timeout=1000,read_buf_len=10240)#重新設置串口波特率defRece_Data_Handle(self):distance_f_cm_err=0.0distance_f_cm_min=3.0distance_f_cm_max=55.0temp=[0.0,0.0,0.0,0.0,0.0,0.0]distance_f_cm_temp=distance_f_cm_errself.uart.write(b'\xA0')forrece_delay_countinrange(len(temp)):distance_f_cm_temp=0.0rece_data=self.uart.read()ifnotrece_dataisNone:#if(notrece_data[0]isNone)and(notrece_data[1]isNone)and(notrece_data[2]isNone):iflen(rece_data)==3:print('[0]:',rece_data[0])print('[1]:',rece_data[1])print('[2]:',rece_data[2])distance_f_cm_temp=(rece_data[0]*255*255+rece_data[1]*255+rece_data[2])/10000if0<distance_f_cm_temp<distance_f_cm_min:distance_f_cm_temp=distance_f_cm_minelifdistance_f_cm_temp>distance_f_cm_max:distance_f_cm_temp=distance_f_cm_maxelse:passtemp[rece_delay_count]=distance_f_cm_tempforcount_temp_1inrange(len(temp)):ifdistance_f_cm_errintemp:temp.remove(distance_f_cm_err)iflen(temp)==0:returndistance_f_cm_erreliflen(temp)==1:returntemp[0]else:forcount_temp_2inrange(len(temp)):ifdistance_f_cm_minintemp:temp.remove(distance_f_cm_min)iflen(temp)==0:returndistance_f_cm_mineliflen(temp)==1:returntemp[0]else:forcount_temp_3inrange(len(temp)):ifdistance_f_cm_maxintemp:temp.remove(distance_f_cm_max)iflen(temp)==0:returndistance_f_cm_maxeliflen(temp)==1:returntemp[0]eliflen(temp)==2:returnsum(temp)/2else:return(sum(temp)-max(temp)-min(temp))/(len(temp)-2)classLED_X:def__init__(self,ctr_led,ctr_init_level):#端口,點亮電平self.ctr_led=ctr_ledself.ctr_init_level=ctr_init_leveldefON(self):self.ctr_led.value(self.ctr_init_level)defOFF(self):self.ctr_led.value((1-self.ctr_init_level))defInit(self):self.OFF()defRUN(self,led_state):self.ctr_led.value(led_state)importKPUaskpuimportsensorimportlcdfromMaiximportGPIOfromfpioa_managerimportfmimporttimeimportgcfrommicropythonimportconst#導入constfromboardimportboard_infofrommachineimportTimer,PWM#ServofrommachineimportUARTimportHC_SR04_Drive#測距importSG90_180_Drive#阻車器importBEEP_3V3_Drive#蜂鳴器使用了模塊,低電平觸發(fā)importLED_Drive#LED#########################################My-config##############################################SYS_Status='END'#系統(tǒng)狀態(tài):狀態(tài)可設置Operation_State=0#識別結(jié)果:0-環(huán)境,1-車前臉(合法),2-車后臉(合法),3,車前臉(非法),4,車后臉(非法)#自動/手動Manual_Mode=0#手動模式:0:自動模式1:手動模式--開阻車器2:手動模式--關(guān)閉阻車器可設置Squeezer_State=0#阻車器狀態(tài)Warning_State=[0,0]#警告狀態(tài)--Warning_State[0]車輛:0正常,1非法Warning_State[1]距離:0正常,1過近#測量Distance_1_f_cm=50.0Distance_1_f_cm_THR=30#閾值可設置###############################################################################################################################################config#################################################class_num=3#類數(shù)量sample_num=25#樣本數(shù)量THRESHOLD=12.5#閾值class_names=['Surroundings','Car-front','Car-back']#類名稱:環(huán)境、車前臉、車后臉board_cube=0Identify_Results={'Identify_Situation':"",'Identify_Index':''}#識別結(jié)果cap_num=0#抓取訓練數(shù)量train_status=0#訓練狀態(tài)last_cap_time=0#上次訓練抓取時間last_btn_status=1#上次按鍵狀態(tài)#############################################################################################################################################HC_SR041################################################fm.register(board_info.PIN_DIS_RXD_MCU_TX_1,fm.fpioa.UART1_TX,force=True)fm.register(board_info.PIN_DIS_TXD_MCU_RX_1,fm.fpioa.UART1_RX,force=True)uart_1=UART(UART.UART1,9600,read_buf_len=10240)HC_SR04_1=HC_SR04_Drive.HC_SR04(uart_1)HC_SR04_1.Init()#Distance_1_f_cm=0.0#Distance_1_f_cm_THR=30.0#閾值#Distance_1_f_cm=HC_SR04_1.Rece_Data_Handle()############################################################################################################################################SG-90180#################################################tim1=Timer(Timer.TIMER1,Timer.CHANNEL0,mode=Timer.MODE_PWM)Ctr_Sg90_180_1=PWM(tim1,freq=50,duty=0,pin=board_info.PIN_Ctr_SG90_180)Sg90_180_1=SG90_180_Drive.SG90_180(Ctr_Sg90_180_1)Sg90_180_1.Init()#initSG-90180#Sg90_180_1.Open(0)#不予開啟(關(guān)閉舵機)#Sg90_180_1.Open(-90)#予以開啟(開舵機-90)##############################################################################################################################################BEEP###################################################fm.register(board_info.PIN_Ctr_BEEP,fm.fpioa.GPIO0)#注冊IO-Ctr_BEEPCtr_BEEP=GPIO(GPIO.GPIO0,GPIO.OUT)BEEP=BEEP_3V3_Drive.BEEP_3V3(Ctr_BEEP,0)#構(gòu)建對象:BEEP,使用了模塊,低電平觸發(fā)(必須3V3供電,否則有問題)BEEP.Init()#初始化:BEEP#time.sleep_ms(1000)#BEEP.OFF()#蜂鳴器關(guān)閉#BEEP.ON()#蜂鳴器開啟##############################################################################################################################################LED###################################################fm.register(board_info.PIN_Ctr_LED,fm.fpioa.GPIO1)#注冊IO-Ctr_LEDCtr_LED_01=GPIO(GPIO.GPIO1,GPIO.OUT)LED_01=LED_Drive.LED_X(Ctr_LED_01,0)#構(gòu)建對象:LED_01,低電平點亮LED_01.Init()#初始化:LED_01#time.sleep_ms(1000)#LED_01.OFF()#LED關(guān)閉#LED_01.ON()#LED開啟##############################################################################################################################################KEY######################################################KEY_BOOTfm.register(board_info.PIN_KEY_BOOT,fm.fpioa.GPIOHS0)KEY_BOOT=GPIO(GPIO.GPIOHS0,GPIO.PULL_UP)#KEY_SYSfm.register(board_info.PIN_KEY_SYS,fm.fpioa.GPIOHS1)#注冊IO-KEY_SYSKEY_SYS=GPIO(GPIO.GPIOHS1,GPIO.IN,GPIO.PULL_UP)#構(gòu)建KEY_SYS對象defexit_KEY_SYS_fun(KEY_SYS):#KEY_SYS中斷回調(diào)函數(shù)globalSYS_Status,train_statusglobalManual_Modeiftrain_status!=0:#若:訓練完成time.sleep_ms(10)#消除抖動ifKEY_SYS.value()==0:#確認按鍵被按下ifSYS_Status=='END':SYS_Status='RUN'else:SYS_Status='END'Manual_Mode=0KEY_SYS.irq(exit_KEY_SYS_fun,GPIO.IRQ_FALLING)#開啟中斷,下降沿觸發(fā)#########################################################################################################################################文字顯示######################################################defdraw_string(img,x,y,text,color,scale,bg=None):ifbg:img.draw_rectangle(x-2,y-2,len(text)*8*scale+4,16*scale,fill=True,color=bg)img=img.draw_string(x,y,text,color=color,scale=scale)returnimg#########################################################################################################################################異常/正常#######################################################Operation(SYS_Status,Manual_Mode,Operation_State,Distance_1_f_cm_THR,Distance_1_f_cm)defOperation(sys_status,manual_mode,operation_state,thr_distance,m_distance):globalSg90_180_1,BEEP,LED_01#資源globalSqueezer_State#阻車器狀態(tài)globalWarning_State#警告狀態(tài)--Warning_State[0]車輛:0正常,1非法Warning_State[1]距離:0正常,1過近Warning_State[0]=0#警告狀態(tài)--車輛:0正常,1非法Warning_State[1]=0#警告狀態(tài)--距離:0正常,1過近squeezer_flag=1#阻車器Flag:初始默認開啟阻車器ifsys_status=='RUN':#RUNifmanual_mode==0:#自動模式ifoperation_state==1:#(允許駛?cè)耄﹕queezer_flag=0#關(guān)閉阻車器elifoperation_state==2:#(不允許駛?cè)耄¦arning_State[0]=1#警告狀態(tài)--車輛:0正常,1非法else:#環(huán)境/其他passelifmanual_mode==1:#手動模式:開passelifmanual_mode==2:#手動模式:關(guān)squeezer_flag=0#關(guān)閉阻車器else:pass#判斷距離非法:ifm_distance<thr_distance:Warning_State[1]=1#警告狀態(tài)--距離:0正常,1非法else:passelse:#ENDpass#警告判斷:蜂鳴器、燈光beep_flag=0#蜂鳴器Flag:初始默認關(guān)閉led_flag=0#燈珠Flag:初始默認關(guān)閉ifWarning_State[0]==1:#非法車輛(蜂鳴器、燈光)beep_flag=1#開啟:蜂鳴器led_flag=1#開啟:ledelse:passifWarning_State[1]==1:#非法距離(蜂鳴器示警)beep_flag=1#開啟:蜂鳴器else:pass#執(zhí)行執(zhí)行:蜂鳴器、燈光、阻車器#蜂鳴器ifbeep_flag==1:#開啟蜂鳴器BEEP.ON()#蜂鳴器開啟else:BEEP.OFF()#蜂鳴器關(guān)閉#燈光ifled_flag==1:#開啟ledLED_01.ON()#led開啟else:LED_01.OFF()#led關(guān)閉#阻車器ifsqueezer_flag==1:#開啟阻車器Squeezer_State=1#阻車器狀態(tài)Sg90_180_1.Open(-90)#予以開啟(開舵機-90)else:#關(guān)閉阻車器Squeezer_State=0Sg90_180_1.Open(0)#不予開啟(關(guān)閉舵機)###############################################################################################################################################HC-05#################################################fm.register(board_info.PIN_HRXD_MCU_TX,fm.fpioa.UART2_TX,force=True)#注冊到內(nèi)部IOfm.register(board_info.PIN_HTXD_MCU_RX,fm.fpioa.UART2_RX,force=True)#注冊到內(nèi)部IOHC_05=UART(UART.UART2,9600,8,1,0,timeout=1000,read_buf_len=4096)#inituartSend_Data='-'Rece_Data='-'#######################################################################################################################################Send_Data_Handle############################################defSend_Data_Handle():#發(fā)送globalSend_DataglobalSYS_Status,Manual_Mode,Operation_StateglobalDistance_1_f_cm_THR,Distance_1_f_cmglobalSqueezer_State,Warning_StateSend_Data="+SS%sMM%1dAS%1dTHR%02dDT%04.1fS%1dW%d%d-"%(SYS_Status,Manual_Mode,Operation_State,Distance_1_f_cm_THR,Distance_1_f_cm,Squeezer_State,Warning_State[0],Warning_State[1])HC_05.write(Send_Data)##############################################################################################################################################Tim-0################################################TIM_0_THRESHOLD_MS=1000#定時器回調(diào)函數(shù)周期1000msdeffun_tim0(tim0):globaltrain_statusiftrain_status!=0:#若:訓練完成Send_Data_Handle()#定時器1初始化,周期10mstim0=Timer(Timer.TIMER0,Timer.CHANNEL0,mode=Timer.MODE_PERIODIC,period=TIM_0_THRESHOLD_MS,callback=fun_tim0)#######################################################################################################################################Rece_Data_Handle############################################defRece_Data_Handle():globalRece_DataglobalSYS_StatusglobalManual_ModeglobalDistance_1_f_cm_THRtmp=HC_05.read()ifnottmpisNone:print(tmp)Rece_Data=tmp.decode()print(Rece_Data)ifRece_Data[0]=='+'andRece_Data[-1]=='-':ifRece_Data[1]=='S'andRece_Data[2]=='S':if(Rece_Data[3:-1]=='RUN')or(Rece_Data[3:-1]=='END'):SYS_Status=Rece_Data[3:-1]ifSYS_Status=='END':Manual_Mode=0else:passelifRece_Data[1]=='M'andRece_Data[2]=='M':mm_tmp=0mm_tmp=int(Rece_Data[3])ifSYS_Status=="RUN":if0<=mm_tmp<=2:Manual_Mode=mm_tmp#賦值else:passelse:passelifRece_Data[1]=='T'andRece_Data[2]=='H'andRece_Data[3]=='R':thr_tmp=0thr_tmp=int(Rece_Data[4:-1])ifSYS_Status=="END":if1<=thr_tmp<=50:Distance_1_f_cm_THR=thr_tmp#賦值else:passelse:passelse:passRece_Data=Noneelse:Rece_Data=Nonetmp=None#####################################################################################################設置攝像頭sensor.reset()sensor.set_pixformat(sensor.RGB565)sensor.set_framesize(sensor.QVGA)sensor.set_windowing((224,224))#ifboard_cube==1:#sensor.set_vflip(True)#sensor.set_hmirror(True)#lcd.init(type=2)#lcd.rotation(2)#else:#lcd.init()#初始化LCDlcd.init()#設置攝像頭水平與垂直鏡像sensor.set_vflip(True)sensor.set_hmirror(True)#再次運行刪除模型try:delmodelexceptException:passtry:delclassifierexceptException:passgc.collect()model=kpu.load("/sd/sipeed_learn_model.smodel")#加載模型#model=kpu.load(0x300000)classifier=kpu.classifier(model,class_num,sample_num)#模型初始化while1:Identify_Results['Identify_Situation']=''Identify_Results['Identify_Index']=''img=sensor.snapshot()#采集圖片ifboard_cube:img=img.rotation_corr(z_rotation=90)img.pix_to_ai()#captureimgiftrain_status==0:#如果訓練狀態(tài):0(未訓練)ifKEY_BOOT.value()==0:#如果按鍵值為:0(按下)time.sleep_ms(30)#延時30msifKEY_BOOT.value()==0and(last_btn_status==1)and(time.ticks_ms()-last_cap_time>500):#如果按鍵按下&&上次按鍵狀態(tài)==1&&時差大于500last_btn_status=0#上次按鍵狀態(tài)=1last_cap_time=time.ticks_ms()#更新上次抓取時間ifcap_num<class_num:#如果抓取數(shù)量<類數(shù)量index=classifier.add_class_img(img)#添加類圖片,并獲取當前添加圖片的indexcap_num+=1#cap_num自增1print("addclassimg:",index)#打印當前添加的類elifcap_num<class_num+sample_num:#如果:類數(shù)量<抓取數(shù)量<類數(shù)量+樣例數(shù)量index=classifier.add_sample_img(img)#添加樣例并獲取當前添加樣例的indexcap_num+=1#cap_num自增1print("addsampleimg:",index)#打印當前添加的樣例else:#如果:按鍵彈起img=draw_string(img,2,200,"releasebootkeyplease",color=lcd.WHITE,scale=1,bg=lcd.RED)#請松開按鍵else:#如果未按下按鍵time.sleep_ms(30)#延時30msifKEY_BOOT.value()==1and(last_btn_status==0):#如果按鍵按下&&上次按鍵狀態(tài)==0last_btn_status=1#上次按鍵狀態(tài)=1ifcap_num<class_num:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論