Skip to content
Snippets Groups Projects
Commit 06deef6a authored by Tiago de Freitas Pereira's avatar Tiago de Freitas Pereira
Browse files

First push

parent 5ad8d606
Branches
Tags
No related merge requests found
#!/usr/bin/env python
# vim: set fileencoding=utf-8 :
# @author: Elie Khoury <Elie.Khoury@idiap.ch>
# @date: Thu Aug 22 17:43:04 CEST 2013
#
# Copyright (C) 2012-2014 Idiap Research Institute, Martigny, Switzerland
#
# 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, version 3 of the License.
#
# 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 <http://www.gnu.org/licenses/>.
"""
Details about the Voxforge database can be found here:
http://www.voxforge.org/
"""
from .query import Database
from bob.db.verification.filelist.models import File, Client
def get_config():
"""Returns a string containing the configuration information.
"""
import pkg_resources
packages = pkg_resources.require(__name__)
this = packages[0]
deps = packages[1:]
retval = "%s: %s (%s)\n" % (this.key, this.version, this.location)
retval += " - python dependencies:\n"
for d in deps: retval += " - %s: %s (%s)\n" % (d.key, d.version, d.location)
return retval.strip()
# gets sphinx autodoc done right - don't remove it
__all__ = [_ for _ in dir() if not _.startswith('_')]
#!/usr/bin/env python
# vim: set fileencoding=utf-8 :
# Laurent El Shafey <laurent.el-shafey@idiap.ch>
# Fri Aug 23 16:51:41 CEST 2013
#
# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
#
# 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, version 3 of the License.
#
# 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 <http://www.gnu.org/licenses/>.
"""Commands the CASIA NIR-VIS 2.0 database can respond to.
"""
import os
import sys
from bob.db.base.driver import Interface as BaseInterface
def dumplist(args):
"""Dumps lists of files based on your criteria"""
from .query import Database
db = Database()
r = db.objects(
purposes=args.purpose,
groups=args.group,
)
output = sys.stdout
if args.selftest:
from bob.db.base.utils import null
output = null()
for f in r:
output.write('%s\n' % f.make_path(directory=args.directory,extension=args.extension))
return 0
def checkfiles(args):
"""Checks existence of files based on your criteria"""
from .query import Database
db = Database()
r = db.objects()
# go through all files, check if they are available on the filesystem
good = []
bad = []
for f in r:
if os.path.exists(f.make_path(args.directory, args.extension)): good.append(f)
else: bad.append(f)
# report
output = sys.stdout
if args.selftest:
from bob.db.base.utils import null
output = null()
if bad:
for f in bad:
output.write('Cannot find file "%s"\n' % f.make_path(args.directory, args.extension))
output.write('%d files (out of %d) were not found at "%s"\n' % \
(len(bad), len(r), args.directory))
return 0
class Interface(BaseInterface):
def name(self):
return 'voxforge'
def version(self):
import pkg_resources # part of setuptools
return pkg_resources.require('bob.db.%s' % self.name())[0].version
def files(self):
return ()
def type(self):
return 'text'
def add_commands(self, parser):
from . import __doc__ as docs
subparsers = self.setup_parser(parser,
"Voxforge database", docs)
import argparse
# the "dumplist" action
parser = subparsers.add_parser('dumplist', help=dumplist.__doc__)
parser.add_argument('-d', '--directory', default='', help="if given, this path will be prepended to every entry returned.")
parser.add_argument('-e', '--extension', default='', help="if given, this extension will be appended to every entry returned.")
parser.add_argument('-u', '--purpose', help="if given, this value will limit the output files to those designed for the given purposes.", choices=('enrol', 'probe', ''))
parser.add_argument('-g', '--group', help="if given, this value will limit the output files to those belonging to a particular protocolar group.", choices=('dev', 'eval', 'world', 'optional_world_1', 'optional_world_2', ''))
parser.add_argument('--self-test', dest="selftest", action='store_true', help=argparse.SUPPRESS)
parser.set_defaults(func=dumplist) #action
# the "checkfiles" action
parser = subparsers.add_parser('checkfiles', help=checkfiles.__doc__)
parser.add_argument('-l', '--list-directory', required=True, help="The directory which contains the file lists.")
parser.add_argument('-d', '--directory', dest="directory", default='', help="if given, this path will be prepended to every entry returned.")
parser.add_argument('-e', '--extension', dest="extension", default='', help="if given, this extension will be appended to every entry returned.")
parser.add_argument('--self-test', dest="selftest", action='store_true', help=argparse.SUPPRESS)
parser.set_defaults(func=checkfiles) #action
This database has 5 protocols.
For the moment only one protocol is developed
CUHK protocol, 188 pairs in total
57 for training
56 for development
75 for testing
photos/f-005-01 f005
sketches/F2-005-01-sz1 f005
photos/f-006-01 f006
sketches/F2-006-01-sz1 f006
photos/f-007-01 f007
sketches/F2-007-01-sz1 f007
photos/f-008-01 f008
sketches/F2-008-01-sz1 f008
photos/f-009-01 f009
sketches/F2-009-01-sz1 f009
photos/f-010-01 f010
sketches/F2-010-01-sz1 f010
photos/f-011-01 f011
sketches/F2-011-01-sz1 f011
photos/f-012-01 f012
sketches/F2-012-01-sz1 f012
photos/f-013-01 f013
sketches/F2-013-01-sz1 f013
photos/f-014-01 f014
sketches/F2-014-01-sz1 f014
photos/f-015-01 f015
sketches/F2-015-01-sz1 f015
photos/f-016-01 f016
sketches/F2-016-01-sz1 f016
photos/f-017-01 f017
sketches/F2-017-01-sz1 f017
photos/f-018-01 f018
sketches/F2-018-01-sz1 f018
photos/f-019-01 f019
sketches/F2-019-01-sz1 f019
photos/f-020-01 f020
sketches/F2-020-01-sz1 f020
photos/f-021-01 f021
sketches/F2-021-01-sz1 f021
photos/f-022-01 f022
sketches/F2-022-01-sz1 f022
photos/f-023-01 f023
sketches/F2-023-01-sz1 f023
photos/f-024-01 f024
sketches/F2-024-01-sz1 f024
photos/f-025-01 f025
sketches/F2-025-01-sz1 f025
photos/f-026-01 f026
sketches/F2-026-01-sz1 f026
photos/f-027-01 f027
sketches/F2-027-01-sz1 f027
photos/f-028-01 f028
sketches/F2-028-01-sz1 f028
photos/f-029-01 f029
sketches/F2-029-01-sz1 f029
photos/f-030-01 f030
sketches/F2-030-01-sz1 f030
photos/f-031-01 f031
sketches/F2-031-01-sz1 f031
photos/f-032-01 f032
sketches/F2-032-01-sz1 f032
photos/f-033-01 f033
sketches/F2-033-01-sz1 f033
photos/f-034-01 f034
sketches/F2-034-01-sz1 f034
photos/f-035-01 f035
sketches/F2-035-01-sz1 f035
photos/f-036-01 f036
sketches/F2-036-01-sz1 f036
photos/f-037-01 f037
sketches/F2-037-01-sz1 f037
photos/f-038-01 f038
sketches/F2-038-01-sz1 f038
photos/f-039-01 f039
sketches/f-039-01-sz1 f039
photos/f-040-01 f040
sketches/f-040-01-sz1 f040
photos/f-041-01 f041
sketches/f-041-01-sz1 f041
photos/f-042-01 f042
sketches/f-042-01-sz1 f042
photos/f-043-01 f043
sketches/f-043-01-sz1 f043
photos/f1-001-01 f1001
sketches/f1-001-01-sz1 f1001
photos/f1-002-01 f1002
sketches/f1-002-01-sz1 f1002
photos/f1-003-01 f1003
sketches/f1-003-01-sz1 f1003
photos/f1-004-01 f1004
sketches/f1-004-01-sz1 f1004
photos/f1-005-01 f1005
sketches/f1-005-01-sz1 f1005
photos/f1-006-01 f1006
sketches/f1-006-01-sz1 f1006
photos/f1-007-01 f1007
sketches/f1-007-01-sz1 f1007
photos/f1-008-01 f1008
sketches/f1-008-01-sz1 f1008
photos/f1-009-01 f1009
sketches/f1-009-01-sz1 f1009
photos/f1-010-01 f1010
sketches/f1-010-01-sz1 f1010
photos/f1-011-01 f1011
sketches/f1-011-01-sz1 f1011
photos/f1-012-01 f1012
sketches/f1-012-01-sz1 f1012
photos/f1-013-01 f1013
sketches/f1-013-01-sz1 f1013
photos/f1-014-01 f1014
sketches/f1-014-01-sz1 f1014
photos/f1-015-01 f1015
sketches/f1-015-01-sz1 f1015
photos/m-008-01 m008
sketches/M2-008-01-sz1 m008
photos/m-009-01 m009
sketches/M2-009-01-sz1 m009
photos/m-010-01 m010
sketches/M2-010-01-sz1 m010
photos/m-011-01 m011
sketches/M2-011-01-sz1 m011
photos/m-012-01 m012
sketches/M2-012-01-sz1 m012
photos/m-013-01 m013
sketches/M2-013-01-sz1 m013
photos/m-014-01 m014
sketches/M2-014-01-sz1 m014
photos/m-015-01 m015
sketches/M2-015-01-sz1 m015
photos/m-016-01 m016
sketches/M2-016-01-sz1 m016
photos/m-017-01 m017
sketches/M2-017-01-sz1 m017
photos/m-018-01 m018
sketches/M2-018-01-sz1 m018
photos/m-019-01 m019
sketches/M2-019-01-sz1 m019
photos/m-021-01 m021
sketches/M2-021-01-sz1 m021
photos/m-022-01 m022
sketches/M2-022-01-sz1 m022
photos/m-023-01 m023
sketches/M2-023-01-sz1 m023
photos/m-024-01 m024
sketches/M2-024-01-sz1 m024
photos/m-025-01 m025
sketches/M2-025-01-sz1 m025
photos/m-026-01 m026
sketches/M2-026-01-sz1 m026
photos/m-027-01 m027
sketches/M2-027-01-sz1 m027
photos/m-028-01 m028
sketches/M2-028-01-sz1 m028
photos/m-029-01 m029
sketches/M2-029-01-sz1 m029
photos/m-030-01 m030
sketches/M2-030-01-sz1 m030
photos/m-031-01 m031
sketches/M2-031-01-sz1 m031
photos/m-032-01 m032
sketches/M2-032-01-sz1 m032
photos/m-033-01 m033
sketches/M2-033-01-sz1 m033
photos/m-034-01 m034
sketches/M2-034-01-sz1 m034
photos/m-035-01 m035
sketches/M2-035-01-sz1 m035
photos/m-036-01 m036
sketches/M2-036-01-sz1 m036
photos/m-037-01 m037
sketches/M2-037-01-sz1 m037
photos/m-038-01 m038
sketches/M2-038-01-sz1 m038
photos/m-039-01 m039
sketches/M2-039-01-sz1 m039
photos/m-040-01 m040
sketches/M2-040-01-sz1 m040
photos/m-041-01 m041
sketches/M2-041-01-sz1 m041
photos/m-042-01 m042
sketches/M2-042-01-sz1 m042
photos/m-043-01 m043
sketches/M2-043-01-sz1 m043
photos/m-044-01 m044
sketches/M2-044-01-sz1 m044
photos/m-045-01 m045
sketches/M2-045-01-sz1 m045
photos/m-046-01 m046
sketches/M2-046-01-sz1 m046
photos/m-047-01 m047
sketches/M2-047-01-sz1 m047
photos/m-048-01 m048
sketches/M2-048-01-sz1 m048
photos/m-049-01 m049
sketches/M2-049-01-sz1 m049
photos/m-050-01 m050
sketches/M2-050-01-sz1 m050
photos/m-051-01 m051
sketches/M2-051-01-sz1 m051
photos/m-052-01 m052
sketches/M2-052-01-sz1 m052
photos/m-053-01 m053
sketches/M2-053-01-sz1 m053
photos/m-054-01 m054
sketches/M2-054-01-sz1 m054
photos/m-055-01 m055
sketches/M2-055-01-sz1 m055
photos/m-056-01 m056
sketches/M2-056-01-sz1 m056
photos/m-057-01 m057
sketches/M2-057-01-sz1 m057
photos/m-058-01 m058
sketches/M2-058-01-sz1 m058
photos/m-059-01 m059
sketches/M2-059-01-sz1 m059
photos/m-060-01 m060
sketches/M2-060-01-sz1 m060
photos/m-061-01 m061
sketches/M2-061-01-sz1 m061
photos/m-062-01 m062
sketches/M2-062-01-sz1 m062
photos/m-063-01 m063
sketches/m-063-01-sz1 m063
photos/m-064-01 m064
sketches/m-064-01-sz1 m064
photos/m-065-01 m065
sketches/m-065-01-sz1 m065
photos/m-066-01 m066
sketches/m-066-01-sz1 m066
photos/m-067-01 m067
sketches/m-067-01-sz1 m067
photos/m-068-01 m068
sketches/m-068-01-sz1 m068
photos/m-069-01 m069
sketches/m-069-01-sz1 m069
photos/m-070-01 m070
sketches/m-070-01-sz1 m070
photos/m-071-01 m071
sketches/m-071-01-sz1 m071
photos/m-072-01 m072
sketches/m-072-01-sz1 m072
photos/m-073-01 m073
sketches/m-073-01-sz1 m073
photos/m-074-01 m074
sketches/m-074-01-sz1 m074
photos/m-075-01 m075
sketches/m-075-01-sz1 m075
photos/m-076-01 m076
sketches/m-076-01-sz1 m076
photos/m-077-01 m077
sketches/m-077-01-sz1 m077
photos/m-078-01 m078
sketches/m-078-01-sz1 m078
photos/m-079-01 m079
sketches/m-079-01-sz1 m079
photos/m-080-01 m080
sketches/m-080-01-sz1 m080
photos/m-081-01 m081
sketches/m-081-01-sz1 m081
photos/m-082-01 m082
sketches/m-082-01-sz1 m082
photos/m-083-01 m083
sketches/m-083-01-sz1 m083
photos/m-084-01 m084
sketches/m-084-01-sz1 m084
photos/m-085-01 m085
sketches/m-085-01-sz1 m085
photos/m-086-01 m086
sketches/m-086-01-sz1 m086
photos/m-087-01 m087
sketches/m-087-01-sz1 m087
photos/m-088-01 m088
sketches/m-088-01-sz1 m088
photos/m-089-01 m089
sketches/m-089-01-sz1 m089
photos/m-090-01 m090
sketches/m-090-01-sz1 m090
photos/m-091-01 m091
sketches/m-091-01-sz1 m091
photos/m-092-01 m092
sketches/m-092-01-sz1 m092
photos/m-093-01 m093
sketches/m-093-01-sz1 m093
photos/m-094-01 m094
sketches/m-094-01-sz1 m094
photos/m-095-01 m095
sketches/m-095-01-sz1 m095
photos/m-096-01 m096
sketches/m-096-01-sz1 m096
photos/m-097-01 m097
sketches/m-097-01-sz1 m097
photos/m-098-01 m098
sketches/m-098-01-sz1 m098
photos/m-099-01 m099
sketches/m-099-01-sz1 m099
photos/m-100-01 m100
sketches/m-100-01-sz1 m100
photos/m1-001-01 m1001
sketches/m1-001-01-sz1 m1001
photos/m1-002-01 m1002
sketches/m1-002-01-sz1 m1002
photos/m1-003-01 m1003
sketches/m1-003-01-sz1 m1003
photos/m1-004-01 m1004
sketches/m1-004-01-sz1 m1004
photos/m1-005-01 m1005
sketches/m1-005-01-sz1 m1005
photos/m1-006-01 m1006
sketches/m1-006-01-sz1 m1006
photos/m1-007-01 m1007
sketches/m1-007-01-sz1 m1007
photos/m1-008-01 m1008
sketches/m1-008-01-sz1 m1008
photos/m1-009-01 m1009
sketches/m1-009-01-sz1 m1009
photos/m1-010-01 m1010
sketches/m1-010-01-sz1 m1010
photos/m-101-01 m101
sketches/m-101-01-sz1 m101
photos/m1-011-01 m1011
sketches/m1-011-01-sz1 m1011
photos/m1-012-01 m1012
sketches/m1-012-01-sz1 m1012
photos/m1-013-01 m1013
sketches/m1-013-01-sz1 m1013
photos/m1-014-01 m1014
sketches/m1-014-01-sz1 m1014
photos/m1-015-01 m1015
sketches/m1-015-01-sz1 m1015
photos/m1-016-01 m1016
sketches/m1-016-01-sz1 m1016
photos/m1-017-01 m1017
sketches/m1-017-01-sz1 m1017
photos/m1-018-01 m1018
sketches/m1-018-01-sz1 m1018
photos/m1-019-01 m1019
sketches/m1-019-01-sz1 m1019
photos/m1-020-01 m1020
sketches/m1-020-01-sz1 m1020
photos/m1-021-01 m1021
sketches/m1-021-01-sz1 m1021
photos/m1-022-01 m1022
sketches/m1-022-01-sz1 m1022
photos/m1-023-01 m1023
sketches/m1-023-01-sz1 m1023
photos/m1-024-01 m1024
sketches/m1-024-01-sz1 m1024
photos/m1-025-01 m1025
sketches/m1-025-01-sz1 m1025
photos/m1-026-01 m1026
sketches/m1-026-01-sz1 m1026
photos/m1-027-01 m1027
sketches/m1-027-01-sz1 m1027
photos/m1-028-01 m1028
sketches/m1-028-01-sz1 m1028
photos/m1-029-01 m1029
sketches/m1-029-01-sz1 m1029
photos/m1-030-01 m1030
sketches/m1-030-01-sz1 m1030
photos/m1-031-01 m1031
sketches/m1-031-01-sz1 m1031
photos/m1-032-01 m1032
sketches/m1-032-01-sz1 m1032
photos/m1-033-01 m1033
sketches/m1-033-01-sz1 m1033
photos/m1-034-01 m1034
sketches/m1-034-01-sz1 m1034
photos/m1-035-01 m1035
sketches/m1-035-01-sz1 m1035
photos/m1-036-01 m1036
sketches/m1-036-01-sz1 m1036
photos/m1-037-01 m1037
sketches/m1-037-01-sz1 m1037
photos/m1-038-01 m1038
sketches/m1-038-01-sz1 m1038
photos/m1-039-01 m1039
sketches/m1-039-01-sz1 m1039
photos/m1-040-01 m1040
sketches/m1-040-01-sz1 m1040
photos/m1-041-01 m1041
sketches/m1-041-01-sz1 m1041
photos/f-015-01 f015 f015
photos/m-055-01 m055 m055
photos/f-007-01 f007 f007
photos/m1-010-01 m1010 m1010
photos/m-048-01 m048 m048
photos/m1-034-01 m1034 m1034
photos/f-031-01 f031 f031
photos/m-014-01 m014 m014
photos/m-065-01 m065 m065
photos/f-006-01 f006 f006
photos/m1-015-01 m1015 m1015
photos/m-088-01 m088 m088
photos/m-037-01 m037 m037
photos/m-073-01 m073 m073
photos/f1-010-01 f1010 f1010
photos/f-010-01 f010 f010
photos/m-041-01 m041 m041
photos/f-036-01 f036 f036
photos/m-071-01 m071 m071
photos/m-012-01 m012 m012
photos/m-026-01 m026 m026
photos/m-010-01 m010 m010
photos/m-016-01 m016 m016
photos/m-034-01 m034 m034
photos/m-087-01 m087 m087
photos/m-035-01 m035 m035
photos/f-018-01 f018 f018
photos/m-057-01 m057 m057
photos/m-052-01 m052 m052
photos/f-013-01 f013 f013
photos/m1-023-01 m1023 m1023
photos/m1-011-01 m1011 m1011
photos/m-072-01 m072 m072
photos/f1-005-01 f1005 f1005
photos/m1-017-01 m1017 m1017
photos/m-054-01 m054 m054
photos/m-013-01 m013 m013
photos/m-045-01 m045 m045
photos/f-033-01 f033 f033
photos/f-021-01 f021 f021
photos/f-038-01 f038 f038
photos/m-053-01 m053 m053
photos/f-030-01 f030 f030
photos/f-027-01 f027 f027
photos/m-056-01 m056 m056
photos/m-064-01 m064 m064
photos/m1-018-01 m1018 m1018
photos/m1-033-01 m1033 m1033
photos/m1-001-01 m1001 m1001
photos/m-046-01 m046 m046
photos/m1-008-01 m1008 m1008
photos/f-040-01 f040 f040
photos/m-068-01 m068 m068
photos/f-029-01 f029 f029
photos/m-027-01 m027 m027
photos/m-084-01 m084 m084
sketches/F2-015-01-sz1 f015
sketches/M2-055-01-sz1 m055
sketches/F2-007-01-sz1 f007
sketches/m1-010-01-sz1 m1010
sketches/M2-048-01-sz1 m048
sketches/m1-034-01-sz1 m1034
sketches/F2-031-01-sz1 f031
sketches/M2-014-01-sz1 m014
sketches/m-065-01-sz1 m065
sketches/F2-006-01-sz1 f006
sketches/m1-015-01-sz1 m1015
sketches/m-088-01-sz1 m088
sketches/M2-037-01-sz1 m037
sketches/m-073-01-sz1 m073
sketches/f1-010-01-sz1 f1010
sketches/F2-010-01-sz1 f010
sketches/M2-041-01-sz1 m041
sketches/F2-036-01-sz1 f036
sketches/m-071-01-sz1 m071
sketches/M2-012-01-sz1 m012
sketches/M2-026-01-sz1 m026
sketches/M2-010-01-sz1 m010
sketches/M2-016-01-sz1 m016
sketches/M2-034-01-sz1 m034
sketches/m-087-01-sz1 m087
sketches/M2-035-01-sz1 m035
sketches/F2-018-01-sz1 f018
sketches/M2-057-01-sz1 m057
sketches/M2-052-01-sz1 m052
sketches/F2-013-01-sz1 f013
sketches/m1-023-01-sz1 m1023
sketches/m1-011-01-sz1 m1011
sketches/m-072-01-sz1 m072
sketches/f1-005-01-sz1 f1005
sketches/m1-017-01-sz1 m1017
sketches/M2-054-01-sz1 m054
sketches/M2-013-01-sz1 m013
sketches/M2-045-01-sz1 m045
sketches/F2-033-01-sz1 f033
sketches/F2-021-01-sz1 f021
sketches/F2-038-01-sz1 f038
sketches/M2-053-01-sz1 m053
sketches/F2-030-01-sz1 f030
sketches/F2-027-01-sz1 f027
sketches/M2-056-01-sz1 m056
sketches/m-064-01-sz1 m064
sketches/m1-018-01-sz1 m1018
sketches/m1-033-01-sz1 m1033
sketches/m1-001-01-sz1 m1001
sketches/M2-046-01-sz1 m046
sketches/m1-008-01-sz1 m1008
sketches/f-040-01-sz1 f040
sketches/m-068-01-sz1 m068
sketches/F2-029-01-sz1 f029
sketches/M2-027-01-sz1 m027
sketches/m-084-01-sz1 m084
photos/f-035-01 f035 f035
photos/m-008-01 m008 m008
photos/m-082-01 m082 m082
photos/m-096-01 m096 m096
photos/m1-040-01 m1040 m1040
photos/m-078-01 m078 m078
photos/m1-004-01 m1004 m1004
photos/f-034-01 f034 f034
photos/m-028-01 m028 m028
photos/m-081-01 m081 m081
photos/m-033-01 m033 m033
photos/m1-009-01 m1009 m1009
photos/f1-013-01 f1013 f1013
photos/f-039-01 f039 f039
photos/f-012-01 f012 f012
photos/m1-032-01 m1032 m1032
photos/f-005-01 f005 f005
photos/f-041-01 f041 f041
photos/m-036-01 m036 m036
photos/m1-006-01 m1006 m1006
photos/m-022-01 m022 m022
photos/m-070-01 m070 m070
photos/f-017-01 f017 f017
photos/m-101-01 m101 m101
photos/m-093-01 m093 m093
photos/m-029-01 m029 m029
photos/f1-009-01 f1009 f1009
photos/m-091-01 m091 m091
photos/f1-002-01 f1002 f1002
photos/m-018-01 m018 m018
photos/f-022-01 f022 f022
photos/m-089-01 m089 m089
photos/m-066-01 m066 m066
photos/m1-007-01 m1007 m1007
photos/m1-038-01 m1038 m1038
photos/m-077-01 m077 m077
photos/m-044-01 m044 m044
photos/m-031-01 m031 m031
photos/m-099-01 m099 m099
photos/m1-026-01 m1026 m1026
photos/m-095-01 m095 m095
photos/m1-013-01 m1013 m1013
photos/m-090-01 m090 m090
photos/m1-037-01 m1037 m1037
photos/m-030-01 m030 m030
photos/f-009-01 f009 f009
photos/f-037-01 f037 f037
photos/f-019-01 f019 f019
photos/f1-003-01 f1003 f1003
photos/m1-016-01 m1016 m1016
photos/m1-022-01 m1022 m1022
photos/m-069-01 m069 m069
photos/f1-008-01 f1008 f1008
photos/f1-015-01 f1015 f1015
photos/f1-012-01 f1012 f1012
photos/m1-021-01 m1021 m1021
photos/m-015-01 m015 m015
photos/m-032-01 m032 m032
photos/f-043-01 f043 f043
photos/m-058-01 m058 m058
photos/m-025-01 m025 m025
photos/m-062-01 m062 m062
photos/m1-002-01 m1002 m1002
photos/f-011-01 f011 f011
photos/m-050-01 m050 m050
photos/m-074-01 m074 m074
photos/m-009-01 m009 m009
photos/m-039-01 m039 m039
photos/f1-014-01 f1014 f1014
photos/m-017-01 m017 m017
photos/f-042-01 f042 f042
photos/m-097-01 m097 m097
photos/m1-024-01 m1024 m1024
photos/f-028-01 f028 f028
photos/m-076-01 m076 m076
sketches/F2-035-01-sz1 f035
sketches/M2-008-01-sz1 m008
sketches/m-082-01-sz1 m082
sketches/m-096-01-sz1 m096
sketches/m1-040-01-sz1 m1040
sketches/m-078-01-sz1 m078
sketches/m1-004-01-sz1 m1004
sketches/F2-034-01-sz1 f034
sketches/M2-028-01-sz1 m028
sketches/m-081-01-sz1 m081
sketches/M2-033-01-sz1 m033
sketches/m1-009-01-sz1 m1009
sketches/f1-013-01-sz1 f1013
sketches/f-039-01-sz1 f039
sketches/F2-012-01-sz1 f012
sketches/m1-032-01-sz1 m1032
sketches/F2-005-01-sz1 f005
sketches/f-041-01-sz1 f041
sketches/M2-036-01-sz1 m036
sketches/m1-006-01-sz1 m1006
sketches/M2-022-01-sz1 m022
sketches/m-070-01-sz1 m070
sketches/F2-017-01-sz1 f017
sketches/m-101-01-sz1 m101
sketches/m-093-01-sz1 m093
sketches/M2-029-01-sz1 m029
sketches/f1-009-01-sz1 f1009
sketches/m-091-01-sz1 m091
sketches/f1-002-01-sz1 f1002
sketches/M2-018-01-sz1 m018
sketches/F2-022-01-sz1 f022
sketches/m-089-01-sz1 m089
sketches/m-066-01-sz1 m066
sketches/m1-007-01-sz1 m1007
sketches/m1-038-01-sz1 m1038
sketches/m-077-01-sz1 m077
sketches/M2-044-01-sz1 m044
sketches/M2-031-01-sz1 m031
sketches/m-099-01-sz1 m099
sketches/m1-026-01-sz1 m1026
sketches/m-095-01-sz1 m095
sketches/m1-013-01-sz1 m1013
sketches/m-090-01-sz1 m090
sketches/m1-037-01-sz1 m1037
sketches/M2-030-01-sz1 m030
sketches/F2-009-01-sz1 f009
sketches/F2-037-01-sz1 f037
sketches/F2-019-01-sz1 f019
sketches/f1-003-01-sz1 f1003
sketches/m1-016-01-sz1 m1016
sketches/m1-022-01-sz1 m1022
sketches/m-069-01-sz1 m069
sketches/f1-008-01-sz1 f1008
sketches/f1-015-01-sz1 f1015
sketches/f1-012-01-sz1 f1012
sketches/m1-021-01-sz1 m1021
sketches/M2-015-01-sz1 m015
sketches/M2-032-01-sz1 m032
sketches/f-043-01-sz1 f043
sketches/M2-058-01-sz1 m058
sketches/M2-025-01-sz1 m025
sketches/M2-062-01-sz1 m062
sketches/m1-002-01-sz1 m1002
sketches/F2-011-01-sz1 f011
sketches/M2-050-01-sz1 m050
sketches/m-074-01-sz1 m074
sketches/M2-009-01-sz1 m009
sketches/M2-039-01-sz1 m039
sketches/f1-014-01-sz1 f1014
sketches/M2-017-01-sz1 m017
sketches/f-042-01-sz1 f042
sketches/m-097-01-sz1 m097
sketches/m1-024-01-sz1 m1024
sketches/F2-028-01-sz1 f028
sketches/m-076-01-sz1 m076
photos/m-059-01 m059
sketches/M2-059-01-sz1 m059
photos/m1-041-01 m1041
sketches/m1-041-01-sz1 m1041
photos/f1-007-01 f1007
sketches/f1-007-01-sz1 f1007
photos/m-023-01 m023
sketches/M2-023-01-sz1 m023
photos/m1-020-01 m1020
sketches/m1-020-01-sz1 m1020
photos/f1-004-01 f1004
sketches/f1-004-01-sz1 f1004
photos/m1-014-01 m1014
sketches/m1-014-01-sz1 m1014
photos/m1-027-01 m1027
sketches/m1-027-01-sz1 m1027
photos/m-021-01 m021
sketches/M2-021-01-sz1 m021
photos/m1-005-01 m1005
sketches/m1-005-01-sz1 m1005
photos/m-040-01 m040
sketches/M2-040-01-sz1 m040
photos/m1-029-01 m1029
sketches/m1-029-01-sz1 m1029
photos/f-032-01 f032
sketches/F2-032-01-sz1 f032
photos/m1-028-01 m1028
sketches/m1-028-01-sz1 m1028
photos/m-080-01 m080
sketches/m-080-01-sz1 m080
photos/m-086-01 m086
sketches/m-086-01-sz1 m086
photos/m1-003-01 m1003
sketches/m1-003-01-sz1 m1003
photos/m1-012-01 m1012
sketches/m1-012-01-sz1 m1012
photos/f1-006-01 f1006
sketches/f1-006-01-sz1 f1006
photos/f-020-01 f020
sketches/F2-020-01-sz1 f020
photos/m-094-01 m094
sketches/m-094-01-sz1 m094
photos/m-098-01 m098
sketches/m-098-01-sz1 m098
photos/m-092-01 m092
sketches/m-092-01-sz1 m092
photos/m-042-01 m042
sketches/M2-042-01-sz1 m042
photos/f-025-01 f025
sketches/F2-025-01-sz1 f025
photos/m-047-01 m047
sketches/M2-047-01-sz1 m047
photos/m-079-01 m079
sketches/m-079-01-sz1 m079
photos/f-024-01 f024
sketches/F2-024-01-sz1 f024
photos/m1-035-01 m1035
sketches/m1-035-01-sz1 m1035
photos/m1-025-01 m1025
sketches/m1-025-01-sz1 m1025
photos/m-060-01 m060
sketches/M2-060-01-sz1 m060
photos/f-016-01 f016
sketches/F2-016-01-sz1 f016
photos/m-019-01 m019
sketches/M2-019-01-sz1 m019
photos/f-014-01 f014
sketches/F2-014-01-sz1 f014
photos/m1-039-01 m1039
sketches/m1-039-01-sz1 m1039
photos/m1-030-01 m1030
sketches/m1-030-01-sz1 m1030
photos/m-038-01 m038
sketches/M2-038-01-sz1 m038
photos/m-083-01 m083
sketches/m-083-01-sz1 m083
photos/m1-036-01 m1036
sketches/m1-036-01-sz1 m1036
photos/m-085-01 m085
sketches/m-085-01-sz1 m085
photos/m-043-01 m043
sketches/M2-043-01-sz1 m043
photos/m-051-01 m051
sketches/M2-051-01-sz1 m051
photos/f-023-01 f023
sketches/F2-023-01-sz1 f023
photos/m1-019-01 m1019
sketches/m1-019-01-sz1 m1019
photos/m-063-01 m063
sketches/m-063-01-sz1 m063
photos/m-100-01 m100
sketches/m-100-01-sz1 m100
photos/f-026-01 f026
sketches/F2-026-01-sz1 f026
photos/m-024-01 m024
sketches/M2-024-01-sz1 m024
photos/m-075-01 m075
sketches/m-075-01-sz1 m075
photos/f1-011-01 f1011
sketches/f1-011-01-sz1 f1011
photos/f1-001-01 f1001
sketches/f1-001-01-sz1 f1001
photos/m-067-01 m067
sketches/m-067-01-sz1 m067
photos/m-061-01 m061
sketches/M2-061-01-sz1 m061
photos/m1-031-01 m1031
sketches/m1-031-01-sz1 m1031
photos/m-049-01 m049
sketches/M2-049-01-sz1 m049
photos/m-011-01 m011
sketches/M2-011-01-sz1 m011
photos/f-008-01 f008
sketches/F2-008-01-sz1 f008
"""
This script is not part of the package, it is just for organize it.
This script generates the train set, dev set and evaluation set for a given input file.
Since in all protocols of this database we have only one pair per identity, we will define the number of identies as #lines/2
photo first, sketch after
"""
import numpy
input_file = "all-cuhk.lst"
files_train = 57
files_dev = 56
files_eval = 75
files = open(input_file).readlines()
N = len(files)/2
assert N == files_train + files_dev + files_eval
indexes = numpy.array(range(N))
numpy.random.shuffle(indexes)
def get_lines_from_file(files, line_number):
text = ""
text += files[line_number]
text += files[line_number+1]
return text
#train set
i = 0
train_text = ""
for j in range(files_train):
train_text += get_lines_from_file(files, indexes[i]*2)
i+=1
open("train_world.lst","w").write(train_text)
#dev set
dev_models_text = ""
dev_probes_text = ""
for j in range(files_dev):
text = get_lines_from_file(files, indexes[i]*2)
dev_models_text += text.split("\n")[0] + " " + text.split("\n")[0].split(" ")[1] + "\n"
dev_probes_text += text.split("\n")[1] + "\n"
i+=1
open("for_models.lst","w").write(dev_models_text)
open("for_probes.lst","w").write(dev_probes_text)
#eval set
eval_models_text = ""
eval_probes_text = ""
for j in range(files_eval):
text = get_lines_from_file(files, indexes[i]*2)
eval_models_text += text.split("\n")[0] + " " + text.split("\n")[0].split(" ")[1] + "\n"
eval_probes_text += text.split("\n")[1] + "\n"
i+=1
open("eval_for_models.lst","w").write(eval_models_text)
open("eval_for_probes.lst","w").write(eval_probes_text)
"""
This script is not part of the package, it is just for organize it.
"""
import os
HTML_OUTPUT = False
def search_photo2sketch(photo_file_name, sketches):
prefix = photo_file_name.split("-")[0]
id = photo_file_name.split("-")[1]
for s in sketches:
prefix_s = s.split("-")[0]
id_s = s.split("-")[1]
#if id=="040" and id_s=="040" and id==id_s:
#import ipdb; ipdb.set_trace();
# print prefix + " -- " + prefix_s
if prefix=="f" and prefix_s=="F2" and id == id_s:
return s
elif prefix=="f" and prefix_s=="f" and id == id_s:
return s
elif prefix=="f1" and prefix_s=="f1" and id == id_s:
return s
elif prefix=="m" and (prefix_s=="m" or prefix_s=="M2") and id == id_s:
return s
elif prefix=="m1" and prefix_s=="m1"and id == id_s:
return s
return ""
input_dir = "/idiap/resource/database/CUHK-CUFS/CUHK-student-dataset/"
sketches_dir = os.path.join(input_dir,"sketches")
photos_dir = os.path.join(input_dir,"photos")
sketches = open("sketches").readlines()
photos = open("photos").readlines()
if not HTML_OUTPUT:
text = ""
for p in photos:
sketch_file = search_photo2sketch(p, sketches)
prefix = p.split("-")[0]
id = p.split("-")[1]
text += os.path.join("photos",p.rstrip("*\n")) + " " + prefix + id + "\n"
text += os.path.join("sketches",sketch_file.rstrip("*\n")) + " " + prefix + id + "\n"
open("all.lst",'w').write(text)
else:
html = "<html><body>"
html += "<table>"
for p in photos:
html += "<tr>"
html += "<td><img src='file://"+ os.path.join(photos_dir, p.rstrip("*\n")) +"'></td>"
sketch_file = search_photo2sketch(p, sketches)
html += "<td><img src='"+ os.path.join(sketches_dir, sketch_file.rstrip("*\n")) +"'></td>"
html += "</tr>\n"
html += "</table>"
html += "</body></html>"
open("output.html",'w').write(html)
#!/usr/bin/env python
# vim: set fileencoding=utf-8 :
# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
# Thu Oct 09 11:27:27 CEST 2014
#
# Copyright (C) 2012-2014 Idiap Research Institute, Martigny, Switzerland
#
# 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, version 3 of the License.
#
# 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 <http://www.gnu.org/licenses/>.
import bob.db.verification.filelist
class Database(bob.db.verification.filelist.Database):
"""Wrapper class for the CASIA NIR-VIS 2.0 database for face recognition recognition (http://www.cbsr.ia.ac.cn/english/NIR-VIS-2.0-Database.html).
this class defines a simple protocol for training, dev and and by splitting the audio files of the database in three main parts.
"""
def __init__(self, original_directory = None, original_extension = None, annotation_directory=None):
# call base class constructor
from pkg_resources import resource_filename
lists = resource_filename(__name__, 'lists')
bob.db.verification.filelist.Database.__init__(self, lists, original_directory = original_directory, original_extension = original_extension, annotation_directory=annotation_directory)
def tobjects(self, protocol=None, model_ids=None, groups=None):
#No TObjects
return []
def zobjects(self, protocol=None, groups=None):
#No TObjects
return []
#!/usr/bin/env python
# vim: set fileencoding=utf-8 :
# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
# Thu Oct 09 11:27:27 CEST 2014
#
# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
#
# 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, version 3 of the License.
#
# 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 <http://www.gnu.org/licenses/>.
"""A few checks on the protocols of a subset of the CUHK database
"""
import bob.db.cuhk
possible_protocols = ["cuhk"]
def test_protocols():
import os
db = bob.db.cuhk.Database()
available_protocols = os.listdir(db.get_base_directory())
for p in possible_protocols:
assert p in available_protocols
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment