资源简介

这个是BING算法纯检测部分的实现,训练好的模型已经在里面了。只需要修改你自己图片的路径就可以使用。 工程上使用大概20FPS。

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “FilterBING.h“
//#include “CmShow.h“


void FilterBING::update(CMat &w1f){
CV_Assert(w1f.cols * w1f.rows == D && w1f.type() == CV_32F && w1f.isContinuous());
float b[D] residuals[D];
memcpy(residuals w1f.data sizeof(float)*D);
for (int i = 0; i < NUM_COMP; i++){
float avg = 0;
for (int j = 0; j < D; j++){
b[j] = residuals[j] >= 0.0f ? 1.0f : -1.0f;
avg += residuals[j] * b[j];
}
avg /= D;
_coeffs1[i] = avg _coeffs2[i] = avg*2 _coeffs4[i] = avg*4 _coeffs8[i] = avg*8;
for (int j = 0; j < D; j++)
residuals[j] -= avg*b[j];
UINT64 tig = 0;
for (int j = 0; j < D; j++)
tig = (tig << 1) | (b[j] > 0 ? 1 : 0);
_bTIGs[i] = tig;
}
}

void FilterBING::reconstruct(Mat &w1f){
w1f = Mat::zeros(8 8 CV_32F);
float *weight = (float*)w1f.data;
for (int i = 0; i < NUM_COMP; i++){
UINT64 tig = _bTIGs[i];
for (int j = 0; j < D; j++)
weight[j] += _coeffs1[i] * (((tig >> (63-j)) & 1) ? 1 : -1);
}
}

// For a W by H gradient magnitude map find a W-7 by H-7 CV_32F matching score map
// Please refer to my paper for definition of the variables used in this function
Mat FilterBING::matchTemplate(const Mat &mag1u){
const int H = mag1u.rows W = mag1u.cols;
const Size sz(W+1 H+1); // Expand original size to avoid dealing with boundary conditions
Mat_ Tig1 = Mat_::zeros(sz) Tig2 = Mat_::zeros(sz);
Mat_ Tig4 = Mat_::zeros(sz) Tig8 = Mat_::zeros(sz);
Mat_ Row1 = Mat_::zeros(sz) Row2 = Mat_::zeros(sz);
Mat_ Row4 = Mat_::zeros(sz) Row8 = Mat_::zeros(sz);
Mat_ scores(sz);
for(int y = 1; y <= H; y++){ 
const byte* G = mag1u.ptr(y-1);
INT64* T1 = Tig1.ptr(y); // Binary TIG of current row
INT64* T2 = Tig2.ptr(y);
INT64* T4 = Tig4.ptr(y);
INT64* T8 = Tig8.ptr(y);
INT64* Tu1 = Tig1.ptr(y-1); // Binary TIG of upper row
INT64* Tu2 = Tig2.ptr(y-1);
INT64* Tu4 = Tig4.ptr(y-1);
INT64* Tu8 = Tig8.ptr(y-1);
byte* R1 = Row1.ptr(y);
byte* R2 = Row2.ptr(y);
byte* R4 = Row4.ptr(y);
byte* R8 = Row8.ptr(y);
float *s = scores.ptr(y);
for (int x = 1; x <= W; x++) {
byte g = G[x-1];
R1[x] = (R1[x-1] << 1) | ((g >> 4) & 1);
R2[x] = (R2[x-1] << 1) | ((g >> 5) & 1);
R4[x] = (R4[x-1] << 1) | ((g >> 6) & 1);
R8[x] = (R8[x-1] << 1) | ((g >> 7) & 1);
T1[x] = (Tu1[x] << 8) | R1[x];
T2[x] = (Tu2[x] << 8) | R2[x];
T4[x] = (Tu4[x] << 8) | R4[x];
T8[x] = (Tu8[x] << 8) | R8[x];
s[x] = dot(T1[x] T2[x] T4[x] T8[x]);
}
}
Mat matchCost1f;
scores(Rect(8 8 W-7 H-7)).copyTo(matchCost1f);
return matchCost1f;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6239  2015-12-16 16:30  Bingobjectness\objectness\Filter.png

     文件       2796  2015-12-19 11:14  Bingobjectness\objectness\FilterBING.cpp

     文件       1966  2014-04-11 18:28  Bingobjectness\objectness\FilterBING.h

     文件        998  2015-12-19 10:45  Bingobjectness\objectness\Main.cpp

     文件       9430  2015-12-19 11:20  Bingobjectness\objectness\objectness.cpp

     文件       3287  2015-12-19 11:16  Bingobjectness\objectness\objectness.h

     文件       5643  2015-12-19 10:55  Bingobjectness\objectness\objectness.vcxproj

     文件       1793  2015-12-19 10:55  Bingobjectness\objectness\objectness.vcxproj.filters

     文件        165  2015-11-18 15:10  Bingobjectness\objectness\objectness.vcxproj.user

     文件        129  2015-12-15 15:25  Bingobjectness\objectness\ObjNessB2W8MAXBGR.idx

     文件        273  2015-12-15 15:25  Bingobjectness\objectness\ObjNessB2W8MAXBGR.wS1

     文件        241  2015-12-15 15:25  Bingobjectness\objectness\ObjNessB2W8MAXBGR.wS2

     文件       1028  2015-12-15 14:30  Bingobjectness\objectness\stdafx.cpp

     文件       2733  2015-12-19 11:18  Bingobjectness\objectness\stdafx.h

     文件       2561  2015-12-19 11:20  Bingobjectness\objectness\ValStructVec.h

     文件   70713344  2015-12-19 11:28  Bingobjectness\objectness.sdf

     文件        952  2015-12-16 16:08  Bingobjectness\objectness.sln

    ..A..H.     70656  2015-12-19 11:28  Bingobjectness\objectness.v12.suo

     目录          0  2015-12-19 11:29  Bingobjectness\objectness\boxes

     目录          0  2015-12-19 11:29  Bingobjectness\objectness\x64

     目录          0  2015-12-19 11:20  Bingobjectness\objectness

     目录          0  2015-12-19 11:29  Bingobjectness\x64

     目录          0  2015-12-19 11:28  Bingobjectness

----------- ---------  ---------- -----  ----

             70824234                    23


评论

共有 条评论