DHIS2 in Nepal: A Catalyst for Health Information Systems

The District Health Information System 2 (DHIS2) has emerged as a pivotal tool for enhancing the efficiency and effectiveness of health data management in Nepal. As a flexible, open-source platform, DHIS2 empowers healthcare providers, policymakers, and researchers to make informed decisions based on reliable, real-time data. Key Features and Benefits of DHIS2 DHIS2 in Action: Nepal’s Experience Nepal has successfully leveraged DHIS2 to strengthen its health information system. Key applications include: Challenges and Opportunities While DHIS2 offers significant benefits, its implementation in Nepal faces challenges such as: To address these challenges, Nepal can focus on: Conclusion DHIS2 has proven to be a valuable asset for Nepal’s health sector. By providing a robust platform for data management, analysis, and visualization, DHIS2 supports evidence-based decision-making and improves health outcomes. As Nepal continues to invest in its health information systems, DHIS2 will play a crucial role in driving progress and achieving universal health coverage. Learn more about DHIS2 and its capabilities at https://dhis2.org/.

Real-Time Object Detection on Raspberry Pi: LiteRT, OpenCV, and Telegram

object detection

The goal of this project was to build a lightweight edge AI system that could detect people in real time and send alerts without relying on cloud-based inference. I wanted the entire detection pipeline to run locally on a Raspberry Pi so that it could respond quickly, reduce network usage, and continue working even with limited internet connectivity. The application starts by capturing frames from a USB camera using OpenCV and the V4L2 backend. Each frame is resized and prepared for inference before being passed to a quantized MobileNet SSD model running with Google’s LiteRT runtime. Using a quantized model keeps inference efficient enough to run on Raspberry Pi hardware while maintaining reasonable detection accuracy. After inference, the model outputs multiple candidate detections. Since object detection models often generate overlapping bounding boxes for the same object, I applied Non-Maximum Suppression (NMS) to remove duplicate detections and keep only the highest-confidence result for each person. To avoid sending blurry or underexposed images, the application briefly waits for the camera’s auto-exposure to stabilize whenever a new person enters the frame. It also clears buffered frames from the camera before capturing the final snapshot, ensuring the notification contains the most recent image instead of an older buffered frame. The annotated image is encoded directly in memory and sent to Telegram using the Bot API. This avoids unnecessary disk writes and reduces I/O overhead on the Raspberry Pi. To make the system suitable for continuous operation, I implemented retry handling for temporary network failures and deployed the application as a systemd service. This allows the gateway to start automatically after boot and recover from unexpected interruptions without manual intervention. Where This Project Can Be Used Although this project was built as a learning exercise in edge AI and computer vision, the same architecture can be applied to a variety of real-world scenarios. Home and Office Monitoring The system can monitor entrances, hallways, or restricted areas and send instant notifications whenever a person is detected. Smart Classrooms Schools can use the gateway to monitor classroom activity, laboratories, or computer rooms without continuously streaming video to a remote server. Retail Stores The project can be adapted to monitor customer movement, detect occupancy, or trigger alerts when someone enters specific areas. Construction Sites and Warehouses A local edge device can detect workers entering restricted zones and notify supervisors without requiring cloud processing. Remote Locations Because inference runs entirely on the Raspberry Pi, the system is well suited for environments with unreliable or limited internet connectivity. Only alert messages need to be transmitted, significantly reducing bandwidth requirements. AI and Edge Computing Research The project also serves as a practical example of deploying lightweight computer vision models on embedded hardware. Developers can extend it by adding custom object detection models, face recognition, multiple cameras, or integration with IoT devices and automation platforms. What I Learned Building this project reinforced that deploying an AI model is only part of the solution. Real-world systems also need to account for camera behavior, duplicate detections, network interruptions, and long-running reliability. Addressing these practical challenges made the system far more usable than simply running an object detection model on a live video stream. This project also provided hands-on experience with edge AI deployment, computer vision optimization, Linux service management, and integrating AI applications with external APIs for real-time notifications.

Multi-Class Brain Tumor Detection Using Deep Learning

Brain tumor detection

Brain tumors are abnormal growths of cells in the brain that can be life-threatening. Early and accurate detection is crucial for effective treatment. Deep learning, specifically convolutional neural networks (CNNs), has revolutionized medical imaging by providing automated and accurate diagnoses. This project focuses on detecting different types of brain tumors using a deep learning model trained on MRI images. Dataset The dataset used in this project consists of MRI scans categorized into three tumor types and one non-tumor class: The dataset is divided into: Data Preprocessing Model Architecture The deep learning model is built using VGG16, a pre-trained CNN model, with modifications for multi-class classification. The architecture includes: Training Process Results and Analysis Conclusion This project successfully demonstrates the potential of deep learning for medical diagnosis, particularly in multi-class brain tumor detection. The VGG16-based model effectively classifies MRI images into four categories with high accuracy. Future Enhancements: References:

OpenCV: Everything You Need to Know

OpenCV (Open Source Computer Vision Library) is an open-source, cross-platform library designed for real-time computer vision and image processing tasks. Initially released in 2000 and developed by Intel, it provides tools for analyzing and manipulating images and videos. OpenCV is widely used in applications involving object detection, facial recognition, motion tracking, augmented reality (AR), virtual reality (VR), and more. How Does OpenCV Work? At its core, OpenCV helps computers interpret visual data similarly to how the human eye works. It can perform a variety of tasks such as: In low-light conditions (like nighttime), where typical visual data capture might fail, sensor fusion techniques (combining data from multiple sensors) are used to enhance the vision system. Key Features of OpenCV Applications of OpenCV in Computer Vision 1. Robotics ApplicationsOpenCV enables robots to “see” by integrating object detection and recognition, helping them interact intelligently with their environment. Tasks like obstacle avoidance, path planning, and human-robot interaction heavily rely on OpenCV. 2. Medical ApplicationsIn the healthcare industry, OpenCV is used for medical image analysis, such as detecting anomalies in X-rays, CT scans, and MRIs. It also aids in developing diagnostic tools and surgical assistance technologies. 3. Industrial Automation ApplicationsOpenCV plays a vital role in manufacturing and quality control. It powers automated inspection systems, assembly line monitoring, and defect detection processes. 4. Transportation ApplicationsIn autonomous vehicles, OpenCV is used for:Lane detection and road analysis.Traffic signs and pedestrian recognition.Object tracking for safe navigation. How OpenCV Handles Images Images in OpenCV are processed as arrays of pixel values. Depending on your requirements, you can load an image in different modes using the cv2.imread() function: -1 (Alpha Channel): Loads the image with transparency (if available). 1 (Color Mode): Loads a color image with all channels (RGB). 0 (Grayscale Mode): Loads the image in black and white. Image Filtering in OpenCV Image filtering is used to enhance or modify images, such as removing noise, blurring, or sharpening. Filters work by altering pixel values based on a mathematical operation performed on a kernel (matrix) and the surrounding pixels. Types of Filters: Convolution and Kernels in OpenCV Convolution is the core operation behind filters in OpenCV. A kernel (matrix) slides over the image, performing operations on pixel values to produce a new image. Kernels, or matrices used in image filtering, are typically implemented as NumPy arrays in OpenCV. Key Steps in Convolution: Convolution Formula: Popular Filters and Techniques in OpenCV Applications of OpenCV: Detection and Recognition OpenCV enables the development of diverse detection and recognition applications. A key feature in OpenCV is the Haar-cascade classifier, which implements the Viola-Jones algorithm. What is Haar-Cascade? Haar-cascade is a machine learning-based object detection algorithm. It was initially developed for real-time face detection but later expanded to detect various objects. The process involves: Challenges with Haar-Cascade: Why Deep Learning is Preferred Today Deep learning models like CNNs (Convolutional Neural Networks) have largely replaced Haar-cascade in many applications. These models: Haar-Cascade Today Despite its limitations, Haar-cascade remains relevant for: Challenges in Computer Vision and AI Development Lighting Effects in Detection Lighting significantly impacts the performance of computer vision systems. Poor or uneven illumination, such as overly bright or dark regions, can cause detection errors: Facebook’s Face Detection System Facebook made a significant decision to discontinue its facial recognition system in 2021, citing ethical and privacy concerns: Apple’s Role in Computer Vision Apple is a leader in integrating computer vision into consumer products, focusing on hardware and software advancements: Challenges with Open-Sourcing AI Technologies AI companies face dilemmas in balancing innovation, transparency, and commercial interests:

Plant Disease Detection Using CNN

Plant Disease Detection

With the advancement of technology, agriculture has seen significant improvements, especially with the integration of machine learning techniques. One of the pressing challenges faced by farmers is the early detection of plant diseases. This project focuses on building a Convolutional Neural Network (CNN) to classify plant diseases from images, specifically targeting diseases in corn, potato, and tomato plants. Dataset The dataset used in this project consists of images of plant leaves affected by three common diseases: The images were stored on Google Drive and loaded into the Colab environment for preprocessing and training. Data Preprocessing The preprocessing steps involved: Model Architecture The CNN model was built using Keras with the following structure: The model was compiled using the Adam optimizer with a learning rate of 0.0001 and categorical crossentropy as the loss function. Model Training The model was trained for 50 epochs with a batch size of 128. Training and validation accuracy were monitored throughout the process. The model achieved a satisfactory accuracy, as indicated by the plotted training history. Model Evaluation After training, the model was tested on unseen data to evaluate its performance. The results showed a high accuracy rate, indicating the model’s effectiveness in identifying plant diseases. Results and Analysis The classification report and confusion matrix revealed that the model performed well across all three classes. Additionally, the ROC AUC score demonstrated the robustness of the model. Conclusion This project successfully developed a CNN model to classify plant diseases with high accuracy. Early detection can help farmers take preventive measures, minimizing crop loss and ensuring better yield. Further improvements could involve using a more diverse dataset and fine-tuning hyperparameters for enhanced accuracy.