Files
boc/iom/ai_pipeline/__pycache__/data_collection.cpython-39.pyc
T

60 lines
5.5 KiB
Plaintext
Raw Normal View History

a
£’>jÔã@sˆdZddlmZmZmZddlmZddlmZddl Z ddl
Z
eGdddƒƒZ Gdd „d ƒZ Gd
d d ƒZ
d d
Zedkr„eƒdS)zR
Data Collection Pipeline
Collect and annotate infrastructure images for training
é)ÚDictÚListÚOptional)Ú dataclass)ÚPathNc@sVeZdZUdZeed<eed<eed<eed<eeed<eed<dZ e
eed <dS)
ÚImageAnnotationzImage annotationÚimage_idÚfilenameÚwidthÚheightÚobjectsÚ
scene_typeNÚlocation) Ú__name__Ú
__module__Ú __qualname__Ú__doc__ÚstrÚ__annotations__Úintrrrr©rrúB/home/bernt/.openclaw/workspace/iom/ai_pipeline/data_collection.pyr
s
 rc @sTeZdZdZedœddZdeeeeeeeedœddZ d d
Z
ed œd d
Z dS)Ú
DataCollectorzª
Collect and prepare training data
Sources:
- quiXzoom app submissions
- Public datasets
- Synthetic data generation
- Manual annotation
)Ú output_pathcCt|ƒ|_g|_|jddjddd|jddjddd|jddjddd|jddjddd|jddjddd|jddjddddS)NZimagesÚtrainT)ÚparentsÚexist_okÚvalÚtestÚlabels)rrÚ annotationsÚmkdir)ÚselfrrrrÚ__init__$s
zDataCollector.__init__r©rr r
r r r
Úsplitc Ct||||||d}|j |¡|jd||d} t| dƒV}
|D]@} |
 | dd| dd| dd| d d| d
d
¡qHWd ƒn1sž0Yd S)
zAdd image annotation)rr r
r r r
rz.txtÚclass_idú Úx_centerÚy_centerr
r Ú
N)rr ÚappendrÚopenÚwrite) r"rr r
r r r
r%Ú
annotationZ
label_pathÚobjrrrÚadd_annotation0s ú  zDataCollector.add_annotationcCsdt|j ¡ƒddddgd¢dœ}t|jddƒ }tj||d d
Wd ƒn1sV0Yd S) z"Create data.yaml for YOLO trainingz images/trainz
images/valz images/testé
)
Z street_lightZ traffic_signZbenchZ trash_canÚsidewalkÚroadZbuildingÚbridgeZtreeÚgraffiti)ÚpathrrrZncÚnamesz data.yamlr&é)ZindentN)rrZabsoluter-ÚjsonÚdump)r"Údatar0rrrÚcreate_data_yamlMs úzDataCollector.create_data_yaml)Úreturnc
Csˆt|jƒtdd|jDƒƒttdd|jDƒƒƒtt|jdd d¡ƒƒtt|jdd d¡ƒƒtt|jdd d¡ƒƒd œd
œS) zGet dataset statisticscss|]}t|jƒVqdS©N)Úlenr ©Ú.0ÚarrrÚ <genexpr>józ*DataCollector.get_stats.<locals>.<genexpr>css|] }|jVqdSr@)r
rBrrrrEkrFrrÚ*rr)rrr)Ú total_imagesÚ
total_objectsÚ scene_typesÚsplits)rAr ÚsumÚlistÚsetrZglob©r"rrrÚ get_statsfsýüzDataCollector.get_statsN)r) rrrrrr#rrrr2r>rPrrrrrs
øø rc@s,eZdZdZddZd eeedœddZdS)
ÚSyntheticDataGeneratorz Generate synthetic training datacCsgd¢|_gd¢|_dS)N)Ú street_viewÚbuilding_facader6r5r4ÚparkZindustrial_areaZresidential_area)ZcrackZ corrosionr7ZdamageZwearZdirtZmissingZbroken)ÚscenesÚdefectsrOrrrr#ws
zSyntheticDataGenerator.__init__é)r
Ú num_defectsr?c
Cddl}d}d}g}t|ƒD]`}| |j¡}| dd¡} | dd¡}
| dd¡} | dd¡} | | dd ¡| |
| | |d