vladmandic / human

Human: AI-powered 3D Face Detection & Rotation Tracking, Face Description & Recognition, Body Pose Tracking, 3D Hand & Finger Tracking, Iris Analysis, Age & Gender & Emotion Prediction, Gaze Tracking, Gesture Recognition
https://vladmandic.github.io/human/demo/index.html
MIT License
2.33k stars 323 forks source link

Give error on 1 device with interesting settings #350

Closed shurshilov closed 1 year ago

shurshilov commented 1 year ago

give thist error WhatsApp Image 2023-03-27 at 17 43 59

when we disable angel webgl not work when we enable angel webgl starts working immediately check on this site https://browserleaks.com/webgl#howto-detect-webgl WhatsApp Image 2023-03-27 at 17 05 18 WhatsApp Image 2023-03-27 at 17 05 18 (1) WhatsApp Image 2023-03-27 at 17 05 19

On the last 3 screenshots, the working version. If angel webgl False there will be an error like in the first screenshot

vladmandic commented 1 year ago

Key error is

Failed to link vertex and fragment shaders

That is a very generic OpenGL error (OpenGL error handling is a nightmare), but most commonly it happens when there is insufficient VRAM to perform operation.

To confirm that, can you try running human with modified configuration and disable most of the models, leave just one (for example face detect) as enabled. And then try enabling others one by one.

And you can navigate to chrome://gpu and monitor gpu log messages at the bottom.

Having said that, Intel HD 5500 is a veeery old GPU, from 2014.

And Angle (not angel) is Google's very performant but not very efficient way to execute OpenGL calls on GPU. When you switch backend to D3D, it uses compatibility mode which is not as fast, but more efficient, especially when it comes to memory allocation.

Also, given the age of that card, I doubt any real hardware acceleration is helping - you may want to try out using wasm backend instead of webgl so execution happens on CPU instead of GPU.

shurshilov commented 1 year ago

YEs WASM work for this client) so which config will good for this as minimal?but with face recognition and detect enabled? I use image

            const myConfig = {
                debug: false,
                async: true,
                modelBasePath: '/hr_attendance_face_recognition_pro/static/src/js/models',
                face: { // runs all face models
                    face: { enabled: true },
                    mesh: { enabled: true},
                    description: { enabled: true },

                    detector: { rotation: false },
                    iris: { enabled: false },
                    emotion: { enabled: false },
                },
                hand: { enabled: false },
                body: { enabled: false },
                object: { enabled: false },
                gesture: { enabled: false },
                segmentation: { enabled: false },
                filter: { enabled: false },
            };
        for this client also wasw off cause
vladmandic commented 1 year ago

you already have most disabled. :(

if you need just face recognition, you can try disabling mesh model. detection should still work, altough since face box is less precise, recognition would also be less precise.

i'm sorry, not sure i can help more than that.

shurshilov commented 1 year ago

Thank you!