Full Code of antabangun/coex for AI

main a98b37d33f37 cached
60 files
44.8 MB
581.6k tokens
326 symbols
1 requests
Download .txt
Showing preview only (2,327K chars total). Download the full file or copy to clipboard to get everything.
Repository: antabangun/coex
Branch: main
Commit: a98b37d33f37
Files: 60
Total size: 44.8 MB

Directory structure:
gitextract_5wcn44k3/

├── .gitignore
├── LICENSE
├── README.md
├── configs/
│   ├── backbone.yaml
│   └── stereo/
│       ├── cfg_coex.yaml
│       └── cfg_psm.yaml
├── dataloaders/
│   ├── __init__.py
│   └── stereo/
│       ├── KITTILoader.py
│       ├── KITTIRawLoader.py
│       ├── KITTI_submission_loader.py
│       ├── KITTIloader2012.py
│       ├── KITTIloader2015.py
│       ├── SceneFlowLoader.py
│       ├── __init__.py
│       ├── listflowfile.py
│       ├── lists/
│       │   ├── kitti2012_test.list
│       │   ├── kitti2012_train.list
│       │   ├── kitti2012_train170.list
│       │   ├── kitti2012_val24.list
│       │   ├── kitti2015_test.list
│       │   ├── kitti2015_train.list
│       │   ├── kitti2015_train180.list
│       │   ├── kitti2015_val20.list
│       │   ├── middeval3_test.list
│       │   ├── middeval3_train.list
│       │   ├── sceneflow_search_trainA.list
│       │   ├── sceneflow_search_trainB.list
│       │   ├── sceneflow_search_val.list
│       │   ├── sceneflow_test.list
│       │   └── sceneflow_train.list
│       ├── preprocess.py
│       ├── readpfm.py
│       ├── stereo_albumentation.py
│       └── transforms.py
├── demo.py
├── demo_tensorrt.py
├── demo_torchscript.py
├── environment.yml
├── logs/
│   └── stereo/
│       └── CoEx/
│           └── version_0/
│               └── checkpoints/
│                   └── last.ckpt
├── models/
│   ├── __init__.py
│   └── stereo/
│       ├── CoEx.py
│       ├── CoExTRT.py
│       ├── PSMNet.py
│       ├── __init__.py
│       └── submodules/
│           ├── Submodule.py
│           ├── __init__.py
│           ├── aggregation.py
│           ├── feature.py
│           ├── regression.py
│           ├── spixel_utils/
│           │   ├── spixel.py
│           │   ├── spixel_conv.py
│           │   ├── spixel_loss.py
│           │   └── spixel_test.py
│           ├── util_conv.py
│           └── utils.py
├── stereo.py
├── torch_to_tensorrt.py
├── utils/
│   ├── __init__.py
│   └── load.py
└── zoo/
    └── torchscript/
        └── CoEx.pt

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
./demo*
./logs/*

================================================
FILE: LICENSE
================================================
                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.


================================================
FILE: README.md
================================================
# CoEx

PyTorch implementation of our paper: 


**Correlate-and-Excite: Real-Time Stereo Matching via Guided Cost Volume Excitation**  
*Authors: [Antyanta Bangunharcana](https://antabangun.github.io/)<sup>1</sup>, Jae Won Cho<sup>2</sup>, Seokju Lee<sup>2</sup>, In So Kweon<sup>2</sup>, Kyung-Soo Kim<sup>1</sup>, Soohyun Kim<sup>1</sup>*  
<sup>1</sup>MSC Lab, <sup>2</sup>RVC Lab, Korea Advanced Institute of Science and Technology (KAIST)  
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2021

\[[Project page](https://antabangun.github.io/projects/CoEx/)\] | \[[Paper](https://arxiv.org/abs/2304.03560)\]

We propose a Guided Cost volume Excitation (GCE) and top-k soft-argmax disparity regression for real-time and accurate stereo matching. 

## Contents
- [Installation](#installation)
- [Datasets](#datasets)
    - [Data for demo](#data-for-demo)
    - [If you want to re-train the models](#if-you-want-to-re-train-the-models)
    - [Data directories](#data-directories)
- [Demo on KITTI raw data](#demo-on-kitti-raw-data)
    - [Model zoo](#model-zoo)
- [Re-training the model](#re-training-the-model)

## Installation

We recommend using [conda](https://www.anaconda.com/distribution/) for installation: 
```bash
conda env create -f environment.yml
conda activate coex
```
## Update: SceneFlow model

<!-- You can download our model trained on SceneFlow dataset from here:  
[SceneFlow weights](https://www.dropbox.com/s/c1v2r74tlbrrmsr/sceneflow.ckpt?dl=0)  
achieving a new SceneFlow EPE of 0.596 (vs 0.69 in the paper).
We re-trained the model for 15 epochs with a learning rate of 0.001 followed by 5 epochs with a learning rate of 0.0001, without activating the stochastic weight averaging (SWA) technique. The model is trained with a batch size of 8 and fp16 precision.  -->

### Model Weights
Our pre-trained SceneFlow weights can be downloaded via the following link:

- \[[**Download SceneFlow Pre-trained Weights**](https://www.dropbox.com/s/c1v2r74tlbrrmsr/sceneflow.ckpt?dl=0)\]

### Performance
Our model achieves a new SceneFlow EPE (End-Point-Error) of 0.596, improving upon the previous EPE of 0.69 reported in the original paper.

### Training Details

- The model was re-trained for a total of 20 epochs: First 15 epochs were trained with a learning rate of 0.001. The last 5 epochs were trained with a learning rate of 0.0001
- We opted not to activate the Stochastic Weight Averaging (SWA) technique during the training process.
- Batch size: 8
- Precision: fp16

## Datasets

### Data for demo

For a demo of our code on the KITTI dataset, download the "\[synced+rectified data\]" from [raw KITTI data](http://www.cvlibs.net/datasets/kitti/raw_data.php). Unzip and place the extracted folders following the directory tree below. 
       
### If you want to re-train the models
**Sceneflow dataset**  
Download the *finalpass* data of the [Sceneflow dataset](https://lmb.informatik.uni-freiburg.de/resources/datasets/SceneFlowDatasets.en.html) as well as the *Disparity* data.

**KITTI 2015**  
Download [kitti15](http://www.cvlibs.net/datasets/kitti/eval_scene_flow.php?benchmark=stereo) dataset, and unzip data_scene_flow.zip, rename it as kitti15, and move it into SceneFlow directory as shown in the tree below.

**KITTI 2012**  
Download [kitti12](http://www.cvlibs.net/datasets/kitti/eval_stereo_flow.php?benchmark=stereo) dataset. Unzip data_stereo_flow.zip, rename it as kitti12, and move it into SceneFlow directory as shown in the tree below.

Make sure the directory names matches the tree below so that the dataloaders can locate the files.

### Data directories

In our setup, the dataset is organized as follows
```
../../data
└── datasets
    ├── KITTI_raw
    |   ├── 2011_09_26
    |   │   ├── 2011_09_26_drive_0001_sync
    |   │   ├── 2011_09_26_drive_0002_sync
    |   |       :
    |   |
    |   ├── 2011_09_28
    |   │   ├── 2011_09_28_drive_0001_sync
    |   │   └── 2011_09_28_drive_0002_sync
    |   |       :
    |   |   :    
    |
    └── SceneFlow
        ├── driving
        │   ├── disparity
        │   └── frames_finalpass
        ├── flyingthings3d_final
        │   ├── disparity
        │   └── frames_finalpass
        ├── monkaa
        │   ├── disparity
        │   └── frames_finalpass
        ├── kitti12
        │   ├── testing
        │   └── training
        └── kitti15
            ├── testing
            └── training
```

## Demo on KITTI raw data
The pretrained KITTI model is already included in './logs'.
Run
```bash
python demo.py
```
to perform stereo matching on raw kitti sequence. Here is an example result on our system with RTX 2080Ti on Ubuntu 18.04.

<p align="center">
  <img width="422" height="223" src="./imgs/coex_compress.gif" data-zoomable>
</p>

For more demo results, check out our [Project](https://antabangun.github.io/projects/CoEx/#demo) page

## Re-training the model
To re-train the model, configure './configs/stereo/cfg_yaml', e.g., batch_size, paths, device num, precision, etc. Then run
```bash
python stereo.py
```

## Citation

If you find our work useful in your research, please consider citing our paper

    @inproceedings{bangunharcana2021correlate,
      title={Correlate-and-Excite: Real-Time Stereo Matching via Guided Cost Volume Excitation},
      author={Bangunharcana, Antyanta and Cho, Jae Won and Lee, Seokju and Kweon, In So and Kim, Kyung-Soo and Kim, Soohyun},
      booktitle={2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
      pages={3542--3548},
      year={2021},
      organization={IEEE}
    }

## Acknowledgements

Part of the code is adopted from previous works: [PSMNet](https://github.com/JiaRenChang/PSMNet), [AANet](https://github.com/haofeixu/aanet), [GANet](https://github.com/feihuzhang/GANet), [SpixelFCN](https://github.com/fuy34/superpixel_fcn)


================================================
FILE: configs/backbone.yaml
================================================
channels:
  mobilenetv3_large_100: [16,24,40,112,160]
  mobilenetv2_120d: [24,32,40,112,192]
  mobilenetv2_100: [16,24,32,96,160]
  mnasnet_100: [16,24,40,96,192]
  efficientnet_b0: [16,24,40,112,192]
  efficientnet_b3a: [24,32,48,136,232]
  mixnet_xl: [40,48,64,192,320]
  dla34: [32,64,128,256,512]

layers:
  mobilenetv3_large_100: [1,2,3,5,6]
  mobilenetv2_120d: [1,2,3,5,6]
  mobilenetv2_100: [1,2,3,5,6]
  mnasnet_100: [1,2,3,5,6]
  efficientnet_b0: [1,2,3,5,6]
  efficientnet_b3a: [1,2,3,5,6]
  mixnet_xl: [1,2,3,5,6]
  dla34: [1,2,3,5,6]


================================================
FILE: configs/stereo/cfg_coex.yaml
================================================
###########################################################
device: [0]
precision: 32

###########################################################
training:
  load_version: null
  save_version: 0

  lr: 0.001
  sceneflow_max_epochs: 10
  sceneflow_milestones: [7]
  sceneflow_gamma: 0.1
  kitti_max_epochs: 800
  kitti_milestones: [30, 50, 300,]
  kitti_gamma: 0.5
  batch_size: 8

  th: 288
  tw: 576

  train_on: 
    sceneflow: True
    kitti12: True
    kitti15: True
    kittiraw: True
    kitti360: False

  paths:
    sceneflow: '../../data/datasets/SceneFlow'

    kitti12: '../../data/datasets/SceneFlow/kitti12/training'
    kitti15: '../../data/datasets/SceneFlow/kitti15/training'
    
    kittiraw: '../../data/datasets/KITTI_raw'
    kitti360: '../../data/datasets/KITTI-360'
    logging: './logs/stereo'

  training_scales_weighting: [1, 0.3]

  with_context: False
  extract_feature: False

testing:
  save_disp_imgs: True
  compute_metrics: True

###########################################################
model:
  name: 'CoEx'
  
  stereo:
    name: 'CoEx'
    max_disparity: 192
    backbone: 
      type: 'mobilenetv2_100'
      from_scratch: False
      cfg_path: './configs/backbone.yaml'

    corr_volume: True
    gce: True

    matching_head: 1
    matching_weighted: False

    spixel: 
      branch_channels: [32,48]

    aggregation:
      disp_strides: 2
      channels: [16,32,48]
      blocks_num: [2,2,2]

    regression:
      top_k: 2


================================================
FILE: configs/stereo/cfg_psm.yaml
================================================
###########################################################
device: [0]
precision: 32

###########################################################
training:
  load_version: null
  save_version: 0

  lr: 0.001
  sceneflow_max_epochs: 10
  sceneflow_milestones: [7]
  sceneflow_gamma: 0.1
  kitti_max_epochs: 800
  kitti_milestones: [30, 50, 300]
  kitti_gamma: 0.5
  batch_size: 8

  th: 288
  tw: 576

  train_on: 
    sceneflow: True
    kitti12: False
    kitti15: False

  paths:
    sceneflow: '../../data/datasets/SceneFlow'
    kitti12: '../../data/datasets/SceneFlow/kitti12/training'
    kitti15: '../../data/datasets/SceneFlow/kitti15/training'
    logging: './logs/stereo'

  training_scales_weighting: [1, 0.7, 0.5]  # For PSMNet

testing:
  save_disp_imgs: True
  compute_metrics: True

###########################################################
model:
  name: 'PSMNet'

  stereo:
    name: 'PSMNet'
    max_disparity: 192
    backbone: 
      type: 'mobilenetv2_100'
      from_scratch: False
      cfg_path: './configs/backbone.yaml'

    corr_volume: False
    gce: False
    multiple_gce: False
    
    regression:
      top_k: 192


================================================
FILE: dataloaders/__init__.py
================================================
from .stereo import *

================================================
FILE: dataloaders/stereo/KITTILoader.py
================================================
import os
import torch
import torch.utils.data as data
import torch
import torchvision.transforms as transforms
import random
from albumentations import Compose, OneOf
from PIL import Image, ImageOps
import numpy as np
from . import preprocess 
from .stereo_albumentation import RandomShiftRotate, GaussNoiseStereo, RGBShiftStereo, \
    RandomBrightnessContrastStereo, random_crop, horizontal_flip
from . import transforms
from .transforms import RandomColor
import cv2
import pdb

IMG_EXTENSIONS = [
    '.jpg', '.JPG', '.jpeg', '.JPEG',
    '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP',
]

def is_image_file(filename):
    return any(filename.endswith(extension) for extension in IMG_EXTENSIONS)

def default_loader(path):
    return cv2.imread(path)
    #return Image.open(path).convert('RGB')

def disparity_loader(path):
    return Image.open(path)


class ImageLoader(data.Dataset):
    def __init__(self, left, right, left_disparity, calib, th=256, tw=512, shift=0, training=True, loader=default_loader, dploader= disparity_loader):
 
        self.left = left
        self.right = right
        self.disp_L = left_disparity
        self.calib = calib
        self.loader = loader
        self.dploader = dploader
        self.training = training
        self.th = th
        self.tw = tw
        self.shift = shift

    def __getitem__(self, index):
        batch = dict()

        left  = self.left[index]
        right = self.right[index]
        disp_L= self.disp_L[index]
        calib = self.calib[index]

        left_img = self.loader(left)
        right_img = self.loader(right)
        dataL = self.dploader(disp_L)
        file = open(calib,"r")
        cal = file.read()
        if calib.find('kitti15')==-1:
            P2 = np.array(cal.split('\n')[2].split(' ')[1:]).astype(np.float32)
            P3 = np.array(cal.split('\n')[3].split(' ')[1:]).astype(np.float32)
        else:
            P2 = np.array(cal.split('\n')[-10].split(' ')[1:]).astype(np.float32)
            P3 = np.array(cal.split('\n')[-2].split(' ')[1:]).astype(np.float32)
        P2 = P2.reshape(3,4)
        P3 = P3.reshape(3,4)

        calib = self.kitti_calib(P2,P3)

        dataL = np.ascontiguousarray(dataL,dtype=np.float32)/256

        # if 'kitti15' in left:
        #     disp_R = disp_L.replace('occ_0','occ_1')
        #     dataR = self.dploader(disp_R)
        #     dataR = np.ascontiguousarray(dataR,dtype=np.float32)/256

        if self.training:  
            # if 'kitti15' in left:
            #     left_img, right_img, dataL = horizontal_flip(left_img, right_img, dataL, dataR)

            pad_h, pad_w = 384-left_img.shape[0], 1280-left_img.shape[1]

            left_img = np.pad(left_img,((0,pad_h),(0,pad_w),(0,0)))
            right_img = np.pad(right_img,((0,pad_h),(0,pad_w),(0,0)))

            h,w,_ = left_img.shape
            th, tw = self.th, self.tw

            shift = random.randint(-self.shift,self.shift)
            x1 = random.randint(0, w - tw)
            y1 = random.randint(0, h - th)

            # if x1 + shift < 0 or  x1 + shift + tw > w:
            shift = 0

            left_img_raw = left_img[y1:y1+th,x1+shift:x1+shift+tw,:]
            right_img_raw = right_img[y1:y1+th,x1:x1+tw,:]

            imL_lab = cv2.cvtColor(
                left_img_raw,#cv2.resize(left_img,None,None,0.25,0.25),
                cv2.COLOR_BGR2LAB)

            dataL = np.pad(dataL[:,:,np.newaxis],((0,pad_h),(0,pad_w),(0,0)))[:,:,0]
            dataL = dataL[y1:y1 + th, x1 + shift:x1 + tw + shift]
            dataL = dataL - shift

            img = {'left':left_img_raw,'right':right_img_raw}
            # img = self.train_aug(img)

            left_img_raw, right_img_raw = img['left'], img['right']

            processed = preprocess.get_transform(augment=False)  
            left_img   = processed(left_img_raw)
            right_img  = processed(right_img_raw)

            left_img_raw = np.transpose(left_img_raw,(2,0,1)).astype(np.float32)
            right_img_raw = np.transpose(right_img_raw,(2,0,1)).astype(np.float32)

            batch['imgL'], batch['imgR'], batch['disp_true'] = left_img, right_img, dataL
            batch['imgLRaw'], batch['imgRRaw'], batch['imgLLab'] = left_img_raw, right_img_raw, imL_lab
            batch['calib'], batch['x1'], batch['y1'] = calib, x1, y1

            return batch
        else:
            h,w,_ = left_img.shape
            imL = left_img
            pad_h, pad_w = 384-h, 1280-w

            # left_img_raw = left_img[h-352:h,w-1216:w,:]
            # right_img_raw = right_img[h-352:h,w-1216:w,:]
            left_img_raw = left_img  # np.pad(left_img,((0,pad_h),(0,pad_w),(0,0)))
            right_img_raw = right_img  # np.pad(right_img,((0,pad_h),(0,pad_w),(0,0)))

            imL_lab = cv2.cvtColor(
                left_img_raw,#cv2.resize(left_img,None,None,0.25,0.25),
                cv2.COLOR_BGR2LAB)

            # dataL = dataL.crop((w-1216, h-352, w, h))
            # dataL = np.pad(dataL,((0,pad_h),(0,pad_w)))

            processed = preprocess.get_transform(augment=False)  
            left_img       = processed(left_img_raw)
            right_img      = processed(right_img_raw)

            batch['imgL'], batch['imgR'], batch['disp_true'] = left_img, right_img, dataL
            batch['imgLLab'] = imL_lab
            batch['calib'] = calib

            return batch

    def __len__(self):
        return len(self.left)

    def train_aug(self, img):
        transformation = Compose([
                RGBShiftStereo(always_apply=True, p_asym=0.5),
                RandomBrightnessContrastStereo(always_apply=True, p_asym=0.5)
                ])
        return transformation(**img)

        # transformation = transforms.Compose([
        #         RandomColor()
        #         ])
        # return transformation(img)

    def kitti_calib(self, P2, P3):
        t2 = np.array([P2[0,-1]/P2[0,0],P2[1,-1]/P2[1,1],P2[2,-1]])
        t3 = np.array([P3[0,-1]/P3[0,0],P3[1,-1]/P3[1,1],P3[2,-1]])
        t = t2-t3
        baseline = np.linalg.norm(t,2)

        K = P2[:,:-1]

        return {'K':K,'baseline':baseline}


================================================
FILE: dataloaders/stereo/KITTIRawLoader.py
================================================
import torch.utils.data as data

from PIL import Image
import os
import os.path
import glob
import random
import numpy as np
import cv2
from . import preprocess

import pdb


IMG_EXTENSIONS = [
    '.jpg', '.JPG', '.jpeg', '.JPEG',
    '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP',
]


def is_image_file(filename):
    return any(filename.endswith(extension) for extension in IMG_EXTENSIONS)


def listfiles(cfg, date=None, num=None, test=False):

    train_datanames = ['kittiraw', 'kitti360']
    left_train = {'current': [], 'next': [], 'prev': []}
    right_train = {'current': [], 'next': [], 'prev': []}
    for train_dataname in train_datanames:
        if cfg['training']['train_on'][train_dataname]:
            left_train_, right_train_ = listtrainfiles(
                cfg['training']['paths'][train_dataname],
                train_dataname,
                date=date,
                num=num,
                test=test)

            left_train['current'] = left_train['current'] + left_train_['current']
            right_train['current'] = right_train['current'] + right_train_['current']
            left_train['prev'] = left_train['prev'] + left_train_['prev']
            right_train['prev'] = right_train['prev'] + right_train_['prev']
            left_train['next'] = left_train['next'] + left_train_['next']
            right_train['next'] = right_train['next'] + right_train_['next']

    if not test:
        val_datanames = ['kitti12', 'kitti15']
        left_val = {'current': []}
        right_val = {'current': []}
        disp_val = {'current': []}
        for val_dataname in val_datanames:
            left_val_, right_val_, disp_val_ = listvalfiles(cfg['training']['paths'][val_dataname])
            left_val['current'] = left_val['current'] + left_val_
            right_val['current'] = right_val['current'] + right_val_
            disp_val['current'] = disp_val['current'] + disp_val_

    # left_train['prev'] = left_train['prev'][200:201]
    # left_train['current'] = left_train['current'][200:201]
    # left_train['next'] = left_train['next'][200:201]
    # right_train['prev'] = right_train['prev'][200:201]
    # right_train['current'] = right_train['current'][200:201]
    # right_train['next'] = right_train['next'][200:201]

        return left_train, right_train, left_val, right_val, disp_val

    else:
        return left_train, right_train


def listtrainfiles(filepath, train_dataname, date=None, num=None, test=False):
    if train_dataname == 'kittiraw' and not test:
        with open(filepath + '/data_splits/eigen_zhou_files.txt') as f:
            data_splits = f.read()

        data_splits = data_splits.split('\n')
        data_splits_ = []
        for data_split in data_splits:
            data_splits_.append(data_split.split(' ')[0])
    else:
        data_splits_ = None

    left_fold = 'image_02' if 'raw' in filepath else 'image_00'
    right_fold = 'image_03' if 'raw' in filepath else 'image_01'
    data = 'data' if 'raw' in filepath else 'data_rect'
    if (train_dataname == 'kittiraw' and test
            and date is not None and num is not None):
        date_dir_ = date
    else:
        date_dir_ = '20' if 'raw' in filepath else '2d'

    left_train = {'current': [], 'next': [], 'prev': []}
    right_train = {'current': [], 'next': [], 'prev': []}
    for date_dir in os.listdir(filepath):
        if date_dir_ in date_dir:
            datepath = os.path.join(filepath, date_dir)
            for time_dir in os.listdir(os.path.join(datepath)):
                if num is not None:
                    if num not in time_dir:
                        continue
                if 'sync' in time_dir:
                    timepath = os.path.join(datepath, time_dir)
                    datadir_left = '{}/{}/{}'.format(timepath, left_fold, data)
                    datadir_right = '{}/{}/{}'.format(timepath, right_fold, data)

                    img_names = os.listdir(datadir_left)
                    img_names.sort()

                    for i in range(len(img_names)-2):
                        if (train_dataname == 'kitti360' or data_splits_ is None or
                            os.path.join(*os.path.join(datadir_left, img_names[i]).split('/')[-5:]) in data_splits_):

                            left_train['prev'].append(os.path.join(datadir_left, img_names[i]))
                            left_train['current'].append(os.path.join(datadir_left, img_names[i+1]))
                            left_train['next'].append(os.path.join(datadir_left, img_names[i+2]))

                            right_train['prev'].append(os.path.join(datadir_right, img_names[i]))
                            right_train['current'].append(os.path.join(datadir_right, img_names[i+1]))
                            right_train['next'].append(os.path.join(datadir_right, img_names[i+2]))

    return left_train, right_train


def listvalfiles(filepath):

    left_fold = '/image_2/' if 'kitti15' in filepath else '/colored_0/'
    right_fold = '/image_3/' if 'kitti15' in filepath else '/colored_1/'
    disp_fold = '/disp_occ_0/' if 'kitti15' in filepath else '/disp_noc/'

    image = [img for img in os.listdir(filepath+left_fold) if img.find('_10') > -1]
    image.sort()

    left_val = [filepath+left_fold+img for img in image]
    right_val = [filepath+right_fold+img for img in image]
    disp_val = [filepath+disp_fold+img for img in image]
    left_val.sort()
    right_val.sort()
    disp_val.sort()

    return left_val, right_val, disp_val


def default_loader(path):
    return cv2.imread(path)


def disparity_loader(path):
    return Image.open(path)


class ImageLoader(data.Dataset):
    def __init__(self, left, right, cfg, disp=None, training=True, demo=False,
                 loader=default_loader, dploader=disparity_loader):

        self.left = left
        self.right = right
        self.disp = disp
        self.training = training
        self.demo = demo
        self.th, self.tw = cfg['training']['th'], cfg['training']['tw']
        self.with_context = cfg['training']['with_context']
        self.extract_feature = cfg['training']['extract_feature']
        if self.extract_feature:
            self.extractor = load_feature(cfg['training']['feature_extractor'])
            self.feature_matcher = cv2.BFMatcher(
                cv2.NORM_HAMMING, crossCheck=False)

        self.loader = loader
        self.dploader = dploader

    def __getitem__(self, index):
        batch = dict()

        left = self.left['current'][index]
        right = self.right['current'][index]
        left_img = self.loader(left)
        right_img = self.loader(right)

        h, w, _ = left_img.shape

        processed = preprocess.get_transform(augment=False)

        calib_path = None
        if 'KITTI_raw' in self.left['current'][index]:
            calib_path = os.path.join(
                *self.left['current'][index].split('/')[:-4],
                'calib_cam_to_cam.txt')

        elif 'KITTI-360' in self.left['current'][index]:
            calib_path = os.path.join(
                *self.left['current'][index].split('/')[:-4],
                'calibration/perspective.txt')

        if calib_path is not None:

            file = open(calib_path, "r")
            cal = file.read()

            P2 = np.array(cal.split('\n')[-10].split(' ')[1:]).astype(np.float32)
            P3 = np.array(cal.split('\n')[-2].split(' ')[1:]).astype(np.float32)
            P2 = P2.reshape(3, 4)
            P3 = P3.reshape(3, 4)

            K, baseline = self.kitti_calib(P2, P3)

            calib = {'P2': P2, 'P3': P3, 'K': K, 'baseline': baseline}
            batch['calib'] = calib

        if self.training:

            if not self.demo:
                th, tw = self.th, self.tw
            else:
                th, tw = h, w

            if not self.demo:
                x1 = random.randint(0, w - tw)
                y1 = random.randint(0, h - th)
            else:
                x1, y1 = 0, 0

            left_img = left_img[y1: y1+th, x1: x1+tw, :]
            right_img = right_img[y1: y1+th, x1: x1+tw, :]

            left_img_p = processed(left_img)
            right_img_p = processed(right_img)

            left_img_ = np.transpose(left_img, (2, 0, 1)).astype(np.float32)
            right_img_ = np.transpose(right_img, (2, 0, 1)).astype(np.float32)

            batch['imgL'], batch['imgR'] = left_img_p, right_img_p
            batch['imgLRaw'], batch['imgRRaw'] = left_img_, right_img_
            batch['x1'], batch['y1'] = x1, y1

            if self.with_context:
                left_prev = self.left['prev'][index]
                right_prev = self.right['prev'][index]
                left_img_prev = self.loader(left_prev)[y1: y1+th, x1: x1+tw, :]
                right_img_prev = self.loader(right_prev)[y1: y1+th, x1: x1+tw, :]

                left_img_prev_p = processed(left_img_prev)
                right_img_prev_p = processed(right_img_prev)
                left_img_prev_ = np.transpose(
                    left_img_prev, (2, 0, 1)).astype(np.float32)
                right_img_prev_ = np.transpose(
                    right_img_prev, (2, 0, 1)).astype(np.float32)

                left_next = self.left['next'][index]
                right_next = self.right['next'][index]
                left_img_next = self.loader(left_next)[y1: y1+th, x1: x1+tw, :]
                right_img_next = self.loader(right_next)[y1: y1+th, x1: x1+tw, :]

                left_img_next_p = processed(left_img_next)
                right_img_next_p = processed(right_img_next)
                left_img_next_ = np.transpose(
                    left_img_next, (2, 0, 1)).astype(np.float32)
                right_img_next_ = np.transpose(
                    right_img_next, (2, 0, 1)).astype(np.float32)

                contexts = {
                    'imgLPrev': left_img_prev_p, 'imgLPrevRaw': left_img_prev_,
                    'imgRPrev': right_img_prev_p, 'imgRPrevRaw': right_img_prev_,
                    'imgLNext': left_img_next_p, 'imgLNextRaw': left_img_next_,
                    'imgRNext': right_img_next_p, 'imgRNextRaw': right_img_next_,
                }

                if self.extract_feature:
                    kp_curr, des_curr = self.extractor.detectAndCompute(
                        left_img, None)
                    kp_prev, des_prev = self.extractor.detectAndCompute(
                        left_img_prev, None)
                    kp_next, des_next = self.extractor.detectAndCompute(
                        left_img_next, None)

                    pxscp_curr, pxscp_prev = match(
                        kp_curr, des_curr, kp_prev, des_prev,
                        self.feature_matcher)
                    pxscn_curr, pxscn_next = match(
                        kp_curr, des_curr, kp_next, des_next,
                        self.feature_matcher)

                    pxs = {
                        'pxscp_curr': pxscp_curr, 'pxscp_prev': pxscp_prev,
                        'pxscn_curr': pxscn_curr, 'pxscn_next': pxscn_next
                    }
                    contexts.update(pxs)

                batch['contexts'] = contexts

        else:
            # left_img, right_img = left_img[:352, :1216], right_img[:352, :1216]

            left_img_p = processed(left_img)
            right_img_p = processed(right_img)

            left_img_ = np.transpose(left_img, (2, 0, 1)).astype(np.float32)
            right_img_ = np.transpose(right_img, (2, 0, 1)).astype(np.float32)

            batch['imgL'], batch['imgR'] = left_img_p, right_img_p
            batch['imgLRaw'], batch['imgRRaw'] = left_img_, right_img_

            disp = self.disp['current'][index]
            dataL = self.dploader(disp)
            dataL = np.ascontiguousarray(dataL, dtype=np.float32)/256
            batch['dispL'] = dataL

            # # Load context images
            # left_prev = self.left['prev'][index]
            # left_img_prev = self.loader(left_prev)
            # left_img_prev = left_img_prev[:352, :1216]

            # left_img_prev_p = processed(left_img_prev)
            # left_img_prev_ = np.transpose(
            #     left_img_prev, (2, 0, 1)).astype(np.float32)

            # contexts = {
            #     'imgLPrev': left_img_prev_p, 'imgLPrevRaw': left_img_prev_,
            # }

            # batch['contexts'] = contexts

        return batch

    def __len__(self):
        return len(self.left['current'])

    def kitti_calib(self, P2, P3):
        t2 = np.array([P2[0, -1]/P2[0, 0], P2[1, -1]/P2[1, 1], P2[2, -1]])
        t3 = np.array([P3[0, -1]/P3[0, 0], P3[1, -1]/P3[1, 1], P3[2, -1]])
        t = t2-t3
        baseline = np.linalg.norm(t, 2)

        K = P2[:, :-1]

        return K, baseline


def load_feature(cfg):
    if cfg['type'] == 'ORB':
        extractor = cv2.ORB_create(
            nfeatures=cfg['max_num'],
            edgeThreshold=cfg['thresh'], fastThreshold=cfg['thresh'])
    elif cfg['type'] == 'AKAZE':
        extractor = cv2.AKAZE_create(threshold=cfg['thresh'])

    return extractor


def match(kp1, des1, kp2, des2, matcher):
    raw_matches = matcher.knnMatch(des1, des2, k=2)

    max_num = 1000
    pxs1, pxs2 = -np.ones((max_num, 2)), -np.ones((max_num, 2))
    matches = []
    pxs1_, pxs2_ = [], []
    for (m, n) in raw_matches:
        if m.distance < 0.70*n.distance:
            matches.append(m)
            pxs1_.append(kp1[m.queryIdx].pt)
            pxs2_.append(kp2[n.trainIdx].pt)
    pxs1_, pxs2_ = np.array(pxs1_), np.array(pxs2_)

    px1_len = min(max_num, pxs1_.shape[0])
    px2_len = min(max_num, pxs2_.shape[0])
    pxs1[:px1_len] = pxs1_[:px1_len]
    pxs2[:px2_len] = pxs2_[:px2_len]
    return pxs1, pxs2


================================================
FILE: dataloaders/stereo/KITTI_submission_loader.py
================================================
import torch.utils.data as data

from PIL import Image
import os
import os.path
import numpy as np
import cv2
from . import preprocess 

IMG_EXTENSIONS = [
    '.jpg', '.JPG', '.jpeg', '.JPEG',
    '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP',
]


def is_image_file(filename):
    return any(filename.endswith(extension) for extension in IMG_EXTENSIONS)


def listfiles(filepath, dataname):

    left_fold = '/image_2/' if dataname == 'kitti15' else '/colored_0/'
    right_fold = '/image_3/' if dataname == 'kitti15' else '/colored_1/'

    image = [img for img in os.listdir(filepath+left_fold) if img.find('_10') > -1]
    image.sort()

    left_test = [filepath+left_fold+img for img in image]
    right_test = [filepath+right_fold+img for img in image]

    calib_path = '/calib_cam_to_cam/' if dataname == 'kitti15' else '/calib/'
    f = [txt for txt in os.listdir(filepath+calib_path)]
    f.sort()

    calib_test = [filepath+calib_path+f_ for f_ in f]

    return left_test, right_test, calib_test


def default_loader(path):
    return cv2.imread(path)
    # return Image.open(path).convert('RGB')


def disparity_loader(path):
    return Image.open(path)


class ImageLoader(data.Dataset):
    def __init__(self, left, right, calib, loader=default_loader, dploader=disparity_loader):

        self.left = left
        self.right = right
        self.calib = calib
        self.loader = loader
        self.dploader = dploader

    def __getitem__(self, index):
        batch = dict()

        left = self.left[index]
        right = self.right[index]
        calib = self.calib[index]

        left_img = self.loader(left)
        right_img = self.loader(right)
        file = open(calib, "r")
        cal = file.read()
        if calib.find('kitti15') == -1:
            P2 = np.array(cal.split('\n')[2].split(' ')[1:]).astype(np.float32)
            P3 = np.array(cal.split('\n')[3].split(' ')[1:]).astype(np.float32)
            dataname = 'kitti12_test'
        else:
            P2 = np.array(cal.split('\n')[-10].split(' ')[1:]).astype(np.float32)
            P3 = np.array(cal.split('\n')[-2].split(' ')[1:]).astype(np.float32)
            dataname = 'kitti15_test'
        filename = self.left[index].split('/')[-1].split('.')[0]
        P2 = P2.reshape(3, 4)
        P3 = P3.reshape(3, 4)

        calib = self.kitti_calib(P2, P3)

        processed = preprocess.get_transform(augment=False)
        left_img = processed(left_img)
        right_img = processed(right_img)

        batch['imgL'], batch['imgR'] = left_img, right_img
        batch['calib'], batch['dataname'], batch['filename'] = calib, dataname, filename

        return batch

    def __len__(self):
        return len(self.left)

    def kitti_calib(self, P2, P3):
        t2 = np.array([P2[0, -1]/P2[0, 0], P2[1, -1]/P2[1, 1], P2[2, -1]])
        t3 = np.array([P3[0, -1]/P3[0, 0], P3[1, -1]/P3[1, 1], P3[2, -1]])
        t = t2-t3
        baseline = np.linalg.norm(t, 2)

        K = P2[:, :-1]

        return {'K': K, 'baseline': baseline}


================================================
FILE: dataloaders/stereo/KITTIloader2012.py
================================================

IMG_EXTENSIONS = [
    '.jpg', '.JPG', '.jpeg', '.JPEG',
    '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP',
]


def is_image_file(filename):
    return any(filename.endswith(extension) for extension in IMG_EXTENSIONS)


def dataloader(filepath, returnCalib=False, trainAll=False):
    train_list_f = open('dataloaders/stereo/lists/kitti2012_train170.list', 'r')
    test_list_f = open('dataloaders/stereo/lists/kitti2012_val24.list', 'r')
    train_list_ = train_list_f.readlines()
    test_list_ = test_list_f.readlines()
    if trainAll:
        train_list = train_list_ + test_list_
        test_list = train_list_ + test_list_
    else:
        train_list = train_list_
        test_list = test_list_

    left_train = []
    right_train = []
    disp_train_L = []
    calib_train = []
    for i in range(len(train_list)):
        name = train_list[i].split('.')[0] + '.png'
        left_train.append(filepath + '/colored_0/' + name)
        right_train.append(filepath + '/colored_1/' + name)
        disp_train_L.append(filepath + '/disp_noc/' + name)
        cal = name.split('_')[0] + '.txt'
        calib_train.append(filepath + '/calib/' + cal)

    left_val = []
    right_val = []
    disp_val_L = []
    calib_val = []
    for i in range(len(test_list)):
        name = test_list[i].split('.')[0] + '.png'
        left_val.append(filepath + '/colored_0/' + name)
        right_val.append(filepath + '/colored_1/' + name)
        disp_val_L.append(filepath + '/disp_noc/' + name)
        cal = name.split('_')[0] + '.txt'
        calib_val.append(filepath + '/calib/' + cal)

    return left_train, right_train, disp_train_L, calib_train, left_val, right_val, disp_val_L, calib_val


================================================
FILE: dataloaders/stereo/KITTIloader2015.py
================================================

IMG_EXTENSIONS = [
    '.jpg', '.JPG', '.jpeg', '.JPEG',
    '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP',
]


def is_image_file(filename):
    return any(filename.endswith(extension) for extension in IMG_EXTENSIONS)


def dataloader(filepath, returnCalib=False, trainAll=False):
    train_list_f = open('dataloaders/stereo/lists/kitti2015_train180.list', 'r')
    test_list_f = open('dataloaders/stereo/lists/kitti2015_val20.list', 'r')
    train_list_ = train_list_f.readlines()
    test_list_ = test_list_f.readlines()
    if trainAll:
        train_list = train_list_ + test_list_
        test_list = train_list_ + test_list_
    else:
        train_list = train_list_
        test_list = test_list_

    left_train = []
    right_train = []
    disp_train_L = []
    calib_train = []
    for i in range(len(train_list)):
        name = train_list[i].split('.')[0] + '.png'
        left_train.append(filepath + '/image_2/' + name)
        right_train.append(filepath + '/image_3/' + name)
        disp_train_L.append(filepath + '/disp_occ_0/' + name)
        cal = name.split('_')[0] + '.txt'
        calib_train.append(filepath + '/calib_cam_to_cam/' + cal)

    left_val = []
    right_val = []
    disp_val_L = []
    calib_val = []
    for i in range(len(test_list)):
        name = test_list[i].split('.')[0] + '.png'
        left_val.append(filepath + '/image_2/' + name)
        right_val.append(filepath + '/image_3/' + name)
        disp_val_L.append(filepath + '/disp_occ_0/' + name)
        cal = name.split('_')[0] + '.txt'
        calib_val.append(filepath + '/calib_cam_to_cam/' + cal)

    return left_train, right_train, disp_train_L, calib_train, left_val, right_val, disp_val_L, calib_val


================================================
FILE: dataloaders/stereo/SceneFlowLoader.py
================================================
import os
import torch
import torch.utils.data as data
import torch
import torchvision.transforms as transforms
import random
from albumentations import Compose, OneOf
from PIL import Image, ImageOps
from . import preprocess 
from .stereo_albumentation import RandomShiftRotate, GaussNoiseStereo, RGBShiftStereo, \
    RandomBrightnessContrastStereo, random_crop, horizontal_flip
from . import transforms
from .transforms import RandomColor
from . import readpfm as rp
import numpy as np
import cv2

import pdb

IMG_EXTENSIONS = [
    '.jpg', '.JPG', '.jpeg', '.JPEG',
    '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP',
]


def is_image_file(filename):
    return any(filename.endswith(extension) for extension in IMG_EXTENSIONS)


def default_loader(path):
    return cv2.imread(path)
    # return Image.open(path).convert('RGB')


def disparity_loader(path):
    return rp.readPFM(path)


class ImageLoader(data.Dataset):
    def __init__(self, left, right,
                 focal, left_disparity, training,
                 loader=default_loader, dploader=disparity_loader,
                 th=256, tw=512):

        self.left = left
        self.right = right
        self.focal = focal
        self.disp_L = left_disparity
        self.loader = loader
        self.dploader = dploader
        self.th = th
        self.tw = tw
        self.training = training

    def __getitem__(self, index):
        batch = dict()

        left = self.left[index]
        right = self.right[index]
        disp_L = self.disp_L[index]
        disp_R = disp_L.replace('left', 'right')
        focal = self.focal[index]*30

        K = np.array([[focal, 0, 479.5],
                      [0, focal, 269.5],
                      [0, 0, 1]])
        K = torch.Tensor(K)

        left_img = self.loader(left)
        right_img = self.loader(right)

        dataL, scaleL = self.dploader(disp_L)
        dataR, scaleR = self.dploader(disp_R)

        if disp_L.split('/')[-5] == 'flyingthings3d':
            dataL = -dataL
            dataR = -dataR
        dataL = np.ascontiguousarray(dataL, dtype=np.float32)
        dataR = np.ascontiguousarray(dataR, dtype=np.float32)

        if self.training:
            left_img, right_img, dataL = horizontal_flip(left_img, right_img, dataL, dataR)

            h, w = left_img.shape[:2]

            x1 = random.randint(0, w - self.tw)
            y1 = random.randint(0, h - self.th)

            left_img = left_img[y1: y1 + self.th, x1: x1 + self.tw]
            right_img = right_img[y1: y1 + self.th, x1: x1 + self.tw]

            dataL = dataL[y1:y1 + self.th, x1:x1 + self.tw]

            img = {'left': left_img, 'right': right_img}
            # img = self.train_aug(img)

            left_img, right_img = img['left'], img['right']

            processed = preprocess.get_transform(augment=True)
            left_img = processed(left_img)
            right_img = processed(right_img)

            batch['imgL'], batch['imgR'], batch['disp_true'] = left_img, right_img, dataL
            batch['K'], batch['x1'], batch['y1'] = K, x1, y1

            return batch
        else:
            processed = preprocess.get_transform(augment=False)
            left_img = processed(left_img)
            right_img = processed(right_img)

            batch['imgL'], batch['imgR'], batch['disp_true'] = left_img, right_img, dataL
            batch['K'] = K

            return batch

    def __len__(self):
        return len(self.left)

    def train_aug(self, img):
        transformation = Compose([
                # RandomShiftRotate(always_apply=True),
                RGBShiftStereo(always_apply=True, p_asym=0.3),
                OneOf([
                    GaussNoiseStereo(always_apply=True, p_asym=1),
                    RandomBrightnessContrastStereo(always_apply=True, p_asym=0.5)
                ], p=1)
                ])
        return transformation(**img)

        # transformation = transforms.Compose([
        #         RandomColor()
        #         ])
        # return transformation(img)


================================================
FILE: dataloaders/stereo/__init__.py
================================================
from .listflowfile import *
from .SceneFlowLoader import *
from .KITTIloader2012 import *
from .KITTIloader2015 import *
from .KITTILoader import *
from .KITTI_submission_loader import *
from .KITTIRawLoader import *

================================================
FILE: dataloaders/stereo/listflowfile.py
================================================
import torch.utils.data as data

from PIL import Image
import os
import os.path
import glob
import numpy as np

import pdb

IMG_EXTENSIONS = [
    '.jpg', '.JPG', '.jpeg', '.JPEG',
    '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP',
]


def is_image_file(filename):
    return any(filename.endswith(extension) for extension in IMG_EXTENSIONS)


def dataloader(filepath):

    all_left_img = []
    all_right_img = []
    all_left_disp = []
    all_focal = []
    test_left_img = []
    test_right_img = []
    test_left_disp = []
    test_focal = []

    # # MONKAAS ##
    monkaa_path = os.path.join(filepath, 'monkaa', 'frames_finalpass')
    monkaa_disp = os.path.join(filepath, 'monkaa', 'disparity')

    monkaa_dir = os.listdir(monkaa_path)

    for dd in monkaa_dir:
        for im in os.listdir(os.path.join(monkaa_path, dd, 'left')):
            if is_image_file(os.path.join(monkaa_path, dd, 'left', im)):
                all_left_img.append(os.path.join(monkaa_path, dd, 'left', im))
                all_left_disp.append(os.path.join(monkaa_disp, dd, 'left', im.split(".")[0]+'.pfm'))
                all_focal.append(35)

        for im in os.listdir(monkaa_path+'/'+dd+'/right/'):
            if is_image_file(monkaa_path+'/'+dd+'/right/'+im):
                all_right_img.append(monkaa_path+'/'+dd+'/right/'+im)

    # # FLYINGTHINGS 3D ##
    flying_path = os.path.join(filepath, 'flyingthings3d_final', 'frames_finalpass', 'TRAIN')
    flying_disp = os.path.join(filepath, 'flyingthings3d_final', 'disparity', 'TRAIN')

    flying_dir = os.listdir(flying_path)

    left_paths, right_paths, disp_paths = [], [], []
    for dd in flying_dir:
        for nn in os.listdir(os.path.join(flying_path, dd)):
            for im in os.listdir(os.path.join(flying_path, dd, nn, 'left')):
                if is_image_file(os.path.join(flying_path, dd, nn, 'left', im)):
                    left_paths.append(os.path.join(flying_path, dd, nn, 'left', im))
                    disp_paths.append(os.path.join(flying_disp, dd, nn, 'left', im.split(".")[0]+'.pfm'))
            for im in os.listdir(os.path.join(flying_path, dd, nn, 'right')):
                if is_image_file(os.path.join(flying_path, dd, nn, 'right', im)):
                    right_paths.append(os.path.join(flying_path, dd, nn, 'right', im))

    # left_paths = glob.glob(flying_path+'/*/*/left/*.png')
    # right_paths = glob.glob(flying_path+'/*/*/right/*.png')
    # disp_paths = glob.glob(flying_disp+'/*/*/left/*.pfm')

    flying_path_val = os.path.join(filepath, 'flyingthings3d_final', 'frames_finalpass', 'TEST')
    flying_disp_val = os.path.join(filepath, 'flyingthings3d_final', 'disparity', 'TEST')

    flying_dir_val = os.listdir(flying_path_val)

    left_paths_val, right_paths_val, disp_paths_val = [], [], []
    for dd in flying_dir_val:
        for nn in os.listdir(os.path.join(flying_path_val, dd)):
            for im in os.listdir(os.path.join(flying_path_val, dd, nn, 'left')):
                if is_image_file(os.path.join(flying_path_val, dd, nn, 'left', im)):
                    left_paths_val.append(os.path.join(flying_path_val, dd, nn, 'left', im))
                    disp_paths_val.append(os.path.join(flying_disp_val, dd, nn, 'left', im.split(".")[0]+'.pfm'))
            for im in os.listdir(os.path.join(flying_path_val, dd, nn, 'right')):
                if is_image_file(os.path.join(flying_path_val, dd, nn, 'right', im)):
                    right_paths_val.append(os.path.join(flying_path_val, dd, nn, 'right', im))

    # left_paths_val = glob.glob(flying_path_val+'/*/*/left/*.png')
    # right_paths_val = glob.glob(flying_path_val+'/*/*/right/*.png')
    # disp_paths_val = glob.glob(flying_disp_val+'/*/*/left/*.pfm')

    left_paths.sort()
    right_paths.sort()
    disp_paths.sort()
    left_paths_val.sort()
    right_paths_val.sort()
    disp_paths_val.sort()

    focal = (35*np.ones(len(left_paths), dtype=int)).tolist()
    all_left_img = all_left_img + left_paths
    all_right_img = all_right_img + right_paths
    all_left_disp = all_left_disp + disp_paths
    all_focal = all_focal + focal

    focal_val = (35*np.ones(len(left_paths_val), dtype=int)).tolist()
    test_left_img = test_left_img + left_paths_val
    test_right_img = test_right_img + right_paths_val
    test_left_disp = test_left_disp + disp_paths_val
    test_focal = test_focal + focal_val

    # # DRIVING ##
    driving_dir = os.path.join(filepath, 'driving', 'frames_finalpass')
    driving_disp = os.path.join(filepath, 'driving', 'disparity')

    subdir1 = ['35mm_focallength', '15mm_focallength']
    subdir2 = ['scene_backwards', 'scene_forwards']
    subdir3 = ['fast', 'slow']

    for i in subdir1:
        for j in subdir2:
            for k in subdir3:
                imm_l = os.listdir(os.path.join(driving_dir, i, j, k, 'left'))
                for im in imm_l:
                    if is_image_file(os.path.join(driving_dir, i, j, k, 'left', im)):
                        all_left_img.append(os.path.join(driving_dir, i, j, k, 'left', im))
                        if i == '35mm_focallength':
                            all_focal.append(35)
                        else:
                            all_focal.append(15)
                        all_left_disp.append(os.path.join(driving_disp, i, j, k, 'left', im.split(".")[0]+'.pfm'))

                    if is_image_file(os.path.join(driving_dir, i, j, k, 'right', im)):
                        all_right_img.append(os.path.join(driving_dir, i, j, k, 'right', im))

    return all_left_img, all_right_img, all_left_disp, all_focal, test_left_img, test_right_img, test_left_disp, test_focal


================================================
FILE: dataloaders/stereo/lists/kitti2012_test.list
================================================
000000_10.png
000001_10.png
000002_10.png
000003_10.png
000004_10.png
000005_10.png
000006_10.png
000007_10.png
000008_10.png
000009_10.png
000010_10.png
000011_10.png
000012_10.png
000013_10.png
000014_10.png
000015_10.png
000016_10.png
000017_10.png
000018_10.png
000019_10.png
000020_10.png
000021_10.png
000022_10.png
000023_10.png
000024_10.png
000025_10.png
000026_10.png
000027_10.png
000028_10.png
000029_10.png
000030_10.png
000031_10.png
000032_10.png
000033_10.png
000034_10.png
000035_10.png
000036_10.png
000037_10.png
000038_10.png
000039_10.png
000040_10.png
000041_10.png
000042_10.png
000043_10.png
000044_10.png
000045_10.png
000046_10.png
000047_10.png
000048_10.png
000049_10.png
000050_10.png
000051_10.png
000052_10.png
000053_10.png
000054_10.png
000055_10.png
000056_10.png
000057_10.png
000058_10.png
000059_10.png
000060_10.png
000061_10.png
000062_10.png
000063_10.png
000064_10.png
000065_10.png
000066_10.png
000067_10.png
000068_10.png
000069_10.png
000070_10.png
000071_10.png
000072_10.png
000073_10.png
000074_10.png
000075_10.png
000076_10.png
000077_10.png
000078_10.png
000079_10.png
000080_10.png
000081_10.png
000082_10.png
000083_10.png
000084_10.png
000085_10.png
000086_10.png
000087_10.png
000088_10.png
000089_10.png
000090_10.png
000091_10.png
000092_10.png
000093_10.png
000094_10.png
000095_10.png
000096_10.png
000097_10.png
000098_10.png
000099_10.png
000100_10.png
000101_10.png
000102_10.png
000103_10.png
000104_10.png
000105_10.png
000106_10.png
000107_10.png
000108_10.png
000109_10.png
000110_10.png
000111_10.png
000112_10.png
000113_10.png
000114_10.png
000115_10.png
000116_10.png
000117_10.png
000118_10.png
000119_10.png
000120_10.png
000121_10.png
000122_10.png
000123_10.png
000124_10.png
000125_10.png
000126_10.png
000127_10.png
000128_10.png
000129_10.png
000130_10.png
000131_10.png
000132_10.png
000133_10.png
000134_10.png
000135_10.png
000136_10.png
000137_10.png
000138_10.png
000139_10.png
000140_10.png
000141_10.png
000142_10.png
000143_10.png
000144_10.png
000145_10.png
000146_10.png
000147_10.png
000148_10.png
000149_10.png
000150_10.png
000151_10.png
000152_10.png
000153_10.png
000154_10.png
000155_10.png
000156_10.png
000157_10.png
000158_10.png
000159_10.png
000160_10.png
000161_10.png
000162_10.png
000163_10.png
000164_10.png
000165_10.png
000166_10.png
000167_10.png
000168_10.png
000169_10.png
000170_10.png
000171_10.png
000172_10.png
000173_10.png
000174_10.png
000175_10.png
000176_10.png
000177_10.png
000178_10.png
000179_10.png
000180_10.png
000181_10.png
000182_10.png
000183_10.png
000184_10.png
000185_10.png
000186_10.png
000187_10.png
000188_10.png
000189_10.png
000190_10.png
000191_10.png
000192_10.png
000193_10.png
000194_10.png


================================================
FILE: dataloaders/stereo/lists/kitti2012_train.list
================================================
000153_10.png
000174_10.png
000176_10.png
000022_10.png
000169_10.png
000057_10.png
000013_10.png
000185_10.png
000072_10.png
000182_10.png
000012_10.png
000054_10.png
000064_10.png
000061_10.png
000017_10.png
000155_10.png
000044_10.png
000001_10.png
000030_10.png
000106_10.png
000007_10.png
000092_10.png
000142_10.png
000144_10.png
000193_10.png
000080_10.png
000097_10.png
000143_10.png
000042_10.png
000081_10.png
000109_10.png
000171_10.png
000175_10.png
000047_10.png
000014_10.png
000100_10.png
000015_10.png
000180_10.png
000016_10.png
000019_10.png
000139_10.png
000184_10.png
000050_10.png
000115_10.png
000136_10.png
000188_10.png
000034_10.png
000033_10.png
000114_10.png
000038_10.png
000063_10.png
000121_10.png
000004_10.png
000062_10.png
000160_10.png
000148_10.png
000120_10.png
000052_10.png
000045_10.png
000126_10.png
000065_10.png
000127_10.png
000113_10.png
000131_10.png
000163_10.png
000146_10.png
000028_10.png
000048_10.png
000179_10.png
000135_10.png
000053_10.png
000159_10.png
000117_10.png
000134_10.png
000181_10.png
000021_10.png
000067_10.png
000077_10.png
000177_10.png
000029_10.png
000070_10.png
000137_10.png
000090_10.png
000027_10.png
000123_10.png
000107_10.png
000026_10.png
000190_10.png
000133_10.png
000024_10.png
000119_10.png
000116_10.png
000023_10.png
000066_10.png
000152_10.png
000008_10.png
000079_10.png
000069_10.png
000187_10.png
000145_10.png
000124_10.png
000140_10.png
000150_10.png
000132_10.png
000025_10.png
000122_10.png
000110_10.png
000041_10.png
000098_10.png
000118_10.png
000084_10.png
000103_10.png
000086_10.png
000178_10.png
000056_10.png
000058_10.png
000006_10.png
000111_10.png
000186_10.png
000170_10.png
000141_10.png
000020_10.png
000073_10.png
000093_10.png
000009_10.png
000000_10.png
000094_10.png
000149_10.png
000151_10.png
000046_10.png
000002_10.png
000010_10.png
000003_10.png
000035_10.png
000183_10.png
000036_10.png
000112_10.png
000040_10.png
000192_10.png
000091_10.png
000156_10.png
000128_10.png
000164_10.png
000055_10.png
000130_10.png
000095_10.png
000162_10.png
000189_10.png
000088_10.png
000125_10.png
000078_10.png
000039_10.png
000157_10.png
000102_10.png
000138_10.png
000129_10.png
000165_10.png
000161_10.png
000089_10.png
000087_10.png
000011_10.png
000085_10.png
000191_10.png
000049_10.png
000168_10.png
000082_10.png
000154_10.png
000060_10.png
000018_10.png
000166_10.png
000173_10.png
000172_10.png
000147_10.png
000059_10.png
000043_10.png
000099_10.png
000031_10.png
000076_10.png
000032_10.png
000105_10.png
000101_10.png
000074_10.png
000071_10.png
000158_10.png
000051_10.png
000083_10.png
000037_10.png
000005_10.png
000104_10.png
000096_10.png
000068_10.png
000108_10.png
000075_10.png
000167_10.png


================================================
FILE: dataloaders/stereo/lists/kitti2012_train170.list
================================================
000193_10.png
000080_10.png
000097_10.png
000143_10.png
000042_10.png
000081_10.png
000109_10.png
000171_10.png
000175_10.png
000047_10.png
000014_10.png
000100_10.png
000015_10.png
000180_10.png
000016_10.png
000019_10.png
000139_10.png
000184_10.png
000050_10.png
000115_10.png
000136_10.png
000188_10.png
000034_10.png
000033_10.png
000114_10.png
000038_10.png
000063_10.png
000121_10.png
000004_10.png
000062_10.png
000160_10.png
000148_10.png
000120_10.png
000052_10.png
000045_10.png
000126_10.png
000065_10.png
000127_10.png
000113_10.png
000131_10.png
000163_10.png
000146_10.png
000028_10.png
000048_10.png
000179_10.png
000135_10.png
000053_10.png
000159_10.png
000117_10.png
000134_10.png
000181_10.png
000021_10.png
000067_10.png
000077_10.png
000177_10.png
000029_10.png
000070_10.png
000137_10.png
000090_10.png
000027_10.png
000123_10.png
000107_10.png
000026_10.png
000190_10.png
000133_10.png
000024_10.png
000119_10.png
000116_10.png
000023_10.png
000066_10.png
000152_10.png
000008_10.png
000079_10.png
000069_10.png
000187_10.png
000145_10.png
000124_10.png
000140_10.png
000150_10.png
000132_10.png
000025_10.png
000122_10.png
000110_10.png
000041_10.png
000098_10.png
000118_10.png
000084_10.png
000103_10.png
000086_10.png
000178_10.png
000056_10.png
000058_10.png
000006_10.png
000111_10.png
000186_10.png
000170_10.png
000141_10.png
000020_10.png
000073_10.png
000093_10.png
000009_10.png
000000_10.png
000094_10.png
000149_10.png
000151_10.png
000046_10.png
000002_10.png
000010_10.png
000003_10.png
000035_10.png
000183_10.png
000036_10.png
000112_10.png
000040_10.png
000192_10.png
000091_10.png
000156_10.png
000128_10.png
000164_10.png
000055_10.png
000130_10.png
000095_10.png
000162_10.png
000189_10.png
000088_10.png
000125_10.png
000078_10.png
000039_10.png
000157_10.png
000102_10.png
000138_10.png
000129_10.png
000165_10.png
000161_10.png
000089_10.png
000087_10.png
000011_10.png
000085_10.png
000191_10.png
000049_10.png
000168_10.png
000082_10.png
000154_10.png
000060_10.png
000018_10.png
000166_10.png
000173_10.png
000172_10.png
000147_10.png
000059_10.png
000043_10.png
000099_10.png
000031_10.png
000076_10.png
000032_10.png
000105_10.png
000101_10.png
000074_10.png
000071_10.png
000158_10.png
000051_10.png
000083_10.png
000037_10.png
000005_10.png
000104_10.png
000096_10.png
000068_10.png
000108_10.png
000075_10.png
000167_10.png


================================================
FILE: dataloaders/stereo/lists/kitti2012_val24.list
================================================
000153_10.png
000174_10.png
000176_10.png
000022_10.png
000169_10.png
000057_10.png
000013_10.png
000185_10.png
000072_10.png
000182_10.png
000012_10.png
000054_10.png
000064_10.png
000061_10.png
000017_10.png
000155_10.png
000044_10.png
000001_10.png
000030_10.png
000106_10.png
000007_10.png
000092_10.png
000142_10.png
000144_10.png


================================================
FILE: dataloaders/stereo/lists/kitti2015_test.list
================================================
000000_10.png
000001_10.png
000002_10.png
000003_10.png
000004_10.png
000005_10.png
000006_10.png
000007_10.png
000008_10.png
000009_10.png
000010_10.png
000011_10.png
000012_10.png
000013_10.png
000014_10.png
000015_10.png
000016_10.png
000017_10.png
000018_10.png
000019_10.png
000020_10.png
000021_10.png
000022_10.png
000023_10.png
000024_10.png
000025_10.png
000026_10.png
000027_10.png
000028_10.png
000029_10.png
000030_10.png
000031_10.png
000032_10.png
000033_10.png
000034_10.png
000035_10.png
000036_10.png
000037_10.png
000038_10.png
000039_10.png
000040_10.png
000041_10.png
000042_10.png
000043_10.png
000044_10.png
000045_10.png
000046_10.png
000047_10.png
000048_10.png
000049_10.png
000050_10.png
000051_10.png
000052_10.png
000053_10.png
000054_10.png
000055_10.png
000056_10.png
000057_10.png
000058_10.png
000059_10.png
000060_10.png
000061_10.png
000062_10.png
000063_10.png
000064_10.png
000065_10.png
000066_10.png
000067_10.png
000068_10.png
000069_10.png
000070_10.png
000071_10.png
000072_10.png
000073_10.png
000074_10.png
000075_10.png
000076_10.png
000077_10.png
000078_10.png
000079_10.png
000080_10.png
000081_10.png
000082_10.png
000083_10.png
000084_10.png
000085_10.png
000086_10.png
000087_10.png
000088_10.png
000089_10.png
000090_10.png
000091_10.png
000092_10.png
000093_10.png
000094_10.png
000095_10.png
000096_10.png
000097_10.png
000098_10.png
000099_10.png
000100_10.png
000101_10.png
000102_10.png
000103_10.png
000104_10.png
000105_10.png
000106_10.png
000107_10.png
000108_10.png
000109_10.png
000110_10.png
000111_10.png
000112_10.png
000113_10.png
000114_10.png
000115_10.png
000116_10.png
000117_10.png
000118_10.png
000119_10.png
000120_10.png
000121_10.png
000122_10.png
000123_10.png
000124_10.png
000125_10.png
000126_10.png
000127_10.png
000128_10.png
000129_10.png
000130_10.png
000131_10.png
000132_10.png
000133_10.png
000134_10.png
000135_10.png
000136_10.png
000137_10.png
000138_10.png
000139_10.png
000140_10.png
000141_10.png
000142_10.png
000143_10.png
000144_10.png
000145_10.png
000146_10.png
000147_10.png
000148_10.png
000149_10.png
000150_10.png
000151_10.png
000152_10.png
000153_10.png
000154_10.png
000155_10.png
000156_10.png
000157_10.png
000158_10.png
000159_10.png
000160_10.png
000161_10.png
000162_10.png
000163_10.png
000164_10.png
000165_10.png
000166_10.png
000167_10.png
000168_10.png
000169_10.png
000170_10.png
000171_10.png
000172_10.png
000173_10.png
000174_10.png
000175_10.png
000176_10.png
000177_10.png
000178_10.png
000179_10.png
000180_10.png
000181_10.png
000182_10.png
000183_10.png
000184_10.png
000185_10.png
000186_10.png
000187_10.png
000188_10.png
000189_10.png
000190_10.png
000191_10.png
000192_10.png
000193_10.png
000194_10.png
000195_10.png
000196_10.png
000197_10.png
000198_10.png
000199_10.png


================================================
FILE: dataloaders/stereo/lists/kitti2015_train.list
================================================
000179_10.png
000128_10.png
000122_10.png
000178_10.png
000173_10.png
000100_10.png
000114_10.png
000037_10.png
000071_10.png
000076_10.png
000031_10.png
000130_10.png
000191_10.png
000086_10.png
000099_10.png
000195_10.png
000005_10.png
000131_10.png
000083_10.png
000196_10.png
000001_10.png
000022_10.png
000189_10.png
000030_10.png
000096_10.png
000082_10.png
000101_10.png
000121_10.png
000046_10.png
000106_10.png
000015_10.png
000056_10.png
000021_10.png
000111_10.png
000070_10.png
000145_10.png
000197_10.png
000040_10.png
000092_10.png
000186_10.png
000140_10.png
000127_10.png
000165_10.png
000141_10.png
000193_10.png
000184_10.png
000154_10.png
000060_10.png
000107_10.png
000029_10.png
000038_10.png
000135_10.png
000091_10.png
000156_10.png
000112_10.png
000054_10.png
000065_10.png
000113_10.png
000016_10.png
000050_10.png
000089_10.png
000166_10.png
000142_10.png
000097_10.png
000042_10.png
000194_10.png
000190_10.png
000134_10.png
000080_10.png
000155_10.png
000055_10.png
000116_10.png
000069_10.png
000020_10.png
000180_10.png
000068_10.png
000129_10.png
000027_10.png
000167_10.png
000081_10.png
000115_10.png
000048_10.png
000061_10.png
000011_10.png
000105_10.png
000161_10.png
000062_10.png
000088_10.png
000098_10.png
000093_10.png
000064_10.png
000032_10.png
000102_10.png
000058_10.png
000188_10.png
000148_10.png
000183_10.png
000072_10.png
000103_10.png
000126_10.png
000034_10.png
000024_10.png
000185_10.png
000108_10.png
000181_10.png
000153_10.png
000174_10.png
000157_10.png
000151_10.png
000170_10.png
000118_10.png
000117_10.png
000139_10.png
000143_10.png
000077_10.png
000168_10.png
000012_10.png
000146_10.png
000152_10.png
000039_10.png
000053_10.png
000162_10.png
000041_10.png
000051_10.png
000035_10.png
000075_10.png
000138_10.png
000044_10.png
000036_10.png
000000_10.png
000164_10.png
000004_10.png
000175_10.png
000094_10.png
000109_10.png
000052_10.png
000047_10.png
000028_10.png
000149_10.png
000026_10.png
000192_10.png
000049_10.png
000014_10.png
000125_10.png
000136_10.png
000177_10.png
000084_10.png
000007_10.png
000085_10.png
000063_10.png
000019_10.png
000176_10.png
000079_10.png
000187_10.png
000172_10.png
000199_10.png
000003_10.png
000124_10.png
000095_10.png
000160_10.png
000009_10.png
000137_10.png
000087_10.png
000150_10.png
000090_10.png
000006_10.png
000182_10.png
000132_10.png
000078_10.png
000002_10.png
000169_10.png
000017_10.png
000110_10.png
000074_10.png
000119_10.png
000147_10.png
000159_10.png
000013_10.png
000045_10.png
000010_10.png
000198_10.png
000059_10.png
000067_10.png
000123_10.png
000133_10.png
000057_10.png
000073_10.png
000120_10.png
000018_10.png
000171_10.png
000033_10.png
000023_10.png
000043_10.png
000158_10.png
000163_10.png
000025_10.png
000144_10.png
000008_10.png
000066_10.png
000104_10.png


================================================
FILE: dataloaders/stereo/lists/kitti2015_train180.list
================================================
000179_10.png
000128_10.png
000122_10.png
000178_10.png
000173_10.png
000100_10.png
000114_10.png
000037_10.png
000071_10.png
000076_10.png
000031_10.png
000130_10.png
000191_10.png
000086_10.png
000099_10.png
000195_10.png
000005_10.png
000131_10.png
000083_10.png
000196_10.png
000001_10.png
000022_10.png
000189_10.png
000030_10.png
000096_10.png
000082_10.png
000101_10.png
000121_10.png
000046_10.png
000106_10.png
000015_10.png
000056_10.png
000021_10.png
000111_10.png
000070_10.png
000145_10.png
000197_10.png
000040_10.png
000092_10.png
000186_10.png
000140_10.png
000127_10.png
000165_10.png
000141_10.png
000193_10.png
000184_10.png
000154_10.png
000060_10.png
000107_10.png
000029_10.png
000038_10.png
000135_10.png
000091_10.png
000156_10.png
000112_10.png
000054_10.png
000065_10.png
000113_10.png
000016_10.png
000050_10.png
000089_10.png
000166_10.png
000142_10.png
000097_10.png
000042_10.png
000194_10.png
000190_10.png
000134_10.png
000080_10.png
000155_10.png
000055_10.png
000116_10.png
000069_10.png
000020_10.png
000180_10.png
000068_10.png
000129_10.png
000027_10.png
000167_10.png
000081_10.png
000115_10.png
000048_10.png
000061_10.png
000011_10.png
000105_10.png
000161_10.png
000062_10.png
000088_10.png
000098_10.png
000093_10.png
000064_10.png
000032_10.png
000102_10.png
000058_10.png
000188_10.png
000148_10.png
000183_10.png
000072_10.png
000103_10.png
000126_10.png
000034_10.png
000024_10.png
000185_10.png
000108_10.png
000181_10.png
000153_10.png
000174_10.png
000157_10.png
000151_10.png
000170_10.png
000118_10.png
000117_10.png
000139_10.png
000143_10.png
000077_10.png
000168_10.png
000012_10.png
000146_10.png
000152_10.png
000039_10.png
000053_10.png
000162_10.png
000041_10.png
000051_10.png
000035_10.png
000075_10.png
000138_10.png
000044_10.png
000036_10.png
000000_10.png
000164_10.png
000004_10.png
000175_10.png
000094_10.png
000109_10.png
000052_10.png
000047_10.png
000028_10.png
000149_10.png
000026_10.png
000192_10.png
000049_10.png
000014_10.png
000125_10.png
000136_10.png
000177_10.png
000084_10.png
000007_10.png
000085_10.png
000063_10.png
000019_10.png
000176_10.png
000079_10.png
000187_10.png
000172_10.png
000199_10.png
000003_10.png
000124_10.png
000095_10.png
000160_10.png
000009_10.png
000137_10.png
000087_10.png
000150_10.png
000090_10.png
000006_10.png
000182_10.png
000132_10.png
000078_10.png
000002_10.png
000169_10.png
000017_10.png
000110_10.png
000074_10.png
000119_10.png
000147_10.png
000159_10.png
000013_10.png
000045_10.png
000010_10.png


================================================
FILE: dataloaders/stereo/lists/kitti2015_val20.list
================================================
000198_10.png
000059_10.png
000067_10.png
000123_10.png
000133_10.png
000057_10.png
000073_10.png
000120_10.png
000018_10.png
000171_10.png
000033_10.png
000023_10.png
000043_10.png
000158_10.png
000163_10.png
000025_10.png
000144_10.png
000008_10.png
000066_10.png
000104_10.png


================================================
FILE: dataloaders/stereo/lists/middeval3_test.list
================================================
Australia/im0.png
AustraliaP/im0.png
Bicycle2/im0.png
Classroom2/im0.png
Classroom2E/im0.png
Computer/im0.png
Crusade/im0.png
CrusadeP/im0.png
Djembe/im0.png
DjembeL/im0.png
Hoops/im0.png
Livingroom/im0.png
Newkuba/im0.png
Plants/im0.png
Staircase/im0.png


================================================
FILE: dataloaders/stereo/lists/middeval3_train.list
================================================
Playtable/im0.png
ArtL/im0.png
Jadeplant/im0.png
PlaytableP/im0.png
PianoL/im0.png
Piano/im0.png
Adirondack/im0.png
Teddy/im0.png
Recycle/im0.png
Motorcycle/im0.png
MotorcycleE/im0.png
Vintage/im0.png
Playroom/im0.png
Shelves/im0.png
Pipes/im0.png


================================================
FILE: dataloaders/stereo/lists/sceneflow_search_trainA.list
================================================
TRAIN/B/0111/left/0009.png
TRAIN/B/0061/left/0007.png
TRAIN/C/0672/left/0011.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0419.png
TRAIN/C/0078/left/0015.png
TRAIN/A/0019/left/0015.png
TRAIN/A/0215/left/0007.png
TRAIN/funnyworld_augmented0_x2/left/0358.png
TRAIN/B/0497/left/0009.png
TRAIN/family_x2/left/0121.png
TRAIN/A/0324/left/0006.png
TRAIN/B/0503/left/0010.png
TRAIN/lonetree_difftex2_x2/left/0447.png
TRAIN/C/0476/left/0012.png
TRAIN/A/0372/left/0008.png
TRAIN/funnyworld_augmented0_x2/left/0073.png
TRAIN/C/0707/left/0013.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0170.png
TRAIN/funnyworld_x2/left/0135.png
TRAIN/C/0133/left/0014.png
TRAIN/C/0474/left/0014.png
TRAIN/B/0029/left/0013.png
TRAIN/lonetree_difftex2_x2/left/0468.png
TRAIN/C/0593/left/0012.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0452.png
TRAIN/B/0338/left/0010.png
TRAIN/C/0371/left/0011.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0387.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0361.png
TRAIN/C/0512/left/0006.png
TRAIN/funnyworld_augmented1_x2/left/0115.png
TRAIN/C/0296/left/0009.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0075.png
TRAIN/A/0057/left/0013.png
TRAIN/A/0162/left/0010.png
TRAIN/B/0715/left/0015.png
TRAIN/C/0526/left/0009.png
TRAIN/B/0658/left/0007.png
TRAIN/C/0147/left/0008.png
TRAIN/B/0158/left/0012.png
TRAIN/C/0520/left/0015.png
TRAIN/B/0272/left/0011.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0006.png
TRAIN/C/0705/left/0015.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0240.png
TRAIN/B/0646/left/0007.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0475.png
TRAIN/lonetree_winter_x2/left/0225.png
TRAIN/A/0227/left/0011.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0332.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0066.png
TRAIN/C/0351/left/0009.png
TRAIN/A/0069/left/0008.png
TRAIN/C/0293/left/0014.png
TRAIN/treeflight_augmented0_x2/left/0113.png
TRAIN/B/0284/left/0006.png
TRAIN/C/0209/left/0012.png
TRAIN/C/0648/left/0008.png
TRAIN/B/0582/left/0007.png
TRAIN/A/0499/left/0010.png
TRAIN/C/0237/left/0010.png
TRAIN/C/0076/left/0009.png
TRAIN/treeflight_x2/left/0014.png
TRAIN/A/0556/left/0015.png
TRAIN/lonetree_winter_x2/left/0140.png
TRAIN/C/0016/left/0011.png
TRAIN/C/0255/left/0015.png
TRAIN/lonetree_augmented1_x2/left/0366.png
TRAIN/B/0555/left/0011.png
TRAIN/C/0129/left/0010.png
TRAIN/funnyworld_x2/left/0088.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0783.png
TRAIN/treeflight_x2/left/0319.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0636.png
TRAIN/lonetree_difftex_x2/left/0334.png
TRAIN/funnyworld_augmented0_x2/left/0036.png
TRAIN/A/0454/left/0008.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0675.png
TRAIN/B/0130/left/0014.png
TRAIN/C/0210/left/0009.png
TRAIN/funnyworld_augmented1_x2/left/0380.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0707.png
TRAIN/funnyworld_x2/left/0462.png
TRAIN/C/0055/left/0008.png
TRAIN/B/0079/left/0006.png
TRAIN/A/0082/left/0013.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0722.png
TRAIN/A/0372/left/0012.png
TRAIN/funnyworld_camera2_x2/left/0226.png
TRAIN/C/0359/left/0008.png
TRAIN/C/0501/left/0007.png
TRAIN/funnyworld_augmented0_x2/left/0180.png
TRAIN/B/0464/left/0007.png
TRAIN/C/0243/left/0009.png
TRAIN/B/0454/left/0015.png
TRAIN/A/0740/left/0011.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0034.png
TRAIN/C/0475/left/0013.png
TRAIN/A/0299/left/0011.png
TRAIN/lonetree_winter_x2/left/0333.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0663.png
TRAIN/B/0261/left/0010.png
TRAIN/C/0646/left/0007.png
TRAIN/lonetree_augmented1_x2/left/0136.png
TRAIN/funnyworld_augmented0_x2/left/0487.png
TRAIN/A/0529/left/0009.png
TRAIN/lonetree_augmented1_x2/left/0119.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0546.png
TRAIN/B/0731/left/0015.png
TRAIN/B/0223/left/0012.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0075.png
TRAIN/A/0601/left/0006.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0076.png
TRAIN/A/0218/left/0013.png
TRAIN/B/0670/left/0011.png
TRAIN/B/0746/left/0011.png
TRAIN/B/0210/left/0015.png
TRAIN/lonetree_winter_x2/left/0001.png
TRAIN/eating_camera2_x2/left/0038.png
TRAIN/B/0518/left/0010.png
TRAIN/B/0128/left/0009.png
TRAIN/A/0180/left/0009.png
TRAIN/lonetree_augmented0_x2/left/0493.png
TRAIN/family_x2/left/0070.png
TRAIN/B/0350/left/0013.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0134.png
TRAIN/funnyworld_camera2_x2/left/0109.png
TRAIN/lonetree_x2/left/0016.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0571.png
TRAIN/B/0275/left/0007.png
TRAIN/funnyworld_augmented0_x2/left/0300.png
TRAIN/B/0720/left/0013.png
TRAIN/C/0415/left/0015.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0103.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0274.png
TRAIN/A/0195/left/0013.png
TRAIN/C/0319/left/0010.png
TRAIN/C/0027/left/0013.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0181.png
TRAIN/lonetree_augmented0_x2/left/0257.png
TRAIN/flower_storm_augmented0_x2/left/0016.png
TRAIN/B/0380/left/0012.png
TRAIN/A/0172/left/0007.png
TRAIN/A/0339/left/0006.png
TRAIN/A/0235/left/0011.png
TRAIN/A/0726/left/0012.png
TRAIN/A/0440/left/0012.png
TRAIN/A/0351/left/0006.png
TRAIN/lonetree_difftex_x2/left/0169.png
TRAIN/lonetree_augmented0_x2/left/0483.png
TRAIN/C/0595/left/0006.png
TRAIN/treeflight_x2/left/0305.png
TRAIN/lonetree_difftex2_x2/left/0137.png
TRAIN/B/0095/left/0006.png
TRAIN/funnyworld_augmented1_x2/left/0480.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0642.png
TRAIN/A/0275/left/0009.png
TRAIN/A/0638/left/0006.png
TRAIN/A/0329/left/0010.png
TRAIN/C/0743/left/0015.png
TRAIN/funnyworld_augmented0_x2/left/0337.png
TRAIN/lonetree_difftex2_x2/left/0435.png
TRAIN/B/0605/left/0013.png
TRAIN/B/0194/left/0008.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0039.png
TRAIN/B/0031/left/0010.png
TRAIN/C/0737/left/0013.png
TRAIN/lonetree_augmented1_x2/left/0255.png
TRAIN/B/0314/left/0011.png
TRAIN/B/0017/left/0009.png
TRAIN/funnyworld_augmented1_x2/left/0048.png
TRAIN/funnyworld_camera2_x2/left/0021.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0799.png
TRAIN/lonetree_x2/left/0156.png
TRAIN/B/0663/left/0012.png
TRAIN/funnyworld_x2/left/0176.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0046.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0343.png
TRAIN/C/0582/left/0011.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0015.png
TRAIN/B/0133/left/0007.png
TRAIN/funnyworld_augmented1_x2/left/0497.png
TRAIN/A/0550/left/0013.png
TRAIN/C/0416/left/0012.png
TRAIN/treeflight_augmented0_x2/left/0307.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0023.png
TRAIN/B/0696/left/0008.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0656.png
TRAIN/A/0521/left/0009.png
TRAIN/A/0590/left/0006.png
TRAIN/B/0608/left/0006.png
TRAIN/B/0739/left/0006.png
TRAIN/A/0017/left/0009.png
TRAIN/C/0739/left/0011.png
TRAIN/A/0310/left/0006.png
TRAIN/C/0558/left/0007.png
TRAIN/eating_x2/left/0024.png
TRAIN/lonetree_augmented0_x2/left/0385.png
TRAIN/B/0410/left/0013.png
TRAIN/C/0138/left/0007.png
TRAIN/A/0454/left/0011.png
TRAIN/A/0587/left/0010.png
TRAIN/C/0384/left/0007.png
TRAIN/B/0735/left/0007.png
TRAIN/A/0029/left/0011.png
TRAIN/treeflight_augmented0_x2/left/0032.png
TRAIN/A/0158/left/0012.png
TRAIN/treeflight_augmented1_x2/left/0041.png
TRAIN/lonetree_difftex2_x2/left/0168.png
TRAIN/A/0374/left/0009.png
TRAIN/A/0689/left/0008.png
TRAIN/C/0434/left/0008.png
TRAIN/funnyworld_augmented0_x2/left/0008.png
TRAIN/C/0600/left/0006.png
TRAIN/B/0733/left/0008.png
TRAIN/C/0734/left/0011.png
TRAIN/C/0024/left/0008.png
TRAIN/treeflight_x2/left/0007.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0263.png
TRAIN/treeflight_x2/left/0476.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0155.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0369.png
TRAIN/A/0453/left/0013.png
TRAIN/A/0595/left/0014.png
TRAIN/B/0397/left/0015.png
TRAIN/B/0242/left/0008.png
TRAIN/funnyworld_camera2_x2/left/0296.png
TRAIN/treeflight_augmented1_x2/left/0315.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0155.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0435.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0192.png
TRAIN/lonetree_difftex_x2/left/0308.png
TRAIN/C/0494/left/0014.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0630.png
TRAIN/treeflight_x2/left/0078.png
TRAIN/lonetree_difftex_x2/left/0226.png
TRAIN/lonetree_augmented1_x2/left/0117.png
TRAIN/B/0676/left/0011.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0557.png
TRAIN/A/0274/left/0012.png
TRAIN/B/0299/left/0012.png
TRAIN/B/0114/left/0012.png
TRAIN/eating_camera2_x2/left/0055.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0388.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0148.png
TRAIN/A/0287/left/0012.png
TRAIN/C/0691/left/0008.png
TRAIN/C/0457/left/0009.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0442.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0368.png
TRAIN/lonetree_x2/left/0055.png
TRAIN/lonetree_augmented1_x2/left/0265.png
TRAIN/A/0391/left/0006.png
TRAIN/C/0716/left/0014.png
TRAIN/A/0181/left/0015.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0105.png
TRAIN/A/0094/left/0015.png
TRAIN/A/0208/left/0012.png
TRAIN/B/0323/left/0012.png
TRAIN/B/0261/left/0008.png
TRAIN/A/0510/left/0009.png
TRAIN/flower_storm_x2/left/0096.png
TRAIN/family_x2/left/0153.png
TRAIN/B/0171/left/0010.png
TRAIN/A/0407/left/0008.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0015.png
TRAIN/B/0457/left/0011.png
TRAIN/B/0104/left/0009.png
TRAIN/A/0092/left/0011.png
TRAIN/A/0475/left/0008.png
TRAIN/C/0003/left/0015.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0309.png
TRAIN/B/0452/left/0011.png
TRAIN/C/0064/left/0009.png
TRAIN/funnyworld_augmented1_x2/left/0078.png
TRAIN/B/0580/left/0006.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0728.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0580.png
TRAIN/funnyworld_augmented0_x2/left/0021.png
TRAIN/lonetree_x2/left/0009.png
TRAIN/A/0667/left/0012.png
TRAIN/A/0145/left/0009.png
TRAIN/A/0728/left/0014.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0144.png
TRAIN/A/0031/left/0015.png
TRAIN/B/0031/left/0006.png
TRAIN/flower_storm_augmented1_x2/left/0009.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0236.png
TRAIN/B/0468/left/0007.png
TRAIN/C/0480/left/0011.png
TRAIN/B/0500/left/0014.png
TRAIN/B/0490/left/0011.png
TRAIN/C/0484/left/0008.png
TRAIN/B/0457/left/0015.png
TRAIN/C/0347/left/0010.png
TRAIN/A/0347/left/0015.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0189.png
TRAIN/C/0395/left/0015.png
TRAIN/A/0015/left/0012.png
TRAIN/A/0711/left/0008.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0268.png
TRAIN/lonetree_winter_x2/left/0024.png
TRAIN/A/0505/left/0012.png
TRAIN/treeflight_augmented0_x2/left/0369.png
TRAIN/A/0619/left/0006.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0582.png
TRAIN/C/0243/left/0006.png
TRAIN/B/0348/left/0012.png
TRAIN/C/0637/left/0014.png
TRAIN/B/0019/left/0007.png
TRAIN/B/0024/left/0010.png
TRAIN/A/0097/left/0015.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0562.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0619.png
TRAIN/a_rain_of_stones_x2/left/0029.png
TRAIN/B/0371/left/0007.png
TRAIN/C/0659/left/0007.png
TRAIN/lonetree_difftex2_x2/left/0417.png
TRAIN/B/0416/left/0011.png
TRAIN/B/0209/left/0014.png
TRAIN/treeflight_x2/left/0324.png
TRAIN/lonetree_augmented1_x2/left/0316.png
TRAIN/lonetree_difftex2_x2/left/0387.png
TRAIN/B/0488/left/0008.png
TRAIN/lonetree_winter_x2/left/0365.png
TRAIN/A/0384/left/0008.png
TRAIN/lonetree_winter_x2/left/0209.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0191.png
TRAIN/funnyworld_augmented1_x2/left/0419.png
TRAIN/B/0394/left/0013.png
TRAIN/B/0168/left/0012.png
TRAIN/C/0724/left/0007.png
TRAIN/C/0135/left/0010.png
TRAIN/C/0624/left/0008.png
TRAIN/A/0280/left/0013.png
TRAIN/lonetree_difftex_x2/left/0040.png
TRAIN/B/0273/left/0007.png
TRAIN/C/0179/left/0014.png
TRAIN/B/0621/left/0011.png
TRAIN/lonetree_augmented1_x2/left/0042.png
TRAIN/C/0278/left/0007.png
TRAIN/A/0167/left/0011.png
TRAIN/C/0022/left/0013.png
TRAIN/B/0108/left/0008.png
TRAIN/lonetree_difftex_x2/left/0078.png
TRAIN/B/0358/left/0008.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0618.png
TRAIN/flower_storm_x2/left/0091.png
TRAIN/lonetree_winter_x2/left/0479.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0350.png
TRAIN/B/0666/left/0015.png
TRAIN/B/0605/left/0006.png
TRAIN/funnyworld_x2/left/0344.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0782.png
TRAIN/A/0702/left/0010.png
TRAIN/A/0141/left/0009.png
TRAIN/C/0550/left/0014.png
TRAIN/C/0709/left/0006.png
TRAIN/A/0245/left/0007.png
TRAIN/C/0074/left/0009.png
TRAIN/A/0497/left/0006.png
TRAIN/C/0628/left/0012.png
TRAIN/treeflight_x2/left/0231.png
TRAIN/funnyworld_camera2_x2/left/0475.png
TRAIN/B/0373/left/0006.png
TRAIN/lonetree_winter_x2/left/0348.png
TRAIN/C/0042/left/0015.png
TRAIN/B/0330/left/0013.png
TRAIN/eating_camera2_x2/left/0022.png
TRAIN/A/0672/left/0006.png
TRAIN/B/0094/left/0008.png
TRAIN/C/0188/left/0013.png
TRAIN/B/0111/left/0006.png
TRAIN/B/0653/left/0010.png
TRAIN/B/0154/left/0014.png
TRAIN/C/0606/left/0012.png
TRAIN/flower_storm_x2/left/0029.png
TRAIN/A/0201/left/0007.png
TRAIN/C/0710/left/0014.png
TRAIN/funnyworld_x2/left/0475.png
TRAIN/B/0729/left/0011.png
TRAIN/C/0681/left/0015.png
TRAIN/A/0191/left/0010.png
TRAIN/lonetree_x2/left/0221.png
TRAIN/funnyworld_x2/left/0409.png
TRAIN/C/0283/left/0007.png
TRAIN/C/0284/left/0006.png
TRAIN/C/0015/left/0007.png
TRAIN/funnyworld_x2/left/0000.png
TRAIN/B/0480/left/0007.png
TRAIN/C/0165/left/0011.png
TRAIN/C/0434/left/0006.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0360.png
TRAIN/lonetree_augmented0_x2/left/0471.png
TRAIN/B/0583/left/0008.png
TRAIN/A/0445/left/0008.png
TRAIN/B/0356/left/0015.png
TRAIN/A/0180/left/0015.png
TRAIN/A/0010/left/0007.png
TRAIN/treeflight_augmented0_x2/left/0452.png
TRAIN/B/0373/left/0013.png
TRAIN/A/0739/left/0014.png
TRAIN/B/0230/left/0013.png
TRAIN/B/0510/left/0014.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0196.png
TRAIN/C/0546/left/0007.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0471.png
TRAIN/B/0669/left/0008.png
TRAIN/A/0010/left/0011.png
TRAIN/B/0332/left/0009.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0616.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0276.png
TRAIN/A/0469/left/0013.png
TRAIN/B/0564/left/0014.png
TRAIN/B/0698/left/0009.png
TRAIN/A/0441/left/0013.png
TRAIN/C/0281/left/0011.png
TRAIN/A/0287/left/0007.png
TRAIN/A/0296/left/0015.png
TRAIN/C/0065/left/0014.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0635.png
TRAIN/lonetree_augmented1_x2/left/0131.png
TRAIN/A/0244/left/0006.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0583.png
TRAIN/B/0226/left/0008.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0187.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0317.png
TRAIN/B/0158/left/0006.png
TRAIN/A/0480/left/0011.png
TRAIN/B/0671/left/0012.png
TRAIN/C/0244/left/0015.png
TRAIN/treeflight_x2/left/0235.png
TRAIN/C/0284/left/0014.png
TRAIN/B/0449/left/0009.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0626.png
TRAIN/funnyworld_augmented1_x2/left/0392.png
TRAIN/B/0396/left/0011.png
TRAIN/A/0100/left/0013.png
TRAIN/lonetree_difftex_x2/left/0338.png
TRAIN/B/0733/left/0014.png
TRAIN/B/0324/left/0008.png
TRAIN/flower_storm_augmented1_x2/left/0123.png
TRAIN/A/0084/left/0013.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0339.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0381.png
TRAIN/funnyworld_x2/left/0324.png
TRAIN/B/0407/left/0015.png
TRAIN/lonetree_difftex2_x2/left/0003.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0438.png
TRAIN/A/0552/left/0007.png
TRAIN/B/0468/left/0013.png
TRAIN/B/0746/left/0009.png
TRAIN/B/0167/left/0010.png
TRAIN/C/0417/left/0012.png
TRAIN/B/0722/left/0011.png
TRAIN/A/0628/left/0006.png
TRAIN/B/0206/left/0006.png
TRAIN/B/0309/left/0011.png
TRAIN/A/0048/left/0006.png
TRAIN/C/0115/left/0014.png
TRAIN/A/0744/left/0012.png
TRAIN/A/0256/left/0010.png
TRAIN/B/0362/left/0012.png
TRAIN/B/0595/left/0015.png
TRAIN/top_view_x2/left/0063.png
TRAIN/C/0364/left/0013.png
TRAIN/C/0163/left/0013.png
TRAIN/A/0674/left/0007.png
TRAIN/A/0148/left/0009.png
TRAIN/funnyworld_augmented1_x2/left/0218.png
TRAIN/funnyworld_x2/left/0327.png
TRAIN/treeflight_augmented1_x2/left/0258.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0267.png
TRAIN/B/0235/left/0010.png
TRAIN/A/0664/left/0015.png
TRAIN/treeflight_x2/left/0020.png
TRAIN/treeflight_augmented0_x2/left/0302.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0373.png
TRAIN/A/0591/left/0009.png
TRAIN/C/0193/left/0013.png
TRAIN/funnyworld_augmented0_x2/left/0299.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0132.png
TRAIN/A/0258/left/0009.png
TRAIN/treeflight_augmented1_x2/left/0139.png
TRAIN/C/0680/left/0006.png
TRAIN/A/0696/left/0012.png
TRAIN/treeflight_augmented0_x2/left/0497.png
TRAIN/B/0185/left/0011.png
TRAIN/C/0229/left/0014.png
TRAIN/C/0672/left/0010.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0533.png
TRAIN/C/0108/left/0015.png
TRAIN/C/0267/left/0013.png
TRAIN/C/0016/left/0012.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0047.png
TRAIN/treeflight_x2/left/0038.png
TRAIN/funnyworld_camera2_x2/left/0287.png
TRAIN/B/0483/left/0011.png
TRAIN/B/0337/left/0010.png
TRAIN/A/0414/left/0014.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0579.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0166.png
TRAIN/B/0612/left/0007.png
TRAIN/treeflight_augmented0_x2/left/0183.png
TRAIN/A/0159/left/0009.png
TRAIN/A/0351/left/0011.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0127.png
TRAIN/B/0586/left/0007.png
TRAIN/C/0511/left/0015.png
TRAIN/A/0084/left/0011.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0373.png
TRAIN/funnyworld_x2/left/0307.png
TRAIN/A/0729/left/0015.png
TRAIN/C/0264/left/0011.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0398.png
TRAIN/B/0709/left/0014.png
TRAIN/lonetree_augmented1_x2/left/0003.png
TRAIN/A/0486/left/0009.png
TRAIN/C/0403/left/0013.png
TRAIN/B/0135/left/0011.png
TRAIN/eating_naked_camera2_x2/left/0027.png
TRAIN/top_view_x2/left/0083.png
TRAIN/C/0590/left/0014.png
TRAIN/B/0103/left/0011.png
TRAIN/C/0211/left/0008.png
TRAIN/A/0119/left/0013.png
TRAIN/funnyworld_camera2_x2/left/0006.png
TRAIN/C/0477/left/0008.png
TRAIN/A/0151/left/0009.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0031.png
TRAIN/A/0162/left/0011.png
TRAIN/eating_naked_camera2_x2/left/0078.png
TRAIN/eating_x2/left/0069.png
TRAIN/B/0062/left/0008.png
TRAIN/C/0581/left/0012.png
TRAIN/C/0580/left/0008.png
TRAIN/C/0726/left/0012.png
TRAIN/B/0032/left/0007.png
TRAIN/A/0528/left/0007.png
TRAIN/B/0727/left/0014.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0251.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0249.png
TRAIN/A/0710/left/0010.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0207.png
TRAIN/A/0226/left/0015.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0589.png
TRAIN/C/0490/left/0006.png
TRAIN/A/0169/left/0012.png
TRAIN/B/0612/left/0008.png
TRAIN/A/0053/left/0015.png
TRAIN/C/0544/left/0008.png
TRAIN/a_rain_of_stones_x2/left/0003.png
TRAIN/C/0304/left/0010.png
TRAIN/funnyworld_camera2_x2/left/0194.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0068.png
TRAIN/treeflight_augmented0_x2/left/0110.png
TRAIN/C/0483/left/0015.png
TRAIN/B/0603/left/0012.png
TRAIN/B/0108/left/0014.png
TRAIN/B/0279/left/0008.png
TRAIN/B/0100/left/0006.png
TRAIN/C/0102/left/0007.png
TRAIN/C/0335/left/0015.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0280.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0208.png
TRAIN/A/0431/left/0011.png
TRAIN/lonetree_difftex_x2/left/0247.png
TRAIN/A/0077/left/0012.png
TRAIN/C/0480/left/0014.png
TRAIN/A/0733/left/0006.png
TRAIN/A/0021/left/0012.png
TRAIN/A/0275/left/0014.png
TRAIN/A/0119/left/0011.png
TRAIN/C/0167/left/0006.png
TRAIN/funnyworld_augmented1_x2/left/0075.png
TRAIN/A/0580/left/0012.png
TRAIN/C/0249/left/0011.png
TRAIN/A/0344/left/0014.png
TRAIN/funnyworld_augmented0_x2/left/0252.png
TRAIN/A/0220/left/0006.png
TRAIN/A/0711/left/0010.png
TRAIN/B/0101/left/0015.png
TRAIN/lonetree_x2/left/0338.png
TRAIN/lonetree_x2/left/0167.png
TRAIN/C/0647/left/0006.png
TRAIN/C/0172/left/0009.png
TRAIN/C/0498/left/0007.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0041.png
TRAIN/A/0719/left/0012.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0621.png
TRAIN/C/0080/left/0013.png
TRAIN/B/0613/left/0009.png
TRAIN/C/0370/left/0011.png
TRAIN/treeflight_augmented0_x2/left/0028.png
TRAIN/B/0428/left/0006.png
TRAIN/C/0031/left/0008.png
TRAIN/B/0231/left/0007.png
TRAIN/A/0350/left/0015.png
TRAIN/B/0308/left/0013.png
TRAIN/treeflight_augmented0_x2/left/0065.png
TRAIN/B/0408/left/0011.png
TRAIN/treeflight_x2/left/0217.png
TRAIN/B/0461/left/0009.png
TRAIN/C/0423/left/0011.png
TRAIN/top_view_x2/left/0084.png
TRAIN/A/0305/left/0008.png
TRAIN/A/0087/left/0014.png
TRAIN/A/0455/left/0014.png
TRAIN/A/0264/left/0009.png
TRAIN/B/0206/left/0007.png
TRAIN/flower_storm_augmented0_x2/left/0082.png
TRAIN/A/0148/left/0006.png
TRAIN/funnyworld_x2/left/0300.png
TRAIN/B/0511/left/0013.png
TRAIN/treeflight_x2/left/0272.png
TRAIN/C/0674/left/0007.png
TRAIN/treeflight_augmented0_x2/left/0259.png
TRAIN/A/0704/left/0006.png
TRAIN/A/0361/left/0011.png
TRAIN/B/0234/left/0012.png
TRAIN/C/0257/left/0010.png
TRAIN/A/0115/left/0013.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0145.png
TRAIN/C/0689/left/0013.png
TRAIN/A/0178/left/0015.png
TRAIN/B/0550/left/0015.png
TRAIN/B/0167/left/0013.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0224.png
TRAIN/B/0653/left/0013.png
TRAIN/A/0141/left/0006.png
TRAIN/C/0239/left/0006.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0181.png
TRAIN/C/0420/left/0007.png
TRAIN/C/0668/left/0011.png
TRAIN/B/0287/left/0009.png
TRAIN/A/0338/left/0007.png
TRAIN/C/0237/left/0007.png
TRAIN/B/0020/left/0014.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0245.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0305.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0269.png
TRAIN/A/0038/left/0008.png
TRAIN/A/0150/left/0013.png
TRAIN/flower_storm_augmented0_x2/left/0088.png
TRAIN/C/0515/left/0006.png
TRAIN/C/0646/left/0011.png
TRAIN/A/0565/left/0011.png
TRAIN/B/0744/left/0013.png
TRAIN/A/0145/left/0015.png
TRAIN/A/0016/left/0007.png
TRAIN/A/0484/left/0008.png
TRAIN/B/0455/left/0014.png
TRAIN/C/0258/left/0012.png
TRAIN/A/0686/left/0008.png
TRAIN/funnyworld_augmented0_x2/left/0395.png
TRAIN/funnyworld_augmented1_x2/left/0151.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0688.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0474.png
TRAIN/funnyworld_camera2_x2/left/0161.png
TRAIN/C/0218/left/0009.png
TRAIN/B/0315/left/0015.png
TRAIN/B/0180/left/0010.png
TRAIN/treeflight_augmented0_x2/left/0147.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0397.png
TRAIN/A/0130/left/0006.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0595.png
TRAIN/A/0606/left/0014.png
TRAIN/lonetree_augmented1_x2/left/0155.png
TRAIN/lonetree_augmented0_x2/left/0037.png
TRAIN/A/0073/left/0014.png
TRAIN/A/0356/left/0014.png
TRAIN/C/0552/left/0006.png
TRAIN/A/0587/left/0014.png
TRAIN/C/0119/left/0012.png
TRAIN/A/0462/left/0011.png
TRAIN/C/0266/left/0014.png
TRAIN/A/0295/left/0008.png
TRAIN/A/0021/left/0013.png
TRAIN/B/0676/left/0009.png
TRAIN/A/0047/left/0013.png
TRAIN/A/0632/left/0011.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0040.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0653.png
TRAIN/A/0142/left/0008.png
TRAIN/B/0125/left/0013.png
TRAIN/C/0106/left/0010.png
TRAIN/B/0515/left/0006.png
TRAIN/C/0334/left/0011.png
TRAIN/treeflight_augmented0_x2/left/0224.png
TRAIN/lonetree_augmented0_x2/left/0272.png
TRAIN/B/0677/left/0010.png
TRAIN/treeflight_augmented1_x2/left/0096.png
TRAIN/A/0192/left/0011.png
TRAIN/B/0431/left/0009.png
TRAIN/C/0093/left/0007.png
TRAIN/A/0712/left/0011.png
TRAIN/A/0663/left/0012.png
TRAIN/C/0604/left/0010.png
TRAIN/A/0142/left/0007.png
TRAIN/B/0590/left/0008.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0056.png
TRAIN/B/0579/left/0014.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0569.png
TRAIN/treeflight_augmented1_x2/left/0237.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0178.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0196.png
TRAIN/funnyworld_augmented0_x2/left/0362.png
TRAIN/B/0039/left/0006.png
TRAIN/treeflight_augmented0_x2/left/0377.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0293.png
TRAIN/lonetree_augmented0_x2/left/0282.png
TRAIN/A/0226/left/0007.png
TRAIN/B/0262/left/0011.png
TRAIN/funnyworld_x2/left/0195.png
TRAIN/B/0038/left/0007.png
TRAIN/A/0384/left/0013.png
TRAIN/funnyworld_x2/left/0029.png
TRAIN/treeflight_x2/left/0087.png
TRAIN/C/0391/left/0007.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0263.png
TRAIN/B/0627/left/0006.png
TRAIN/lonetree_difftex_x2/left/0476.png
TRAIN/A/0398/left/0009.png
TRAIN/A/0522/left/0007.png
TRAIN/B/0480/left/0010.png
TRAIN/A/0699/left/0012.png
TRAIN/flower_storm_augmented0_x2/left/0042.png
TRAIN/funnyworld_camera2_x2/left/0265.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0712.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0043.png
TRAIN/lonetree_difftex_x2/left/0317.png
TRAIN/A/0238/left/0011.png
TRAIN/B/0051/left/0011.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0121.png
TRAIN/B/0530/left/0015.png
TRAIN/B/0512/left/0010.png
TRAIN/top_view_x2/left/0002.png
TRAIN/eating_camera2_x2/left/0122.png
TRAIN/A/0354/left/0006.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0456.png
TRAIN/lonetree_difftex2_x2/left/0063.png
TRAIN/C/0235/left/0006.png
TRAIN/C/0700/left/0011.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0167.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0046.png
TRAIN/C/0359/left/0009.png
TRAIN/A/0072/left/0009.png
TRAIN/C/0144/left/0010.png
TRAIN/B/0591/left/0007.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0229.png
TRAIN/B/0007/left/0011.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0275.png
TRAIN/A/0267/left/0015.png
TRAIN/flower_storm_x2/left/0001.png
TRAIN/A/0265/left/0013.png
TRAIN/A/0490/left/0011.png
TRAIN/C/0727/left/0013.png
TRAIN/B/0094/left/0011.png
TRAIN/C/0186/left/0014.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0244.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0588.png
TRAIN/B/0242/left/0010.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0151.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0114.png
TRAIN/A/0412/left/0013.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0067.png
TRAIN/A/0372/left/0007.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0336.png
TRAIN/lonetree_winter_x2/left/0351.png
TRAIN/B/0149/left/0015.png
TRAIN/B/0207/left/0013.png
TRAIN/A/0239/left/0009.png
TRAIN/C/0015/left/0011.png
TRAIN/B/0202/left/0015.png
TRAIN/C/0345/left/0010.png
TRAIN/B/0087/left/0006.png
TRAIN/treeflight_x2/left/0123.png
TRAIN/A/0144/left/0015.png
TRAIN/A/0115/left/0011.png
TRAIN/treeflight_x2/left/0328.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0284.png
TRAIN/C/0152/left/0009.png
TRAIN/B/0739/left/0012.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0011.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0548.png
TRAIN/lonetree_difftex2_x2/left/0186.png
TRAIN/C/0033/left/0014.png
TRAIN/C/0270/left/0014.png
TRAIN/C/0187/left/0012.png
TRAIN/B/0534/left/0008.png
TRAIN/A/0040/left/0013.png
TRAIN/B/0426/left/0015.png
TRAIN/A/0701/left/0015.png
TRAIN/flower_storm_augmented1_x2/left/0093.png
TRAIN/A/0640/left/0009.png
TRAIN/B/0622/left/0006.png
TRAIN/C/0687/left/0008.png
TRAIN/A/0575/left/0009.png
TRAIN/C/0299/left/0015.png
TRAIN/A/0049/left/0008.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0005.png
TRAIN/lonetree_augmented1_x2/left/0469.png
TRAIN/A/0170/left/0011.png
TRAIN/A/0149/left/0006.png
TRAIN/C/0099/left/0006.png
TRAIN/B/0006/left/0011.png
TRAIN/A/0088/left/0011.png
TRAIN/lonetree_augmented0_x2/left/0261.png
TRAIN/treeflight_augmented1_x2/left/0102.png
TRAIN/C/0352/left/0006.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0135.png
TRAIN/B/0260/left/0012.png
TRAIN/C/0100/left/0009.png
TRAIN/family_x2/left/0114.png
TRAIN/C/0238/left/0012.png
TRAIN/B/0612/left/0014.png
TRAIN/C/0164/left/0015.png
TRAIN/B/0483/left/0010.png
TRAIN/lonetree_difftex2_x2/left/0061.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0168.png
TRAIN/C/0654/left/0012.png
TRAIN/C/0507/left/0014.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0420.png
TRAIN/B/0436/left/0008.png
TRAIN/C/0634/left/0015.png
TRAIN/C/0557/left/0006.png
TRAIN/B/0271/left/0010.png
TRAIN/A/0169/left/0009.png
TRAIN/B/0556/left/0012.png
TRAIN/funnyworld_augmented0_x2/left/0176.png
TRAIN/A/0517/left/0010.png
TRAIN/lonetree_difftex_x2/left/0432.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0039.png
TRAIN/B/0304/left/0006.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0107.png
TRAIN/A/0441/left/0007.png
TRAIN/funnyworld_augmented1_x2/left/0486.png
TRAIN/eating_camera2_x2/left/0131.png
TRAIN/B/0210/left/0007.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0368.png
TRAIN/C/0319/left/0009.png
TRAIN/A/0372/left/0011.png
TRAIN/B/0609/left/0006.png
TRAIN/C/0136/left/0013.png
TRAIN/A/0217/left/0008.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0346.png
TRAIN/A/0320/left/0008.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0382.png
TRAIN/B/0291/left/0008.png
TRAIN/C/0142/left/0011.png
TRAIN/C/0551/left/0006.png
TRAIN/funnyworld_augmented0_x2/left/0211.png
TRAIN/A/0026/left/0010.png
TRAIN/treeflight_x2/left/0435.png
TRAIN/C/0362/left/0012.png
TRAIN/A/0452/left/0013.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0480.png
TRAIN/C/0120/left/0015.png
TRAIN/B/0104/left/0015.png
TRAIN/lonetree_difftex2_x2/left/0138.png
TRAIN/A/0691/left/0011.png
TRAIN/C/0611/left/0009.png
TRAIN/B/0537/left/0011.png
TRAIN/B/0650/left/0006.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0261.png
TRAIN/A/0383/left/0007.png
TRAIN/B/0378/left/0015.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0793.png
TRAIN/A/0001/left/0011.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0111.png
TRAIN/A/0236/left/0007.png
TRAIN/A/0718/left/0011.png
TRAIN/A/0429/left/0008.png
TRAIN/B/0260/left/0011.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0132.png
TRAIN/A/0022/left/0010.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0173.png
TRAIN/funnyworld_x2/left/0001.png
TRAIN/B/0192/left/0011.png
TRAIN/B/0140/left/0010.png
TRAIN/treeflight_augmented0_x2/left/0091.png
TRAIN/A/0001/left/0015.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0384.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0222.png
TRAIN/B/0741/left/0010.png
TRAIN/funnyworld_augmented1_x2/left/0174.png
TRAIN/lonetree_difftex_x2/left/0481.png
TRAIN/B/0675/left/0009.png
TRAIN/flower_storm_augmented1_x2/left/0045.png
TRAIN/A/0011/left/0008.png
TRAIN/C/0720/left/0012.png
TRAIN/B/0214/left/0011.png
TRAIN/C/0338/left/0013.png
TRAIN/A/0139/left/0013.png
TRAIN/funnyworld_augmented1_x2/left/0439.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0347.png
TRAIN/B/0356/left/0013.png
TRAIN/B/0419/left/0006.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0003.png
TRAIN/lonetree_x2/left/0308.png
TRAIN/B/0533/left/0007.png
TRAIN/treeflight_augmented1_x2/left/0408.png
TRAIN/A/0204/left/0013.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0463.png
TRAIN/C/0071/left/0010.png
TRAIN/B/0188/left/0015.png
TRAIN/B/0281/left/0012.png
TRAIN/C/0447/left/0011.png
TRAIN/C/0436/left/0010.png
TRAIN/B/0435/left/0011.png
TRAIN/lonetree_winter_x2/left/0043.png
TRAIN/C/0326/left/0010.png
TRAIN/A/0428/left/0009.png
TRAIN/C/0029/left/0014.png
TRAIN/B/0102/left/0015.png
TRAIN/lonetree_augmented1_x2/left/0466.png
TRAIN/B/0654/left/0008.png
TRAIN/funnyworld_augmented1_x2/left/0045.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0136.png
TRAIN/lonetree_difftex2_x2/left/0242.png
TRAIN/A/0578/left/0014.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0047.png
TRAIN/B/0746/left/0007.png
TRAIN/B/0139/left/0006.png
TRAIN/treeflight_augmented1_x2/left/0476.png
TRAIN/B/0431/left/0012.png
TRAIN/C/0660/left/0015.png
TRAIN/lonetree_winter_x2/left/0124.png
TRAIN/C/0449/left/0006.png
TRAIN/B/0524/left/0011.png
TRAIN/A/0680/left/0011.png
TRAIN/A/0087/left/0007.png
TRAIN/eating_naked_camera2_x2/left/0095.png
TRAIN/B/0003/left/0013.png
TRAIN/A/0270/left/0006.png
TRAIN/C/0208/left/0009.png
TRAIN/C/0051/left/0015.png
TRAIN/C/0675/left/0012.png
TRAIN/C/0685/left/0010.png
TRAIN/C/0279/left/0013.png
TRAIN/treeflight_augmented1_x2/left/0247.png
TRAIN/B/0726/left/0009.png
TRAIN/C/0544/left/0014.png
TRAIN/C/0424/left/0007.png
TRAIN/lonetree_augmented1_x2/left/0423.png
TRAIN/A/0407/left/0009.png
TRAIN/A/0208/left/0010.png
TRAIN/lonetree_x2/left/0035.png
TRAIN/C/0310/left/0008.png
TRAIN/C/0377/left/0015.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0030.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0641.png
TRAIN/A/0573/left/0011.png
TRAIN/funnyworld_camera2_x2/left/0380.png
TRAIN/A/0235/left/0007.png
TRAIN/B/0442/left/0010.png
TRAIN/B/0196/left/0015.png
TRAIN/funnyworld_x2/left/0103.png
TRAIN/A/0091/left/0013.png
TRAIN/B/0226/left/0009.png
TRAIN/C/0604/left/0013.png
TRAIN/A/0343/left/0008.png
TRAIN/C/0088/left/0012.png
TRAIN/family_x2/left/0135.png
TRAIN/lonetree_augmented1_x2/left/0221.png
TRAIN/B/0136/left/0012.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0668.png
TRAIN/funnyworld_x2/left/0257.png
TRAIN/B/0302/left/0009.png
TRAIN/A/0709/left/0015.png
TRAIN/lonetree_x2/left/0099.png
TRAIN/A/0055/left/0010.png
TRAIN/A/0409/left/0008.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0261.png
TRAIN/C/0539/left/0015.png
TRAIN/C/0505/left/0009.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0423.png
TRAIN/C/0316/left/0008.png
TRAIN/C/0374/left/0007.png
TRAIN/C/0140/left/0010.png
TRAIN/C/0700/left/0014.png
TRAIN/C/0608/left/0012.png
TRAIN/A/0004/left/0013.png
TRAIN/treeflight_x2/left/0418.png
TRAIN/eating_camera2_x2/left/0113.png
TRAIN/A/0015/left/0014.png
TRAIN/C/0542/left/0009.png
TRAIN/B/0032/left/0015.png
TRAIN/lonetree_difftex_x2/left/0291.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0453.png
TRAIN/A/0383/left/0014.png
TRAIN/B/0084/left/0011.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0505.png
TRAIN/C/0512/left/0009.png
TRAIN/B/0442/left/0014.png
TRAIN/funnyworld_x2/left/0100.png
TRAIN/lonetree_difftex2_x2/left/0260.png
TRAIN/C/0743/left/0010.png
TRAIN/B/0715/left/0006.png
TRAIN/B/0460/left/0006.png
TRAIN/C/0114/left/0007.png
TRAIN/funnyworld_augmented1_x2/left/0017.png
TRAIN/funnyworld_x2/left/0114.png
TRAIN/C/0691/left/0013.png
TRAIN/B/0004/left/0012.png
TRAIN/C/0111/left/0006.png
TRAIN/A/0311/left/0012.png
TRAIN/B/0731/left/0006.png
TRAIN/B/0435/left/0014.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0731.png
TRAIN/A/0712/left/0008.png
TRAIN/C/0358/left/0008.png
TRAIN/flower_storm_x2/left/0099.png
TRAIN/A/0661/left/0012.png
TRAIN/A/0099/left/0011.png
TRAIN/A/0161/left/0011.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0575.png
TRAIN/lonetree_x2/left/0190.png
TRAIN/C/0738/left/0010.png
TRAIN/C/0502/left/0015.png
TRAIN/funnyworld_camera2_x2/left/0490.png
TRAIN/flower_storm_x2/left/0058.png
TRAIN/A/0168/left/0015.png
TRAIN/treeflight_augmented1_x2/left/0172.png
TRAIN/A/0707/left/0007.png
TRAIN/C/0481/left/0006.png
TRAIN/B/0087/left/0007.png
TRAIN/funnyworld_x2/left/0136.png
TRAIN/C/0403/left/0014.png
TRAIN/treeflight_augmented1_x2/left/0462.png
TRAIN/A/0370/left/0009.png
TRAIN/B/0049/left/0010.png
TRAIN/B/0082/left/0014.png
TRAIN/C/0642/left/0014.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0164.png
TRAIN/B/0529/left/0009.png
TRAIN/B/0280/left/0006.png
TRAIN/C/0446/left/0009.png
TRAIN/C/0028/left/0013.png
TRAIN/flower_storm_augmented1_x2/left/0108.png
TRAIN/C/0640/left/0010.png
TRAIN/A/0632/left/0010.png
TRAIN/C/0503/left/0008.png
TRAIN/A/0623/left/0008.png
TRAIN/A/0439/left/0007.png
TRAIN/B/0294/left/0014.png
TRAIN/C/0359/left/0010.png
TRAIN/lonetree_difftex2_x2/left/0206.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0184.png
TRAIN/eating_x2/left/0060.png
TRAIN/B/0013/left/0014.png
TRAIN/B/0686/left/0006.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0299.png
TRAIN/B/0596/left/0007.png
TRAIN/A/0049/left/0007.png
TRAIN/A/0063/left/0010.png
TRAIN/A/0348/left/0009.png
TRAIN/B/0350/left/0012.png
TRAIN/C/0380/left/0008.png
TRAIN/treeflight_augmented0_x2/left/0436.png
TRAIN/B/0177/left/0009.png
TRAIN/B/0708/left/0009.png
TRAIN/B/0740/left/0007.png
TRAIN/B/0097/left/0010.png
TRAIN/B/0684/left/0008.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0169.png
TRAIN/A/0293/left/0014.png
TRAIN/A/0049/left/0006.png
TRAIN/lonetree_x2/left/0490.png
TRAIN/C/0479/left/0014.png
TRAIN/funnyworld_augmented0_x2/left/0399.png
TRAIN/C/0389/left/0007.png
TRAIN/C/0511/left/0007.png
TRAIN/A/0680/left/0009.png
TRAIN/funnyworld_x2/left/0216.png
TRAIN/A/0167/left/0013.png
TRAIN/C/0250/left/0015.png
TRAIN/A/0402/left/0010.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0294.png
TRAIN/B/0115/left/0008.png
TRAIN/B/0226/left/0014.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0734.png
TRAIN/C/0577/left/0012.png
TRAIN/funnyworld_augmented1_x2/left/0387.png
TRAIN/C/0619/left/0008.png
TRAIN/C/0299/left/0011.png
TRAIN/C/0394/left/0010.png
TRAIN/A/0495/left/0006.png
TRAIN/lonetree_augmented0_x2/left/0384.png
TRAIN/C/0460/left/0008.png
TRAIN/A/0536/left/0013.png
TRAIN/A/0575/left/0006.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0063.png
TRAIN/lonetree_x2/left/0121.png
TRAIN/funnyworld_augmented0_x2/left/0390.png
TRAIN/treeflight_augmented0_x2/left/0063.png
TRAIN/B/0124/left/0007.png
TRAIN/funnyworld_x2/left/0417.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0629.png
TRAIN/A/0373/left/0009.png
TRAIN/C/0240/left/0010.png
TRAIN/B/0169/left/0013.png
TRAIN/treeflight_x2/left/0216.png
TRAIN/A/0097/left/0012.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0095.png
TRAIN/C/0557/left/0008.png
TRAIN/C/0476/left/0009.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0316.png
TRAIN/C/0640/left/0008.png
TRAIN/C/0301/left/0012.png
TRAIN/C/0317/left/0010.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0662.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0587.png
TRAIN/A/0188/left/0015.png
TRAIN/treeflight_augmented1_x2/left/0215.png
TRAIN/C/0073/left/0006.png
TRAIN/A/0161/left/0013.png
TRAIN/C/0673/left/0011.png
TRAIN/funnyworld_camera2_x2/left/0263.png
TRAIN/B/0299/left/0009.png
TRAIN/C/0315/left/0008.png
TRAIN/B/0165/left/0014.png
TRAIN/A/0634/left/0014.png
TRAIN/C/0104/left/0013.png
TRAIN/B/0229/left/0010.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0131.png
TRAIN/B/0274/left/0006.png
TRAIN/A/0416/left/0010.png
TRAIN/treeflight_augmented1_x2/left/0156.png
TRAIN/A/0379/left/0010.png
TRAIN/A/0251/left/0006.png
TRAIN/eating_x2/left/0083.png
TRAIN/treeflight_x2/left/0473.png
TRAIN/C/0263/left/0014.png
TRAIN/B/0278/left/0012.png
TRAIN/C/0048/left/0012.png
TRAIN/C/0123/left/0015.png
TRAIN/C/0248/left/0012.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0248.png
TRAIN/C/0747/left/0007.png
TRAIN/family_x2/left/0152.png
TRAIN/A/0126/left/0008.png
TRAIN/funnyworld_augmented0_x2/left/0346.png
TRAIN/funnyworld_x2/left/0053.png
TRAIN/B/0098/left/0009.png
TRAIN/A/0674/left/0006.png
TRAIN/treeflight_x2/left/0366.png
TRAIN/A/0418/left/0009.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0060.png
TRAIN/B/0205/left/0010.png
TRAIN/A/0231/left/0010.png
TRAIN/C/0676/left/0013.png
TRAIN/funnyworld_augmented0_x2/left/0146.png
TRAIN/B/0696/left/0006.png
TRAIN/A/0467/left/0009.png
TRAIN/treeflight_x2/left/0371.png
TRAIN/C/0518/left/0011.png
TRAIN/C/0588/left/0011.png
TRAIN/lonetree_x2/left/0355.png
TRAIN/funnyworld_augmented1_x2/left/0124.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0026.png
TRAIN/A/0476/left/0010.png
TRAIN/C/0498/left/0012.png
TRAIN/C/0169/left/0008.png
TRAIN/B/0209/left/0015.png
TRAIN/C/0404/left/0009.png
TRAIN/C/0254/left/0012.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0048.png
TRAIN/C/0306/left/0014.png
TRAIN/B/0651/left/0007.png
TRAIN/B/0643/left/0009.png
TRAIN/C/0253/left/0015.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0172.png
TRAIN/B/0502/left/0013.png
TRAIN/C/0255/left/0007.png
TRAIN/lonetree_difftex_x2/left/0251.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0453.png
TRAIN/B/0733/left/0012.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0109.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0121.png
TRAIN/B/0489/left/0014.png
TRAIN/B/0531/left/0010.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0428.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0019.png
TRAIN/lonetree_x2/left/0473.png
TRAIN/B/0642/left/0007.png
TRAIN/C/0472/left/0011.png
TRAIN/A/0297/left/0013.png
TRAIN/C/0204/left/0008.png
TRAIN/B/0125/left/0015.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0178.png
TRAIN/B/0504/left/0011.png
TRAIN/funnyworld_augmented1_x2/left/0478.png
TRAIN/C/0204/left/0014.png
TRAIN/C/0102/left/0013.png
TRAIN/C/0319/left/0007.png
TRAIN/B/0685/left/0014.png
TRAIN/funnyworld_camera2_x2/left/0275.png
TRAIN/B/0222/left/0011.png
TRAIN/B/0661/left/0013.png
TRAIN/C/0065/left/0006.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0285.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0104.png
TRAIN/A/0728/left/0013.png
TRAIN/C/0098/left/0014.png
TRAIN/flower_storm_augmented0_x2/left/0062.png
TRAIN/C/0229/left/0015.png
TRAIN/C/0567/left/0012.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0534.png
TRAIN/lonetree_winter_x2/left/0408.png
TRAIN/B/0040/left/0013.png
TRAIN/B/0114/left/0007.png
TRAIN/A/0196/left/0006.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0333.png
TRAIN/A/0004/left/0009.png
TRAIN/lonetree_difftex_x2/left/0211.png
TRAIN/A/0663/left/0015.png
TRAIN/B/0175/left/0015.png
TRAIN/A/0009/left/0006.png
TRAIN/B/0713/left/0015.png
TRAIN/C/0244/left/0010.png
TRAIN/C/0586/left/0007.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0197.png
TRAIN/C/0063/left/0015.png
TRAIN/treeflight_x2/left/0312.png
TRAIN/B/0533/left/0011.png
TRAIN/eating_camera2_x2/left/0062.png
TRAIN/C/0111/left/0014.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0465.png
TRAIN/funnyworld_camera2_x2/left/0248.png
TRAIN/B/0293/left/0011.png
TRAIN/A/0440/left/0007.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0485.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0132.png
TRAIN/A/0185/left/0006.png
TRAIN/B/0412/left/0011.png
TRAIN/A/0283/left/0010.png
TRAIN/B/0294/left/0009.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0239.png
TRAIN/funnyworld_augmented0_x2/left/0486.png
TRAIN/B/0390/left/0006.png
TRAIN/A/0463/left/0007.png
TRAIN/B/0467/left/0013.png
TRAIN/eating_naked_camera2_x2/left/0108.png
TRAIN/C/0731/left/0010.png
TRAIN/B/0015/left/0009.png
TRAIN/A/0419/left/0011.png
TRAIN/A/0238/left/0007.png
TRAIN/A/0436/left/0007.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0712.png
TRAIN/A/0505/left/0011.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0446.png
TRAIN/C/0428/left/0009.png
TRAIN/C/0693/left/0007.png
TRAIN/C/0278/left/0014.png
TRAIN/A/0442/left/0013.png
TRAIN/lonetree_x2/left/0023.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0104.png
TRAIN/A/0559/left/0008.png
TRAIN/C/0494/left/0010.png
TRAIN/C/0252/left/0011.png
TRAIN/funnyworld_augmented1_x2/left/0052.png
TRAIN/B/0510/left/0013.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0099.png
TRAIN/C/0665/left/0013.png
TRAIN/C/0502/left/0011.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0007.png
TRAIN/treeflight_augmented1_x2/left/0044.png
TRAIN/C/0481/left/0015.png
TRAIN/C/0518/left/0006.png
TRAIN/B/0706/left/0013.png
TRAIN/lonetree_winter_x2/left/0294.png
TRAIN/C/0602/left/0013.png
TRAIN/family_x2/left/0143.png
TRAIN/funnyworld_x2/left/0481.png
TRAIN/A/0706/left/0007.png
TRAIN/C/0121/left/0006.png
TRAIN/A/0565/left/0006.png
TRAIN/flower_storm_augmented1_x2/left/0051.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0250.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0327.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0126.png
TRAIN/B/0094/left/0007.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0205.png
TRAIN/C/0039/left/0010.png
TRAIN/treeflight_augmented0_x2/left/0164.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0325.png
TRAIN/C/0121/left/0014.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0104.png
TRAIN/C/0278/left/0012.png
TRAIN/A/0225/left/0007.png
TRAIN/A/0101/left/0015.png
TRAIN/B/0499/left/0007.png
TRAIN/C/0544/left/0012.png
TRAIN/eating_naked_camera2_x2/left/0068.png
TRAIN/lonetree_difftex_x2/left/0115.png
TRAIN/B/0285/left/0008.png
TRAIN/A/0358/left/0010.png
TRAIN/flower_storm_augmented0_x2/left/0044.png
TRAIN/C/0714/left/0009.png
TRAIN/A/0314/left/0011.png
TRAIN/C/0501/left/0013.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0128.png
TRAIN/B/0644/left/0012.png
TRAIN/A/0158/left/0007.png
TRAIN/C/0222/left/0015.png
TRAIN/A/0006/left/0014.png
TRAIN/lonetree_difftex2_x2/left/0448.png
TRAIN/B/0557/left/0011.png
TRAIN/A/0520/left/0010.png
TRAIN/lonetree_augmented0_x2/left/0001.png
TRAIN/C/0584/left/0011.png
TRAIN/C/0378/left/0013.png
TRAIN/C/0123/left/0009.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0160.png
TRAIN/A/0649/left/0007.png
TRAIN/B/0677/left/0006.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0309.png
TRAIN/C/0309/left/0008.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0318.png
TRAIN/C/0111/left/0011.png
TRAIN/A/0170/left/0015.png
TRAIN/B/0361/left/0014.png
TRAIN/C/0749/left/0008.png
TRAIN/lonetree_x2/left/0330.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0769.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0270.png
TRAIN/funnyworld_camera2_x2/left/0047.png
TRAIN/funnyworld_augmented1_x2/left/0107.png
TRAIN/B/0349/left/0014.png
TRAIN/A/0070/left/0014.png
TRAIN/B/0132/left/0013.png
TRAIN/lonetree_difftex2_x2/left/0169.png
TRAIN/B/0575/left/0013.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0569.png
TRAIN/A/0314/left/0013.png
TRAIN/A/0267/left/0008.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0440.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0660.png
TRAIN/lonetree_augmented1_x2/left/0166.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0480.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0371.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0222.png
TRAIN/C/0749/left/0013.png
TRAIN/C/0633/left/0015.png
TRAIN/B/0407/left/0006.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0041.png
TRAIN/C/0228/left/0008.png
TRAIN/C/0656/left/0015.png
TRAIN/B/0039/left/0011.png
TRAIN/treeflight_x2/left/0104.png
TRAIN/A/0067/left/0007.png
TRAIN/C/0172/left/0006.png
TRAIN/B/0216/left/0006.png
TRAIN/funnyworld_augmented0_x2/left/0243.png
TRAIN/A/0193/left/0006.png
TRAIN/lonetree_winter_x2/left/0394.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0360.png
TRAIN/A/0437/left/0011.png
TRAIN/B/0127/left/0010.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0702.png
TRAIN/A/0655/left/0013.png
TRAIN/A/0465/left/0015.png
TRAIN/lonetree_difftex2_x2/left/0471.png
TRAIN/treeflight_augmented1_x2/left/0076.png
TRAIN/A/0221/left/0006.png
TRAIN/funnyworld_camera2_x2/left/0372.png
TRAIN/A/0070/left/0007.png
TRAIN/B/0749/left/0009.png
TRAIN/A/0707/left/0014.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0478.png
TRAIN/A/0606/left/0013.png
TRAIN/B/0710/left/0006.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0543.png
TRAIN/A/0247/left/0015.png
TRAIN/C/0439/left/0009.png
TRAIN/B/0090/left/0010.png
TRAIN/C/0141/left/0014.png
TRAIN/treeflight_augmented0_x2/left/0460.png
TRAIN/lonetree_difftex_x2/left/0104.png
TRAIN/C/0532/left/0014.png
TRAIN/A/0248/left/0010.png
TRAIN/B/0026/left/0008.png
TRAIN/B/0140/left/0009.png
TRAIN/treeflight_augmented0_x2/left/0075.png
TRAIN/treeflight_x2/left/0386.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0294.png
TRAIN/lonetree_difftex_x2/left/0314.png
TRAIN/A/0689/left/0009.png
TRAIN/C/0536/left/0010.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0110.png
TRAIN/B/0198/left/0015.png
TRAIN/funnyworld_x2/left/0473.png
TRAIN/A/0536/left/0010.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0116.png
TRAIN/A/0238/left/0009.png
TRAIN/C/0157/left/0010.png
TRAIN/A/0288/left/0011.png
TRAIN/C/0638/left/0012.png
TRAIN/A/0722/left/0010.png
TRAIN/A/0534/left/0015.png
TRAIN/C/0656/left/0011.png
TRAIN/A/0051/left/0013.png
TRAIN/treeflight_x2/left/0353.png
TRAIN/A/0361/left/0008.png
TRAIN/flower_storm_x2/left/0026.png
TRAIN/C/0666/left/0007.png
TRAIN/C/0678/left/0012.png
TRAIN/top_view_x2/left/0022.png
TRAIN/B/0397/left/0007.png
TRAIN/A/0072/left/0008.png
TRAIN/B/0513/left/0013.png
TRAIN/B/0428/left/0010.png
TRAIN/B/0460/left/0011.png
TRAIN/B/0693/left/0006.png
TRAIN/treeflight_x2/left/0299.png
TRAIN/C/0291/left/0014.png
TRAIN/B/0228/left/0008.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0792.png
TRAIN/A/0656/left/0013.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0216.png
TRAIN/A/0501/left/0013.png
TRAIN/B/0219/left/0015.png
TRAIN/C/0596/left/0008.png
TRAIN/A/0284/left/0014.png
TRAIN/A/0446/left/0011.png
TRAIN/treeflight_x2/left/0464.png
TRAIN/A/0365/left/0009.png
TRAIN/B/0393/left/0011.png
TRAIN/B/0138/left/0009.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0145.png
TRAIN/A/0690/left/0007.png
TRAIN/C/0497/left/0012.png
TRAIN/B/0460/left/0009.png
TRAIN/eating_x2/left/0006.png
TRAIN/A/0621/left/0009.png
TRAIN/A/0039/left/0013.png
TRAIN/A/0224/left/0014.png
TRAIN/C/0148/left/0013.png
TRAIN/funnyworld_augmented0_x2/left/0354.png
TRAIN/A/0692/left/0012.png
TRAIN/C/0548/left/0009.png
TRAIN/C/0484/left/0006.png
TRAIN/A/0656/left/0014.png
TRAIN/B/0404/left/0007.png
TRAIN/A/0624/left/0008.png
TRAIN/lonetree_winter_x2/left/0446.png
TRAIN/A/0005/left/0013.png
TRAIN/B/0048/left/0009.png
TRAIN/A/0655/left/0010.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0505.png
TRAIN/lonetree_difftex2_x2/left/0315.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0149.png
TRAIN/A/0621/left/0011.png
TRAIN/treeflight_augmented0_x2/left/0045.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0042.png
TRAIN/C/0263/left/0015.png
TRAIN/A/0339/left/0010.png
TRAIN/B/0730/left/0008.png
TRAIN/C/0400/left/0011.png
TRAIN/lonetree_difftex_x2/left/0029.png
TRAIN/B/0724/left/0010.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0584.png
TRAIN/A/0181/left/0013.png
TRAIN/A/0737/left/0012.png
TRAIN/C/0095/left/0010.png
TRAIN/lonetree_difftex_x2/left/0278.png
TRAIN/A/0396/left/0009.png
TRAIN/B/0187/left/0010.png
TRAIN/A/0095/left/0008.png
TRAIN/C/0721/left/0015.png
TRAIN/B/0074/left/0009.png
TRAIN/lonetree_difftex_x2/left/0281.png
TRAIN/B/0467/left/0012.png
TRAIN/lonetree_x2/left/0394.png
TRAIN/A/0099/left/0009.png
TRAIN/C/0713/left/0012.png
TRAIN/B/0503/left/0007.png
TRAIN/funnyworld_augmented1_x2/left/0251.png
TRAIN/A/0137/left/0013.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0022.png
TRAIN/lonetree_augmented0_x2/left/0500.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0164.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0242.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0450.png
TRAIN/B/0613/left/0011.png
TRAIN/lonetree_x2/left/0279.png
TRAIN/A/0677/left/0013.png
TRAIN/C/0207/left/0008.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0188.png
TRAIN/B/0637/left/0010.png
TRAIN/A/0606/left/0009.png
TRAIN/B/0703/left/0009.png
TRAIN/B/0301/left/0011.png
TRAIN/A/0121/left/0009.png
TRAIN/B/0606/left/0009.png
TRAIN/A/0618/left/0013.png
TRAIN/funnyworld_camera2_x2/left/0496.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0227.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0193.png
TRAIN/B/0067/left/0012.png
TRAIN/treeflight_augmented0_x2/left/0018.png
TRAIN/funnyworld_x2/left/0033.png
TRAIN/B/0023/left/0013.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0199.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0701.png
TRAIN/B/0649/left/0010.png
TRAIN/A/0299/left/0013.png
TRAIN/B/0197/left/0011.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0102.png
TRAIN/A/0128/left/0013.png
TRAIN/A/0051/left/0009.png
TRAIN/C/0263/left/0008.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0070.png
TRAIN/C/0190/left/0012.png
TRAIN/lonetree_winter_x2/left/0277.png
TRAIN/C/0239/left/0015.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0136.png
TRAIN/B/0599/left/0010.png
TRAIN/B/0504/left/0009.png
TRAIN/C/0470/left/0008.png
TRAIN/C/0326/left/0012.png
TRAIN/A/0443/left/0006.png
TRAIN/A/0652/left/0012.png
TRAIN/C/0474/left/0010.png
TRAIN/C/0086/left/0012.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0266.png
TRAIN/A/0600/left/0007.png
TRAIN/top_view_x2/left/0050.png
TRAIN/B/0442/left/0006.png
TRAIN/B/0409/left/0006.png
TRAIN/A/0283/left/0006.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0398.png
TRAIN/C/0638/left/0015.png
TRAIN/C/0708/left/0008.png
TRAIN/C/0310/left/0006.png
TRAIN/A/0685/left/0006.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0697.png
TRAIN/B/0129/left/0015.png
TRAIN/B/0682/left/0009.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0079.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0572.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0373.png
TRAIN/B/0283/left/0012.png
TRAIN/C/0211/left/0007.png
TRAIN/A/0646/left/0011.png
TRAIN/lonetree_x2/left/0161.png
TRAIN/B/0352/left/0014.png
TRAIN/lonetree_augmented1_x2/left/0397.png
TRAIN/C/0524/left/0008.png
TRAIN/lonetree_difftex2_x2/left/0128.png
TRAIN/funnyworld_augmented0_x2/left/0192.png
TRAIN/B/0129/left/0010.png
TRAIN/B/0462/left/0014.png
TRAIN/C/0636/left/0009.png
TRAIN/B/0701/left/0015.png
TRAIN/A/0655/left/0012.png
TRAIN/eating_naked_camera2_x2/left/0112.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0240.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0601.png
TRAIN/flower_storm_x2/left/0086.png
TRAIN/lonetree_augmented0_x2/left/0089.png
TRAIN/B/0073/left/0015.png
TRAIN/A/0586/left/0006.png
TRAIN/eating_camera2_x2/left/0105.png
TRAIN/lonetree_x2/left/0368.png
TRAIN/B/0208/left/0013.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0417.png
TRAIN/A/0434/left/0014.png
TRAIN/A/0344/left/0011.png
TRAIN/C/0599/left/0006.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0197.png
TRAIN/B/0311/left/0007.png
TRAIN/treeflight_augmented0_x2/left/0034.png
TRAIN/A/0647/left/0008.png
TRAIN/B/0748/left/0012.png
TRAIN/a_rain_of_stones_x2/left/0032.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0287.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0071.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0276.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0295.png
TRAIN/A/0191/left/0015.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0252.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0120.png
TRAIN/C/0683/left/0009.png
TRAIN/C/0345/left/0008.png
TRAIN/C/0205/left/0015.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0345.png
TRAIN/B/0325/left/0014.png
TRAIN/funnyworld_augmented1_x2/left/0183.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0315.png
TRAIN/A/0458/left/0007.png
TRAIN/B/0540/left/0015.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0496.png
TRAIN/B/0534/left/0014.png
TRAIN/C/0336/left/0007.png
TRAIN/A/0491/left/0007.png
TRAIN/A/0096/left/0015.png
TRAIN/B/0087/left/0009.png
TRAIN/C/0443/left/0012.png
TRAIN/A/0739/left/0007.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0086.png
TRAIN/C/0251/left/0015.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0282.png
TRAIN/B/0687/left/0007.png
TRAIN/funnyworld_camera2_x2/left/0308.png
TRAIN/lonetree_difftex_x2/left/0332.png
TRAIN/C/0431/left/0009.png
TRAIN/C/0400/left/0006.png
TRAIN/B/0308/left/0009.png
TRAIN/A/0555/left/0007.png
TRAIN/lonetree_x2/left/0192.png
TRAIN/funnyworld_augmented1_x2/left/0064.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0076.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0245.png
TRAIN/lonetree_winter_x2/left/0056.png
TRAIN/lonetree_difftex_x2/left/0124.png
TRAIN/A/0126/left/0006.png
TRAIN/A/0140/left/0013.png
TRAIN/B/0543/left/0008.png
TRAIN/funnyworld_camera2_x2/left/0483.png
TRAIN/B/0255/left/0010.png
TRAIN/funnyworld_augmented1_x2/left/0420.png
TRAIN/A/0174/left/0007.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0561.png
TRAIN/A/0273/left/0014.png
TRAIN/B/0312/left/0006.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0397.png
TRAIN/funnyworld_augmented0_x2/left/0401.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0781.png
TRAIN/C/0154/left/0008.png
TRAIN/eating_camera2_x2/left/0069.png
TRAIN/B/0474/left/0011.png
TRAIN/A/0326/left/0013.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0492.png
TRAIN/C/0090/left/0014.png
TRAIN/A/0157/left/0006.png
TRAIN/C/0014/left/0011.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0431.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0038.png
TRAIN/funnyworld_augmented0_x2/left/0076.png
TRAIN/funnyworld_x2/left/0478.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0347.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0693.png
TRAIN/C/0575/left/0009.png
TRAIN/A/0347/left/0007.png
TRAIN/B/0204/left/0008.png
TRAIN/A/0670/left/0009.png
TRAIN/B/0554/left/0011.png
TRAIN/A/0092/left/0006.png
TRAIN/C/0723/left/0010.png
TRAIN/flower_storm_augmented0_x2/left/0107.png
TRAIN/lonetree_difftex2_x2/left/0460.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0270.png
TRAIN/A/0596/left/0011.png
TRAIN/A/0369/left/0006.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0287.png
TRAIN/C/0341/left/0006.png
TRAIN/C/0217/left/0006.png
TRAIN/B/0541/left/0013.png
TRAIN/C/0206/left/0006.png
TRAIN/B/0335/left/0011.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0717.png
TRAIN/lonetree_winter_x2/left/0192.png
TRAIN/A/0207/left/0013.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0215.png
TRAIN/B/0309/left/0015.png
TRAIN/lonetree_difftex_x2/left/0090.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0713.png
TRAIN/A/0379/left/0011.png
TRAIN/B/0528/left/0006.png
TRAIN/C/0712/left/0010.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0371.png
TRAIN/A/0357/left/0008.png
TRAIN/B/0478/left/0011.png
TRAIN/C/0113/left/0012.png
TRAIN/A/0042/left/0007.png
TRAIN/flower_storm_augmented0_x2/left/0050.png
TRAIN/A/0712/left/0014.png
TRAIN/funnyworld_augmented0_x2/left/0321.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0518.png
TRAIN/C/0361/left/0010.png
TRAIN/C/0497/left/0008.png
TRAIN/C/0721/left/0014.png
TRAIN/B/0307/left/0012.png
TRAIN/A/0160/left/0008.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0219.png
TRAIN/lonetree_difftex2_x2/left/0296.png
TRAIN/lonetree_augmented1_x2/left/0488.png
TRAIN/lonetree_winter_x2/left/0142.png
TRAIN/C/0258/left/0010.png
TRAIN/C/0739/left/0009.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0375.png
TRAIN/B/0741/left/0008.png
TRAIN/C/0355/left/0012.png
TRAIN/C/0349/left/0010.png
TRAIN/A/0526/left/0014.png
TRAIN/treeflight_x2/left/0187.png
TRAIN/B/0292/left/0014.png
TRAIN/B/0082/left/0013.png
TRAIN/B/0148/left/0013.png
TRAIN/lonetree_winter_x2/left/0153.png
TRAIN/C/0432/left/0010.png
TRAIN/A/0531/left/0011.png
TRAIN/C/0063/left/0008.png
TRAIN/treeflight_augmented0_x2/left/0170.png
TRAIN/C/0475/left/0014.png
TRAIN/A/0382/left/0011.png
TRAIN/A/0036/left/0010.png
TRAIN/C/0341/left/0008.png
TRAIN/A/0376/left/0014.png
TRAIN/A/0739/left/0009.png
TRAIN/treeflight_x2/left/0063.png
TRAIN/B/0529/left/0010.png
TRAIN/A/0043/left/0006.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0287.png
TRAIN/B/0246/left/0008.png
TRAIN/B/0000/left/0012.png
TRAIN/C/0256/left/0015.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0731.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0374.png
TRAIN/funnyworld_camera2_x2/left/0365.png
TRAIN/A/0179/left/0008.png
TRAIN/treeflight_x2/left/0346.png
TRAIN/A/0076/left/0011.png
TRAIN/B/0223/left/0008.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0447.png
TRAIN/B/0098/left/0014.png
TRAIN/funnyworld_augmented1_x2/left/0095.png
TRAIN/C/0290/left/0011.png
TRAIN/B/0190/left/0013.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0178.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0255.png
TRAIN/A/0706/left/0014.png
TRAIN/lonetree_x2/left/0228.png
TRAIN/C/0643/left/0009.png
TRAIN/A/0663/left/0013.png
TRAIN/C/0394/left/0012.png
TRAIN/treeflight_augmented0_x2/left/0426.png
TRAIN/family_x2/left/0066.png
TRAIN/funnyworld_augmented0_x2/left/0320.png
TRAIN/C/0167/left/0010.png
TRAIN/B/0105/left/0011.png
TRAIN/C/0332/left/0009.png
TRAIN/C/0660/left/0007.png
TRAIN/A/0509/left/0009.png
TRAIN/C/0443/left/0014.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0376.png
TRAIN/funnyworld_camera2_x2/left/0075.png
TRAIN/lonetree_x2/left/0438.png
TRAIN/A/0502/left/0009.png
TRAIN/A/0431/left/0015.png
TRAIN/C/0584/left/0006.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0610.png
TRAIN/C/0044/left/0011.png
TRAIN/eating_camera2_x2/left/0024.png
TRAIN/funnyworld_augmented0_x2/left/0163.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0069.png
TRAIN/C/0743/left/0014.png
TRAIN/A/0386/left/0006.png
TRAIN/B/0529/left/0008.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0244.png
TRAIN/A/0154/left/0012.png
TRAIN/B/0291/left/0011.png
TRAIN/B/0453/left/0009.png
TRAIN/C/0427/left/0011.png
TRAIN/treeflight_x2/left/0327.png
TRAIN/funnyworld_augmented1_x2/left/0013.png
TRAIN/A/0606/left/0015.png
TRAIN/B/0548/left/0007.png
TRAIN/A/0572/left/0010.png
TRAIN/B/0311/left/0014.png
TRAIN/flower_storm_augmented0_x2/left/0089.png
TRAIN/lonetree_x2/left/0123.png
TRAIN/C/0089/left/0013.png
TRAIN/B/0037/left/0010.png
TRAIN/funnyworld_x2/left/0167.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0558.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0115.png
TRAIN/A/0069/left/0010.png
TRAIN/C/0539/left/0014.png
TRAIN/B/0711/left/0008.png
TRAIN/funnyworld_camera2_x2/left/0144.png
TRAIN/C/0608/left/0014.png
TRAIN/C/0636/left/0008.png
TRAIN/B/0197/left/0008.png
TRAIN/lonetree_augmented1_x2/left/0049.png
TRAIN/lonetree_augmented0_x2/left/0347.png
TRAIN/treeflight_augmented1_x2/left/0251.png
TRAIN/B/0604/left/0008.png
TRAIN/B/0606/left/0014.png
TRAIN/eating_camera2_x2/left/0118.png
TRAIN/C/0143/left/0011.png
TRAIN/B/0426/left/0010.png
TRAIN/B/0371/left/0009.png
TRAIN/C/0386/left/0015.png
TRAIN/B/0559/left/0012.png
TRAIN/B/0118/left/0014.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0410.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0399.png
TRAIN/eating_camera2_x2/left/0063.png
TRAIN/C/0690/left/0014.png
TRAIN/C/0037/left/0009.png
TRAIN/A/0571/left/0010.png
TRAIN/C/0127/left/0013.png
TRAIN/C/0068/left/0013.png
TRAIN/A/0378/left/0012.png
TRAIN/B/0479/left/0012.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0637.png
TRAIN/C/0732/left/0010.png
TRAIN/B/0476/left/0010.png
TRAIN/A/0133/left/0006.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0795.png
TRAIN/B/0276/left/0008.png
TRAIN/C/0746/left/0006.png
TRAIN/B/0482/left/0010.png
TRAIN/A/0508/left/0013.png
TRAIN/B/0029/left/0009.png
TRAIN/eating_camera2_x2/left/0150.png
TRAIN/B/0071/left/0009.png
TRAIN/treeflight_augmented0_x2/left/0050.png
TRAIN/A/0030/left/0014.png
TRAIN/C/0216/left/0011.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0173.png
TRAIN/B/0335/left/0014.png
TRAIN/A/0201/left/0008.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0024.png
TRAIN/C/0116/left/0006.png
TRAIN/lonetree_difftex_x2/left/0003.png
TRAIN/A/0187/left/0009.png
TRAIN/B/0108/left/0006.png
TRAIN/B/0746/left/0013.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0195.png
TRAIN/B/0245/left/0012.png
TRAIN/lonetree_augmented1_x2/left/0064.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0285.png
TRAIN/A/0548/left/0011.png
TRAIN/B/0261/left/0015.png
TRAIN/C/0603/left/0007.png
TRAIN/C/0592/left/0012.png
TRAIN/B/0355/left/0010.png
TRAIN/B/0059/left/0007.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0097.png
TRAIN/lonetree_difftex_x2/left/0342.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0362.png
TRAIN/lonetree_augmented0_x2/left/0156.png
TRAIN/C/0589/left/0006.png
TRAIN/treeflight_augmented1_x2/left/0393.png
TRAIN/A/0663/left/0009.png
TRAIN/C/0711/left/0014.png
TRAIN/treeflight_augmented1_x2/left/0087.png
TRAIN/A/0318/left/0010.png
TRAIN/B/0692/left/0006.png
TRAIN/C/0307/left/0015.png
TRAIN/C/0181/left/0013.png
TRAIN/C/0438/left/0009.png
TRAIN/treeflight_augmented1_x2/left/0090.png
TRAIN/C/0155/left/0012.png
TRAIN/lonetree_augmented0_x2/left/0075.png
TRAIN/B/0684/left/0009.png
TRAIN/A/0367/left/0012.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0070.png
TRAIN/funnyworld_augmented0_x2/left/0331.png
TRAIN/funnyworld_camera2_x2/left/0126.png
TRAIN/C/0153/left/0014.png
TRAIN/B/0171/left/0015.png
TRAIN/B/0634/left/0007.png
TRAIN/B/0360/left/0008.png
TRAIN/lonetree_x2/left/0414.png
TRAIN/A/0493/left/0015.png
TRAIN/lonetree_winter_x2/left/0055.png
TRAIN/C/0563/left/0012.png
TRAIN/lonetree_augmented0_x2/left/0323.png
TRAIN/A/0738/left/0010.png
TRAIN/eating_naked_camera2_x2/left/0122.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0309.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0141.png
TRAIN/A/0675/left/0006.png
TRAIN/B/0327/left/0008.png
TRAIN/A/0479/left/0007.png
TRAIN/B/0461/left/0013.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0423.png
TRAIN/A/0619/left/0014.png
TRAIN/C/0052/left/0009.png
TRAIN/A/0703/left/0012.png
TRAIN/lonetree_difftex_x2/left/0458.png
TRAIN/C/0212/left/0011.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0769.png
TRAIN/C/0010/left/0012.png
TRAIN/C/0107/left/0014.png
TRAIN/lonetree_x2/left/0186.png
TRAIN/A/0341/left/0009.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0009.png
TRAIN/C/0168/left/0012.png
TRAIN/funnyworld_x2/left/0413.png
TRAIN/eating_camera2_x2/left/0139.png
TRAIN/A/0505/left/0007.png
TRAIN/C/0376/left/0011.png
TRAIN/lonetree_winter_x2/left/0157.png
TRAIN/A/0246/left/0010.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0738.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0239.png
TRAIN/B/0491/left/0008.png
TRAIN/C/0132/left/0015.png
TRAIN/B/0005/left/0011.png
TRAIN/A/0672/left/0009.png
TRAIN/B/0239/left/0014.png
TRAIN/A/0643/left/0006.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0196.png
TRAIN/B/0154/left/0015.png
TRAIN/B/0509/left/0013.png
TRAIN/B/0216/left/0010.png
TRAIN/C/0729/left/0007.png
TRAIN/C/0547/left/0007.png
TRAIN/B/0266/left/0015.png
TRAIN/B/0536/left/0013.png
TRAIN/B/0744/left/0007.png
TRAIN/C/0219/left/0009.png
TRAIN/A/0623/left/0006.png
TRAIN/funnyworld_x2/left/0487.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0258.png
TRAIN/C/0301/left/0007.png
TRAIN/B/0607/left/0013.png
TRAIN/lonetree_difftex2_x2/left/0100.png
TRAIN/A/0356/left/0008.png
TRAIN/A/0061/left/0009.png
TRAIN/A/0054/left/0006.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0433.png
TRAIN/A/0709/left/0007.png
TRAIN/B/0182/left/0012.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0145.png
TRAIN/lonetree_augmented1_x2/left/0075.png
TRAIN/A/0646/left/0006.png
TRAIN/A/0729/left/0014.png
TRAIN/funnyworld_augmented0_x2/left/0024.png
TRAIN/treeflight_x2/left/0244.png
TRAIN/lonetree_winter_x2/left/0341.png
TRAIN/A/0344/left/0015.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0089.png
TRAIN/B/0721/left/0015.png
TRAIN/C/0449/left/0010.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0086.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0490.png
TRAIN/lonetree_x2/left/0377.png
TRAIN/lonetree_winter_x2/left/0237.png
TRAIN/B/0470/left/0013.png
TRAIN/C/0614/left/0010.png
TRAIN/treeflight_augmented1_x2/left/0185.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0148.png
TRAIN/C/0542/left/0014.png
TRAIN/A/0469/left/0014.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0500.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0258.png
TRAIN/B/0407/left/0007.png
TRAIN/C/0649/left/0008.png
TRAIN/A/0214/left/0009.png
TRAIN/lonetree_augmented1_x2/left/0234.png
TRAIN/A/0007/left/0006.png
TRAIN/C/0607/left/0014.png
TRAIN/C/0625/left/0013.png
TRAIN/A/0733/left/0008.png
TRAIN/B/0660/left/0013.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0563.png
TRAIN/B/0243/left/0011.png
TRAIN/C/0307/left/0011.png
TRAIN/funnyworld_camera2_x2/left/0251.png
TRAIN/C/0338/left/0009.png
TRAIN/flower_storm_x2/left/0028.png
TRAIN/B/0391/left/0013.png
TRAIN/C/0381/left/0007.png
TRAIN/C/0193/left/0011.png
TRAIN/C/0071/left/0011.png
TRAIN/A/0548/left/0009.png
TRAIN/B/0706/left/0015.png
TRAIN/C/0197/left/0011.png
TRAIN/A/0662/left/0012.png
TRAIN/B/0300/left/0013.png
TRAIN/treeflight_x2/left/0214.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0339.png
TRAIN/A/0689/left/0013.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0102.png
TRAIN/B/0669/left/0012.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0365.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0096.png
TRAIN/B/0540/left/0012.png
TRAIN/lonetree_difftex_x2/left/0279.png
TRAIN/B/0363/left/0010.png
TRAIN/A/0116/left/0006.png
TRAIN/C/0376/left/0014.png
TRAIN/a_rain_of_stones_x2/left/0027.png
TRAIN/C/0116/left/0013.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0170.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0021.png
TRAIN/C/0056/left/0007.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0495.png
TRAIN/family_x2/left/0079.png
TRAIN/C/0716/left/0011.png
TRAIN/lonetree_difftex2_x2/left/0261.png
TRAIN/C/0573/left/0007.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0143.png
TRAIN/treeflight_augmented1_x2/left/0492.png
TRAIN/treeflight_augmented1_x2/left/0365.png
TRAIN/B/0284/left/0012.png
TRAIN/A/0516/left/0012.png
TRAIN/B/0005/left/0009.png
TRAIN/funnyworld_camera2_x2/left/0077.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0519.png
TRAIN/lonetree_difftex2_x2/left/0437.png
TRAIN/A/0043/left/0010.png
TRAIN/lonetree_x2/left/0375.png
TRAIN/funnyworld_x2/left/0069.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0644.png
TRAIN/B/0482/left/0012.png
TRAIN/lonetree_difftex_x2/left/0477.png
TRAIN/B/0635/left/0008.png
TRAIN/funnyworld_camera2_x2/left/0443.png
TRAIN/C/0502/left/0010.png
TRAIN/A/0391/left/0007.png
TRAIN/B/0201/left/0006.png
TRAIN/C/0169/left/0009.png
TRAIN/A/0719/left/0010.png
TRAIN/B/0538/left/0010.png
TRAIN/funnyworld_augmented1_x2/left/0282.png
TRAIN/B/0180/left/0006.png
TRAIN/B/0129/left/0013.png
TRAIN/A/0633/left/0012.png
TRAIN/B/0016/left/0009.png
TRAIN/A/0057/left/0011.png
TRAIN/C/0244/left/0006.png
TRAIN/C/0391/left/0009.png
TRAIN/B/0283/left/0007.png
TRAIN/C/0385/left/0008.png
TRAIN/treeflight_augmented0_x2/left/0375.png
TRAIN/A/0740/left/0008.png
TRAIN/C/0494/left/0006.png
TRAIN/flower_storm_augmented1_x2/left/0006.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0278.png
TRAIN/treeflight_x2/left/0295.png
TRAIN/B/0012/left/0013.png
TRAIN/C/0428/left/0014.png
TRAIN/B/0303/left/0010.png
TRAIN/a_rain_of_stones_x2/left/0112.png
TRAIN/C/0056/left/0006.png
TRAIN/C/0160/left/0007.png
TRAIN/A/0093/left/0010.png
TRAIN/a_rain_of_stones_x2/left/0081.png
TRAIN/A/0301/left/0009.png
TRAIN/funnyworld_augmented0_x2/left/0458.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0741.png
TRAIN/B/0549/left/0011.png
TRAIN/lonetree_difftex_x2/left/0417.png
TRAIN/B/0429/left/0012.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0350.png
TRAIN/treeflight_augmented0_x2/left/0444.png
TRAIN/C/0406/left/0010.png
TRAIN/lonetree_x2/left/0193.png
TRAIN/C/0064/left/0011.png
TRAIN/lonetree_difftex_x2/left/0133.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0750.png
TRAIN/lonetree_augmented0_x2/left/0111.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0768.png
TRAIN/eating_camera2_x2/left/0109.png
TRAIN/B/0719/left/0014.png
TRAIN/C/0320/left/0006.png
TRAIN/C/0305/left/0015.png
TRAIN/A/0609/left/0012.png
TRAIN/treeflight_augmented1_x2/left/0175.png
TRAIN/A/0371/left/0008.png
TRAIN/B/0368/left/0010.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0281.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0564.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0564.png
TRAIN/B/0281/left/0013.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0259.png
TRAIN/C/0379/left/0006.png
TRAIN/C/0293/left/0012.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0073.png
TRAIN/C/0618/left/0007.png
TRAIN/A/0478/left/0009.png
TRAIN/B/0090/left/0008.png
TRAIN/lonetree_difftex2_x2/left/0074.png
TRAIN/lonetree_x2/left/0469.png
TRAIN/A/0138/left/0006.png
TRAIN/A/0041/left/0010.png
TRAIN/B/0526/left/0007.png
TRAIN/lonetree_difftex2_x2/left/0297.png
TRAIN/A/0045/left/0011.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0251.png
TRAIN/B/0401/left/0007.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0413.png
TRAIN/C/0584/left/0012.png
TRAIN/A/0363/left/0006.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0341.png
TRAIN/lonetree_augmented0_x2/left/0364.png
TRAIN/funnyworld_x2/left/0303.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0021.png
TRAIN/C/0101/left/0012.png
TRAIN/funnyworld_augmented0_x2/left/0062.png
TRAIN/C/0413/left/0009.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0212.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0777.png
TRAIN/B/0076/left/0012.png
TRAIN/A/0146/left/0007.png
TRAIN/C/0332/left/0015.png
TRAIN/A/0467/left/0010.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0465.png
TRAIN/B/0693/left/0007.png
TRAIN/flower_storm_augmented1_x2/left/0090.png
TRAIN/A/0026/left/0008.png
TRAIN/lonetree_difftex2_x2/left/0432.png
TRAIN/A/0283/left/0014.png
TRAIN/B/0326/left/0010.png
TRAIN/eating_naked_camera2_x2/left/0063.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0040.png
TRAIN/C/0111/left/0009.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0254.png
TRAIN/lonetree_difftex2_x2/left/0216.png
TRAIN/C/0513/left/0008.png
TRAIN/C/0075/left/0015.png
TRAIN/C/0623/left/0007.png
TRAIN/C/0043/left/0010.png
TRAIN/B/0310/left/0011.png
TRAIN/A/0430/left/0007.png
TRAIN/A/0639/left/0013.png
TRAIN/A/0009/left/0007.png
TRAIN/lonetree_difftex_x2/left/0033.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0358.png
TRAIN/A/0529/left/0010.png
TRAIN/C/0472/left/0010.png
TRAIN/C/0488/left/0014.png
TRAIN/B/0700/left/0007.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0697.png
TRAIN/treeflight_x2/left/0229.png
TRAIN/C/0439/left/0011.png
TRAIN/B/0684/left/0007.png
TRAIN/A/0271/left/0008.png
TRAIN/C/0222/left/0006.png
TRAIN/A/0260/left/0009.png
TRAIN/A/0176/left/0009.png
TRAIN/C/0150/left/0011.png
TRAIN/C/0506/left/0009.png
TRAIN/funnyworld_augmented1_x2/left/0079.png
TRAIN/lonetree_x2/left/0485.png
TRAIN/C/0668/left/0010.png
TRAIN/funnyworld_x2/left/0107.png
TRAIN/C/0526/left/0008.png
TRAIN/B/0462/left/0012.png
TRAIN/eating_naked_camera2_x2/left/0012.png
TRAIN/lonetree_winter_x2/left/0224.png
TRAIN/B/0527/left/0009.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0655.png
TRAIN/A/0163/left/0009.png
TRAIN/eating_camera2_x2/left/0051.png
TRAIN/C/0612/left/0012.png
TRAIN/A/0589/left/0013.png
TRAIN/C/0626/left/0006.png
TRAIN/B/0095/left/0010.png
TRAIN/funnyworld_augmented1_x2/left/0223.png
TRAIN/C/0134/left/0015.png
TRAIN/lonetree_difftex_x2/left/0048.png
TRAIN/C/0556/left/0013.png
TRAIN/lonetree_difftex_x2/left/0388.png
TRAIN/C/0200/left/0013.png
TRAIN/lonetree_x2/left/0500.png
TRAIN/A/0198/left/0011.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0256.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0247.png
TRAIN/lonetree_difftex2_x2/left/0162.png
TRAIN/A/0575/left/0007.png
TRAIN/A/0693/left/0012.png
TRAIN/C/0160/left/0009.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0132.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0451.png
TRAIN/B/0035/left/0010.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0346.png
TRAIN/family_x2/left/0020.png
TRAIN/A/0687/left/0011.png
TRAIN/lonetree_augmented1_x2/left/0281.png
TRAIN/A/0317/left/0009.png
TRAIN/C/0725/left/0011.png
TRAIN/lonetree_augmented0_x2/left/0013.png
TRAIN/family_x2/left/0037.png
TRAIN/C/0215/left/0014.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0096.png
TRAIN/A/0586/left/0009.png
TRAIN/B/0727/left/0010.png
TRAIN/C/0264/left/0009.png
TRAIN/a_rain_of_stones_x2/left/0008.png
TRAIN/C/0271/left/0008.png
TRAIN/C/0654/left/0013.png
TRAIN/C/0487/left/0013.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0721.png
TRAIN/lonetree_difftex2_x2/left/0362.png
TRAIN/C/0331/left/0007.png
TRAIN/B/0148/left/0012.png
TRAIN/A/0591/left/0015.png
TRAIN/C/0184/left/0007.png
TRAIN/B/0116/left/0014.png
TRAIN/lonetree_winter_x2/left/0441.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0430.png
TRAIN/eating_naked_camera2_x2/left/0138.png
TRAIN/eating_camera2_x2/left/0018.png
TRAIN/B/0654/left/0014.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0657.png
TRAIN/B/0248/left/0006.png
TRAIN/C/0647/left/0012.png
TRAIN/B/0126/left/0014.png
TRAIN/B/0725/left/0013.png
TRAIN/lonetree_difftex2_x2/left/0189.png
TRAIN/A/0110/left/0006.png
TRAIN/C/0561/left/0013.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0339.png
TRAIN/flower_storm_x2/left/0068.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0311.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0541.png
TRAIN/lonetree_difftex_x2/left/0335.png
TRAIN/B/0095/left/0007.png
TRAIN/B/0684/left/0006.png
TRAIN/C/0026/left/0014.png
TRAIN/lonetree_augmented0_x2/left/0298.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0179.png
TRAIN/B/0564/left/0008.png
TRAIN/B/0235/left/0008.png
TRAIN/B/0587/left/0013.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0159.png
TRAIN/C/0270/left/0008.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0375.png
TRAIN/flower_storm_x2/left/0009.png
TRAIN/B/0253/left/0010.png
TRAIN/A/0265/left/0014.png
TRAIN/funnyworld_camera2_x2/left/0008.png
TRAIN/funnyworld_augmented1_x2/left/0152.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0315.png
TRAIN/A/0134/left/0012.png
TRAIN/A/0067/left/0008.png
TRAIN/B/0133/left/0012.png
TRAIN/C/0533/left/0009.png
TRAIN/treeflight_augmented0_x2/left/0037.png
TRAIN/C/0202/left/0009.png
TRAIN/B/0441/left/0013.png
TRAIN/lonetree_x2/left/0405.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0215.png
TRAIN/C/0223/left/0015.png
TRAIN/B/0280/left/0013.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0152.png
TRAIN/treeflight_augmented0_x2/left/0453.png
TRAIN/A/0336/left/0006.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0136.png
TRAIN/B/0505/left/0011.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0232.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0438.png
TRAIN/A/0606/left/0008.png
TRAIN/A/0280/left/0011.png
TRAIN/C/0490/left/0014.png
TRAIN/B/0438/left/0015.png
TRAIN/funnyworld_augmented1_x2/left/0477.png
TRAIN/lonetree_augmented0_x2/left/0322.png
TRAIN/C/0486/left/0009.png
TRAIN/lonetree_difftex2_x2/left/0251.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0483.png
TRAIN/B/0150/left/0011.png
TRAIN/C/0096/left/0013.png
TRAIN/B/0530/left/0008.png
TRAIN/A/0643/left/0013.png
TRAIN/B/0252/left/0007.png
TRAIN/C/0362/left/0014.png
TRAIN/B/0332/left/0010.png
TRAIN/B/0021/left/0012.png
TRAIN/B/0677/left/0014.png
TRAIN/A/0518/left/0013.png
TRAIN/C/0338/left/0012.png
TRAIN/lonetree_difftex_x2/left/0313.png
TRAIN/B/0696/left/0012.png
TRAIN/A/0073/left/0010.png
TRAIN/a_rain_of_stones_x2/left/0038.png
TRAIN/B/0343/left/0010.png
TRAIN/lonetree_augmented1_x2/left/0172.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0647.png
TRAIN/B/0011/left/0009.png
TRAIN/lonetree_augmented1_x2/left/0364.png
TRAIN/A/0085/left/0013.png
TRAIN/C/0729/left/0008.png
TRAIN/B/0393/left/0006.png
TRAIN/A/0733/left/0015.png
TRAIN/C/0722/left/0010.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0403.png
TRAIN/lonetree_augmented1_x2/left/0103.png
TRAIN/B/0679/left/0015.png
TRAIN/funnyworld_augmented1_x2/left/0254.png
TRAIN/C/0615/left/0013.png
TRAIN/A/0243/left/0009.png
TRAIN/A/0387/left/0015.png
TRAIN/A/0554/left/0009.png
TRAIN/A/0521/left/0010.png
TRAIN/C/0505/left/0007.png
TRAIN/A/0192/left/0007.png
TRAIN/C/0215/left/0007.png
TRAIN/B/0017/left/0015.png
TRAIN/A/0521/left/0011.png
TRAIN/lonetree_x2/left/0425.png
TRAIN/B/0564/left/0007.png
TRAIN/C/0682/left/0010.png
TRAIN/B/0534/left/0012.png
TRAIN/B/0332/left/0012.png
TRAIN/C/0604/left/0014.png
TRAIN/C/0394/left/0009.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0393.png
TRAIN/lonetree_winter_x2/left/0428.png
TRAIN/A/0433/left/0008.png
TRAIN/C/0021/left/0007.png
TRAIN/C/0442/left/0015.png
TRAIN/funnyworld_augmented0_x2/left/0288.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0338.png
TRAIN/A/0249/left/0010.png
TRAIN/A/0735/left/0015.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0145.png
TRAIN/lonetree_difftex2_x2/left/0231.png
TRAIN/C/0152/left/0007.png
TRAIN/C/0271/left/0010.png
TRAIN/B/0471/left/0015.png
TRAIN/C/0346/left/0009.png
TRAIN/B/0530/left/0007.png
TRAIN/A/0083/left/0006.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0253.png
TRAIN/C/0272/left/0006.png
TRAIN/C/0446/left/0011.png
TRAIN/C/0542/left/0012.png
TRAIN/eating_x2/left/0025.png
TRAIN/B/0275/left/0008.png
TRAIN/lonetree_augmented1_x2/left/0088.png
TRAIN/C/0389/left/0014.png
TRAIN/A/0550/left/0011.png
TRAIN/B/0152/left/0012.png
TRAIN/C/0494/left/0007.png
TRAIN/B/0585/left/0009.png
TRAIN/funnyworld_augmented0_x2/left/0471.png
TRAIN/A/0470/left/0010.png
TRAIN/C/0674/left/0015.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0314.png
TRAIN/B/0663/left/0013.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0017.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0419.png
TRAIN/C/0525/left/0009.png
TRAIN/B/0050/left/0006.png
TRAIN/B/0601/left/0012.png
TRAIN/C/0559/left/0006.png
TRAIN/A/0162/left/0013.png
TRAIN/A/0738/left/0008.png
TRAIN/lonetree_augmented0_x2/left/0460.png
TRAIN/B/0340/left/0010.png
TRAIN/C/0655/left/0013.png
TRAIN/A/0556/left/0007.png
TRAIN/A/0194/left/0015.png
TRAIN/funnyworld_x2/left/0469.png
TRAIN/B/0262/left/0014.png
TRAIN/C/0715/left/0014.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0388.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0259.png
TRAIN/A/0745/left/0011.png
TRAIN/A/0134/left/0011.png
TRAIN/C/0186/left/0010.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0464.png
TRAIN/C/0701/left/0011.png
TRAIN/C/0615/left/0015.png
TRAIN/C/0393/left/0007.png
TRAIN/lonetree_x2/left/0007.png
TRAIN/A/0375/left/0009.png
TRAIN/B/0043/left/0006.png
TRAIN/C/0686/left/0015.png
TRAIN/lonetree_winter_x2/left/0067.png
TRAIN/B/0740/left/0009.png
TRAIN/A/0352/left/0009.png
TRAIN/treeflight_augmented0_x2/left/0216.png
TRAIN/C/0271/left/0011.png
TRAIN/A/0699/left/0007.png
TRAIN/B/0116/left/0015.png
TRAIN/C/0006/left/0009.png
TRAIN/B/0723/left/0006.png
TRAIN/A/0458/left/0013.png
TRAIN/B/0261/left/0014.png
TRAIN/funnyworld_augmented1_x2/left/0057.png
TRAIN/A/0443/left/0014.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0059.png
TRAIN/flower_storm_x2/left/0007.png
TRAIN/funnyworld_augmented1_x2/left/0250.png
TRAIN/a_rain_of_stones_x2/left/0062.png
TRAIN/C/0261/left/0009.png
TRAIN/A/0574/left/0010.png
TRAIN/A/0654/left/0010.png
TRAIN/lonetree_winter_x2/left/0306.png
TRAIN/C/0094/left/0010.png
TRAIN/B/0064/left/0011.png
TRAIN/C/0745/left/0012.png
TRAIN/B/0705/left/0006.png
TRAIN/treeflight_augmented0_x2/left/0500.png
TRAIN/A/0030/left/0013.png
TRAIN/lonetree_augmented0_x2/left/0072.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0167.png
TRAIN/B/0231/left/0006.png
TRAIN/A/0114/left/0011.png
TRAIN/A/0593/left/0012.png
TRAIN/C/0384/left/0008.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0352.png
TRAIN/B/0378/left/0009.png
TRAIN/C/0399/left/0010.png
TRAIN/funnyworld_augmented0_x2/left/0259.png
TRAIN/A/0659/left/0006.png
TRAIN/B/0730/left/0013.png
TRAIN/funnyworld_augmented0_x2/left/0324.png
TRAIN/C/0367/left/0008.png
TRAIN/B/0279/left/0012.png
TRAIN/B/0168/left/0007.png
TRAIN/A/0692/left/0014.png
TRAIN/B/0249/left/0013.png
TRAIN/C/0191/left/0007.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0072.png
TRAIN/A/0416/left/0012.png
TRAIN/lonetree_augmented1_x2/left/0067.png
TRAIN/B/0510/left/0015.png
TRAIN/family_x2/left/0043.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0784.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0378.png
TRAIN/funnyworld_augmented1_x2/left/0276.png
TRAIN/family_x2/left/0035.png
TRAIN/C/0156/left/0012.png
TRAIN/lonetree_difftex2_x2/left/0253.png
TRAIN/B/0185/left/0007.png
TRAIN/B/0148/left/0007.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0639.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0237.png
TRAIN/C/0721/left/0006.png
TRAIN/treeflight_x2/left/0283.png
TRAIN/A/0336/left/0008.png
TRAIN/A/0241/left/0008.png
TRAIN/B/0585/left/0014.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0144.png
TRAIN/B/0697/left/0014.png
TRAIN/A/0467/left/0013.png
TRAIN/B/0473/left/0009.png
TRAIN/B/0108/left/0012.png
TRAIN/A/0149/left/0015.png
TRAIN/C/0457/left/0011.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0038.png
TRAIN/B/0663/left/0011.png
TRAIN/lonetree_augmented1_x2/left/0059.png
TRAIN/A/0063/left/0013.png
TRAIN/lonetree_difftex2_x2/left/0351.png
TRAIN/A/0443/left/0010.png
TRAIN/B/0348/left/0009.png
TRAIN/A/0249/left/0006.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0246.png
TRAIN/B/0678/left/0013.png
TRAIN/A/0568/left/0008.png
TRAIN/A/0393/left/0007.png
TRAIN/C/0417/left/0010.png
TRAIN/A/0461/left/0008.png
TRAIN/A/0051/left/0015.png
TRAIN/A/0096/left/0011.png
TRAIN/C/0388/left/0013.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0182.png
TRAIN/C/0286/left/0006.png
TRAIN/B/0090/left/0009.png
TRAIN/B/0515/left/0012.png
TRAIN/A/0110/left/0015.png
TRAIN/C/0727/left/0010.png
TRAIN/funnyworld_augmented0_x2/left/0084.png
TRAIN/C/0332/left/0014.png
TRAIN/C/0163/left/0010.png
TRAIN/C/0138/left/0008.png
TRAIN/C/0119/left/0014.png
TRAIN/C/0711/left/0011.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0043.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0144.png
TRAIN/A/0438/left/0015.png
TRAIN/C/0351/left/0012.png
TRAIN/lonetree_winter_x2/left/0047.png
TRAIN/A/0017/left/0010.png
TRAIN/C/0133/left/0010.png
TRAIN/treeflight_augmented1_x2/left/0290.png
TRAIN/C/0425/left/0015.png
TRAIN/C/0194/left/0012.png
TRAIN/B/0593/left/0007.png
TRAIN/lonetree_difftex2_x2/left/0027.png
TRAIN/eating_naked_camera2_x2/left/0127.png
TRAIN/lonetree_difftex2_x2/left/0311.png
TRAIN/B/0022/left/0012.png
TRAIN/C/0411/left/0012.png
TRAIN/C/0282/left/0009.png
TRAIN/C/0661/left/0010.png
TRAIN/B/0126/left/0010.png
TRAIN/B/0233/left/0013.png
TRAIN/C/0571/left/0013.png
TRAIN/A/0738/left/0014.png
TRAIN/treeflight_augmented0_x2/left/0077.png
TRAIN/A/0600/left/0008.png
TRAIN/lonetree_difftex2_x2/left/0006.png
TRAIN/A/0244/left/0011.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0445.png
TRAIN/lonetree_difftex_x2/left/0201.png
TRAIN/B/0445/left/0015.png
TRAIN/A/0421/left/0013.png
TRAIN/a_rain_of_stones_x2/left/0053.png
TRAIN/B/0500/left/0015.png
TRAIN/lonetree_augmented1_x2/left/0159.png
TRAIN/lonetree_difftex2_x2/left/0411.png
TRAIN/B/0113/left/0009.png
TRAIN/B/0300/left/0009.png
TRAIN/A/0319/left/0012.png
TRAIN/C/0173/left/0014.png
TRAIN/family_x2/left/0105.png
TRAIN/C/0259/left/0006.png
TRAIN/B/0031/left/0015.png
TRAIN/B/0627/left/0011.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0398.png
TRAIN/flower_storm_augmented0_x2/left/0011.png
TRAIN/B/0275/left/0015.png
TRAIN/C/0096/left/0012.png
TRAIN/lonetree_difftex2_x2/left/0312.png
TRAIN/eating_naked_camera2_x2/left/0020.png
TRAIN/lonetree_x2/left/0283.png
TRAIN/B/0678/left/0008.png
TRAIN/eating_naked_camera2_x2/left/0018.png
TRAIN/A/0566/left/0008.png
TRAIN/lonetree_difftex_x2/left/0375.png
TRAIN/B/0168/left/0014.png
TRAIN/B/0100/left/0011.png
TRAIN/B/0374/left/0006.png
TRAIN/C/0409/left/0015.png
TRAIN/B/0064/left/0014.png
TRAIN/C/0605/left/0013.png
TRAIN/lonetree_difftex_x2/left/0165.png
TRAIN/C/0242/left/0014.png
TRAIN/C/0627/left/0012.png
TRAIN/B/0103/left/0007.png
TRAIN/C/0463/left/0013.png
TRAIN/B/0375/left/0015.png
TRAIN/B/0723/left/0010.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0136.png
TRAIN/B/0082/left/0008.png
TRAIN/A/0394/left/0007.png
TRAIN/funnyworld_x2/left/0392.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0774.png
TRAIN/B/0457/left/0007.png
TRAIN/B/0257/left/0015.png
TRAIN/A/0361/left/0007.png
TRAIN/eating_camera2_x2/left/0067.png
TRAIN/C/0631/left/0011.png
TRAIN/B/0332/left/0015.png
TRAIN/C/0424/left/0011.png
TRAIN/A/0668/left/0006.png
TRAIN/C/0590/left/0015.png
TRAIN/treeflight_augmented1_x2/left/0118.png
TRAIN/B/0121/left/0015.png
TRAIN/C/0619/left/0014.png
TRAIN/A/0512/left/0014.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0234.png
TRAIN/B/0298/left/0009.png
TRAIN/B/0027/left/0014.png
TRAIN/lonetree_difftex_x2/left/0407.png
TRAIN/B/0111/left/0013.png
TRAIN/A/0637/left/0009.png
TRAIN/A/0461/left/0014.png
TRAIN/B/0584/left/0012.png
TRAIN/B/0481/left/0009.png
TRAIN/A/0367/left/0014.png
TRAIN/treeflight_augmented0_x2/left/0417.png
TRAIN/funnyworld_x2/left/0496.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0268.png
TRAIN/funnyworld_x2/left/0101.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0381.png
TRAIN/C/0289/left/0010.png
TRAIN/B/0546/left/0012.png
TRAIN/C/0514/left/0008.png
TRAIN/C/0660/left/0012.png
TRAIN/C/0070/left/0009.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0350.png
TRAIN/A/0403/left/0008.png
TRAIN/lonetree_augmented0_x2/left/0021.png
TRAIN/B/0594/left/0010.png
TRAIN/B/0709/left/0015.png
TRAIN/C/0270/left/0009.png
TRAIN/C/0708/left/0010.png
TRAIN/A/0178/left/0010.png
TRAIN/treeflight_augmented1_x2/left/0195.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0191.png
TRAIN/B/0575/left/0010.png
TRAIN/B/0208/left/0011.png
TRAIN/B/0517/left/0012.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0186.png
TRAIN/B/0606/left/0011.png
TRAIN/eating_x2/left/0017.png
TRAIN/C/0558/left/0015.png
TRAIN/eating_camera2_x2/left/0025.png
TRAIN/A/0696/left/0011.png
TRAIN/funnyworld_camera2_x2/left/0131.png
TRAIN/C/0503/left/0015.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0472.png
TRAIN/C/0687/left/0012.png
TRAIN/A/0695/left/0011.png
TRAIN/eating_x2/left/0030.png
TRAIN/C/0522/left/0012.png
TRAIN/C/0302/left/0014.png
TRAIN/funnyworld_x2/left/0147.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0328.png
TRAIN/A/0310/left/0007.png
TRAIN/family_x2/left/0083.png
TRAIN/C/0469/left/0010.png
TRAIN/15mm_focallength/scene_forwards/fast/left/0122.png
TRAIN/B/0448/left/0012.png
TRAIN/C/0725/left/0013.png
TRAIN/C/0241/left/0007.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0412.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0585.png
TRAIN/C/0359/left/0013.png
TRAIN/funnyworld_x2/left/0432.png
TRAIN/A/0138/left/0007.png
TRAIN/A/0418/left/0007.png
TRAIN/C/0678/left/0013.png
TRAIN/treeflight_augmented1_x2/left/0197.png
TRAIN/C/0452/left/0008.png
TRAIN/B/0112/left/0011.png
TRAIN/funnyworld_augmented0_x2/left/0372.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0135.png
TRAIN/B/0396/left/0015.png
TRAIN/A/0723/left/0011.png
TRAIN/B/0474/left/0014.png
TRAIN/C/0344/left/0014.png
TRAIN/lonetree_difftex2_x2/left/0319.png
TRAIN/funnyworld_camera2_x2/left/0333.png
TRAIN/B/0634/left/0008.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0649.png
TRAIN/B/0472/left/0009.png
TRAIN/C/0455/left/0010.png
TRAIN/B/0179/left/0013.png
TRAIN/C/0323/left/0014.png
TRAIN/A/0570/left/0008.png
TRAIN/A/0346/left/0009.png
TRAIN/A/0258/left/0008.png
TRAIN/B/0363/left/0012.png
TRAIN/C/0666/left/0006.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0177.png
TRAIN/B/0535/left/0014.png
TRAIN/C/0593/left/0007.png
TRAIN/C/0018/left/0012.png
TRAIN/funnyworld_x2/left/0134.png
TRAIN/A/0050/left/0006.png
TRAIN/funnyworld_x2/left/0020.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0240.png
TRAIN/C/0492/left/0008.png
TRAIN/A/0447/left/0008.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0201.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0379.png
TRAIN/lonetree_winter_x2/left/0304.png
TRAIN/C/0456/left/0007.png
TRAIN/C/0142/left/0007.png
TRAIN/funnyworld_augmented0_x2/left/0185.png
TRAIN/funnyworld_x2/left/0168.png
TRAIN/funnyworld_augmented0_x2/left/0158.png
TRAIN/C/0101/left/0007.png
TRAIN/C/0717/left/0011.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0034.png
TRAIN/funnyworld_camera2_x2/left/0102.png
TRAIN/C/0005/left/0011.png
TRAIN/B/0667/left/0009.png
TRAIN/C/0456/left/0010.png
TRAIN/A/0468/left/0009.png
TRAIN/lonetree_augmented1_x2/left/0073.png
TRAIN/A/0212/left/0010.png
TRAIN/A/0441/left/0006.png
TRAIN/C/0182/left/0014.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0605.png
TRAIN/C/0680/left/0008.png
TRAIN/treeflight_augmented0_x2/left/0087.png
TRAIN/funnyworld_x2/left/0426.png
TRAIN/lonetree_x2/left/0261.png
TRAIN/A/0330/left/0008.png
TRAIN/funnyworld_camera2_x2/left/0256.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0396.png
TRAIN/B/0410/left/0011.png
TRAIN/A/0096/left/0012.png
TRAIN/B/0215/left/0008.png
TRAIN/A/0488/left/0014.png
TRAIN/B/0083/left/0014.png
TRAIN/funnyworld_augmented1_x2/left/0170.png
TRAIN/B/0448/left/0010.png
TRAIN/B/0266/left/0012.png
TRAIN/A/0217/left/0015.png
TRAIN/treeflight_augmented0_x2/left/0401.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0330.png
TRAIN/funnyworld_x2/left/0027.png
TRAIN/B/0215/left/0009.png
TRAIN/B/0537/left/0013.png
TRAIN/A/0088/left/0012.png
TRAIN/B/0321/left/0007.png
TRAIN/B/0042/left/0015.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0191.png
TRAIN/B/0659/left/0009.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0279.png
TRAIN/A/0641/left/0010.png
TRAIN/A/0471/left/0012.png
TRAIN/C/0311/left/0010.png
TRAIN/35mm_focallength/scene_forwards/fast/left/0038.png
TRAIN/C/0072/left/0012.png
TRAIN/A/0509/left/0006.png
TRAIN/A/0293/left/0013.png
TRAIN/B/0642/left/0006.png
TRAIN/A/0064/left/0006.png
TRAIN/C/0545/left/0008.png
TRAIN/funnyworld_x2/left/0086.png
TRAIN/B/0136/left/0011.png
TRAIN/C/0052/left/0006.png
TRAIN/B/0269/left/0012.png
TRAIN/C/0613/left/0008.png
TRAIN/A/0287/left/0010.png
TRAIN/A/0621/left/0015.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0271.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0313.png
TRAIN/C/0386/left/0009.png
TRAIN/B/0667/left/0014.png
TRAIN/B/0066/left/0009.png
TRAIN/B/0297/left/0009.png
TRAIN/B/0332/left/0008.png
TRAIN/A/0541/left/0013.png
TRAIN/C/0615/left/0014.png
TRAIN/B/0550/left/0013.png
TRAIN/35mm_focallength/scene_backwards/fast/left/0022.png
TRAIN/C/0447/left/0006.png
TRAIN/lonetree_augmented1_x2/left/0400.png
TRAIN/C/0716/left/0007.png
TRAIN/lonetree_winter_x2/left/0307.png
TRAIN/A/0093/left/0012.png
TRAIN/B/0603/left/0010.png
TRAIN/lonetree_augmented0_x2/left/0389.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0050.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0148.png
TRAIN/treeflight_augmented0_x2/left/0297.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0514.png
TRAIN/A/0083/left/0012.png
TRAIN/15mm_focallength/scene_forwards/slow/left/0037.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0379.png
TRAIN/B/0517/left/0006.png
TRAIN/B/0299/left/0010.png
TRAIN/C/0251/left/0007.png
TRAIN/C/0293/left/0006.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0774.png
TRAIN/funnyworld_camera2_augmented0_x2/left/0306.png
TRAIN/B/0666/left/0013.png
TRAIN/B/0276/left/0009.png
TRAIN/B/0311/left/0009.png
TRAIN/A/0177/left/0011.png
TRAIN/A/0223/left/0012.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0151.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0212.png
TRAIN/A/0078/left/0009.png
TRAIN/a_rain_of_stones_x2/left/0108.png
TRAIN/C/0307/left/0006.png
TRAIN/C/0228/left/0015.png
TRAIN/C/0532/left/0010.png
TRAIN/B/0140/left/0011.png
TRAIN/B/0292/left/0015.png
TRAIN/A/0617/left/0007.png
TRAIN/35mm_focallength/scene_forwards/slow/left/0169.png
TRAIN/A/0236/left/0015.png
TRAIN/C/0051/left/0013.png
TRAIN/C/0209/left/0010.png
TRAIN/B/0748/left/0009.png
TRAIN/A/0116/left/0007.png
TRAIN/A/0743/left/0012.png
TRAIN/A/0651/left/0015.png
TRAIN/C/0510/left/0009.png
TRAIN/C/0181/left/0015.png
TRAIN/C/0235/left/0014.png
TRAIN/C/0512/left/0012.png
TRAIN/A/0397/left/0013.png
TRAIN/funnyworld_camera2_x2/left/0280.png
TRAIN/lonetree_difftex_x2/left/0333.png
TRAIN/lonetree_augmented1_x2/left/0321.png
TRAIN/funnyworld_x2/left/0319.png
TRAIN/C/0529/left/0014.png
TRAIN/B/0477/left/0011.png
TRAIN/C/0565/left/0013.png
TRAIN/A/0651/left/0011.png
TRAIN/C/0647/left/0014.png
TRAIN/B/0089/left/0013.png
TRAIN/A/0627/left/0011.png
TRAIN/B/0227/left/0013.png
TRAIN/A/0155/left/0015.png
TRAIN/C/0459/left/0009.png
TRAIN/lonetree_winter_x2/left/0338.png
TRAIN/flower_storm_x2/left/0000.png
TRAIN/B/0258/left/0014.png
TRAIN/lonetree_difftex_x2/left/0362.png
TRAIN/A/0286/left/0015.png
TRAIN/eating_x2/left/0067.png
TRAIN/family_x2/left/0085.png
TRAIN/B/0729/left/0012.png
TRAIN/A/0297/left/0010.png
TRAIN/B/0436/left/0012.png
TRAIN/A/0511/left/0012.png
TRAIN/lonetree_winter_x2/left/0414.png
TRAIN/C/0516/left/0013.png
TRAIN/flower_storm_x2/left/0087.png
TRAIN/C/0236/left/0007.png
TRAIN/lonetree_x2/left/0325.png
TRAIN/B/0185/left/0015.png
TRAIN/A/0242/left/0012.png
TRAIN/B/0059/left/0014.png
TRAIN/lonetree_winter_x2/left/0407.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0422.png
TRAIN/funnyworld_augmented0_x2/left/0361.png
TRAIN/B/0638/left/0007.png
TRAIN/family_x2/left/0048.png
TRAIN/treeflight_augmented0_x2/left/0403.png
TRAIN/B/0329/left/0006.png
TRAIN/C/0238/left/0009.png
TRAIN/treeflight_augmented0_x2/left/0349.png
TRAIN/funnyworld_x2/left/0386.png
TRAIN/lonetree_augmented1_x2/left/0199.png
TRAIN/C/0189/left/0010.png
TRAIN/C/0454/left/0010.png
TRAIN/funnyworld_augmented1_x2/left/0498.png
TRAIN/15mm_focallength/scene_backwards/fast/left/0040.png
TRAIN/A/0568/left/0009.png
TRAIN/treeflight_augmented1_x2/left/0099.png
TRAIN/C/0495/left/0011.png
TRAIN/C/0683/left/0013.png
TRAIN/C/0256/left/0008.png
TRAIN/A/0420/left/0014.png
TRAIN/C/0640/left/0006.png
TRAIN/A/0039/left/0006.png
TRAIN/A/0107/left/0007.png
TRAIN/B/0014/left/0012.png
TRAIN/C/0606/left/0007.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0123.png
TRAIN/15mm_focallength/scene_backwards/slow/left/0183.png
TRAIN/funnyworld_camera2_augmented1_x2/left/0441.png
TRAIN/top_view_x2/left/0013.png
TRAIN/treeflight_x2/left/0388.png
TRAIN/C/0723/left/0009.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0451.png
TRAIN/35mm_focallength/scene_backwards/slow/left/0492.png
TRAIN/lonetree_x2/left/0130.png
TRAIN/B/0372/left/0008.png
TRAIN/A/0174/left/0014.png
TRAIN/A/0567/left/0006.png
TRAIN/A/0456/left/0007.png
TRAIN/funnyworld_augmented1_x2/left/0343.png
TRAIN/C/0717/left/0006.png
TRAIN/A/0288/left/0015.png
TRAIN/C/0236/left/0008.png
TRAIN/B/0206/left/0009.png
TRAIN/B/0252/left/0014.png
TRAIN/15mm_foc
Download .txt
gitextract_5wcn44k3/

├── .gitignore
├── LICENSE
├── README.md
├── configs/
│   ├── backbone.yaml
│   └── stereo/
│       ├── cfg_coex.yaml
│       └── cfg_psm.yaml
├── dataloaders/
│   ├── __init__.py
│   └── stereo/
│       ├── KITTILoader.py
│       ├── KITTIRawLoader.py
│       ├── KITTI_submission_loader.py
│       ├── KITTIloader2012.py
│       ├── KITTIloader2015.py
│       ├── SceneFlowLoader.py
│       ├── __init__.py
│       ├── listflowfile.py
│       ├── lists/
│       │   ├── kitti2012_test.list
│       │   ├── kitti2012_train.list
│       │   ├── kitti2012_train170.list
│       │   ├── kitti2012_val24.list
│       │   ├── kitti2015_test.list
│       │   ├── kitti2015_train.list
│       │   ├── kitti2015_train180.list
│       │   ├── kitti2015_val20.list
│       │   ├── middeval3_test.list
│       │   ├── middeval3_train.list
│       │   ├── sceneflow_search_trainA.list
│       │   ├── sceneflow_search_trainB.list
│       │   ├── sceneflow_search_val.list
│       │   ├── sceneflow_test.list
│       │   └── sceneflow_train.list
│       ├── preprocess.py
│       ├── readpfm.py
│       ├── stereo_albumentation.py
│       └── transforms.py
├── demo.py
├── demo_tensorrt.py
├── demo_torchscript.py
├── environment.yml
├── logs/
│   └── stereo/
│       └── CoEx/
│           └── version_0/
│               └── checkpoints/
│                   └── last.ckpt
├── models/
│   ├── __init__.py
│   └── stereo/
│       ├── CoEx.py
│       ├── CoExTRT.py
│       ├── PSMNet.py
│       ├── __init__.py
│       └── submodules/
│           ├── Submodule.py
│           ├── __init__.py
│           ├── aggregation.py
│           ├── feature.py
│           ├── regression.py
│           ├── spixel_utils/
│           │   ├── spixel.py
│           │   ├── spixel_conv.py
│           │   ├── spixel_loss.py
│           │   └── spixel_test.py
│           ├── util_conv.py
│           └── utils.py
├── stereo.py
├── torch_to_tensorrt.py
├── utils/
│   ├── __init__.py
│   └── load.py
└── zoo/
    └── torchscript/
        └── CoEx.pt
Download .txt
SYMBOL INDEX (326 symbols across 30 files)

FILE: dataloaders/stereo/KITTILoader.py
  function is_image_file (line 23) | def is_image_file(filename):
  function default_loader (line 26) | def default_loader(path):
  function disparity_loader (line 30) | def disparity_loader(path):
  class ImageLoader (line 34) | class ImageLoader(data.Dataset):
    method __init__ (line 35) | def __init__(self, left, right, left_disparity, calib, th=256, tw=512,...
    method __getitem__ (line 48) | def __getitem__(self, index):
    method __len__ (line 153) | def __len__(self):
    method train_aug (line 156) | def train_aug(self, img):
    method kitti_calib (line 168) | def kitti_calib(self, P2, P3):

FILE: dataloaders/stereo/KITTIRawLoader.py
  function is_image_file (line 21) | def is_image_file(filename):
  function listfiles (line 25) | def listfiles(cfg, date=None, num=None, test=False):
  function listtrainfiles (line 70) | def listtrainfiles(filepath, train_dataname, date=None, num=None, test=F...
  function listvalfiles (line 123) | def listvalfiles(filepath):
  function default_loader (line 142) | def default_loader(path):
  function disparity_loader (line 146) | def disparity_loader(path):
  class ImageLoader (line 150) | class ImageLoader(data.Dataset):
    method __init__ (line 151) | def __init__(self, left, right, cfg, disp=None, training=True, demo=Fa...
    method __getitem__ (line 170) | def __getitem__(self, index):
    method __len__ (line 323) | def __len__(self):
    method kitti_calib (line 326) | def kitti_calib(self, P2, P3):
  function load_feature (line 337) | def load_feature(cfg):
  function match (line 348) | def match(kp1, des1, kp2, des2, matcher):

FILE: dataloaders/stereo/KITTI_submission_loader.py
  function is_image_file (line 16) | def is_image_file(filename):
  function listfiles (line 20) | def listfiles(filepath, dataname):
  function default_loader (line 40) | def default_loader(path):
  function disparity_loader (line 45) | def disparity_loader(path):
  class ImageLoader (line 49) | class ImageLoader(data.Dataset):
    method __init__ (line 50) | def __init__(self, left, right, calib, loader=default_loader, dploader...
    method __getitem__ (line 58) | def __getitem__(self, index):
    method __len__ (line 92) | def __len__(self):
    method kitti_calib (line 95) | def kitti_calib(self, P2, P3):

FILE: dataloaders/stereo/KITTIloader2012.py
  function is_image_file (line 8) | def is_image_file(filename):
  function dataloader (line 12) | def dataloader(filepath, returnCalib=False, trainAll=False):

FILE: dataloaders/stereo/KITTIloader2015.py
  function is_image_file (line 8) | def is_image_file(filename):
  function dataloader (line 12) | def dataloader(filepath, returnCalib=False, trainAll=False):

FILE: dataloaders/stereo/SceneFlowLoader.py
  function is_image_file (line 26) | def is_image_file(filename):
  function default_loader (line 30) | def default_loader(path):
  function disparity_loader (line 35) | def disparity_loader(path):
  class ImageLoader (line 39) | class ImageLoader(data.Dataset):
    method __init__ (line 40) | def __init__(self, left, right,
    method __getitem__ (line 55) | def __getitem__(self, index):
    method __len__ (line 117) | def __len__(self):
    method train_aug (line 120) | def train_aug(self, img):

FILE: dataloaders/stereo/listflowfile.py
  function is_image_file (line 17) | def is_image_file(filename):
  function dataloader (line 21) | def dataloader(filepath):

FILE: dataloaders/stereo/preprocess.py
  function scale_crop (line 23) | def scale_crop(input_size, scale_size=None, normalize=__imagenet_stats):
  function scale_random_crop (line 34) | def scale_random_crop(input_size, scale_size=None, normalize=__imagenet_...
  function pad_random_crop (line 46) | def pad_random_crop(input_size, scale_size=None, normalize=__imagenet_st...
  function inception_preproccess (line 56) | def inception_preproccess(input_size, normalize=__imagenet_stats):
  function inception_color_preproccess (line 65) | def inception_color_preproccess(input_size, normalize=__imagenet_stats):
  function get_transform (line 80) | def get_transform(name='imagenet', input_size=None,
  class Lighting (line 93) | class Lighting(object):
    method __init__ (line 96) | def __init__(self, alphastd, eigval, eigvec):
    method __call__ (line 101) | def __call__(self, img):
  class Grayscale (line 114) | class Grayscale(object):
    method __call__ (line 116) | def __call__(self, img):
  class Saturation (line 124) | class Saturation(object):
    method __init__ (line 126) | def __init__(self, var):
    method __call__ (line 129) | def __call__(self, img):
  class Brightness (line 135) | class Brightness(object):
    method __init__ (line 137) | def __init__(self, var):
    method __call__ (line 140) | def __call__(self, img):
  class Contrast (line 146) | class Contrast(object):
    method __init__ (line 148) | def __init__(self, var):
    method __call__ (line 151) | def __call__(self, img):
  class RandomOrder (line 158) | class RandomOrder(object):
    method __init__ (line 162) | def __init__(self, transforms):
    method __call__ (line 165) | def __call__(self, img):
  class ColorJitter (line 174) | class ColorJitter(RandomOrder):
    method __init__ (line 176) | def __init__(self, brightness=0.4, contrast=0.4, saturation=0.4):

FILE: dataloaders/stereo/readpfm.py
  function readPFM (line 7) | def readPFM(file):

FILE: dataloaders/stereo/stereo_albumentation.py
  function get_random_crop_coords (line 19) | def get_random_crop_coords(height, width, crop_height, crop_width):
  function crop (line 35) | def crop(img, x1, y1, x2, y2):
  function horizontal_flip (line 49) | def horizontal_flip(img_left, img_right, disp_left, disp_right):
  function random_crop (line 79) | def random_crop(min_crop_height, min_crop_width, input_data, split):
  class StereoTransform (line 123) | class StereoTransform(BasicTransform):
    method targets (line 129) | def targets(self):
    method update_params (line 135) | def update_params(self, params, **kwargs):
  class RightOnlyTransform (line 144) | class RightOnlyTransform(BasicTransform):
    method targets (line 150) | def targets(self):
    method update_params (line 155) | def update_params(self, params, **kwargs):
  class StereoTransformAsym (line 164) | class StereoTransformAsym(BasicTransform):
    method __init__ (line 169) | def __init__(self, always_apply=False, p=0.5, p_asym=0.2):
    method targets (line 174) | def targets(self):
    method update_params (line 180) | def update_params(self, params, **kwargs):
    method targets_as_params (line 189) | def targets_as_params(self):
    method asym (line 192) | def asym(self):
  class Normalize (line 202) | class Normalize(StereoTransform):
    method __init__ (line 214) | def __init__(self, mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.22...
    method apply (line 221) | def apply(self, image, **params):
    method get_transform_init_args_names (line 224) | def get_transform_init_args_names(self):
  class ToTensor (line 228) | class ToTensor(StereoTransform):
    method __init__ (line 236) | def __init__(self, always_apply=False, p=1.0):
    method apply (line 239) | def apply(self, image, **params):
  class ToGrayStereo (line 243) | class ToGrayStereo(StereoTransform, ToGray):
    method __init__ (line 244) | def __init__(self, always_apply=False, p=0.5):
  class GaussNoiseStereo (line 254) | class GaussNoiseStereo(StereoTransformAsym, GaussNoise):
    method __init__ (line 267) | def __init__(self, var_limit=(10.0, 50.0), mean=0, always_apply=False,...
    method apply_l (line 271) | def apply_l(self, img, gauss_l=None, **params):
    method apply_r (line 274) | def apply_r(self, img, gauss_r=None, **params):
    method get_params_dependent_on_targets (line 277) | def get_params_dependent_on_targets(self, params):
  class RGBShiftStereo (line 298) | class RGBShiftStereo(StereoTransformAsym, RGBShift):
    method __init__ (line 314) | def __init__(self, r_shift_limit=20, g_shift_limit=20, b_shift_limit=2...
    method apply_l (line 318) | def apply_l(self, image, r_shift_l=0, g_shift_l=0, b_shift_l=0, **para...
    method apply_r (line 321) | def apply_r(self, image, r_shift_r=0, g_shift_r=0, b_shift_r=0, **para...
    method get_params_dependent_on_targets (line 324) | def get_params_dependent_on_targets(self, params):
  class RandomBrightnessContrastStereo (line 348) | class RandomBrightnessContrastStereo(StereoTransformAsym, RandomBrightne...
    method __init__ (line 364) | def __init__(self, brightness_limit=0.1, contrast_limit=0.1, brightnes...
    method apply_l (line 369) | def apply_l(self, img, alpha_l=1.0, beta_l=0.0, **params):
    method apply_r (line 372) | def apply_r(self, img, alpha_r=1.0, beta_r=0.0, **params):
    method get_params_dependent_on_targets (line 375) | def get_params_dependent_on_targets(self, params):
  class RandomShiftRotate (line 399) | class RandomShiftRotate(RightOnlyTransform):
    method __init__ (line 410) | def __init__(self, max_shift=1.5, max_rotation=0.2, always_apply=False...
    method apply (line 415) | def apply(self, img, **params):

FILE: dataloaders/stereo/transforms.py
  class Compose (line 9) | class Compose(object):
    method __init__ (line 10) | def __init__(self, transforms):
    method __call__ (line 13) | def __call__(self, sample):
  class ToTensor (line 19) | class ToTensor(object):
    method __call__ (line 22) | def __call__(self, sample):
  class Normalize (line 40) | class Normalize(object):
    method __init__ (line 43) | def __init__(self, mean, std):
    method __call__ (line 47) | def __call__(self, sample):
  class RandomCrop (line 59) | class RandomCrop(object):
    method __init__ (line 60) | def __init__(self, img_height, img_width, validate=False):
    method __call__ (line 65) | def __call__(self, sample):
    method crop_img (line 120) | def crop_img(self, img):
  class RandomVerticalFlip (line 125) | class RandomVerticalFlip(object):
    method __call__ (line 128) | def __call__(self, sample):
  class ToPILImage (line 141) | class ToPILImage(object):
    method __call__ (line 143) | def __call__(self, sample):
  class ToNumpyArray (line 150) | class ToNumpyArray(object):
    method __call__ (line 152) | def __call__(self, sample):
  class RandomContrast (line 160) | class RandomContrast(object):
    method __call__ (line 163) | def __call__(self, sample):
  class RandomGamma (line 173) | class RandomGamma(object):
    method __call__ (line 175) | def __call__(self, sample):
  class RandomBrightness (line 185) | class RandomBrightness(object):
    method __call__ (line 187) | def __call__(self, sample):
  class RandomHue (line 197) | class RandomHue(object):
    method __call__ (line 199) | def __call__(self, sample):
  class RandomSaturation (line 209) | class RandomSaturation(object):
    method __call__ (line 211) | def __call__(self, sample):
  class RandomColor (line 221) | class RandomColor(object):
    method __call__ (line 223) | def __call__(self, sample):

FILE: demo.py
  function load_configs (line 26) | def load_configs(path):

FILE: demo_tensorrt.py
  function load_configs (line 19) | def load_configs(path):

FILE: demo_torchscript.py
  function load_configs (line 23) | def load_configs(path):

FILE: models/stereo/CoEx.py
  class CoEx (line 16) | class CoEx(nn.Module):
    method __init__ (line 17) | def __init__(self, cfg):
    method forward (line 85) | def forward(self, imL, imR=None, u0=None, v0=None, training=False):

FILE: models/stereo/CoExTRT.py
  class CoExTRT (line 13) | class CoExTRT(nn.Module):
    method __init__ (line 14) | def __init__(self, cfg):
    method forward (line 66) | def forward(self, imL):
  class FeatUp (line 103) | class FeatUp(SubModule):
    method __init__ (line 104) | def __init__(self, cfg):
    method forward (line 117) | def forward(self, x4, x8, x16, x32):
  class Feature (line 126) | class Feature(SubModule):
    method __init__ (line 127) | def __init__(self, cfg):
    method forward (line 146) | def forward(self, x):
  class Aggregation (line 159) | class Aggregation(SubModule):
    method __init__ (line 160) | def __init__(self,
    method forward (line 245) | def forward(self, x4, x8, x16, x32, cost):
  class Regression (line 300) | class Regression(SubModule):
    method __init__ (line 301) | def __init__(self,
    method forward (line 309) | def forward(self, cost, spg):
    method unfold (line 332) | def unfold(self, x):
    method topkpool (line 347) | def topkpool(self, cost):
  class CostVolume (line 355) | class CostVolume(nn.Module):
    method __init__ (line 356) | def __init__(self, maxdisp):
    method forward (line 360) | def forward(self, x, y):
  class AttentionCostVolume (line 379) | class AttentionCostVolume(nn.Module):
    method __init__ (line 380) | def __init__(self, max_disparity, in_chan, hidden_chan, head=1, weight...
    method forward (line 391) | def forward(self, imL, imR):
  class BasicConv (line 405) | class BasicConv(nn.Module):
    method __init__ (line 407) | def __init__(self, in_channels, out_channels, deconv=False, is_3d=Fals...
    method forward (line 424) | def forward(self, x):
  class BasicConvF (line 431) | class BasicConvF(nn.Module):
    method __init__ (line 433) | def __init__(self, in_channels, out_channels, deconv=False, is_3d=Fals...
    method forward (line 449) | def forward(self, x):
  class Conv2x (line 454) | class Conv2x(nn.Module):
    method __init__ (line 456) | def __init__(self, in_channels, out_channels, deconv=False, is_3d=Fals...
    method forward (line 481) | def forward(self, x, rem):

FILE: models/stereo/PSMNet.py
  function convbn (line 17) | def convbn(in_planes, out_planes, kernel_size, stride, pad, dilation):
  function convbn_3d (line 23) | def convbn_3d(in_planes, out_planes, kernel_size, stride, pad):
  class BasicBlock (line 29) | class BasicBlock(nn.Module):
    method __init__ (line 31) | def __init__(self, inplanes, planes, stride, downsample, pad, dilation):
    method forward (line 42) | def forward(self, x):
  class disparityregression (line 54) | class disparityregression(nn.Module):
    method __init__ (line 55) | def __init__(self, maxdisp):
    method forward (line 59) | def forward(self, x):
  class feature_extraction (line 64) | class feature_extraction(nn.Module):
    method __init__ (line 65) | def __init__(self):
    method _make_layer (line 100) | def _make_layer(self, block, planes, blocks, stride, pad, dilation):
    method forward (line 116) | def forward(self, x):
  class hourglass (line 142) | class hourglass(nn.Module):
    method __init__ (line 143) | def __init__(self, inplanes):
    method forward (line 163) | def forward(self, x ,presqu, postsqu):
  class PSMNet (line 184) | class PSMNet(nn.Module):
    method __init__ (line 185) | def __init__(self, cfg):
    method forward (line 257) | def forward(self, left, right, u0=None, v0=None, training=False):
    method topkpool (line 358) | def topkpool(self, cost, k):

FILE: models/stereo/submodules/Submodule.py
  class SubModule (line 11) | class SubModule(nn.Module):
    method __init__ (line 12) | def __init__(self):
    method weight_init (line 15) | def weight_init(self):

FILE: models/stereo/submodules/aggregation.py
  class Aggregation (line 14) | class Aggregation(SubModule):
    method __init__ (line 15) | def __init__(self,
    method forward (line 96) | def forward(self, img, cost):

FILE: models/stereo/submodules/feature.py
  function convbn (line 20) | def convbn(in_planes, out_planes, kernel_size, stride, pad, dilation):
  class PSMBasicBlock (line 26) | class PSMBasicBlock(nn.Module):
    method __init__ (line 28) | def __init__(self, inplanes, planes, stride, downsample, pad, dilation):
    method forward (line 39) | def forward(self, x):
  class FeatUp (line 51) | class FeatUp(SubModule):
    method __init__ (line 52) | def __init__(self, cfg):
    method forward (line 66) | def forward(self, featL, featR=None):
  class Feature (line 96) | class Feature(SubModule):
    method __init__ (line 97) | def __init__(self, cfg):
    method forward (line 225) | def forward(self, x):
    method _psm_make_layer (line 307) | def _psm_make_layer(self, block, planes, blocks, stride, pad, dilation):
  class unetUp (line 324) | class unetUp(nn.Module):
    method __init__ (line 325) | def __init__(self, in_c1, in_c2, out_c):
    method forward (line 333) | def forward(self, inputs1, inputs2):  # small scale, large scale
  class FeatUp2 (line 340) | class FeatUp2(SubModule):
    method __init__ (line 341) | def __init__(self, cfg):
    method forward (line 360) | def forward(self, featL, featR=None):
  class Feature2 (line 406) | class Feature2(SubModule):
    method __init__ (line 407) | def __init__(self, cfg):
    method forward (line 471) | def forward(self, x):

FILE: models/stereo/submodules/regression.py
  class Regression (line 11) | class Regression(SubModule):
    method __init__ (line 12) | def __init__(self,
    method forward (line 20) | def forward(self, cost, spg, training=False):
    method topkpool (line 39) | def topkpool(self, cost, k):
  class Regression2 (line 64) | class Regression2(SubModule):
    method __init__ (line 65) | def __init__(self, disp_pos, disp_neg, slant):
    method forward (line 74) | def forward(self, cost, disp_4b, spg=None, training=False):
    method topkpool (line 100) | def topkpool(self, cost, k):
    method init_grid (line 124) | def init_grid(self, ):

FILE: models/stereo/submodules/spixel_utils/spixel.py
  class Args (line 14) | class Args:
    method __init__ (line 15) | def __init__(self):
  function init_spixel_grid (line 23) | def init_spixel_grid(train_img_height=256, train_img_width=512,
  function shift9pos (line 65) | def shift9pos(input, h_shift_unit=1,  w_shift_unit=1):
  function poolfeat (line 89) | def poolfeat(input, prob, sp_h=2, sp_w=2):
  function poolfeat_ (line 144) | def poolfeat_(input, prob, sp_h=2, sp_w=2):
  function poolfeat_head (line 157) | def poolfeat_head(input, prob, sp_h=2, sp_w=2):
  function poolfeat3d (line 171) | def poolfeat3d(input, prob, sp_h=2, sp_w=2):
  function upfeat_original (line 184) | def upfeat_original(input, prob, up_h=2, up_w=2):
  function upfeat (line 225) | def upfeat(input, prob, up_h=2, up_w=2):
  function upfeatHW (line 237) | def upfeatHW(input, prob, tgt_h=2, tgt_w=2):
  function upfeat_slant (line 249) | def upfeat_slant(input, prob, slant, up_h=2, up_w=2):
  function upfeat_center (line 266) | def upfeat_center(input, up_h=2, up_w=2):
  function upfeat3d (line 275) | def upfeat3d(input, prob, up_h=2, up_w=2):
  function assign2uint8 (line 286) | def assign2uint8(assign):
  function val2uint8 (line 309) | def val2uint8(mat,maxVal):
  function update_spixl_map (line 315) | def update_spixl_map (spixl_map_idx_in, assig_map_in):
  function get_spixel_image (line 335) | def get_spixel_image(given_img, spix_index, n_spixels = 600, b_enforce_c...
  function spixlIdx (line 356) | def spixlIdx(args, b_train = False):
  class AverageMeter (line 373) | class AverageMeter(object):
    method __init__ (line 376) | def __init__(self):
    method reset (line 379) | def reset(self):
    method update (line 385) | def update(self, val, n=1):
    method __repr__ (line 391) | def __repr__(self):
  function batch2img (line 394) | def batch2img(img):
  function build_LABXY_feat (line 405) | def build_LABXY_feat(label_in, XY_feat):
  function rgb2Lab_torch (line 416) | def rgb2Lab_torch(img_in, mean_values = None):
  function label2one_hot_torch (line 455) | def label2one_hot_torch(labels, C=14):

FILE: models/stereo/submodules/spixel_utils/spixel_conv.py
  class spixel_conv2_5d (line 16) | class spixel_conv2_5d(nn.Module):
    method __init__ (line 17) | def __init__(self, in_chan, out_chan, spixel_downsize=4):
    method forward (line 39) | def forward(self, cv, sp, xy):
  class spixel_upsample2_5d (line 143) | class spixel_upsample2_5d(nn.Module):
    method __init__ (line 144) | def __init__(self, chan, out_dim, bnrelu=True, spixel_downsize=4):
    method forward (line 171) | def forward(self, cv, sp):
  class spixel_upsample2d (line 211) | class spixel_upsample2d(nn.Module):
    method __init__ (line 212) | def __init__(self, ):
    method forward (line 216) | def forward(self, cv, sp):

FILE: models/stereo/submodules/spixel_utils/spixel_loss.py
  function compute_semantic_pos_loss (line 16) | def compute_semantic_pos_loss(prob_in, labxy_feat,  pos_weight = 0.003, ...

FILE: models/stereo/submodules/spixel_utils/spixel_test.py
  function test (line 20) | def test(img, spx_pred, val_spixelID, save_path=None, im_num=None, downs...

FILE: models/stereo/submodules/util_conv.py
  class BasicConv (line 12) | class BasicConv(nn.Module):
    method __init__ (line 14) | def __init__(self, in_channels, out_channels, deconv=False, is_3d=Fals...
    method forward (line 33) | def forward(self, x):
  class Conv2x (line 42) | class Conv2x(nn.Module):
    method __init__ (line 44) | def __init__(self, in_channels, out_channels, deconv=False, is_3d=Fals...
    method forward (line 69) | def forward(self, x, rem):
  function BasicConv2d (line 84) | def BasicConv2d(in_channels, out_channels, kernel_size, stride, pad, dil...
  function BasicTransposeConv2d (line 93) | def BasicTransposeConv2d(in_channels, out_channels, kernel_size, stride,...
  function BasicConv3d (line 102) | def BasicConv3d(in_channels, out_channels, kernel_size, stride, pad, dil...
  function BasicTransposeConv3d (line 111) | def BasicTransposeConv3d(in_channels, out_channels, kernel_size, stride,...
  function conv3x3 (line 121) | def conv3x3(in_planes: int, out_planes: int, stride: int = 1, groups: in...
  function conv1x1 (line 127) | def conv1x1(in_planes: int, out_planes: int, stride: int = 1) -> nn.Conv2d:
  class BasicBlock (line 132) | class BasicBlock(nn.Module):
    method __init__ (line 135) | def __init__(
    method forward (line 162) | def forward(self, x: Tensor) -> Tensor:
  class ConvBNReLU3d (line 180) | class ConvBNReLU3d(nn.Sequential):
    method __init__ (line 181) | def __init__(
  class InvertedResidual3d (line 199) | class InvertedResidual3d(nn.Module):
    method __init__ (line 200) | def __init__(
    method forward (line 231) | def forward(self, x: Tensor) -> Tensor:
  class AtrousBlock (line 237) | class AtrousBlock(nn.Module):
    method __init__ (line 239) | def __init__(self, in_channels, out_channels, stride=1, bn=True, relu=...
    method forward (line 248) | def forward(self, x):

FILE: models/stereo/submodules/utils.py
  class CostVolume (line 12) | class CostVolume(nn.Module):
    method __init__ (line 13) | def __init__(self, maxdisp, glue=False, group=1):
    method forward (line 21) | def forward(self, x, y, v=None):
  class AttentionCostVolume (line 40) | class AttentionCostVolume(nn.Module):
    method __init__ (line 41) | def __init__(self, max_disparity, in_chan, hidden_chan, head=1, weight...
    method forward (line 52) | def forward(self, imL, imR):
  class disparityregression (line 70) | class disparityregression(nn.Module):
    method __init__ (line 71) | def __init__(self):
    method forward (line 74) | def forward(self, x, reg):
  class channelAtt (line 80) | class channelAtt(SubModule):
    method __init__ (line 81) | def __init__(self, cv_chan, im_chan, D):
    method forward (line 90) | def forward(self, cv, im):

FILE: stereo.py
  class Stereo (line 37) | class Stereo(LightningModule):
    method __init__ (line 39) | def __init__(self, cfg, dataname=None):
    method forward (line 48) | def forward(self, imgL, imgR=None, training=False):
    method training_step (line 64) | def training_step(self, batch, batch_idx):
    method validation_step (line 95) | def validation_step(self, batch, batch_idx):
    method test_step (line 148) | def test_step(self, batch, batch_idx):
    method configure_optimizers (line 233) | def configure_optimizers(self):
    method save_disp_imgs (line 243) | def save_disp_imgs(self, disp_img, filename,
  function load_configs (line 264) | def load_configs(path):
  function copy_dir (line 272) | def copy_dir(save_dir, name, save_version):
  class StereoTRT (line 465) | class StereoTRT(Stereo):
    method forward (line 467) | def forward(self, imgL):

FILE: torch_to_tensorrt.py
  function load_configs (line 32) | def load_configs(path):
  function postprocess (line 40) | def postprocess(outputs):

FILE: utils/load.py
  function make_list (line 4) | def make_list(var, n=None):
  function load_class (line 13) | def load_class(filename, paths, concat=True):
Condensed preview — 60 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,391K chars).
[
  {
    "path": ".gitignore",
    "chars": 16,
    "preview": "./demo*\n./logs/*"
  },
  {
    "path": "LICENSE",
    "chars": 35149,
    "preview": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
  },
  {
    "path": "README.md",
    "chars": 5858,
    "preview": "# CoEx\n\nPyTorch implementation of our paper: \n\n\n**Correlate-and-Excite: Real-Time Stereo Matching via Guided Cost Volume"
  },
  {
    "path": "configs/backbone.yaml",
    "chars": 546,
    "preview": "channels:\n  mobilenetv3_large_100: [16,24,40,112,160]\n  mobilenetv2_120d: [24,32,40,112,192]\n  mobilenetv2_100: [16,24,3"
  },
  {
    "path": "configs/stereo/cfg_coex.yaml",
    "chars": 1470,
    "preview": "###########################################################\ndevice: [0]\nprecision: 32\n\n#################################"
  },
  {
    "path": "configs/stereo/cfg_psm.yaml",
    "chars": 1150,
    "preview": "###########################################################\ndevice: [0]\nprecision: 32\n\n#################################"
  },
  {
    "path": "dataloaders/__init__.py",
    "chars": 21,
    "preview": "from .stereo import *"
  },
  {
    "path": "dataloaders/stereo/KITTILoader.py",
    "chars": 6322,
    "preview": "import os\r\nimport torch\r\nimport torch.utils.data as data\r\nimport torch\r\nimport torchvision.transforms as transforms\r\nimp"
  },
  {
    "path": "dataloaders/stereo/KITTIRawLoader.py",
    "chars": 13749,
    "preview": "import torch.utils.data as data\n\nfrom PIL import Image\nimport os\nimport os.path\nimport glob\nimport random\nimport numpy a"
  },
  {
    "path": "dataloaders/stereo/KITTI_submission_loader.py",
    "chars": 3138,
    "preview": "import torch.utils.data as data\r\n\r\nfrom PIL import Image\r\nimport os\r\nimport os.path\r\nimport numpy as np\r\nimport cv2\r\nfro"
  },
  {
    "path": "dataloaders/stereo/KITTIloader2012.py",
    "chars": 1744,
    "preview": "\r\nIMG_EXTENSIONS = [\r\n    '.jpg', '.JPG', '.jpeg', '.JPEG',\r\n    '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP',\r\n]\r\n\r\n\r"
  },
  {
    "path": "dataloaders/stereo/KITTIloader2015.py",
    "chars": 1762,
    "preview": "\r\nIMG_EXTENSIONS = [\r\n    '.jpg', '.JPG', '.jpeg', '.JPEG',\r\n    '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP',\r\n]\r\n\r\n\r"
  },
  {
    "path": "dataloaders/stereo/SceneFlowLoader.py",
    "chars": 4180,
    "preview": "import os\r\nimport torch\r\nimport torch.utils.data as data\r\nimport torch\r\nimport torchvision.transforms as transforms\r\nimp"
  },
  {
    "path": "dataloaders/stereo/__init__.py",
    "chars": 222,
    "preview": "from .listflowfile import *\r\nfrom .SceneFlowLoader import *\r\nfrom .KITTIloader2012 import *\r\nfrom .KITTIloader2015 impor"
  },
  {
    "path": "dataloaders/stereo/listflowfile.py",
    "chars": 5794,
    "preview": "import torch.utils.data as data\r\n\r\nfrom PIL import Image\r\nimport os\r\nimport os.path\r\nimport glob\r\nimport numpy as np\r\n\r\n"
  },
  {
    "path": "dataloaders/stereo/lists/kitti2012_test.list",
    "chars": 2730,
    "preview": "000000_10.png\n000001_10.png\n000002_10.png\n000003_10.png\n000004_10.png\n000005_10.png\n000006_10.png\n000007_10.png\n000008_1"
  },
  {
    "path": "dataloaders/stereo/lists/kitti2012_train.list",
    "chars": 2716,
    "preview": "000153_10.png\n000174_10.png\n000176_10.png\n000022_10.png\n000169_10.png\n000057_10.png\n000013_10.png\n000185_10.png\n000072_1"
  },
  {
    "path": "dataloaders/stereo/lists/kitti2012_train170.list",
    "chars": 2380,
    "preview": "000193_10.png\n000080_10.png\n000097_10.png\n000143_10.png\n000042_10.png\n000081_10.png\n000109_10.png\n000171_10.png\n000175_1"
  },
  {
    "path": "dataloaders/stereo/lists/kitti2012_val24.list",
    "chars": 336,
    "preview": "000153_10.png\n000174_10.png\n000176_10.png\n000022_10.png\n000169_10.png\n000057_10.png\n000013_10.png\n000185_10.png\n000072_1"
  },
  {
    "path": "dataloaders/stereo/lists/kitti2015_test.list",
    "chars": 2800,
    "preview": "000000_10.png\n000001_10.png\n000002_10.png\n000003_10.png\n000004_10.png\n000005_10.png\n000006_10.png\n000007_10.png\n000008_1"
  },
  {
    "path": "dataloaders/stereo/lists/kitti2015_train.list",
    "chars": 2800,
    "preview": "000179_10.png\n000128_10.png\n000122_10.png\n000178_10.png\n000173_10.png\n000100_10.png\n000114_10.png\n000037_10.png\n000071_1"
  },
  {
    "path": "dataloaders/stereo/lists/kitti2015_train180.list",
    "chars": 2520,
    "preview": "000179_10.png\n000128_10.png\n000122_10.png\n000178_10.png\n000173_10.png\n000100_10.png\n000114_10.png\n000037_10.png\n000071_1"
  },
  {
    "path": "dataloaders/stereo/lists/kitti2015_val20.list",
    "chars": 280,
    "preview": "000198_10.png\n000059_10.png\n000067_10.png\n000123_10.png\n000133_10.png\n000057_10.png\n000073_10.png\n000120_10.png\n000018_1"
  },
  {
    "path": "dataloaders/stereo/lists/middeval3_test.list",
    "chars": 256,
    "preview": "Australia/im0.png\nAustraliaP/im0.png\nBicycle2/im0.png\nClassroom2/im0.png\nClassroom2E/im0.png\nComputer/im0.png\nCrusade/im"
  },
  {
    "path": "dataloaders/stereo/lists/middeval3_train.list",
    "chars": 248,
    "preview": "Playtable/im0.png\nArtL/im0.png\nJadeplant/im0.png\nPlaytableP/im0.png\nPianoL/im0.png\nPiano/im0.png\nAdirondack/im0.png\nTedd"
  },
  {
    "path": "dataloaders/stereo/lists/sceneflow_search_trainA.list",
    "chars": 344877,
    "preview": "TRAIN/B/0111/left/0009.png\nTRAIN/B/0061/left/0007.png\nTRAIN/C/0672/left/0011.png\nTRAIN/15mm_focallength/scene_backwards/"
  },
  {
    "path": "dataloaders/stereo/lists/sceneflow_search_trainB.list",
    "chars": 341760,
    "preview": "TRAIN/A/0345/left/0014.png\nTRAIN/A/0582/left/0013.png\nTRAIN/lonetree_augmented0_x2/left/0107.png\nTRAIN/A/0186/left/0006."
  },
  {
    "path": "dataloaders/stereo/lists/sceneflow_search_val.list",
    "chars": 26000,
    "preview": "TEST/B/0060/left/0009.png\nTEST/C/0048/left/0013.png\nTEST/C/0015/left/0007.png\nTEST/C/0128/left/0006.png\nTEST/B/0034/left"
  },
  {
    "path": "dataloaders/stereo/lists/sceneflow_test.list",
    "chars": 113620,
    "preview": "TEST/C/0041/left/0015.png\nTEST/C/0041/left/0008.png\nTEST/C/0041/left/0006.png\nTEST/C/0041/left/0010.png\nTEST/C/0041/left"
  },
  {
    "path": "dataloaders/stereo/lists/sceneflow_train.list",
    "chars": 1219438,
    "preview": "TRAIN/B/0111/left/0009.png\nTRAIN/B/0061/left/0007.png\nTRAIN/C/0672/left/0011.png\nTRAIN/15mm_focallength/scene_backwards/"
  },
  {
    "path": "dataloaders/stereo/preprocess.py",
    "chars": 5249,
    "preview": "import torch\r\nimport torchvision.transforms as transforms\r\nimport random\r\n\r\nimport pdb\r\n\r\n__imagenet_stats = {'mean': [0"
  },
  {
    "path": "dataloaders/stereo/readpfm.py",
    "chars": 1024,
    "preview": "import re\r\nimport numpy as np\r\nimport sys\r\nimport cv2\r\n\r\n\r\ndef readPFM(file):\r\n    file = open(file, 'rb')\r\n    # '''\r\n "
  },
  {
    "path": "dataloaders/stereo/stereo_albumentation.py",
    "chars": 15097,
    "preview": "#  Authors: Zhaoshuo Li, Xingtong Liu, Francis X. Creighton, Russell H. Taylor, and Mathias Unberath\r\n#\r\n#  Copyright (c"
  },
  {
    "path": "dataloaders/stereo/transforms.py",
    "chars": 7945,
    "preview": "from __future__ import division\r\nimport torch\r\nimport numpy as np\r\nfrom PIL import Image\r\nimport torchvision.transforms."
  },
  {
    "path": "demo.py",
    "chars": 3198,
    "preview": "import cv2\nimport numpy as np\n\nimport torch\nfrom torch.utils.data import DataLoader\n\nfrom ruamel.yaml import YAML\n\nfrom "
  },
  {
    "path": "demo_tensorrt.py",
    "chars": 651,
    "preview": "import cv2\nimport numpy as np\n\nimport torch\nfrom torch.utils.data import DataLoader\n\nfrom ruamel.yaml import YAML\n\nfrom "
  },
  {
    "path": "demo_torchscript.py",
    "chars": 2736,
    "preview": "import cv2\nimport numpy as np\n\nimport torch\nfrom torch.utils.data import DataLoader\n\nfrom ruamel.yaml import YAML\n\nfrom "
  },
  {
    "path": "environment.yml",
    "chars": 454,
    "preview": "name: coex\nchannels:\n  - pytorch\n  - nvidia\n  - conda-forge\n  - anaconda\n  - defaults\ndependencies:\n  - python=3.7\n  - p"
  },
  {
    "path": "models/__init__.py",
    "chars": 21,
    "preview": "from .stereo import *"
  },
  {
    "path": "models/stereo/CoEx.py",
    "chars": 5773,
    "preview": "from __future__ import print_function\r\nimport torch\r\nimport torch.nn as nn\r\nimport torch.nn.functional as F\r\nfrom torch."
  },
  {
    "path": "models/stereo/CoExTRT.py",
    "chars": 17298,
    "preview": "from __future__ import print_function\r\nimport torch\r\nimport torch.nn as nn\r\nimport torch.nn.functional as F\r\nfrom torch."
  },
  {
    "path": "models/stereo/PSMNet.py",
    "chars": 16066,
    "preview": "from __future__ import print_function\r\nimport torch\r\nimport torch.nn as nn\r\nimport torch.utils.data\r\nfrom torch.autograd"
  },
  {
    "path": "models/stereo/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "models/stereo/submodules/Submodule.py",
    "chars": 1058,
    "preview": "#!/usr/bin/env python\nfrom __future__ import print_function\nimport os\nimport numpy as np\nimport torch\nimport torch.nn as"
  },
  {
    "path": "models/stereo/submodules/__init__.py",
    "chars": 1,
    "preview": "\n"
  },
  {
    "path": "models/stereo/submodules/aggregation.py",
    "chars": 4789,
    "preview": "from typing import List\n\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\n\nfrom .util_conv import Basi"
  },
  {
    "path": "models/stereo/submodules/feature.py",
    "chars": 18668,
    "preview": "#!/usr/bin/env python\nfrom __future__ import print_function\nimport os\nimport numpy as np\nfrom typing import Callable, An"
  },
  {
    "path": "models/stereo/submodules/regression.py",
    "chars": 3875,
    "preview": "#!/usr/bin/env python\nimport torch\nimport torch.nn.functional as F\n\nfrom .spixel_utils import spixel\nfrom .Submodule imp"
  },
  {
    "path": "models/stereo/submodules/spixel_utils/spixel.py",
    "chars": 18455,
    "preview": "import torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nimport numpy as np\nfrom skimage.segmentation import m"
  },
  {
    "path": "models/stereo/submodules/spixel_utils/spixel_conv.py",
    "chars": 9476,
    "preview": "import torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nimport numpy as np\nfrom skimage.segmentation import m"
  },
  {
    "path": "models/stereo/submodules/spixel_utils/spixel_loss.py",
    "chars": 1375,
    "preview": "import torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nimport numpy as np\nfrom .spixel import *\n\nimport pdb\n"
  },
  {
    "path": "models/stereo/submodules/spixel_utils/spixel_test.py",
    "chars": 1139,
    "preview": "import os\nimport torch\nimport torch.nn.functional as F\nimport torch.backends.cudnn as cudnn\nimport time\nimport random\nfr"
  },
  {
    "path": "models/stereo/submodules/util_conv.py",
    "chars": 9140,
    "preview": "#!/usr/bin/env python\nfrom __future__ import print_function\nfrom typing import Callable, Optional, List\nimport torch\nfro"
  },
  {
    "path": "models/stereo/submodules/utils.py",
    "chars": 2868,
    "preview": "from __future__ import print_function\n\nimport torch\nimport torch.nn as nn\n\nfrom .util_conv import BasicConv\nfrom .Submod"
  },
  {
    "path": "stereo.py",
    "chars": 19321,
    "preview": "import os\nimport shutil\nimport glob\nimport numpy as np\nimport cv2\nimport skimage\nimport skimage.io\n\nimport torch\nfrom to"
  },
  {
    "path": "torch_to_tensorrt.py",
    "chars": 4834,
    "preview": "import cv2\nimport numpy as np\nimport os\n\nimport torch\nimport torch.nn.functional as F\nfrom torch.utils.data import DataL"
  },
  {
    "path": "utils/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "utils/load.py",
    "chars": 571,
    "preview": "import importlib\n\n\ndef make_list(var, n=None):\n    var = var if isinstance(var, list) else [var]\n    if n is None:\n     "
  }
]

// ... and 2 more files (download for full content)

About this extraction

This page contains the full source code of the antabangun/coex GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 60 files (44.8 MB), approximately 581.6k tokens, and a symbol index with 326 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!