yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
DOGZILLA-Lite📖
1. Get started quickly
  • 0. Notes (Must Read)new
  • 1. Main interface function experience (cm5)new
  • 1. Main interface function experience(cm4)
  • 2. APP control experience
  • 3. Web page image transmission control
  • 4. LLM-Embodied Intelligence Capabilities
  • 5. LLM-Smart Dog Capabilities
2. Basic operations of Raspberry Pi system
  • 1.SSH remote login
  • 2.VNC remote login desktop
  • 3.Remote file transfer
  • 4.JupyterLab environment construction and use
  • 5.Burn the system image
  • 6.Connect to WiFi
  • 7.Close large programs
  • 8.Raspberry Pi system expansion
3. Basic control of the dogzilla
  • 0. Introduction to DOGZILLA-Lite
  • 1. Screen display control
  • 2. Record Audio
  • 3. Play Audio
  • 4. Text to audio
  • 5. Voice to text
  • 6. Record Video
  • 7. Play Video
  • 8. Video recording function
  • 9. Read the posture angle
  • 10. Battery level reading
  • 11. Read the servo angle
  • 12. Screen display of expressions
  • 13. Calibration of the robot dog
  • 14. Burn the firmware
  • 15. Analysis of common problems
4. Motion control of the dogzilla
  • 1. The dog's forward, backward, left, and right movements and gait
  • 2. Dog Spin
  • 3. The dog adjusts its height and posture
  • 4. Dog periodic translation and rotation
  • 5. Self-balancing mode
  • 6. The dog performs preset actions
  • 7. Single Leg Control
  • 8. Robotic arm control
  • 9. Teaching mode
  • 10. Group Control Performance
  • 11. Teaching demonstration onlinenew
5. Open Source CV
A. Getting started with OpenCV
  • 1. Introduction to OpenCV
  • 2. OpenCV image reading and display
  • 3. OpenCV image writing
  • 4. OpenCV Image Quality
  • 5.OpenCV pixel operations
B. OpenCV geometric transformation
  • 1. Image scaling
  • 2. Image cutting
  • 3. Image translation
  • 4. Image mirroring
  • 5. Affine Transformation
  • 6. Image Rotation
  • 7. Perspective Transformation
C. OpenCV image processing and drawing text segments
  • 1. Grayscale processing
  • 2. Image Binarization
  • 3. Edge Detection
  • 4. Line drawing
  • 5. Rectangle and circle drawing
  • 6. Text and picture drawing
D. Image beautification
  • 1. Color Image Histogram
  • 2. Histogram Equalization
  • 3. Image repair
  • 4. Brightness enhancement
  • 5. Skin whitening
  • 6. Gaussian mean filtering
  • 7. Median Filter
6. AI recognition of the dogzilla
  • 1. Camera driver tutorial
  • 2. Color recognition
  • 3. HSV value test
  • 4. Object Recognition
  • 5. QR code recognition
  • 6. License Plate Recognition
  • 7. Human Pose Estimation
  • 8. Yolo detection
  • 9. Face Detection
  • 10. Human face mask
  • 11. Face effects
  • 12. 3D Object Recognition
  • 13. Paintbrush
  • 14. Finger recognition
  • 15. Gesture Recognition
  • 16. Age and gender identification
  • 17. Background Segmentation
  • 18. Facial Recognitionnew
  • 19. Emotion Recognitionnew
  • 20. Motion Detectionnew
7. Dogzilla AI Interaction
  • 1. Color patrol
  • 2. Line patrol and obstacle removal
  • 3. Color tracking
  • 4. Ball tracking
  • 5. The ball follows
  • 6. QR code recognition exercise
  • 7. Face tracking
  • 8. Remote control
  • 9. Gesture tracking
  • 10. Gesture-controlled movement
  • 11. You Drop, I Pick
  • 12. Independent football exercise
  • 13. Human Body Followingnew
8. AI large model interaction
  • 0.AI large model principle foundation
  • 1.Large model premise use configuration
  • 2.Q&A
  • 3.Embodied intelligence
  • 4.Smart dog
  • 5.Picture to text
  • 6.Intelligent interaction
  • 7.Voice intelligent vision
  • 8.Playing football
  • 9.Block gripping
  • 10.Line tracking and obstacle removal
  • 11.Control object tracking
Download
  • System_File
  • Code
  • Firmware
  • Communication interface
  • Instruction Manual
  • Appendix
Download ZIP

Welcome to DOGZILLA-Lite repository

18. Facial Recognition

Facial Recognition

Facial Recognition1. Experimental Purpose2. Experimental Steps3. Experimental Results4. Experimental Source Code Analysis

This tutorial is specific to the CM5 version and cannot be used directly with the CM4 version

1. Experimental Purpose

Learn how the robot dog can recognize faces after collecting facial image data.

2. Experimental Steps

  1. Log in to the robot dog system, exit the robot dog program, and enter "ip (the robot dog's IP address):8888" in the browser. Once logged in, enter the password "yahboom".

image-2024112100001

  1. Log in and run the face_recognition_Class.ipynb file in the cd ~/DOGZILLA_Lite_class/5.AI Visual Recognition Course/18. Face Recognition directory.
  2. Run the program

3. Experimental Results

  1. The screen will display a live image. Press the button in the upper-right corner of the screen to capture a face.
  2. Each time a face is captured, the screen will display "OK," but this does not indicate successful recognition.

image-2024112100002

  1. Press the button in the upper-left corner of the screen to perform face recognition. The program will display two results: 1. Successful capture, indicating face recognition is possible. 2. Failed capture, indicating that face recognition is unsuccessful and requires re-capturing.
  2. After a captured face is recognized, the screen will display the image's serial number.

Encoded:

image-2024112100003

Unencoded:

image-2024112100004

  1. Restarting this program will not save previously encoded faces; you will need to re-encode them for recognition.

4. Experimental Source Code Analysis

def take_photo():
    global i 
    show_ok = False  # 控制是否显示OK字样 Control whether the word 'OK' is displayed
    ok_display_time = 0  # 记录显示OK的时间 Record the time when OK is displayed
    
    while True:
        frame = picam2.capture_array()
       
        #cv2.imshow('frame', frame)
        image_widget.value = bgr8_to_jpeg(frame)
        
        b, g, r = cv2.split(frame)
        img = cv2.merge((r, g, b))
        imgok = Image.fromarray(img)
        mydisplay.ShowImage(imgok) 
        
        if button.press_d():
            cv2.imwrite(f"./Face_P/{i}.jpg", frame)
            
while (1):
    frame = picam2.capture_array()
    face_locations = face_recognition.face_locations(frame)
    face_encodings = face_recognition.face_encodings(frame, face_locations)
    # 在这个视频帧中循环遍历每个人脸 Loop through each face in this video frame
    for (top, right, bottom, left), face_encoding in zip(
            face_locations, face_encodings):
        # 看看面部是否与已知人脸相匹配。 Check if the face matches a known face.
        for i, v in enumerate(total_face_encoding):
            match = face_recognition.compare_faces(
                [v], face_encoding, tolerance=0.5)
            name = "Unknown"
            if match[0]:
                total_image_name[i] = total_image_name[i].replace(folder_path,"")
                name = total_image_name[i] #str(i+1) 
                name = 'NO.' + name
                break
        # 画出一个框,框住脸 Draw a frame to enclose the face
        cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2)
        # 画出一个带名字的标签,放在框下 Draw a label with a name and place it under the box
        cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255),
                      cv2.FILLED)
        font = cv2.FONT_HERSHEY_DUPLEX
        try:
            cv2.putText(frame, name, (left + 6, bottom - 6), font, 0.7,
                    (255, 255, 255), 1)
        except :
            name = "Unknown"
            cv2.putText(frame, name, (left + 6, bottom - 6), font, 0.7,
                    (255, 255, 255), 1)
    # 显示结果图像 Display result image
    image_widget.value = bgr8_to_jpeg(frame)

take_photo(): This function is mainly used to collect faces. while (1): This loop is used to identify the collected faces. If the face is recognized, the face number will be displayed on the screen. If it cannot be recognized, "Unknown" will be displayed.

 

 

 

 

 

Background Segmentation
Emotion Recognition

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文