圖像特征Dense Scale Invariant Feature Transform (DSIFT)

Table of Contents

Overview
Usage
Technical detailsDense descriptors
Sampling

Author:
Andrea Vedaldi
Brian Fulkerson

dsift.h implements a dense version of SIFT. This is an object that can quickly compute descriptors for densely sampled keypoints with identical size and orientation. It can be reused for multiple images of the same size.
Overview
See also
The SIFT module, Technical details

This module implements a fast algorithm for the calculation of a large number of SIFT descriptors of densely sampled features of the same scale and orientation. See the SIFT module for an overview of SIFT.
The feature frames (keypoints) are indirectly specified by the sampling steps (vl_dsift_set_steps) and the sampling bounds (vl_dsift_set_bounds). The descriptor geometry (number and size of the spatial bins and number of orientation bins) can be customized (vl_dsift_set_geometry, VlDsiftDescriptorGeometry).

dsift-geom.png
Dense SIFT descriptor geometry

By default, SIFT uses a Gaussian windowing function that discounts contributions of gradients further away from the descriptor centers. This function can be changed to a flat window by invoking vl_dsift_set_flat_window. In this case, gradients are accumulated using only bilinear interpolation, but instad of being reweighted by a Gassuain window, they are all weighted equally. However, after gradients have been accumulated into a spatial bin, the whole bin is reweighted by the average of the Gaussian window over the spatial support of that bin. This “approximation” substantially improves speed with little or no loss of performance in applications.
Keypoints are sampled in such a way that the centers of the spatial bins are at integer coordinates within the image boundaries. For instance, the top-left bin of the top-left descriptor is centered on the pixel (0,0). The bin immediately to the right at (binSizeX
,0), where binSizeX
is a paramtere in the VlDsiftDescriptorGeometry structure. vl_dsift_set_bounds can be used to further restrict sampling to the keypoints in an image.
Usage
DSIFT is implemented by a VlDsiftFilter object that can be used to process a sequence of images of a given geometry. To use the DSIFT filter:
Initialize a new DSIFT filter object by vl_dsift_new (or the simplified vl_dsift_new_basic). Customize the descriptor parameters byvl_dsift_set_steps, vl_dsift_set_geometry, etc.
Process an image by vl_dsift_process.
Retrieve the number of keypoints (vl_dsift_get_keypoint_num), the keypoints (vl_dsift_get_keypoints), and their descriptors (vl_dsift_get_descriptors).
Optionally repeat for more images.
Delete the DSIFT filter by vl_dsift_delete.

Technical details
This section extends the SIFT descriptor section and specialzies it to the case of dense keypoints.
Dense descriptors
When computing descriptors for many keypoints differing only by their position (and with null rotation), further simplifications are possible. In this case, in fact,
xh(t,i,j)==mσx+T,mσ∫gσwin(x?T)wang(∠J(x)?θt)w(x?Txmσ?xi)w(y?Tymσ?y^j)|J(x)|dx.

Since many different values of T are sampled, this is conveniently expressed as a separable convolution. First, we translate by xij=mσ(x^i, y^i)?
and we use the symmetry of the various binning and windowing functions to write
h(t,i,j)T′==mσ∫gσwin(T′?x?xij)wang(∠J(x)?θt)w(T′x?xmσ)w(T′y?ymσ)|J(x)|dx,T+mσ[xiyj].

Then we define kernels
ki(x)kj(y)==12π??√σwinexp(?12(x?xi)2σ2win)w(xmσ),12π??√σwinexp(?12(y?yj)2σ2win)w(ymσ),

and obtain
h(t,i,j)Jˉt(x)==(kikj?Jˉt)(T+mσ[xiyj]),wang(∠J(x)?θt)|J(x)|.

Furthermore, if we use a flat rather than Gaussian windowing function, the kernels do not depend on the bin, and we have
k(z)h(t,i,j)==1σwinw(zmσ),(k(x)k(y)?Jˉt)(T+mσ[xiyj]),

(here σwin
is the side of the flat window).
Note
In this case the binning functions k(z)
are triangular and the convolution can be computed in time independent on the filter (i.e. descriptor bin) support size by integral signals.

Sampling
To avoid resampling and dealing with special boundary conditions, we impose some mild restrictions on the geometry of the descriptors that can be computed. In particular, we impose that the bin centers T+mσ(xi, yj)
are always at integer coordinates within the image boundaries. This eliminates the need for costly interpolation. This condition amounts to (expressed in terms of the x coordinate, and equally applicable to y)
{0,…,W?1}?Tx+mσxi=Tx+mσi?Nx?12=Tˉx+mσi,i=0,…,Nx?1.

Notice that for this condition to be satisfied, the descriptor center Tx
needs to be either fractional or integer depending on Nx
being even or odd. To eliminate this complication, it is simpler to use as a reference not the descriptor center T, but the coordinates of the upper-left bin Tˉ
. Thus we sample the latter on a regular (integer) grid
[00]≤Tˉ=[Tˉminx+pΔxTˉminy+qΔy]≤[W?1?mσNxH?1?mσNy],Tˉ=??Tx?Nx?12Ty?Ny?12??

and we impose that the bin size mσ
is integer as well.
from VLFeat.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鄙陡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子唱凯,更是在濱河造成了極大的恐慌,老刑警劉巖剧蚣,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件意敛,死亡現(xiàn)場離奇詭異眷细,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)尘执,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門舍哄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人誊锭,你說我怎么就攤上這事表悬。” “怎么了丧靡?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵蟆沫,是天一觀的道長籽暇。 經(jīng)常有香客問我,道長饭庞,這世上最難降的妖魔是什么戒悠? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮舟山,結(jié)果婚禮上绸狐,老公的妹妹穿的比我還像新娘。我一直安慰自己累盗,他們只是感情好寒矿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著幅骄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪本今。 梳的紋絲不亂的頭發(fā)上拆座,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天,我揣著相機(jī)與錄音冠息,去河邊找鬼挪凑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛逛艰,可吹牛的內(nèi)容都是我干的躏碳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼散怖,長吁一口氣:“原來是場噩夢啊……” “哼菇绵!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起镇眷,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤咬最,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后欠动,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體永乌,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年具伍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了翅雏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,110評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡人芽,死狀恐怖望几,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情萤厅,我是刑警寧澤橄妆,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布衙伶,位于F島的核電站,受9級特大地震影響害碾,放射性物質(zhì)發(fā)生泄漏矢劲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一慌随、第九天 我趴在偏房一處隱蔽的房頂上張望芬沉。 院中可真熱鬧,春花似錦阁猜、人聲如沸丸逸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽黄刚。三九已至,卻和暖如春民效,著一層夾襖步出監(jiān)牢的瞬間憔维,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工畏邢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留业扒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓舒萎,卻偏偏與公主長得像程储,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子臂寝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 9,511評論 0 23
  • 文/小思凡 北京豐臺(tái)家章鲤, 8:35——10:12 『百問導(dǎo)師』 1.怎么剛剛就上了一張圖,感覺內(nèi)心的感覺變了咆贬?這里...
    任思凡閱讀 336評論 0 0
  • 01 之所以選擇步入婚姻根欧,定是做好了要與對方相守到老的準(zhǔn)備。 婚姻和愛情不同端蛆,前者是后者的感情升華凤粗,卻也是后者的精...
    丑妹閱讀 1,116評論 3 20
  • 今天沒講新的內(nèi)容,老師布置了任務(wù),我們把之前所講的內(nèi)容進(jìn)行練習(xí) 1.用key1鍵控制LED燈的開關(guān)嫌拣,每按一次亮一種...
    我叫趙健閱讀 197評論 0 0
  • 一柔袁、可迭代對象和迭代器 1.迭代的概念 上一次輸出的結(jié)果為下一次輸入的初始值,重復(fù)的過程稱為迭代,每次重復(fù)即一次迭...
    chen_000閱讀 328評論 0 1