Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do you need a hand? #3

Open
gunar opened this issue Aug 21, 2021 · 5 comments
Open

Do you need a hand? #3

gunar opened this issue Aug 21, 2021 · 5 comments

Comments

@gunar
Copy link

gunar commented Aug 21, 2021

Hi @cxcorp,

In a half-dream last night I've envisioned an "AR" code breaker for Cyberpunk. I was looking into tesseract.js when I've stumbled upon your work!

I was wondering whether we should work together on this (and incur the coordination costs) or if you'd rather work at your own pace (so maybe I'll start from scratch or fork).

Let me know what you think.

Thanks!

@cxcorp
Copy link
Owner

cxcorp commented Aug 21, 2021

Hey. Thanks for the interest!

I was planning on integrating this to https://github.com/cxcorp/cyberpunk2077-hacking-solver at some point but right now am working on an improved version that does all of the matrix detection and CV calls directly in C++ that's compiled to wasm. I'll put that on GitHub soon. I also got better results when detecting the matrix with DBSCAN than my previous ad-hoc solution.

Some of the things I haven't worked on yet are for example the UI shown to the user, but I had some ideas like showing a confirmation prompt where the user can manually correct the digits tesseract missed.

What did you have in mind? If you meant that you'd show the solution tracked on top of the matrix, a major challenge there is how slow and ultimately not completely trustworthy tesseract is, requiring manual corrections from the user.

@gunar
Copy link
Author

gunar commented Aug 21, 2021 via email

@cxcorp
Copy link
Owner

cxcorp commented Aug 22, 2021

Yeah, that would definitely be cool and is in the realm of possibility! I also think that it might get a bit old after the first few times since you'd have to work on the controller with just one hand, and keep your phone pointed at the screen all the time 😄

My initial vision was to render the green rectangle on the code matrix and run Tesseract on it, then overlay the guess on top of the actual code matrix. However, Tesseract's performance isn't great, and OpenCV is also quite heavy on older phones (I get like 5 FPS on an older Nokia smartphone (5.1?), whereas I get 20-50 FPS on an OnePlus 8 Pro. So performance does limit creativity here a little bit.

Right now the prototype shows my current vision a little bit, which is to have the (possibly low FPS) camera feed visible with the green rectangle showing the detected code matrix' edges, then wait for user to press a button, after which Tesseract is ran.

I won't be able to work on this this week, but I'll let you know (probably the week after the next week).

@gunar
Copy link
Author

gunar commented Aug 22, 2021

Sounds good. I think we might want to move towards pictures as opposed to live camera feeds.

Also I've been thinking that maybe we don't need OCR but just feature detection. There are only 8 hex possible values so maybe that makes processing cheaper. Have you considered something like that?

@cxcorp
Copy link
Owner

cxcorp commented Aug 22, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants