comparison thesis/rlm-cortex-meng.tex @ 428:d53a31969a51

rename complete.
author Robert McIntyre <rlm@mit.edu>
date Fri, 21 Mar 2014 15:43:15 -0400
parents c670d23003de
children b5d0f0adf19f
comparison
equal deleted inserted replaced
427:c670d23003de 428:d53a31969a51
1 % -*- Mode:TeX -*-
1 2
2 \section{Artificial Imagination} 3 %% IMPORTANT: The official thesis specifications are available at:
3 \label{sec-1} 4 %% http://libraries.mit.edu/archives/thesis-specs/
5 %%
6 %% Please verify your thesis' formatting and copyright
7 %% assignment before submission. If you notice any
8 %% discrepancies between these templates and the
9 %% MIT Libraries' specs, please let us know
10 %% by e-mailing thesis@mit.edu
4 11
5 Imagine watching a video of someone skateboarding. When you watch 12 %% The documentclass options along with the pagestyle can be used to generate
6 the video, you can imagine yourself skateboarding, and your 13 %% a technical report, a draft copy, or a regular thesis. You may need to
7 knowledge of the human body and its dynamics guides your 14 %% re-specify the pagestyle after you \include cover.tex. For more
8 interpretation of the scene. For example, even if the skateboarder 15 %% information, see the first few lines of mitthesis.cls.
9 is partially occluded, you can infer the positions of his arms and
10 body from your own knowledge of how your body would be positioned if
11 you were skateboarding. If the skateboarder suffers an accident, you
12 wince in sympathy, imagining the pain your own body would experience
13 if it were in the same situation. This empathy with other people
14 guides our understanding of whatever they are doing because it is a
15 powerful constraint on what is probable and possible. In order to
16 make use of this powerful empathy constraint, I need a system that
17 can generate and make sense of sensory data from the many different
18 senses that humans possess. The two key proprieties of such a system
19 are \emph{embodiment} and \emph{imagination}.
20 16
21 \subsection{What is imagination?} 17 %\documentclass[12pt,vi,twoside]{mitthesis}
22 \label{sec-1-1} 18 %%
19 %% If you want your thesis copyright to you instead of MIT, use the
20 %% ``vi'' option, as above.
21 %%
22 %\documentclass[12pt,twoside,leftblank]{mitthesis}
23 %%
24 %% If you want blank pages before new chapters to be labelled ``This
25 %% Page Intentionally Left Blank'', use the ``leftblank'' option, as
26 %% above.
23 27
24 One kind of imagination is \emph{sympathetic} imagination: you imagine 28 \documentclass[12pt,twoside]{mitthesis}
25 yourself in the position of something/someone you are 29 \usepackage[utf8]{inputenc}
26 observing. This type of imagination comes into play when you follow 30 \usepackage[T1]{fontenc}
27 along visually when watching someone perform actions, or when you 31 \usepackage{fixltx2e}
28 sympathetically grimace when someone hurts themselves. This type of 32 \usepackage{graphicx}
29 imagination uses the constraints you have learned about your own 33 \usepackage{longtable}
30 body to highly constrain the possibilities in whatever you are 34 \usepackage{float}
31 seeing. It uses all your senses to including your senses of touch, 35 \usepackage{wrapfig}
32 proprioception, etc. Humans are flexible when it comes to "putting 36 \usepackage{rotating}
33 themselves in another's shoes," and can sympathetically understand 37 \usepackage[normalem]{ulem}
34 not only other humans, but entities ranging from animals to cartoon 38 \usepackage{amsmath}
35 characters to \href{http://www.youtube.com/watch?v=0jz4HcwTQmU}{single dots} on a screen! 39 \usepackage{textcomp}
40 \usepackage{marvosym}
41 \usepackage{wasysym}
42 \usepackage{amssymb}
43 \usepackage{hyperref}
44
45 %%%%% better source code display
46 \usepackage{minted}
47
48 % \usemintedstyle{friendly}
49 % \usemintedstyle{perldoc}
50 %\definecolor{bg}{rgb}{0.95,0.95,0.95}
51 \definecolor{bg}{rgb}{0.95,0.95,0.95}
52 \usemintedstyle{default}
36 53
37 54
38 \begin{figure}[htb] 55 %\newminted{clojure}{fontsize=\scriptsize,bgcolor=bg}
39 \centering 56 \newminted{clojure}{fontsize=\scriptsize}
40 \includegraphics[width=5cm]{./images/cat-drinking.jpg}
41 \caption{A cat drinking some water. Identifying this action is beyond the state of the art for computers.}
42 \end{figure}
43 57
58 %\usepackage{lgrind}
59 \pagestyle{plain}
44 60
45 This is a basic test for the vision system. It only tests the 61 \begin{document}
46 vision-pipeline and does not deal with loading eyes from a blender
47 file. The code creates two videos of the same rotating cube from
48 different angles.
49 62
63 \include{cover}
64 % Some departments (e.g. 5) require an additional signature page. See
65 % signature.tex for more information and uncomment the following line if
66 % applicable.
67 % \include{signature}
68 \pagestyle{plain}
69 \include{contents}
70 \include{cortex}
71 %\include{chap2}
72 \appendix
73 \begin{singlespace}
74 \bibliography{cortex}
75 \bibliographystyle{plain}
76 \end{singlespace}
77 \end{document}
50 78
51 \begin{clojurecode}
52 (in-ns 'cortex.test.vision)
53
54 (defn test-pipeline
55 "Testing vision:
56 Tests the vision system by creating two views of the same rotating
57 object from different angles and displaying both of those views in
58 JFrames.
59
60 You should see a rotating cube, and two windows,
61 each displaying a different view of the cube."
62 ([] (test-pipeline false))
63 ([record?]
64 (let [candy
65 (box 1 1 1 :physical? false :color ColorRGBA/Blue)]
66 (world
67 (doto (Node.)
68 (.attachChild candy))
69 {}
70 (fn [world]
71 (let [cam (.clone (.getCamera world))
72 width (.getWidth cam)
73 height (.getHeight cam)]
74 (add-camera! world cam
75 (comp
76 (view-image
77 (if record?
78 (File. "/home/r/proj/cortex/render/vision/1")))
79 BufferedImage!))
80 (add-camera! world
81 (doto (.clone cam)
82 (.setLocation (Vector3f. -10 0 0))
83 (.lookAt Vector3f/ZERO Vector3f/UNIT_Y))
84 (comp
85 (view-image
86 (if record?
87 (File. "/home/r/proj/cortex/render/vision/2")))
88 BufferedImage!))
89 (let [timer (IsoTimer. 60)]
90 (.setTimer world timer)
91 (display-dilated-time world timer))
92 ;; This is here to restore the main view
93 ;; after the other views have completed processing
94 (add-camera! world (.getCamera world) no-op)))
95 (fn [world tpf]
96 (.rotate candy (* tpf 0.2) 0 0))))))
97 \end{clojurecode}
98
99
100 \begin{itemize}
101 \item This is test1 \cite{Tappert77}.
102 \end{itemize}