Skip to main content
. 2024 Mar 21;24(6):2014. doi: 10.3390/s24062014
Algorithm 2 Initial Object Pose Quality Check.
Require: ObjQ,FQ,DBL ▹ N/A
Ensure: N/A ▹ N/A
 1: if ObjQ is not the first-time detected then
 2:   return
 3: end if
 4: FACESEnumeratefacesfrommodel(DBL,ObjQ)
 5: MASKQGenerateall-truemask(FQ)
 6: VALIDSϕ
 7: while FACES is not empty do
 8:    fidFACES.pop()
 9:    FL,MASKL,xLGETFACE(DBL,GETCLASSID(ObjQ),fid)
10:    pL,pQCFM(FL,FQ,MASKL,MASKQ)
11:    if QUALITYTEST(pL,pQ) is not passed then
12:       continue
13:    end if
14:    VALIDS.add(fid)
15:    FACESϕ
16:    TESTIMATEPOSE(xL,pL,pQ)
17:    p project all endpoints of faces in xL by T
18:    if VALIDS.size()=1 then
19:       for nfid in neighboring face IDs of fid do
20:           if nfid in VALIDS or any of its endpoints in area of fid then
21:            continue
22:           end if
23:           FACES.add(nfid)
24:           MASKQmask out the area of nfid in MASKQ
25:       end for
26:    end if
27: end while