SeuTao / FaceBagNet

FaceBagNet - Patch-based Methods for Multi-modal Face Anti-spoofing (FAS)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

error: (-215:Assertion failed) !ssize.empty() in function 'resize'

yuemengyuan opened this issue · comments

commented

作者你好,感谢你的开源,但我在运行代码的时候遇到了如下问题,请问你可以给我一些指导吗?谢谢~
Traceback (most recent call last):
in getitem
image = cv2.resize(image,(RESIZE_SIZE,RESIZE_SIZE))
cv2.error: OpenCV(3.4.2) /tmp/build/80754af9/opencv-suite_1535558553474/work/modules/imgproc/src/resize.cpp:4044: error: (-215:Assertion failed) !ssize.empty() in function 'resize'

commented
def __getitem__(self, index):

    if self.fold_index is None:
        print('WRONG!!!!!!! fold index is NONE!!!!!!!!!!!!!!!!!')
        return

    if self.mode == 'train':
        if self.balance:
            if random.randint(0,1)==0:
                tmp_list = self.train_list[0]       
            else:
                tmp_list = self.train_list[1]

            pos = random.randint(0,len(tmp_list)-1)     
        else:
            color,depth,ir,label = self.train_list[index]

    elif self.mode == 'val':
        color,depth,ir,label = self.val_list[index]

    elif self.mode == 'test':
        color, depth, ir = self.test_list[index]
        test_id = color + ' ' + depth + ' ' + ir

    if self.modality=='color':
        img_path = os.path.join(DATA_ROOT, color)
    elif self.modality=='depth':
        img_path = os.path.join(DATA_ROOT, depth)
    elif self.modality=='ir':
        img_path = os.path.join(DATA_ROOT, ir)

    image = cv2.imread(img_path,1)
    image = cv2.resize(image,(RESIZE_SIZE,RESIZE_SIZE))

这是相关代码..

commented

数据路径修改了嘛?

commented

我的是可以跑通的,再就是txt中的格式了,如下
Training/fake_part/CLKJ_AS0005/04_en_b.rssdk/color/101_tl.jpg Training/fake_part/CLKJ_AS0005/04_en_b.rssdk/depth/101_tl.jpg Training/fake_part/CLKJ_AS0005/04_en_b.rssdk/ir/101_tl.jpg 0

commented

@Adarine99 请问这三个是在同一行吗

commented

是的,在同一行,题主用的dataset包含color、depth、ir三种图像格式

dataset在哪下载?

commented

dataset在哪下载?

在数据集论文里可以申请

commented

看错误是读不到图片呀,试试打log,
data_helper.py
`def load_train_list():
list = []
f = open(DATA_ROOT + '/train.txt')
lines = f.readlines()

for line in lines:
    line = line.strip().split(' ')
    list.append(line)
return list`

data.py
` elif self.mode == 'train':
self.train_list = load_train_list()

        random.shuffle(self.train_list)
        self.num_data = len(self.train_list)

        if self.balance:
            self.train_list = transform_balance(self.train_list)
        print('set dataset mode: train')`

把train_list打印出来,看看对不对,一步步追到resize那里

下载下来的数据没有验证集,你们是怎么处理的?

commented

看错误是读不到图片呀,试试打log,
data_helper.py
`def load_train_list():
list = []
f = open(DATA_ROOT + '/train.txt')
lines = f.readlines()

for line in lines:
    line = line.strip().split(' ')
    list.append(line)
return list`

data.py
` elif self.mode == 'train':
self.train_list = load_train_list()

        random.shuffle(self.train_list)
        self.num_data = len(self.train_list)

        if self.balance:
            self.train_list = transform_balance(self.train_list)
        print('set dataset mode: train')`

把train_list打印出来,看看对不对,一步步追到resize那里

谢谢,我已经解决了,train_list里可以显示图片路径,但是image读取的是none,因为我把数据放到了一个新建的文件夹里,但是在data.py里img_path是DATA_ROOT+color,我加上我的文件名路径后就可以了,谢谢你的帮助

下载下来的数据没有验证集,你们是怎么处理的?

请问你是在哪下载的数据

你们下载的Training是一个文件夹还是一个文件?