We have several physical rooms with people visually checking objects on an android device.
The device is not using its embedded webcam but a webcam, fixed in the room. The device is just a remote control for the checking process.
Image processing is heavy Thus we wish to use a powerful computer for that and in an asynchronous way.
Installation :
- one fixed webcam and one android device per room
- every webcam is connected to the same PC
PC :
- dispatch videos from webcams to devices
-and process video frames on request
We want Unity on PC and devices (=android devices)
Concepts
Room : a room with a webcam in a fixed transform (position, rotation)
A room has :
- a name
- a camera
Camera : a webcam with some parameters like instrinsic parameters, transform. There could be up to 6 webcams.
A camera has intrinsics and transform (consider its just an xml)
Object : an object, identified by an id. It will be downloaded from a remote server. Objects will be inserted in rooms for validation by an operator.
In this document, object has only an id.
User : a user. Identified by a name. Probably not more than 2 will be connected at the same time. 6 maximum.
Server side (=on PC)
Functionally, there are 2 scenes:
- one to start/stop the server and manage rooms/camera
- one to calibrate a camera/room = finding parameters for this room
Main scene
Allows :
- start/stop the server and see connected rooms
manage cameras and rooms. A menu button displays a simple UI with:
-dropdown cameras (list the connected camera devices)
- dropdown rooms (list the created rooms)
It is possible to create/edit a new room and attach a camera
it is possible to see the video feed from a selected camera (purpose : checking the selected camera is indeed the one we want to use)
a button allows to calibrate a selected room. Opening a new scene : calibration scene
No recommendation for UI.Can be very basic.
Calibration scene
It displays the webcam feed corresponding to the camera of the above selected room
when the user clicks on a button, it freezes the feed
and the user will do some operations. Not included : we will calibrate the camera and find its transform in the room.
the user can go back to live feed
when the user returns to live feed or Main scene, parameters of the camera are saved (make it a dummy xml for now)
Always (if the server is started), in the background
The server :
- streams videos live to rooms given the (cameraId, roomId). So each connected user can see the camera feed corresponding to the room hes in.
- manage requests from users. Could be getObjectPosition(roomId,objectId): transform
->it runs a heavy process. It processes the last frame of corresponding webcam. So it will use the camera parameters and frame to find the object transform. It takes up to a few seconds : make a dummy one in a separate thread (not to block everything).
->once request is processed, the server notifies the room with a transform info. Make it random or based on a simple image feature.
NB : the app on device should not be frozen.
NB : OK if we can calibrate a room only if the server is stopped.
Client side
-A user start the app (android app).
Hes offered to connect to the server. He must specify the room hes in.
ip and port of the server should be editable but persisted (playerpref?)
We consider the device will be attached to a room. So, default room id should be editable (best is dropdown list) but persisted (playerpref?)
Once connected, he can see the video feed of the room hes in.
- By pressing a button he requests the object position (getObjectPosition, see above).
Last Calculated Transform should be displayed on screen = text for instance or placing a dummy object.
A button allows to disconnect.
Constraints
Its an inhouse project. No remote server.
Unity version can be discussed. We use 2017.3.1f1 for now. So : not below this version.
Delivery
Unity project will all sources to deploy app on PC and device","employmentType":["FULL_TIME","PART_TIME","CONTRACTOR","TEMPORARY","PER_DIEM"],"jobLocationType":"TELECOMMUTE","hiringOrganization":{"@type":"Organization","name":"Toogit","sameAs":"https://www.toogit.com/","logo":"https://www.toogit.com/images/toogit_logo_initial.png"},"identifier":{"@type":"PropertyValue","name":"Toogit","value":375998},"skills":["Online Multiplayer"],"applicantLocationRequirements":[{"@type":"Country","name":"IN"},{"@type":"Country","name":"Canada"},{"@type":"Country","name":"USA"},{"@type":"Country","name":"Germany"},{"@type":"Country","name":"Pakistan"},{"@type":"Country","name":"Philippines"},{"@type":"Country","name":"Indonesia"},{"@type":"Country","name":"Sri Lanka"},{"@type":"Country","name":"Nigeria"},{"@type":"Country","name":"China"},{"@type":"Country","name":"Russia"},{"@type":"Country","name":"Bangladesh"}],"validThrough":"2024-09-12T21:58:37+05:30","url":"https://www.toogit.com/freelance-jobs/Mzc1OTk4"}
Remote Web Development Job In IT And Programming
Find more Web Development remote jobs posted recently Worldwide
Work from Anywhere
40 hrs / weekFixed Type
Remote Job$476.42
Cost Looking for help? Checkout our video tutorial
How to search and apply for jobs
How to apply? Do you have more questions about the Job?
See frequently asked questions
Im looking for a Unity developer with full-stack experience. I will need:
- An instance on Nakama configured and deployed to handle account registrations, stats, messaging, Google/Facebook sign-in, etc.
- A series of simple (either real...read more
I want a domino game app (iOS/Android/ pc) that can be mobile, or played on a website.
Needs: The graphics need to be nice and professional. The game should support 1-4 players. There needs to be a way to log in and possible link to Faceb...read more
Need a UI and artwork made for a multiplayer mobile game. 15-20 screens in total. It is a strategy game. Please only apply if you have previously worked on a relevant game. Not dating apps or websites
I have a board game I designed, and would love to be able to play it as an app. It should be able to do the following things:
Connect with other users so up to five players can play together live
Have bots that users can play against and...read more
Hello,
I am looking for an experience developer who can manage to make an exact 100% clone of the popular mobile strategy game Rise of Kingdoms
If you feel you can handle such task feel free to bid on the project.