Exemplo n.º 1
0
import matplotlib.pyplot as plt
import numpy as np
from data import utils
import os

lmk_input = '/home/zhang/ming/save_for_lmk/'
pic_input = '/home/zhang/ming/save_for_pic/'
pic_filename = os.listdir(pic_input)
lmk_filename = os.listdir(lmk_input)

for img_name in pic_filename:
    img = plt.imread(pic_input + img_name)
    out = (np.transpose(img, (2, 0, 1))).astype(np.uint8)
    lmk = utils.read_mat(lmk_input + img_name + '.txt')
    output = utils.draw_landmarks(out, lmk / 255, (255, 0, 0))
    output = np.transpose(output, (1, 2, 0))
    plt.imshow(output)
    plt.show()
Exemplo n.º 2
0
        if cfg.device == all_pb2.GPU:
            images = images.cuda()
            landmarks = landmarks.cuda()

        out = net(images)
        # backprop
        optimizer.zero_grad()
        loss = criterion(out, landmarks)
        loss.backward()
        optimizer.step()
        if iteration % 100 == 0:
            image = images.cpu().data.numpy()[0]
            gt = landmarks.cpu().data.numpy()
            pr = out.cpu().data.numpy()
            # 绿色的真实landmark
            image = draw_landmarks(image, gt[0], (0, 255, 0))
            # 红色的预测landmark
            image = draw_landmarks(image, pr[0], (0, 0, 255))
            image = image[::-1, ...]
            nme = metrics.nme.update(np.reshape(gt, (-1, gt.shape[1]//2, 2)), np.reshape(pr, (-1, gt.shape[1]//2, 2)))
            metrics.auc.update(nme)
            metrics.loss.update(loss)
            writer.add_scalar("watch/NME", metrics.nme.value * 100, iteration)
            writer.add_scalar("watch/AUC", metrics.auc.value * 100, iteration)
            writer.add_scalar("watch/loss", metrics.loss.value, iteration)
            writer.add_scalar("watch/learning_rate", lr, iteration)

            writer.add_image("result", image, iteration)
            writer.add_histogram("predictionx", out.cpu().data.numpy()[:, 0:212:2], iteration)
            state = net.state_dict()
            saver.save(state, iteration)
Exemplo n.º 3
0
import numpy as np
import cv2
from data import utils

imgdir = '/data/icme/data/picture/AFW_5452623_1_5.jpg'
landmarks = utils.read_mat('/data/icme/data/landmark/AFW_5452623_1_5.jpg.txt')
bbox = utils.read_bbox('/data/icme/bbox/AFW_5452623_1_5.jpg.rect')
img = cv2.imread(imgdir)
minx, miny, maxx, maxy = bbox
img = img[miny:maxy+1, minx:maxx+1, :]
landmarks = utils.norm_landmarks(landmarks, bbox)
img, landmarks = utils.random_flip(img, landmarks, 1)

img = np.transpose(img, (2, 0, 1))
img = utils.draw_landmarks(img, landmarks, (255, 255, 255))
img = np.transpose(img, (1, 2, 0))

cv2.imshow('', img)
cv2.waitKey(0)