# Image Embdding with DOLG *author: David Wang* ## Desription This operator extracts features for image with [DOLG](https://arxiv.org/abs/2108.02927) which has special design for image retrieval task. It integrates local and global information inside images into compact image representations. This operator is an adaptation from [dongkyuk/DOLG-pytorch](https://github.com/dongkyuk/DOLG-pytorch). ## Code Example Load an image from path './towhee.jpg' to generate an image embedding. *Write the pipeline in simplified style*: ```python import towhee towhee.glob('./towhee.jpg') \ .image_decode.cv2() \ .image_embedding.dolg(img_size=512, input_dim=3, hidden_dim=1024, output_dim=2048) \ .show() ``` result1 *Write a same pipeline with explicit inputs/outputs name specifications:* ```python import towhee towhee.glob['path']('./towhee.jpg') \ .image_decode.cv2['path', 'img']() \ .image_embedding.dolg['img', 'vec'](img_size=512, input_dim=3, hidden_dim=1024, output_dim=2048) \ .select('img', 'vec') \ .show() ``` result2 ## Factory Constructor Create the operator via the following factory method ***image_embedding.dolg(img_size=512, input_dim=3, hidden_dim=1024, output_dim=2048)*** **Parameters:** ​ ***img_size***: *int* ​ Scaled input image size to extract embedding. The higher resolution would generate the more discriminateive feature but cost more time to calculate. ​ ***input_dim***: *int* ​ The input dimension of DOLG module (equals pretrained cnn output dimension). ​ ***hidden_dim***: *int* ​ The hidden dimension size, local feature branch output dimension. ​ ***output_dim***: *int* ​ The output dimsion size, same as embedding size. ## Interface An image embedding operator takes a [towhee image](link/to/towhee/image/api/doc) as input. It uses the pre-trained model specified by model name to generate an image embedding in ndarray. **Parameters:** ​ ***img***: *towhee.types.Image (a sub-class of numpy.ndarray)* ​ The decoded image data in towhee.types.Image (numpy.ndarray). **Returns**: *numpy.ndarray* ​ The image embedding extracted by model.