Applications of the Streaming Networks
Sergey Tarasenko Fumihiko Takahashi
cs.CV eess.IV







Applications of the Streaming Networks
    Sergey Tarasenko1,
Fumihiko Takahashi2

Next-Gen Mobility Division, Mobility R&D Group,
JapanTaxi

Tokyo, Japan

Email: 1tarasenko.sergey@japantaxi.co.jp,
2fumihiko.takahashi@japantaxi.co.jp
    December 30, 2023. .../latex/6he-sdm-2/6he-sdm-2-3.tex
==================================================================================================================================================================================================





Most recently Streaming Networks (STnets) have been introduced as a mechanism of robust noise-corrupted images classification. STnets is a family of convolutional neural networks, which consists of multiple neural networks (streams), which have different inputs and their outputs are concatenated and fed into a single joint classifier. The original paper has illustrated how STnets can successfully classify images from Cifar10, EuroSat and UCmerced datasets, when images were corrupted with various levels of random zero noise. In this paper, we demonstrate that STnets are capable of high accuracy classification of images corrupted with Gaussian noise, fog, snow, etc. (Cifar10 corrupted dataset) and low light images (subset of Carvana dataset). We also introduce a new type of STnets called Hybrid STnets. Thus, we illustrate that STnets is a universal tool of image classification when original training dataset is corrupted with noise or other transformations, which lead to information loss from original images.





§ INTRODUCTION


Recently, CNNs[Convolutional Neural Networks] with more than one processing stream have started to gain popularity. To our knowledge, the first two-stream CNN was introduced by Chorpa <cit.> and it is widely known as a “Siamese network". The motivation behind two streams is that each of the streams carries information about a dedicated image. Images fed to the streams are different.

Most recently, two-stream CNNs have been used for the vast variety of recognition, segmentation and classification tasks such as similarity assessment (Siamese networks and pseudo-Siamese <cit.>), change detection and classification <cit.>, action recognition in videos <cit.>, one-shot image recognition <cit.>, simultaneous detection and segmentation <cit.>, human-object interaction recognition <cit.>, group activity recognition <cit.>, etc.

Finally, multi-stream CNN has been successfully employed for recognition of 2D projections of the 3D image <cit.>.

Most recently, it has been illustrated that Streaming networks (STnets) <cit.> are capable of recognition of zero noise-corrupted images with moderate accuracy without using of special techniques or training data augmentation.


In this study, we investigate if the STnets are capable of dealing with other types of image distortion rather than a simple random zero noise. Furthermore, similar mechanism of pixel value zeroing is intrinsic for low light images. Therefore, we also investigate low light image classification performance of STnets. 



§ STREAMING NETWORKS ARCHITECTURE


STnets are constructed of multiple parallel streams, whose outputs are concatenated and fed into a classifier. During training, parameters of all streams are tuned independently. Each stream is taking a certain piece of information and its input is different from the inputs of the other streams. 

In the original study by Tarasenko and Takahashi <cit.>, each stream had input in the form of the image intensity slice. It is possible, however, to use other ways to split original image into slices. For example, 
Pinckaers et al. <cit.> used images patches (spatial slice) as input into their Streaming Network.

Next, we explain the mathematical concepts behind Streaming Networks proposed by Tarasenko and Takahashi <cit.>.

Eq. (<ref>) introduces an image representation by means of the orthogonal vectors, which form an orthogonal basis of some image representation space:


    Img^* = ∑^n_i=1α_i v_i


where α_i is a weight coefficient for i-th orthogonal basis vector v_i, i = 1, ..., n, and Img^* is an image representation.





As the next step, we can generalize eq. (<ref>) by providing orthogonal basis functions ϕ_i(x_i,y_i) instead of basis vectors v_i <cit.>:


    Img^* = ∑^n_i=1α_iϕ_i(x_i,y_i)


where pair (x_i,y_i), i = 1, ..., n, represents some part of an original image.

If now, we set all weighting coefficients α_i, i=1,...n, to 1, we will get eq. (<ref>):


    Img^* = ∑^n_i=1ϕ_i(x_i,y_i)


Eq. <ref> is the gist of the STnets.



§ EXPERIMENTS

For all our experiments, we use Adam optimizer with learning rate of 0.0001 accompanied by β1 = 0.99, β2 = 0.9 and ϵ = 1e-08, and run all the trainings for 100 epochs. We use SoftMax classifier for all the experiments.

A 1-stream simple CNNs, which is employed as a single stream in some of experiments, has the following structure: 
1) conv layer with 32 7x7 filters plus ReLU activation and 2x2 Max-pooling layers;
2) conv layer with 64 5x5 filters plus ReLU activation and 2x2 Max-pooling layers;
3) conv layer with 128 3x3 filters plus ReLU activation and 2x2 Max-pooling layers;
4) conv layer with 256 1x1 filters plus ReLU activation and 2x2 Max-pooling layers;
5) conv layer with 10 1x1 filters plus ReLU activation and 2x2 Max-pooling layers;
6) fully connected layer;
7) SoftMax layer with the number of output neurons corresponding to the number of classes.



 §.§ Classification of Corrupted Images

On this section, we extend previous experiments with random zero-noise with two new conditions. First, we test STnets using Cifar10 corrupted [https://zenodo.org/record/2535967] dataset. Second, using the random zero-noise, we test performance of three 5-streams STnet based on a simple CNN, VGG16 <cit.> and ResNet50 <cit.> models .

Experiments with Cifar10 Corrupted dataset.
Cifar10 corrupted dataset contains original cifar10 images corrupted with 19 types of distortions, where brightness change, contrast change, defocus blur, elastic transform, fog, frost, Gaussian blur, Gaussian noise, glass blur, impulse noise, JPEG compression noise, motion blur, pixelate, saturation, shot noise, snow, spatter, speckle noise and zoom blur. These corruptions are explained in details in this study <cit.>. 

We test performance of the 1-stream simple CNN and 5-streams STnet using Cifar10 images as a training set and Cifar10 corrupted images as a test set. We run each network for 10 times. The results are presented in Fig. <ref>.

The results indicate that STnets outperform 1-stream simple CNN for all types of image distortions. 

Different types of the Streaming Networks. 
Here we address the issue of whether STnets based on different types of CNNs behave differently under the same experimental conditions.

To evaluate performance of three different streaming networks, we have used of 10 runs of each networks for 10% of noise using cifar10 dataset. 

In the case of VGG16 network we use its scaled version when number of filters in each convolution layer is reduced by approximately a factor of n. A structure of n-scaled VGG16 network is presented in Fig. <ref>.

The results are presented in Fig.<ref>: 1) simple convnet-based Streaming network exhibits the highest test accuracy for noise-corrupted images classification and the lowest variance; 2) ResNet50-based Streaming Network outperforms 5-scaled VGG16 in terms of test accuracy; 3) ResNet50-based network exhibits the fastest convergence of training accuracy to 100%.

This experiment illustrates that there is indeed variability in performance of STnets depending on the CNNs used as streams.







§ CLASSIFICATION OF LOW LIGHT IMAGES

To test whether STnets are capable of recognition of low-light images after having been trained on normal light images, we employ Carvana[https://www.kaggle.com/c/carvana-image-masking-challenge] dataset. 

This dataset was originally designed for image segmentation tasks, however we use this dataset for classification task. For this purpose, we have selected randomly front view of 10 car models. A new sub-dataset consists of 2320 images. For our experiments we also resize original Carvana images to 128x191 pixels (height x width).

As a single stream network, we employed original full scale VGG16 network. As a Streaming Network we used 6-stream STnet network with one stream based on 5-scaled VGG16 and remaining five streams based a simple CNN. We call STnets containing different types of CNNs as streams to be hybrid STnets. 

To imitate low light condition, we have applied Gamma transformation with γ=5.8:


    Img^* = (Img/255)^γ*255


Examples of original lighting condition and low-light after gamma transformation are presented in Fig. <ref>. To illustrate the effect of Gamma transformation we have clipped original image to focus only on the area with car front view.



Throughout experiments, we split our data into 2000 train samples and 320 test sample. All test samples undergo gamma transformation. Each network was run for 10 times.

The results are presented in Fig. <ref>. One can infer that in the case of VGG16 network train accuracy is converging to 100% slower and with much higher variance than in the case of hybrid STnet. On the other hand, hybrid STnet exhibits significantly higher accuracy of low-light images (test accuracy) classifications with lower variance than in the case of VGG16 network.

Therefore we illustrate that STnets, trained on images using normal lighting conditions, are capable of moderate accuracy recognition of the low-light images.




§ DISCUSSION AND CONCLUSION


In this paper, we have extended a number of applications of STnets to the use cases of images corrupted by various distortions and low light conditions. In both cases, STnets have outperformed 1-stream neural networks in terms of recognition accuracy of test data, i.e., corrupted and low light images. Therefore, it is possible to enable robust recognition of corrupted and low light images simply by applying STnets.

We have also considered various types of CNNs as a single stream for the STnets. We have found that STnets constructed from simple CNN model outperforms the ones constructed either from 5-scaled VGG16 or ResNet50 networks.

To conclude, we emphasize that STnets is a new architecture, which enables robust recognition of corrupted images under variety of distortion types. We hope this result will contribute to robust object recognition from corrupted surveillance images, which are subject to corruptions due to lighting or weather condition, speed, distance and camera angle. 





99



Azar2018AMC
S. M. Azar, M. G. Atigh and A. Nickabadi (2018) A Multi-Stream Convolutional Neural Network Framework for Group Activity Recognition, ArXiv, abs/1812.10328

Chopra2005LearningAS
S. Chopra and R. Hadsell and Y. LeCun (2005) Learning a similarity metric discriminatively, with application to face verification, IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR 05), p. 539-546.




Gkioxari2017DetectingAR
G. Gkioxari, R. B. Girshick, P. Dollár and K. He (2018) Detecting and Recognizing Human-Object Interactions, IEEE/CVF Conference on Computer Vision and Pattern Recognition, p. 8359-8367.

Hariharan2014SimultaneousDA
B. Hariharan and P. Andrés Arbeláez and R. B. Girshick and J. Malik (2014) Simultaneous Detection and Segmentation, ECCV 2014

Hendrycks2018BenchmarkingNN D. Hendrycks and T. G. Dietterich (2018) Benchmarking Neural Network Robustness to Common Corruptions and Surface Variations, arXiv:1807.01697.

He2015DeepRL
K. He, X. Zhang, S. Ren and J. Sun (2015) Deep Residual Learning for Image Recognition, IEEE Conference on Computer Vision and Pattern Recognition (CVPR 16), p. 770-778.

Koch2015SiameseNN
G. R. Koch (2015) Siamese Neural Networks for One-Shot Image Recognition

Olshausen1996EmergenceOS
B. A. Olshausen and D. J. Field (1996) Emergence of simple-cell receptive field properties by learning a sparse code for natural images, Nature, 381, p. 607-609.

Pinckaers2019StreamingCN H. Pinckaers, B. van Ginneken and G. J. S. Litjens (2019) Streaming convolutional neural networks for end-to-end learning with multi-megapixel images, ArXiv, abs/1911.04432.

Simonyan2014VeryDC
K. Simonyan and A. Zisserman (2014) Very Deep Convolutional Networks for Large-Scale Image Recognition, Arxiv, abs/1409.1556.

Simonyan2014TwoStreamCN
K. Simonyan and A. Zisserman (2014) Two-Stream Convolutional Networks for Action Recognition in Videos,
ArXiv, abs/1406.2199.




Tarasenko2019StreamingNE 
S. Tarasenko and F. Takahashi (2019) Streaming Networks: Enable A Robust Classification of Noise-Corrupted Images, ArXiv, abs/1910.11107.

Varghese2018ChangeNetAD
A. Varghese and J. Gubbi and A. Ramaswamy and P. Balamuralidhar (2018) ChangeNet: A Deep Learning Architecture for Visual Change Detection, ECCV 2018 Workshops. 

su15mvcnn
H. Su, S. Maji, E. Kalogerakis and E. G. Learned-Miller (2015) Multi-view convolutional neural networks for 3d shape recognition, ICCV 2015.

Zagoruyko2015LearningTC
S. Zagoruyko and N. Komodakis (2015) Learning to compare image patches via convolutional neural networks, 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 15), p. 4353-4361.





