Coder Social home page Coder Social logo

fever's People

Contributors

maxbbraun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

fever's Issues

Problem Enabling access to the thermal camera over UVC

Hi Max,

Thank you for your grate project! While I was trying to enable camera over UVC, when I do "cmake.." it comes up with this error:

b15fb85b-c34c-45e3-8bd9-b919a58f3fa2

The camera is attached but it says "JPEG not found".

Moreover, can you please explain how you read temperature from the camera? I am asking because I was able to run the camera in another way, but I think I am missing some information in this way.

Look forward to your answer!

Best,

Undelying model

Hi Max,

sry to disturb, but I'd like to better understand which network is implemented below the tflite model. From my understanding, the DetectionEngine only inputs SSD models. Is that the network architecture running below the tflite? Or is it another one (like mobilenet SSD, efficientDet, YOLOVx or else).

Will wait for your. Thank you for the great work you did.

Improve face detection

Face detection currently only works in a limited way, because the detector was not made for thermal images. Two possible directions to take from here:

  1. Use an RGB camera right next to the thermal camera, run face detection there, and reproject the detections into the thermal camera frame to read the temperature. Could use the Raspberry Pi Camera Module V2 to keep it cheap and simple or a Intel RealSense D400 if #1 requires it.

    • Pro: fairly straightforward implementation
    • Con: additional hardware, reprojection introduces error
  2. Make a thermal face detector. This could probably be done by fine-tuning a detector network previously trained on RGB data. This dataset of 1557 thermal images with bounding boxes might be a start. As for the detector, maybe try EfficientDet. In general, TensorFlow Lite compatibility might be preferable so an Edge TPU can be used.

    • Pro: clean all-in-one solution
    • Con: more unknowns in implementation

In either case, #2 may also require face landmarks (eyes, nose, mouth) instead of plain bounding boxes for better accuracy.

See also:

Temperature decimal value

Hi Max,
is there any value to obtain the decimal precision for temperature detection?
Thanks in advance

Gianluca

Adjust temperature reading

In order to produce a usefully accurate temperature reading, the raw data from the thermal camera should be adjusted using additional data such as the distance of the face, the ambient temperature, and the humidity of the environment. The body temperature is also different from the surface temperature of the skin, which requires additional adjustments.

Ambient temperature and humidity (as well as air pressure and gases) are already available from the BME680 sensor.

Face distance could be determined in one of two ways:

  1. Estimate the distance from the size of face detections. Simple bounding boxes might work, but face landmarks (eyes, nose, mouth) may be more accurate.

    • Pro: straightforward implementation, no additional hardware
    • Con: likely not very accurate (assumes uniform face size, sensitive to detection errors)
  2. Use a depth camera such as the Intel RealSense D400 series.

    • Pro: higher accuracy
    • Con: expensive additional hardware, reprojection errors

The exact formula to combine these inputs into a temperature remapping function is also TBD.

See also:

Does not run on CPU

According to maxbbraun/thermal-face the model thermal_face_automl_edge_fast.tflite should run on CPU
However I tried it and it won't work.

Error code is shown below
super().__init__(model_path) File "/usr/lib/python3/dist-packages/edgetpu/basic/basic_engine.py", line 92, in __init__ self._engine = BasicEnginePythonWrapper.CreateFromFile(model_path) RuntimeError: No Edge TPU device detected!

Model I use

flags.DEFINE_string('face_model', 'thermal_face_automl_edge_fast.tflite', 'The TF Lite face detection model file compiled for CPU ' 'CPU.')
Per google documents edgetpu.detection.engine.DetectionEngine can run on CPU .

Is there any problem with thermal_face_automl_edge_fast.tflite ?

want to ask

how to run thee code without coral ,can you give tutorial bro?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.