人臉檢測:MTCNN的訓練步驟和樣本的處理,文字描述
阿新 • • 發佈:2018-12-14
2018年04月20日 21:46:50
BigCowPeking
閱讀數:335
<span class="tags-box artic-tag-box"> <span class="label">標籤:</span> <a data-track-click="{"mod":"popu_626","con":"MTCNN訓練"}" class="tag-link" href="http://so.csdn.net/so/search/s.do?q=MTCNN訓練&t=blog" target="_blank">MTCNN訓練 </a> <span class="article_info_click">更多</span></span> <div class="tags-box space"> <span class="label">個人分類:</span> <a class="tag-link" href="https://blog.csdn.net/wfei101/article/category/7014453" target="_blank">人臉檢測 </a> </div> </div> <div class="operating"> </div> </div> </div> </div> <article> <div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post"> <div class="article-copyright"> 版權宣告:本文為博主原創文章,轉載請註明出處,謝謝。 https://blog.csdn.net/wfei101/article/details/80024499 </div> <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-e2445db1a8.css"> <div class="htmledit_views"> <p style="background-color:rgb(255,255,255);">採用資料集:</p><p style="background-color:rgb(255,255,255);">人臉檢測和人臉框迴歸:<a href="http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/" rel="nofollow" target="_blank">WIDER_FACE</a></p><p style="background-color:rgb(255,255,255);">特徵點標定:<a href="http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html" rel="nofollow" target="_blank">Celeba</a></p><p style="background-color:rgb(255,255,255);">P-net:</p><p style="background-color:rgb(255,255,255);">P-net的任務是人臉檢測和人臉框迴歸,所以該階段僅需要使用WIDER FACE資料集。為什麼沒帶特徵點標定任務?P-net輸入12*12的影象,影象太小,不適合做特徵點標定,<span style="color:#ff0000;">我個人理解是loss函式根據人臉帶不帶關鍵點來訓練的;其實widerface和celeb都是用了,第一階段到第三階段都使用;</span></p><p style="background-color:rgb(255,255,255);">(1)取候選窗,生成訓練圖片</p><p style="background-color:rgb(255,255,255);">下載的原始資料集並不能直接用於訓練,而是在原始影象上擷取候選框影象。隨機擷取候選框,根據IoU計算候選框所屬類別,並將其resize到12*12大小,將resize後的候選框影象儲存到對應的類別資料夾下。每個類別生成一個txt文件,存放圖片路徑以及對應的候選框位置資訊。</p><p style="background-color:rgb(255,255,255);">根據IoU計算選擇的候選框是屬於negative(IoU<0.3)、positive(IoU>0.65)、part(0.4<IoU<0.65),三者的比例為3:1:1。其中positive和negative用於人臉檢測,positive和part用於人臉框迴歸。</p><p style="background-color:rgb(255,255,255);">(2)生成imdb,訓練資料</p><p style="background-color:rgb(255,255,255);">使用positive和negative類別中的影象生成人臉檢測所需的資料cls.imdb</p><p style="background-color:rgb(255,255,255);">使用positive和part類別中的影象生成人臉框迴歸所需的資料roi.imdb</p><p style="background-color:rgb(255,255,255);">(3)構建網路和solver,開始訓練</p><p style="background-color:rgb(255,255,255);">(4)使用生成的訓練模型,生成難例樣本,繼續訓練下一階段的網路;都是微調網路;</p><div>P-net網路中是沒有fc層的,不需要固定大小,R-net和O-net都是有fc層的,訓練的輸入必須的固定的;</div><p><br></p><p>測試時候:</p><p>1:做不同的Scale,先第一階段和第二階段的輸出推薦視窗,只是分類和框的迴歸;在第三階段之後才開始輸出定位的結果;</p> </div> </div> <script> (function(){ function setArticleH(btnReadmore,posi){ var winH = $(window).height(); var articleBox = $("div.article_content"); var artH = articleBox.height(); if(artH > winH*posi){ articleBox.css({ 'height':winH*posi+'px', 'overflow':'hidden' }) btnReadmore.click(function(){ articleBox.removeAttr("style"); $(this).parent().remove(); }) }else{ btnReadmore.parent().remove(); } } var btnReadmore = $("#btn-readmore"); if(btnReadmore.length>0){ if(currentUserName){ setArticleH(btnReadmore,3); }else{ setArticleH(btnReadmore,1.2); } } })() </script> </article>