11 |
|
|
12 |
\newif\ifpics |
\newif\ifpics |
13 |
\picsfalse |
\picsfalse |
14 |
%\picstrue |
\picstrue |
15 |
|
|
16 |
\title{Rendering recognizably unique textures} |
\title{Rendering recognizably unique textures} |
17 |
% Representing Identity |
% Representing Identity |
49 |
|
|
50 |
BLEACHING PIC + ZOOM EFFECT ON READABILITY |
BLEACHING PIC + ZOOM EFFECT ON READABILITY |
51 |
|
|
52 |
|
MOTIVATING EXAMPLE NOT YET USER-TESTED |
53 |
|
|
54 |
|
IMAGE OF INVERTING THE VISUAL SYSTEM!!! |
55 |
|
|
56 |
|
IMAGE: RENDERING MODES, TEXTURE COORDINATES! |
57 |
|
|
58 |
|
SPARSE CODING: A TEXTURE CONTAINING BOTH YELLOW TRIANGLE AND |
59 |
|
RED SQUARE MIXES WITH ONE CONTAINING RED TRIANGLE AND YELLOW SQUARE |
60 |
|
|
61 |
TJL |
TJL |
62 |
|
|
422 |
\includegraphics[width=\fw]{buoyoing.14} |
\includegraphics[width=\fw]{buoyoing.14} |
423 |
\includegraphics[width=\fkw]{buoyoing.15} |
\includegraphics[width=\fkw]{buoyoing.15} |
424 |
\caption{ |
\caption{ |
425 |
An example of the structure used by BuoyOING. |
The motivating example for unique backgrounds: |
426 |
a) A small network of documents. |
a focus+context interface for browsing bidirectionally hyperlinked documents. |
427 |
b)..e) The animation seen when traversing the link from node F to H. |
The interface shows the relevant {\em fragments} of the other ends of the links |
428 |
In b) we are in the node F and see the relevant {\em fragment} of H, |
and animates them fluidly to the focus upon traversing the link., |
429 |
and in the c) and d) the view fluidly animates to the opposite case. |
The (trivial) document network shown in a). |
430 |
|
The overall organization of the small network used as an example is shown in a). |
431 |
|
In b) and c) the same sequence of user's views to the network is shown, in b) |
432 |
|
without and in c) with background texture. |
433 |
|
There are three keyframes where the view stops and two frames of each animation between the keyframes |
434 |
|
are shown. |
435 |
|
The unique backgrounds help the user notice that the upper right buoy in the last keyframe |
436 |
|
is actually a part of the same document (1) which was in the focus in the first keyframe. |
437 |
|
Our hypothesis is that this will aid user orientation. |
438 |
} |
} |
439 |
\end{figure*} |
\end{figure*} |
440 |
|
|
441 |
In the diagram above, the letters and colors helped identify the documents. |
In the diagram above, the letters and colors helped identify the documents. |
442 |
Now, |
Now, |
443 |
|
|
444 |
\section{Unique Background Textures} |
\section{Generating Unique Background Textures} |
445 |
|
|
446 |
%XXX: shorten by one half column |
%XXX: shorten by one half column |
447 |
|
|
450 |
XXX: simple models (filtering) can have good explanatory power |
XXX: simple models (filtering) can have good explanatory power |
451 |
on texture discrimination\cite{bergen88earlyvision}. |
on texture discrimination\cite{bergen88earlyvision}. |
452 |
|
|
453 |
TJL |
In this section, we discuss the methods to generate unique |
454 |
|
background textures on an abstract level. |
455 |
|
|
456 |
We define a unique background texture as an easily |
To be useful, the unique backgrounds should be easily |
457 |
distinguishable and recognizable texture |
distinguishable and recognizable, and should not |
458 |
that doesn't |
significantly impair the reading of black text on top of it. |
|
significantly impair the reading of black text painted on top. |
|
|
In this section, we discuss |
|
|
procedural generation |
|
|
of such textures |
|
|
from a seed number, e.g.,~the hash code of the identity of the object |
|
|
to be textured. |
|
459 |
|
|
460 |
The ability to distinguish a particular texture from a large set |
The ability to distinguish a particular texture from a large set |
461 |
depends on the distribution of textures in the set. |
depends on the distribution of textures in the set. |
462 |
It is intuitively clear that textures with independently |
For instance, |
463 |
|
it is intuitively clear that textures with independently |
464 |
random texel values would be a very bad choice: all such |
random texel values would be a very bad choice: all such |
465 |
textures would look alike. |
textures would look alike, being just noise. |
466 |
In order to design a distinguishable distribution of textures, |
In order to design a distinguishable distribution of textures, |
467 |
we have to take into account the properties of the human |
we have to take into account the properties of the human |
468 |
visual system. |
visual system. |
483 |
by forming contours and possibly |
by forming contours and possibly |
484 |
other higher-level constructions. |
other higher-level constructions. |
485 |
These higher levels are not yet thoroughly understood; |
These higher levels are not yet thoroughly understood; |
486 |
theories of structural object perception |
some theories |
487 |
(see, e.g., Biederman\cite{biederman87}) |
(see, e.g., Biederman\cite{biederman87}) |
488 |
assume certain primitive shapes whose |
assume certain primitive shapes whose |
489 |
structure facilitates recognition. |
structure facilitates recognition. |
512 |
% The basic assumption of the model is that an image |
% The basic assumption of the model is that an image |
513 |
% is perceived as a set of features |
% is perceived as a set of features |
514 |
|
|
515 |
We make the assumption |
The simple model we use here assumes |
516 |
that at some point, |
that at some point, |
517 |
the results from the different feature detectors, |
the results from the different feature detectors, |
518 |
such as local and global shapes and colors, |
such as local and global shapes and colors, |
519 |
are combined to form an abstract \emph{feature vector} |
are combined to form an abstract \emph{feature vector} |
520 |
(see Fig.~\ref{fig-perceptual}). |
(see Fig.~\ref{fig-perceptual}). |
521 |
The feature vector is used to compute which concept the particular |
The feature vector is then used to compute |
522 |
input corresponds to, in a simple perceptron-like |
which concept the particular |
523 |
|
input corresponds to by comparing it to memorized models |
524 |
|
in a simple perceptron-like |
525 |
fashion\cite{rosenblatt62neurodynamics,widrow60adaptive}. |
fashion\cite{rosenblatt62neurodynamics,widrow60adaptive}. |
526 |
This configuration is sometimes used in neural computation. |
This configuration is commonly used in neural computation. |
527 |
|
|
528 |
The |
This |
529 |
rough, qualitative |
rough, qualitative |
530 |
model explains readily why uniformly random texels |
model is able to explain why uniformly random texels |
531 |
would not make easily distinguishable patterns: different instances |
do not make easily distinguishable background textures: |
532 |
of noise would all yield almost |
after the ``pre-processing'', |
533 |
exactly the same feature vector in the brain. |
different instances |
534 |
Noise has no global shape because there is no correlation between |
of noise would all yield |
535 |
|
{\em almost |
536 |
|
exactly the same feature vector} in the brain. |
537 |
|
Noise has no global shapes because there is no correlation between |
538 |
the random local features; it is simply perceived as the distribution |
the random local features; it is simply perceived as the distribution |
539 |
of the local features, i.e., color and overall frequency |
of the local features, i.e., color and overall frequency |
540 |
(the density of texels). |
(the density of texels). |
555 |
% XXX: Why wouldn't it always be the same? |
% XXX: Why wouldn't it always be the same? |
556 |
% - seeing different parts of the texture? |
% - seeing different parts of the texture? |
557 |
% - ambiguous perception? |
% - ambiguous perception? |
558 |
\item There should be as many possible features in the distribution |
\item The entropy of the feature vectors |
|
as possible. For example, if there were no yellow textures, |
|
|
or if there were no curved lines, we would be wasting |
|
|
recognition potential by leaving some elements |
|
|
of the feature vector always zero. |
|
|
\item (Most abstractly) |
|
|
The entropy of the feature vectors |
|
559 |
over the distribution of textures, should be maximized. |
over the distribution of textures, should be maximized. |
560 |
\end{itemize} |
\end{itemize} |
561 |
|
|
578 |
The last part means essentially |
The last part means essentially |
579 |
that if all square-like shapes were green, we would again be |
that if all square-like shapes were green, we would again be |
580 |
wasting recognitive power. |
wasting recognitive power. |
581 |
Indeed, entropy is maximized when the features are distributed |
There should also be as many possible features in the distribution |
582 |
|
as possible. For example, if there were no yellow textures, |
583 |
|
or if there were no curved lines, we would be wasting |
584 |
|
recognition potential by leaving some elements |
585 |
|
of the feature vector always zero. |
586 |
|
|
587 |
|
Indeed, the entropy is maximized when the features are distributed |
588 |
independently from each other: |
independently from each other: |
589 |
features orthogonal to human perception |
features orthogonal to human perception |
590 |
(e.g.,~color, direction of fastest luminance change) |
(e.g.,~color, direction of fastest luminance change) |
591 |
should be independently random, and features not orthogonal |
should be independently random, and features not orthogonal |
592 |
(e.g. colors of neighbouring pixels) |
(e.g. colors of neighbouring pixels) |
593 |
should be correlated so as to maximize the entropy |
should be correlated so as to maximize the entropy. |
594 |
(e.g. pixels on a small area should correlate enough to |
For example, pixels on a small area should correlate enough to |
595 |
facilitate perception of contours). |
facilitate perception of contours. |
596 |
|
|
597 |
In a sense, the model of perception should be {\em inverted} |
In a sense, the model of perception should be {\em inverted} |
598 |
in order to produce a unique background from |
in order to produce a unique background from |
630 |
|
|
631 |
\section{Hardware-accelerated implementation} |
\section{Hardware-accelerated implementation} |
632 |
|
|
|
TJL |
|
|
|
|
633 |
In this section, we discuss our hardware-accelerated implementation |
In this section, we discuss our hardware-accelerated implementation |
634 |
(libpaper) |
(libpaper) |
635 |
of unique backgrounds (papers). |
of unique backgrounds (papers). |
1290 |
using 2 passes as we currently do is too much; |
using 2 passes as we currently do is too much; |
1291 |
it should be possible to obtain interesting textures with just one pass. |
it should be possible to obtain interesting textures with just one pass. |
1292 |
We are also working on implementing |
We are also working on implementing |
1293 |
these algorithms on ATI's extensions, due to their recent release |
these algorithms on OpenGL ARB extensions ..., due to their recent release |
1294 |
of a Linux driver. |
of a Linux driver. |
1295 |
|
|
1296 |
% However, we see the proprietary extensions only |
% However, we see the proprietary extensions only |
1360 |
Benja Fallenstein, |
Benja Fallenstein, |
1361 |
Matti Katila, |
Matti Katila, |
1362 |
and Asko Soukka |
and Asko Soukka |
1363 |
have been involved in the development of other aspects of the BuoyOING |
have contributed to the development of the BuoyOING |
1364 |
interface (not related to the background textures presented here). |
interface in aspects not related to the unique background textures. |
1365 |
|
|
1366 |
|
|
1367 |
\bibliographystyle{plain} |
\bibliographystyle{plain} |