comparison thesis/cortex.org @ 471:f14fa9e5b67f

complete first draft of vision.
author Robert McIntyre <rlm@mit.edu>
date Fri, 28 Mar 2014 17:31:33 -0400
parents 3401053124b0
children 516a029e0be9
comparison
equal deleted inserted replaced
470:3401053124b0 471:f14fa9e5b67f
1158 0xFFFFFF means sensitive to all colors equally (gray). 1158 0xFFFFFF means sensitive to all colors equally (gray).
1159 1159
1160 #+caption: This is the core of vision in =CORTEX=. A given eye node 1160 #+caption: This is the core of vision in =CORTEX=. A given eye node
1161 #+caption: is converted into a function that returns visual 1161 #+caption: is converted into a function that returns visual
1162 #+caption: information from the simulation. 1162 #+caption: information from the simulation.
1163 #+name: name 1163 #+name: vision-kernel
1164 #+begin_listing clojure 1164 #+begin_listing clojure
1165 (defn vision-kernel 1165 (defn vision-kernel
1166 "Returns a list of functions, each of which will return a color 1166 "Returns a list of functions, each of which will return a color
1167 channel's worth of visual information when called inside a running 1167 channel's worth of visual information when called inside a running
1168 simulation." 1168 simulation."
1229 concat 1229 concat
1230 (for [eye (eyes creature)] 1230 (for [eye (eyes creature)]
1231 (vision-kernel creature eye)))) 1231 (vision-kernel creature eye))))
1232 #+end_listing 1232 #+end_listing
1233 1233
1234 1234 #+caption: Simulated vision with a test creature and the
1235 1235 #+caption: human-like eye approximation. Notice how each channel
1236 1236 #+caption: of the eye responds differently to the differently
1237 #+caption: colored balls.
1238 #+name: worm-vision-test.
1239 #+ATTR_LaTeX: :width 13cm
1240 [[./images/worm-vision.png]]
1241
1242 The vision code is not much more complicated than the body code,
1243 and enables multiple further paths for simulated vision. For
1244 example, it is quite easy to create bifocal vision -- you just
1245 make two eyes next to each other in blender! It is also possible
1246 to encode vision transforms in the retinal files. For example, the
1247 human like retina file in figure \ref{retina} approximates a
1248 log-polar transform.
1249
1250 This vision code has already been absorbed by the jMonkeyEngine
1251 community and is now (in modified form) part of a system for
1252 capturing in-game video to a file.
1237 1253
1238 ** Hearing is hard; =CORTEX= does it right 1254 ** Hearing is hard; =CORTEX= does it right
1239 1255
1240 ** Touch uses hundreds of hair-like elements 1256 ** Touch uses hundreds of hair-like elements
1241 1257