国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于SVG動(dòng)態(tài)圖表的高魯棒性圖像識(shí)別方法

2018-07-06 08:51張帥
現(xiàn)代計(jì)算機(jī) 2018年16期
關(guān)鍵詞:縱坐標(biāo)圖像識(shí)別頁(yè)面

張帥

(廣州工商學(xué)院計(jì)算機(jī)科學(xué)與工程系,佛山 528138)

0 引言

當(dāng)前由于保護(hù)數(shù)據(jù)的需要,很多網(wǎng)站不會(huì)由頁(yè)面直接讀取數(shù)據(jù)。而是將數(shù)據(jù)轉(zhuǎn)換為SVG(Scalable Vec?tor Graphics,可縮放矢量圖形)格式的圖表來(lái)在頁(yè)面顯示。SVG的是在頁(yè)面加載時(shí)動(dòng)態(tài)生成的,所以傳統(tǒng)的爬蟲(chóng)技術(shù)[1-2]無(wú)法有效地爬取SVG圖表信息。而利用圖像識(shí)別[3-4]的方式讀取數(shù)據(jù)經(jīng)常會(huì)出現(xiàn)數(shù)據(jù)缺失的情況。當(dāng)數(shù)據(jù)缺失時(shí),圖表會(huì)正常顯示,但信息卻看不到。此外圖像識(shí)別的準(zhǔn)確率也大大影響了數(shù)據(jù)獲取的準(zhǔn)確度。多種噪聲的影響結(jié)合在一起,使爬取SVG圖表數(shù)據(jù)幾無(wú)可能。本文采用圖像識(shí)別的方法對(duì)圖片進(jìn)行采樣后識(shí)別圖像點(diǎn)的實(shí)際值,進(jìn)而計(jì)算出圖像所有的點(diǎn)的值。利用隨機(jī)采樣的方法有效減少圖像識(shí)別的次數(shù),通過(guò)數(shù)學(xué)計(jì)算的方式來(lái)獲取圖表數(shù)值,有效降低時(shí)間消耗。同時(shí)利用多次采樣過(guò)濾掉無(wú)法識(shí)別的點(diǎn),增強(qiáng)了圖像識(shí)別的識(shí)別率,保證數(shù)學(xué)計(jì)算獲取數(shù)值的正確性。

1 現(xiàn)有技術(shù)的缺點(diǎn)分析

目前常用的網(wǎng)頁(yè)數(shù)據(jù)獲取技術(shù)主要是通過(guò)請(qǐng)求URL后得到完整的HTML靜態(tài)文本內(nèi)容,分析其內(nèi)置的規(guī)律,從而找到對(duì)應(yīng)的數(shù)據(jù)部分內(nèi)容;這種方式一般只能獲取到靜態(tài)內(nèi)容,對(duì)于SVG動(dòng)態(tài)圖表基本沒(méi)有效果。另外常用的方法是下載圖片內(nèi)容或者屏幕截圖方式,對(duì)于圖片上的內(nèi)容直觀、簡(jiǎn)單的時(shí)候使用,直接通過(guò)圖片的OCR(Optical Character Recognition,光學(xué)字符識(shí)別)識(shí)別來(lái)從一定程度上抓取對(duì)于的數(shù)據(jù)內(nèi)容。這種方式由于準(zhǔn)確率的原因,識(shí)別越多,錯(cuò)誤的數(shù)據(jù)就越多。并且識(shí)別消耗時(shí)間隨著坐標(biāo)的增加而急劇增加;另外對(duì)于SVG中的數(shù)據(jù)丟失的值或者SVG圖標(biāo)中顯示的是錯(cuò)誤的值無(wú)法有效地進(jìn)行處理。

2 SVG圖表識(shí)別的基本思路

本技術(shù)方法的主要步驟:(1)通過(guò)分析網(wǎng)站獲取SVG動(dòng)態(tài)圖表中的所有坐標(biāo)值信息;(2)在坐標(biāo)值組中隨機(jī)選擇3組坐標(biāo)值。此外再獲取縱坐標(biāo)最大和最小的兩組坐標(biāo)值,共獲取5組坐標(biāo)值。(3)對(duì)每組坐標(biāo)值通過(guò)鼠標(biāo)模擬的方式來(lái)獲取到實(shí)際數(shù)據(jù)展示圖。(4)利用OCR的方式來(lái)獲取每組坐標(biāo)值的實(shí)際表示數(shù)據(jù)。(5)對(duì)數(shù)據(jù)進(jìn)行兩兩分組,求出任意兩點(diǎn)間的實(shí)際表示數(shù)字與坐標(biāo)之間的比例值。對(duì)數(shù)據(jù)進(jìn)行篩選,選出準(zhǔn)確度最高的比例值。(6)通過(guò)數(shù)學(xué)計(jì)算的方式獲取所有坐標(biāo)值的實(shí)際數(shù)據(jù)。整體流程如圖1所示。

圖1

下面以某網(wǎng)站包括的SVG動(dòng)態(tài)圖表內(nèi)容作為具體實(shí)施案例,對(duì)算法的各個(gè)步驟分別進(jìn)行詳細(xì)說(shuō)明。

2.1 提取SVG 動(dòng)態(tài)圖表

通過(guò)瀏覽器的“開(kāi)發(fā)者工具”功能,查找到SVG動(dòng)態(tài)圖表的標(biāo)簽。分析標(biāo)簽內(nèi)容,可以查找到每一個(gè)坐標(biāo)點(diǎn)的坐標(biāo)值。

圖2

2.2 選取坐標(biāo)值組

在所有坐標(biāo)中選取最大值和最小值的兩個(gè)點(diǎn)。再隨機(jī)選取3個(gè)坐標(biāo)值,一共獲取5組坐標(biāo)值。這5組坐標(biāo)值保證不能重復(fù),如果發(fā)現(xiàn)重復(fù),重新隨機(jī)選取。

2.3 獲取坐標(biāo)點(diǎn)實(shí)際數(shù)據(jù)展示圖

通過(guò)程序控制瀏覽器加載對(duì)應(yīng)的URL(Uniform Resource Locator,統(tǒng)一資源定位器)的內(nèi)容。在加載包含SVG動(dòng)態(tài)圖表的內(nèi)容頁(yè)面后,需要根據(jù)分析找出目標(biāo)SVG坐標(biāo)點(diǎn)位置。使用程序模擬實(shí)際的鼠標(biāo)點(diǎn)擊事件,促使頁(yè)面動(dòng)態(tài)加載包含實(shí)際業(yè)務(wù)意義數(shù)值的HTML(Hyper Text Markup Language,超文本標(biāo)記語(yǔ)言)對(duì)象層。

模擬點(diǎn)擊得到最大值提示:

圖3

模擬點(diǎn)擊得到最小值提示:

圖4

根據(jù)分析得到的動(dòng)態(tài)提示對(duì)象的位置規(guī)律,程序自動(dòng)識(shí)別其邊界,實(shí)現(xiàn)動(dòng)態(tài)提示區(qū)域的圖片截取。

2.4 識(shí)別每組坐標(biāo)的實(shí)際表示數(shù)據(jù)

截取后的圖片為便于識(shí)別,需要進(jìn)行二值化、圖片放大、插值等預(yù)處理,然后進(jìn)行圖片的數(shù)字識(shí)別,得到SVG圖表縱坐標(biāo)刻度代表的數(shù)值。在這個(gè)過(guò)程中,由于OCR識(shí)別準(zhǔn)確率無(wú)法保證達(dá)到一個(gè)滿意值,并且上一步獲取的實(shí)際數(shù)據(jù)展示圖本身可能會(huì)出現(xiàn)異常的數(shù)字或沒(méi)有值。所以在識(shí)別之后要對(duì)結(jié)果進(jìn)行篩選處理,去除掉異常結(jié)果。通過(guò)之前的隨機(jī)選擇坐標(biāo)點(diǎn),保證了這一步一定會(huì)獲取到足夠的信息值,進(jìn)而保證了數(shù)據(jù)獲取的準(zhǔn)確度。

2.5 計(jì)算實(shí)際表示數(shù)字與坐標(biāo)之間的比例

對(duì)5組坐標(biāo)值進(jìn)行兩兩分組,利用公式(1)計(jì)算實(shí)際表示數(shù)字與坐標(biāo)之間的比例。

其中,v表示坐標(biāo)代表的實(shí)際數(shù)值,y代表坐標(biāo)點(diǎn)的縱坐標(biāo)。每次計(jì)算之前要將縱坐標(biāo)進(jìn)行比較,保證最終結(jié)果的符號(hào)正確。如果每一組坐標(biāo)都識(shí)別準(zhǔn)確會(huì)產(chǎn)生完全一致的20個(gè)比例值。如表1所示:

表1

我們通過(guò)設(shè)定一個(gè)閾值的方法,出現(xiàn)次數(shù)大于閾值的被定為最終的比例值,排除掉識(shí)別不準(zhǔn)或者數(shù)據(jù)異常的坐標(biāo)值(表中的粗體數(shù)字),進(jìn)一步保證準(zhǔn)確度。同時(shí)我們也將表中未被選取的值作為異常值((x3,y3),(x5,y5)),異常值對(duì)應(yīng)的坐標(biāo)設(shè)為異常坐標(biāo)。最后選取一個(gè)非異常坐標(biāo)作為下一步計(jì)算的基準(zhǔn)坐標(biāo)(表1中在(x1,y1),(x2,y2),(x4,y4)中選?。?。

2.6 推導(dǎo)所有坐標(biāo)值的實(shí)際數(shù)據(jù)

雖然可以利用圖像識(shí)別的方法循環(huán)所有的坐標(biāo)點(diǎn)來(lái)進(jìn)行類似處理,但在圖表坐標(biāo)點(diǎn)較多時(shí),嚴(yán)重影響效率。為優(yōu)化處理速度,采取類比推導(dǎo)的方式來(lái)計(jì)算其他各坐標(biāo)點(diǎn)的縱坐標(biāo)代表的數(shù)值。具體公式如公式(2)所示:

其中y是要計(jì)算的縱坐標(biāo),是基準(zhǔn)坐標(biāo)的實(shí)際數(shù)據(jù)和縱坐標(biāo)。通過(guò)推導(dǎo)得到統(tǒng)計(jì)圖表的所有坐標(biāo)對(duì)應(yīng)的統(tǒng)計(jì)結(jié)果值,進(jìn)而得到完整的統(tǒng)計(jì)結(jié)果,實(shí)現(xiàn)抓取目的。

3 結(jié)語(yǔ)

通過(guò)對(duì)2014年至2017年的廣東省各地區(qū)的百度指數(shù)SVG圖表進(jìn)行測(cè)試,結(jié)果表明,采用多點(diǎn)OCR識(shí)別的方法可以有效提高系統(tǒng)的魯棒性;而利用計(jì)算實(shí)際表示數(shù)字與坐標(biāo)之間比例值的方式,避免進(jìn)行所有坐標(biāo)的識(shí)別,提高運(yùn)行速度,降低運(yùn)行時(shí)間。

[1]付志鴻.基于Storm云平臺(tái)的分布式網(wǎng)絡(luò)爬蟲(chóng)技術(shù)研究與實(shí)現(xiàn)[D].電子科技大學(xué),2015.

[2]張瑤.面向AJAX腳本網(wǎng)絡(luò)的網(wǎng)頁(yè)爬行及解析技術(shù)的研究與實(shí)現(xiàn)[D].東北大學(xué),2012.

[3]王宇新.基于特征分布的圖像識(shí)別方法研究與應(yīng)用[D].大連理工大學(xué),2012.

[4]朱旭鋒.基于圖像不變量特征的自動(dòng)目標(biāo)識(shí)別技術(shù)研究[D].中國(guó)科學(xué)院研究生院(西安光學(xué)精密機(jī)械研究所),2012.

猜你喜歡
縱坐標(biāo)圖像識(shí)別頁(yè)面
更正
勘 誤
刷新生活的頁(yè)面
支持向量機(jī)的艦船圖像識(shí)別與分類技術(shù)
淺談圖像識(shí)別技術(shù)在打擊綠通假證逃費(fèi)中的應(yīng)用
答案
平面直角坐標(biāo)系中的特殊點(diǎn)
讓W(xué)ord同時(shí)擁有橫向頁(yè)和縱向頁(yè)
基于Resnet-50的貓狗圖像識(shí)別
圖像識(shí)別交互系統(tǒng)
桦甸市| 南漳县| 怀远县| 通州区| 台中县| 九江县| 仙居县| 漾濞| 石城县| 红原县| 华安县| 图木舒克市| 长垣县| 凤庆县| 陇西县| 永靖县| 夏河县| 雅安市| 亚东县| 桃源县| 上蔡县| 汕尾市| 进贤县| 芷江| 恩施市| 太湖县| 邢台县| 邻水| 望奎县| 简阳市| 曲沃县| 上林县| 库尔勒市| 永康市| 天全县| 兰坪| 石嘴山市| 望都县| 保定市| 灵丘县| 焉耆|