Spaces:
				
			
			
	
			
			
		Runtime error
		
	
	
	
			
			
	
	
	
	
		
		
		Runtime error
		
	| import os.path as osp | |
| import xml.etree.ElementTree as ET | |
| import mmcv | |
| from .builder import DATASETS | |
| from .xml_style import XMLDataset | |
| 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 | |