Skip to content

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

Notifications You must be signed in to change notification settings

Deepdive543443/Detkit-NCNN-3ds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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) (~6s)
  • 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

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.

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