get_obj_confidence
- ZumiAI.get_obj_confidence(name: str) float
스트리밍되는 카메라 영상에서 특정 이름의 물체(객체)에 대한 신뢰도 점수를 가져옵니다.
이 함수는
object_detector_start()
로 물체 인식이 활성화된 상태에서, 주미의 카메라 영상 속에서 지정된 name을 가진 물체가 감지되었다면, 해당 물체 인식의 정확도(신뢰도)를 0.0(0%)부터 1.0(100%) 사이의 숫자로 반환합니다. 이 점수를 통해 주미가 해당 물체를 얼마나 확실하게 인식했는지 알 수 있습니다. 만약 같은 이름의 물체가 여러 개 감지되었다면, 가장 먼저 인식된(첫 번째) 물체의 신뢰도를 알려줍니다.- 매개변수:
name (str) – 신뢰도 점수를 조회할 물체의 이름. 이 이름은
object_detector_start()
를 통해 인식하도록 설정된 물체 목록(기본 목록 또는object_check_add_obj()
,object_check_all_add_obj()
로 추가된 물체)에 포함되어야 합니다. (예: “person”, “stop sign”, “traffic light”, “car”등) 만약 한글 이름으로 입력할 경우, 내부적으로 정의된 매핑 사전을 통해 자동으로 영어 이름으로 변환됩니다. (예: “사람” 입력 시 “person”으로 변환)- 반환:
- 인식된 물체의 신뢰도 점수. 0.0부터 1.0 사이의 값입니다.
물체가 인식되지 않았다면 0.0을 반환합니다.
- 반환 형식:
float
예제
>>> zumiAI.camera_stream_start() # 카메라 스트리밍 시작 >>> zumiAI.object_detector_init() # 물체 인식 초기화 >>> zumiAI.object_detector_start() # 물체 인식 시작
>>> print("--- 영어 이름으로 'person' 신뢰도 감지 예시 ---") >>> while True: >>> person_confidence = zumiAI.get_obj_confidence(name="person") # 영어 이름 사용 >>> if person_confidence > 0.0: # 사람이 감지되어 유효한 신뢰도 값이 반환된 경우 >>> print(f"사람(person) 인식 신뢰도: {person_confidence:.2f}") >>> if person_confidence > 0.9: >>> print("사람을 아주 정확하게 인식했어요!") >>> break # 감지되면 반복 중단 >>> else: >>> print("사람(person) 감지 대기 중...") >>> time.sleep(1) # 1초 대기
>>> print("--- 한글 이름으로 '고양이' 신뢰도 감지 예시 ---") >>> # KOREAN_TO_ENGLISH_OBJ_MAP이 미리 정의되어 있다고 가정합니다. >>> while True: >>> cat_confidence = zumiAI.get_obj_confidence(name="고양이") # 한글 이름 사용 >>> if cat_confidence > 0.0: # 고양이가 감지되어 유효한 신뢰도 값이 반환된 경우 >>> print(f"고양이(cat) 인식 신뢰도: {cat_confidence:.2f}") >>> if cat_confidence > 0.8: >>> print("고양이를 꽤 정확하게 인식했어요!") >>> break # 감지되면 반복 중단 >>> else: >>> print("고양이(cat) 감지 대기 중...") >>> time.sleep(1) # 1초 대기
>>> zumiAI.object_detector_stop() # 물체 인식 중지
참고
이 함수를 사용하기 전에
camera_stream_start()
로 영상 스트리밍을 시작하고,object_detector_init()
로 물체 인식 기능을 초기화한 후,object_detector_start()
를 호출하여 물체 인식을 활성화해야 합니다.name으로 지정하는 물체 이름은 COCO 데이터셋에 정의된 클래스 이름이어야 합니다. 한글 이름으로 변환해서 사용할 수도 있습니다.
이 기능은 주미 자체의 하드웨어 기능이 아니라, PC 기반 소프트웨어로 처리됩니다.