Image Capturing Android App: openCV, camera2 API, ONNX

Job ID: 35734414

Budget: $750 – $1,500 USD

Hello Android Developers!
PLEASE read this description very carefully. Take your time, I will not decide for a freelancer within hours.
This is a computer vision / computation photography project. If you are not expert in this field, please skip.
ONLY APPLY if you are fluent in JAVA, openCV, Camera2 API, Gradle & ONNX on Android!!!
I need someone to implement an Android app as an Android Studio Gradle project in Java, openCV and ONNX with the following basic features:
- Show (fullscreen) HDR camera preview (like in this demo implementation https://github.com/android/camera-samples/tree/main/HdrViewfinder) - if possible without the depreciated Renderscript implementation
- Add a „take image“ button (round botton in the middle on the right screen edge when in landscape), like in this screenshot: https://github.com/android/camera-samples/raw/main/CameraXExtensions/screenshots/camerax_camera_extensions_screenshot.png)
- when pressing the button a bracketing series of 5 RAW images shall be captured with the camera2 API as fast as possible (-4, -2, 0, +2, -4 EV), the RAW buffers need to be converted to an openCV ‚Mat’ for further processing in openCV (a dummy processing function shall be called with no implementation but the 5 bracketing images as ‚Mat‘ provided as arguments)

Now the more sophisticated additional features:
- Add an object detection that always searches for a 2D target in the image (a color checker board, this one specifically: https://static1.pointsinfocus.com/2016/08/x-rite-colorchecker-passport-photo/ColorChecker-Passport-Classic-Target.jpg) The detections needs to provide the coordinates of the 2D color checker board. This should be achieved with a feature matching solution, e.g. MediaPipe KNIFT https://google.github.io/mediapipe/solutions/knift.html
- if a color checker is detected, display a frame around it in the camera preview with correct tracking
- when the user touches (clicks) within this frame, a bracketing series shall be captured as above and the coordinates of the color checker shall be provided as additional argument to a dummy function
- add the ONNX Runtime package to the project: https://mvnrepository.com/artifact/com.microsoft.onnxruntime/onnxruntime-mobile
it does not yet need to implement anything very useful
to proof usability a MobileNet can be loaded from here: https://github.com/onnx/models/tree/main/vision/classification/mobilenet
and added to the app similarly to this example project: https://github.com/microsoft/onnxruntime-inference-examples/tree/main/mobile/examples/image_classification/android
- all camera features need to use the camera2 /cameraX api

The project will have 3 milestones:
1. As a first step you will need to provide a plan on how to achieve the needed features (especially how you will solve the object detection), which libraries you will use etc.
2. Implementation basic features
3. Implementation 2D object detection features
4. Add ONNX binding feature
5. Documentation & Cleanup

To verify that you have read through this entire description, add this code to your application: 342567.
Please provide a well estimated time frame for your project (needed time and availability).
Happy bidding!