{"id":16879067,"url":"https://github.com/robertlucian/touch-gesture-detection","last_synced_at":"2026-04-16T11:02:12.243Z","repository":{"id":39735822,"uuid":"212280393","full_name":"RobertLucian/touch-gesture-detection","owner":"RobertLucian","description":"A concept library on detecting gestures from an array of touch sensors","archived":false,"fork":false,"pushed_at":"2022-11-21T22:31:52.000Z","size":3722,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-25T10:25:58.571Z","etag":null,"topics":["detecting-gestures","robotics","sensors","touch-sensors"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RobertLucian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-02T07:32:33.000Z","updated_at":"2019-10-05T14:45:18.000Z","dependencies_parsed_at":"2023-01-22T11:16:19.176Z","dependency_job_id":null,"html_url":"https://github.com/RobertLucian/touch-gesture-detection","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/RobertLucian/touch-gesture-detection","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobertLucian%2Ftouch-gesture-detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobertLucian%2Ftouch-gesture-detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobertLucian%2Ftouch-gesture-detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobertLucian%2Ftouch-gesture-detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RobertLucian","download_url":"https://codeload.github.com/RobertLucian/touch-gesture-detection/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobertLucian%2Ftouch-gesture-detection/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31882886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T09:23:21.276Z","status":"ssl_error","status_checked_at":"2026-04-16T09:23:15.028Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["detecting-gestures","robotics","sensors","touch-sensors"],"created_at":"2024-10-13T15:52:37.955Z","updated_at":"2026-04-16T11:02:12.198Z","avatar_url":"https://github.com/RobertLucian.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Touch Gesture Detection [![Build Status](https://travis-ci.org/RobertLucian/touch-gesture-detection.svg?branch=master)](https://travis-ci.org/RobertLucian/touch-gesture-detection) \nA concept library for detecting gestures from an array of touch sensors (and possibly other sensors as well).\n\n## Installing\n\nTo install the library, please be sure you've got Python 3.6+ and run\n```bash\npip install git+https://github.com/RobertLucian/touch-gesture-detection.git\n```\n\n## Development\n\nTo develop it, clone the repo and run \n```bash\nvirtualenv -p python3 env # make sure you've got python 3.6+ installed\n\nenv\\Scripts\\activate # for Windows-based systems\nsource env/bin/activate # for Linux-based systems\n\npip install --editable .\n```\n\n## API\n\n`kiki.detection.get_resource_path` - function to get the absolute file path\nof a file that resides in the `kiki` package. Must use a relative path for it.\n\n`kiki.detection.save_trained_model` - function to save a model and its weights to the disk.\n\n`kiki.detection.load_pretrained_model` - function to load a pre-trained model.\nCan specify whether the given path to the dataset is for an in-packaged model \nor just another that's coming out of it.\n\n`kiki.detection.train_touchsensor_model` - function to train the touch-gesture\ndetection mechanism. Takes in a dataset and sets some important hyper-parameters.\nThis function should be deprecated at some point and instead have the process of training new\nmodels streamlined. To train new motions, just add more data to the dataset.\n\nTo see the parameters of these functions, check the embedded docstrings from each one.\n\n## Dataset\n\nWithin the package, there are a couple of datasets included:\n* `datasets/vertical_swipe.csv`\n* `datasets/horizontal_swipe.csv`\n* `datasets/tapping.csv`\n* `datasets/double_tapping.csv`\n* `datasets/hitting.csv` - currently empty\n* `datasets/slapping.csv`\n* `datasets/generated_dataset.csv`\n\nEach one of these datasets can be opened up this way\n```python\nimport pandas as pd\nfrom kiki.detection import get_resource_path\n\nfile = get_resource_path('datasets/generated_dataset.csv')\ndf = pd.read_csv(file)\n```\n\n`generated_dataset.csv` is a special dataset which was artificially built\nfrom all the other non-empty datasets. Practically, it was generated\nby iteratively altering the values from each sample by up to 15%. This should\nprovide enough variation to prove the point. All samples are shuffled. There are\n 36200 samples in total, each one of them having 6 features and 11 time steps. \n [kiki/datasets/data_generator.py](kiki/datasets/data_generator.py) was used to generate\n all this data. This script is not included in the package though.\n \n ## Pre-trained Model\n\nThe pre-trained model is found at `models/touch` and can be loaded by running \n```python\nfrom kiki.detection import load_pretrained_model\n\nload_pretrained_model('models/touch', inpackage_data=True)\n```\nThis both loads the model of the neural network and the weights associated with it.\n\nThe neural network is comprised of an LSTM layer of 32 units and a dense layer with the same\nnumber of neurons as there are features - currently 6 of them. The returned model is a \nkeras [model](https://keras.io/models/model/). The test accuracy is as of this moment at 100%,\nwhich should be expected from a dataset that is almost ideal and has almost no noise.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertlucian%2Ftouch-gesture-detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobertlucian%2Ftouch-gesture-detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertlucian%2Ftouch-gesture-detection/lists"}