这章节我会讲解的是我在工作上自己开发的项目,模糊度判断,该项目我是将图像质量评价论文–hypernet网络移植到mmclassification中进行图片质量评估,若有地方说错的我会第一时间纠正,如果觉得博主讲解的还可以的话点个赞,就是对我最大的鼓励~
本章节我们将进行的是模型的测试,我们准备了3张图片,将分别进行质量预测。
本人自己编写的image_demo.py为测试图片的图像质量已在github上提供。
from argparse import ArgumentParser
import numpy as np
import os
from mmcls.apis import inference_model, init_model, show_result_pyplot
def main():
parser = ArgumentParser()
parser.add_argument('--img', help='Image file')
parser.add_argument('--config', help='Config file')
parser.add_argument('--checkpoint', help='Checkpoint file')
parser.add_argument('--file_path', help='image file')
parser.add_argument('--output_path', help='image file')
parser.add_argument(
'--device', default='cuda:0', help='Device used for inference')
args = parser.parse_args()
# 从配置文件中建立网络和导入模型
for root, dirs, files in os.walk(args.file_path):
files.sort()
for i in range(len(files)):
model = init_model(args.config, args.checkpoint, device=args.device)
result = inference_model(model, os.path.join(root,files[i]))
image_name = files[i] + ' ' + '%.2f' % result + '\n'
#这里会在该路径输出一个txt文件,方便查看图片对应的图片质量分值
with open(os.path.join(args.file_path,'total.txt'),"a+") as f:
f.write(image_name)
print(f'|{files[i]}——Predicted quality score: %.2f|' % result)
print('-' * 50)
if __name__ == '__main__':
main()
第一张图片预测分值:26.89
第二张图片预测分值:80.28
第三张图片预测分值:55.52
可以说预测的是非常准确的,当然这个分值是一个大概的分值并不准确的一个分值。