小白參加EmotiW 2016

2021-07-16 03:10:42 字數 1692 閱讀 8790

#pragma comment(lib,"libfacedetect.lib")

#include 「facedetect-dll.h」

mat gray, smallimg( cvround (img.rows/scale), cvround(img.cols/scale), cv_8uc1 );//將縮小,加快檢測速度

cvtcolor( img, gray, cv_bgr2gray );//轉換成灰度影象

resize( gray, smallimg, smallimg.size(), 0, 0,inter_linear );//將尺寸縮小到1/scale,用線性插值

equalizehist( smallimg, smallimg );//直方圖均衡

int * presults = null;

presults = facedetect_multiview_reinforce((unsigned char*)(smallimg.ptr(0)), smallimg.cols, smallimg.rows, smallimg.step,1.2f, 5, 24);

short * p = ((short*)(presults+1))+6*i;

int x = p[0];

int y = p[1];

int w = p[2];

int h = p[3];

int neighbors = p[4];

int angle = p[5];

其次就是選擇採用什麼特徵去識別了,師兄開始用的是lbp-hf,效果並不是特別好。於是我們在網上又找了hog行人檢測的相關**,將其特徵計算部分移植到我們這裡來。經過訓練再測試,發現樣本大小128*128與64*64的識別率差不多高,於是最後採用了64*64的樣本,速度還快些。

hog的使用也較為簡單,在opencv裡的**很簡潔:

hogdescriptor hog(size(64,64),size(16,16),size(8,8),size(8,8),9);//hog檢測器,用來計算hog描述子的

int descriptordim;//hog描述子的維數,由大小、檢測視窗大小、塊大小、細胞單元中直方圖bin個數決定

mat src = image_r;

vector

descriptors;//hog描述子向量

hog.compute(src,descriptors,size(8,8));//計算hog描述子,檢測視窗移動步長(8,8)

分類器我們採用了svm和randomforest,opencv裡都有現成的函式,但是在設定引數方面,由於缺少先行知識,我們有一些疑問無法解決,詢問老闆也說讓我們自己嘗試,但是隨機森林的訓練時間較長,乙個乙個數值的去試也不太現實,我們也就只能大致用幾個數嘗試了一下,效果提公升不大。

昨天將最終的**也提交了上去,今天來回顧這幾個月(從今年四五月份開始),特別是七月份這乙個月的努力,也是非常感謝導師給了這次機會,讓我們能在本科二年級參加這種國際化的比賽;感謝幾位師兄的幫助,我們才能很好的從一無所知的小白,到對模式識別有了一定的了解,並去參加了emotiw 2016的比賽。還有就是兩位隊友了,三個人利用暑假留在學校,全心全意做了乙個月的比賽,去和世界各個大學、實驗室裡的頂尖人物進行同台競技,也第一次寫了英文**,其實真的是一次大學裡非常難忘的經歷。

扯這麼多,就是對這次比賽做乙個小小的總結,也希望能成為自己在本專業應用方面的乙個良好開端。

小白Python筆記(2)

print objects,sep,end,file,flush 方法,引數objects表示多個輸出的物件 引數sep表示多個輸出物件直接的分隔符,預設為1個空格 引數end表示輸出物件結束符,預設為換行符 引數file表示資料流輸出到的檔案 引數flush表示資料流輸出至檔案時是否緩衝,預設為f...

小白日記2

配置10.1.0.100和10.1.12.100的互訪 配置環境 核心交換機10.1.0.254 1 首先可以根據word查詢對應網段所在的acl組 10.1.0網段 ip access group one out in 組名為one out 10.1.12網段 ip access group tw...

linux grep用法小白梳理(2)

1.列印模式匹配所位於的字元或位元組偏移 echo gnu is not unix grep b o not 7 not 一行中字串的字元偏移是從該行的第乙個字,符開始計算,起始值是0。在上面的例子中,not 的偏移值是7 也就是說,not是從該行的第7個字元開始的,即 gnu is not uni...