SCORER SDK 상자에서 얼굴 검사까지

SCORER SDK를 미리 장착한 라즈베리 파이를 샀기 때문에 얼굴을 검출할 때까지 보고했습니다.
닫는 방법도 있어요.

SCORER SDK


SCORER SDK는 RaspberryPi용 이미지 분석 SDK입니다.
사서 바로 이미지 분석 장비를 만들 수 있어요.대단해!!
RaspberryPi에 Cloud9라는 IDE가 추가되었기 때문에 같은 네트워크에서 RaspberryPi에 액세스하여 인코딩한 후 바로 실행할 수 있습니다.물론 OpenCV 등의 라이브러리도 pip가 부족하면 설치할 수 있습니다.

준비물

  • SCORER SDK 이니시에이터 키트
  • 아마존에서 샀어요.
  • http://amzn.asia/i2EdJdy
  • iPod touch
  • SCORER의 초기 설정에 iOS 응용 프로그램이 필요하기 때문입니다.
  • 1. 상자에서 꺼내기



    조립된 RaspberryPi 호스트, 전원 코드, USB 카메라, 설명서가 장착되어 있습니다.
    microSD는 처음부터 설치 상태였기 때문에 정말 전원선을 꽂기만 하면 움직이기 시작했다.

    2. 초기 설정


    참조설명서 RaspberryPi를 네트워크에 연결하여 장치 등록을 합니다.
    iOS 응용 프로그램으로 블루투스를 연결하여 설정하지만, 때로는 몇 분이 걸려야 연결할 수 있다.블루투스 아이콘이 나타나면 됩니다.

    네트워크 연결과 장치 등록을 마친 후 SDK 다운로드 페이지배포 가이드를 읽고 예시 프로그램을 이동하면서 대체적인 사용 방법을 이해한다.
    기본적으로
    - 관리 화면에 연결하고 Cloud9 시작
    - Cloud9에 연결하고 인코딩
    - 관리 화면에서 WebShow 서비스 시작
    - 프로그램 실행
    의 흐름.

    3. 얼굴 검사 프로그램 시작


    실행 디렉토리 만들기


    이번에는 ~/scorer-sdk-python/samples/detect-face-sample 디렉터리를 제작하여 이곳에 설치하여 제작한 프로그램 등을 작업하였다.

    인코딩


    인터넷 블로그에는 USB 카메라로 얼굴을 감지한 후 라인에 알리는 프로그램 샘플이 게재됐다.참고로 얼굴이 검출되면 print("detect face!!!")위와 같은 디렉터리에 놓을 프로그램을 쓰십시오.
    detect-face-sample.py
    import scorer
    import cv2
    from time import sleep
    from datetime import datetime, timedelta
    
    
    #HAAR分類器の顔検出用関連設定
    cascade_path = "haarcascade_frontalface_alt.xml"
    color = (255, 255, 255) #白
    cascade = cv2.CascadeClassifier(cascade_path)
    
    #通知しすぎないように最低通知間隔と、顔の大きさの最低値(px)を設定
    check=datetime.now()
    faceminwidth=100
    
    #USBカメラから画像取得開始
    cap = scorer.VideoCapture(0)
    
    print("waiting...")
    while True:
        # Read Frame from Camera
        frame = cap.read()
        if frame == None:
           continue
    
        #グレースケールで顔検知し、通知用の画像はカラーを使う
        image = frame.get_bgr()
        gray = frame.get_gray()
    
        #確認用画面 
        scorer.imshow(1, gray)
    
        #顔検知実行
        facerect = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=1, minSize=(1, 1))    
    
        #顔が存在したら顔を検知して通知
        if len(facerect) > 0 and frame.datetime-check > timedelta(seconds=5):#5秒以内の検知は無視
            check=frame.datetime
    
            #検出した顔を囲む矩形の作成
            for rect in facerect:
                cv2.rectangle(image, tuple(rect[0:2]),tuple(rect[0:2]+rect[2:4]), color, thickness=2)
    
               #細かい模様などを誤検知することがあるので、顔の最低サイズを決めて除外する
                if rect[2]>faceminwidth:
                    print("detect face!!")
    
    

    OpenCV 정의 파일


    만든 프로그램을 실행할 때
    OpenCV Error: Assertion failed (!empty()) in detectMultiScale, file /root/Downloads/opencv/modules/objdetect/src/cascadedetect.cpp, line 1691
    Traceback (most recent call last):
      File "/opt/scorer/home/dev/scorer-sdk-python/samples/detect-face-sample/detect-face-sample.py", line 34, in <module>
        facerect = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=1, minSize=(1, 1))    
    cv2.error: /root/Downloads/opencv/modules/objdetect/src/cascadedetect.cpp:1691: error: (-215) !empty() in function detectMultiScale
    
    지원되지 않는 문제
    OpenCV의 얼굴 정의 파일(haarcascade_frontalface_alt.xml)이 경로를 통과하지 않은 것 같아서다운로드, 프로그램과 같은 디렉터리에 설정됩니다.

    실행


    이런 느낌으로 실행했습니다.

    4. 라즈베리파이 끄기


    수첩에는 기재되지 않았지만 전원을 끄는 방법은 상당히 독특하다.이 시작 도구 패키지는 루트 비밀번호를 제공하지 않았기 때문이다.안돼.
    그래서 그 설정 프로그램을 사용해요.Bluetooth가 연결되면 장치를 선택하고 오른쪽 위 모서리의 전원 버튼을 닫을 수 있습니다.

    총결산


    라즈파 체험은 처음이지만 전원 코드만 사고 파이썬이라 라즈베리 파이 느낌이 전혀 없어요.어쨌든 하고 싶은 게 있으면 도중에 라즈베리피의 구조 따위는 상관없어요.

    참조 정보


    정보가 너무 적잖아...

    좋은 웹페이지 즐겨찾기