TW202143164A - 圖像處理方法、電子設備和電腦可讀儲存介質 - Google Patents

圖像處理方法、電子設備和電腦可讀儲存介質 Download PDF

Info

Publication number
TW202143164A
TW202143164A TW110113116A TW110113116A TW202143164A TW 202143164 A TW202143164 A TW 202143164A TW 110113116 A TW110113116 A TW 110113116A TW 110113116 A TW110113116 A TW 110113116A TW 202143164 A TW202143164 A TW 202143164A
Authority
TW
Taiwan
Prior art keywords
neural network
network model
model
initial neural
neurons
Prior art date
Application number
TW110113116A
Other languages
English (en)
Other versions
TWI776462B (zh
Inventor
郭少鵬
王宇杰
李全全
Original Assignee
大陸商深圳市商湯科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商深圳市商湯科技有限公司 filed Critical 大陸商深圳市商湯科技有限公司
Publication of TW202143164A publication Critical patent/TW202143164A/zh
Application granted granted Critical
Publication of TWI776462B publication Critical patent/TWI776462B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Image Analysis (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

本發明實施例提供一種圖像處理方法、電子設備和電腦可讀儲存介質,該方法將待處理圖像輸入到神經網路模型,經神經網路模型輸出待處理圖像的圖像特徵。其中,神經網路模型包括至少兩個中間層,每個中間層包括多個神經元,神經網路模型為:基於初始神經網路模型中神經元的保留概率,對初始神經網路模型進行剪枝處理得到的,初始神經網路模型中神經元的保留概率是基於預設的統計模型獲取的。

Description

圖像處理方法、電子設備和電腦可讀儲存介質
本發明實施例關於圖像處理技術領域,尤其關於一種圖像處理方法、電子設備和電腦可讀儲存介質。
近年來,在人臉識別、物體檢測等應用中,通常需要依靠神經網路模型提取待處理圖像的圖像特徵,以根據待處理圖像的圖像特徵進行人臉識別、物體檢測等。為了提高人臉識別、物體檢測等應用的精度,神經網路模型通常需要向更深的方向發展,即增大神經網路模型的層數和神經元數。然而神經網路模型的層數越多、神經元數越多,神經網路模型的計算量就越大。在實際應用中,受限於處理器、記憶體的性能限制以及應用的即時性要求,不僅要提高神經網路模型的精度,還需要限制神經網路模型的計算量。
在一些情況下,需要通過模型剪枝的方式減小神經網路模型的神經元數,相關技術中,通常採用閾值的方式對神經網路模型中影響精度較小的神經元進行剪枝,但相關技術的方式難以在控制計算量的前提下,同時提高剪枝後的神經網路模型的精度。
本發明提供一種圖像處理方法、電子設備和電腦可讀儲存介質。
本發明實施例提供一種圖像處理方法,所述方法包括:將待處理圖像輸入到神經網路模型;經所述神經網路模型輸出所述待處理圖像的圖像特徵;其中,所述神經網路模型包括至少兩個中間層,每個中間層包括多個神經元,所述神經網路模型為:基於初始神經網路模型中神經元的保留概率,對所述初始神經網路模型進行剪枝處理得到的,所述初始神經網路模型中神經元的保留概率是基於預設的統計模型獲取的。
這樣,由於神經元的保留概率是根據預設的統計模型訓練得到的,基於預設的統計模型所確定的神經元的保留概率,可以在預設的計算量要求下對初始神經網路模型進行剪枝,並且獲取的神經網路模型能夠提高模型的精度。
在一個實施例中,在將待處理圖像輸入到神經網路模型之前,所述方法還包括:基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型;對所述待訓練的神經網路模型進行訓練,得到所述神經網路模型。
這樣,通過基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型,能夠使獲取到的神經網路模型的精度更高。
在一個實施例中,所述預設的統計模型為馬爾科夫模型,在所述基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型之前,還包括:根據所述馬爾科夫模型,獲取初始神經網路模型中神經元的保留概率;其中,所述馬爾科夫模型任一層中第k個神經元的轉移概率
Figure 02_image001
用於表徵前k-1個神經元保留的前提下,第k個神經元保留的概率,k為大於或等於1的整數。
這樣,在訓練馬爾科夫模型的過程中,將馬爾科夫模型中的概率定義為了一個可以學習的參數,將馬爾科夫模型和初始神經網路模型整合起來訓練,以優化馬爾科夫模型中的參數。
在一個實施例中,所述馬爾科夫模型是通過N次反覆運算訓練獲取的,N為大於或等於1的整數,其中,在第M次反覆運算訓練中,M為大於或等於1且小於或等於N的整數,還包括:在第M次反覆運算過程中,對第M-1個初始神經網路模型基於第M-1個馬爾科夫模型進行剪枝處理,獲取第M-1個初始神經網路模型的子網路模型;在第M次反覆運算過程中,訓練所述第M-1個初始神經網路模型的子網路模型並獲取第一損失函數,將所述第一損失函數所確定的第一梯度回傳至所述第M-1個初始神經網路模型更新對應的神經元,得到第M個初始神經網路模型;所述第一損失函數用於表徵所述第M-1個初始神經網路模型的子網路模型的精度;在第M次反覆運算過程中,向所述第M個初始神經網路模型輸入樣本圖像,將所述第M個初始神經網路模型每個神經元的輸出結果,與所述第M-1個馬爾科夫模型中對應神經元的保留概率相乘;在第M次反覆運算過程中,獲取所述第M個初始神經網路模型的第二損失函數;所述第二損失函數用於表徵所述第M個初始神經網路模型的精度和/或計算量;在第M次反覆運算過程中,將根據所述第二損失函數所確定的第二梯度回傳至所述第M-1個馬爾科夫模型,得到第M個馬爾科夫模型。
這樣,在訓練馬爾科夫模型的過程中,將馬爾科夫模型中的概率定義為了一個可以學習的參數,將馬爾科夫模型和初始神經網路模型整合起來訓練,以優化馬爾科夫模型中的參數。本發明實施例提供的方法,訓練效率高,採用訓練完成的馬爾科夫模型對初始神經網路模型剪枝後獲取的神經網路模型,可以在滿足預設的計算量要求下,同時能夠提高模型的精度。
在一個實施例中,在所述對所述待訓練的神經網路模型進行訓練,得到所述神經網路模型之前,還包括:對所述待訓練的神經網路模型中神經元的參數做隨機化處理。
這樣,通過對待訓練的神經網路模型中神經元的參數做隨機化處理,可以降低初始神經網路模型中神經元的參數,對剪枝後獲取的待訓練的神經網路模型中神經元的參數的干擾。
在一個實施例中,所述神經網路模型為:基於初始神經網路模型中任一個中間層的神經元的保留概率,或者,多個中間層的神經元的保留概率,對所述初始神經網路模型進行剪枝處理得到的。
這樣,既可以基於任一個中間層的神經元的保留概率對初始神經網路模型進行剪枝處理,又可以基於多個中間層的神經元的保留概率對初始神經網路模型進行剪枝處理,從而能夠提高剪枝處理方式的多樣性。
在一個實施例中,在所述經所述神經網路模型輸出所述待處理圖像的圖像特徵之後,所述方法還包括:根據得到的所述圖像特徵進行以下至少之一處理:行人檢索、人臉識別、人臉位置檢測、人臉關鍵點檢測、人體位置檢測、人體動作檢測、人體關鍵點檢測、手勢識別、手位置檢測、行人識別、車輛識別、場景識別以及活體檢測。
這樣,可以對圖像特徵進行不同方式的處理,以適應不同應用場景的需要,提高了圖像特徵的處理方式的適應性。
在一個實施例中,所述方法還包括:將所述初始神經網路模型中每個中間層的剪枝程序定義為一個馬爾科夫模型;根據所述馬爾科夫模型,對所述初始神經網路模型進行剪枝處理,得到剪枝完畢的神經網路模型;對所述剪枝完畢的神經網路模型中神經元的參數做隨機化處理,得到待訓練的神經網路模型;利用目標資料集訓練所述待訓練的神經網路模型,得到所述神經網路模型。
在一個實施例中,所述馬爾科夫模型是通過N次反覆運算訓練獲取的,N為大於或等於1的整數,其中,在第M次反覆運算訓練中,M為大於或等於1且小於或等於N的整數,所述對所述初始神經網路模型進行剪枝處理,得到剪枝完畢的神經網路模型,包括:根據所述第M-1個馬爾科夫模型,獲取第M-1個初始神經網路模型中神經元的保留概率;根據所述第M-1個初始神經網路模型中神經元的保留概率,在第M-1個初始神經網路模型中採樣第M-1個馬爾科夫模型的子網路模型;利用經過訓練的第M-1個馬爾科夫模型的子網路模型回傳的第一梯度,對所述第M-1個初始神經網路模型進行更新,得到第M個初始神經網路模型;在向所述第M個初始神經網路模型輸入樣本圖像的情況下,根據所述第M個初始神經網路模型的神經元的輸出結果和第M-1個初始神經網路模型中神經元的保留概率,確定第二梯度;利用所述第二梯度,對所述第M-1個馬爾科夫模型進行優化,得到第M個馬爾科夫模型。
本發明實施例提供一種圖像處理裝置,所述裝置包括:輸入模組,配置為將待處理圖像輸入到神經網路模型;輸出模組,配置為經所述神經網路模型輸出所述待處理圖像的圖像特徵;其中,所述神經網路模型包括至少兩個中間層,每個中間層包括多個神經元,所述神經網路模型為:基於初始神經網路模型中神經元的保留概率,對所述初始神經網路模型進行剪枝處理得到的,所述初始神經網路模型中神經元的保留概率是基於預設的統計模型獲取的。
在一個實施例中,所述裝置還包括,處理模組,配置為在輸入模組將待處理圖像輸入到神經網路模型之前,基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型;對所述待訓練的神經網路模型進行訓練,得到所述神經網路模型。
在一個實施例中,所述預設的統計模型為馬爾科夫模型,所述處理模組,還配置為在所述基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型之前,根據所述馬爾科夫模型,獲取初始神經網路模型中神經元的保留概率;其中,所述馬爾科夫模型任一層中第k個神經元的轉移概率
Figure 02_image001
用於表徵前k-1個神經元保留的前提下,第k個神經元保留的概率,k為大於或等於1的整數。
在一個實施例中,所述馬爾科夫模型是通過N次反覆運算訓練獲取的,N為大於或等於1的整數,其中,在第M次反覆運算訓練中,M為大於或等於1且小於或等於N的整數,所述處理模組,還配置為在第M次反覆運算過程中,對第M-1個初始神經網路模型基於第M-1個馬爾科夫模型進行剪枝處理,獲取第M-1個初始神經網路模型的子網路模型;在第M次反覆運算過程中,訓練所述第M-1個初始神經網路模型的子網路模型並獲取第一損失函數,將所述第一損失函數所確定的第一梯度回傳至所述第M-1個初始神經網路模型更新對應的神經元,得到第M個初始神經網路模型;在第M次反覆運算過程中,向所述第M個初始神經網路模型輸入樣本圖像,將所述第M個初始神經網路模型每個神經元的輸出結果,與所述第M-1個馬爾科夫模型中對應神經元的保留概率相乘;在第M次反覆運算過程中,獲取所述第M個初始神經網路模型的第二損失函數;在第M次反覆運算過程中,將根據所述第二損失函數所確定的第二梯度回傳至所述第M-1個馬爾科夫模型,得到第M個馬爾科夫模型;所述第一損失函數用於表徵所述第M-1個初始神經網路模型的子網路模型的精度;所述第二損失函數用於表徵所述第M個初始神經網路模型的精度和/或計算量。
在一個實施例中,所述處理模組,還配置為在所述對所述待訓練的神經網路模型進行訓練,得到所述神經網路模型之前,對所述待訓練的神經網路模型中神經元的參數做隨機化處理。
在一個實施例中,所述神經網路模型為:基於初始神經網路模型中任一個中間層的神經元的保留概率,或者,多個中間層的神經元的保留概率,對所述初始神經網路模型進行剪枝處理得到的。
在一個實施例中,所述處理模組,還配置為在所述輸出模組經所述神經網路模型輸出所述待處理圖像的圖像特徵之後,根據得到的所述圖像特徵進行以下至少之一處理:行人檢索、人臉識別、人臉位置檢測、人臉關鍵點檢測、人體位置檢測、人體動作檢測、人體關鍵點檢測、手勢識別、手位置檢測、行人識別、車輛識別、場景識別以及活體檢測。
在一個實施例中,所述裝置還包括:定義模組,配置為將所述初始神經網路模型中每個中間層的剪枝程序定義為一個馬爾科夫模型;剪枝模組,配置為根據所述馬爾科夫模型,對所述初始神經網路模型進行剪枝處理,得到剪枝完畢的神經網路模型;隨機化模組,配置為對所述剪枝完畢的神經網路模型中神經元的參數做隨機化處理,得到待訓練的神經網路模型;訓練模組,配置為利用目標資料集訓練所述待訓練的神經網路模型,得到所述神經網路模型。
在一個實施例,所述馬爾科夫模型是通過N次反覆運算訓練獲取的,N為大於或等於1的整數,其中,在第M次反覆運算訓練中,M為大於或等於1且小於或等於N的整數,所述剪枝模組,包括:獲取單元,配置為根據所述第M-1個馬爾科夫模型,獲取第M-1個初始神經網路模型中神經元的保留概率;採樣單元,配置為根據所述第M-1個初始神經網路模型中神經元的保留概率,在第M-1個初始神經網路模型中採樣第M-1個馬爾科夫模型的子網路模型;更新單元,配置為利用經過訓練的第M-1個馬爾科夫模型的子網路模型回傳的第一梯度,對所述第M-1個初始神經網路模型進行更新,得到第M個初始神經網路模型;確定單元,配置為在向所述第M個初始神經網路模型輸入樣本圖像的情況下,根據所述第M個初始神經網路模型的神經元的輸出結果和第M-1個初始神經網路模型中神經元的保留概率,確定第二梯度;優化單元,配置為利用所述第二梯度,對所述第M-1個馬爾科夫模型進行優化,得到第M個馬爾科夫模型。
本發明實施例提供一種電子設備,包括:至少一個處理器和記憶體;所述記憶體儲存電腦執行指令;所述至少一個處理器執行所述記憶體儲存的電腦執行指令,使得所述裝置執行任一項所述的方法。
本發明實施例提供一種電腦可讀儲存介質,所述電腦可讀儲存介質上儲存有電腦執行指令,在所述電腦執行指令被處理器執行的情況下,實現任一項所述的方法。
本發明實施例提供了一種電腦程式產品,其中,上述電腦程式產品包括儲存了電腦程式的非暫態性電腦可讀儲存介質,上述電腦程式可操作來使電腦執行如本發明實施例圖像處理方法中所描述的部分或全部步驟。該電腦程式產品可以為一個軟體安裝包。
應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,而非限制本發明實施例。
根據下面參考附圖對示例性實施例的詳細說明,本發明的其它特徵及方面將變得清楚。
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明實施例可以應用於終端設備、電腦系統以及伺服器等電子設備中,其可與眾多其它通用或專用計算系統環境或配置一起操作。適於與終端設備、電腦系統、伺服器等電子設備一起使用的眾所周知的終端設備、計算系統、環境和/或配置的例子包括但不限於:個人電腦系統、伺服器電腦系統、瘦客戶機、厚客戶機、手持或膝上設備、基於微處理器的系統、機上盒、可程式設計消費電子產品、網路個人電腦、小型電腦系統、大型電腦系統以及包括上述任何系統的分散式雲計算技術環境等等。
終端設備、電腦系統、伺服器等電子設備可以在由電腦系統執行的電腦系統可執行指令(諸如程式模組)的一般語境下描述。通常,程式模組可以包括常式、程式、目的程式、元件、邏輯、資料結構等等,它們執行特定的任務或者實現特定的抽象資料類型。電腦系統/伺服器可以在分散式雲計算環境中實施,分散式雲計算環境中,任務是由通過通信網路連結的遠端處理設備執行的。在分散式雲計算環境中,程式模組可以位於包括存放裝置的本地或遠端計算系統儲存介質上。
本發明下述實施例中,方法實施例的執行主體均以終端設備為例進行說明。
本發明的圖像處理的技術方案通常可以適用於需要從圖像中提取出圖像特徵的應用中,例如,本發明的圖像處理的技術方案可以適用於行人檢索、人臉識別結果、人臉位置檢測、人臉關鍵點檢測、人體位置檢測、人體動作檢測、人體關鍵點檢測、手勢識別、手位置檢測、行人識別、車輛識別、場景識別以及活體檢測等應用中。由上述可知,行人檢索、人臉識別、人臉位置檢測、人臉關鍵點檢測、人體位置檢測、人體動作檢測、人體關鍵點檢測、手勢識別、手位置檢測、行人識別、車輛識別、場景識別以及活體檢測等多種應用都可以使用本發明的基於剪枝所形成的神經網路模型。本發明不限制圖像處理的技術方案以及基於剪枝所形成的神經網路模型的應用場景。
為了更好的理解本發明的應用場景,示例性的,圖1是本發明示例的一種圖像處理方法的應用場景示意圖。如圖1所示,包括終端設備11、攝影頭12,終端設備11可以通過攝影頭12採集攝影頭前方的人臉圖像,終端設備11可以基於本發明的圖像處理方法對採集到的圖像進行處理,以識別圖像中的人臉,並執行後續操作,例如可以基於採集到的人臉資訊解鎖終端設備等。
本發明實施例提供的圖像處理方法及裝置、電子設備和儲存介質,在該方法中,用於獲取圖像特徵的神經網路模型,是基於初始神經網路模型中神經元的保留概率對初始神經網路模型進行剪枝處理得到的,該保留概率由統計模型確定。本發明基於該方法可以在預設的計算量要求下對初始神經網路模型進行剪枝,並且獲取的神經網路模型還能夠提高模型的精度。
圖2是本發明實施例提供的一種圖像處理方法的流程示意圖,如圖2所示,該方法可以包括以下步驟。
S101、將待處理圖像輸入到神經網路模型。
待處理圖像可以為一幅圖片或者照片,也可以為視頻中一幀圖像。
待處理圖像中包含的內容可以根據實際的應用場景確定。例如在本發明的圖像處理方法應用於行人檢索、人臉識別、人臉位置檢測或者人臉關鍵點檢測等與人臉相關的應用的情況下,該待處理圖像可以為包含有人臉的圖像,待處理圖像中的人臉可以為正臉,也可以為側臉。例如在本發明的圖像處理方法應用於行人檢索、行人識別、人體關鍵點檢測、人體位置檢測或者人體動作檢測等與人體相關的應用的情況下,該待處理圖像可以為包含有人體的圖像。例如在本發明的圖像處理方法應用於手勢檢測或者手位置檢測等與手相關的應用的情況下,該待處理圖像可以為包含有手的圖像。例如在本發明的圖像處理方法被用於車輛識別等與車輛相關的應用中的情況下,該待處理圖像可以為包含車輛的圖像。例如在本發明的圖像處理方法應用於場景識別等與場景相關的應用的情況下,該待處理圖像可以為包含有場景的圖像。例如在本發明的圖像處理方法應用於活體檢測等與活體相關的應用的情況下,該待處理圖像可以為包含活體(如活人、活貓、活狗等)的圖像。
神經網路模型包括至少兩個中間層,每個中間層包括多個神經元。圖3是本發明實施例的中間層的示意圖。如圖3所示,中間層位於輸入層和輸出層之間,中間層例如可以為隱藏層。例如該神經網路模型為卷積神經網路模型的情況下,該中間層可以為卷積層。
該神經網路模型可以是下述神經網路模型中的任一種:殘差網路(Residual Network,ResNet),MobileNet,MobileNet-v2。
其中,該神經網路模型可以為:基於初始神經網路模型中神經元的保留概率,對初始神經網路模型進行剪枝處理得到的,初始神經網路模型中神經元的保留概率是基於預設的統計模型獲取的。
一種可能的實現方式中,神經網路模型是基於初始神經網路模型中任一個中間層的神經元的保留概率,對初始神經網路模型進行剪枝處理得到的。即可以僅對初始神經網路模型中的某一個中間層的神經元進行剪枝。
另一種可能的實現方式中,神經網路模型是基於初始神經網路模型中多個中間層的神經元的保留概率,對初始神經網路模型進行剪枝處理得到的。即,可以對初始神經網路模型中大於或等於兩個的部分中間層的神經元進行剪枝,其中,大於或等於兩個的部分中間層可以連續,可以不連續;也可以對初始神經網路模型中的每個中間層的神經元進行剪枝。
在初始神經網路模型中,在基於某個神經元的保留概率確定該神經元保留的情況下,該神經元保留至上述神經網路模型中;在基於某個神經元的保留概率確定該神經元不保留的情況下,該神經元不會保留在上述神經網路模型中,即該神經元被剪枝。由於神經元的保留概率是根據預設的統計模型訓練得到的,基於預設的統計模型所確定的神經元的保留概率,可以在預設的計算量要求下對初始神經網路模型進行剪枝,並且獲取的神經網路模型還能夠提高模型的精度。
S102、經神經網路模型輸出待處理圖像的圖像特徵。
待處理圖像在經過神經網路模型各層的神經元處理後,輸出待處理圖像的圖像特徵,該圖像特徵例如可以是待處理圖像的特徵圖像。
在一種實現方式中,在步驟S102之後,該方法還可以包括以下步驟。
根據得到的圖像特徵進行以下至少之一處理:行人檢索、人臉識別、人臉位置檢測、人臉關鍵點檢測、人體位置檢測、人體動作檢測、人體關鍵點檢測、手勢識別、手位置檢測、行人識別、車輛識別、場景識別以及活體檢測。處理方式取決於應用場景的需要。
本發明實施例提供的圖像處理方法,通過將待處理圖像輸入到神經網路模型中獲取待處理圖像的圖像特徵,其中,神經網路模型是基於初始神經網路模型中神經元的保留概率,對初始神經網路模型進行剪枝處理得到的。由於神經元的保留概率是根據預設的統計模型訓練得到的,基於預設的統計模型所確定的神經元的保留概率,可以在預設的計算量要求下對初始神經網路模型進行剪枝,並且獲取的神經網路模型能夠提高模型的精度。
對於根據初始神經網路模型獲取神經網路模型的方法如下。
一種可能的實現方式中,在步驟S101之前,可以基於初始神經網路模型中神經元的保留概率,獲取神經網路模型。
另一種可能的實現方式中,在步驟S101之前,可以基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型;對待訓練的神經網路模型進行訓練,得到神經網路模型。
示例性的,可以採用樣本資料集對待訓練的神經網路模型進行預設次數的訓練後,得到神經網路模型。
其中,在一種可能的實現方式中,在對待訓練的神經網路模型進行訓練,得到神經網路模型之前,還可以對待訓練的神經網路模型中神經元的參數做隨機化處理。通過對待訓練的神經網路模型中神經元的參數做隨機化處理,可以降低初始神經網路模型中神經元的參數,對剪枝後獲取的待訓練的神經網路模型中神經元的參數的干擾。
示例性的,圖4是基於初始神經網路模型獲取神經網路模型的一種示意圖。如圖4所示,假設初始神經網路模型包括2個中間層(輸入層和輸出層未示出),每個中間層包括10個神經元,初始神經網路模型中神經元的初始參數是隨機的。基於初始神經網路模型中神經元的保留概率對初始神經網路模型進行剪枝,獲取的待訓練的神經網路模型例如包括2個中間層,第1個中間層保留了初始神經網路模型第1層中的前6個神經元,第二個中間層保留了初始神經網路模型第2層中的前8個神經元。使用樣本資料集對待訓練的神經網路模型進行訓練,可以得到上述神經網路模型。
在上述實施例中,預設的統計模型例如可以為馬爾科夫模型、伯努利分佈模型等。本實施例以馬爾科夫模型為例進行說明。
在上述預設的統計模型為馬爾科夫模型的情況下,在上述實施例中,在基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型之前,還可以包括如下步驟。
根據馬爾科夫模型,獲取初始神經網路模型中神經元的保留概率。其中,馬爾科夫模型任一層中第k個神經元的轉移概率
Figure 02_image001
用於表徵前k-1個神經元保留的前提下,第k個神經元保留的概率,k為大於或等於1的整數。
示例性的,圖5是馬爾科夫模型任一層轉移概率的示意圖。如圖5所示,
Figure 02_image003
為保留的前1個神經元,
Figure 02_image005
為保留的前k個神經元,
Figure 02_image007
為剪枝掉的神經元,T表示剪枝過程終止,
Figure 02_image009
為前1個神經元被保留的概率,
Figure 02_image011
為前1個神經元被剪枝的概率,
Figure 02_image001
為前k-1個神經元被保留的前提下,第k個神經元被保留的概率,
Figure 02_image013
為前k-1個神經元被保留的前提下,第k個神經元被剪枝的概率。其中,
Figure 02_image001
可以通過如下公式(1)表示:
Figure 02_image015
(1); 其中,
Figure 02_image017
為訓練好的參數,
Figure 02_image019
是k大於或等於2時
Figure 02_image021
的取值。
下面的實施例將著重介紹如何訓練馬爾科夫模型。
馬爾科夫模型是通過N次反覆運算訓練獲取的,N次反覆運算訓練中的第M次可以記為第M次反覆運算訓練,其中,N為大於或等於1的整數,N的大小可以根據實際情況確定。M為大於或等於1且小於或等於N的整數。
圖6是本發明實施例提供的第M次反覆運算訓練馬爾科夫模型的流程示意圖。如圖6所示,該方法可以包括以下步驟。
S201、在第M次反覆運算過程中,對第M-1個初始神經網路模型基於第M-1個馬爾科夫模型進行剪枝處理,獲取第M-1個初始神經網路模型的子網路模型。
例如在第1次反覆運算過程中,第0個初始神經網路模型例如可以為隨機參數的初始神經網路模型,第0個馬爾科夫模型可以為具有隨機參數的馬爾科夫模型。基於具有隨機參數的馬爾科夫模型對具有隨機參數的初始神經網路模型進行剪枝處理,獲取第0個初始神經網路模型的子網路模型。
示例性的,假設具有隨機參數的初始神經網路模型包括2個中間層,每個中間層包括10個神經元,在第1次反覆運算過程中,經過剪枝後,第0個初始神經網路模型的子網路模型中,第1個中間層保留了前9個神經元,第2個中間層保留了前8個神經元。
再例如在第2次反覆運算過程中,對第1次反覆運算過程中獲取的第1個初始神經網路模型基於第1個馬爾科夫模型進行剪枝處理,獲取第1個初始神經網路模型的子網路模型。
示例性的,第1個初始神經網路模型包括2個中間層,每個中間層包括10個神經元,在第2次反覆運算過程中,經過剪枝後,第1個初始神經網路模型的子網路模型中,第1個中間層保留了前8個神經元,第2個中間層保留了前7個神經元。
後續的反覆運算過程和第2次反覆運算過程類同,本實施例不再贅述。
S202、在第M次反覆運算過程中,訓練第M-1個初始神經網路模型的子網路模型並獲取第一損失函數,將第一損失函數所確定的第一梯度回傳至第M-1個初始神經網路模型更新對應的神經元,得到第M個初始神經網路模型。
其中,第一損失函數用於表徵第M-1個初始神經網路模型的子網路模型的精度。示例性的,第一損失函數可以為下述任一種:均方誤差(mean-square error,MSE)的損失函數、交叉熵(Cross Entropy)損失函數等。
示例性的,可以將樣本資料集輸入到第M-1個初始神經網路模型的子網路模型中,訓練第M-1個初始神經網路模型的子網路模型,訓練完成後獲取對應的第一損失函數。對第一損失函數求導後獲取第一梯度,並將第一梯度採用梯度下降法的方式回傳至第M-1個初始神經網路模型對應的神經元,得到第M個初始神經網路模型。該第M個初始神經網路模型可以用於M+1次反覆運算過程。
以第2次反覆運算過程為例說明,第1個初始神經網路模型的子網路模型中,第1個中間層保留了前8個神經元,第2個中間層保留了前7個神經元。訓練第1個初始神經網路模型的子網路模型並獲取第一損失函數,將第一損失函數所確定的第一梯度回傳至第1個初始神經網路模型對應的神經元,為使用第一梯度更新第1個初始神經網路模型第1個中間層的前8個神經元的參數,以及更新第2個中間層的前7個神經元的參數後,得到第2個初始神經網路模型。
S203、在第M次反覆運算過程中,向第M個初始神經網路模型輸入樣本圖像,將第M個初始神經網路模型每個神經元的輸出結果,與第M-1個馬爾科夫模型中對應神經元的保留概率相乘。
以第2次反覆運算過程為例說明,向第2個初始神經網路模型輸入樣本圖像,對於第2個初始神經網路模型的任一層,假設該層中第k個神經元的輸出結果記為
Figure 02_image023
,則將該輸出結果
Figure 02_image023
和該層中第k個神經元的保留概率相乘,即如公式(2)所示:
Figure 02_image025
(2); 其中,
Figure 02_image027
為該層中第k個神經元的保留概率,
Figure 02_image029
為將該層中第K個神經元的輸出結果
Figure 02_image023
和該層中第k個神經元的保留概率相乘後的輸出結果。
其中,任一層中第k個神經元的保留概率
Figure 02_image027
可以通過任一層中第k個神經元的轉移概率
Figure 02_image001
確定,如下公式(3):
Figure 02_image031
Figure 02_image033
(3); 其中,
Figure 02_image035
為該層中第k-1個神經元保留概率,
Figure 02_image037
為該層中第k-1個神經元保留的情況下,第k個神經元保留的概率,
Figure 02_image039
為該層中第k-1個神經元不保留的概率,
Figure 02_image041
為該層中第k-1個神經元不保留的情況下第k個神經元保留的概率。將公式(3)簡化即可獲得任一層中第k個神經元的保留概率
Figure 02_image027
和該層中第k個神經元的轉移概率
Figure 02_image001
的轉換關係。
S204、在第M次反覆運算過程中,獲取第M個初始神經網路模型的第二損失函數。
其中,第二損失函數用於表徵第M個初始神經網路模型的精度和/或計算量。
示例性的,在第二損失函數用於表徵第M個初始神經網路模型的精度和計算量的情況下,第二損失函數可以表示為公式(4):
Figure 02_image043
(4); 其中,Loss為第二損失函數,
Figure 02_image045
為精度的損失函數,
Figure 02_image047
為計算量的損失函數,
Figure 02_image049
為預設的參數,用以使
Figure 02_image045
Figure 02_image047
處於同一數量級。
以第2次反覆運算過程為例說明,可以基於輸入的樣本圖像和第2個初始神經網路模型最終的輸出結果,獲取第2個初始神經網路模型對應的第二損失函數。
S205、在第M次反覆運算過程中,將根據第二損失函數所確定的第二梯度回傳至第M-1個馬爾科夫模型,得到第M個馬爾科夫模型。
其中,可以對第二損失函數求導後獲取對應的第二梯度,第二梯度可以通過如下公式(5)至(7)表示:
Figure 02_image051
(5);
Figure 02_image053
(6);
Figure 02_image055
(7); 其中,公式(5)至(7)中的
Figure 02_image057
表示公式(1)中第i層的
Figure 02_image017
Figure 02_image059
為第二損失函數對上述公式(1)中的馬爾科夫模型中的參數求偏導,即第二梯度,
Figure 02_image061
為第二損失函數對公式(3)中的輸出求偏導,
Figure 02_image063
為公式(3)中的輸出對馬爾科夫模型中的參數求偏導,
Figure 02_image065
為公式(2)中的第i層第k個神經元的輸出。
以第2次反覆運算過程為例說明,將根據第二損失函數所確定的第二梯度回傳至第1個馬爾科夫模型,得到第2個馬爾科夫模型。
對於第N次反覆運算過程,將根據第二損失函數所確定的第二梯度回傳至第N-1個馬爾科夫模型,得到的第N個馬爾科夫模型後訓練完成,第N個馬爾科夫模型即為上述馬爾科夫模型。
本發明實施例在訓練馬爾科夫模型的過程中,將馬爾科夫模型中的概率定義為了一個可以學習的參數,將馬爾科夫模型和初始神經網路模型整合起來訓練,以優化馬爾科夫模型中的參數。本發明實施例提供的方法,訓練效率高,採用訓練完成的馬爾科夫模型對初始神經網路模型剪枝後獲取的神經網路模型,可以在滿足預設的計算量要求下,同時能夠提高模型的精度。
深度學習在AI(Artificial Intelligence,人工智慧)相關的產品中都起著至關重要的作用,例如物體檢測,人臉識別等。深度學習的特點就是需要參數量,計算量都非常大的深度模型,這些深度模型在實際應用場景中,會有硬體算力,儲存空間等限制,同時目標任務也會有運行速度的要求。
模型剪枝是緩解深度模型過大的研究方向之一,然而模型剪枝會導致模型精度損失,將模型的通道數剪枝後雖然能夠減少模型計算量,減小儲存空間,但會帶來模型的精度的下降,從而達不到產品的精度要求。
模型剪枝在很多場景中都有非常重要的作用,比如說在安防的行人檢測中,可以通過剪枝來減少存放空間,加快運行速率;在人臉檢識別任務中,模型剪枝可以對大模型中冗餘的參數剪枝,使模型輕量化。
相關技術主要為基於一些人為設定的規則(比如參數範數的大小)來進行剪枝;模型剪枝演算法仍有較大的模型精度損失;採用模型搜索的方式的技術效率較低,普遍採用強化學習或者遺傳演算法。
本發明實施例將模型剪枝定義為了模型搜索,提出了一種直接搜索模型通道數的圖像處理方法,模型用此方法進行剪枝後,模型計算量顯著降低,同時精度保持不變或者在滿足性能要求下僅有小幅下降。主要包括以下步驟S301至步驟S303: 步驟S301,將原模型中每層卷積層的剪枝程序定義為一個馬爾科夫模型; 其中,所述原模型可以是初始神經網路模型,所述初始神經網路模型可以為殘差網路(Residual Network,ResNet),MobileNet,MobileNet-v2等;所述初始神經網路模型可以包括至少兩個中間層,每個中間層可以包括多個神經元,在所述初始神經網路模型為卷積神經網路模型的情況下,所述中間層可以為卷積層;可通過馬爾科夫模型,獲取所述原模型中每層卷積層的神經元的保留概率。
圖5為一層卷積層的剪枝過程的馬爾科夫模型,參見圖5,其中
Figure 02_image005
表示該層將保留前k個通道,
Figure 02_image007
為剪枝掉的神經元,T表示剪枝過程終止。
Figure 02_image001
表示保留前k-1個通道的前提下,保留第k個通道channel的概率,
Figure 02_image013
為前k-1個神經元被保留的前提下,第k個神經元被剪枝的概率。
Figure 02_image001
的表示方式如下公式(1):
Figure 02_image015
(1); 其中,通道可以理解為神經元,多餘的通道將會被剪枝,
Figure 02_image067
為可學習的、訓練好的參數,
Figure 02_image019
是k大於或等於2時
Figure 02_image021
的取值。
步驟S302,對所述原模型進行剪枝處理; 其中,可以基於所述每層卷積層的神經元的保留概率,對所述原模型進行剪枝處理;另外,也可以僅基於所述原模型中任一層卷積層的神經元的保留概率,對所述原模型進行剪枝處理;還可以基於所述原模型中多層卷積層的神經元的保留概率,對所述原模型進行剪枝處理,步驟S302可以包括以下步驟S3021和步驟S3022: 步驟S3021:利用構建好的馬爾科夫模型在原模型中採樣子結構,並在目標資料集上訓練這些子結構,由於子結構的模型參數與原模型共用,子結構中回傳的梯度會直接更新到原模型上; 其中,所述子結構可以理解為所述初始神經網路模型的子網路模型,所述目標資料集可以為樣本資料集,所述梯度可以為第一梯度;假設原模型為第1個初始神經網路模型,所述馬爾科夫模型為第1個馬爾科夫模型,則可以基於第1個馬爾科夫模型,對第1個初始神經網路模型進行剪枝處理,採樣到第1個初始神經網路模型的子網路模型;將樣本資料集輸入到第1個初始神經網路模型的子網路模型中,訓練第1個初始神經網路模型的子網路模型,訓練完成後獲取對應的第一損失函數,對所述第一損失函數求導後獲取第一梯度,將所述第一梯度採用梯度下降法的方式回傳到第1個初始神經網路模型對應的神經元,以對所述第1個初始神經網路模型進行更新,得到第2個初始神經網路模型。
步驟S3022:將馬爾科夫模型中的參數按照如下公式(3)進行計算,獲得每個通道被保留的保留概率;並將每個神經元的保留概率與原模型中對應神經元的輸出結果合併,合併結果為
Figure 02_image029
,合併方式為
Figure 02_image027
與卷積層的輸出中對應的通道進行相乘,如下公式(2);合併之後在目標資料集上進行訓練,並優化
Figure 02_image017
,優化
Figure 02_image017
的損失函數用由如下公式(4)表示;
Figure 02_image031
Figure 02_image033
(3);
Figure 02_image025
(2);
Figure 02_image069
(4); 其中,所述參數可以是馬爾科夫模型中任一層中第k個神經元的轉移概率,所述轉移概率用於表徵前k-1個神經元保留的前提下,第k個神經元保留的概率;假設馬爾科夫模型為第1個馬爾科夫模型,則第1個馬爾科夫模型中對應神經元的保留概率的計算方式可以如上述公式(3)所示,
Figure 02_image035
為該層中第k-1個神經元保留概率,
Figure 02_image037
為該層中第k-1個神經元保留的情況下,第k個神經元保留的概率,
Figure 02_image039
為該層中第k-1個神經元不保留的概率,
Figure 02_image041
為該層中第k-1個神經元不保留的情況下第k個神經元保留的概率。將公式(3)簡化即可獲得任一層中第k個神經元的保留概率
Figure 02_image027
和該層中第k個神經元的轉移概率
Figure 02_image001
的轉換關係; 如上述公式(2)所示,可以向第2個初始神經網路模型輸入樣本圖像,將第2個初始神經網路模型第k個神經元的輸出結果
Figure 02_image023
,與第1個馬爾科夫模型中第k個神經元的保留概率
Figure 02_image027
相乘,得到第2個初始神經網路模型第k個神經元的最終的輸出結果
Figure 02_image029
在目標資料集為樣本圖像的情況下,可以基於輸入的樣本圖像,和第2個初始神經網路模型最終的輸出結果
Figure 02_image029
,獲取第2個初始神經網路模型對應的第二損失函數
Figure 02_image071
,所述第二損失函數的計算方式如上述公式(3)所示。其中
Figure 02_image073
為使用者定義的任務的損失函數,
Figure 02_image075
為使用者規定的計算量的約束函數,
Figure 02_image077
為預設的超參數。
步驟S303,獲取剪枝完畢的結構,並重新訓練。
其中,優化好
Figure 02_image017
後,可以根據第二損失函數所確定的第二梯度回傳至第1個馬爾科夫模型,得到優化好的第2個馬爾科夫模型,同樣的,參見步驟S3021中的描述,可以基於第2個馬爾科夫模型,對第2個初始神經網路模型進行剪枝處理,採樣到第2個初始神經網路模型的子網路模型,並對第2個初始神經網路模型的子網路模型進行訓練,獲取對應的損失函數,並對損失函數求導獲取梯度,將所述梯度回傳至第2個初始神經網路模型,以對所述第2個初始神經網路模型進行更新,得到第3個初始神經網路模型,基於輸入的樣本圖像,和第3個初始神經網路模型最終的輸出結果
Figure 02_image029
,獲取第3個初始神經網路模型對應的損失函數,並根據所述損失函數獲取梯度,將梯度回傳至第2個馬爾科夫模型,得到優化好的第3個馬爾科夫模型,同理,可通過反覆運算N次的方式不斷對初始神經網路模型和馬爾科夫模型進行更新,得到剪枝完畢的神經網路模型,將剪枝完畢的神經網路模型的參數隨機初始化,用原模型相同的配置在目標資料集上對參數初始化後的神經網路模型進行訓練,即可獲得符合目標計算量的神經網路模型,可以向所述神經網路模型中輸入待處理圖像,所述神經網路模型可以輸出所述待處理圖像的圖像特徵。
本發明實施例中的方法將模型剪枝定義為一個模型搜索過程,搜索方式為構建一個馬爾科夫模型,並用馬爾科夫過程採樣子結構;將馬爾科夫模型中的概率定義為了一個可學習的參數,並且整合到了原模型中,用梯度下降的方式優化該參數,效率大幅提高;採用本演算法,在相同的計算量下,模型的精度和以往的技術相比,會有顯著的提升;用戶提供的任意計算量下,本方法均可以提供吻合該計算量的模型;在常用的模型上,在同等計算量的情況下,通過該演算法獲得的模型精度對比相關演算法有明顯的提升。
本發明實施例提供的圖像處理方法可以應用在安防場景中的多種任務,(例如行人檢測,人臉識別),可以利用該圖像處理方法對模型進行剪枝以壓縮模型大小,加快模型計算速度;該圖像處理方法可以為客戶提供大量計算量較低,同時精度較高的模型,這些模型可以被應用在物體檢測,行人屬性識別等任務中。
本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通過程式指令相關的硬體來完成。前述的程式可以儲存於一電腦可讀取儲存介質中。該程式在執行的情況下,執行包括上述各方法實施例的步驟;而前述的儲存介質包括:ROM、RAM、磁碟或者光碟等各種可以儲存程式碼的介質。
圖7是本發明實施例提供的一種圖像處理裝置的結構示意圖,如圖7所示,該裝置包括:處理器,其中,所述處理器用於執行儲存在記憶體中的以下程式模組:輸入模型21、輸出模組22。其中, 輸入模組21,配置為將待處理圖像輸入到神經網路模型。 輸出模組22,配置為經神經網路模型輸出待處理圖像的圖像特徵。
其中,神經網路模型包括至少兩個中間層,每個中間層包括多個神經元,神經網路模型為:基於初始神經網路模型中神經元的保留概率,對初始神經網路模型進行剪枝處理得到的,初始神經網路模型中神經元的保留概率是基於預設的統計模型獲取的。
繼續參照圖7,在一些可能的實現方式中,該裝置還包括:處理模組23。其中,處理模組23,配置為在輸入模組21將待處理圖像輸入到神經網路模型之前,基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型;對待訓練的神經網路模型進行訓練,得到神經網路模型。
在一些可能的實現方式中,預設的統計模型為馬爾科夫模型,處理模組23,還配置為在基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型之前,根據馬爾科夫模型,獲取初始神經網路模型中神經元的保留概率;其中,馬爾科夫模型任一層中第k個神經元的轉移概率
Figure 02_image001
用於表徵前k-1個神經元保留的前提下,第k個神經元保留的概率,k為大於或等於1的整數。
在一些可能的實現方式中,馬爾科夫模型是通過N次反覆運算訓練獲取的,N為大於或等於1的整數,其中,在第M次反覆運算訓練中,M為大於或等於1且小於或等於N的整數,處理模組23,還配置為在第M次反覆運算過程中,對第M-1個初始神經網路模型基於第M-1個馬爾科夫模型進行剪枝處理,獲取第M-1個初始神經網路模型的子網路模型;在第M次反覆運算過程中,訓練第M-1個初始神經網路模型的子網路模型並獲取第一損失函數,將第一損失函數所確定的第一梯度回傳至第M-1個初始神經網路模型更新對應的神經元,得到第M個初始神經網路模型;在第M次反覆運算過程中,向第M個初始神經網路模型輸入樣本圖像,將第M個初始神經網路模型每個神經元的輸出結果,與第M-1個馬爾科夫模型中對應神經元的保留概率相乘;在第M次反覆運算過程中,獲取第M個初始神經網路模型的第二損失函數;在第M次反覆運算過程中,將根據第二損失函數所確定的第二梯度回傳至第M-1個馬爾科夫模型,得到第M個馬爾科夫模型;第一損失函數用於表徵第M-1個初始神經網路模型的子網路模型的精度;第二損失函數用於表徵第M個初始神經網路模型的精度和/或計算量。
在一些可能的實現方式中,處理模組23,還配置為在對待訓練的神經網路模型進行訓練,得到神經網路模型之前,對待訓練的神經網路模型中神經元的參數做隨機化處理。
在一些可能的實現方式中,神經網路模型為:基於初始神經網路模型中任一個中間層的神經元的保留概率,或者,多個中間層的神經元的保留概率,對初始神經網路模型進行剪枝處理得到的。
在一些可能的實現方式中,處理模組23,還配置為在輸出模組22經神經網路模型輸出待處理圖像的圖像特徵之後,根據得到的圖像特徵進行以下至少之一處理:行人檢索、人臉識別、人臉位置檢測、人臉關鍵點檢測、人體位置檢測、人體動作檢測、人體關鍵點檢測、手勢識別、手位置檢測、行人識別、車輛識別、場景識別以及活體檢測。
本發明圖7所示的實施例提供的圖像處理裝置,可以執行上述方法實施例中終端設備的動作。例如,該圖像處理裝置可以是終端設備本身,也可以是終端設備的一個晶片。
圖8是本發明實施例提供的一種電子設備的結構示意圖,如圖8所示,該電子設備包括:記憶體91和至少一個處理器92。
記憶體91,配置為儲存程式指令。
處理器92,配置為在程式指令被執行的情況下實現本發明實施例中的圖像處理方法,實現原理可參見上述實施例,本實施例此處不再贅述。
該電子設備還可以包括輸入/輸出介面93。
輸入/輸出介面93可以包括獨立的輸出介面和輸入介面,也可以為集成輸入和輸出的集成介面。其中,輸出介面配置為輸出資料,輸入介面配置為獲取輸入的資料,上述輸出的資料為上述方法實施例中輸出的統稱,輸入的資料為上述方法實施例中輸入的統稱。
本發明還提供一種可讀儲存介質,可讀儲存介質中儲存有執行指令,在電子設備的至少一個處理器執行該執行指令,電腦執行指令被處理器執行的情況下,實現上述實施例中的圖像處理方法。
本發明還提供一種程式產品,該程式產品包括執行指令,該執行指令儲存在可讀儲存介質中。圖像處理裝置的至少一個處理器可以從可讀儲存介質讀取該執行指令,至少一個處理器執行該執行指令使得圖像處理裝置實施上述各種實施方式提供的圖像處理方法。
最後應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的範圍。
工業實用性 本發明實施例通過將待處理圖像輸入到神經網路模型中獲取待處理圖像的圖像特徵,其中,神經網路模型是基於初始神經網路模型中神經元的保留概率,對初始神經網路模型進行剪枝處理得到的。由於神經元的保留概率是根據預設的統計模型訓練得到的,基於預設的統計模型所確定的神經元的保留概率,可以在預設的計算量要求下對初始神經網路模型進行剪枝,並且獲取的神經網路模型能夠提高模型的精度。
11:終端設備 12:攝影頭 21:輸入模型 22:輸出模組 23:處理模組 91:記憶體 92:處理器 93:輸入/輸出介面 S101~S102:步驟 S201~S205:步驟
為了更清楚地說明本發明實施例或相關技術中的技術方案,下面將對實施例或相關技術描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。 圖1是本發明示例的一種圖像處理方法的應用場景示意圖; 圖2是本發明實施例提供的一種圖像處理方法的流程示意圖; 圖3是本發明實施例所述的中間層的示意圖; 圖4是本發明實施例基於初始神經網路模型獲取神經網路模型的一種示意圖; 圖5是本發明實施例馬爾科夫模型任一層轉移概率的示意圖; 圖6是本發明實施例提供的第M次反覆運算訓練馬爾科夫模型的流程示意圖; 圖7是本發明實施例提供的一種圖像處理裝置的結構示意圖; 圖8是本發明實施例提供的一種電子設備的結構示意圖。 通過上述附圖,已示出本發明明確的實施例,後文中將有更詳細的描述。這些附圖和文字描述並不是為了通過任何方式限制本發明構思的範圍,而是通過參考特定實施例為本領域技術人員說明本發明的概念。
S101~S102:步驟

Claims (11)

  1. 一種圖像處理方法,所述方法包括 將待處理圖像輸入到神經網路模型; 經所述神經網路模型輸出所述待處理圖像的圖像特徵; 其中,所述神經網路模型包括至少兩個中間層,每個中間層包括多個神經元,所述神經網路模型為:基於初始神經網路模型中神經元的保留概率,對所述初始神經網路模型進行剪枝處理得到的,所述初始神經網路模型中神經元的保留概率是基於預設的統計模型獲取的。
  2. 根據請求項1所述的方法,其中,在將待處理圖像輸入到神經網路模型之前,所述方法還包括: 基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型; 對所述待訓練的神經網路模型進行訓練,得到所述神經網路模型。
  3. 根據請求項2所述的方法,其中,所述預設的統計模型為馬爾科夫模型,在所述基於初始神經網路模型中神經元的保留概率,獲取待訓練的神經網路模型之前,還包括: 根據所述馬爾科夫模型,獲取初始神經網路模型中神經元的保留概率; 其中,所述馬爾科夫模型任一層中第k個神經元的轉移概率
    Figure 03_image001
    用於表徵前k-1個神經元保留的前提下,第k個神經元保留的概率,k為大於或等於1的整數。
  4. 根據請求項3所述的方法,其中,所述馬爾科夫模型是通過N次反覆運算訓練獲取的,N為大於或等於1的整數,其中,在第M次反覆運算訓練中,M為大於或等於1且小於或等於N的整數,還包括: 在第M次反覆運算過程中,對第M-1個初始神經網路模型基於第M-1個馬爾科夫模型進行剪枝處理,獲取第M-1個初始神經網路模型的子網路模型; 在第M次反覆運算過程中,訓練所述第M-1個初始神經網路模型的子網路模型並獲取第一損失函數,將所述第一損失函數所確定的第一梯度回傳至所述第M-1個初始神經網路模型更新對應的神經元,得到第M個初始神經網路模型;所述第一損失函數用於表徵所述第M-1個初始神經網路模型的子網路模型的精度; 在第M次反覆運算過程中,向所述第M個初始神經網路模型輸入樣本圖像,將所述第M個初始神經網路模型每個神經元的輸出結果,與所述第M-1個馬爾科夫模型中對應神經元的保留概率相乘; 在第M次反覆運算過程中,獲取所述第M個初始神經網路模型的第二損失函數;所述第二損失函數用於表徵所述第M個初始神經網路模型的精度和/或計算量; 在第M次反覆運算過程中,將根據所述第二損失函數所確定的第二梯度回傳至所述第M-1個馬爾科夫模型,得到第M個馬爾科夫模型。
  5. 根據請求項2所述的方法,其中,在所述對所述待訓練的神經網路模型進行訓練,得到所述神經網路模型之前,還包括: 對所述待訓練的神經網路模型中神經元的參數做隨機化處理。
  6. 根據請求項1至5任一項所述的方法,其中, 所述神經網路模型為:基於初始神經網路模型中任一個中間層的神經元的保留概率,或者,多個中間層的神經元的保留概率,對所述初始神經網路模型進行剪枝處理得到的。
  7. 根據請求項1至5任一項所述的圖像處理方法,其中,在所述經所述神經網路模型輸出所述待處理圖像的圖像特徵之後,所述方法還包括: 根據得到的所述圖像特徵進行以下至少之一處理:行人檢索、人臉識別、人臉位置檢測、人臉關鍵點檢測、人體位置檢測、人體動作檢測、人體關鍵點檢測、手勢識別、手位置檢測、行人識別、車輛識別、場景識別以及活體檢測。
  8. 根據請求項1所述的方法,其中,所述方法還包括: 將所述初始神經網路模型中每個中間層的剪枝程序定義為一個馬爾科夫模型; 根據所述馬爾科夫模型,對所述初始神經網路模型進行剪枝處理,得到剪枝完畢的神經網路模型; 對所述剪枝完畢的神經網路模型中神經元的參數做隨機化處理,得到待訓練的神經網路模型; 利用目標資料集訓練所述待訓練的神經網路模型,得到所述神經網路模型。
  9. 根據請求項8所述的方法,其中,所述馬爾科夫模型是通過N次反覆運算訓練獲取的,N為大於或等於1的整數,其中, 在第M次反覆運算訓練中,M為大於或等於1且小於或等於N的整數,所述根據所述馬爾科夫模型,對所述初始神經網路模型進行剪枝處理,得到剪枝完畢的神經網路模型,包括: 根據所述第M-1個馬爾科夫模型,獲取第M-1個初始神經網路模型中神經元的保留概率; 根據所述第M-1個初始神經網路模型中神經元的保留概率,在第M-1個初始神經網路模型中採樣第M-1個馬爾科夫模型的子網路模型; 利用經過訓練的第M-1個馬爾科夫模型的子網路模型回傳的第一梯度,對所述第M-1個初始神經網路模型進行更新,得到第M個初始神經網路模型; 在向所述第M個初始神經網路模型輸入樣本圖像的情況下,根據所述第M個初始神經網路模型的神經元的輸出結果和第M-1個初始神經網路模型中神經元的保留概率,確定第二梯度; 利用所述第二梯度,對所述第M-1個馬爾科夫模型進行優化,得到第M個馬爾科夫模型。
  10. 一種電子設備,包括:至少一個處理器和記憶體; 所述記憶體儲存電腦執行指令; 所述至少一個處理器執行所述記憶體儲存的電腦執行指令,使得所述電子設備執行請求項1至9任一項所述的方法。
  11. 一種電腦可讀儲存介質,所述電腦可讀儲存介質上儲存有電腦執行指令,在所述電腦執行指令被處理器執行的情況下,實現請求項1至9任一項所述的方法。
TW110113116A 2020-04-30 2021-04-12 圖像處理方法、電子設備和電腦可讀儲存介質 TWI776462B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010366985.5A CN111553477A (zh) 2020-04-30 2020-04-30 图像处理方法、装置及存储介质
CN202010366985.5 2020-04-30

Publications (2)

Publication Number Publication Date
TW202143164A true TW202143164A (zh) 2021-11-16
TWI776462B TWI776462B (zh) 2022-09-01

Family

ID=72002628

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110113116A TWI776462B (zh) 2020-04-30 2021-04-12 圖像處理方法、電子設備和電腦可讀儲存介質

Country Status (5)

Country Link
JP (1) JP2022534890A (zh)
KR (1) KR20210152569A (zh)
CN (1) CN111553477A (zh)
TW (1) TWI776462B (zh)
WO (1) WO2021218095A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553477A (zh) * 2020-04-30 2020-08-18 深圳市商汤科技有限公司 图像处理方法、装置及存储介质
CN111967585B (zh) * 2020-09-25 2022-02-22 深圳市商汤科技有限公司 网络模型的处理方法及装置、电子设备和存储介质
CN112508187A (zh) * 2020-10-22 2021-03-16 联想(北京)有限公司 一种机器学习模型压缩方法、装置及设备
CN115273129B (zh) * 2022-02-22 2023-05-05 珠海数字动力科技股份有限公司 基于神经架构搜索的轻量级人体姿态估计方法及装置
CN114580632B (zh) * 2022-03-07 2024-09-27 腾讯科技(深圳)有限公司 模型优化方法和装置、计算设备及存储介质
CN117351432B (zh) * 2023-12-04 2024-02-23 环球数科集团有限公司 一种用于景区游客的多目标识别模型的训练系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105453153B (zh) * 2013-08-20 2018-07-20 哈曼国际工业有限公司 交通灯检测
CN111860826B (zh) * 2016-11-17 2024-08-13 北京图森智途科技有限公司 一种神经网络剪枝方法及装置
US10366322B2 (en) * 2017-10-06 2019-07-30 DeepCube LTD. System and method for compact and efficient sparse neural networks
CN108229533A (zh) * 2017-11-22 2018-06-29 深圳市商汤科技有限公司 图像处理方法、模型剪枝方法、装置及设备
US11593633B2 (en) * 2018-04-13 2023-02-28 Microsoft Technology Licensing, Llc Systems, methods, and computer-readable media for improved real-time audio processing
CN110874550A (zh) * 2018-08-31 2020-03-10 华为技术有限公司 数据处理方法、装置、设备和系统
CN109508831A (zh) * 2018-11-19 2019-03-22 西南大学 基于自适应马尔科夫聚类的城市交通流网络结构识别方法
CN110245267B (zh) * 2019-05-17 2023-08-11 天津大学 多用户视频流深度学习共享计算复用方法
CN111553477A (zh) * 2020-04-30 2020-08-18 深圳市商汤科技有限公司 图像处理方法、装置及存储介质

Also Published As

Publication number Publication date
JP2022534890A (ja) 2022-08-04
WO2021218095A1 (zh) 2021-11-04
CN111553477A (zh) 2020-08-18
TWI776462B (zh) 2022-09-01
KR20210152569A (ko) 2021-12-15

Similar Documents

Publication Publication Date Title
TW202143164A (zh) 圖像處理方法、電子設備和電腦可讀儲存介質
CN111368993B (zh) 一种数据处理方法及相关设备
WO2021022521A1 (zh) 数据处理的方法、训练神经网络模型的方法及设备
WO2021057884A1 (zh) 语句复述方法、训练语句复述模型的方法及其装置
CN111898635A (zh) 神经网络的训练方法、数据获取方法和装置
Dai et al. Incremental learning using a grow-and-prune paradigm with efficient neural networks
US20230206928A1 (en) Audio processing method and apparatus
US11962671B2 (en) Biomimetic codecs and biomimetic coding techniques
CN114926770A (zh) 视频动作识别方法、装置、设备和计算机可读存储介质
CN111357051A (zh) 语音情感识别方法、智能装置和计算机可读存储介质
WO2022156475A1 (zh) 神经网络模型的训练方法、数据处理方法及装置
CN111738074B (zh) 基于弱监督学习的行人属性识别方法、系统及装置
CN114401229A (zh) 一种基于Transformer深度学习模型的加密流量识别方法
CN113128285A (zh) 一种处理视频的方法及装置
CN111104911A (zh) 一种基于大数据训练的行人重识别方法及装置
Zhu et al. Lia: Latently invertible autoencoder with adversarial learning
He et al. On-device deep multi-task inference via multi-task zipping
CN115169548A (zh) 基于张量的持续学习方法和装置
WO2022246986A1 (zh) 数据处理方法、装置、设备及计算机可读存储介质
US20220405574A1 (en) Model-aware data transfer and storage
CN117877125A (zh) 动作识别及其模型训练方法、装置、电子设备、存储介质
US20220207321A1 (en) Convolution-Augmented Transformer Models
WO2021037174A1 (zh) 一种神经网络模型训练方法及装置
CN117493881A (zh) 一种模型生成方法、装置、设备及存储介质
Huang et al. Flow of renyi information in deep neural networks

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent