zhangmeng
2019-06-25 0310fadbdc218cb40e89b179e2b1638c385c4502
合并feature和compare
2个文件已修改
394 ■■■■ 已修改文件
sdk.pb.go 388 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk.proto 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk.pb.go
@@ -6,7 +6,7 @@
import (
    encoding_binary "encoding/binary"
    fmt "fmt"
    proto "github.com/golang/protobuf/proto"
    proto "github.com/gogo/protobuf/proto"
    io "io"
    math "math"
)
@@ -20,7 +20,7 @@
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
// Image ipc struct
type Image struct {
@@ -29,9 +29,6 @@
    Data                 []byte   `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
    Timestamp            string   `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    Id                   int64    `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *Image) Reset()         { *m = Image{} }
@@ -107,9 +104,6 @@
    Pitch                int32    `protobuf:"varint,2,opt,name=pitch,proto3" json:"pitch,omitempty"`
    Roll                 int32    `protobuf:"varint,3,opt,name=roll,proto3" json:"roll,omitempty"`
    Confidence           float32  `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *FaceAngle) Reset()         { *m = FaceAngle{} }
@@ -179,9 +173,6 @@
    Race                 int32    `protobuf:"varint,3,opt,name=race,proto3" json:"race,omitempty"`
    Beauty               int32    `protobuf:"varint,4,opt,name=beauty,proto3" json:"beauty,omitempty"`
    Smile                int32    `protobuf:"varint,5,opt,name=smile,proto3" json:"smile,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *ThftResult) Reset()         { *m = ThftResult{} }
@@ -261,9 +252,6 @@
    FAngle               *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
    Quality              int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
    FacialData           []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
    XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    XXX_unrecognized     []byte     `json:"-"`
    XXX_sizecache        int32      `json:"-"`
}
func (m *FacePos) Reset()         { *m = FacePos{} }
@@ -365,9 +353,6 @@
    Quality              int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
    FacialData           []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
    FaceID               int64      `protobuf:"varint,9,opt,name=faceID,proto3" json:"faceID,omitempty"`
    XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    XXX_unrecognized     []byte     `json:"-"`
    XXX_sizecache        int32      `json:"-"`
}
func (m *FaceInfo) Reset()         { *m = FaceInfo{} }
@@ -470,9 +455,6 @@
    RcObj                *Rect    `protobuf:"bytes,1,opt,name=rcObj,proto3" json:"rcObj,omitempty"`
    Typ                  int32    `protobuf:"varint,2,opt,name=typ,proto3" json:"typ,omitempty"`
    Prob                 float32  `protobuf:"fixed32,3,opt,name=prob,proto3" json:"prob,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *ObjInfo) Reset()         { *m = ObjInfo{} }
@@ -533,9 +515,6 @@
type ResultFaceDetect struct {
    Pos                  *FacePos    `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
    Result               *ThftResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
    XXX_NoUnkeyedLiteral struct{}    `json:"-"`
    XXX_unrecognized     []byte      `json:"-"`
    XXX_sizecache        int32       `json:"-"`
}
func (m *ResultFaceDetect) Reset()         { *m = ResultFaceDetect{} }
@@ -587,9 +566,6 @@
type ParamFacePos struct {
    Faces                []*ResultFaceDetect `protobuf:"bytes,1,rep,name=faces,proto3" json:"faces,omitempty"`
    XXX_NoUnkeyedLiteral struct{}            `json:"-"`
    XXX_unrecognized     []byte              `json:"-"`
    XXX_sizecache        int32               `json:"-"`
}
func (m *ParamFacePos) Reset()         { *m = ParamFacePos{} }
@@ -634,9 +610,7 @@
type ParamFaceFeature struct {
    Feats                [][]byte `protobuf:"bytes,1,rep,name=feats,proto3" json:"feats,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
    CompareResult []byte   `protobuf:"bytes,2,opt,name=compareResult,proto3" json:"compareResult,omitempty"`
}
func (m *ParamFaceFeature) Reset()         { *m = ParamFaceFeature{} }
@@ -679,58 +653,9 @@
    return nil
}
// sdk face extract
type ParamFaceCompare struct {
    Feat1                []byte   `protobuf:"bytes,1,opt,name=feat1,proto3" json:"feat1,omitempty"`
    Feat2                []byte   `protobuf:"bytes,2,opt,name=feat2,proto3" json:"feat2,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *ParamFaceCompare) Reset()         { *m = ParamFaceCompare{} }
func (m *ParamFaceCompare) String() string { return proto.CompactTextString(m) }
func (*ParamFaceCompare) ProtoMessage()    {}
func (*ParamFaceCompare) Descriptor() ([]byte, []int) {
    return fileDescriptor_70decb0fb6f436df, []int{9}
}
func (m *ParamFaceCompare) XXX_Unmarshal(b []byte) error {
    return m.Unmarshal(b)
}
func (m *ParamFaceCompare) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    if deterministic {
        return xxx_messageInfo_ParamFaceCompare.Marshal(b, m, deterministic)
    } else {
        b = b[:cap(b)]
        n, err := m.MarshalTo(b)
        if err != nil {
            return nil, err
        }
        return b[:n], nil
    }
}
func (m *ParamFaceCompare) XXX_Merge(src proto.Message) {
    xxx_messageInfo_ParamFaceCompare.Merge(m, src)
}
func (m *ParamFaceCompare) XXX_Size() int {
    return m.Size()
}
func (m *ParamFaceCompare) XXX_DiscardUnknown() {
    xxx_messageInfo_ParamFaceCompare.DiscardUnknown(m)
}
var xxx_messageInfo_ParamFaceCompare proto.InternalMessageInfo
func (m *ParamFaceCompare) GetFeat1() []byte {
func (m *ParamFaceFeature) GetCompareResult() []byte {
    if m != nil {
        return m.Feat1
    }
    return nil
}
func (m *ParamFaceCompare) GetFeat2() []byte {
    if m != nil {
        return m.Feat2
        return m.CompareResult
    }
    return nil
}
@@ -738,16 +663,13 @@
// sdk yolo detect
type ParamYoloObj struct {
    Infos                []*ObjInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
    XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    XXX_unrecognized     []byte     `json:"-"`
    XXX_sizecache        int32      `json:"-"`
}
func (m *ParamYoloObj) Reset()         { *m = ParamYoloObj{} }
func (m *ParamYoloObj) String() string { return proto.CompactTextString(m) }
func (*ParamYoloObj) ProtoMessage()    {}
func (*ParamYoloObj) Descriptor() ([]byte, []int) {
    return fileDescriptor_70decb0fb6f436df, []int{10}
    return fileDescriptor_70decb0fb6f436df, []int{9}
}
func (m *ParamYoloObj) XXX_Unmarshal(b []byte) error {
    return m.Unmarshal(b)
@@ -793,7 +715,6 @@
    proto.RegisterType((*ResultFaceDetect)(nil), "protomsg.ResultFaceDetect")
    proto.RegisterType((*ParamFacePos)(nil), "protomsg.ParamFacePos")
    proto.RegisterType((*ParamFaceFeature)(nil), "protomsg.ParamFaceFeature")
    proto.RegisterType((*ParamFaceCompare)(nil), "protomsg.ParamFaceCompare")
    proto.RegisterType((*ParamYoloObj)(nil), "protomsg.ParamYoloObj")
}
@@ -801,46 +722,46 @@
var fileDescriptor_70decb0fb6f436df = []byte{
    // 640 bytes of a gzipped FileDescriptorProto
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x54, 0xcf, 0x6e, 0xd3, 0x4e,
    0x10, 0xfe, 0xd9, 0xa9, 0x9d, 0x66, 0x5a, 0xf5, 0x17, 0x96, 0x0a, 0x59, 0x15, 0x8a, 0x22, 0x83,
    0x68, 0x10, 0x50, 0x68, 0x38, 0x70, 0x43, 0xfc, 0x29, 0x95, 0x2a, 0x01, 0x8d, 0x56, 0x70, 0xe0,
    0xb8, 0xb1, 0xd7, 0x8e, 0x8b, 0xed, 0x35, 0xf6, 0x44, 0x25, 0x6f, 0xc2, 0x23, 0x71, 0xe0, 0xc0,
    0x23, 0xa0, 0x22, 0xde, 0x03, 0xed, 0x78, 0x5d, 0xbb, 0x52, 0x38, 0x71, 0xe5, 0x94, 0xfd, 0x66,
    0x3e, 0xef, 0x37, 0xdf, 0xcc, 0x4e, 0x60, 0x50, 0x85, 0x1f, 0x0f, 0x8a, 0x52, 0xa1, 0x62, 0x9b,
    0xf4, 0x93, 0x55, 0xf1, 0x1e, 0xcc, 0x45, 0x25, 0xeb, 0xa8, 0x7f, 0x0e, 0xce, 0x49, 0x26, 0x62,
    0xc9, 0x76, 0xc1, 0x39, 0x4f, 0x42, 0x5c, 0x78, 0xd6, 0xd8, 0x9a, 0x38, 0xbc, 0x06, 0xec, 0x06,
    0xb8, 0x0b, 0x99, 0xc4, 0x0b, 0xf4, 0x6c, 0x0a, 0x1b, 0xc4, 0x18, 0x6c, 0x84, 0x02, 0x85, 0xd7,
    0x1b, 0x5b, 0x93, 0x6d, 0x4e, 0x67, 0x76, 0x13, 0x06, 0x98, 0x64, 0xb2, 0x42, 0x91, 0x15, 0xde,
    0xc6, 0xd8, 0x9a, 0x0c, 0x78, 0x1b, 0x60, 0x3b, 0x60, 0x27, 0xa1, 0xe7, 0x8c, 0xad, 0x49, 0x8f,
    0xdb, 0x49, 0xe8, 0xc7, 0x30, 0x38, 0x16, 0x81, 0x7c, 0x9e, 0xc7, 0xa9, 0x64, 0x43, 0xe8, 0xad,
    0xc4, 0xb9, 0x91, 0xd6, 0x47, 0x5d, 0x4e, 0x91, 0x60, 0xb0, 0x30, 0xba, 0x35, 0xd0, 0xb2, 0xa5,
    0x4a, 0x53, 0x92, 0x75, 0x38, 0x9d, 0xd9, 0x08, 0x20, 0x50, 0x79, 0x94, 0x84, 0x32, 0x0f, 0x24,
    0xe9, 0xda, 0xbc, 0x13, 0xf1, 0x3f, 0x03, 0xbc, 0x5b, 0x44, 0xc8, 0x65, 0xb5, 0x4c, 0x51, 0x1b,
    0x8a, 0x65, 0x1e, 0xca, 0xd2, 0x88, 0x19, 0xa4, 0x2b, 0x10, 0xb1, 0x34, 0x6a, 0xfa, 0x48, 0x5a,
    0x22, 0x90, 0x97, 0x5a, 0x22, 0x90, 0xfa, 0xeb, 0xb9, 0x14, 0x4b, 0x5c, 0x91, 0x8e, 0xc3, 0x0d,
    0xd2, 0xd5, 0x56, 0x59, 0x92, 0x4a, 0xf2, 0xe7, 0xf0, 0x1a, 0xf8, 0xdf, 0x6c, 0xe8, 0x6b, 0x8f,
    0x33, 0x55, 0xb1, 0x3b, 0xe0, 0x96, 0x81, 0x06, 0xa4, 0xbb, 0x35, 0xdd, 0x39, 0x68, 0xc6, 0x71,
    0xc0, 0x65, 0x80, 0xdc, 0x64, 0xd9, 0x03, 0x18, 0x14, 0xf8, 0x5a, 0x46, 0xf8, 0x6a, 0x55, 0x57,
    0xb3, 0x35, 0xfd, 0xbf, 0xa5, 0xce, 0x54, 0x92, 0x23, 0x6f, 0x19, 0xec, 0x21, 0x40, 0x81, 0x5c,
    0x8f, 0x44, 0xf3, 0x7b, 0xeb, 0xf9, 0x1d, 0x0a, 0xbb, 0x0b, 0xfd, 0x02, 0xdf, 0xa8, 0x25, 0x2e,
    0xc8, 0xc2, 0x1a, 0x76, 0x93, 0x67, 0xfb, 0xe0, 0x16, 0xf8, 0x56, 0x55, 0xb5, 0xab, 0x35, 0x4c,
    0x93, 0x66, 0xf7, 0xc0, 0x8d, 0x68, 0x8e, 0x9e, 0x4b, 0xc4, 0xeb, 0x2d, 0xf1, 0x72, 0xc4, 0xdc,
    0x50, 0x98, 0x07, 0xfd, 0x4f, 0x4b, 0x91, 0x26, 0xb8, 0xf2, 0xfa, 0xd4, 0xac, 0x06, 0xea, 0x41,
    0x46, 0x22, 0x48, 0x44, 0x7a, 0xa4, 0x5f, 0xd6, 0x26, 0xbd, 0xac, 0x4e, 0xc4, 0xff, 0x65, 0xc3,
    0xa6, 0xbe, 0xef, 0x24, 0x8f, 0xd4, 0xbf, 0x7e, 0xfe, 0x75, 0x3f, 0xf5, 0x63, 0x8e, 0x74, 0x3b,
    0x8f, 0xbc, 0x01, 0x6d, 0xa5, 0x41, 0xfe, 0x7b, 0xe8, 0x9f, 0xce, 0xcf, 0xa8, 0xcb, 0xb7, 0xc1,
    0x29, 0x83, 0xd3, 0xf9, 0xd9, 0x1f, 0x9a, 0x5c, 0x27, 0xf5, 0xee, 0xe0, 0xaa, 0x68, 0x76, 0x07,
    0x57, 0x85, 0xde, 0x9d, 0xa2, 0x54, 0x73, 0x6a, 0xa0, 0xcd, 0xe9, 0xec, 0x4b, 0x18, 0xd6, 0x3b,
    0xa8, 0x3d, 0x1c, 0x49, 0x94, 0x01, 0xb2, 0x5b, 0xd0, 0x2b, 0x54, 0x65, 0x6e, 0xbf, 0x76, 0xd5,
    0xe6, 0x4c, 0x55, 0x5c, 0x67, 0xd9, 0x7d, 0x70, 0x4b, 0xfa, 0xd0, 0xcc, 0x6f, 0xb7, 0xe5, 0xb5,
    0x8b, 0xcd, 0x0d, 0xc7, 0x7f, 0x06, 0xdb, 0x33, 0x51, 0x8a, 0xac, 0x59, 0xbc, 0x47, 0xe0, 0x68,
    0x5f, 0x5a, 0xa4, 0x37, 0xd9, 0x9a, 0xee, 0x75, 0x2d, 0x5c, 0xad, 0x86, 0xd7, 0x44, 0x7f, 0x02,
    0xc3, 0xcb, 0x1b, 0x8e, 0xa5, 0xc0, 0x65, 0x49, 0xff, 0x8e, 0x91, 0x14, 0x58, 0xdf, 0xb2, 0xcd,
    0x6b, 0xe0, 0x3f, 0xed, 0x30, 0x5f, 0xaa, 0xac, 0x10, 0x2d, 0xf3, 0x90, 0x4c, 0x19, 0xe6, 0x61,
    0x13, 0x9d, 0x92, 0x05, 0x13, 0x9d, 0xfa, 0x4f, 0x4c, 0xad, 0x1f, 0x54, 0xaa, 0x74, 0x23, 0xf7,
    0xc1, 0x49, 0xf2, 0x48, 0x35, 0xb5, 0x76, 0x1a, 0x62, 0x06, 0xc2, 0xeb, 0xfc, 0x8b, 0xe1, 0xd7,
    0x8b, 0x91, 0xf5, 0xfd, 0x62, 0x64, 0xfd, 0xb8, 0x18, 0x59, 0x5f, 0x7e, 0x8e, 0xfe, 0x9b, 0xbb,
    0x44, 0x7d, 0xfc, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x99, 0xb3, 0x14, 0x59, 0xf1, 0x05, 0x00, 0x00,
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x54, 0xc1, 0x6e, 0xd3, 0x40,
    0x10, 0xad, 0x9d, 0xda, 0x69, 0xa6, 0xa1, 0x94, 0xa5, 0x42, 0x56, 0x85, 0xac, 0xc8, 0x54, 0x34,
    0x08, 0x28, 0xa8, 0x1c, 0xb8, 0x02, 0x2a, 0x95, 0x2a, 0x41, 0x1b, 0xad, 0xe0, 0xc0, 0x71, 0x63,
    0xaf, 0x1d, 0x17, 0xdb, 0x6b, 0xec, 0x89, 0x4a, 0xfe, 0x82, 0xcf, 0xe2, 0xc0, 0xa1, 0x47, 0x8e,
    0xa8, 0x15, 0xff, 0x81, 0x66, 0xbd, 0xae, 0x53, 0xa9, 0x9c, 0xb8, 0x72, 0xca, 0xbe, 0x99, 0xe7,
    0x7d, 0xf3, 0x66, 0x76, 0x02, 0x83, 0x3a, 0xfa, 0xbc, 0x57, 0x56, 0x0a, 0x15, 0x5b, 0xd3, 0x3f,
    0x79, 0x9d, 0x6c, 0xc3, 0x54, 0xd4, 0xb2, 0x89, 0x06, 0x67, 0xe0, 0x1c, 0xe5, 0x22, 0x91, 0x6c,
    0x0b, 0x9c, 0xb3, 0x34, 0xc2, 0x99, 0x67, 0x8d, 0xac, 0xb1, 0xc3, 0x1b, 0xc0, 0xee, 0x81, 0x3b,
    0x93, 0x69, 0x32, 0x43, 0xcf, 0xd6, 0x61, 0x83, 0x18, 0x83, 0xd5, 0x48, 0xa0, 0xf0, 0x7a, 0x23,
    0x6b, 0x3c, 0xe4, 0xfa, 0xcc, 0xee, 0xc3, 0x00, 0xd3, 0x5c, 0xd6, 0x28, 0xf2, 0xd2, 0x5b, 0x1d,
    0x59, 0xe3, 0x01, 0xef, 0x02, 0x6c, 0x03, 0xec, 0x34, 0xf2, 0x9c, 0x91, 0x35, 0xee, 0x71, 0x3b,
    0x8d, 0x82, 0x04, 0x06, 0x87, 0x22, 0x94, 0xaf, 0x8b, 0x24, 0x93, 0x6c, 0x13, 0x7a, 0x0b, 0x71,
    0x66, 0xa4, 0xe9, 0x48, 0xe5, 0x94, 0x29, 0x86, 0x33, 0xa3, 0xdb, 0x00, 0x92, 0xad, 0x54, 0x96,
    0x69, 0x59, 0x87, 0xeb, 0x33, 0xf3, 0x01, 0x42, 0x55, 0xc4, 0x69, 0x24, 0x8b, 0x50, 0x6a, 0x5d,
    0x9b, 0x2f, 0x45, 0x82, 0xaf, 0x00, 0x1f, 0x66, 0x31, 0x72, 0x59, 0xcf, 0x33, 0x24, 0x43, 0x89,
    0x2c, 0x22, 0x59, 0x19, 0x31, 0x83, 0xa8, 0x02, 0x91, 0x48, 0xa3, 0x46, 0x47, 0xad, 0x25, 0x42,
    0x79, 0xa5, 0x25, 0x42, 0x49, 0x5f, 0x4f, 0xa5, 0x98, 0xe3, 0x42, 0xeb, 0x38, 0xdc, 0x20, 0xaa,
    0xb6, 0xce, 0xd3, 0x4c, 0x6a, 0x7f, 0x0e, 0x6f, 0x40, 0xf0, 0xc3, 0x86, 0x3e, 0x79, 0x9c, 0xa8,
    0x9a, 0x3d, 0x04, 0xb7, 0x0a, 0x09, 0x68, 0xdd, 0xf5, 0xfd, 0x8d, 0xbd, 0x76, 0x1c, 0x7b, 0x5c,
    0x86, 0xc8, 0x4d, 0x96, 0x3d, 0x85, 0x41, 0x89, 0xef, 0x64, 0x8c, 0x6f, 0x17, 0x4d, 0x35, 0xeb,
    0xfb, 0xb7, 0x3b, 0xea, 0x44, 0xa5, 0x05, 0xf2, 0x8e, 0xc1, 0x9e, 0x01, 0x94, 0xc8, 0x69, 0x24,
    0xc4, 0xef, 0xdd, 0xcc, 0x5f, 0xa2, 0xb0, 0x47, 0xd0, 0x2f, 0xf1, 0xbd, 0x9a, 0xe3, 0x4c, 0x5b,
    0xb8, 0x81, 0xdd, 0xe6, 0xd9, 0x2e, 0xb8, 0x25, 0x1e, 0xab, 0xba, 0x71, 0x75, 0x03, 0xd3, 0xa4,
    0xd9, 0x63, 0x70, 0x63, 0x3d, 0x47, 0xcf, 0xd5, 0xc4, 0xbb, 0x1d, 0xf1, 0x6a, 0xc4, 0xdc, 0x50,
    0x98, 0x07, 0xfd, 0x2f, 0x73, 0x91, 0xa5, 0xb8, 0xf0, 0xfa, 0xba, 0x59, 0x2d, 0xa4, 0x41, 0xc6,
    0x22, 0x4c, 0x45, 0x76, 0x40, 0x2f, 0x6b, 0x4d, 0xbf, 0xac, 0xa5, 0x48, 0xf0, 0xdb, 0x86, 0x35,
    0xba, 0xef, 0xa8, 0x88, 0xd5, 0xff, 0x7e, 0xfe, 0x73, 0x3f, 0xe9, 0x31, 0xc7, 0xd4, 0xce, 0x03,
    0x6f, 0xa0, 0xb7, 0xd2, 0xa0, 0xe0, 0x23, 0xf4, 0x4f, 0xa6, 0xa7, 0xba, 0xcb, 0x3b, 0xe0, 0x54,
    0xe1, 0xc9, 0xf4, 0xf4, 0x2f, 0x4d, 0x6e, 0x92, 0xb4, 0x3b, 0xb8, 0x28, 0xdb, 0xdd, 0xc1, 0x45,
    0x49, 0xbb, 0x53, 0x56, 0x6a, 0xaa, 0x1b, 0x68, 0x73, 0x7d, 0x0e, 0x24, 0x6c, 0x36, 0x3b, 0x48,
    0x1e, 0x0e, 0x24, 0xca, 0x10, 0xd9, 0x03, 0xe8, 0x95, 0xaa, 0x36, 0xb7, 0xdf, 0xb9, 0x6e, 0x73,
    0xa2, 0x6a, 0x4e, 0x59, 0xf6, 0x04, 0xdc, 0x4a, 0x7f, 0x68, 0xe6, 0xb7, 0xd5, 0xf1, 0xba, 0xc5,
    0xe6, 0x86, 0x13, 0xbc, 0x82, 0xe1, 0x44, 0x54, 0x22, 0x6f, 0x17, 0xef, 0x39, 0x38, 0xe4, 0x8b,
    0x44, 0x7a, 0xe3, 0xf5, 0xfd, 0xed, 0x65, 0x0b, 0xd7, 0xab, 0xe1, 0x0d, 0x31, 0x38, 0x86, 0xcd,
    0xab, 0x1b, 0x0e, 0xa5, 0xc0, 0x79, 0xa5, 0xff, 0x1d, 0x63, 0x29, 0xb0, 0xb9, 0x65, 0xc8, 0x1b,
    0xc0, 0x76, 0xe0, 0x56, 0xa8, 0xf2, 0x52, 0x54, 0x92, 0x77, 0x05, 0x0e, 0xf9, 0xf5, 0x60, 0xf0,
    0xd2, 0x54, 0xf4, 0x49, 0x65, 0x8a, 0xda, 0xb5, 0x0b, 0x4e, 0x5a, 0xc4, 0xaa, 0xad, 0x68, 0xc9,
    0xb6, 0x69, 0x3b, 0x6f, 0xf2, 0x6f, 0xbc, 0xef, 0x17, 0xbe, 0x75, 0x7e, 0xe1, 0x5b, 0xbf, 0x2e,
    0x7c, 0xeb, 0xdb, 0xa5, 0xbf, 0x72, 0x7e, 0xe9, 0xaf, 0xfc, 0xbc, 0xf4, 0x57, 0xa6, 0xae, 0xfe,
    0xe4, 0xc5, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa6, 0xab, 0xc2, 0xc9, 0xdf, 0x05, 0x00, 0x00,
}
func (m *Image) Marshal() (dAtA []byte, err error) {
@@ -885,9 +806,6 @@
        i++
        i = encodeVarintSdk(dAtA, i, uint64(m.Id))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -926,9 +844,6 @@
        i++
        encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Confidence))))
        i += 4
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -972,9 +887,6 @@
        dAtA[i] = 0x28
        i++
        i = encodeVarintSdk(dAtA, i, uint64(m.Smile))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1064,9 +976,6 @@
        i++
        i = encodeVarintSdk(dAtA, i, uint64(len(m.FacialData)))
        i += copy(dAtA[i:], m.FacialData)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1162,9 +1071,6 @@
        i++
        i = encodeVarintSdk(dAtA, i, uint64(m.FaceID))
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1204,9 +1110,6 @@
        encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Prob))))
        i += 4
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1245,9 +1148,6 @@
        }
        i += n15
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1278,9 +1178,6 @@
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1307,41 +1204,11 @@
            i += copy(dAtA[i:], b)
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
func (m *ParamFaceCompare) Marshal() (dAtA []byte, err error) {
    size := m.Size()
    dAtA = make([]byte, size)
    n, err := m.MarshalTo(dAtA)
    if err != nil {
        return nil, err
    }
    return dAtA[:n], nil
}
func (m *ParamFaceCompare) MarshalTo(dAtA []byte) (int, error) {
    var i int
    _ = i
    var l int
    _ = l
    if len(m.Feat1) > 0 {
        dAtA[i] = 0xa
        i++
        i = encodeVarintSdk(dAtA, i, uint64(len(m.Feat1)))
        i += copy(dAtA[i:], m.Feat1)
    }
    if len(m.Feat2) > 0 {
    if len(m.CompareResult) > 0 {
        dAtA[i] = 0x12
        i++
        i = encodeVarintSdk(dAtA, i, uint64(len(m.Feat2)))
        i += copy(dAtA[i:], m.Feat2)
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
        i = encodeVarintSdk(dAtA, i, uint64(len(m.CompareResult)))
        i += copy(dAtA[i:], m.CompareResult)
    }
    return i, nil
}
@@ -1372,9 +1239,6 @@
            }
            i += n
        }
    }
    if m.XXX_unrecognized != nil {
        i += copy(dAtA[i:], m.XXX_unrecognized)
    }
    return i, nil
}
@@ -1411,9 +1275,6 @@
    if m.Id != 0 {
        n += 1 + sovSdk(uint64(m.Id))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1434,9 +1295,6 @@
    }
    if m.Confidence != 0 {
        n += 5
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1461,9 +1319,6 @@
    }
    if m.Smile != 0 {
        n += 1 + sovSdk(uint64(m.Smile))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1504,9 +1359,6 @@
    l = len(m.FacialData)
    if l > 0 {
        n += 1 + l + sovSdk(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1551,9 +1403,6 @@
    if m.FaceID != 0 {
        n += 1 + sovSdk(uint64(m.FaceID))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1573,9 +1422,6 @@
    if m.Prob != 0 {
        n += 5
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1593,9 +1439,6 @@
        l = m.Result.Size()
        n += 1 + l + sovSdk(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1610,9 +1453,6 @@
            l = e.Size()
            n += 1 + l + sovSdk(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1629,28 +1469,9 @@
            n += 1 + l + sovSdk(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
func (m *ParamFaceCompare) Size() (n int) {
    if m == nil {
        return 0
    }
    var l int
    _ = l
    l = len(m.Feat1)
    l = len(m.CompareResult)
    if l > 0 {
        n += 1 + l + sovSdk(uint64(l))
    }
    l = len(m.Feat2)
    if l > 0 {
        n += 1 + l + sovSdk(uint64(l))
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1666,9 +1487,6 @@
            l = e.Size()
            n += 1 + l + sovSdk(uint64(l))
        }
    }
    if m.XXX_unrecognized != nil {
        n += len(m.XXX_unrecognized)
    }
    return n
}
@@ -1853,7 +1671,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -1975,7 +1792,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -2124,7 +1940,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -2447,7 +2262,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -2789,7 +2603,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -2909,7 +2722,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -3035,7 +2847,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -3123,7 +2934,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -3194,97 +3004,9 @@
            m.Feats = append(m.Feats, make([]byte, postIndex-iNdEx))
            copy(m.Feats[len(m.Feats)-1], dAtA[iNdEx:postIndex])
            iNdEx = postIndex
        default:
            iNdEx = preIndex
            skippy, err := skipSdk(dAtA[iNdEx:])
            if err != nil {
                return err
            }
            if skippy < 0 {
                return ErrInvalidLengthSdk
            }
            if (iNdEx + skippy) < 0 {
                return ErrInvalidLengthSdk
            }
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
    if iNdEx > l {
        return io.ErrUnexpectedEOF
    }
    return nil
}
func (m *ParamFaceCompare) Unmarshal(dAtA []byte) error {
    l := len(dAtA)
    iNdEx := 0
    for iNdEx < l {
        preIndex := iNdEx
        var wire uint64
        for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
                return ErrIntOverflowSdk
            }
            if iNdEx >= l {
                return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            wire |= uint64(b&0x7F) << shift
            if b < 0x80 {
                break
            }
        }
        fieldNum := int32(wire >> 3)
        wireType := int(wire & 0x7)
        if wireType == 4 {
            return fmt.Errorf("proto: ParamFaceCompare: wiretype end group for non-group")
        }
        if fieldNum <= 0 {
            return fmt.Errorf("proto: ParamFaceCompare: illegal tag %d (wire type %d)", fieldNum, wire)
        }
        switch fieldNum {
        case 1:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field Feat1", wireType)
            }
            var byteLen int
            for shift := uint(0); ; shift += 7 {
                if shift >= 64 {
                    return ErrIntOverflowSdk
                }
                if iNdEx >= l {
                    return io.ErrUnexpectedEOF
                }
                b := dAtA[iNdEx]
                iNdEx++
                byteLen |= int(b&0x7F) << shift
                if b < 0x80 {
                    break
                }
            }
            if byteLen < 0 {
                return ErrInvalidLengthSdk
            }
            postIndex := iNdEx + byteLen
            if postIndex < 0 {
                return ErrInvalidLengthSdk
            }
            if postIndex > l {
                return io.ErrUnexpectedEOF
            }
            m.Feat1 = append(m.Feat1[:0], dAtA[iNdEx:postIndex]...)
            if m.Feat1 == nil {
                m.Feat1 = []byte{}
            }
            iNdEx = postIndex
        case 2:
            if wireType != 2 {
                return fmt.Errorf("proto: wrong wireType = %d for field Feat2", wireType)
                return fmt.Errorf("proto: wrong wireType = %d for field CompareResult", wireType)
            }
            var byteLen int
            for shift := uint(0); ; shift += 7 {
@@ -3311,9 +3033,9 @@
            if postIndex > l {
                return io.ErrUnexpectedEOF
            }
            m.Feat2 = append(m.Feat2[:0], dAtA[iNdEx:postIndex]...)
            if m.Feat2 == nil {
                m.Feat2 = []byte{}
            m.CompareResult = append(m.CompareResult[:0], dAtA[iNdEx:postIndex]...)
            if m.CompareResult == nil {
                m.CompareResult = []byte{}
            }
            iNdEx = postIndex
        default:
@@ -3331,7 +3053,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
@@ -3419,7 +3140,6 @@
            if (iNdEx + skippy) > l {
                return io.ErrUnexpectedEOF
            }
            m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
            iNdEx += skippy
        }
    }
sdk.proto
@@ -63,11 +63,7 @@
}
message ParamFaceFeature{
    repeated bytes feats = 1;
}
// sdk face extract
message ParamFaceCompare{
    bytes feat1 = 1;
    bytes feat2 = 2;
    bytes compareResult = 2;
}
// sdk yolo detect