| | |
| | | } |
| | | ret := C.init_detector(s.handle, C.int(minFaces), C.int(rollAngles), C.int(threadMax), C.int(gpu)) |
| | | if ret <= 0 { |
| | | s.printLog("->face--> CREATE Detector ERROR") |
| | | s.printLog("->face--> CREATE Detector ERROR: ", ret) |
| | | return false |
| | | } |
| | | s.detector = true |
| | |
| | | } |
| | | ret := C.init_extractor(s.handle, C.int(threadMax), C.int(gpu)) |
| | | if ret <= 0 { |
| | | s.printLog("->face--> CREATE Extractor ERROR") |
| | | s.printLog("->face--> CREATE Extractor ERROR: ", ret) |
| | | return false |
| | | } |
| | | s.extractor = true |
| | |
| | | } |
| | | ret := C.init_propertizer(s.handle, C.int(threadMax)) |
| | | if ret <= 0 { |
| | | s.printLog("->face--> CREATE Propertizer ERROR") |
| | | s.printLog("->face--> CREATE Propertizer ERROR: ", ret) |
| | | return false |
| | | } |
| | | s.propertizer = true |
| | |
| | | ret := C.init_tracker(s.handle, C.int(w), C.int(h), C.int(maxFaces), C.int(interval), C.int(sampleSize), C.int(threadMax), C.int(gpu)) |
| | | |
| | | if ret <= 0 { |
| | | s.printLog("->face--> CREATE Tracker ERROR") |
| | | s.printLog("->face--> CREATE Tracker ERROR: ", ret) |
| | | return false |
| | | } |
| | | s.tracker = true |
| | |
| | | |
| | | //运行sd |
| | | dec := FaceInfo2FacePos(d) |
| | | p := s.Propertize(dec, data, w, h, c, dchan) |
| | | p := s.Propertize(dec, data, w, h, c, 0) |
| | | feat := s.Extract(dec, data, w, h, c, dchan) |
| | | |
| | | /// filter rules |
| | |
| | | // size := (d.RcFace.Right - d.RcFace.Left) * (d.RcFace.Bottom - d.RcFace.Top) |
| | | // angle := d.FAngle |
| | | // if !filter(rMsg.Msg.Tasklab.Taskid, sdkid, angle.Confidence, float32(angle.Yaw), int(size)) { |
| | | // continue |
| | | // continue |
| | | // } |
| | | /// filter rules |
| | | |