espressif / esp-who

Face detection and recognition framework
Other
1.7k stars 469 forks source link

who did the YUV to jpeg encodding? #27

Closed 9crk closed 5 years ago

9crk commented 5 years ago

this project is awesome! Does the ov2640 encode the jpeg or ESP32 did the encoding?

9crk commented 5 years ago

runs 12fps on 640480/ 6fps on 1024768/ 25fps under CIF

me-no-dev commented 5 years ago

The camera can output JPEG also. The way we currently handle it is to get JPEG from the camera, then turn it into RGB888 for detection, recognition and drawing on the frame and then back to JPEG to be pushed to the browser. We have added all necessary tools to convert from any format to BMP(RGB888) or JPEG. When YUV or RGB565 is used, the data flow is too hight and leaves little time for processing. But JPEG on the other hand allows to run at 2MP JPEG without issues.

me-no-dev commented 5 years ago

Actually 1600x1200@6FPS, 800x600@12FPS and 400x300@25FPS

9crk commented 5 years ago

sure it does the fps. but need to put the encode quality to 40+ so all the face recognition stuff was done after turning JPEG to RGB ? is there any benchmark for JPEG decoding and encoding speed ?

btw. the boot time turns about 5 seconds, is there any possible to speed up?

9crk commented 5 years ago

this will be a good work to make a doorbell product!

me-no-dev commented 5 years ago

if you run the web server demo, you will get the timing of each step in the serial console :)

me-no-dev commented 5 years ago

BTW the FPS largely depends on the board quality and the network quality. You can do it with quality set to 10 if all is good.

martinberlin commented 5 years ago

A doorbell that can open the door with a photo of you does not pass any security standards. But to have fun recognizing friends can be nice :)