← All .science files
pmid:37342986
Machine learning based canine posture estimation using inertial data.
Marinara Marcato · Salvatore Tedesco · Conor O'Mahony · Brendan O'Flynn · Paul Galvin
PloS one · 2023 doi:10.1371/journal.pone.0286311
Paper
complete
Experiment
partial
Data
partial
Analysis
partial
Execution
absent
Execution evidence has not yet been added to this .science file. Explore its methods, data and open questions to plan the next step.
Record details sci_version · id · kind · revision · content_hash · schema · created_at · updated_at · generator
paper object · 10 fields
authors array · 5 items
claims array · 3 items
[0] object · 6 fields
evidence array · 1 item
[0] object · 3 fields
[1] object · 6 fields
gaps array · 0 items
experiment object · 8 fields
steps array · 3 items
[0] object · 13 fields
parameters object · 0 fields
inputs array · 1 item
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
[1] object · 13 fields
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
[2] object · 13 fields
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
materials array · 0 items
instruments array · 0 items
reagents array · 0 items
conditions object · 0 fields
gaps array · 1 item
data object · 3 fields
assets array · 1 item
[0] object · 15 fields
structure object · 4 fields
gaps array · 0 items
analysis object · 4 fields
methods array · 3 items
[0] object · 10 fields
dsl_operations array · 4 items
missing_operations array · 0 items
parameters object · 0 fields
data_shapes array · 1 item
[1] object · 10 fields
dsl_operations array · 0 items
missing_operations array · 1 item
parameters object · 0 fields
data_shapes array · 1 item
[2] object · 10 fields
dsl_operations array · 0 items
missing_operations array · 0 items
parameters object · 0 fields
data_shapes array · 0 items
targets array · 0 items
gaps array · 1 item
capability object · 3 fields
requirements array · 1 item
[0] object · 6 fields
assay_families array · 9 items
gaps array · 0 items
readiness object · 8 fields
axes object · 3 fields
method object · 5 fields
required_operations array · 4 items
missing_operations array · 0 items
capability object · 4 fields
data object · 6 fields
accessions array · 0 items
resolved_accessions array · 0 items
statements array · 1 item
can_run object · 3 fields
dsl_operations array · 4 items
assets array · 1 item
steps array · 1 item
must_build object · 5 fields
dsl_operations array · 0 items
converters array · 0 items
readers array · 0 items
capabilities array · 0 items
data_gaps array · 1 item
gaps array · 1 item
review object · 5 fields
machine_critique object · 5 fields
reader object · 5 fields
evidence_check object · 2 fields
usage object · 3 fields
stages array · 1 item
[0] object · 4 fields
gaps array · 3 items
provenance object · 7 fields
entities array · 3 items
activities array · 3 items
[0] object · 4 fields
used array · 3 items
[0] object · 3 fields
[1] object · 3 fields
[2] object · 3 fields
[1] object · 4 fields
agents array · 2 items
lineage object · 4 fields
gaps array · 6 items
assays array · 1 item
[0] object · 11 fields
required_operations array · 4 items
source_hashes object · 1 field
evidence array · 1 item
Complete file
{"sci_version": "1.2", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:37342986", "kind": "science-record", "revision": 3, "content_hash": "sha256:1f0cb7a633d2b622eb80e16aa25dcd33d384e76e40655d08844b4c59001d0cf8", "created_at": "2026-11-01T19:02:05Z", "updated_at": "2026-11-01T22:09:43Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "Machine learning based canine posture estimation using inertial data.", "doi": "10.1371/journal.pone.0286311", "pmid": "37342986", "authors": ["Marinara Marcato", "Salvatore Tedesco", "Conor O'Mahony", "Brendan O'Flynn", "Paul Galvin"], "journal": "PloS one", "year": 2023, "abstract": "The aim of this study was to design a new canine posture estimation system specifically for working dogs. The system was composed of Inertial Measurement Units (IMUs) that are commercially available, and a supervised learning algorithm which was developed for different behaviours. Three IMUs, each containing a 3-axis accelerometer, gyroscope, and magnetometer, were attached to the dogs' chest, back, and neck. To build and test the model, data were collected during a video-recorded behaviour test where the trainee assistance dogs performed static postures (standing, sitting, lying down) and dynamic activities (walking, body shake). Advanced feature extraction techniques were employed for the first time in this field, including statistical, temporal, and spectral methods. The most important features for posture prediction were chosen using Select K Best with ANOVA F-value. The individual contributions of each IMU, sensor, and feature type were analysed using Select K Best scores and Random Forest feature importance. Results showed that the back and chest IMUs were more important than the neck IMU, and the accelerometers were more important than the gyroscopes. The addition of IMUs to the chest and back of dog harnesses is recommended to improve performance. Additionally, statistical and temporal feature domains were more important than spectral feature domains. Three novel cascade arrangements of Random Forest and Isolation Forest were fitted to the dataset. The best classifier achieved an f1-macro of 0.83 and an f1-weighted of 0.90 for the prediction of the five postures, demonstrating a better performance than previous studies. These results were attributed to the data collection methodology (number of subjects and observations, multiple IMUs, use of common working dog breeds) and novel machine learning techniques (advanced feature extraction, feature selection and modelling arrangements) employed. The dataset and code used are publicly available on Mendeley Data and GitHub, respectively.", "claims": [{"id": "claim-method", "statement": "The development set was partitioned to create independent training and validation sets using 10-fold group cross-validation to ensure that those sets did not contain data from the same dogs.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:37342986", "locator": "sections[12] \"2.7 Classification models\" paragraph 5", "quote": "The development set was partitioned to create independent training and validation sets using 10-fold group cross-validation to ensure that those sets did not contain data from the same dogs."}], "state": "complete"}, {"id": "claim-data-access", "statement": "The dataset and code used are publicly available on Mendeley Data and GitHub, respectively.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:37342986", "locator": "sections[0] \"Abstract\" paragraph 1", "quote": "The dataset and code used are publicly available on Mendeley Data and GitHub, respectively."}], "state": "complete"}, {"id": "claim-target-result", "statement": "The best classifier achieved an f1-macro of 0.83 and an f1-weighted of 0.90 for prediction of five canine postures, outperforming previous studies.", "kind": "qualitative", "target": null, "evidence": [{"asset": "source:pmid:37342986", "locator": "sections[0] \"Abstract\" paragraph 1", "quote": "The best classifier achieved an f1-macro of 0.83 and an f1-weighted of 0.90 for the prediction of the five postures, demonstrating a better performance than previous studies."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "partial", "objective": "The best classifier achieved an f1-macro of 0.83 and an f1-weighted of 0.90 for prediction of five canine postures, outperforming previous studies.", "steps": [{"id": "read_published_estimate", "order": 1, "name": "Read the published estimate from the source", "kind": "other", "state": "complete", "blocked_on": null, "description": "The claim, method and evidence span published with the source article.", "duration_hours": null, "parameters": {}, "inputs": ["source:pmid:37342986"], "outputs": ["the published estimate and its evidence"], "instruments": [], "reagents": []}, {"id": "obtain_source_data", "order": 2, "name": "Obtain the source data from the named repository", "kind": "data-preparation", "state": "blocked", "blocked_on": "data:accession_absent", "description": "The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the source data with its repository provenance"], "instruments": [], "reagents": []}, {"id": "run_analysis", "order": 3, "name": "Run the published analysis", "kind": "analysis", "state": "complete", "blocked_on": null, "description": "Apply the paper's statistical method to the resolved series and compare the result with the published target.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": ["step:obtain_source_data blocked on data:accession_absent"]}, "data": {"state": "partial", "assets": [{"id": "source:pmid:37342986", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.1371/journal.pone.0286311", "sha256": "sha256:908d2f32f187bf06cfc858caac17d40081a878ff45d53e1dadd00ff87c4dc2c9", "bytes": 53635, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.1371/journal.pone.0286311", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC10284380", "source": "europe_pmc_fulltext", "coverage": "whole_body_without_references", "text_hash_scope": "rendered_section_body"}}], "gaps": []}, "analysis": {"state": "partial", "methods": [{"id": "method-1", "family": "group_comparison", "specific": "anova", "label": "Group comparison", "dsl_operations": ["group_summary", "welch_t", "bootstrap_mean_difference", "group_comparison_anova"], "missing_operations": [], "expressible": true, "parameters": {}, "data_shapes": ["two_or_more_groups_continuous"], "evidence": {"score": 0.7, "band": "medium", "quote": "ANOVA"}}, {"id": "method-2", "family": "machine_learning", "specific": "random_forest", "label": "Machine learning", "dsl_operations": [], "missing_operations": ["machine_learning_random_forest"], "expressible": false, "parameters": {}, "data_shapes": ["labelled_feature_matrix"], "evidence": {"score": 0.7, "band": "medium", "quote": "Random Forest"}}, {"id": "method-3", "family": null, "specific": null, "label": "10-fold group cross-validation", "dsl_operations": [], "missing_operations": [], "expressible": null, "parameters": {}, "data_shapes": [], "evidence": {"score": 1.0, "band": "verbatim", "quote": "The development set was partitioned to create independent training and validation sets using 10-fold group cross-validation to ensure that those sets did not contain data from the same dogs."}}], "targets": [], "gaps": ["method.reader_named_unmapped"]}, "capability": {"state": "complete", "requirements": [{"capability_id": "capability:computational_analysis", "label": "Computational analysis platform", "assay_families": ["meta_analysis", "machine_learning", "survival_analysis", "statistical_regression", "pca", "molecular_docking", "network_analysis", "differential_expression", "gwas"], "availability_state": "owned", "tier_unlocked": "R1", "candidate": "Automated Assays Laravel application and simulated adapters"}], "gaps": []}, "readiness": {"state": "blocked", "tier": "R4", "blocking_axis": "data", "blocked_on": "data:accession_absent", "axes": {"method": {"tier": "R1", "expressible": true, "required_operations": ["group_summary", "welch_t", "bootstrap_mean_difference", "group_comparison_anova"], "missing_operations": [], "basis": "The paper names the method it used and the corpus's method extractor maps it onto the DSL catalogue: anova."}, "capability": {"tier": "R1", "capability_id": "capability:computational_analysis", "availability_state": "owned", "basis": "The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here."}, "data": {"tier": "R4", "reachable": false, "accessions": [], "resolved_accessions": [], "statements": ["The dataset and code used are publicly available on Mendeley Data and GitHub, respectively."], "basis": "The paper names no accession to its source data, so the data has to come from the authors."}}, "can_run": {"dsl_operations": ["group_summary", "welch_t", "bootstrap_mean_difference", "group_comparison_anova"], "assets": ["source:pmid:37342986"], "steps": ["run_analysis"]}, "must_build": {"dsl_operations": [], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:None"]}, "gaps": ["data:accession_absent"]}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-11-01T18:44:38Z", "independence": "single_reader"}, "evidence_check": {"method": "verbatim", "availability": "verbatim"}, "calls": 5, "usage": {"prompt_tokens": 12843, "completion_tokens": 1762, "cached_tokens": 128}}, "human_critique": null, "stages": [{"id": "extraction", "state": "complete", "reader": "MiniMax-M3.1-Flash", "provider": "minimax"}], "gaps": ["review.independent_reader", "review.machine_critique", "review.human_critique"]}, "execution": {"state": "absent", "status": "not_run", "mode": null, "runs": [], "gaps": ["execution.not_run"]}, "provenance": {"entities": [{"id": "pmid:37342986", "type": "paper", "label": "pmid:37342986"}, {"id": "source:pmid:37342986", "type": "manuscript", "label": "PMID 37342986 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:37342986", "type": "paper", "label": "pmid:37342986"}, {"id": "source:pmid:37342986", "type": "manuscript", "label": "PMID 37342986 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-37342986", "type": "extraction", "used": ["source:pmid:37342986"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-None", "type": "accession_resolution", "used": ["data:geo:None"], "agent": "agent:corpus-assay-engine"}], "agents": [{"id": "agent:corpus-assay-engine", "type": "software", "label": "Corpus assay engine"}, {"id": "agent:minimax-reader", "type": "software", "label": "MiniMax literature reader"}], "source_run_id": "reading-sci-2026-11-01", "dsl_catalogue_fingerprint": "343fb30756ba6ec3", "capability_table_fingerprint": "2cb3e42f047d2ecf", "snapshot_id": "ba34b49490d9bfaf"}, "lineage": {"parent_id": "pmid:37342986", "parent_hash": "sha256:0b092ee26e5651eeec87e94363b042c36cb4a919090b5e73cda88dfc75c23542", "fork_of": null, "generation": 2}, "gaps": ["execution.not_run", "method.reader_named_unmapped", "review.human_critique", "review.independent_reader", "review.machine_critique", "step:obtain_source_data blocked on data:accession_absent"], "assays": [{"role": "analysis", "definition_id": "group_comparison", "definition_version": "f2132e96ae6c7a4e", "definition_digest": null, "required_operations": ["group_summary", "welch_t", "bootstrap_mean_difference", "group_comparison_anova"], "support_state": "supported", "source_hashes": {"dsl_catalogue": "f2132e96ae6c7a4e"}, "confidence": 0.7, "evidence": ["ANOVA"], "order_basis": "analysis_only", "id": "assay:1"}]}