Fast and Accurate Image Classification Architecture for Recognizing Produce in a Real-Life Groceries’ Setting
Team Cherry
@valan, @hvrigazov, @cecopld, @vsenderov
Datathon 2018. 9 – 11 Feb 2018.
This is a CRISM DM paper describing the creation of neural-net-based image classification pipeline for the recognition of product images in a grocery store. The team behind the pipeline, Team Cherry, consists of students and researchers from Savantic AB in Stockholm, Sofia University, and the Bulgarian Academy of Sciences. We were mentored by Antoan Milkov, who we thank for valuable feedback and directions. Our vision is for the team members to see where they stand compared to others in terms of ideas and approaches to computer vision and to learn new ideas and approaches from the other team-mates and the mentors. Therefore, when constructing the pipeline we tried several different approaches with varying degrees of complexity.
Our best model (derived from VGG) achieved 99.46% top3 accuracy (90.18% top1) with processing time of 0.006 s per image on a single GPU Titan X.
Miroslav Valan is a Ph.D. Candidate at the Naturhistoriska Riksmuseet and at the Stochholm University in the field of computer vision in bioinformatics. He works for Savantic AG, a machine learning consultancy, where he pursues deep learning. He has been interested in computer vision for the last two years. Miroslav’s contribution is to develop and run the deep learning network used to solve the problem.
Hristo Vrigazov is a computer science student at Sofia University. He is interested in computer vision and reads the PyimageSearch blog on a daily basis. He experimented with CapsuleNet and DenseNet as alternative approaches and helped with writing the report.
Ceco is starting out with computer vision. He learned a lot from the more senior members and contributed many useful ideas.
Viktor Senderov is a colleague of Miroslav’s in the bioinformatics Ph.D. network BIG4. His previous interests included classical AI – semantic technologies, and knowledge graphs – and this year he is moving on to machine learning and probabilistic programming languages. Viktor assembled the team, wrote the majority of the report, and ran the feature extraction.
Business understadning
On 22.01.2018 Amazon opened Amazon Go, a physical store without cashiers and checkout lines – customers just grab the products from the shelves and go. AI algorithms detect what product you have grabbed.
Kaufland offers the unique opportunity to work with their internal data on a similar problem – developing a computer vision algorithm that detects which is the fruit or vegetable scanned.
It is nice to provide more than sixty types of vegetables to your customer. It is not nice if the customer is forced to search these products on a scale in a menu with more than sixty items. The task is to to automate this process. Making this procedure more comfortable will enhance customer satisfaction with Kaufland. Because of that, the task is to build up an image recognition that reliably recognizes which type of vegetables the customer has selected.
A typical user scenario is: The customer is weighting one type of vegetables/fruits per time, which may (in the case of cherries, plums) or may not (e.g. watermelons) be wrapped into a plastic bag. The algorithm embedded into the scale automatically recognizes the type of fruit/vegetable by recognizing an image, taken from camera located above the scale. The scale’s monitor shows several options of fruits/vegetables that are most likely on the scale and asks for customer’s confirmation. Ideally, the final results shown on the screen will be one fruit/vegetable, but as many of them share similar properties, it would also be acceptable several items to be shown to the customer. The lighting, the angle from which the pictures are taken and the size of the pictures will be the same for every image.
The goal of the research task is to design an image recognition system which recognizes and ranks the fruits’ or vegetables’ type with certain probability. The input of the system is an image taken from a camera located above the weighting scale in a real store environment.
The challenge is to recognize 3D objects that are naturally grown. For example, different types of apples can look quite different even it is the same type of fruit. Furthermore, vegetables appear differently if you rotate them. So, your model has to deal with this too. Last but not least, vegetables are already wrapped into bags when being weighed. Accordingly, they have to be reliably recognized in spite of strong reflections on the bags that may occur depending on the lighting of the store. Ideally your model works without being newly trained even if the store gets a new lighting system, the bags around the vegetables are badly crunched and the vegetables are of an extraordinary shape. Pre-processing of the image such as filtering, background removal, and edge detection may increase the accuracy.
The model will be assessed by the final produced accuracy on the test dataset. The accuracy will be calculated as number of correctly predicted objects over all objects in the test dataset. An object is considered correctly predicted if it is in Top 3 most probable objects of the model output.
Data understanding
The input data are stored in jpeg image format and divided into 68 sub-folders (categories). Every
such sub-folder corresponds to one fruit or vegetable type. Every category sub-folder has unique name
that starts with a number. The size of all the present images is 640×480. It is important to note that the product and therefore directory names are in German. The total decompressed size of the dataset is 5.5 GB. The total number of images is 37727.
An example of an image of bananas converted to grayscale and it’s Histogram of oriented gradients (HOG) feature descriptor is given below. HOG is a handcrafted feature descriptor and as such can’t benefit from more data; we were however interested whether it keeps the relevant information from the image. As seen by the example below, it looks like this is not the case for so unstructured data with lots of variety in terms of position of the item.
The number of images per class was highly variable with a maximum of 6525 – achieved by Red Peppers – and a minimum of 2 – achieved by yellow plums. A graph and a table of the class counts is available below which shows the diversification of the data.
Min. 1st Qu. Median Mean 3rd Qu. Max. 2.0 124.8 237.0 555.8 575.2 6525.0
Fig. 1 Number of Images Per Product
We noticed that images are taken in the same conditions (camera above the scale). Multiple scales were used with each having its own shedow pattern. Luckily, images of each category were appropriatelly distributed across scales.
We also notices that images are blurry without sharp edges, so we decided to test smaller image size which would enable us real-time application.
Data Preparation
We split the data randomly in a 9:1 ratio into a training test with 33916 (33991 valan) images and a validation set with 3743 (3804 valan the count is done automatically by keras 🙂 ) (look at Appendix. Data Understanding). This split was not possible for the class of yellow plums with only two images. In that case we copied one image to the training set and one image to the validation set.
Modeling
To get a feeling of the task, three different approaches were evaluated: transfer-learning approach, training a dedicated CNN from scratch and CapsuleNet from scratch. All our approaches used data augmentation for additional data generation.
CapsuleNet
CapsuleNet is a new approach to image classification problems, introduced by G. Hinton in “Dynamic Routing Between Capsules“. It shows promising results on many datasets like Mnist and Cifar-10, because it enforces attention on the pattern learned by the neural network. We used an implementation of the original paper applied to the MNIST dataset, available here. All images were resized to (64, 64). After 1 epoch that took 4 hours, CapsuleNet did not show promising results compared to other approaches, so we abandoned it. As it turned out, CapsuleNet requires more than 500 epochs on average to start producing good results.
Transfer Learning Approach
The transfer learning approach relies on the idea that a neural-network classifier trained on a similar dataset will perform adequately in a new setting. There are two main and slightly different variations of transfer learning. In fine-tuning (Yosinski et al. 2014), we adjust some or all the weights of a pre-trained model to fit a new task similar to the one on which the model was trained. In feature extraction (Azizpour et al. 2016) we use a pre-trained model to obtain a feature vector for each input image. We tried DenseNet121 for fine-tuning and VGG16 for feature extraction. Let’s now have a look at both of them in details. We will start with VGG16 for feature extraction.
Feature extraction
When using VGG16 for feature extraction, the feature vector can be obtained from different layers of the model with just one feed forward pass. One can then apply a simpler classifier, e.g. a Support Vector Machine (SVM), using the extracted features as predictors, and, by comparing the prediction accuracy of the SVM from different layers, obtain the maximally informative layer. Finally, after this information has been obtained, a neural network with much smaller number of parameters can be fit after the maximally informative layer in place of the SVM for maximum performance (a top net). In this way, we will utilize the most information of the pretrained model, and minimize the training time, as we are only training a shallow network from scratch.
We start out by creating a VGG16 model (Simonyan and Zisserman 2015) pre-trained on ImageNet, and specify 5 output layers after every MaxPool layer:
# build the VGG16 network and extract features after every MaxPool layer model = VGG16(weights='imagenet', include_top=False) c1 = GlobalAveragePooling2D()(model.layers[-16].output) c2 = GlobalAveragePooling2D()(model.layers[-13].output) c3 = GlobalAveragePooling2D()(model.layers[-9].output) c4 = GlobalAveragePooling2D()(model.layers[-5].output) c5 = GlobalAveragePooling2D()(model.layers[-1].output) model = Model(inputs=model.input, outputs=(c1,c2,c3,c4,c5))
We save all features of each output layer and fit a LinearSVM on features from training set and test on validation set. We tested different pooling strategies and input sizes.
After resizing the images to 128×128 we observe that the maximally informative layer is layer 3 with an accurracy score of 70.03. Please note the following: 1) this is top1 suggestion, so we can expect much higher result for top3 and 2) concatenating features from all layers further promotes the accuracy (78.04). This approach is of-the-shelf and a starting point especially when dealing with small datasets.
Another conclusion that we draw from this result is that the smaller image size performed (128×128) better than the bigger (224×224) with this off-the-shelf approach. This finding informed the image size choice for our “training-from-scratch” method explained later. Since the network trained from scratch performed excellent (99.46% top 3 accuracy), we didn’t pursue the “top net” refinement of this method mentioned earlier.
Fine-tuning
Another approach would be to take a pretrained neural network and additionally train it on the new dataset. The network can then be either used as a feature-extraction mechanism as described above or directly for predictions. For that, we experimented with DenseNet121. Again the images were rescaled to (64, 64). A textual summary can be seen in the Appendix DenseNet. A graphical representation of the model can be here. After training for 15 epochs, DenseNet121 achieved 83% validation accuracy, which was not as good as our from scratch approach.
Dedicated Convolutional Neural Network
We trained a dedicated architecture which is both fast and accurate. After experimenting with the type and number or layers, input sizes, augmentation, and the Batchnorm and Dropout normalizers, we decided to go with rather simple architecture made of four consequtive blocks each consisting of Batchnorm, standard 3×3 Convolutions+Relu activation and 2×2 Maxpooling layer. The output of the last layer was flattened and fed trough one Dense layer before the output.
The number of parametes is cca 2.6M of which majority are in the fully connectied part (very fast to train). The number of filter in each ConvLayers was 32, 64, 64, 128. For 200s we can process whole dataset (37000 images) on a single Titan X (less than 0.006s per image). Its size is 10MB.
Results
Update Test set data just in. Over 99% perfermance. Ask us for the notebook.
Performace was evaluated on the validation set (see previous paragraph) and is currently being evaluated on the test set (numbers will be in the updated as they become availale). The model with BatchNorm and Dropout set to 0.8 and scheduled to decrease after 10 epochs without progress had the following accuracy:
val loss top1 score top3 score [0.38221502454028755, 0.88825473329905602, 0.99158907201634616]
The next result is informed by Smith et. al (2017). A model with BatchNorm+Dropout 0.8 with jiggling learning rate and gradually increased batch_sizee:
val loss top1 score top3 score [0.34097324399913742, 0.90297386500526744, 0.99339141737200831]
Model tuned with a few more epochs where Dropout is set to 0
val loss top1 score top3 score [0.33503147153551421, 0.90177229756741739, 0.99459298094244963]
The per-category error rate is given Fig. 2 and the confusion matrix is given in Fig. 3. Both of these figures are available on the following Google drive link. In the Google Drive, please also find an interactive plotly plot where you can explore the prediction accuracy for individual features.
Fig. 2 Per category error rate.
Fig. 3 Confusion matrix.
Deployment
The obtained error rates (over 99 percent) indicate that should this model be deployed in a real-life setting, only 1 out of 1000 customers will need to click next to get the second screen of options. Also the 6 ms of processing time is suitable for the purpose.
Technical notes.
Savantic AB provided GPUs for valan
Our channel is #team_cherry.
Appendex. Computation from Scratch.
Appendix. DenseNet121
__________________________________________________________________________________________________ Layer (type) Output Shape Param # Connected to ================================================================================================== data (InputLayer) (None, 64, 64, 3) 0 __________________________________________________________________________________________________ conv1_zeropadding (ZeroPadding2 (None, 70, 70, 3) 0 data[0][0] __________________________________________________________________________________________________ conv1 (Conv2D) (None, 32, 32, 64) 9408 conv1_zeropadding[0][0] __________________________________________________________________________________________________ conv1_bn (BatchNormalization) (None, 32, 32, 64) 256 conv1[0][0] __________________________________________________________________________________________________ conv1_scale (Scale) (None, 32, 32, 64) 128 conv1_bn[0][0] __________________________________________________________________________________________________ relu1 (Activation) (None, 32, 32, 64) 0 conv1_scale[0][0] __________________________________________________________________________________________________ pool1_zeropadding (ZeroPadding2 (None, 34, 34, 64) 0 relu1[0][0] __________________________________________________________________________________________________ pool1 (MaxPooling2D) (None, 16, 16, 64) 0 pool1_zeropadding[0][0] __________________________________________________________________________________________________ conv2_1_x1_bn (BatchNormalizati (None, 16, 16, 64) 256 pool1[0][0] __________________________________________________________________________________________________ conv2_1_x1_scale (Scale) (None, 16, 16, 64) 128 conv2_1_x1_bn[0][0] __________________________________________________________________________________________________ relu2_1_x1 (Activation) (None, 16, 16, 64) 0 conv2_1_x1_scale[0][0] __________________________________________________________________________________________________ conv2_1_x1 (Conv2D) (None, 16, 16, 128) 8192 relu2_1_x1[0][0] __________________________________________________________________________________________________ conv2_1_x2_bn (BatchNormalizati (None, 16, 16, 128) 512 conv2_1_x1[0][0] __________________________________________________________________________________________________ conv2_1_x2_scale (Scale) (None, 16, 16, 128) 256 conv2_1_x2_bn[0][0] __________________________________________________________________________________________________ relu2_1_x2 (Activation) (None, 16, 16, 128) 0 conv2_1_x2_scale[0][0] __________________________________________________________________________________________________ conv2_1_x2_zeropadding (ZeroPad (None, 18, 18, 128) 0 relu2_1_x2[0][0] __________________________________________________________________________________________________ conv2_1_x2 (Conv2D) (None, 16, 16, 32) 36864 conv2_1_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_2_1 (Merge) (None, 16, 16, 96) 0 pool1[0][0] conv2_1_x2[0][0] __________________________________________________________________________________________________ conv2_2_x1_bn (BatchNormalizati (None, 16, 16, 96) 384 concat_2_1[0][0] __________________________________________________________________________________________________ conv2_2_x1_scale (Scale) (None, 16, 16, 96) 192 conv2_2_x1_bn[0][0] __________________________________________________________________________________________________ relu2_2_x1 (Activation) (None, 16, 16, 96) 0 conv2_2_x1_scale[0][0] __________________________________________________________________________________________________ conv2_2_x1 (Conv2D) (None, 16, 16, 128) 12288 relu2_2_x1[0][0] __________________________________________________________________________________________________ conv2_2_x2_bn (BatchNormalizati (None, 16, 16, 128) 512 conv2_2_x1[0][0] __________________________________________________________________________________________________ conv2_2_x2_scale (Scale) (None, 16, 16, 128) 256 conv2_2_x2_bn[0][0] __________________________________________________________________________________________________ relu2_2_x2 (Activation) (None, 16, 16, 128) 0 conv2_2_x2_scale[0][0] __________________________________________________________________________________________________ conv2_2_x2_zeropadding (ZeroPad (None, 18, 18, 128) 0 relu2_2_x2[0][0] __________________________________________________________________________________________________ conv2_2_x2 (Conv2D) (None, 16, 16, 32) 36864 conv2_2_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_2_2 (Merge) (None, 16, 16, 128) 0 concat_2_1[0][0] conv2_2_x2[0][0] __________________________________________________________________________________________________ conv2_3_x1_bn (BatchNormalizati (None, 16, 16, 128) 512 concat_2_2[0][0] __________________________________________________________________________________________________ conv2_3_x1_scale (Scale) (None, 16, 16, 128) 256 conv2_3_x1_bn[0][0] __________________________________________________________________________________________________ relu2_3_x1 (Activation) (None, 16, 16, 128) 0 conv2_3_x1_scale[0][0] __________________________________________________________________________________________________ conv2_3_x1 (Conv2D) (None, 16, 16, 128) 16384 relu2_3_x1[0][0] __________________________________________________________________________________________________ conv2_3_x2_bn (BatchNormalizati (None, 16, 16, 128) 512 conv2_3_x1[0][0] __________________________________________________________________________________________________ conv2_3_x2_scale (Scale) (None, 16, 16, 128) 256 conv2_3_x2_bn[0][0] __________________________________________________________________________________________________ relu2_3_x2 (Activation) (None, 16, 16, 128) 0 conv2_3_x2_scale[0][0] __________________________________________________________________________________________________ conv2_3_x2_zeropadding (ZeroPad (None, 18, 18, 128) 0 relu2_3_x2[0][0] __________________________________________________________________________________________________ conv2_3_x2 (Conv2D) (None, 16, 16, 32) 36864 conv2_3_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_2_3 (Merge) (None, 16, 16, 160) 0 concat_2_2[0][0] conv2_3_x2[0][0] __________________________________________________________________________________________________ conv2_4_x1_bn (BatchNormalizati (None, 16, 16, 160) 640 concat_2_3[0][0] __________________________________________________________________________________________________ conv2_4_x1_scale (Scale) (None, 16, 16, 160) 320 conv2_4_x1_bn[0][0] __________________________________________________________________________________________________ relu2_4_x1 (Activation) (None, 16, 16, 160) 0 conv2_4_x1_scale[0][0] __________________________________________________________________________________________________ conv2_4_x1 (Conv2D) (None, 16, 16, 128) 20480 relu2_4_x1[0][0] __________________________________________________________________________________________________ conv2_4_x2_bn (BatchNormalizati (None, 16, 16, 128) 512 conv2_4_x1[0][0] __________________________________________________________________________________________________ conv2_4_x2_scale (Scale) (None, 16, 16, 128) 256 conv2_4_x2_bn[0][0] __________________________________________________________________________________________________ relu2_4_x2 (Activation) (None, 16, 16, 128) 0 conv2_4_x2_scale[0][0] __________________________________________________________________________________________________ conv2_4_x2_zeropadding (ZeroPad (None, 18, 18, 128) 0 relu2_4_x2[0][0] __________________________________________________________________________________________________ conv2_4_x2 (Conv2D) (None, 16, 16, 32) 36864 conv2_4_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_2_4 (Merge) (None, 16, 16, 192) 0 concat_2_3[0][0] conv2_4_x2[0][0] __________________________________________________________________________________________________ conv2_5_x1_bn (BatchNormalizati (None, 16, 16, 192) 768 concat_2_4[0][0] __________________________________________________________________________________________________ conv2_5_x1_scale (Scale) (None, 16, 16, 192) 384 conv2_5_x1_bn[0][0] __________________________________________________________________________________________________ relu2_5_x1 (Activation) (None, 16, 16, 192) 0 conv2_5_x1_scale[0][0] __________________________________________________________________________________________________ conv2_5_x1 (Conv2D) (None, 16, 16, 128) 24576 relu2_5_x1[0][0] __________________________________________________________________________________________________ conv2_5_x2_bn (BatchNormalizati (None, 16, 16, 128) 512 conv2_5_x1[0][0] __________________________________________________________________________________________________ conv2_5_x2_scale (Scale) (None, 16, 16, 128) 256 conv2_5_x2_bn[0][0] __________________________________________________________________________________________________ relu2_5_x2 (Activation) (None, 16, 16, 128) 0 conv2_5_x2_scale[0][0] __________________________________________________________________________________________________ conv2_5_x2_zeropadding (ZeroPad (None, 18, 18, 128) 0 relu2_5_x2[0][0] __________________________________________________________________________________________________ conv2_5_x2 (Conv2D) (None, 16, 16, 32) 36864 conv2_5_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_2_5 (Merge) (None, 16, 16, 224) 0 concat_2_4[0][0] conv2_5_x2[0][0] __________________________________________________________________________________________________ conv2_6_x1_bn (BatchNormalizati (None, 16, 16, 224) 896 concat_2_5[0][0] __________________________________________________________________________________________________ conv2_6_x1_scale (Scale) (None, 16, 16, 224) 448 conv2_6_x1_bn[0][0] __________________________________________________________________________________________________ relu2_6_x1 (Activation) (None, 16, 16, 224) 0 conv2_6_x1_scale[0][0] __________________________________________________________________________________________________ conv2_6_x1 (Conv2D) (None, 16, 16, 128) 28672 relu2_6_x1[0][0] __________________________________________________________________________________________________ conv2_6_x2_bn (BatchNormalizati (None, 16, 16, 128) 512 conv2_6_x1[0][0] __________________________________________________________________________________________________ conv2_6_x2_scale (Scale) (None, 16, 16, 128) 256 conv2_6_x2_bn[0][0] __________________________________________________________________________________________________ relu2_6_x2 (Activation) (None, 16, 16, 128) 0 conv2_6_x2_scale[0][0] __________________________________________________________________________________________________ conv2_6_x2_zeropadding (ZeroPad (None, 18, 18, 128) 0 relu2_6_x2[0][0] __________________________________________________________________________________________________ conv2_6_x2 (Conv2D) (None, 16, 16, 32) 36864 conv2_6_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_2_6 (Merge) (None, 16, 16, 256) 0 concat_2_5[0][0] conv2_6_x2[0][0] __________________________________________________________________________________________________ conv2_blk_bn (BatchNormalizatio (None, 16, 16, 256) 1024 concat_2_6[0][0] __________________________________________________________________________________________________ conv2_blk_scale (Scale) (None, 16, 16, 256) 512 conv2_blk_bn[0][0] __________________________________________________________________________________________________ relu2_blk (Activation) (None, 16, 16, 256) 0 conv2_blk_scale[0][0] __________________________________________________________________________________________________ conv2_blk (Conv2D) (None, 16, 16, 128) 32768 relu2_blk[0][0] __________________________________________________________________________________________________ pool2 (AveragePooling2D) (None, 8, 8, 128) 0 conv2_blk[0][0] __________________________________________________________________________________________________ conv3_1_x1_bn (BatchNormalizati (None, 8, 8, 128) 512 pool2[0][0] __________________________________________________________________________________________________ conv3_1_x1_scale (Scale) (None, 8, 8, 128) 256 conv3_1_x1_bn[0][0] __________________________________________________________________________________________________ relu3_1_x1 (Activation) (None, 8, 8, 128) 0 conv3_1_x1_scale[0][0] __________________________________________________________________________________________________ conv3_1_x1 (Conv2D) (None, 8, 8, 128) 16384 relu3_1_x1[0][0] __________________________________________________________________________________________________ conv3_1_x2_bn (BatchNormalizati (None, 8, 8, 128) 512 conv3_1_x1[0][0] __________________________________________________________________________________________________ conv3_1_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_1_x2_bn[0][0] __________________________________________________________________________________________________ relu3_1_x2 (Activation) (None, 8, 8, 128) 0 conv3_1_x2_scale[0][0] __________________________________________________________________________________________________ conv3_1_x2_zeropadding (ZeroPad (None, 10, 10, 128) 0 relu3_1_x2[0][0] __________________________________________________________________________________________________ conv3_1_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_1_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_1 (Merge) (None, 8, 8, 160) 0 pool2[0][0] conv3_1_x2[0][0] __________________________________________________________________________________________________ conv3_2_x1_bn (BatchNormalizati (None, 8, 8, 160) 640 concat_3_1[0][0] __________________________________________________________________________________________________ conv3_2_x1_scale (Scale) (None, 8, 8, 160) 320 conv3_2_x1_bn[0][0] __________________________________________________________________________________________________ relu3_2_x1 (Activation) (None, 8, 8, 160) 0 conv3_2_x1_scale[0][0] __________________________________________________________________________________________________ conv3_2_x1 (Conv2D) (None, 8, 8, 128) 20480 relu3_2_x1[0][0] __________________________________________________________________________________________________ conv3_2_x2_bn (BatchNormalizati (None, 8, 8, 128) 512 conv3_2_x1[0][0] __________________________________________________________________________________________________ conv3_2_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_2_x2_bn[0][0] __________________________________________________________________________________________________ relu3_2_x2 (Activation) (None, 8, 8, 128) 0 conv3_2_x2_scale[0][0] __________________________________________________________________________________________________ conv3_2_x2_zeropadding (ZeroPad (None, 10, 10, 128) 0 relu3_2_x2[0][0] __________________________________________________________________________________________________ conv3_2_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_2_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_2 (Merge) (None, 8, 8, 192) 0 concat_3_1[0][0] conv3_2_x2[0][0] __________________________________________________________________________________________________ conv3_3_x1_bn (BatchNormalizati (None, 8, 8, 192) 768 concat_3_2[0][0] __________________________________________________________________________________________________ conv3_3_x1_scale (Scale) (None, 8, 8, 192) 384 conv3_3_x1_bn[0][0] __________________________________________________________________________________________________ relu3_3_x1 (Activation) (None, 8, 8, 192) 0 conv3_3_x1_scale[0][0] __________________________________________________________________________________________________ conv3_3_x1 (Conv2D) (None, 8, 8, 128) 24576 relu3_3_x1[0][0] __________________________________________________________________________________________________ conv3_3_x2_bn (BatchNormalizati (None, 8, 8, 128) 512 conv3_3_x1[0][0] __________________________________________________________________________________________________ conv3_3_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_3_x2_bn[0][0] __________________________________________________________________________________________________ relu3_3_x2 (Activation) (None, 8, 8, 128) 0 conv3_3_x2_scale[0][0] __________________________________________________________________________________________________ conv3_3_x2_zeropadding (ZeroPad (None, 10, 10, 128) 0 relu3_3_x2[0][0] __________________________________________________________________________________________________ conv3_3_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_3_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_3 (Merge) (None, 8, 8, 224) 0 concat_3_2[0][0] conv3_3_x2[0][0] __________________________________________________________________________________________________ conv3_4_x1_bn (BatchNormalizati (None, 8, 8, 224) 896 concat_3_3[0][0] __________________________________________________________________________________________________ conv3_4_x1_scale (Scale) (None, 8, 8, 224) 448 conv3_4_x1_bn[0][0] __________________________________________________________________________________________________ relu3_4_x1 (Activation) (None, 8, 8, 224) 0 conv3_4_x1_scale[0][0] __________________________________________________________________________________________________ conv3_4_x1 (Conv2D) (None, 8, 8, 128) 28672 relu3_4_x1[0][0] __________________________________________________________________________________________________ conv3_4_x2_bn (BatchNormalizati (None, 8, 8, 128) 512 conv3_4_x1[0][0] __________________________________________________________________________________________________ conv3_4_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_4_x2_bn[0][0] __________________________________________________________________________________________________ relu3_4_x2 (Activation) (None, 8, 8, 128) 0 conv3_4_x2_scale[0][0] __________________________________________________________________________________________________ conv3_4_x2_zeropadding (ZeroPad (None, 10, 10, 128) 0 relu3_4_x2[0][0] __________________________________________________________________________________________________ conv3_4_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_4_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_4 (Merge) (None, 8, 8, 256) 0 concat_3_3[0][0] conv3_4_x2[0][0] __________________________________________________________________________________________________ conv3_5_x1_bn (BatchNormalizati (None, 8, 8, 256) 1024 concat_3_4[0][0] __________________________________________________________________________________________________ conv3_5_x1_scale (Scale) (None, 8, 8, 256) 512 conv3_5_x1_bn[0][0] __________________________________________________________________________________________________ relu3_5_x1 (Activation) (None, 8, 8, 256) 0 conv3_5_x1_scale[0][0] __________________________________________________________________________________________________ conv3_5_x1 (Conv2D) (None, 8, 8, 128) 32768 relu3_5_x1[0][0] __________________________________________________________________________________________________ conv3_5_x2_bn (BatchNormalizati (None, 8, 8, 128) 512 conv3_5_x1[0][0] __________________________________________________________________________________________________ conv3_5_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_5_x2_bn[0][0] __________________________________________________________________________________________________ relu3_5_x2 (Activation) (None, 8, 8, 128) 0 conv3_5_x2_scale[0][0] __________________________________________________________________________________________________ conv3_5_x2_zeropadding (ZeroPad (None, 10, 10, 128) 0 relu3_5_x2[0][0] __________________________________________________________________________________________________ conv3_5_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_5_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_5 (Merge) (None, 8, 8, 288) 0 concat_3_4[0][0] conv3_5_x2[0][0] __________________________________________________________________________________________________ conv3_6_x1_bn (BatchNormalizati (None, 8, 8, 288) 1152 concat_3_5[0][0] __________________________________________________________________________________________________ conv3_6_x1_scale (Scale) (None, 8, 8, 288) 576 conv3_6_x1_bn[0][0] __________________________________________________________________________________________________ relu3_6_x1 (Activation) (None, 8, 8, 288) 0 conv3_6_x1_scale[0][0] __________________________________________________________________________________________________ conv3_6_x1 (Conv2D) (None, 8, 8, 128) 36864 relu3_6_x1[0][0] __________________________________________________________________________________________________ conv3_6_x2_bn (BatchNormalizati (None, 8, 8, 128) 512 conv3_6_x1[0][0] __________________________________________________________________________________________________ conv3_6_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_6_x2_bn[0][0] __________________________________________________________________________________________________ relu3_6_x2 (Activation) (None, 8, 8, 128) 0 conv3_6_x2_scale[0][0] __________________________________________________________________________________________________ conv3_6_x2_zeropadding (ZeroPad (None, 10, 10, 128) 0 relu3_6_x2[0][0] __________________________________________________________________________________________________ conv3_6_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_6_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_6 (Merge) (None, 8, 8, 320) 0 concat_3_5[0][0] conv3_6_x2[0][0] __________________________________________________________________________________________________ conv3_7_x1_bn (BatchNormalizati (None, 8, 8, 320) 1280 concat_3_6[0][0] __________________________________________________________________________________________________ conv3_7_x1_scale (Scale) (None, 8, 8, 320) 640 conv3_7_x1_bn[0][0] __________________________________________________________________________________________________ relu3_7_x1 (Activation) (None, 8, 8, 320) 0 conv3_7_x1_scale[0][0] __________________________________________________________________________________________________ conv3_7_x1 (Conv2D) (None, 8, 8, 128) 40960 relu3_7_x1[0][0] __________________________________________________________________________________________________ conv3_7_x2_bn (BatchNormalizati (None, 8, 8, 128) 512 conv3_7_x1[0][0] __________________________________________________________________________________________________ conv3_7_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_7_x2_bn[0][0] __________________________________________________________________________________________________ relu3_7_x2 (Activation) (None, 8, 8, 128) 0 conv3_7_x2_scale[0][0] __________________________________________________________________________________________________ conv3_7_x2_zeropadding (ZeroPad (None, 10, 10, 128) 0 relu3_7_x2[0][0] __________________________________________________________________________________________________ conv3_7_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_7_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_7 (Merge) (None, 8, 8, 352) 0 concat_3_6[0][0] conv3_7_x2[0][0] __________________________________________________________________________________________________ conv3_8_x1_bn (BatchNormalizati (None, 8, 8, 352) 1408 concat_3_7[0][0] __________________________________________________________________________________________________ conv3_8_x1_scale (Scale) (None, 8, 8, 352) 704 conv3_8_x1_bn[0][0] __________________________________________________________________________________________________ relu3_8_x1 (Activation) (None, 8, 8, 352) 0 conv3_8_x1_scale[0][0] __________________________________________________________________________________________________ conv3_8_x1 (Conv2D) (None, 8, 8, 128) 45056 relu3_8_x1[0][0] __________________________________________________________________________________________________ conv3_8_x2_bn (BatchNormalizati (None, 8, 8, 128) 512 conv3_8_x1[0][0] __________________________________________________________________________________________________ conv3_8_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_8_x2_bn[0][0] __________________________________________________________________________________________________ relu3_8_x2 (Activation) (None, 8, 8, 128) 0 conv3_8_x2_scale[0][0] __________________________________________________________________________________________________ conv3_8_x2_zeropadding (ZeroPad (None, 10, 10, 128) 0 relu3_8_x2[0][0] __________________________________________________________________________________________________ conv3_8_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_8_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_8 (Merge) (None, 8, 8, 384) 0 concat_3_7[0][0] conv3_8_x2[0][0] __________________________________________________________________________________________________ conv3_9_x1_bn (BatchNormalizati (None, 8, 8, 384) 1536 concat_3_8[0][0] __________________________________________________________________________________________________ conv3_9_x1_scale (Scale) (None, 8, 8, 384) 768 conv3_9_x1_bn[0][0] __________________________________________________________________________________________________ relu3_9_x1 (Activation) (None, 8, 8, 384) 0 conv3_9_x1_scale[0][0] __________________________________________________________________________________________________ conv3_9_x1 (Conv2D) (None, 8, 8, 128) 49152 relu3_9_x1[0][0] __________________________________________________________________________________________________ conv3_9_x2_bn (BatchNormalizati (None, 8, 8, 128) 512 conv3_9_x1[0][0] __________________________________________________________________________________________________ conv3_9_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_9_x2_bn[0][0] __________________________________________________________________________________________________ relu3_9_x2 (Activation) (None, 8, 8, 128) 0 conv3_9_x2_scale[0][0] __________________________________________________________________________________________________ conv3_9_x2_zeropadding (ZeroPad (None, 10, 10, 128) 0 relu3_9_x2[0][0] __________________________________________________________________________________________________ conv3_9_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_9_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_9 (Merge) (None, 8, 8, 416) 0 concat_3_8[0][0] conv3_9_x2[0][0] __________________________________________________________________________________________________ conv3_10_x1_bn (BatchNormalizat (None, 8, 8, 416) 1664 concat_3_9[0][0] __________________________________________________________________________________________________ conv3_10_x1_scale (Scale) (None, 8, 8, 416) 832 conv3_10_x1_bn[0][0] __________________________________________________________________________________________________ relu3_10_x1 (Activation) (None, 8, 8, 416) 0 conv3_10_x1_scale[0][0] __________________________________________________________________________________________________ conv3_10_x1 (Conv2D) (None, 8, 8, 128) 53248 relu3_10_x1[0][0] __________________________________________________________________________________________________ conv3_10_x2_bn (BatchNormalizat (None, 8, 8, 128) 512 conv3_10_x1[0][0] __________________________________________________________________________________________________ conv3_10_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_10_x2_bn[0][0] __________________________________________________________________________________________________ relu3_10_x2 (Activation) (None, 8, 8, 128) 0 conv3_10_x2_scale[0][0] __________________________________________________________________________________________________ conv3_10_x2_zeropadding (ZeroPa (None, 10, 10, 128) 0 relu3_10_x2[0][0] __________________________________________________________________________________________________ conv3_10_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_10_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_10 (Merge) (None, 8, 8, 448) 0 concat_3_9[0][0] conv3_10_x2[0][0] __________________________________________________________________________________________________ conv3_11_x1_bn (BatchNormalizat (None, 8, 8, 448) 1792 concat_3_10[0][0] __________________________________________________________________________________________________ conv3_11_x1_scale (Scale) (None, 8, 8, 448) 896 conv3_11_x1_bn[0][0] __________________________________________________________________________________________________ relu3_11_x1 (Activation) (None, 8, 8, 448) 0 conv3_11_x1_scale[0][0] __________________________________________________________________________________________________ conv3_11_x1 (Conv2D) (None, 8, 8, 128) 57344 relu3_11_x1[0][0] __________________________________________________________________________________________________ conv3_11_x2_bn (BatchNormalizat (None, 8, 8, 128) 512 conv3_11_x1[0][0] __________________________________________________________________________________________________ conv3_11_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_11_x2_bn[0][0] __________________________________________________________________________________________________ relu3_11_x2 (Activation) (None, 8, 8, 128) 0 conv3_11_x2_scale[0][0] __________________________________________________________________________________________________ conv3_11_x2_zeropadding (ZeroPa (None, 10, 10, 128) 0 relu3_11_x2[0][0] __________________________________________________________________________________________________ conv3_11_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_11_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_11 (Merge) (None, 8, 8, 480) 0 concat_3_10[0][0] conv3_11_x2[0][0] __________________________________________________________________________________________________ conv3_12_x1_bn (BatchNormalizat (None, 8, 8, 480) 1920 concat_3_11[0][0] __________________________________________________________________________________________________ conv3_12_x1_scale (Scale) (None, 8, 8, 480) 960 conv3_12_x1_bn[0][0] __________________________________________________________________________________________________ relu3_12_x1 (Activation) (None, 8, 8, 480) 0 conv3_12_x1_scale[0][0] __________________________________________________________________________________________________ conv3_12_x1 (Conv2D) (None, 8, 8, 128) 61440 relu3_12_x1[0][0] __________________________________________________________________________________________________ conv3_12_x2_bn (BatchNormalizat (None, 8, 8, 128) 512 conv3_12_x1[0][0] __________________________________________________________________________________________________ conv3_12_x2_scale (Scale) (None, 8, 8, 128) 256 conv3_12_x2_bn[0][0] __________________________________________________________________________________________________ relu3_12_x2 (Activation) (None, 8, 8, 128) 0 conv3_12_x2_scale[0][0] __________________________________________________________________________________________________ conv3_12_x2_zeropadding (ZeroPa (None, 10, 10, 128) 0 relu3_12_x2[0][0] __________________________________________________________________________________________________ conv3_12_x2 (Conv2D) (None, 8, 8, 32) 36864 conv3_12_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_3_12 (Merge) (None, 8, 8, 512) 0 concat_3_11[0][0] conv3_12_x2[0][0] __________________________________________________________________________________________________ conv3_blk_bn (BatchNormalizatio (None, 8, 8, 512) 2048 concat_3_12[0][0] __________________________________________________________________________________________________ conv3_blk_scale (Scale) (None, 8, 8, 512) 1024 conv3_blk_bn[0][0] __________________________________________________________________________________________________ relu3_blk (Activation) (None, 8, 8, 512) 0 conv3_blk_scale[0][0] __________________________________________________________________________________________________ conv3_blk (Conv2D) (None, 8, 8, 256) 131072 relu3_blk[0][0] __________________________________________________________________________________________________ pool3 (AveragePooling2D) (None, 4, 4, 256) 0 conv3_blk[0][0] __________________________________________________________________________________________________ conv4_1_x1_bn (BatchNormalizati (None, 4, 4, 256) 1024 pool3[0][0] __________________________________________________________________________________________________ conv4_1_x1_scale (Scale) (None, 4, 4, 256) 512 conv4_1_x1_bn[0][0] __________________________________________________________________________________________________ relu4_1_x1 (Activation) (None, 4, 4, 256) 0 conv4_1_x1_scale[0][0] __________________________________________________________________________________________________ conv4_1_x1 (Conv2D) (None, 4, 4, 128) 32768 relu4_1_x1[0][0] __________________________________________________________________________________________________ conv4_1_x2_bn (BatchNormalizati (None, 4, 4, 128) 512 conv4_1_x1[0][0] __________________________________________________________________________________________________ conv4_1_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_1_x2_bn[0][0] __________________________________________________________________________________________________ relu4_1_x2 (Activation) (None, 4, 4, 128) 0 conv4_1_x2_scale[0][0] __________________________________________________________________________________________________ conv4_1_x2_zeropadding (ZeroPad (None, 6, 6, 128) 0 relu4_1_x2[0][0] __________________________________________________________________________________________________ conv4_1_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_1_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_1 (Merge) (None, 4, 4, 288) 0 pool3[0][0] conv4_1_x2[0][0] __________________________________________________________________________________________________ conv4_2_x1_bn (BatchNormalizati (None, 4, 4, 288) 1152 concat_4_1[0][0] __________________________________________________________________________________________________ conv4_2_x1_scale (Scale) (None, 4, 4, 288) 576 conv4_2_x1_bn[0][0] __________________________________________________________________________________________________ relu4_2_x1 (Activation) (None, 4, 4, 288) 0 conv4_2_x1_scale[0][0] __________________________________________________________________________________________________ conv4_2_x1 (Conv2D) (None, 4, 4, 128) 36864 relu4_2_x1[0][0] __________________________________________________________________________________________________ conv4_2_x2_bn (BatchNormalizati (None, 4, 4, 128) 512 conv4_2_x1[0][0] __________________________________________________________________________________________________ conv4_2_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_2_x2_bn[0][0] __________________________________________________________________________________________________ relu4_2_x2 (Activation) (None, 4, 4, 128) 0 conv4_2_x2_scale[0][0] __________________________________________________________________________________________________ conv4_2_x2_zeropadding (ZeroPad (None, 6, 6, 128) 0 relu4_2_x2[0][0] __________________________________________________________________________________________________ conv4_2_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_2_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_2 (Merge) (None, 4, 4, 320) 0 concat_4_1[0][0] conv4_2_x2[0][0] __________________________________________________________________________________________________ conv4_3_x1_bn (BatchNormalizati (None, 4, 4, 320) 1280 concat_4_2[0][0] __________________________________________________________________________________________________ conv4_3_x1_scale (Scale) (None, 4, 4, 320) 640 conv4_3_x1_bn[0][0] __________________________________________________________________________________________________ relu4_3_x1 (Activation) (None, 4, 4, 320) 0 conv4_3_x1_scale[0][0] __________________________________________________________________________________________________ conv4_3_x1 (Conv2D) (None, 4, 4, 128) 40960 relu4_3_x1[0][0] __________________________________________________________________________________________________ conv4_3_x2_bn (BatchNormalizati (None, 4, 4, 128) 512 conv4_3_x1[0][0] __________________________________________________________________________________________________ conv4_3_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_3_x2_bn[0][0] __________________________________________________________________________________________________ relu4_3_x2 (Activation) (None, 4, 4, 128) 0 conv4_3_x2_scale[0][0] __________________________________________________________________________________________________ conv4_3_x2_zeropadding (ZeroPad (None, 6, 6, 128) 0 relu4_3_x2[0][0] __________________________________________________________________________________________________ conv4_3_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_3_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_3 (Merge) (None, 4, 4, 352) 0 concat_4_2[0][0] conv4_3_x2[0][0] __________________________________________________________________________________________________ conv4_4_x1_bn (BatchNormalizati (None, 4, 4, 352) 1408 concat_4_3[0][0] __________________________________________________________________________________________________ conv4_4_x1_scale (Scale) (None, 4, 4, 352) 704 conv4_4_x1_bn[0][0] __________________________________________________________________________________________________ relu4_4_x1 (Activation) (None, 4, 4, 352) 0 conv4_4_x1_scale[0][0] __________________________________________________________________________________________________ conv4_4_x1 (Conv2D) (None, 4, 4, 128) 45056 relu4_4_x1[0][0] __________________________________________________________________________________________________ conv4_4_x2_bn (BatchNormalizati (None, 4, 4, 128) 512 conv4_4_x1[0][0] __________________________________________________________________________________________________ conv4_4_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_4_x2_bn[0][0] __________________________________________________________________________________________________ relu4_4_x2 (Activation) (None, 4, 4, 128) 0 conv4_4_x2_scale[0][0] __________________________________________________________________________________________________ conv4_4_x2_zeropadding (ZeroPad (None, 6, 6, 128) 0 relu4_4_x2[0][0] __________________________________________________________________________________________________ conv4_4_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_4_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_4 (Merge) (None, 4, 4, 384) 0 concat_4_3[0][0] conv4_4_x2[0][0] __________________________________________________________________________________________________ conv4_5_x1_bn (BatchNormalizati (None, 4, 4, 384) 1536 concat_4_4[0][0] __________________________________________________________________________________________________ conv4_5_x1_scale (Scale) (None, 4, 4, 384) 768 conv4_5_x1_bn[0][0] __________________________________________________________________________________________________ relu4_5_x1 (Activation) (None, 4, 4, 384) 0 conv4_5_x1_scale[0][0] __________________________________________________________________________________________________ conv4_5_x1 (Conv2D) (None, 4, 4, 128) 49152 relu4_5_x1[0][0] __________________________________________________________________________________________________ conv4_5_x2_bn (BatchNormalizati (None, 4, 4, 128) 512 conv4_5_x1[0][0] __________________________________________________________________________________________________ conv4_5_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_5_x2_bn[0][0] __________________________________________________________________________________________________ relu4_5_x2 (Activation) (None, 4, 4, 128) 0 conv4_5_x2_scale[0][0] __________________________________________________________________________________________________ conv4_5_x2_zeropadding (ZeroPad (None, 6, 6, 128) 0 relu4_5_x2[0][0] __________________________________________________________________________________________________ conv4_5_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_5_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_5 (Merge) (None, 4, 4, 416) 0 concat_4_4[0][0] conv4_5_x2[0][0] __________________________________________________________________________________________________ conv4_6_x1_bn (BatchNormalizati (None, 4, 4, 416) 1664 concat_4_5[0][0] __________________________________________________________________________________________________ conv4_6_x1_scale (Scale) (None, 4, 4, 416) 832 conv4_6_x1_bn[0][0] __________________________________________________________________________________________________ relu4_6_x1 (Activation) (None, 4, 4, 416) 0 conv4_6_x1_scale[0][0] __________________________________________________________________________________________________ conv4_6_x1 (Conv2D) (None, 4, 4, 128) 53248 relu4_6_x1[0][0] __________________________________________________________________________________________________ conv4_6_x2_bn (BatchNormalizati (None, 4, 4, 128) 512 conv4_6_x1[0][0] __________________________________________________________________________________________________ conv4_6_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_6_x2_bn[0][0] __________________________________________________________________________________________________ relu4_6_x2 (Activation) (None, 4, 4, 128) 0 conv4_6_x2_scale[0][0] __________________________________________________________________________________________________ conv4_6_x2_zeropadding (ZeroPad (None, 6, 6, 128) 0 relu4_6_x2[0][0] __________________________________________________________________________________________________ conv4_6_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_6_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_6 (Merge) (None, 4, 4, 448) 0 concat_4_5[0][0] conv4_6_x2[0][0] __________________________________________________________________________________________________ conv4_7_x1_bn (BatchNormalizati (None, 4, 4, 448) 1792 concat_4_6[0][0] __________________________________________________________________________________________________ conv4_7_x1_scale (Scale) (None, 4, 4, 448) 896 conv4_7_x1_bn[0][0] __________________________________________________________________________________________________ relu4_7_x1 (Activation) (None, 4, 4, 448) 0 conv4_7_x1_scale[0][0] __________________________________________________________________________________________________ conv4_7_x1 (Conv2D) (None, 4, 4, 128) 57344 relu4_7_x1[0][0] __________________________________________________________________________________________________ conv4_7_x2_bn (BatchNormalizati (None, 4, 4, 128) 512 conv4_7_x1[0][0] __________________________________________________________________________________________________ conv4_7_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_7_x2_bn[0][0] __________________________________________________________________________________________________ relu4_7_x2 (Activation) (None, 4, 4, 128) 0 conv4_7_x2_scale[0][0] __________________________________________________________________________________________________ conv4_7_x2_zeropadding (ZeroPad (None, 6, 6, 128) 0 relu4_7_x2[0][0] __________________________________________________________________________________________________ conv4_7_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_7_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_7 (Merge) (None, 4, 4, 480) 0 concat_4_6[0][0] conv4_7_x2[0][0] __________________________________________________________________________________________________ conv4_8_x1_bn (BatchNormalizati (None, 4, 4, 480) 1920 concat_4_7[0][0] __________________________________________________________________________________________________ conv4_8_x1_scale (Scale) (None, 4, 4, 480) 960 conv4_8_x1_bn[0][0] __________________________________________________________________________________________________ relu4_8_x1 (Activation) (None, 4, 4, 480) 0 conv4_8_x1_scale[0][0] __________________________________________________________________________________________________ conv4_8_x1 (Conv2D) (None, 4, 4, 128) 61440 relu4_8_x1[0][0] __________________________________________________________________________________________________ conv4_8_x2_bn (BatchNormalizati (None, 4, 4, 128) 512 conv4_8_x1[0][0] __________________________________________________________________________________________________ conv4_8_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_8_x2_bn[0][0] __________________________________________________________________________________________________ relu4_8_x2 (Activation) (None, 4, 4, 128) 0 conv4_8_x2_scale[0][0] __________________________________________________________________________________________________ conv4_8_x2_zeropadding (ZeroPad (None, 6, 6, 128) 0 relu4_8_x2[0][0] __________________________________________________________________________________________________ conv4_8_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_8_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_8 (Merge) (None, 4, 4, 512) 0 concat_4_7[0][0] conv4_8_x2[0][0] __________________________________________________________________________________________________ conv4_9_x1_bn (BatchNormalizati (None, 4, 4, 512) 2048 concat_4_8[0][0] __________________________________________________________________________________________________ conv4_9_x1_scale (Scale) (None, 4, 4, 512) 1024 conv4_9_x1_bn[0][0] __________________________________________________________________________________________________ relu4_9_x1 (Activation) (None, 4, 4, 512) 0 conv4_9_x1_scale[0][0] __________________________________________________________________________________________________ conv4_9_x1 (Conv2D) (None, 4, 4, 128) 65536 relu4_9_x1[0][0] __________________________________________________________________________________________________ conv4_9_x2_bn (BatchNormalizati (None, 4, 4, 128) 512 conv4_9_x1[0][0] __________________________________________________________________________________________________ conv4_9_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_9_x2_bn[0][0] __________________________________________________________________________________________________ relu4_9_x2 (Activation) (None, 4, 4, 128) 0 conv4_9_x2_scale[0][0] __________________________________________________________________________________________________ conv4_9_x2_zeropadding (ZeroPad (None, 6, 6, 128) 0 relu4_9_x2[0][0] __________________________________________________________________________________________________ conv4_9_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_9_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_9 (Merge) (None, 4, 4, 544) 0 concat_4_8[0][0] conv4_9_x2[0][0] __________________________________________________________________________________________________ conv4_10_x1_bn (BatchNormalizat (None, 4, 4, 544) 2176 concat_4_9[0][0] __________________________________________________________________________________________________ conv4_10_x1_scale (Scale) (None, 4, 4, 544) 1088 conv4_10_x1_bn[0][0] __________________________________________________________________________________________________ relu4_10_x1 (Activation) (None, 4, 4, 544) 0 conv4_10_x1_scale[0][0] __________________________________________________________________________________________________ conv4_10_x1 (Conv2D) (None, 4, 4, 128) 69632 relu4_10_x1[0][0] __________________________________________________________________________________________________ conv4_10_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_10_x1[0][0] __________________________________________________________________________________________________ conv4_10_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_10_x2_bn[0][0] __________________________________________________________________________________________________ relu4_10_x2 (Activation) (None, 4, 4, 128) 0 conv4_10_x2_scale[0][0] __________________________________________________________________________________________________ conv4_10_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_10_x2[0][0] __________________________________________________________________________________________________ conv4_10_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_10_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_10 (Merge) (None, 4, 4, 576) 0 concat_4_9[0][0] conv4_10_x2[0][0] __________________________________________________________________________________________________ conv4_11_x1_bn (BatchNormalizat (None, 4, 4, 576) 2304 concat_4_10[0][0] __________________________________________________________________________________________________ conv4_11_x1_scale (Scale) (None, 4, 4, 576) 1152 conv4_11_x1_bn[0][0] __________________________________________________________________________________________________ relu4_11_x1 (Activation) (None, 4, 4, 576) 0 conv4_11_x1_scale[0][0] __________________________________________________________________________________________________ conv4_11_x1 (Conv2D) (None, 4, 4, 128) 73728 relu4_11_x1[0][0] __________________________________________________________________________________________________ conv4_11_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_11_x1[0][0] __________________________________________________________________________________________________ conv4_11_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_11_x2_bn[0][0] __________________________________________________________________________________________________ relu4_11_x2 (Activation) (None, 4, 4, 128) 0 conv4_11_x2_scale[0][0] __________________________________________________________________________________________________ conv4_11_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_11_x2[0][0] __________________________________________________________________________________________________ conv4_11_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_11_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_11 (Merge) (None, 4, 4, 608) 0 concat_4_10[0][0] conv4_11_x2[0][0] __________________________________________________________________________________________________ conv4_12_x1_bn (BatchNormalizat (None, 4, 4, 608) 2432 concat_4_11[0][0] __________________________________________________________________________________________________ conv4_12_x1_scale (Scale) (None, 4, 4, 608) 1216 conv4_12_x1_bn[0][0] __________________________________________________________________________________________________ relu4_12_x1 (Activation) (None, 4, 4, 608) 0 conv4_12_x1_scale[0][0] __________________________________________________________________________________________________ conv4_12_x1 (Conv2D) (None, 4, 4, 128) 77824 relu4_12_x1[0][0] __________________________________________________________________________________________________ conv4_12_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_12_x1[0][0] __________________________________________________________________________________________________ conv4_12_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_12_x2_bn[0][0] __________________________________________________________________________________________________ relu4_12_x2 (Activation) (None, 4, 4, 128) 0 conv4_12_x2_scale[0][0] __________________________________________________________________________________________________ conv4_12_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_12_x2[0][0] __________________________________________________________________________________________________ conv4_12_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_12_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_12 (Merge) (None, 4, 4, 640) 0 concat_4_11[0][0] conv4_12_x2[0][0] __________________________________________________________________________________________________ conv4_13_x1_bn (BatchNormalizat (None, 4, 4, 640) 2560 concat_4_12[0][0] __________________________________________________________________________________________________ conv4_13_x1_scale (Scale) (None, 4, 4, 640) 1280 conv4_13_x1_bn[0][0] __________________________________________________________________________________________________ relu4_13_x1 (Activation) (None, 4, 4, 640) 0 conv4_13_x1_scale[0][0] __________________________________________________________________________________________________ conv4_13_x1 (Conv2D) (None, 4, 4, 128) 81920 relu4_13_x1[0][0] __________________________________________________________________________________________________ conv4_13_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_13_x1[0][0] __________________________________________________________________________________________________ conv4_13_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_13_x2_bn[0][0] __________________________________________________________________________________________________ relu4_13_x2 (Activation) (None, 4, 4, 128) 0 conv4_13_x2_scale[0][0] __________________________________________________________________________________________________ conv4_13_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_13_x2[0][0] __________________________________________________________________________________________________ conv4_13_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_13_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_13 (Merge) (None, 4, 4, 672) 0 concat_4_12[0][0] conv4_13_x2[0][0] __________________________________________________________________________________________________ conv4_14_x1_bn (BatchNormalizat (None, 4, 4, 672) 2688 concat_4_13[0][0] __________________________________________________________________________________________________ conv4_14_x1_scale (Scale) (None, 4, 4, 672) 1344 conv4_14_x1_bn[0][0] __________________________________________________________________________________________________ relu4_14_x1 (Activation) (None, 4, 4, 672) 0 conv4_14_x1_scale[0][0] __________________________________________________________________________________________________ conv4_14_x1 (Conv2D) (None, 4, 4, 128) 86016 relu4_14_x1[0][0] __________________________________________________________________________________________________ conv4_14_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_14_x1[0][0] __________________________________________________________________________________________________ conv4_14_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_14_x2_bn[0][0] __________________________________________________________________________________________________ relu4_14_x2 (Activation) (None, 4, 4, 128) 0 conv4_14_x2_scale[0][0] __________________________________________________________________________________________________ conv4_14_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_14_x2[0][0] __________________________________________________________________________________________________ conv4_14_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_14_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_14 (Merge) (None, 4, 4, 704) 0 concat_4_13[0][0] conv4_14_x2[0][0] __________________________________________________________________________________________________ conv4_15_x1_bn (BatchNormalizat (None, 4, 4, 704) 2816 concat_4_14[0][0] __________________________________________________________________________________________________ conv4_15_x1_scale (Scale) (None, 4, 4, 704) 1408 conv4_15_x1_bn[0][0] __________________________________________________________________________________________________ relu4_15_x1 (Activation) (None, 4, 4, 704) 0 conv4_15_x1_scale[0][0] __________________________________________________________________________________________________ conv4_15_x1 (Conv2D) (None, 4, 4, 128) 90112 relu4_15_x1[0][0] __________________________________________________________________________________________________ conv4_15_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_15_x1[0][0] __________________________________________________________________________________________________ conv4_15_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_15_x2_bn[0][0] __________________________________________________________________________________________________ relu4_15_x2 (Activation) (None, 4, 4, 128) 0 conv4_15_x2_scale[0][0] __________________________________________________________________________________________________ conv4_15_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_15_x2[0][0] __________________________________________________________________________________________________ conv4_15_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_15_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_15 (Merge) (None, 4, 4, 736) 0 concat_4_14[0][0] conv4_15_x2[0][0] __________________________________________________________________________________________________ conv4_16_x1_bn (BatchNormalizat (None, 4, 4, 736) 2944 concat_4_15[0][0] __________________________________________________________________________________________________ conv4_16_x1_scale (Scale) (None, 4, 4, 736) 1472 conv4_16_x1_bn[0][0] __________________________________________________________________________________________________ relu4_16_x1 (Activation) (None, 4, 4, 736) 0 conv4_16_x1_scale[0][0] __________________________________________________________________________________________________ conv4_16_x1 (Conv2D) (None, 4, 4, 128) 94208 relu4_16_x1[0][0] __________________________________________________________________________________________________ conv4_16_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_16_x1[0][0] __________________________________________________________________________________________________ conv4_16_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_16_x2_bn[0][0] __________________________________________________________________________________________________ relu4_16_x2 (Activation) (None, 4, 4, 128) 0 conv4_16_x2_scale[0][0] __________________________________________________________________________________________________ conv4_16_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_16_x2[0][0] __________________________________________________________________________________________________ conv4_16_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_16_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_16 (Merge) (None, 4, 4, 768) 0 concat_4_15[0][0] conv4_16_x2[0][0] __________________________________________________________________________________________________ conv4_17_x1_bn (BatchNormalizat (None, 4, 4, 768) 3072 concat_4_16[0][0] __________________________________________________________________________________________________ conv4_17_x1_scale (Scale) (None, 4, 4, 768) 1536 conv4_17_x1_bn[0][0] __________________________________________________________________________________________________ relu4_17_x1 (Activation) (None, 4, 4, 768) 0 conv4_17_x1_scale[0][0] __________________________________________________________________________________________________ conv4_17_x1 (Conv2D) (None, 4, 4, 128) 98304 relu4_17_x1[0][0] __________________________________________________________________________________________________ conv4_17_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_17_x1[0][0] __________________________________________________________________________________________________ conv4_17_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_17_x2_bn[0][0] __________________________________________________________________________________________________ relu4_17_x2 (Activation) (None, 4, 4, 128) 0 conv4_17_x2_scale[0][0] __________________________________________________________________________________________________ conv4_17_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_17_x2[0][0] __________________________________________________________________________________________________ conv4_17_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_17_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_17 (Merge) (None, 4, 4, 800) 0 concat_4_16[0][0] conv4_17_x2[0][0] __________________________________________________________________________________________________ conv4_18_x1_bn (BatchNormalizat (None, 4, 4, 800) 3200 concat_4_17[0][0] __________________________________________________________________________________________________ conv4_18_x1_scale (Scale) (None, 4, 4, 800) 1600 conv4_18_x1_bn[0][0] __________________________________________________________________________________________________ relu4_18_x1 (Activation) (None, 4, 4, 800) 0 conv4_18_x1_scale[0][0] __________________________________________________________________________________________________ conv4_18_x1 (Conv2D) (None, 4, 4, 128) 102400 relu4_18_x1[0][0] __________________________________________________________________________________________________ conv4_18_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_18_x1[0][0] __________________________________________________________________________________________________ conv4_18_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_18_x2_bn[0][0] __________________________________________________________________________________________________ relu4_18_x2 (Activation) (None, 4, 4, 128) 0 conv4_18_x2_scale[0][0] __________________________________________________________________________________________________ conv4_18_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_18_x2[0][0] __________________________________________________________________________________________________ conv4_18_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_18_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_18 (Merge) (None, 4, 4, 832) 0 concat_4_17[0][0] conv4_18_x2[0][0] __________________________________________________________________________________________________ conv4_19_x1_bn (BatchNormalizat (None, 4, 4, 832) 3328 concat_4_18[0][0] __________________________________________________________________________________________________ conv4_19_x1_scale (Scale) (None, 4, 4, 832) 1664 conv4_19_x1_bn[0][0] __________________________________________________________________________________________________ relu4_19_x1 (Activation) (None, 4, 4, 832) 0 conv4_19_x1_scale[0][0] __________________________________________________________________________________________________ conv4_19_x1 (Conv2D) (None, 4, 4, 128) 106496 relu4_19_x1[0][0] __________________________________________________________________________________________________ conv4_19_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_19_x1[0][0] __________________________________________________________________________________________________ conv4_19_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_19_x2_bn[0][0] __________________________________________________________________________________________________ relu4_19_x2 (Activation) (None, 4, 4, 128) 0 conv4_19_x2_scale[0][0] __________________________________________________________________________________________________ conv4_19_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_19_x2[0][0] __________________________________________________________________________________________________ conv4_19_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_19_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_19 (Merge) (None, 4, 4, 864) 0 concat_4_18[0][0] conv4_19_x2[0][0] __________________________________________________________________________________________________ conv4_20_x1_bn (BatchNormalizat (None, 4, 4, 864) 3456 concat_4_19[0][0] __________________________________________________________________________________________________ conv4_20_x1_scale (Scale) (None, 4, 4, 864) 1728 conv4_20_x1_bn[0][0] __________________________________________________________________________________________________ relu4_20_x1 (Activation) (None, 4, 4, 864) 0 conv4_20_x1_scale[0][0] __________________________________________________________________________________________________ conv4_20_x1 (Conv2D) (None, 4, 4, 128) 110592 relu4_20_x1[0][0] __________________________________________________________________________________________________ conv4_20_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_20_x1[0][0] __________________________________________________________________________________________________ conv4_20_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_20_x2_bn[0][0] __________________________________________________________________________________________________ relu4_20_x2 (Activation) (None, 4, 4, 128) 0 conv4_20_x2_scale[0][0] __________________________________________________________________________________________________ conv4_20_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_20_x2[0][0] __________________________________________________________________________________________________ conv4_20_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_20_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_20 (Merge) (None, 4, 4, 896) 0 concat_4_19[0][0] conv4_20_x2[0][0] __________________________________________________________________________________________________ conv4_21_x1_bn (BatchNormalizat (None, 4, 4, 896) 3584 concat_4_20[0][0] __________________________________________________________________________________________________ conv4_21_x1_scale (Scale) (None, 4, 4, 896) 1792 conv4_21_x1_bn[0][0] __________________________________________________________________________________________________ relu4_21_x1 (Activation) (None, 4, 4, 896) 0 conv4_21_x1_scale[0][0] __________________________________________________________________________________________________ conv4_21_x1 (Conv2D) (None, 4, 4, 128) 114688 relu4_21_x1[0][0] __________________________________________________________________________________________________ conv4_21_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_21_x1[0][0] __________________________________________________________________________________________________ conv4_21_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_21_x2_bn[0][0] __________________________________________________________________________________________________ relu4_21_x2 (Activation) (None, 4, 4, 128) 0 conv4_21_x2_scale[0][0] __________________________________________________________________________________________________ conv4_21_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_21_x2[0][0] __________________________________________________________________________________________________ conv4_21_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_21_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_21 (Merge) (None, 4, 4, 928) 0 concat_4_20[0][0] conv4_21_x2[0][0] __________________________________________________________________________________________________ conv4_22_x1_bn (BatchNormalizat (None, 4, 4, 928) 3712 concat_4_21[0][0] __________________________________________________________________________________________________ conv4_22_x1_scale (Scale) (None, 4, 4, 928) 1856 conv4_22_x1_bn[0][0] __________________________________________________________________________________________________ relu4_22_x1 (Activation) (None, 4, 4, 928) 0 conv4_22_x1_scale[0][0] __________________________________________________________________________________________________ conv4_22_x1 (Conv2D) (None, 4, 4, 128) 118784 relu4_22_x1[0][0] __________________________________________________________________________________________________ conv4_22_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_22_x1[0][0] __________________________________________________________________________________________________ conv4_22_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_22_x2_bn[0][0] __________________________________________________________________________________________________ relu4_22_x2 (Activation) (None, 4, 4, 128) 0 conv4_22_x2_scale[0][0] __________________________________________________________________________________________________ conv4_22_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_22_x2[0][0] __________________________________________________________________________________________________ conv4_22_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_22_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_22 (Merge) (None, 4, 4, 960) 0 concat_4_21[0][0] conv4_22_x2[0][0] __________________________________________________________________________________________________ conv4_23_x1_bn (BatchNormalizat (None, 4, 4, 960) 3840 concat_4_22[0][0] __________________________________________________________________________________________________ conv4_23_x1_scale (Scale) (None, 4, 4, 960) 1920 conv4_23_x1_bn[0][0] __________________________________________________________________________________________________ relu4_23_x1 (Activation) (None, 4, 4, 960) 0 conv4_23_x1_scale[0][0] __________________________________________________________________________________________________ conv4_23_x1 (Conv2D) (None, 4, 4, 128) 122880 relu4_23_x1[0][0] __________________________________________________________________________________________________ conv4_23_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_23_x1[0][0] __________________________________________________________________________________________________ conv4_23_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_23_x2_bn[0][0] __________________________________________________________________________________________________ relu4_23_x2 (Activation) (None, 4, 4, 128) 0 conv4_23_x2_scale[0][0] __________________________________________________________________________________________________ conv4_23_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_23_x2[0][0] __________________________________________________________________________________________________ conv4_23_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_23_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_23 (Merge) (None, 4, 4, 992) 0 concat_4_22[0][0] conv4_23_x2[0][0] __________________________________________________________________________________________________ conv4_24_x1_bn (BatchNormalizat (None, 4, 4, 992) 3968 concat_4_23[0][0] __________________________________________________________________________________________________ conv4_24_x1_scale (Scale) (None, 4, 4, 992) 1984 conv4_24_x1_bn[0][0] __________________________________________________________________________________________________ relu4_24_x1 (Activation) (None, 4, 4, 992) 0 conv4_24_x1_scale[0][0] __________________________________________________________________________________________________ conv4_24_x1 (Conv2D) (None, 4, 4, 128) 126976 relu4_24_x1[0][0] __________________________________________________________________________________________________ conv4_24_x2_bn (BatchNormalizat (None, 4, 4, 128) 512 conv4_24_x1[0][0] __________________________________________________________________________________________________ conv4_24_x2_scale (Scale) (None, 4, 4, 128) 256 conv4_24_x2_bn[0][0] __________________________________________________________________________________________________ relu4_24_x2 (Activation) (None, 4, 4, 128) 0 conv4_24_x2_scale[0][0] __________________________________________________________________________________________________ conv4_24_x2_zeropadding (ZeroPa (None, 6, 6, 128) 0 relu4_24_x2[0][0] __________________________________________________________________________________________________ conv4_24_x2 (Conv2D) (None, 4, 4, 32) 36864 conv4_24_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_4_24 (Merge) (None, 4, 4, 1024) 0 concat_4_23[0][0] conv4_24_x2[0][0] __________________________________________________________________________________________________ conv4_blk_bn (BatchNormalizatio (None, 4, 4, 1024) 4096 concat_4_24[0][0] __________________________________________________________________________________________________ conv4_blk_scale (Scale) (None, 4, 4, 1024) 2048 conv4_blk_bn[0][0] __________________________________________________________________________________________________ relu4_blk (Activation) (None, 4, 4, 1024) 0 conv4_blk_scale[0][0] __________________________________________________________________________________________________ conv4_blk (Conv2D) (None, 4, 4, 512) 524288 relu4_blk[0][0] __________________________________________________________________________________________________ pool4 (AveragePooling2D) (None, 2, 2, 512) 0 conv4_blk[0][0] __________________________________________________________________________________________________ conv5_1_x1_bn (BatchNormalizati (None, 2, 2, 512) 2048 pool4[0][0] __________________________________________________________________________________________________ conv5_1_x1_scale (Scale) (None, 2, 2, 512) 1024 conv5_1_x1_bn[0][0] __________________________________________________________________________________________________ relu5_1_x1 (Activation) (None, 2, 2, 512) 0 conv5_1_x1_scale[0][0] __________________________________________________________________________________________________ conv5_1_x1 (Conv2D) (None, 2, 2, 128) 65536 relu5_1_x1[0][0] __________________________________________________________________________________________________ conv5_1_x2_bn (BatchNormalizati (None, 2, 2, 128) 512 conv5_1_x1[0][0] __________________________________________________________________________________________________ conv5_1_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_1_x2_bn[0][0] __________________________________________________________________________________________________ relu5_1_x2 (Activation) (None, 2, 2, 128) 0 conv5_1_x2_scale[0][0] __________________________________________________________________________________________________ conv5_1_x2_zeropadding (ZeroPad (None, 4, 4, 128) 0 relu5_1_x2[0][0] __________________________________________________________________________________________________ conv5_1_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_1_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_1 (Merge) (None, 2, 2, 544) 0 pool4[0][0] conv5_1_x2[0][0] __________________________________________________________________________________________________ conv5_2_x1_bn (BatchNormalizati (None, 2, 2, 544) 2176 concat_5_1[0][0] __________________________________________________________________________________________________ conv5_2_x1_scale (Scale) (None, 2, 2, 544) 1088 conv5_2_x1_bn[0][0] __________________________________________________________________________________________________ relu5_2_x1 (Activation) (None, 2, 2, 544) 0 conv5_2_x1_scale[0][0] __________________________________________________________________________________________________ conv5_2_x1 (Conv2D) (None, 2, 2, 128) 69632 relu5_2_x1[0][0] __________________________________________________________________________________________________ conv5_2_x2_bn (BatchNormalizati (None, 2, 2, 128) 512 conv5_2_x1[0][0] __________________________________________________________________________________________________ conv5_2_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_2_x2_bn[0][0] __________________________________________________________________________________________________ relu5_2_x2 (Activation) (None, 2, 2, 128) 0 conv5_2_x2_scale[0][0] __________________________________________________________________________________________________ conv5_2_x2_zeropadding (ZeroPad (None, 4, 4, 128) 0 relu5_2_x2[0][0] __________________________________________________________________________________________________ conv5_2_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_2_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_2 (Merge) (None, 2, 2, 576) 0 concat_5_1[0][0] conv5_2_x2[0][0] __________________________________________________________________________________________________ conv5_3_x1_bn (BatchNormalizati (None, 2, 2, 576) 2304 concat_5_2[0][0] __________________________________________________________________________________________________ conv5_3_x1_scale (Scale) (None, 2, 2, 576) 1152 conv5_3_x1_bn[0][0] __________________________________________________________________________________________________ relu5_3_x1 (Activation) (None, 2, 2, 576) 0 conv5_3_x1_scale[0][0] __________________________________________________________________________________________________ conv5_3_x1 (Conv2D) (None, 2, 2, 128) 73728 relu5_3_x1[0][0] __________________________________________________________________________________________________ conv5_3_x2_bn (BatchNormalizati (None, 2, 2, 128) 512 conv5_3_x1[0][0] __________________________________________________________________________________________________ conv5_3_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_3_x2_bn[0][0] __________________________________________________________________________________________________ relu5_3_x2 (Activation) (None, 2, 2, 128) 0 conv5_3_x2_scale[0][0] __________________________________________________________________________________________________ conv5_3_x2_zeropadding (ZeroPad (None, 4, 4, 128) 0 relu5_3_x2[0][0] __________________________________________________________________________________________________ conv5_3_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_3_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_3 (Merge) (None, 2, 2, 608) 0 concat_5_2[0][0] conv5_3_x2[0][0] __________________________________________________________________________________________________ conv5_4_x1_bn (BatchNormalizati (None, 2, 2, 608) 2432 concat_5_3[0][0] __________________________________________________________________________________________________ conv5_4_x1_scale (Scale) (None, 2, 2, 608) 1216 conv5_4_x1_bn[0][0] __________________________________________________________________________________________________ relu5_4_x1 (Activation) (None, 2, 2, 608) 0 conv5_4_x1_scale[0][0] __________________________________________________________________________________________________ conv5_4_x1 (Conv2D) (None, 2, 2, 128) 77824 relu5_4_x1[0][0] __________________________________________________________________________________________________ conv5_4_x2_bn (BatchNormalizati (None, 2, 2, 128) 512 conv5_4_x1[0][0] __________________________________________________________________________________________________ conv5_4_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_4_x2_bn[0][0] __________________________________________________________________________________________________ relu5_4_x2 (Activation) (None, 2, 2, 128) 0 conv5_4_x2_scale[0][0] __________________________________________________________________________________________________ conv5_4_x2_zeropadding (ZeroPad (None, 4, 4, 128) 0 relu5_4_x2[0][0] __________________________________________________________________________________________________ conv5_4_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_4_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_4 (Merge) (None, 2, 2, 640) 0 concat_5_3[0][0] conv5_4_x2[0][0] __________________________________________________________________________________________________ conv5_5_x1_bn (BatchNormalizati (None, 2, 2, 640) 2560 concat_5_4[0][0] __________________________________________________________________________________________________ conv5_5_x1_scale (Scale) (None, 2, 2, 640) 1280 conv5_5_x1_bn[0][0] __________________________________________________________________________________________________ relu5_5_x1 (Activation) (None, 2, 2, 640) 0 conv5_5_x1_scale[0][0] __________________________________________________________________________________________________ conv5_5_x1 (Conv2D) (None, 2, 2, 128) 81920 relu5_5_x1[0][0] __________________________________________________________________________________________________ conv5_5_x2_bn (BatchNormalizati (None, 2, 2, 128) 512 conv5_5_x1[0][0] __________________________________________________________________________________________________ conv5_5_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_5_x2_bn[0][0] __________________________________________________________________________________________________ relu5_5_x2 (Activation) (None, 2, 2, 128) 0 conv5_5_x2_scale[0][0] __________________________________________________________________________________________________ conv5_5_x2_zeropadding (ZeroPad (None, 4, 4, 128) 0 relu5_5_x2[0][0] __________________________________________________________________________________________________ conv5_5_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_5_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_5 (Merge) (None, 2, 2, 672) 0 concat_5_4[0][0] conv5_5_x2[0][0] __________________________________________________________________________________________________ conv5_6_x1_bn (BatchNormalizati (None, 2, 2, 672) 2688 concat_5_5[0][0] __________________________________________________________________________________________________ conv5_6_x1_scale (Scale) (None, 2, 2, 672) 1344 conv5_6_x1_bn[0][0] __________________________________________________________________________________________________ relu5_6_x1 (Activation) (None, 2, 2, 672) 0 conv5_6_x1_scale[0][0] __________________________________________________________________________________________________ conv5_6_x1 (Conv2D) (None, 2, 2, 128) 86016 relu5_6_x1[0][0] __________________________________________________________________________________________________ conv5_6_x2_bn (BatchNormalizati (None, 2, 2, 128) 512 conv5_6_x1[0][0] __________________________________________________________________________________________________ conv5_6_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_6_x2_bn[0][0] __________________________________________________________________________________________________ relu5_6_x2 (Activation) (None, 2, 2, 128) 0 conv5_6_x2_scale[0][0] __________________________________________________________________________________________________ conv5_6_x2_zeropadding (ZeroPad (None, 4, 4, 128) 0 relu5_6_x2[0][0] __________________________________________________________________________________________________ conv5_6_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_6_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_6 (Merge) (None, 2, 2, 704) 0 concat_5_5[0][0] conv5_6_x2[0][0] __________________________________________________________________________________________________ conv5_7_x1_bn (BatchNormalizati (None, 2, 2, 704) 2816 concat_5_6[0][0] __________________________________________________________________________________________________ conv5_7_x1_scale (Scale) (None, 2, 2, 704) 1408 conv5_7_x1_bn[0][0] __________________________________________________________________________________________________ relu5_7_x1 (Activation) (None, 2, 2, 704) 0 conv5_7_x1_scale[0][0] __________________________________________________________________________________________________ conv5_7_x1 (Conv2D) (None, 2, 2, 128) 90112 relu5_7_x1[0][0] __________________________________________________________________________________________________ conv5_7_x2_bn (BatchNormalizati (None, 2, 2, 128) 512 conv5_7_x1[0][0] __________________________________________________________________________________________________ conv5_7_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_7_x2_bn[0][0] __________________________________________________________________________________________________ relu5_7_x2 (Activation) (None, 2, 2, 128) 0 conv5_7_x2_scale[0][0] __________________________________________________________________________________________________ conv5_7_x2_zeropadding (ZeroPad (None, 4, 4, 128) 0 relu5_7_x2[0][0] __________________________________________________________________________________________________ conv5_7_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_7_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_7 (Merge) (None, 2, 2, 736) 0 concat_5_6[0][0] conv5_7_x2[0][0] __________________________________________________________________________________________________ conv5_8_x1_bn (BatchNormalizati (None, 2, 2, 736) 2944 concat_5_7[0][0] __________________________________________________________________________________________________ conv5_8_x1_scale (Scale) (None, 2, 2, 736) 1472 conv5_8_x1_bn[0][0] __________________________________________________________________________________________________ relu5_8_x1 (Activation) (None, 2, 2, 736) 0 conv5_8_x1_scale[0][0] __________________________________________________________________________________________________ conv5_8_x1 (Conv2D) (None, 2, 2, 128) 94208 relu5_8_x1[0][0] __________________________________________________________________________________________________ conv5_8_x2_bn (BatchNormalizati (None, 2, 2, 128) 512 conv5_8_x1[0][0] __________________________________________________________________________________________________ conv5_8_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_8_x2_bn[0][0] __________________________________________________________________________________________________ relu5_8_x2 (Activation) (None, 2, 2, 128) 0 conv5_8_x2_scale[0][0] __________________________________________________________________________________________________ conv5_8_x2_zeropadding (ZeroPad (None, 4, 4, 128) 0 relu5_8_x2[0][0] __________________________________________________________________________________________________ conv5_8_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_8_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_8 (Merge) (None, 2, 2, 768) 0 concat_5_7[0][0] conv5_8_x2[0][0] __________________________________________________________________________________________________ conv5_9_x1_bn (BatchNormalizati (None, 2, 2, 768) 3072 concat_5_8[0][0] __________________________________________________________________________________________________ conv5_9_x1_scale (Scale) (None, 2, 2, 768) 1536 conv5_9_x1_bn[0][0] __________________________________________________________________________________________________ relu5_9_x1 (Activation) (None, 2, 2, 768) 0 conv5_9_x1_scale[0][0] __________________________________________________________________________________________________ conv5_9_x1 (Conv2D) (None, 2, 2, 128) 98304 relu5_9_x1[0][0] __________________________________________________________________________________________________ conv5_9_x2_bn (BatchNormalizati (None, 2, 2, 128) 512 conv5_9_x1[0][0] __________________________________________________________________________________________________ conv5_9_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_9_x2_bn[0][0] __________________________________________________________________________________________________ relu5_9_x2 (Activation) (None, 2, 2, 128) 0 conv5_9_x2_scale[0][0] __________________________________________________________________________________________________ conv5_9_x2_zeropadding (ZeroPad (None, 4, 4, 128) 0 relu5_9_x2[0][0] __________________________________________________________________________________________________ conv5_9_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_9_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_9 (Merge) (None, 2, 2, 800) 0 concat_5_8[0][0] conv5_9_x2[0][0] __________________________________________________________________________________________________ conv5_10_x1_bn (BatchNormalizat (None, 2, 2, 800) 3200 concat_5_9[0][0] __________________________________________________________________________________________________ conv5_10_x1_scale (Scale) (None, 2, 2, 800) 1600 conv5_10_x1_bn[0][0] __________________________________________________________________________________________________ relu5_10_x1 (Activation) (None, 2, 2, 800) 0 conv5_10_x1_scale[0][0] __________________________________________________________________________________________________ conv5_10_x1 (Conv2D) (None, 2, 2, 128) 102400 relu5_10_x1[0][0] __________________________________________________________________________________________________ conv5_10_x2_bn (BatchNormalizat (None, 2, 2, 128) 512 conv5_10_x1[0][0] __________________________________________________________________________________________________ conv5_10_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_10_x2_bn[0][0] __________________________________________________________________________________________________ relu5_10_x2 (Activation) (None, 2, 2, 128) 0 conv5_10_x2_scale[0][0] __________________________________________________________________________________________________ conv5_10_x2_zeropadding (ZeroPa (None, 4, 4, 128) 0 relu5_10_x2[0][0] __________________________________________________________________________________________________ conv5_10_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_10_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_10 (Merge) (None, 2, 2, 832) 0 concat_5_9[0][0] conv5_10_x2[0][0] __________________________________________________________________________________________________ conv5_11_x1_bn (BatchNormalizat (None, 2, 2, 832) 3328 concat_5_10[0][0] __________________________________________________________________________________________________ conv5_11_x1_scale (Scale) (None, 2, 2, 832) 1664 conv5_11_x1_bn[0][0] __________________________________________________________________________________________________ relu5_11_x1 (Activation) (None, 2, 2, 832) 0 conv5_11_x1_scale[0][0] __________________________________________________________________________________________________ conv5_11_x1 (Conv2D) (None, 2, 2, 128) 106496 relu5_11_x1[0][0] __________________________________________________________________________________________________ conv5_11_x2_bn (BatchNormalizat (None, 2, 2, 128) 512 conv5_11_x1[0][0] __________________________________________________________________________________________________ conv5_11_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_11_x2_bn[0][0] __________________________________________________________________________________________________ relu5_11_x2 (Activation) (None, 2, 2, 128) 0 conv5_11_x2_scale[0][0] __________________________________________________________________________________________________ conv5_11_x2_zeropadding (ZeroPa (None, 4, 4, 128) 0 relu5_11_x2[0][0] __________________________________________________________________________________________________ conv5_11_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_11_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_11 (Merge) (None, 2, 2, 864) 0 concat_5_10[0][0] conv5_11_x2[0][0] __________________________________________________________________________________________________ conv5_12_x1_bn (BatchNormalizat (None, 2, 2, 864) 3456 concat_5_11[0][0] __________________________________________________________________________________________________ conv5_12_x1_scale (Scale) (None, 2, 2, 864) 1728 conv5_12_x1_bn[0][0] __________________________________________________________________________________________________ relu5_12_x1 (Activation) (None, 2, 2, 864) 0 conv5_12_x1_scale[0][0] __________________________________________________________________________________________________ conv5_12_x1 (Conv2D) (None, 2, 2, 128) 110592 relu5_12_x1[0][0] __________________________________________________________________________________________________ conv5_12_x2_bn (BatchNormalizat (None, 2, 2, 128) 512 conv5_12_x1[0][0] __________________________________________________________________________________________________ conv5_12_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_12_x2_bn[0][0] __________________________________________________________________________________________________ relu5_12_x2 (Activation) (None, 2, 2, 128) 0 conv5_12_x2_scale[0][0] __________________________________________________________________________________________________ conv5_12_x2_zeropadding (ZeroPa (None, 4, 4, 128) 0 relu5_12_x2[0][0] __________________________________________________________________________________________________ conv5_12_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_12_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_12 (Merge) (None, 2, 2, 896) 0 concat_5_11[0][0] conv5_12_x2[0][0] __________________________________________________________________________________________________ conv5_13_x1_bn (BatchNormalizat (None, 2, 2, 896) 3584 concat_5_12[0][0] __________________________________________________________________________________________________ conv5_13_x1_scale (Scale) (None, 2, 2, 896) 1792 conv5_13_x1_bn[0][0] __________________________________________________________________________________________________ relu5_13_x1 (Activation) (None, 2, 2, 896) 0 conv5_13_x1_scale[0][0] __________________________________________________________________________________________________ conv5_13_x1 (Conv2D) (None, 2, 2, 128) 114688 relu5_13_x1[0][0] __________________________________________________________________________________________________ conv5_13_x2_bn (BatchNormalizat (None, 2, 2, 128) 512 conv5_13_x1[0][0] __________________________________________________________________________________________________ conv5_13_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_13_x2_bn[0][0] __________________________________________________________________________________________________ relu5_13_x2 (Activation) (None, 2, 2, 128) 0 conv5_13_x2_scale[0][0] __________________________________________________________________________________________________ conv5_13_x2_zeropadding (ZeroPa (None, 4, 4, 128) 0 relu5_13_x2[0][0] __________________________________________________________________________________________________ conv5_13_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_13_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_13 (Merge) (None, 2, 2, 928) 0 concat_5_12[0][0] conv5_13_x2[0][0] __________________________________________________________________________________________________ conv5_14_x1_bn (BatchNormalizat (None, 2, 2, 928) 3712 concat_5_13[0][0] __________________________________________________________________________________________________ conv5_14_x1_scale (Scale) (None, 2, 2, 928) 1856 conv5_14_x1_bn[0][0] __________________________________________________________________________________________________ relu5_14_x1 (Activation) (None, 2, 2, 928) 0 conv5_14_x1_scale[0][0] __________________________________________________________________________________________________ conv5_14_x1 (Conv2D) (None, 2, 2, 128) 118784 relu5_14_x1[0][0] __________________________________________________________________________________________________ conv5_14_x2_bn (BatchNormalizat (None, 2, 2, 128) 512 conv5_14_x1[0][0] __________________________________________________________________________________________________ conv5_14_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_14_x2_bn[0][0] __________________________________________________________________________________________________ relu5_14_x2 (Activation) (None, 2, 2, 128) 0 conv5_14_x2_scale[0][0] __________________________________________________________________________________________________ conv5_14_x2_zeropadding (ZeroPa (None, 4, 4, 128) 0 relu5_14_x2[0][0] __________________________________________________________________________________________________ conv5_14_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_14_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_14 (Merge) (None, 2, 2, 960) 0 concat_5_13[0][0] conv5_14_x2[0][0] __________________________________________________________________________________________________ conv5_15_x1_bn (BatchNormalizat (None, 2, 2, 960) 3840 concat_5_14[0][0] __________________________________________________________________________________________________ conv5_15_x1_scale (Scale) (None, 2, 2, 960) 1920 conv5_15_x1_bn[0][0] __________________________________________________________________________________________________ relu5_15_x1 (Activation) (None, 2, 2, 960) 0 conv5_15_x1_scale[0][0] __________________________________________________________________________________________________ conv5_15_x1 (Conv2D) (None, 2, 2, 128) 122880 relu5_15_x1[0][0] __________________________________________________________________________________________________ conv5_15_x2_bn (BatchNormalizat (None, 2, 2, 128) 512 conv5_15_x1[0][0] __________________________________________________________________________________________________ conv5_15_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_15_x2_bn[0][0] __________________________________________________________________________________________________ relu5_15_x2 (Activation) (None, 2, 2, 128) 0 conv5_15_x2_scale[0][0] __________________________________________________________________________________________________ conv5_15_x2_zeropadding (ZeroPa (None, 4, 4, 128) 0 relu5_15_x2[0][0] __________________________________________________________________________________________________ conv5_15_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_15_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_15 (Merge) (None, 2, 2, 992) 0 concat_5_14[0][0] conv5_15_x2[0][0] __________________________________________________________________________________________________ conv5_16_x1_bn (BatchNormalizat (None, 2, 2, 992) 3968 concat_5_15[0][0] __________________________________________________________________________________________________ conv5_16_x1_scale (Scale) (None, 2, 2, 992) 1984 conv5_16_x1_bn[0][0] __________________________________________________________________________________________________ relu5_16_x1 (Activation) (None, 2, 2, 992) 0 conv5_16_x1_scale[0][0] __________________________________________________________________________________________________ conv5_16_x1 (Conv2D) (None, 2, 2, 128) 126976 relu5_16_x1[0][0] __________________________________________________________________________________________________ conv5_16_x2_bn (BatchNormalizat (None, 2, 2, 128) 512 conv5_16_x1[0][0] __________________________________________________________________________________________________ conv5_16_x2_scale (Scale) (None, 2, 2, 128) 256 conv5_16_x2_bn[0][0] __________________________________________________________________________________________________ relu5_16_x2 (Activation) (None, 2, 2, 128) 0 conv5_16_x2_scale[0][0] __________________________________________________________________________________________________ conv5_16_x2_zeropadding (ZeroPa (None, 4, 4, 128) 0 relu5_16_x2[0][0] __________________________________________________________________________________________________ conv5_16_x2 (Conv2D) (None, 2, 2, 32) 36864 conv5_16_x2_zeropadding[0][0] __________________________________________________________________________________________________ concat_5_16 (Merge) (None, 2, 2, 1024) 0 concat_5_15[0][0] conv5_16_x2[0][0] __________________________________________________________________________________________________ conv5_blk_bn (BatchNormalizatio (None, 2, 2, 1024) 4096 concat_5_16[0][0] __________________________________________________________________________________________________ conv5_blk_scale (Scale) (None, 2, 2, 1024) 2048 conv5_blk_bn[0][0] __________________________________________________________________________________________________ relu5_blk (Activation) (None, 2, 2, 1024) 0 conv5_blk_scale[0][0] __________________________________________________________________________________________________ pool5 (GlobalAveragePooling2D) (None, 1024) 0 relu5_blk[0][0] __________________________________________________________________________________________________ fc6 (Dense) (None, 68) 69700 pool5[0][0] __________________________________________________________________________________________________ prob (Activation) (None, 68) 0 fc6[0][0] ================================================================================================== Total params: 7,190,852 Trainable params: 7,107,204 Non-trainable params: 83,648
6 thoughts on “Team Cherry. The Kaufland Case. Fast and Accurate Image Classification Architecture for Recognizing Produce in a Real-Life Groceries’ Setting”
You’ve presented your solution and test results very well. However you shouldn’t just copy the case description as a business understanding. In this section you need to show that you understand what the problem is, who the users of your solution are, and what they expect to see from the system. Good presentation overall and a very interesting article to read. Well done Team Cherry!!
Well done! You should have worked more on the final look of the article. Also import the notebook here, so other people can learn from you work, or give you tips how to improve it.
thanks for your feedback. very much appreciated.
Please note that our team had several beginners so here we approached the problem with aim to learn how to train your own network and learn useful tricks on the way. Therefore we start all the way from linear model :). Think of it as 40h intro.
here is it https://github.com/valanm/datathon2018-kaufland/blob/master/Pipeline.ipynb but we will need to comment on it first.
Cleaned notebook with only the final model will follow shortly.
I always make a sample to test and prototype things, and when I am happy I let the model looks at the whole dataset. I like babysitting my models to make them both fast and accurate. This way I can build faster and more accurate models compared to standard pipelines with from tutorials 🙂
Extremely well written and good work 🙂
Very well written article! I especially liked how you detailed the different approaches, even when they didn’t work out eventually. I find this very important and useful information which is often missing in articles.