Mercurial > cortex
diff thesis/cortex.org @ 432:1e5ea711857d
abstract first draft.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sun, 23 Mar 2014 16:33:01 -0400 |
parents | 7410f0d8011c |
children | ae3bfc82ac7c |
line wrap: on
line diff
1.1 --- a/thesis/cortex.org Sat Mar 22 23:31:07 2014 -0400 1.2 +++ b/thesis/cortex.org Sun Mar 23 16:33:01 2014 -0400 1.3 @@ -4,97 +4,52 @@ 1.4 #+description: Using embodied AI to facilitate Artificial Imagination. 1.5 #+keywords: AI, clojure, embodiment 1.6 1.7 -* Artificial Imagination 1.8 +* Vision 1.9 1.10 - Imagine watching a video of someone skateboarding. When you watch 1.11 - the video, you can imagine yourself skateboarding, and your 1.12 - knowledge of the human body and its dynamics guides your 1.13 - interpretation of the scene. For example, even if the skateboarder 1.14 - is partially occluded, you can infer the positions of his arms and 1.15 - body from your own knowledge of how your body would be positioned if 1.16 - you were skateboarding. If the skateboarder suffers an accident, you 1.17 - wince in sympathy, imagining the pain your own body would experience 1.18 - if it were in the same situation. This empathy with other people 1.19 - guides our understanding of whatever they are doing because it is a 1.20 - powerful constraint on what is probable and possible. In order to 1.21 - make use of this powerful empathy constraint, I need a system that 1.22 - can generate and make sense of sensory data from the many different 1.23 - senses that humans possess. The two key proprieties of such a system 1.24 - are /embodiment/ and /imagination/. 1.25 + System for understanding what the actors in a video are doing -- 1.26 + Action Recognition. 1.27 + 1.28 + Separate action recognition into three components: 1.29 1.30 -** What is imagination? 1.31 + - free play 1.32 + - embodied action predicates 1.33 + - model alignment 1.34 + - sensory imagination 1.35 1.36 - One kind of imagination is /sympathetic/ imagination: you imagine 1.37 - yourself in the position of something/someone you are 1.38 - observing. This type of imagination comes into play when you follow 1.39 - along visually when watching someone perform actions, or when you 1.40 - sympathetically grimace when someone hurts themselves. This type of 1.41 - imagination uses the constraints you have learned about your own 1.42 - body to highly constrain the possibilities in whatever you are 1.43 - seeing. It uses all your senses to including your senses of touch, 1.44 - proprioception, etc. Humans are flexible when it comes to "putting 1.45 - themselves in another's shoes," and can sympathetically understand 1.46 - not only other humans, but entities ranging from animals to cartoon 1.47 - characters to [[http://www.youtube.com/watch?v=0jz4HcwTQmU][single dots]] on a screen! 1.48 +* Steps 1.49 + 1.50 + - Build cortex, a simulated environment for sensate AI 1.51 + - solid bodies w/ joints 1.52 + - vision 1.53 + - touch 1.54 + - vision 1.55 + - hearing 1.56 + - proprioception 1.57 + - muscle contraction 1.58 1.59 + - Build experimental framework for worm-actions 1.60 + - embodied stream predicates 1.61 + - \phi-space 1.62 + - \phi-scan 1.63 1.64 - #+caption: A cat drinking some water. Identifying this action is beyond the state of the art for computers. 1.65 - #+ATTR_LaTeX: :width 5cm 1.66 - [[./images/cat-drinking.jpg]] 1.67 +* News 1.68 + 1.69 + Experimental results: 1.70 1.71 + - \phi-space actually works very well for the worm! 1.72 + - self organizing touch map 1.73 1.74 -#+begin_listing 1.75 -\caption{This is a basic test for the vision system. It only tests the vision-pipeline and does not deal with loading eyes from a blender file. The code creates two videos of the same rotating cube from different angles.} 1.76 -#+name: test-1 1.77 -#+begin_src clojure 1.78 -(defn test-pipeline 1.79 - "Testing vision: 1.80 - Tests the vision system by creating two views of the same rotating 1.81 - object from different angles and displaying both of those views in 1.82 - JFrames. 1.83 1.84 - You should see a rotating cube, and two windows, 1.85 - each displaying a different view of the cube." 1.86 - ([] (test-pipeline false)) 1.87 - ([record?] 1.88 - (let [candy 1.89 - (box 1 1 1 :physical? false :color ColorRGBA/Blue)] 1.90 - (world 1.91 - (doto (Node.) 1.92 - (.attachChild candy)) 1.93 - {} 1.94 - (fn [world] 1.95 - (let [cam (.clone (.getCamera world)) 1.96 - width (.getWidth cam) 1.97 - height (.getHeight cam)] 1.98 - (add-camera! world cam 1.99 - (comp 1.100 - (view-image 1.101 - (if record? 1.102 - (File. "/home/r/proj/cortex/render/vision/1"))) 1.103 - BufferedImage!)) 1.104 - (add-camera! world 1.105 - (doto (.clone cam) 1.106 - (.setLocation (Vector3f. -10 0 0)) 1.107 - (.lookAt Vector3f/ZERO Vector3f/UNIT_Y)) 1.108 - (comp 1.109 - (view-image 1.110 - (if record? 1.111 - (File. "/home/r/proj/cortex/render/vision/2"))) 1.112 - BufferedImage!)) 1.113 - (let [timer (IsoTimer. 60)] 1.114 - (.setTimer world timer) 1.115 - (display-dilated-time world timer)) 1.116 - ;; This is here to restore the main view 1.117 - ;; after the other views have completed processing 1.118 - (add-camera! world (.getCamera world) no-op))) 1.119 - (fn [world tpf] 1.120 - (.rotate candy (* tpf 0.2) 0 0)))))) 1.121 -#+end_src 1.122 -#+end_listing 1.123 +* Contributions 1.124 + - Built =CORTEX=, a comprehensive platform for embodied AI 1.125 + experiments. Has many new features lacking in other systems, such 1.126 + as sound. Easy to model/create new creatures. 1.127 + - created a novel concept for action recognition by using artificial 1.128 + imagination. 1.129 1.130 -- This is test1 \cite{Tappert77}. 1.131 1.132 -\cite{Tappert77} 1.133 -lol 1.134 -\cite{Tappert77} 1.135 \ No newline at end of file 1.136 + 1.137 + 1.138 + 1.139 + 1.140 +