YOLOv2 項目中在檢測多類情況下只輸出其中一類 2018-05-27

在訓練yolo模型中肴熏,本作者采用了Yolov2的預訓練模型來訓練了門蛙吏,車励烦,行人,建筑物屉栓,樹這五個類別,而在我們sence.name中我們門是第一類(0),車是第二類(1),行人是第三類(2)酬土,建筑物是第四類(3),樹是第五類(4)屈呕。但是,由于項目要求岳守,本人只想采用得到只有行人的boundingbox作為網(wǎng)絡的輸出而不是訓練的五類,有什么方法能夠?qū)崿F(xiàn)呢?

首先,第一個方法當然是你可以拿Yolov2的官方提供的預訓練模型進行行人的訓練,這樣模型只會檢測到行人,而在網(wǎng)絡的最后會輸出行人的boundingbox。

其次外傅,COCO數(shù)據(jù)集訓練(包含行人棚辽,行人作為第一類)联逻,可以改動想改配置文件來實現(xiàn)只輸出一類锨推,此方法不做說明锦担。

最后,但是由于本人時間有限磁椒,所以想在原來訓練五類的模型基礎(chǔ)上得到行人(這里請注意堤瘤,行人在我訓練模型的名字列表中是第三類,其序號是2)如果用上面COCO數(shù)據(jù)集中的方法是行不通的浆熔,但是如果我只想得到行人的boundingbox本辐,那該怎么辦呢?

注意:在Yolov2主文件中找到image.c或detect.c(此處作者可能與其他人的文件命名不一樣)文件医增,并在該文件下的draw_detectiongs函數(shù)里面做相應的修改慎皱,修改如下:

(1)在第一個for循環(huán)中加入以下代碼:

if (strcmp(names[class], "person") !=0 )

{

continue;

}

(2)在第二個for循環(huán)中加入以下代碼:

if(class != 2)

{

continue;

}

image.c:

void draw_detections(image im, int num, float thresh, box *boxes, float **probs, float **masks, char **names, image **alphabet, int classes)

{

? ? int i;

? ? for (i = 0; i < num; ++i) {

? ? ? ? int class = max_index(probs[i], classes);

? ? ? ? float prob = probs[i][class];


????? if (strcmp(names[class], "person") !=0 )

????? {

????????? continue;

????? }

??????? 或


??? if(class != 2)

????{

????????continue;

????}

if (prob > thresh) {

? ? ? ? ? ? int width = im.h * .006;

? ? ? ? ? ? if (0) {

? ? ? ? ? ? ? ? width = pow(prob, 1. / 2.) * 10 + 1;

? ? ? ? ? ? ? ? alphabet = 0;

? ? ? ? ? ? }

? ? ? ? ? ? int offset = class * 123457 % classes;

? ? ? ? ? ? float red = get_color(2, offset, classes);

? ? ? ? ? ? float green = get_color(1, offset, classes);

? ? ? ? ? ? float blue = get_color(0, offset, classes);

? ? ? ? ? ? float rgb[3];

? ? ? ? ? ? rgb[0] = red;

? ? ? ? ? ? rgb[1] = green;

? ? ? ? ? ? rgb[2] = blue;

? ? ? ? ? ? box b = boxes[i];

? ? ? ? ? ? int left? = (b.x - b.w / 2.) * im.w;

? ? ? ? ? ? int right = (b.x + b.w / 2.) * im.w;

? ? ? ? ? ? int top? = (b.y - b.h / 2.) * im.h;

? ? ? ? ? ? int bot? = (b.y + b.h / 2.) * im.h;

? ? ? ? ? ? if (left < 0) left = 0;

? ? ? ? ? ? if (right > im.w - 1) right = im.w - 1;

? ? ? ? ? ? if (top < 0) top = 0;

? ? ? ? ? ? if (bot > im.h - 1) bot = im.h - 1;

? ? ? ? ? ? draw_box_width(im, left, top, right, bot, width, red, green, blue);

? ? ? ? ? ? if (alphabet) {

? ? ? ? ? ? ? ? image label = get_label(alphabet, names[class], (im.h * .03) / 10);

? ? ? ? ? ? ? ? draw_label(im, top + width, left, label, rgb);

? ? ? ? ? ? ? ? free_image(label);

? ? ? ? ? ? }

? ? ? ? ? ? if (masks) {

? ? ? ? ? ? ? ? image mask = float_to_image(14, 14, 1, masks[i]);

? ? ? ? ? ? ? ? image resized_mask = resize_image(mask, b.w * im.w, b.h * im.h);

? ? ? ? ? ? ? ? image tmask = threshold_image(resized_mask, .5);

? ? ? ? ? ? ? ? embed_image(tmask, im, left, top);

? ? ? ? ? ? ? ? free_image(mask);

? ? ? ? ? ? ? ? free_image(resized_mask);

? ? ? ? ? ? ? ? free_image(tmask);

? ? ? ? ? ? }

? ? ? ? }

? ? }

}

即使此處添加了一個類別的判斷其是否為行人,但是模型做檢測時是檢測出了五類叶骨,只不過顯示其中的行人的boundingbox而已茫多,這樣做檢測的精度當然沒有純訓練行人的精度高,所以如果有充分時間就不建議這樣做忽刽,但是如果你想偷懶就可以嘗試一下這種方式天揖。

本篇文章僅代表作者本人的觀點,如有不對的地方請在下方留言跪帝,謝謝今膊!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市伞剑,隨后出現(xiàn)的幾起案子万细,更是在濱河造成了極大的恐慌,老刑警劉巖纸泄,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赖钞,死亡現(xiàn)場離奇詭異,居然都是意外死亡聘裁,警方通過查閱死者的電腦和手機雪营,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衡便,“玉大人献起,你說我怎么就攤上這事刊驴√槌蓿” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長氮块。 經(jīng)常有香客問我夹孔,道長眉反,這世上最難降的妖魔是什么私蕾? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮厌殉,結(jié)果婚禮上食绿,老公的妹妹穿的比我還像新娘。我一直安慰自己公罕,他們只是感情好器紧,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著楼眷,像睡著了一般铲汪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上罐柳,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天掌腰,我揣著相機與錄音,去河邊找鬼硝清。 笑死,一個胖子當著我的面吹牛转晰,可吹牛的內(nèi)容都是我干的芦拿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼查邢,長吁一口氣:“原來是場噩夢啊……” “哼蔗崎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起扰藕,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤缓苛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后邓深,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體未桥,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年芥备,在試婚紗的時候發(fā)現(xiàn)自己被綠了冬耿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡萌壳,死狀恐怖亦镶,靈堂內(nèi)的尸體忽然破棺而出日月,到底是詐尸還是另有隱情,我是刑警寧澤缤骨,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布爱咬,位于F島的核電站,受9級特大地震影響绊起,放射性物質(zhì)發(fā)生泄漏精拟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一勒庄、第九天 我趴在偏房一處隱蔽的房頂上張望串前。 院中可真熱鬧,春花似錦实蔽、人聲如沸荡碾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽坛吁。三九已至,卻和暖如春铐尚,著一層夾襖步出監(jiān)牢的瞬間拨脉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工宣增, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留玫膀,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓爹脾,卻偏偏與公主長得像帖旨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子灵妨,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

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

  • 超高速音視頻編碼器用法: ffmpeg [options] [[infile options] -i infile...
    吉兇以情遷閱讀 4,586評論 0 4
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些閱讀 2,027評論 0 2
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,742評論 0 38
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程解阅,因...
    小菜c閱讀 6,358評論 0 17
  • 南方濕濕的天氣。 雨罷泌霍,夜市的人多了起來货抄,在攢動的人潮里,明快的節(jié)奏嘲弄著耳朵朱转,牽絆著腳步蟹地。 幾把四弦琴,一...
    字幕點點點閱讀 257評論 6 8