-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAI_images.html
510 lines (492 loc) · 29.8 KB
/
AI_images.html
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
<!DOCTYPE html>
<head>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-MGCS7827C1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-MGCS7827C1');
</script>
<title>AI-generated images for aphasia therapy and assessments</title>
<link rel="stylesheet" href="publication.css">
<link href='https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700;800&display=swap' rel='stylesheet'>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
#typed {
animation: typing 4s steps(40) infinite;
overflow: hidden;
}
#demo {
width: 70%;
display: grid;
grid-template-columns: 1fr min-content;
grid-gap: 1rem;
margin: auto;
}
#demo div p {
font-family: OCR A Std, 'Courier New', Courier, monospace;
font-size: 1.8rem;
color: rgb(201, 255, 75);
}
#dalleImage {
opacity: 0;
}
.show {
animation-duration: .5s;
animation-name: animate-fade;
animation-delay: 0.5s;
animation-fill-mode: forwards;
animation-timing-function: cubic-bezier(.26, .53, .74, 1.48);
opacity: 1;
}
h2 {
font-size: 2rem;
}
h3 {
text-align: left;
font-weight: 600;
}
.gallery img {
width: 100%;
}
.image-container {
width: 280px;
padding: 1rem;
position: relative;
display: inline-block;
}
.caption {
visibility: hidden;
position: absolute;
bottom: 1rem;
left: 1rem;
width: calc(100%-2rem);
color: white;
padding: 10px;
font-size: 1rem;
text-align: center;
text-shadow: 2px 2px 1.6px black;
font-weight: 600;
}
.image-container:hover .caption {
visibility: visible;
}
@media (pointer: coarse) {
.caption {
visibility: visible;
}
}
a {
text-decoration: underline;
}
td {
padding-left: 2rem;
padding-right: 2rem;
}
td i {
font-size: 1rem;
}
.light a {
color: rgb(77, 111, 0);
}
@keyframes animate-fade {
0% {
opacity: 0;
transform: scale(0.5, 0.5);
}
100% {
opacity: 1;
transform: scale(1, 1);
}
}
@media screen and (max-width: 500px) {
#demo {
width: 100%;
}
#demo div p {
font-size: 1.3rem;
}
p {
margin-top: 2rem!important;
/* margin-bottom: auto!important; */
}
#syntaxBox {
flex-wrap: wrap;
}
}
</style>
</head>
<body>
<div class="dark">
<a id="homeArrow" href="index.html">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="white" class="bi bi-arrow-up-circle" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z"/>
</svg>
</a>
<h1>AI-Generated Images for Speech Pathology — An Exploratory Application to Aphasia Assessment & Intervention Materials</h1>
<h3 style="text-align: center;">John E. Pierce</h3>
<p style="text-align: center; font-weight: normal;"><i>With thanks to Jon Hunt and Robin Keech from <a href="http://cuespeak.com">Cuespeak</a> for their input</i></p>
<div style="text-align: center;">
<a href="papers/Pierce AI-Generated Images Accepted.pdf" div class="paperbutton_light paperbutton">
<img class="pdfsvg" src="images/pdf_dark.svg">Author PDF
</a>
<a href="http://dx.doi.org/10.1044/2023_AJSLP-23-00142" div class="paperbutton_light paperbutton">
<img class="pdfsvg" src="images/pdf_dark.svg" style="width: 1px;height: calc(1rem*4/3);opacity: 0;">
doi.org/10.1044/2023_AJSLP-23-00142
</a>
</div>
<div id="demo">
<div style=""><p>
Prompt:<br><span id="typed"></span>
</p></div>
<img src="images/shoe_apple.png" alt="Four AI-generated images of shoes and apples in various positions" style="grid-column: 2/3;max-width: 25vw; align-self: center; justify-self: center;" id="dalleImage">
</div>
<p style="margin-bottom: 3rem; margin-top: 5rem; font-size: 1.4rem;">Images are a key part of aphasia assessment and treatment (and plenty of other areas of practice!). But it can be really difficult and/or expensive to find high quality images. Artificial Intelligence can now generate high quality images from a text prompt - I was interested in whether this might be useful to create customised images <b>quickly</b> and <b>affordably</b>.</p>
</div>
<div class="mid">
<h2>Method</h2>
<p>I selected 80 nouns, 80 verbs and 40 sentences at random from aphasia assessments and treatment software. I used <a href="https://openai.com/dall-e-2" style="color:rgb(131, 182, 10);text-decoration:underline">DALL-E 2</a> to try to create a suitable image for each target. I entered up to six prompts and stopped if I judged that the image represented the target.</p>
</div>
<div class="light" style="text-align: center;">
<h2>Results</h2>
<p>You can view all of the prompts and resulting images on <a href="https://johnepierce.github.io/AI-images-for-aphasia/" style="color:rgb(77, 111, 0);text-decoration:underline">this page</a> (takes a while to load them all).</p>
<ul>
<li>Successful images generated for 94.5% of targets <i>('successful' admittedly being a subjective decision)</i></li>
<li>Nouns were most successful (99%), followed by verbs (98%) and then sentences (80%).</li>
<li>The process was efficient - a mean of 2.3 minutes per target</li>
<li>Average cost was $0.31 USD per target</li>
</ul>
<h3>Some of the good images</h3>
<div class="gallery">
<div class="image-container">
<img loading="lazy" src="./images/AIimages/beg.jpg" >
<div class="caption">Beg</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/bone.jpg" >
<div class="caption">Bone</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/hair.jpg" >
<div class="caption">Hair</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/juice.jpg" >
<div class="caption">Juice</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/kneel.jpg" >
<div class="caption">Kneel</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/policepainting.jpg" >
<div class="caption">Police painting dancer</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/smell.jpg" >
<div class="caption">Smell</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/waterfall.jpg" >
<div class="caption">Waterfall</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/bell.jpg" >
<div class="caption">Bell</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/chicken.jpg" >
<div class="caption">Chicken</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/house.jpg" >
<div class="caption">House</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/king.jpg" >
<div class="caption">King</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/paint.jpg" >
<div class="caption">Paint</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/push.jpg" >
<div class="caption">Push</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/tractor.jpg" >
<div class="caption">Tractor</div>
</div>
</div>
<h3>Some of the passable, but flawed, images</h3>
<p>❗️Even though many images represented the target word, they looked a bit off. These imperfections could be distracting or unsettling for users.</p>
<div class="gallery">
<div class="image-container">
<img loading="lazy" src="./images/AIimages/lock.jpg" >
<div class="caption">Lock</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/eat.jpg" >
<div class="caption">Eat</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/work.jpg" >
<div class="caption">Work</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/playrecords.jpg" >
<div class="caption">Play records</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/restaurant.jpg" >
<div class="caption">Restaurant</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/curtsy.jpg" >
<div class="caption">Curtsy</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/smoke.jpg" >
<div class="caption">Smoke</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/cut.jpg" >
<div class="caption">Cut</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/saw.jpg" >
<div class="caption">Saw</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/lasso.jpg" >
<div class="caption">Lasso</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/cry.jpg" >
<div class="caption">Cry</div>
</div>
<div class="image-container">
<img loading="lazy" src="./images/AIimages/crown.jpg" >
<div class="caption">Crown</div>
</div>
</div>
<h3>Some of the frankly bizarre images</h3>
<p>Obviously, these were not considered successful. But they are funny. <br>
See the full set of strange images <a href="https://labs.openai.com/sc/X3vPwJmq9G3CrK416OJRlmFm" style="color:rgb(131, 182, 10);text-decoration:underline">here</a>.</p>
<div class="gallery">
<div class="image-container"><img src="./images/AIimages/DALL·E-2023-10-21-16.49.34---A-singing-man-photographs-a-soldier.jpg" >
<div class="caption">Singer photographing soldier?</div>
</div>
<div class="image-container"><img src="./images/AIimages/DALL·E-2023-10-21-16.49.56---A-diver-enters-the-water-with-a-splash,-wide-shot,-Olympic-Games.jpg" >
<div class="caption">Diving?</div>
</div>
<div class="image-container"><img src="./images/AIimages/DALL·E-2023-10-21-16.50.12---a-maid-on-a-stool-milking-a-cow,-painting.jpg" >
<div class="caption">Milking?</div>
</div>
<div class="image-container"><img src="./images/AIimages/DALL·E-2023-10-21-16.50.20---a-man-proposes-to-a-smiling,-happy-woman-on-one-knee,-stock-photograph,-studio-lighting.jpg" >
<div class="caption">Proposing?</div>
</div>
<div class="image-container"><img src="./images/AIimages/DALL·E-2023-10-21-16.50.30---An-older-man-lowers-himself-into-an-armchair,-studio-lighting.jpg" >
<div class="caption">Sitting?</div>
</div>
<div class="image-container"><img src="./images/AIimages/DALL·E-2023-10-21-16.50.43---stock-photography-of-a-smiling-woman-carrying-a-box-while-walking,-studio-lighting,-wide-shot.jpg" >
<div class="caption">Carrying?</div>
</div>
<div class="image-container"><img src="./images/AIimages/DALL·E-2023-10-21-16.50.48---a-brass-trumpet-being-played,-studio-stock-photograph,-high-detail.jpg" >
<div class="caption">Trumpet?</div>
</div>
<div class="image-container"><img src="./images/AIimages/DALL·E-2023-10-21-16.51.07---Portrait-of-a-regal-king-wearing-a-crown.jpg" >
<div class="caption">King?</div>
</div>
<div class="image-container"><img src="./images/AIimages/DALL·E-2023-10-21-16.51.24---a-ballerina-running-away-from-a-policeman,-high-speed-shutter.jpg" >
<div class="caption">Policeman chasing dancer?</div>
</div>
</div>
</div>
<div class="dark" style="background-color: rgb(35, 41, 22);">
<h2>Why is this work important?</h2>
<p>If you're a clinician, you can probably just use Google image search without thinking about copyright. But for anything that will be published, such as assessments, treatment materials or aphasia-friendly information, finding the right images is hard.</p>
<p>This brief exploration shows that AI image generation could become a <b>low cost</b>, <b>rapid</b> source of copyright-free images that can be heavily customised. This is a very new technology that will only get better. In fact, in the short time since I ran this test, Dall-E and many other generators have improved substantially. <b>Combining</b> AI images and manual editing (e.g. Dall-E 2 + photoshop) will probably be the new normal.</p>
<h3>Current Limitations:</h3>
<p><b>Complexity/frequency: </b>Unfortunately, the most complex and low frequency items were the most difficult to generate. It's easy to find an image of a glass of juice from the internet but very hard to find an image of 'the cat chases the dog'. Yet AI seems to struggle more with the latter, at present.</p>
<p><b>Syntax: </b>Part of the difficulty with more complex scenes was that Dall-E 2 was not accurately parsing the syntax. Prepositions and adjectives were inconsistently applied and often to the wrong noun. This is a known limitation.</p>
<div style="background: rgba(255, 255, 255,0.2);
padding: 1rem;
border-radius: 1rem;">
<span style="display: block; font-style: italic;">Results of prompt, “A ballerina runs behind a policeman, high speed shutter”. The preposition is not consistently applied to the correct noun.</span>
<div id="syntaxBox" style="display: flex; justify-content: center; width: 100%;gap: 1rem;">
<img style="width: 100%; max-width: 40vw;" loading="lazy" src="./images/AIimages/chase1.jpg" >
<div class="caption"></div>
<img style="width: 100%; max-width: 40vw" loading="lazy" src="./images/AIimages/chase2.jpg" >
<div class="caption"></div>
<img style="width: 100%; max-width: 40vw" loading="lazy" src="./images/AIimages/chase3.jpg" >
<div class="caption"></div>
<img style="width: 100%; max-width: 40vw" loading="lazy" src="./images/AIimages/chase4.jpg" >
<div class="caption"></div>
</div>
</div>
<p><b>Bias: </b>Dall-E 2 produced a diverse range of races without prompting, but it has been <i>intentionally programmed to do so</i> because early models defaulted to white-looking people. AI is not biased itself but reflects and exaggerates the human-generated data used to train it. Most AI image generators have been trained on English-language, Western culture images and captions, meaning generating images for <a style="color: rgb(131, 182, 10);" href="https://restofworld.org/2023/ai-image-stereotypes/">other cultures</a> may be substantially less accurate and efficient.</p>
<h3>What's next?</h3>
<p>We need to see what people think about these images - I plan to investigate the acceptability and accuracy of AI-generated images compared to 'human generated' images.</p>
<p style="margin-top: 6rem; text-align: center;">Pierce, J. E. (2023). AI-generated images for speech pathology—An exploratory application to aphasia assessment and intervention materials. <i>American Journal of Speech-Language Pathology. </i><a href="https://doi.org/10.1044/2023_AJSLP-23-00142">https://doi.org/10.1044/2023_AJSLP-23-00142</a>
</p>
</div>
<div class="light" style="box-shadow: inset 0px 10px 20px -10px rgba(0, 0, 0, 0.5);">
<p>If you'd like to try using Dall-E 2 yourself, I recommend this <a href="https://dallery.gallery/the-dalle-2-prompt-book/">excellent prompt guide</a>.</p>
<p>You may also want to compare <a href="https://johnepierce.github.io/AI-images-for-aphasia/">my prompts</a> with the results to see what worked best.</p>
<p>Below, I have summarised what I learned about prompts. Note that each AI image generator (Dall-E, Midjourney, Photoshop, Stable Diffusion...) will have its own quirks. Dall-E 2 does involve a cost.</p>
<table class=MsoTableGrid width="91%"
style='width:91.14%;background:#D9D9D9;mso-background-themecolor:background1;
mso-background-themeshade:217;border-collapse:collapse;border:none;mso-border-alt:
solid windowtext .5pt;mso-yfti-tbllook:1184;border-radius: 1rem;text-align: left;'>
<tbody>
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
<td width="100%" valign=top style='width:100.0%;
mso-border-alt:solid windowtext .5pt;'>
<p class=MsoNormal style='text-indent:0cm;line-height:normal'><b><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
color:black;mso-color-alt:windowtext;mso-fareast-language:EN-GB'>Tips for
enhancing results in DALL-E 2</span></b><b><span style='mso-ascii-font-family:
"Times New Roman";mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman";mso-bidi-font-family:"Times New Roman";mso-fareast-language:
EN-GB'><o:p></o:p></span></b></p>
<p class=MsoListParagraphCxSpFirst style='line-height:
normal;mso-list:l8 level1 lfo1'><span style='mso-ascii-font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";color:black;mso-color-alt:windowtext;
mso-fareast-language:EN-GB'>Expect randomness – the same prompt will produce
better and worse results across multiple attempts. </span><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
mso-fareast-language:EN-GB'><o:p></o:p></span></p>
<p class=MsoListParagraphCxSpMiddle style='line-height:
normal;mso-list:l8 level1 lfo1'><span style='mso-ascii-font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";color:black;mso-color-alt:windowtext;
mso-fareast-language:EN-GB'>Picture the type of result you want before creating
the prompt. This encourages a more specific prompt.</span><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
mso-fareast-language:EN-GB'><o:p></o:p></span></p>
<p class=MsoListParagraphCxSpMiddle style='line-height:
normal;mso-list:l8 level1 lfo1'><span style='mso-ascii-font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";color:black;mso-color-alt:windowtext;
mso-fareast-language:EN-GB'>Prompt as if you are captioning an existing image
in a newspaper. Read stock photograph descriptions to get a feel for wording
and style as DALL-E 2 was trained on image-caption pairs. Present tense seems
to work best.</span><span style='mso-ascii-font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";mso-fareast-language:EN-GB'><o:p></o:p></span></p>
<p class=MsoListParagraphCxSpMiddle style='line-height:
normal;mso-list:l8 level1 lfo1'><span style='mso-ascii-font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";color:black;mso-color-alt:windowtext;
mso-fareast-language:EN-GB'>Multiple clauses can be used to specify
additional requirements:</span><span style='mso-ascii-font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";mso-fareast-language:EN-GB'><o:p></o:p></span></p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:3rem;mso-add-space:
auto;line-height:normal;mso-list:l8 level2 lfo1'><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
color:black;mso-color-alt:windowtext;mso-fareast-language:EN-GB'>Medium<br>
<i>A ballpoint pen lying on a desk, <b>stock photograph</b><br>
Portrait of a king wearing a golden crown, head and shoulders,<b> renaissance
<span class=GramE>painting</span></b></i></span><span style='mso-ascii-font-family:
"Times New Roman";mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman";mso-bidi-font-family:"Times New Roman";mso-fareast-language:
EN-GB'><o:p></o:p></span></p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:3rem;mso-add-space:
auto;line-height:normal;mso-list:l8 level2 lfo1'><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
color:black;mso-color-alt:windowtext;mso-fareast-language:EN-GB'>Source<i><br>
An astronaut spacesuit in a museum, <b>tourist's photograph<br>
</b><span class=SpellE>Photograph</span> of a family listening to the record
player, wide shot, <b>life magazine <span class=GramE>1970</span></b></i></span><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
mso-fareast-language:EN-GB'><o:p></o:p></span></p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:3rem;mso-add-space:
auto;line-height:normal;mso-list:l8 level2 lfo1'><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
color:black;mso-color-alt:windowtext;mso-fareast-language:EN-GB'>Lighting<br>
<i>A whole green cucumber and slices, <b>studio lighting<br>
</b>A croquet game on a green lawn, <b>warm outdoor photograph</b>, calm</i></span><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
mso-fareast-language:EN-GB'><o:p></o:p></span></p>
<p class=MsoListParagraphCxSpMiddle style='margin-left:3rem;mso-add-space:
auto;line-height:normal;mso-list:l8 level2 lfo1'><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
color:black;mso-color-alt:windowtext;mso-fareast-language:EN-GB'>Camera attributes<br>
<i>Closeup of a wooden lattice, garden visible in background, <b>shallow
depth of field</b><br>
A man bowling at a <span class=GramE>ten pin</span> bowling alley, <b>action
shot</b></i></span><span style='mso-ascii-font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";mso-fareast-language:EN-GB'><o:p></o:p></span></p>
<p class=MsoListParagraphCxSpMiddle style='line-height:
normal;mso-list:l8 level1 lfo1'><span style='mso-ascii-font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";color:black;mso-color-alt:windowtext;
mso-fareast-language:EN-GB'>Specify camera zoom and angle as DALL-E 2 often
defaults to closeups<br>
<b><i>Wide shot</i></b><i> of a restaurant, diners and wait staff visible<br>
<b>Full shot</b> of a man in fireman's uniform and hat, studio lighting,
stock photograph<br>
Chicken schnitzel <span class=GramE><b>closeup</b></span></i></span><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
mso-fareast-language:EN-GB'><o:p></o:p></span></p>
<p class=MsoListParagraphCxSpMiddle style='line-height:
normal;mso-list:l8 level1 lfo1'><span style='mso-ascii-font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";color:black;mso-color-alt:windowtext;
mso-fareast-language:EN-GB'>Adjectives can be very effective but are not
consistently applied to the correct noun - keep trying!</span><span style='mso-ascii-font-family:
"Times New Roman";mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman";mso-bidi-font-family:"Times New Roman";mso-fareast-language:
EN-GB'><o:p></o:p></span></p>
<p class=MsoListParagraphCxSpLast style='line-height:
normal;page-break-after:avoid;mso-list:l8 level1 lfo1'><span
style='mso-ascii-font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
color:black;mso-color-alt:windowtext;mso-fareast-language:EN-GB'>Duplication
has been reported to be effective at focusing on a particular description and
improving its quality, e.g. <i>
A <b>smiling</b> girl is tickled, <b>laughing</b>, bright
lighting, <b>happy</b>
</i></span><span style='mso-ascii-font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";mso-fareast-language:EN-GB'><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
</div>
</body>
<script >
const textToType = "Closeup of a shoe squashing an apple, stock photograph";
const textElement = document.getElementById("typed");
let currentIndex = 0;
function typeCharacter() {
if (currentIndex < textToType.length) {
// Append the next character to the textElement
textElement.textContent += textToType.charAt(currentIndex);
currentIndex++;
setTimeout(typeCharacter, 40); // Adjust the 100 to change typing speed
}
else{
document.getElementById("dalleImage").classList.add('show');
}
}
typeCharacter();
</script>