• 分类项目思路


    可以让客户端,每次选版型时,自动写入json数据到这个json文件。


    1.用init(int type,vector)

    配置是可以的,但是不能写死。一次配置不算写死。

    1、传入的json_input:
    [ {"type": i},{ "objType1": "string1"}, { "objType2": "string2"},{ "objType3": "string3"},{ "objType4": "string4"}。。。。。]

    不同机型弄不同的文件夹。

    机型1所在的配置文件,是相对路径但是有命名规范。

    config_1cfgfile
    config_1weightsfile
    config_1 amesfile


    config_2cfgfile
    config_2weightsfile
    config_2 amesfile

    不同机型
    根据 num_class =json_input.sizeOf() -1 可以得到板具有的类别数目
    比如那么就可以调用初始化API:init()           
                    for (j,j<=num_class)
                    {     obj_class_j.cfg = config_i/string_j.cfg                     机型i中的obj-j类别对应的cfg

                    obj_class_j.weights = config_i/string_j.weights            机型i中的obj-j类别对应的weights

                    obj_class_j.names = config_i/string_j.names                 机型i中的obj-j类别对应的names

                    pred_classifier_i_ string_j= pred_cls ( obj_class_j.cfg , obj_class_j.weights, obj_class_j.names )     }

                                                                               num_area = json_i.sizeOf()

    2、
                    初始化result结构体{int type; items[nums_area]  }
                    for (int n =0 ;n<=num_area;n++){
                        Mat area_i = rect [  json_i_n   ]
                        predict    //根据机型i和area的字符串去预测。predict_i_string(area_classname)

                        } 


    这里用循环写即可。
                    
                    obj_class1.cfg = string1-1.cfg   obj1类别对应的cfg
                    obj_class2.cfg = string1-2.cfg     obj2类别对应的cfg
                    obj_class3.cfg = string1-3.cfg     obj3类别对应的cfg

                    obj_class1.weights = string1-1..weights    obj1类别对应的weights    
                    obj_class2.weights = string1-2..weights    obj2类别对应的weights
                    obj_class3.weights = string1-3..weights    obj3类别对应的weights    

                    obj_class1.names = string1-1.names     obj1类别对应的weights    
                    obj_class2.names= string1-2.names      obj2类别对应的weights
                    obj_class3.names= string1-3.names     obj3类别对应的weights
    根据类别数目num_class

    模型的初始化:


    首先根据i,可以找到json文件下的json_i,里面有对应的坐标位置。

    修改了classifier.c和yolo_v2_class.hpp


    螺钉一类,线序一类,大件一类,一共三个模型完事。

    螺钉B1 B2 B3 NO
    线序 L1 L2 L3 L4 L5 L6 L7 L8 L9   完事 
    大件:C1 C2 C3 

    首先是裁剪图片并命名,B1-1 B1-2 B1-3......
    然后是生成 train.txt和valid.txt
    然后配置文件。
    训练权重。

    注意最后导出的darklib是NOGPU的。

  • 相关阅读:
    c# 三元运算符 表达式赋值的时候 我老容易写错 备注下
    wpf 图片操作类 ImageBrush BitmapImage
    WPF 结合 微软的手写板 进行输入
    c# 经纬度距离计算
    c# 通用类扩展方法 备注
    Android SDK Manager无法更新的解决(转帖)
    GridControl相关设置
    SDK Manager.exe运行一闪而过
    “LC.exe”已退出 或者 设计器提示控件为声明
    建立管理员帐户
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725181.html
Copyright © 2020-2023  润新知