这里的代码相当于一个接口,将图片中目标物体的位置信息输入进行细粒度分类,它可以连接流行的网络:SSD,Faster Rcnn
等,将识别的图片输入,再根据slim
的fine-tuning
模型进行细粒度划分。
其中,cut_image
函数是用于对输入的整张图片根据目标位置进行分割保存的,xmin,ymin,xmax,ymax
分别是目标物体的左上角和右下角的坐标,abspath_demo_image
是输入整张图片的位置目录,abspath_test_classify
是对整张图片上的目标根据坐标位置分割后的目录,image_name
是图片的名字前缀(例如:130.jpg,image_name就是130),i
是表示图片上的第几个目标。当要使用此函数是只需要调用此函数并传入相应的参数即可。
函数init_tf
是初始化导入模型
类NodeLookup是将标签对应的ID值转换便于识别的内容
函数evaluate_image
是进行目标图片的具体识别分类
函数vis_classify
:首先调用函数init_tf()
函数进行导入模型,这里等于只导入一次,避免了重复导入时的内存得不到及时的释放,而产生内存爆炸,程序”已杀死“的错误。然后开始将识别出的图片内容保存成json
字符串存入相应的txt文本。
因为我是识别的鸟类信息,所以中间一直写的鸟的相关字符串
import cv2
import os,time
import json
import numpy as np
impor