Repository navigation
0.10.0 - OBBYDatasetsYOLO
Etiquetas OBB utilizables de punta a punta, redimensionado final que conserva la geometria, volcado de datasets YOLO a disco con una sola llamada, y un fondo de placa con mas grano y estrias.
Etiquetas OBB (#31, #33, #38). Las esquinas OBB ya no salen de [0, 1] (reserva el alto de la caja inclinada al apilar observaciones), asi que Ultralytics no descarta placas. Nuevo modulo resize con ResizeMode: SpectrumLabeledSequence lleva cada placa a resize_shape segun resize_mode (STRETCH, el default, LETTERBOX o NONE, sin redimensionar), y las etiquetas se re-normalizan al lienzo final. La salida DICT ya soporta OBB: boxes sale (lote, None, 8), tambien en un lote sin cajas.
Dataset YOLO en disco (#32). gsssp.save_yolo_dataset vuelca images/, labels/ y un data.yaml con formato de etiquetas (AABB u OBB), clases, semilla, resize_mode y el resto del generador por parametro. generator_save_images_example.py pasa a ser una CLI de argparse sobre esa funcion (--help lista las opciones). El data.yaml declara siempre las tres clases, porque Ultralytics rechaza un dataset cuyos indices de etiqueta no sean menores que la cantidad de nombres. El script usa por defecto resize_mode=NONE y placas de 500 a 1400 px por lado; la libreria conserva sus defaults. Nuevo LabelClass.yolo_name.
Fondo y componentes mas parecidos a una placa real. Desenfoque final acotado a [1, 3] para conservar el grano de la emulsion (#26). Estrias horizontales en la banda de ciencia, con stripe_amplitude_range (#27). El alto de la observacion se deriva de su ancho con aspect_ratio_range (6 a 15), en vez de sortearse aparte (#28). Lineas de la lampara mas finas: peak_spread se acota a (0.0004, 0.015) en draw_observation y el default de spectral_function pasa de 1.0 a 0.0077 (#29).
Cambios incompatibles
- Los datasets generados no son bit-identicos a los de 0.9.0, aun con la misma seed: cambian los sorteos del rng (se quita la llamada sin uso a
define_observations_limits, que solo consumia sorteos), el posicionamiento de las observaciones y los valores por defecto. Para reproducir un dataset anterior hay que usar 0.9.0. - OBB no se admite con un redimensionado que deforme.
SpectrumLabeledSequenceconSTRETCHyLabelFormat.OBB, yObservationCropSequencecon OBB ycrop_resize_shapefijo, levantanValueErroral construirse, con la alternativa. Unresize_modeque no sea unResizeModetambien se rechaza. - Se quitan
ComponentLimitydefine_observation_components_limitsde la API publica: eran stubs sin uso. - El script de ejemplo ya no lee variables de entorno (
GASP_OUTPUT_DIR, etc.): la carpeta de salida es su primer argumento. Se elimina.env.exampley la dependenciapython-dotenv.