computer-aided colorectal tumor classification in nbi endoscopy using cnn features @ fcv2016

28
Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features Toru Tamaki, Shoji Sonoyama, Tsubasa Hirakawa, Bisser Raytchev, Kazufumi Kaneda, Tetsushi Koide, Shigeto Yoshida, Hiroshi Mieno and Shinji Tanaka

Upload: toru-tamaki

Post on 14-Apr-2017

101 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Computer-AidedColorectalTumorClassificationinNBIEndoscopyUsing

CNNFeatures

ToruTamaki,ShojiSonoyama,Tsubasa Hirakawa,BisserRaytchev,KazufumiKaneda,Tetsushi Koide,Shigeto Yoshida,HiroshiMieno and

ShinjiTanaka

Page 2: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

http://www.sciencekids.co.nz/pictures/humanbody/heartsurfaceanatomy.html

Page 3: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

http://sozai.rash.jp/medical/p/000154.htmlhttp://sozai.rash.jp/medical/p/000152.html

http://medical.toykikaku.com/身体のしくみ/腸/http://www.sciencekids.co.nz/pictures/humanbody/humanorgans.html

Rectum

ColoncancerRectalcancer

Colorectalcancer

Page 4: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Colorectal Cancer & Endoscopic Examinationp Over50,000death/yearinJapan

肝臓

乳房

大腸

膵臓

前立腺

0

20000

40000

60000

80000

1970 1980 1990 2000 2010

肝臓

前立腺

大腸

膵臓

乳房 (女性)

0

20000

40000

60000

80000

100000

120000

140000

1970 1980 1990 2000 2010

長期的傾向

z 罹患数、死亡数とも胃がんと肝臓がん 順位が下がり、肺がんと大腸がん 順位が上がっていま

す。

z 罹患数 、前立腺がんと女性乳がん 増加が顕著です。

【まとめ】 z 2014 年予測値と比べて罹患数が増加した要因 、高齢化とがん登録精度 向上が考えられま

す。

z 罹患数で 大腸、肺、前立腺がんが、死亡数で 大腸がんが順位を上げました。

z 罹患、死亡とも胃がんが順位を下げました。

z 大腸、肺がん 罹患数 増加 高齢化(高齢化 影響を除くと大腸 横 い、肺 男性で減少)

影響が高いと考えられます。

z 前立腺がん 増加 、合わせて PSA 検診 普及が寄与していると考えられます。

z 胃がん 高齢化 影響を除くと罹患数・死亡数 減少傾向ですが、高齢化 影響で増加また 横

い(他 増加が上回るため順位が下がる)です。

【解釈 注意点】 z 予測精度 主要部位 5 年間 予測について、実測値と比較することで検証されています。

z 予測に 誤差が伴います(統計学的なも +予測不能な要因)。

z 予防危険因子 動向 、過去 罹患率、死亡率 変化に表れている部分 反映されていると考え

られますが、将来 変化など 考慮していません。

z 検診 動向などによって変動があり得ます(特に前立腺がん 罹患)。

<報道関係から お問い合わせ先>

国立研究開発法人 国立がん研究センター 〒104-0045 東京都中央区築地 5-1-1

企画戦略局 広報企画室

TEL: 03-3542-2511(代表) FAX: 03-3542-2545 E-mail: ncc-admin @ncc.go.jp

罹患数 死亡数

*乳房(女性) データ 2003 年以降

http://www.ncc.go.jp/jp/information/press_release_20150428.html

colorectalliver

pancreas

breast

prostate

stomachlung

Mortality in 2015

NBIsystem

Endoscope Colonsurface

magnification

よつばクリニック ブログhttp://yotsuba-clinic.jp/WordPress/?p=63

1分30秒 全大腸内視鏡挿入 無痛・水浸法 https://www.youtube.com/watch?v=40L-y9rNOzw

Page 5: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Colorectal Cancer & Endoscopic Examinationp Over50,000death/yearinJapan

EndoscopicExaminationwithNarrowBandImaging(NBI)

p Diagnosebasedontheenhancedmicro-vesselstructure

TypeA

TypeB

TypeC

1

2

3

NBImagnificationfindings

Norm

alAd

vanced

Cancer

肝臓

乳房

大腸

膵臓

前立腺

0

20000

40000

60000

80000

1970 1980 1990 2000 2010

肝臓

前立腺

大腸

膵臓

乳房 (女性)

0

20000

40000

60000

80000

100000

120000

140000

1970 1980 1990 2000 2010

長期的傾向

z 罹患数、死亡数とも胃がんと肝臓がん 順位が下がり、肺がんと大腸がん 順位が上がっていま

す。

z 罹患数 、前立腺がんと女性乳がん 増加が顕著です。

【まとめ】 z 2014 年予測値と比べて罹患数が増加した要因 、高齢化とがん登録精度 向上が考えられま

す。

z 罹患数で 大腸、肺、前立腺がんが、死亡数で 大腸がんが順位を上げました。

z 罹患、死亡とも胃がんが順位を下げました。

z 大腸、肺がん 罹患数 増加 高齢化(高齢化 影響を除くと大腸 横 い、肺 男性で減少)

影響が高いと考えられます。

z 前立腺がん 増加 、合わせて PSA 検診 普及が寄与していると考えられます。

z 胃がん 高齢化 影響を除くと罹患数・死亡数 減少傾向ですが、高齢化 影響で増加また 横

い(他 増加が上回るため順位が下がる)です。

【解釈 注意点】 z 予測精度 主要部位 5 年間 予測について、実測値と比較することで検証されています。

z 予測に 誤差が伴います(統計学的なも +予測不能な要因)。

z 予防危険因子 動向 、過去 罹患率、死亡率 変化に表れている部分 反映されていると考え

られますが、将来 変化など 考慮していません。

z 検診 動向などによって変動があり得ます(特に前立腺がん 罹患)。

<報道関係から お問い合わせ先>

国立研究開発法人 国立がん研究センター 〒104-0045 東京都中央区築地 5-1-1

企画戦略局 広報企画室

TEL: 03-3542-2511(代表) FAX: 03-3542-2545 E-mail: ncc-admin @ncc.go.jp

罹患数 死亡数

*乳房(女性) データ 2003 年以降

http://www.ncc.go.jp/jp/information/press_release_20150428.html

colorectalliver

pancreas

breast

prostate

stomachlung

Mortality in 2015

NBIsystem

Endoscope Colonsurface

magnification

Page 6: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

(a) BoVW

(b) VLAD

(c) Fisher vector

Figure 5. Performance with di↵erent number of descriptorsfor encoding.

(a) BoVW (K = 4096)

(b) VLAD (KD = 16, 384)

(c) Fisher vector (2KD = 16, 384)

Figure 6. Computation time di↵erent number of descrip-tors for encoding per image.

REFERENCES

[1] Tamaki, T., Yoshimuta, J., Kawakami, M., Raytchev, B., Kaneda, K., Yoshida, S., Takemura, Y., Onji, K.,Miyaki, R., and Tanaka, S., “Computer-aided colorectal tumor classification in nbi endoscopy using localfeatures,” Medical Image Analysis 17, 78–100 (1 2013).

[2] Csurka, G., Dance, C. R., Fan, L., Willamowski, J., and Bray, C., “Visual categorization with bags of

[Sonoyama etal.,SPEIMI2015]

p Bag-of-Visual-Words,VLAD,FishervectorwithdenseSIFT

p LinearSVMp Recognitionofpatches&video

Type A!

Type B!

Type C!

1

2

3

Microvessels are not observed or extremely opaque.

Fine microvessels are observed around pits, and clear pits can be observed via the nest of microvessels.

Microvessels comprise an irregular network, pits observed via the microvessels are slightly non-distinct, and vessel diameter or distribution is homogeneous. Microvessels comprise an irregular network, pits observed via the microvessels are irregular, and vessel diameter or distribution is heterogeneous. Pits via the microvessels are invisible, irregular vessel diameter is thick, or the vessel distribution is heterogeneous, and a vascular areas are observed.

B, fine microvessels are visible around clearly observed pits (themiddle row of Fig. 5). Type C is divided into three subtypes C1,C2, and C3 according to detailed texture. In type C3, which exhibitsthe most irregular texture, pits are almost invisible because of the

irregularity of tumors, and microvessels are irregular and thick, orheterogeneously distorted (the bottom row of Fig. 5).

This classification has been shown to have a strong correlationwith histological diagnosis (Kanao et al., 2009), as shown in Table 1.

Fig. 4. NBI magnification findings (Kanao et al., 2009).

Fig. 5. Examples of NBI images of types A (top row), B (middle row), and C3 (bottom row).

82 T. Tamaki et al. / Medical Image Analysis 17 (2013) 78–100

[Tamakietal.,MedIA2013]

Theseareshallowmethods.

Recognizing colorectal NBI images

Page 7: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

INPUT 32x32

Convolutions SubsamplingConvolutions

C1: feature maps 6@28x28

Subsampling

S2: f. maps6@14x14

S4: f. maps 16@5x5C5: layer120

C3: f. maps 16@10x10

F6: layer 84

Full connectionFull connection

Gaussian connections

OUTPUT 10

• A linear layer with softmax loss as the classifier (pre-dicting the same 1000 classes as the main classifier, butremoved at inference time).

A schematic view of the resulting network is depicted inFigure 3.

6. Training Methodology

GoogLeNet networks were trained using the DistBe-lief [4] distributed machine learning system using mod-est amount of model and data-parallelism. Although weused a CPU based implementation only, a rough estimatesuggests that the GoogLeNet network could be trained toconvergence using few high-end GPUs within a week, themain limitation being the memory usage. Our training usedasynchronous stochastic gradient descent with 0.9 momen-tum [17], fixed learning rate schedule (decreasing the learn-ing rate by 4% every 8 epochs). Polyak averaging [13] wasused to create the final model used at inference time.

Image sampling methods have changed substantiallyover the months leading to the competition, and alreadyconverged models were trained on with other options, some-times in conjunction with changed hyperparameters, suchas dropout and the learning rate. Therefore, it is hard togive a definitive guidance to the most effective single wayto train these networks. To complicate matters further, someof the models were mainly trained on smaller relative crops,others on larger ones, inspired by [8]. Still, one prescrip-tion that was verified to work very well after the competi-tion, includes sampling of various sized patches of the im-age whose size is distributed evenly between 8% and 100%of the image area with aspect ratio constrained to the inter-val [ 34 ,

43 ]. Also, we found that the photometric distortions

of Andrew Howard [8] were useful to combat overfitting tothe imaging conditions of training data.

7. ILSVRC 2014 Classification ChallengeSetup and Results

The ILSVRC 2014 classification challenge involves thetask of classifying the image into one of 1000 leaf-node cat-egories in the Imagenet hierarchy. There are about 1.2 mil-lion images for training, 50,000 for validation and 100,000images for testing. Each image is associated with oneground truth category, and performance is measured basedon the highest scoring classifier predictions. Two num-bers are usually reported: the top-1 accuracy rate, whichcompares the ground truth against the first predicted class,and the top-5 error rate, which compares the ground truthagainst the first 5 predicted classes: an image is deemedcorrectly classified if the ground truth is among the top-5,regardless of its rank in them. The challenge uses the top-5error rate for ranking purposes.

input

Conv7x7+2(S)

MaxPool3x3+2(S)

LocalRespNorm

Conv1x1+1(V)

Conv3x3+1(S)

LocalRespNorm

MaxPool3x3+2(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

MaxPool3x3+1(S)

DepthConcat

Conv3x3+1(S)

Conv5x5+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

MaxPool3x3+1(S)

DepthConcat

Conv3x3+1(S)

Conv5x5+1(S)

Conv1x1+1(S)

MaxPool3x3+2(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

MaxPool3x3+1(S)

DepthConcat

Conv3x3+1(S)

Conv5x5+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

MaxPool3x3+1(S)

AveragePool5x5+3(V)

DepthConcat

Conv3x3+1(S)

Conv5x5+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

MaxPool3x3+1(S)

DepthConcat

Conv3x3+1(S)

Conv5x5+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

MaxPool3x3+1(S)

DepthConcat

Conv3x3+1(S)

Conv5x5+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

MaxPool3x3+1(S)

AveragePool5x5+3(V)

DepthConcat

Conv3x3+1(S)

Conv5x5+1(S)

Conv1x1+1(S)

MaxPool3x3+2(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

MaxPool3x3+1(S)

DepthConcat

Conv3x3+1(S)

Conv5x5+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

Conv1x1+1(S)

MaxPool3x3+1(S)

DepthConcat

Conv3x3+1(S)

Conv5x5+1(S)

Conv1x1+1(S)

AveragePool7x7+1(V)

FC

Conv1x1+1(S)

FC

FC

SoftmaxActivation

softmax0

Conv1x1+1(S)

FC

FC

SoftmaxActivation

softmax1

SoftmaxActivation

softmax2

Figure 3: GoogLeNet network with all the bells and whistles.Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilitiesbetween the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-partsat the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, andthe number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–4096–4096–1000.

neurons in a kernel map). The second convolutional layer takes as input the (response-normalizedand pooled) output of the first convolutional layer and filters it with 256 kernels of size 5⇥ 5⇥ 48.The third, fourth, and fifth convolutional layers are connected to one another without any interveningpooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourthconvolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256kernels of size 3⇥ 3⇥ 192. The fully-connected layers have 4096 neurons each.

4 Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRCmake each training example impose 10 bits of constraint on the mapping from image to label, thisturns out to be insufficient to learn so many parameters without considerable overfitting. Below, wedescribe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlargethe dataset using label-preserving transformations (e.g., [25, 4, 5]). We employ two distinct formsof data augmentation, both of which allow transformed images to be produced from the originalimages with very little computation, so the transformed images do not need to be stored on disk.In our implementation, the transformed images are generated in Python code on the CPU while theGPU is training on the previous batch of images. So these data augmentation schemes are, in effect,computationally free.

The first form of data augmentation consists of generating image translations and horizontal reflec-tions. We do this by extracting random 224⇥ 224 patches (and their horizontal reflections) from the256⇥256 images and training our network on these extracted patches4. This increases the size of ourtraining set by a factor of 2048, though the resulting training examples are, of course, highly inter-dependent. Without this scheme, our network suffers from substantial overfitting, which would haveforced us to use much smaller networks. At test time, the network makes a prediction by extractingfive 224 ⇥ 224 patches (the four corner patches and the center patch) as well as their horizontalreflections (hence ten patches in all), and averaging the predictions made by the network’s softmaxlayer on the ten patches.

The second form of data augmentation consists of altering the intensities of the RGB channels intraining images. Specifically, we perform PCA on the set of RGB pixel values throughout theImageNet training set. To each training image, we add multiples of the found principal components,

4This is the reason why the input images in Figure 2 are 224⇥ 224⇥ 3-dimensional.

5

Lecun, Y.,Bottou,L.,Bengio,Y.,&Haffner, P.(1998).Gradient-basedlearningappliedtodocumentrecognition.Proceedings oftheIEEE,86(11),2278–2324.doi:10.1109/5.726791

Krizhevsky,A.,Sutskever,I.,&Hinton,G.E.(2012).ImageNet ClassificationwithDeepConvolutionalNeuralNetworks.InF.Pereira,C.J.C.Burges,L.Bottou,&K.Q.Weinberger(Eds.),AdvancesinNeuralInformation ProcessingSystems25(pp.1097–1105).CurranAssociates,Inc.Retrievedfromhttp://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

Szegedy,C.,Liu,W.,Jia,Y.,Sermanet,P.,Reed,S.,Anguelov,D.,…Rabinovich, A.(2015).GoingDeeperWithConvolutions.InTheIEEEConference on ComputerVisionandPatternRecognition(CVPR).

Deep Learning on going

Deep learning >> shallow learning

Page 8: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Deeper the betterResultinILSVRCovertheyears

1.9x 2.8x

1.4x

Revolution of Depth11x11 conv, 96, /4, pool/2

5x5 conv, 256, pool/2

3x3 conv, 384

3x3 conv, 384

3x3 conv, 256, pool/2

fc, 4096

fc, 4096

fc, 1000

AlexNet, 8 layers(ILSVRC 2012)

3x3 conv, 64

3x3 conv, 64, pool/2

3x3 conv, 128

3x3 conv, 128, pool/2

3x3 conv, 256

3x3 conv, 256

3x3 conv, 256

3x3 conv, 256, pool/2

3x3 conv, 512

3x3 conv, 512

3x3 conv, 512

3x3 conv, 512, pool/2

3x3 conv, 512

3x3 conv, 512

3x3 conv, 512

3x3 conv, 512, pool/2

fc, 4096

fc, 4096

fc, 1000

VGG, 19 layers(ILSVRC 2014)

input

Conv7x7+ 2(S)

MaxPool 3x3+ 2(S)

LocalRespNorm

Conv1x1+ 1(V)

Conv3x3+ 1(S)

LocalRespNorm

MaxPool 3x3+ 2(S)

Conv Conv Conv Conv1x1+ 1(S) 3x3+ 1(S) 5x5+ 1(S) 1x1+ 1(S)

Conv Conv MaxPool 1x1+ 1(S) 1x1+ 1(S) 3x3+ 1(S)

Dept hConcat

Conv Conv Conv Conv1x1+ 1(S) 3x3+ 1(S) 5x5+ 1(S) 1x1+ 1(S)

Conv Conv MaxPool 1x1+ 1(S) 1x1+ 1(S) 3x3+ 1(S)

Dept hConcat

MaxPool 3x3+ 2(S)

Conv Conv Conv Conv1x1+ 1(S) 3x3+ 1(S) 5x5+ 1(S) 1x1+ 1(S)

Conv Conv MaxPool 1x1+ 1(S) 1x1+ 1(S) 3x3+ 1(S)

Dept hConcat

Conv Conv Conv Conv1x1+ 1(S) 3x3+ 1(S) 5x5+ 1(S) 1x1+ 1(S)

Conv Conv MaxPool 1x1+ 1(S) 1x1+ 1(S) 3x3+ 1(S)

AveragePool 5x5+ 3(V)

Dept hConcat

Conv Conv Conv Conv1x1+ 1(S) 3x3+ 1(S) 5x5+ 1(S) 1x1+ 1(S)

Conv Conv MaxPool 1x1+ 1(S) 1x1+ 1(S) 3x3+ 1(S)

Dept hConcat

Conv Conv Conv Conv1x1+ 1(S) 3x3+ 1(S) 5x5+ 1(S) 1x1+ 1(S)

Conv Conv MaxPool 1x1+ 1(S) 1x1+ 1(S) 3x3+ 1(S)

Dept hConcat

Conv Conv Conv Conv1x1+ 1(S) 3x3+ 1(S) 5x5+ 1(S) 1x1+ 1(S)

Conv Conv MaxPool 1x1+ 1(S) 1x1+ 1(S) 3x3+ 1(S)

AveragePool 5x5+ 3(V)

Dept hConcat

MaxPool 3x3+ 2(S)

Conv Conv Conv Conv1x1+ 1(S) 3x3+ 1(S) 5x5+ 1(S) 1x1+ 1(S)

Conv Conv MaxPool 1x1+ 1(S) 1x1+ 1(S) 3x3+ 1(S)

Dept hConcat

Conv Conv Conv Conv1x1+ 1(S) 3x3+ 1(S) 5x5+ 1(S) 1x1+ 1(S)

Conv Conv MaxPool 1x1+ 1(S) 1x1+ 1(S) 3x3+ 1(S)

Dept hConcat

AveragePool 7x7+ 1(V)

FC

Conv1x1+ 1(S)

FC

FC

Soft maxAct ivat ion

soft max0

Conv1x1+ 1(S)

FC

FC

Soft maxAct ivat ion

soft max1

Soft maxAct ivat ion

soft max2

GoogleNet, 22 layers(ILSVRC 2014)

Kaiming He, Xiangyu Zhang, Shaoqing Ren, & Jian Sun. “Deep Residual Learning for Image Recognition”. arXiv 2015.

Slide from: ILSVR2015 workshop

AlexNet, 8 layers(ILSVRC 2012)

Revolution of DepthResNet, 152 layers

(ILSVRC 2015)

3x3 conv, 64

3x3 conv, 64, pool/2

3x3 conv, 128

3x3 conv, 128, pool/2

3x3 conv, 256

3x3 conv, 256

3x3 conv, 256

3x3 conv, 256, pool/2

3x3 conv, 512

3x3 conv, 512

3x3 conv, 512

3x3 conv, 512, pool/2

3x3 conv, 512

3x3 conv, 512

3x3 conv, 512

3x3 conv, 512, pool/2

fc, 4096

fc, 4096

fc, 1000

11x11 conv, 96, /4, pool/2

5x5 conv, 256, pool/2

3x3 conv, 384

3x3 conv, 384

3x3 conv, 256, pool/2

fc, 4096

fc, 4096

fc, 1000

1x1 conv, 64

3x3 conv, 64

1x1 conv, 256

1x1 conv, 64

3x3 conv, 64

1x1 conv, 256

1x1 conv, 64

3x3 conv, 64

1x1 conv, 256

1x2 conv, 128, /2

3x3 conv, 128

1x1 conv, 512

1x1 conv, 128

3x3 conv, 128

1x1 conv, 512

1x1 conv, 128

3x3 conv, 128

1x1 conv, 512

1x1 conv, 128

3x3 conv, 128

1x1 conv, 512

1x1 conv, 128

3x3 conv, 128

1x1 conv, 512

1x1 conv, 128

3x3 conv, 128

1x1 conv, 512

1x1 conv, 128

3x3 conv, 128

1x1 conv, 512

1x1 conv, 128

3x3 conv, 128

1x1 conv, 512

1x1 conv, 256, /2

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 256

3x3 conv, 256

1x1 conv, 1024

1x1 conv, 512, /2

3x3 conv, 512

1x1 conv, 2048

1x1 conv, 512

3x3 conv, 512

1x1 conv, 2048

1x1 conv, 512

3x3 conv, 512

1x1 conv, 2048

ave pool, fc 1000

7x7 conv, 64, /2, pool/2

VGG, 19 layers(ILSVRC 2014)

Kaiming He, Xiangyu Zhang, Shaoqing Ren, & Jian Sun. “Deep Residual Learning for Image Recognition”. arXiv 2015.

p Networksbecomedeeperyearbyyearfor:p Scenerecognitionp Categoryrecognitionp Andmanyothertasks

p But…p Howdeep?p Whatarchitecture?p Reallynecessary?

Slidefrom:Kaiming He:Deepresiduallearning,ILSVRC2015@ICCV2015

Page 9: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Using the off-the-shelf features

SharifRazavian,A.,Azizpour,H.,Sullivan,J.,&Carlsson,S.(2014).CNNFeaturesOff-the-Shelf:AnAstoundingBaselineforRecognition. InTheIEEEConference onComputerVisionandPatternRecognition(CVPR)Workshops.

Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilitiesbetween the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-partsat the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, andthe number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–4096–4096–1000.

neurons in a kernel map). The second convolutional layer takes as input the (response-normalizedand pooled) output of the first convolutional layer and filters it with 256 kernels of size 5⇥ 5⇥ 48.The third, fourth, and fifth convolutional layers are connected to one another without any interveningpooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourthconvolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256kernels of size 3⇥ 3⇥ 192. The fully-connected layers have 4096 neurons each.

4 Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRCmake each training example impose 10 bits of constraint on the mapping from image to label, thisturns out to be insufficient to learn so many parameters without considerable overfitting. Below, wedescribe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlargethe dataset using label-preserving transformations (e.g., [25, 4, 5]). We employ two distinct formsof data augmentation, both of which allow transformed images to be produced from the originalimages with very little computation, so the transformed images do not need to be stored on disk.In our implementation, the transformed images are generated in Python code on the CPU while theGPU is training on the previous batch of images. So these data augmentation schemes are, in effect,computationally free.

The first form of data augmentation consists of generating image translations and horizontal reflec-tions. We do this by extracting random 224⇥ 224 patches (and their horizontal reflections) from the256⇥256 images and training our network on these extracted patches4. This increases the size of ourtraining set by a factor of 2048, though the resulting training examples are, of course, highly inter-dependent. Without this scheme, our network suffers from substantial overfitting, which would haveforced us to use much smaller networks. At test time, the network makes a prediction by extractingfive 224 ⇥ 224 patches (the four corner patches and the center patch) as well as their horizontalreflections (hence ten patches in all), and averaging the predictions made by the network’s softmaxlayer on the ten patches.

The second form of data augmentation consists of altering the intensities of the RGB channels intraining images. Specifically, we perform PCA on the set of RGB pixel values throughout theImageNet training set. To each training image, we add multiples of the found principal components,

4This is the reason why the input images in Figure 2 are 224⇥ 224⇥ 3-dimensional.

5

Deep learning in general and deep convolutional neural networks (CNN) [3] [4] in particular, is a composite model of neural networks. Deep learning enjoys good success since 2006, and is shown to achieve improvement in classifying images, audio, and speech data. All deep learning models require a substantial amount of training instances to avoid the problem of over-fitting. Some research works in the medical field have started employing a deep architecture [11] [12]. In this work, we do not use deep learning to directly training an OM classifier. Instead, we use the unsupervised layers (unsupervised with respect to OM) of CNN to learn the structures of non-OM-related images, and then use that learned representation to model OM data. In other words, we use CNN to perform transfer representation learning.

Transfer learning, defined as the ability of a system to recognize and apply knowledge and skills learned in previous tasks to a novel task, is on the rise in recent years and has been applied in several data mining tasks, e.g., [2] [8] [9] [10]. Our work transfers representations learned from one domain to detect OM, and we refer this approach as transfer representation learning.

III. METHODS

As depicted in the introductory section, our scheme is composed of four steps. This section details these steps.

We start with unsupervised codebook construction. On a large ImageNet dataset, we learn the representation of these images using a variant of deep CNN, Alexnet [4]. Alexnet, the winner of the world-wide image recognition competition (ILSVRC) in 2012, contains eight neural network layers. The first five are convolutional and the remaining three are fully-connected. Different layers represent different levels of abstraction concepts. We utilize Alexnet in Caffe [5] as our foundation to build our encoder to capture generic visual features.

For each image input, we obtain a feature vector using the codebook. The information of the image moves from the input layer to the output layer through the inner layers. Each layer is a weighted combination of the previous layer and stands for a feature representation of the input image. Since the computation is hierarchical, higher layers intuitively represent higher concepts. For images, the neurons from lower levels describe rudimental perceptual elements like edges and corners, while higher layers represent object parts such as contours and categories. To capture higher-level abstractions, we extract transfer-learned features of OM images from the fifth, sixth and seventh layer, denoted as pool5, fc6 and fc7 in Fig.1, respectively , , 3 , 3 ,features from the eighth layer is that it only produces the probability of the class prediction, and it is not a representation of the input image.

Once we have transfer-learned feature vectors of the 1,195 collected OM images, we perform supervised learning by training a Support Vector Machine (SVM) classifier [14]. We choose SVM to be our model since it is an effective classifier widely used by prior work. As usual, we scale features to the same range and find parameters through cross validation. For comparing to the previous work fairly, we select radial basis function (RBF) kernel.

Figure 1. The flowchart of our transfer representation learning algorithm

(otitis media photo is from [17])

To further improve classification accuracy, we experiment with two feature fusion schemes, which combine features hand-crafted by human heuristics in [7] with features learned from our codebook. In the first scheme, we combine transfer-learned and hand-crafted OM features to form fusion feature vectors. We then deploy the supervised learning upon the fused feature vectors to train a SVM classifier. In the second scheme, we use a two-layer classifier fusion structure mentioned in [7]. Concisely, in the first layer, we train different classifiers upon different feature sets separately. We then combine all the outputs from the first layer to train the classifier in the second layer.

Fig. 2 summarizes our transfer representation learning approaches. On the top of the figure depict two feature-learning schemes: the transfer-learned on the left-hand side and the hand-crafted on the right. The solid lines depict how OM features are extracted via the transfer-learned codebook, whereas the dash-dot lines represent the flow of hand-crafted OM feature extraction. The bottom half of the figure describes two fusion schemes. Whereas the dashed lines illustrate the feature fusion by concatenating two feature sets, the dotted lines show the second fusion scheme at the classifier level. At the bottom of the figure, the four classification flows yield their respective OM-prediction decision. From the left-hand side to the right-hand side, they are transfer-learned features only, feature-level fusion, classifier-level fusion, and hand-crafted features only.

IV. EXPERIMENTAL RESULTS AND DISCUSSION

We conducted two sets of experiments. Subsection �-A

reports OM classification performance by using our proposed transfer representation learning approach. The effect of transfer representation learning on improving OM

classification is evaluated in Subsection �-B.

A. Results of Transfer Representation Learning

Table 1 compares OM classification results for different feature representations. All experiments are conducted by using 10-fold SVM classification. The measures of results reflect the discrimination capability of the features.

The first two rows in Table 1 show the results of human-heuristic methods (hand-crafted), followed by our proposed transfer-learned approach. The eardrum segmentation, denoted as seg , identifies the eardrum by

712

Shie,C.-K.,Chuang, C.-H.,Chou, C.-N.,Wu,M.-H.,&Chang,E.Y.(2015).TransferRepresentationLearningforMedicalImageAnalysis.InThe37thAnnualInternationalConference oftheIEEEEngineeringinMedicineandBiologySociety(EMBC) (pp. 711–714).

Convolution

Input Li

Fully connected

1st fullypropagatedactivationlayer

L2 L5(Decafs) L6 (Decaf6) L7 (Decafi)9216 4096 4096

Activations Activations Activations

Pre -LearnedCNN (Decaf)

High. Rep. Of Low -Levelfeatures (PiCoDes)

IIMedical Dataset 11/

/1!Feature Extraction +

Fusion (optional)

[x1 xn]

Standardization

[y1, ,yn] 1

Individual PathologyDetection

(Binary ClassificationUsing Linear SVM)

Low -Level:GistBoWLBP

Proc. of SPIE Vol. 9414 94140V-3

Downloaded From: http://spiedigitallibrary.org/ on 10/22/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Bar,Y.,Diamant,I.,Wolf,L.,&Greenspan,H.(2015).Deeplearningwithnon-medicaltrainingusedforchestpathologyidentification.InL.M.Hadjiiski &G.D.Tourassi (Eds.),SPIEMedicalImaging(p.94140V).InternationalSocietyforOpticsandPhotonics.doi:10.1117/12.2083124

1. Pre-trained CNN with imageNet

2. Use a layer

3. As a feature

Success in medical image analysis

DeCAF

AlexNet

AlexNet (OverFeat)

Page 10: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Using the off-the-shelf features

SharifRazavian,A.,Azizpour,H.,Sullivan,J.,&Carlsson,S.(2014).CNNFeaturesOff-the-Shelf:AnAstoundingBaselineforRecognition. InTheIEEEConference onComputerVisionandPatternRecognition(CVPR)Workshops.

Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilitiesbetween the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-partsat the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, andthe number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–4096–4096–1000.

neurons in a kernel map). The second convolutional layer takes as input the (response-normalizedand pooled) output of the first convolutional layer and filters it with 256 kernels of size 5⇥ 5⇥ 48.The third, fourth, and fifth convolutional layers are connected to one another without any interveningpooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourthconvolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256kernels of size 3⇥ 3⇥ 192. The fully-connected layers have 4096 neurons each.

4 Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRCmake each training example impose 10 bits of constraint on the mapping from image to label, thisturns out to be insufficient to learn so many parameters without considerable overfitting. Below, wedescribe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlargethe dataset using label-preserving transformations (e.g., [25, 4, 5]). We employ two distinct formsof data augmentation, both of which allow transformed images to be produced from the originalimages with very little computation, so the transformed images do not need to be stored on disk.In our implementation, the transformed images are generated in Python code on the CPU while theGPU is training on the previous batch of images. So these data augmentation schemes are, in effect,computationally free.

The first form of data augmentation consists of generating image translations and horizontal reflec-tions. We do this by extracting random 224⇥ 224 patches (and their horizontal reflections) from the256⇥256 images and training our network on these extracted patches4. This increases the size of ourtraining set by a factor of 2048, though the resulting training examples are, of course, highly inter-dependent. Without this scheme, our network suffers from substantial overfitting, which would haveforced us to use much smaller networks. At test time, the network makes a prediction by extractingfive 224 ⇥ 224 patches (the four corner patches and the center patch) as well as their horizontalreflections (hence ten patches in all), and averaging the predictions made by the network’s softmaxlayer on the ten patches.

The second form of data augmentation consists of altering the intensities of the RGB channels intraining images. Specifically, we perform PCA on the set of RGB pixel values throughout theImageNet training set. To each training image, we add multiples of the found principal components,

4This is the reason why the input images in Figure 2 are 224⇥ 224⇥ 3-dimensional.

5

Deep learning in general and deep convolutional neural networks (CNN) [3] [4] in particular, is a composite model of neural networks. Deep learning enjoys good success since 2006, and is shown to achieve improvement in classifying images, audio, and speech data. All deep learning models require a substantial amount of training instances to avoid the problem of over-fitting. Some research works in the medical field have started employing a deep architecture [11] [12]. In this work, we do not use deep learning to directly training an OM classifier. Instead, we use the unsupervised layers (unsupervised with respect to OM) of CNN to learn the structures of non-OM-related images, and then use that learned representation to model OM data. In other words, we use CNN to perform transfer representation learning.

Transfer learning, defined as the ability of a system to recognize and apply knowledge and skills learned in previous tasks to a novel task, is on the rise in recent years and has been applied in several data mining tasks, e.g., [2] [8] [9] [10]. Our work transfers representations learned from one domain to detect OM, and we refer this approach as transfer representation learning.

III. METHODS

As depicted in the introductory section, our scheme is composed of four steps. This section details these steps.

We start with unsupervised codebook construction. On a large ImageNet dataset, we learn the representation of these images using a variant of deep CNN, Alexnet [4]. Alexnet, the winner of the world-wide image recognition competition (ILSVRC) in 2012, contains eight neural network layers. The first five are convolutional and the remaining three are fully-connected. Different layers represent different levels of abstraction concepts. We utilize Alexnet in Caffe [5] as our foundation to build our encoder to capture generic visual features.

For each image input, we obtain a feature vector using the codebook. The information of the image moves from the input layer to the output layer through the inner layers. Each layer is a weighted combination of the previous layer and stands for a feature representation of the input image. Since the computation is hierarchical, higher layers intuitively represent higher concepts. For images, the neurons from lower levels describe rudimental perceptual elements like edges and corners, while higher layers represent object parts such as contours and categories. To capture higher-level abstractions, we extract transfer-learned features of OM images from the fifth, sixth and seventh layer, denoted as pool5, fc6 and fc7 in Fig.1, respectively , , 3 , 3 ,features from the eighth layer is that it only produces the probability of the class prediction, and it is not a representation of the input image.

Once we have transfer-learned feature vectors of the 1,195 collected OM images, we perform supervised learning by training a Support Vector Machine (SVM) classifier [14]. We choose SVM to be our model since it is an effective classifier widely used by prior work. As usual, we scale features to the same range and find parameters through cross validation. For comparing to the previous work fairly, we select radial basis function (RBF) kernel.

Figure 1. The flowchart of our transfer representation learning algorithm

(otitis media photo is from [17])

To further improve classification accuracy, we experiment with two feature fusion schemes, which combine features hand-crafted by human heuristics in [7] with features learned from our codebook. In the first scheme, we combine transfer-learned and hand-crafted OM features to form fusion feature vectors. We then deploy the supervised learning upon the fused feature vectors to train a SVM classifier. In the second scheme, we use a two-layer classifier fusion structure mentioned in [7]. Concisely, in the first layer, we train different classifiers upon different feature sets separately. We then combine all the outputs from the first layer to train the classifier in the second layer.

Fig. 2 summarizes our transfer representation learning approaches. On the top of the figure depict two feature-learning schemes: the transfer-learned on the left-hand side and the hand-crafted on the right. The solid lines depict how OM features are extracted via the transfer-learned codebook, whereas the dash-dot lines represent the flow of hand-crafted OM feature extraction. The bottom half of the figure describes two fusion schemes. Whereas the dashed lines illustrate the feature fusion by concatenating two feature sets, the dotted lines show the second fusion scheme at the classifier level. At the bottom of the figure, the four classification flows yield their respective OM-prediction decision. From the left-hand side to the right-hand side, they are transfer-learned features only, feature-level fusion, classifier-level fusion, and hand-crafted features only.

IV. EXPERIMENTAL RESULTS AND DISCUSSION

We conducted two sets of experiments. Subsection �-A

reports OM classification performance by using our proposed transfer representation learning approach. The effect of transfer representation learning on improving OM

classification is evaluated in Subsection �-B.

A. Results of Transfer Representation Learning

Table 1 compares OM classification results for different feature representations. All experiments are conducted by using 10-fold SVM classification. The measures of results reflect the discrimination capability of the features.

The first two rows in Table 1 show the results of human-heuristic methods (hand-crafted), followed by our proposed transfer-learned approach. The eardrum segmentation, denoted as seg , identifies the eardrum by

712

Shie,C.-K.,Chuang, C.-H.,Chou, C.-N.,Wu,M.-H.,&Chang,E.Y.(2015).TransferRepresentationLearningforMedicalImageAnalysis.InThe37thAnnualInternationalConference oftheIEEEEngineeringinMedicineandBiologySociety(EMBC) (pp. 711–714).

Convolution

Input Li

Fully connected

1st fullypropagatedactivationlayer

L2 L5(Decafs) L6 (Decaf6) L7 (Decafi)9216 4096 4096

Activations Activations Activations

Pre -LearnedCNN (Decaf)

High. Rep. Of Low -Levelfeatures (PiCoDes)

IIMedical Dataset 11/

/1!Feature Extraction +

Fusion (optional)

[x1 xn]

Standardization

[y1, ,yn] 1

Individual PathologyDetection

(Binary ClassificationUsing Linear SVM)

Low -Level:GistBoWLBP

Proc. of SPIE Vol. 9414 94140V-3

Downloaded From: http://spiedigitallibrary.org/ on 10/22/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Bar,Y.,Diamant,I.,Wolf,L.,&Greenspan,H.(2015).Deeplearningwithnon-medicaltrainingusedforchestpathologyidentification.InL.M.Hadjiiski &G.D.Tourassi (Eds.),SPIEMedicalImaging(p.94140V).InternationalSocietyforOpticsandPhotonics.doi:10.1117/12.2083124

1. Pre-trained CNN with imageNet

2. Use a layer

3. As a feature

Success in medical image analysis

DeCAF

AlexNet

AlexNet (OverFeat)

FCV2016P2-8:ObjectRecognitionUsingSizeInformationBasedonPre-trainedConvolutionalNeuralNetwork

Page 11: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Our work: compare all layers

Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilitiesbetween the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-partsat the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, andthe number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–4096–4096–1000.

neurons in a kernel map). The second convolutional layer takes as input the (response-normalizedand pooled) output of the first convolutional layer and filters it with 256 kernels of size 5⇥ 5⇥ 48.The third, fourth, and fifth convolutional layers are connected to one another without any interveningpooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourthconvolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256kernels of size 3⇥ 3⇥ 192. The fully-connected layers have 4096 neurons each.

4 Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRCmake each training example impose 10 bits of constraint on the mapping from image to label, thisturns out to be insufficient to learn so many parameters without considerable overfitting. Below, wedescribe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlargethe dataset using label-preserving transformations (e.g., [25, 4, 5]). We employ two distinct formsof data augmentation, both of which allow transformed images to be produced from the originalimages with very little computation, so the transformed images do not need to be stored on disk.In our implementation, the transformed images are generated in Python code on the CPU while theGPU is training on the previous batch of images. So these data augmentation schemes are, in effect,computationally free.

The first form of data augmentation consists of generating image translations and horizontal reflec-tions. We do this by extracting random 224⇥ 224 patches (and their horizontal reflections) from the256⇥256 images and training our network on these extracted patches4. This increases the size of ourtraining set by a factor of 2048, though the resulting training examples are, of course, highly inter-dependent. Without this scheme, our network suffers from substantial overfitting, which would haveforced us to use much smaller networks. At test time, the network makes a prediction by extractingfive 224 ⇥ 224 patches (the four corner patches and the center patch) as well as their horizontalreflections (hence ten patches in all), and averaging the predictions made by the network’s softmaxlayer on the ten patches.

The second form of data augmentation consists of altering the intensities of the RGB channels intraining images. Specifically, we perform PCA on the set of RGB pixel values throughout theImageNet training set. To each training image, we add multiples of the found principal components,

4This is the reason why the input images in Figure 2 are 224⇥ 224⇥ 3-dimensional.

5

linear SVM(as is)

p DifferentLayersp Convolutionp Normalizationp Poolingp Fullconnect

p ThreeCNNsp AlexNetp CaffeNetp GoogLeNet

p Caffe

•A

linearlayerwith

softmax

lossas

theclassifier(pre-

dictingthe

same

1000classesasthe

main

classifier,butrem

ovedatinference

time).

Aschem

aticview

oftheresulting

network

isdepicted

inFigure

3.

6.TrainingM

ethodology

GoogLeN

etnetw

orksw

eretrained

usingthe

DistB

e-lief

[4]distributed

machine

learningsystem

usingm

od-est

amount

ofm

odeland

data-parallelism.

Although

we

useda

CPU

basedim

plementation

only,arough

estimate

suggeststhat

theG

oogLeNet

network

couldbe

trainedto

convergenceusing

fewhigh-end

GPU

sw

ithina

week,the

main

limitation

beingthe

mem

oryusage.O

urtrainingused

asynchronousstochastic

gradientdescentwith

0.9m

omen-

tum[17],fixed

learningrate

schedule(decreasing

thelearn-

ingrate

by4%

every8

epochs).Polyakaveraging

[13]was

usedto

createthe

finalmodelused

atinferencetim

e.Im

agesam

plingm

ethodshave

changedsubstantially

overthe

months

leadingto

thecom

petition,and

alreadyconverged

modelsw

eretrained

onw

ithotheroptions,som

e-tim

esin

conjunctionw

ithchanged

hyperparameters,

suchas

dropoutand

thelearning

rate.Therefore,

itis

hardto

givea

definitiveguidance

tothe

mosteffective

singlew

ayto

trainthese

networks.To

complicate

mattersfurther,som

eofthe

modelsw

erem

ainlytrained

onsm

allerrelativecrops,

otherson

largerones,inspired

by[8].

Still,oneprescrip-

tionthatw

asverified

tow

orkvery

wellafter

thecom

peti-tion,includes

sampling

ofvarioussized

patchesofthe

im-

agew

hosesize

isdistributed

evenlybetw

een8%

and100%

oftheim

agearea

with

aspectratioconstrained

tothe

inter-val

[34 ,

43 ].A

lso,we

foundthatthe

photometric

distortionsofA

ndrewH

oward

[8]were

usefultocom

batoverfittingto

theim

agingconditions

oftrainingdata.

7.IL

SVR

C2014

Classification

Challenge

Setupand

Results

TheILSV

RC

2014classification

challengeinvolves

thetask

ofclassifyingthe

image

intoone

of1000leaf-node

cat-egories

inthe

Imagenethierarchy.There

areabout1.2

mil-

lionim

agesfortraining,50,000

forvalidationand

100,000im

agesfor

testing.Each

image

isassociated

with

oneground

truthcategory,and

performance

ism

easuredbased

onthe

highestscoring

classifierpredictions.

Two

num-

bersare

usuallyreported:

thetop-1

accuracyrate,

which

compares

theground

truthagainstthe

firstpredictedclass,

andthe

top-5error

rate,which

compares

theground

truthagainst

thefirst

5predicted

classes:an

image

isdeem

edcorrectly

classifiedif

theground

truthis

among

thetop-5,

regardlessofits

rankin

them.The

challengeuses

thetop-5

errorrateforranking

purposes.

input

Conv7x7+

2(S)

MaxPool

3x3+2(S)

LocalRespNorm

Conv1x1+

1(V)

Conv3x3+

1(S)

LocalRespNorm

MaxPool

3x3+2(S)

Conv1x1+

1(S)

Conv1x1+

1(S)Conv

1x1+1(S)

MaxPool

3x3+1(S)

DepthConcat

Conv3x3+

1(S)Conv

5x5+1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)Conv

1x1+1(S)

MaxPool

3x3+1(S)

DepthConcat

Conv3x3+

1(S)Conv

5x5+1(S)

Conv1x1+

1(S)

MaxPool

3x3+2(S)

Conv1x1+

1(S)

Conv1x1+

1(S)Conv

1x1+1(S)

MaxPool

3x3+1(S)

DepthConcat

Conv3x3+

1(S)Conv

5x5+1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)Conv

1x1+1(S)

MaxPool

3x3+1(S)

AveragePool5x5+

3(V)

DepthConcat

Conv3x3+

1(S)Conv

5x5+1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)Conv

1x1+1(S)

MaxPool

3x3+1(S)

DepthConcat

Conv3x3+

1(S)Conv

5x5+1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)Conv

1x1+1(S)

MaxPool

3x3+1(S)

DepthConcat

Conv3x3+

1(S)Conv

5x5+1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)Conv

1x1+1(S)

MaxPool

3x3+1(S)

AveragePool5x5+

3(V)

DepthConcat

Conv3x3+

1(S)Conv

5x5+1(S)

Conv1x1+

1(S)

MaxPool

3x3+2(S)

Conv1x1+

1(S)

Conv1x1+

1(S)Conv

1x1+1(S)

MaxPool

3x3+1(S)

DepthConcat

Conv3x3+

1(S)Conv

5x5+1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)

Conv1x1+

1(S)Conv

1x1+1(S)

MaxPool

3x3+1(S)

DepthConcat

Conv3x3+

1(S)Conv

5x5+1(S)

Conv1x1+

1(S)

AveragePool7x7+

1(V)

FC

Conv1x1+

1(S)

FC FC

SoftmaxActivation

softmax0

Conv1x1+

1(S)

FC FC

SoftmaxActivation

softmax1

SoftmaxActivation

softmax2

Figure3:G

oogLeNetnetw

orkw

ithallthe

bellsand

whistles.

AlexNet (Cafe)

CaffeNet(Cafe)

GoogLeNet (Cafe)

Page 12: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Experimental settingTraining• 907 NBI image patches

(Type A: 359, Type B: 461, Type C3: 87)trimmed by medical doctors and endoscopists.

• Different sizes: resized to a fixed size (227x227)• Linear SVM (with parameter C by 3-fold CV)• Average accuracy of 10-fold CV

Type A:

Type B:

Type C3:

Image patches

trimming

patch

Full size frame

Page 13: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

����������

���

����

�����

������������������

����

������������������

�����

������������������

�����

�����

����������������

��������������

��������������

�����

���

����������������

���������

�����

�����

����������������

���������

�����

������������������

���

�����

������������������

���

�����

��������������

1st layer 2nd layer

Visualization by draw_net.py in Caffe

Layers and features: an example

Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilitiesbetween the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-partsat the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, andthe number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–4096–4096–1000.

neurons in a kernel map). The second convolutional layer takes as input the (response-normalizedand pooled) output of the first convolutional layer and filters it with 256 kernels of size 5⇥ 5⇥ 48.The third, fourth, and fifth convolutional layers are connected to one another without any interveningpooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourthconvolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256kernels of size 3⇥ 3⇥ 192. The fully-connected layers have 4096 neurons each.

4 Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRCmake each training example impose 10 bits of constraint on the mapping from image to label, thisturns out to be insufficient to learn so many parameters without considerable overfitting. Below, wedescribe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlargethe dataset using label-preserving transformations (e.g., [25, 4, 5]). We employ two distinct formsof data augmentation, both of which allow transformed images to be produced from the originalimages with very little computation, so the transformed images do not need to be stored on disk.In our implementation, the transformed images are generated in Python code on the CPU while theGPU is training on the previous batch of images. So these data augmentation schemes are, in effect,computationally free.

The first form of data augmentation consists of generating image translations and horizontal reflec-tions. We do this by extracting random 224⇥ 224 patches (and their horizontal reflections) from the256⇥256 images and training our network on these extracted patches4. This increases the size of ourtraining set by a factor of 2048, though the resulting training examples are, of course, highly inter-dependent. Without this scheme, our network suffers from substantial overfitting, which would haveforced us to use much smaller networks. At test time, the network makes a prediction by extractingfive 224 ⇥ 224 patches (the four corner patches and the center patch) as well as their horizontalreflections (hence ten patches in all), and averaging the predictions made by the network’s softmaxlayer on the ten patches.

The second form of data augmentation consists of altering the intensities of the RGB channels intraining images. Specifically, we perform PCA on the set of RGB pixel values throughout theImageNet training set. To each training image, we add multiples of the found principal components,

4This is the reason why the input images in Figure 2 are 224⇥ 224⇥ 3-dimensional.

5

Page 14: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Results for AlexNet����

���������

����

�����

������������������

����

������������������

�����

������������������

�����

�����

����������������

��������������

��������������

�����

���

����������������

��������

��

�����

�����

����������������

��������

��

�����

������������������

���

�����

������������������

���

�����

��������������

Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilitiesbetween the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-partsat the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, andthe number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–4096–4096–1000.

neurons in a kernel map). The second convolutional layer takes as input the (response-normalizedand pooled) output of the first convolutional layer and filters it with 256 kernels of size 5⇥ 5⇥ 48.The third, fourth, and fifth convolutional layers are connected to one another without any interveningpooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourthconvolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256kernels of size 3⇥ 3⇥ 192. The fully-connected layers have 4096 neurons each.

4 Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRCmake each training example impose 10 bits of constraint on the mapping from image to label, thisturns out to be insufficient to learn so many parameters without considerable overfitting. Below, wedescribe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlargethe dataset using label-preserving transformations (e.g., [25, 4, 5]). We employ two distinct formsof data augmentation, both of which allow transformed images to be produced from the originalimages with very little computation, so the transformed images do not need to be stored on disk.In our implementation, the transformed images are generated in Python code on the CPU while theGPU is training on the previous batch of images. So these data augmentation schemes are, in effect,computationally free.

The first form of data augmentation consists of generating image translations and horizontal reflec-tions. We do this by extracting random 224⇥ 224 patches (and their horizontal reflections) from the256⇥256 images and training our network on these extracted patches4. This increases the size of ourtraining set by a factor of 2048, though the resulting training examples are, of course, highly inter-dependent. Without this scheme, our network suffers from substantial overfitting, which would haveforced us to use much smaller networks. At test time, the network makes a prediction by extractingfive 224 ⇥ 224 patches (the four corner patches and the center patch) as well as their horizontalreflections (hence ten patches in all), and averaging the predictions made by the network’s softmaxlayer on the ten patches.

The second form of data augmentation consists of altering the intensities of the RGB channels intraining images. Specifically, we perform PCA on the set of RGB pixel values throughout theImageNet training set. To each training image, we add multiples of the found principal components,

4This is the reason why the input images in Figure 2 are 224⇥ 224⇥ 3-dimensional.

5

dimension

accuracy

Page 15: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Results for AlexNet����

���������

����

�����

������������������

����

������������������

�����

������������������

�����

�����

����������������

��������������

��������������

�����

���

����������������

��������

��

�����

�����

����������������

��������

��

�����

������������������

���

�����

������������������

���

�����

��������������

Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilitiesbetween the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-partsat the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, andthe number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–4096–4096–1000.

neurons in a kernel map). The second convolutional layer takes as input the (response-normalizedand pooled) output of the first convolutional layer and filters it with 256 kernels of size 5⇥ 5⇥ 48.The third, fourth, and fifth convolutional layers are connected to one another without any interveningpooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourthconvolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256kernels of size 3⇥ 3⇥ 192. The fully-connected layers have 4096 neurons each.

4 Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRCmake each training example impose 10 bits of constraint on the mapping from image to label, thisturns out to be insufficient to learn so many parameters without considerable overfitting. Below, wedescribe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlargethe dataset using label-preserving transformations (e.g., [25, 4, 5]). We employ two distinct formsof data augmentation, both of which allow transformed images to be produced from the originalimages with very little computation, so the transformed images do not need to be stored on disk.In our implementation, the transformed images are generated in Python code on the CPU while theGPU is training on the previous batch of images. So these data augmentation schemes are, in effect,computationally free.

The first form of data augmentation consists of generating image translations and horizontal reflec-tions. We do this by extracting random 224⇥ 224 patches (and their horizontal reflections) from the256⇥256 images and training our network on these extracted patches4. This increases the size of ourtraining set by a factor of 2048, though the resulting training examples are, of course, highly inter-dependent. Without this scheme, our network suffers from substantial overfitting, which would haveforced us to use much smaller networks. At test time, the network makes a prediction by extractingfive 224 ⇥ 224 patches (the four corner patches and the center patch) as well as their horizontalreflections (hence ten patches in all), and averaging the predictions made by the network’s softmaxlayer on the ten patches.

The second form of data augmentation consists of altering the intensities of the RGB channels intraining images. Specifically, we perform PCA on the set of RGB pixel values throughout theImageNet training set. To each training image, we add multiples of the found principal components,

4This is the reason why the input images in Figure 2 are 224⇥ 224⇥ 3-dimensional.

5

pool2: 95.8±2.6% fc6: 95.0±2.9%

43264

4096

Page 16: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Results for CaffeNet����

���������

����

�����

������������������

����

������������������

�����

��������

��

�����

�����

����������������

��������������

��������������

�����

���

����������������

��������

��

�����

�����

������������������

����������������

�����

������������������

���

�����

���

��������������

�����

������������������

Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilitiesbetween the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-partsat the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, andthe number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–4096–4096–1000.

neurons in a kernel map). The second convolutional layer takes as input the (response-normalizedand pooled) output of the first convolutional layer and filters it with 256 kernels of size 5⇥ 5⇥ 48.The third, fourth, and fifth convolutional layers are connected to one another without any interveningpooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourthconvolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256kernels of size 3⇥ 3⇥ 192. The fully-connected layers have 4096 neurons each.

4 Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRCmake each training example impose 10 bits of constraint on the mapping from image to label, thisturns out to be insufficient to learn so many parameters without considerable overfitting. Below, wedescribe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlargethe dataset using label-preserving transformations (e.g., [25, 4, 5]). We employ two distinct formsof data augmentation, both of which allow transformed images to be produced from the originalimages with very little computation, so the transformed images do not need to be stored on disk.In our implementation, the transformed images are generated in Python code on the CPU while theGPU is training on the previous batch of images. So these data augmentation schemes are, in effect,computationally free.

The first form of data augmentation consists of generating image translations and horizontal reflec-tions. We do this by extracting random 224⇥ 224 patches (and their horizontal reflections) from the256⇥256 images and training our network on these extracted patches4. This increases the size of ourtraining set by a factor of 2048, though the resulting training examples are, of course, highly inter-dependent. Without this scheme, our network suffers from substantial overfitting, which would haveforced us to use much smaller networks. At test time, the network makes a prediction by extractingfive 224 ⇥ 224 patches (the four corner patches and the center patch) as well as their horizontalreflections (hence ten patches in all), and averaging the predictions made by the network’s softmaxlayer on the ten patches.

The second form of data augmentation consists of altering the intensities of the RGB channels intraining images. Specifically, we perform PCA on the set of RGB pixel values throughout theImageNet training set. To each training image, we add multiples of the found principal components,

4This is the reason why the input images in Figure 2 are 224⇥ 224⇥ 3-dimensional.

5

pool then normalize

conv3: 96.8±2.0%

64896

fc6: 95.8±2.6%

4096

Page 17: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilitiesbetween the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-partsat the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, andthe number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–4096–4096–1000.

neurons in a kernel map). The second convolutional layer takes as input the (response-normalizedand pooled) output of the first convolutional layer and filters it with 256 kernels of size 5⇥ 5⇥ 48.The third, fourth, and fifth convolutional layers are connected to one another without any interveningpooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourthconvolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256kernels of size 3⇥ 3⇥ 192. The fully-connected layers have 4096 neurons each.

4 Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRCmake each training example impose 10 bits of constraint on the mapping from image to label, thisturns out to be insufficient to learn so many parameters without considerable overfitting. Below, wedescribe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlargethe dataset using label-preserving transformations (e.g., [25, 4, 5]). We employ two distinct formsof data augmentation, both of which allow transformed images to be produced from the originalimages with very little computation, so the transformed images do not need to be stored on disk.In our implementation, the transformed images are generated in Python code on the CPU while theGPU is training on the previous batch of images. So these data augmentation schemes are, in effect,computationally free.

The first form of data augmentation consists of generating image translations and horizontal reflec-tions. We do this by extracting random 224⇥ 224 patches (and their horizontal reflections) from the256⇥256 images and training our network on these extracted patches4. This increases the size of ourtraining set by a factor of 2048, though the resulting training examples are, of course, highly inter-dependent. Without this scheme, our network suffers from substantial overfitting, which would haveforced us to use much smaller networks. At test time, the network makes a prediction by extractingfive 224 ⇥ 224 patches (the four corner patches and the center patch) as well as their horizontalreflections (hence ten patches in all), and averaging the predictions made by the network’s softmaxlayer on the ten patches.

The second form of data augmentation consists of altering the intensities of the RGB channels intraining images. Specifically, we perform PCA on the set of RGB pixel values throughout theImageNet training set. To each training image, we add multiples of the found principal components,

4This is the reason why the input images in Figure 2 are 224⇥ 224⇥ 3-dimensional.

5

Results for CaffeNet����

���������

����

�����

������������������

����

������������������

�����

��������

��

�����

�����

����������������

��������������

��������������

�����

���

����������������

��������

��

�����

�����

������������������

����������������

�����

������������������

���

�����

���

��������������

�����

������������������

Combinationsdon’t help

Page 18: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

������������

�����������������������

�������������

��������������������������

����������������

�������������

�����������������������

�������������

����������������

���������������������������

�����������������������

�������������

�����������������������

����������������

���������������������������

�����������������������

����������������

�������������

���������������

�������������

���������������

����������������

���������������������������

���������������������

������������

����������������

���������������������������

���������������

�����������������������

�������������

�����������������������

�����������������

����������������������

�������������

����������������

�������������

����������������

����������������

�������������

����������������

�����������������

����������������������

�������������

�����������������������

����������������

�������������

����������������������

�����������������������

�������������

�����������������������

����������������������

���������������������������

������������

�����������������������

�������������

�����������������������

�������������

��������������������������

����������������

�������������

�������������������

������������

�����������������������

�������������

����������������

�������������

�����������������������

�������������

��������������������������

��������

����������������

���������������������������

�������������������

��������������

����������

�������������

���������

����������������

����������������

�������������

�����������������������

�������������������

����������������

�������������

�����������������������

�������������

��������������������������

�����������������������

�����������������������

�������������

����������������

�������������

����������������

����������������

���������������������������

�����������������

����������������������

�������������

����������������������

�������������

����������������������

����������

��������

�������������

�����������

���������������������

����������������������

���������������

�������������

����������������

�������������

����������������

�����������������������

����������������

�������������

���������������������

������������

���������

�������������

�����������������

����������������������

�������������

����������������������

���������������������������

�����������������������

����������������

������������� ��

��������������

���������������������������

�������������������

�����������������������

���������������

�������������

�����������������������

����������������������

�������������

����������������������

��������������������������

��������������������������

�����������������

����������������

��������

�������������������

����������������������

�������������

���������������

��������

�������������

����������������

����������������

����������������

�����������������������

����������������

�������������

�����������������������

����������������

�������������

�������������������

���������������������

�����������������������

�������������

�����������������������

�������������

����������������

����������

�������������

����������������

�����������������������

�������������

�����������������������

����������������

�������������

����������������

����������������

�������������

��������������

�����������������������

�����������������������

�������������

����

����������������������

����

������������

�������������

����������������

����������������

��������������������������

����������

����������������

�������������

�����������������������

�������������

����������������������������

���������������������

����������������

�������������

����������������

�����������������

����������������

������������

����������������

�������������

�����������������������

�������������

����������������

�����������

����������������������

�������������

����������������������

�����������������������

�������������

�����������������������

�����������������

����������������

����������������

�������������������

����������������������

����������������

����������������

��������������������������

����������������

�������������

�����������������

���������������� ��

��������������

�������������

����������������

�����������������������

����������������

�������������

����������������

�������������

����������������������

�������������

����������������

�������������

�����������������

�����������������������

�������������

�����������������������

����������������

�������������

�������������������

����������������

�������������

�������������������

���������������������

����������������

�������������

Results for GoogLeNetpool3/3x3 s2 : 96.9±1.3%

94080

Page 19: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Results for GoogLeNet

������������

�����������������������

�������������

��������������������������

����������������

�������������

�����������������������

�������������

����������������

���������������������������

�����������������������

�������������

�����������������������

����������������

���������������������������

�����������������������

����������������

�������������

���������������

�������������

���������������

����������������

���������������������������

���������������������

������������

����������������

���������������������������

���������������

�����������������������

�������������

�����������������������

�����������������

����������������������

�������������

����������������

�������������

����������������

����������������

�������������

����������������

�����������������

����������������������

�������������

�����������������������

����������������

�������������

����������������������

�����������������������

�������������

�����������������������

����������������������

���������������������������

������������

�����������������������

�������������

�����������������������

�������������

��������������������������

����������������

�������������

�������������������

������������

�����������������������

�������������

����������������

�������������

�����������������������

�������������

��������������������������

��������

����������������

���������������������������

�������������������

��������������

����������

�������������

���������

����������������

����������������

�������������

�����������������������

�������������������

����������������

�������������

�����������������������

�������������

��������������������������

�����������������������

�����������������������

�������������

����������������

�������������

����������������

����������������

���������������������������

�����������������

����������������������

�������������

����������������������

�������������

����������������������

����������

��������

�������������

�����������

���������������������

����������������������

���������������

�������������

����������������

�������������

����������������

�����������������������

����������������

�������������

���������������������

������������

���������

�������������

�����������������

����������������������

�������������

����������������������

���������������������������

�����������������������

����������������

������������� ��

��������������

���������������������������

�������������������

�����������������������

���������������

�������������

�����������������������

����������������������

�������������

����������������������

��������������������������

��������������������������

�����������������

����������������

��������

�������������������

����������������������

�������������

���������������

��������

�������������

����������������

����������������

����������������

�����������������������

����������������

�������������

�����������������������

����������������

�������������

�������������������

���������������������

�����������������������

�������������

�����������������������

�������������

����������������

����������

�������������

����������������

�����������������������

�������������

�����������������������

����������������

�������������

����������������

����������������

�������������

��������������

�����������������������

�����������������������

�������������

����

����������������������

����

������������

�������������

����������������

����������������

��������������������������

����������

����������������

�������������

�����������������������

�������������

����������������������������

���������������������

����������������

�������������

����������������

�����������������

����������������

������������

����������������

�������������

�����������������������

�������������

����������������

�����������

����������������������

�������������

����������������������

�����������������������

�������������

�����������������������

�����������������

����������������

����������������

�������������������

����������������������

����������������

����������������

��������������������������

����������������

�������������

�����������������

���������������� ��

��������������

�������������

����������������

�����������������������

����������������

�������������

����������������

�������������

����������������������

�������������

����������������

�������������

�����������������

�����������������������

�������������

�����������������������

����������������

�������������

�������������������

����������������

�������������

�������������������

���������������������

����������������

�������������

Type A!

Type B!

Type C!

1 2 3

Microvessels are not observed or extrem

ely opaque.

Fine microvessels are observed around pits, and clear pits

can be observed via the nest of microvessels.

Microvessels com

prise an irregular network, pits observed

via the microvessels are slightly non-distinct, and vessel

diameter or distribution is hom

ogeneous. M

icrovessels comprise an irregular netw

ork, pits observed via the m

icrovessels are irregular, and vessel diameter or

distribution is heterogeneous. Pits via the m

icrovessels are invisible, irregular vessel diam

eter is thick, or the vessel distribution is heterogeneous, and a vascular areas are observed.

Fig.1.N

BI

endoscopicim

agesand

medical

categories[18].

Fig.2.Size

distributionof

image

patchesfor

eachcategory

ofN

BI.

CN

Nm

odels,incontrastto

existingw

ork[14]–[16]

thatusesonly

fewlayer

features.Discussions

basedon

obtainedresults

isanother

contributionof

thispaper

inorder

todesign

andpropose

abetter

CN

Nm

odelfor

thiskind

ofspecific

task:N

BI

colorectalpolyp

image

recognition.

III.M

ET

HO

D

Thetarget

datasetfor

thecom

parisonin

thispaper

isthe

NB

Iim

agedataset

including908

NB

Ipatches

collectedfrom

endoscopicexam

inationsat

Hiroshim

aU

niversity1,

andlabeled

basedon

theN

BI

magnification

findings[18]–[20]

which

categorizesappearances

oftum

orsinto

typeA

,B

,and

C,

andtype

Cis

furthersub-classified

intoC

1,C

2,and

C3

basedon

microvessel

structures(see

Figure1).

Inthis

work

we

useonly

typesA

,B,and

C3

byfollow

ingprevious

work

[12],[13],[21],[22].Apatch

istrim

med

froma

largerfram

eof

theentire

endoscopicim

age,so

thatthe

trimm

edrectangle

regionw

ellrepresents

thetypical

texturepattern

ofthe

colorectalpolypappearing

inthe

frame.D

ifferentpatcheshas

thereforedifferentsizes

rangingbetw

eenabout150

to600

pixels.Distributions

ofsizes

foreach

ofthree

NB

Icategories

areshow

nin

Figure2.

Therem

ightbe

differentw

aysto

encodethese

image

patchesw

ithC

NN

features.For

example,

Krizhevsky

etal.

[23]crop

anim

ageinto

severalpatches

offixed

sizefor

dataaugm

entation,then

takethe

averageof

predictionsof

thosepatches.R

azavianet

al.[14]em

ploya

similar

way

butm

oreaggressively

inorder

toobtain

more

thanone

hundredpatches

froma

singletest

image.

Another

choicem

ightbe

1Thestudy

was

conductedw

ithan

approvalfromthe

Hiroshim

aU

niversityH

ospitalethics

comm

ittee,and

aninform

edconsent

was

obtainedfrom

thepatients

and/orfam

ilym

embers

forthe

endoscopicexam

ination.

����������������������������

���������������

��������

����������

���������������������

������������

�����������

��������������

�����������������������

�����������������������

Fig.3.C

NN

sused

forexperim

ents:(left)

AlexN

et,(middle)

Caffe

Net,and

(right)GoogLeN

et.Gray

polygons(and

white

ellipses)representdata,orCN

Nfeatures,

andcolor

rectanglesrepresent

dataprocessing

ineach

layer.N

otethat

numbers

oflayers

arecounted

differentlyin

differentliterature.

Here

alayer

isdata

aftera

processing(such

asconvolution,pooling,norm

alization,etc.).N

umbers

innam

esof

layersshow

apack

ofthese

layers(for

example,

conv5and

pool5are

5thlayer

ofthe

CN

Nm

odelin

theliterature).

pooling

convolution

full connect

full connect

Full connectbranch Full connect

Full connectbranch

Page 20: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Results for hand-crafted features

BoVW Fisher vector VLAD

97.2±0.3%

32768

Page 21: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Discussions

AlexNet CaffeNet GoogLeNet

p Firstfewlayersareenoughtoreachmaximumaccuracy.

p Shallowisenough.p BoVW,FV,VLADworkwell.

Page 22: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Discussions

AlexNet CaffeNet GoogLeNet

p Poolinglayersmayworkwell.

Page 23: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Discussions

AlexNet CaffeNet GoogLeNet

p Deeperlayersdonothelpsomuch.p Fullconnectedlayerskeepperformancewhilereducingdimension.

p Dimensionalityreduction(PCA,etc.)mayreplaceit.

Page 24: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Discussions

AlexNet CaffeNet GoogLeNet

p Dataitself(pixelintensity)isnouse.p Probabilitycanbeafeature?!

59.0±4.3%

85.4±4.7% 85.7±4.7%

80.7±2.4%

Page 25: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Conclusions

• Comparedoff-the-shelffeaturesfromthreeCNNmodels

• ShallowisenoughforNBIimageclassification• Apossiblearchitectureis:

Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilitiesbetween the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-partsat the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, andthe number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–4096–4096–1000.

neurons in a kernel map). The second convolutional layer takes as input the (response-normalizedand pooled) output of the first convolutional layer and filters it with 256 kernels of size 5⇥ 5⇥ 48.The third, fourth, and fifth convolutional layers are connected to one another without any interveningpooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourthconvolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256kernels of size 3⇥ 3⇥ 192. The fully-connected layers have 4096 neurons each.

4 Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRCmake each training example impose 10 bits of constraint on the mapping from image to label, thisturns out to be insufficient to learn so many parameters without considerable overfitting. Below, wedescribe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlargethe dataset using label-preserving transformations (e.g., [25, 4, 5]). We employ two distinct formsof data augmentation, both of which allow transformed images to be produced from the originalimages with very little computation, so the transformed images do not need to be stored on disk.In our implementation, the transformed images are generated in Python code on the CPU while theGPU is training on the previous batch of images. So these data augmentation schemes are, in effect,computationally free.

The first form of data augmentation consists of generating image translations and horizontal reflec-tions. We do this by extracting random 224⇥ 224 patches (and their horizontal reflections) from the256⇥256 images and training our network on these extracted patches4. This increases the size of ourtraining set by a factor of 2048, though the resulting training examples are, of course, highly inter-dependent. Without this scheme, our network suffers from substantial overfitting, which would haveforced us to use much smaller networks. At test time, the network makes a prediction by extractingfive 224 ⇥ 224 patches (the four corner patches and the center patch) as well as their horizontalreflections (hence ten patches in all), and averaging the predictions made by the network’s softmaxlayer on the ten patches.

The second form of data augmentation consists of altering the intensities of the RGB channels intraining images. Specifically, we perform PCA on the set of RGB pixel values throughout theImageNet training set. To each training image, we add multiples of the found principal components,

4This is the reason why the input images in Figure 2 are 224⇥ 224⇥ 3-dimensional.

5

Dimensionreduction(PCA)

Classifier(SVM)

ShallowCNNwith

fewerfilters

Page 26: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Results for GoogLeNet

������������

�����������������������

�������������

��������������������������

����������������

�������������

�����������������������

�������������

����������������

���������������������������

�����������������������

�������������

�����������������������

����������������

���������������������������

�����������������������

����������������

�������������

���������������

�������������

���������������

����������������

���������������������������

���������������������

������������

����������������

���������������������������

���������������

�����������������������

�������������

�����������������������

�����������������

����������������������

�������������

����������������

�������������

����������������

����������������

�������������

����������������

�����������������

����������������������

�������������

�����������������������

����������������

�������������

����������������������

�����������������������

�������������

�����������������������

����������������������

���������������������������

������������

�����������������������

�������������

�����������������������

�������������

��������������������������

����������������

�������������

�������������������

������������

�����������������������

�������������

����������������

�������������

�����������������������

�������������

��������������������������

��������

����������������

���������������������������

�������������������

��������������

����������

�������������

���������

����������������

����������������

�������������

�����������������������

�������������������

����������������

�������������

�����������������������

�������������

��������������������������

�����������������������

�����������������������

�������������

����������������

�������������

����������������

����������������

���������������������������

�����������������

����������������������

�������������

����������������������

�������������

����������������������

����������

��������

�������������

�����������

���������������������

����������������������

���������������

�������������

����������������

�������������

����������������

�����������������������

����������������

�������������

���������������������

������������

���������

�������������

�����������������

����������������������

�������������

����������������������

���������������������������

�����������������������

����������������

������������� ��

��������������

���������������������������

�������������������

�����������������������

���������������

�������������

�����������������������

����������������������

�������������

����������������������

��������������������������

��������������������������

�����������������

����������������

��������

�������������������

����������������������

�������������

���������������

��������

�������������

����������������

����������������

����������������

�����������������������

����������������

�������������

�����������������������

����������������

�������������

�������������������

���������������������

�����������������������

�������������

�����������������������

�������������

����������������

����������

�������������

����������������

�����������������������

�������������

�����������������������

����������������

�������������

����������������

����������������

�������������

��������������

�����������������������

�����������������������

�������������

����

����������������������

����

������������

�������������

����������������

����������������

��������������������������

����������

����������������

�������������

�����������������������

�������������

����������������������������

���������������������

����������������

�������������

����������������

�����������������

����������������

������������

����������������

�������������

�����������������������

�������������

����������������

�����������

����������������������

�������������

����������������������

�����������������������

�������������

�����������������������

�����������������

����������������

����������������

�������������������

����������������������

����������������

����������������

��������������������������

����������������

�������������

�����������������

���������������� ��

��������������

�������������

����������������

�����������������������

����������������

�������������

����������������

�������������

����������������������

�������������

����������������

�������������

�����������������

�����������������������

�������������

�����������������������

����������������

�������������

�������������������

����������������

�������������

�������������������

���������������������

����������������

�������������

Page 27: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Results for GoogLeNet: pooling

������������

�����������������������

�������������

��������������������������

����������������

�������������

�����������������������

�������������

����������������

���������������������������

�����������������������

�������������

�����������������������

����������������

���������������������������

�����������������������

����������������

�������������

���������������

�������������

���������������

����������������

���������������������������

���������������������

������������

����������������

���������������������������

���������������

�����������������������

�������������

�����������������������

�����������������

����������������������

�������������

����������������

�������������

����������������

����������������

�������������

����������������

�����������������

����������������������

�������������

�����������������������

����������������

�������������

����������������������

�����������������������

�������������

�����������������������

����������������������

���������������������������

������������

�����������������������

�������������

�����������������������

�������������

��������������������������

����������������

�������������

�������������������

������������

�����������������������

�������������

����������������

�������������

�����������������������

�������������

��������������������������

��������

����������������

���������������������������

�������������������

��������������

����������

�������������

���������

����������������

����������������

�������������

�����������������������

�������������������

����������������

�������������

�����������������������

�������������

��������������������������

�����������������������

�����������������������

�������������

����������������

�������������

����������������

����������������

���������������������������

�����������������

����������������������

�������������

����������������������

�������������

����������������������

����������

��������

�������������

�����������

���������������������

����������������������

���������������

�������������

����������������

�������������

����������������

�����������������������

����������������

�������������

���������������������

������������

���������

�������������

�����������������

����������������������

�������������

����������������������

���������������������������

�����������������������

����������������

������������� ��

��������������

���������������������������

�������������������

�����������������������

���������������

�������������

�����������������������

����������������������

�������������

����������������������

��������������������������

��������������������������

�����������������

����������������

��������

�������������������

����������������������

�������������

���������������

��������

�������������

����������������

����������������

����������������

�����������������������

����������������

�������������

�����������������������

����������������

�������������

�������������������

���������������������

�����������������������

�������������

�����������������������

�������������

����������������

����������

�������������

����������������

�����������������������

�������������

�����������������������

����������������

�������������

����������������

����������������

�������������

��������������

�����������������������

�����������������������

�������������

����

����������������������

����

������������

�������������

����������������

����������������

��������������������������

����������

����������������

�������������

�����������������������

�������������

����������������������������

���������������������

����������������

�������������

����������������

�����������������

����������������

������������

����������������

�������������

�����������������������

�������������

����������������

�����������

����������������������

�������������

����������������������

�����������������������

�������������

�����������������������

�����������������

����������������

����������������

�������������������

����������������������

����������������

����������������

��������������������������

����������������

�������������

�����������������

���������������� ��

��������������

�������������

����������������

�����������������������

����������������

�������������

����������������

�������������

����������������������

�������������

����������������

�������������

�����������������

�����������������������

�������������

�����������������������

����������������

�������������

�������������������

����������������

�������������

�������������������

���������������������

����������������

�������������

Page 28: Computer-Aided Colorectal Tumor Classification in NBI Endoscopy Using CNN Features @ FCV2016

Results for GoogLeNet: full connect

������������

�����������������������

�������������

��������������������������

����������������

�������������

�����������������������

�������������

����������������

���������������������������

�����������������������

�������������

�����������������������

����������������

���������������������������

�����������������������

����������������

�������������

���������������

�������������

���������������

����������������

���������������������������

���������������������

������������

����������������

���������������������������

���������������

�����������������������

�������������

�����������������������

�����������������

����������������������

�������������

����������������

�������������

����������������

����������������

�������������

����������������

�����������������

����������������������

�������������

�����������������������

����������������

�������������

����������������������

�����������������������

�������������

�����������������������

����������������������

���������������������������

������������

�����������������������

�������������

�����������������������

�������������

��������������������������

����������������

�������������

�������������������

������������

�����������������������

�������������

����������������

�������������

�����������������������

�������������

��������������������������

��������

����������������

���������������������������

�������������������

��������������

����������

�������������

���������

����������������

����������������

�������������

�����������������������

�������������������

����������������

�������������

�����������������������

�������������

��������������������������

�����������������������

�����������������������

�������������

����������������

�������������

����������������

����������������

���������������������������

�����������������

����������������������

�������������

����������������������

�������������

����������������������

����������

��������

�������������

�����������

���������������������

����������������������

���������������

�������������

����������������

�������������

����������������

�����������������������

����������������

�������������

���������������������

������������

���������

�������������

�����������������

����������������������

�������������

����������������������

���������������������������

�����������������������

����������������

������������� ��

��������������

���������������������������

�������������������

�����������������������

���������������

�������������

�����������������������

����������������������

�������������

����������������������

��������������������������

��������������������������

�����������������

����������������

��������

�������������������

����������������������

�������������

���������������

��������

�������������

����������������

����������������

����������������

�����������������������

����������������

�������������

�����������������������

����������������

�������������

�������������������

���������������������

�����������������������

�������������

�����������������������

�������������

����������������

����������

�������������

����������������

�����������������������

�������������

�����������������������

����������������

�������������

����������������

����������������

�������������

��������������

�����������������������

�����������������������

�������������

����

����������������������

����

������������

�������������

����������������

����������������

��������������������������

����������

����������������

�������������

�����������������������

�������������

����������������������������

���������������������

����������������

�������������

����������������

�����������������

����������������

������������

����������������

�������������

�����������������������

�������������

����������������

�����������

����������������������

�������������

����������������������

�����������������������

�������������

�����������������������

�����������������

����������������

����������������

�������������������

����������������������

����������������

����������������

��������������������������

����������������

�������������

�����������������

���������������� ��

��������������

�������������

����������������

�����������������������

����������������

�������������

����������������

�������������

����������������������

�������������

����������������

�������������

�����������������

�����������������������

�������������

�����������������������

����������������

�������������

�������������������

����������������

�������������

�������������������

���������������������

����������������

�������������