publications by categories in reversed chronological order. generated by jekyll-scholar.
2022
GPCE
A Modern C++ Point of \emphView of Programming in Image Processing
Michaël Roynard, Edwin Carlinet, and Thierry Géraud
In Proceedings of the 21st ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE ’22), December 06–07, 2022, Auckland, New Zealand, Dec 2022
C++ is a multi-paradigm language that enables the programmer to set up efficient image processing algorithms easily. This language strength comes from many aspects. C++ is high-level, so this enables developing powerful abstractions and mixing different programming styles to ease the development. At the same time, C++ is low-level and can fully take advantage of the hardware to deliver the best performance. It is also very portable and highly compatible which allows algorithms to be called from high-level, fast-prototyping languages such as Python or Matlab. One fundamental aspects where C++ shines is generic programming. Generic programming makes it possible to develop and reuse bricks of software on objects (images) of different natures (types) without performance loss. Nevertheless, conciliating genericity, efficiency, and simplicity at the same time is not trivial. Modern C++ (post-2011) has brought new features that made it simpler and more powerful. In this paper, we focus on some C++20 aspects of generic programming: ranges, views, and concepts, and see how they extend to images to ease the development of generic image algorithms while lowering the computation time.
@inproceedings{roynard.2022.gpce,address={Auckland, New Zealand},author={Roynard, Micha\"el and Carlinet, Edwin and G\'eraud, Thierry},booktitle={Proceedings of the 21st ACM SIGPLAN International Conference on Generative Programming: Concepts and
Experiences (GPCE '22), December 06--07, 2022, Auckland, New Zealand},doi={10.1145/3564719.3568692},isbn={978-1-4503-9920-3},lrdekeywords={Image,genericity,views},lrdenewsdate={2022-10-10},lrdeprojects={Olena},lrdestatus={accepted},month=dec,title={A Modern {C}++ Point of \emph{View} of Programming in Image Processing},year={2022}}
2019
RRPR
An Image Processing Library in Modern C++: Getting Simplicity and Efficiency with Generic Programming
Michaël Roynard, Edwin Carlinet, and Thierry Géraud
In Reproducible Research in Pattern Recognition, 2019
As there are as many clients as many usages of an Image Processing library, each one may expect different services from it. Some clients may look for efficient and production-quality algorithms, some may look for a large tool set, while others may look for extensibility and genericity to inter-operate with their own code base...but in most cases, they want a simple-to-use and stable product. For a C++ Image Processing library designer, it is difficult to conciliate genericity, efficiency and simplicity at the same time. Modern C++ (post 2011) brings new features for library developers that will help designing a software solution combining those three points. In this paper, we develop a method using these facilities to abstract the library components and augment the genericity of the algorithms. Furthermore, this method is not specific to image processing; it can be applied to any C++ scientific library.
@inproceedings{roynard.2019.rrpr,address={Cham},author={Roynard, Micha{\"e}l and Carlinet, Edwin and G{\'e}raud, Thierry},booktitle={Reproducible Research in Pattern Recognition},editor={Kerautret, Bertrand and Colom, Miguel and Lopresti, Daniel and Monasse, Pascal and Talbot, Hugues},isbn={978-3-030-23987-9},pages={121--137},publisher={Springer International Publishing},title={An Image Processing Library in Modern {C}++: Getting Simplicity and Efficiency with Generic Programming},year={2019}}
Preprints & self-archived
Author-archived versions, rendered in full as arxiv-style HTML. Generated from the papers pipeline — see each entry’s HTML link.
2026
The Missing Knowledge Layer in Cognitive Architectures for AI Agents
The two most influential cognitive architecture frameworks for AI agents, CoALA and JEPA, both lack an explicit Knowledge layer with its own persistence semantics. This gap produces a category error: systems apply cognitive decay to factual claims, or treat facts and experiences with identical update mechanics. We survey persistence semantics across existing memory systems and identify eight convergence points, from Karpathy’s LLM Knowledge Base to the BEAM benchmark’s near-zero contradiction-resolution scores, all pointing to related architectural gaps. We propose a four-layer decomposition (Knowledge, Memory, Wisdom, Intelligence) where each layer has fundamentally different persistence semantics: indefinite supersession, Ebbinghaus decay, evidence-gated revision, and ephemeral inference respectively. Companion implementations in Python and Rust demonstrate the architectural separation is feasible. We borrow terminology from cognitive science as a useful analogy (the Knowledge/Memory distinction echoes Tulving’s trichotomy), but our layers are engineering constructs justified by persistence-semantics requirements, not by neural architecture. We argue that these distinctions demand distinct persistence semantics in engineering implementations, and that no current framework or system provides this.
@misc{roynard2026missingknowledgelayer,title={The Missing Knowledge Layer in Cognitive Architectures for AI Agents},author={Roynard, Micha\"el},year={2026},}