class_docstr: OpenImagesReader supports reading the images directly from the original
  data source which is hosted in Google Cloud Storage.
  
  Before using it you have to request and configure access following the
  instructions here: https://github.com/cvdfoundation/open-images-dataset
code: def image_ids(self):
      if self._image_ids is None:
          annotations_file = self._get_annotations_path()
          with tf.gfile.Open(annotations_file) as af:
              reader = csv.DictReader(af)
              image_ids = set()
              for l in reader:
                  image_ids.add(l["ImageID"])
          self._image_ids = image_ids
      return self._image_ids
  
imports: import csv
  import os
  import signal
  import six
  import sys
  import tensorflow
  import threading
  from six.moves import queue
  from PIL import Image
  from luminoth.tools.dataset.readers import InvalidDataDirectory
  from luminoth.tools.dataset.readers.object_detection import ObjectDetectionReader
  from luminoth.utils.dataset import read_image
label_desc: Use image node_id 8 for calling the OpenImagesReader obj's underlying member method code with example usage: obj.image_ids() and returns: self