scieee AI-readable full text Open interactive document viewer

Diseño de una interfaz basada en la detección de gestos para cirugía laparoscópica asistida por la mano

De-Guzmán-Manzano, Arturo

Full text

UNIVERSIDAD DE MÁLAGA TRABAJO FIN DE GRADO GRADO EN INGENIERÍA DE LA SALUD DISEÑO DE UNA INTERFAZ BASADA EN LA DETECCIÓN DE GESTOS PARA CIRUGÍA LAPAROSCÓPICA ASISTIDA POR LA MANO DESIGN OF AN INTERFACE BASED ON GESTURES DETECTION FOR HAND-ASSISTED LAPAROSCOPIC SURGERY Autor: Arturo de Guzmán Manzano Director: Isabel García Morales Codirector: Enrique Bauzano Núñez Departamento: Ingeniería de Sistemas y Automática MÁLAGA, Noviembre de 2016 Resumen: En el presente trabajo se describe el diseño e implantación de una interfaz de comunicación basada en la detección de gestos del cirujano para cirugía laparoscópica asistida por la mano. Para el desarrollo del sistema de detección de gestos se va a utilizar el dispositivo hardware Leap Motion, el cual permite registrar secuencias de parámetros físicos de la mano, útiles para la identificación de patrones de movimiento. Esta información es el punto de partida para la implementación de un sistema de reconocimiento de gestos basado en los Modelos Ocultos de Markov. Dicho sistema consta de una fase inicial de entrenamiento de los modelos, y otra fase de reconocimiento que permite distinguir gestos a partir de secuencias de características observables. Además, el sistema desarrollado debe integrarse en la plataforma robótica del grupo de Robótica Médica del departamento de Ingeniería de Sistemas y Automática, la cual dispone de una arquitectura basada en ROS para conectar todos los sistemas y dispositivos de los que disponen. Tanto el hardware necesario como el software desarrollado se describen a lo largo de esta memoria, explicando y justificando cada decisión tomada, para finalmente terminar con una serie de experimentos que validan el funcionamiento sistema de reconocimiento. Palabras clave: interfaz, reconocimiento de maniobras, entrenamiento, gesto, cirugía laparoscópica asistida por la mano (CLAM). Abstract: This work describes a communication interface design and implantation based on surgeon gestures detection for hand-assisted laparoscopy surgery. Leap Motion will be used for developing the gestures detection system. It consists of a hardware that allows identifying movement patterns by recording sequences of physical parameters of the hand. This information is the starting point to implement a gesture recognition system based on Hidden Markov Models. This system has an initial training phase of the models, and other recognition phase that distinguishes gestures from sequences of observable characteristics. Besides, the system created must be integrated in a robotic platform developed by the Medical Robotic group, which has an architecture based on ROS to connect all its systems and devices. This group belongs to the Systems and Automation Engineering Department at the Malaga University. Both hardware and software architecture developed in this work are described along this memory, explaining and justifying every decision that has been taken. After that, a set of experiments will be conducted to verify the proper functioning of the recognition system. Keywords: interface, maneuvers recognition, training, gesture, hand-assisted laparoscopic surgery (HALS). Índice general Capítulo 1: Introducción ...................................................................................................................... 1 1.1. Introducción a la robótica médica ................................................................................................ 1 1.2. Motivación del trabajo de fin de grado ........................................................................................ 2 1.3. Objetivos ...................................................................................................................................... 3 1.4. Estructura de la memoria ............................................................................................................. 5 Capítulo 2: Técnicas e interfaces en robótica quirúrgica .................................................................. 7 2.1. Introducción ................................................................................................................................. 7 2.2. Descripción de las técnicas de cirugía mínimamente invasiva .................................................... 7 2.3. Interfaces quirúrgicas ................................................................................................................... 9 2.5. Conclusiones .............................................................................................................................. 13 Capítulo 3: Planteamiento del problema .......................................................................................... 15 3.1. Introducción ............................................................................................................................... 15 3.2. Escenario quirúrgico en HALS .................................................................................................. 15 3.3. Arquitectura del sistema ............................................................................................................ 17 3.4. Conclusiones .............................................................................................................................. 19 Capítulo 4: Algoritmos de entrenamiento y reconocimiento .......................................................... 21 4.1. Introducción ............................................................................................................................... 21 4.2. Esquema general del sistema desarrollado ................................................................................. 21 4.3. Adquisición de datos .................................................................................................................. 24 4.4. Procesado de datos ..................................................................................................................... 26 4.4.1. Fase de preprocesado de datos ............................................................................................ 26 4.4.2. Fase de codificado de datos ................................................................................................ 29 4.5. Entrenamiento de librería de gestos ........................................................................................... 34 4.6. Reconocimiento de gestos .......................................................................................................... 37 4.7. Conclusiones .............................................................................................................................. 42 Capítulo 5: Implantación y experimentos ......................................................................................... 45 5.1. Introducción ............................................................................................................................... 45 5.2. Implantación del sistema ............................................................................................................ 45 5.2.1. Arquitectura hardware......................................................................................................... 45 5.2.2. Arquitectura software .......................................................................................................... 48 5.3. Descripción de los experimentos ............................................................................................... 51 5.3.1. Objetivo ............................................................................................................................... 51 5.3.2. Gestos registrados ............................................................................................................... 52 5.3.3. Batería de experimentos y resultados .................................................................................. 58 5.3.4. Discusión ............................................................................................................................. 63 5.4. Conclusiones .............................................................................................................................. 63 Capítulo 6: Conclusiones y trabajos futuros .................................................................................... 65 6.1. Conclusiones .............................................................................................................................. 65 6.2. Futuras líneas de desarrollo........................................................................................................ 65 A. Algoritmo K-means ........................................................................................................................ 67 A.1. Introducción .............................................................................................................................. 67 A.2. Descripción del algoritmo ......................................................................................................... 67 A.3. Implementación del algoritmo .................................................................................................. 67 B. Modelos Ocultos de Markov .......................................................................................................... 69 B.1. Introducción .............................................................................................................................. 69 B.2. Descripción del modelo ............................................................................................................. 69 B.3. Algoritmo Forward-Backward .................................................................................................. 71 B.4. Algoritmo de Baum-Welch ....................................................................................................... 73 Glosario de términos ........................................................................................................................... 77 Referencias........................................................................................................................................... 79 1 Capítulo 1: Introducción 1.1. Introducción a la robótica médica En la actualidad la medicina en general, y particularmente la cirugía, dependen cada día más de la tecnología. Con los avances producidos tanto en las técnicas de diagnóstico por imagen como en el instrumental, se está modificando progresivamente la forma de proceder durante las intervenciones quirúrgicas. Así, dichos avances han permitido realizar operaciones complejas que hace unos años eran impracticables, lo que ha supuesto sustanciales beneficios tanto para el paciente como para el cirujano. Por otro lado, las técnicas quirúrgicas también han evolucionado, dando lugar a especialidades como la cirugía mínimamente invasiva (CMI), en la que se pretenden minimizar las incisiones realizadas sobre el paciente. Dichas incisiones se utilizan para insertar instrumentos especiales, denominados de caña larga, y una óptica que permita la visualización de las estructuras anatómicas internas del paciente durante la operación. Sin embargo, ésta forma de intervención conlleva una serie de limitaciones intrínsecas que dificultan la ejecución del procedimiento. En primer lugar, la interacción con el cuerpo del paciente exclusivamente mediante el instrumental produce que el cirujano no perciba el tacto o la textura de las estructuras anatómicas. Por otro lado, el uso de un monitor permite únicamente una visión en 2D, lo que produce una pérdida de profundidad del campo de visión, y dificulta la coordinación entre los ojos del cirujano y la actuación realizada por sus manos. Además, la propia metodología de operación, basada en introducir el instrumental quirúrgico a través de incisiones en la pared abdominal, provoca que el abdomen del paciente actúe como fulcro que ejerce un efecto palanca sobre el instrumental, y dificulta la libertad de movimientos. Además, en cualquier tipo de intervención basada en las técnicas de CMI, se requiere de un ayudante que asista al cirujano en tareas tales como el manejo de la cámara y/o alguna de las herramientas, para lo cual es necesaria una coordinación entre ambos. En dicha colaboración, surgen los problemas de interpretación de la acción a realizar por el ayudante cuando el cirujano manda una orden, la falta de precisión en la colocación de la cámara, así como la inestabilidad de la imagen debido al pulso humano. Ante estos inconvenientes, surge la idea de incorporar nuevos procedimientos que puedan ser abordados con la ayuda de la robótica, gracias a un enfoque basado en el concepto sustituir al ayudante humano por un asistente robótico, permitiendo al cirujano realizar intervenciones en solitario [1]. Así, los asistentes robóticos desarrollados han sido capaces de dirigir la cámara permitiendo observar la zona anatómica de interés [2] o de manejar herramientas adicionales [3], entre otras tareas. 2 En general, se puede afirmar que la incorporación de los robots dentro del ámbito quirúrgico ha llevado un aumento de precisión, reproducibilidad y eficiencia de los procedimientos, a la par que se ha conseguido disminuir el esfuerzo requerido por la persona que los controla, permitiendo sustituir intervenciones manuales por procedimientos más automatizados, lo que ha supuesto un enorme beneficio tanto para pacientes como para cirujanos. Como contrapunto, también han aparecido bastantes dificultades, donde cabe destacar la problemática que ha surgido en las prácticas quirúrgicas en la interpretación de consignas de actuación y en el flujo de información entre el cirujano y el asistente robótico. De igual forma, la incorporación de estas tecnologías ha provocado que los cirujanos requieran de una formación más especializada que les permita adaptarse a las nuevas herramientas robóticas. Para solventar estos problemas, se requiere del desarrollo de interfaces hombre-máquina (HMI’s, del inglés, human-machine interfaces) de comunicación entre el cirujano y el robot, dotadas cada vez de mayor inteligencia artificial y que traten de emular la forma de actuación de un ayudante humano en quirófano. Para esto, dichas interfaces deben ser capaces de decidir durante la intervención con el objetivo de asistir de forma autónoma al cirujano en ciertas tareas complejas. Además, su diseño debe de ser lo más intuitivo posible para que el cirujano, como usuario del equipo, se sienta cómodo y entienda como natural la incorporación de robots en cirugía frente a la metodología tradicional. 1.2. Motivación del trabajo de fin de grado La línea del grupo de investigación de Robótica Médica del Departamento de Ingeniería de Sistemas y Automática de la Universidad de Málaga ha trabajado durante muchos años en el desarrollo de interfaces persona-máquina, llegando a integrar (entre otras) una interfaz de voz en robots quirúrgicos como el “Endoscopic Robot Machine” (ERM) [4], un asistente robótico desarrollado para cirugía asistida por computador. Actualmente, está trabajando en un proyecto conjunto con la Universidad de Valladolid y con la Universidad Miguel Hernández de Elche de un sistema robotizado colaborativo para cirugía laparoscópica asistida por la mano (CLAM, del inglés hand-assisted laparoscopy surgery o HALS), una técnica quirúrgica mínimamente invasiva, variante de la cirugía laparoscópica convencional, en la cual el cirujano inserta una mano dentro de la cavidad abdominal del paciente a través de una pequeña incisión que se le realiza al mismo con el objetivo de manipular órganos, mientras que con la otra mano utiliza instrumental laparoscópico adicional. En este proyecto, se pretende que dicho sistema colabore en las maniobras quirúrgicas y aprenda con la práctica. Para ello, incluye una interfaz persona-máquina fundamentada en un guante quirúrgico inteligente (véase figura 1), que se espera que permita reconocer la fase de 3 la intervención mediante el uso de los gestos de la mano del cirujano en el interior del paciente, el movimiento que se realiza con el instrumental laparoscópico o las lecturas de las señales fisiológicas combinadas con un modelo paciente-intervención [5]. Figura 1. Guante de realidad virtual sensorizado. Precisamente, la aportación de esta propuesta es diseñar y validar una interfaz de comunicación basada en la detección de gestos de la mano que realiza el cirujano durante intervenciones HALS. Durante la realización de este trabajo no se disponía del guante quirúrgico en la Universidad de Málaga, al encontrarse en desarrollo por parte del equipo de la Universidad de Valladolid. Para paliar ese problema, se ha decidido utilizar Leap Motion, un dispositivo electrónico que nos permite acceder a las posiciones y orientaciones de los dedos, las palmas de las manos, las muñecas, y otros parámetros físicos de interés. Pese a que los dispositivos no son iguales, los parámetros utilizados para el sistema de detección si serán comunes a ambos, por lo que integrar posteriormente dicha interfaz con el guante sensorizado será mucho más sencillo. 1.3. Objetivos El objetivo general del presente trabajo fin de grado se define como el diseño e implantación de una interfaz persona-máquina basada en la detección de gestos, diseñada para intervenciones HALS. Para ello, será necesario cumplir con los siguientes objetivos específicos: 1. Diseño e implantación de algoritmos de reconocimiento de gestos basados en los Modelos Ocultos de Markov. Este punto es el que engloba la mayor parte del trabajo, por lo que puede desglosarse en las siguientes fases de trabajo: 10 permitiendo que el robot lleve a cabo las tareas quirúrgicas. Además mediante un proceso de registro y la supervisión del cirujano es posible actualizar el plan operatorio en tiempo real. Por otro lado, si el cirujano considera necesario abortar el plan, también puede detener el sistema robótico y continuar manualmente el procedimiento. Por último, en el postoperatorio se sigue la recuperación del paciente mediante modelos anatómicos del mismo. Entre estos asistentes destacan los diseñados para cirugía ortopédica, como el ROBOCOC, diseñado para la sustitución total de cadera [17], o para reparación ósea, como el CASPAR, que se utiliza principalmente para operaciones de rodillas [18].  Asistentes con control teleoperado: Estos asistentes se basan en el concepto de teleoperación, que puede definirse como el conjunto de tecnologías que comprenden la operación o gobierno a distancia de un dispositivo por parte de un ser humano. Para el control de dichos asistentes, el cirujano define los movimientos deseados a través de un dispositivo maestro y el robot sigue las referencias que se especifican a través de éste. Como ejemplo de sistema de telecirugía, destaca el da Vinci, sistema quirúrgico utilizado en procedimientos de cirugía mínimamente invasiva, que dispone de tres o cuatro brazos manipuladores, donde uno de ellos maneja la cámara laparoscópica, y los otros se encargan de manejar el resto de instrumental [19]. También dispone de una estación de teleoperación y una unidad de control, además de estar dotado de herramientas con una muñeca con tres ejes capaz de imitar la libertad de movimientos de la muñeca humana. Otros sistemas teleoperados que merece la pena destacar son el Neurobot, un micromanipulador que permite realizar intervenciones mínimamente invasivas en neurocirugía y que ha permitido reducir el tiempo de las intervenciones quirúrgicas en la base del cráneo, proporcionando resultados satisfactorios [20], o el RAVEN, un prototipo de robot médico teleoperado portable cuyo objetivo es realizar el control remoto de sistemas de cirugía robótica en el espacio o en otros lugares donde se encuentre el paciente [21].  Asistentes con control directo o guiado (hands-on): En estos otros asistentes, el cirujano maneja la herramienta quirúrgica sujeta por el robot, de forma que tanto el cirujano como el asistente robotizado colaboran de forma directa en el desarrollo de una tarea, en la que el computador realiza el papel de mediador entre ambos. Una ventaja de este tipo de control es que el sistema robótico disminuye el temblor de la mano del cirujano, proporcionando un movimiento del instrumental más firme y preciso. Además, ésta técnica permite establecer límites en el área de trabajo, de forma que se impida el acceso a zonas críticas aunque el cirujano trate de acceder a ellas, para así garantizar una mayor seguridad en la operación. 11 Como ejemplo de este tipo de asistentes cabe destacar aquellos cuya funcionalidad está enfocada hacia la cirugía ortopédica, como el ACROBOT [22], desarrollado para el reemplazo total de rodilla. Dicho asistente permite al cirujano trabajar en una región segura sin entrar en contacto con tejidos blandos y otras estructuras como nervios o ligamentos, gracias al uso de las denominadas “virtual mixures”, unas protecciones virtuales que restringen el acceso por error a determinadas zonas. Por otro lado, también se han desarrollado sistemas robotizados basados en la forma de manipulación “hand on” para intervenciones tales como la cirugía del oído o cirugía ocular, como el “Steady-hand robot system” de la Universidad Johns Hopkins, para realizar intervenciones de microcirugía de retina [23].  Asistentes semiautónomos (colaborativos). Estos asistentes se caracterizan por disponer de la capacidad de emular al asistente humano que colaboraría con el cirujano durante una intervención, permitiendo realizar ciertas actividades secundarias de forma automática o acorde a los comandos que recibe del cirujano. Como ejemplo, permiten realizar tareas en operaciones de CMI tales como el guiado preciso de la cámara laparoscópica a la región anatómica de interés o el manejo de herramientas quirúrgicas según las órdenes del cirujano. Para ello, se requiere de interfaces persona-máquina que permitan establecer una comunicación directa entre el cirujano y los sistemas robotizados. En esta línea, el AESOP fue el primer sistema robótico aprobado por la FDA en 1994 para intervenciones quirúrgicas abdominales. Dicho sistema consistía en un brazo robótico que sujetaba una cámara laparoscópica que podía ser controlada mediante comandos de voz [24]. Otros asistentes laparoscópicos son capaces de mover la cámara bien mediante el uso de botoneras acopladas en la palma de la mano del cirujano, como en el caso del robot LAPMAN, de Medsys [25], o mediante interfaces de comunicación basadas en la interpretación de los movimientos de la cabeza del cirujano, gracias a la ayuda de un giróscopo que va acoplado en su cabeza, como ocurre en el robot ENDOASSIST de Armstrong Healtcare [26]. Otros desarrollos se han basado en los movimientos faciales del cirujano para dirigir con precisión el laparoscopio a la región anatómica deseada, gracias a algoritmos basados en imagen [27]-[28], e incluso mediante los gestos específicos de las herramientas laparoscópicas [29]. También hay sistemas robotizados que permiten utilizar interfaces que incorporan más de un medio de comunicación. Este es el caso del asistente ERM [30], un sistema con una interfaz que dispone de dos modos de funcionamiento para dirigir la cámara laparoscópica: uno mediante la voz, comandando órdenes verbales, y otro mediante el 12 movimiento de un joystick. Dicho asistente ha dado buenos resultados en procedimientos laparoscópicos como la colecistectomía [31]. En general, las HMIs basadas en el envío de órdenes directas añaden tareas nuevas y antinaturales al cirujano que pueden alargar el tiempo de la intervención. Para solucionar este problema, dichas interfaces deben de parecerse lo más posible a la interacción mantenida con el asistente humano durante todo el procedimiento. Por ello, en la actualidad las HMIs están evolucionando hacia un nuevo modelo que incluya un segundo método de comunicación, basado en el reconocimiento de tareas quirúrgicas, tal y como se aplica en trabajos como [32], donde el robot realiza una actuación dependiendo de la última tarea realizada por el cirujano de forma autónoma. De esta forma, aumenta la capacidad de reacción e inteligencia del asistente robótico, ya que es capaz de interpretar el estado de la operación y puede anticiparse a las necesidades del cirujano, mediante estrategias de acción definidas previamente para cada estado del protocolo quirúrgico. Otro ejemplo de reconocimiento de las tareas quirúrgicas realizadas puede producirse a partir del seguimiento de los ojos del cirujano durante la operación, ya que la atención visual de éste cambia en función de las diferentes etapas del procedimiento. Así, se ha propuesto el uso de Parallel Layer Perceptor (PLP) [33], para automatizar el reconocimiento de las fases de un protocolo quirúrgico a partir de la mirada del cirujano y el análisis de las imágenes del endoscopio, donde las transiciones de los instrumentos se utilizan para detectar cambios en las fases del protocolo quirúrgico. Para la identificación de las tareas quirúrgicas, se dispone de diversas metodologías basadas en la detección de patrones, entre las que destacan las técnicas de Dynamic Time Warping (DTW), Redes Neuronales (NN, del inglés Neural Networks), Algoritmos Genéticos o los Modelos Ocultos de Markov (HMM). Hay estudios recientes en los que se han utilizado las técnicas de DTW para identificar tareas quirúrgicas a partir de imágenes de vídeo en cirugías de cataratas [34]. Otros grupos se han basado en las redes neuronales para reconocer tareas en maniobras multitarea a partir de videos laparoscópicos [35]. En otros casos, se han empleado otras herramientas matemáticas para el reconocimiento de los movimientos quirúrgicos elementales, como por ejemplo un clasificador probabilístico de Bayes [36]. De igual forma, los HMM se han utilizado para el entrenamiento y reconocimiento de tareas quirúrgicas, tal como se puede ver en diversos estudios [37], y es precisamente esta metodología la que se ha elegido para el desarrollo del presente trabajo. 13 2.5. Conclusiones En este capítulo se ha comenzado realizando una descripción de la cirugía mínimamente invasiva, comentando de forma resumida en qué consiste y cuáles son las principales técnicas basadas en este principio que se usan en la actualidad, destacando la cirugía laparoscópica asistida por la mano. De igual forma, se han comparado estas técnicas con los procedimientos realizados mediante cirugía en abierto, haciendo alusión a diversos artículos con datos experimentales, y se han destacado las ventajas e inconvenientes de las técnicas HALS. Posteriormente, se ha comentado en qué consisten las interfaces de comunicación personamáquina utilizadas para controlar diversos asistentes quirúrgicos. Tras esto, se ha realizado una clasificación de los asistentes robotizados en función de su grado de autonomía, describiendo algunos ejemplos y las principales formas de comunicación que se han utilizado: bien mediante órdenes directas comandadas por parte del cirujano o mediante el reconocimiento de tareas quirúrgicas. Hay que destacar que la mayoría de los avances que se han comentado en las interfaces de comunicación han sido desarrollados para las técnicas tradicionales de cirugía laparoscópica, y poco hay aún escrito sobre avances similares en el ámbito de las técnicas HALS, debido a su reciente aparición en el ámbito quirúrgico, por lo que se hacen necesarias otras soluciones. Por ello, este trabajo pretende aportar la integración de una metodología de comunicación que cubra la necesidad de asistir al cirujano durante estos procedimientos quirúrgicos a partir de la evolución de los movimientos de su mano no diestra, ahorrando tiempo de operación y paradas innecesarias que puedan dificultar el proceso. 15 Capítulo 3: Planteamiento del problema 3.1. Introducción Como se ha descrito en capítulos anteriores, el objetivo del presente trabajo fin de grado consiste en el desarrollo de una interfaz persona-máquina para cirugía laparoscópica asistida por la mano, que sea capaz de detectar los gestos del cirujano durante la operación, entendiendo por gesto aquel patrón de movimiento que puede dividirse en acciones básicas o estados y que se puede identificar como una secuencia determinada de estos. Para comprender mejor la problemática a resolver, se van a detallar en este capítulo las principales características y componentes del entorno quirúrgico utilizado en intervenciones HALS, así como los problemas que surgen debido a la falta de interfaces de comunicación en estos procedimientos. Posteriormente, se propone una interfaz basada en la detección de gestos, detallando las hipótesis y simplificaciones utilizadas en la misma. Finalmente, se presenta la arquitectura utilizada para resolver el problema. 3.2. Escenario quirúrgico en HALS En la figura 3.1 se muestra un esquema del escenario quirúrgico HALS utilizado en aquellas intervenciones que disponen de un asistente robotizado: Figura 3.1. Escenario quirúrgico utilizado en intervenciones HALS. Paciente Camilla Cirujano Cámara Herramienta del cirujano Herramienta robótica Guante quirúrgico Cavidad abdominal Asistente robótico colaborativo Brazo manipulador de la herramienta robótica Brazo manipulador de la cámara 16 En las técnicas convencionales de cirugía laparoscópica asistida por la mano, el cirujano interactúa con el cuerpo del paciente en un espacio restringido dentro de la cavidad abdominal. Por un lado, la mano no diestra del cirujano se encuentra insertada dentro de la cavidad abdominal a través de una incisión especial realizada sobre paciente (tal y como se muestra en la figura 3.1), con el fin de manipular directamente las estructuras anatómicas de interés. Mientras tanto, la otra mano permanece fuera del paciente, y tiene la función de manejar un instrumento quirúrgico, que en la figura se ha denotado como “Herramienta del cirujano”. Sin embargo, para la operación se requiere del manejo de herramientas adicionales con el fin de cumplir ciertas tareas quirúrgicas. Por ello, se ha planteado la incorporación de un asistente robótico colaborativo que se encargue del soporte de una cámara y una herramienta robótica, insertadas también en el interior del abdomen del paciente. La cámara tiene la función de proporcionar al cirujano una visión detallada de las estructuras y tejidos internos, mientras que la herramienta robótica tiene el objetivo de permitir la realización de tareas como pueden ser la sutura o la sujeción de órganos. Con la adición de este asistente, se proporciona al cirujano un mayor control sobre la operación, ya que le permite incorporar instrumental que no podría manejar manualmente por tener su mano no diestra en el interior del paciente durante toda la intervención. Llegados a este punto, es posible plantearse dos opciones. La primera es que se disponga de un asistente humano encargado de dirigir el sistema robótico utilizado durante la intervención, lo que requeriría de una profunda colaboración en muchas de las tareas quirúrgicas entre cirujano y asistente. La segunda es que sea el propio cirujano en solitario el que pueda coordinarse con dicho sistema. Esta última opción simplifica mucho el proceso, aunque como los asistentes robóticos deben simular a un asistente humano, deben de resolverse dos problemas fundamentales: el desarrollo de una interfaz de comunicación natural que permita la transmisión de información entre cirujano y asistente, y la toma de decisiones autónoma. Para solucionar estos problemas, se requiere de la combinación de tres características:  El modelado del protocolo quirúrgico. Con el desarrollo de este modelo, se consigue establecer una secuencia de comandos a seguir por el robot durante la intervención de CMI. Por ejemplo, Muradore et al propuso la creación de un conjunto de tareas elementales que se pueden combinar para construir el procedimiento quirúrgico completo [38]. También hay estudios de investigación que modelan el protocolo quirúrgico con estados que dependen de la herramienta laparoscópica insertada en la cavidad abdominal [39].  La navegación automática de la herramienta robótica en el escenario quirúrgico. Hay ciertas tareas que ya se han cubierto en la literatura [40], y una de ellas es el control 17 visual, que consiste en el guiado automático de la cámara laparoscópica. Esta técnica se ha usado para realizar movimientos seguros del endoscopio en cirugía cardiaca [41], o para predecir la localización del efector final [42]-[43]. Otros trabajos han utilizado el reconocimiento de tareas quirúrgicas que inicialmente estaban centradas en la evaluación de las habilidades del cirujano [44] para transferir estas habilidades a un robot asistente. Además, algunas de las principales tareas quirúrgicas han sido completamente automatizadas, tales como el punzado de sutura automático [45] o la atadura de nudos [46] en procedimientos de sutura, así como el agarre y levantamiento en la retracción de tejidos [47].  Un sistema de comunicación capaz de reconocer las tareas del cirujano y/o dirigir órdenes. Dicho sistema requiere del uso de una interfaz capaz de comandar órdenes directas y/o reconocer tareas quirúrgicas mediante una interfaz persona-máquina. Los trabajos iniciales se han centrado en que el cirujano comande órdenes al robot usando diferentes medios de comunicación: dispositivos joystick, movimientos con la cabeza, gestos específicos de las herramientas laparoscópicas o comandos de voz, tal y como se comentó en el apartado 2.2. Por otro lado, el reconocimiento de tareas quirúrgicas se ha aplicado a trabajos donde el robot actúa dependiendo de la última tarea reconocida del cirujano. Este documento se centra en el diseño y desarrollo de la interfaz de comunicación, basándose en la detección de gestos de la mano no diestra del cirujano, y utilizando dicha detección como medio para comandar órdenes que permitan una asistencia colaborativa activa por medio de la participación de las herramientas laparoscópicas que incorpora el robot. 3.3. Arquitectura del sistema En el contexto de este trabajo fin de grado, el robot colaborativo encargado de reemplazar al asistente humano requiere de las siguientes características:  La monitorización del estado actual de la intervención a partir del protocolo quirúrgico.  La navegación segura de la herramienta laparoscópica y el control de fuerzas con restricciones de movimiento.  Una interfaz de comunicación que permita al sistema robótico generar la referencia de actuación a partir del reconocimiento de los gestos del cirujano. 18 Para resolver estos problemas, se propone la arquitectura del planificador colaborativo que se puede observar en la figura 3.2. Figura 3.2. Arquitectura propuesta para la asistencia al cirujano en técnicas HALS. En esta arquitectura se encuentra como entrada inicial la localización de la mano del cirujano, a partir de la cual se permite identificar los movimientos que ésta realiza. Para ello, es necesario disponer de algún elemento que proporcione en cada momento tanto la posición de los dedos como su orientación. Este elemento puede ser un guante quirúrgico sensorizado. Por otro lado, el reconocedor de gestos interactúa con la localización de la mano del cirujano para determinar si se ha producido un gesto de entre un conjunto de gestos entrenados previamente. Estos se encuentran asociados a la realización de una tarea quirúrgica sobre el paciente, como puede ser servir de sostén de tejidos, o estirar el hilo de sutura. El conjunto de tareas quirúrgicas posibles se encuentran incluidas dentro del protocolo quirúrgico. Tras esto, se observa un bloque planificador de movimientos, encargado de determinar una trayectoria adecuada para comandar al robot tras recibir como entrada la identificación de un determinado gesto y el estado actual de la intervención, provenientes del reconocedor de gestos y del gestor de protocolo quirúrgico respectivamente. Para ello, recibe otros parámetros tales como las localizaciones del efector final del robot y de la mano del cirujano, con el objetivo de evitar colisiones, así como la fuerza y el torque que producen las herramientas laparoscópicas sobre el paciente, para llegar a la posición deseada minimizando las fuerzas ejercidas sobre el individuo. La trayectoria a seguir se calcula por medio de un controlador híbrido de fuerza y posición. PACIENTE ROBOT PLANIFICADOR COLABORATIVO RECONOCEDOR DE GESTOS Trayectoria planeada Fuerza & Torque PLANIFICADOR DE MOVIMIENTOS CIRUJANO Localización de la mano Localización del efector final Gesto identificado GESTOR DEL PROTOCOLO QUIRÚRGICO Estado actual Trigger Trigger 19 Otro bloque es el gestor del protocolo quirúrgico, que se encarga de determinar el estado actual de la intervención a partir de un diagrama de estados y proporciona una actuación u otra sobre el planificador de movimientos en base al estado actual. Dicho diagrama cambia su estado actual si recibe una señal de activación (Trigger) desde el reconocedor de gestos o desde el planificador de movimientos. Más abajo en la figura encontramos el robot, que es el encargado de realizar las actuaciones pertinentes sobre el paciente, ejecutando tareas tales como el guiado de la cámara laparoscópica o el manejo de las herramientas robóticas a partir de la trayectoria diseñada por el bloque planificador de movimientos. Finalmente se encuentra el paciente, que proporciona indirectamente información al robot acerca de los límites de operación de las herramientas quirúrgicas, que vienen determinados por la dimensión de su cavidad abdominal. 3.4. Conclusiones Por lo general, los asistentes robóticos comerciales están centrados en una interface de teleoperación, por lo tanto, son incapaces de hacer frente a técnicas HALS debido al requisito de contacto directo entre el cirujano y el paciente. Precisamente, en este capítulo se ha presentado un entorno quirúrgico en HALS junto a una arquitectura simplificada que permite la asistencia robótica en este escenario. Durante la descripción de dicha arquitectura, se han identificado tres cuestiones mínimas a cubrir con el objetivo de utilizar sistemas robóticos con esta técnica; primero, se requiere de un gestor del protocolo quirúrgico que controle el estado del procedimiento quirúrgico y permita al robot conocer el estado de la intervención. Segundo, es necesario un planificador de movimientos flexible que permita proporcionar trayectorias auto-guiadas al robot evitando obstáculos y minimizando la fuerza ejercida sobre el paciente. Por último, se requiere de una interfaz de comunicación cirujano-robot que implemente tanto órdenes directas a partir del cirujano como reconocimiento de gestos en tiempo real. Así, este trabajo se centra en el desarrollo de una interfaz basada en la detección de gestos, con lo que se resuelve parte de la problemática. 26 4.4. Procesado de datos En la figura 4.2 se muestra el tratamiento que reciben los datos desde su adquisición hasta la obtención de las secuencias de característica observables. Figura 4.2. Esquema del módulo Procesado de Datos. Como ya se ha comentado en el esquema general, el módulo Procesado de Datos tiene la función de preparar los datos de localización extraídos previamente para que sean comprensibles por los HMM y en general, para los algoritmos de entrenamiento o reconocimiento que se utilizarán posteriormente. Para ello, consta de dos fases o módulos internos a este, el Preprocesado de Datos y el Codificado de Datos, cuya descripción se detalla en los apartados 4.4.1 y 4.4.2 respectivamente. 4.4.1. Fase de preprocesado de datos En muchos casos, las posiciones y orientaciones facilitadas por el sistema de adquisición de datos están contaminadas por algunas muestras erróneas, debido a movimientos bruscos en el proceso de grabación, o a la superposición de varios dedos, lo que produce áreas de sombras que ocultan la localización de ciertos sistemas de coordenadas. Precisamente, al inicio y fin de cada grabación suele haber variaciones no deseadas en los parámetros físicos registrados, debido a movimientos bruscos que se producen como consecuencia de la propia condición establecida para detectar el inicio y fin de cada grabación, basada en la visibilidad de la mano por parte del sensor de localización utilizado. Para solucionar esto, se ha realizado un recorte 27 de los datos almacenados, de forma que se elimina un porcentaje fijo al inicio y fin de los parámetros físicos en todas las grabaciones, con el objetivo de disminuir estas variaciones inesperadas. En la figura 4.3 se muestra el efecto del recorte de inicio y fin realizado sobre la evolución de 3 parámetros físicos producidos durante el gesto de apertura y cierre de dedos índice y medio en forma de tijera. Figura 4.3. Recorte de porcentaje fijo al inicio y fin de los parámetros físicos. En dicha figura, se observa la evolución de 3 parámetros físicos antes y después del recorte de forma superpuesta (en rojo antes, Sin recortar, y en azul después, Recortado). Mediante dicho recorte, se eliminan ciertas regiones que pueden dar lugar a error en el reconocimiento posterior, ya que pueden diferir mucho entre una grabación y otra pese a que en ambas se produzca el mismo gesto. Tras aplicar este procedimiento, las muestras almacenadas por cada parámetro físico se redistribuyen a la duración inicial de la grabación, con un período igual a dicha duración dividida entre el número de muestras que no se han recortado. Posteriormente, para que los datos extraídos sean comprensibles por los Modelos Ocultos de Markov, es necesario que todas las grabaciones de un mismo gesto tengan igual duración y número de muestras. Para ello, se almacenan dichos parámetros por cada grabación, y se extrae posteriormente la duración y el número de muestras máximos, bien a partir de las propias grabaciones que se están utilizando para crear la Librería de Gestos, si se está en la Fase de Entrenamiento, o bien de las propias Librerías de Gestos directamente, si se está en la Fase de Reconocimiento. Esto es posible gracias a que en dichas librerías también se almacenan otros parámetros característicos de cada gesto aparte de los HMM, como pueden 28 ser la duración máxima y el número de muestras máximo. Con estos datos, se puede realizar una interpolación lineal que permita ajustar todas las grabaciones a una misma duración y misma cantidad de muestras. De esta forma, se consiguen sincronizar los vectores de los datos correspondientes los parámetros físicos, estableciendo un período de muestreo igual a la duración máxima dividido entre el número de muestras máximo. Como ejemplo ilustrativo de esto, se puede ver en la figura 4.4 cómo quedarían dos grabaciones de un parámetro físico de un mismo gesto: Figura 4.4. Interpolación lineal de muestras para un parámetro físico. En la parte superior de la figura 4.4 se puede ver como para el parámetro físico “Distancia entre dedos índice y medio (puntas)” se dispone de diferente duración en las grabaciones 1 y 2. Gracias al almacenamiento de la duración de cada grabación durante su procesado, se puede determinar la duración máxima, e igualar la duración de todas las grabaciones a este valor, redistribuyendo e interpolando sus muestras. En la parte inferior de dicha figura se muestra el resultado de la interpolación, observando que ambas grabaciones disponen de igual duración. Por otro lado, también se equiparan el número muestras. Aplicando el recorte comentado previamente y la interpolación lineal a la evolución de los parámetros físicos de todas las grabaciones, se consiguen secuencias de movimiento que darán lugar a un número similar de transiciones entre los estados de la red que se entrenará posteriormente. Además, se obtiene un conjunto de datos adecuado para el proceso de codificado que se detalla a continuación. 29 4.4.2. Fase de codificado de datos Una vez ajustadas las muestras, el objetivo del codificado es preparar los datos para que sean comprensibles por los HMM. Para ello, se usa el algoritmo K-means, que se comporta como un clasificador, agrupando los valores de distancias y ángulos de la mano en un conjunto de categorías determinadas (ver Anexo A). El número de categorías de cada uno de los parámetros se establece a partir de la observación de los datos experimentales obtenidos y de la precisión que se considere para el modelado de los gestos. Para realizar dicha clasificación, es necesario determinar en primer lugar los centroides (Ci), es decir, los centros geométricos de estas agrupaciones, lo que servirá para clasificar posteriormente las muestras de cada uno de los parámetros físicos. Esto se puede ver en más detalle en la figura 4.5 que se incluye a continuación: Figura 4.5. Determinación de centroides para los parámetros físicos del gesto de apertura y cierre de dedos índice y medio en forma de tijera. Como se puede observar, para este gesto se ha decidido realizar tres agrupaciones de datos por cada uno de los tres parámetros físicos. Los centroides se pueden observar marcados con asteriscos en color rojo, amarillo y verde, y sus valores se almacenan en los vectores C1, C2 y C3 respectivamente. 30 Posteriormente, se procede a clasificar o cuantificar cada una de las muestras de los parámetros físicos en una de las categorías establecidas. Para ello, se halla en primer lugar la distancia entre las muestras y sus centroides según la ecuación 4.4: 𝑑𝑖(𝑗,𝑘)=|𝑋𝑖(𝑗)−𝐶𝑖(𝑘)| 𝑖 =1… 𝑛𝑃; 𝑗=1…𝑛𝑀; 𝑘 =1…𝑛𝐶 (4.4) Donde: 𝑑:𝑀𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎𝑠 𝑒𝑛𝑡𝑟𝑒 𝑙𝑎𝑠 𝑚𝑢𝑒𝑠𝑡𝑟𝑎𝑠 𝑑𝑒𝑙 𝑝𝑎𝑟á𝑚𝑒𝑡𝑟𝑜 𝑖 𝑦 𝑠𝑢𝑠 𝑐𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑒𝑠 𝑋𝑖: 𝑉𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑚𝑢𝑒𝑠𝑡𝑟𝑎𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑖𝑒𝑛𝑡𝑒𝑠 𝑎𝑙 𝑝𝑎𝑟á𝑚𝑒𝑡𝑟𝑜 𝑖 𝐶𝑖:𝑉𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑐𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑖𝑒𝑛𝑡𝑒𝑠 𝑎𝑙 𝑝𝑎𝑟á𝑚𝑒𝑡𝑟𝑜 𝑖 𝑛𝑃:𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑝𝑎𝑟á𝑚𝑒𝑡𝑟𝑜𝑠 𝑛𝑀 𝑦 𝑛𝐶:𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑚𝑢𝑒𝑠𝑡𝑟𝑎𝑠 𝑦 𝑐𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑒𝑠 𝑑𝑒𝑙 𝑝𝑎𝑟á𝑚𝑒𝑡𝑟𝑜 𝑖 𝑟𝑒𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑎𝑚𝑒𝑛𝑡𝑒 Con esta matriz de distancias se puede determinar el centroide más cercano a cada muestra. Para ello, por cada parámetro físico i (Pi), se recorre la matriz di por filas, y se almacenan aquellos índices en los que se encuentra el valor mínimo de cada fila. Estos índices dan lugar un vector (𝑆𝑖) que sirve como secuencia discreta representativa de cómo varía el parámetro físico Pi a lo largo de la grabación de un gesto. Aplicando el mismo procedimiento para el resto de parámetros físicos, se consigue registrar mediante varias secuencias discretizadas la evolución cinemática de la mano producida durante la ejecución de un gesto. Como ejemplo ilustrativo de esto, se puede observar la figura 4.6: Figura 4.6. Evolución discretizada de los parámetros físicos de una grabación correspondiente al gesto de apertura y cierre de dedos índice y medio en forma de tijera. 31 Además, para evitar problemas de sobreoscilaciones puntuales (originadas generalmente por ruido en la medición del propio sensor) en las secuencias Si obtenidas para cada parámetro físico, se incluye una zona de histéresis entre cada par de centroides contiguos, tal como se muestra en la figura 4.7 mediante líneas discontinuas: Figura 4.7. Regiones de histéresis para los parámetros físicos correspondientes al gesto de apertura y cierre de dedos índice y medio en forma de tijera. De esta forma, si el valor de la muestra de un parámetro físico Pi entra en una región de histéresis, se le asigna el valor anterior de la secuencia Si, correspondiente al centroide más cercano, y dicho valor se mantendrá hasta el momento en el que una muestra siguiente salga de la región comentada y quede más cerca otro centroide diferente. Una vez hecho esto, se tiene que en cada instante de muestreo (j), la postura de la mano viene definida por una combinación de valores discretos (uno por cada parámetro físico). A esta combinación en un instante de muestreo j se le denomina vector característico (VC), y tiene la estructura que se observa en la expresión 4.5: 𝑉𝐶 =(𝑆1(𝑗),𝑆2(𝑗),…𝑆𝑖(𝑗),…𝑆𝑛𝑃(𝑗)) (4.5) De forma genérica, este vector tiene una dimensión de 𝑛𝑃 componentes, es decir, igual al número de parámetros físicos, donde cada componente Si(j) puede tomar nCi valores, lo que hace referencia al número de centroides establecidos para el parámetro físico Pi. 32 Teniendo en cuenta estos datos, y suponiendo que el número de centroides (nC) se mantiene constante para todos los parámetros físicos de un mismo gesto, se puede deducir el número de vectores característicos diferentes (𝑁) que podrán producirse durante el registro de dicho gesto mediante la expresión 4.6: 𝑁 =𝑛𝑃𝑛𝐶 (4.6) Precisamente, este valor coincide con el número de características observables (oi) que describen los estados o acciones básicas (qi) que formarán el diagrama de los Modelos Ocultos de Markov (ver Anexo B). Por lo tanto, asignando a cada vector característico diferente una característica observable oi, se consigue codificar cada una de las N combinaciones de los parámetros físicos de la mano en un único valor discreto, lo que permite que los gestos quirúrgicos puedan ser modelados específicamente como secuencias de características observables (So). Esto se puede realizar mediante una tabla de asignación como la que aparece en la figura 4.8: Figura 4.8. Codificado de vectores característicos en características observables. La correspondencia entre un vector característico y su característica observable viene dada por la expresión 4.7: 𝑜𝑖=𝑉𝐶𝑖(1)+𝑛𝐶∗(𝑉𝐶𝑖(2)−1)+⋯+𝑛𝐶𝑛𝑃−1 ∗(𝑉𝐶𝑖(𝑛𝑃)−1) 𝑖 =1…𝑁 (4.7) Para comprender mejor el procedimiento de codificado, se muestra a continuación su desarrollo para el caso del gesto de apertura y cierre de los dedos índice y medio en forma de tijera, el cual ya se ha comentado previamente para detallar el funcionamiento de otros procedimientos llevados a cabo a lo largo del capítulo. Puesto que dicho gesto dispone de tres parámetros físicos (nP=3) y cada uno de ellos se agrupa en función de tres centroides (nC=3), se consideran N = 27 vectores característicos diferentes, resultado de tener en cuenta todas las combinaciones posibles entre las secuencias discretas S1, S2 y S3 correspondientes a los parámetros físicos P1, P2 y P3 de dicho gesto. Partiendo de la figura 4.6, se puede observar que en las primeras muestras de la grabación se dispone del vector característico 𝑉𝐶 =(3,3,3). VC1 VC2 VC3 VC4 - - - - - - VCN-1 VCN o1 o2 o3 o4 - - - - - - oN-1 oN VECTORES CARACTERÍSTICOS CARACTERÍSTICAS OBSERVABLES 33 Para identificar qué característica observable le corresponde, simplemente se aplica la expresión 4.7 citada anteriormente, tal y como se muestra en la expresión 4.8: 𝑜𝑖=3+3∗(3−1)+32∗(3−1)=27 (4.8) Aplicando este procedimiento a la secuencia completa de vectores característicos que particularizan cada grabación de un gesto, se pueden conseguir secuencias de características observables So, lo que permite modelar los gestos quirúrgicos que se deseen. Además, con los vectores característicos establecidos, se cubren todas las posibilidades de interacción entre las localizaciones de la mano seleccionadas. Tras esto, se toman las secuencias resultantes del proceso de codificado y se eliminan los valores contiguos repetidos, lo que permite representar los gestos a partir de las variaciones de movimiento más destacadas, y eliminar la dependencia del tiempo, que es variable de una grabación a otra. Además, sólo se almacenan en una secuencia final aquellas características observables que se hayan repetido de forma contigua por encima de un valor umbral. De esta forma, se eliminan posibles transiciones puntuales que no son representativas para ese gesto, y que podrían dificultar el entrenamiento posterior. Como ejemplo ilustrativo de esto, se puede ver la figura 4.9, donde se observan la secuencia codificada obtenida para una grabación del gesto de apertura y cierre de los dedos índice y medio en forma de tijera, y la secuencia sin repeticiones resultante, suponiendo un valor umbral de cinco muestras. Se puede observar cómo se han marcado en verde aquellas subsecuencias que cumplen la condición del valor de umbral impuesto, y en verde más oscuro el primer término de cada subsecuencia, para enfatizar que no se añadirán valores contiguos repetidos. Figura 4.9. Ejemplo de obtención de secuencia codificada sin repeticiones. 34 Por último, cabe destacar que durante el codificado en la Fase de Entrenamiento, es necesario almacenar la longitud mínima de entre todas las secuencias sin repeticiones obtenidas para las grabaciones del gesto que se esté entrenando, y con este valor, limitar la longitud de dichas secuencias, con el objetivo de homogeneizar completamente los datos que se almacenarán en la Librería de Gestos. Un ejemplo de esto se puede ver en la figura 4.10 que se muestra a continuación, para el caso de dos grabaciones de un mismo gesto: Figura 4.10. Ejemplo de obtención de secuencias de características observables finales. 4.5. Entrenamiento de librería de gestos En la etapa de entrenamiento de gestos quirúrgicos, se obtienen los parámetros correspondientes a los diagramas de los Modelos Ocultos de Markov que describirán cada uno de estos gestos (ver Anexo B). De esta forma, cada uno de los gestos que se desean modelar vendrá caracterizado por un par de matrices A y B de probabilidad: por un lado, la matriz A sirve para representar la distribución de probabilidades de transición entre acciones básicas o estados (qi), y por otro lado, la matriz B almacena la distribución de probabilidades de características observables (oi) en cada acción básica o estado (qi). En la figura 4.11 se puede observar un ejemplo de las dos matrices comentadas con las variables que relacionan escritas en la parte izquierda en vertical, y en la superior horizontal de las mismas: Figura 4.11. Ejemplo de matrices A y B de probabilidad. En este caso, las matrices de dicha figura representan un modelo formado por cinco estados o acciones básicas y diez características observables diferentes. Por un lado, los elementos de la matriz A contienen los valores de probabilidad de transición de un estado concreto a otro, y Longitud mínima: 5 35 por otro, los componentes de la matriz B indican la probabilidad de que en un estado se emita una característica observable determinada. Además, ambas matrices deben cumplir la condición de que la suma de sus elementos por filas sea igual a 1. El número de características observables (oi) se puede obtener de ensayos experimentales una vez que se han recogido todos los gestos que se desean modelar, estableciendo dicho valor mediante la expresión 4.6, en función del número de parámetros físicos elegidos y del número de centroides utizados, tal y como se comenta en el apartado 4.4.2. El número de estados o acciones básicas (qi) se determina mediante un proceso iterativo de prueba-error en el que se comprueban los resultados que proporciona el algoritmo de reconocimiento Forward-Backward (explicado en el Anexo B) para diferente número de estados. Para el proceso de entrenamiento, es necesario definir un par de matrices A y B iniciales que permitan a los algoritmos establecer cómo puede evolucionar la red de Markov. Mientras que la matriz B puede definirse inicialmente con igual probabilidad para todos sus componentes, la matriz A inicial puede presentar diferentes configuraciones en función de la evolución esperada de los estados del modelo. En la figura 4.12 se puede ver un ejemplo de matriz B inicial, así como algunas estructuras diferentes de la matriz A, donde las transiciones de color azul son las posibles y las marcadas en gris tienen probabilidad de salto entre estados igual a cero. Figura 4.12. Diferentes topologías para la matriz de estados (A) y matriz de características observables (B). En primer lugar, se muestra una matriz A ergódica, es decir aquella en la que todos los estados se encuentran conectados entre sí. Esto posibilita que cada estado pueda alcanzarse desde cualquier otro tras un número finito de pasos, ya que se permiten transiciones tanto hacia adelante como hacia atrás. 42  Que se detecte más de un gesto como posible, en cuyo caso no se podrá afirmar con seguridad el reconocimiento en la grabación.  Que se detecte un sólo gesto como posible, en cuya situación finaliza el proceso devolviendo el gesto reconocido. El diagrama de la figura 4.18 que se observa a continuación nos permite esquematizar los casos que pueden darse en el proceso de reconocimiento. Figura 4.18. Diagrama de flujo con las situaciones posibles en el sistema de reconocimiento. De esta forma, el sistema de reconocimiento finaliza con la emisión del gesto identificado, o bien con la emisión de un mensaje indicando que no se ha identificado ningún gesto si no se dispone de suficiente certeza para distinguirlo. 4.7. Conclusiones En este capítulo se ha propuesto la metodología utilizada en el desarrollo de un sistema de reconocimiento de gestos quirúrgicos para cirugía laparoscópica asistida por la mano, con el objetivo de implementar una interfaz capaz de actuar en función del gesto realizado por el cirujano durante la maniobra quirúrgica. De esta forma, es posible dotar a un sistema robótico quirúrgico de la capacidad de colaborar con el cirujano en determinadas tareas, mediante comandos directos dictados por este. ‘No se ha identificado ningún gesto’ Gestos descartados ¿Se han descartado todos los gestos? SI Gestos posibles Gesto identificado ¿Hay más de un gesto posible? NO SI NO 43 Para comprender el sistema, se ha comentado el funcionamiento de los procesos y módulos utilizados desde la obtención de la localización de la mano hasta un módulo de reconocimiento, pasando por una fase de procesamiento de datos, en la cual se han tratado y sincronizado los datos obtenidos. De igual forma, se ha detallado la fase de entrenamiento, necesaria para entrenar los modelos que se han de utilizar para el reconocimiento posterior. El modelado de los gestos es posible gracias a la creación de una librería de modelos estocásticos con los patrones de movimiento realizados durante una intervención. Para ello, se han utilizado los Modelos Ocultos de Markov, con los que se representan y analizan secuencias de características observables producidas durante la ejecución de los movimientos de la mano. La topología inicial de los Modelos Ocultos de Markov es función del tipo de sistema que se desea modelar, los gestos que se desean reconocer, la flexibilidad permitida en la evolución entre los distintos estados y el número de características observables establecidas. Una vez establecida la topología de los modelos de los gestos, se lleva a cabo un proceso de entrenamiento para obtener las matrices A y B que caracterizan cada gesto incluido en el sistema. Por otro lado, cabe destacar que los patrones que forman la librería de gestos deben formarse a partir de los datos extraídos del usuario que vaya a utilizar el sistema, y el modelado que mejor representa los movimientos realizados por la mano es aquel que ha sido entrenado con un gran número de repeticiones para cada uno de los gestos. Finalmente, se ha comentado cómo el sistema de reconocimiento es capaz de identificar un gesto en una determinada grabación, gracias a la comparación entre secuencias de características observaciones obtenidas y los patrones almacenados en la librería de gestos. Así mismo, se ha detallado mediante diagramas de flujo algunos de los criterios utilizados en el módulo de reconocimiento para el disminuir la aparición de falsos positivos en la identificación. 45 Capítulo 5: Implantación y experimentos 5.1. Introducción En los capítulos anteriores se ha planteado, por un lado, la problemática a cubrir con el desarrollo de una interfaz que permita el reconocimiento de gestos, y por otro, los desarrollos teóricos necesarios para implantar cada uno de los módulos que constituyen dicha interfaz, con el objetivo de comprender el funcionamiento del sistema. El presente capítulo describe en primer lugar las arquitecturas hardware y software propuestas para implantar el sistema con el objeto de incluirlo en una plataforma robótica dotada de una arquitectura basada en el entorno ROS, incluyendo una breve descripción de cada uno de los componentes utilizados. Posteriormente, se detalla el proceso de modelado de gestos quirúrgicos a través de ensayos realizados por diferentes usuarios. Así mismo, se incluyen diferentes experimentos realizados para comprobar cómo varía el reconocimiento en función del uso de diferentes topologías de los HMMs en la fase de entrenamiento. Una vez validada la topología a utilizar, se realizan una serie de experimentos con el objetivo de demostrar que el sistema de reconocimiento de gestos funciona correctamente, y determinar si afecta lo familiarizados que estén los diferentes usuarios con el Leap Motion con el índice de acierto del sistema. Por otro lado, hay que mencionar que los experimentos expuestos en este capítulo tienen como objetivo validar una metodología para la detección de gestos en cirugía laparoscópica asistida por la mano, y su integración en un entorno ROS. Pese a que dichos experimentos son realizados mediante el dispositivo Leap Motion (tal y como se detallará en el apartado 5.2), sus resultados son completamente extrapolables al entorno de una intervención donde se utilice un guante quirúrgico sensorizado, dispositivo con el que se tiene planteado utilizar el sistema de detección de gestos. 5.2. Implantación del sistema Para comprender el modelado y reconocimiento de gestos planteado, se ha decidido explicar por un lado los componentes utilizados desde el punto de vista hardware, y posteriormente los componentes software. 5.2.1. Arquitectura hardware En primer lugar se detalla el entorno hardware, el cual incluye un sistema de adquisición de datos de la localización de la mano del cirujano, que permite registrar los movimientos que 46 éste realiza durante la intervención, así como un dispositivo que permite el almacenamiento y tratamiento de los datos obtenidos. En la figura 5.1 que se muestra a continuación pueden observarse los dispositivos utilizados para recoger las grabaciones de los gestos utilizadas tanto para las fases de entrenamiento como para validar el sistema de reconocimiento: Figura 5.1. Plataforma hardware utilizada para el modelado y reconocimiento de gestos. Leap Motion En el caso del sistema de adquisición de datos, se ha utilizado el componente Leap Motion (ver figura 5.2), un dispositivo usb periférico cuyo objetivo es sensar el movimiento de las manos en 3D, lo que puede permitir interactuar con computadores e incluso mejorar experiencias de realidad virtual conjuntamente con dispositivos tales como Oculus Rift (un casco de realidad virtual que permite la inmersión total en campos como videojuegos, la educación o el cine). Figura 5.2. Dispositivo Leap Motion. Ordenador portátil Leap Motion 47 Microcontrolador Cámaras LEDs Dicho dispositivo está constituido internamente por dos cámaras, tres LEDs infrarrojos y un microcontrolador, tal y como se muestra en la figura 5.3: Figura 5.3. Disposición de componentes internos del dispositivo Leap Motion. En primer lugar, las cámaras se encargan de capturar imágenes constantemente, lo que permite determinar la localización de las articulaciones y de algunos otros puntos de interés en las manos del usuario que usa el dispositivo. Para ello, cada una de las cámaras cuenta con un sensor monocromático sensible a la luz infrarroja, con una longitud de onda de 850 nm. Estos sensores pueden trabajar a una velocidad de hasta 200 fps dependiendo del rendimiento del equipo al que se conecte el dispositivo. Por otro lado, los LEDs se encargan de iluminar la zona de cobertura del dispositivo en el espectro de luz infrarroja, a una longitud de onda de 850 nm, y varían su iluminación dependiendo de la luz del entorno, para asegurar una misma nitidez de imagen. Dichos LEDs se encuentran separados entre sí mediante barreras de plástico, para así garantizar que la iluminación sea uniforme en toda la zona de cobertura. Además, de esta forma se protege a los sensores ópticos de una posible saturación de luz, ya que con dicha disposición la luz infrarroja no les ilumina directamente. Por último, el microcontrolador consiste en un circuito integrado utilizado como sistema básico de entrada y salida (BIOS). Contiene el programa que controla al dispositivo, y se encarga de recoger información de los sensores para luego enviarla al controlador (driver) instalado en el ordenador, así como de otras actividades básicas tales como regular la iluminación. Ordenador portátil Como dispositivo de almacenamiento y tratamiento de datos se ha utilizado un ordenador portátil con sistema operativo Ubuntu 14.04 LTS, con ROS configurado y con los nodos 48 necesarios para la adquisición y visualización de la localización de las manos. Además, dispone de Matlab 2016a para permitir el tratamiento de los datos obtenidos, como se detallará en el apartado posterior. 5.2.2. Arquitectura software A continuación se describe la arquitectura software utilizada para posibilitar la comunicación entre dispositivos a través de un entorno ROS, para iniciar y finalizar las grabaciones de datos, así como para permitir el ajuste y sincronización de los datos obtenidos. Entorno ROS La plataforma ROS consiste en un “meta-sistema operativo” de código abierto que proporciona un conjunto de librerías y herramientas para robots, lo que permite a desarrolladores software crear aplicaciones robóticas con mayor facilidad, así como integrar diferentes plataformas robóticas dentro de una red que permite la comunicación entre ellas. Entre sus principales características, destaca su diseño distribuido y modular, la abstracción del hardware, el control de dispositivos a bajo nivel o el envío de mensajes entre procesos. Para comprender el funcionamiento básico de ROS, hay que destacar los principales elementos que lo componen:  Nodos: Un nodo es un proceso ejecutable que usa ROS para comunicarse con otros nodos, cumpliendo una función específica. Son la estructura más básica de toda arquitectura basada en ROS, y son compilados, ejecutados y gestionados individualmente unos de otros mediante un nodo principal, denominado nodo roscore.  Mensajes: Los mensajes son tipos de estructuras de datos que permiten la comunicación interna entre nodos de forma asíncrona. Pueden incluir tipos de datos primitivos, arrays de datos o estructuras.  Topics: Son intermediarios en la comunicación entre nodos, ya que actúan como sistema de transporte a través del cual se intercambian mensajes. Los nodos pueden publicar mensajes en un topic o bien suscribirse a estos; de esta forma, si un nodo publica un determinado mensaje en un topic, todos los nodos que estén suscritos a éste lo leerán. Puede haber múltiples nodos publicadores y suscriptores para un mismo topic, y de igual forma, un mismo nodo puede publicar y/o suscribirse a múltiples topics. 49  Servicios: Los servicios son transacciones síncronas entre nodos, basadas en la arquitectura cliente/servidor, en las que un nodo actúa como cliente realizando una petición a otro nodo, y este proporciona una respuesta actuando como servidor, bien en forma de mensaje con datos o actuando como controlador de algún componente robótico presente en la plataforma. Por otro lado, cabe destacar que todo el software de ROS está organizado en paquetes, cuyo objetivo es ofrecer una funcionalidad determinada conteniendo nodos, conjuntos de datos, tipos de mensajes definidos por el usuario, archivos de configuración u otros elementos. Precisamente, para el desarrollo de este trabajo se han creado varios paquetes ROS:  Paquete 1: rtt_dev_leapmotion: Este paquete dispone de un nodo encargado de publicar las lecturas proporcionadas por el dispositivo Leap Motion en diferentes topics dentro del entorno ROS. Además, permite observar la localización de los distintos sistemas de coordenadas proporcionados para ambas manos mediante un visualizador de ROS denominado rviz, tal y como se puede ver en la figura 5.4: Figura 5.4. Visualización de sistemas de coordenadas de las manos mediante la herramienta Rviz.  Paquete 2: graba_datos: En este otro paquete se ha programado mediante código en C++ un menú con varias opciones a elegir, cada una con una tarea asignada. Entre dichas tareas destacan: o La posibilidad de realizar grabaciones de los datos proporcionados por Leap Motion durante la ejecución de un gesto. o Elegir cuáles de los topics publicados se desean almacenar. o Obtener información sobre alguna grabación ya almacenada. 50 o Establecer el directorio de almacenamiento. o Obtener un subconjunto de datos de las grabaciones. Para su funcionamiento, dicho código está basado en rosbag, una herramienta de ROS para grabar, reproducir y modificar archivos de registro (bags) con los mensajes que recibe el nodo roscore. Posteriormente, gracias a la toolbox de Matlab “Robotic Toolbox System”, se ha creado un topic denominado /gestoIdentificado, donde Matlab, que actúa como nodo publicador, puede enviar mensajes directamente sobre ROS con los gestos identificados tras pasar grabaciones por el sistema de reconocimiento. En la figura que se muestra a continuación se puede ver un ejemplo de cómo ocurriría esto: Figura 5.5. Ejemplo de publicación de mensaje con el gesto identificado sobre ROS. Como se puede observar, se adjuntan una captura de la ventana de comando de Matlab, y una ventana de terminal de Ubuntu. En Matlab, se muestra la inicialización de un nodo maestro o roscore mediante el comando “rosinit", así como la llamada a la función “reconoceGesto” con los parámetros necesarios para determinar el gesto producido en el archivo “Grabacion31.bag”. Tras esto, se muestran los resultados obtenidos. Por otro lado, en la ventana de terminal se muestra la suscripción al topic de interés mediante el comando “rostopic echo /gestoIdentificado”, y cómo se recibe que se ha identificado el primer gesto. 51 De esta forma, tanto el dispositivo Leap Motion como el sistema de reconocimiento de gestos quedan integrados en la arquitectura de la plataforma robótica del grupo de investigación de Robótica Médica de la Universidad de Málaga, cerrando uno de los objetivos principales del trabajo. MATLAB MATLAB es una herramienta de software matemático que ofrece un entorno de desarrollo integrado con un lenguaje de programación propio basado en matrices. Esta plataforma está optimizada para resolver problemas de ingeniería y científicos, permitiendo analizar y diseñar sistemas con grandes cantidades de datos, para lo cual dispone de gran cantidad de funcionalidades en campos como procesamiento de señales, robótica, comunicaciones, diseño de control, etc. En el caso de este trabajo, ha servido como entorno donde procesar, recortar y sincronizar las grabaciones de datos almacenadas previamente en archivos bag, siguiendo el proceso comentado en el Capítulo 4. De igual forma, ha permitido crear las funciones necesarias para llevar a cabo el reconocimiento de gestos, y como se ha comentado previamente, crear los nodos necesarios para poder comunicar dicho reconocimiento al entorno ROS. 5.3. Descripción de los experimentos En este apartado se describe el procedimiento que se ha llevado a cabo para validar el sistema de reconocimiento de gestos quirúrgicos. En primer lugar, se exponen los objetivos que se desean alcanzar en el estudio. Tras esto, se describen los gestos registrados para evaluar el funcionamiento del reconocedor, así como los parámetros físicos utilizados para el codificado de secuencias de características observables. Posteriormente, se define la batería de experimentos utilizada, así como las tareas que se van a realizar y los datos registrados para evaluar el funcionamiento del sistema. Finalmente, se realiza un análisis de los resultados obtenidos, discutiendo acerca de la validez del trabajo desarrollado. 5.3.1. Objetivo El objetivo principal consiste en validar un sistema de reconocimiento de gestos aplicable a intervenciones realizadas mediante cirugía laparoscópica asistida por la mano. Por otro lado, la realización de experimentos pretende establecer la topología de los Modelos Ocultos de Markov más adecuada para representar los gestos quirúrgicos. Para ello, se analizará cómo afecta dicha topología a la respuesta del sistema de reconocimiento y se seleccionará aquella que proporcione mejores resultados. 58 Como se puede observar, la evolución de los parámetros físicos tiene una forma característica para el gesto en cuestión que se está analizando, y para el resto de gestos, dicha evolución difiere mucho, o incluso se mantiene constante en algunos casos, lo que demuestra que efectivamente los parámetros físicos elegidos permiten diferenciar a un gesto de otro. Gracias a esto, se simplifica mucho el trabajo del reconocedor, evitando que el sistema de reconocimiento produzca secuencias de características observables muy similares para diferentes gestos. 5.3.3. Batería de experimentos y resultados En este apartado se detalla la batería de experimentos utilizada para probar y validar cada uno de los módulos propuestos en el Capítulo 4 para el modelado y reconocimiento de gestos quirúrgicos. Como ya se ha comentado en el apartado 5.1, hay que mencionar que en las intervenciones quirúrgicas se utilizaría un guante sensorizado para determinar la evolución de la mano durante los gestos, pero para la implementación del sistema desarrollado, dicho guante se ha sustituido por el dispositivo Leap Motion, que actúa como un sensor análogo. Para observar el funcionamiento del sistema, se ha decidido experimentar con cuatro individuos diferentes. Cada uno de ellos ha realizado 50 grabaciones por cada gesto, y dentro de estas, 30 se han asignado para el sistema de entrenamiento y 20 para el sistema de reconocimiento propiamente dicho. De esta forma, las 30 primeras grabaciones realizadas permiten un ajuste personalizado de los Modelos Ocultos de Markov para cada usuario, mientras que las 20 grabaciones restantes pasarán por el sistema de reconocimiento y permitirán determinar el número de aciertos que proporciona el reconocedor. Además, entre los individuos que han participado en el estudio, se encuentran varios niveles de destreza con dicho dispositivo, desde muy habituados a su uso hasta usuarios principiantes poco familiarizados con el entorno del Leap Motion, lo que nos permitirá determinar posteriormente si este factor es relevante en el porcentaje de aciertos. Con respecto a las grabaciones utilizadas, es importante destacar que se requiere de unas condiciones de inicio y de fin de cada grabación, para detectar en qué intervalo de tiempo se está produciendo un gesto. En el caso del presente trabajo, se parte de que las condiciones de inicio y de fin vienen determinadas por la visibilidad de la mano izquierda. A continuación se detallan los experimentos realizados especificando sus objetivos, las tareas realizadas para llevarlos a cabo, los datos registrados y los resultados obtenidos. 59 Experimento 1 En primer lugar se llevará a cabo un experimento para determinar la topología inicial de las matrices de Markov que proporciona mejores resultados para los gestos incluidos en el sistema. Este se realizará con las grabaciones de un solo individuo, y posteriormente se utilizará la topología elegida con las grabaciones correspondientes a los otros individuos. Como se especificó en el apartado 4.5, hay diversas topologías iniciales para las matrices A de distribución de probabilidad de transición entre estados (qi). A continuación se comentan cada de una de las topologías estudiadas con sus resultados correspondientes. 1. Ergódica. En esta topología todos los estados se encuentran conectados entre sí, lo que posibilita que cada estado pueda alcanzarse desde cualquier otro tras un número finito de pasos. Esto permite transiciones tanto hacia adelante como hacia atrás. En la tabla 5.1 se pueden observar los resultados obtenidos: Gesto Grabaciones de Entrenamiento Grabaciones de Reconocimiento Número de Aciertos % de Aciertos 1 30 20 20 100.00 % 2 30 20 20 100.00 % 3 30 20 14 70.00 % 4 30 20 17 85.00 % Tabla 5.1. Resultados del reconocimiento con topología ergódica. 2. Triangular superior. Con esta forma, únicamente se permite avanzar en el diagrama de estados, sin posibilidad de retroceder a estados anteriores. En la tabla 5.2 se pueden observar los resultados obtenidos: Gesto Grabaciones de Entrenamiento Grabaciones de Reconocimiento Número de Aciertos % de Aciertos 1 30 20 20 100.00 % 2 30 20 18 90.00 % 3 30 20 17 85.00 % 4 30 20 18 90.00 % Tabla 5.2. Resultados del reconocimiento con topología triangular superior. 60 3. De izquierda a derecha. En esta topología, se permite únicamente las transiciones de un estado hacia sí mismo o hacia el siguiente más contiguo. En la tabla 5.3 se pueden observar los resultados obtenidos: Gesto Grabaciones de Entrenamiento Grabaciones de Reconocimiento Número de Aciertos % de Aciertos 1 30 20 20 100.00 % 2 30 20 18 90.00 % 3 30 20 16 80.00 % 4 30 20 18 90.00 % Tabla 5.3. Resultados del reconocimiento con topología de izquierda a derecha. 4. Tridiagonal superior e inferior. Con esta forma se permite la transición de un estado hacia sí mismo, así como las transiciones de retroceso o avance en el diagrama a los estados más contiguos. En la tabla 5.4 se pueden observar los resultados obtenidos: Gesto Grabaciones de Entrenamiento Grabaciones de Reconocimiento Número de Aciertos % de Aciertos 1 30 20 20 100.00 % 2 30 20 18 90.00 % 3 30 20 16 80.00 % 4 30 20 18 90.00 % Tabla 5.4. Resultados del reconocimiento con topología triangular superior e inferior. Como se puede observar, no hay una diferencia notable al utilizar una u otra topología, por lo que se podría elegir cualquiera de ellas. En este caso, se ha considerado la estructura de la matriz A triangular superior en la que sólo se permite avanzar en el diagrama de estados como la configuración a utilizar para llevar a cabo el resto de experimentos, debido a que proporciona un porcentaje de aciertos algo superior al resto de topologías. 61 Experimento 2 En este experimento se desea evaluar la validez del sistema de gestos desarrollado a lo largo de este trabajo. Para ello, se va a comprobar empíricamente los resultados que proporciona el reconocedor para cuatro individuos diferentes. Por cada sujeto se han realizado un total de 200 grabaciones (50 repeticiones por cada gesto), de las cuales 30 se han asignado al sistema de entrenamiento, permitiendo el ajuste de las matrices que caracterizan a los Modelos Ocultos de Markov. Dicho entrenamiento ha permitido generar las librerías de gestos a partir de la topología triangular superior especificada en el apartado 4.5, tras comprobar que proporcionaba resultados ligeramente superiores al resto de topologías. Por otro lado, las 20 grabaciones restantes se han asignado al sistema de reconocimiento. Con respecto a los parámetros físicos, se ha decidido tomar 3 por cada gesto (como se detalla en el apartado 5.3.2), y a su vez 3 centroides por cada parámetro, de forma que se permiten un total 27 características observables diferentes por gesto. Además, se han realizado ensayos experimentales de prueba-error para determinar el número de estados más apropiado para las redes de Markov, fijando finalmente 5 estados por cada gesto. Experimentalmente, se identificó que un número superior de estados complicaba el reconocimiento, ya que disminuían los valores de probabilidad de cada gesto, y que un menor número de estados proporcionaba menor número de aciertos en el reconocimiento, ya que dificultaba la correcta elección del gesto que se había producido. A continuación se pueden observar los resultados obtenidos para los diferentes usuarios. Cabe destacar que los dos primeros se encontraban habituados al uso de Leap Motion, mientras que los dos últimos individuos apenas habían usado el dispositivo. Individuo 1. En la tabla 5.5 se pueden observar los resultados obtenidos: Gesto Grabaciones de Entrenamiento Grabaciones de Reconocimiento Número de Aciertos % de Aciertos 1 30 20 18 90.00 % 2 30 20 19 95.00 % 3 30 20 18 90.00 % 4 30 20 19 95.00 % Tabla 5.5. Resultados del reconocimiento del individuo 1. 62 Individuo 2. En la tabla 5.6 se pueden observar los resultados obtenidos: Gesto Grabaciones de Entrenamiento Grabaciones de Reconocimiento Número de Aciertos % de Aciertos 1 30 20 20 100.00 % 2 30 20 17 85.00 % 3 30 20 17 85.00 % 4 30 20 16 80.00 % Tabla 5.6. Resultados del reconocimiento del individuo 2. Individuo 3. En la tabla 5.7 se pueden observar los resultados obtenidos: Gesto Grabaciones de Entrenamiento Grabaciones de Reconocimiento Número de Aciertos % de Aciertos 1 30 20 20 100.00 % 2 30 20 11 55.00 % 3 30 20 16 80.00 % 4 30 20 15 75.00 % Tabla 5.7. Resultados del reconocimiento del individuo 3. Individuo 4. En la tabla 5.8 se pueden observar los resultados obtenidos: Gesto Grabaciones de Entrenamiento Grabaciones de Reconocimiento Número de Aciertos % de Aciertos 1 30 20 20 100.00 % 2 30 20 11 55.00 % 3 30 20 15 75.00 % 4 30 20 10 50.00 % Tabla 5.8. Resultados del reconocimiento del individuo 4. 63 5.3.4. Discusión El objetivo de estos experimentos ha sido comprobar el funcionamiento de la interfaz basada en el reconocimiento de gestos durante las intervenciones de cirugía laparoscópica asistida por la mano. Tras analizar los resultados obtenidos, se puede llegar a la conclusión de que los algoritmos desarrollados son válidos. En resumen, se ha obtenido un 97.5% de acierto del gesto 1, un 72.5% de acierto del gesto 2, un 82.5% de acierto del gesto 3, y 75% de acierto para el gesto 4, con lo que se ha alcanzado un porcentaje de acierto global del 82%. Como se puede observar, los resultados varían en función del individuo que realiza las grabaciones de los gestos. De esta forma, se ha podido ver cómo el porcentaje de aciertos disminuye de forma notable para los gestos 2 y 4 en aquellos usuarios que disponen de un menor nivel de destreza con Leap Motion. Esto demuestra que realmente afecta lo familiarizado que esté el sujeto con el dispositivo, y que puede ser un factor relevante si se desea mejorar el reconocimiento de gestos. Por otro lado, cabe destacar que Leap Motion almacena los sistemas de referencia de la mano a partir de imágenes, como se comentó en el apartado 5.2.1, por lo que si en un momento dado unos dedos se ocultan con otros, la medición puede ser imprecisa. Así, un usuario que no esté informado o suficientemente familiarizado con este hecho puede realizar grabaciones que no se correspondan exactamente con el movimiento que realmente está realizando. Por tanto, se recomienda que antes de utilizar el sistema, el usuario haga pruebas en las que observe como se visualiza su mano al realizar diferentes movimientos. 5.4. Conclusiones En este capítulo se ha detallado en primer lugar el entorno propuesto para implantar el sistema, incluyendo tanto las arquitecturas hardware como software que se han utilizado, así como una breve descripción de cada uno de los componentes que las constituyen. Por otro lado, se han verificado los desarrollos teóricos expresados en los capítulos anteriores. Para ello, se han realizado dos experimentos, el primero con el objetivo de determinar la topología inicial más adecuada a utilizar para los Modelos Ocultos de Markov, y el segundo con el fin de validar el funcionamiento del sistema de reconocimiento a través de ensayos experimentales realizados por diferentes usuarios, permitiendo comprobar que éste funciona de forma satisfactoria. 65 Capítulo 6: Conclusiones y trabajos futuros 6.1. Conclusiones A lo largo de la memoria se han ido exponiendo las tareas realizadas durante el desarrollo de este trabajo fin de grado, mostrando cómo se han alcanzado todos los objetivos expuestos en el anteproyecto. En primer lugar se expuso una introducción a las técnicas de cirugía mínimamente invasiva, realizando especial hincapié en aquellas relacionadas con la cirugía laparoscópica asistida por la mano (HALS). Tras esto, se comentaron algunos sistemas de ayuda robotizada, especialmente interfaces persona-máquina que actuasen en función de órdenes del cirujano, destacando las aportaciones del presente trabajo en éste ámbito. En segundo lugar, se realizó una descripción ideal del entorno quirúrgico utilizado para intervenciones HALS, a la par que se comentó la problemática existente ante la falta de interfaces quirúrgicas en estos procedimientos. Posteriormente, se propuso el desarrollo de una interfaz de comunicación natural entre cirujano y asistente robótico, detallando las hipótesis y simplificaciones llevadas a cabo para realizar el trabajo, así como la arquitectura utilizada para resolver el problema. En tercer lugar, se comentaron paso a paso los algoritmos implementados para el desarrollo de la interfaz basada en el reconocimiento de gestos. Finalmente se ha dedicado un capítulo a dos objetivos fundamentales: por un lado, comentar el entorno hardware y software en el que se implantó el sistema y su integración en una arquitectura ROS, y por otro lado, a realizar una serie de experimentos para validar el correcto funcionamiento del sistema de reconocimiento desarrollado. 6.2. Futuras líneas de desarrollo Pese a que el reconocedor desarrollado funciona con un porcentaje de acierto elevado para aquellos usuarios familiarizados con Leap Motion, se pueden encontrar en éste diversos problemas que pueden plantearse como líneas de desarrollo futuro para la mejora del sistema: -En primer lugar, la necesidad de mejorar el sistema de adquisición de datos, ya que la mayor parte de dificultades que han ido surgiendo derivan de una detección imprecisa de la posición de la mano. Ésta problemática espera resolverse en el futuro (al menos parcialmente) mediante la sustitución de Leap Motion por un guante quirúrgico sensorizado. 66 -El segundo problema está relacionado con la elección de los parámetros físicos que caracterizarán a cada gesto. Durante la ejecución del presente trabajo, estos parámetros se han elegido manualmente por cada gesto, según la evolución cinemática esperada de la mano. Sin embargo, el desarrollo de un algoritmo que automatizase esta tarea podría simplificar bastante el proceso, además de que permitiría elegir parámetros que quizás fuesen aún más diferenciadores entre un gesto y otro. Asimismo, se podrían desarrollar algoritmos para automatizar el número de estados óptimo o para determinar la topología más idónea a utilizar para los Modelos Ocultos de Markov. -En tercer lugar, el sistema se ha implementado comprobando su funcionamiento a partir del almacenamiento de una grabación, y no directamente en línea como se esperaba. Esto se debe principalmente a que el sistema se implantó en Matlab, y el tiempo de procesado era elevado como para reconocer una grabación online (el gesto se reconocería con un retardo importante). Para solucionar esto, se plantea extrapolar el sistema desarrollado a C++, lenguaje de programación en el que la ejecución del código desarrollado se produciría de forma mucho más rápida. -Por último, se plantea la necesidad de proponer unas condiciones de inicio y fin de los gestos que, a diferencia de las usadas en el sistema actual (de visibilidad de la mano con el dispositivo Leap Motion), sean extrapolables al entorno quirúrgico en el que se pretende usar un guante quirúrgico sensorizado. 67 A. Algoritmo K-means A.1. Introducción Este anexo tiene por objeto presentar el algoritmo de agrupamiento que ha servido como base para clasificar en diferentes etiquetas las muestras de distancias y ángulos registradas entre sistemas de referencia de la mano. A.2. Descripción del algoritmo El algoritmo K-means tiene como objetivo la partición de un conjunto de n observaciones en k grupos o clusters, de forma que cada observación se incluye dentro del grupo cuyo valor medio es más cercano. Este ha sido ampliamente utilizado en áreas relacionadas con la minería de datos, tales como visión por computador o astronomía. El funcionamiento del algoritmo es el siguiente: dado un conjunto de observaciones (x1, x2, x3,…xn), dicho algoritmo construye una partición de las observaciones en k clusters S = {S1, S2,…Sk}, con k ≤ n, a fin de minimizar la suma de los cuadrados dentro de cada grupo, esto es, la suma de las funciones de distancia entre cada muestra de un conjunto y su centroide (el centro geométrico de dicho conjunto de datos). En otras palabras, su objetivo es encontrar: (𝐴.1) Donde 𝜇𝑖 es la media de las muestras incluidas en Si. A.3. Implementación del algoritmo Hay diversas implementaciones de este algoritmo. El estándar está basado en una técnica de refinamiento iterativo, en la cual se lleva a cabo el siguiente procedimiento: 1) Se sitúan K valores en el espacio, que representan los centroides iniciales de los grupos. 𝑚1 (1),𝑚2 (1),…𝑚𝑘 (1) (𝐴.2) Tras esto, se repiten de forma iterativa los pasos 2 y 3 que se detallan a continuación: 74 Para definir el proceso de reestimación de parámetros de HMM, es necesario conocer:  El número esperado de transiciones desde el estado i en SO.  El número esperado de transiciones desde el estado i al estado j. Para ello, se define una variable intermedia 𝜉𝑡(𝑖,𝑗), que es la probabilidad de estar en el estado i en el instante t y en el estado j en el instante t+1, dado el modelo 𝜆 =(𝐴,𝐵,𝜋) y la secuencia de observaciones 𝑆𝑂= {𝑜1,𝑜2,… 𝑜𝑇}: 𝜉𝑡(𝑖,𝑗)= 𝑃(𝑞𝑡=𝑞𝑖,𝑞𝑡+1 =𝑞𝑗 | 𝜆,𝑆𝑂) (𝐵.16) Esta expresión (B.16) puede reescribirse de la siguiente manera: 𝜉𝑡(𝑖,𝑗)=∝𝑡(𝑖)∗𝑎𝑖𝑗 ∗𝑏𝑗(𝑜𝑡+1)∗𝛽𝑡+1(𝑗) 𝑃(𝑆𝑂 | 𝜆)=∝𝑡(𝑖)∗𝑎𝑖𝑗 ∗𝑏𝑗(𝑜𝑡+1)∗𝛽𝑡+1(𝑗) ∑ ∑ ∝𝑡(𝑖)∗𝑎𝑖𝑗 ∗𝑏𝑗(𝑜𝑡+1)∗𝛽𝑡+1(𝑗) 𝑁 𝑗=1 𝑁 𝑖=1 (𝐵.17) Donde los valores ∝𝑡(𝑖) y 𝛽𝑡(𝑖) se pueden calcular mediante el algoritmo de forwardbackward. Por otro lado, se define la probabilidad de estar en el estado i en el instante t como: 𝛾𝑡(𝑖)=∑𝜉𝑡(𝑖,𝑗) 𝑁 𝑗=1 (𝐵.18) Sumando cada 𝛾𝑡(𝑖) en cada instante de tiempo t, se obtiene una cantidad que puede interpretarse como el número esperado de transiciones realizadas desde el estado qi, tal y como se muestra en la ecuación B.19: ∑𝛾𝑡(𝑖) 𝑇−1 𝑖=1 (𝐵.19) De forma similar, la suma de 𝜉𝑡(𝑖,𝑗) en todo instante de tiempo se interpreta como el número esperado de transiciones desde el estado qi hasta el qj. ∑𝜉𝑡(𝑖,𝑗) 𝑇−1 𝑖=1 (𝐵.20) Con el uso de estas fórmulas, se obtiene un método de reestimación de los parámetros de los HMM, de forma que A, B y π se pueden obtener a partir de las ecuaciones (B.21) (B.22) y (B.23) de forma iterativa: 𝜋𝑖  =𝛾1(𝑖) (𝐵.21) 75 𝑎𝑖𝑗     =∑𝜉𝑡(𝑖,𝑗) 𝑇−1 𝑖=1 ∑𝛾𝑡(𝑖) 𝑇−1 𝑖=1 (𝐵.22) 𝑏𝑗 =∑𝛾𝑡(𝑗) 𝑇𝑡=1 𝑜𝑡=𝑜𝑘 ∑𝛾𝑡(𝑗) 𝑇 𝑖=1 (𝐵.23) Este proceso de entrenamiento se continúa hasta que no exista mejora entre un modelo y el siguiente revisado. Además, hay que tener en cuenta que en cada iteración del proceso se deben de cumplir las restricciones estocásticas de los parámetros del HMM que aparecen a continuación: ∑𝜋𝑖  𝑁 𝑗=1 =1 (𝐵.24) ∑𝑎𝑖𝑗     𝑁 𝑗=1 =1 1≤𝑖 ≤𝑁 (𝐵.25) ∑𝑏𝑗 (𝑘) 𝑀 𝑗=1 =1 1≤𝑗≤𝑁 (𝐵.26) 77 Glosario de términos Acción básica (qi): Interacción entre sistemas de referencia de la mano no diestra del cirujano en un instante determinado de un gesto quirúrgico. Característica observable (oi): Parámetro que caracteriza la interacción entre varios sistemas de referencia de la mano y que contiene información extraída de la localización relativa de dichos sistemas de referencia. Estas se obtienen a partir del codificado de varios parámetros físicos (Pi) en un único valor discreto o etiqueta. Centroide (ci): Centro geométrico de una agrupación de datos o clúster. Cirugía mínimamente invasiva (CMI): Es toda aquella técnica o procedimiento quirúrgico que trata de minimizar las incisiones que se practican sobre el paciente, con objeto de mejorar el tiempo de recuperación y disminuir las complicaciones en el post-operatorio. A través de estas incisiones se insertan instrumentos especiales, denominados de caña larga, y una óptica, con el objetivo de ejecutar la intervención quirúrgica. Cirugía laparoscópica asistida por la mano (HALS): La cirugía laparoscópica asistida por la mano (del inglés hand-assisted laparoscopic surgery) es una técnica quirúrgica mínimamente invasiva en la cual el cirujano inserta una mano dentro de la cavidad abdominal del paciente a través de una incisión especial que se le realiza al mismo, lo que le permite manipular órganos, mientras que con la otra mano utiliza un instrumental laparoscópico mínimamente invasivo. Fulcro: Punto de inserción del instrumental laparoscópico practicado en el abdomen del paciente para acceder al interior del mismo. Gesto: Patrón de movimiento de las manos que puede dividirse en acciones básicas y que se puede identificar como una secuencia determinada de estas. Herramienta laparoscópica: Utensilio de gran longitud y pequeño diámetro que permite asistir al cirujano durante una intervención de CMI. Hay diversas herramientas según la acción deseada: pinzas, tijeras, porta-agujas, bisturí eléctrico, insufladores, etc. Parámetro físico (Pi): Variable que permite relacionar dos sistemas de referencia situados en la mano mediante una magnitud física, como puede ser la distancia o el ángulo entre dos dedos. 78 Robot colaborativo co-worker: Se dice de todo aquel asistente robótico que dispone de la capacidad de trabajar codo con codo con humanos, gracias a las prestaciones sensoriales y de actuación con las que ha sido dotado. Trocar: Elemento que se coloca en el fulcro para facilitar la inserción de la herramienta laparoscópica, y que permite disminuir las lesiones debidas al rozamiento con la pared abdominal. Además, posee una válvula que impide el escape del dióxido de carbono que se introduce en la cavidad abdominal para aumentar el espacio de trabajo. Vector característico (VC): Combinación de variables discretas que permiten, en un instante de muestreo de la grabación de un gesto, almacenar los códigos asociados a cada uno de los centroides que se corresponden con las muestras de los parámetros físicos. 79 Referencias o [1] Bauzano, E., B. Estebanez, P. del Saz-Orozco, I. García-Morales, y V.F. Muñoz. “Robot quirúrgico auto-guiado para cirugía mínimamente invasiva en solitario.” ROBOT 2011. Sevilla, 2011. o [2] Niemeyer, G., N. Swarup, G. Guthart, G. Toth, R. Younge, y W. Nowlin. “Camera refrenced control in a minimally invasive surgical apparatus”. World Patente WO0060521. 2000. o [3] Guthart, G.S., y J.K. Salisbury. “The Intuitive Telesurgery System: Overview and Application” IEEE International Conference on Robotics and Automation. 2000. 618621. o [4] Fernández-Lozano, J.M. Gómez-de-Gabriel, V.F. Muñoz, I. García-Morales, D. Melgar, C. Vara and A. García-Cerezo. “Human-Machine Interface Evaluation in a Computer Assisted Surgical System”. International Conference on Robotics & Automation, New Orleans, LA, Abril 2004. o [5] Lidia Santos, José L. González, Javier P. Turiel, Juan C. Fraile, Eusebio de la Fuente. “Guante de datos sensorizado para uso en cirugía laparoscópica asistida por la mano”. Actas de las XXXVI Jornadas de Automática, Bilbao, 2 - 4 de septiembre de 2015. o [6] E. J. Hazebroek and Color Study Group. “COLOR: a randomized clinical trial comparing laparoscopic and open resection for colon cancer”. Surgical Endoscopy 2002:16 (6):949-953. o [7] I. Rivas-Blanco, B. Estebanez, M. Cuevas-Rodríguez, I. García-Morales, V.F. Muñoz. “Diseño de un asistente camarógrafo para técnicas de cirugía laparoscópica de puerto único”, XXXV Jornadas de Automática, Valencia, 2014 o [8] I. Rivas-Blanco, E. Bauzano, M. Cuevas Rodríguez, P. del Saz Orozco and V.F. Muñoz: “Force Position Control for a Miniature Camera Robotic System for Single Site Surgery”. 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). November 3-7, 2013. Tokyo, Japan. o [9] Enrique Bauzano, B. Estebanez, I. García Morales, Víctor F. Muñoz, (2014). “Collaborative Human-Robot System for HALS Suture Procedures”. 80 o [10] Targarona, E.M., Garcia, E., Rodriguez, M., Cerdán, G., Balagué, C., Garriga, J., Trias, M., (2003) “Hand-assisted laparoscopic surgery”, Archives of Surgery, 138:2, 1 Febrero 2003, pp. 133-141. o [11] Pietrabissa, A., Morelli, L., Peri, A., Pugliese, L., Zonta, S., Dionigi, P., Mosca, F., (2011) “Laparoscopic treatment of splenomegaly: A case for hand-assisted laparoscopic surgery”, Archives of Surgery, 146:7, Julio 2011, pp 818823. o [12] Darzi, A., Jakimowicz, J., Cohen, R., Fleshman, J., Brinbaum, E., Davis, C., Medich, D., Himpens, J.M., Litwin, D.E.M., Kelly, J.J., Kercher, K.W., Marvik, R., (2000) “Hand assisted laparoscopic surgery vs standard laparoscopic surgery for colorectal disease: A prospective randomized trial”, Surgical Endoscopy, 14:10, 2000, pp. 896-901. o [13] Ringley, C., Lee, Y.K., Iqbal, A., Bocharev, V., Sasson, A., McBride, C.L., Thompson, J.S., Vitamvas, M.L., Oleynikov, D., (2007) “Comparison of conventional laparoscopic and hand-assisted oncologic segmental colonic resection”, Surgical Endoscopy and Other Interventional Techniques, 21:12, December 2007, pp. 2137-2141. o [14] J. D. Vogel, L. Lian, M. F. Kalady, L. F. deCampos-Lobato, P. C. AlvesFerreira, and F. H. Remzi, “Hand-assisted laparoscopic right colectomy: How does it compare to conventional laparoscopy?” J. Amer. Coll. Surg. vol. 212, no. 3, pp. 367–372, Mar. 2011. o [15] S. T. Orcutt, C. L. Marshall, C. J. Balentine, C. N. Robinson, D. A. Anaya, A. Artinyan, D. H. Berger, and D. Albo, “Hand-assisted laparoscopy leads to efficient colorectal cancer surgery,” J. Surg. Res., vol. 177, no. 2, pp. e53–e58, Oct. 2012. o [16] R. Pendlimari, S. D. Holubar, J. Pattan-Arun, D. W. Larson, E. J. Dozois, J. H. Pemberton, and R. R. Cima, “Hand-assisted laparoscopic colon and rectal cancer surgery: Feasibility, short-term, and oncological outcomes,” Surgery, vol. 148, no. 2, pp. 378-385, Aug. 2010. o [17] Taylor, R.H., B.D. Mittelstadt, B.D. Williamson, B. Musits, B.L. Glassman, y W.L. Bargar. “An Image-Directed Robotic System for Precise Orthopaedic Surgery.” IEEE Transactions on Robotics and Automation 10, no 3 (1994): 261-275. o [18] Siebert, W., y S. Mai. “One year clinical experience using the robot system CASPAR for tkr”. Proceedings of CAOS USA 2001. 2001. 141-142. o [19] A.J. Madhani, G. Niemeyer, J.K. Salisbury. “The Black Falcon: a teleoperated surgical instrument for minimally invasive surgery”. In Proceedings of 1998 IEEE/RSJ International Conference on Intelligent Robots and Systems. 1998. 81 o [20] Hongo, K., T. Goto, T. Miyahara, J. Koyama, y Y. Tanaka. “Telecontrolled micromanipulator system (NeuroRobot) for minimally invasive neurosurgery.” Medical Technologies in Neurosurgery 98 (2006): pp. 63-66. o [21] Lum, M.J.H., y otros. “Teleoperation of a Surgical Robot via Airborne Wireless Radio and Transatlantic Internet Links.” 2007: 1-10. o [22] Jakopec, M., F. Rodriguez, S.J. Harris, P. Gomes, J. Cobb, y B.L. Davies. “The hands-on orthopaedic robot "Acrobot": Early clinical trials of total knee replacement surgery.” IEEE Transactions on Robotics and Automation 19, no 5 (2003): 902-911. o [23] Taylor, R.H., Jensen, P., Whitcomb, L.L., Barnes, A., Kumar, R., Stoianovici, D., Gupta, P., Wang, Z., de Juan, E., Kavoussi, L.: “Steady-hand robotic system for microsurgical augmentation”. The International Journal of Robotics Research, 18(12), (1999) 1201-1210. o [24] Kraft, B.M., C. Jäger, K. Kraft, B.J. Leibl, y R. Bittner. “The AESOP robot system in laparoscopic surgery.” Surgical Endoscopy, 2004: 1216-1223. o [25] Polet, R., y J. Donnez. “Gynecologic laparoscopic surgery with a palm-controlled laparoscope holder.” The Journal of the American Association of Gynecologic Laparoscopists, 2004: 73-78. o [26] Dowler, N., y S. Holland. “The evolutionary design of an endoscopic telemanipulator.” IEEE Robotics and Automation Magazine 3, no 4 (1996): 46-55. o [27] A. Casals, J. Amat, D. Prats, y E. Laporte. (1995). “Vision guided robotic system for laparoscopic surgery. In IFAC International Congress on Advanced Robotics”. Barcelona. España. [28] Castrillón, W.A. «Implementación de una Interfaz Hombre-Máquina para el Control de un Brazo Robótico Mediante Posturas Labiales.» 2009. o [29] J. Hsu and S. Payandeh, “Toward tool gesture and motion recognition on a novel minimally invasive surgery robotic system” in Proc. IEEE Int. Conf. Robot. Autom., Orlando, FL, USA, 2006, pp. 631–636. o [30] Muñoz, V.F., y otros. “Control movement scheme based on manipulability concept for a surgical robotic assistant” IEEE International Conference on Robotics and Automation. 2006. 245-250. 82 o [31] Fernández-Lozano, J., y otros. “Human Machine Interface Evaluation in a Computer Assisted Surgical System.” IEEE International Conference on Robotics and Automation. 2004. 231-236. o [32] N. Padoy and G. D. Hager, “Human–machine collaborative surgery using learned models,” in IEEE Int. Conf. Robot. Autom., Shangai, China, 2011, pp. 5285–5292. o [33] James, A., B. Vieira, A. Darzi, y G. Yang. “Eye-Gaze Driven Surgical Workflow Segmentation.” MICCAI 2007. 2007. 110-117. o [34] Florent Lalys, Laurent Riffaud, David Bouget and Pierre Janin. “A framework for the recognition of high-level surgical tasks from video images for cataract surgeries.” IEEE Trans Biomed Eng. 2012 Apr; 59(4): 966–976. o [35] Andru P. Twinanda, Sherif Shehata, Didier Mutter, Jacques Marescaux, Michel de Mathelin, Nicolas Padoy: “EndoNet: A Deep Architecture for Recognition Tasks on Laparoscopic Videos”. May 2016. o [36] Lin, H., I. Shafran, T. Murphy, A. Okamura, D. Yuj, y G. Hager. “Towards automatic skill evaluation:Detection and segmentation of robot-assisted surgical motions.” Computer Aided Surgery, 2006: 220-230. o [37] Stefanie Speidel, Tom Zentek, Gunther Sudra, Tobias Gehrig, Beat Peter MüllerStich, Carsten Gutt, Rüdiger Dillmann. “Recognition of surgical skills using Hidden Markov Models” Medical Imaging 2009: Visualization, Image-Guided Procedures, and Modeling. o [38] R. Muradore, D. Bresolin, L. Geretti, P. Fiorini, and T. Villa, “Robot surgery,” IEEE Robot. Autom. Mag., vol. 18, no. 3, pp. 24–32, Sep. 2011. o [39] S. Y. Ko, W. J. Lee, and D. S. Kwon, “Intelligent interaction based on a surgery task model for a surgical assistant robot: Awareness of current surgical stages based on a surgical procedure model,” Int. J. Control, Autom. Syst., vol. 8, no. 4, pp. 782–792, Aug. 2010. o [40] M. Kranzfelder, C. Staub, A. Fiolka, A. Schneider, S. Gillen, D. Wilhelm, H. Friess, A. Knoll, and H. Feussner, “Toward increased autonomy in the surgical OR: Needs, requests, and expectations,” Surg. Endosc., vol. 27, no. 5, pp. 1681–1688, May 2013. o [41] H. Elhawary and A. Popovic, “Robust feature tracking in the beating heart for a robotic-guided endoscope,” Int. J. Med. Robot. Comput.-Assisted Surg., vol. 7, no. 4, pp. 459–468, Dec. 2011. 83 o [42] O. Weede, H. Mönnich, B. Müller, and H. Wörn, “An intelligent and autonomous endoscopic guidance system for minimally invasive surgery,” in IEEE Int. Conf. Robot. Autom., Shangai, China, 2010, pp. 5762–5768. o [43] C. Staub, T. Osa, A. Knoll, and R. Bauernschmitt, “Automation of tissue piercing using circular needles and vision guidance for computer aided laparoscopic surgery,” in IEEE Int. Conf. Robot. Autom., Anchorage, AK, USA, 2010, pp. 4585–4590. o [44] C. E. Reiley and G. D. Hager, “Task versus subtask surgical skill evaluation of robotic minimally invasive surgery,” Med. Image Comput. Comput.-Assisted Intervention, vol. 12, no. Pt. 1, pp. 435–442, 2009. o [45] F. Nageotte, P. Zanne, C. Doignon, and M. Mathelin, “Stitching planning in laparoscopic surgery: Towards robot-assisted suturing,” Int. J. Robot. Res., vol. 28, no. 10, pp. 1303–1321, Oct. 2009. o [46] H. Fuhan and S. Payandeh, “Real-time knotting and unknotting,” in IEEE Int. Conf. Robot. Autom., Roma, Italy, 2007, pp. 2570–2575. o [47] S. Patil and R. Alterovitz, “Toward automated tissue retraction in robot-assisted surgery,” in IEEE Int. Conf. Robot. Autom., Anchorage, AK, USA, 2010, pp. 2088–2094.