Skip to content

cvflair 0.13.0

Choose a tag to compare

@kbycode kbycode released this 01 Aug 13:36
· 4 commits to main since this release

Yüz tespiti yolu açıldı. Çizim tarafı zaten çalışıyordu; sürtünme, yüz
modellerinin kutuyu farklı bir biçimde vermesindeydi.

pip install -U cvflair

iskeletler

Kutu biçimi

cvflair xyxy okur; yüz ve cascade modellerinin çoğu bir köşe ve bir boyut
verir. from_xywh dönüşümü üstlenir:

faces = cascade.detectMultiScale(gray)          # OpenCV: (x, y, w, h)
detections = Detections.from_xywh(faces)

Model 0-1 aralığında veriyorsa kare boyutu da geçilir:
Detections.from_xywh(kutular, *frame.shape[1::-1]).

MediaPipe'ın yüz ve nesne tespiti için ayrı bir okuyucu var; iki API sürümünü de
tanır (eski solutions oranlı kutu verir, yeni tasks piksel):

detections = Detections.from_mediapipe(sonuc, *frame.shape[1::-1])
Model Çıktısı Yol
YOLO / Ultralytics xyxy Detections.from_ultralytics(...)
InsightFace face.bbox xyxy Doğrudan Detections(...)
OpenCV cascade (x, y, w, h) Detections.from_xywh(...)
MediaPipe oranlı ya da piksel kutu Detections.from_mediapipe(...)

Hiçbiri kurulu olmak zorunda değil: alanlar adlarıyla okunur, cvflair bu
kütüphaneleri import etmez.

FACE_5

Yüz modellerinin ortak beş noktası — iki göz, burun, iki ağız köşesi.
InsightFace'in kps alanı, RetinaFace ve MediaPipe aynı sırayı kullanır.

from cvflair import FACE_5, KeyPoints

points = KeyPoints(xy=[face.kps for face in faces])
cam.show(frame, detections, keypoints=points, skeleton=FACE_5)

skeleton="face" de aynı topolojiyi verir. Gözler arasına çizgi çekilmez: yüzü
ortadan bölüp işareti okunmaz hale getiriyor. Kalabalıkta 20 piksele inen
yüzlerde de çizildiği sınandı.

Playground

İskelet önizlemesine yüz eklendi ve üç çizimin de altına silüet kondu; kutu
kipinde çizim bir figürün üstünde duruyor, iskelet kipinde çizgiler boşluktaydı.
Çizimlerin kendisi değişmedi.

Tüm değişiklikler:
CHANGELOG