999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于卦限卷積神經網絡的3D點云分析

2022-01-13 13:34:14劉青山
自動化學報 2021年12期
關鍵詞:語義特征檢測

許 翔 帥 惠 劉青山 ,

隨著自動駕駛和機器人應用技術的興起,3D點云數據分析引起了廣泛關注.近年來,由于基于深度學習的神經網絡在圖像分類[1-2]、目標檢測[3-4]和圖像分割[5-6]等任務中取得了很大的成功,基于深度學習的點云數據分析也成為了研究的熱點[7].現有的基于深度學習的點云數據分析方法大體可以分為以下兩類:

一類是基于無序點云規則化的深度學習方法,這類方法先將3D 點云轉換為規則的體素結構[8-9]或多視圖圖像[10-11],然后使用卷積神經網絡 (Convolutional neural network,CNN)方法來學習特征表示.由于體素化過程存在量化誤差,多視圖投影則壓縮了數據維度,這些都會不同程度上導致3D點云中幾何信息的丟失.另一類方法是直接基于點云的深度學習方法.這類方法又可以分為基于多層感知機(Multi-layer perceptron,MLP)的方法、基于卷積的方法和基于圖的方法.其中基于多層感知機的方法[12-14]的核心思想是通過參數共享的MLP獨立地提取每個點的特征,然后通過一個對稱函數聚合得到全局特征,這類方法往往不能充分考慮到3D 點之間的關系.基于卷積的方法[15-17]的核心思想是根據鄰域點之間的空間位置關系去學習點之間的權重參數,并根據學習到的權重參數自適應地聚合局部特征,這類方法已經取得了極大的成功.基于圖的方法[18-20]在近年來也受到了廣泛的關注,它們將每個點都作為圖的頂點,通過學習頂點之間邊的權重來更新頂點的特征,這類方法通常在構圖的過程中會產生相當大的計算量.

在上述方法中,基于MLP 的方法是最直接簡單的方法.PointNet[12]是這類方法中的開創性工作,其核心思想是通過參數共享的多層感知機獨立地將每個點的坐標信息映射至高維特征空間,再通過一個對稱函數聚合最終的高維特征以獲得全局表示,從而解決了點云的無序性問題;此外,PointNet 還使用T-Net 網絡[12]學習變換矩陣對點云進行旋轉標定,從而保證點云的旋轉不變性;在分割任務中,PointNet 將全局特征與每個點的局部特征級聯,通過多層MLP 提取每個點的語義特征,實現對每個點的分類.雖然該方法簡單有效,但是由于其是對每個點進行獨立地處理,因此該網絡并沒有有效提取點云的局部特征.對此,PointNet++[13]提出了一種層次化的網絡結構,通過在每一層級遞歸使用采樣、分組和PointNet 網絡來抽象低層次的特征;面對語義分割任務,PointNet++提出基于歐氏距離的插值法對點進行上采樣,并將通過插值計算所得語義特征與低層學習的語義特征進行融合以更準確地學習每個點的語義特征.但是在每一個子區域中,PointNet++仍然獨立地處理每個點的信息.PointSIFT[14]引入卦限約束來有效探索各個點周圍的局部模式,其主要思想是以每個點為原點,在周圍8 個卦限中找到特定范圍內的最近點,然后沿著X,Y,Z軸使用三階段2D 卷積來提取局部模式,其三階段的卷積操作會受到因點云旋轉而造成的不同卦限順序的影響,從而使得提取的局部模式具有方向敏感性;此外,在下采樣階段,PointSIFT 沿用PointNet++的網絡結構,采用可學習的方式聚合局部特征,這為其引入額外的參數,從而大大增加了其計算量.

為了克服上述問題,本文提出了一種新的卦限卷積神經網絡(Octant-CNN)來提取點云的局部幾何結構.該網絡主要由卦限卷積模塊和下采樣模塊兩部分組成.具體來說,卦限卷積模塊首先搜索每個點在8 個卦限內的最近鄰點,由于點云的密度特性可以通過近鄰點的距離來表征,為了使Octant-CNN 能更好地反映這一特性,本文取消了對搜索半徑的限制,從而保證遠離中心點的近鄰點同樣可以被度量.卦限卷積模塊使用單階段卷積操作同時作用在8 個卦限的近鄰點,從而克服了三階段卷積操作對卦限順序敏感這一問題,并且配合T-Net 的使用,能夠對點云旋轉具有更好的魯棒性.最后通過級聯各層的特征和殘差連接方式實現了多層次特征的融合.下采樣模塊根據空間分布對點云進行分組聚合,擴大了中間特征的感受野,構成了層次化的網絡連結結構,并且該模塊并沒有引入額外的可學習參數,從而大大降低了Octant-CNN 的計算復雜度.通過對卦限卷積模塊和下采樣模塊的多層堆疊,Octant-CNN 實現了從局部模式中不斷抽象出全局特征.

1 Octant-CNN

Octant-CNN 的整體網絡框架如圖1 所示.以原始點云作為輸入,首先將點云送入T-Net 中進行點云旋轉,將點云標定至規范空間,接著通過卦限卷積模塊(Octant convolution module)提取點云的局部幾何結構,其后采用下采樣模塊(Sub-sampling module)來減少點的數量,以設計一種分層式的層次化網絡結構,從而增加中間層特征的感受野.通過這兩個模塊的多層堆疊,Octant-CNN實現了對高層語義特征的抽象,為點云處理提供了一種高效的特征編碼方式.

圖1 網絡框架圖Fig.1 Illustration of network architecture

1.1 卦限卷積模塊

假設具有n個點的點云為S=(X;F)?R3+C,其中X={x1,x2,···,xn}?R3表示坐標信息,F={f1,f2,···,fn}?RC表示點云的特征.對于每個點si,以該點為原點建立一個三維局部坐標系,可以將空間劃分為8 個卦限,然后在8 個卦限中分別找到si的最近鄰點,即N(si)={si1,···,si8}.在卦限卷積模塊中,Octant-CNN 取消了搜索半徑上限的限制,這樣可以確保遠離中心點的近鄰點同樣可以被捕獲到,從而可以更好地反映點云的局部密度特性.

對于8 個最近鄰點,PointSIFT[14]使用了具有三階段操作的2D 卷積,如圖2(a)所示.該卷積操作沿X,Y和Z軸分別使用卷積核大小為 1×2 的2D 卷積.這種三階段的卷積操作存在著先后順序,對于三維空間中的不同維度具有各向異性,而且PointSIFT 中沒有采用T-Net 對輸入點云進行旋轉,因此不同的卦限順序會造成不同的卷積結果.為了克服這個問題,本文采用T-Net 對點云進行旋轉標定,并通過單階段的卷積操作直接在8 個最近鄰點上進行運算.如圖2(b)所示,Octant-CNN 先按照卦限的順序對8 個鄰點進行排序,接著利用一個卷積核大小為 1×8 的2D 卷積直接作用在這8個鄰點上.給定中心點si及其最近鄰點N(si),卷積的輸入通道包括中心點坐標xi,中心點及其最近鄰點之間的殘差坐標xi-xij,以及最近鄰點的特征fij,該操作過程如下:

圖2 三階段與單階段2D 卷積的對比Fig.2 Comparison of 2D CNN with three-stage and one-stage

其中,f(l)(si)表示點si在第l層學到的特征,concat表示級聯操作,wij表示si和sij之間的可學習權重.

由于Octant-CNN 先通過T-Net 對點云方向進行預先標定,其后采用一個二維卷積同等處理各卦限內的點及其特征,使得單階段卷積對輸入點云具有各向同性,因此對于不同角度的同一點云輸入,Octant-CNN 總能得到相似的特征表示,具有旋轉不變性.

為了使每個點能夠提取更豐富的特征,Octant-CNN 在卦限卷積模塊中堆疊了多層卷積操作,并將各層的輸出特征通過MLP 進行融合,以充分利用各層次特征信息,并且MLP 的輸出尺寸與最后一個卷積層相同,從而可以在最后一層添加殘差塊以緩解梯度消失問題.整個卦限卷積模塊可以表示為

卦限卷積模塊的架構如圖3 所示.

圖3 卦限卷積模塊Fig.3 Octant convolution module

1.2 下采樣模塊

下采樣模塊的目的是為了擴大每個點特征學習的局部感受野.主要思路為:從輸入點集中選擇一系列種子點作為聚類中心點;然后,將這些中心點周圍的點的特征用對稱函數聚合在一起.由于Point-SIFT[14]在下采樣的過程中沿用了PointNet++[13]的結構設計,這為PointSIFT 引入了可學習的參數,從而增加了其計算量;不同于此,Octant-CNN在下采樣模塊中的核心操作是種子點的選擇和特征聚合,而在特征聚合時僅僅通過對稱函數即可實現,這并沒有為Octant-CNN 帶來額外的可學習參數,因此降低了Octant-CNN 的計算復雜度.

給定輸入點{x1,x2,···,xn},下采樣模塊迭代使用最遠點采樣(Furthest point sampling,FPS)來選擇該點集的一個子集{x1,x2,···,xm},m<n,并將該子集作為聚類中心的種子點.與隨機采樣相比,FPS 通過最大化采樣點之間的距離來更好地覆蓋整個點集[13].

對于每一個采樣點,Octant-CNN 都可以在一定的半徑內尋找它的鄰點.為了保持一致性,本文在實際操作中設置了一個上限K.該操作可以表示為:給定一個大小為N×C的原始點集,以及通過FPS 采樣得到的大小為M×C的子集,其中M和N表示集合中點的數量(M<N),C表示特征維度.對于每個采樣點,都可以在一定半徑內從原始點集中選取K個鄰點,并輸出大小為M ×K×C的數據.這些鄰點的特征都可以通過一個對稱函數聚合并輸出大小為M×C.在實際操作中,本文使用最大值來聚合局部特征.

2 實驗結果與分析

為了詳細評估Octant-CNN 的性能,本文在對象分類、部件分割、場景語義分割、3D 目標檢測四組任務中,對其進行了實驗測試,并和相關方法進行了比較.此外,本文還通過一系列消融實驗評估了卦限卷積和下采樣模塊的不同設置對網絡性能的影響.

2.1 對象分類

首先在ModelNet40[9]分類基準上評估Octant-CNN.該數據集包含40 個人工設計的對象類別,共有12 311 個CAD 模型,其中9 843 個用于訓練集,2 468 個用于測試集.參照PointNet[12],本文均勻采樣1 024 個點并將其標準化到單位球體中,并僅將采樣點的坐標作為模型的輸入.在訓練過程中,本文與PointNet++[13]一樣,通過隨機旋轉和縮放對象并擾動對象點的位置來擴充數據.

如圖1 所示,首先使用PointNet[12]設計的T-Net對點云進行旋轉標定.T-Net 首先通過三層共享的MLP 提取點的特征,然后通過最大值池化以獲取全局表示,最后通過兩個全連接層來計算一個轉換矩陣.Octant-CNN 在卦限卷積模塊中學習點的局部特征,然后在下采樣模塊中對點進行分組聚合局部特征.在實際操作中,對于最后一個下采樣模塊,本文僅對原點進行采樣,然后使用最大值獲取全局特征,最后通過兩層全連接層來輸出對象的類別概率.在訓練過程中,本文在全連接層中使用了dropout[21]機制,并將該比率設置為50%.在測試階段,本文和PointNet++[13]一樣,使用投票機制將點云均勻旋轉12 個不同的角度后分別送入模型中預測,并對這12 個預測結果取平均獲取最終的分類結果.

表1 列出了Octant-CNN 與最新一些相關方法進行的比較結果,包括PointNet[12],PointNet++[13],PAT[22]等.本文采用了整體準確率(Overall accuracy,oAcc)和平均準確率(Mean accuracy,mAcc)兩種指標來衡量分類結果,它們的定義分別為

其中,pij表示真實標簽為i,預測結果為j的數量,N表示類別數.為了客觀分析比較,本文還實現了基于PointSIFT[14]的對象分類任務.從表1 可以看到,Octant-CNN 取得了不錯的效果,這也說明了Octant-CNN 在一定程度上可以更好地學習到點云的局部幾何特征.

表1 ModelNet40 分類結果(%)Table 1 Classification results on ModelNet40 (%)

2.2 部件分割

ShapeNet[28]數據集主要用于測試部件分割任務.該數據集包含16 個對象類別的16 881 個不同形狀,總共被標記為50 個部件.本文參照Point-Net[12]的方法對數據集進行劃分,并隨機采樣2 048個點作為網絡輸入.Octant-CNN 僅使用坐標信息作為網絡的輸入,而沒有采用PointNet++[13]中的法線信息.

但是,對于分割任務,模型希望獲得每個點的語義特征以實現每個點的分類.PointSIFT[14]首先參照PointNet++[13]的方法,先使用基于歐氏距離的插值法對點進行上采樣,并將內插值與上一個卦限卷積模塊中學習的特征進行級聯,然后通過共享的多層感知機提取豐富的語義特征;緊接著,Point-SIFT 在此基礎上使用三階段卷積操作進一步做特征變換.該三階段的卷積操作在原來多層感知機的基礎上又引入了額外的參數.不同于此操作,考慮到計算量的問題,Octant-CNN 在上采樣的過程中僅通過多層感知機來抽象高層的語義特征.

在實際操作中,我們還將對象的one-hot 標簽級聯到最后一層特征傳播層中,以進行準確的預測.為了更好地評測Octant-CNN 在部件分割上的性能,本文還和PointNet[12],PointNet++[13]等方法進行了實驗比較,表2 中給出了實驗比較結果.本文采用平均交并比(Mean intersection over union,mIoU)作為衡量分割任務性能的指標,其定義為

表2 ShapeNet 部件分割結果(%)Table 2 Part segmentation results on ShapeNet (%)

其中,pij表示真實標簽為i,預測結果為j的數量,N表示類別數.可以看到,本文僅將坐標信息用作輸入,就可以得到比使用法線信息的PointNet++[13]更好的性能.同時,PointSIFT[14]在部件分割任務中并不能取得很好的效果,主要由于其上采樣使用了三階段的卷積操作,這帶來了大量的參數,對于ShapeNet[28]這種相對較小的數據集,很容易造成模型的過擬合.

2.3 室內場景語義分割

為了進一步證明Octant-CNN 的有效性,本文還在斯坦福大學大型3D 室內空間數據集(3d semantic parsing of large-scale indoor spaces,S3DIS)[30]上評估了其性能.該數據集包含來自6 個室內區域的272 個房間.每個點都用來自13 個類別(天花板,地板,墻壁,梁和其他)的語義標簽進行標注.參照PointNet[12],本文將每個房間分成面積為1 m×1 m的塊,每個點都表示為9 維向量(XYZ,RGB 和歸一化坐標).在訓練過程中,Octant-CNN 在每個塊中隨機選取4 096 個點,并將所有的點用于測試.與PointNet[12]一樣,本文在6 個區域上使用了6 折交叉驗證的方式.

本文將Octant-CNN 與PointNet[12],Point-Net++[13],PointSIFT[14]進行了比較.由于我們無法達到PointSIFT[14]中報告的結果,因此僅顯示根據作者提供的代碼而獲得的結果.結果總結在表3 中,本文提出的Octant-CNN 優于其他方法.圖4 顯示了Octant-CNN 的一些可視化結果,可以發現,Octant-CNN 可以更平滑地分割場景,這是由于Octant-CNN 在卦限卷積模塊中更好地學習局部幾何特征.

圖4 S3DIS 可視化結果Fig.4 Visualization of results on S3DIS

表3 S3DIS 語義分割結果Table 3 Semantic segmentation results on S3DIS

2.4 3D目標檢測

最后,本文將Octant-CNN 和PointSIFT[14]擴展到了KITTI[31]數據集上進行3D 目標檢測.KITTI 3D 目標檢測數據集由7 481 個訓練圖像和7 518 個測試圖像以及相應的點云數據組成.它具有三個目標類別:汽車、行人和自行車.對于3D 目標檢測,本文遵循Frustum PointNets[32]的檢測流程,僅將PointNet 特征提取模塊替換成Octant-CNN以客觀比較.由于Frustum PointNets[32]僅公開了在訓練集和驗證集上的2D 檢測框,因此本文評估的是Octant-CNN 及相關方法在驗證集上的檢測結果.

3D 目標檢測的實驗結果如表4 所示,這些方法的檢測流程都是基于Frustum PointNets[32]實現的,主要不同之處在于點云的分割網絡以及3D 目標檢測框的回歸網絡,其中Frustum PointNet v1采用的是PointNet[12]的網絡結構,Frustum Point-Net v2 采用的是PointNet++[13]的網絡結構,可以發現,本文提出的方法要優于這些方法.尤其對于小目標的檢測性能提升較為明顯,圖5 同時也展示了一些檢測的可視化結果.

圖5 KITTI 目標檢測可視化結果Fig.5 Visualization of detection results on KITTI

表4 3D 目標檢測對比結果(%)Table 4 Performance compression in 3D object detection (%)

2.5 消融實驗

本節在ModelNet40[9]數據集上進行了實驗,詳細分析了網絡結構中各個模塊的作用,并且分析了卦限卷積中不同特征融合方式、不同近鄰點選擇方法和不同特征輸入的效果.此外,本節還對卦限卷積與其他方法的旋轉魯棒性和計算復雜度進行了比較.

1)結構的設計.為了分析卦限卷積模塊中各個部件的重要性,通過將各個部件分別加入卦限卷積模塊中進行實驗,結果如表5 所示.在卦限卷積模塊中,首先通過堆疊多層2D 卷積以獲取點云豐富的局部特征,此時該模型可以達到90.7%的準確率.為了充分利用低層的幾何特征,接著將所有卷積層的輸出特征級聯起來,并通過一層MLP 實現多層特征的融合,此時的準確率可以提升到91.2%.考慮到多層堆疊卷積可能帶來的過擬合問題,進一步以殘差方式將融合特征與最后一層2D 卷積層的輸出特征相加,準確率也進一步提升到91.5%.最后,為了能夠客觀的與PointNet++[13]等方法對比,采用了投票機制,將輸入點云均勻旋轉12 個不同角度并分別送入模型中預測,并取平均值作為最終的結果,最終取得91.9%的準確率.

表5 結構設計分析Table 5 Analysis of the structure design

2)特征融合方式的選擇.為了比較2D 卷積和MLP 兩種特征融合方法對最終結果性能的影響,本組實驗對這兩種特征融合的方式進行了對比,實驗結果如表6 所示.可以觀察到2D 卷積效果更佳,這是由于在使用MLP 時,其是對每個鄰點單獨處理,然后通過最大值操作聚合局部特征,該操作只保留了每個通道中最重要的信息,從而導致細節信息的丟失;而在使用2D 卷積時,其會考慮到所有鄰點各個通道的信息,充分利用了細節信息.

表6 2D 卷積和MLP 的對比Table 6 Comparisons of 2D CNN and MLP

3)近鄰點的選擇.K 近鄰(K-nearest neighbor,KNN)是最常見的一種近鄰選擇方式,本文提出了使用8 卦限搜索的方式來選擇近鄰點.對此,本組實驗對這兩種近鄰點的選擇進行了對比,實驗結果如表7 所示.可以發現,本文所使用的8 卦限搜索的性能要優于KNN.這兩種近鄰點的區別如圖6 所示,其中方框表示選擇的近鄰點.當使用KNN 時,選取的近鄰點會受到點云密度特性的影響而偏向某一特定方向;而使用8 卦限搜索時,所選取的近鄰點來自于不同的方向,從而更好地覆蓋在點云上.

表7 不同鄰點的比較Table 7 The results of different neighbor points

圖6 K 近鄰和8 卦限搜索的比較Fig.6 Comparison of KNN and 8 octant search

4)搜索半徑的設置:為了分析在使用8 卦限搜索近鄰點時,搜索半徑的限制對模型性能的影響,通過設置幾組不同的搜索半徑進行實驗.由于在點云分類任務中,點云首先被標準化到單位球體中,因此最大搜索半徑設置為1.結果如表8 所示,我們觀察到,當搜索半徑越大,分類準確率也會隨之提升.這是由于在設置搜索半徑時,部分偏離中心點較遠的近鄰點會被丟棄,從而導致幾何結構的不完整.因此,我們取消了搜索半徑的限制.

表8 不同搜索半徑的比較Table 8 Comparison of different search radius

5)不同輸入特征的比較:本組實驗對比了使用不同的輸入特征對模型最終性能的影響,實驗結果如表9 所示.從實驗結果可以看出來,當僅使用鄰點的特征作為卷積的輸入時,由于缺少點云的空間位置信息,此時的效果不佳.隨著越來越多的坐標信息,如中心點的坐標、中心點與鄰點的殘差坐標同時送入卷積中進行運算,精度也會得到相應的提升.

表9 不同輸入通道的結果比較Table 9 The results of different input channels

6)點云旋轉的魯棒性分析:在本組實驗中,將輸入點云分別旋轉 0°,30°,60°,90°,180°后送入Octant-CNN 和PointSIFT[14]中進行預測,通過計算由不同角度得到的準確率的均值和方差來比較這兩種方法對點云旋轉的魯棒性.由于Octant-CNN在一定程度上依賴于T-Net,為了更客觀地比較單階段卷積和三階段卷積對點云旋轉的魯棒性的影響,我們還將T-Net 加入PointSIFT 模型中,實驗結果如表10 所示.可以發現,T-Net 在一定程度上提高了PointSIFT 的旋轉魯棒性,但是本文提出的單階段卷積對點云旋轉依然更具魯棒性,這是由于三階段卷積是存在先后順序的,對于三維空間不同維度具有各向異性,而單階段卷積同等處理各卦限的點,對輸入點云具有各向同性.

表10 點云旋轉魯棒性比較Table 10 Comparison of robustness to point cloud rotation

7)Octant-CNN 的復雜度:最后,我們對比了Octant-CNN 和其他一些方法在語義分割任務中的參數量和每秒的浮點運算量(Floating point operations per second,FLOPs),結果如表11所示.可以觀察到,相比于PointSIFT[14],Octant-CNN 的參數量和FLOPs 都得到了明顯的降低,這主要來自兩個方面:1)在下采樣階段,PointSIFT采用可學習的方式聚合局部特征,這為PointSIFT引入了額外的可學習參數,而Octant-CNN 直接采用最大值池化聚合局部特征,這一操作不需要額外參數;2)由于語義分割任務需要上采樣以恢復點的原始數量,PointSIFT 首先使用幾層MLP 抽象語義特征,緊接著使用三階段卷積進一步豐富語義信息,這帶來了大量的參數,Octant-CNN 則只使用了MLP 來抽象高層語義特征.同時可以發現,對于部件分割和目標檢測這兩個數據集相對較小的任務,Point-SIFT 由于參數量過大,導致模型出現過擬合的情況,因此在這兩個任務上的效果不佳.

表11 點云語義分割的復雜度Table 11 Complexity in point cloud semantic segmentation

3 結論

為了有效捕獲點云的局部幾何信息,本文提出了Octant-CNN,并在對象分類、部件分割、語義分割和目標檢測上均取得顯著提升.Octant-CNN 具有三個關鍵點:首先,在近鄰空間中定位最近鄰點時,Octant-CNN 取消了搜索范圍的限制,這使得遠離中心點的近鄰點可以被捕獲,從而更好地反映點云的密度特性.其次,Octant-CNN 使用單階段的卷積操作直接提取點的局部幾何結構,這克服了三階段卷積操作帶來的對卦限順序敏感的問題,從而對點云旋轉更具魯棒性.最后,通過下采樣模塊實現對原始點集的分組及特征聚合,從而增大了中間特征的感受野,并大大降低了卷積操作的計算量.

猜你喜歡
語義特征檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
語言與語義
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
“上”與“下”語義的不對稱性及其認知闡釋
現代語文(2016年21期)2016-05-25 13:13:44
小波變換在PCB缺陷檢測中的應用
認知范疇模糊與語義模糊
主站蜘蛛池模板: 亚洲香蕉久久| 日本午夜视频在线观看| 日本成人精品视频| 国产精品所毛片视频| 亚洲AV一二三区无码AV蜜桃| 天堂av综合网| 国产美女在线观看| 理论片一区| 亚洲欧美日本国产综合在线| 在线观看国产黄色| 成年人午夜免费视频| 国产精品亚洲专区一区| 国产小视频a在线观看| 成人免费网站久久久| 亚洲黄色视频在线观看一区| 91精品小视频| 六月婷婷激情综合| 日韩精品成人网页视频在线| 午夜视频免费一区二区在线看| 亚洲天堂网站在线| 国产凹凸一区在线观看视频| 97久久人人超碰国产精品| 国产精品浪潮Av| 亚洲一区二区三区国产精华液| 久久香蕉国产线看观看精品蕉| 欧美黄色a| 国产主播福利在线观看| www精品久久| 无码福利日韩神码福利片| 日韩二区三区| 久操线在视频在线观看| 欧美色综合网站| 国产日韩欧美黄色片免费观看| 国产精品久久久精品三级| 亚洲永久精品ww47国产| 欧美国产精品拍自| 色综合中文综合网| 国产精品9| 综合亚洲网| 国产视频自拍一区| 自慰网址在线观看| 午夜视频免费试看| 色哟哟国产成人精品| 久久99精品久久久久久不卡| 欧美人人干| 免费看a级毛片| av午夜福利一片免费看| 欧美综合成人| 亚洲无线视频| 亚洲一欧洲中文字幕在线| 九九久久精品国产av片囯产区| 欧美激情伊人| 日本人妻丰满熟妇区| 老司机aⅴ在线精品导航| 国产精品国产三级国产专业不| 国产亚洲高清视频| 无码福利日韩神码福利片| 福利视频久久| 国产精品成人第一区| 国产草草影院18成年视频| 免费观看欧美性一级| 免费国产高清精品一区在线| 国产一区二区三区日韩精品| 在线观看免费人成视频色快速| 国产一区亚洲一区| 亚洲人网站| 国产高清又黄又嫩的免费视频网站| 国产女人综合久久精品视| 69视频国产| 精品伊人久久久久7777人| 亚洲视频一区| 欧美一级大片在线观看| 日韩福利在线观看| 亚洲天堂高清| 91精品啪在线观看国产60岁 | 一级毛片免费播放视频| 91外围女在线观看| 国产精品极品美女自在线看免费一区二区 | 久久人妻xunleige无码| 亚洲欧美不卡视频| 国产剧情国内精品原创| 日韩精品毛片|