基于AI視覺的糕點分揀系統(tǒng)_第1頁
基于AI視覺的糕點分揀系統(tǒng)_第2頁
基于AI視覺的糕點分揀系統(tǒng)_第3頁
基于AI視覺的糕點分揀系統(tǒng)_第4頁
基于AI視覺的糕點分揀系統(tǒng)_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

緒論研究目的及意義隨著科學技術??的發(fā)展??,自動??分揀技??術得到??了廣泛??應用[1]。??自動分??揀系統(tǒng)??集成了??可編程??控制器??、機械??傳動和??氣動控??制、人??機界面??、電機??拖動等??技術的??應用,??其中應??用可編??程控制??器技術??是自動??化的重??要組成??部分[2]?。?也隨著??人們生??活水平??的提高??,糕點??種類為??了迎合??大眾的??審美與口味層出不窮[3]。因此設計一套??基于單??片機技??術的基??于AI??視覺的??糕點分??揀系統(tǒng)??,幫助??糕點師??去分揀??使得顧??客找到??自己需??要的。??在國內??,人工??視覺的??研究都??還處于??初級階??段,其??中最著??名的研??究團隊??是以北??京大學??生物醫(yī)??學工程??的任求??實教授??所在的??C-??Sig??ht??團隊,??其申報??的采用??多學科??交叉綜??合研究??的國家??973??項目??《視覺??功能修??復的基??礎理論??與關鍵??科學問??題研究??》開啟??了我國??人工視??覺研究??領域的??先河,??其研究??的人工??視覺修??復手段??主要就??是視神??經(jīng)植入??法[4]。該??團隊在??過去的??5??年里已??取得一??定的研??究成果??,但還??未進入??人體相??關的臨??床試驗??和產(chǎn)品??的開發(fā)[5]??。其他??國內從??事相關??視覺修??復研究??的人員??還有上??海交通??大學的??柴新禹??教授,??重慶大??學的鄭??小林教??授,西??南交通??大學的??茍先太??副教授??以及復??旦大學??的汪源源教授等等[6]。國內外研究現(xiàn)狀這么多年來??,國內??外諸多??研究人??員在此??領域的??研究從??來沒有間斷過。在2022年,國內的研??究人員??周樹強??在《基??于Fa??cto??ry??IO的??視覺分??揀系統(tǒng)??仿真》??中對于??PLC??學習者??,F(xiàn)a??cto??ry??IO仿??真可以??幫助理??解自動??化生產(chǎn)??線程序??控制過??程[7]。通??過設計??視覺分??揀控制??流程,??配置F??act??ory??IO??場景中??傳感器??、開關??、傳送??帶、推??送機構??等的I??/O信??號,進??行PL??C程序??設計與??調試,??實現(xiàn)生??產(chǎn)線視??覺分揀??操作。??系統(tǒng)視??覺傳感??器檢測??到物料??并將物??料特征??轉化為??編碼,??不同種??類物料??有不同??的編碼??值,通??過比較??編碼值??進行識??別分揀[8]??。實時??觀察場??境中的??動畫,??直觀地??監(jiān)測P??LC程??序的執(zhí)??行過程??和運行??結果,??彌補P??LC實??驗設備缺乏問題[9]。在2022年九月,全興科等??人的團??隊在《??智能分??揀系統(tǒng)??在電商??倉儲行??業(yè)的應??用》中??闡述立??體庫儲??存系統(tǒng)??將產(chǎn)品??運輸至??機器人??分揀(??播種)??和交叉??帶分揀??的貨到??人控制??技術的??實現(xiàn),??并將播??種盒暫??存的自??動化系??統(tǒng)技術??的設計??與應用??[10]。該應??用基于??第三方??供應鏈??云倉儲??業(yè)務環(huán)??境對智??能設備??的設計??,使得??不同自??動化設??備在整??體系統(tǒng)??作業(yè)中??,在滿??足不同??產(chǎn)品的??自動化??需求,??提高發(fā)??貨效率??和訂單??準確率??,減少??操作人??員數(shù)量??等方面起到幫助[11]。在2022年十月初??,張丹??在《基??于并聯(lián)??機器人??的單片??裝火腿??缺陷識??別與分??揀系統(tǒng)??設計》??中提升??單片裝??火腿的??分揀效??果以D??elt??a并聯(lián)??機器人??為基礎??,結合??自動控??制、機??器視覺??等技術??,設計??搭建了??一種能??夠識別??單片裝??火腿缺??陷的分??揀系統(tǒng)[12]??。建立??2自由??度De??lta??并聯(lián)機??器人的??運動學??與動力??學模型??,并對??Del??ta并??聯(lián)機器??人進行??優(yōu)化設??計,還??設計了??控制系??統(tǒng)的組??成與圖??像處理??的算法??[13]。結果??:該系??統(tǒng)能夠??成功識??別異物??缺陷與??折痕缺??陷,識??別率高??達95??%;能??夠準確??、高效??地分揀??單片裝??火腿,??分揀成??功率達??到98??%,分??揀效率??為16??0包/??min??。結論??:該系??統(tǒng)可實??現(xiàn)單片??裝火腿??識別、??抓取、??搬運、??分揀、??剔除的連續(xù)化作業(yè)[14]。在2022年國外??的Ab??bas??Ab??bas??Fa??dhi??l在《??Dev??elo??ped??an??Au??tom??ate??dD??esi??gn??Sor??tin??gS??yst??em??Acc??ord??ing??to??Ou??ter??Ed??ges??of??Ob??jec??t.》??一文闡??述了自??動化分??揀系統(tǒng)??被應用??于工業(yè)??部門以??提高生??產(chǎn)率[15]。??本研究??開發(fā)了??分揀系??統(tǒng),利??用視覺??機器檢??測采集??圖像與??存儲基??圖像的??匹配情??況。該??系統(tǒng)將??與5??cm??/s??傳送帶??速度實??時匹配??和分揀??。視覺??系統(tǒng)是??基于三??個階段??來達到??排序決??策。第??一階段??是將采??集到的??圖像轉??換為二??值圖像??,第二??階段是??對產(chǎn)品??進行邊??緣檢測??,第三??階段是??將結果??與基礎??圖像進??行匹配??。該系??統(tǒng)成功??地對任??何形狀??復雜、??效率高??的產(chǎn)品??進行了??分類[16]。??系統(tǒng)排??序可以??在任何??位置或??方向檢??測和排??序任何??產(chǎn)品/??機器元??素。系??統(tǒng)使用??實時分??析以提??供所需??的結果??。結果??到達分??揀門在??系統(tǒng)的??末端傳??送帶如??果打開??意味著??產(chǎn)品匹??配。為??了考察??響應和??結果的??準確性??,選擇??了3種??不同的??產(chǎn)品。??發(fā)現(xiàn)在??所有情??況下,??檢測產(chǎn)??品的最??大誤差??不超過2%[17]。2021年Agraw??al??Anu??bha??v在《??Des??ign??an??dI??mpl??eme??nta??tio??no??fR??adi??oF??req??uen??cy??Ide??nti??fic??ati??on??bas??ed??Sor??tin??gS??yst??em》??中提到??分揀作??業(yè)在各??行業(yè)一??直是一??個具有??挑戰(zhàn)性??和繁瑣??性的過??程。隨??著技術??的進步??,人工??排序已??被自動??化排序??算法所??取代。??本文提??出了一??種新型??的基于??射頻識??別(??RFI??D)??的自動??分選計??數(shù)系統(tǒng)??,該系??統(tǒng)利用??電磁場??對附著??在物體??上的標??簽進行??自動識??別和跟??蹤[18]。R??FID??系統(tǒng)的??有效性??和高效??性為工??業(yè)應用??貢獻了??巨大的??潛力。??為評估??所提系??統(tǒng)實時??運行的??性能,??研制了??微型樣??機[19]?;??于RF??ID的??自動分??揀和計??數(shù)系統(tǒng)??的工作??原型包??括將物??體放置??在固定??的工作??站上。??自動掃??描是在??放置的??對象上??進行的??。掃描??標簽后??,自動??收集物??品類型??及其計??數(shù)的信??息并顯示在LCD上[20]。主要研究內容本課題研究??的內容??為基于??AI視??覺的糕??點分揀??系統(tǒng)。??該套系??統(tǒng)主要??由攝像??頭模塊??、AI??模塊、??K21??0單片??機、舵??機、L??CD等??部分組??成;采??用K2??10單??片機技??術處理??對攝像??頭模塊??和AI??感應模??塊采集??到的參??數(shù),根??據(jù)相識??度識別??到糕點??;若檢??測到第??一種糕??點,3??60度??舵機順??時針旋??轉,完??成第一??種糕點??的分揀??反之就是第二種。

系統(tǒng)的總體結構2.1設計方案文獻研究法??。通過??查閱文??獻來獲??得研究??資料,??對系統(tǒng)??設計中??所涉及??到的相??關內容??,如分??揀系統(tǒng)??、單片??機技術??等,初??步構想??系統(tǒng)要??實現(xiàn)的??功能及??其運用??的技術??并搜集??相關資??料,作??為系統(tǒng)??設計的素材。功能分析法??。功能??分析法??是社會??科學用??來分析??社會現(xiàn)??象的一??種方法??,是社??會調查??常用的??分析方??法之一??。本系??統(tǒng)通過??功能分??析法,??對軟件??的各項??功能進??行具體??分析,??從而明??確開發(fā)目標。定性分析法??。通過??對文獻??的研究??,運用??歸納和??演繹、??分析與??綜合以??及抽象??與概括??等方法??,深入??了解軟??件和硬??件開發(fā)??的相關??技術,??從而熟??悉系統(tǒng)??中各個??功能模??塊之間??的關系??,掌握??系統(tǒng)的??工作原??理及其??本質,??確定開??發(fā)流程。經(jīng)驗總結法??。希望??通過已??有的每??一塊功??能的結??合進行??總結,??設計出??一套優(yōu)??良的系??統(tǒng),并??規(guī)范的??編寫程序。2.2功能需求分析2.2.1技術路線(1)硬件部分需要單片機K210、攝像頭模塊、LCD、舵機、AI模塊。(2)畫原理圖用AD;(3)編程語言用python語言;2.2.2預期結果(1)系統(tǒng)實時顯示監(jiān)測到的畫面;(2)系統(tǒng)學習兩種糕點外觀;(3)系統(tǒng)可根據(jù)相似度,判斷識別到的糕點;(4)若檢測到第一種糕點,360度舵機順時針旋轉,完成第一種糕點的分揀;(5)若檢測到第二種糕點,360度舵機逆時針旋轉,完成第二種糕點的分揀;(6)若沒有檢測到糕點,此時檢測的是操作臺,不改變上次旋轉方向;總體結構框圖如下。圖2.1系統(tǒng)總體結構框圖2.3總體方案設計第一:理論知識??準備階??段,理??解設計??課題,??認真研??究課題??所涉及??到的內??容,能??夠較好??的掌握??有關題目的知識;第二:確定系??統(tǒng)各個??模塊,??理清各??個模塊??之間的??關系,??收集相??關得到??軟硬件??資料;第三:規(guī)劃課??題,確??定系統(tǒng)??組成結??構,勾??畫出大??體系統(tǒng)??框架并??在結構??框架的??基礎上??提出原??理框圖;第四:利用軟件??完成硬??件電路??部分設??計并畫??出各部??分電路??圖,將??系統(tǒng)部??件通過??接口電??路集合??在一起??,并畫??出電路圖;第五:根據(jù)系統(tǒng)??控制過??程完成??軟件設??計部分??,繪制??出主流??程圖;第六:進行模擬??仿真,??檢查系??統(tǒng)是否??能夠按??照要求??實現(xiàn)控??制功能??,整理??論文。2.4單片機型號選擇主控制芯片??選擇K??210??單片機??K2??10是嘉楠??(Ca??nna??an)??科技的??一款集??成機器??視覺與??機器聽??覺能力??的系統(tǒng)??級芯片??(R??SIC??-V??CPU??)。使??用臺積??電(??TSM??C)??超低功??耗的??28??納米先??進制程??,具有??雙核??64??位處理??器,其擁??有較好??的功耗??性能,??穩(wěn)定性??與可靠??性。該??方案力??求零門??檻開發(fā)??,可在??最短時??效部署??于用戶??的產(chǎn)品??中,賦??予產(chǎn)品??人工智??能(A??I)。??可以??說是集??性能強??勁與高??性價比??于一身??。K2??10??號稱最??強單片??機,其??最突出??的特點??是可以??達到1??TOP??S算力??,這是??樹莓派??4無法??比擬的??,所以??目前用??它來做??視覺方??面的項??目是最??佳的選??擇。O??pen??MV提??供了機??器視覺??功能最??核心和??最復雜??的部分??(包括??硬件和??核心算??法),??使用者??們可以??把自己??的精力??放在自??己的想??法和產(chǎn)??品設計??上,實??現(xiàn)自己??的各種??創(chuàng)意。??原理圖如下。圖2.2K210單片機最小系統(tǒng)原理圖

系統(tǒng)的硬件部分設計3.1系統(tǒng)的總體設計該套系統(tǒng)主??要由攝??像頭模??塊、A??I模塊??、K2??10單??片機、??舵機、??LCD??等部分??組成;??采用K??210??單片機??技術處??理對攝??像頭模??塊和A??I感應??模塊采??集到的??參數(shù),??根據(jù)相??識度識??別到糕??點;若??檢測到??第一種??糕點,??360??度舵機??順時針??旋轉,??完成第??一種糕??點的分??揀反之??就是第??二種。??實現(xiàn)功能如下。(1)系統(tǒng)實時顯示監(jiān)測到的畫面;(2)系統(tǒng)學習兩種糕點外觀;(3)系統(tǒng)可根據(jù)相似度,判斷識別到的糕點;(4)若檢測到第一種糕點,360度舵機順時針旋轉,完成第一種糕點的分揀;(5)若檢測到第二種糕點,360度舵機逆時針旋轉,完成第二種糕點的分揀;(6)若沒有檢測到糕點,此時檢測的是操作臺,不改變上次旋轉方向;總體原理圖如下:圖3.1系統(tǒng)總體原理圖3.2系統(tǒng)的主要模塊設計3.2.1LCD顯示屏模塊設計12864LCD液晶顯示??模塊是??一款4??位/8??位并行??、2線??或3線??接口方??式,內??部含有??國際一??級、二??級簡體??中文字??庫的圖??形點陣??液晶模??塊。顯??示分辨??率為1??28*??64,??內置8??198??個16??*16??點漢字??,和1??28個??16*??8點A??SCI??I字符??集。該??型號液??晶模塊??具有接??口方式??簡單,??指令操??作便捷??的特點??,可構??成全中??文人機??交互圖??形界面????娠@??示8*??4行1??6*1??6點陣??的行字??,也可??完成圖??形顯示??。LC??D12??864??分為帶??中文字??庫和不??帶中文??字庫兩??種,有??并行傳??輸和串??行傳輸??兩種方??式通常??并行速??度快。??從電源??地開始??引腳依??次為:??電源地??、電源??正。其??原理圖如下所示。圖3.2LCD顯示屏模塊原理圖3.2.2TF內存卡模塊設計TF卡即是T??-Fl??ash??全名(??Tra??nsF??Las??h,2??004??年更名??為Mi??cro??SD??Ca??rd)??的縮寫??出,這??是Mo??tor??ola??與Sa??nDi??sk共??同推出??的最新??一代的??記憶卡??規(guī)格,??它采用??了最新??的封裝??技術,??并配合??San??Dis??k最新??NAN??DM??LC技??術及控??制器技??術。大??小(1??1mm??x??15m??mx??1mm??),約??等于半??張SI??M卡,??Tra??ns-??Fla??sh??Car??d為S??DC??ard??產(chǎn)品成??員的一??員,附??有SD??轉接器??,可兼??容任何??SD讀??卡器,??TF卡??可經(jīng)S??D卡轉??換器后??,當S??D卡使??用。T??-Fl??ash??卡是市??面上最??小的閃??存卡,??適用于??多項多??媒體應??用.T??ran??s-f??las??h產(chǎn)品??采用S??D架構??設計而??成,S??D協(xié)會??于20??04年??年底正??式將其??更名為??Mi??cro??SD??,已成??為SD??產(chǎn)品中??的一員。原理圖如下。圖3.3TF內存卡模塊原理圖3.2.3GC0328攝像頭模塊設計GC0328攝像頭??具有2??00萬??像素(??163??2x1??232??像素)??,其體??積小、??工作電??壓低,??提供單??片UX??GA攝??像和影??像處理??器的所??有功能??。通過??SCC??B總線??控制,??可以輸??出整幀??、子采??樣、取??窗口等??方式的??各種分??辨率1??0位采??樣數(shù)據(jù)??。該產(chǎn)??品UX??GA圖??像最高??達到1??5幀/??秒。用??戶可以??完全控??制圖像??質量、??數(shù)據(jù)格??式和傳??輸方式??。所有??圖像處??理功能??過程包??括伽瑪??曲線、??白平衡??、飽和??度、色??度等都??可以通??過SC??CB接??口編程??。Om??miV??isi??on圖??像傳感??器應用??獨有的??傳感器??技術,??通過減??少或消??除光學??或電子??缺陷如??固定圖??案噪聲??、托尾??、浮散??等,提??高圖像??質量,??得到清??晰的穩(wěn)??定的彩??色圖像??。原理??圖如下。圖3.4GC0328攝像頭模塊原理圖3.2.4分揀模塊設計分揀模塊主??要是通??過SG??-90??舵機實??現(xiàn)的。??舵機是??一種位??置(角??度)伺??服的驅??動器,??適用那??些需要??角度不??斷變化??并可以??保持的??控制系??統(tǒng)。舵??機上有??三根線??,分別??是GN??D(棕??色線)??、VC??C(紅??色線)??和SI??G(黃??色線)??,也就??是地線??、電源??線和信??號線。??舵機通??過接收??PWM??信號,??使其進??入內部??電路產(chǎn)??生一個??偏置電??壓,觸??發(fā)電機??通過減??速齒輪??帶動電??位器移??動,使??電壓差??為零時??,電機??停轉,??從而達??到伺服??的效果??。即給??舵機一??個特定??的PW??M信號??,舵機??旋轉到??特定角度??刂齐娐钒??接受來??自信號??線相應??的PW??M控制??信號,??進而控??制電機??轉動,??電機帶??動一系??列齒輪??組,減??速后傳??動至輸??出舵盤??。舵機??的輸出??軸和位??置反饋??電位計??是相連??的,舵??盤轉動??的同時??,帶動??位置反??饋電位??計,電??位計將??輸出一??個電壓??信號到??控制電??路板,??進行反??饋,然??后控制??電路板??根據(jù)所??在位置??決定電??機的轉??動方向??和速度??,從而??達到目??標停止??。原理??圖如下所示。圖3.5舵機模塊原理圖3.2.5按鍵輸入模塊設計在矩陣鍵盤??按鍵較??多時為??了減少??IO口??的運用??,通過??按鍵排??列成矩??陣的方??式,采??用逐行??或者是??逐列掃??描,就??可以讀??出按鍵的狀態(tài)。掃描的概念??:數(shù)碼??管掃描??(輸出??掃描)??原理:??顯示第??一位>??顯示第??二位,??然后循??環(huán)這個??過程,??最終實??現(xiàn)所有??數(shù)碼管??同時點??亮的效??果。矩??陣按鍵??掃描(??輸入掃??描)原??理:掃??描第一??行>掃??描第二??行>>??>>>??掃描第??一列>??>掃描??第二列??>>得??出按鍵??位置。原理圖如下。圖3.6按鍵輸入模塊原理圖

系統(tǒng)的軟件設計4.1軟件的主要流程采用K210單片機技術處理對攝像頭模塊和AI感應模塊采集到的參數(shù),根據(jù)相識度識別到糕點;若檢測到第一種糕點,360度舵機順時針旋轉,完成第一種糕點的分揀反之就是第二種。步驟為:系統(tǒng)先實時顯示監(jiān)測畫面后,系統(tǒng)進行學習兩種糕點外觀,學習后可以根據(jù)相似度判斷識別到的糕點,若檢測到第一種糕點,360度舵機順時針旋轉,完成第一種糕點的分揀;若檢測到第二種糕點,360度舵機逆時針旋轉,完成第二種糕點的分揀;若沒有檢測到糕點,此時檢測的是操作臺,不改變上次旋轉方向。工作流程圖如下。圖4.1系統(tǒng)總體流程圖

4.2LCD顯示屏模塊軟件設計當單片機初始化完成后,系統(tǒng)開始正常工作。LCD顯示屏會收到來自單片機的攝像頭實時畫面,以進行遠程監(jiān)控。工作流程圖如下。圖4.2LCD顯示屏模塊工作流程圖

4.3TF內存卡模塊軟件設計當單片機初始化完成后,系統(tǒng)開始工作。攝像頭開始對畫面進行采集隨后發(fā)送給單片機,單片機經(jīng)訓練后可識別分辨兩種類型的糕點,進行工作時對分揀的糕點進行拍照,隨后TF內存卡開始對錄像和照片進行儲存,以便日后查看,方便管理。工作流程圖如下。圖4.3TF內存卡模塊軟件設計

4.4GC0328攝像頭模塊軟件設計當單片機初始化完成后,系統(tǒng)開始工作。攝像頭將實時拍攝并發(fā)送畫面給單片機,單片機經(jīng)過事先的學習,可對攝像頭拍攝出的畫面進行識別和分辨,隨后進行相應處理。工作流程圖如下。圖4.4GC0328攝像頭模塊軟件設計

4.5舵機模塊軟件設計當系統(tǒng)初始化完成后,開始正常工作。攝像頭拍攝照片給單片機進行識別,若識別到是第一種糕點,則舵機進行360度順時針翻轉,若是第二種糕點則360度逆時針翻轉,若無糕點則不改變翻轉狀態(tài),以此進行分揀動作。工作流程圖如下。圖4.5舵機模塊工作流程圖

4.6按鍵輸入模塊軟件設計當系統(tǒng)初始化完成后,開始正常工作。按下不同按鍵分別執(zhí)行不同功能。工作流程圖如下。圖4.6按鍵輸入模塊工作流程圖

系統(tǒng)測試5.1系統(tǒng)實物圖圖5.1系統(tǒng)成品實物圖5.2測試原理圖5.2按下中間按鍵對兩種糕點和環(huán)境進行學習,每一種糕點學習五張圖5.3分別檢測及其結果按下按鍵三開始檢測,當檢測到第一種糕點時,顯示屏顯示MAYBEPASTRY1,舵機順時針旋轉;檢測到第二種時,顯示MAYBEPASTRY2,舵機逆時針旋轉;無檢測到時顯示Surroundings,意為只有工作環(huán)境,舵機旋轉方式保持在上一種(第二種)。

總結與展望6.1總結在整個設計過程中,硬件方面主要設計了K210單片機的最小系統(tǒng)、舵機接口電路、LCD屏幕及顯示、攝像機拍攝電路。軟件方面借助各個渠道的資料,主要設計訓練學習程序、顯示程序、舵機運行程序、拍攝識別程序。系統(tǒng)的調試主要是通過一塊K210開發(fā)板,再借助于AD以及自己搭建的電路實現(xiàn)的。分部調試時偶爾會出現(xiàn)一些問題但解決方案都有跡可循。此管理系統(tǒng)能夠實現(xiàn)檢測后不需要人為干預,自動進行操作。節(jié)省了大量人力資源,方便人們生活。為了畫出自己滿意的電路圖,圖表等,我仔細學習了繪圖技術。在設計電路初期,由于沒有設計經(jīng)驗,覺得無從下手,空有很多設計思想,卻不知道應該選哪個,經(jīng)過導師的指導,我的設計漸漸有了頭緒,通過查閱資料,逐漸確立系統(tǒng)方案。畢業(yè)設計對于每個大學生來說是一門必修課程,在大學這一個求學階段只有一次。完成了電路設計這一部分的工作內容,我覺得自己將曾經(jīng)學習過的知識再次學習了一遍,對于各個元器件的設計規(guī)則,又有了進一步的熟悉。在這個的過程中,遇到的問題也非常多,在經(jīng)過遇到問題,思索問題到解決問題的過程中,收獲是最多的。以往沒有注意到的問題,都在這一次的畢業(yè)設計中得以體現(xiàn),這培養(yǎng)了我的細心,耐心和專心。指導老師給予的指導、同學的幫助讓我受益良多,無論是理論工作上的計算,還是實際的操作,老師都給我們做了詳細的分析,讓我在設計各個量時更能理論結合實際,更合理的進行安排設計。6.2展望科技的發(fā)展日新月異,人工智能領域的發(fā)展更是迅速,隨著人工智能技術的不斷提高,其相關應用也越來越廣泛,其中最為顯著的是在圖像識別、語音識別和自然語言處理方面的應用,這些技術的發(fā)展給人們帶來了很多便利。機器視覺可以說是人工智能的基礎設施層,它的應用領域是非常深、非常多的,從整個產(chǎn)業(yè)鏈的全景圖來講,中國的人工智能產(chǎn)業(yè)模塊處在快速的生態(tài)構建期。總而言之,人工智能領域的發(fā)展和應用有很大的前景,但此次設計的智能AI糕點分揀系統(tǒng)也存在不足的地方,以后有待改進。參考文獻[1]蒲睿強,吳封斌,王璐,岳洪吉.基于eM-Plant的異型煙分揀系統(tǒng)仿真技術應用[J].科技與創(chuàng)新,2022(22):166-168.DOI:10.15913/ki.kjycx.2022.22.047.[2]楊旭東,胡淵富,蒲睿強,徐明陽.異型煙分揀系統(tǒng)碼垛作業(yè)優(yōu)化研究[J].機械設計與制造,2022(11):139-143.DOI:10.19356/ki.1001-3997.2022.11.028.[3]王鳳娟.基于PLC控制的物件識別與分揀系統(tǒng)設計與實現(xiàn)[J].電器工業(yè),2022(11):68-71.[4]謝金濤.物料循環(huán)分揀系統(tǒng)PLC控制系統(tǒng)設計[J].南方農(nóng)機,2022,53(21):75-77.[5]王銀明,張丹.基于并聯(lián)機器人的單片裝火腿缺陷識別與分揀系統(tǒng)設計[J].食品與機械,2022,38(10):104-109.DOI:10.13652/j.spjx.1003.5788.2022.60080.[6]楊恒源,陳宇,姚晨彧,孟祥祥,胡驍原.基于RFID技術的智能書本分揀系統(tǒng)[J].機械工程師,2022(10):42-44.[7]楊旭東,蒲睿強,徐明陽,胡淵富.基于eM-Plant的異型煙分揀系統(tǒng)仿真優(yōu)化及應用[J].機械設計與制造,2022(10):125-128.DOI:10.19356/ki.1001-3997.2022.10.004.[8]廖耿斌.基于PLC的物料分揀遠程監(jiān)制系統(tǒng)[J].電子制作,2022,30(19):42-44+18.DOI:10.16589/11-3571/tn.2022.19.014.[9]周麗霞,龔勤慧,周樹強.基于FactoryIO的視覺分揀系統(tǒng)仿真[J].成都航空職業(yè)技術學院學報,2022,38(03):54-56+81.[10]龔博陽,鮑光海.基于圖像處理的接觸器動態(tài)特性測試方法[J].電器與能效管理技術,2020,0(5):10-14.[11]郭壯,曹冬梅,童一飛.基于樹莓派4B的運動目標追蹤研究[J].現(xiàn)代電子技術,2019,40(15):14-16.[12]吳忠文,費樹岷.基于樹莓派4B目標跟蹤算法的優(yōu)化[J].工業(yè)控制計算機,2018,31(4):77-79.[13]馮志剛,賈寧寧,朱琳琳.基于樹莓派4B的視頻跟蹤系統(tǒng)的設計與實現(xiàn)[J].沈陽航空航天大學學報,2018,35(6):68-74.[14]魏立梅,謝維信.模糊聯(lián)想記憶系統(tǒng)規(guī)則提取的新方法[D].西安電子科技大學學報,2019,26(4);420-425.[15]徐恒,郭曉瑩.歐姆龍FH視覺系統(tǒng)在物料分揀中的應用[J].電腦知識與技術,2022,18(27):18-20.DOI:10.14004/ki.ckt.2022.1755.[16]GuoHuiling,WangJuan,RenSu,ZhengLangFan,ZhuangYiXuan,LiDongLin,SunHuiHui,LiuLiYing,XieChangchuan,WuYaYing,WangHongRui,DengXianming,LiPeng,ZhaoTongJin.TargetingEGFR-dependenttumorsbydisruptinganARF6-mediatedsortingsystem[J].NatureCommunications,2022,13(1).[17]MichaelLevans.Roboticsortingsystemcansortsmallitems[J].MaterialHandlingProductNews,2022,44(5).[18]ZhuangZilong,LiuYing,YangYutu,ShenYinxi,GouBinli.ColorRegressionandSortingSystemofSolidWoodFloor[J].Forests,2022,13(9).[19]XuXianhao,ChenYuerong,ZouBipan,GongYeming.Assignmentofparcelstoloadingstationsinroboticsortingsystems[J].TransportationResearchPartE,2022,164.[20]ChenSsuHan,JangJerHuan,ChangYuRu,KangChihHsiang,ChenHungYi,LiuKevinFongRey,LeeFongLin,HsuehYangShen,YouhMengJey.AnAutomaticForeignMatterDetectionandSortingSystemforPVCPowder[J].AppliedSciences,2022,12(12).附錄電路圖源代碼importKPUaskpuimportsensorimportlcdfromMaiximportGPIOfromfpioa_managerimportfmimporttimeimportgcfrommicropythonimportconst#導入constfromboardimportboard_infofrommachineimportTimer,PWM#ServoimportSG90_360_Drive###########################################config#################################################class_num=3#類數(shù)量sample_num=15#樣本數(shù)量THRESHOLD=11#閾值class_names=['Surroundings','Pastry1','Pastry2']#類名稱:環(huán)境、糕點1、糕點2board_cube=0Identify_Results={'Identify_Situation':"",'Identify_Index':''}#識別結果SYS_Status='END'#系統(tǒng)狀態(tài):狀態(tài)cap_num=0#抓取訓練數(shù)量train_status=0#訓練狀態(tài)last_cap_time=0#上次訓練抓取時間last_btn_status=1#上次按鍵狀態(tài)############################################################################################################################################SG-90360#################################################tim1=Timer(Timer.TIMER2,Timer.CHANNEL0,mode=Timer.MODE_PWM)Ctr_Sg90_360_1=PWM(tim1,freq=50,duty=0,pin=board_info.PIN_Ctr_SG90_360)Sg90_360_1=SG90_360_Drive.SG90_360(Ctr_Sg90_360_1)Sg90_360_1.Init()#initSG-90360##############################################################################################################################################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.GPIOHS2)#注冊IO-KEY2KEY_SYS=GPIO(GPIO.GPIOHS2,GPIO.IN,GPIO.PULL_UP)#構建KEY_2對象defexit_KEY_SYS_fun(KEY_SYS):#KEY_2中斷回調函數(shù)globalSYS_Status,train_statusiftrain_status!=0:time.sleep_ms(10)#消除抖動ifKEY_SYS.value()==0:#確認按鍵被按下ifSYS_Status=='END':SYS_Status='RUN'else:SYS_Status='END'KEY_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_State=''defOperation(operation_state):ifOperation_State!='':ifOperation_State=='SYN':#System--ENDSg90_360_1.Stop()#舵機關閉elifOperation_State=='operation_waste_1':#類1--正轉Sg90_360_1.Clockwise()#舵機正轉elifOperation_State=='operation_waste_2':#類2--反轉Sg90_360_1.Anticlockwise()#舵機反轉elifOperation_State=='surroundings':#環(huán)境--surroundingspass#保持else:passelse:pass#####################################################################################################設置攝像頭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:#如果抓取數(shù)量<類數(shù)量img=draw_string(img,0,200,"pressbootkeytocap"+class_names[cap_num],color=lcd.WHITE,scale=1,bg=lcd.RED)#顯示請按鍵抓取類xelifcap_num<class_num+sample_num:#如果類數(shù)量<抓取數(shù)量<類數(shù)量+樣例數(shù)量img=draw_string(img,0,200,"bootkeytocapsample{}".format(cap_num-class_num),color=lcd.WHITE,scale=1,bg=lcd.RED)#顯示請按鍵抓取樣例x#trainandpredictiftrain_status==0:#如果訓練狀態(tài):0(未訓練)ifcap_num>=class_num+sample_num:#如果類數(shù)量+樣例數(shù)量<抓取數(shù)量print("starttrain")#print開始訓練img=draw_string(img,30,100,"training...",color=lcd.WHITE,scale=2,bg=lcd.RED)#顯示training...lcd.display(img)#顯示classifier.train()#訓練print("trainend")train_status=1#訓練狀態(tài)=1else:#如果訓練狀態(tài):1res_index=-1try:res_index,min_dist=classifier.predict(img)print("{:.2f}".format(min_dist))exceptExceptionase:print("predicterr:",e)ifres_index>=0andmin_dist<THRESHOLD:#如果返回Index>=0&&特征值<閾值print("predictresult:",class_names[res_index])#預期結果,類名字img=draw_string(img,2,2,class_names[res_index],color=lcd.WHITE,scale=2,bg=lcd.RED)#顯示Identify_Results['Identify_Situation']="predictresult"Identify_Results['Identify_Index']=class_names[res_index]else:#如果:(<0&特征值<閾值)(>0&特征值>閾值)<0&特征值>閾值print("unknown,maybe:",class_names[res_index])img=draw_string(img,2,2,'maybe{}'.format(class_names[res_index]),color=lcd.WHITE,scale=2,bg=lcd.RED)Identify_Results['Identify_Situation']="unknown,maybe"Identify_Results['Identify_Index']=class_names[res_index]ifSYS_Status=='END':Operation_State='SYN'else:ifIdentify_Results['Identify_Index']==class_names[0]:#class-0環(huán)境Operation_State='surroundings'elifIdentify_Results['Identify_Index']==class_names[1]:#class-1糕點1Operation_State='operation_waste_1'elifIdentify_Results['Identify_Index']==class_names[2]:#class-2糕點2Operation_State='operation_waste_2'else:passOperation(Operation_State)img=draw_string(img,2,32,'SYS_Status{}'.format(SYS_Status),color=lcd.WHITE,scale=1,bg=lcd.GREEN)lcd.display(img)#Youcansavetraineddatatofilesystemby:#classifier.save("3_classes.classifier")#Thenload:#model=kpu.load(0x300000)#classifier=kpu.classifier.load(model,"3_class.classifier")'''文件名稱:SG-90360舵機驅動文件版本:v1.0日期:2023.01.12作者:--說明:需要使用資源:PWM'''classSG90_360:def__init__(self,ctr_sg90_360):self.ctr_sg90_360=ctr_sg90_360defServo_SG90_360(self,speed):self.ctr_sg90_360.duty((speed+90)/180*2*5+0.5*5)defStop(self):#停止范圍:-3~2(設置0)self.Servo_SG90_360(0)defClockwise(self):#正轉self.Servo_SG90_360(-20)#負數(shù)為正轉,絕對值越大,轉速越快;范圍:-4~-90defAnticlockwise(self):#反轉self.Servo_SG90_360(20)#正數(shù)為反轉,絕對值越大,轉速越快;范圍:2~-90defInit(self):self.Stop()importKPUaskpuimportsensorimportlcdfromMaiximportGPIOfromfpioa_managerimportfmimporttimeimportgcfrommicropythonimportconst#導入constfromboardimportboard_infofrommachineimportTimer,PWM#ServoimportSG90_360_Drive###########################################config#################################################class_num=3#類數(shù)量sample_num=15#樣本數(shù)量THRESHOLD=11#閾值class_names=['Surroundings','Pastry1','Pastry2']#類名稱:環(huán)境、糕點1、糕點2board_cube=0Identify_Results={'Identify_Situation':"",'Identify_Index':''}#識別結果SYS_Status='END'#系統(tǒng)狀態(tài):狀態(tài)cap_num=0#抓取訓練數(shù)量train_status=0#訓練狀態(tài)last_cap_time=0#上次訓練抓取時間last_btn_status=1#上次按鍵狀態(tài)############################################################################################################################################SG-90360#################################################tim1=Timer(Timer.TIMER2,Timer.CHANNEL0,mode=Timer.MODE_PWM)Ctr_Sg90_360_1=PWM(tim1,freq=50,duty=0,pin=board_info.PIN_Ctr_SG90_360)Sg90_360_1=SG90_360_Drive.SG90_360(Ctr_Sg90_360_1)Sg90_360_1.Init()#initSG-90360##############################################################################################################################################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.GPIOHS2)#注冊IO-KEY2KEY_SYS=GPIO(GPIO.GPIOHS2,GPIO.IN,GPIO.PULL_UP)#構建KEY_2對象defexit_KEY_SYS_fun(KEY_SYS):#KEY_2中斷回調函數(shù)globalSYS_Status,train_statusiftrain_status!=0:time.sleep_ms(10)#消除抖動ifKEY_SYS.value()==0:#確認按鍵被按下ifSYS_Status=='END':SYS_Status='RUN'else:SYS_Status='END'KEY_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####################

溫馨提示

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

評論

0/150

提交評論