[發明專利]基于SVM分類的魔方色塊顏色還原方法有效
| 申請號: | 202010860737.6 | 申請日: | 2020-08-25 |
| 公開(公告)號: | CN111950654B | 公開(公告)日: | 2022-07-05 |
| 發明(設計)人: | 覃琴;胡釗藝;王鑫 | 申請(專利權)人: | 桂林電子科技大學 |
| 主分類號: | G06K9/62 | 分類號: | G06K9/62;G06T5/00;G06T5/20;G06T7/90;G06V10/774;G06V10/56;G06V10/764 |
| 代理公司: | 桂林市華杰專利商標事務所有限責任公司 45112 | 代理人: | 覃永峰 |
| 地址: | 541004 廣西*** | 國省代碼: | 廣西;45 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 svm 分類 魔方 顏色 還原 方法 | ||
1.一種基于SVM分類的魔方色塊顏色還原方法,其特征在于,包括如下步驟:
1)采集魔方色塊信息:由采集設備獲取魔方色塊六個面的圖像;
2)圖像預處理:采用高斯濾波處理和白平衡處理消除魔方色塊圖像在數字化過程中受到的噪聲、光照干擾;
3)圖像色域空間轉換:將魔方色塊進行RGB-HSV的色域空間轉換,對魔方每個面劃分成九個50*50像素大小的區域即每個面的九個魔方色塊,獲取每個區域的RGBHSV六個值,整個魔方色塊色域空間的數據則為:6*9*50*50=135000個數據,首先將魔方色塊的六種顏色設定為標簽,然后采用SVM分類訓練,將獲取的RGBHSV色域空間的數據對應所設定的標簽存放,生成XML訓練文件;
4)一對多分類法識別魔方色塊:依據步驟3)生成的XML訓練文件,采用一對多的分類法對經過步驟2)預處理的圖像進行魔方色塊識別,通過SVM分類預測出具體每個魔方色塊的顏色,所述一對多分類法即one against all是指在訓練過程中,將樣本重新分類,然后構造六個類別的六向量機,在分類過程中如果遇到未知樣本,則將其分類到訓練函數中分類值最大的那個類別,當有六個魔方顏色類別時,將這這些訓練集每個都分開訓練,就可以得到六個不同訓練結果文件,用每個訓練文件分別測試之后的每一個分量,每個測試都有一個結果,最后通過比較六個結果的最大值就可以得出測試分量屬于哪一類的哪一種魔方顏色;
5)魔方顏色修補:魔方色塊立方體是由五十四個顏色塊經過數學的排列組合方式構成,結合步驟4)預測的魔方色塊顏色、三階魔方的立方體結構與現行的國際標準著色原則進行中心塊判決、角塊判決、棱塊判決,對無法識別的色塊、識別錯誤的色塊進行校驗、修補,完成魔方各個色塊的準確識別;
步驟5)中所述的中心塊判決為:每個魔方的狀態都以得到魔方六個面對應的唯一展開圖,魔方原始狀態或還原狀態的平面展開圖,即從U面開始編號用1、2、3…數字來表示組成,最后1到48的數字表示一個完整的魔方,現行國際標準著色原則中心塊是相對固定的,6個中心塊方塊的相對位置永遠無法改變,中心塊判決采用一個數組存儲魔方各個色塊的顏色,強制改變中心塊的顏色即令[4]=白、[13]=紅、[22]=綠、[31]=黃、[40]=橙、[49]=藍;
步驟5)中所述的角塊判決為:每個魔方的角塊都是一個一階魔方體,每個角塊的顏色與魔方原配色完全相同就是對角塊推斷的依據,知道角塊兩邊的顏色,就能夠推導出角塊第三面的顏色,角塊缺失兩個以上的顏色時無法推斷出缺失的顏色,魔方角塊的規律為:(1)紅橙相對;(2)藍綠相對;(3)黃白相對;(4)上黃下白;(5)逆時針來看色彩排序:紅綠橙藍,八個角塊分別為:白橙藍(0,36,47)、白紅藍(2,11,45)、白綠橙(6,18,38)、白紅綠(8,9,20)、綠黃橙(24,27,44)、綠紅黃(15,26,29)、黃橙藍(33,42,53)、紅黃藍(17,35,51),魔方角塊的顏色不會因旋轉而改變,只要捕捉到角塊的兩個顏色,就依據“上黃下白,紅綠橙藍”的規律推斷出缺少的顏色,過程為:
5-1)固定魔方的URFDLB六個面分別對應白紅綠黃橙藍WRGYOB;
5-2)八個角塊對應的數組位置分別為:
(0,36,47)-WGR、(2,11,45)-WGO、(6,18,38)-WBR、(8,9,20)-WBO、
(24,27,44)-YGR、(15,26,29)-YGO、(33,42,53)-YBR、(17,35,51)-YBO;
5-3)設定四個數組,其中三個數組存儲角塊的24個位置,還有一個corner數組判斷哪個角塊位置出錯:
corner[8]={0};
A[8]={0,2,6,8,24,15,33,17};
B[8]={36,11,18,9,27,26,42,35};
C[8]={47,45,38,20,44,29,53,51};
5-4)規定只有兩個大類W白色與Y黃色,每個大類中有兩個中類G綠色與藍色,每個中類中又有兩個小類R紅色與O橙色,然后采用8次輪詢數組的位置去檢測上述位置中角塊的三組顏色是否正確;
5-5)大類W白色會在0、2、6、8、9、11、18、20、36、38、45、47中的十二個位置隨機出現,輪詢首先判斷上述的位置中是否存在大類W白,如果大類為白色,則中類有G綠色與B藍色兩種情況,接下來判斷中類是否為G綠色,如果中類為G綠色則有WGR、WGO兩種情況,如果小類為R紅色則判定(0,36,47)這個位置的角塊三種顏色WGR識別成功,標志位數組corner[0]置1,如果小類為O橙色則判定(2,11,45)這個位置的角塊三種顏色WGO識別成功,標志位數組corner[1]置1,如果中類不是G綠色而是B藍色則有WBR、WBO兩種情況,判斷小類為R紅色則判定(6,18,38)這個位置的角塊三種顏色WBR識別成功,標志位數組corner[2]置1,如果小類為O橙色則判定(8,9,20)這個位置的角塊三種顏色WBO識別成功,標志位數組corner[3]置1;
5-6)接下來判斷大類Y黃色,大類Y黃色會在15、17、24、26、27、29、33、35、42、44、51、53中的十二個位置隨機出現,在大類Y黃色中有兩種中類G綠色與B藍色兩種情況,接下來判斷中類是否為G綠色,如果中類為G綠色則有YGR、YGO兩種情況,如果小類為R紅色則判定(24,27,44)這個位置的角塊三種顏色YGR識別成功,標志位數組corner[4]置1,如果小類為O橙色則判定(15,26,29)這個位置的角塊三種顏色YGO識別成功,標志位數組corner[5]置1,如果中類不是G綠色而是B藍色則有YBR、YBO兩種情況,判斷小類為R紅色則判定(33,42,53)這個位置的角塊三種顏色WBR識別成功,標志位數組corner[6]置1,如果小類為O橙色則判定(17,35,51)這個位置的角塊三種顏色YBO識別成功,標志位數組corner[7]置1;
5-7)依據數組corner中的標志位去判斷哪個角塊位置是識別錯誤的,然后去修補該位置缺失的顏色;
步驟5)中所述的棱塊判決過程為:魔方色塊共有12個棱塊,分別為白藍(1,46)、白橙(3,37)、白紅(5,10)、白綠(7,19)、黃綠(28,25)、黃橙(30,43)、黃紅(32,16)、黃藍(34,52)、紅綠(12,23)、紅藍(14,48)、藍橙(50,39)、綠橙(21,41),
a:固定魔方的URFDLB六個面分別對應白紅綠黃橙藍WRGYOB:
b:十二個角塊對應的數組位置分別為:
(1,46)-WG、(3,37)-WR、(5,10)-WB、(7,19)-WO
(28,25)-YG、(30,43)-YR、(32,16)-YB、(34,52)-YO
(12,23)-GR、(14,48)-GO、(50,39)-BR、(21,41)-BO;
c:設定三個數組,其中兩個數組存儲棱塊的24個位置,還有一個edge數組判斷哪個棱塊位置出錯:
A[12]={1,3,5,7,28,30,32,34,12,14,50,21};
B[12]={46,37,10,19,25,43,16,52,23,48,39,41};
edge[12]={0};
d:規定分為四個大類W白色、Y黃色、G綠色、B藍色,在大類W白色與Y黃色中有存在另外三種顏色的情況,在大類G綠色和B藍色中有存在R紅色與O橙色的情況,采用12次輪詢數組的位置去檢測上述位置中的棱塊;
e:首先判斷大類W白色,W白色會在1、3、5、7、10、19、37、46中的八個位置隨機出現,接下來識別到G綠色則(1,46)位置識別成功,標志位edge[0]置1,識別到R紅色則(3,37)位置識別成功,標志位edge[1]置1,識別到B藍色則(5,10)位置識別成功,標志位edge[2]置1,識別到O橙色則(7,19)位置識別成功,標志位edge[3]置1;
f:接下來判斷大類Y白色,Y黃色會在16、25、28、30、32、34、43、52中的八個位置隨機出現,然后識別到G綠色則(28,25)位置識別成功,標志位edge[4]置1,識別到R紅色則(30,43)位置識別成功,標志位edge[5]置1,識別到B藍色則(32,16)位置識別成功,標志位edge[6]置1,識別到O橙色則(34,52)位置識別成功,標志位edge[7]置1;
g:然后繼續判斷大類G綠色,G綠色會在12、14、23、48中的四個位置隨機出現,然后識別到R紅色則(12,23)位置識別成功,標志位edge[8]置1,識別到O橙色則(14,48)位置識別成功,標志位edge[9]置1;
h:最后判斷大類B藍色,B藍色會在21、39、41、50中的四個位置隨機出現,然后識別到R紅色則(50,39)位置識別成功,標志位edge[10]置1,識別到O橙色則(21,41)位置識別成功,標志位edge[11]置1;
i:根據數組edge中的標志位去判斷哪個棱塊位置是識別錯誤的,在白色大類識別錯誤一個顏色,則只能通過校驗edge[0]、edge[1]、edge[2]、edge[3]的標志位去還原顏色:
i-1)當edge[0]=0、edge[1]=1、edge[2]=1、edge[3]=1時,則知道缺失了G綠色;
i-2)當edge[0]=1、edge[1]=0、edge[2]=1、edge[3]=1時,則知道缺失了R紅色;
i-3)當edge[0]=1、edge[1]=1、edge[2]=0、edge[3]=1時,則知道缺失了B藍色;
i-4)當edge[0]=1、edge[1]=1、edge[2]=1、edge[3]=0時,則知道缺失了O橙色。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于桂林電子科技大學,未經桂林電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010860737.6/1.html,轉載請聲明來源鉆瓜專利網。





