MagicEasel — drawing-to-inspiration-image pipeline · 24 participants · Environmental & Personal conditions · audit 2026-08-03
Contents
MagicEasel watches a participant's drawing, identifies objects in it, samples an object from the participant's surrounding environment, perturbs its description into an image-generation prompt, and returns an inspiration image. This analysis measures how semantically related — by CLIP cosine similarity — four stages of that process are to the participant's selected drawing object.
All four comparisons use the selected drawing-object text as their fixed reference. Only the item being compared changes.
The 728 blank-score rows are generations for which the drawing detector returned an empty list. They are retained in the CSV but contribute no CLIP values. The two conditions differ in their object source: Environmental draws from 15 shared objects; Personal draws from participant-provided photos.
| CSV column | Source being compared | Score type |
|---|---|---|
clip_environment_text_vs_drawing_text | Text of the selected environment object | text–text |
clip_environment_photo_vs_drawing_text | Photo of the selected environment object | image–text |
clip_image_prompt_vs_drawing_text | Actual image-generation prompt sent to the generator | text–text |
clip_generated_image_vs_drawing_text | Generated inspiration image | image–text |
Text-to-text and image-to-text scores have different numerical distributions. Cross-type comparisons (e.g., environment-text vs. generated-image) are not meaningful; same-type cross-condition comparisons are.
One generation follows this sequence. The selected drawing text (step 3) is the fixed CLIP reference for all four scores.
flowchart LR
A["Drawing capture"] --> B["Object detection"]
B --> C["Drawing target"]
C --> D["Env object + photo"]
D --> E["Image prompt"]
E --> F["Generated image"]
style C stroke:#B13254,stroke-width:2px
The text-embedding model used during step 4 to select the environment object is part of the original experiment. CLIP is a separate model applied afterward for this analysis.
CLIP model: openai/clip-vit-large-patch14 (L/14). Processor: openai/clip-vit-base-patch32 (B/32). Metric: raw cosine similarity between L2-normalized embeddings — not a percentage.
The chart below shows, for each participant, how many of the retained rows contain all four CLIP scores (scored, darker) versus how many have blank scores due to empty drawing detections (blank, lighter). P4 is excluded entirely: its 86 archived generations cannot be reconstructed without a usable experiment log.
Observed Personal means are higher for environment text, image prompt, and generated image. Environmental environment-photo mean is slightly higher. These are arithmetic means with no statistical test — no uncertainty analysis is included, and each participant contributes repeated rows.
| Comparison source | Environmental (n=692) | Personal (n=612) | Combined (n=1,304) |
|---|---|---|---|
| Environment text | 0.61930967 | 0.63619940 | 0.62723645 |
| Environment photo | 0.13598220 | 0.13470968 | 0.13538497 |
| Image prompt | 0.63497605 | 0.65677402 | 0.64520638 |
| Generated image | 0.12068142 | 0.12415191 | 0.12231021 |
Each point is one participant (21 with both conditions). The dashed diagonal marks equal Environmental and Personal means. Points above the diagonal have a higher Personal mean; points below have a higher Environmental mean. Hover a point to see the participant ID and exact values. P3, P13 are Environmental-only; P4 is excluded.
Click any column header to sort. Rows with N scored < 5 are flagged — their means are averages over very few generations and should be interpreted with caution. P13 Personal has no scored rows because every retained generation had an empty detection list.
| PID | Condition | N scored | Env text | Env photo | Image prompt | Gen image |
|---|
How drawing targets were associated with their generated output depends on whether requests were processed sequentially or concurrently. The vast majority were unique in their log position.
| Pairing method | Rows |
|---|---|
| Unique pending target | 1,298 |
| Start-timestamp override | 2 |
| Probability-pattern override | 4 |
| No drawing target | 728 |
The six override rows (P3, P16, P20) had two concurrent requests whose log messages interleaved. Seeds uniquely identify the generated output; probability patterns or request-start timestamps identify the drawing target.
data2/P04_0618/out.log is a five-line, 840-byte log from a later failed launch. P4's 86 generated images, captures, and JSON files exist, but the drawing text, environment selection, and prompt cannot be reconstructed. All 86 are excluded.
P3 was assigned Personal in S1. Its log shows the brandt-objects environment in two windows (44 launches total). However, the original captures and generated directories are absent from both DATA.zip and MagicEasel_bundle.zip. This appears to be a copy/export omission. No synthetic P3 Personal rows are created.
These transition records are excluded because the recorded active environment does not match the intended condition: P11 2026-06-22_10-26-34_timed (esther-objects), P16 2026-06-23_15-20-55_timed (laura-objects), P23 2026-06-25_17-18-01_timed and 2026-06-25_17-18-29_timed (sneha-objects).
The first three retained Personal rows for P1 (2026-06-15_14-51-16_timed, 14-51-17_timed, 14-51-18_timed) have use_sampled_image = false. The generated images were not photo-conditioned in those three cases, but the rows remain in the CSV.
All 15 files in Personal objects-Rakshanda contain HEIF image data despite having .jpg extensions. The scoring script registers a HEIF decoder (pillow-heif==1.1.1). One log stem is IMG_8151_chk while its archived source is IMG_8151.jpg; one explicit alias resolves it.
A what-if comparison swapped the P16 and P20 target assignments and recomputed the 692-row Environmental means using the smaller openai/clip-vit-base-patch32 model:
| Comparison source | Change (correct − swapped) |
|---|---|
| Environment text | +0.000177 |
| Environment photo | +0.000031 |
| Image prompt | +0.000019 |
| Generated image | −0.000091 |
Condition-wide differences are small because only 4 of 692 rows change. Within the four affected rows the largest mean difference is 0.0306; the P20 environment-text pair changes by 0.0443.
| Output record | Drawing target | Selected env object | Image prompt | Seed | Method |
|---|---|---|---|---|---|
P3 16-01-39_timed | hand | a tote bag; envrionment 9.jpg | backpack | 1068050079 | Start timestamp |
P3 16-01-41_timed | lamp | a desk lamp; envrionment 3.jpg | office chair | 1301420986 | Start timestamp |
P16 15-41-25_timed | person walking | black flip flops; envrionment 8.jpg | door mat | 1140801244 | Probability pattern |
P16 15-41-26_timed | stairs | a white folding chair; envrionment 10.jpg | picnic basket | 1539856523 | Probability pattern |
P20 10-35-15_timed | bamboo plant | a white folding chair; envrionment 10.jpg | a plastic lunch tray | 39818095 | Probability pattern |
P20 10-35-16_timed | black hands | a black cup; envrionment 1.jpg | wooden saucer | 2122450072 | Probability pattern |
The averaging script uses only Python's standard library and does not require CLIP once clip_scores.csv exists.
The checked run produced 2,032 data rows and 58 columns. File size: 1,960,759 bytes. SHA-256: ee11a0be2bf4f4f09405e3222177523f613022da9025976d73f8e4f925fb5baf.
Prints the Markdown table in Section 5.3. Ignores all-blank rows; rejects rows with only some of the four scores; formats means to eight decimal places.
| Item | Value |
|---|---|
| Model weights | openai/clip-vit-large-patch14 rev 32bd64288804d66eefd0ccbe215aa642df71cc41 |
| Processor | openai/clip-vit-base-patch32 rev 3d74acf9a28c67741b2f4f2ea7635f0aaf6f0268 |
| Metric | Raw cosine similarity between L2-normalized embeddings |
| Text input | Exact logged text, no template added |
| Inference | float32, evaluation mode, torch.inference_mode |
| Image decoding | Pillow + pillow-heif==1.1.1 |
The shared set contains 15 photos used across all Environmental sessions. Note: the misspelling envrionment (missing the second 'n') is part of the archived filenames and log values — code must preserve it when resolving paths.
| Photo stem | Detected object text |
|---|---|
envrionment 1 | a black cup |
envrionment 2 | a striped laundry bag |
envrionment 3 | a desk lamp |
envrionment 4 | a stapler |
envrionment 5 | a clothes hanger |
envrionment 6 | a metal water bottle |
envrionment 7 | a closed umbrella |
envrionment 8 | a pair of black flip flops on a wooden floor |
envrionment 9 | a tote bag |
envrionment 10 | a white folding chair |
envrionment 11 | a suitcase |
envrionment 12 | a tissue box |
envrionment 13 | a white electrical plug |
envrionment 14 | a remote control |
envrionment 15 | a scarf |
The intended group contains the 24 participants listed below. P12, P22, earlier pilots, and _template directories exist in data2 but are outside this group. Background (Design / Non-Design) is descriptive metadata and does not affect score calculation.
| PID | Background | S1 condition | S2 condition |
|---|---|---|---|
| P1 | Design | Environmental | Personal |
| P2 | Design | Environmental | Personal |
| P3 | Design | Personal | Environmental |
| P4 | Non-Design | Personal | Environmental |
| P5 | Non-Design | Environmental | Personal |
| P6 | Design | Environmental | Personal |
| P7 | Design | Personal | Environmental |
| P8 | Non-Design | Personal | Environmental |
| P9 | Non-Design | Environmental | Personal |
| P10 | Non-Design | Environmental | Personal |
| P11 | Design | Personal | Environmental |
| P13 | Non-Design | Environmental | Personal |
| P14 | Design | Environmental | Personal |
| P15 | Non-Design | Personal | Environmental |
| P16 | Non-Design | Personal | Environmental |
| P17 | Non-Design | Environmental | Personal |
| P18 | Design | Environmental | Personal |
| P19 | Non-Design | Personal | Environmental |
| P20 | Non-Design | Personal | Environmental |
| P21 | Non-Design | Environmental | Personal |
| P23 | Design | Personal | Environmental |
| P24 | Design | Personal | Environmental |
| P25 | Design | Personal | Environmental |
| P26 | Design | Environmental | Personal |