Deepdive543443 / Detkit-NCNN-3ds

Light weight Object detection on Nintendo 3DS, powered by NCNN

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Detkit-NCNN-3DS

IMG_20231020_145410

Intro

Detkit3DS is a 3DS Homebrew that enable Light-weight object detection on Nintendo 3DS. It's still under development to integrate with more light-weight object detection networks, and better HCI experience

Features

This project now support none real-time object detection powered by:

  • Nanodet-Plus(int8) (~11s)
  • Fastest Det (~4s)

Download and build

The Homebrew application from this project required a modded Nintendo 3DS with an title manager or Homebrew Launcher to boot. You can download the pre-built application from Release: 3dsx and CIA

The Homebrew application has dependencies on libctru, ncnn, and RapidJSON. To build this Homebrew application by yourself, follow the build guide from last project to install the required toolchains and libraries and build this project by yourself.

Build this project using Makefile (Recommended)

make -j4

Or CMake

mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=cmake/DevkitArm3DS.cmake ..
make -j4

Makefile is recommended because it has better support on other toolkit from devkitARM such as Makerom.

Issues and limitation

Nintendo 3DS only has 64mb RAM and single ARM11 core available for Homebrew and games to use, which brings some challanges on parallel computing and memory management. CMake support was added but it's not compatible with some of the tools such as Makerom(CIA builder). We are still looking for proper solutions for issues above.

Credit

  • NCNN: High performance neural network inference computing framework for mobile platform, easy to use and port
  • Nanodet-Plus: Super light weight anchor-free object detection model
  • Fastest-Det: A FASTER, STRONGER, SIMPLER single scale anchor-free object detection model
  • RapidJSON: Light-weight Header only JSON parser for C++ 11 and above.
  • DevkitPRO: Toolchain for 3DS homebrew development
  • 3DS-cmake: Toolchain files to build CMake project for 3DS
  • FTPD-Pro: FTP Server for 3DS/Switch/Linux.
  • Citra: 3DS emulator for Windows, Linux, and MacOS

About

Light weight Object detection on Nintendo 3DS, powered by NCNN


Languages

Language:C++ 61.7%Language:CMake 19.8%Language:Makefile 18.5%