LET-NET implements an extremely lightweight network for feature point extraction and image consistency computation. The network can process a 240 x 320 image on a CPU in about 5ms. Combined with LK optical flow, it breaks the assumption of brightness consistency and performs well on dynamic lighting as well as blurred images.
- LET-VINS Demo run on UMA-VI dataset is released.
- Our proposed LET-VINS won the second place in the VIO track of the ICCV2023SLAM Challenge, which is the best performance among the traditional methods.
- The preprinted paper was posted at here.

- Breaking of brightness consistency in optical flow with a lightweight CNN network,Yicheng Lin, Shuo Wang, Yunlong Jiang, Bin Han, arXiv:2310.15655, pdf
- OpenCV (https://docs.opencv.org/3.4/d7/d9f/tutorial_linux_install.html)
- ncnn (https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux)
Notes: After installing ncnn, you need to change the path in CMakeLists.txt
set(ncnn_DIR "<your_path>/install/lib/cmake/ncnn" CACHE PATH "Directory that contains ncnnConfig.cmake")
mkdir build && cd build
cmake .. && make -j4
You can enter the path to a video or two images.
./build/demo <path_param> <path_bin> <path_video>
or
./build/demo <path_param> <path_bin> <path_img_1> <path_img_2>
For example using the data we provide:
./build/demo ../model/model.param ../model/model.bin ../assets/nyu_snippet.mp4
You should see the following output from the NYU sequence snippet:
The left is ours and the right is the original optical flow algorithm.
![]() |
![]() |
The left is ours and the right is the original optical flow algorithm.
![]() |
![]() |
The left is ours and the right is the original optical flow algorithm.
![]() |
![]() |
@misc{let-net,
title={Breaking of brightness consistency in optical flow with a lightweight CNN network},
author={Yicheng Lin and Shuo Wang and Yunlong Jiang and Bin Han},
year={2023},
eprint={2310.15655},
archivePrefix={arXiv}
}
/home/caia/lc_ws/ncnn/build/install/bin/ncnnoptimize ./model/letnet.param ./model/letnet.bin letnet-opt.param letnet-opt.bin 0 2. find ./imagenet-sample-images/ -type f > imagelist.txt 3. /home/caia/lc_ws/ncnn/build/install/bin/ncnn2table ./letnet-opt.param ./letnet-opt.bin imagelist.txt letnet.table mean=[0,0,0] norm=[0.00392,0.00392,0.00392] shape=[320,240,1] pixel=GRAY thread=4 method=kl
/home/caia/lc_ws/ncnn/build/install/bin/ncnn2table ./letnet-opt.param ./letnet-opt.bin imagelist.txt letnet.table
mean=[104,117,123] norm=[0.017,0.017,0.017] shape=[320,240,1] pixel=GRAY thread=4 method=kl
/home/caia/lc_ws/ncnn/build/install/bin/ncnn2int8 ./letnet-opt.param ./letnet-opt.bin letnet-int8.param letnet-int8.bin letnet.table
./build/demo ./model/superpoint.param ./model/superpoint.bin ./assets/nyu_snippet.mp4
./build/demo_rgb ./model/model.param ./model/model.bin ./assets/nyu_snippet.mp4
./build/demo_gray ./model/letnet-int8.param ./model/letnet-int8.bin ./assets/nyu_snippet.mp4