Skip to content

blainehoak/texture-learning

Repository files navigation

Explorations in Texture Learning

This is the code repository for the work Explorations in Texture Learning in ICLR 2024, Tiny Papers track

To reproduce the results in this paper, simply run python3 main.py in your terminal. This will download the DTD dataset, fetch the pretrained ImageNet model, and run the texture learning analysis. When the program completes, the results will be contained in texture_object_top3.csv. With this csv file, you can create tables for the texture-object associations like this:

texture class imagenet class top 1 effect size top 1 imagenet class top 2 effect size top 2 imagenet class top 3 effect size top 3
honeycombed honeycomb 0.7627119 chain_mail 0.050847456 leaf_beetle 0.016949153
cobwebbed spider_web 0.6615385 barn_spider 0.06153846 radio_telescope 0.03076923
waffled waffle_iron 0.44705883 honeycomb 0.105882354 pretzel 0.07058824
knitted dishrag 0.36956522 wool 0.26086956 cardigan 0.1521739
striped zebra 0.35714287 tiger 0.16666667 velvet 0.11904762
spiralled coil 0.32323232 maze 0.060606062 knot 0.04040404
bubbly bubble 0.32038835 beer_glass 0.097087376 honeycomb 0.058252428
stratified cliff 0.27083334 velvet 0.1875 stone_wall 0.09375
polka-dotted bib 0.23762377 Windsor_tie 0.12871288 shower_curtain 0.10891089
dotted bib 0.23762377 shower_curtain 0.12871288 wallet 0.10891089
wrinkled velvet 0.21153846 quilt 0.17307693 wool 0.057692308
grid window_screen 0.19626169 oscilloscope 0.11214953 shoji 0.07476635
woven hamper 0.19626169 velvet 0.12149533 dishrag 0.093457945
stained velvet 0.19298245 potpie 0.03508772 handkerchief 0.02631579
paisley velvet 0.1923077 wool 0.115384616 shower_curtain 0.10576923
lacelike handkerchief 0.1904762 velvet 0.104761906 stole 0.104761906
frilly head_cabbage 0.1875 hoopskirt 0.09821428 velvet 0.08035714
perforated strainer 0.18691589 space_heater 0.07476635 honeycomb 0.06542056
zigzagged maze 0.17431192 envelope 0.12844037 quilt 0.110091746
meshed window_screen 0.16216215 chainlink_fence 0.14414415 honeycomb 0.117117114
gauzy shower_curtain 0.16071428 velvet 0.09821428 window_shade 0.071428575
crystalline plastic_bag 0.16071428 honeycomb 0.09821428 pinwheel 0.071428575
braided knot 0.16037735 hamper 0.11320755 dishrag 0.08490566
flecked wool 0.15517241 velvet 0.0862069 cardigan 0.06896552
cracked stone_wall 0.15178572 guillotine 0.0625 honeycomb 0.05357143
blotchy velvet 0.1491228 ant 0.05263158 shower_curtain 0.02631579
banded shower_curtain 0.14018692 web_site 0.093457945 Windsor_tie 0.07476635
matted wool 0.13913043 komondor 0.07826087 wig 0.052173913
interlaced maze 0.13392857 prayer_rug 0.08928572 buckle 0.08035714
chequered wool 0.13274336 tray 0.097345136 web_site 0.07079646
veined leaf_beetle 0.13157895 head_cabbage 0.096491225 walking_stick 0.05263158
pleated window_shade 0.13043478 shower_curtain 0.12173913 velvet 0.11304348
lined shower_curtain 0.11504425 wool 0.07964602 window_shade 0.07964602
crosshatched window_screen 0.11504425 handkerchief 0.061946902 velvet 0.053097345
grooved radiator 0.114035085 velvet 0.096491225 doormat 0.078947365
fibrous hay 0.11304348 wool 0.052173913 pot 0.052173913
swirly velvet 0.112068966 fire_screen 0.112068966 shower_curtain 0.094827585
scaly honeycomb 0.112068966 velvet 0.060344826 tile_roof 0.060344826
freckled lipstick 0.10810811 seat_belt 0.072072074 Band_Aid 0.072072074
studded strainer 0.10526316 Windsor_tie 0.0877193 cuirass 0.07017544
marbled velvet 0.097345136 cliff 0.053097345 spider_web 0.044247787
bumpy custard_apple 0.09243698 jackfruit 0.05042017 abacus 0.033613447
potholed geyser 0.09174312 volcano 0.08256881 manhole_cover 0.055045873
sprinkled ice_cream 0.08547009 dough 0.05982906 confectionery 0.042735044
porous French_loaf 0.078947365 velvet 0.05263158 honeycomb 0.05263158
pitted pomegranate 0.06837607 doormat 0.051282052 velvet 0.051282052
smeared mask 0.05982906 velvet 0.051282052 paintbrush 0.042735044

By default, the csv will contain the top 3 texture-object associations for each texture class. To change this number, run python3 main.py --maxk k with your desired value for k instead.

If running on a CPU, this may take some time (~20 minutes). If running on a GPU, the Dockerfile provided can be used to setup the environment with the proper packages installed.

To cite the paper:

@misc{hoak2024explorations,
      title={Explorations in Texture Learning}, 
      author={Blaine Hoak and Patrick McDaniel},
      year={2024},
      eprint={2403.09543},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Acknowledgements: This material is based upon work supported by, or in part by, the National Science Foundation under Grant No. CNS1946022 and Grant No. CNS2343611. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the author(s) and do not necessarily reflect the views of the National Science Foundation, or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for government purposes notwithstanding any copyright notation hereon.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published