Diagnosis of Melanoma Skin Cancer Using Deep Learning and Ensemble Stacking of Machine Learning Models [PDF]

A skin lesion is a portion of skin that observes abnormal growth compared to other areas of the skin. The ISIC 2018 lesion dataset has seven classes. A miniature dataset version of it is also available with only two classes: malignant and benign. Malignant tumors are tumors that are cancerous, and benign tumors are non-cancerous. Malignant tumors have the ability to multiply and spread throughout the body at a much faster rate. The early detection of the cancerous skin lesion is crucial for the survival of the patient. Deep learning models and machine learning models play an essential role in the detection of skin lesions. Still, due to image occlusions and imbalanced datasets, the accuracies have been compromised so far. In this work, we introduce an interpretable method for the non-invasive diagnosis of melanoma skin cancer using deep learning and ensemble stacking of machine learning models. The dataset used to train the classifier models contains balanced images of benign and malignant skin moles. Hand-crafted features are used to train the base models (logistic regression, SVM, random forest, KNN, and gradient boosting machine) of machine learning. The prediction of these base models was used to train level one model stacking using cross-validation on the training set. Deep learning models (MobileNet, Xception, ResNet50, ResNet50V2, and DenseNet121) were used for transfer learning, and were already pre-trained on ImageNet data. The classifier was evaluated for each model. The deep learning models were then ensembled with different combinations of models and assessed. Furthermore, shapely adaptive explanations are used to construct an interpretability approach that generates heatmaps to identify the parts of an image that are most suggestive of the illness. This allows dermatologists to understand the results of our model in a way that makes sense to them. For evaluation, we calculated the accuracy, F1-score, Cohen’s kappa, confusion matrix, and ROC curves and identified the best model for classifying skin lesions.

Peer-to-Peer Power Energy Trading in Blockchain Using Efficient Machine Learning Model [PDF]

The advancement of microgrids and the adoption of blockchain technology in the energy-trading sector can build a robust and sustainable energy infrastructure. The decentralization and transparency of blockchain technology have several advantages for data management, security, and trust. In particular, the uses of smart contracts can provide automated transaction in energy trading. Individual entities (household, industries, institutes, etc.) have shown increasing interest in producing power from potential renewable energy sources for their own usage and also in distributing this power to the energy market if possible. The key success in energy trading significantly depends on understanding one’s own energy demand and production capability. For example, the production from a solar panel is highly correlated with the weather condition, and an efficient machine learning model can characterize the relationship to estimate the production at any time. In this work, we propose an architecture for energy trading that uses smart contracts in conjunction with an efficient machine learning algorithm to determine participants’ appropriate energy productions and streamline the auction process. We conducted an analysis on various machine learning models to identify the best suited model to be used with the smart contract in energy trading.

An Asset-Based Approach to Mitigate Zero-Day Ransomware Attacks [PDF]

This work presents an asset-based security system where security practitioners build their systems based on information they own and not solicited by observing attackers’ behavior. Current security solutions rely on information coming from attackers. Examples are current monitoring and detection security solutions such as intrusion prevention/detection systems and firewalls. This work envisions creating an imbalance between attackers and defenders in favor of defenders. As such, we are proposing to flip the security game such that it will be led by defenders and not attackers. We are proposing a security system that does not observe the behavior of the attack. On the contrary, we draw, plan, and follow up our own protection strategy regardless of the attack behavior. The objective of our security system is to protect assets rather than protect against attacks. Virtual machine introspection is used to intercept, inspect, and analyze system calls. The system call-based approach is utilized to detect zero-day ransomware attacks. The core idea is to take advantage of Xen and DRAKVUF for system call interception, and leverage system calls to detect illegal operations towards identified critical assets. We utilize our vision by proposing an asset-based approach to mitigate zero-day ransomware attacks. The obtained results are promising and indicate that our prototype will achieve its goals..

Tilt Techniques: Investigating the Dexterity of Wrist-based Input [PDF] [Video]

  • Programming Environment: C#

Most studies on tilt based interaction can be classified as point-designs that demonstrate the utility of wrist-tilt as an input medium; tilt parameters are tailored to suit the specific interaction at hand. In this project, we systematically analyze the design space of wrist-based interactions and focus on the level of control possible with the wrist. In a first study, we investigate the various factors that can influence tilt control, separately along the three axes of wrist movement: flexion/extension, pronation/supination, and ulnar/radial deviation. Results show that users can control comfortably at least 16 levels on the pronation/supination axis and that using a quadratic mapping function for discretization of tilt space significantly improves user performance across all tilt axes. We discuss the findings of our results in the context of several interaction techniques and identify several general design recommendations.

Chucking: A One-handed Document Sharing Technique [PDF] [Video]

  • Programming Environment: C#

Usage patterns of private mobile devices are constantly evolving. For example, researchers have recently found that mobile users prefer using their devices with only one hand. Furthermore, current hardware in these devices reduces the need for a stylus and instead relies on finger input. However, current interactive techniques, such as those used for sharing documents between private and public devices have not taken advantage of these recent developments. We present the various design parameters that make Chucking an effective document sharing technique. In a document positioning task, we evaluated Chucking against Flicking. Our results show that under certain contexts users were more accurate and effective with Chucking. In a document positioning task, we evaluated Chucking against Flicking.

Hybrid Resource Provisioning for Clouds [PDF]

  • Programming Environment: Java

Flexible resource provisioning, the assignment of virtual machines (VMs) to physical machine, is a key requirement for cloud computing. To achieve “provisioning elasticity”, the cloud needs to manage its available resources on demand. A-priori, static, VM provisioning introduces no runtime overhead but fails to deal with unanticipated changes in resource demands. Dynamic provisioning addresses this problem but introduces runtime overhead. To reduce VM management overhead so more useful work can be done and to also avoid sub-optimal provisioning we propose a hybrid approach that combines static and dynamic provisioning. The idea is to adapt a good initial static placement of VMs in response to evolving load characteristics, using live migration, as long as the overhead of doing so is low and the effectiveness is high. When this is no longer so, we trigger a revised static placement. (Thus, we are essentially applying local multi-objective optimization to tune a global optimization with reduced overhead.) This approach requires a complicated migration decision algorithm based on current and predicted:future workloads, power consumptions and memory usage in the host machines as well as network burst characteristics for the various possible VM multiplexings (combinations of VMs on a host). A further challenge is to identify those characteristics of the dynamic provisioning that should trigger static re-provisioning.

Differential time-shared virtual machine multiplexing for handling QoS variation in clouds [PDF]

  • Programming Environment: Java

Multi-media applications (including those arising in E-health scenarios) can cause temporally varying resource demands in cloud environments. As a result, flexible resource provisioning becomes a key requirement. Cloud computing achieves "provisioning elasticity" by using virtual machine (VM) based resource provisioning. Normal, static VM provisioning has no runtime overhead but fails to deal with unanticipated changes in resource demands. Dynamic provisioning overcomes this problem using live migration of VMs but introduces runtime overhead. To reduce unnecessary VM migration, we propose Differential Time shared VM Multiplexing (DTVM) to help support load adaptability while ensuring efficient resource utilization in cloud datacenters. DTVM looks at possible local (i.e. in the same physical machine) solutions to limit VM migration by providing more resources to high demand VMs obtained from low demand VMs. DTVM effectively allows cloud providers to prioritize among the end-users (i.e. virtual machines). DTVM also allows the end-users to prioritize their tasks in their VMs to finish important tasks at the earliest time. In this work, we introduce DTVM for cloud environments and assess its potential benefits using CloudSim. The results obtained from our simulation experiments suggest that this approach is both feasible and would be effective for interactive multi-media workloads in cloud environments.

Fully Automated Quality of Service (QoS) Aware Service Composition [PDF]

  • Programming Environment: Java, C#

Service composition provides the ability to combine existing services to produce new, value-added composite services that can be offered to end users. In general, when the type of the output data produced by one service matches the type of the input data needed by another service, then a composite service can be produced. Such Input/Output (IO) compatibility plays a major role in identifying potential composite services. We extend the existing composition system using properties to describe non-functional (i.e., QoS) constraints on services. We build a prototype adding support for Quality of Service (QoS) to the composition process and extending the compositions outside of a single pervasive environment (e.g., home) to include offerings from third-party service providers (e.g. those provided via available Internet or 3G network access). We also introduce a means of describing services provided externally by service providers as software stubs installed automatically on a local gateway device. The ultimate goal is to offer only the most useful services to users thereby reducing their involvement in the composition process.

Procare: A Smartphone based Attendance Management System

  • Programming Environment: Java, C#

Procare is an attendance management system to help professors to manage class attendance with a smartphone. Procare creates, edits, and deletes courses, student lists, etc. Procare maintains attendance information of classes, seminars very easily and it can export those information into an Excel spreadsheet.