COCO2017「新生」奪冠戰隊感言:夢想還是要有的,萬一實現了呢?

ImageNet曾作為計算機視覺領域的最受關注的比賽,自2010年開賽以來,其數據量大、比賽類別多,一直吸引國際知名院校和企業參賽。商湯科技也曾參加ImageNet大賽中包攬多項冠軍,並在ImageNet 2015年視頻通用物體檢測競賽中取得檢測數量、檢測準確率兩項世界第一,成為首個奪冠的中國企業。在ImageNet 2016年也一舉攬下物體檢測、視頻物體檢測和場景分析三項冠軍。

在ImageNet停辦後,MS COCO(Microsoft Common Objects in Context,常見物體圖像識別)比賽的關注度迅猛增加,成為了全球計算機視覺領域最受關注和最權威的比賽之一。COCO 2017是舉辦的第三屆競賽,本次大賽更是聚焦了detection 21支團隊,segmentation 9支團隊參賽,其參賽團隊的數量和競賽的複雜程度不亞於ImageNet大賽。

在今年ICCV大會期間,代表商湯參賽的劉樞、亓魯、秦海芳和Mentor石建萍等成員,在COCO競賽Workshop中取得了兩項比賽的Segmentation冠軍及Detection亞軍的好成績。此前在7月 CVPR 2017期間,劉樞及其團隊與商湯實習生潘新鋼、李曉瀟、張熠摘取了四項賽事的桂冠,這些計算機視覺領域的前沿技術,未來將廣泛應用在自動駕駛等領域,具有非常強的實用性。

作為COCO 2017 商湯戰隊的成員,在大賽來臨之際劉樞及其團隊成員做了哪些準備?在競爭激烈的標杆比賽中拿下好成績,這支“新生”團隊又有哪些難忘的經歷?作為團隊leader劉樞已經準備好他的故事,分享商湯戰隊奪冠的奧秘,大家快來聽聽吧。

COCO2017「新生」奪冠戰隊感言:夢想還是要有的,萬一實現了呢?

劉樞,商湯科技實習生,現就讀於香港中文大學博士四年級。研究方向是“物體識別與分割”。到目前為止,三年期間,在CVPR和ICCV兩大計算機視覺頂級會議上面共發表學術論文5篇,其中3篇為第一作者(含一篇OralPresentation,錄取率低於5%)。曾受邀作為頂級學術會議NIPS和ICCV的審稿人。今年又率隊參加MS COCO 2017競賽,獲得實例分割任務冠軍,物體檢測任務亞軍,LSUN 2017實例分割任務冠軍。

Q1:摘取了兩項比賽的一個冠軍及一個亞軍的好成績,今年COCO競賽的情況,你們做了哪些準備工作?比賽的情況能否簡單介紹一下?

劉樞:除了ImageNet以外,COCO競賽應該算是最大規模的比賽了,堪稱行業標杆級的競賽,代表圖像識別的最高水平。每年COCO的比賽任務在不斷變化,之前只設有物體識別和實例分割,其中,物體識別是比較傳統的任務,實例分割是將每個物體單獨分割出來,難度更大。在比賽任務上,去年增加了關鍵點檢測,今年又增加了stuff(相當於場景理解)的任務。在參賽規模上,之前實例分割只有2支隊伍,今年增加到9支;detection之前每年最多10支隊伍,今年猛增到21支,漲幅很大。總之,COCO競賽每年的變化都不少。

整個比賽的週期差不多要4、5個月。我們從今年5月份開始準備,7月份的CVPR的時候,我們把基礎框架baseline做得差不多了,從這個節點之後,我們開始做一些這次比賽用到的新技術。因為很多東西之前是沒有的,我們需要花很多時間從頭開始搭建。

開賽之前,我們也survey了很多比賽用到的trick,瞭解到各種技術,然後讓組員們通過這些任務實現技術點,把一些trick的東西找回來。因為當時我們並沒有一套現成state-of-the-art的code可以用,基本是從零開始。在準備的前期我們做了些復現的工作,比如之前提出的Mask-RCNN、FPN,這是前期必要的準備。當時的想法是無論怎樣,我們要先把刀磨快,至少跟別人站在同一起跑線上,這樣才能將比賽做得更好。

Q2:來商湯實習主要負責的哪部分的工作?和比賽中努力的方向有哪些關聯?

劉樞:我在商湯segmentation group實習,現在做一些技術儲備的工作。像COCO這樣的競賽需要我們自己搭建一套東西。比如別人發過的paper,沒有開源的,但效果比較好可以先搭出來,驗證一下。這就相當於一個很不錯的出發點,在這個基礎的系統上再去做改動。

我們一般先看結果,看在現有的網絡或系統上運行是否有問題,針對這些問題來思考如何改進,設計出一個新的網絡或者系統之後再去train,這樣不斷迭代 。

Q3:你認為COCO兩項比賽中拿下冠、亞軍的關鍵要素是什麼?比賽過程中有沒有難忘的故事?

劉樞:起初,我對公司內部的框架並不是很熟,開始復現FPN檢測框架的時候,結果一直偏低,卡在這裡五六天沒有進展,最後才發現有些默認參數和之前外部的開源框架是不一樣的,想當然地用錯了,因為理解上的偏差導致用錯了工具。

有一次在搭建整個系統的過程中,當時我們復現的結果始終和原結果差一點,反覆讀了很多遍code,依舊找不出原因。那幾天腦子裡不停地在思考這件事,可能因為深陷其中吧,在睡夢中我還在分析和思考。很意外的是,竟然按照夢裡的線索找到了出錯代碼的地方,並且很快就揭開謎底,雖然“這種方式”有些難以置信,但回想起來系統的搭建,如果很微小的地方出了偏差,沒有及時get到問題所在,都會影響到整個進度和結果。比如每一個像素是否標記正確,縮小或放大是否準確,一個像素的偏差都會影響到實例分割的結果,所以需要非常細心、準確。

還有一件趣事,那時離比賽結束還有三四周吧,我們平時做實驗用的模型比較小,方便快速迭代和驗證,最後我們才會用大模型去train以達到最好的結果。在一開始做小模型實驗的時候,我就夢到了“今年冠軍”的結果46.6這個數字,在最後做模型的融合,我們做到了46.7,正好比夢到的數字高了0.1。當時模型的結果出來之後,我們正好以46.7這個數字拿下了冠軍。

COCO2017「新生」奪冠戰隊感言:夢想還是要有的,萬一實現了呢?

“宇宙中心”的UCenter團隊在比賽中拿下Segmentation冠軍

COCO2017「新生」奪冠戰隊感言:夢想還是要有的,萬一實現了呢?

“宇宙中心”的UCenter團隊在比賽中拿下Detection亞軍

Q4:在搭建系統過程中,需要提升或改進的問題是怎麼找到的?如何去判斷?

劉樞:我想這主要還是看數據吧。比如在不同類型的數據上我們會分析看到的結果,如果小物體的效果不好,那就要想為什麼小物體效果不好。是因為圖的原因,還是因為某些地方沒處理到位?或者說層太深導致一些小的signal沒有了?有些類效果不好的話,是不是sample的訓練數據量太少,還是因為其他,等等。

總體來說判斷的方法分為兩種。第一看數據,不同類別的數據,有共同的性質,比如大小。找到某種屬性一類的物體,如果它的performance比較低的話,可以針對這種屬性去提升效果。第二就是要找規律,找一些結構上的缺陷,再針對這些規律去提升。

Q5:“新生”團隊取得了好成績,作為這個組的leader如何帶領團隊奪魁?有何妙計與我們分享?

劉樞:發現問題及時改進。某些情況下,針對遇到的問題要第一時間改進,當新方法將效果處理特別好的時候,或者說generally對每一類做的還不錯,在這個過程中自己和團隊便得到提升,只不過具體做法可能不同,但效果和目的是一樣的。

就我個人而言,因為之前嘗試性地參加過COCO的比賽,自己也吃過虧,所以現在特別嚴謹。再加上實例分割要求每個像素點都要對上,所以讓團隊成員在很多地方都會特別注意,反覆確認,甚至把網絡內部的中間結果一個一個打出來,看每個位置對應的是否正確。

我們的隊伍相對經驗較少,按照我的經驗,當時把每個點都拆的很散,不同的功能點,提前讓成員們把後面要用到的東西都做了,完成之後我們直接對接,這樣確保整體進度不受影響。

包括我們最後時間進度的把控,在做模型融合效果提升方面,基本和計劃保持一致,作為leader我也是第一次帶人,成員們雖然沒有經驗,但都能很出色的完成,我很欣慰。

Q6:比賽過程中有沒有印象較為深刻的瞬間? 如何看待這場比賽?

劉樞:我們當時只知道自己的結果和去年的冠軍的結果,大家相互之間是不知道成績的,在比賽結束前一兩個月左右,我們用小模型的結果就已經比他們(去年冠軍)用大模型的結果高不少,且比我們搭出來的baseline也高很多點。根據去年和前年比賽的結果來看漲幅也不大,尤其是在檢測那部分,差不多隻有4、5個點的漲幅,我們在一個月前就比去年冠軍高了不少,很開心,覺得這次比較穩了。

但後來令我驚訝的是今年和去年的相比漲幅很大,大家的結果做的都很高。我覺得原因在於,今年有一些比較好的技術出來,比如Facebook提出的MaskR-CNN和FPN,包括MSRA也提出了一些比較好的新改進方法,所以這些新方法使今年比去年的performance高很多,由此可以看到CV這個領域是在高速發展中,技術迭代非常快,在大家的認可中,還是比較有前途的。

Q7:如何評價整個COCO比賽?以及你們組的表現?

劉樞:對於我們組的表現我很滿意,今年的競爭實在太激烈了。MSRA本來是兩屆冠軍,facebook有愷明和Ross這個兩個神一般的人物存在,加上我們自己的經驗並不豐富,所以當時得知有這兩個隊參賽,我覺得我們團隊能取得第二的成績就很不錯了,結果我們超過了他們兩支團隊還取得了第一,真心覺得太不容易了。從無到有的這個過程,我們都是一步一步走過來,中間有很多不易的地方,每個人都犧牲了很多來為比賽付出,有時候想想非常暖心。

Q8:對於想參加比賽的小夥伴還有在商湯的實習生們傳授下經驗?

劉樞:雖然傳奇人物很多,而且他們一直都是很強的隊伍。我們只是一個經驗很少的小規模團隊且戰勝了他們,所以說這就告訴大家:夢想還是要有的,萬一實現了呢?

另外,平時做事踏實、仔細、嚴謹一些,還是很重要的。我們比賽最後拼的是performance,我們做的東西是不是真的有效果這很重要,而在實現過程中很可能因為極小的問題對結果產生很大影響。就比賽本身而言,如果要參賽最好做些新東西,因為不一樣,所以大家可能才會記住,機器和硬件的保障也是必不可少。


分享到:


相關文章: