TW202314496A - 任務處理方法及電子設備、電腦可讀儲存媒體 - Google Patents
任務處理方法及電子設備、電腦可讀儲存媒體 Download PDFInfo
- Publication number
- TW202314496A TW202314496A TW111117088A TW111117088A TW202314496A TW 202314496 A TW202314496 A TW 202314496A TW 111117088 A TW111117088 A TW 111117088A TW 111117088 A TW111117088 A TW 111117088A TW 202314496 A TW202314496 A TW 202314496A
- Authority
- TW
- Taiwan
- Prior art keywords
- processing
- task
- processed
- detection frame
- subtask
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Debugging And Monitoring (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本公開涉及一種任務處理方法及電子設備、電腦可讀儲存媒體,該方法透過獲取待處理任務,並透過主執行緒根據至少兩個處理模組的功能分割待處理任務,得到包括其中至少部分待處理資料的待處理子任務。透過多個子執行緒並行透過各處理模組處理對應的待處理子任務,得到子任務處理結果,再基於各子任務處理結果確定待處理任務的任務處理結果。
Description
本公開基於申請號為202111137684.6、申請日為2021年9月27日、申請名稱為「任務處理方法及裝置、電子設備和儲存媒體」的中國專利申請提出,並要求該中國專利申請的優先權,該中國專利申請的全部內容在此引入本公開作為參考。本公開涉及電腦技術領域,涉及一種任務處理方法及電子設備、電腦可讀儲存媒體。
在進行任務處理時,傳統方式通常基於電腦底層的應用程式執行任務處理過程。而在目前的一些場景下,可以直接透過前端頁面進行任務處理。但由於前端頁面的指令碼語言為解釋型指令碼語言,只能透過單執行緒方式運行,使得任務處理效率較低。
本公開提出了一種任務處理方法及電子設備、電腦可讀儲存媒體,旨在提高透過前端頁面進行任務處理時的任務處理效率。
根據本公開的第一方面,提供了一種任務處理方法,所述方法包括:
獲取待處理任務,所述待處理任務中包括待處理資料;
透過主執行緒根據至少兩個處理模組的功能分割所述待處理任務,得到至少兩個待處理子任務,各所述待處理子任務分別對應一個處理模組且包括至少部分所述待處理資料,各所述處理模組分別用於處理不同的待處理子任務;
透過多個子執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果;
基於各所述子任務處理結果確定待處理任務的任務處理結果。
在一種可能的實現方式中,所述獲取待處理任務包括;
顯示具有至少兩個處理模組的任務處理頁面;
透過所述任務處理介面獲取待處理任務。
在一種可能的實現方式中,各所述子執行緒透過非同步訊息傳遞機制將子任務處理結果發送至主執行緒。
在一種可能的實現方式中,所述處理模組儲存為二進位格式檔,所述二進位格式檔透過二進位碼編譯規範編譯非瀏覽器代碼以外的原始程式碼得到。
在一種可能的實現方式中,所述處理模組為預先訓練得到的深度學習模型。
在一種可能的實現方式中,各所述深度學習模型用於處理以下待處理子任務的至少兩種:
人臉檢測任務、頭髮檢測任務、嘴唇分割任務和指甲檢測任務。
在一種可能的實現方式中,所述處理模組處理對應的待處理子任務的過程包括:
將待處理子任務中的圖像資料輸入所述深度學習模型,輸出所述子任務處理結果;所述子任務處理結果包括以下至少一種:所述圖像資料的人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框。
在一種可能的實現方式中,所述透過多個子執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果包括:
透過所述主執行緒創建多個worker執行緒;
透過各所述worker執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果。
在一種可能的實現方式中,所述透過所述主執行緒獲取各所述子任務處理結果確定待處理任務的任務處理結果包括:
透過所述主執行緒獲取各所述子任務處理結果,並將各所述子任務處理結果添加到前端頁面中得到任務處理結果。
在一種可能的實現方式中,所述子任務處理結果包括以下文本資訊的至少兩個:人臉檢測框座標、頭髮檢測框座標、嘴唇檢測框座標以及指甲檢測框座標;
所述任務處理結果為包括各所述子任務處理結果的文本資訊。
在一種可能的實現方式中,所述子任務處理結果包括以下已標記的圖像資訊的至少兩個:具有人臉檢測框的圖像資料、具有頭髮檢測框的圖像資料、具有嘴唇檢測框的圖像資料以及具有指甲檢測框的圖像資料;
所述任務處理結果為具有疊加圖像資訊的前端頁面,所述疊加圖像資訊為包括人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框的圖像資料,或者為包括疊加人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框得到的至少一個物件檢測框的圖像資料。
根據本公開的第二方面,提供了一種任務處理裝置,所述裝置包括:
任務確定部分,被配置為獲取待處理任務,所述待處理任務中包括待處理資料;
任務分割部分,被配置為透過主執行緒根據至少兩個處理模組的功能分割所述待處理任務,得到至少兩個待處理子任務,各所述待處理子任務分別對應一個處理模組且包括至少部分所述待處理資料,各所述處理模組分別用於處理不同的待處理子任務;
任務處理部分,被配置為透過多個子執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果;
結果確定部分,被配置為基於各所述子任務處理結果確定待處理任務的任務處理結果。
在一種可能的實現方式中,所述任務確定部分包括;
頁面顯示子部分,被配置為顯示具有至少兩個處理模組的任務處理頁面;
任務獲取子部分,被配置為透過所述任務處理介面獲取待處理任務。
在一種可能的實現方式中,所述任務確定部分包括頁面顯示子部分和任務獲取子部分;
頁面顯示子部分,被配置為顯示具有至少兩個處理模組的任務處理頁面;
任務獲取子部分,被配置為透過所述任務處理介面獲取待處理任務。
在一種可能的實現方式中,各所述子執行緒透過非同步訊息傳遞機制將子任務處理結果發送至主執行緒。
在一種可能的實現方式中,所述處理模組儲存為二進位格式檔,所述二進位格式檔透過二進位碼編輯規範編譯非瀏覽器代碼以外的原始程式碼得到。
在一種可能的實現方式中,所述處理模組為預先訓練得到的深度學習模型。
在一種可能的實現方式中,各所述深度學習模型用於處理以下待處理子任務的至少兩種:人臉檢測任務、頭髮檢測任務、嘴唇分割任務和指甲檢測任務。
在一種可能的實現方式中,所述處理模組處理對應的待處理子任務的過程包括:
將待處理子任務中的圖像資料輸入所述深度學習模型,輸出所述子任務處理結果;所述子任務處理結果包括以下至少一種:所述圖像資料的人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框。
在一種可能的實現方式中,所述任務處理部分還被配置為:
透過所述主執行緒創建多個worker執行緒;
透過各所述worker執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果。
在一種可能的實現方式中,所述結果確定部分包括結果確定子部分,結果確定子部分被配置為:
透過所述主執行緒獲取各所述子任務處理結果,並將各所述子任務處理結果添加到前端頁面中得到任務處理結果。
在一種可能的實現方式中,所述子任務處理結果包括以下文本資訊的至少兩個:人臉檢測框座標、頭髮檢測框座標、嘴唇檢測框座標以及指甲檢測框座標;
所述任務處理結果為包括各所述子任務處理結果的文本資訊。
在一種可能的實現方式中,所述子任務處理結果包括以下已標記的圖像資訊的至少兩個:具有人臉檢測框的圖像資料、具有頭髮檢測框的圖像資料、具有嘴唇檢測框的圖像資料以及具有指甲檢測框的圖像資料;
所述任務處理結果為具有疊加圖像資訊的前端頁面,所述疊加圖像資訊為包括人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框的圖像資料,或者為包括疊加人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框得到的至少一個物件檢測框的圖像資料。
根據本公開的第三方面,提供了一種電子設備,包括:處理器;用於儲存處理器可執行指令的記憶體;其中,所述處理器被配置為調用所述記憶體儲存的指令,以執行上述方法。
根據本公開的第四方面,提供了一種電腦可讀儲存媒體,其上儲存有電腦程式指令,所述電腦程式指令被處理器執行時實現上述方法。
根據本公開的第五方面,提供了一種電腦程式,包括電腦可讀代碼,當所述電腦可讀代碼在電子設備中運行時,所述電子設備中的處理器執行用於實現上述方法。
本公開實施例將處理不同任務的應用作為任務處理頁面的處理模組,在任務處理頁面接收到任務時,能夠透過劃分任務的方式透過多個處理模組並行處理任務,並以非同步訊息傳遞的方式得到各處理模組的子任務處理結果,最終根據各子任務處理結果得到任務處理結果,提高了基於前端頁面進行任務處理的任務處理效率。
應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,而非限制本公開。根據下面參考附圖對示例性實施例的詳細說明,本公開的其它特徵及方面將變得清楚。
以下將參考附圖詳細說明本公開的各種示例性實施例、特徵和方面。附圖中相同的附圖標記表示功能相同或相似的元件。儘管在附圖中示出了實施例的各種方面,但是除非特別指出,不必按比例繪製附圖。
在這裡專用的詞「示例性」意為「用作例子、實施例或說明性」。這裡作為「“示例性」所說明的任何實施例不必解釋為優於或好於其它實施例。
本文中術語「和/或」,僅僅是一種描述關聯物件的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中術語「至少一種」表示多種中的任意一種或多種中的至少兩種的任意組合,例如,包括A、B、C中的至少一種,可以表示包括從A、B和C構成的集合中選擇的任意一個或多個元素。
另外,為了更好地說明本公開,在下文的具體實施方式中給出了眾多的細節。本領域技術人員應當理解,沒有某些細節,本公開同樣可以實施。在一些實施例中,對於本領域技術人員熟知的方法、手段、元件和電路未作詳細描述,以便於凸顯本公開的主旨。
本公開實施例中的Worker執行緒用於為單執行緒模式的JavaScript語言創建多執行緒環境,可以為主執行緒開闢的額外執行緒。在主執行緒運行的同時,worker執行緒可以在後臺運行,與主執行緒互不干擾,並且在worker執行緒完成計算任務後,將結果返回主執行緒。可選地,worker執行緒無法與主執行緒直接通訊,可以透過非同步訊息傳遞機制完成通訊,例如postMessage。其中,postMessage是前端語言中引入的一個常用函數,允許來自不同源的腳本採用非同步方式進行有效的通訊,可以實現跨文本文檔、多視窗、跨域訊息傳遞。主執行緒和worker執行緒雙方透過postMessage函數發送各自的訊息。
WebAssembly是一種可以使用非JavaScript程式設計語言編寫代碼並且能在瀏覽器上運行的技術方案,可選地,非JavaScript程式設計語言編寫代碼可以為C語言代碼、C++語言代碼以及Rust語言代碼等任意代碼。
第1圖示出根據本公開實施例的一種任務處理方法的流程圖。在一種可能的實現方式中,本公開實施例的任務處理方法透過瀏覽器的網頁使用者端或其他可以載入前端頁面的應用程式,或者應用程式中能夠載入前端頁面的小程式執行。可選地,瀏覽器或其他應用程式可以安裝在終端設備中,該終端設備可以為使用者設備(User Equipment,UE)、移動設備、使用者終端、終端、蜂窩電話、無線電話、個人數位助理(Personal Digital Assistant,PDA)、手持設備、計算設備、車載設備、可穿戴設備等任意能夠安裝上述應用程式的終端設備,所述任務處理方法可以透過終端設備中的安裝的網頁使用者端、應用程式或其中的小程式調用任務處理頁面的JS(JavaScript)指令碼語言實現。
下文主要以透過瀏覽器中網頁使用者端執行任務處理方法為例進行說明。
如第1圖所示,本公開實施例的任務處理方法可以包括以下步驟:
步驟S10、獲取待處理任務。
在一種可能的實現方式中,待處理任務可以透過瀏覽器獲取。可選地,待處理任務的確定方式可以為透過瀏覽器載入並顯示的任務處理頁面獲取,例如顯示具有至少兩個處理模組的任務處理頁面,透過任務處理介面獲取待處理任務。其中,待處理任務可以為圖像辨識任務、影片處理任務、文本處理任務以及音訊處理任務等。
進一步地,待處理任務中還可以包括待處理資料,待處理資料用於進行任務處理。例如,在待處理任務為影片處理任務的情況下,待處理資料為需要進行處理的影片資料。在待處理任務為影像處理任務的情況下,待處理資料為需要進行處理的圖像資料。在待處理任務為音訊處理任務的情況下,待處理任務為需要進行處理的音訊資料。
在一種可能的實現方式中,透過任務處理頁面獲取待處理任務的過程可以為透過人機互動的方式獲取待處理資料,並確定待處理任務。可選地,任務處理頁面中可以包括資料獲取控制項,用於在被觸發的情況下,控制對應的資料獲取裝置開啟以採集待處理資料,生成待處理資料對應的待處理任務。也就是說,瀏覽器可以回應於資料獲取控制項被觸發,採集待處理資料,根據待處理資料確定待處理任務。例如,在任務處理頁面用於處理影像處理任務的情況下,任務處理頁面中的資料獲取控制項為圖像採集控制項。在使用者透過點擊等方式觸發該圖像採集控制項的情況下,瀏覽器控制安裝瀏覽器的終端設備開啟圖像採集裝置,並透過該圖像採集裝置採集圖像資料作為待處理資料。進一步地,根據待處理的圖像資料生成對應的影像處理任務作為待處理任務。
進一步地,安裝本公開實施例瀏覽器的終端設備中還可以預先儲存多個資料,使用者可以透過與任務處理頁面進行人機互動的方式獲取終端設備中儲存的資料作為待處理資料。可選地,任務處理頁面中可以包括用於向瀏覽器上傳資料的資料上傳控制項,在該資料上傳控制項被觸發的情況下上傳終端設備中的資料作為待處理資料,並根據待處理資料確定待處理任務。例如,在任務處理頁面用於處理影像處理任務的情況下,任務處理頁面中的資料上傳控制項為圖像上傳控制項。在使用者透過點擊等方式觸發該圖像上傳控制項的情況下,瀏覽器控制安裝瀏覽器的終端設備開啟本地相冊,使用者在本地相冊中選中至少一個圖像資料上傳瀏覽器作為待處理資料。進一步地,根據待處理的圖像資料生成對應的影像處理任務作為待處理任務。
可選地,任務處理頁面中可以同時包括資料獲取控制項和資料上傳控制項,使用者可以選擇觸發其中一種控制項確定待處理資料,生成對應的待處理任務。
第2圖示出根據本公開實施例的一種任務處理頁面的示意圖。如第2圖所示,任務處理頁面20中可以包括資料獲取控制項21和資料上傳控制項22。使用者在觸發該資料獲取控制項21的情況下採集待處理資料,在觸發該資料上傳控制項22的情況下上傳待處理資料,以根據待處理資料生成待處理任務。在一種可能的實現方式中,本公開實施例用於執行人臉辨識任務,資料獲取控制項21用於採集人臉圖像,資料上傳控制項22用於上傳人臉圖像。可選地,使用者在觸發資料獲取控制項21的情況下,瀏覽器控制終端設備的拍攝裝置開啟,並採集人臉圖像作為待處理資料生成待處理的人臉辨識任務。使用者在觸發資料上傳控制項22的情況下,瀏覽器控制終端設備的本地相冊開啟,選中需要進行辨識的人臉圖像作為待處理資料生成待處理的人臉辨識任務。
本公開實施例能夠透過任務處理頁面直接確定待處理資料,並基於待處理資料生成待處理任務,使得整個任務處理過程從開始到處理由瀏覽器獨立完成,不需要額外調用終端設備底層的任務處理常式。
在一種可能的實現方式中,瀏覽器顯示的任務處理頁面還可以具有至少兩個處理模組,各處理模組分別用於處理不同的任務,可以透過JS指令碼語言調用處理模組介面的方式使用。可選地,處理模組可以儲存為二進位格式檔,二進位格式檔透過二進位碼編譯規範編譯非瀏覽器代碼以外的原始程式碼得到。其中,二進位碼編譯規範可以為WebAssembly,原始程式碼可以為C語言代碼、C++語言代碼或Rust語言代碼等,透過WebAssembly提供的編譯工具emsdk編輯得到瀏覽器支援的二進位格式檔。
進一步地,處理模組可以為進行任務處理的程式,例如在任務處理頁面用於進行影片處理的情況下,處理模組可以包括進行影像處理的影像處理工具、進行音訊處理的音訊處理工具等程式。或者,處理模組還可以為預先訓練得到的深度學習模型,例如在任務處理頁面用於進行人臉辨識的情況下,處理模組可以包括進行人臉辨識的人臉辨識模型、進行頭髮辨識的頭髮辨識模型、進行嘴部辨識的嘴部辨識模型等。也就是說,在處理模組為深度學習模型的情況下,各深度學習模型至少用於處理以下待處理子任務的至少兩種:人臉檢測任務、頭髮檢測任務、嘴唇分割任務和指甲檢測任務。
步驟S20、透過主執行緒根據至少兩個處理模組的功能分割所述待處理任務,得到至少兩個待處理子任務。
在一種可能的實現方式中,透過主執行緒根據至少兩個處理模組的功能,以及待處理任務的內容對待處理任務進行分割,得到至少兩個待處理子任務。其中,各待處理子任務可以分別對應一個處理模組,並且包括至少部分待處理任務中的待處理資料。可選地,分割待處理任務的過程透過JavaScript主執行緒執行。
以本發明實施例中的待處理任務為人臉辨識任務,任務處理頁面的處理模組包括人眼辨識模組、頭髮辨識模組、面部辨識模組、嘴部辨識模組、胳膊辨識模組以及手部辨識模組為例進行說明。由於人臉辨識過程需要對人眼、頭髮、面部、嘴部等關鍵點進行定位辨識,且任務處理頁面具有的處理模組中包括能夠進行人眼辨識的人眼辨識模組、進行頭髮辨識的頭髮辨識模組、面部辨識的面部辨識模組以及嘴部辨識的嘴部辨識模組。可以將待處理任務劃分為對應於人眼辨識模組的人眼辨識子任務、對應於頭髮辨識模組的頭髮辨識子任務、對應於面部辨識模組的面部辨識子任務以及對應於嘴部辨識模組的嘴部辨識子任務。
進一步地,由於不同處理模組進行辨識的過程均需要基於完整的人臉進行辨識,上述人眼辨識子任務、頭髮辨識子任務、面部辨識子任務和嘴部辨識子任務均包括人臉辨識任務中的待處理的人臉圖像資料。
本公開實施例可以透過任務分割的方式將待處理任務分割為多個子任務,以透過不同的處理模組並行進行任務處理,提高任務處理效率。
步驟S30、透過多個子執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果。
在一種可能的實現方式中,本公開實施例的任務處理方法透過多個子執行緒分別調用各處理模組介面,以並行處理各自對應的待處理任務,得到任務處理結果。可選地,各子執行緒透過主執行緒創建,即主執行緒為單執行緒模式的JavaScript語言執行緒,使得一個在透過主執行緒進行任務處理時無法並行處理任務。由此,可以透過主執行緒開闢多個worker執行緒,以基於各woker執行緒透過各處理模組並行處理對應的待處理子任務。其中,worker執行緒可以在主執行緒運行的同時在後臺運行,兩者互不干擾。等到worker執行緒完成當前待處理子任務的任務處理後,得到子任務處理結果,把子任務處理結果返回給主執行緒。也就是說,任務處理過程可以為透過主執行緒創建多個worker執行緒。透過各worker執行緒分別調用處理模組介面,並行透過各處理模組處理對應的待處理子任務並得到子任務處理結果。
在一種可能的實現方式中,在透過主執行緒創建多個worker執行緒後,基於worker能夠在主執行緒運行的同時在後臺運行的特性,可以透過各worker執行緒分別調用處理模組介面,以並行透過各處理模組處理對應的待處理子任務,得到子任務處理結果。
本公開實施例透過創建worker執行緒的方式解決了瀏覽器只能透過單執行緒執行任務的弊端,實現透過多個處理模組並行進行任務處理,提高了任務處理速度和效率。
在一種可能的實現方式中,各處理模組為預先訓練得到的深度學習模型。處理模組處理對應的待處理子任務的過程包括:將與處理模組對應的待處理子任務中包括的至少部分待處理資料登錄處理模組中,輸出對應的子任務處理結果。在處理模組為用於進行物件辨識的深度學習模型的情況下,可以將待處理子任務中的圖像資料輸入深度學習模型,輸出所述子任務處理結果;所述子任務處理結果包括以下至少一種:所述圖像資料的人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框。例如,在待處理子任務為嘴部辨識任務,處理模組為嘴部辨識模型的情況下,將該嘴部辨識任務中的待辨識人臉圖像輸入嘴部辨識模型,輸出嘴部座標資訊作為子任務處理結果。
第3圖示出根據本公開實施例的一種確定子任務處理結果的示意圖。如第3圖所示,在任務處理頁面的處理模組為訓練得到的深度學習模型的情況下,本公開實施例可以透過將待處理子任務30中包括的至少部分待處理資料登錄預先訓練得到的處理模組31,輸出對應的子任務處理結果32。
步驟S40、基於各所述子任務處理結果確定待處理任務的任務處理結果。
在一種可能的實現方式中,在各處理模組處理待處理子任務得到子任務處理結果後,可以由各worker執行緒透過非同步訊息傳遞機制將子任務處理結果發送至主執行緒。可選地,一部訊息傳遞機制可以為透過postMessage函數進行訊息傳遞。進一步地,瀏覽器透過主執行緒獲取各子任務處理結果,以確定待處理任務的任務處理結果。其中,任務處理結果根據子任務處理結果的內容以及待處理任務中包括的待處理資料類型確定。主執行緒確定任務處理結果的過程可以為獲取各子任務處理結果,並將各子任務處理結果添加到前端頁面中得到任務處理結果。
可選地,子任務處理結果可以為文本資訊。回應於各子任務處理結果為文本資訊,可以透過主執行緒獲取各文本資訊,並透過直接將各文本資訊添加到前端頁面的方式得到待處理任務的任務處理結果。也就是說,在各處理模組處理待處理子任務得到的子任務處理結果為文本資訊的過程中,可以透過主執行緒直接獲取各文本資訊得到包括各子任務處理結果的前端頁面作為任務處理結果,還可以將該任務處理結果透過瀏覽器顯示。子任務處理結果以下文本資訊的至少兩個:人臉檢測框座標、頭髮檢測框座標、嘴唇檢測框座標以及指甲檢測框座標中。任務處理結果可以為包括各子任務處理結果的前端頁面。
以本公開實施例的待處理任務為圖像辨識任務,各處理模組分別用於辨識待處理任務中圖像資料的一個物件所在位置座標為例進行說明。在各處理模組分別用於辨識圖像資料中的人臉位置、頭髮位置、嘴唇位置以及指甲位置中的至少兩個的情況下,得到的子任務處理結果中包括人臉檢測框座標、頭髮檢測框座標、嘴唇檢測框座標以及指甲檢測框座標中的至少兩個文本資訊。主執行緒在獲取各處理模組辨識的檢測框座標後,直接將檢測框座標的文本資訊添加到前端頁面中,得到包括各子任務處理結果的文本資訊作為待處理任務的任務處理結果。
可選地,在子任務處理結果中包括人臉檢測框座標、頭髮檢測框座標、嘴唇檢測框座標以及指甲檢測框座標中的至少兩個文本資訊的情況下,主執行緒還可以各子任務處理結果在待處理任務中的圖像資料上各文本資訊表徵的座標位置繪製對應的圖像框,將繪製後的圖像資料加入前端頁面中得到任務處理結果。
在一種可能的實現方式中,子任務處理結果還可以為圖像資訊,圖像資訊可以為其中至少一個區域被標注的圖像資料。回應於待處理資料為圖像資料,各子任務處理結果為標注圖像資料中至少一個區域的圖像資訊,透過所述主執行緒獲取各圖像資訊,並將圖像資訊疊加後添加到前端頁面中,得到待處理任務的任務處理結果。也就是說,在各處理模組處理待處理子任務得到的子任務處理結果為包括多個圖像框的圖像資訊,且圖像框用於標注圖像資料中至少一個區域時,透過疊加各圖像資訊中圖像框的方式確定任務處理結果。可選地,疊加各圖像框的方式可以為將各子任務處理結果中位置部分重合的圖像框疊加,得到能夠包括各疊加圖像框的最小的任務圖像框。進一步地,將得到的各任務圖像框作為任務處理結果並顯示。或者,疊加各圖像框的方式還可以為將各圖像框直接疊加後得到任務處理結果並顯示。
可選地,子任務處理結果可以包括以下已標記的圖像資訊的至少兩個:具有人臉檢測框的圖像資料、具有頭髮檢測框的圖像資料、具有嘴唇檢測框的圖像資料以及具有指甲檢測框的圖像資料中,任務處理結果可以為具有疊加圖像資訊的前端頁面,疊加圖像資訊為包括人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框的圖像資料,或者為包括疊加人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框得到的至少一個物件檢測框的圖像資料。
以本公開實施例的待處理任務為物件辨識任務,各處理模組分別用於辨識待處理任務中圖像資料的一個特徵位置為例進行說明。處理模組包括面部辨識模組、嘴部辨識模組、頭髮辨識模組和指甲辨識模組中的至少兩個,且處理辨識待處理任務中的圖像資料後分別得到面部圖像資訊、嘴部圖像資訊、頭髮圖像資訊和指甲圖像資訊。面部圖像資訊中包括具有至少一個人臉檢測框的圖像資料,嘴部圖像資訊中包括具有至少一個嘴唇檢測框的圖像資料,頭髮圖像資訊中包括具有至少一個頭髮檢測框的圖像資料,指甲圖像資訊中包括具有至少一個指甲檢測框的圖像資料可以透過主執行緒直接疊加各圖像資訊中人臉檢測框、嘴部檢測框、頭髮檢測框和指甲檢測框,得到包括具有上述各檢測框的圖像資料的前端頁面作為任務處理結果。可選地,還可以透過主執行緒疊加人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框得到的至少一個物件檢測框,並將各物件檢測框添加至圖像資料上,加入前端頁面作為任務處理結果。
第4圖示出根據本公開實施例的一種任務處理結果的示意圖。如第4圖所示,在待處理任務為人臉辨識任務時,各待處理任務透過處理模組處理後得到多個圖像資訊,其中分別包括人臉面部一個特徵位置的區域圖像框。瀏覽器透過主執行緒疊加各圖像資訊中至少部分重合的圖像框得到至少一個人臉圖像框41,並確定包括至少一個人臉圖像框41的任務處理結果40。透過瀏覽器的任務處理頁面顯示該任務處理結果40。
第5圖示出根據本公開實施例的一種確定任務處理結果的示意圖。如第5圖所示,本公開實施例在透過瀏覽器的任務處理頁面確定待處理任務50後,透過主執行緒根據待處理任務50和任務處理頁面具有的各處理模組51分割待處理任務得到至少兩個待處理子任務52。同時,並為各待處理子任務52分配worker執行緒,透過各worker執行緒分別調用該待處理子任務對應的處理模組53,處理該待處理子任務得到子任務處理結果54。透過postMessage將各子任務處理結果54發送至主執行緒。由瀏覽器透過主執行緒獲取各子任務處理結果54得到任務處理結果55。可選地,瀏覽器還可以透過任務處理頁面顯示該任務處理結果55。
以本公開實施例用於進行物件辨識為例進行說明。瀏覽器中包括的處理模組包括人臉檢測模組、頭髮檢測模組、嘴唇檢測模組和指甲檢測模組。在接收到待處理任務後,透過主執行緒根據各處理模組的功能將待處理任務劃分為人臉檢測任務、頭髮檢測任務、嘴唇檢測任務和指甲檢測任務。進一步地,還透過主執行緒創建4個worker執行緒,由各worker執行緒分別調用各處理模組進行子任務處理。在當前調用的處理模組完成子任務處理後,將得到的人臉檢測結果、頭髮檢測結果、嘴唇檢測結果和指甲檢測結果中的一個子任務處理結果透過postMessage的方式發送給主執行緒。主執行緒獲取各worker執行緒發送的子任務處理結果後,將各子任務處理結果處理後以繪製的方式寫入前端頁面代碼中,得到前端頁面作為物件辨識任務的任務處理結果。可選地,在當前任務需要對多幀圖像進行物件辨識時,主執行緒依次處理每一幀,在得到當前幀的任務處理結果後再以輪詢的方式對下一幀進行物件辨識。
本公開實施例能夠將處理不同任務的程式透過WebAssembly編譯為任務處理頁面的處理模組,直接透過瀏覽器調用處理模組進行任務處理。進一步地,還可以在瀏覽器確定待處理任務後透過主執行緒分割待處理任務,並透過多個worker執行緒並行根據處理模組處理分割得到的子任務,由主執行緒獲取各處理模組的處理結果得到任務處理結果,提高了任務處理速度和任務處理效率。
可以理解,本公開提及的上述各個方法實施例,在不違背原理邏輯的情況下,均可以彼此相互結合形成結合後的實施例,限於篇幅,本公開不再贅述。本領域技術人員可以理解,在具體實施方式的上述方法中,各步驟的執行順序應當以其功能和可能的內在邏輯確定。
此外,本公開還提供了任務處理裝置、電子設備、電腦可讀儲存媒體、程式,上述均可用來實現本公開提供的任一種任務處理方法,相應技術方案和描述和參見方法部分的相應記載。
第6圖示出根據本公開實施例的任務處理裝置的示意圖,如第6圖所示,所述裝置包括:
任務確定部分60,被配置為獲取待處理任務,所述待處理任務中包括待處理資料;
任務分割部分61,被配置為透過主執行緒根據至少兩個處理模組的功能分割所述待處理任務,得到至少兩個待處理子任務,各所述待處理子任務分別對應一個處理模組且包括至少部分所述待處理資料,各所述處理模組分別用於處理不同的待處理子任務;
任務處理部分62,被配置為透過多個子執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果;
結果確定部分63,被配置為基於各所述子任務處理結果確定待處理任務的任務處理結果。
在一種可能的實現方式中,所述任務確定部分60包括頁面顯示子部分和任務獲取子部分;
頁面顯示子部分,被配置為顯示具有至少兩個處理模組的任務處理頁面;
任務獲取子部分,被配置為透過所述任務處理介面獲取待處理任務。
在一種可能的實現方式中,各所述子執行緒透過非同步訊息傳遞機制將子任務處理結果發送至主執行緒。
在一種可能的實現方式中,所述處理模組儲存為二進位格式檔,所述二進位格式檔透過二進位碼編輯規範編譯非瀏覽器代碼以外的原始程式碼得到。
在一種可能的實現方式中,所述處理模組為預先訓練得到的深度學習模型。
在一種可能的實現方式中,各所述深度學習模型用於處理以下待處理子任務的至少兩種:人臉檢測任務、頭髮檢測任務、嘴唇分割任務和指甲檢測任務。
在一種可能的實現方式中,所述處理模組處理對應的待處理子任務的過程包括:
將待處理子任務中的圖像資料輸入所述深度學習模型,輸出所述子任務處理結果;所述子任務處理結果包括以下至少一種:所述圖像資料的人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框。
在一種可能的實現方式中,所述任務處理部分62還被配置為:
透過所述主執行緒創建多個worker執行緒;
透過各所述worker執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果。
在一種可能的實現方式中,所述結果確定部分63包括結果確定子部分,結果確定子部分被配置為:
透過所述主執行緒獲取各所述子任務處理結果,並將各所述子任務處理結果添加到前端頁面中得到任務處理結果。
在一種可能的實現方式中,所述子任務處理結果包括以下文本資訊的至少兩個:人臉檢測框座標、頭髮檢測框座標、嘴唇檢測框座標以及指甲檢測框座標;
所述任務處理結果為包括各所述子任務處理結果的文本資訊。
在一種可能的實現方式中,所述子任務處理結果包括以下已標記的圖像資訊的至少兩個:具有人臉檢測框的圖像資料、具有頭髮檢測框的圖像資料、具有嘴唇檢測框的圖像資料以及具有指甲檢測框的圖像資料;
所述任務處理結果為具有疊加圖像資訊的前端頁面,所述疊加圖像資訊為包括人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框的圖像資料,或者為包括疊加人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框得到的至少一個物件檢測框的圖像資料。
在一些實施例中,本公開實施例提供的裝置具有的功能或包含的模組可以用於執行上文方法實施例描述的方法,其實現可以參照上文方法實施例的描述。
本公開實施例還提出一種電腦可讀儲存媒體,其上儲存有電腦程式指令,所述電腦程式指令被處理器執行時實現上述方法。電腦可讀儲存媒體可以是易失性或非易失性電腦可讀儲存媒體。
本公開實施例還提出一種電子設備,包括:處理器;用於儲存處理器可執行指令的記憶體;其中,所述處理器被配置為調用所述記憶體儲存的指令,以執行上述方法。
本公開實施例還提供了一種電腦程式產品,包括電腦可讀代碼,或者承載有電腦可讀代碼的非易失性電腦可讀儲存媒體,當所述電腦可讀代碼在電子設備的處理器中運行時,所述電子設備中的處理器執行上述方法。
電子設備可以被提供為終端、伺服器或其它形態的設備。
第7圖示出根據本公開實施例的一種電子設備800的示意圖。例如,電子設備800可以是行動電話,電腦,數位廣播終端,訊息收發設備,遊戲控制台,平板設備,醫療設備,健身設備,個人數位助理等終端。
參照第7圖,電子設備800可以包括以下一個或多個元件:處理元件802、記憶體804、電源元件806、多媒體元件808、音訊元件810、輸入/輸出(Input/Output,I/ O)介面812、感測器元件814、以及通訊元件816。
處理元件802通常控制電子設備800的整體操作,諸如與顯示,電話呼叫,資料通訊,相機操作和記錄操作相關聯的操作。處理元件802可以包括一個或多個處理器820來執行指令,以完成上述的方法的全部或部分步驟。此外,處理元件802可以包括一個或多個模組,便於處理元件802和其他元件之間的互動。例如,處理元件802可以包括多媒體模組,以方便多媒體元件808和處理元件802之間的互動。
記憶體804被配置為儲存各種類型的資料以支援在電子設備800的操作。這些資料的示例包括用於在電子設備800上操作的任何應用程式或方法的指令、連絡人資料、電話簿資料、訊息、圖片、影片等。記憶體804可以由任何類型的易失性或非易失性存放裝置或者它們的組合實現,如靜態隨機存取記憶體(Static Random-Access Memory,SRAM)、電可擦除可程式設計唯讀記憶體(Electrically Erasable Programmable read only memory,EEPROM)、可擦除可程式設計唯讀記憶體(Erasable Programmable Read-Only Memory,EPROM)、可程式設計唯讀記憶體(Programmable Read-Only Memory,PROM)、唯讀記憶體(Read-Only Memory,ROM)、磁記憶體、快閃記憶體、磁片或光碟。
電源元件806為電子設備800的各種元件提供電力。電源元件806可以包括電源管理系統,一個或多個電源,及其他與為電子設備800生成、管理和分配電力相關聯的組件。
多媒體元件808包括在所述電子設備800和使用者之間的提供一個輸出介面的螢幕。在一些實施例中,螢幕可以包括液晶顯示器(Liquid Crystal Display,LCD)和觸摸面板(Touch panel,TP)。如果螢幕包括觸摸面板,螢幕可以被實現為觸控式螢幕,以接收來自使用者的輸入訊號。觸摸面板包括一個或多個觸摸感測器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸感測器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續時間和壓力。在一些實施例中,多媒體元件808包括一個前置攝影機和/或後置攝影機。當電子設備800處於操作模式,如拍攝模式或視訊模式時,前置攝影機和/或後置攝影機可以接收外部的多媒體資料。每個前置攝影機和後置攝影機可以是一個固定的光學透鏡系統或具有焦距和光學變焦能力。
音訊元件810被配置為輸出和/或輸入音訊訊號。例如,音訊元件810包括一個麥克風(microphone,MIC),當電子設備800處於操作模式,如呼叫模式、記錄模式和語音辨識模式時,麥克風被配置為接收外部音訊訊號。所接收的音訊訊號可以被進一步儲存在記憶體804或經由通訊元件816發送。在一些實施例中,音訊元件810還包括一個揚聲器,用於輸出音訊訊號。
I/ O介面812為處理元件802和週邊介面模組之間提供介面,上述週邊介面模組可以是鍵盤、點擊輪、按鈕等。這些按鈕可包括但不限於:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
感測器元件814包括一個或多個感測器,用於為電子設備800提供各個方面的狀態評估。例如,感測器元件814可以檢測到電子設備800的打開/關閉狀態,元件的相對定位,例如所述元件為電子設備800的顯示器和小鍵盤,感測器元件814還可以檢測電子設備800或電子設備800一個元件的位置改變,使用者與電子設備800接觸的存在或不存在,電子設備800方位或加速/減速和電子設備800的溫度變化。感測器元件814可以包括接近感測器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。感測器元件814還可以包括光感測器,如互補金屬氧化物半導體(Complementary Metal Oxide Semiconductor,CMOS)或電荷耦合裝置(Charge-coupled Device,CCD)圖像感測器,用於在成像應用中使用。在一些實施例中,該感測器元件814還可以包括加速度感測器、陀螺儀感測器、磁感測器、壓力感測器或溫度感測器。
通訊元件816被配置為便於電子設備800和其他設備之間有線或無線方式的通訊。電子設備800可以接入基於通訊標準的無線網路,如WiFi、2G(2-Generation wireless telephone technology,第二代移動通訊技術)或3G(3-Generation wireless telephone technology,第三代移動通訊技術),或它們的組合。在一個示例性實施例中,通訊元件816經由廣播通道接收來自外部廣播管理系統的廣播訊號或廣播相關資訊。在一個示例性實施例中,所述通訊元件816還包括近場通訊(Near Field Communication,NFC)部分,以促進短程通訊。例如,在NFC部分可基於射頻辨識(Radio Frequency Identification,RFID)技術、紅外資料協會(Infrared Data Association,IrDA)技術、超寬頻(Ultra Wide Band,UWB)技術、藍牙(Bluetooth,BT)技術和其他技術來實現。
在示例性實施例中,電子設備800可以被一個或多個應用專用積體電路(Application Specific Integrated Circuit,ASIC)、數位訊號處理器(Digital Signal Processing,DSP)、數位訊號處理設備(Digital signal processing device,DSPD)、可程式設計邏輯器件(programmable logic device,PLD)、現場可程式設計閘陣列(Field Programmable Gate Array,FPGA)、控制器、微控制器、微處理器或其他電子元件實現,用於執行上述方法。
在示例性實施例中,還提供了一種非易失性電腦可讀儲存媒體,例如包括電腦程式指令的記憶體804,上述電腦程式指令可由電子設備800的處理器820執行以完成上述方法。
本公開涉及增強現實領域,透過獲取現實環境中的目標物件的圖像資訊,進而借助各類視覺相關演算法實現對目標物件的相關特徵、狀態及屬性進行檢測或辨識處理,從而得到與具體應用匹配的虛擬與現實相結合的AR效果。示例性的,目標物件可涉及與人體相關的臉部、肢體、手勢、動作等,或者與物體相關的標識物、標誌物,或者與場館或場所相關的沙盤、展示區域或展示物品等。視覺相關演算法可涉及視覺定位、SLAM、三維重建、圖像註冊、背景分割、物件的關鍵點提取及跟蹤、對象的位姿或深度檢測等。具體應用不僅可以涉及跟真實場景或物品相關的導覽、導航、講解、重建、虛擬效果疊加展示等互動場景,還可以涉及與人相關的特效處理,比如妝容美化、肢體美化、特效展示、虛擬模型展示等互動場景。可透過卷積神經網路,實現對目標物件的相關特徵、狀態及屬性進行檢測或辨識處理。上述卷積神經網路是基於深度學習框架進行模型訓練而得到的網路模型。
第8圖示出根據本公開實施例的一種電子設備1900的示意圖。例如,電子設備1900可以被提供為一伺服器。參照第8圖,電子設備1900包括處理元件1922,其進一步包括一個或多個處理器,以及由記憶體1932所代表的記憶體資源,用於儲存可由處理元件1922的執行的指令,例如應用程式。記憶體1932中儲存的應用程式可以包括一個或一個以上的每一個對應於一組指令的部分。此外,處理元件1922被配置為執行指令,以執行上述方法。
電子設備1900還可以包括一個電源元件1926被配置為執行電子設備1900的電源管理,一個有線或無線網路介面1950被配置為將電子設備1900連接到網路,和一個輸入輸出(I/O)介面1958。電子設備1900可以操作基於儲存在記憶體1932的作業系統,例如微軟伺服器作業系統(Windows ServerTM),蘋果公司推出的基於圖形化使用者介面作業系統(Mac OS XTM),多使用者多進程的電腦作業系統(UnixTM), 自由和開放原代碼的類Unix作業系統(LinuxTM),開放原代碼的類Unix作業系統(FreeBSDTM)或類似。
在示例性實施例中,還提供了一種非易失性電腦可讀儲存媒體,例如包括電腦程式指令的記憶體1932,上述電腦程式指令可由電子設備1900的處理元件1922執行以完成上述方法。
本公開可以是系統、方法和/或電腦程式產品。電腦程式產品可以包括電腦可讀儲存媒體,其上載有用於使處理器實現本公開的各個方面的電腦可讀程式指令。
電腦可讀儲存媒體可以是可以保持和儲存由指令執行設備使用的指令的有形設備。電腦可讀儲存媒體例如可以是(但不限於)電存放裝置、磁存放裝置、光存放裝置、電磁存放裝置、半導體存放裝置或者上述的任意合適的組合。電腦可讀儲存媒體的更具體的例子(非窮舉的列表)包括:可擕式電腦盤、硬碟、隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read Only Memory,ROM)、可擦式可程式設計唯讀記憶體(Electrical Programmable Read Only Memory,EPROM或快閃記憶體)、靜態隨機存取記憶體(Static Random Access Memory,SRAM)、可擕式壓縮磁碟唯讀記憶體(Compact Disc Read-Only Memory,CD-ROM)、數位多功能盤(Digital Video Disc,DVD)、記憶棒、軟碟、機械編碼設備、例如其上儲存有指令的打孔卡或凹槽內凸起結構、以及上述的任意合適的組合。這裡所使用的電腦可讀儲存媒體不被解釋為暫態訊號本身,諸如無線電波或者其他自由傳播的電磁波、透過波導或其他傳輸媒介傳播的電磁波(例如,透過光纖電纜的光脈衝)、或者透過電線傳輸的電訊號。
這裡所描述的電腦可讀程式指令可以從電腦可讀儲存媒體下載到各個計算/處理設備,或者透過網路、例如網際網路、區域網路、廣域網路和/或無線網下載到外部電腦或外部存放裝置。網路可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火牆、交換機、閘道電腦和/或邊緣伺服器。每個計算/處理設備中的網路介面卡或者網路介面從網路接收電腦可讀程式指令,並轉發該電腦可讀程式指令,以供儲存在各個計算/處理設備中的電腦可讀儲存媒體中。
用於執行本公開實施例操作的電腦程式指令可以是彙編指令、指令集架構(Industry Standard Architecture,ISA)指令、機器指令、機器相關指令、微代碼、固件指令、狀態設置資料、或者以一種或多種程式設計語言的任意組合編寫的原始程式碼或目標代碼,所述程式設計語言包括物件導向的程式設計語言—諸如Smalltalk、C++等,以及常規的過程式程式設計語言—諸如「C」語言或類似的程式設計語言。電腦可讀程式指令可以完全地在使用者電腦上執行、部分地在使用者電腦上執行、作為一個獨立的套裝軟體執行、部分在使用者電腦上部分在遠端電腦上執行、或者完全在遠端電腦或伺服器上執行。在涉及遠端電腦的情形中,遠端電腦可以透過任意種類的網路—包括區域網路(local area network,LAN)或廣域網路(Wide Area Network,WAN)—連接到使用者電腦,或者,可以連接到外部電腦(例如利用網際網路服務提供者來透過網際網路連接)。在一些實施例中,透過利用電腦可讀程式指令的狀態資訊來個性化定制電子電路,例如可程式設計邏輯電路、現場可程式設計閘陣列(FPGA)或可程式設計邏輯陣列(programmable logic array,PLA),該電子電路可以執行電腦可讀程式指令,從而實現本公開實施例的各個方面。
這裡參照根據本公開實施例的方法、裝置(系統)和電腦程式產品的流程圖和/或框圖描述了本公開的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由電腦可讀程式指令實現。
這些電腦可讀程式指令可以提供給通用電腦、專用電腦或其它可程式設計資料處理裝置的處理器,從而生產出一種機器,使得這些指令在透過電腦或其它可程式設計資料處理裝置的處理器執行時,產生了實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的裝置。也可以把這些電腦可讀程式指令儲存在電腦可讀儲存媒體中,這些指令使得電腦、可程式設計資料處理裝置和/或其他設備以特定方式工作,從而,儲存有指令的電腦可讀媒體則包括一個製造品,其包括實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的各個方面的指令。
也可以把電腦可讀程式指令載入到電腦、其它可程式設計資料處理裝置、或其它設備上,使得在電腦、其它可程式設計資料處理裝置或其它設備上執行一系列操作步驟,以產生電腦實現的過程,從而使得在電腦、其它可程式設計資料處理裝置、或其它設備上執行的指令實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作。
附圖中的流程圖和框圖顯示了根據本公開的多個實施例的系統、方法和電腦程式產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個部分、程式段或指令的一部分,所述部分、程式段或指令的一部分包含一個或多個用於實現規定的邏輯功能的可執行指令。在有些作為替換的實現中,方框中所標注的功能也可以以不同於附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本並行地執行,它們有時也可以按相反的循序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基於硬體的系統來實現,或者可以用專用硬體與電腦指令的組合來實現。
該電腦程式產品可以透過硬體、軟體或其結合的方式實現。在一個可選實施例中,所述電腦程式產品體現為電腦儲存媒體,在另一個可選實施例中,電腦程式產品體現為軟體產品,例如軟體發展包(Software Development Kit,SDK)等等。
以上已經描述了本公開的各實施例,上述說明是示例性的,並非窮盡性的,並且也不限於所披露的各實施例。在不偏離所說明的各實施例的範圍和精神的情況下,對於本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術的改進,或者使本技術領域的其它普通技術人員能理解本文披露的各實施例。
工業實用性
本公開涉及一種任務處理方法及裝置、電子設備、儲存媒體和電腦程式,其中,該方法透過獲取待處理任務,並透過主執行緒根據至少兩個處理模組的功能分割待處理任務,得到包括其中至少部分待處理資料的待處理子任務。透過多個子執行緒並行透過各處理模組處理對應的待處理子任務,得到子任務處理結果,再基於各子任務處理結果確定待處理任務的任務處理結果。本公開實施例能夠在接收到任務時透過主執行緒進行任務分割,並創建多個子執行緒並行透過不同處理模組並行處理部分任務,獲取各處理模組的子任務處理結果得到最終的任務處理結果,提高了任務處理效率。
S10,S20,S30,S40:步驟
20:任務處理頁面
21:資料獲取控制項
22:資料上傳控制項
30:待處理子任務
31:處理模組
32:子任務處理結果
40:任務處理結果
41:人臉圖像框
50:待處理任務
51:各處理模組
52:待處理子任務
53:處理模組
54:子任務處理結果
55:任務處理結果
60:任務確定部分
61:任務分割部分
62:任務處理部分
63:結果確定部分
800:電子設備
802:處理元件
804:記憶體
806:電源元件
808:多媒體元件
810:音訊元件
812:輸入/輸出介面
814:感測器元件
816:通訊元件
820:處理器
1900:電子設備
1922:處理元件
1926:電源元件
1932:記憶體
1950:網路介面
1958:輸入輸出介面
此處的附圖被併入說明書中並構成本說明書的一部分,這些附圖示出了符合本公開的實施例,並與說明書一起用於說明本公開的技術方案。
第1圖示出根據本公開實施例的一種任務處理方法的流程圖;
第2圖示出根據本公開實施例的一種任務處理頁面的示意圖;
第3圖示出根據本公開實施例的一種確定子任務處理結果的示意圖;
第4圖示出根據本公開實施例的一種任務處理結果的示意圖;
第5圖示出根據本公開實施例的一種確定任務處理結果的示意圖;
第6圖示出根據本公開實施例的一種任務處理裝置的示意圖;
第7圖示出根據本公開實施例的一種電子設備的示意圖;
第8圖示出根據本公開實施例的一種電子設備的示意圖。
S10~S40:步驟
Claims (13)
- 一種任務處理方法,所述方法包括: 獲取待處理任務,所述待處理任務中包括待處理資料; 透過主執行緒根據至少兩個處理模組的功能分割所述待處理任務,得到至少兩個待處理子任務,各所述待處理子任務分別對應一個處理模組且包括至少部分所述待處理資料,各所述處理模組分別用於處理不同的待處理子任務; 透過多個子執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果; 基於各所述子任務處理結果確定待處理任務的任務處理結果。
- 根據請求項1所述的方法,其中,所述獲取待處理任務包括; 顯示具有至少兩個處理模組的任務處理頁面; 透過所述任務處理介面獲取待處理任務。
- 根據請求項1所述的方法,其中,各所述子執行緒透過非同步訊息傳遞機制將子任務處理結果發送至主執行緒。
- 根據請求項1至3中任意一項所述的方法,其中,所述處理模組儲存為二進位格式檔,所述二進位格式檔透過二進位碼編譯規範編譯非瀏覽器代碼以外的原始程式碼得到。
- 根據請求項1至3中任意一項所述的方法,其中,所述處理模組為預先訓練得到的深度學習模型。
- 根據請求項5所述的方法,其中,各所述深度學習模型用於處理以下待處理子任務的至少兩種: 人臉檢測任務、頭髮檢測任務、嘴唇分割任務和指甲檢測任務。
- 根據請求項6所述的方法,其中,所述處理模組處理對應的待處理子任務的過程包括: 將待處理子任務中的圖像資料輸入所述深度學習模型,輸出所述子任務處理結果;所述子任務處理結果包括以下至少一種:所述圖像資料的人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框。
- 根據請求項1至3中任意一項所述的方法,其中,所述透過多個子執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果包括: 透過所述主執行緒創建多個worker執行緒; 透過各所述worker執行緒分別調用處理模組介面,並行透過各所述處理模組處理對應的待處理子任務並得到子任務處理結果。
- 根據請求項1至3中任意一項所述的方法,其中,所述基於各所述子任務處理結果確定待處理任務的任務處理結果包括: 透過所述主執行緒獲取各所述子任務處理結果,並將各所述子任務處理結果添加到前端頁面中得到任務處理結果。
- 根據請求項1至3中任意一項所述的方法,其中,所述子任務處理結果包括以下文本資訊的至少兩個:人臉檢測框座標、頭髮檢測框座標、嘴唇檢測框座標以及指甲檢測框座標; 所述任務處理結果為包括各所述子任務處理結果的文本資訊。
- 根據請求項1至3中任意一項所述的方法,其中,所述子任務處理結果包括以下已標記的圖像資訊的至少兩個:具有人臉檢測框的圖像資料、具有頭髮檢測框的圖像資料、具有嘴唇檢測框的圖像資料以及具有指甲檢測框的圖像資料; 所述任務處理結果為具有疊加圖像資訊的前端頁面,所述疊加圖像資訊為包括人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框的圖像資料,或者為包括疊加人臉檢測框、頭髮檢測框、嘴唇檢測框和指甲檢測框中至少兩種檢測框得到的至少一個物件檢測框的圖像資料。
- 一種電子設備,包括: 處理器; 用於儲存處理器可執行指令的記憶體; 其中,所述處理器被配置為調用所述記憶體儲存的指令,以執行請求項1至11中任意一項所述的方法。
- 一種電腦可讀儲存媒體,其上儲存有電腦程式指令,所述電腦程式指令被處理器執行時實現請求項1至11中任意一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111137684.6A CN113806054A (zh) | 2021-09-27 | 2021-09-27 | 任务处理方法及装置、电子设备和存储介质 |
CN202111137684.6 | 2021-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202314496A true TW202314496A (zh) | 2023-04-01 |
Family
ID=78938604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111117088A TW202314496A (zh) | 2021-09-27 | 2022-05-06 | 任務處理方法及電子設備、電腦可讀儲存媒體 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN113806054A (zh) |
TW (1) | TW202314496A (zh) |
WO (1) | WO2023045207A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806054A (zh) * | 2021-09-27 | 2021-12-17 | 北京市商汤科技开发有限公司 | 任务处理方法及装置、电子设备和存储介质 |
CN114546624B (zh) * | 2022-03-01 | 2024-04-09 | 清华大学 | 任务处理方法及装置、电子设备和存储介质 |
CN114612287A (zh) * | 2022-03-18 | 2022-06-10 | 北京小米移动软件有限公司 | 图像处理方法、装置及存储介质 |
CN115658325B (zh) * | 2022-11-18 | 2024-01-23 | 北京市大数据中心 | 数据处理方法、装置、多核处理器、电子设备以及介质 |
CN116126547B (zh) * | 2023-04-18 | 2023-06-27 | 邦邦汽车销售服务(北京)有限公司 | 一种车辆数据处理方法及系统 |
CN116739090B (zh) * | 2023-05-12 | 2023-11-28 | 北京大学 | 基于Web浏览器的深度神经网络推理度量方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11494987B2 (en) * | 2018-09-06 | 2022-11-08 | 8th Wall Inc. | Providing augmented reality in a web browser |
US11593642B2 (en) * | 2019-09-30 | 2023-02-28 | International Business Machines Corporation | Combined data pre-process and architecture search for deep learning models |
CN112437343B (zh) * | 2020-05-15 | 2021-09-17 | 上海哔哩哔哩科技有限公司 | 基于浏览器的封面生成方法和系统 |
CN111860253A (zh) * | 2020-07-10 | 2020-10-30 | 东莞正扬电子机械有限公司 | 一种驾驶场景的多任务属性识别方法、装置、介质及设备 |
CN111881401B (zh) * | 2020-08-04 | 2023-12-26 | 浪潮云信息技术股份公司 | 基于WebAssembly的浏览器深度学习方法及系统 |
CN112257135B (zh) * | 2020-10-30 | 2023-09-05 | 久瓴(上海)智能科技有限公司 | 一种基于多线程的模型加载方法、装置、存储介质及终端 |
CN112650502A (zh) * | 2020-12-31 | 2021-04-13 | 广州方硅信息技术有限公司 | 批处理任务处理方法、装置、计算机设备和存储介质 |
CN112905347A (zh) * | 2021-03-04 | 2021-06-04 | 北京澎思科技有限公司 | 数据处理方法、设备及存储介质 |
CN113221771B (zh) * | 2021-05-18 | 2023-08-04 | 北京百度网讯科技有限公司 | 活体人脸识别方法、装置、设备、存储介质及程序产品 |
CN113298692B (zh) * | 2021-05-21 | 2024-04-16 | 北京索为云网科技有限公司 | 基于移动端浏览器实现实时设备位姿解算的增强现实方法 |
CN113034659A (zh) * | 2021-05-24 | 2021-06-25 | 成都天锐星通科技有限公司 | 三维渲染数据处理方法、装置、电子设备和可读存储介质 |
CN113806054A (zh) * | 2021-09-27 | 2021-12-17 | 北京市商汤科技开发有限公司 | 任务处理方法及装置、电子设备和存储介质 |
-
2021
- 2021-09-27 CN CN202111137684.6A patent/CN113806054A/zh active Pending
-
2022
- 2022-01-29 WO PCT/CN2022/075002 patent/WO2023045207A1/zh active Application Filing
- 2022-05-06 TW TW111117088A patent/TW202314496A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN113806054A (zh) | 2021-12-17 |
WO2023045207A1 (zh) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023045207A1 (zh) | 任务处理方法及装置、电子设备、存储介质和计算机程序 | |
CN106385591B (zh) | 视频处理方法及视频处理装置 | |
TWI781359B (zh) | 人臉和人手關聯檢測方法及裝置、電子設備和電腦可讀儲存媒體 | |
CN109800737B (zh) | 面部识别方法及装置、电子设备和存储介质 | |
TWI747325B (zh) | 目標對象匹配方法及目標對象匹配裝置、電子設備和電腦可讀儲存媒介 | |
JP2021528742A (ja) | 画像処理方法及び装置、電子機器、並びに記憶媒体 | |
CN110134532A (zh) | 一种信息交互方法及装置、电子设备和存储介质 | |
CN111626183B (zh) | 一种目标对象展示方法及装置、电子设备和存储介质 | |
US12008167B2 (en) | Action recognition method and device for target object, and electronic apparatus | |
WO2019114328A1 (zh) | 一种基于增强现实的视频处理方法及其装置 | |
CN111241887B (zh) | 目标对象关键点识别方法及装置、电子设备和存储介质 | |
WO2022188305A1 (zh) | 信息展示方法及装置、电子设备、存储介质及计算机程序 | |
JP7395070B1 (ja) | ビデオ処理方法及び装置、電子設備及びコンピュータ読み取り可能な記憶媒体 | |
CN107918510A (zh) | 应用图标移动方法及装置 | |
WO2023051356A1 (zh) | 一种虚拟对象的显示方法及装置、电子设备和存储介质 | |
TW202121343A (zh) | 圖像處理方法及裝置、電子設備和電腦可讀儲存媒體 | |
JP2023510443A (ja) | ラベリング方法及び装置、電子機器並びに記憶媒体 | |
CN110929616B (zh) | 一种人手识别方法、装置、电子设备和存储介质 | |
WO2023087751A1 (zh) | 应用程序开发平台及方法、电子设备、存储介质和计算机程序产品 | |
CN112669198A (zh) | 图像特效的处理方法、装置、电子设备和存储介质 | |
WO2023273498A1 (zh) | 深度检测方法及装置、电子设备和存储介质 | |
WO2020034763A1 (zh) | 手势识别方法、手势处理方法及装置 | |
CN112613447B (zh) | 关键点检测方法及装置、电子设备和存储介质 | |
CN106447747B (zh) | 图像处理方法及装置 | |
WO2022151687A1 (zh) | 合影图像生成方法、装置、设备、存储介质、计算机程序及产品 |