diff options
Diffstat (limited to 'docs/source/auto_examples/plot_OTDA_color_images.rst')
-rw-r--r-- | docs/source/auto_examples/plot_OTDA_color_images.rst | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/docs/source/auto_examples/plot_OTDA_color_images.rst b/docs/source/auto_examples/plot_OTDA_color_images.rst deleted file mode 100644 index a982a90..0000000 --- a/docs/source/auto_examples/plot_OTDA_color_images.rst +++ /dev/null @@ -1,191 +0,0 @@ - - -.. _sphx_glr_auto_examples_plot_OTDA_color_images.py: - - -======================================================== -OT for domain adaptation with image color adaptation [6] -======================================================== - -[6] Ferradans, S., Papadakis, N., Peyre, G., & Aujol, J. F. (2014). Regularized discrete optimal transport. SIAM Journal on Imaging Sciences, 7(3), 1853-1882. - - - - -.. rst-class:: sphx-glr-horizontal - - - * - - .. image:: /auto_examples/images/sphx_glr_plot_OTDA_color_images_001.png - :scale: 47 - - * - - .. image:: /auto_examples/images/sphx_glr_plot_OTDA_color_images_002.png - :scale: 47 - - - - - -.. code-block:: python - - - import numpy as np - import scipy.ndimage as spi - import matplotlib.pylab as pl - import ot - - - #%% Loading images - - I1=spi.imread('../data/ocean_day.jpg').astype(np.float64)/256 - I2=spi.imread('../data/ocean_sunset.jpg').astype(np.float64)/256 - - #%% Plot images - - pl.figure(1) - - pl.subplot(1,2,1) - pl.imshow(I1) - pl.title('Image 1') - - pl.subplot(1,2,2) - pl.imshow(I2) - pl.title('Image 2') - - pl.show() - - #%% Image conversion and dataset generation - - def im2mat(I): - """Converts and image to matrix (one pixel per line)""" - return I.reshape((I.shape[0]*I.shape[1],I.shape[2])) - - def mat2im(X,shape): - """Converts back a matrix to an image""" - return X.reshape(shape) - - X1=im2mat(I1) - X2=im2mat(I2) - - # training samples - nb=1000 - idx1=np.random.randint(X1.shape[0],size=(nb,)) - idx2=np.random.randint(X2.shape[0],size=(nb,)) - - xs=X1[idx1,:] - xt=X2[idx2,:] - - #%% Plot image distributions - - - pl.figure(2,(10,5)) - - pl.subplot(1,2,1) - pl.scatter(xs[:,0],xs[:,2],c=xs) - pl.axis([0,1,0,1]) - pl.xlabel('Red') - pl.ylabel('Blue') - pl.title('Image 1') - - pl.subplot(1,2,2) - #pl.imshow(I2) - pl.scatter(xt[:,0],xt[:,2],c=xt) - pl.axis([0,1,0,1]) - pl.xlabel('Red') - pl.ylabel('Blue') - pl.title('Image 2') - - pl.show() - - - - #%% domain adaptation between images - - # LP problem - da_emd=ot.da.OTDA() # init class - da_emd.fit(xs,xt) # fit distributions - - - # sinkhorn regularization - lambd=1e-1 - da_entrop=ot.da.OTDA_sinkhorn() - da_entrop.fit(xs,xt,reg=lambd) - - - - #%% prediction between images (using out of sample prediction as in [6]) - - X1t=da_emd.predict(X1) - X2t=da_emd.predict(X2,-1) - - - X1te=da_entrop.predict(X1) - X2te=da_entrop.predict(X2,-1) - - - def minmax(I): - return np.minimum(np.maximum(I,0),1) - - I1t=minmax(mat2im(X1t,I1.shape)) - I2t=minmax(mat2im(X2t,I2.shape)) - - I1te=minmax(mat2im(X1te,I1.shape)) - I2te=minmax(mat2im(X2te,I2.shape)) - - #%% plot all images - - pl.figure(2,(10,8)) - - pl.subplot(2,3,1) - - pl.imshow(I1) - pl.title('Image 1') - - pl.subplot(2,3,2) - pl.imshow(I1t) - pl.title('Image 1 Adapt') - - - pl.subplot(2,3,3) - pl.imshow(I1te) - pl.title('Image 1 Adapt (reg)') - - pl.subplot(2,3,4) - - pl.imshow(I2) - pl.title('Image 2') - - pl.subplot(2,3,5) - pl.imshow(I2t) - pl.title('Image 2 Adapt') - - - pl.subplot(2,3,6) - pl.imshow(I2te) - pl.title('Image 2 Adapt (reg)') - - pl.show() - -**Total running time of the script:** ( 0 minutes 24.815 seconds) - - - -.. container:: sphx-glr-footer - - - .. container:: sphx-glr-download - - :download:`Download Python source code: plot_OTDA_color_images.py <plot_OTDA_color_images.py>` - - - - .. container:: sphx-glr-download - - :download:`Download Jupyter notebook: plot_OTDA_color_images.ipynb <plot_OTDA_color_images.ipynb>` - -.. rst-class:: sphx-glr-signature - - `Generated by Sphinx-Gallery <http://sphinx-gallery.readthedocs.io>`_ |