ttool

TTool is software designed for augmented reality (AR) assisted woodworking tasks. It allows a AI-assisted and real-time detection of tool head's type and pose within the camera frame.

https://github.com/ibois-epfl/ttool

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README
  • Academic publication links
    Links to: mdpi.com, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary

Keywords

6dof-pose artificial-intelligence augmented-reality computer-vision digital-fa
Last synced: 9 months ago · JSON representation

Repository

TTool is software designed for augmented reality (AR) assisted woodworking tasks. It allows a AI-assisted and real-time detection of tool head's type and pose within the camera frame.

Basic Info
Statistics
  • Stars: 7
  • Watchers: 4
  • Forks: 1
  • Open Issues: 0
  • Releases: 5
Topics
6dof-pose artificial-intelligence augmented-reality computer-vision digital-fa
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

DOI

TTool is developed at the Laboratory for Timber Construction (director: Prof.Yves Weinand) with the support of the EPFL Center for Imaging and the SCITAS, at EPFL, Lausanne, Switzerland. The project is part of the Augmented Carpentry Research.

TTool is an open-source AI-powered and supervised 6DoF detector for monocular camera. It is developed in C++ and for UNIX systems to allow accurate end-effectors detection during wood-working operations such as cutting, drilling, sawing and screwing with multiple tools. This is a fundamental component of any subtractive AR fabrication system since you can for instance, calculate and give users feedback on the correct orientation and depth to start and finish a hole or a cut.

TTool is a AI-6DoF pose detector that recognizes automatically tools and allows the user to input an initial pose via an AR manipulator. The pose is then refined by a modified version of SLET (checkout our changelog) and visualized as a projection onto the camera feed.

TTool can be imported as a C++ API in a third project or used as an executable. It is tailored to our specific use case in timber carpentry but see the Caveats section below to adapt it to your use case.

For a quick hands-on start or more details, check out our Wiki.

Alt

Publication

TTool is published in a MDPI Journal Paper of Applied Sciences that you can find here. bibitex @article{Settimi2024, title = {TTool: A Supervised Artificial Intelligence-Assisted Visual Pose Detector for Tool Heads in Augmented Reality Woodworking}, volume = {14}, ISSN = {2076-3417}, url = {http://dx.doi.org/10.3390/app14073011}, DOI = {10.3390/app14073011}, number = {7}, journal = {Applied Sciences}, publisher = {MDPI AG}, author = {Settimi, Andrea and Chutisilp, Naravich and Aymanns, Florian and Gamerro, Julien and Weinand, Yves}, year = {2024}, month = apr, pages = {3011} }

How it works

Alt

  • a: the ML classifier detects the tool type from the camera feed and loads the corresponding 3D model.
  • b: the user inputs an initial pose of the tool via an AR manipulator.
  • c: the pose is refined with an edge-based algorithm.
  • d: the pose is projected onto the camera buffer and displayed to the user.
  • e: the user can now start the operation guided by computed feedback.

Alt

On the left, the user can select the tool type and input an initial pose. On the right, the pose is refined and projected onto the camera feed. The digital twin between the aligned model and the chainsaw plate (or any other tool) is preserved even when occuluded and inside the wood.

Caveats

TTool was tailored to our specific use case. If you want to adapt it to your use case, you will need to change the following files: - CMakeLists.txt: comment the line include(cmake/dataset.cmake), it won't use zenodo for the models, but you will have to provide the models yourself, se the wiki on how to do it. - assets/config.yaml: list the models you want to use, and their path by replacing these lines: https://github.com/ibois-epfl/TTool/blob/b357383e85708844efd9854291f0f85e521d227b/assets/config.yml#L57-L66 Be sure to erase these lines specific to our use case: https://github.com/ibois-epfl/TTool/blob/b357383e85708844efd9854291f0f85e521d227b/assets/config.yml#L67-L76 - ML classifier: to adapt the ML classifier to your use case, you will need to train your own model. We have a template in this repo.

Acknowledgement

This project was possible thanks to technical support and counseling of the EPFL Center for Imaging in the person of Florian Aymanns. We also would like to acknowledge the help of Nicolas Richart in the CMake project and CI development of TTool Check out their GitHub Organization to discover other nice projects they are helping building!

Owner

  • Name: Laboratory for Timber Constructions IBOIS, EPFL
  • Login: ibois-epfl
  • Kind: organization
  • Location: Switzerland

GitHub Events

Total
  • Issue comment event: 1
  • Member event: 1
  • Push event: 5
  • Pull request review event: 1
  • Pull request event: 4
  • Create event: 1
Last Year
  • Issue comment event: 1
  • Member event: 1
  • Push event: 5
  • Pull request review event: 1
  • Pull request event: 4
  • Create event: 1

Dependencies

.github/workflows/docker-cmake-build.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • docker/login-action f4ef78c080cd8ba55a85445d5b36e214a81df20a composite
Dockerfile docker
  • ubuntu latest build
eval/environment.yml conda
  • git
  • pip
  • python 3.9