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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

时空上下文视觉跟踪(STC)算法的解读与代码复现

發布時間:2025/3/20 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 时空上下文视觉跟踪(STC)算法的解读与代码复现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

時空上下文視覺跟蹤(STC)算法的解讀與代碼復現

zouxy09@qq.com

http://blog.csdn.net/zouxy09

????????

? ? ? ?本博文主要是關注一篇視覺跟蹤的論文。這篇論文是Kaihua Zhang等人今年投稿到一個會議的文章,因為會議還沒有出結果,所以作者還沒有發布他的Matlab源代碼。但為了讓我們先睹為快,作者把論文放在arxiv這個網站上面供大家下載了。對于里面所描述的神奇的效果,大家都躍躍欲試,也有人將其復現了。我這里也花了一天的時間去復現了單尺度的C++版本,主要是基于OpenCV。多尺度的有點復雜,這個后面再做考慮了。另外,能力有限,論文解讀和代碼實現可能會出現錯誤,所以如果代碼里面出現錯誤,還望大家不吝指點。

? ? ? ?論文見:

Kaihua Zhang, Lei Zhang, Ming-Hsuan Yang,and David Zhang,?Fast Trackingvia Spatio-Temporal Context Learning

? ? ? ?目前作者已公開了支持多尺度的Matlab代碼了哦。可以到以下網址下載:

? ? ? ??http://www4.comp.polyu.edu.hk/~cslzhang/STC/STC.htm


一、概述

? ? ? ?該論文提出一種簡單卻非常有效的視覺跟蹤方法。更迷人的一點是,它速度很快,原作者實現的Matlab代碼在i7的電腦上達到350fps。

? ? ? ?該論文的關鍵點是對時空上下文(Spatio-Temporal Context)信息的利用。主要思想是通過貝葉斯框架對要跟蹤的目標和它的局部上下文區域的時空關系進行建模,得到目標和其周圍區域低級特征的統計相關性。然后綜合這一時空關系和生物視覺系統上的focus of attention特性來評估新的一幀中目標出現位置的置信圖,置信最大的位置就是我們得到的新的一幀的目標位置。另外,時空模型的學習和目標的檢測都是通過FFT(傅里葉變換)來實現,所以學習和檢測的速度都比較快。

?

二、工作過程

? ? ? ?具體過程見下圖:

?

? ? ?(1)t幀:在該幀目標(第一幀由人工指定)已經知道的情況下,我們計算得到一個目標的置信圖(Confidence Map,也就是目標的似然)。通過生物視覺系統上的focus of attention特性我們可以得到另一張概率圖(先驗概率)。通過對這兩個概率圖的傅里葉變換做除再反傅里葉變換,就可以得到建模目標和周圍背景的空間相關性的空間上下文模型(條件概率)。然后我們用這個模型去更新跟蹤下一幀需要的時空上下文模型(可能這里還不太能理解,看到后面的相關理論分析和算法描述后可能會清晰一點)。

? ? ?(2)t+1幀:利用t幀的上下文信息(時空上下文模型),卷積圖像得到一個目標的置信圖,值最大的位置就是我們的目標所在地。或者理解為圖像各個地方對該上下文信息的響應,響應最大的地方自然就是滿足這個上下文的地方,也就是目標了。

?

三、相關理論描述

3.1、上下文的重要性

? ? ? ?時間和空間上的上下文信息對跟蹤來說是非常重要的。雖然對跟蹤,我們一直利用了時間上的上下文信息(用t去跟蹤t+1等),但對空間上下文信息的利用卻比較匱乏。為什么空間上下文信息會重要呢?考慮我們人,例如我們需要在人群中識別某個人臉(眾里尋他千百度),那我們為什么只關注它的臉呢?如果這個人穿的衣服啊帽子和其他人不一樣,那么這時候的識別和跟蹤就會更加容易和魯棒。或者場景中這個人和其他的東西有一定的關系,例如他靠在一棵樹上,那么他和樹就存在了一定的關系,而樹在場景中是不會動的(除非你搖動攝像頭了),那我們借助樹來輔助找到這個人是不是比單單去找這個人要容易,特別是人被部分遮擋住的時候。還有一些就是如果這個人帶著女朋友(有其他物體陪著一起運動),那么可以將他們看成一個集合結構,作為一組進行跟蹤,這樣會比跟蹤他們其中一個要容易。

? ? ? ?總之,一個目標很少與整個場景隔離或者沒有任何聯系,因為總存在一些和目標運動存在短時或者長時相關的目標。這種空間上下文的相關性就是我們可以利用的。


? ? ? ?在視覺跟蹤,局部上下文包括一個目標和它的附近的一定區域的背景。因為,在連續幀間目標周圍的局部場景其實存在著很強的時空關系。例如,上圖中的目標存在著嚴重的阻擋,導致目標的外觀發生了很大的變化。然而,因為只有小部分的上下文區域是被阻擋的,整體的上下問區域是保持相似的,所以該目標的局部上下文不會發生很大的變化。因此,當前幀局部上下文會有助于幫助預測下一幀中目標的位置。圖中,黃色框的是目標,然后它和它的周圍區域,也就是紅色框包圍的區域,就是該目標的上下文區域。左:雖然出現嚴重的阻擋導致目標的外觀發現很大的變化,但目標中心(由黃色的點表示)和其上下文區域中的周圍區域的其他位置(由紅色點表示)的空間關系幾乎沒有發生什么變化。中:學習到的時空上下文模型(藍色方框內的區域具有相似的值,表示該區域與目標中心具有相似的空間關系)。右:學習到的置信圖。

? ? ? ?時間信息:鄰近幀間目標變化不會很大。位置也不會發生突變。

? ? ? ?空間信息:目標和目標周圍的背景存在某種特定的關系,當目標的外觀發生很大變化時,這種關系可以幫助區分目標和背景。

? ? ? ?對目標這兩個信息的組合就是時空上下文信息,該論文就是利用這兩個信息來進行對阻擋等魯棒并且快速的跟蹤。

?

3.2、具體細節

? ? ? ?跟蹤問題可以描述為計算一個估計目標位置x似然的置信圖:

? ? ? ?置信圖c(x)最大的那個位置x*就是目標的位置。從公式上可以看到,似然函數可以分解為兩個概率部分。一個是建模目標與周圍上下文信息的空間關系的條件概率P(x|c(z),o),一個是建模局部上下文各個點x的上下文先驗概率P(c(x)|o)。而條件概率P(x|c(z),o),也就是目標位置和它的空間上下文的關系我們需要學習出來。

?

(1)Spatial Context Model 空間上下文模型

???????? 空間上下文模型描述的是條件概率函數:


???????? hsc(x-z)是一個關于目標x和局部上下文位置z的相對距離和方向的函數,它編碼了目標和它的空間上下文的空間關系。需要注意的是,這個函數并不是徑向對稱的。這有助于分辨二義性。例如圖三,左眼和右眼相對于位置x*來說他們的距離是一樣的,但相對位置也就是方向是不一樣的。所以他們會有不一樣的空間關系。這樣就對防止誤跟蹤有幫助。

???????? 另外,這個模型是通過在線學習得到的。隨著跟蹤的進行不斷更新。

?

(2)Context Prior Model 上下文先驗模型

???????? 這是先驗概率,建模為:

???????? 其中I(z)是點z的灰度,描述的是這個上下文z的外觀。w是一個加權函數,z離x越近,權值越大。定義如下:

???????? 這個加權函數是由生物視覺系統的focus of attention 啟發得到的,它表示人看東西的時候,會聚焦在一個確定的圖像區域。通俗的來說,就是離我們的目標越近的點,會越受關注,越遠就不好意思了,你的光芒會被無情的忽略掉。那多遠的距離會被多大程度的忽略呢?這就得看參數sigma(相當于高斯權重函數的方差)了,這個值越大,越多的風景映入眼簾,祖國大好河山,盡收眼底。如果這個值越小,那就相當于坐井觀天了。

?

(3)Confidence Map 置信圖

???????? 定義為:

???????? 這個公式的參數β是很重要的,太大太小效果可能差之千里。具體分析見原論文。這個置信圖是在給定目標的位置x*的基礎上,我們通過這個公式來計算得到上下文區域任何一點x的似然得到的。

?

(4)時空模型的快速學習

???????? 我們需要基于上下文先驗模型和置信圖來學習這個時空模型:

???????? 里面的卷積可以通過FFT來加速(時域的卷積相當于頻域的乘積),具體如下:

???????? 這樣,我們就可以通過兩個FFT和一個IFFT來學習我們要的空間上下文模型了:


???????? 然后我們用這個模型去更新時空上下文模型:


?

(4)最后的跟蹤

???????? 得到時空上下文模型后,我們就可以在新的一幀計算目標的置信圖了:

???????? 同樣是通過FFT來加速。然后置信圖中值最大的位置,就是我們的目標位置了。

?

(5)多尺度的實現

???????? 多尺度可以通過調整方差sigma來實現。具體分析見原論文。(感覺這個是很remarkable的一點)。尺度和方差sigma的更新如下:

?

四、算法描述

???????? 簡單的算法描述如下,編程實現其實也是這個過程。(另外,不知道我的尺度更新的位置對不對,望指點)

(1)t幀:

???????? 根據該幀圖像I和得到的目標位置x*。順序進行以下計算:

1)學習空間上下文模型:

2)更新跟蹤下一幀目標需要的時空上下文模型:

3)更新尺度等參數:

?

(2)t+1幀:

1)計算置信圖:

2)找到最大值,這個最大值的位置就是我們要求的目標位置:

?

五、代碼實現

? ? ? ?我的代碼是基于VS2010+OpenCV2.4.2的(暫時還沒加入邊界處理,也就是跟蹤框到達圖像邊緣的時候程序就會出錯)。代碼可以讀入視頻,也可以讀攝像頭,兩者的選擇只需要在代碼中稍微修改即可。對于視頻來說,運行會先顯示第一幀,然后我們用鼠標框選要跟蹤的目標,然后跟蹤器開始跟蹤每一幀。對攝像頭來說,就會一直采集圖像,然后我們用鼠標框選要跟蹤的目標,接著跟蹤器開始跟蹤后面的每一幀。

? ? ? ?另外,為了消去光照的影響,需要先對圖像去均值化,還需要加Hamming窗以減少圖像邊緣對FFT帶來的頻率影響。Hamming窗如下:


? ? ? ?另外,OpenCV沒有復數(FFT后是復數)的乘除運算,所以需要自己編寫,參考如下:

復數除法:

復數乘法:

具體代碼如下:

STCTracker.h

[cpp]?view plaincopy
  • //?Fast?object?tracking?algorithm??
  • //?Author?:?zouxy??
  • //?Date???:?2013-11-21??
  • //?HomePage?:?http://blog.csdn.net/zouxy09??
  • //?Email??:?zouxy09@qq.com??
  • //?Reference:?Kaihua?Zhang,?et?al.?Fast?Tracking?via?Spatio-Temporal?Context?Learning??
  • //?HomePage?:?http://www4.comp.polyu.edu.hk/~cskhzhang/??
  • //?Email:?zhkhua@gmail.com???
  • #pragma?once??
  • ??
  • #include?<opencv2/opencv.hpp>??
  • ??
  • using?namespace?cv;??
  • using?namespace?std;??
  • ??
  • class?STCTracker??
  • {??
  • public:??
  • ????STCTracker();??
  • ????~STCTracker();??
  • ????void?init(const?Mat?frame,?const?Rect?box);???
  • ????void?tracking(const?Mat?frame,?Rect?&trackBox);??
  • ??
  • private:??
  • ????void?createHammingWin();??
  • ????void?complexOperation(const?Mat?src1,?const?Mat?src2,?Mat?&dst,?int?flag?=?0);??
  • ????void?getCxtPriorPosteriorModel(const?Mat?image);??
  • ????void?learnSTCModel(const?Mat?image);??
  • ??
  • private:??
  • ????double?sigma;???????????//?scale?parameter?(variance)??
  • ????double?alpha;???????????//?scale?parameter??
  • ????double?beta;????????????//?shape?parameter??
  • ????double?rho;?????????????//?learning?parameter??
  • ????Point?center;???????????//?the?object?position??
  • ????Rect?cxtRegion;?????????//?context?region??
  • ??????
  • ????Mat?cxtPriorPro;????????//?prior?probability??
  • ????Mat?cxtPosteriorPro;????//?posterior?probability??
  • ????Mat?STModel;????????????//?conditional?probability??
  • ????Mat?STCModel;???????????//?spatio-temporal?context?model??
  • ????Mat?hammingWin;?????????//?Hamming?window??
  • };??

  • STCTracker.cpp

    [cpp]?view plaincopy
  • //?Fast?object?tracking?algorithm??
  • //?Author?:?zouxy??
  • //?Date???:?2013-11-21??
  • //?HomePage?:?http://blog.csdn.net/zouxy09??
  • //?Email??:?zouxy09@qq.com??
  • //?Reference:?Kaihua?Zhang,?et?al.?Fast?Tracking?via?Spatio-Temporal?Context?Learning??
  • //?HomePage?:?http://www4.comp.polyu.edu.hk/~cskhzhang/??
  • //?Email:?zhkhua@gmail.com???
  • ??
  • #include?"STCTracker.h"??
  • ??
  • STCTracker::STCTracker()??
  • {??
  • ??????
  • }??
  • ??
  • STCTracker::~STCTracker()??
  • {??
  • ??
  • }??
  • ??
  • /************?Create?a?Hamming?window?********************/??
  • void?STCTracker::createHammingWin()??
  • {??
  • ????for?(int?i?=?0;?i?<?hammingWin.rows;?i++)??
  • ????{??
  • ????????for?(int?j?=?0;?j?<?hammingWin.cols;?j++)??
  • ????????{??
  • ????????????hammingWin.at<double>(i,?j)?=?(0.54?-?0.46?*?cos(?2?*?CV_PI?*?i?/?hammingWin.rows?))???
  • ????????????????????????????????????????*?(0.54?-?0.46?*?cos(?2?*?CV_PI?*?j?/?hammingWin.cols?));??
  • ????????}??
  • ????}??
  • }??
  • ??
  • /************?Define?two?complex-value?operation?*****************/??
  • void?STCTracker::complexOperation(const?Mat?src1,?const?Mat?src2,?Mat?&dst,?int?flag)??
  • {??
  • ????CV_Assert(src1.size?==?src2.size);??
  • ????CV_Assert(src1.channels()?==?2);??
  • ??
  • ????Mat?A_Real,?A_Imag,?B_Real,?B_Imag,?R_Real,?R_Imag;??
  • ????vector<Mat>?planes;??
  • ????split(src1,?planes);??
  • ????planes[0].copyTo(A_Real);??
  • ????planes[1].copyTo(A_Imag);??
  • ??????
  • ????split(src2,?planes);??
  • ????planes[0].copyTo(B_Real);??
  • ????planes[1].copyTo(B_Imag);??
  • ??????
  • ????dst.create(src1.rows,?src1.cols,?CV_64FC2);??
  • ????split(dst,?planes);??
  • ????R_Real?=?planes[0];??
  • ????R_Imag?=?planes[1];??
  • ??????
  • ????for?(int?i?=?0;?i?<?A_Real.rows;?i++)??
  • ????{??
  • ????????for?(int?j?=?0;?j?<?A_Real.cols;?j++)??
  • ????????{??
  • ????????????double?a?=?A_Real.at<double>(i,?j);??
  • ????????????double?b?=?A_Imag.at<double>(i,?j);??
  • ????????????double?c?=?B_Real.at<double>(i,?j);??
  • ????????????double?d?=?B_Imag.at<double>(i,?j);??
  • ??
  • ????????????if?(flag)??
  • ????????????{??
  • ????????????????//?division:?(a+bj)?/?(c+dj)??
  • ????????????????R_Real.at<double>(i,?j)?=?(a?*?c?+?b?*?d)?/?(c?*?c?+?d?*?d?+?0.000001);??
  • ????????????????R_Imag.at<double>(i,?j)?=?(b?*?c?-?a?*?d)?/?(c?*?c?+?d?*?d?+?0.000001);??
  • ????????????}??
  • ????????????else??
  • ????????????{??
  • ????????????????//?multiplication:?(a+bj)?*?(c+dj)??
  • ????????????????R_Real.at<double>(i,?j)?=?a?*?c?-?b?*?d;??
  • ????????????????R_Imag.at<double>(i,?j)?=?b?*?c?+?a?*?d;??
  • ????????????}??
  • ????????}??
  • ????}??
  • ????merge(planes,?dst);??
  • }??
  • ??
  • /************?Get?context?prior?and?posterior?probability?***********/??
  • void?STCTracker::getCxtPriorPosteriorModel(const?Mat?image)??
  • {??
  • ????CV_Assert(image.size?==?cxtPriorPro.size);??
  • ??
  • ????double?sum_prior(0),?sum_post(0);??
  • ????for?(int?i?=?0;?i?<?cxtRegion.height;?i++)??
  • ????{??
  • ????????for?(int?j?=?0;?j?<?cxtRegion.width;?j++)??
  • ????????{??
  • ????????????double?x?=?j?+?cxtRegion.x;??
  • ????????????double?y?=?i?+?cxtRegion.y;??
  • ????????????double?dist?=?sqrt((center.x?-?x)?*?(center.x?-?x)?+?(center.y?-?y)?*?(center.y?-?y));??
  • ??
  • ????????????//?equation?(5)?in?the?paper??
  • ????????????cxtPriorPro.at<double>(i,?j)?=?exp(-?dist?*?dist?/?(2?*?sigma?*?sigma));??
  • ????????????sum_prior?+=?cxtPriorPro.at<double>(i,?j);??
  • ??
  • ????????????//?equation?(6)?in?the?paper??
  • ????????????cxtPosteriorPro.at<double>(i,?j)?=?exp(-?pow(dist?/?sqrt(alpha),?beta));??
  • ????????????sum_post?+=?cxtPosteriorPro.at<double>(i,?j);??
  • ????????}??
  • ????}??
  • ????cxtPriorPro.convertTo(cxtPriorPro,?-1,?1.0/sum_prior);??
  • ????cxtPriorPro?=?cxtPriorPro.mul(image);??
  • ????cxtPosteriorPro.convertTo(cxtPosteriorPro,?-1,?1.0/sum_post);??
  • }??
  • ??
  • /************?Learn?Spatio-Temporal?Context?Model?***********/??
  • void?STCTracker::learnSTCModel(const?Mat?image)??
  • {??
  • ????//?step?1:?Get?context?prior?and?posterior?probability??
  • ????getCxtPriorPosteriorModel(image);??
  • ??????
  • ????//?step?2-1:?Execute?2D?DFT?for?prior?probability??
  • ????Mat?priorFourier;??
  • ????Mat?planes1[]?=?{cxtPriorPro,?Mat::zeros(cxtPriorPro.size(),?CV_64F)};??
  • ????merge(planes1,?2,?priorFourier);??
  • ????dft(priorFourier,?priorFourier);??
  • ??
  • ????//?step?2-2:?Execute?2D?DFT?for?posterior?probability??
  • ????Mat?postFourier;??
  • ????Mat?planes2[]?=?{cxtPosteriorPro,?Mat::zeros(cxtPosteriorPro.size(),?CV_64F)};??
  • ????merge(planes2,?2,?postFourier);??
  • ????dft(postFourier,?postFourier);??
  • ??
  • ????//?step?3:?Calculate?the?division??
  • ????Mat?conditionalFourier;??
  • ????complexOperation(postFourier,?priorFourier,?conditionalFourier,?1);??
  • ??
  • ????//?step?4:?Execute?2D?inverse?DFT?for?conditional?probability?and?we?obtain?STModel??
  • ????dft(conditionalFourier,?STModel,?DFT_INVERSE?|?DFT_REAL_OUTPUT?|?DFT_SCALE);??
  • ??
  • ????//?step?5:?Use?the?learned?spatial?context?model?to?update?spatio-temporal?context?model??
  • ????addWeighted(STCModel,?1.0?-?rho,?STModel,?rho,?0.0,?STCModel);??
  • }??
  • ??
  • /************?Initialize?the?hyper?parameters?and?models?***********/??
  • void?STCTracker::init(const?Mat?frame,?const?Rect?box)??
  • {??
  • ????//?initial?some?parameters??
  • ????alpha?=?2.25;??
  • ????beta?=?1;??
  • ????rho?=?0.075;??
  • ????sigma?=?0.5?*?(box.width?+?box.height);??
  • ??
  • ????//?the?object?position??
  • ????center.x?=?box.x?+?0.5?*?box.width;??
  • ????center.y?=?box.y?+?0.5?*?box.height;??
  • ??
  • ????//?the?context?region??
  • ????cxtRegion.width?=?2?*?box.width;??
  • ????cxtRegion.height?=?2?*?box.height;??
  • ????cxtRegion.x?=?center.x?-?cxtRegion.width?*?0.5;??
  • ????cxtRegion.y?=?center.y?-?cxtRegion.height?*?0.5;??
  • ????cxtRegion?&=?Rect(0,?0,?frame.cols,?frame.rows);??
  • ??
  • ????//?the?prior,?posterior?and?conditional?probability?and?spatio-temporal?context?model??
  • ????cxtPriorPro?=?Mat::zeros(cxtRegion.height,?cxtRegion.width,?CV_64FC1);??
  • ????cxtPosteriorPro?=?Mat::zeros(cxtRegion.height,?cxtRegion.width,?CV_64FC1);??
  • ????STModel?=?Mat::zeros(cxtRegion.height,?cxtRegion.width,?CV_64FC1);??
  • ????STCModel?=?Mat::zeros(cxtRegion.height,?cxtRegion.width,?CV_64FC1);??
  • ??
  • ????//?create?a?Hamming?window??
  • ????hammingWin?=?Mat::zeros(cxtRegion.height,?cxtRegion.width,?CV_64FC1);??
  • ????createHammingWin();??
  • ??
  • ????Mat?gray;??
  • ????cvtColor(frame,?gray,?CV_RGB2GRAY);??
  • ??
  • ????//?normalized?by?subtracting?the?average?intensity?of?that?region??
  • ????Scalar?average?=?mean(gray(cxtRegion));??
  • ????Mat?context;??
  • ????gray(cxtRegion).convertTo(context,?CV_64FC1,?1.0,?-?average[0]);??
  • ??
  • ????//?multiplies?a?Hamming?window?to?reduce?the?frequency?effect?of?image?boundary??
  • ????context?=?context.mul(hammingWin);??
  • ??
  • ????//?learn?Spatio-Temporal?context?model?from?first?frame??
  • ????learnSTCModel(context);??
  • }??
  • ??
  • /********?STCTracker:?calculate?the?confidence?map?and?find?the?max?position?*******/??
  • void?STCTracker::tracking(const?Mat?frame,?Rect?&trackBox)??
  • {??
  • ????Mat?gray;??
  • ????cvtColor(frame,?gray,?CV_RGB2GRAY);??
  • ??
  • ????//?normalized?by?subtracting?the?average?intensity?of?that?region??
  • ????Scalar?average?=?mean(gray(cxtRegion));??
  • ????Mat?context;??
  • ????gray(cxtRegion).convertTo(context,?CV_64FC1,?1.0,?-?average[0]);??
  • ??
  • ????//?multiplies?a?Hamming?window?to?reduce?the?frequency?effect?of?image?boundary??
  • ????context?=?context.mul(hammingWin);??
  • ??
  • ????//?step?1:?Get?context?prior?probability??
  • ????getCxtPriorPosteriorModel(context);??
  • ??
  • ????//?step?2-1:?Execute?2D?DFT?for?prior?probability??
  • ????Mat?priorFourier;??
  • ????Mat?planes1[]?=?{cxtPriorPro,?Mat::zeros(cxtPriorPro.size(),?CV_64F)};??
  • ????merge(planes1,?2,?priorFourier);??
  • ????dft(priorFourier,?priorFourier);??
  • ??
  • ????//?step?2-2:?Execute?2D?DFT?for?conditional?probability??
  • ????Mat?STCModelFourier;??
  • ????Mat?planes2[]?=?{STCModel,?Mat::zeros(STCModel.size(),?CV_64F)};??
  • ????merge(planes2,?2,?STCModelFourier);??
  • ????dft(STCModelFourier,?STCModelFourier);??
  • ??
  • ????//?step?3:?Calculate?the?multiplication??
  • ????Mat?postFourier;??
  • ????complexOperation(STCModelFourier,?priorFourier,?postFourier,?0);??
  • ??
  • ????//?step?4:?Execute?2D?inverse?DFT?for?posterior?probability?namely?confidence?map??
  • ????Mat?confidenceMap;??
  • ????dft(postFourier,?confidenceMap,?DFT_INVERSE?|?DFT_REAL_OUTPUT|?DFT_SCALE);??
  • ??
  • ????//?step?5:?Find?the?max?position??
  • ????Point?point;??
  • ????minMaxLoc(confidenceMap,?0,?0,?0,?&point);??
  • ??
  • ????//?step?6-1:?update?center,?trackBox?and?context?region??
  • ????center.x?=?cxtRegion.x?+?point.x;??
  • ????center.y?=?cxtRegion.y?+?point.y;??
  • ????trackBox.x?=?center.x?-?0.5?*?trackBox.width;??
  • ????trackBox.y?=?center.y?-?0.5?*?trackBox.height;??
  • ????trackBox?&=?Rect(0,?0,?frame.cols,?frame.rows);??
  • ??
  • ????cxtRegion.x?=?center.x?-?cxtRegion.width?*?0.5;??
  • ????cxtRegion.y?=?center.y?-?cxtRegion.height?*?0.5;??
  • ????cxtRegion?&=?Rect(0,?0,?frame.cols,?frame.rows);??
  • ??
  • ????//?step?7:?learn?Spatio-Temporal?context?model?from?this?frame?for?tracking?next?frame??
  • ????average?=?mean(gray(cxtRegion));??
  • ????gray(cxtRegion).convertTo(context,?CV_64FC1,?1.0,?-?average[0]);??
  • ????context?=?context.mul(hammingWin);??
  • ????learnSTCModel(context);??
  • }??

  • runTracker.cpp

    [cpp]?view plaincopy
  • //?Fast?object?tracking?algorithm??
  • //?Author?:?zouxy??
  • //?Date???:?2013-11-21??
  • //?HomePage?:?http://blog.csdn.net/zouxy09??
  • //?Email??:?zouxy09@qq.com??
  • //?Reference:?Kaihua?Zhang,?et?al.?Fast?Tracking?via?Spatio-Temporal?Context?Learning??
  • //?HomePage?:?http://www4.comp.polyu.edu.hk/~cskhzhang/??
  • //?Email:?zhkhua@gmail.com???
  • ??
  • #include?"STCTracker.h"??
  • ??
  • //?Global?variables??
  • Rect?box;??
  • bool?drawing_box?=?false;??
  • bool?gotBB?=?false;??
  • ??
  • //?bounding?box?mouse?callback??
  • void?mouseHandler(int?event,?int?x,?int?y,?int?flags,?void?*param){??
  • ??switch(?event?){??
  • ??case?CV_EVENT_MOUSEMOVE:??
  • ????if?(drawing_box){??
  • ????????box.width?=?x-box.x;??
  • ????????box.height?=?y-box.y;??
  • ????}??
  • ????break;??
  • ??case?CV_EVENT_LBUTTONDOWN:??
  • ????drawing_box?=?true;??
  • ????box?=?Rect(?x,?y,?0,?0?);??
  • ????break;??
  • ??case?CV_EVENT_LBUTTONUP:??
  • ????drawing_box?=?false;??
  • ????if(?box.width?<?0?){??
  • ????????box.x?+=?box.width;??
  • ????????box.width?*=?-1;??
  • ????}??
  • ????if(?box.height?<?0?){??
  • ????????box.y?+=?box.height;??
  • ????????box.height?*=?-1;??
  • ????}??
  • ????gotBB?=?true;??
  • ????break;??
  • ??}??
  • }??
  • ??
  • int?main(int?argc,?char?*?argv[])??
  • {??
  • ????VideoCapture?capture;??
  • ????capture.open("handwave.wmv");??
  • ????bool?fromfile?=?true;??
  • ??
  • ????if?(!capture.isOpened())??
  • ????{??
  • ????????cout?<<?"capture?device?failed?to?open!"?<<?endl;??
  • ????????return?-1;??
  • ????}??
  • ????//Register?mouse?callback?to?draw?the?bounding?box??
  • ????cvNamedWindow("Tracker",?CV_WINDOW_AUTOSIZE);??
  • ????cvSetMouseCallback("Tracker",?mouseHandler,?NULL?);???
  • ??
  • ????Mat?frame;??
  • ????capture?>>?frame;??
  • ????while(!gotBB)??
  • ????{??
  • ????????if?(!fromfile)??
  • ????????????capture?>>?frame;??
  • ??
  • ????????imshow("Tracker",?frame);??
  • ????????if?(cvWaitKey(20)?==?27)??
  • ????????????return?1;??
  • ????}??
  • ????//Remove?callback??
  • ????cvSetMouseCallback("Tracker",?NULL,?NULL?);???
  • ??????
  • ????STCTracker?stcTracker;??
  • ????stcTracker.init(frame,?box);??
  • ??
  • ????int?frameCount?=?0;??
  • ????while?(1)??
  • ????{??
  • ????????capture?>>?frame;??
  • ????????if?(frame.empty())??
  • ????????????return?-1;??
  • ????????double?t?=?(double)cvGetTickCount();??
  • ????????frameCount++;??
  • ??
  • ????????//?tracking??
  • ????????stcTracker.tracking(frame,?box);??????
  • ??
  • ????????//?show?the?result??
  • ????????stringstream?buf;??
  • ????????buf?<<?frameCount;??
  • ????????string?num?=?buf.str();??
  • ????????putText(frame,?num,?Point(20,?30),?FONT_HERSHEY_SIMPLEX,?1,?Scalar(0,?0,?255),?3);??
  • ????????rectangle(frame,?box,?Scalar(0,?0,?255),?3);??
  • ????????imshow("Tracker",?frame);??
  • ??
  • ????????t?=?(double)cvGetTickCount()?-?t;??
  • ????????cout?<<?"cost?time:?"?<<?t?/?((double)cvGetTickFrequency()*1000.)?<<?endl;??
  • ??
  • ????????if?(?cvWaitKey(1)?==?27?)??
  • ????????????break;??
  • ????}??
  • ??
  • ????return?0;??
  • } ?
  • 與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的时空上下文视觉跟踪(STC)算法的解读与代码复现的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    有码一区二区三区 | 国产成人精品综合 | 久久视频6 | 成年人视频在线 | 国产精品高清在线观看 | 日韩在线色视频 | 亚洲视频999| 五月婷婷中文网 | 伊人天天综合 | 欧美伦理电影一区二区 | av解说在线观看 | 久久在线一区 | 日韩精选在线观看 | 97操操| 久草久草在线观看 | 国产精品av在线免费观看 | 国产精品国产三级国产aⅴ入口 | 中文字幕丝袜制服 | 天天摸天天弄 | 西西4444www大胆艺术 | www.婷婷色 | 91免费高清视频 | 久久99久久99精品免费看小说 | 一级大片在线观看 | 丁香五月亚洲综合在线 | 精品视频成人 | 免费视频黄色 | 日本狠狠色 | 色综合亚洲精品激情狠狠 | 精品国产伦一区二区三区观看说明 | 中文字幕在线视频一区 | 一区二区三区高清 | 亚洲一区黄色 | 免费国产在线精品 | 欧美一区二区在线免费观看 | 欧美色图亚洲图片 | 欧美另类网站 | 国产尤物在线视频 | 国产精久久久久久妇女av | 亚州国产视频 | 中文字幕亚洲欧美 | 国内99视频 | 成人午夜毛片 | 国产成人在线免费观看 | 91色在线观看 | 韩国av不卡 | 久草网视频在线观看 | 五月婷婷网站 | 久久人人爽人人爽人人片 | 国产三级视频在线 | 久久精品精品电影网 | 天天操天天添 | 久久国产精品系列 | 久草在线高清视频 | 日日爱影视 | 亚洲一区二区高潮无套美女 | 亚洲毛片视频 | 在线看岛国av | 在线观看色网站 | 天天色天天操天天爽 | 成人av一区二区三区 | 国内精品久久久久影院男同志 | www.夜夜 | 人人澡人 | 国产在线小视频 | 欧美日本在线视频 | 亚洲成人免费在线 | 日本在线精品视频 | 久久国产欧美日韩精品 | 少妇精69xxtheporn | 高潮久久久久久久久 | 亚洲免费a| 成人av免费网站 | 天堂av在线免费 | 久久99精品波多结衣一区 | 四虎在线免费视频 | 黄色特级毛片 | 久草在| 91成人精品一区在线播放69 | 亚洲精品日韩在线观看 | 欧美精品一区二区性色 | 欧美成人一二区 | 啪啪av在线| 久久在线视频精品 | 91av福利视频| 天天干,天天射,天天操,天天摸 | 久久艹国产 | 亚洲精品一区二区精华 | 粉嫩一区二区三区粉嫩91 | 亚洲动漫在线观看 | 天堂素人在线 | 中文字幕在线日亚洲9 | 国产麻豆视频免费观看 | 日韩高清网站 | 又爽又黄又无遮挡网站动态图 | 99re热精品视频 | 亚洲综合在线五月天 | 国产高清精 | 在线观看色视频 | av888av.com| 最近2019中文免费高清视频观看www99 | 亚洲日本中文字幕在线观看 | 97天天综合网| 69热国产视频 | 日韩一级电影在线 | 91丨精品丨蝌蚪丨白丝jk | 国产精品破处视频 | 亚洲1区 在线 | 操操操日日 | 欧美日韩午夜在线 | 久久久久电影 | av在线免费在线 | 亚洲精品视频国产 | 日韩在线播放欧美字幕 | 日韩一级黄色大片 | 99精品免费久久久久久久久日本 | 亚洲精品国产高清 | 亚洲精品三级 | 免费看一级黄色 | 免费看的国产视频网站 | 99在线免费观看视频 | 亚洲一区二区三区四区在线视频 | 深爱激情综合网 | 国产伦精品一区二区三区高清 | 六月天综合网 | av在线色 | 久久综合色婷婷 | 97日日碰人人模人人澡分享吧 | 99精品免费久久久久久久久日本 | 国产在线p | 久久婷亚洲五月一区天天躁 | 黄污视频大全 | 国产香蕉久久 | 国内久久久 | 最新色视频 | 国产精品久久久久久久久大全 | 四虎影视成人永久免费观看视频 | 99免费精品 | 在线免费观看亚洲视频 | 91亚色视频 | 亚洲精品在线免费 | 韩日精品在线观看 | 91热视频在线观看 | 亚洲国产精品成人精品 | 婷婷视频在线播放 | 国产九九精品视频 | 91网免费看 | 天天色天天 | 久久视频免费在线 | 黄色亚洲在线 | 黄色软件在线看 | 9草在线| 最新av在线网站 | 9999在线视频 | 亚洲精品综合一二三区在线观看 | 伊人小视频 | 精品国产电影一区二区 | 黄色片网站 | 综合色狠狠 | 亚洲国产欧美一区二区三区丁香婷 | 色偷偷97 | 91成人精品国产刺激国语对白 | 日韩精品一区二区三区电影 | av大全在线免费观看 | 人人搞人人爽 | 手机av永久免费 | www.精选视频.com | 久久神马影院 | 99视频黄| 一级做a视频 | 人人草人 | 久久免费视频网站 | 夜色资源站国产www在线视频 | 日韩二区三区在线 | 最近中文字幕国语免费av | 国产资源在线播放 | 精品在线观看一区二区三区 | 黄色av成人在线 | www.国产毛片| 亚洲成人精品 | 午夜电影久久 | 99精品视频网 | 国产成人333kkk | 中文字幕乱在线伦视频中文字幕乱码在线 | 91成人网在线观看 | 色多多在线观看 | 热99在线视频 | 午夜精品久久久久久久99水蜜桃 | 成人网看片 | 日韩一区二区三免费高清在线观看 | 久久国产精品99久久久久久进口 | 国产无遮挡猛进猛出免费软件 | 色婷av| 久久艹精品| 日韩中文字幕电影 | 中文字幕在线看片 | 女人18毛片a级毛片一区二区 | 97国产人人| 91看片淫黄大片一级在线观看 | 国产破处在线播放 | 黄色大片中国 | 国产精品福利在线 | 久久高清| 成人97视频一区二区 | 亚洲最新av在线网站 | 欧美污在线观看 | 亚洲成人一二三 | 久久无码精品一区二区三区 | 黄色软件大全网站 | 国产精品久久久久久久久久不蜜月 | 中文字幕高清有码 | 96av视频| 麻豆一区二区 | 超碰在线资源 | 国产免费一区二区三区网站免费 | 久久麻豆视频 | 精品视频久久久久久 | 免费在线一区二区三区 | 99人久久精品视频最新地址 | www.黄色片网站 | 视频成人免费 | 国产精品私人影院 | 69久久久| 久久99国产精品自在自在app | 日韩在线视频精品 | 婷婷色在线观看 | 欧美日韩中文国产 | 在线小视频国产 | 99久久电影 | 国产精品ⅴa有声小说 | 黄色电影小说 | 欧美一区二视频在线免费观看 | 天堂在线一区二区三区 | 久久影视网 | 九九视频一区 | 五月婷丁香网 | 美女一级毛片视频 | 一级黄色片网站 | 啪嗒啪嗒免费观看完整版 | 久久久久久久久久毛片 | a久久久久 | 亚洲最新在线视频 | 色噜噜日韩精品欧美一区二区 | 9999精品 | 色婷婷综合久久久 | 国产一区二区在线免费视频 | 欧洲精品码一区二区三区免费看 | 日日夜夜精品免费观看 | 久久在线免费观看 | 亚洲区另类春色综合小说校园片 | 97超碰国产精品女人人人爽 | 国产 色 | 久久综合综合久久综合 | 国产综合精品久久 | 深爱激情五月综合 | 国产精品一区二区久久精品爱涩 | 九九热视频在线免费观看 | 国产美腿白丝袜足在线av | 中文字幕2021| 99精品系列 | 99999精品| 正在播放亚洲精品 | 免费在线国产精品 | 狠狠色噜噜狠狠狠狠 | av一区在线播放 | 亚洲精品短视频 | 综合精品在线 | 伊人亚洲综合网 | 美女黄频在线观看 | 日本一区二区三区视频在线播放 | 国产精品国产三级国产aⅴ入口 | 91日本在线播放 | 国产成人a亚洲精品v | 深爱五月网 | 国产精品video爽爽爽爽 | 在线视频精品播放 | 看av免费 | 五月宗合网| 日韩精品专区在线影院重磅 | 狠狠久久 | 九九九九色 | 国产一二区免费视频 | 99视频免费看 | 日韩中文字幕免费视频 | 欧美日韩xxxxx | 天天操天天曰 | 国产精品久久久久久久久婷婷 | 久久精品一 | 国产免费观看久久 | 在线看小早川怜子av | 亚洲精品中文字幕在线 | 黄色日批网站 | 成人全视频免费观看在线看 | 欧美日韩在线播放 | 国产va饥渴难耐女保洁员在线观看 | 九色激情网 | 国产精品女同一区二区三区久久夜 | av免费观看网站 | 成人毛片在线视频 | av免费在线观看网站 | 九九视频这里只有精品 | 国产在线不卡精品 | 日韩电影一区二区三区在线观看 | 人人爱人人添 | 激情婷婷六月 | 91九色蝌蚪视频网站 | 韩国一区二区三区视频 | 一区二区视频在线看 | av电影 一区二区 | 丁香六月天 | 黄污网站在线观看 | 四虎免费在线观看 | 中文字幕成人av | 在线观看av黄色 | 国产一级免费在线观看 | 精品国产一区二区三区四区在线观看 | 黄色片网站 | 日韩免费高清在线 | 在线视频观看成人 | 国内成人精品视频 | 久久久精品国产免费观看一区二区 | 在线成人高清电影 | 中文一区二区三区在线观看 | 93久久精品日日躁夜夜躁欧美 | 99在线观看视频网站 | 婷婷日日 | 国产精品欧美久久久久无广告 | 在线观看视频在线 | 中文字幕成人在线观看 | 日本少妇视频 | 超级av在线 | 日韩v在线91成人自拍 | 一级欧美一级日韩 | 国产视频一区在线免费观看 | 国产精品3 | 五月天亚洲综合小说网 | 天堂麻豆 | 久久好看 | 国际精品久久 | 中文字幕精品视频 | 看片网站黄色 | 国产91精品一区二区麻豆亚洲 | 九九在线精品视频 | 日本公乱妇视频 | 日韩在线视频免费播放 | 天天干天天爽 | 一区二区电影网 | 美女视频黄色免费 | 伊人色**天天综合婷婷 | 91看片在线观看 | 在线观看黄网站 | 日韩中文字幕视频在线 | 国产精品福利小视频 | 国产成人精品久久二区二区 | 麻豆视频免费在线观看 | 成人av在线影视 | 亚洲精品国产精品久久99热 | www.啪啪.com| 成年人在线| 99久久夜色精品国产亚洲96 | 国产亚洲视频在线 | 天天操天天干天天干 | 婷婷播播网 | 黄色一级在线视频 | 国产免费久久 | 国产亚洲视频在线 | 黄色一级大片在线观看 | 亚州av成人| 久久人人爽人人爽人人片 | 91在线播放视频 | www.av在线播放 | 亚洲精品高清一区二区三区四区 | 天天干天天操天天射 | 三级黄色网址 | 国产精品欧美一区二区三区不卡 | 久久免费看a级毛毛片 | 国产91免费观看 | 亚洲免费一级电影 | 高潮久久久久久 | 99免费看片 | 一区二区三区视频 | 日韩精品不卡在线观看 | 免费人成在线观看网站 | 中文字幕中文字幕在线中文字幕三区 | 爱射综合 | 国产美女在线观看 | 成人免费在线播放 | 日批视频在线 | 日韩av手机在线观看 | 久久久九色精品国产一区二区三区 | 在线看片成人 | 成人黄色资源 | 中文字幕乱码亚洲精品一区 | 午夜手机电影 | 婷婷资源站 | 992tv又爽又黄的免费视频 | 亚洲成人黄色在线观看 | 天天色棕合合合合合合 | 亚洲综合色视频在线观看 | 夜夜澡人模人人添人人看 | 成人视屏免费看 | 久久精品欧美日韩精品 | 天天激情在线 | 中文字幕免费成人 | 成人国产综合 | 激情视频二区 | 99热99re6国产在线播放 | 色偷偷av男人天堂 | av一区二区在线观看中文字幕 | 午夜a区 | 激情视频免费在线观看 | 久久99视频 | 91在线观看视频网站 | 91视频免费播放 | 久久高清视频免费 | 午夜精品一区二区三区在线视频 | www.久草.com| 日韩城人在线 | av免费网站 | 日韩欧美在线中文字幕 | 最新中文字幕在线观看视频 | 天天操操操操操 | 久久久久亚洲精品国产 | 亚洲在线视频网站 | 99999精品 | 九九九电影免费看 | 国产亚洲精品久久19p | 97精品国自产拍在线观看 | 色婷婷国产精品一区在线观看 | 成人av免费在线 | 成人一区不卡 | 97成人免费 | 日韩网| 国产精品不卡 | 婷婷成人亚洲综合国产xv88 | 亚洲视频 一区 | 成人福利在线观看 | 婷婷丁香社区 | 久久久久久久久黄色 | 精品美女久久久久久免费 | 亚洲高清久久久 | 成人av在线网址 | 日本三级大片 | 二区三区视频 | 日韩av黄 | 国产一区在线视频观看 | 久久尤物电影视频在线观看 | 亚洲欧美成人在线 | 日韩三区在线观看 | 亚洲另类交 | 91天天视频 | 国产片免费在线观看视频 | 日本成人中文字幕在线观看 | 五月激情站 | 成人亚洲精品久久久久 | 精品久久久久久久久久久院品网 | 一区二区精品在线观看 | 91精品国产麻豆 | 91免费观看视频在线 | 成人app在线播放 | 欧美日韩国产精品久久 | 在线婷婷 | 色视频成人在线观看免 | 亚洲精品男人的天堂 | 国产视频欧美视频 | 性色av一区二区三区在线观看 | 成人网在线免费视频 | 久久久久久久av麻豆果冻 | www.看片网站 | 成人禁用看黄a在线 | 亚洲永久精品国产 | 精品在线视频一区 | 美女天天操 | 成人在线黄色 | 日韩性色| 欧美极品久久 | 国产一级电影在线 | 婷婷色综合色 | 国产午夜av | japanesexxxxfreehd乱熟| 伊人网站 | 亚洲综合视频在线观看 | 久久久免费毛片 | 天天干,天天操 | 国产美女搞久久 | 99久久er热在这里只有精品66 | 国产精品综合久久久 | 亚洲色图27p | 狠狠色噜噜狠狠狠狠 | 国产精品综合av一区二区国产馆 | av日韩在线网站 | 懂色av懂色av粉嫩av分享吧 | 激情五月婷婷综合网 | 国产精品久久久久久久7电影 | 国产成人三级在线观看 | 精品综合久久 | 国产丝袜高跟 | 成人av.com| 麻豆高清免费国产一区 | 99热这里只有精品在线观看 | 天天射夜夜爽 | 91麻豆福利 | 免费成人在线观看视频 | 亚洲欧美日韩精品久久奇米一区 | 日本一区二区三区免费观看 | 婷婷久久综合九色综合 | 日本在线视频网址 | 亚洲精品一区二区18漫画 | 欧美日韩不卡在线 | 在线观看久草 | 欧美一区二区免费在线观看 | 国产亚洲成av人片在线观看桃 | 久久999精品 | 久久久久久久久久电影 | 日韩高清不卡在线 | 亚洲一区二区三区精品在线观看 | 亚洲视频在线观看免费 | 天天色天天 | 人人网av | 98涩涩国产露脸精品国产网 | 国产日韩精品在线观看 | 亚洲视频在线免费看 | 在线成人观看 | 久久久久久久久国产 | 视频一区二区在线观看 | 久久96国产精品久久99软件 | 麻豆久久久久久久 | 奇米网网址 | a级黄色片视频 | 麻豆91网站 | 亚洲黄色app| 久久y| 一本色道久久精品 | 亚洲黄色影院 | 日韩av中文字幕在线免费观看 | 最近更新好看的中文字幕 | 午夜aaaa| 国产精品久久久久久久久久久久 | 日本精品久久久久久 | 人人插人人费 | 色视频在线 | 91丨九色丨国产在线观看 | av天天色 | 国产精品欧美久久 | 五月天网站在线 | 日韩视频欧美视频 | 久草久草在线观看 | 日韩免费视频一区二区 | 黄色片网站 | 视频在线观看国产 | 天天玩天天干天天操 | 人人看97 | 日日久视频 | 色婷婷在线视频 | 免费黄色一区 | 国产91精品一区二区麻豆网站 | 日本中文字幕一二区观 | 国产精品第一页在线 | 免费在线国产视频 | 夜夜视频 | 免费欧美精品 | 五月开心婷婷网 | 国产视频欧美视频 | 六月丁香激情综合 | 欧美激情综合五月色丁香 | 亚洲 欧美 91 | 亚洲国产小视频在线观看 | 91av在| 五月宗合网 | 手机成人在线电影 | 九九久久久久99精品 | 免费黄色av电影 | 久久久一本精品99久久精品66 | 丝袜网站在线观看 | 中文字幕在线看视频 | 欧美一级片免费播放 | 国产一区二区综合 | 免费看的黄色小视频 | 国产色在线,com | 天堂网一区二区 | 国产精品一区欧美 | 亚洲永久精品视频 | 久久免费精品视频 | 色综合咪咪久久网 | 99r精品视频在线观看 | 91亚洲精品乱码久久久久久蜜桃 | 久久久久黄 | 麻豆国产网站 | 中文 一区二区 | 亚洲精品小视频在线观看 | 国产精品久久久久久一二三四五 | 尤物一区二区三区 | 欧美一级艳片视频免费观看 | 亚洲国产中文字幕在线观看 | av经典在线 | 探花视频在线观看免费版 | 日韩综合一区二区 | 国产麻豆传媒 | 婷婷av在线 | 香蕉97视频观看在线观看 | 免费日韩av片 | 麻豆精品国产传媒 | 亚洲精品在线国产 | 99av在线视频| 超碰在线最新地址 | 亚洲五月| 欧美另类v | 久久在线播放 | www五月 | 美女在线免费视频 | 日本三级国产 | 免费三级大片 | 中文字幕激情 | 国产一级免费电影 | 亚洲最大成人免费网站 | 精品爱爱 | 91天堂素人约啪 | 丁香视频五月 | 日日夜夜爱 | 亚洲精品在线播放视频 | 最近日韩中文字幕中文 | 99热超碰| 亚洲欧洲精品一区二区精品久久久 | 成人一级片在线观看 | 综合黄色网 | 午夜视频在线观看一区二区 | 91完整版在线观看 | 亚洲日本欧美在线 | 天天操天天操天天操 | 久久精品视频观看 | 一区二区高清在线 | 免费a级大片 | 午夜.dj高清免费观看视频 | 国产高清免费 | 亚洲国产片 | 日韩精品专区 | 婷婷午夜激情 | 日韩精品一区二区三区水蜜桃 | 日韩欧美国产视频 | 国产精选在线 | 日韩精品免费在线观看视频 | 久久久99精品免费观看乱色 | 日韩在线二区 | 婷婷性综合 | 亚洲国产小视频在线观看 | 在线色资源 | 亚洲永久精品视频 | 国产 日韩 欧美 自拍 | 久久伊人国产精品 | 国产不卡精品 | 精品国产1区 | 91麻豆免费版 | av在线播放观看 | 精品久久片 | 日韩午夜电影院 | 国产亚洲免费的视频看 | 久久99免费| 91免费网站在线观看 | 欧美激情精品久久 | 看毛片网站 | 久久高清视频免费 | 久草在在线| 日本久久99 | 国产手机视频精品 | 国产在线视频在线观看 | 久久永久免费 | 热久久免费国产视频 | 99在线热播精品免费 | 2021久久| 黄色免费观看 | 69精品视频在线观看 | 日韩视频免费观看高清完整版在线 | 日韩激情片在线观看 | 欧美最新另类人妖 | 在线观看免费中文字幕 | www.色国产 | 欧美一级免费高清 | 久久亚洲免费视频 | 黄色网址a| 欧美怡红院视频 | 国产一二区在线观看 | 狠狠操精品 | 成人av网页 | 欧美精品久久天天躁 | 免费在线观看av网址 | 天天综合成人 | 久久久精品国产免费观看一区二区 | 久久免费在线视频 | 久在线观看视频 | 天天爽天天爽天天爽 | 91在线中字 | 黄色小说网站在线 | 久久久2o19精品 | 国产亚洲在线 | 久久久久久免费 | 日韩在线视频免费观看 | 中文字幕在线播放一区 | 亚洲欧美国产精品va在线观看 | 天天综合色网 | 日韩国产精品久久久久久亚洲 | 久草在线资源网 | 国产黄色在线看 | 国产精品中文字幕在线观看 | 黄污网站在线观看 | 白丝av在线 | 亚洲美女精品区人人人人 | 成人免费在线网 | 日日夜夜国产 | 国产精品一区二区吃奶在线观看 | 中文字幕在线播出 | 天天干国产 | 日韩,中文字幕 | 精品久久久久一区二区国产 | 国产色啪| wwxxxx日本| 奇米影视四色8888 | 奇米网444| 日韩欧美在线高清 | 五月天六月丁香 | 亚洲成人黄色 | 国产精品视频线看 | 国产成人综合精品 | 亚洲精品久久久久久久蜜桃 | 欧美福利网站 | 天天天天天操 | 99视频黄 | 在线天堂中文www视软件 | 精品爱爱| 国产永久免费高清在线观看视频 | 亚洲精品资源在线观看 | 色99视频| 国产亚洲精品久久网站 | 久产久精国产品 | 亚洲精品看片 | 国产精品麻豆果冻传媒在线播放 | 天堂网av在线 | 亚洲欧美国产精品18p | 五月婷婷导航 | 一区二区视频在线免费观看 | 日日操操操 | 国产精品理论视频 | 精品免费久久久久 | 西西www4444大胆视频 | 99精品热视频只有精品10 | 成人在线播放网站 | 久久久久国产精品一区二区 | 国产一性一爱一乱一交 | 色久网| 国产精品18毛片一区二区 | 成人丁香花| 超碰成人av | 黄色软件在线观看免费 | 成人在线视频你懂的 | 日韩在线大片 | 免费网站看av片 | 日韩欧美精品在线视频 | 99久久99久久精品国产片 | 日本论理电影 | 亚洲成人精品久久 | 国产91精品在线播放 | 麻豆视频国产 | 又色又爽又黄高潮的免费视频 | 人人爽人人澡人人添人人人人 | 亚洲aⅴ在线 | 在线观看视频一区二区 | 婷婷av网 | 国产区高清在线 | 精品理论片 | 最新久久久| 午夜久久久久久久 | 国产高清日韩欧美 | 日韩黄色免费 | 美女精品在线观看 | 狠狠色噜噜狠狠狠狠 | 亚洲精品一区二区三区在线观看 | www.av免费| 2018亚洲男人天堂 | 国产精品久久久久久吹潮天美传媒 | 我要色综合天天 | 91禁看片 | 久久久午夜影院 | 国产中文字幕第一页 | 天天干天天射天天爽 | 国产美女精品久久久 | 免费在线观看成人av | www.人人草| 久草网视频 | 日韩一级片观看 | 超碰在线人人草 | 五月婷婷久久丁香 | 久久国产精品久久精品国产演员表 | 女女av在线| 97热久久免费频精品99 | 成人黄色片免费 | 国产做aⅴ在线视频播放 | a'aaa级片在线观看 | 久久久久久国产精品 | 国产精品白丝av | 在线观看你懂的网址 | 免费福利在线播放 | 粉嫩av一区二区三区四区五区 | 97色se| 狠狠操精品| 欧美黄色成人 | 四虎影视欧美 | 亚洲专区在线播放 | 欧美 另类 交 | 五月天激情在线 | 黄色一级影院 | 一区二区三区电影 | 在线免费看黄色 | 国产小视频国产精品 | 亚洲精品99久久久久久 | 欧美一级免费片 | 久久视频免费看 | 国产小视频你懂的 | 日韩黄色大片在线观看 | av天天色| 国产欧美综合视频 | 久久草av| 国产欧美高清 | avav片| 狠狠精品 | 日本精品久久久一区二区三区 | 日韩欧美在线综合网 | 91精品视频在线观看免费 | 天天综合亚洲 | 久久精品—区二区三区 | 五月天中文字幕mv在线 | av成人动漫在线观看 | 欧美一二三区在线观看 | 亚洲一区二区麻豆 | 香蕉影院在线播放 | 亚洲精品视频第一页 | 精品视频久久久久久 | 最新日韩电影 | 99久久综合狠狠综合久久 | 免费看国产精品 | 国产无吗一区二区三区在线欢 | 人人草在线观看 | 日韩欧美高清一区二区 | 日韩精品一区二区三区三炮视频 | 中文字幕有码在线观看 | 成人黄色电影免费观看 | 福利视频一二区 | 午夜久久影视 | 成人一级免费视频 | 日韩综合在线观看 | 欧美一区二区三区在线看 | 黄色软件在线观看视频 | 欧美va日韩va | 日本精品久久久久中文字幕 | 久久国产精品99久久久久 | 国产美女搞久久 | 一区二区视频在线免费观看 | 九九免费在线观看 | 狠狠色丁香婷婷综合最新地址 | 亚洲综合色婷婷 | 亚洲精品456在线播放 | 色婷婷久久一区二区 | 96av在线视频 | 激情黄色一级片 | 精品久久久久久亚洲综合网站 | 天天操天天玩 | 亚洲黄色av网址 | 久久99影院 | 视频 天天草 | 午夜美女网站 | 亚洲国产中文字幕 | 人人爽人人爽人人爽学生一级 | 黄色高清视频在线观看 | 免费在线观看国产黄 | 成人h视频在线播放 | 国色天香永久免费 | 66av99精品福利视频在线 | 日韩美视频 | 欧美日韩后 | 美女在线国产 | 69xx视频 | 亚洲精品视频网站在线观看 | 亚洲第一色 | 婷色| 奇米影视在线99精品 | 久久高清国产视频 | 91.精品高清在线观看 | 久久久三级视频 | 成人动图 | 国产精品久久久久久久电影 | 在线91播放 | 久久久久99精品成人片三人毛片 | 欧美性久久久 | 四虎影视www | 久久久久国产一区二区三区 | 久久久精品福利视频 | 国产日韩精品久久 | 亚洲狠狠 | 成人va在线观看 | 国产精品av免费在线观看 | 日韩免费看| 午夜美女福利 | 久久精品精品 | 日本成人a| 去干成人网| 免费网站在线观看人 | 草莓视频在线观看免费观看 | 久久久久欠精品国产毛片国产毛生 | 午夜丰满寂寞少妇精品 | 日日操夜 | 丝袜美女在线 | 天天艹天天干天天 | www.99av| 啪啪激情网 | 99电影| 激情五月网站 | 国产精品99久久久久久人免费 | 中文在线a在线 | 亚洲视频免费在线看 | 日b视频在线观看网址 | 久久综合狠狠综合久久狠狠色综合 | 亚洲天堂网在线观看视频 | 九九热在线视频免费观看 | 色噜噜在线观看视频 | 久久综合偷偷噜噜噜色 | 在线日韩av | 日韩欧美观看 | 成人91av| 精品在线免费观看 | 成人av免费在线 | 深爱激情五月网 | 成人av免费在线播放 | 日韩av综合网站 | 国产99在线播放 | 久久久久久久久国产 | 国产精品免费在线 | 欧美日韩视频在线一区 | 一级黄色大片在线观看 | 亚洲一区二区三区miaa149 | 特级毛片网 | 在线综合色 | www.福利视频 | 精品免费在线视频 | av青草| 久草在线资源观看 | 99色免费 | 不卡的av在线播放 | 久久精品视频国产 | 日韩欧美一区二区不卡 | 99精品视频免费看 | 色婷婷亚洲综合 | 久久精品99国产精品日本 | www.久艹 | 国产主播大尺度精品福利免费 | 久草在线官网 | 精品国产一区二区三区男人吃奶 | 日韩三级视频在线观看 | 国偷自产中文字幕亚洲手机在线 | 精品久久久久久久久亚洲 | 九九热免费精品视频 | 国产精品99免视看9 国产精品毛片一区视频 | 免费黄av | 成人在线观看影院 | 亚洲激情影院 | 久久久久久网址 | 国产97色 | 人人揉人人揉人人揉人人揉97 | 成人免费亚洲 | 玖玖在线免费视频 | 天天做日日做天天爽视频免费 | 久久久久久久久久久影视 | 色综合久久久久综合99 | 亚洲最大免费成人网 | 久久国产精品久久精品国产演员表 | 成人免费一区二区三区在线观看 | 久久免费久久 | 又污又黄的网站 | 日韩成人高清在线 | 国产 欧美 日产久久 | www久久| 日韩成人精品一区二区三区 | 黄色毛片电影 | 97av.com| 免费看黄在线网站 | 日本中文字幕在线播放 | 日日爱视频 | 日本中文字幕系列 | 99午夜| 一区二区三高清 | 粉嫩aⅴ一区二区三区 | 久久综合九九 | 999ZYZ玖玖资源站永久 | 国产视频亚洲精品 | 欧美a在线看 | 欧美福利网站 | 国产视频手机在线 | 国产精品久久久免费 | 国内精品久久久久久久久久久 | 中文字幕在线观看视频一区二区三区 | 国产精品久久久久一区 |