text: import os.path as osp
  import xml.etree.ElementTree as ET
  
  import mmcv
  
  from .builder import DATASETS
  from .xml_style import XMLDataset
  
  
  @DATASETS.register_module()
  class WIDERFaceDataset(XMLDataset):
      """Reader for the WIDER Face dataset in PASCAL VOC format.
  
      Conversion scripts can be found in
      https://github.com/sovrasov/wider-face-pascal-voc-annotations
      """
      CLASSES = ('face',)
  
      def __init__(self, **kwargs):
          super(WIDERFaceDataset, self).__init__(**kwargs)
  
      def load_annotations(self, ann_file):
          """Load annotation from WIDERFace XML style annotation file.
  
          Args:
              ann_file (str): Path of XML file.
  
          Returns:
              list[dict]: Annotation info from XML file.
          """
  
          data_infos = []
          img_ids = mmcv.list_from_file(ann_file)
          for img_id in img_ids:
              filename = f'{img_id}.jpg'
              xml_path = osp.join(self.img_prefix, 'Annotations',
                                  f'{img_id}.xml')
              tree = ET.parse(xml_path)
              root = tree.getroot()
              size = root.find('size')
              width = int(size.find('width').text)
              height = int(size.find('height').text)
              folder = root.find('folder').text
              data_infos.append(
                  dict(
                      id=img_id,
                      filename=osp.join(folder, filename),
                      width=width,
                      height=height))
  
          return data_infos
  