日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习之 SSD(Single Shot MultiBox Detector)

發布時間:2023/12/20 pytorch 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习之 SSD(Single Shot MultiBox Detector) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目標檢測近年來已經取得了很重要的進展,主流的算法主要分為兩個類型:

(1)two-stage方法,如R-CNN系算法,其主要思路是先通過啟發式方法(selective search)或者CNN網絡(RPN)產生一系列稀疏的候選框,然后對這些候選框進行分類與回歸,two-stage方法的優勢是準確度高;
(2)one-stage方法,如Yolo和SSD,其主要思路是均勻地在圖片的不同位置進行密集抽樣,抽樣時可以采用不同尺度和長寬比,然后利用CNN提取特征后直接進行分類與回歸,整個過程只需要一步,所以其優勢是速度快,但是均勻的密集采樣的一個重要缺點是訓練比較困難,這主要是因為正樣本與負樣本(背景)極其不均衡(參見 Focal Loss),導致模型準確度稍低。不同算法的性能如圖1所示,可以看到兩類方法在準確度和速度上的差異。

圖1 不同檢測算法的性能對比

本文講解的是SSD算法,英文名Single Shot MultiBox Detector。Single shot指明了SSD算法屬于one-stage方法,MultiBox指明了SSD是多框預測。從圖1也可以看到,SSD算法在準確度和速度(除了SSD512)上都比Yolo要好很多。圖2給出了不同算法的基本框架圖,對于Faster R-CNN,其先通過CNN得到候選框,然后再進行分類與回歸,而Yolo與SSD可以一步到位完成檢測。相比Yolo,SSD采用CNN來直接進行檢測,而不是像Yolo那樣在全連接層之后做檢測。其實采用卷積直接做檢測只是SSD相比Yolo的其中一個不同點,另外還有兩個重要的改變,一是SSD提取了不同尺度的特征圖來做檢測,大尺度特征圖(較靠前的特征圖)可以用來檢測小物體,而小尺度特征圖(較靠后的特征圖)用來檢測大物體;二是SSD采用了不同尺度和長寬比的先驗框(Prior boxes, Default boxes,在Faster R-CNN中叫做錨,Anchors)。Yolo算法缺點是難以檢測小目標,而且定位不準,但是這幾點重要改進使得SSD在一定程度上克服這些缺點。下面我們詳細講解SDD算法的原理,并最后給出如何用TensorFlow實現SSD算法。

圖2 不同算法的基本框架圖

設計理念

SSD 和 Yolo 一樣都是采用一個CNN網絡來進行檢測,但是卻采用了多尺度的特征圖,其基本架構如圖3所示。下面將SSD核心設計理念總結為以下三點:

圖3 SSD基本框架

(1)采用多尺度特征圖用于檢測

所謂多尺度大小不同的特征圖指,CNN網絡一般前面的特征圖比較大,后面會逐漸采用stride=2的卷積或者pool來降低特征圖大小,這正如圖3所示,一個比較大的特征圖和一個比較小的特征圖,它們都用來做檢測。這樣做的好處是比較大的特征圖來用來檢測相對較小的目標,而小的特征圖負責檢測大目標,如圖4所示,8x8的特征圖可以劃分更多的單元,但是其每個單元的先驗框尺度比較小。

圖4 不同尺度的特征圖

(2)采用卷積進行檢測

與Yolo最后采用全連接層不同,SSD 直接采用卷積對不同的特征圖來進行提取檢測結果。對于形狀為 m?n?pm*n*pm?n?p 的特征圖,只需要采用 3?3?p3*3*p3?3?p 的特征圖,這樣比較小的卷積核得到檢測值。

(3)設置先驗框

在Yolo中,每個單元預測多個邊界框,但是其都是相對這個單元本身(正方塊),但是真實目標的形狀是多變的,Yolo需要在訓練過程中自適應目標的形狀。而SSD借鑒了Faster R-CNN中anchor的理念,每個單元設置尺度或者長寬比不同的先驗框,預測的邊界框(bounding boxes)是以這些先驗框為基準的,在一定程度上減少訓練難度。一般情況下,每個單元會設置多個先驗框,其尺度和長寬比存在差異,如圖5所示,可以看到每個單元使用了4個不同的先驗框,圖片中貓和狗分別采用最適合它們形狀的先驗框來進行訓練,后面會詳細講解訓練過程中的先驗框匹配原則。

圖5 SSD的先驗框

SSD的檢測值也與Yolo不太一樣。對于每個單元的每個先驗框,其都輸出一套獨立的檢測值,對應一個邊界框,主要分為兩個部分。

第一部分是各個類別的置信度或者評分,值得注意的是SSD將背景也當做了一個特殊的類別,如果檢測目標共有C個類別,SSD其實需要預測C+1個置信度值,其中第一個置信度指的是不含目標或者屬于背景的評分。后面當我們說C個個類別置信度時,請記住里面包含背景那個特殊的類別,即真實的檢測類別只有C-1個。在預測過程中,置信度最高的那個類別就是邊界框所屬的類別,特別地,當第一個置信度值最高時,表示邊界框中并不包含目標。

第二部分就是邊界框的location,包含4個值(cx,cy,w,h),分別表示邊界框的中心坐標以及寬高。但是真實預測值其實只是邊界框(grand truth 框)相對于先驗框的轉換值(paper里面說是offset,但是覺得transformation更合適,參見 R-CNN論文)。先驗框位置用 d=(dcx,dcy,dw,dh)d=(d^{cx}, d^{cy}, d^{w},d^{h})d=(dcx,dcy,dw,dh),表示,其對應邊界框用 b=(bcx,bcy,bw,bh)b=(b^{cx}, b^{cy}, b^{w},b^{h})b=(bcx,bcy,bw,bh) 表示,那么邊界框的預測值l,其實是b相對于d的轉換值:

習慣上,我們稱上面這個過程為邊界框的編碼(encode),預測時,你需要反向這個過程,即進行解碼(decode),從預測值l中得到邊界框的真實位置b:

然而,在SSD的Caffe源碼(https://github.com/weiliu89/caffe/tree/ssd)實現中還有trick,那就是設置variance超參數來調整檢測值,通過bool參數variance_encoded_in_target來控制兩種模式,當其為True時,表示variance被包含在預測值中,就是上面那種情況。但是如果是Fasle(大部分采用這種方式,訓練更容易?),就需要手動設置超參數variance,用來對l的4個值進行放縮,此時邊界框需要這樣解碼:

綜上所述,對于一個大小 m?nm*nm?n 的特征圖,共有mn個單元,每個單元設置的先驗框數目記為k,那么每個單元共需要(c+4)k個預測值,所有的單元共需要(c+4)kmn個預測值,由于SSD采用卷積做檢測,所以就需要(c+4)k個卷積核完成這個特征圖的檢測過程。

網絡結構

SSD采用VGG16作為基礎模型,然后在VGG16的基礎上新增了卷積層來獲得更多的特征圖以用于檢測。SSD的網絡結構如圖6所示。上面是SSD模型,下面是Yolo模型,可以明顯看到SSD利用了多尺度的特征圖做檢測。模型的輸入圖片大小是 300?300300*300300?300 (還可以是 512?512512*512512?512,其與前者網絡結構沒有差別,只是最后新增一個卷積層,本文不再討論)。

圖6 SSD網絡結構

SSD 采用VGG16做基礎模型,首先VGG16是在 ILSVRC CLS-LOC 數據集預訓練。然后借鑒了DeepLab-LargeFOV,(鏈接https://export.arxiv.org/pdf/1606.00915),分別將VGG16的全連接層fc6和fc7轉換成 3?33*33?3 卷積層 conv6 和 1?11*11?1 卷積層 conv7,同時將池化層 pool 5由原來的 2?2?s22*2-s22?2?s2 變成 3?3?s13*3-s13?3?s1 (猜想是不想reduce特征圖大小),為了配合這種變化,采用了一種Atrous Algorithm,其實就是conv6采用擴展卷積或帶孔卷積(Dilation Conv,https://arxiv.org/abs/1511.07122),其在不增加參數與模型復雜度的條件下指數級擴大卷積的視野,其使用擴張率(dilation rate)參數,來表示擴張的大小,如下圖6所示,(a)是普通的 3?33*33?3 卷積,其視野就是 3?33*33?3,(b)是擴張率為2,此時視野變成 7?77*77?7,?擴張率為4時,視野擴大為 15?1515*1515?15,但是視野的特征更稀疏了。Conv6采用3?33*33?3 大小但 dilation rate=6 的擴展卷積。然后移除dropout層和fc8層,并新增一系列卷積層,在檢測數據集上做finetuing。

圖7 擴展卷積(膨脹卷積)

其中VGG16中的Conv4_3層將作為用于檢測的第一個特征圖。conv4_3層特征圖大小是 38?3838*3838?38,但是該層比較靠前,其norm較大,所以在其后面增加了一個L2 Normalization層(參見ParseNet,https://arxiv.org/abs/1506.04579),以保證和后面的檢測層差異不是很大,這個和Batch Normalization層不太一樣,其僅僅是對每個像素點在channle維度做歸一化,而Batch Normalization層是在[batch_size, width, height]三個維度上做歸一化。歸一化后一般設置一個可訓練的放縮變量gamma,使用TF可以這樣簡單實現:

# l2norm (not bacth norm, spatial normalization) def l2norm(x, scale, trainable=True, scope="L2Normalization"):n_channels = x.get_shape().as_list()[-1]l2_norm = tf.nn.l2_normalize(x, [3], epsilon=1e-12)with tf.variable_scope(scope):gamma = tf.get_variable("gamma", shape=[n_channels, ], dtype=tf.float32,initializer=tf.constant_initializer(scale),trainable=trainable)return l2_norm * gamma

從后面新增的卷積層中提取Conv7,Conv8_2,Conv9_2,Conv10_2,Conv11_2作為檢測所用的特征圖,加上Conv4_3層,共提取了6個特征圖,其大小分別是(38,38),(19,19),(10,10),(5,5),(3,3,),(1,1), 但是不同特征圖設置的先驗框數目不同(同一個特征圖上每個單元設置的先驗框是相同的,這里的數目指的是一個單元的先驗框數目)。先驗框的設置,包括尺度(或者說大小)和長寬比兩個方面。對于先驗框的尺度,其遵守一個線性遞增規則:隨著特征圖大小降低,先驗框尺度線性增加:

其中m指的特征圖個數,但卻是5,因為第一層(Conv4_3層)是單獨設置的,SkS_kSk?是先驗框大小相對于圖片的比例,而SminS_{min}Smin?SmaxS_{max}Smax?表示比例的最小值與最大值,paper里面取0.2和0.9。對于第一個特征圖,其先驗框的尺度比例一般設置為Smin/2=0.1S_{min}/2=0.1Smin?/2=0.1,那么尺度為300*0.1=30。對于后面的特征圖,先驗框尺度按照上面公式線性增加,但是先將尺度比例先擴大100倍,此時增長步長為

這樣各個特征圖的SkS_kSk?為20,37,54,71,88,將這些比例除以100,然后再乘以圖片大小,可以得到各個特征圖的尺度為60,111,162,213,264,這種計算方式是參考SSD的Caffe源碼。綜上,可以得到各個特征圖的先驗框尺度30,60,111,162,213,264。對于長寬比,一般選取 ar∈{1,2,3,12,13}a_r \in\{1,2,3,\frac{1}{2},\frac{1}{3}\}ar?{1,2,3,21?,31?},對于特定的長寬比,按如下公式計算先驗框的寬度與高度(后面的Sk均指的是先驗框實際尺度,而不是尺度比例):

默認情況下,每個特征圖會有一個 ar=1a_r=1ar?=1 且尺度為 SkS_kSk? 的先驗框,除此之外,還會設置一個尺度為 sk′=SkSk+1{s}'_k=\sqrt{S_kS_{k+1}}sk?=Sk?Sk+1??ar=1a_r=1ar?=1 的先驗框,這樣每個特征圖都設置了兩個長寬比為1但大小不同的正方形先驗框。注意最后一個特征圖需要參考一個虛擬 Sm+1=300+105/100=315S_{m+1} = 300+105/100=315Sm+1?=300+105/100=315來計算。因此,每個特征圖一共有6個先驗框{1,2,3,12,13,1′}\{1,2,3,\frac{1}{2},\frac{1}{3},{1}'\}{1,2,3,21?,31?,1},但是在實現時,Conv4_3,Conv10_2和Conv11_2層僅使用4個先驗框,它們不使用長寬比為3,1/3的先驗框。每個單元的先驗框的中心點分布在各個單元的中心,即

,其中 ∣fk∣|f_k|fk?為特征圖的大小。

得到了特征圖之后,需要對特征圖進行卷積得到檢測結果,圖7給出了一個5*5大小的特征圖的檢測過程。其中Priorbox是得到先驗框,前面已經介紹了生成規則。檢測值包含兩個部分:類別置信度和邊界框位置,各采用一次3*3卷積來進行完成。令 nkn_knk?為該特征圖所采用的先驗框數目,那么類別置信度需要的卷積核數量為nk?cn_k * cnk??c,而邊界框位置需要的卷積核數量為nk?4n_k * 4nk??4。由于每個先驗框都會預測一個邊界框,所以SSD300一共可以預測

個邊界框,這是一個相當龐大的數字,所以說SSD本質上是密集采樣。

圖7 基于卷積得到檢測結果

訓練過程

(1)先驗框匹配

在訓練過程中,首先要確定訓練圖片中的ground truth(真實目標)與哪個先驗框來進行匹配,與之匹配的先驗框所對應的邊界框將負責預測它。在Yolo中,ground truth的中心落在哪個單元格,該單元格中與其IOU最大的邊界框負責預測它。但是在SSD中卻完全不一樣,SSD的先驗框與ground truth的匹配原則主要有兩點。

  • 第一個原則:對于圖片中每個ground truth,找到與其IOU最大的先驗框,該先驗框與其匹配,這樣,可以保證每個ground truth一定與某個先驗框匹配。通常稱與ground truth匹配的先驗框為正樣本,反之,若一個先驗框沒有與任何ground truth進行匹配,那么該先驗框只能與背景匹配,就是負樣本。一個圖片中ground truth是非常少的, 而先驗框卻很多,如果僅按第一個原則匹配,很多先驗框會是負樣本,正負樣本極其不平衡,所以需要第二個原則。

  • 第二個原則:對于剩余的未匹配先驗框,若某個ground truth的IOU大于某個閾值(一般是0.5),那么該先驗框也與這個ground truth進行匹配。這意味著某個ground truth可能與多個先驗框匹配,這是可以的。但是反過來卻不可以,因為一個先驗框只能匹配一個ground truth,如果多個ground truth與某個先驗框IOU大于閾值,那么先驗框只與IOU最大的那個先驗框進行匹配。第二個原則一定在第一個原則之后進行,仔細考慮一下這種情況,如果某個ground truth所對應最大IOU小于閾值,并且所匹配的先驗框卻與另外一個ground truth的IOU大于閾值,那么該先驗框應該匹配誰,答案應該是前者,首先要確保某個ground truth一定有一個先驗框與之匹配。但是,這種情況我覺得基本上是不存在的。由于先驗框很多,某個ground truth的最大IOU肯定大于閾值,所以可能只實施第二個原則就可以了,這里的TensorFlow(https://github.com/xiaohu2015/SSD-Tensorflow/blob/master/nets/ssd_common.py)版本就是只實施了第二個原則,但是這里的Pytorch(https://github.com/amdegroot/ssd.pytorch/blob/master/layers/box_utils.py)兩個原則都實施了。圖8為一個匹配示意圖,其中綠色的GT是ground truth,紅色為先驗框,FP表示負樣本,TP表示正樣本。

圖8 先驗框匹配示意圖

盡管一個ground truth可以與多個先驗框匹配,但是ground truth相對先驗框還是太少了,所以負樣本相對正樣本會很多。為了保證正負樣本盡量平衡,SSD采用了hard negative mining,就是對負樣本進行抽樣,抽樣時按照置信度誤差(預測背景的置信度越小,誤差越大)進行降序排列,選取誤差的較大的top-k作為訓練的負樣本,以保證正負樣本比例接近1:3。

(2)損失函數

訓練樣本確定了,然后就是損失函數了。損失函數定義為位置誤差(locatization loss, loc)與置信度誤差(confidence loss, conf)的加權和:

其中N是先驗框的正樣本數量。這里 xijp∈{1,0}x^p_{ij} \in \{1,0\}xijp?{1,0}為一個指示參數,xijpx^p_{ij}xijp?
表示第i個先驗框與第j個ground truth匹配,并且ground truth的類別為p。c為類別置信度預測值。l為先驗框的所對應邊界框的位置預測值,而g是ground truth的位置參數。對于位置誤差,其采用Smooth L1 loss,定義如下:

由于的 xijpx^p_{ij}xijp?存在,所以位置誤差僅針對正樣本進行計算。值得注意的是,要先對ground truth的g進行編碼得到 g^\hat{g}g^?,因為預測值l也是編碼值,若設置variance_encoded_in_target=True,編碼時要加上variance:

對于置信度誤差,其采用softmax loss:

權重系數a通過交叉驗證設置為1。

(3)數據擴增

數據擴增(Data Augmentation)可以提升SSD的性能,主要采用的技術有水平翻轉(horizontal flip),隨機裁剪加顏色扭曲(random crop & color distortion),隨機采集塊域(Randomly sample a patch)(獲取小目標訓練樣本),如下圖所示:

圖9 數據擴增方案

其它的訓練細節如學習速率的選擇詳見論文,這里不再贅述。

預測過程

預測過程比較簡單,對于每個預測框,首先根據類別置信度確定其類別(置信度最大者)與置信度值,并過濾掉屬于背景的預測框。然后根據置信度閾值(如0.5)過濾掉閾值較低的預測框。對于留下的預測框進行解碼,根據先驗框得到其真實的位置參數(解碼后一般還需要做clip,防止預測框位置超出圖片)。解碼之后,一般需要根據置信度進行降序排列,然后僅保留top-k(如400)個預測框。最后就是進行NMS算法,過濾掉那些重疊度較大的預測框。最后剩余的預測框就是檢測結果了。

性能評估

首先整體看一下SSD在VOC2007,VOC2012及COCO數據集上的性能,如表1所示。相比之下,SSD512的性能會更好一些。加*的表示使用了image expansion data augmentation(通過zoom out來創造小的訓練樣本)技巧來提升SSD在小目標上的檢測效果,所以性能會有所提升。

表1 SSD在不同數據集上的性能

SSD與其它檢測算法的對比結果(在VOC2007數據集)如表2所示,基本可以看到,SSD與Faster R-CNN有同樣的準確度,并且與Yolo具有同樣較快地檢測速度。

表2 SSD與其它檢測算法的對比結果(在VOC2007數據集)

文章還對SSD的各個trick做了更為細致的分析,表3為不同的trick組合對SSD的性能影響,從表中可以得出如下結論:

  • 數據擴增技術很重要,對于mAP的提升很大;
  • 使用不同長寬比的先驗框可以得到更好的結果;
表3 不同的trick組合對SSD的性能影響

同樣的,采用多尺度的特征圖用于檢測也是至關重要的,這可以從表4中看出:

表4 多尺度特征圖對SSD的影響

TensorFlow上的實現

SSD在很多框架上都有了開源的實現,這里基于balancap的TensorFlow版本(https://github.com/balancap/SSD-Tensorflow)來實現SSD的Inference過程。這里實現的是SSD300,與paper里面不同的是,這里采用 smin=0.15,smax=0.9s_{min}=0.15, s_{max}=0.9smin?=0.15,smax?=0.9 。首先定義SSD的參數:

self.ssd_params = SSDParams(img_shape=(300, 300), # 輸入圖片大小num_classes=21, # 類別數+背景no_annotation_label=21,feat_layers=["block4", "block7", "block8", "block9", "block10", "block11"], # 要進行檢測的特征圖namefeat_shapes=[(38, 38), (19, 19), (10, 10), (5, 5), (3, 3), (1, 1)], # 特征圖大小anchor_size_bounds=[0.15, 0.90], # 特征圖尺度范圍anchor_sizes=[(21., 45.),(45., 99.),(99., 153.),(153., 207.),(207., 261.),(261., 315.)], # 不同特征圖的先驗框尺度(第一個值是s_k,第2個值是s_k+1)anchor_ratios=[[2, .5],[2, .5, 3, 1. / 3],[2, .5, 3, 1. / 3],[2, .5, 3, 1. / 3],[2, .5],[2, .5]], # 特征圖先驗框所采用的長寬比(每個特征圖都有2個正方形先驗框)anchor_steps=[8, 16, 32, 64, 100, 300], # 特征圖的單元大小anchor_offset=0.5, # 偏移值,確定先驗框中心normalizations=[20, -1, -1, -1, -1, -1], # l2 normprior_scaling=[0.1, 0.1, 0.2, 0.2] # variance)

然后構建整個網絡,注意對于stride=2的conv不要使用TF自帶的padding=“same”,而是手動pad,這是為了與Caffe一致:

def _built_net(self):"""Construct the SSD net"""self.end_points = {} # record the detection layers outputself._images = tf.placeholder(tf.float32, shape=[None, self.ssd_params.img_shape[0],self.ssd_params.img_shape[1], 3])with tf.variable_scope("ssd_300_vgg"):# original vgg layers# block 1net = conv2d(self._images, 64, 3, scope="conv1_1")net = conv2d(net, 64, 3, scope="conv1_2")self.end_points["block1"] = netnet = max_pool2d(net, 2, scope="pool1")# block 2net = conv2d(net, 128, 3, scope="conv2_1")net = conv2d(net, 128, 3, scope="conv2_2")self.end_points["block2"] = netnet = max_pool2d(net, 2, scope="pool2")# block 3net = conv2d(net, 256, 3, scope="conv3_1")net = conv2d(net, 256, 3, scope="conv3_2")net = conv2d(net, 256, 3, scope="conv3_3")self.end_points["block3"] = netnet = max_pool2d(net, 2, scope="pool3")# block 4net = conv2d(net, 512, 3, scope="conv4_1")net = conv2d(net, 512, 3, scope="conv4_2")net = conv2d(net, 512, 3, scope="conv4_3")self.end_points["block4"] = netnet = max_pool2d(net, 2, scope="pool4")# block 5net = conv2d(net, 512, 3, scope="conv5_1")net = conv2d(net, 512, 3, scope="conv5_2")net = conv2d(net, 512, 3, scope="conv5_3")self.end_points["block5"] = netprint(net)net = max_pool2d(net, 3, stride=1, scope="pool5")print(net)# additional SSD layers# block 6: use dilate convnet = conv2d(net, 1024, 3, dilation_rate=6, scope="conv6")self.end_points["block6"] = net#net = dropout(net, is_training=self.is_training)# block 7net = conv2d(net, 1024, 1, scope="conv7")self.end_points["block7"] = net# block 8net = conv2d(net, 256, 1, scope="conv8_1x1")net = conv2d(pad2d(net, 1), 512, 3, stride=2, scope="conv8_3x3",padding="valid")self.end_points["block8"] = net# block 9net = conv2d(net, 128, 1, scope="conv9_1x1")net = conv2d(pad2d(net, 1), 256, 3, stride=2, scope="conv9_3x3",padding="valid")self.end_points["block9"] = net# block 10net = conv2d(net, 128, 1, scope="conv10_1x1")net = conv2d(net, 256, 3, scope="conv10_3x3", padding="valid")self.end_points["block10"] = net# block 11net = conv2d(net, 128, 1, scope="conv11_1x1")net = conv2d(net, 256, 3, scope="conv11_3x3", padding="valid")self.end_points["block11"] = net# class and location predictionspredictions = []logits = []locations = []for i, layer in enumerate(self.ssd_params.feat_layers):cls, loc = ssd_multibox_layer(self.end_points[layer], self.ssd_params.num_classes,self.ssd_params.anchor_sizes[i],self.ssd_params.anchor_ratios[i],self.ssd_params.normalizations[i], scope=layer+"_box")predictions.append(tf.nn.softmax(cls))logits.append(cls)locations.append(loc)return predictions, logits, locations

對于特征圖的檢測,這里單獨定義了一個組合層ssd_multibox_layer,其主要是對特征圖進行兩次卷積,分別得到類別置信度與邊界框位置:

# multibox layer: get class and location predicitions from detection layer def ssd_multibox_layer(x, num_classes, sizes, ratios, normalization=-1, scope="multibox"):pre_shape = x.get_shape().as_list()[1:-1]pre_shape = [-1] + pre_shapewith tf.variable_scope(scope):# l2 normif normalization > 0:x = l2norm(x, normalization)print(x)# numbers of anchorsn_anchors = len(sizes) + len(ratios)# location predictionsloc_pred = conv2d(x, n_anchors*4, 3, activation=None, scope="conv_loc")loc_pred = tf.reshape(loc_pred, pre_shape + [n_anchors, 4])# class predictioncls_pred = conv2d(x, n_anchors*num_classes, 3, activation=None, scope="conv_cls")cls_pred = tf.reshape(cls_pred, pre_shape + [n_anchors, num_classes])return cls_pred, loc_pred

對于先驗框,可以基于numpy生成,定義在ssd_anchors.py文件中,鏈接為https://github.com/xiaohu2015/DeepLearning_tutorials/blob/master/ObjectDetections/SSD/ssd_anchors.py。結合先驗框與檢測值,對邊界框進行過濾與解碼:

classes, scores, bboxes = self._bboxes_select(predictions, locations)

這里將得到過濾得到的邊界框,其中classes, scores, bboxes分別表示類別,置信度值以及邊界框位置。

基于訓練好的權重文件在這里下載https://pan.baidu.com/s/1snhuTsT,這里對SSD進行測試:

ssd_net = SSD() classes, scores, bboxes = ssd_net.detections() images = ssd_net.images()sess = tf.Session() # Restore SSD model. ckpt_filename = './ssd_checkpoints/ssd_vgg_300_weights.ckpt' sess.run(tf.global_variables_initializer()) saver = tf.train.Saver() saver.restore(sess, ckpt_filename)img = cv2.imread('./demo/dog.jpg') img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_prepocessed = preprocess_image(img) # 預處理圖片,主要是歸一化和resize rclasses, rscores, rbboxes = sess.run([classes, scores, bboxes],feed_dict={images: img_prepocessed}) rclasses, rscores, rbboxes = process_bboxes(rclasses, rscores, rbboxes) # 處理預測框,包括clip,sort,nmsplt_bboxes(img, rclasses, rscores, rbboxes) # 繪制檢測結果

詳細代碼在GitHub上了,鏈接為https://github.com/xiaohu2015/DeepLearning_tutorials/tree/master/ObjectDetections/SSD,然后看一下一個自然圖片的檢測效果:

如果你想實現SSD的train過程,你可以參考附錄里面的Caffe,TensorFlow以及Pytorch實現。

小結

SSD在Yolo的基礎上主要改進了三點:多尺度特征圖,利用卷積進行檢測,設置先驗框。這使得SSD在準確度上比Yolo更好,而且對于小目標檢測效果也相對好一點。由于很多實現細節都包含在源碼里面,文中有描述不準或者錯誤的地方在所難免,歡迎交流指正。

參考文獻

  • SSD: Single Shot MultiBox Detector
  • SSD Slide
  • SSD Caffe
  • SSD TensorFlow
  • SSD Pytorch
  • leonardoaraujosantos Artificial Inteligence online book
  • 總結

    以上是生活随笔為你收集整理的深度学习之 SSD(Single Shot MultiBox Detector)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产欧美综合在线观看 | 91在线中字 | 九九在线视频免费观看 | 色综合久久88色综合天天免费 | 国产精品美女免费看 | 国产麻豆精品一区二区 | 中文字幕精品三区 | 91超级碰 | 免费看久久久 | 色婷婷亚洲婷婷 | 欧美孕交vivoestv另类 | 国产精品入口a级 | 91精品一区国产高清在线gif | 国产精品久久婷婷六月丁香 | 亚洲三级在线 | 久久不卡国产精品一区二区 | 99精品视频播放 | 色综合天天色 | 男女拍拍免费视频 | 中文字幕在线字幕中文 | 日韩高清在线观看 | 麻豆小视频在线观看 | 亚洲国产精品一区二区久久,亚洲午夜 | 欧美日韩在线精品 | 国产美女在线精品免费观看 | 青青河边草免费直播 | 在线观看黄色 | 天天干天天操人体 | 97超碰精品 | 色婷婷六月 | 日韩在线中文字幕视频 | 亚洲精品国 | 免费在线观看成年人视频 | 国产免费观看高清完整版 | 91av在线播放 | 91精品久久久久久久久久入口 | 欧美一级免费高清 | 成人久久视频 | 精品国产乱码一区二区三区在线 | av三级av | 国产一级片视频 | 国产精品亚洲人在线观看 | 日韩在线观看视频中文字幕 | 中文国产字幕在线观看 | 91视频在线自拍 | 欧美日韩一级在线 | 日日碰狠狠添天天爽超碰97久久 | 国产一卡二卡在线 | 2019精品手机国产品在线 | 1024手机看片国产 | 日韩大片在线看 | 人人涩 | 国产精品69久久久久 | 亚洲高清在线 | av手机在线播放 | 精品亚洲免费 | 免费视频在线观看网站 | 久久免费av电影 | 午夜视频欧美 | 午夜精品久久久99热福利 | 伊人激情综合 | 亚州精品天堂中文字幕 | 国产在线观看免费观看 | 成人黄色电影在线播放 | 国产最顶级的黄色片在线免费观看 | 国产精品免费视频一区二区 | 色综合天 | 国产一区二区在线免费 | 国产成人精品国内自产拍免费看 | 一区二区精品在线视频 | 97国产大学生情侣酒店的特点 | 亚洲男男gaygay无套同网址 | 96久久欧美麻豆网站 | 国产精品理论片在线播放 | 亚洲免费观看视频 | 天天射夜夜爽 | 国产黄色av | av在线直接看 | 高清av在线免费观看 | 成人wwwxxx视频| 又黄又爽的免费高潮视频 | 久久久久免费观看 | 婷婷在线看 | 国产午夜精品久久久久久久久久 | 奇米影视999 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 不卡的av片 | 国产又粗又猛又黄视频 | 超碰在线人人草 | 国产成人免费av电影 | 亚洲国产日韩一区 | 亚洲区二区 | 国产精品免费久久久久久久久久中文 | 国产伦理一区二区 | 精品视频www| 日本精品视频在线观看 | 婷婷六月丁香激情 | 精品国产精品国产偷麻豆 | 在线观看aa | 欧美一区日韩精品 | 999久久久精品视频 日韩高清www | 国产黄视频在线观看 | 九九热在线精品视频 | 国产一级淫片免费看 | 久久草在线精品 | 成人黄视频| 久久精品99精品国产香蕉 | 欧美日韩国语 | 久久免费播放 | 91在线产啪 | 99精品免费在线观看 | 久久在线免费 | 日韩在线观看视频网站 | 波多野结衣电影一区 | 超碰免费在线公开 | 日韩久久一区 | 97精品国自产拍在线观看 | 久久精品视频在线播放 | 国产精品美女视频网站 | 午夜狠狠操 | 一区在线观看视频 | 国产r级在线观看 | 激情伊人| 激情开心站 | 天天操天天干天天干 | 五月婷婷婷婷婷 | 精品久久综合 | 亚一亚二国产专区 | 色综合久久88色综合天天6 | 日本黄色免费网站 | 99精品久久只有精品 | 麻豆成人在线观看 | 蜜桃av综合网 | 亚洲国产日韩av | 在线免费成人 | 久久看视频 | 人人超在线公开视频 | 国产视频不卡一区 | 亚洲网久久 | 久草在线一免费新视频 | 波多野结衣精品 | 激情五月六月婷婷 | 亚洲欧美视频在线播放 | 精品国产乱码久久久久久浪潮 | 最新av电影网址 | 久久99热精品这里久久精品 | 婷婷日韩| 99久久久国产精品免费观看 | 日韩高清成人 | 六月激情久久 | 在线a人v观看视频 | av网站在线观看免费 | 精品91久久久久 | 一级片色播影院 | 日本成人a| 夜夜夜夜爽 | 麻豆国产精品一区二区三区 | 夜色资源站国产www在线视频 | 最近免费中文视频 | 国产精品s色 | 日本高清dvd | 国产精品久久久一区二区三区网站 | 亚洲中字幕 | 国产一区二区在线播放 | 国产在线观看不卡 | 日韩精品久久一区二区三区 | 爱射综合 | 天天操天天干天天干 | 99久久精品久久久久久清纯 | 亚洲精品资源在线观看 | 看片一区二区三区 | 久久国产精品影片 | 婷婷5月色| 久久久久久97三级 | 亚洲色影爱久久精品 | 超碰在线成人 | 91av社区 | 97国产小视频 | 丁香久久婷婷 | 色.www| 国产成人精品一区二区三区福利 | 免费观看成人av | 国产剧情久久 | 日韩欧美精品一区二区三区经典 | 国产小视频在线免费观看 | 91.精品高清在线观看 | 天天做日日爱夜夜爽 | 亚洲精品理论片 | 91女子私密保健养生少妇 | 久久久久免费精品国产 | 精品a视频 | 免费av视屏 | 精品国产一区二区三区日日嗨 | 亚洲精品美女免费 | 婷婷丁香久久五月婷婷 | 福利一区二区三区四区 | 国产一区欧美在线 | 又色又爽又激情的59视频 | 久艹视频在线免费观看 | 在线观看免费中文字幕 | 日韩av在线一区二区 | 欧美国产一区在线 | 精品久久久久久国产 | 色偷偷网站视频 | 久久视频二区 | 激情黄色av | 免费合欢视频成人app | 色婷婷国产精品一区在线观看 | 国产一级片免费观看 | 黄色三级网站 | 日韩久久久 | 国产黄在线免费观看 | 久久精品国产免费看久久精品 | 国产99久久99热这里精品5 | 就色干综合 | 999亚洲国产996395| 一级一片免费观看 | 毛片网免费| 1区2区3区在线观看 三级动图 | 中文字幕在线观看网址 | 日韩xxxbbb| 亚洲综合色激情五月 | 免费观看午夜视频 | 欧美一区二区三区免费看 | 激情五月在线视频 | 久久一本综合 | 久久精品亚洲一区二区三区观看模式 | 国产精品国产三级在线专区 | 亚洲成人午夜av | 成年人黄色av | 五月婷婷欧美视频 | 99精品视频在线播放免费 | 91热精品| 911在线| 免费观看丰满少妇做爰 | 奇米网444| 国产色一区 | 最近中文字幕完整视频高清1 | 丁香六月伊人 | 99久久久久久久久久 | www.av在线.com| 国产亚州av| 中文字幕日本在线 | 久久国产精品影片 | 久草在线免费新视频 | 四虎国产精品永久在线国在线 | 天天操夜夜摸 | 久久天天躁夜夜躁狠狠躁2022 | 九色琪琪久久综合网天天 | 粉嫩av一区二区三区四区在线观看 | 91在线免费看片 | 国内精品久久久久久久久久久久 | 久久久免费毛片 | 日韩动态视频 | 亚洲涩涩色| 久久的色 | 91大神精品视频在线观看 | 欧美一区二区三区在线观看 | 麻豆国产视频下载 | 国内精品免费久久影院 | 91精品国产99久久久久 | 成年人电影免费在线观看 | 成人三级黄色 | 五月婷婷中文 | 久久久私人影院 | 成人av电影免费在线播放 | 免费电影一区二区三区 | 综合激情av| 国产精品18久久久久久久网站 | 国产小视频在线播放 | 国产小视频国产精品 | 国产精品乱码久久 | 天堂va欧美va亚洲va老司机 | 国产日韩精品一区二区在线观看播放 | 91在线精品播放 | 成人免费av电影 | 91| 在线观看完整版免费 | 午夜在线免费观看 | 国产热re99久久6国产精品 | 婷婷久久综合网 | 久久成人亚洲欧美电影 | 国产v亚洲v | www天天干 | 精品av在线播放 | 99热在线精品观看 | 久久99久久99精品免观看粉嫩 | 国产一二三四在线视频 | 国产一级黄色免费看 | 亚洲成aⅴ人片久久青草影院 | 日韩免费一级a毛片在线播放一级 | 亚洲成av人片在线观看香蕉 | 国产在线a不卡 | 81精品国产乱码久久久久久 | 免费三级黄色片 | 色.com| 亚洲精品高清在线观看 | 成人免费观看在线视频 | 欧美 日韩 国产 中文字幕 | 成人免费观看视频网站 | 精品一区二区影视 | 亚洲欧美激情插 | 久热色超碰 | 亚洲人久久| 热re99久久精品国产66热 | 亚洲区精品 | 五月天色婷婷丁香 | 欧美国产精品久久久久久免费 | 九七在线视频 | 在线影视 一区 二区 三区 | 成人毛片一区二区三区 | 黄影院| 婷婷色九月 | 精品免费观看视频 | 四虎成人精品永久免费av | 中文字幕中文字幕在线中文字幕三区 | 狠狠久久 | 中文字幕2021 | 成人在线视频免费观看 | 国内精品福利视频 | 国产一区二区三区在线免费观看 | 草樱av | 久久精品国产精品亚洲精品 | 91高清完整版在线观看 | 日本黄网站 | 国产91国语对白在线 | 久久久成人精品 | 免费看片成年人 | 成人动态视频 | 日本三级香港三级人妇99 | 尤物九九久久国产精品的分类 | 婷婷丁香狠狠爱 | 91精品国产三级a在线观看 | 国产区免费在线 | 中文字幕免费观看全部电影 | 免费亚洲精品 | 最近免费观看的电影完整版 | 色婷婷视频在线观看 | 久久深爱网 | 婷婷av色综合 | 久久天天躁 | 黄色片免费在线 | 亚洲伦理电影在线 | 欧美一区二视频在线免费观看 | 成人一级在线 | 国产成人一区二区三区在线观看 | 久久免费a| 国产不卡精品 | 久久精品一区二区三区视频 | 蜜臀久久99精品久久久酒店新书 | 免费高清在线一区 | 亚州精品国产 | 丁香激情综合 | 日韩在线 | 黄网站免费大全入口 | 91精品在线免费观看 | 欧美日韩一区二区在线观看 | 国产这里只有精品 | 国产精品18久久久久久久网站 | 国产伦理一区二区 | 欧美日韩国产亚洲乱码字幕 | 日韩激情视频在线 | 综合视频在线 | 日韩大陆欧美高清视频区 | 国产精品久久伊人 | 又黄又爽又无遮挡免费的网站 | 日韩免费电影网 | 日本精品视频一区二区 | 国产精品免费视频网站 | 在线观看免费日韩 | 欧美另类sm图片 | 色婷婷免费视频 | 国产精品成人一区二区 | 国产视频亚洲 | 成人黄在线观看 | 亚洲,国产成人av | 9999免费视频 | 天天操天天色天天射 | 日本中文字幕一二区观 | 国产91在线 | 美洲 | 黄色片毛片 | 亚洲毛片一区二区三区 | 18av在线视频 | 久久伊人91 | 三级av中文字幕 | 91在线看网站 | 国产一区二区在线免费播放 | 色香蕉在线视频 | 国产中文 | 高潮久久久久久久久 | 激情婷婷欧美 | 国产精品三级视频 | 国产亚洲情侣一区二区无 | 久久成人一区二区 | 日韩av片在线 | 亚洲欧美日韩精品一区二区 | 麻豆视频一区 | 亚洲精品资源在线观看 | 日韩成人精品 | 亚洲成人国产精品 | 天躁狠狠躁 | 四虎国产视频 | 天天爽夜夜爽精品视频婷婷 | 欧洲一区二区三区精品 | 免费99| 精品国产一区二区三区噜噜噜 | 天天射天天做 | 在线观看一区 | 国产黄色成人 | 国产99久久久精品 | 天天草视频 | 狠狠色丁香婷婷综合久小说久 | 五月天婷亚洲天综合网鲁鲁鲁 | 国产伦精品一区二区三区… | 国产中文字幕视频在线观看 | 欧美一级片在线 | 欧美另类v| 精品在线观看一区二区三区 | 免费观看av网站 | 婷婷色中文字幕 | 韩国av电影网 | 亚洲精品456在线播放第一页 | 91成人精品一区在线播放 | 国产精品原创视频 | 免费男女羞羞的视频网站中文字幕 | 久久9999久久免费精品国产 | 国产专区免费 | 国内久久看| 91精品国产麻豆国产自产影视 | 又黄又刺激的视频 | 久久一区二区免费视频 | 精品国产理论片 | 欧美一区二区三区免费看 | 久久综合狠狠综合久久狠狠色综合 | 亚洲一区不卡视频 | 黄色一级影院 | 色综合亚洲精品激情狠狠 | 麻豆精品在线视频 | 丁香六月激情婷婷 | 人人爽人人射 | 成人黄色小说网 | 久久久午夜视频 | 玖草影院| 中文字幕免费久久 | 天天操伊人 | 久久久久久99精品 | 九九久久影视 | 国产在线观看高清视频 | 999久久久免费视频 午夜国产在线观看 | 奇米四色影狠狠爱7777 | 91精品亚洲影视在线观看 | 一区二区 不卡 | 碰碰影院| 国产福利一区二区三区视频 | 色婷婷激情网 | 91成人精品观看 | 国产精品黄色 | 香蕉免费 | 亚洲视频免费在线观看 | 亚洲乱码在线 | 草 免费视频 | 韩国av在线播放 | av天天干 | 五月天激情在线 | www.色国产 | 久久久99精品免费观看 | 欧美国产三区 | 一级免费观看 | 国产美女视频网站 | 日韩va欧美va亚洲va久久 | 精品久久久久久久 | 手机看国产毛片 | 干干干操操操 | 粉嫩一区二区三区粉嫩91 | 欧美日韩中文字幕综合视频 | 日本在线h| 黄色免费网| 婷婷色视频 | 亚洲天堂精品视频在线观看 | 婷婷六月综合亚洲 | 99riav1国产精品视频 | 久久视频免费在线观看 | 成人a免费 | 国产成年人av | 欧美在线91 | 精品国产区在线 | 香蕉在线视频播放网站 | 欧美国产日韩一区 | 欧美精品中文字幕亚洲专区 | 91麻豆精品国产自产在线 | 成人午夜在线电影 | 岛国av在线不卡 | 日韩在线观看一区二区三区 | 我要色综合天天 | 激情网五月 | 在线黄av| 久久99精品国产麻豆宅宅 | 国产一区二区在线观看视频 | www.狠狠操.com | 日韩大片在线免费观看 | 国产小视频在线看 | 日日添夜夜添 | www.午夜视频 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 久久九九久久精品 | 色婷婷视频在线观看 | 国产男女无遮挡猛进猛出在线观看 | 狠狠干天天射 | 欧美日韩一区二区在线 | 国产精品视频在线看 | 日韩试看 | 人人草人 | 亚州精品视频 | 韩国视频一区二区三区 | 亚洲人成综合 | 91视频网址入口 | 国产精品日韩欧美一区二区 | 狠狠狠色狠狠色综合 | 国产丝袜制服在线 | 最近日本韩国中文字幕 | 一区免费在线 | 美女精品| 黄色成人av| 久久免费视频一区 | 国产免费一区二区三区网站免费 | 国产免费午夜 | 激情视频91 | 99久久婷婷国产 | 最新av电影网站 | 国产最新在线观看 | 99亚洲视频| 成人一级| 92精品国产成人观看免费 | 中文字幕av专区 | 91传媒免费观看 | 色视频国产直接看 | 一区 在线观看 | 日韩在线观看的 | 亚洲欧洲视频 | 亚洲欧洲一区二区在线观看 | 国产在线免费观看 | 亚洲免费小视频 | 干 操 插| 久久国产精品一区二区三区 | 日本午夜在线观看 | h视频日本| 久久理论视频 | 日韩综合色 | 国产成人精品一区在线 | 91精品视频在线观看免费 | 18久久久久久 | 99精品欧美一区二区三区黑人哦 | 成人毛片网 | 免费成人黄色片 | 亚洲精品视频在线观看免费 | 五月婷婷影院 | 成人免费视频网 | 91伊人影院| 国产免费av一区二区三区 | 又黄又刺激视频 | 国产精品永久久久久久久久久 | 国产69精品久久99的直播节目 | 国产在线一区二区 | av一区二区三区在线观看 | 蜜臀久久99精品久久久无需会员 | 狠狠撸电影 | 亚洲小视频在线观看 | 亚洲成人网av | 久久99国产综合精品 | 91在线免费观看国产 | 中文字幕在线看视频国产中文版 | 欧美一区二区在线 | 精品国产一区二区三区在线观看 | 97影视 | www.com久久久| 丝袜美女在线观看 | 一区二区av| 九九久久电影 | 色资源网在线观看 | 2017狠狠干 | 亚洲一级黄色 | 黄色一级性片 | 日韩免费观看一区二区 | 91热视频在线观看 | 久久国产视频网站 | 国产黄色理论片 | 欧洲一区二区三区精品 | 久久久精品福利视频 | 国产精品18毛片一区二区 | 三级动图 | 久久伦理电影网 | 少妇精品久久久一区二区免费 | 久久精品美女视频 | 欧美激情精品 | 免费看高清毛片 | 久久久99国产精品免费 | 中文字幕av有码 | 色中射| 日韩欧三级 | 婷婷色在线资源 | 亚洲精品久久久久久久蜜桃 | 欧美性做爰猛烈叫床潮 | 九九久久婷婷 | 超碰在线色 | 91九色丨porny丨丰满6 | 99re8这里有精品热视频免费 | 欧美日韩1区2区 | 精品在线播放 | 五月婷婷一区 | 国产最新在线视频 | 久久久精品 | 天天躁日日躁狠狠躁av中文 | 夜夜操网 | 亚洲天堂色婷婷 | 四虎天堂 | 午夜精品在线看 | 9999精品免费视频 | 欧美乱熟臀69xxxxxx | av天天干| 国产精品videossex国产高清 | 国语麻豆 | 久草在线久草在线2 | 亚洲视频精选 | a√天堂资源 | 国产原创在线视频 | 国产三级午夜理伦三级 | 婷婷综合五月天 | 欧洲一区二区三区精品 | 中文字幕黄色av | 国产精品99久久久久久武松影视 | 国产色道 | 国产区精品在线观看 | 欧美精品中文在线免费观看 | 国产老太婆免费交性大片 | 久久久久久久久久免费视频 | 日韩欧美视频免费看 | 国产精品青青 | 最新国产福利 | 国产免费作爱视频 | 国产专区在线播放 | 色综合久久天天 | 久久超级碰视频 | 欧美日韩在线视频观看 | 69久久夜色精品国产69 | 不卡av电影在线 | 日韩欧美电影在线观看 | 欧美激情一区不卡 | 激情 一区二区 | 久久蜜臀av | 精品国产一区二区三区久久久蜜月 | 91aaa在线观看 | 久久久精品影视 | 中文字幕888 | 免费91在线观看 | 欧美精品久久人人躁人人爽 | 国产精品久久99综合免费观看尤物 | 日韩欧美综合视频 | 日韩精品视频在线观看免费 | 久久久久久久精 | 在线导航av | 91网址在线| 亚洲另类xxxx | 国产成人99av超碰超爽 | 日本91在线 | 国产一区免费在线观看 | 91精品视屏 | 亚洲永久精品在线 | 亚洲电影久久 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 日韩91在线 | 日韩美在线 | 久久黄色精品视频 | 婷婷视频 | 综合色综合色 | 超碰午夜| 91成人精品一区在线播放 | 欧美午夜a | 欧美激情视频三区 | 亚洲深夜影院 | 免费av在线网站 | 久久理伦片 | 日韩另类在线 | 亚洲国产中文在线观看 | 日韩字幕 | free,性欧美| 午夜美女福利直播 | 日韩成人精品在线观看 | 亚洲精欧美一区二区精品 | 久久色亚洲 | 久久这里只有精品1 | 色噜噜噜噜 | 日韩精品欧美精品 | 黄在线免费看 | 69国产精品视频免费观看 | 999国产 | 国产午夜三级一二三区 | 99精品在线视频观看 | 欧美色精品天天在线观看视频 | 欧美一二三视频 | 日日夜夜精品视频天天综合网 | 五月婷婷在线视频 | 开心婷婷色 | 久草在线综合网 | 爱av在线网 | 色综合国产 | 国产色视频一区二区三区qq号 | 在线小视频 | 成人av网站在线观看 | 人九九精品| 2020天天干天天操 | 午夜精品一区二区三区免费视频 | 91麻豆精品国产自产在线 | 在线91网| 久久久久久影视 | 亚洲精品午夜aaa久久久 | 欧美国产日韩一区二区三区 | 一区二区视频在线播放 | 国产高清成人在线 | 国产精品入口麻豆 | 欧美极品xxxxx| 91看片在线| 久久久久99精品成人片三人毛片 | 久久精品视频中文字幕 | 手机看片福利 | 蜜臀精品久久久久久蜜臀 | 国产日韩欧美在线免费观看 | 免费黄色激情视频 | 国产午夜亚洲精品 | 91爱爱视频 | 美女久久视频 | 婷婷丁香激情网 | 91黄在线看 | 国产精品18videosex性欧美 | 国产黄色在线 | 国产美女视频免费 | 日韩欧美久久 | 蜜臀久久99精品久久久酒店新书 | 国产精品区二区三区日本 | 国产福利在线免费 | 欧美极品xxx| 91成人黄色 | 黄色在线网站噜噜噜 | 久久国产精品一区二区三区 | 精品在线播放视频 | 久久短视频 | 六月婷婷久香在线视频 | 久久综合五月婷婷 | 五月婷婷亚洲 | 中文字幕免| 中文免费在线观看 | 在线观看国产www | 国产99在线播放 | 国产手机视频 | 在线韩国电影免费观影完整版 | 亚洲美女免费精品视频在线观看 | 亚洲精品在线免费播放 | 国产特级毛片 | 99久久精品免费 | 亚洲在线a | 精品一区91 | 视频在线99 | 色婷婷免费 | 久久综合久久88 | av在线精品 | 五月天综合激情网 | 亚洲在线资源 | 国产四虎在线 | 又黄又刺激又爽的视频 | 国精产品999国精产品岳 | 91亚洲视频在线观看 | 欧美做受69 | 人人射人人爱 | 伊人五月| 婷婷六月网 | 久久国产二区 | 亚洲欧美日韩精品一区二区 | 国产精品人人做人人爽人人添 | 在线观看中文字幕第一页 | 成人午夜网 | 一区二区成人国产精品 | 黄污网站在线 | 成人午夜毛片 | 亚洲精品久久久久久久不卡四虎 | 久久久黄色av | 久久久91精品国产一区二区精品 | 中文字幕免费不卡视频 | 亚洲免费一级电影 | 狠狠干狠狠久久 | 国产午夜三级一区二区三 | 一区二区三区精品在线视频 | 天天插天天干天天操 | 欧美成人手机版 | 亚洲视频,欧洲视频 | 欧美a性 | 欧美精品免费在线观看 | 久久精品一区二区三区四区 | av+在线播放在线播放 | 欧美性久久久 | 国产精品18久久久久久久网站 | 日韩av中文字幕在线 | 色婷婷综合久久久中文字幕 | 国产精品一区二区三区四区在线观看 | 国内精品久久久久久久影视简单 | 免费看的黄网站 | 涩涩网站在线观看 | 久久人人97超碰国产公开结果 | 婷婷视频在线播放 | 在线观看爱爱视频 | 欧美一区二区三区激情视频 | 亚洲一级片 | 午夜在线日韩 | 国产精品2020 | 五月天激情综合 | 国产精品久久久久久久久久尿 | 手机av在线网站 | 国产一区二区不卡在线 | 精品免费一区二区三区 | 国产系列在线观看 | 国产精品 中文在线 | 99免费在线视频观看 | 久久久久免费精品国产小说色大师 | 五月色丁香| 亚洲高清在线观看视频 | 久久综合狠狠综合 | 久久国产视频网 | 特级a老妇做爰全过程 | 亚州精品在线视频 | 亚洲黄网址 | 在线观看色视频 | 欧美在线观看小视频 | 视频在线亚洲 | 欧美性粗大hdvideo | 天天性天天草 | 精品美女久久久久久免费 | 婷五月天激情 | 国产一区二区免费看 | 狠狠色丁香婷婷综合视频 | 992tv在线观看 | 亚洲精品无 | 韩国av免费在线观看 | 在线观看av国产 | 国产精品成人久久久久久久 | 亚洲日本va中文字幕 | 精品字幕在线 | 一级片在线 | 少妇搡bbbb搡bbb搡忠贞 | 国产精品久久久久久久久久尿 | 日韩一区二区三区在线观看 | 超碰com| 在线观看视频国产 | 99久久久国产精品美女 | 亚洲经典视频在线观看 | 91精品国自产在线 | 亚洲精品视频免费在线 | 精品视频免费观看 | 中文字幕在线免费看线人 | 国产视频在线看 | 91污污| 精品国产一区二区三区在线 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 在线观看日韩视频 | 91精品麻豆 | 欧美巨大荫蒂茸毛毛人妖 | 中文在线字幕观看电影 | 99精品国产视频 | 在线视频日韩精品 | 毛片永久新网址首页 | 一 级 黄 色 片免费看的 | 亚洲精品视频久久 | 亚洲精品网址在线观看 | 国产97av | 日韩一区二区三区免费电影 | 欧美成人xxxx| 91免费版在线观看 | 久久天堂网站 | 久久xx视频 | 激情小说网站亚洲综合网 | 精品免费一区 | 日韩欧美视频一区二区三区 | 日韩a在线看 | 天天操天天操天天操天天操天天操 | 色综合激情久久 | 五月天丁香视频 | 国产高清成人在线 | 精品国产一区二区三区四区在线观看 | 国产综合激情 | 日韩一区视频在线 | 国产福利不卡视频 | 久久综合婷婷国产二区高清 | 伊人久久在线观看 | 亚洲手机天堂 | 免费观看xxxx9999片 | 久久久久国产成人精品亚洲午夜 | 国产成人久久 | 欧美不卡视频在线 | 亚洲最新精品 | 国产精品美女久久久久久免费 | 国产在线视频在线观看 | 国产精品国产自产拍高清av | 91福利视频免费观看 | 成人av影视 | 97av免费视频 | 久久综合九九 | 国产美女被啪进深处喷白浆视频 | 美女免费av | 91在线视频免费播放 | 久久久久欧美精品999 | 亚洲欧美日韩国产一区二区 | 在线观看黄网站 | 韩日精品在线 | 国产三级午夜理伦三级 | 人人爽人人爽人人片av | 天天综合久久综合 | 91专区在线观看 | 99精品视频在线看 | 人人爽人人爽人人爽学生一级 | 久久精品国产成人 | 黄色av一区二区三区 | 干狠狠 | 国产在线精品区 | 久久国语| 免费a级大片 | 亚洲精品无 | 日韩在线视频在线观看 | 国产美女视频 | 久久久久国产a免费观看rela | 久久免费电影 | 中文字幕在线播放一区二区 | 天天射天天舔天天干 | 超碰人人在 | 亚洲aⅴ乱码精品成人区 | 午夜影院一级片 | 91片黄在线观 | 国产亚洲精品久久久久久久久久久久 | 国产精品自产拍在线观看中文 | 99精品免费久久久久久久久日本 | 日韩 国产 | 日p在线观看| 日韩在线第一区 | 亚洲成人免费在线观看 | 日本精品视频在线观看 | 成人性生爱a∨ | www.久久爱.cn | 丁香电影小说免费视频观看 | 国产精品美女免费视频 | 91在线免费公开视频 | 亚洲精品国产第一综合99久久 | 免费成人在线网站 | 五月天色丁香 | 99av在线视频| 在线看毛片网站 | 97成人在线观看 | 久久一区国产 | 国产网红在线观看 | 国产精品岛国久久久久久久久红粉 | 在线观看免费黄色 | 日韩在线欧美在线 | 亚洲一区日韩精品 | 五月婷婷导航 | 国产在线a免费观看 | 国产一级二级av | 91视频链接| 久久五月天婷婷 | 五月婷婷电影网 | 欧美精品久久天天躁 | 色婷婷av国产精品 | 久久精品网站视频 | 日韩精品久久久久久 | 国产亚洲精品久久久久久电影 | 91精品视频一区二区三区 | 成人教育av| 欧美一区二区日韩一区二区 | 日韩精品黄 | 69xx视频| 午夜精品久久久久久久久久久久 | 蜜桃传媒一区二区 | 伊人狠狠 | 色丁香综合| 久久tv视频 | 在线视频你懂 | 中文字幕一区二区三区在线观看 | 亚洲成人黄色在线 | 国产69久久久欧美一级 | 欧美色图东方 | 成人性生交大片免费看中文网站 | 久草 | 午夜精品视频一区二区三区在线看 | 99久久精品久久久久久清纯 | 久久国产手机看片 | 99精品免费观看 | 制服丝袜欧美 | 国产精品99免视看9 国产精品毛片一区视频 | 9在线观看免费高清完整 | 色资源在线| 99r在线播放 | 99久久精品国产观看 | 91女子私密保健养生少妇 | 麻豆91小视频 |