示例#1
0
    def __init__(self):
        positivePairsDistribution = [countPairs(os.listdir(
            os.path.join(FACES_PATH, member))) for member in ALL_MEMBERS]
        positivePairProbabilities = Distribution.normalizeDistribution(
            positivePairsDistribution)
        positivePairIntervals = Distribution.distributionToIntervals(
            positivePairProbabilities)

        totalImages = functools.reduce(
            add, [len(os.listdir(os.path.join(FACES_PATH, member))) for member in ALL_MEMBERS])
        negativePairsDistribution = []
        for member in ALL_MEMBERS:
            numMemberImages = len(os.listdir(os.path.join(FACES_PATH, member)))
            negativePairsDistribution.append(
                (totalImages - numMemberImages) * numMemberImages * 2)
        negativePairsProbabilities = Distribution.normalizeDistribution(
            negativePairsDistribution)
        negativePairsIntervals = Distribution.distributionToIntervals(
            negativePairsProbabilities)

        self.positivePairsSegmentTree = SegmentTree.createSegmentTreeFromIntervals(
            positivePairIntervals, ALL_MEMBERS)
        self.negativePairsSegmentTree = SegmentTree.createSegmentTreeFromIntervals(
            negativePairsIntervals, ALL_MEMBERS)
        self.memberPaths = {
            member: [os.path.join(FACES_PATH, member, imgName) for imgName in os.listdir(
                os.path.join(FACES_PATH, member))]
            for member in ALL_MEMBERS}
        self.allPaths = set(
            [imgPath for member, imgPaths in self.memberPaths.items() for imgPath in imgPaths])
        self.memberPathsComplements = {
            member: self.allPaths - set(self.memberPaths[member]) for member in ALL_MEMBERS}
示例#2
0
    def __init__(self):
        imageDistribution = [
            countPairs(os.listdir(os.path.join(FACES_PATH, member)))
            for member in ALL_MEMBERS
        ]
        memberProbabilities = Distribution.normalizeDistribution(
            imageDistribution)
        memberIntervals = Distribution.distributionToIntervals(
            memberProbabilities)

        self.memberSegmentTree = SegmentTree.createSegmentTreeFromIntervals(
            memberIntervals, ALL_MEMBERS)
        self.memberPaths = {
            member: [
                os.path.join(FACES_PATH, member, imgName)
                for imgName in os.listdir(os.path.join(FACES_PATH, member))
            ]
            for member in ALL_MEMBERS
        }
        self.allPaths = set([
            imgPath for member, imgPaths in self.memberPaths.items()
            for imgPath in imgPaths
        ])
        self.memberPathsComplements = {
            member: self.allPaths - set(self.memberPaths[member])
            for member in ALL_MEMBERS
        }