comparison thesis/cortex.org @ 511:07c3feb32df3

go over changes by Dylan.
author Robert McIntyre <rlm@mit.edu>
date Sun, 30 Mar 2014 10:17:43 -0400
parents f639e2139ce2
children 447c3c8405a2
comparison
equal deleted inserted replaced
510:f639e2139ce2 511:07c3feb32df3
39 #+name: name 39 #+name: name
40 #+ATTR_LaTeX: :width 10cm 40 #+ATTR_LaTeX: :width 10cm
41 [[./images/aurellem-gray.png]] 41 [[./images/aurellem-gray.png]]
42 42
43 43
44 * Empathy and Embodiment as problem solving strategies 44 * Empathy \& Embodiment: problem solving strategies
45 45
46 By the end of this thesis, you will have seen a novel approach to 46 ** The problem: recognizing actions in video is extremely difficult
47 interpreting video using embodiment and empathy. You will have also 47 # developing / requires useful representations
48 seen one way to efficiently implement empathy for embodied 48
49 creatures. Finally, you will become familiar with =CORTEX=, a system 49 Examine the following collection of images. As you, and indeed very
50 for designing and simulating creatures with rich senses, which you 50 young children, can easily determine, each one is a picture of
51 may choose to use in your own research. 51 someone drinking.
52 52
53 This is the core vision of my thesis: That one of the important ways 53 # dxh: cat, cup, drinking fountain, rain, straw, coconut
54 in which we understand others is by imagining ourselves in their
55 position and emphatically feeling experiences relative to our own
56 bodies. By understanding events in terms of our own previous
57 corporeal experience, we greatly constrain the possibilities of what
58 would otherwise be an unwieldy exponential search. This extra
59 constraint can be the difference between easily understanding what
60 is happening in a video and being completely lost in a sea of
61 incomprehensible color and movement.
62
63 ** Recognizing actions in video is extremely difficult
64
65 Consider for example the problem of determining what is happening
66 in a video of which this is one frame:
67
68 #+caption: A cat drinking some water. Identifying this action is 54 #+caption: A cat drinking some water. Identifying this action is
69 #+caption: beyond the state of the art for computers. 55 #+caption: beyond the capabilities of existing computer vision systems.
70 #+ATTR_LaTeX: :width 7cm 56 #+ATTR_LaTeX: :width 7cm
71 [[./images/cat-drinking.jpg]] 57 [[./images/cat-drinking.jpg]]
72 58
73 It is currently impossible for any computer program to reliably 59 Nevertheless, it is beyond the state of the art for a computer
74 label such a video as ``drinking''. And rightly so -- it is a very 60 vision program to describe what's happening in each of these
75 hard problem! What features can you describe in terms of low level 61 images, or what's common to them. Part of the problem is that many
76 functions of pixels that can even begin to describe at a high level 62 computer vision systems focus on pixel-level details or probability
77 what is happening here? 63 distributions of pixels, with little focus on [...]
78 64
79 Or suppose that you are building a program that recognizes chairs. 65
80 How could you ``see'' the chair in figure \ref{hidden-chair}? 66 In fact, the contents of scene may have much less to do with pixel
81 67 probabilities than with recognizing various affordances: things you
68 can move, objects you can grasp, spaces that can be filled
69 (Gibson). For example, what processes might enable you to see the
70 chair in figure \ref{hidden-chair}?
71 # Or suppose that you are building a program that recognizes chairs.
72 # How could you ``see'' the chair ?
73
74 # dxh: blur chair
82 #+caption: The chair in this image is quite obvious to humans, but I 75 #+caption: The chair in this image is quite obvious to humans, but I
83 #+caption: doubt that any modern computer vision program can find it. 76 #+caption: doubt that any modern computer vision program can find it.
84 #+name: hidden-chair 77 #+name: hidden-chair
85 #+ATTR_LaTeX: :width 10cm 78 #+ATTR_LaTeX: :width 10cm
86 [[./images/fat-person-sitting-at-desk.jpg]] 79 [[./images/fat-person-sitting-at-desk.jpg]]
80
81
82
83
87 84
88 Finally, how is it that you can easily tell the difference between 85 Finally, how is it that you can easily tell the difference between
89 how the girls /muscles/ are working in figure \ref{girl}? 86 how the girls /muscles/ are working in figure \ref{girl}?
90 87
91 #+caption: The mysterious ``common sense'' appears here as you are able 88 #+caption: The mysterious ``common sense'' appears here as you are able
93 #+caption: are activated between the two images. 90 #+caption: are activated between the two images.
94 #+name: girl 91 #+name: girl
95 #+ATTR_LaTeX: :width 7cm 92 #+ATTR_LaTeX: :width 7cm
96 [[./images/wall-push.png]] 93 [[./images/wall-push.png]]
97 94
95
96
97
98 Each of these examples tells us something about what might be going 98 Each of these examples tells us something about what might be going
99 on in our minds as we easily solve these recognition problems. 99 on in our minds as we easily solve these recognition problems.
100 100
101 The hidden chairs show us that we are strongly triggered by cues 101 The hidden chair shows us that we are strongly triggered by cues
102 relating to the position of human bodies, and that we can determine 102 relating to the position of human bodies, and that we can determine
103 the overall physical configuration of a human body even if much of 103 the overall physical configuration of a human body even if much of
104 that body is occluded. 104 that body is occluded.
105 105
106 The picture of the girl pushing against the wall tells us that we 106 The picture of the girl pushing against the wall tells us that we
107 have common sense knowledge about the kinetics of our own bodies. 107 have common sense knowledge about the kinetics of our own bodies.
108 We know well how our muscles would have to work to maintain us in 108 We know well how our muscles would have to work to maintain us in
109 most positions, and we can easily project this self-knowledge to 109 most positions, and we can easily project this self-knowledge to
110 imagined positions triggered by images of the human body. 110 imagined positions triggered by images of the human body.
111 111
112 ** =EMPATH= neatly solves recognition problems 112 ** A step forward: the sensorimotor-centered approach
113 113 # ** =EMPATH= recognizes what creatures are doing
114 I propose a system that can express the types of recognition 114 # neatly solves recognition problems
115 problems above in a form amenable to computation. It is split into 115 In this thesis, I explore the idea that our knowledge of our own
116 bodies enables us to recognize the actions of others.
117
118 First, I built a system for constructing virtual creatures with
119 physiologically plausible sensorimotor systems and detailed
120 environments. The result is =CORTEX=, which is described in section
121 \ref{sec-2}. (=CORTEX= was built to be flexible and useful to other
122 AI researchers; it is provided in full with detailed instructions
123 on the web [here].)
124
125 Next, I wrote routines which enabled a simple worm-like creature to
126 infer the actions of a second worm-like creature, using only its
127 own prior sensorimotor experiences and knowledge of the second
128 worm's joint positions. This program, =EMPATH=, is described in
129 section \ref{sec-3}, and the key results of this experiment are
130 summarized below.
131
132 #+caption: From only \emph{proprioceptive} data, =EMPATH= was able to infer
133 #+caption: the complete sensory experience and classify these four poses.
134 #+caption: The last image is a composite, depicting the intermediate stages of \emph{wriggling}.
135 #+name: worm-recognition-intro-2
136 #+ATTR_LaTeX: :width 15cm
137 [[./images/empathy-1.png]]
138
139 # =CORTEX= provides a language for describing the sensorimotor
140 # experiences of various creatures.
141
142 # Next, I developed an experiment to test the power of =CORTEX='s
143 # sensorimotor-centered language for solving recognition problems. As
144 # a proof of concept, I wrote routines which enabled a simple
145 # worm-like creature to infer the actions of a second worm-like
146 # creature, using only its own previous sensorimotor experiences and
147 # knowledge of the second worm's joints (figure
148 # \ref{worm-recognition-intro-2}). The result of this proof of
149 # concept was the program =EMPATH=, described in section
150 # \ref{sec-3}. The key results of this
151
152 # Using only first-person sensorimotor experiences and third-person
153 # proprioceptive data,
154
155 *** Key results
156 - After one-shot supervised training, =EMPATH= was able recognize a
157 wide variety of static poses and dynamic actions---ranging from
158 curling in a circle to wriggling with a particular frequency ---
159 with 95\% accuracy.
160 - These results were completely independent of viewing angle
161 because the underlying body-centered language fundamentally is
162 independent; once an action is learned, it can be recognized
163 equally well from any viewing angle.
164 - =EMPATH= is surprisingly short; the sensorimotor-centered
165 language provided by =CORTEX= resulted in extremely economical
166 recognition routines --- about 0000 lines in all --- suggesting
167 that such representations are very powerful, and often
168 indispensible for the types of recognition tasks considered here.
169 - Although for expediency's sake, I relied on direct knowledge of
170 joint positions in this proof of concept, it would be
171 straightforward to extend =EMPATH= so that it (more
172 realistically) infers joint positions from its visual data.
173
174 # because the underlying language is fundamentally orientation-independent
175
176 # recognize the actions of a worm with 95\% accuracy. The
177 # recognition tasks
178
179
180
181
182 [Talk about these results and what you find promising about them]
183
184 ** Roadmap
185 [I'm going to explain how =CORTEX= works, then break down how
186 =EMPATH= does its thing. Because the details reveal such-and-such
187 about the approach.]
188
189 # The success of this simple proof-of-concept offers a tantalizing
190
191
192 # explore the idea
193 # The key contribution of this thesis is the idea that body-centered
194 # representations (which express
195
196
197 # the
198 # body-centered approach --- in which I try to determine what's
199 # happening in a scene by bringing it into registration with my own
200 # bodily experiences --- are indispensible for recognizing what
201 # creatures are doing in a scene.
202
203 * COMMENT
204 # body-centered language
205
206 In this thesis, I'll describe =EMPATH=, which solves a certain
207 class of recognition problems
208
209 The key idea is to use self-centered (or first-person) language.
210
211 I have built a system that can express the types of recognition
212 problems in a form amenable to computation. It is split into
116 four parts: 213 four parts:
117 214
118 - Free/Guided Play :: The creature moves around and experiences the 215 - Free/Guided Play :: The creature moves around and experiences the
119 world through its unique perspective. Many otherwise 216 world through its unique perspective. Many otherwise
120 complicated actions are easily described in the language of a 217 complicated actions are easily described in the language of a
284 program. Each sense can be specified using special blender nodes 381 program. Each sense can be specified using special blender nodes
285 with biologically inspired paramaters. You need not write any 382 with biologically inspired paramaters. You need not write any
286 code to create a creature, and can use a wide library of 383 code to create a creature, and can use a wide library of
287 pre-existing blender models as a base for your own creatures. 384 pre-existing blender models as a base for your own creatures.
288 385
289 - =CORTEX= implements a wide variety of senses, including touch, 386 - =CORTEX= implements a wide variety of senses: touch,
290 proprioception, vision, hearing, and muscle tension. Complicated 387 proprioception, vision, hearing, and muscle tension. Complicated
291 senses like touch, and vision involve multiple sensory elements 388 senses like touch, and vision involve multiple sensory elements
292 embedded in a 2D surface. You have complete control over the 389 embedded in a 2D surface. You have complete control over the
293 distribution of these sensor elements through the use of simple 390 distribution of these sensor elements through the use of simple
294 png image files. In particular, =CORTEX= implements more 391 png image files. In particular, =CORTEX= implements more
295 comprehensive hearing than any other creature simulation system 392 comprehensive hearing than any other creature simulation system
296 available. 393 available.
297 394
298 - =CORTEX= supports any number of creatures and any number of 395 - =CORTEX= supports any number of creatures and any number of
299 senses. Time in =CORTEX= dialates so that the simulated creatures 396 senses. Time in =CORTEX= dialates so that the simulated creatures
300 always precieve a perfectly smooth flow of time, regardless of 397 always precieve a perfectly smooth flow of time, regardless of
301 the actual computational load. 398 the actual computational load.
351 its own finger from the eye in its palm, and that it can feel its 448 its own finger from the eye in its palm, and that it can feel its
352 own thumb touching its palm.} 449 own thumb touching its palm.}
353 \end{sidewaysfigure} 450 \end{sidewaysfigure}
354 #+END_LaTeX 451 #+END_LaTeX
355 452
356 ** Contributions 453 ** Road map
454
455 By the end of this thesis, you will have seen a novel approach to
456 interpreting video using embodiment and empathy. You will have also
457 seen one way to efficiently implement empathy for embodied
458 creatures. Finally, you will become familiar with =CORTEX=, a system
459 for designing and simulating creatures with rich senses, which you
460 may choose to use in your own research.
461
462 This is the core vision of my thesis: That one of the important ways
463 in which we understand others is by imagining ourselves in their
464 position and emphatically feeling experiences relative to our own
465 bodies. By understanding events in terms of our own previous
466 corporeal experience, we greatly constrain the possibilities of what
467 would otherwise be an unwieldy exponential search. This extra
468 constraint can be the difference between easily understanding what
469 is happening in a video and being completely lost in a sea of
470 incomprehensible color and movement.
357 471
358 - I built =CORTEX=, a comprehensive platform for embodied AI 472 - I built =CORTEX=, a comprehensive platform for embodied AI
359 experiments. =CORTEX= supports many features lacking in other 473 experiments. =CORTEX= supports many features lacking in other
360 systems, such proper simulation of hearing. It is easy to create 474 systems, such proper simulation of hearing. It is easy to create
361 new =CORTEX= creatures using Blender, a free 3D modeling program. 475 new =CORTEX= creatures using Blender, a free 3D modeling program.
362 476
363 - I built =EMPATH=, which uses =CORTEX= to identify the actions of 477 - I built =EMPATH=, which uses =CORTEX= to identify the actions of
364 a worm-like creature using a computational model of empathy. 478 a worm-like creature using a computational model of empathy.
365 479
366 * Building =CORTEX= 480
367 481 * Designing =CORTEX=
368 I intend for =CORTEX= to be used as a general-purpose library for 482 In this section, I outline the design decisions that went into
369 building creatures and outfitting them with senses, so that it will 483 making =CORTEX=, along with some details about its
370 be useful for other researchers who want to test out ideas of their 484 implementation. (A practical guide to getting started with =CORTEX=,
371 own. To this end, wherver I have had to make archetictural choices 485 which skips over the history and implementation details presented
372 about =CORTEX=, I have chosen to give as much freedom to the user as 486 here, is provided in an appendix \ref{} at the end of this paper.)
373 possible, so that =CORTEX= may be used for things I have not 487
374 forseen. 488 Throughout this project, I intended for =CORTEX= to be flexible and
375 489 extensible enough to be useful for other researchers who want to
376 ** Simulation or Reality? 490 test out ideas of their own. To this end, wherver I have had to make
377 491 archetictural choices about =CORTEX=, I have chosen to give as much
492 freedom to the user as possible, so that =CORTEX= may be used for
493 things I have not forseen.
494
495 ** Building in simulation versus reality
378 The most important archetictural decision of all is the choice to 496 The most important archetictural decision of all is the choice to
379 use a computer-simulated environemnt in the first place! The world 497 use a computer-simulated environemnt in the first place! The world
380 is a vast and rich place, and for now simulations are a very poor 498 is a vast and rich place, and for now simulations are a very poor
381 reflection of its complexity. It may be that there is a significant 499 reflection of its complexity. It may be that there is a significant
382 qualatative difference between dealing with senses in the real 500 qualatative difference between dealing with senses in the real
434 time in the simulated world can be slowed down to accommodate the 552 time in the simulated world can be slowed down to accommodate the
435 limitations of the character's programming. In terms of cost, 553 limitations of the character's programming. In terms of cost,
436 doing everything in software is far cheaper than building custom 554 doing everything in software is far cheaper than building custom
437 real-time hardware. All you need is a laptop and some patience. 555 real-time hardware. All you need is a laptop and some patience.
438 556
439 ** Because of Time, simulation is perferable to reality 557 ** Simulated time enables rapid prototyping and complex scenes
440 558
441 I envision =CORTEX= being used to support rapid prototyping and 559 I envision =CORTEX= being used to support rapid prototyping and
442 iteration of ideas. Even if I could put together a well constructed 560 iteration of ideas. Even if I could put together a well constructed
443 kit for creating robots, it would still not be enough because of 561 kit for creating robots, it would still not be enough because of
444 the scourge of real-time processing. Anyone who wants to test their 562 the scourge of real-time processing. Anyone who wants to test their
457 the simulation. The cost is that =CORTEX= can sometimes run slower 575 the simulation. The cost is that =CORTEX= can sometimes run slower
458 than real time. This can also be an advantage, however --- 576 than real time. This can also be an advantage, however ---
459 simulations of very simple creatures in =CORTEX= generally run at 577 simulations of very simple creatures in =CORTEX= generally run at
460 40x on my machine! 578 40x on my machine!
461 579
462 ** What is a sense? 580 ** All sense organs are two-dimensional surfaces
463 581 # What is a sense?
464 If =CORTEX= is to support a wide variety of senses, it would help 582 If =CORTEX= is to support a wide variety of senses, it would help
465 to have a better understanding of what a ``sense'' actually is! 583 to have a better understanding of what a ``sense'' actually is!
466 While vision, touch, and hearing all seem like they are quite 584 While vision, touch, and hearing all seem like they are quite
467 different things, I was supprised to learn during the course of 585 different things, I was supprised to learn during the course of
468 this thesis that they (and all physical senses) can be expressed as 586 this thesis that they (and all physical senses) can be expressed as
954 #+caption: simulation environment. 1072 #+caption: simulation environment.
955 #+name: name 1073 #+name: name
956 #+ATTR_LaTeX: :width 15cm 1074 #+ATTR_LaTeX: :width 15cm
957 [[./images/physical-hand.png]] 1075 [[./images/physical-hand.png]]
958 1076
959 ** Eyes reuse standard video game components 1077 ** Sight reuses standard video game components...
960 1078
961 Vision is one of the most important senses for humans, so I need to 1079 Vision is one of the most important senses for humans, so I need to
962 build a simulated sense of vision for my AI. I will do this with 1080 build a simulated sense of vision for my AI. I will do this with
963 simulated eyes. Each eye can be independently moved and should see 1081 simulated eyes. Each eye can be independently moved and should see
964 its own version of the world depending on where it is. 1082 its own version of the world depending on where it is.
1255 1373
1256 This vision code has already been absorbed by the jMonkeyEngine 1374 This vision code has already been absorbed by the jMonkeyEngine
1257 community and is now (in modified form) part of a system for 1375 community and is now (in modified form) part of a system for
1258 capturing in-game video to a file. 1376 capturing in-game video to a file.
1259 1377
1260 ** Hearing is hard; =CORTEX= does it right 1378 ** ...but hearing must be built from scratch
1261 1379 # is hard; =CORTEX= does it right
1262 At the end of this section I will have simulated ears that work the 1380 At the end of this section I will have simulated ears that work the
1263 same way as the simulated eyes in the last section. I will be able to 1381 same way as the simulated eyes in the last section. I will be able to
1264 place any number of ear-nodes in a blender file, and they will bind to 1382 place any number of ear-nodes in a blender file, and they will bind to
1265 the closest physical object and follow it as it moves around. Each ear 1383 the closest physical object and follow it as it moves around. Each ear
1266 will provide access to the sound data it picks up between every frame. 1384 will provide access to the sound data it picks up between every frame.
1563 1681
1564 This system of hearing has also been co-opted by the 1682 This system of hearing has also been co-opted by the
1565 jMonkeyEngine3 community and is used to record audio for demo 1683 jMonkeyEngine3 community and is used to record audio for demo
1566 videos. 1684 videos.
1567 1685
1568 ** Touch uses hundreds of hair-like elements 1686 ** Hundreds of hair-like elements provide a sense of touch
1569 1687
1570 Touch is critical to navigation and spatial reasoning and as such I 1688 Touch is critical to navigation and spatial reasoning and as such I
1571 need a simulated version of it to give to my AI creatures. 1689 need a simulated version of it to give to my AI creatures.
1572 1690
1573 Human skin has a wide array of touch sensors, each of which 1691 Human skin has a wide array of touch sensors, each of which
2057 #+caption: part of the ground. 2175 #+caption: part of the ground.
2058 #+name: touch-cube-uv-map 2176 #+name: touch-cube-uv-map
2059 #+ATTR_LaTeX: :width 15cm 2177 #+ATTR_LaTeX: :width 15cm
2060 [[./images/touch-cube.png]] 2178 [[./images/touch-cube.png]]
2061 2179
2062 ** Proprioception is the sense that makes everything ``real'' 2180 ** Proprioception provides knowledge of your own body's position
2063 2181
2064 Close your eyes, and touch your nose with your right index finger. 2182 Close your eyes, and touch your nose with your right index finger.
2065 How did you do it? You could not see your hand, and neither your 2183 How did you do it? You could not see your hand, and neither your
2066 hand nor your nose could use the sense of touch to guide the path 2184 hand nor your nose could use the sense of touch to guide the path
2067 of your hand. There are no sound cues, and Taste and Smell 2185 of your hand. There are no sound cues, and Taste and Smell
2191 #+caption: pitch, and White is roll. 2309 #+caption: pitch, and White is roll.
2192 #+name: proprio 2310 #+name: proprio
2193 #+ATTR_LaTeX: :width 11cm 2311 #+ATTR_LaTeX: :width 11cm
2194 [[./images/proprio.png]] 2312 [[./images/proprio.png]]
2195 2313
2196 ** Muscles are both effectors and sensors 2314 ** Muscles contain both sensors and effectors
2197 2315
2198 Surprisingly enough, terrestrial creatures only move by using 2316 Surprisingly enough, terrestrial creatures only move by using
2199 torque applied about their joints. There's not a single straight 2317 torque applied about their joints. There's not a single straight
2200 line of force in the human body at all! (A straight line of force 2318 line of force in the human body at all! (A straight line of force
2201 would correspond to some sort of jet or rocket propulsion.) 2319 would correspond to some sort of jet or rocket propulsion.)
2438 - Inverse kinematics :: experiments in sense guided motor control 2556 - Inverse kinematics :: experiments in sense guided motor control
2439 are easy given =CORTEX='s support -- you can get right to the 2557 are easy given =CORTEX='s support -- you can get right to the
2440 hard control problems without worrying about physics or 2558 hard control problems without worrying about physics or
2441 senses. 2559 senses.
2442 2560
2443 * Empathy in a simulated worm 2561 * =EMPATH=: the simulated worm experiment
2562 # Empathy in a simulated worm
2444 2563
2445 Here I develop a computational model of empathy, using =CORTEX= as a 2564 Here I develop a computational model of empathy, using =CORTEX= as a
2446 base. Empathy in this context is the ability to observe another 2565 base. Empathy in this context is the ability to observe another
2447 creature and infer what sorts of sensations that creature is 2566 creature and infer what sorts of sensations that creature is
2448 feeling. My empathy algorithm involves multiple phases. First is 2567 feeling. My empathy algorithm involves multiple phases. First is
2730 2849
2731 There is a simple way of taking \Phi-space and the total ordering 2850 There is a simple way of taking \Phi-space and the total ordering
2732 provided by an experience vector and reliably infering the rest of 2851 provided by an experience vector and reliably infering the rest of
2733 the senses. 2852 the senses.
2734 2853
2735 ** Empathy is the process of tracing though \Phi-space 2854 ** ``Empathy'' requires retracing steps though \Phi-space
2736 2855
2737 Here is the core of a basic empathy algorithm, starting with an 2856 Here is the core of a basic empathy algorithm, starting with an
2738 experience vector: 2857 experience vector:
2739 2858
2740 First, group the experiences into tiered proprioceptive bins. I use 2859 First, group the experiences into tiered proprioceptive bins. I use
2886 (recur (dec i) (assoc! v (dec i) cur))) 3005 (recur (dec i) (assoc! v (dec i) cur)))
2887 (recur i (assoc! v i 0)))))) 3006 (recur i (assoc! v i 0))))))
2888 #+end_src 3007 #+end_src
2889 #+end_listing 3008 #+end_listing
2890 3009
2891 ** Efficient action recognition with =EMPATH= 3010 ** =EMPATH= recognizes actions efficiently
2892 3011
2893 To use =EMPATH= with the worm, I first need to gather a set of 3012 To use =EMPATH= with the worm, I first need to gather a set of
2894 experiences from the worm that includes the actions I want to 3013 experiences from the worm that includes the actions I want to
2895 recognize. The =generate-phi-space= program (listing 3014 recognize. The =generate-phi-space= program (listing
2896 \ref{generate-phi-space} runs the worm through a series of 3015 \ref{generate-phi-space} runs the worm through a series of
3042 boundaries of transitioning from one type of action to another. 3161 boundaries of transitioning from one type of action to another.
3043 During these transitions the exact label for the action is more open 3162 During these transitions the exact label for the action is more open
3044 to interpretation, and dissaggrement between empathy and experience 3163 to interpretation, and dissaggrement between empathy and experience
3045 is more excusable. 3164 is more excusable.
3046 3165
3047 ** Digression: bootstrapping touch using free exploration 3166 ** Digression: Learn touch sensor layout through haptic experimentation, instead
3048 3167 # Boostraping touch using free exploration
3049 In the previous section I showed how to compute actions in terms of 3168 In the previous section I showed how to compute actions in terms of
3050 body-centered predicates which relied averate touch activation of 3169 body-centered predicates which relied averate touch activation of
3051 pre-defined regions of the worm's skin. What if, instead of recieving 3170 pre-defined regions of the worm's skin. What if, instead of recieving
3052 touch pre-grouped into the six faces of each worm segment, the true 3171 touch pre-grouped into the six faces of each worm segment, the true
3053 topology of the worm's skin was unknown? This is more similiar to how 3172 topology of the worm's skin was unknown? This is more similiar to how
3054 a nerve fiber bundle might be arranged. While two fibers that are 3173 a nerve fiber bundle might be arranged. While two fibers that are
3208 3327
3209 * Contributions 3328 * Contributions
3210 3329
3211 In this thesis you have seen the =CORTEX= system, a complete 3330 In this thesis you have seen the =CORTEX= system, a complete
3212 environment for creating simulated creatures. You have seen how to 3331 environment for creating simulated creatures. You have seen how to
3213 implement five senses including touch, proprioception, hearing, 3332 implement five senses: touch, proprioception, hearing, vision, and
3214 vision, and muscle tension. You have seen how to create new creatues 3333 muscle tension. You have seen how to create new creatues using
3215 using blender, a 3D modeling tool. I hope that =CORTEX= will be 3334 blender, a 3D modeling tool. I hope that =CORTEX= will be useful in
3216 useful in further research projects. To this end I have included the 3335 further research projects. To this end I have included the full
3217 full source to =CORTEX= along with a large suite of tests and 3336 source to =CORTEX= along with a large suite of tests and examples. I
3218 examples. I have also created a user guide for =CORTEX= which is 3337 have also created a user guide for =CORTEX= which is inculded in an
3219 inculded in an appendix to this thesis. 3338 appendix to this thesis \ref{}.
3339 # dxh: todo reference appendix
3220 3340
3221 You have also seen how I used =CORTEX= as a platform to attach the 3341 You have also seen how I used =CORTEX= as a platform to attach the
3222 /action recognition/ problem, which is the problem of recognizing 3342 /action recognition/ problem, which is the problem of recognizing
3223 actions in video. You saw a simple system called =EMPATH= which 3343 actions in video. You saw a simple system called =EMPATH= which
3224 ientifies actions by first describing actions in a body-centerd, 3344 ientifies actions by first describing actions in a body-centerd,