本發(fā)明涉及線纜質(zhì)量檢測(cè),具體的說(shuō)是一種基于國(guó)產(chǎn)環(huán)境的護(hù)套字符識(shí)別方法及系統(tǒng)。
背景技術(shù):
1、護(hù)套線纜字符識(shí)別是隨著工業(yè)技術(shù)的發(fā)展而出現(xiàn)的一種生產(chǎn)方式,其目的是通過(guò)自動(dòng)化設(shè)備將線纜字符進(jìn)行識(shí)別,通過(guò)識(shí)別出的字符與預(yù)設(shè)字符比對(duì)來(lái)判斷線纜是否正常噴漆,從而及時(shí)調(diào)整噴碼機(jī),減少?gòu)U線產(chǎn)生率,降低企業(yè)損失。
2、線纜行業(yè)作為我國(guó)第二大產(chǎn)業(yè),如何利用機(jī)器視覺(jué)、自動(dòng)化技術(shù)、物聯(lián)網(wǎng)技術(shù)加快線纜制造業(yè)產(chǎn)業(yè)升級(jí),提高生產(chǎn)效率和制造水平,降低制造成本是當(dāng)前亟待解決的問(wèn)題。全自動(dòng)線纜檢測(cè)設(shè)備作為線纜質(zhì)量控制的重要部件,近年來(lái)受到了越來(lái)越多的重視。線纜表觀檢測(cè)作為線纜檢測(cè)項(xiàng)目中的重要組成部分,一直是國(guó)內(nèi)外研究的熱點(diǎn)。
3、在線纜制造過(guò)程中,通常采用噴印、激光打印等方式將線纜生產(chǎn)日期、生產(chǎn)批次、線纜類型、長(zhǎng)度等信息標(biāo)記在線纜表面。為了控制產(chǎn)品質(zhì)量,記錄產(chǎn)品信息,需要對(duì)線纜表面信息進(jìn)行識(shí)別和監(jiān)測(cè)。傳統(tǒng)線纜表面信息識(shí)別工作往往依靠工人肉眼觀測(cè),工作量大且效率低下。同時(shí),隨著線纜生產(chǎn)速度的不斷提高,目前線纜制造速度普遍為60m/min,依靠人工的方法無(wú)法實(shí)現(xiàn)線纜表觀信息的實(shí)時(shí)監(jiān)測(cè)。因此,高速運(yùn)動(dòng)中線纜表觀字符的實(shí)時(shí)識(shí)別,對(duì)于提高線纜生產(chǎn)效率、降低成本,實(shí)現(xiàn)工業(yè)升級(jí)具有較大意義。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明針對(duì)護(hù)套線纜行業(yè)無(wú)法人眼實(shí)時(shí)觀測(cè)噴碼字符,導(dǎo)致出現(xiàn)噴碼機(jī)噴碼錯(cuò)誤時(shí)無(wú)法及時(shí)糾正而導(dǎo)致的效率低下、成本較高等問(wèn)題,提供一種基于國(guó)產(chǎn)環(huán)境的護(hù)套字符識(shí)別方法及系統(tǒng)。
2、第一方面,本發(fā)明提供一種基于國(guó)產(chǎn)環(huán)境的護(hù)套字符識(shí)別方法,解決上述技術(shù)問(wèn)題采用的技術(shù)方案如下:
3、一種基于國(guó)產(chǎn)環(huán)境的護(hù)套字符識(shí)別方法,其包括如下步驟:
4、s1、通過(guò)2d相機(jī)實(shí)時(shí)獲取包含線纜噴碼字符的圖像;
5、s2、通過(guò)客戶端接口調(diào)用相機(jī)函數(shù),獲取圖像并進(jìn)行分割預(yù)處理;
6、s3、客戶端與服務(wù)端之間建立tcp連接,隨后將分割預(yù)處理后的圖像數(shù)據(jù)傳輸?shù)椒?wù)端;服務(wù)端接收?qǐng)D像數(shù)據(jù)并存入隊(duì)列,服務(wù)端通過(guò)調(diào)用國(guó)產(chǎn)板卡的sdk,將圖像數(shù)據(jù)從隊(duì)列中取出送入分割模型進(jìn)行推理;
7、s4、服務(wù)端完成推理后,將結(jié)果返回給客戶端,客戶端隨后進(jìn)行分割后處理,提取字符所在最恰當(dāng)輪廓的點(diǎn)集,并根據(jù)點(diǎn)集從步驟s1的圖像中裁切出字符所在的區(qū)域;
8、s5、對(duì)裁切出的區(qū)域圖像進(jìn)行矯正和識(shí)別預(yù)處理,然后重復(fù)步驟s3,服務(wù)端調(diào)用sdk進(jìn)行推理;
9、s6、服務(wù)端通過(guò)tcp將推理結(jié)果傳輸給客戶端,客戶端將推理結(jié)果與預(yù)設(shè)的字典表進(jìn)行比對(duì),得到識(shí)別結(jié)果。
10、可選的,執(zhí)行步驟s2,獲取圖像并進(jìn)行分割預(yù)處理,具體包括調(diào)整圖像大小、更改像素點(diǎn)的數(shù)據(jù)類型和數(shù)值大小歸一化,從而得到標(biāo)準(zhǔn)化的圖像數(shù)據(jù)。
11、可選的,所涉及分割模型是一個(gè)基于深度學(xué)習(xí)或機(jī)器學(xué)習(xí)算法的計(jì)算模型,用于處理和分析圖像數(shù)據(jù),以識(shí)別和分割圖像中的噴碼字符;
12、所涉及分割模型的訓(xùn)練過(guò)程如下:
13、收集包含線纜噴碼字符的圖像作為訓(xùn)練數(shù)據(jù);
14、對(duì)收集到的訓(xùn)練數(shù)據(jù)進(jìn)行圖像增強(qiáng)、歸一化和數(shù)據(jù)增強(qiáng)的預(yù)處理操作;
15、根據(jù)圖像分割任務(wù)的應(yīng)用場(chǎng)景和需求,選擇u-net、fcn、segnet、deeplab和ocr中的一種作為分割模型的基礎(chǔ)架構(gòu);
16、使用預(yù)處理操作后的訓(xùn)練數(shù)據(jù)對(duì)選定基礎(chǔ)架構(gòu)的分割模型進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程中,通過(guò)反向傳播算法優(yōu)化模型參數(shù),最小化損失函數(shù),使分割模型能夠準(zhǔn)確地分割出圖像中的字符;
17、在獨(dú)立的驗(yàn)證集上評(píng)估訓(xùn)練后分割模型的性能,根據(jù)評(píng)估結(jié)果進(jìn)行模型調(diào)優(yōu);
18、將調(diào)優(yōu)的分割模型部署到實(shí)際的應(yīng)用場(chǎng)景中,實(shí)現(xiàn)實(shí)時(shí)的字符識(shí)別和分割功能。
19、可選的,所涉及步驟s4具體包括:
20、s4.1、過(guò)濾:送入分割模型圖像數(shù)據(jù)包括前景和背景,分割模型對(duì)圖像數(shù)據(jù)中的每個(gè)像素點(diǎn)進(jìn)行計(jì)算,估算該像素點(diǎn)屬于前景的概率,全部計(jì)算完成后,分割模型返回一個(gè)與圖像數(shù)據(jù)大小相同的概率矩陣,隨后,設(shè)定一個(gè)閾值t,將概率矩陣轉(zhuǎn)換為二值形式,得到一張初步分割后的二值圖片c,具體公式如下:
21、c=t*o,
22、其中,c表示初步分割后的二值圖片,t表示設(shè)定的閾值,o表示步驟s1獲取的圖像數(shù)據(jù);
23、s4.2、膨脹:選擇一個(gè)2x2的膨脹核,對(duì)初步分割后的二值圖片進(jìn)行膨脹處理,將前景中獨(dú)立存在的像素點(diǎn)連接起來(lái);
24、s4.3、確定外接矩形:首先使用連通組件標(biāo)記算法ccl來(lái)識(shí)別圖像中相連的像素點(diǎn)區(qū)域,將每個(gè)相連的像素點(diǎn)區(qū)域標(biāo)記為獨(dú)立的前景對(duì)象,并計(jì)算其最小矩形邊界框,隨后通過(guò)旋轉(zhuǎn)卡殼算法找到任意方向上的最小外接矩形,并選擇面積最小的矩形作為最終的外接矩形,最后通過(guò)主成分分析確定最終的外接矩形為最佳的矩形外接矩形,并應(yīng)用到步驟s1獲取的圖像數(shù)據(jù)上;
25、s4.4、排序:對(duì)確定的每一個(gè)外接矩形,確定其最左側(cè)像素點(diǎn)的x坐標(biāo),創(chuàng)建一個(gè)數(shù)組來(lái)存儲(chǔ)每一個(gè)外接矩形及其對(duì)應(yīng)的最左側(cè)像素點(diǎn)x坐標(biāo),使用編程語(yǔ)言提供的排序函數(shù),根據(jù)最左側(cè)像素點(diǎn)x坐標(biāo)對(duì)整個(gè)數(shù)組進(jìn)行升序排序,按排序結(jié)果處理每一個(gè)外接矩形,以保證外接矩形與其前景對(duì)象一一對(duì)應(yīng);
26、s4.5、預(yù)防交叉框:對(duì)確定的每一個(gè)外接矩形,比較其右側(cè)相鄰矩形的y坐標(biāo),如果一個(gè)外接矩形的最右側(cè)像素點(diǎn)的y坐標(biāo)大于其右側(cè)外接矩形的最左側(cè)像素點(diǎn)的y坐標(biāo),說(shuō)明這兩個(gè)外接矩形在垂直方向上有重疊,則將左側(cè)外接矩形的右側(cè)邊向右移動(dòng),或調(diào)整右側(cè)外接矩形的左側(cè)邊向左移動(dòng),確保這兩個(gè)最佳外接矩形在垂直方向上不重疊;調(diào)整后,再次檢查每一個(gè)外接矩形,確認(rèn)無(wú)重疊現(xiàn)象發(fā)生;
27、s4.6、圖片裁切:獲取每一個(gè)外接矩形的四個(gè)頂點(diǎn)坐標(biāo),來(lái)定義每個(gè)字符在步驟s1獲取圖像數(shù)據(jù)中的位置,并裁切出該字符所在圖像中的區(qū)域。
28、可選的,執(zhí)行步驟s5,對(duì)裁切出的區(qū)域圖像進(jìn)行矯正和識(shí)別預(yù)處理,具體包括:
29、s5.1、通過(guò)透視變換技術(shù)對(duì)裁切出的區(qū)域圖像進(jìn)行矯正;
30、s5.2、對(duì)矯正后的圖像進(jìn)行縮放,縮放到分割模型輸入的大?。菏紫缺3殖C正后圖像的高度不變,寬度縮放為原來(lái)寬度的2/3;隨后計(jì)算比值r,r為矯正后圖像中寬度與高度的比值,公式如下:r=(img.cols)/(img.rows);再后針對(duì)初次縮放后的圖像,判斷其高度imgh和r的乘積與其寬度imgw的大小,若其高度imgh和r的乘積大于其寬度imgw,則該圖像的縮放寬度值resize_w取值寬度imgw,若其高度imgh和r的乘積不超過(guò)其寬度imgw,則該圖像的縮放寬度值resize_w取值高度imgh和r的乘積,根據(jù)判斷結(jié)果,進(jìn)行該圖像的二次縮放;完成二次縮放后,若圖像寬度仍未達(dá)到分割模型的輸入標(biāo)準(zhǔn),則使用灰度值進(jìn)行填充;
31、s5.3、將縮放后圖像的數(shù)據(jù)類型轉(zhuǎn)換為32位浮點(diǎn)數(shù),計(jì)算轉(zhuǎn)換后圖像所有像素值的平均值,然后將轉(zhuǎn)換后圖像的每個(gè)像素值除以255并減去所有像素值的平均值,最后除以方差,完成縮放后圖像的歸一化處理。
32、第二方面,本發(fā)明提供一種基于國(guó)產(chǎn)環(huán)境的護(hù)套字符識(shí)別系統(tǒng),解決上述技術(shù)問(wèn)題采用的技術(shù)方案如下:
33、一種基于國(guó)產(chǎn)環(huán)境的護(hù)套字符識(shí)別系統(tǒng),其結(jié)構(gòu)包括:
34、圖像獲取模塊,用于通過(guò)2d相機(jī)實(shí)時(shí)獲取包含線纜噴碼字符的圖像;
35、分割預(yù)處理模塊,用于通過(guò)客戶端接口調(diào)用相機(jī)函數(shù),獲取圖像并進(jìn)行分割預(yù)處理;
36、連接建立模塊,用于在客戶端與服務(wù)端之間建立tcp連接,以將分割預(yù)處理后的圖像數(shù)據(jù)傳輸?shù)椒?wù)端;
37、數(shù)據(jù)傳送模塊,用于通過(guò)服務(wù)端接收?qǐng)D像數(shù)據(jù)并存入隊(duì)列,通過(guò)調(diào)用國(guó)產(chǎn)板卡的sdk將圖像數(shù)據(jù)從隊(duì)列中取出送入分割模型進(jìn)行推理;
38、結(jié)果返回模塊,用于在分割模型完成推理后,將結(jié)果返回給客戶端;
39、提取裁切模塊,用于在客戶端進(jìn)行分割后處理,提取字符所在最恰當(dāng)輪廓的點(diǎn)集,并根據(jù)點(diǎn)集從圖像獲取模塊獲取的圖像中裁切出字符所在的區(qū)域;
40、矯正處理模塊,用于將裁切出的區(qū)域圖像進(jìn)行矯正和識(shí)別預(yù)處理,然后調(diào)用連接建立模塊和數(shù)據(jù)傳送模塊,通過(guò)分割模型對(duì)該區(qū)域圖像進(jìn)行推理;
41、比對(duì)識(shí)別模塊,用于獲取結(jié)果返回模塊返回給客戶端的該區(qū)域圖像的推理結(jié)果,并將推理結(jié)果與預(yù)設(shè)的字典表進(jìn)行比對(duì),得到識(shí)別結(jié)果并傳送至客戶端進(jìn)行顯示。
42、可選的,所涉及分割預(yù)處理模塊通過(guò)客戶端接口調(diào)用相機(jī)函數(shù),獲取圖像并進(jìn)行分割預(yù)處理,具體包括調(diào)整圖像大小、更改像素點(diǎn)的數(shù)據(jù)類型和數(shù)值大小歸一化,從而得到標(biāo)準(zhǔn)化的圖像數(shù)據(jù)。
43、可選的,所涉及分割模型是一個(gè)基于深度學(xué)習(xí)或機(jī)器學(xué)習(xí)算法的計(jì)算模型,用于處理和分析圖像數(shù)據(jù),以識(shí)別和分割圖像中的噴碼字符;
44、所涉及分割模型的訓(xùn)練過(guò)程如下:
45、收集包含線纜噴碼字符的圖像作為訓(xùn)練數(shù)據(jù);
46、對(duì)收集到的訓(xùn)練數(shù)據(jù)進(jìn)行圖像增強(qiáng)、歸一化和數(shù)據(jù)增強(qiáng)的預(yù)處理操作;
47、根據(jù)圖像分割任務(wù)的應(yīng)用場(chǎng)景和需求,選擇u-net、fcn、segnet、deeplab和ocr中的一種作為分割模型的基礎(chǔ)架構(gòu);
48、使用預(yù)處理操作后的訓(xùn)練數(shù)據(jù)對(duì)選定基礎(chǔ)架構(gòu)的分割模型進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程中,通過(guò)反向傳播算法優(yōu)化模型參數(shù),最小化損失函數(shù),使分割模型能夠準(zhǔn)確地分割出圖像中的字符;
49、在獨(dú)立的驗(yàn)證集上評(píng)估訓(xùn)練后分割模型的性能,根據(jù)評(píng)估結(jié)果進(jìn)行模型調(diào)優(yōu);
50、將調(diào)優(yōu)的分割模型部署到實(shí)際的應(yīng)用場(chǎng)景中,實(shí)現(xiàn)實(shí)時(shí)的字符識(shí)別和分割功能。
51、可選的,所涉及提取裁切模塊在客戶端進(jìn)行分割后處理,提取字符所在最恰當(dāng)輪廓的點(diǎn)集,并根據(jù)點(diǎn)集從圖像獲取模塊獲取的圖像中裁切出字符所在的區(qū)域,具體過(guò)程包括:
52、過(guò)濾:送入分割模型圖像數(shù)據(jù)包括前景和背景,分割模型對(duì)圖像數(shù)據(jù)中的每個(gè)像素點(diǎn)進(jìn)行計(jì)算,估算該像素點(diǎn)屬于前景的概率,全部計(jì)算完成后,分割模型返回一個(gè)與圖像數(shù)據(jù)大小相同的概率矩陣,隨后,設(shè)定一個(gè)閾值t,將概率矩陣轉(zhuǎn)換為二值形式,得到一張初步分割后的二值圖片c,具體公式如下:
53、c=t*o,
54、其中,c表示初步分割后的二值圖片,t表示設(shè)定的閾值,o表示步驟s1獲取的圖像數(shù)據(jù);
55、膨脹:選擇一個(gè)2x2的膨脹核,對(duì)初步分割后的二值圖片進(jìn)行膨脹處理,將前景中獨(dú)立存在的像素點(diǎn)連接起來(lái);
56、確定外接矩形:首先使用連通組件標(biāo)記算法ccl來(lái)識(shí)別圖像中相連的像素點(diǎn)區(qū)域,將每個(gè)相連的像素點(diǎn)區(qū)域標(biāo)記為獨(dú)立的前景對(duì)象,并計(jì)算其最小矩形邊界框,隨后通過(guò)旋轉(zhuǎn)卡殼算法找到任意方向上的最小外接矩形,并選擇面積最小的矩形作為最終的外接矩形,最后通過(guò)主成分分析確定最終的外接矩形為最佳的矩形外接矩形,并應(yīng)用到步驟s1獲取的圖像數(shù)據(jù)上;
57、排序:對(duì)確定的每一個(gè)外接矩形,確定其最左側(cè)像素點(diǎn)的x坐標(biāo),創(chuàng)建一個(gè)數(shù)組來(lái)存儲(chǔ)每一個(gè)外接矩形及其對(duì)應(yīng)的最左側(cè)像素點(diǎn)x坐標(biāo),使用編程語(yǔ)言提供的排序函數(shù),根據(jù)最左側(cè)像素點(diǎn)x坐標(biāo)對(duì)整個(gè)數(shù)組進(jìn)行升序排序,按排序結(jié)果處理每一個(gè)外接矩形,以保證外接矩形與其前景對(duì)象一一對(duì)應(yīng);
58、預(yù)防交叉框:對(duì)確定的每一個(gè)外接矩形,比較其右側(cè)相鄰矩形的y坐標(biāo),如果一個(gè)外接矩形的最右側(cè)像素點(diǎn)的y坐標(biāo)大于其右側(cè)外接矩形的最左側(cè)像素點(diǎn)的y坐標(biāo),說(shuō)明這兩個(gè)外接矩形在垂直方向上有重疊,則將左側(cè)外接矩形的右側(cè)邊向右移動(dòng),或調(diào)整右側(cè)外接矩形的左側(cè)邊向左移動(dòng),確保這兩個(gè)最佳外接矩形在垂直方向上不重疊;調(diào)整后,再次檢查每一個(gè)外接矩形,確認(rèn)無(wú)重疊現(xiàn)象發(fā)生;
59、圖片裁切:獲取每一個(gè)外接矩形的四個(gè)頂點(diǎn)坐標(biāo),來(lái)定義每個(gè)字符在步驟s1獲取圖像數(shù)據(jù)中的位置,并裁切出該字符所在圖像中的區(qū)域。
60、可選的,所涉及矯正處理模塊對(duì)裁切出的區(qū)域圖像進(jìn)行矯正和識(shí)別預(yù)處理,具體過(guò)程包括:
61、通過(guò)透視變換技術(shù)對(duì)裁切出的區(qū)域圖像進(jìn)行矯正;
62、對(duì)矯正后的圖像進(jìn)行縮放,縮放到分割模型輸入的大?。菏紫缺3殖C正后圖像的高度不變,寬度縮放為原來(lái)寬度的2/3;隨后計(jì)算比值r,r為矯正后圖像中寬度與高度的比值,公式如下:r=(img.cols)/(img.rows);再后針對(duì)初次縮放后的圖像,判斷其高度imgh和r的乘積與其寬度imgw的大小,若其高度imgh和r的乘積大于其寬度imgw,則該圖像的縮放寬度值resize_w取值寬度imgw,若其高度imgh和r的乘積不超過(guò)其寬度imgw,則該圖像的縮放寬度值resize_w取值高度imgh和r的乘積,根據(jù)判斷結(jié)果,進(jìn)行該圖像的二次縮放;完成二次縮放后,若圖像寬度仍未達(dá)到分割模型的輸入標(biāo)準(zhǔn),則使用灰度值進(jìn)行填充;
63、將縮放后圖像的數(shù)據(jù)類型轉(zhuǎn)換為32位浮點(diǎn)數(shù),計(jì)算轉(zhuǎn)換后圖像所有像素值的平均值,然后將轉(zhuǎn)換后圖像的每個(gè)像素值除以255并減去所有像素值的平均值,最后除以方差,完成縮放后圖像的歸一化處理。
64、本發(fā)明的一種基于國(guó)產(chǎn)環(huán)境的護(hù)套字符識(shí)別方法及系統(tǒng),與現(xiàn)有技術(shù)相比具有的有益效果是:
65、1、本發(fā)明通過(guò)2d相機(jī)配合相應(yīng)分割模型即可完成護(hù)套線纜的字符識(shí)別功能,通過(guò)識(shí)別出的字符與字典表的比對(duì)可發(fā)現(xiàn)護(hù)套線纜噴漆字符是否準(zhǔn)確,可以提升產(chǎn)品質(zhì)量并減少噴槍出錯(cuò)導(dǎo)致的損失;
66、2、本發(fā)明的客戶端與服務(wù)端通過(guò)tcp連接,能夠快速響應(yīng),滿足快速處理圖像或視頻的要求;通過(guò)分析分割后處理數(shù)據(jù),依次進(jìn)行過(guò)濾、膨脹、尋找最佳外接矩形、排序、避免交叉框等操作能夠較好地實(shí)現(xiàn)噴漆字符的分割,同時(shí)還能保證一定的速度;通過(guò)對(duì)裁切圖片的圖像校正與縮放的一系列操作,使得噴漆字符出現(xiàn)在裁切字符中恰當(dāng)位置并使得縮放后的圖片中噴漆字符間距合理,能夠提升識(shí)別準(zhǔn)確率。