Files
insightface/cpp-package/inspireface/python/sample_feature_hub.py

39 lines
1.2 KiB
Python
Raw Normal View History

import os
2025-03-25 00:51:26 +08:00
import inspireface as isf
import numpy as np
import os
def case_feature_hub():
2025-05-22 16:07:26 +08:00
# Gen a random feature
gen = np.random.rand(512).astype(np.float32)
# Set db path
db_path = "test.db"
# Configure the feature management system.
2025-03-25 00:51:26 +08:00
feature_hub_config = isf.FeatureHubConfiguration(
2025-06-15 01:41:04 +08:00
primary_key_mode=isf.HF_PK_AUTO_INCREMENT,
2025-03-25 00:51:26 +08:00
enable_persistence=True,
persistence_db_path=db_path,
search_threshold=0.48,
2025-03-25 00:51:26 +08:00
search_mode=isf.HF_SEARCH_MODE_EAGER,
)
2025-03-25 00:51:26 +08:00
ret = isf.feature_hub_enable(feature_hub_config)
assert ret, "Failed to enable FeatureHub."
2025-05-22 16:07:26 +08:00
print('T1, face count:', isf.feature_hub_get_face_count())
for i in range(10):
2025-03-25 00:51:26 +08:00
v = np.random.rand(512).astype(np.float32)
2025-05-22 16:07:26 +08:00
feature = isf.FaceIdentity(v, i)
2025-06-15 01:41:04 +08:00
ret, _ = isf.feature_hub_face_insert(feature)
2025-05-22 16:07:26 +08:00
assert ret, "Failed to insert face feature data into FeatureHub."
feature = isf.FaceIdentity(gen, -1)
2025-03-25 00:51:26 +08:00
isf.feature_hub_face_insert(feature)
2025-05-22 16:07:26 +08:00
result = isf.feature_hub_face_search(gen)
print(f"result: {result}")
assert os.path.exists(db_path), "FeatureHub database file not found."
2025-06-15 01:41:04 +08:00
ids = isf.feature_hub_get_face_id_list()
print(f"ids: {ids}")
2025-03-25 00:51:26 +08:00
if __name__ == "__main__":
case_feature_hub()