1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| class AnyverseSyntheticGenerator: """ Anyverse合成数据生成器 """ def __init__(self, config): self.config = config self.scenarios = [ 'normal_driving', 'fatigue_driving', 'distraction_phone', 'distraction_passenger', 'sunglasses_night', 'mask_sunglasses', 'child_presence' ] def generate_dataset(self, num_samples=10000): """ 生成数据集 """ for scenario in self.scenarios: for i in range(num_samples // len(self.scenarios)): self.set_scenario_params(scenario) self.set_environment_params( lighting=self.random_lighting(), weather=self.random_weather() ) self.set_person_params( gender=self.random_gender(), age=self.random_age(), ethnicity=self.random_ethnicity(), accessories=self.get_accessories(scenario) ) rgb_image = self.render_rgb() ir_image = self.render_ir() depth_map = self.render_depth() annotations = self.generate_annotations() self.save_sample( rgb_image, ir_image, depth_map, annotations )
|