[發明專利]一種基于Android手機的智能LED識別方法有效
| 申請號: | 202011563555.9 | 申請日: | 2020-12-25 |
| 公開(公告)號: | CN112738325B | 公開(公告)日: | 2021-11-23 |
| 發明(設計)人: | 胡海根;章遠;尤芷芊;張浩;張建行;杜超 | 申請(專利權)人: | 浙江工業大學 |
| 主分類號: | H04M1/72403 | 分類號: | H04M1/72403;H04M1/72439;G06K9/00 |
| 代理公司: | 杭州斯可睿專利事務所有限公司 33241 | 代理人: | 王利強 |
| 地址: | 310014 浙江省*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 android 手機 智能 led 識別 方法 | ||
1.一種基于Android手機的智能LED識別方法,其特征在于,所述方法包括以下步驟:
步驟1:采用隨機二進制編碼算法初始化LED燈組,過程如下:
步驟1.1:依據LED的數量N,建立一維整型數組A[2*N],數組元素值初始化為0,索引代表二進制編碼,二進制數的位數則由整型變量Y決定,Y的值由公式2^Y≥N≥2^(Y-1)得出;
步驟1.2:隨機二進制編碼:首先對所有LED進行順序二進制編碼,即遍歷N,將從1至N依次存儲到A[2*N]中,在第一次順序編碼時需要跳過二進制位為若干個0或1連續的編碼數值;
步驟1.3:使用快速隨機打亂算法將所有的LED編碼進行隨機打亂,打亂算法的過程如下:獲取要打亂的原數組A長度L,并令i=0;開始在0-L的范圍內生成隨機數r,將數組A隨機數位置的元素作為新數組B的第i個元素,再將數組A第L個元素移動到隨機數r的位置上并將L減1,i加1;重復循環隨機選數過程直到數組A所有的元素都被復制到數組B中,數組B就是需要的打亂后的數組;此時數組B的索引形成的二進制數代表的便是LED燈的閃滅指令,而相應索引中存儲的值便是燈的編號;
步驟1.4:將N個小彩燈的閃滅規則傳回終端,采用兩層封裝,首先將通過函數傳遞回來的LED編號、顏色、維持周期等信息解析成每一個燈的RGB具體數據,然后再把具體數據封裝成燈可以接受的數據包,最后把數據包發送會終端;最終令LED以兩秒每次的頻率進行顏色轉換;在初始化之前,首先將第一幀設置為LED全亮,以便于能夠識別鏡頭內的所有小彩燈;
步驟1.5:在使用LED閃亮顏色時,使用波長最短、散發光暈最小的的紫光以提高識別精度,在訓練時隨機使用0~255內的紫光亮度以適應不同應用場景下的識別;
步驟2:通過手機攝像頭拍攝獲取視頻;
步驟3:每隔兩秒對視頻進行截取,得到圖片集合P={Pi|i=1,2,…,nP};
步驟4:使用YOLOv4模型對每張圖片Pi進行分析,識別照片中LED的位置坐標和亮滅狀態,過程如下:
步驟4.1:利用模型的向前計算,實現從像素矩陣到目標向量的轉換,本模型采用多目標檢測,當第一幀LED全亮時,可識別照片內的所有LED目標,數量為M,每一個目標含有五個參數:{x,y,w,h,p};
步驟4.2:五個參數中,p代表置信度,遍歷M個LED,對其置信度進行審查,當p≤0.3時拋棄此LED,經過一輪篩選,剩余K個LED;
步驟4.3:建立一個整形數組C[K],數組元素值初始化為0,用于存儲每次識別之后的LED亮滅狀態,并建立結構體led,內部數據為:{m,x,y,C[i]},用于存儲識別到的LED的坐標和初始化之后形成的二進制編碼,其中m代表LED的編號;
步驟4.4:使用防抖算法精準識別LED,首先對輸入視頻的參考幀和當前幀進行預處理,再進行行、列灰度投影,對灰度投影的數據進行互相關運算,得到水平抖動分量和垂直抖動分量proGk(i)、proGk(j)分;將圖像分為若干個宏塊,在每個宏塊中,將得到的抖動分量作為塊匹配運動估計的初始點的偏移量,以SDSP為模板計算SAD值,通過互相關運算,匹配到極小值點即為最佳匹配點;參考幀中的參考點與最佳匹配點間的位移即該宏塊的塊運動矢量,以此方法,計算出各個宏塊的塊運動矢量,以出現次數最多的塊運動矢量作為參考幀和當前幀間的全局運動矢量,得到穩定視頻序列,實現精確定位LED坐標的目的;
步驟4.5:每當使用模型識別一次照片后,都需要將C[i]左移一位,即以二進制形式將前幾次的閃滅狀態保存,而對于新一輪檢測結果的保存,則是當檢測到C[i]目標時,代表此時C[i]處于亮燈狀態,將C[i]加1,代表二進制下此位為1,處于亮燈狀態;而未檢測到的LED則不加1,代表二進制下此位為0,處于滅燈狀態;
步驟5:依據每次的識別結果,回溯找尋到相應坐標下的LED編號,過程如下:
步驟5.1:當LED亮滅Y次之后,模型檢測出Y位的01狀態并存儲到數組C中,依據C[i]中存儲的值,尋找對應的A[i]下標;
步驟5.2:找到之后,將相應A[i]中存儲的值賦值給結構體led的整型變量m,即LED的編號,之后將LED結構體數據傳送到前端;
步驟6:手機前端依據傳回的坐標x,y,在手機界面形成相應的光點坐標以達到可視化的目的;
步驟7:待用戶編輯完成并點擊發送后,將編輯的數據解析成終端能接收的數據包形式以實現具象化的目的。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江工業大學,未經浙江工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011563555.9/1.html,轉載請聲明來源鉆瓜專利網。





