国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【youcans 的 OpenCV 學習課】22. Haar 級聯(lián)分類器

這篇具有很好參考價值的文章主要介紹了【youcans 的 OpenCV 學習課】22. Haar 級聯(lián)分類器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

專欄地址:『youcans 的圖像處理學習課』
文章目錄:『youcans 的圖像處理學習課 - 總目錄』



3. Haar 特征及其加速計算

Haar 特征分類器是基于 Haar-like 特征提取的監(jiān)督學習分類器。我們首先討論 Haar 特征及其加速計算。

3.1 Haar 特征

Haar 特征用黑白兩種矩形框組合成特征模板,在特征模板內用黑色矩形像素和減去白色矩形像素和來表示這個模版的特征值。

矩形特征只對一些簡單的圖形結構,如邊緣、線段較敏感,所以只能描述在特定方向(水平、垂直、對角)上有明顯像素模塊梯度變化的圖像結構。

Haar 特征分為三類:邊緣特征、線性特征、中心特征和對角線特征。Haar 特征因為類似于 Haar 小波而得名,Haar-like 特征提取過程可以看作是對圖像局部進行 Haar 小波變換。

Lienhart R.等對 Haar-like 矩形特征庫作了進一步擴展,加入了旋轉 45度的對角線特征、中心環(huán)繞特征。擴展后的 Haar-like 特征大致分為 4 種類型:邊緣特征、線性特征、中心環(huán)繞特征和對角線特征。

【youcans 的 OpenCV 學習課】22. Haar 級聯(lián)分類器

Haar 特征值反映了圖像的灰度變化情況。例如:臉部的一些特征能由矩形特征簡單的描述,如:眼睛要比臉頰顏色要深,鼻梁兩側比鼻梁顏色要深,嘴巴比周圍顏色要深等。


3.2 Haar 特征值的計算

特征模板在圖像子窗口中擴展(平移伸縮)得到的特征稱為“矩形特征”;矩形特征的值稱為“特征值”。

f = w w h i t e ? ∑ p i ∈ w h i t e p i ? w b l a c k ? ∑ p i ∈ b l a c k p i f = w_{white}*\sum_{p_i \in white}{p_i} - w_{black}*\sum_{p_i \in black}{p_i} f=wwhite??pi?white?pi??wblack??pi?black?pi?

其中,w 是權重,用于調節(jié)黑白區(qū)域面積平衡。當特征模板中黑白區(qū)域面積相等時 w=1,則特征值的計算簡化為:

f = ∑ 白色區(qū)域像素值 ? ∑ 黑色區(qū)域像素值 f = \sum{白色區(qū)域像素值} - \sum{黑色區(qū)域像素值} f=白色區(qū)域像素值?黑色區(qū)域像素值

矩形特征值是矩形位置、矩形大小和模板類型這三個變量的函數。

  • 矩形位置:矩形模板框滑動遍歷圖像的每個位置,類似于卷積核;
  • 矩形大小:矩形大小可以根據需要來定義。
  • 模板類型:包括垂直、水平、對角等不同類型。

通過改變類別、大小和位置,就可以使很小的檢測窗口含有非常多的矩形特征,如:在24*24像素大小的檢測窗口內矩形特征數量可以達到16萬個。隨著圖像尺寸的擴大, 特征總量近似指數增長 ,這對于特征值的計算帶來了很大的挑戰(zhàn)。

積分圖就是只遍歷一次圖像就可以求出圖像中所有區(qū)域像素和的快速算法,大大的提高了圖像特征值計算的效率。


3.3 積分圖像

Crow 提出的積分圖像是一種快速計算圖像矩形區(qū)域和的算法。積分圖像是指對于圖像中的每一個像素,取其左上側區(qū)域的全部像素的累加值作為該像素的像素值。積分圖相當于建立了二維查找表,極大地降低了計算量、提高了計算速度。

利用積分圖像,使用 3次加減法就可以計算出圖像中任意矩形區(qū)域內像素值的和,由此可以快速實現圖像的均值濾波。

L ( x , y ) = ∑ i ≤ x ∑ j ≤ y I ( x , y ) s u m a b c d = L a ? L b ? L c + L d L(x,y) = \sum_{i \le x} \sum_{j \le y} I(x,y) \\ sum_{abcd} = L_a - L_b - L_c + L_d L(x,y)=ix?jy?I(x,y)sumabcd?=La??Lb??Lc?+Ld?

式中,L 表示積分圖像的像素值,I 表示輸入圖像的像素值,abcd表示矩形 S 的頂點。

【youcans 的 OpenCV 學習課】22. Haar 級聯(lián)分類器

通過積分圖像可以快速地計算出圖像中任意矩形區(qū)域內像素值的和、均值和均方差,計算復雜度僅為O(1),這對于像素的鄰域處理非常有效。

OpenCV 提供了函數 cv.integral 計算積分圖像。

函數說明:

cv.integral(src[, sum=None, sdepth=-1]) → sum
cv.integral2(src[, sum=None, sqsum=None, sdepth=-1, sqdepth=-1]) → sum, sqsum
cv.integral3(src[, sum=None, sqsum=None, tilted=None, sdepth=-1, sqdepth=-1]) → sum, sqsum, titled

函數 cv.integral 計算像素值的積分圖像,函數 cv.integral2 計算像素值的積分圖像和像素值的平方積分圖像,函數 cv.integral3 計算旋轉 45度的像素值的積分圖像。

s u m ( X , Y ) = ∑ x < X , y < y i m a g e ( x , y ) s q s u m ( X , Y ) = ∑ x < X , y < y i m a g e ( x , y ) 2 t i t l e d ( X , Y ) = ∑ y < y , a b s ( x ? X + 1 ) ≤ Y ? y ? 1 i m a g e ( x , y ) sum(X,Y) = \sum_{x<X,y<y} image(x,y) \\ sqsum(X,Y) = \sum_{x<X,y<y} image(x,y)^2 \\ titled(X,Y) = \sum_{y<y,abs(x-X+1) \le Y-y-1} image(x,y) \\ sum(X,Y)=x<X,y<y?image(x,y)sqsum(X,Y)=x<X,y<y?image(x,y)2titled(X,Y)=y<y,abs(x?X+1)Y?y?1?image(x,y)

參數說明:

  • scr:輸入圖像,形狀 (H,W) 的 Numpy 數組,8位整型或浮點類型
  • sum:積分圖像,形狀 (H+1,W+1) 的 Numpy 數組,32位整型或浮點類型
  • sqsum:平方積分圖像,形狀 (H+1,W+1) 的 Numpy 數組,雙精度浮點類型
  • titled:旋轉 45度的像素值積分圖像,形狀 (H+1,W+1) 的 Numpy 數組,類型與 sum 相同
  • sdepth:積分圖像和旋轉積分圖像的深度,CV_32S/CV_32F/CV64F,可選項,默認值 -1
  • sqdepth:平方積分圖像的深度,CV_32F/CV64F,可選項,默認值 -1

注意事項:

  1. 允許單通道輸入;對于多通道圖像,獨立地處理各通道的數據。
  2. 可以用可變窗口大小進行快速模糊或快速塊相關。

3.4 基于積分圖像加速計算 Haar 特征值

Haar 特征值是白色區(qū)域像素和與黑色區(qū)域像素和之差。使用積分圖像可以快速直接地計算白色區(qū)域或黑色區(qū)域的的像素和,而不需要遍歷像素累加計算,因此可以實現 Haar 特征值的加速計算。

【youcans 的 OpenCV 學習課】22. Haar 級聯(lián)分類器

如上圖所示,

f = ∑ 白色區(qū)域像素值 ? ∑ 黑色區(qū)域像素值 = I n t e g r a l ( A r e a w h i t e ) ? I n t e g r a l ( A r e a b l a c k ) = s u m a b d e ? s u m b c e f = ( L a ? L b ? L d + L e ) ? ( L b ? L c ? L e + L f ) = ( L a ? L b ) ? ( L b ? L c ) ? ( L d ? L e ) + ( L e ? L f ) \begin{aligned} f &= \sum{白色區(qū)域像素值} - \sum{黑色區(qū)域像素值} \\ &= Integral(Area_{white}) - Integral(Area_{black}) \\ &= sum_{abde} - sum_{bcef} \\ &= (L_a - L_b - L_d + L_e) - (L_b - L_c - L_e + L_f) \\ &= (L_a - L_b) - (L_b - L_c) - (L_d - L_e) + (L_e - L_f) \end{aligned} f?=白色區(qū)域像素值?黑色區(qū)域像素值=Integral(Areawhite?)?Integral(Areablack?)=sumabde??sumbcef?=(La??Lb??Ld?+Le?)?(Lb??Lc??Le?+Lf?)=(La??Lb?)?(Lb??Lc?)?(Ld??Le?)+(Le??Lf?)?

提取圖像的 Haar 特征需要大量重復計算多個尺度矩形的和,反復遍歷每個像素,基于積分圖像的方法是使用動態(tài)規(guī)劃思想,極大地降低了計算時間。


4. Haar 特征級聯(lián)分類器

Haar 特征分類器是基于 Haar-like 特征,使用積分圖像加速計算,并用 Adaboost 訓練的強分類器級聯(lián)方法來進行特征檢測的監(jiān)督學習分類器。

4.1 Adaboost 算法

Adaboost 算法( Adaptive Boosting )是一種通用的分類器性能提升算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。

Boosting 是一種重要的集成學習技術,主要思想是通過一些簡單的規(guī)則整合,將預測精度較低的弱學習器增強為預測精度較高的強學習器,為學習算法的設計提供了一種有效的新思路和新方法。作為一種元算法框架,Boosting 幾乎可以應用于所有目前流行的機器學習算法,以加強原算法的預測精度。

Adaboost 算法是一種有效而實用的 Boosting 算法,算法的原理是通過調整樣本權重和弱分類器權值,從訓練出的弱分類器中篩選出權值系數最小的弱分類器組合成一個最終強分類器。

Adaboost 算法是一種迭代訓練算法,對樣本訓練集中的關鍵分類特征集進行多次挑選,逐步訓練分量弱分類器。使用適當的閾值選擇最佳弱分類器,最后將每次迭代訓練選出的最佳弱分類器構建為強分類器。

Adaboost 算法的訓練過程是:

  1. 先通過對 N 個訓練樣本集的學習得到第 1 個弱分類器;
  2. 將分錯的樣本和其他的新樣本一起構成一個新的 N 個樣本的訓練集,通過對這個訓練集的學習得到第 2 個弱分類器 ;
  3. 將 1 和 2 都分錯了的樣本和其他的新樣本構成另一個新的 N 個樣本的訓練集,通過對這個訓練集的學習得到第 3 個弱分類器;
  4. 依次類推,直到獲得最終的強分類器。

Adaboost 算法的基本步驟如下:

  1. 構建第一個弱學習器,找到性能最好的“樹樁”(stump)。
  2. 計算“樹樁”的分類誤差:

e t = ∑ i = 1 n w i ? ∣ h j ( x i ) ? y i ∣ e_t = \sum^n_{i=1} w_i * |h_j(x_i) - y_i| et?=i=1n?wi??hj?(xi?)?yi?

  1. 調整“樹樁”的權重:

α = 1 2 l n ( 1 ? e t e t ) \alpha = \frac{1}{2} ln(\frac{1-e_t}{e_t}) α=21?ln(et?1?et??)

  1. 調整樣本權重:

w t + 1 , i ← w t , i β t 1 ? e t w i ← w i ∑ j = 1 n w j w_{t+1, i} \leftarrow w_{t,i} \beta_t^{1-e_t}\\ w_i \leftarrow \frac{w_i}{\sum^n_{j=1} w_j} wt+1,i?wt,i?βt1?et??wi?j=1n?wj?wi??

  1. 再次運行,構造一個新的自舉數據集。
  2. 重復以上過程,直到達到終止條件。
  3. 將弱學習器組合成一個集成模型。

Adaboost 算法廣泛應用于二分類問題、多類單標簽問題、多類多標簽問題、大類單標簽問題和回歸問題。使用 Adaboost 算法構造 Haar 特征分類器,可以更好地選擇矩形特征的組合,這些矩形特征的組合就構成了分類器,分類器以決策樹的方式存儲這些矩形特征組合。


4.2 級聯(lián)分類器

級聯(lián)分類器(Cascade Classifier)是多個 AdaBoost 強分類器的級聯(lián)組合,可以使用較少的特征和簡單的分類器更快更好的實現分類。檢測圖像中的被檢窗口依次通過每一級分類器,通過全部各級分類器的檢測區(qū)域就是目標區(qū)域。由于大部分候選區(qū)域在前幾層的檢測中就被排除了,因此算法的效率很高。

建立弱分類器

一個完整的弱分類器包含:Haar 特征 + leftValue + rightValue + 弱分類器閾值(threshold)。建立弱分類器的步驟如下:

  1. 對于每個特征 f,計算所有訓練樣本的特征值,并將其排序。

  2. 掃描一遍排好序的特征值,對排好序的表中的每個元素,計算下面四個值:

  • 全部人臉樣本的權重的和 t1;
  • 全部非人臉樣本的權重的和 t0;
  • 在此元素之前的人臉樣本的權重的和 s1;
  • 在此元素之前的非人臉樣本的權重的和s0;

選取當前元素特征值fi(x),和它前面的一個特征值fi-1(x)之間的值作為閾值,該閾值的分類誤差為:

e = m i n [ ( S 1 + ( T 0 ? S 0 ) ) , [ ( S 0 + ( T 1 ? S 1 ) ) ] e = min{[(S_1 + (T_0 - S_0)), [(S_0 + (T_1 - S_1))]} e=min[(S1?+(T0??S0?)),[(S0?+(T1??S1?))]

通過把這個排序的表從頭到尾掃描一遍可以為弱分類器選擇使分類誤差最小的閾值(即最優(yōu)閾值)。

建立強分類器

強分類器是由多個弱分類器并聯(lián)構成的。迭代建立強分類器的步驟如下如下:

  1. 給定訓練樣本集 S,共 N 個樣本,其中 X 和 Y 分別對應于正樣本和負樣本,T 為訓練的最大循環(huán)次數。

  2. 初始化樣本權重為 1/N,即為訓練樣本的初始概率分布。

  3. 第一次迭代訓練 N 個樣本,得到第一個最優(yōu)弱分類器。

  4. 提高上一輪中被誤判的樣本的權重。

  5. 將新的樣本和上次本分錯的樣本放在一起進行新一輪的訓練。

  6. 循環(huán)執(zhí)行步驟 4-5,T 輪后得到 T 個最優(yōu)弱分類器。

  7. 組合 T 個最優(yōu)弱分類器得到強分類器,組合方式如下:

C ( x ) = { 1 , ∑ t = 1 T a t h t ( x ) ≥ 1 2 ∑ t = 1 T a t 0 , e l s e C(x) = \begin{cases} 1 &, \sum_{t=1}^T {a_th_t(x)} \ge \frac{1}{2} \sum_{t=1}^T {a_t}\\ 0 &, else\\ \end{cases} C(x)={10?,t=1T?at?ht?(x)21?t=1T?at?,else?

這相當于讓所有弱分類器投票,對投票結果按照弱分類器的錯誤率加權求和,再進行閾值比較得到最終的結果。

級聯(lián)強分類器

級聯(lián)分類器相當于一個決策樹,通過各級檢測器逐級排除,得到最終結果 。

將多個強分類器組織為篩選式的級聯(lián)分類器,每級分類器排除一部分非人臉樣本,只有通過所有各級分類器的檢測窗口才是人臉區(qū)域。

篩選式級聯(lián)分類器的策略是,將若干個強分類器由簡單到復雜排列,通過訓練使每個強分類器都有較高檢測率,而對誤識率的要求相對較低。部分被檢測的區(qū)域可以很早被篩選掉,迅速判斷該區(qū)域沒有要求被檢測的物體,可以顯著地降低計算量。


4.3 Haar 級聯(lián)分類器

基于 Haar 特征的級聯(lián)分類器是 Paul Viola 在論文”Rapid Object Detection using a Boosted Cascade of Simple Features”中提出的一種目標檢測方法。

Haar 級聯(lián)分類器在每一級的節(jié)點中,使用 AdaBoost 算法學習一個高檢測率低拒絕率的多層分類器。其特點是:

  1. 使用 Haar-like 輸入特征,對矩形圖像區(qū)域的和或者差進行閾值化。

  2. 使用積分圖像計算 45°旋轉區(qū)域的像素和,加速 Haar-like 輸入特征的計算。

  3. 使用統(tǒng)計 Boosting 來創(chuàng)建二分類(人臉/非人臉)的分類器節(jié)點(高通過率,低拒絕率)。

  4. 將弱分類器并聯(lián)組合起來,構成篩選式級聯(lián)分類器。

【youcans 的 OpenCV 學習課】22. Haar 級聯(lián)分類器

各級的 Boosting 分類器對于有人臉的檢測窗口都能通過,同時拒絕一小部分非人臉的檢測窗口,并將通過的檢測窗口傳給下一個分類器。依次類推,最后一個分類器將幾乎所有非人臉的檢測窗口都拒絕掉,只剩下有人臉的檢測窗口。因此,只要檢測窗口區(qū)域通過了所有各級 Boosting 分類器,則認為檢測窗口中有人臉。

在實際應用中輸入圖片的尺寸較大,需要進行多區(qū)域、多尺度的檢測。多區(qū)域是要遍歷圖片的不同位置,多尺度是為了檢測圖片中不同大小的人臉。

在 Haar 級聯(lián)分類人臉檢測器中,主要利用了人臉的結構化特征:

  • 眼睛區(qū)域比臉部區(qū)域暗;

  • 鼻子區(qū)域比眼睛區(qū)域亮。

通過這 5 個矩形區(qū)域的明暗關系,就可以形成對人臉的各個部分的判別特征。Haar 人臉檢測訓練很高,但對側臉的檢測性能較差。


版權聲明:

youcans@xupt 原創(chuàng)作品,轉載必須標注原文鏈接:(https://blog.csdn.net/youcans/article/details/130373695)
Copyright 2022 youcans, XUPT
歡迎關注 『youcans 的 OpenCV 學習課』 系列,持續(xù)更新文章來源地址http://www.zghlxwxcb.cn/news/detail-426004.html

到了這里,關于【youcans 的 OpenCV 學習課】22. Haar 級聯(lián)分類器的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • opencv 基于haar特征的級聯(lián)分類器實現圖象識別原理

    opencv 基于haar特征的級聯(lián)分類器實現圖象識別原理

    暑假的時候做了一個智能機械臂,用到了opencv里的級聯(lián)分類器,這里寫一下我的理解 級聯(lián)分類器上手簡單,同時Haar特征支持一些特殊圖形的檢測,例如人臉,我訓練的是一個純色模型,效果并不好,不建議用該種方法識別一些顏色梯度變化不明顯的物體 (1)haar特征? ? 圖

    2024年02月07日
    瀏覽(22)
  • OpenCV自帶的HAAR級聯(lián)分類器對臉部(人臉、貓臉等)的檢測識別

    OpenCV自帶的HAAR級聯(lián)分類器對臉部(人臉、貓臉等)的檢測識別

    在計算機視覺領域,檢測人臉等是一種很常見且非常重要的應用,我們可以先通過開放計算機視覺庫OpenCV來熟悉這個人臉識別領域。另外OpenCV關于顏色的識別,可以查閱: OpenCV的HSV顏色空間在無人車中顏色識別的應用 HSV顏色識別的跟蹤實踐 https://blog.csdn.net/weixin_41896770/arti

    2024年02月16日
    瀏覽(21)
  • Haar級聯(lián)分類器概述

    Haar級聯(lián)分類器概述

    —— 才疏學淺, 難免有錯誤和遺漏, 歡迎補充和勘誤. Haar級聯(lián)分類器是基于Haar-like特征,運用積分圖加速計算,并用Adaboost訓練的強分類器級聯(lián)的方法來進行人臉檢測。 目前常用Haar-like特征的分類有: 圖1. Haar-like特征分類 首先定義每個Haar-like特征的特征值 f i f_i f i ? 為:

    2024年02月07日
    瀏覽(25)
  • 【youcans 的圖像處理學習課】21. Haar 小波變換

    【youcans 的圖像處理學習課】21. Haar 小波變換

    專欄地址:『youcans 的圖像處理學習課』 文章目錄:『youcans 的圖像處理學習課 - 總目錄』 1.1 小波變換基本概念 信號變換是為了分析時間和頻率之間的相互關系。 傅里葉變換(FFT)將信號表示為無限三角函數的疊加,從而將信號從時域轉換到頻域,可以分析信號的頻譜,但

    2024年02月05日
    瀏覽(26)
  • Haar特征和級聯(lián)分類器目標檢測介紹及應用

    Haar特征和級聯(lián)分類器目標檢測介紹及應用

    Haar特征和級聯(lián)分類器是一種經典的目標檢測算法,適用于檢測物體在圖像中的位置、大小和姿態(tài)等。本教程將詳細介紹Haar特征和級聯(lián)分類器的原理、實現和應用。 Haar特征是一種圖像處理中的特征提取方法,用于描述圖像中的紋理、邊緣和線條等特征?;贖aar小波變換的思

    2024年02月08日
    瀏覽(20)
  • python opencv 級聯(lián)Haar多目標檢測

    python opencv 級聯(lián)Haar多目標檢測

    一、基于OpenCV的haar分類器實現笑臉檢測 1、Haar分類器介紹 ??Haar分類器是一種基于機器學習的目標檢測算法,它使用Haar特征描述圖像中的目標。Haar特征是基于圖像亮度的局部差異計算得出的,可以用來描述目標的邊緣、角落和線條等特征。 使用Haar分類器進行目標檢測的步

    2024年02月17日
    瀏覽(23)
  • OpenCV實戰(zhàn)(31)——基于級聯(lián)Haar特征的目標檢測

    在機器學習基礎一節(jié)中,我們介紹了機器學習的一些基本概念,并通過使用不同類別的樣本來構建分類器。但這種方法訓練分類器需要存儲所有樣本的表示,然后通過查看最近標記點(最近鄰居)來預測新實例的標簽。對于大多數機器學習方法,訓練是一個迭代過程,在此過程

    2024年02月09日
    瀏覽(14)
  • OpenCV 入門教程:Haar特征分類器

    Haar 特征分類器是圖像處理中常用的目標檢測算法,用于識別圖像中的特定目標。該算法基于 Haar-like 特征模板,通過訓練分類器來實現目標的檢測和定位。 Haar 特征分類器在人臉檢測和物體識別等領域具有廣泛應用。本文將以 Haar 特征分類器為中心,為你介紹使用 OpenCV 進行

    2024年02月15日
    瀏覽(30)
  • 利用OpenCV Haar分類器檢測人臉(python實現)

    利用OpenCV Haar分類器檢測人臉(python實現)

    人臉檢測(Face Detection)是當前目標檢測領域中一項非常熱門的研究領域,它是人臉識別與人臉表情分析的核心,本篇文章介紹采用OpenCV中Haar分類器算法對圖片中人臉的檢測,并通過矩形框講人臉與眼睛位置框選與標記. Haar級聯(lián)分類器是一種基于特征提取和機器學習的對象檢

    2024年02月05日
    瀏覽(22)
  • 基于OpenCV的haar分類器實現人臉檢測分析

    基于OpenCV的haar分類器實現人臉檢測分析

    今天來分享兩個基于OpenCV實現的識別人臉的不同應用。 1、Haar分類器介紹 ??Haar分類器是一種基于 機器學習 的目標檢測算法,它使用Haar特征描述圖像中的目標。Haar特征是 基于圖像亮度的局部差異 計算得出的,可以用來描述目標的邊緣、角落和線條等特征。 使用Haar分類器

    2024年02月03日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包