摘要:本文介紹了一種基于多技術(shù)相互融合的RPA手機(jī)自動(dòng)化控制方法,旨在實(shí)現(xiàn)跨手機(jī)系統(tǒng)的手機(jī)自動(dòng)化控制。該方法將傳統(tǒng)的UI層級(jí)分析與AI模型元素識(shí)別相結(jié)合,通過(guò)與預(yù)設(shè)元素庫(kù)的對(duì)比,自動(dòng)推薦具體的元素識(shí)別方式。匹配成功時(shí),可以快速找到合適的目標(biāo)元素識(shí)別方式,包括傳統(tǒng)的預(yù)設(shè)元素探取識(shí)別方式和AI模型識(shí)別方式。并且結(jié)合RPA流程設(shè)計(jì)的特點(diǎn),設(shè)計(jì)了AI模型的在線優(yōu)化,根據(jù)下一步的操作來(lái)反饋當(dāng)前AI模型是不是最優(yōu),并確定是否需要優(yōu)化。如果未達(dá)到預(yù)期效果,可以反向在線優(yōu)化AI模型,直到達(dá)到預(yù)期結(jié)果。這種方法具有高效、準(zhǔn)確和可靠的特點(diǎn),能夠提高元素識(shí)別方法的魯棒性,并適用于不同的識(shí)別場(chǎng)景。
關(guān)鍵詞:RPA;元素識(shí)別;AI模型識(shí)別;元素庫(kù)
一、引言
現(xiàn)如今手機(jī)發(fā)展迅速,人們對(duì)于手機(jī)的依賴也越來(lái)越多,手機(jī)已成為日常生活和辦公中不可或缺的設(shè)備,許多重復(fù)而繁瑣的任務(wù)都需要通過(guò)手機(jī)來(lái)完成。那么RPA手機(jī)自動(dòng)化控制可以替代人工在手機(jī)上處理事情,但是隨著手機(jī)技術(shù)的不斷更新迭代,手機(jī)中的很多應(yīng)用或者是操作并不能完全按照人的意愿自動(dòng)靈活地控制,僅僅依靠某一種單一的技術(shù)已經(jīng)不能完全自動(dòng)替代人工完成手機(jī)操作。
目前,雖然RPA領(lǐng)域已經(jīng)存在手機(jī)自動(dòng)化設(shè)計(jì)系統(tǒng),但相關(guān)的技術(shù)文檔卻相當(dāng)匱乏。而且很多都是重點(diǎn)強(qiáng)調(diào)支持多部手機(jī)的自動(dòng)化,并沒(méi)有從如何實(shí)現(xiàn)手機(jī)自動(dòng)化方向進(jìn)行闡述,且隨著手機(jī)技術(shù)的不斷進(jìn)步,再使用傳統(tǒng)的手機(jī)元素識(shí)別及控制方式,已經(jīng)很難完全控制手機(jī),這會(huì)在很大程度上限制RPA在手機(jī)自動(dòng)化領(lǐng)域的應(yīng)用。
在手機(jī)領(lǐng)域,手機(jī)的控制已經(jīng)做到了對(duì)Android、鴻蒙及IOS手機(jī)的自動(dòng)化控制,Android和鴻蒙系統(tǒng)的手機(jī)主要是通過(guò)UIAutomator、Adb進(jìn)行控制,ISO手機(jī)主要是通過(guò)UIAutomation進(jìn)行控制,通過(guò)手機(jī)中元素的屬性來(lái)控制及定位手機(jī)中的元素,但是隨著手機(jī)技術(shù)的不斷發(fā)展,并不是所有的手機(jī)元素屬性都能準(zhǔn)確地獲得,因此,僅使用傳統(tǒng)的元素定位方式已無(wú)法完全控制手機(jī)的操作。因此本文提出了一種多技術(shù)相互融合的RPA手機(jī)自動(dòng)化控制方法,旨在跨手機(jī)系統(tǒng)完成手機(jī)自動(dòng)化的控制,它不僅使用了傳統(tǒng)UI層級(jí)分析獲取手機(jī)的元素,同時(shí)還使用了AI模型進(jìn)行元素識(shí)別,并通過(guò)與元素庫(kù)的對(duì)比自動(dòng)推薦具體的元素識(shí)別方式。該方法是一種高效、準(zhǔn)確且可靠的自動(dòng)化控制方法,具有廣泛的應(yīng)用前景和推廣價(jià)值[1][2]。并且,結(jié)合RPA流程設(shè)計(jì)的特點(diǎn),設(shè)計(jì)了AI模型的在線優(yōu)化,通過(guò)根據(jù)下一步操作來(lái)評(píng)估當(dāng)前AI模型的性能,判斷其是否已達(dá)到最優(yōu)狀態(tài),進(jìn)而確定是否需要進(jìn)行進(jìn)一步優(yōu)化。若當(dāng)前AI模型的效果未達(dá)到預(yù)期,可以采取反向在線優(yōu)化策略,對(duì)AI模型進(jìn)行持續(xù)優(yōu)化,直至達(dá)到預(yù)期結(jié)果。
二、RPA系統(tǒng)架構(gòu)
本方案是一種基于AI圖像識(shí)別的多技術(shù)融合RPA手機(jī)自動(dòng)化設(shè)計(jì)系統(tǒng),該系統(tǒng)允許用戶通過(guò)拖放操作來(lái)設(shè)計(jì)手機(jī)自動(dòng)化流程文件,同時(shí),它還具備自動(dòng)錄制功能,能夠逐步將當(dāng)前操作轉(zhuǎn)換為代碼并保存到流程文件中。本系統(tǒng)的設(shè)計(jì)框架主要包含三層結(jié)構(gòu),第一層和第二層都是部署在PC端,第三層是部署在移動(dòng)設(shè)備端。采用這種三層架構(gòu)的原因是將實(shí)際的接口操作部署在第二層的手機(jī)服務(wù)端,這樣做旨在確保手機(jī)能夠正常進(jìn)行投屏實(shí)時(shí)顯示,同時(shí)執(zhí)行用戶設(shè)計(jì)的手機(jī)自動(dòng)化流程文件[3]。本系統(tǒng)的具體框架圖及層級(jí)描述如圖1所示。
第一層是設(shè)計(jì)器和執(zhí)行器層,設(shè)計(jì)器允許用戶通過(guò)自由組合手機(jī)組件來(lái)設(shè)計(jì)手機(jī)自動(dòng)化流程,這些組件涵蓋了手機(jī)操作的常用模塊。執(zhí)行器負(fù)責(zé)執(zhí)行設(shè)計(jì)器創(chuàng)建的流程文件。執(zhí)行器與設(shè)計(jì)器都通過(guò)GRPC協(xié)議調(diào)用手機(jī)服務(wù)端的接口。
第二層是手機(jī)服務(wù)端層,手機(jī)服務(wù)端以獨(dú)立的EXE應(yīng)用程序啟動(dòng),監(jiān)聽(tīng)設(shè)計(jì)器和執(zhí)行器端的請(qǐng)求,并與手機(jī)設(shè)備進(jìn)行交互,手機(jī)服務(wù)端負(fù)責(zé)實(shí)現(xiàn)接口、控制手機(jī)以及通過(guò)監(jiān)聽(tīng)鼠標(biāo)消息來(lái)實(shí)現(xiàn)元素拾取等功能,主要有調(diào)用獲取設(shè)備接口、連接/斷開設(shè)備接口、獲取圖像流的接口及手機(jī)控制接口等,通過(guò)調(diào)用獲取圖像流接口就能進(jìn)行手機(jī)投屏顯示,調(diào)用手機(jī)控制接口,就能實(shí)現(xiàn)在PC端進(jìn)行手機(jī)實(shí)時(shí)控制等操作。
第三層是移動(dòng)設(shè)備層,這一層是部署在移動(dòng)設(shè)備端的服務(wù)。安卓及鴻蒙系統(tǒng)的手機(jī)會(huì)部署同一個(gè)手機(jī)服務(wù)端,叫AndroidServer,IOS系統(tǒng)的手機(jī)會(huì)部署IOSServer服務(wù),移動(dòng)設(shè)備端的服務(wù)與PC端的手機(jī)服務(wù)之間通過(guò)RPC HTTP、ADB進(jìn)行交互,這一層是手機(jī)真正執(zhí)行手機(jī)操作的層級(jí),當(dāng)它收到PC手機(jī)服務(wù)端的命令后,會(huì)先對(duì)命令進(jìn)行解析,然后再執(zhí)行,最后將執(zhí)行的結(jié)果返回給PC手機(jī)服務(wù)端。
三、RPA系統(tǒng)核心技術(shù)
(一)基于UI層級(jí)的元素識(shí)別方式
基于UI層級(jí)的手機(jī)元素識(shí)別方式主要通過(guò)分析手機(jī)當(dāng)前的UI層級(jí)進(jìn)行元素探取。遍歷當(dāng)前的UI層次結(jié)構(gòu),目的是確定目標(biāo)位置所在的預(yù)設(shè)區(qū)域,并將預(yù)劃分區(qū)域中的元素作為目標(biāo)元素,進(jìn)而獲取目標(biāo)元素的相關(guān)屬性,比如Name、Text、ResourceID等[4-5]。其流程主要有以下幾點(diǎn):
1.啟動(dòng)UI元素探測(cè)功能;
2.獲取鼠標(biāo)當(dāng)前的位置;
3.獲取當(dāng)前手機(jī)的UI層級(jí)結(jié)構(gòu),這一步和獲取鼠標(biāo)位置是同時(shí)執(zhí)行;
4.通過(guò)算法快速查找當(dāng)前的UI層級(jí)結(jié)構(gòu),定位出當(dāng)前鼠標(biāo)所在的最小矩形區(qū)域,在此最小矩形區(qū)域中的手機(jī)元素就是當(dāng)前需要捕獲的目標(biāo)元素;
5.輸出當(dāng)前最小矩形區(qū)域中的元素信息,如Name、Text、ResourceID等,這些屬性參數(shù)將作為后續(xù)定位元素并進(jìn)行下一步驟操作的依據(jù)。
具體識(shí)別流程圖如圖2所示。
但這種傳統(tǒng)的元素識(shí)別方式在一些應(yīng)用場(chǎng)景下會(huì)存在問(wèn)題,例如,在遠(yuǎn)程桌面、虛擬系統(tǒng)或某些客戶自行開發(fā)的辦公軟件等操作場(chǎng)景中,通常只能獲取到一張頁(yè)面圖片,無(wú)法通過(guò)API接口或源碼解析的方式來(lái)定位和操作元素。這種情況下,需要利用AI技術(shù)進(jìn)行操作元素的匹配、定位和操作。這不僅提高了操作的效率和準(zhǔn)確性,也為用戶帶來(lái)了更加便捷和靈活的操作體驗(yàn)。
(二)AI圖像識(shí)別方式
AI圖像識(shí)別主要通過(guò)AI模型初步確定元素的矩形區(qū)域,然后對(duì)元素的矩形區(qū)域圖形和手機(jī)屏幕截圖進(jìn)行歸一化和縮放處理,最后通過(guò)圖像識(shí)別確定當(dāng)前元素所在的坐標(biāo)位置[6],其識(shí)別流程主要有以下幾點(diǎn):
1.啟動(dòng)AI圖像識(shí)別功能;
2.用戶在界面設(shè)置Threshold閾值,Threshold是用來(lái)判定一張圖片識(shí)別是否成功的閾值,高于此閾值則識(shí)別成功,低于則識(shí)別失敗。例如一張圖片識(shí)別到的匹配度是0.7,而預(yù)設(shè)定的Threshold為0.8的話,那么就會(huì)認(rèn)為匹配失敗,從而需要進(jìn)行下一次匹配。通常來(lái)說(shuō),Threshold設(shè)置得越高,圖像識(shí)別的精度越高,但成功率也會(huì)有所降;
3.用戶移動(dòng)鼠標(biāo)到目標(biāo)元素區(qū)域,系統(tǒng)會(huì)利用AI模型初步截取該元素的有效區(qū)域,若不使用AI技術(shù),則用戶無(wú)法準(zhǔn)確判定元素區(qū)域,且需要手動(dòng)截圖;
4.系統(tǒng)自動(dòng)進(jìn)行屏幕截圖,并將元素截圖和屏幕截圖進(jìn)行歸一化和縮放處理。因?yàn)槭謾C(jī)是投屏到PC端的,元素截圖截取的是PC端的元素矩形區(qū)域,而手機(jī)截屏則是手機(jī)端的屏幕截圖,所以在進(jìn)行圖像識(shí)別之前需要進(jìn)行縮放處理,同時(shí),為了適應(yīng)不同設(shè)備的屏幕尺寸和分辨率差異,還需要對(duì)元素截圖及屏幕截圖進(jìn)行歸一化處理,進(jìn)行自適應(yīng),減少元素定位的偏差,提高匹配的成功率;
5.對(duì)元素截圖及屏幕截圖進(jìn)行圖像處理,例如灰度處理等;
6.對(duì)元素截圖及屏幕截圖進(jìn)行圖像識(shí)別;同時(shí)完成元素截圖和屏幕截圖的特征提取,在特征提取過(guò)程中,結(jié)合了深度特征和角點(diǎn)特征,在元素截圖中選擇和屏幕截圖中特征相匹配的候選區(qū)域,并結(jié)合像素點(diǎn)特征輸出最終結(jié)果,識(shí)別結(jié)果高于Threshold閾值則匹配成功,輸出有效的坐標(biāo)值,比如(x,y),結(jié)果低于Threshold閾值則匹配失敗,則輸出None值。
具體AI識(shí)別流程圖如圖3所示。
通過(guò)結(jié)合基于UI層級(jí)的元素拾取方法和AI模型的元素拾取方法,提高了RPA手機(jī)自動(dòng)化的元素識(shí)別概率,提升了元素識(shí)別方法的魯棒性。
(三)元素識(shí)別方式智能推薦
本方案在手機(jī)元素識(shí)別方面,采用了基于AI圖像識(shí)別的多技術(shù)融合方式,主要包括基于UI層級(jí)和AI技術(shù)的元素識(shí)別方法,并在RPA軟件后臺(tái),根據(jù)用戶需要操作的軟件界面的不同,為用戶自動(dòng)選擇更精準(zhǔn)、更合適的元素拾取方式(當(dāng)然也支持用戶手 動(dòng)進(jìn)行拾取方式切換),同時(shí)在操作過(guò)程中能夠?qū)崿F(xiàn)拾取方式的自動(dòng)、無(wú)感切換;另外,在各個(gè)元素實(shí)現(xiàn)定位的基礎(chǔ)上,提供界面元素內(nèi)容的解析功能,實(shí)現(xiàn)元素的類別、屬性、位置和層 次等的有序輸出,從而支持更多樣化的元素操作能力。這兩種方式之間可以根據(jù)實(shí)際元素與元素庫(kù)進(jìn)行對(duì)比,自動(dòng)推薦元素識(shí)別的方式。如果識(shí)別成功,系統(tǒng)會(huì)將當(dāng)前元素的信息及其識(shí)別方法更新或記錄到元素庫(kù)中,其具體流程如圖4所示。
通過(guò)比較目標(biāo)元素和預(yù)設(shè)元素庫(kù)中的歷史元素,可以得到各歷史元素與目標(biāo)元素之間的相似度。其中,兩元素之間的相似度可基于元素屬性和元素置信度確定,其中元素屬性可以是,形狀、尺寸、顏色、坐標(biāo)等。對(duì)于任意一個(gè)歷史元素,將該歷史元素的元素屬性與目標(biāo)元素的元素屬性進(jìn)行比較得到一個(gè)初始相似度。然后,將元素置信度作為參數(shù),結(jié)合初始相似度來(lái)計(jì)算該歷史元素的元素屬性與目標(biāo)元素的相似度。若相似度大于預(yù)設(shè)相似度閾值,則將該歷史元素作為目標(biāo)歷史元素。如果匹配到目標(biāo)歷史元素,則基于目標(biāo)歷史元素的識(shí)別方式識(shí)別目標(biāo)元素得到識(shí)別結(jié)果。如果匹配不成功,則需同時(shí)啟動(dòng)基于UI層級(jí)的元素識(shí)別方式和AI模型的識(shí)別方式進(jìn)行識(shí)別,再?gòu)膬煞N結(jié)果中選取較優(yōu)的作為最終的元素識(shí)別結(jié)果,從而保證目標(biāo)結(jié)果的準(zhǔn)確性[7][8]。
此外,在元素庫(kù)中除存儲(chǔ)目標(biāo)歷史元素外,還記錄了每個(gè)歷史元素的使用信息,例如,對(duì)于任意一個(gè)歷史元素,元素庫(kù)會(huì)記錄在使用各種識(shí)別方法時(shí),該歷史元素的識(shí)別結(jié)果被作為最終目標(biāo)識(shí)別結(jié)果的次數(shù)。或者是基于用戶偏好的識(shí)別方法,相應(yīng)地,如果使用基于UI層級(jí)的元素識(shí)別方法得到的結(jié)果作為目標(biāo)識(shí)別結(jié)果的次數(shù)更多,則將通過(guò)此識(shí)別方式進(jìn)行識(shí)別以得到目標(biāo)識(shí)別結(jié)果,若使用AI模型識(shí)別方式得到的識(shí)別結(jié)果作為目標(biāo)識(shí)別結(jié)果的次數(shù)多,則使用AI模型識(shí)別方式進(jìn)行識(shí)別以得到目標(biāo)識(shí)別結(jié)果。
(四)基于RPA流程執(zhí)行特點(diǎn)對(duì)AI模型在線優(yōu)化
由于應(yīng)用場(chǎng)景的復(fù)雜性以及使用設(shè)備的不確定性,固定不變的AI模型無(wú)法滿足這些要求,所以對(duì)AI模型進(jìn)行在線優(yōu)化是非常必要的。但是,每當(dāng)模型識(shí)別不準(zhǔn)確時(shí),若將AI模型返回原廠重新優(yōu)化,這將顯得非常繁瑣且效率低下。所以結(jié)合RPA流程設(shè)計(jì)的特點(diǎn),清楚地了解RPA流程設(shè)計(jì)的每一個(gè)步驟及每一步的預(yù)期效果,然后根據(jù)下一步操作的反饋來(lái)判斷當(dāng)前的AI模型是否為最佳狀態(tài),是否需要進(jìn)行優(yōu)化。如果不是則可以反向在線優(yōu)化AI模型,直到AI模型的識(shí)別結(jié)果符合預(yù)期。其具體流程圖如圖5所示。
在啟動(dòng)RPA流程前,用戶需要設(shè)置遇到問(wèn)題時(shí)自動(dòng)啟動(dòng)AI模型的在線優(yōu)化;設(shè)置AI模型優(yōu)化的最大優(yōu)化次數(shù),避免進(jìn)入優(yōu)化死循環(huán);啟動(dòng)AI模型在線優(yōu)化后,應(yīng)將優(yōu)化結(jié)果與RPA執(zhí)行的下一步結(jié)果進(jìn)行對(duì)比。如果結(jié)果一致,則記錄當(dāng)前的優(yōu)化結(jié)果,并繼續(xù)執(zhí)行預(yù)設(shè)的剩余的RPA流程,從而保證RPA流程的完整執(zhí)行;如果與RPA的下一步操作不一致,則繼續(xù)執(zhí)行在線優(yōu)化。當(dāng)優(yōu)化次數(shù)超過(guò)用戶設(shè)定的最大優(yōu)化次數(shù)時(shí),系統(tǒng)將自動(dòng)退出,且不會(huì)繼續(xù)執(zhí)行剩余的RPA流程。
AI模型的在線優(yōu)化是基于實(shí)際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果之間的差異來(lái)計(jì)算預(yù)設(shè)元素識(shí)別模型的估計(jì)損失?;谀P凸烙?jì)損失對(duì)預(yù)設(shè)元素識(shí)別模型中的模型參數(shù)進(jìn)行優(yōu)化,如基于模型估計(jì)損失,通過(guò)梯度下降法及反向傳播對(duì)預(yù)設(shè)元素識(shí)別模型中的模型參數(shù)進(jìn)行調(diào)整,以優(yōu)化模型。
四、結(jié)束語(yǔ)
本文結(jié)合了AI圖像識(shí)別的多技術(shù)融合方案在RPA手機(jī)設(shè)計(jì)系統(tǒng)的應(yīng)用,提出了在傳統(tǒng)手機(jī)元素定位的技術(shù)基礎(chǔ)上增加了AI圖像識(shí)別的功能。無(wú)論是運(yùn)行Android、鴻蒙還是IOS操作系統(tǒng)的手機(jī),都可以通過(guò)AI圖像識(shí)別技術(shù)來(lái)定位其中的元素,精準(zhǔn)定位出手機(jī)中的元素位置,進(jìn)而進(jìn)行手機(jī)自動(dòng)化控制。與傳統(tǒng)的手機(jī)自動(dòng)化控制方法相比,該方法具有以下優(yōu)點(diǎn):一方面,它能夠跨越不同手機(jī)系統(tǒng)進(jìn)行自動(dòng)化控制,提高了控制效率和適用范圍;另一方面,它采用了多種先進(jìn)技術(shù),包括傳統(tǒng)UI層級(jí)分析、AI模型和元素庫(kù)等,從而提高了元素識(shí)別的準(zhǔn)確性和可靠性,并結(jié)合了RPA流程的特點(diǎn)在線優(yōu)化AI模型,讓AI識(shí)別持續(xù)完善和優(yōu)化。此外,該方法還具有易于擴(kuò)展和升級(jí)的優(yōu)點(diǎn),可以隨著技術(shù)的不斷更新而不斷優(yōu)化和完善。這種多技術(shù)融合方式能更好地滿足用戶的多樣化需求,并解決了傳統(tǒng)方法中無(wú)法準(zhǔn)確定位手機(jī)元素的問(wèn)題。
作者單位:付兵蘭 陳瓊雁 劉春林 彭偉軍 陳國(guó)
中國(guó)移動(dòng)信息技術(shù)中心
參考文獻(xiàn)
[1]王巖松,秦云川,蔡宇輝,等. 一種基于UIA接口的RPA系統(tǒng)設(shè)計(jì)方法[J].計(jì)算機(jī)科學(xué),2022,49(08):231-235
[2]陳國(guó),劉春林,付兵蘭,等. 基于跨操作系統(tǒng)的RPA平臺(tái)設(shè)計(jì)及關(guān)鍵技術(shù)研究[J].中國(guó)新通信,2022.24(24):27-30
[3]姜偉昊.面向電力營(yíng)銷的RPA系統(tǒng)平臺(tái)的研究與實(shí)現(xiàn)[D].浙江:浙江大學(xué),2022.
[4]上海云擴(kuò)信息科技有限公司.一種通用的RPA手機(jī)自動(dòng)化設(shè)計(jì)系統(tǒng)[P].中國(guó):202110476566.1 ,2021.04.29
[5]達(dá)而觀科技(北京)有限公司.一種基于RPA的智能終端安卓App控制方法[P].中國(guó):202110958076.5,2021.08 .20
[6]杭州實(shí)在智能科技有限公司.一種RPA元素智能融合拾取的方法與系統(tǒng)[P].中國(guó):202110944521.2,2021.08.17
[7]杭州實(shí)在智能科技有限公司.一種RPA機(jī)器人智能元素定位拾取方法及系統(tǒng)[P].中國(guó):202011206854.7,2020.11.03
[8]國(guó)網(wǎng)浙江省電力有限公司雙創(chuàng)中心.機(jī)器人流程自動(dòng)系統(tǒng)元素定位方法、裝置、 設(shè)備及介質(zhì)[P].中國(guó):202111582498.3,2021.12.22.
付兵蘭(1981.04-)女,漢族,湖南漣源,碩士,項(xiàng)目總監(jiān),研究方向:RPA、云計(jì)算等;
陳瓊雁(1989.09-),女,土家族,湖南張家界,碩士,研究方向:RPA、云計(jì)算等;
劉春林(1978.09-),男,漢族,湖南衡陽(yáng),學(xué)士,研究方向:RPA、云計(jì)算、人工智能等;
彭偉軍(1973.10-),男,漢族,廣東汕尾,學(xué)士 ,研究方向:RPA、云計(jì)算、人工智能等;
陳國(guó)(1977.11-),男 ,漢族,山東萊蕪,碩士,研究方向:RPA、區(qū)塊鏈、云計(jì)算、人工智能、算力網(wǎng)絡(luò)等。