1. 程式人生 > >Efficient Object Instance Search Using Fuzzy Objects Matching

Efficient Object Instance Search Using Fuzzy Objects Matching

    作者提出了一種有效的目標例項檢索方法----Fuzzy Objects Matching (FOM)。

   一般來說,例項檢索將query影象與資料集影象產生的眾多proposals進行一一匹配。但這種方法很明顯時間複雜度很高。而且同一張影象的proposals常常有重疊,所以可以通過減少這種冗餘計算來提高匹配準確率和效率。

    Fuzzy Objects 的編碼和匹配

1. 編碼

       對於資料集中的某一張影象 I,通過Edgeboxes方法得到n個proposals,記為pi (1<=i<=n)。

       將proposals調整為同樣大小,輸入到CNN網路。

       提取到某一層的feature map。實驗中用的是VGG-16網路,提取conv5_3層的feature map。

       假設feature map的維度是W*H*d,對每個卷積核產生的W*H大小進行pooling或者聚合。(類似R-MAC)。

       pooling或聚合的方法共有四種:maxpooling、sumpooling、bilinearpooling、VLAD。

       至此,每個proposal可以得到區域性卷積特徵Pi,維度為d*1。來自於同一張影象的n個proposals得到的所有特徵記為P,維度為d*n。

       記待查詢影象的特徵為q。

則利用點積計算待查詢和P的相似性得分:

    s是一個1*n的矩陣,其中每一個數可以看做是query object分別和每一個proposal的相似性得分。

        (所以以上過程可以看做是窮舉式的object proposals匹配方法)

       為了更高效地獲得與proposals的相似性,在本文中,作者將屬於同張影象的n個proposals的特徵通過k-mediods聚類於 t 個聚類中心。

       

       由公式可以看出,首先將屬於某個聚類中心的所有proposals的特徵進行加和,然後取平均,形成這個聚類中心的特徵。對該特徵進行L2-normalization,就可以得到fuzzy object 的特徵表示:o。

       一個聚類中心產生一個fuzzy object,將所有fuzzy object的特徵集合記為O,維度是d*t。

       為何要聚類?論文給出了聚類的效果,可以將比較相似的proposals歸為一種:


       通過之前求得的proposals特徵集合P,求一個矩陣H,使其滿足以下公式:

                

      proposal的特徵  =  幾個fuzzy object的特徵 * 稀疏的線性碼。

左邊的proposals特徵矩陣P:每一列代表了一個proposal的特徵

          右邊的fuzzy objects特徵矩陣O:每一列代表了一個fuzzy object的特徵

                     矩陣H中第i列代表了第i個proposal與所有fuzzyobject的線性關係。

      

      用圖的形式可以表示為:

     

    2. 匹配

       引入fuzzy object概念之後,待查詢object和proposal之間的相似性計算可以改寫為:


      query object和proposal的相似性得分  =  query object和fuzzy objects的相似性得分 * 相應稀疏的線性碼。

     從而,計算query object和某個proposal的相似性得分,只需計算和所有fuzzy object的相似性得分,再根據鄰近關係確定query object和這個proposal的相似性得分。比如在論文中,proposal的數量是300,而fuzzy object的數量是20,計算相似性的點積計算量可以明顯減少。

      待查詢object與影象 I 的相似性得分為:屬於該影象的n個proposals中,與待查詢object相似性得分最高的:


      資料集中的所有影象根據得分R進行排序(論文中貌似沒有提及這個排序的作用)。

   Fuzzy Objects Refinement

  1. intra-image fuzzy object

        即以上過程產生的fuzzy object。其融合的是屬於同一張影象的proposals。

    2. inter-image fuzzy object

為了讓fuzzy object加入區域性約束,進一步提高檢索準確率,將每一個fuzzy object:o作為偽查詢,檢索資料集中和它最相似的m個fuzzy object,接著進行加和取平均,表示為新的fuzzy object:


       該法比average query expansion(AQE)好的地方在於,不需要query參與計算,是一個線下計算過程,不會消耗多餘的檢索時間。而且還可以與query共同作用。

        注意與o最相似的m個fuzzy object可以來自資料集中不同的影象。

        此時,query和proposals的相似性計算公式為:


       其中只調整了o,H與之前保持一致。

    實驗
    proposals的大小調整為448*448輸入到VGG-16網路
    提取conv5_3特徵,feature map大小為28*28*512

    比較四種pooling方式:maxpooling、sumpooling、bilinearpooling、VLAD。
    其中VLAD的聚類中心數目為64。四種聚合的特徵經過PCA、白化、L2-normalization固定為512維。


    1. 與Exhaustive Object Proposals Matching(EOPM)的比較

    

        對於Fuzzy Objects Matching(FOM)方法,提出300個proposals再進行不同數量的fuzzy objects比較。

        由實驗結果可以看出,FOM方法在mAP上優於EFOM方法。

                                                FOM方法的mAP隨著fuzzy objects數量的增加而增加。

    2. 與其他加快匹配速度方法的比較

        主要與Representative Object Matching(ROM)和Sparse Coding Matching (SCM)兩種方法進行了比較。

       

        其中橫軸Complexity Ratio代表計算複雜度。每個方法的定義稍有不同,詳見paper。

        實驗結果說明,在相同的計算複雜度情況下,FOM的mAP優於其它方法。其原因是FOM的方法有其它方法不具有的區域性約束性質。

    3. Intra-imagefuzzy objects和Inter-imagefuzzy objects 方法比較

       實驗設定:每張影象提取300個proposals;聚類為20個fuzzy objects;neighborhood的數量m取20。 

      

       由實驗結果可以看出,Inter-image fuzzy objects的方法在兩個資料集上、四種聚合方法中表現的都優於Intra-image fuzzy objects方法

    4. 查詢擴充套件 - Average Query Expansion(AQE)

       將查詢影象和與其最相似的s個fuzzy objects的特徵進行取平均,作為新的查詢。


       和預想中的一致,AQE可以在一定程度上提高mAP。

    5. 與其它方法的對比


        由實驗結果可以看出,本文提出的FOM方法在mAP方面優於其它方法。

相關推薦

Efficient Object Instance Search Using Fuzzy Objects Matching

    作者提出了一種有效的目標例項檢索方法----Fuzzy Objects Matching (FOM)。    一般來說,例項檢索將query影象與資料集影象產生的眾多proposals進行

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

本文主要是記錄和簡義這個github專案的練習 裝置windows10 tensorflow1.10.0 原文github:點這裡 偶然發現的和我類似的文章還沒看 點這裡 首先我們知道,tensorflow官方是有一個物體檢測的API介面的。而我們今天要練習的專案就

Deep learning based Object Detection and Instance Segmentation using Mask R

A few weeks back we wrote a post on Object detection using YOLOv3. The output of an object detector is an array of bounding boxes around objects detected i

Object tracking papers (1): SINT--Siamese Instance Search for Tracking

Time: January 24th, 2018, the ninteenth week Weekly Summary: During this week, I sequentially read a paper about employing instance searc

論文筆記系列-Efficient Neural Architecture Search via Parameter Sharing

結構 obj 接收 論文 method objective 系列 其他 步驟 Summary 本文提出超越神經架構搜索(NAS)的高效神經架構搜索(ENAS),這是一種經濟的自動化模型設計方法,通過強制所有子模型共享權重從而提升了NAS的效率,克服了NAS算力成本巨大且耗時

Natural Language Processing for Fuzzy String Matching with Python

Fuzzy string search can be used in various applications, such as:A spell checker and spelling-error, typos corrector. For example, a user types “Missisaga”

Fast Order Search Using Yelp’s Data Pipeline and Elasticsearch

Since its inception in 2013, Yelp has grown its transactions platform to tens of millions of orders. With this growth, it’s become slow and cumberso

On The Buses II: Fuzzy String Matching

This is the second part of a series of posts about my pet data science project exploring the availability of transport across different areas of Manches

Faster-RCNN features for instance search(Python)Ubuntu配置

cd /retrieval-2016-deepvision-master gedit params.py          將其中第16行的params['fast_rcnn_path'] = '../faster-rcnn/'的路徑改為Faster-RCNN的路徑

[瘋狂Java]基礎類庫:Object、深拷貝、Objects工具類

1. Object類簡介:     1) 是Java所有型別的基類,如果一個自定義的類沒有extends顯示指定其父類則它預設繼承Object類;     2) 常用方法(通常需要根據需求覆蓋,Object本身對它們的定義極其簡單):          i. 相等判斷:

Weakly Supervised Instance Segmentation using Class Peak Response論文復現以及遇到的問題

摘要:使用影象級別標籤的弱監督例項分割,而不是昂貴的畫素級掩碼,仍然未被探索。在本文中,我們通過利用類峰值響應來啟用分類網路(例如掩碼提取)來解決這一具有挑戰性的問題。僅使用影象標籤監控,完全卷積方式的CNN分類器可以生成類響應圖,其指定每個影象位置處的分類置信度。我們觀

6D姿態估計從0單排——看論文的小雞篇——Learning 6D Object Pose Estimation using 3D Object Coordinates

math oos prev 文章內容 part mage inside segment dia 這篇文章內容是真的多,而且大段的文字,圖和公式都很少,看起來很枯燥。。。說白了就是把整個模型拆成555的125個部分,這樣一個像素點都扔進去隨機森林裏面訓練和匹配,然後查出來他最

[PureScript] Break up Expressions into Cases in PureScript using Simple Pattern Matching

match cti class -- ise pro array record else Pattern matching in functional programming languages is a way to break up expressions into i

insufficient permission for adding an object to repository database .git/objects

圖片 信息 進行 有時 當前 per 問題 研究 無法 1.出錯截圖: 有時候使用軟件項目管理系統github時候,會出現一些問題截圖如下: 2.出錯原因 從出錯的地方就知道是因為權限不足導致,回想一下,在鏈接遠程服務器時候,不小心切換為管理員權限進行

Structure Inference Network:Object Detection Using Scene-Level Context and Instance-Level Relationships筆記小結

sigmoid alt 識別 fas lin sca 回歸 全連接 大量 結構推理網絡:基於場景級與實例級目標檢測 原文鏈接:https://arxiv.org/abs/1807.00119 Yong Liu, Ruiping Wang, Shiguang Shan,

learning system tackles speech and object recognition, all at once: Model learns to pick out objects within an image, using spok

Unlike current speech-recognition technologies, the model doesn't require manual transcriptions and annotations of the examples it's trained on. Instead,

Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [32,176] milliseco

ise opts creat 需要 sha using tomcat cnblogs /dev/ 有一次,我啟動tomcat時,居然花費了33秒。我不理解為什麽一個新的tomcat,需要這麽久, 網上查找後,找到了一個解決方法。 # vim /usr/local/tomc

Selective Search for Object Recognition 論文筆記【圖片目標分割】

line 單個 介紹 images 分層 什麽 但是 如果 抽樣 這篇筆記,僅僅是對選擇性算法介紹一下原理性知識,不對公式進行推倒. 前言: 這篇論文介紹的是,如果快速的找到的可能是物體目標的區域,不像使用傳統的滑動窗口來暴力進行區域識別.這裏是使用算法從多個維度對找

TC Hangs when using quick search extended on win10 (1703)

around with sta sed ems bsp quick tro width https://ghisler.ch/board/viewtopic.php?t=47682 I recently updated windows 10 to the latest re

關於變量 Objects...objectsObject[] objects的區別

() public mage com cti stat div ack ucc 上一篇用到Objects...objects 和Object[] objects的遇到點小問題,於是我去做了個實驗,關於這兩個變量傳參的問題 代碼如下 package com.yck.t