panlei
2019-08-21 3abe5bea435d4a38399693b17b37b5e445ff7445
sdk.pb.go
@@ -29,6 +29,7 @@
   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"`
   Cid       string `protobuf:"bytes,6,opt,name=cid,proto3" json:"cid,omitempty"`
}
func (m *Image) Reset()         { *m = Image{} }
@@ -97,6 +98,13 @@
      return m.Id
   }
   return 0
}
func (m *Image) GetCid() string {
   if m != nil {
      return m.Cid
   }
   return ""
}
type FaceAngle struct {
@@ -252,6 +260,7 @@
   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"`
   FaceID     uint64     `protobuf:"varint,9,opt,name=faceID,proto3" json:"faceID,omitempty"`
}
func (m *FacePos) Reset()         { *m = FacePos{} }
@@ -341,6 +350,13 @@
      return m.FacialData
   }
   return nil
}
func (m *FacePos) GetFaceID() uint64 {
   if m != nil {
      return m.FaceID
   }
   return 0
}
type FaceInfo struct {
@@ -455,6 +471,7 @@
   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"`
   ObjID uint64  `protobuf:"varint,4,opt,name=objID,proto3" json:"objID,omitempty"`
}
func (m *ObjInfo) Reset()         { *m = ObjInfo{} }
@@ -511,10 +528,18 @@
   return 0
}
func (m *ObjInfo) GetObjID() uint64 {
   if m != nil {
      return m.ObjID
   }
   return 0
}
// sdk face property
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"`
   Feats  []byte      `protobuf:"bytes,3,opt,name=feats,proto3" json:"feats,omitempty"`
}
func (m *ResultFaceDetect) Reset()         { *m = ResultFaceDetect{} }
@@ -564,6 +589,13 @@
   return nil
}
func (m *ResultFaceDetect) GetFeats() []byte {
   if m != nil {
      return m.Feats
   }
   return nil
}
type ParamFacePos struct {
   Faces []*ResultFaceDetect `protobuf:"bytes,1,rep,name=faces,proto3" json:"faces,omitempty"`
}
@@ -609,9 +641,9 @@
}
type ResultFaceExtCom struct {
   Pos   []byte `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
   Feats []byte `protobuf:"bytes,2,opt,name=feats,proto3" json:"feats,omitempty"`
   Comp  []byte `protobuf:"bytes,3,opt,name=comp,proto3" json:"comp,omitempty"`
   Feats []byte            `protobuf:"bytes,1,opt,name=feats,proto3" json:"feats,omitempty"`
   Comp  []byte            `protobuf:"bytes,2,opt,name=comp,proto3" json:"comp,omitempty"`
   Pos   *ResultFaceDetect `protobuf:"bytes,3,opt,name=pos,proto3" json:"pos,omitempty"`
}
func (m *ResultFaceExtCom) Reset()         { *m = ResultFaceExtCom{} }
@@ -647,13 +679,6 @@
var xxx_messageInfo_ResultFaceExtCom proto.InternalMessageInfo
func (m *ResultFaceExtCom) GetPos() []byte {
   if m != nil {
      return m.Pos
   }
   return nil
}
func (m *ResultFaceExtCom) GetFeats() []byte {
   if m != nil {
      return m.Feats
@@ -668,8 +693,15 @@
   return nil
}
func (m *ResultFaceExtCom) GetPos() *ResultFaceDetect {
   if m != nil {
      return m.Pos
   }
   return nil
}
type ParamFaceFeature struct {
   ExtComp []*ResultFaceExtCom `protobuf:"bytes,1,rep,name=extComp,proto3" json:"extComp,omitempty"`
   ExtComp []*ResultFaceExtCom `protobuf:"bytes,2,rep,name=extComp,proto3" json:"extComp,omitempty"`
}
func (m *ParamFaceFeature) Reset()         { *m = ParamFaceFeature{} }
@@ -757,6 +789,61 @@
   return nil
}
type SoInfo struct {
   Id                   int32    `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   SdkId                string   `protobuf:"bytes,2,opt,name=sdkId,proto3" json:"sdkId,omitempty"`
   SoName               string   `protobuf:"bytes,3,opt,name=soName,proto3" json:"soName,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *SoInfo) Reset()         { *m = SoInfo{} }
func (m *SoInfo) String() string { return proto.CompactTextString(m) }
func (*SoInfo) ProtoMessage()    {}
func (*SoInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{11}
}
func (m *SoInfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SoInfo.Unmarshal(m, b)
}
func (m *SoInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SoInfo.Marshal(b, m, deterministic)
}
func (m *SoInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SoInfo.Merge(m, src)
}
func (m *SoInfo) XXX_Size() int {
   return xxx_messageInfo_SoInfo.Size(m)
}
func (m *SoInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_SoInfo.DiscardUnknown(m)
}
var xxx_messageInfo_SoInfo proto.InternalMessageInfo
func (m *SoInfo) GetId() int32 {
   if m != nil {
      return m.Id
   }
   return 0
}
func (m *SoInfo) GetSdkId() string {
   if m != nil {
      return m.SdkId
   }
   return ""
}
func (m *SoInfo) GetSoName() string {
   if m != nil {
      return m.SoName
   }
   return ""
}
func init() {
   proto.RegisterType((*Image)(nil), "protomsg.Image")
   proto.RegisterType((*FaceAngle)(nil), "protomsg.FaceAngle")
@@ -769,54 +856,57 @@
   proto.RegisterType((*ResultFaceExtCom)(nil), "protomsg.ResultFaceExtCom")
   proto.RegisterType((*ParamFaceFeature)(nil), "protomsg.ParamFaceFeature")
   proto.RegisterType((*ParamYoloObj)(nil), "protomsg.ParamYoloObj")
   proto.RegisterType((*SoInfo)(nil), "protomsg.SoInfo")
}
func init() { proto.RegisterFile("sdk.proto", fileDescriptor_70decb0fb6f436df) }
var fileDescriptor_70decb0fb6f436df = []byte{
   // 665 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x54, 0x4d, 0x6f, 0xd3, 0x40,
   0x10, 0xad, 0x9d, 0xda, 0x69, 0xa6, 0x51, 0x29, 0x4b, 0x85, 0xac, 0x0a, 0x59, 0x91, 0x41, 0x34,
   0x08, 0x28, 0xa8, 0x20, 0x71, 0xe5, 0xa3, 0xad, 0xa8, 0x04, 0x6d, 0xb4, 0x82, 0x03, 0xc7, 0x8d,
   0xbd, 0x76, 0x5c, 0x6c, 0xaf, 0xb1, 0x27, 0x6a, 0xf3, 0x2f, 0xf8, 0x59, 0x1c, 0x38, 0xf4, 0xc8,
   0x11, 0xb5, 0xe2, 0x7f, 0xa0, 0x59, 0xaf, 0x9b, 0x54, 0x2a, 0x5c, 0xb8, 0x72, 0xca, 0xcc, 0xce,
   0xf3, 0xbe, 0xf7, 0x66, 0x76, 0x02, 0xbd, 0x3a, 0xfa, 0xbc, 0x5d, 0x56, 0x0a, 0x15, 0x5b, 0xd1,
   0x3f, 0x79, 0x9d, 0x6c, 0xc2, 0x58, 0xd4, 0xb2, 0x39, 0x0d, 0x4e, 0xc0, 0x39, 0xc8, 0x45, 0x22,
   0xd9, 0x06, 0x38, 0x27, 0x69, 0x84, 0x13, 0xcf, 0x1a, 0x58, 0x43, 0x87, 0x37, 0x09, 0xbb, 0x0d,
   0xee, 0x44, 0xa6, 0xc9, 0x04, 0x3d, 0x5b, 0x1f, 0x9b, 0x8c, 0x31, 0x58, 0x8e, 0x04, 0x0a, 0xaf,
   0x33, 0xb0, 0x86, 0x7d, 0xae, 0x63, 0x76, 0x07, 0x7a, 0x98, 0xe6, 0xb2, 0x46, 0x91, 0x97, 0xde,
   0xf2, 0xc0, 0x1a, 0xf6, 0xf8, 0xfc, 0x80, 0xad, 0x81, 0x9d, 0x46, 0x9e, 0x33, 0xb0, 0x86, 0x1d,
   0x6e, 0xa7, 0x51, 0x90, 0x40, 0x6f, 0x5f, 0x84, 0xf2, 0x55, 0x91, 0x64, 0x92, 0xad, 0x43, 0x67,
   0x26, 0x4e, 0x0c, 0x35, 0x85, 0x24, 0xa7, 0x4c, 0x31, 0x9c, 0x18, 0xde, 0x26, 0x21, 0xda, 0x4a,
   0x65, 0x99, 0xa6, 0x75, 0xb8, 0x8e, 0x99, 0x0f, 0x10, 0xaa, 0x22, 0x4e, 0x23, 0x59, 0x84, 0x52,
   0xf3, 0xda, 0x7c, 0xe1, 0x24, 0x38, 0x05, 0xf8, 0x30, 0x89, 0x91, 0xcb, 0x7a, 0x9a, 0x21, 0x19,
   0x4a, 0x64, 0x11, 0xc9, 0xca, 0x90, 0x99, 0x8c, 0x14, 0x88, 0x44, 0x1a, 0x36, 0x0a, 0x35, 0x97,
   0x08, 0xe5, 0x25, 0x97, 0x08, 0x25, 0x7d, 0x3d, 0x96, 0x62, 0x8a, 0x33, 0xcd, 0xe3, 0x70, 0x93,
   0x91, 0xda, 0x3a, 0x4f, 0x33, 0xa9, 0xfd, 0x39, 0xbc, 0x49, 0x82, 0xef, 0x36, 0x74, 0xc9, 0xe3,
   0x48, 0xd5, 0xec, 0x3e, 0xb8, 0x55, 0x48, 0x89, 0xe6, 0x5d, 0xdd, 0x59, 0xdb, 0x6e, 0xc7, 0xb1,
   0xcd, 0x65, 0x88, 0xdc, 0x54, 0xd9, 0x63, 0xe8, 0x95, 0xf8, 0x4e, 0xc6, 0xb8, 0x37, 0x6b, 0xd4,
   0xac, 0xee, 0xdc, 0x98, 0x43, 0x47, 0x2a, 0x2d, 0x90, 0xcf, 0x11, 0xec, 0x09, 0x40, 0x89, 0x9c,
   0x46, 0x42, 0xf8, 0xce, 0xf5, 0xf8, 0x05, 0x08, 0x7b, 0x00, 0xdd, 0x12, 0xdf, 0xab, 0x29, 0x4e,
   0xb4, 0x85, 0x6b, 0xd0, 0x6d, 0x9d, 0x6d, 0x81, 0x5b, 0xe2, 0xa1, 0xaa, 0x1b, 0x57, 0xd7, 0x20,
   0x4d, 0x99, 0x3d, 0x04, 0x37, 0xd6, 0x73, 0xf4, 0x5c, 0x0d, 0xbc, 0x35, 0x07, 0x5e, 0x8e, 0x98,
   0x1b, 0x08, 0xf3, 0xa0, 0xfb, 0x65, 0x2a, 0xb2, 0x14, 0x67, 0x5e, 0x57, 0x37, 0xab, 0x4d, 0x69,
   0x90, 0xb1, 0x08, 0x53, 0x91, 0xed, 0xd2, 0xcb, 0x5a, 0xd1, 0x2f, 0x6b, 0xe1, 0x24, 0xf8, 0x65,
   0xc3, 0x0a, 0xdd, 0x77, 0x50, 0xc4, 0xea, 0x7f, 0x3f, 0xff, 0xb9, 0x9f, 0xf4, 0x98, 0x63, 0x6a,
   0xe7, 0xae, 0xd7, 0xd3, 0x5b, 0x69, 0xb2, 0xe0, 0x23, 0x74, 0x8f, 0xc6, 0xc7, 0xba, 0xcb, 0xf7,
   0xc0, 0xa9, 0xc2, 0xa3, 0xf1, 0xf1, 0x1f, 0x9a, 0xdc, 0x14, 0x69, 0x77, 0x70, 0x56, 0xb6, 0xbb,
   0x83, 0xb3, 0x92, 0x76, 0xa7, 0xac, 0xd4, 0x58, 0x37, 0xd0, 0xe6, 0x3a, 0x0e, 0x24, 0xac, 0x37,
   0x3b, 0x48, 0x1e, 0x76, 0x25, 0xca, 0x10, 0xd9, 0x5d, 0xe8, 0x94, 0xaa, 0x36, 0xb7, 0xdf, 0xbc,
   0x6a, 0x73, 0xa4, 0x6a, 0x4e, 0x55, 0xf6, 0x08, 0xdc, 0x4a, 0x7f, 0x68, 0xe6, 0xb7, 0x31, 0xc7,
   0xcd, 0x17, 0x9b, 0x1b, 0x4c, 0xf0, 0x12, 0xfa, 0x23, 0x51, 0x89, 0xbc, 0x5d, 0xbc, 0xa7, 0xe0,
   0x90, 0x2f, 0x22, 0xe9, 0x0c, 0x57, 0x77, 0x36, 0x17, 0x2d, 0x5c, 0x55, 0xc3, 0x1b, 0x60, 0x70,
   0xb8, 0x28, 0x74, 0xef, 0x14, 0xdf, 0xa8, 0x9c, 0x2c, 0xb6, 0x42, 0xfb, 0x8d, 0xaa, 0x0d, 0x70,
   0x62, 0x29, 0xb0, 0xd6, 0xa2, 0xfa, 0xbc, 0x49, 0xc8, 0x78, 0xa8, 0xf2, 0xb2, 0xfd, 0x5f, 0xa4,
   0x38, 0x78, 0x0b, 0xeb, 0x97, 0x8a, 0xf6, 0xa5, 0xc0, 0x69, 0x25, 0xd9, 0x73, 0xe8, 0x4a, 0x7d,
   0x73, 0xf9, 0x37, 0x5d, 0x0d, 0x39, 0x6f, 0xa1, 0xc1, 0x0b, 0xe3, 0xed, 0x93, 0xca, 0x14, 0x35,
   0x7e, 0x0b, 0x9c, 0xb4, 0x88, 0x55, 0xeb, 0x6d, 0xa1, 0x81, 0x66, 0x80, 0xbc, 0xa9, 0xbf, 0xf6,
   0xbe, 0x9d, 0xfb, 0xd6, 0xd9, 0xb9, 0x6f, 0xfd, 0x3c, 0xf7, 0xad, 0xaf, 0x17, 0xfe, 0xd2, 0xd9,
   0x85, 0xbf, 0xf4, 0xe3, 0xc2, 0x5f, 0x1a, 0xbb, 0xfa, 0x93, 0x67, 0xbf, 0x03, 0x00, 0x00, 0xff,
   0xff, 0x82, 0x5c, 0xa6, 0x5e, 0x29, 0x06, 0x00, 0x00,
   // 703 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x54, 0x41, 0x6f, 0xd3, 0x4c,
   0x10, 0x95, 0x93, 0xd8, 0xa9, 0x27, 0x55, 0xbf, 0x7e, 0x4b, 0x85, 0xac, 0x0a, 0xa1, 0xc8, 0x20,
   0x1a, 0x44, 0x29, 0x28, 0x20, 0x71, 0x05, 0x91, 0x56, 0x44, 0x82, 0x36, 0x5a, 0xb8, 0x70, 0xdc,
   0xac, 0xd7, 0x89, 0x53, 0xdb, 0x6b, 0xec, 0x8d, 0xda, 0x88, 0x5f, 0xc0, 0xff, 0x84, 0xff, 0x81,
   0x66, 0x77, 0x1d, 0xbb, 0x52, 0xcb, 0x89, 0x23, 0xa7, 0xcc, 0xec, 0x3c, 0xe7, 0xbd, 0x79, 0xb3,
   0xb3, 0xe0, 0x57, 0xd1, 0xe5, 0x49, 0x51, 0x4a, 0x25, 0xc9, 0x8e, 0xfe, 0xc9, 0xaa, 0xc5, 0x21,
   0xcc, 0x59, 0x25, 0xcc, 0x69, 0xf8, 0xc3, 0x01, 0x77, 0x9a, 0xb1, 0x85, 0x20, 0x07, 0xe0, 0x5e,
   0x25, 0x91, 0x5a, 0x06, 0xce, 0xd0, 0x19, 0xb9, 0xd4, 0x24, 0xe4, 0x3e, 0x78, 0x4b, 0x91, 0x2c,
   0x96, 0x2a, 0xe8, 0xe8, 0x63, 0x9b, 0x11, 0x02, 0xbd, 0x88, 0x29, 0x16, 0x74, 0x87, 0xce, 0x68,
   0x97, 0xea, 0x98, 0x3c, 0x00, 0x5f, 0x25, 0x99, 0xa8, 0x14, 0xcb, 0x8a, 0xa0, 0x37, 0x74, 0x46,
   0x3e, 0x6d, 0x0e, 0xc8, 0x1e, 0x74, 0x92, 0x28, 0x70, 0x87, 0xce, 0xa8, 0x4b, 0x3b, 0x49, 0x44,
   0xf6, 0xa1, 0xcb, 0x93, 0x28, 0xf0, 0x34, 0x0e, 0xc3, 0x70, 0x01, 0xfe, 0x19, 0xe3, 0xe2, 0x5d,
   0xbe, 0x48, 0x05, 0x96, 0x37, 0xec, 0xca, 0x8a, 0xc1, 0x10, 0x05, 0x16, 0x89, 0xe2, 0x4b, 0xab,
   0xc4, 0x24, 0x28, 0xa4, 0x94, 0x69, 0xaa, 0x85, 0xb8, 0x54, 0xc7, 0xe4, 0x21, 0x00, 0x97, 0x79,
   0x9c, 0x44, 0x22, 0xe7, 0x42, 0x2b, 0xe9, 0xd0, 0xd6, 0x49, 0x78, 0x0d, 0xf0, 0x65, 0x19, 0x2b,
   0x2a, 0xaa, 0x75, 0xaa, 0xb0, 0xc5, 0x85, 0xc8, 0x23, 0x51, 0x5a, 0x32, 0x9b, 0xa1, 0x02, 0xb6,
   0x10, 0x96, 0x0d, 0x43, 0xcd, 0xc5, 0xb8, 0xd8, 0x72, 0x31, 0x2e, 0xf0, 0xeb, 0xb9, 0x60, 0x6b,
   0xb5, 0xd1, 0x3c, 0x2e, 0xb5, 0x19, 0xaa, 0xad, 0xb2, 0x24, 0x15, 0xba, 0x63, 0x97, 0x9a, 0x24,
   0xfc, 0xd9, 0x81, 0x3e, 0xf6, 0x38, 0x93, 0x15, 0x79, 0x02, 0x5e, 0xc9, 0x31, 0xd1, 0xbc, 0x83,
   0xf1, 0xde, 0x49, 0x3d, 0xa1, 0x13, 0x2a, 0xb8, 0xa2, 0xb6, 0x4a, 0x9e, 0x83, 0x5f, 0xa8, 0x8f,
   0x22, 0x56, 0xa7, 0x1b, 0xa3, 0x66, 0x30, 0xfe, 0xaf, 0x81, 0xce, 0x64, 0x92, 0x2b, 0xda, 0x20,
   0xc8, 0x0b, 0x80, 0x42, 0x51, 0x1c, 0x12, 0xe2, 0xbb, 0xb7, 0xe3, 0x5b, 0x10, 0xf2, 0x14, 0xfa,
   0x85, 0xfa, 0x24, 0xd7, 0x6a, 0xa9, 0x5b, 0xb8, 0x05, 0x5d, 0xd7, 0xc9, 0x11, 0x78, 0x85, 0x3a,
   0x97, 0x95, 0xe9, 0xea, 0x16, 0xa4, 0x2d, 0x93, 0x67, 0xe0, 0xc5, 0x7a, 0x8e, 0x7a, 0xbe, 0x83,
   0xf1, 0xbd, 0x06, 0xb8, 0x1d, 0x31, 0xb5, 0x10, 0x12, 0x40, 0xff, 0xdb, 0x9a, 0xa5, 0x89, 0xda,
   0x04, 0x7d, 0x6d, 0x56, 0x9d, 0xe2, 0x20, 0x63, 0xc6, 0x13, 0x96, 0x4e, 0xf0, 0xae, 0xed, 0xe8,
   0xbb, 0xd6, 0x3a, 0x41, 0xf3, 0x63, 0xc6, 0xc5, 0x74, 0x12, 0xf8, 0x43, 0x67, 0xd4, 0xa3, 0x36,
   0x0b, 0x7f, 0x75, 0x60, 0x07, 0x79, 0xa6, 0x79, 0x2c, 0xff, 0xf9, 0xfc, 0xb7, 0x7d, 0xee, 0x6e,
   0x7d, 0xbe, 0x84, 0xfe, 0xc5, 0x7c, 0xa5, 0x5d, 0x7e, 0x0c, 0x6e, 0xc9, 0x2f, 0xe6, 0xab, 0x3b,
   0x4c, 0x36, 0x45, 0xdc, 0x29, 0xb5, 0x29, 0xea, 0x9d, 0x52, 0x9b, 0x02, 0x77, 0xaa, 0x28, 0xe5,
   0x5c, 0x1b, 0xd8, 0xa1, 0x3a, 0xc6, 0xdd, 0x91, 0xf3, 0xd5, 0x74, 0xa2, 0x7d, 0xea, 0x51, 0x93,
   0x84, 0xdf, 0x61, 0xdf, 0x6c, 0x2c, 0x76, 0x36, 0x11, 0x4a, 0x70, 0x45, 0x1e, 0x41, 0xb7, 0x90,
   0x95, 0xe5, 0xfc, 0xff, 0x66, 0xf3, 0x33, 0x59, 0x51, 0xac, 0x92, 0x63, 0xf0, 0x4a, 0xfd, 0xa1,
   0x9d, 0xea, 0x41, 0x83, 0x6b, 0x9e, 0x01, 0x6a, 0x31, 0x48, 0x1e, 0x0b, 0xa6, 0x2a, 0xfb, 0xb4,
   0x99, 0x24, 0x7c, 0x0b, 0xbb, 0x33, 0x56, 0xb2, 0xac, 0x5e, 0xde, 0x97, 0xe0, 0xa2, 0x07, 0x48,
   0xdd, 0x1d, 0x0d, 0xc6, 0x87, 0xed, 0x76, 0x6f, 0x6a, 0xa4, 0x06, 0x18, 0xae, 0xda, 0xf2, 0x4f,
   0xaf, 0xd5, 0x7b, 0x99, 0x35, 0x5c, 0x4e, 0x8b, 0x0b, 0x2d, 0xe1, 0x32, 0x33, 0x2e, 0xed, 0x52,
   0x1d, 0x93, 0x63, 0xd3, 0xa8, 0xb9, 0x66, 0x7f, 0x62, 0x43, 0x58, 0xf8, 0x01, 0xf6, 0xb7, 0x6a,
   0xcf, 0x04, 0x53, 0xeb, 0x52, 0x90, 0xd7, 0xd0, 0x17, 0x9a, 0x15, 0xff, 0xf8, 0x4e, 0xcd, 0x46,
   0x18, 0xad, 0xa1, 0xe1, 0x1b, 0xdb, 0xf7, 0x57, 0x99, 0x4a, 0x1c, 0xe0, 0x11, 0xb8, 0x49, 0x1e,
   0xcb, 0xba, 0xef, 0x96, 0xe5, 0xf6, 0x22, 0x50, 0x53, 0x0f, 0xcf, 0xc0, 0xfb, 0x2c, 0xf5, 0xcd,
   0x30, 0x0f, 0xbf, 0x79, 0x5b, 0xf1, 0xe1, 0xc7, 0x97, 0x31, 0xba, 0x9c, 0x46, 0xba, 0x3f, 0x9f,
   0x9a, 0x04, 0xaf, 0x58, 0x25, 0xcf, 0x59, 0x66, 0x56, 0xc9, 0xa7, 0x36, 0x9b, 0x7b, 0x9a, 0xe0,
   0xd5, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x99, 0x69, 0x35, 0xca, 0x06, 0x00, 0x00,
}
func (m *Image) Marshal() (dAtA []byte, err error) {
@@ -860,6 +950,12 @@
      dAtA[i] = 0x28
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Id))
   }
   if len(m.Cid) > 0 {
      dAtA[i] = 0x32
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Cid)))
      i += copy(dAtA[i:], m.Cid)
   }
   return i, nil
}
@@ -1032,6 +1128,11 @@
      i = encodeVarintSdk(dAtA, i, uint64(len(m.FacialData)))
      i += copy(dAtA[i:], m.FacialData)
   }
   if m.FaceID != 0 {
      dAtA[i] = 0x48
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.FaceID))
   }
   return i, nil
}
@@ -1165,6 +1266,11 @@
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Prob))))
      i += 4
   }
   if m.ObjID != 0 {
      dAtA[i] = 0x20
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.ObjID))
   }
   return i, nil
}
@@ -1202,6 +1308,12 @@
         return 0, err15
      }
      i += n15
   }
   if len(m.Feats) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Feats)))
      i += copy(dAtA[i:], m.Feats)
   }
   return i, nil
}
@@ -1251,23 +1363,27 @@
   _ = i
   var l int
   _ = l
   if len(m.Pos) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Pos)))
      i += copy(dAtA[i:], m.Pos)
   }
   if len(m.Feats) > 0 {
      dAtA[i] = 0x12
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Feats)))
      i += copy(dAtA[i:], m.Feats)
   }
   if len(m.Comp) > 0 {
      dAtA[i] = 0x1a
      dAtA[i] = 0x12
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Comp)))
      i += copy(dAtA[i:], m.Comp)
   }
   if m.Pos != nil {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Pos.Size()))
      n16, err16 := m.Pos.MarshalTo(dAtA[i:])
      if err16 != nil {
         return 0, err16
      }
      i += n16
   }
   return i, nil
}
@@ -1289,7 +1405,7 @@
   _ = l
   if len(m.ExtComp) > 0 {
      for _, msg := range m.ExtComp {
         dAtA[i] = 0xa
         dAtA[i] = 0x12
         i++
         i = encodeVarintSdk(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
@@ -1363,6 +1479,10 @@
   }
   if m.Id != 0 {
      n += 1 + sovSdk(uint64(m.Id))
   }
   l = len(m.Cid)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   return n
}
@@ -1449,6 +1569,9 @@
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   if m.FaceID != 0 {
      n += 1 + sovSdk(uint64(m.FaceID))
   }
   return n
}
@@ -1511,6 +1634,9 @@
   if m.Prob != 0 {
      n += 5
   }
   if m.ObjID != 0 {
      n += 1 + sovSdk(uint64(m.ObjID))
   }
   return n
}
@@ -1526,6 +1652,10 @@
   }
   if m.Result != nil {
      l = m.Result.Size()
      n += 1 + l + sovSdk(uint64(l))
   }
   l = len(m.Feats)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   return n
@@ -1552,16 +1682,16 @@
   }
   var l int
   _ = l
   l = len(m.Pos)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   l = len(m.Feats)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   l = len(m.Comp)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   if m.Pos != nil {
      l = m.Pos.Size()
      n += 1 + l + sovSdk(uint64(l))
   }
   return n
@@ -1762,6 +1892,38 @@
               break
            }
         }
      case 6:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthSdk
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Cid = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipSdk(dAtA[iNdEx:])
@@ -2353,6 +2515,25 @@
            m.FacialData = []byte{}
         }
         iNdEx = postIndex
      case 9:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field FaceID", wireType)
         }
         m.FaceID = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.FaceID |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      default:
         iNdEx = preIndex
         skippy, err := skipSdk(dAtA[iNdEx:])
@@ -2813,6 +2994,25 @@
         v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
         iNdEx += 4
         m.Prob = float32(math.Float32frombits(v))
      case 4:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field ObjID", wireType)
         }
         m.ObjID = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.ObjID |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      default:
         iNdEx = preIndex
         skippy, err := skipSdk(dAtA[iNdEx:])
@@ -2936,6 +3136,40 @@
         }
         if err := m.Result.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Feats", 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.Feats = append(m.Feats[:0], dAtA[iNdEx:postIndex]...)
         if m.Feats == nil {
            m.Feats = []byte{}
         }
         iNdEx = postIndex
      default:
@@ -3080,40 +3314,6 @@
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Pos", 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.Pos = append(m.Pos[:0], dAtA[iNdEx:postIndex]...)
         if m.Pos == nil {
            m.Pos = []byte{}
         }
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Feats", wireType)
         }
         var byteLen int
@@ -3146,7 +3346,7 @@
            m.Feats = []byte{}
         }
         iNdEx = postIndex
      case 3:
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Comp", wireType)
         }
@@ -3178,6 +3378,42 @@
         m.Comp = append(m.Comp[:0], dAtA[iNdEx:postIndex]...)
         if m.Comp == nil {
            m.Comp = []byte{}
         }
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Pos", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthSdk
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         if m.Pos == nil {
            m.Pos = &ResultFaceDetect{}
         }
         if err := m.Pos.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      default:
@@ -3233,7 +3469,7 @@
         return fmt.Errorf("proto: ParamFaceFeature: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field ExtComp", wireType)
         }