PTCInc / vuforia-engine

Bug and feedback issue tracker for the Vuforia Engine SDK
https://developer.vuforia.com
19 stars 0 forks source link

Can you use Vuforia on ARMv7 (needed due to external tesseract library being built for 32-bit and won't work on ARM64 on Android) #76

Closed garethmalc closed 6 months ago

garethmalc commented 6 months ago

I'm hoping someone can help me with something. I'm creating an Android App to use Tesseract OCR along with Vuforia to use the ARCamera to take a photo of text, then perform OCR for further processing.

Unfortunately the library i've downloaded from the following https://github.com/Neelarghya/tesseract-unity is only built for 32-bit Android and therefore won't run on ARM64 due to issues with the libtesseract.so binary file.

I really need to get this working ASAP and am wondering if there's a means of getting Vuforia to work on ARMv7 architecture so I can get moving on this. Any help anyone can provide would be greatly appreicated.

ptc-pscheper commented 6 months ago

Hi there, the only possibility is to disable ARCore which will degrade tracking for certain target types. If you disable ARCore in the Vuforia Configuration file, you should be able to built for 32-bit Android devices.

garethmalc commented 6 months ago

Hi Patrick,

Thanks for coming back to me on this. Could you advise which marking targets would still be available as I'm hoping I might be able to work around this

On Thu, 14 Dec 2023, 8:26 am Patrick Scheper, @.***> wrote:

Hi there, the only possibility is to disable ARCore which will degrade tracking for certain target types. If you disable ARCore in the Vuforia Configuration file, you should be able to built for 32-bit Android devices.

— Reply to this email directly, view it on GitHub https://github.com/PTCInc/vuforia-engine/issues/76#issuecomment-1855392833, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYGQ7P6RGBQKD7BHUIQFF4TYJKZ2DAVCNFSM6AAAAABATZC5VOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJVGM4TEOBTGM . You are receiving this because you authored the thread.Message ID: @.***>

ptc-emaggio commented 6 months ago

All targets are available except Area Targets. Model Target works with reduced robustness. Extended tracking (the ability to report the target position when the target is out of view) also works with reduced robustness.

ptc-pscheper commented 6 months ago

Vuforia Engine can be used on 32-bit devices with reduced robustness and is not advised. For this specific use-case it is possible by disabling ARCore.

garethmalc commented 5 months ago

Hi All, just wanted to check if you think Ground Plane Detection is possible when using Vuforia built for ARMv7 32-bit architecture?

ptc-emaggio commented 5 months ago

@garethmalc without ARCore ground-plane detection is by all means not available on most Android devices.

garethmalc commented 5 months ago

Thanks for coming back to me @ptc-emaggio

I'm really stuck as I need to proceed with ARMv7 due to issues with the imported tesseract wrapper being designed for this architecture.

Would you have any feedback in regards which tracking types available in ARMv7 would provide the closest match of functionality to Ground Detection? Basically I'm going to be trying to use the first word of text contained on a page within camera view to then overlay a "virtual page" with the recognised text with other features etc. My thoughts were that ground-plane detection would have been ideal but am obviously having issues due to the enforced ARMv7 design! Any steer would be massively appreciated.

garethmalc commented 5 months ago

Alternatively, would a potential workaround be to incorporate an older version of ARCore into my project e.g. V1.22? Would that be a possibility that might work for this limited use case?

ptc-emaggio commented 5 months ago

Unfortunately Google is deprecating 32-bit support for ARCore. There isn't much we can do about it (see here https://developers.google.com/ar/64bit). Vuforia ARCore minimum supported version is 1.32 (at the time of writing). An older version might still work but we cannot guarantee it. Clearly alternatives to tesseract for text recognition on Android exist. For example https://developers.google.com/ml-kit/vision/text-recognition/v2/android